/* Extraído de <style> en Diseño-Web-de-Viajes.html */

body {
  background-color: #f0fdf4; /* Tailwind green-50 */
}
:where([class^="ri-"])::before { content: "\f3c2"; }
body {
font-family: 'Montserrat', sans-serif;
scroll-behavior: smooth;
}
.hero-section {
background-image: url('https://readdy.ai/api/search-image?query=beautiful%20beach%20scene%20with%20crystal%20clear%20turquoise%20water%2C%20white%20sand%2C%20palm%20trees%2C%20and%20a%20stunning%20sunset%20with%20vibrant%20orange%20and%20pink%20colors%20in%20the%20sky%2C%20perfect%20for%20a%20travel%20website%20hero%20image%2C%20professional%20photography%2C%20high%20resolution%2C%20no%20people%2C%20serene%20atmosphere&width=1920&height=1080&seq=1&orientation=landscape');
background-size: cover;
background-position: center;
position: relative;
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to right, rgba(85,107,47,0.8) 0%, rgba(85,107,47,0.5) 50%, rgba(85,107,47,0.3) 100%);
}
.search-tab {
transition: all 0.3s ease;
}
.search-tab.active {
background-color: #3B82F6;
color: white;
}
.destination-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.destination-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}
.service-card {
transition: transform 0.3s ease;
}
.service-card:hover {
transform: translateY(-5px);
}
.fade-in {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
input[type="date"]::-webkit-calendar-picker-indicator {
display: none;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.custom-checkbox {
display: inline-block;
position: relative;
padding-left: 30px;
cursor: pointer;
}
.custom-checkbox input {
position: absolute;
opacity: 0;
cursor: pointer;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: #fff;
border: 2px solid #ddd;
border-radius: 4px;
}
.custom-checkbox input:checked ~ .checkmark {
background-color: #3B82F6;
border-color: #3B82F6;
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.custom-checkbox input:checked ~ .checkmark:after {
display: block;
}
.custom-checkbox .checkmark:after {
left: 6px;
top: 2px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.custom-range {
-webkit-appearance: none;
width: 100%;
height: 6px;
border-radius: 5px;
background: #e0e0e0;
outline: none;
}
.custom-range::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: #3B82F6;
cursor: pointer;
border: 3px solid white;
box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.custom-range::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: #3B82F6;
cursor: pointer;
border: 3px solid white;
box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.custom-switch {
position: relative;
display: inline-block;
width: 50px;
height: 24px;
}
.custom-switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: .4s;
border-radius: 34px;
}
.slider:before {
position: absolute;
content: "";
height: 16px;
width: 16px;
left: 4px;
bottom: 4px;
background-color: white;
transition: .4s;
border-radius: 50%;
}
.custom-switch input:checked + .slider {
background-color: #3B82F6;
}
.custom-switch input:checked + .slider:before {
transform: translateX(26px);
}
