@charset "UTF-8";

:root {
--default-font:Roboto,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
--heading-font:Raleway,sans-serif;
--nav-font:Poppins,sans-serif;
--background-color:#ffffff;
--default-color:#35211f;
--heading-color:#200f0d;
--accent-color:#f19220;
--surface-color:#ffffff;
--contrast-color:#ffffff;
--nav-color:#ffffff;
--nav-hover-color:#f19220;
--nav-mobile-background-color:#ffffff;
--nav-dropdown-background-color:#ffffff;
--nav-dropdown-color:#35211f;
--nav-dropdown-hover-color:#f19220;
scroll-behavior:smooth
}

.light-background {
--background-color:#faf9f6;
--surface-color:#ffffff
}

.dark-background {
--background-color:#031013;
--default-color:#ffffff;
--heading-color:#ffffff;
--surface-color:#252525;
--contrast-color:#ffffff
}

body {
color:var(--default-color);
background-color:var(--background-color);
font-family:var(--default-font)
}

a {
color:var(--accent-color);
text-decoration:none;
transition:.3s
}

.accent-color {
color:var(--accent-color)
}

a:hover {
color:color-mix(in srgb,var(--accent-color),transparent 25%);
text-decoration:none
}

h1,h2,h3,h4,h5,h6 {
color:var(--heading-color);
font-family:var(--heading-font)
}

.php-email-form .error-message,
.php-email-form .sent-message {
  display: none;
  color: #ffffff;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.php-email-form .error-message {
  background: #df1529;
  text-align: left;
}

.php-email-form .sent-message {
  background: #059652;
  text-align: center;
}

.php-email-form .loading {
display:none;
background:var(--surface-color);
text-align:center;
padding:15px;
margin-bottom:24px
}

.php-email-form .loading:before {
content:"";
display:inline-block;
border-radius:50%;
width:24px;
height:24px;
margin:0 10px -6px 0;
border:3px solid var(--accent-color);
border-top-color:var(--surface-color);
animation:php-email-form-loading 1s linear infinite
}

@keyframes php-email-form-loading {
0% {
transform:rotate(0deg)
}

100% {
transform:rotate(360deg)
}
}

.header {
--background-color:rgba(0,0,0,0);
--default-color:#ffffff;
--heading-color:#ffffff;
--surface-color:rgba(0,0,0,0.26);
color:var(--default-color);
background-color:var(--background-color);
padding:20px 0;
transition:all .5s;
z-index:997
}

.header .header-container {
background:var(--surface-color);
border-radius:50px;
padding:5px 25px;
box-shadow:0 2px 15px rgba(0,0,0,0.1)
}

.header .logo {
line-height:1
}

.header .logo img {
max-height:60px;
margin-right:8px;
max-width:60px
}

.header .logo h1 {
font-size:24px;
margin:0;
font-weight:600;
padding-left:5px;
text-transform:uppercase;
color:var(--heading-color)
}

.header .btn-getstarted,.header .btn-getstarted:focus {
color:var(--contrast-color);
background:var(--accent-color);
font-size:14px;
padding:8px 20px;
margin:0 0 0 30px;
border-radius:50px;
transition:.3s
}

.header .btn-getstarted:hover,.header .btn-getstarted:focus:hover {
color:var(--contrast-color);
background:color-mix(in srgb,var(--accent-color),transparent 15%)
}

@media (max-width: 1200px) {
.header {
padding-top:10px
}

.header .header-container {
margin-left:10px;
margin-right:10px;
padding:10px 5px 10px 15px
}

.header .logo {
order:1
}

.header .btn-getstarted {
order:2;
margin:0 10px 0 0;
padding:6px 15px
}

.header .navmenu {
order:3
}
}

.scrolled .header {
--surface-color:rgba(0,0,0,0.7)
}

@media (min-width: 1200px) {
.navmenu {
padding:0
}

.navmenu ul {
margin:0;
padding:0;
display:flex;
list-style:none;
align-items:center
}

.navmenu li {
position:relative
}

.navmenu a,.navmenu a:focus {
color:var(--nav-color);
padding:18px 15px;
display:flex;
align-items:center;
justify-content:space-between;
white-space:nowrap;
transition:.3s;
font:400 16px var(--nav-font)
}

.navmenu a i,.navmenu a:focus i {
font-size:12px;
line-height:0;
margin-left:5px;
transition:.3s
}

.navmenu li:last-child a {
padding-right:0
}

.navmenu li:hover>a,.navmenu .active,.navmenu .active:focus {
color:var(--nav-hover-color)
}

.navmenu .dropdown ul {
margin:0;
padding:10px 0;
background:var(--nav-dropdown-background-color);
display:block;
position:absolute;
visibility:hidden;
left:14px;
top:130%;
opacity:0;
transition:.3s;
border-radius:4px;
z-index:99;
box-shadow:0 0 30px rgba(0,0,0,0.1)
}

.navmenu .dropdown ul li {
min-width:200px
}

.navmenu .dropdown ul a {
padding:10px 20px;
font-size:15px;
text-transform:none;
color:var(--nav-dropdown-color)
}

.navmenu .dropdown ul a i {
font-size:12px
}

.navmenu .dropdown ul a:hover,.navmenu .dropdown ul .active:hover,.navmenu .dropdown ul li:hover>a {
color:var(--nav-dropdown-hover-color)
}

.navmenu .dropdown:hover>ul {
opacity:1;
top:100%;
visibility:visible
}

.navmenu .dropdown .dropdown ul {
top:0;
left:-90%;
visibility:hidden
}

.navmenu .dropdown .dropdown:hover>ul {
opacity:1;
top:0;
left:-100%;
visibility:visible
}
}

@media (max-width: 1199px) {
.mobile-nav-toggle {
color:var(--nav-color);
font-size:28px;
line-height:0;
margin-right:10px;
cursor:pointer;
transition:color .3s
}

.navmenu {
padding:0;
z-index:9997
}

.navmenu ul {
display:none;
list-style:none;
position:absolute;
inset:60px 20px 20px 20px;
padding:10px 0;
margin:0;
border-radius:6px;
background-color:var(--nav-mobile-background-color);
overflow-y:auto;
transition:.3s;
z-index:9998;
box-shadow:0 0 30px rgba(0,0,0,0.1)
}

.navmenu a,.navmenu a:focus {
color:var(--nav-dropdown-color);
padding:10px 20px;
display:flex;
align-items:center;
justify-content:space-between;
white-space:nowrap;
transition:.3s;
font:500 17px var(--nav-font)
}

.navmenu a i,.navmenu a:focus i {
font-size:12px;
line-height:0;
margin-left:5px;
width:30px;
height:30px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
transition:.3s;
background-color:color-mix(in srgb,var(--accent-color),transparent 90%)
}

.navmenu a i:hover,.navmenu a:focus i:hover {
background-color:var(--accent-color);
color:var(--contrast-color)
}

.navmenu a:hover,.navmenu .active,.navmenu .active:focus {
color:var(--nav-dropdown-hover-color)
}

.navmenu .active i,.navmenu .active:focus i {
background-color:var(--accent-color);
color:var(--contrast-color);
transform:rotate(180deg)
}

.navmenu .dropdown ul {
position:static;
display:none;
z-index:99;
padding:10px 0;
margin:10px 20px;
background-color:var(--nav-dropdown-background-color);
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%);
box-shadow:none;
transition:all .5s ease-in-out
}

.navmenu .dropdown ul ul {
background-color:rgba(33,37,41,0.1)
}

.navmenu .dropdown>.dropdown-active {
display:block;
background-color:rgba(33,37,41,0.03)
}

.mobile-nav-active {
overflow:hidden
}

.mobile-nav-active .mobile-nav-toggle {
color:#fff;
position:absolute;
font-size:32px;
top:15px;
right:15px;
margin-right:0;
z-index:9999
}

.mobile-nav-active .navmenu {
position:fixed;
overflow:hidden;
inset:0;
background:rgba(33,37,41,0.8);
transition:.3s
}

.mobile-nav-active .navmenu>ul {
display:block
}
}

.footer {
color:var(--default-color);
background-color:var(--background-color);
font-size:14px;
position:relative
}

.footer .footer-newsletter {
background-color:color-mix(in srgb,var(--default-color),transparent 97%);
padding:50px 0
}

.footer .footer-newsletter h4 {
font-size:24px
}

.footer .footer-newsletter .newsletter-form {
margin-top:30px;
margin-bottom:15px;
padding:6px 8px;
position:relative;
border-radius:4px;
background-color:var(--surface-color);
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%);
box-shadow:0 2px 25px rgba(0,0,0,0.1);
display:flex;
transition:.3s;
border-radius:50px
}

.footer .footer-newsletter .newsletter-form:focus-within {
border-color:var(--accent-color)
}

.footer .footer-newsletter .newsletter-form input[type=email] {
border:0;
padding:4px;
width:100%;
background-color:var(--surface-color);
color:var(--default-color)
}

.footer .footer-newsletter .newsletter-form input[type=email]:focus-visible {
outline:none
}

.footer .footer-newsletter .newsletter-form input[type=submit] {
border:0;
font-size:16px;
padding:0 20px;
margin:-7px -8px -7px 0;
background:var(--accent-color);
color:var(--contrast-color);
transition:.3s;
border-radius:50px
}

.footer .footer-newsletter .newsletter-form input[type=submit]:hover {
background:color-mix(in srgb,var(--accent-color),transparent 20%)
}

.footer .footer-top {
padding-top:50px
}

.footer .social-links a {
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border-radius:50%;
border:1px solid color-mix(in srgb,var(--default-color),transparent 50%);
font-size:16px;
color:color-mix(in srgb,var(--default-color),transparent 20%);
margin-right:10px;
transition:.3s
}

.footer .social-links a:hover {
color:var(--accent-color);
border-color:var(--accent-color)
}

.footer h4 {
font-size:16px;
font-weight:bold;
position:relative;
padding-bottom:12px
}

.footer .footer-links {
margin-bottom:30px
}

.footer .footer-links ul {
list-style:none;
padding:0;
margin:0
}

.footer .footer-links ul i {
margin-right:3px;
font-size:12px;
line-height:0;
color:var(--accent-color)
}

.footer .footer-links ul li {
padding:10px 0;
display:flex;
align-items:center
}

.footer .footer-links ul li:first-child {
padding-top:0
}

.footer .footer-links ul a {
display:inline-block;
color:color-mix(in srgb,var(--default-color),transparent 20%);
line-height:1
}

.footer .footer-links ul a:hover {
color:var(--accent-color)
}

.footer .footer-about a {
color:var(--heading-color);
font:600 24px var(--heading-font)
}

.footer .footer-contact p {
margin-bottom:5px
}

.footer .copyright {
padding:25px 0;
border-top:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.footer .copyright p {
margin-bottom:0
}

.footer .credits {
margin-top:6px;
font-size:13px
}

#preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  background-color: var(--background-color);
  transition: all .6s ease-out;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#preloader div {
  display: flex;
  font-size: 2rem;
  font-weight: bold;
  font-family: var(--heading-font);
  color: var(--accent-color);
}

#preloader .letter {
  animation: scale 2s infinite;
  display: inline-block;
}

#preloader .letter:nth-child(1) {
  animation-delay: 0s;
}

#preloader .letter:nth-child(2) {
  animation-delay: 0.2s;
}

#preloader .letter:nth-child(3) {
  animation-delay: 0.4s;
}

#preloader .letter:nth-child(4) {
  animation-delay: 0.6s;
}

#preloader .letter:nth-child(5) {
  animation-delay: 0.8s;
}

#preloader .letter:nth-child(6) {
  animation-delay: 1s;
}

#preloader .letter:nth-child(7) {
  animation-delay: 1.2s;
}

#preloader .letter:nth-child(8) {
  animation-delay: 1.4s;
}

#preloader .letter:nth-child(9) {
  animation-delay: 1.6s;
}

#preloader .letter:nth-child(10) {
  animation-delay: 1.8s;
}

@keyframes scale {
  0%, 100% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.2);
  }
  40% {
    transform: scale(1);
  }
}

.scroll-top {
position:fixed;
visibility:hidden;
opacity:0;
right:15px;
bottom:-15px;
z-index:99999;
background-color:var(--accent-color);
width:44px;
height:44px;
border-radius:50px;
transition:all .4s
}

.scroll-top i {
font-size:24px;
color:var(--contrast-color);
line-height:0
}

.scroll-top:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 20%);
color:var(--contrast-color)
}

.scroll-top.active {
visibility:visible;
opacity:1;
bottom:15px
}

@media screen and (max-width: 768px) {
[data-aos-delay] {
transition-delay:0!important
}
}

.page-title {
color:var(--default-color);
background-color:var(--background-color);
background-size:cover;
background-position:center;
background-repeat:no-repeat;
padding:160px 0 80px;
text-align:center;
position:relative
}

.page-title:before {
content:"";
background-color:color-mix(in srgb,var(--background-color),transparent 50%);
position:absolute;
inset:0
}

.page-title h1 {
font-size:42px;
font-weight:700;
margin-bottom:10px
}

.page-title .breadcrumbs ol {
display:flex;
flex-wrap:wrap;
list-style:none;
justify-content:center;
padding:0;
margin:0;
font-size:16px;
font-weight:400
}

.page-title .breadcrumbs ol li+li {
padding-left:10px
}

.page-title .breadcrumbs ol li+li::before {
content:"/";
display:inline-block;
padding-right:10px;
color:color-mix(in srgb,var(--default-color),transparent 50%)
}

section,.section {
color:var(--default-color);
background-color:var(--background-color);
padding:60px 0;
scroll-margin-top:90px;
overflow:clip
}

@media (max-width: 1199px) {
section,.section {
scroll-margin-top:66px
}
}

.section-title {
text-align:center;
padding-bottom:60px;
position:relative
}

.section-title h2 {
letter-spacing:1px;
padding:8px 20px;
margin:0;
background:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
display:inline-block;
text-transform:uppercase;
border-radius:50px;
font:700 13px var(--default-font)
}

.section-title div {
color:var(--heading-color);
margin:10px 0 0;
font:700 32px var(--heading-font)
}

.section-title div .description-title {
color:var(--accent-color)
}

.travel-hero {
position:relative;
overflow:hidden;
min-height:90vh;
display:flex;
align-items:center;
padding:120px 0 60px
}

.hero-swiper .swiper-pagination-bullet {
width:12px!important;
height:12px!important
}

.travel-hero .hero-background {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0
}

.travel-hero .hero-background video,.travel-hero .hero-background img {
width:100%;
height:100%;
object-fit:cover
}

.travel-hero .hero-overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(135deg,color-mix(in srgb,var(--background-color),transparent 60%) 0%,color-mix(in srgb,var(--background-color),transparent 80%) 50%,color-mix(in srgb,var(--background-color),transparent 90%) 100%);
z-index:1
}

.travel-hero .hero-text .hero-title {
font-size:3.5rem;
font-weight:700;
margin-bottom:1.5rem;
line-height:1.2
}

.travel-hero .hero-text .hero-subtitle {
font-size:1.2rem;
margin-bottom:2rem;
opacity:.9;
line-height:1.6
}

.travel-hero .hero-text .hero-buttons .btn {
padding:12px 30px;
font-weight:600;
text-transform:uppercase;
letter-spacing:.5px;
border-radius:50px;
transition:all .3s ease
}

.travel-hero .hero-text .hero-buttons .btn.btn-primary {
background-color:var(--accent-color);
border-color:var(--accent-color);
color:var(--contrast-color)
}

.travel-hero .hero-text .hero-buttons .btn.btn-primary:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 20%);
border-color:color-mix(in srgb,var(--accent-color),transparent 20%);
transform:translateY(-2px)
}

.travel-hero .hero-text .hero-buttons .btn.btn-outline {
background-color:transparent;
border:2px solid var(--contrast-color);
color:var(--contrast-color)
}

.travel-hero .hero-text .hero-buttons .btn.btn-outline:hover {
background-color:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-2px);
border-color:var(--accent-color)
}

.travel-hero .booking-form-wrapper .booking-form {
background-color:var(--surface-color);
border-radius:15px;
padding:2rem;
box-shadow:0 10px 30px color-mix(in srgb,var(--default-color),transparent 85%);
backdrop-filter:blur(10px)
}

.travel-hero .booking-form-wrapper .booking-form .form-title {
color:var(--heading-color);
font-size:1.5rem;
font-weight:600;
margin-bottom:1.5rem;
text-align:center
}

.travel-hero .booking-form-wrapper .booking-form label {
color:var(--heading-color);
font-weight:500;
margin-bottom:.5rem;
font-size:.9rem
}

.travel-hero .booking-form-wrapper .booking-form .form-control,.travel-hero .booking-form-wrapper .booking-form .form-select {
border:2px solid color-mix(in srgb,var(--default-color),transparent 80%);
border-radius:8px;
padding:12px 15px;
font-size:14px;
color:var(--default-color);
background-color:var(--surface-color);
transition:all .3s ease
}

.travel-hero .booking-form-wrapper .booking-form .form-control:focus,.travel-hero .booking-form-wrapper .booking-form .form-select:focus {
border-color:var(--accent-color);
box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent-color),transparent 75%);
outline:none
}

.travel-hero .booking-form-wrapper .booking-form .form-control::placeholder,.travel-hero .booking-form-wrapper .booking-form .form-select::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 50%)
}

.travel-hero .booking-form-wrapper .booking-form .btn-primary {
background-color:var(--accent-color);
border-color:var(--accent-color);
color:var(--contrast-color);
padding:12px 20px;
font-weight:600;
border-radius:8px;
transition:all .3s ease
}

.travel-hero .booking-form-wrapper .booking-form .btn-primary:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 20%);
border-color:color-mix(in srgb,var(--accent-color),transparent 20%);
transform:translateY(-1px)
}

@media (max-width: 992px) {
.travel-hero .hero-text {
text-align:center;
margin-bottom:3rem
}

.travel-hero .hero-text .hero-title {
font-size:2.5rem
}

.travel-hero .hero-text .hero-subtitle {
font-size:1.1rem
}

.travel-hero .booking-form {
margin-top:2rem
}
}

@media (max-width: 768px) {
.travel-hero .hero-text .hero-title {
font-size:2rem
}

.travel-hero .hero-text .hero-subtitle {
font-size:1rem
}

.travel-hero .hero-text .hero-buttons .btn {
display:block;
width:100%;
margin-bottom:1rem
}

.travel-hero .hero-text .hero-buttons .btn:last-child {
margin-bottom:0
}

.travel-hero .booking-form-wrapper .booking-form {
padding:1.5rem
}
}

.why-us .content h3 {
font-size:2.2rem;
font-weight:700;
margin-bottom:1.5rem;
line-height:1.3
}

.why-us .content p {
font-size:1.1rem;
line-height:1.8;
margin-bottom:1.5rem;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.why-us .stats-row {
display:flex;
gap:2rem;
margin-top:2rem
}

@media (max-width: 576px) {
.why-us .stats-row {
flex-direction:column;
gap:1rem
}
}

.why-us .stat-item span {
color:var(--accent-color);
font:700 2.5rem var(--heading-font)
}

.why-us .stat-item .stat-label {
font-size:.9rem;
color:color-mix(in srgb,var(--default-color),transparent 30%);
margin-top:.25rem
}

.why-us .about-image {
position:relative
}

.why-us .about-image .experience-badge {
position:absolute;
bottom:20px;
left:20px;
background:var(--accent-color);
color:var(--contrast-color);
padding:1.5rem;
border-radius:15px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,0.1)
}

.why-us .about-image .experience-badge .experience-number {
font-size:1.8rem;
font-weight:700;
line-height:1
}

.why-us .about-image .experience-badge .experience-text {
font-size:.9rem;
margin-top:.5rem;
opacity:.9
}

@media (max-width: 768px) {
.why-us .about-image {
margin-top:3rem
}

.why-us .about-image .experience-badge {
bottom:15px;
left:15px;
padding:1rem
}

.why-us .about-image .experience-badge .experience-number {
font-size:1.5rem
}

.why-us .about-image .experience-badge .experience-text {
font-size:.8rem
}
}

.why-us .why-choose-section {
margin-top:5rem
}

.why-us .why-choose-section h3 {
font-size:2.2rem;
font-weight:700;
margin-bottom:1rem;
line-height:1.3
}

.why-us .why-choose-section>.row>.col-lg-8>p {
font-size:1.1rem;
line-height:1.8;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

@media (max-width: 768px) {
.why-us .why-choose-section {
margin-top:3rem
}

.why-us .why-choose-section h3 {
font-size:1.8rem
}
}

.why-us .feature-card {
background:var(--surface-color);
padding:2.5rem 1.5rem;
border-radius:15px;
text-align:center;
height:100%;
transition:all .3s ease;
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.why-us .feature-card:hover {
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,0.1)
}

.why-us .feature-card:hover .feature-icon {
background:var(--accent-color);
color:var(--contrast-color)
}

.why-us .feature-icon {
width:80px;
height:80px;
background:color-mix(in srgb,var(--accent-color),transparent 85%);
color:var(--accent-color);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 1.5rem;
font-size:2rem;
transition:all .3s ease
}

.why-us .feature-card h4 {
font-size:1.3rem;
font-weight:600;
margin-bottom:1rem
}

.why-us .feature-card p {
font-size:1rem;
line-height:1.6;
color:color-mix(in srgb,var(--default-color),transparent 25%);
margin-bottom:0
}

@media (max-width: 768px) {
.why-us .feature-card {
padding:2rem 1rem
}

.why-us .feature-icon {
width:60px;
height:60px;
font-size:1.5rem;
margin-bottom:1rem
}

.why-us .feature-card h4 {
font-size:1.2rem
}
}

.featured-destinations .featured-destination {
height:485px;
border-radius:20px;
overflow:hidden;
position:relative;
box-shadow:0 10px 40px rgba(0,0,0,0.1);
transition:all .4s ease
}

.featured-destinations .featured-destination:hover {
transform:translateY(-8px);
box-shadow:0 20px 60px rgba(0,0,0,0.15)
}

.featured-destinations .featured-destination .destination-overlay {
position:relative;
height:100%;
width:100%
}

.featured-destinations .featured-destination .destination-overlay img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .4s ease
}

.featured-destinations .featured-destination .destination-overlay:hover img {
transform:scale(1.08)
}

.featured-destinations .featured-destination .destination-overlay::before {
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(to bottom,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0.7) 100%);
z-index:1
}

.featured-destinations .featured-destination .destination-info {
position:absolute;
bottom:0;
left:0;
right:0;
padding:40px;
z-index:2;
color:white
}

.featured-destinations .featured-destination .destination-info .destination-tag {
display:inline-block;
background:var(--accent-color);
color:var(--contrast-color);
padding:8px 16px;
border-radius:25px;
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:1px;
margin-bottom:15px
}

.featured-destinations .featured-destination .destination-info h3 {
font-size:32px;
font-weight:800;
color:white;
margin-bottom:8px;
line-height:1.2
}

.featured-destinations .featured-destination .destination-info .location {
font-size:16px;
margin-bottom:15px;
opacity:.9;
display:flex;
align-items:center;
gap:8px
}

.featured-destinations .featured-destination .destination-info .location i {
color:var(--accent-color);
font-size:18px
}

.featured-destinations .featured-destination .destination-info .description {
font-size:15px;
line-height:1.6;
margin-bottom:20px;
opacity:.8
}

.featured-destinations .featured-destination .destination-info .destination-meta {
display:flex;
gap:25px;
margin-bottom:20px;
font-size:14px
}

.featured-destinations .featured-destination .destination-info .destination-meta .tours-count,.featured-destinations .featured-destination .destination-info .destination-meta .rating {
display:flex;
align-items:center;
gap:6px
}

.featured-destinations .featured-destination .destination-info .price-info {
margin-bottom:25px
}

.featured-destinations .featured-destination .destination-info .price-info .starting-from {
display:block;
font-size:13px;
opacity:.7;
text-transform:uppercase;
letter-spacing:.5px;
margin-bottom:4px
}

.featured-destinations .featured-destination .destination-info .price-info .amount {
font-size:28px;
font-weight:800;
color:var(--accent-color)
}

.featured-destinations .featured-destination .destination-info .explore-btn {
display:inline-flex;
align-items:center;
gap:10px;
background:rgba(255,255,255,0.15);
backdrop-filter:blur(10px);
border:2px solid rgba(255,255,255,0.2);
color:white;
padding:15px 30px;
border-radius:50px;
text-decoration:none;
font-weight:600;
font-size:16px;
transition:all .3s ease
}

.featured-destinations .featured-destination .destination-info .explore-btn:hover {
background:var(--accent-color);
border-color:var(--accent-color);
color:var(--contrast-color);
transform:translateX(5px)
}

.featured-destinations .featured-destination .destination-info .explore-btn:hover i {
transform:translateX(3px)
}

.featured-destinations .featured-destination .destination-info .explore-btn i {
transition:transform .3s ease
}

.featured-destinations .compact-destination {
background:var(--surface-color);
border-radius:16px;
overflow:hidden;
display:flex;
box-shadow:0 5px 25px rgba(0,0,0,0.08);
transition:all .3s ease;
height:180px
}

.featured-destinations .compact-destination:hover {
box-shadow:0 10px 35px rgba(0,0,0,0.12);
transform:translateX(8px)
}

.featured-destinations .compact-destination .destination-image {
flex-shrink:0;
width:140px;
position:relative;
overflow:hidden
}

.featured-destinations .compact-destination .destination-image img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .3s ease
}

.featured-destinations .compact-destination .destination-image .badge-offer {
position:absolute;
top:12px;
left:12px;
background:linear-gradient(135deg,#ff6b6b,#ee5a24);
color:white;
padding:4px 10px;
border-radius:15px;
font-size:10px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.5px
}

.featured-destinations .compact-destination .destination-image .badge-offer.limited {
background:linear-gradient(135deg,#ffd700,#ffb347);
color:#333
}

.featured-destinations .compact-destination .destination-details {
flex:1;
padding:20px;
display:flex;
flex-direction:column;
justify-content:space-between
}

.featured-destinations .compact-destination .destination-details h4 {
font-size:18px;
font-weight:700;
color:var(--heading-color);
margin-bottom:6px;
line-height:1.3
}

.featured-destinations .compact-destination .destination-details .location {
font-size:13px;
color:color-mix(in srgb,var(--default-color),transparent 40%);
margin-bottom:10px;
display:flex;
align-items:center;
gap:5px
}

.featured-destinations .compact-destination .destination-details .location i {
color:var(--accent-color);
font-size:12px
}

.featured-destinations .compact-destination .destination-details .brief {
font-size:13px;
line-height:1.4;
color:color-mix(in srgb,var(--default-color),transparent 20%);
margin-bottom:12px;
display:-webkit-box;
-webkit-line-clamp:2;
line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden
}

.featured-destinations .compact-destination .destination-details .stats-row {
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:10px;
font-size:12px
}

.featured-destinations .compact-destination .destination-details .stats-row .tour-count,.featured-destinations .compact-destination .destination-details .stats-row .rating {
display:flex;
align-items:center;
gap:4px;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.featured-destinations .compact-destination .destination-details .stats-row .rating i {
color:#ffc107
}

.featured-destinations .compact-destination .destination-details .stats-row .price {
font-weight:700;
color:var(--accent-color);
font-size:14px
}

.featured-destinations .compact-destination .destination-details .quick-link {
color:var(--accent-color);
text-decoration:none;
font-size:13px;
font-weight:600;
display:flex;
align-items:center;
gap:4px;
transition:all .3s ease
}

.featured-destinations .compact-destination .destination-details .quick-link:hover {
color:color-mix(in srgb,var(--accent-color),black 15%);
gap:8px
}

.featured-destinations .compact-destination .destination-details .quick-link i {
font-size:12px;
transition:transform .3s ease
}

.featured-destinations .compact-destination:hover .destination-image img {
transform:scale(1.1)
}

.featured-destinations .featured-destination .destination-info .destination-meta .tours-count i,.featured-destinations .featured-destination .destination-info .destination-meta .rating i,.featured-destinations .compact-destination .destination-details .stats-row .tour-count i,.featured-destinations .compact-destination .destination-details .stats-row .rating i {
color:var(--accent-color)
}

@media (max-width: 992px) {
.featured-destinations .featured-destination {
height:500px
}

.featured-destinations .featured-destination .destination-info {
padding:30px
}

.featured-destinations .featured-destination .destination-info h3 {
font-size:28px
}

.featured-destinations .featured-destination .destination-info .price-info .amount {
font-size:24px
}
}

@media (max-width: 768px) {
.featured-destinations .featured-destination {
height:450px;
margin-bottom:30px
}

.featured-destinations .featured-destination .destination-info {
padding:25px
}

.featured-destinations .featured-destination .destination-info h3 {
font-size:24px
}

.featured-destinations .featured-destination .destination-info .destination-meta {
flex-direction:column;
gap:10px
}

.featured-destinations .compact-destination {
flex-direction:column;
height:auto
}

.featured-destinations .compact-destination .destination-image {
width:100%;
height:160px
}

.featured-destinations .compact-destination .destination-details {
padding:20px
}

.featured-destinations .compact-destination .destination-details .stats-row {
flex-wrap:wrap;
gap:10px
}
}

.featured-tours .tour-card {
background-color:var(--surface-color);
border-radius:12px;
overflow:hidden;
box-shadow:0 4px 20px color-mix(in srgb,var(--default-color),transparent 90%);
transition:all .3s ease;
margin-bottom:30px;
height:100%;
display:flex;
flex-direction:column
}

.featured-tours .tour-card:hover {
transform:translateY(-8px);
box-shadow:0 8px 30px color-mix(in srgb,var(--default-color),transparent 80%)
}

.featured-tours .tour-card .tour-image {
position:relative;
overflow:hidden;
height:250px
}

.featured-tours .tour-card .tour-image img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .3s ease
}

.featured-tours .tour-card .tour-image .tour-badge {
position:absolute;
top:15px;
left:15px;
background-color:var(--accent-color);
color:var(--contrast-color);
padding:5px 12px;
border-radius:20px;
font-size:12px;
font-weight:600;
text-transform:uppercase;
letter-spacing:.5px
}

.featured-tours .tour-card .tour-image .tour-badge.limited {
background-color:#ff6b6b
}

.featured-tours .tour-card .tour-image .tour-badge.new {
background-color:#4ecdc4
}

.featured-tours .tour-card .tour-image .tour-badge.cultural {
background-color:#9b59b6
}

.featured-tours .tour-card .tour-image .tour-badge.adventure {
background-color:#e67e22
}

.featured-tours .tour-card .tour-image .tour-price {
position:absolute;
top:15px;
right:15px;
background-color:color-mix(in srgb,var(--default-color),transparent 20%);
color:var(--contrast-color);
padding:8px 15px;
border-radius:6px;
font-size:16px;
font-weight:700;
backdrop-filter:blur(10px)
}

.featured-tours .tour-card:hover .tour-image img {
transform:scale(1.05)
}

.featured-tours .tour-card .tour-content {
padding:25px;
flex-grow:1;
display:flex;
flex-direction:column
}

.featured-tours .tour-card .tour-content h4 {
font-size:22px;
font-weight:700;
margin-bottom:15px;
color:var(--heading-color);
line-height:1.2
}

.featured-tours .tour-card .tour-content .tour-meta {
display:flex;
gap:20px;
margin-bottom:15px
}

.featured-tours .tour-card .tour-content .tour-meta span {
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-size:14px;
display:flex;
align-items:center;
gap:5px
}

.featured-tours .tour-card .tour-content .tour-meta span i {
color:var(--accent-color)
}

.featured-tours .tour-card .tour-content p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
font-size:15px;
line-height:1.6;
margin-bottom:20px;
flex-grow:1
}

.featured-tours .tour-card .tour-content .tour-highlights {
display:flex;
flex-wrap:wrap;
gap:8px;
margin-bottom:25px
}

.featured-tours .tour-card .tour-content .tour-highlights span {
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
padding:4px 10px;
border-radius:15px;
font-size:12px;
font-weight:500
}

.featured-tours .tour-card .tour-content .tour-action {
display:flex;
justify-content:space-between;
align-items:center;
margin-top:auto
}

.featured-tours .tour-card .tour-content .tour-action .btn-book {
background-color:var(--accent-color);
color:var(--contrast-color);
padding:12px 25px;
border-radius:6px;
font-weight:600;
text-decoration:none;
transition:all .3s ease;
font-size:14px
}

.featured-tours .tour-card .tour-content .tour-action .btn-book:hover {
background-color:color-mix(in srgb,var(--accent-color),black 15%);
transform:translateY(-2px);
color:var(--contrast-color)
}

.featured-tours .tour-card .tour-content .tour-action .tour-rating {
display:flex;
align-items:center;
gap:3px;
font-size:14px
}

.featured-tours .tour-card .tour-content .tour-action .tour-rating i {
color:#ffc107;
font-size:12px
}

.featured-tours .tour-card .tour-content .tour-action .tour-rating span {
color:color-mix(in srgb,var(--default-color),transparent 30%);
margin-left:5px;
font-size:13px
}

.featured-tours .btn-view-all {
background-color:transparent;
color:var(--accent-color);
border:2px solid var(--accent-color);
padding:15px 35px;
border-radius:8px;
font-weight:600;
text-decoration:none;
transition:all .3s ease;
font-size:16px;
display:inline-block
}

.featured-tours .btn-view-all:hover {
background-color:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-2px);
box-shadow:0 4px 15px color-mix(in srgb,var(--accent-color),transparent 60%)
}

@media (max-width: 768px) {
.featured-tours .tour-card .tour-content {
padding:20px
}

.featured-tours .tour-card .tour-content h4 {
font-size:20px
}

.featured-tours .tour-card .tour-content .tour-action {
flex-direction:column;
align-items:stretch;
gap:15px
}

.featured-tours .tour-card .tour-content .tour-action .btn-book {
text-align:center
}

.featured-tours .tour-card .tour-content .tour-action .tour-rating {
justify-content:center
}
}

@media (max-width: 576px) {
.featured-tours .tour-card .tour-image {
height:200px
}

.featured-tours .tour-card .tour-content {
padding:15px
}

.featured-tours .tour-card .tour-content .tour-meta {
flex-direction:column;
gap:8px
}

.featured-tours .tour-card .tour-content .tour-highlights {
justify-content:center
}
}

.testimonials-home .testimonials-carousel,.testimonials-home .testimonials-slider {
overflow:hidden
}

.testimonials-home .testimonial-item {
box-sizing:content-box;
text-align:center;
/* min-height:320px */
}

.testimonials-home .testimonial-item .testimonial-img {
height: 100px;
max-width: 170px;
margin:0 auto
}

.testimonials-home .testimonial-item h3 {
font-size:18px;
font-weight:bold;
margin:10px 0 5px
}

.testimonials-home .testimonial-item h4 {
font-size:14px;
color:color-mix(in srgb,var(--default-color),transparent 20%);
margin:0
}

.testimonials-home .testimonial-item .quote-icon-left,
.testimonials-home .testimonial-item .quote-icon-right {
  color: color-mix(in srgb,var(--accent-color),transparent 40%);
  font-size: 26px;
  line-height: 0;
  display: inline-block;
  position: relative;
}

.testimonials-home .testimonial-item .quote-icon-left {
  left: -5px;
}

.testimonials-home .testimonial-item .quote-icon-right {
  right: -5px;
  top: 10px;
  transform: scale(-1,-1);
}

.testimonials-home .testimonial-item p {
font-style:italic;
margin:0 15px 15px;
padding:20px;
background:color-mix(in srgb,var(--default-color),transparent 97%);
position:relative;
margin-bottom:35px;
border-radius:6px
}

.testimonials-home .testimonial-item p::after {
content:"";
width:0;
height:0;
border-top:20px solid color-mix(in srgb,var(--default-color),transparent 97%);
border-right:20px solid transparent;
border-left:20px solid transparent;
position:absolute;
bottom:-20px;
left:calc(50% - 20px)
}

.testimonials-home .swiper-wrapper {
height:auto
}

.testimonials-home .swiper-pagination {
margin-top:40px;
position:relative
}

.testimonials-home .swiper-pagination .swiper-pagination-bullet {
width:12px;
height:12px;
background-color:var(--background-color);
opacity:1;
border:1px solid var(--accent-color)
}

.testimonials-home .swiper-pagination .swiper-pagination-bullet-active {
background-color:var(--accent-color)
}

.call-to-action .hero-content {
display:grid;
grid-template-columns:1fr 1fr;
gap:4rem;
align-items:center;
margin-bottom:5rem
}

@media (max-width: 992px) {
.call-to-action .hero-content {
grid-template-columns:1fr;
gap:3rem;
text-align:center
}
}

.call-to-action .content-wrapper .badge-wrapper {
margin-bottom:1.5rem
}

.call-to-action .content-wrapper .badge-wrapper .promo-badge {
display:inline-block;
background:linear-gradient(45deg,var(--accent-color),color-mix(in srgb,var(--accent-color),black 20%));
color:var(--contrast-color);
padding:8px 20px;
border-radius:25px;
font-size:.9rem;
font-weight:600;
text-transform:uppercase;
letter-spacing:.5px;
position:relative;
overflow:hidden
}

.call-to-action .content-wrapper .badge-wrapper .promo-badge::before {
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
animation:shimmer 2s infinite
}

.call-to-action .content-wrapper h2 {
font-size:3rem;
font-weight:800;
margin-bottom:1.5rem;
line-height:1.2
}

@media (max-width: 768px) {
.call-to-action .content-wrapper h2 {
font-size:2.2rem
}
}

.call-to-action .content-wrapper p {
font-size:1.2rem;
color:color-mix(in srgb,var(--default-color),transparent 25%);
margin-bottom:2.5rem;
line-height:1.7
}

.call-to-action .action-section .main-actions {
display:flex;
gap:1rem;
margin-bottom:2rem
}

@media (max-width: 576px) {
.call-to-action .action-section .main-actions {
flex-direction:column
}
}

.call-to-action .action-section .main-actions .btn {
padding:15px 35px;
font-size:1.1rem;
font-weight:700;
border-radius:60px;
transition:all .4s cubic-bezier(0.4,0,0.2,1);
position:relative;
overflow:hidden;
text-transform:uppercase;
letter-spacing:.5px;
display:flex;
align-items:center
}

.call-to-action .action-section .main-actions .btn i {
margin-right:.5rem;
font-size:1.2rem
}

.call-to-action .action-section .main-actions .btn::before {
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
transition:left .5s
}

.call-to-action .action-section .main-actions .btn:hover::before {
left:100%
}

.call-to-action .action-section .main-actions .btn.btn-explore {
background:linear-gradient(135deg,var(--accent-color),color-mix(in srgb,var(--accent-color),black 20%));
border:none;
color:var(--contrast-color)
}

.call-to-action .action-section .main-actions .btn.btn-explore:hover {
transform:translateY(-3px) scale(1.05);
box-shadow:0 15px 40px color-mix(in srgb,var(--accent-color),transparent 60%)
}

.call-to-action .action-section .main-actions .btn.btn-deals {
background:transparent;
border:3px solid var(--accent-color);
color:var(--accent-color)
}

.call-to-action .action-section .main-actions .btn.btn-deals:hover {
background:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-3px) scale(1.05)
}

.call-to-action .action-section .quick-contact {
display:flex;
align-items:center;
gap:1rem;
padding:1rem;
background:color-mix(in srgb,var(--surface-color),transparent 50%);
border-radius:15px;
border-left:4px solid var(--accent-color)
}

@media (max-width: 576px) {
.call-to-action .action-section .quick-contact {
flex-direction:column;
gap:.5rem;
text-align:center
}
}

.call-to-action .action-section .quick-contact .contact-label {
font-size:.95rem;
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-weight:500
}

.call-to-action .action-section .quick-contact .contact-link {
display:flex;
align-items:center;
gap:.5rem;
color:var(--accent-color);
font-weight:600;
text-decoration:none;
transition:all .3s ease
}

.call-to-action .action-section .quick-contact .contact-link:hover {
color:color-mix(in srgb,var(--accent-color),black 20%);
transform:translateX(3px)
}

.call-to-action .action-section .quick-contact .contact-link i {
font-size:1.1rem
}

.call-to-action .visual-element {
position:relative;
border-radius:25px;
overflow:hidden;
box-shadow:0 25px 60px rgba(0,0,0,0.15)
}

.call-to-action .visual-element .hero-image {
width:100%;
height:500px;
object-fit:cover;
transition:transform .6s ease
}

@media (max-width: 768px) {
.call-to-action .visual-element .hero-image {
height:350px
}
}

.call-to-action .visual-element .image-overlay {
position:absolute;
bottom:0;
left:0;
right:0;
background:linear-gradient(transparent,rgba(0,0,0,0.8));
padding:2rem;
display:flex;
justify-content:space-around
}

.call-to-action .visual-element .image-overlay .stat-item {
text-align:center
}

.call-to-action .visual-element .image-overlay .stat-item .stat-number {
display:block;
font-size:2rem;
font-weight:800;
color:var(--contrast-color)
}

.call-to-action .visual-element .image-overlay .stat-item .stat-label {
font-size:.9rem;
color:color-mix(in srgb,var(--contrast-color),transparent 20%);
text-transform:uppercase;
letter-spacing:.5px
}

.call-to-action .visual-element:hover .hero-image {
transform:scale(1.05)
}

.call-to-action .newsletter-section {
margin-bottom:5rem
}

.call-to-action .newsletter-section .newsletter-card {
background:var(--surface-color);
border-radius:25px;
padding:2.5rem;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
border:1px solid color-mix(in srgb,var(--accent-color),transparent 90%)
}

.call-to-action .newsletter-section .newsletter-content {
display:flex;
align-items:center;
gap:2rem;
margin-bottom:2rem
}

@media (max-width: 768px) {
.call-to-action .newsletter-section .newsletter-content {
flex-direction:column;
text-align:center;
gap:1rem
}
}

.call-to-action .newsletter-section .newsletter-content .newsletter-icon {
width:80px;
height:80px;
background:linear-gradient(135deg,var(--accent-color),color-mix(in srgb,var(--accent-color),black 20%));
border-radius:20px;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0
}

.call-to-action .newsletter-section .newsletter-content .newsletter-icon i {
font-size:2rem;
color:var(--contrast-color)
}

.call-to-action .newsletter-section .newsletter-content .newsletter-text h3 {
font-size:1.8rem;
font-weight:700;
margin-bottom:.5rem;
color:var(--heading-color)
}

.call-to-action .newsletter-section .newsletter-content .newsletter-text p {
color:color-mix(in srgb,var(--default-color),transparent 30%);
margin:0;
font-size:1.1rem
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper {
display:flex;
max-width:500px;
margin:0 auto;
position:relative
}

@media (max-width: 576px) {
.call-to-action .newsletter-section .newsletter-form .form-wrapper {
flex-direction:column
}
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper .email-input {
flex:1;
padding:18px 25px;
border:2px solid color-mix(in srgb,var(--default-color),transparent 85%);
border-radius:60px 0 0 60px;
font-size:1rem;
background:var(--surface-color);
transition:all .3s ease
}

@media (max-width: 576px) {
.call-to-action .newsletter-section .newsletter-form .form-wrapper .email-input {
border-radius:60px;
margin-bottom:1rem
}
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper .email-input:focus {
outline:none;
border-color:var(--accent-color);
box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color),transparent 90%)
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper .email-input::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 60%)
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper .subscribe-btn {
padding:18px 25px;
background:var(--accent-color);
border:2px solid var(--accent-color);
border-radius:0 60px 60px 0;
color:var(--contrast-color);
cursor:pointer;
transition:all .3s ease
}

@media (max-width: 576px) {
.call-to-action .newsletter-section .newsletter-form .form-wrapper .subscribe-btn {
border-radius:60px;
width:100%
}
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper .subscribe-btn:hover {
background:color-mix(in srgb,var(--accent-color),black 15%);
transform:translateX(2px)
}

.call-to-action .newsletter-section .newsletter-form .form-wrapper .subscribe-btn i {
font-size:1.2rem
}

.call-to-action .newsletter-section .newsletter-form .trust-indicators {
display:flex;
align-items:center;
justify-content:center;
gap:.5rem;
margin-top:1rem;
font-size:.9rem;
color:color-mix(in srgb,var(--default-color),transparent 50%)
}

.call-to-action .newsletter-section .newsletter-form .trust-indicators i {
color:var(--accent-color)
}

.call-to-action .benefits-showcase .benefits-header {
text-align:center;
margin-bottom:3rem
}

.call-to-action .benefits-showcase .benefits-header h3 {
font-size:2.2rem;
font-weight:700;
margin-bottom:1rem;
color:var(--heading-color)
}

.call-to-action .benefits-showcase .benefits-header p {
font-size:1.1rem;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.call-to-action .benefits-showcase .benefits-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:2rem
}

.call-to-action .benefits-showcase .benefit-card {
background:var(--surface-color);
padding:2.5rem;
border-radius:20px;
text-align:center;
position:relative;
overflow:hidden;
transition:all .4s cubic-bezier(0.4,0,0.2,1);
border:1px solid color-mix(in srgb,var(--accent-color),transparent 95%)
}

.call-to-action .benefits-showcase .benefit-card:hover {
transform:translateY(-10px);
box-shadow:0 25px 60px rgba(0,0,0,0.12);
border-color:color-mix(in srgb,var(--accent-color),transparent 80%)
}

.call-to-action .benefits-showcase .benefit-card .benefit-visual {
position:relative;
margin-bottom:2rem
}

.call-to-action .benefits-showcase .benefit-card .benefit-visual .benefit-icon-wrap {
width:100px;
height:100px;
background:linear-gradient(135deg,var(--accent-color),color-mix(in srgb,var(--accent-color),black 20%));
border-radius:25px;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto;
position:relative;
z-index:2
}

.call-to-action .benefits-showcase .benefit-card .benefit-visual .benefit-icon-wrap i {
font-size:2.5rem;
color:var(--contrast-color)
}

.call-to-action .benefits-showcase .benefit-card .benefit-visual .benefit-pattern {
position:absolute;
top:50%;
left:50%;
width:150px;
height:150px;
background:radial-gradient(circle,color-mix(in srgb,var(--accent-color),transparent 90%) 0%,transparent 70%);
border-radius:50%;
transform:translate(-50%,-50%);
z-index:1
}

.call-to-action .benefits-showcase .benefit-card .benefit-content h4 {
font-size:1.4rem;
font-weight:700;
margin-bottom:1rem;
color:var(--heading-color)
}

.call-to-action .benefits-showcase .benefit-card .benefit-content p {
color:color-mix(in srgb,var(--default-color),transparent 25%);
line-height:1.6;
margin:0
}

.call-to-action input[type=email] {
color:var(--default-color);
background-color:var(--surface-color);
font-size:14px;
border-color:color-mix(in srgb,var(--default-color),transparent 80%)
}

.call-to-action input[type=email]:focus {
border-color:var(--accent-color)
}

.call-to-action input[type=email]::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 70%)
}

@keyframes shimmer {
0% {
left:-100%
}

100% {
left:100%
}
}

.travel-about .intro-content h2 {
font-size:3rem;
font-weight:800;
color:var(--heading-color);
margin-bottom:1.5rem;
line-height:1.1
}

@media (max-width: 768px) {
.travel-about .intro-content h2 {
font-size:2.2rem
}
}

.travel-about .intro-content .lead {
font-size:1.3rem;
color:color-mix(in srgb,var(--default-color),transparent 20%);
line-height:1.6;
font-weight:400
}

.travel-about .hero-image {
position:relative;
border-radius:20px;
overflow:hidden
}

.travel-about .hero-image img {
transition:transform .5s ease
}

.travel-about .hero-image img:hover {
transform:scale(1.05)
}

.travel-about .hero-image .floating-stats {
position:absolute;
bottom:-20px;
right:30px;
display:flex;
gap:1rem
}

@media (max-width: 768px) {
.travel-about .hero-image .floating-stats {
bottom:-10px;
right:20px;
gap:.5rem
}
}

.travel-about .hero-image .floating-stats .stat-item {
background:rgba(255,255,255,0.15);
backdrop-filter:blur(10px);
padding:1.5rem 1rem;
border-radius:15px;
text-align:center;
box-shadow:0 10px 30px color-mix(in srgb,var(--default-color),transparent 85%);
min-width:80px
}

@media (max-width: 768px) {
.travel-about .hero-image .floating-stats .stat-item {
padding:1rem .8rem;
min-width:70px
}
}

.travel-about .hero-image .floating-stats .stat-item .number {
display:block;
font-size:1.8rem;
font-weight:700;
color:#FFF;
line-height:1
}

@media (max-width: 768px) {
.travel-about .hero-image .floating-stats .stat-item .number {
font-size:1.4rem
}
}

.travel-about .hero-image .floating-stats .stat-item .label {
display:block;
font-size:.8rem;
color:var(--accent-color);
font-weight:500;
margin-top:.3rem
}

.travel-about .story-content .story-badge {
display:inline-flex;
align-items:center;
gap:.5rem;
background:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
padding:.5rem 1rem;
border-radius:25px;
font-weight:600;
font-size:.9rem;
margin-bottom:1.5rem
}

.travel-about .story-content .story-badge i {
font-size:1.1rem
}

.travel-about .story-content h3 {
font-size:2.5rem;
color:var(--heading-color);
font-weight:700;
margin-bottom:1.5rem;
line-height:1.2
}

@media (max-width: 768px) {
.travel-about .story-content h3 {
font-size:2rem
}
}

.travel-about .story-content p {
font-size:1.1rem;
line-height:1.7;
color:color-mix(in srgb,var(--default-color),transparent 15%);
margin-bottom:1.5rem
}

.travel-about .story-content .mission-box {
display:flex;
align-items:flex-start;
gap:1rem;
background:var(--surface-color);
padding:2rem;
border-radius:15px;
margin-top:2rem;
border-left:5px solid var(--accent-color);
box-shadow:0 5px 20px color-mix(in srgb,var(--default-color),transparent 92%)
}

.travel-about .story-content .mission-box .mission-icon {
width:60px;
height:60px;
background:var(--accent-color);
color:var(--contrast-color);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:1.5rem;
flex-shrink:0
}

.travel-about .story-content .mission-box .mission-text h4 {
color:var(--heading-color);
font-weight:600;
margin-bottom:.5rem;
font-size:1.2rem
}

.travel-about .story-content .mission-box .mission-text p {
margin:0;
font-style:italic;
font-size:1rem;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.travel-about .features-grid .section-header h3 {
font-size:2.5rem;
color:var(--heading-color);
font-weight:700;
margin-bottom:1rem
}

@media (max-width: 768px) {
.travel-about .features-grid .section-header h3 {
font-size:2rem
}
}

.travel-about .features-grid .section-header p {
font-size:1.2rem;
color:color-mix(in srgb,var(--default-color),transparent 30%);
margin:0
}

.travel-about .features-grid .feature-card {
height:280px;
position:relative;
perspective:1000px;
cursor:pointer
}

.travel-about .features-grid .feature-card .feature-front,.travel-about .features-grid .feature-card .feature-back {
position:absolute;
width:100%;
height:100%;
backface-visibility:hidden;
transition:transform .6s ease;
border-radius:20px;
padding:2rem;
display:flex;
flex-direction:column;
justify-content:center;
text-align:center
}

.travel-about .features-grid .feature-card .feature-front {
background:var(--surface-color);
box-shadow:0 10px 30px color-mix(in srgb,var(--default-color),transparent 88%)
}

.travel-about .features-grid .feature-card .feature-front .feature-icon {
width:80px;
height:80px;
background:color-mix(in srgb,var(--accent-color),transparent 85%);
color:var(--accent-color);
border-radius:20px;
display:flex;
align-items:center;
justify-content:center;
font-size:2.2rem;
margin:0 auto 1.5rem;
transition:all .3s ease
}

.travel-about .features-grid .feature-card .feature-front h4 {
font-size:1.4rem;
color:var(--heading-color);
font-weight:600;
margin-bottom:1rem
}

.travel-about .features-grid .feature-card .feature-front p {
color:color-mix(in srgb,var(--default-color),transparent 25%);
font-size:1rem;
margin:0;
line-height:1.5
}

.travel-about .features-grid .feature-card .feature-back {
background:var(--accent-color);
transform:rotateY(180deg)
}

.travel-about .features-grid .feature-card .feature-back p {
color:var(--contrast-color);
font-size:1.1rem;
line-height:1.6;
margin:0
}

.travel-about .features-grid .feature-card:hover .feature-front {
transform:rotateY(180deg)
}

.travel-about .features-grid .feature-card:hover .feature-back {
transform:rotateY(0deg)
}

.travel-about .journey-timeline .timeline-header h3 {
font-size:2.5rem;
color:var(--heading-color);
font-weight:700;
margin-bottom:1rem
}

@media (max-width: 768px) {
.travel-about .journey-timeline .timeline-header h3 {
font-size:2rem
}
}

.travel-about .journey-timeline .timeline-header p {
font-size:1.2rem;
color:color-mix(in srgb,var(--default-color),transparent 30%);
margin:0
}

.travel-about .journey-timeline .timeline-container {
position:relative;
max-width:900px;
margin:0 auto;
padding:2rem 0
}

.travel-about .journey-timeline .timeline-container .timeline-milestone {
position:relative;
margin-bottom:4rem
}

@media (max-width: 768px) {
.travel-about .journey-timeline .timeline-container .timeline-milestone {
margin-bottom:3rem
}
}

.travel-about .journey-timeline .timeline-container .timeline-milestone .milestone-marker {
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
background:var(--accent-color);
color:var(--contrast-color);
width:100px;
height:100px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
font-size:1.1rem;
box-shadow:0 5px 20px color-mix(in srgb,var(--accent-color),transparent 60%);
z-index:2
}

@media (max-width: 768px) {
.travel-about .journey-timeline .timeline-container .timeline-milestone .milestone-marker {
position:relative;
left:auto;
top:auto;
transform:none;
margin:0 auto 1rem;
width:80px;
height:80px
}
}

.travel-about .journey-timeline .timeline-container .timeline-milestone .milestone-content {
background:var(--surface-color);
padding:2rem;
border-radius:15px;
box-shadow:0 10px 30px color-mix(in srgb,var(--default-color),transparent 85%)
}

@media (min-width: 769px) {
.travel-about .journey-timeline .timeline-container .timeline-milestone .milestone-content {
width:40%;
margin-top:-50px
}
}

.travel-about .journey-timeline .timeline-container .timeline-milestone .milestone-content h4 {
color:var(--heading-color);
font-weight:600;
margin-bottom:1rem;
font-size:1.3rem
}

.travel-about .journey-timeline .timeline-container .timeline-milestone .milestone-content p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
line-height:1.6;
margin:0
}

@media (min-width: 769px) {
.travel-about .journey-timeline .timeline-container .timeline-milestone:nth-child(odd) .milestone-content {
margin-left:0
}

.travel-about .journey-timeline .timeline-container .timeline-milestone:nth-child(even) .milestone-content {
margin-left:60%
}
}

.travel-about .cta-banner {
background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color),transparent 10%),color-mix(in srgb,var(--heading-color),transparent 10%)),url(assets/img/travel/showcase-12.webp) center/cover;
border-radius:25px;
min-height:400px;
position:relative;
overflow:hidden
}

.travel-about .cta-banner .cta-overlay {
background:color-mix(in srgb,var(--accent-color),transparent 20%);
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
display:flex;
align-items:center;
justify-content:center;
padding:3rem
}

@media (max-width: 768px) {
.travel-about .cta-banner .cta-overlay {
padding:2rem
}
}

.travel-about .cta-banner .cta-content {
text-align:center;
color:var(--contrast-color)
}

.travel-about .cta-banner .cta-content h3 {
font-size:2.5rem;
font-weight:700;
margin-bottom:1rem;
color:var(--contrast-color)
}

@media (max-width: 768px) {
.travel-about .cta-banner .cta-content h3 {
font-size:2rem
}
}

.travel-about .cta-banner .cta-content p {
font-size:1.2rem;
margin-bottom:2rem;
opacity:.9
}

.travel-about .cta-banner .cta-content .cta-buttons {
display:flex;
gap:1rem;
justify-content:center;
flex-wrap:wrap
}

.travel-about .cta-banner .cta-content .cta-buttons .btn {
padding:1rem 2rem;
font-weight:600;
border-radius:50px;
font-size:1.1rem;
transition:all .3s ease;
text-decoration:none;
border:2px solid transparent
}

.travel-about .cta-banner .cta-content .cta-buttons .btn.btn-primary {
background:var(--contrast-color);
color:var(--accent-color)
}

.travel-about .cta-banner .cta-content .cta-buttons .btn.btn-primary:hover {
transform:translateY(-2px);
box-shadow:0 8px 25px color-mix(in srgb,var(--contrast-color),transparent 60%)
}

.travel-about .cta-banner .cta-content .cta-buttons .btn.btn-outline {
background:transparent;
color:var(--contrast-color);
border-color:var(--contrast-color)
}

.travel-about .cta-banner .cta-content .cta-buttons .btn.btn-outline:hover {
background:var(--contrast-color);
color:var(--accent-color);
transform:translateY(-2px)
}

.travel-destinations .destination-filters {
list-style:none;
padding:0;
margin:0 0 40px;
text-align:center;
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px
}

.travel-destinations .destination-filters li {
background:transparent;
border:2px solid color-mix(in srgb,var(--default-color),transparent 85%);
color:var(--default-color);
padding:10px 24px;
border-radius:25px;
font-size:14px;
font-weight:500;
cursor:pointer;
transition:all .3s ease
}

@media (max-width: 768px) {
.travel-destinations .destination-filters li {
padding:8px 18px;
font-size:13px
}
}

.travel-destinations .destination-filters li:hover,.travel-destinations .destination-filters li.filter-active {
background-color:var(--accent-color);
border-color:var(--accent-color);
color:var(--contrast-color)
}

.travel-destinations .isotope-container .destination-item {
margin-bottom:30px
}

@media (max-width: 992px) {
.travel-destinations .isotope-container .destination-item {
margin-bottom:25px
}
}

@media (max-width: 576px) {
.travel-destinations .isotope-container .destination-item {
margin-bottom:20px
}
}

.travel-destinations .isotope-container .destination-tile {
display:block;
border-radius:16px;
overflow:hidden;
box-shadow:0 6px 20px color-mix(in srgb,var(--default-color),transparent 90%);
transition:all .4s ease;
cursor:pointer
}

.travel-destinations .isotope-container .destination-tile:hover {
transform:scale(1.02);
box-shadow:0 12px 35px color-mix(in srgb,var(--default-color),transparent 80%)
}

.travel-destinations .isotope-container .destination-tile .tile-image {
position:relative;
height:320px;
overflow:hidden
}

.travel-destinations .isotope-container .destination-tile .tile-image img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s ease
}

.travel-destinations .isotope-container .destination-tile .tile-image:hover img {
transform:scale(1.1)
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,#000,transparent 80%) 50%,color-mix(in srgb,#000,transparent 20%) 100%);
display:flex;
flex-direction:column;
justify-content:space-between;
padding:20px
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag {
align-self:flex-end;
padding:6px 14px;
border-radius:20px;
font-size:12px;
font-weight:600;
text-transform:uppercase;
letter-spacing:.5px
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.luxury {
background-color:#19c730;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Cultural {
background-color:#d4af37;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Luxury {
background-color:#ffd700;
color:#333
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Cruise {
background-color:#4ecdc4;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info {
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info h4 {
color:white;
margin-bottom:8px;
font:700 24px var(--heading-font)
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info p {
font-size:15px;
line-height:1.5;
margin-bottom:16px;
opacity:.9
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info .destination-stats {
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:10px
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info .destination-stats .tours-available {
font-size:13px;
opacity:.8
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info .destination-stats .tours-available i {
margin-right:4px
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-info .destination-stats .starting-price {
font-size:18px;
font-weight:700;
color:var(--accent-color)
}

.travel-destinations .planning-assistance {
background:color-mix(in srgb,var(--accent-color),transparent 95%);
border-radius:20px;
padding:50px 40px;
position:relative;
overflow:hidden
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Heritage,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Pilgrimage,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.cultural {
background-color:#8b5cf6;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Cityscapes,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.modern {
background-color:#3b82f6;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Seaside,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.family {
background-color:#06b6d4;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Tropical,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Nature,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.nature {
background-color:#10b981;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Alpine,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.adventure {
background-color:#f59e0b;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Adventure,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.popular {
background-color:#ef4444;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Desert,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.trekking {
background-color:#92400e;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Wellness,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.romantic {
background-color:#ec4899;
color:white
}

.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.Culinary,.travel-destinations .isotope-container .destination-tile .tile-image .overlay-content .destination-tag.ancient {
background-color:#7c2d12;
color:white
}

@media (max-width: 768px) {
.travel-destinations .planning-assistance {
padding:40px 25px
}
}

.travel-destinations .planning-assistance::before {
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%23000" opacity="0.03"/><circle cx="75" cy="75" r="1" fill="%23000" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
pointer-events:none
}

.travel-destinations .planning-assistance .assistance-content {
position:relative;
z-index:1
}

.travel-destinations .planning-assistance .assistance-content h3 {
color:var(--heading-color);
margin-bottom:16px;
font:700 32px var(--heading-font)
}

@media (max-width: 768px) {
.travel-destinations .planning-assistance .assistance-content h3 {
font-size:26px
}
}

.travel-destinations .planning-assistance .assistance-content p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
font-size:17px;
line-height:1.6;
margin-bottom:32px;
max-width:700px;
margin-left:auto;
margin-right:auto
}

.travel-destinations .planning-assistance .assistance-content .assistance-actions {
display:flex;
gap:16px;
justify-content:center;
flex-wrap:wrap
}

.travel-destinations .planning-assistance .assistance-content .assistance-actions .btn {
padding:14px 30px;
border-radius:50px;
font-weight:600;
font-size:15px;
text-decoration:none;
transition:all .3s ease
}

@media (max-width: 768px) {
.travel-destinations .planning-assistance .assistance-content .assistance-actions .btn {
padding:12px 24px;
font-size:14px
}
}

.travel-destinations .planning-assistance .assistance-content .assistance-actions .btn.btn-primary {
background-color:var(--accent-color);
border:2px solid var(--accent-color);
color:var(--contrast-color)
}

.travel-destinations .planning-assistance .assistance-content .assistance-actions .btn.btn-primary:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 15%);
border-color:color-mix(in srgb,var(--accent-color),transparent 15%);
transform:translateY(-2px);
box-shadow:0 6px 20px color-mix(in srgb,var(--accent-color),transparent 60%)
}

.travel-destinations .planning-assistance .assistance-content .assistance-actions .btn.btn-outline {
background-color:transparent;
border:2px solid var(--accent-color);
color:var(--accent-color)
}

.travel-destinations .planning-assistance .assistance-content .assistance-actions .btn.btn-outline:hover {
background-color:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-2px)
}

.travel-destination-details .destination-hero {
margin-bottom:80px
}

.travel-destination-details .destination-hero .hero-image {
position:relative;
height:500px;
border-radius:20px;
overflow:hidden
}

@media (max-width: 768px) {
.travel-destination-details .destination-hero .hero-image {
height:350px;
border-radius:15px
}
}

.travel-destination-details .destination-hero .hero-image img {
width:100%;
height:100%;
object-fit:cover
}

.travel-destination-details .destination-hero .hero-image .hero-overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(45deg,rgba(0,0,0,0.7),rgba(0,0,0,0.3));
display:flex;
align-items:center;
justify-content:center
}

.travel-destination-details .destination-hero .hero-image .hero-content {
text-align:center;
color:var(--contrast-color)
}

.travel-destination-details .destination-hero .hero-image .hero-content h1 {
font-size:3.5rem;
font-weight:700;
margin-bottom:15px;
color:var(--contrast-color)
}

@media (max-width: 768px) {
.travel-destination-details .destination-hero .hero-image .hero-content h1 {
font-size:2.5rem
}
}

.travel-destination-details .destination-hero .hero-image .hero-content .hero-tagline {
font-size:1.2rem;
font-weight:300;
opacity:.9
}

.travel-destination-details .destination-overview {
margin-bottom:80px;
text-align:center
}

.travel-destination-details .destination-overview h2 {
font-size:2.5rem;
font-weight:600;
margin-bottom:30px
}

.travel-destination-details .destination-overview p {
font-size:1.1rem;
line-height:1.8;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.travel-destination-details .attractions-section .attraction-item .attraction-image {
height:200px;
overflow:hidden
}

.travel-destination-details .tours-section .tour-card .tour-image {
position:relative;
height:220px;
overflow:hidden
}

.travel-destination-details .tours-section .tour-card .tour-image .tour-price {
position:absolute;
top:15px;
right:15px;
background:var(--accent-color);
color:var(--contrast-color);
padding:8px 15px;
border-radius:20px;
font-weight:600;
font-size:1.1rem
}

.travel-destination-details .tours-section .tour-card .tour-content .tour-meta {
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:15px
}

.travel-destination-details .tours-section .tour-card .tour-content .tour-meta span {
display:flex;
align-items:center;
gap:5px;
font-size:.9rem;
color:color-mix(in srgb,var(--default-color),transparent 40%)
}

.travel-destination-details .tours-section .tour-card .tour-content .tour-meta span i {
color:var(--accent-color)
}

.travel-destination-details .tours-section .tour-card .tour-content p {
color:color-mix(in srgb,var(--default-color),transparent 30%);
line-height:1.6;
font-size:.95rem;
margin-bottom:20px
}

.travel-destination-details .tours-section .tour-card .tour-content .btn-tour {
background:var(--accent-color);
color:var(--contrast-color);
padding:10px 25px;
border-radius:25px;
text-decoration:none;
font-weight:500;
transition:.3s;
display:inline-block
}

.travel-destination-details .tours-section .tour-card .tour-content .btn-tour:hover {
background:color-mix(in srgb,var(--accent-color),black 15%);
transform:translateY(-2px)
}

.travel-destination-details .map-section .map-container {
background:var(--surface-color);
border-radius:15px;
overflow:hidden;
box-shadow:0 5px 20px color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-destination-details .map-section .map-container .map-embed {
height:400px
}

.travel-destination-details .map-section .map-container .map-embed iframe {
width:100%;
height:100%;
border:none
}

.travel-destination-details .map-section .map-container .map-points {
padding:25px;
background:var(--surface-color);
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:15px
}

.travel-destination-details .map-section .map-container .map-points .point-item {
display:flex;
align-items:center;
gap:10px;
padding:10px;
border-radius:8px;
background:color-mix(in srgb,var(--accent-color),transparent 95%)
}

.travel-destination-details .map-section .map-container .map-points .point-item i {
color:var(--accent-color);
font-size:1.2rem
}

.travel-destination-details .map-section .map-container .map-points .point-item span {
font-weight:500;
font-size:.95rem
}

.travel-destination-details .practical-info .info-item {
text-align:center;
padding:30px 20px;
background:var(--surface-color);
border-radius:15px;
box-shadow:0 5px 20px color-mix(in srgb,var(--default-color),transparent 90%);
height:100%;
transition:.3s
}

.travel-destination-details .practical-info .info-item .info-icon {
width:70px;
height:70px;
background:color-mix(in srgb,var(--accent-color),transparent 90%);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 20px
}

.travel-destination-details .practical-info .info-item .info-icon i {
font-size:2rem;
color:var(--accent-color)
}

.travel-destination-details .practical-info .info-item h4 {
font-size:1.2rem;
font-weight:600;
margin-bottom:15px
}

.travel-destination-details .practical-info .travel-tips {
background:var(--surface-color);
padding:40px;
border-radius:15px;
margin-top:50px;
box-shadow:0 5px 20px color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-destination-details .practical-info .travel-tips h3 {
font-size:1.8rem;
font-weight:600;
margin-bottom:30px;
text-align:center
}

.travel-destination-details .practical-info .travel-tips .tips-list {
list-style:none;
padding:0
}

.travel-destination-details .practical-info .travel-tips .tips-list li {
display:flex;
align-items:flex-start;
gap:10px;
margin-bottom:15px;
font-size:.95rem;
line-height:1.6
}

.travel-destination-details .practical-info .travel-tips .tips-list li i {
color:var(--accent-color);
margin-top:3px;
font-size:1.1rem
}

.travel-destination-details .gallery-section .swiper-wrapper {
height:auto!important
}

.travel-destination-details .gallery-section .gallery-item {
height:300px;
border-radius:15px;
overflow:hidden;
margin:0 10px
}

.travel-destination-details .gallery-section .gallery-item img:hover {
transform:scale(1.05)
}

.travel-destination-details .gallery-section .swiper-pagination {
margin-top:30px
}

.travel-destination-details .gallery-section .swiper-pagination .swiper-pagination-bullet {
background:var(--accent-color);
opacity:.5;
width:12px;
height:12px
}

.travel-destination-details .gallery-section .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
opacity:1
}

.travel-destination-details .cta-section {
padding:60px 40px;
background:linear-gradient(135deg,var(--accent-color),color-mix(in srgb,var(--accent-color),black 20%));
border-radius:20px;
text-align:center
}

.travel-destination-details .cta-section h2 {
font-size:2.5rem;
font-weight:600;
margin-bottom:20px;
color:var(--contrast-color)
}

.travel-destination-details .attractions-section,.travel-destination-details .tours-section,.travel-destination-details .map-section,.travel-destination-details .practical-info,.travel-destination-details .gallery-section {
margin-bottom:80px
}

.travel-destination-details .attractions-section .section-header,.travel-destination-details .tours-section .section-header,.travel-destination-details .map-section .section-header,.travel-destination-details .practical-info .section-header,.travel-destination-details .gallery-section .section-header {
text-align:center;
margin-bottom:50px
}

.travel-destination-details .attractions-section .section-header h2,.travel-destination-details .tours-section .section-header h2,.travel-destination-details .map-section .section-header h2,.travel-destination-details .practical-info .section-header h2,.travel-destination-details .gallery-section .section-header h2 {
font-size:2.5rem;
font-weight:600;
margin-bottom:15px
}

.travel-destination-details .attractions-section .section-header p,.travel-destination-details .tours-section .section-header p,.travel-destination-details .map-section .section-header p,.travel-destination-details .practical-info .section-header p,.travel-destination-details .gallery-section .section-header p {
font-size:1.1rem;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-destination-details .attractions-section .attraction-item,.travel-destination-details .tours-section .tour-card {
background:var(--surface-color);
border-radius:15px;
overflow:hidden;
box-shadow:0 5px 20px color-mix(in srgb,var(--default-color),transparent 90%);
transition:.3s;
height:100%
}

.travel-destination-details .attractions-section .attraction-item:hover,.travel-destination-details .tours-section .tour-card:hover,.travel-destination-details .practical-info .info-item:hover {
transform:translateY(-5px);
box-shadow:0 10px 30px color-mix(in srgb,var(--default-color),transparent 85%)
}

.travel-destination-details .attractions-section .attraction-item .attraction-image img,.travel-destination-details .tours-section .tour-card .tour-image img,.travel-destination-details .gallery-section .gallery-item img {
width:100%;
height:100%;
object-fit:cover;
transition:.3s
}

.travel-destination-details .attractions-section .attraction-item .attraction-content,.travel-destination-details .tours-section .tour-card .tour-content {
padding:25px
}

.travel-destination-details .attractions-section .attraction-item .attraction-content h4,.travel-destination-details .tours-section .tour-card .tour-content h4 {
font-size:1.3rem;
font-weight:600;
margin-bottom:10px
}

.travel-destination-details .attractions-section .attraction-item .attraction-content p,.travel-destination-details .practical-info .info-item p {
color:color-mix(in srgb,var(--default-color),transparent 30%);
line-height:1.6;
font-size:.95rem
}

.travel-destination-details .attractions-section .attraction-item:hover .attraction-image img,.travel-destination-details .tours-section .tour-card:hover .tour-image img {
transform:scale(1.1)
}

.travel-destination-details .tours-section .tour-card .tour-content .tour-meta span.rating,.travel-destination-details .tours-section .tour-card .tour-content .tour-meta span.rating i {
color:#ffc107
}

@media (max-width: 768px) {
.travel-destination-details .cta-section h2 {
font-size:2rem
}
}

.travel-destination-details .cta-section p {
font-size:1.1rem;
margin-bottom:30px;
color:color-mix(in srgb,var(--contrast-color),transparent 20%)
}

.travel-destination-details .cta-section .cta-buttons {
display:flex;
gap:20px;
justify-content:center;
flex-wrap:wrap
}

.travel-destination-details .cta-section .cta-buttons .btn {
padding:12px 30px;
border-radius:25px;
font-weight:500;
text-decoration:none;
transition:.3s
}

.travel-destination-details .cta-section .cta-buttons .btn.btn-primary {
background:var(--contrast-color);
color:var(--accent-color);
border:2px solid var(--contrast-color)
}

.travel-destination-details .cta-section .cta-buttons .btn.btn-primary:hover {
background:transparent;
color:var(--contrast-color)
}

.travel-destination-details .cta-section .cta-buttons .btn.btn-outline {
background:transparent;
color:var(--contrast-color);
border:2px solid var(--contrast-color)
}

.travel-destination-details .cta-section .cta-buttons .btn.btn-outline:hover {
background:var(--contrast-color);
color:var(--accent-color)
}

.travel-tours .section-subtitle {
color:var(--heading-color);
font-size:2rem;
font-weight:600;
margin-bottom:1.5rem
}

.travel-tours .tour-filters {
background-color:var(--surface-color);
padding:2rem;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.1)
}

.travel-tours .tour-filters .form-select {
border:1px solid color-mix(in srgb,var(--default-color),transparent 80%);
color:var(--default-color);
background-color:var(--background-color);
border-radius:8px;
padding:.75rem
}

.travel-tours .tour-filters .form-select:focus {
border-color:var(--accent-color);
box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent-color),transparent 80%)
}

.travel-tours .featured-tours-slider {
padding-bottom:40px
}

.travel-tours .featured-tours-slider .swiper-wrapper {
height:auto!important
}

.travel-tours .featured-tours-slider .swiper-pagination {
bottom:0
}

.travel-tours .featured-tours-slider .swiper-pagination .swiper-pagination-bullet {
background-color:color-mix(in srgb,var(--accent-color),transparent 50%)
}

.travel-tours .featured-tours-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
background-color:var(--accent-color)
}

.travel-tours .featured-tour-card {
background-color:var(--surface-color);
border-radius:15px;
overflow:hidden;
transition:transform .3s ease;
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-tours .featured-tour-card .tour-image {
position:relative;
overflow:hidden
}

.travel-tours .featured-tour-card .tour-image img {
width:100%;
height:250px;
object-fit:cover;
transition:transform .3s ease
}

.travel-tours .featured-tour-card .tour-image .tour-badge {
position:absolute;
top:1rem;
right:1rem;
background-color:var(--accent-color);
color:var(--contrast-color);
padding:.5rem 1rem;
border-radius:25px;
font-size:.875rem;
font-weight:600
}

.travel-tours .featured-tour-card .tour-image:hover img {
transform:scale(1.05)
}

.travel-tours .featured-tour-card .tour-content {
padding:1.5rem
}

.travel-tours .featured-tour-card .tour-content h4 {
color:var(--heading-color);
margin-bottom:.75rem;
font-size:1.25rem
}

.travel-tours .featured-tour-card .tour-content p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
margin-bottom:1rem;
line-height:1.6
}

.travel-tours .featured-tour-card .tour-content .tour-meta {
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:1rem
}

.travel-tours .featured-tour-card .tour-content .tour-meta .duration {
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-size:.875rem
}

.travel-tours .featured-tour-card .tour-content .tour-meta .duration i {
color:var(--accent-color);
margin-right:.5rem
}

.travel-tours .featured-tour-card .tour-content .tour-meta .price {
color:var(--accent-color);
font-size:1.25rem;
font-weight:700
}

.travel-tours .featured-tour-card .tour-content .btn {
width:100%
}

.travel-tours .category-card {
text-align:center;
padding:1.5rem;
background-color:var(--surface-color);
border-radius:10px;
transition:all .3s ease;
cursor:pointer
}

.travel-tours .category-card:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
transform:translateY(-3px)
}

.travel-tours .category-card .category-icon {
margin-bottom:1rem
}

.travel-tours .category-card .category-icon i {
font-size:2.5rem;
color:var(--accent-color)
}

.travel-tours .category-card h5 {
color:var(--heading-color);
margin:0;
font-size:1rem;
font-weight:600
}

.travel-tours .special-offers .offer-banner {
display:flex;
background:linear-gradient(135deg,var(--accent-color),color-mix(in srgb,var(--accent-color),#000 20%));
border-radius:15px;
overflow:hidden;
min-height:200px;
position:relative
}

@media (max-width: 768px) {
.travel-tours .special-offers .offer-banner {
flex-direction:column
}
}

.travel-tours .special-offers .offer-banner .offer-content {
flex:1;
padding:2rem;
color:var(--contrast-color);
display:flex;
flex-direction:column;
justify-content:center
}

.travel-tours .special-offers .offer-banner .offer-content .discount-badge {
display:inline-block;
background-color:rgba(255,255,255,0.2);
padding:.5rem 1rem;
border-radius:25px;
font-weight:700;
margin-bottom:1rem;
align-self:flex-start
}

.travel-tours .special-offers .offer-banner .offer-content h4 {
color:var(--contrast-color);
margin-bottom:.75rem;
font-size:1.5rem
}

.travel-tours .special-offers .offer-banner .offer-content p {
margin-bottom:1rem;
opacity:.9
}

.travel-tours .special-offers .offer-banner .offer-content .urgency {
color:#ffeb3b;
font-weight:600;
margin-bottom:1rem;
display:block
}

.travel-tours .special-offers .offer-banner .offer-content .btn-accent {
background-color:var(--contrast-color);
color:var(--accent-color);
border:none;
padding:.75rem 1.5rem;
border-radius:8px;
font-weight:600;
align-self:flex-start
}

.travel-tours .special-offers .offer-banner .offer-content .btn-accent:hover {
background-color:color-mix(in srgb,var(--contrast-color),transparent 10%);
transform:translateY(-2px)
}

.travel-tours .special-offers .offer-banner .offer-image {
flex:0 0 200px
}

@media (max-width: 768px) {
.travel-tours .special-offers .offer-banner .offer-image {
flex:none;
height:150px
}
}

.travel-tours .special-offers .offer-banner .offer-image img {
width:100%;
height:100%;
object-fit:cover
}

.travel-tours .tour-card {
background-color:var(--surface-color);
border-radius:15px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
transition:all .3s ease;
height:100%;
display:flex;
flex-direction:column
}

.travel-tours .tour-card:hover {
transform:translateY(-5px);
box-shadow:0 10px 30px rgba(0,0,0,0.15)
}

.travel-tours .tour-card .tour-image {
position:relative;
overflow:hidden
}

.travel-tours .tour-card .tour-image img {
width:100%;
height:250px;
object-fit:cover;
transition:transform .3s ease
}

.travel-tours .tour-card .tour-image .tour-price {
position:absolute;
bottom:1rem;
right:1rem;
background-color:var(--accent-color);
color:var(--contrast-color);
padding:.5rem 1rem;
border-radius:8px;
font-weight:700;
font-size:1.125rem
}

.travel-tours .tour-card .tour-image:hover img {
transform:scale(1.05)
}

.travel-tours .tour-card .tour-content {
padding:1.5rem;
flex:1;
display:flex;
flex-direction:column
}

.travel-tours .tour-card .tour-content h4 {
color:var(--heading-color);
margin-bottom:.75rem;
font-size:1.25rem
}

.travel-tours .tour-card .tour-content p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
margin-bottom:1rem;
line-height:1.6;
flex:1
}

.travel-tours .tour-card .tour-content .tour-details {
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:1rem;
font-size:.875rem;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-tours .tour-card .tour-content .tour-details span {
display:flex;
align-items:center
}

.travel-tours .tour-card .tour-content .tour-details span i {
color:var(--accent-color);
margin-right:.5rem
}

.travel-tours .tour-card .tour-content .btn {
align-self:flex-start
}

.travel-tours .cta-section {
background-color:var(--surface-color);
padding:3rem 2rem;
border-radius:15px;
margin-top:2rem
}

.travel-tours .cta-section h3 {
color:var(--heading-color);
margin-bottom:1rem;
font-size:2rem
}

.travel-tours .cta-section p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
margin-bottom:2rem;
font-size:1.125rem;
max-width:600px;
margin-left:auto;
margin-right:auto
}

@media (max-width: 576px) {
.travel-tours .cta-section .cta-buttons .btn {
display:block;
margin-bottom:1rem;
width:100%
}

.travel-tours .cta-section .cta-buttons .btn:last-child {
margin-bottom:0
}
}

.travel-tours .btn-primary {
background-color:var(--accent-color);
border-color:var(--accent-color);
color:var(--contrast-color);
padding:.75rem 1.5rem;
border-radius:8px;
font-weight:600;
transition:all .3s ease
}

.travel-tours .btn-primary:hover {
background-color:color-mix(in srgb,var(--accent-color),#000 10%);
border-color:color-mix(in srgb,var(--accent-color),#000 10%);
transform:translateY(-2px)
}

.travel-tours .btn-outline-primary {
color:var(--accent-color);
border-color:var(--accent-color);
padding:.75rem 1.5rem;
border-radius:8px;
font-weight:600;
transition:all .3s ease
}

.travel-tours .btn-outline-primary:hover {
background-color:var(--accent-color);
border-color:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-2px)
}

.travel-tour-details .tour-hero {
margin-bottom:60px
}

.travel-tour-details .tour-hero .hero-image-wrapper {
position:relative;
border-radius:15px;
overflow:hidden
}

.travel-tour-details .tour-hero .hero-image-wrapper img {
height:500px;
object-fit:cover
}

@media (max-width: 768px) {
.travel-tour-details .tour-hero .hero-image-wrapper img {
height:450px
}
}

.travel-tour-details .tour-hero .hero-overlay {
position:absolute;
bottom:0;
left:0;
right:0;
background:linear-gradient(transparent,rgba(0,0,0,0.8));
color:var(--contrast-color);
padding:60px 40px 40px
}

@media (max-width: 768px) {
.travel-tour-details .tour-hero .hero-overlay {
padding:40px 20px 20px
}
}

.travel-tour-details .tour-hero .hero-content h1 {
font-size:3rem;
font-weight:700;
margin-bottom:15px;
color:var(--contrast-color)
}

@media (max-width: 768px) {
.travel-tour-details .tour-hero .hero-content h1 {
font-size:2rem
}
}

.travel-tour-details .tour-hero .hero-content .hero-meta {
display:flex;
gap:30px;
margin-bottom:20px;
flex-wrap:wrap
}

@media (max-width: 768px) {
.travel-tour-details .tour-hero .hero-content .hero-meta {
gap:15px
}
}

.travel-tour-details .tour-hero .hero-content .hero-meta span {
display:flex;
align-items:center;
gap:8px;
font-size:.95rem
}

.travel-tour-details .tour-hero .hero-content .hero-meta span i {
font-size:1.1rem;
color:var(--accent-color)
}

.travel-tour-details .tour-hero .hero-content .hero-tagline {
font-size:1.2rem;
margin-bottom:25px;
opacity:.9
}

@media (max-width: 768px) {
.travel-tour-details .tour-hero .hero-content .hero-tagline {
font-size:1rem
}
}

.travel-tour-details .tour-hero .hero-content .btn-book {
background:var(--accent-color);
color:var(--contrast-color);
padding:12px 30px;
border-radius:25px;
text-decoration:none;
font-weight:600;
transition:all .3s ease
}

.travel-tour-details .tour-hero .hero-content .btn-book:hover {
background:color-mix(in srgb,var(--accent-color),black 20%);
color:var(--contrast-color);
transform:translateY(-2px)
}

.travel-tour-details .tour-overview h2 {
font-size:2.2rem;
margin-bottom:25px;
color:var(--heading-color)
}

.travel-tour-details .tour-overview p {
font-size:1.1rem;
line-height:1.7;
margin-bottom:20px;
color:var(--default-color)
}

.travel-tour-details .tour-overview .tour-highlights {
background:var(--surface-color);
padding:30px;
border-radius:15px;
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-tour-details .tour-overview .tour-highlights h3 {
font-size:1.3rem;
margin-bottom:20px;
color:var(--heading-color)
}

.travel-tour-details .tour-overview .tour-highlights ul {
list-style:none;
padding:0;
margin:0
}

.travel-tour-details .tour-overview .tour-highlights ul li {
display:flex;
align-items:center;
gap:12px;
padding:8px 0;
color:var(--default-color)
}

.travel-tour-details .tour-overview .tour-highlights ul li i {
color:var(--accent-color);
font-size:1.1rem
}

.travel-tour-details .tour-itinerary h2 {
font-size:2.2rem;
margin-bottom:40px;
color:var(--heading-color);
text-align:center
}

.travel-tour-details .tour-itinerary .itinerary-timeline {
position:relative
}

.travel-tour-details .tour-itinerary .itinerary-timeline::before {
content:"";
position:absolute;
left:40px;
top:0;
bottom:0;
width:2px;
background:var(--accent-color)
}

.travel-tour-details .tour-itinerary .itinerary-timeline::after {
content:"End Tour";
position:absolute;
bottom:-25px;
left:10px;
color:var(--accent-color)
}

.travel-tour-details .tour-overview,.travel-tour-details .tour-itinerary {
margin-bottom:60px
}

@media (max-width: 768px) {
.travel-tour-details .tour-itinerary .itinerary-timeline::before {
left:28px
}

.travel-tour-details .tour-itinerary .itinerary-timeline::after {
left:5px
}
}

.travel-tour-details .tour-itinerary .itinerary-item {
position:relative;
padding-left:120px;
margin-bottom:40px
}

@media (max-width: 768px) {
.travel-tour-details .tour-itinerary .itinerary-item {
padding-left:80px
}
}

.travel-tour-details .tour-itinerary .itinerary-item .day-number {
position:absolute;
left:0;
top:0;
width:80px;
height:80px;
background:var(--accent-color);
color:var(--contrast-color);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
font-weight:700;
font-size:.9rem
}

@media (max-width: 768px) {
.travel-tour-details .tour-itinerary .itinerary-item .day-number {
width:60px;
height:60px;
font-size:.8rem
}
}

.travel-tour-details .tour-itinerary .itinerary-item .day-content {
background:var(--surface-color);
padding:25px;
border-radius:15px;
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-tour-details .tour-itinerary .itinerary-item .day-content h4 {
font-size:1.3rem;
margin-bottom:15px;
color:var(--heading-color)
}

.travel-tour-details .tour-itinerary .itinerary-item .day-content p {
color:var(--default-color);
line-height:1.6;
margin-bottom:15px
}

.travel-tour-details .tour-itinerary .itinerary-item .day-content .day-details {
display:flex;
gap:25px;
flex-wrap:wrap
}

.travel-tour-details .tour-itinerary .itinerary-item .day-content .day-details span {
display:flex;
align-items:center;
gap:8px;
font-size:.9rem;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-tour-details .tour-itinerary .itinerary-item .day-content .day-details span i {
color:var(--accent-color)
}

.travel-tour-details .tour-inclusions h3 {
font-size:1.4rem;
margin-bottom:25px;
display:flex;
align-items:center;
gap:12px
}

.travel-tour-details .tour-inclusions h3 i {
font-size:1.6rem
}

.travel-tour-details .tour-inclusions .inclusion-list {
list-style:none;
padding:0;
margin:0
}

.travel-tour-details .tour-inclusions .inclusion-list li {
display:flex;
align-items:flex-start;
gap:12px;
padding:10px 0;
color:var(--default-color);
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-tour-details .tour-inclusions .inclusion-list li:last-child {
border-bottom:none
}

.travel-tour-details .tour-inclusions .inclusion-list li i {
margin-top:2px;
flex-shrink:0
}

.travel-tour-details .tour-pricing h2 {
font-size:2.2rem;
margin-bottom:40px;
color:var(--heading-color);
text-align:center
}

.travel-tour-details .tour-pricing .pricing-table {
background:var(--surface-color);
border-radius:20px;
padding:40px;
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-tour-details .tour-inclusions,.travel-tour-details .tour-pricing {
margin-bottom:60px
}

.travel-tour-details .tour-inclusions .included-section h3,.travel-tour-details .tour-inclusions .included-section h3 i,.travel-tour-details .tour-inclusions .inclusion-list.included i {
color:#28a745
}

.travel-tour-details .tour-inclusions .excluded-section h3,.travel-tour-details .tour-inclusions .excluded-section h3 i,.travel-tour-details .tour-inclusions .inclusion-list.excluded i {
color:#dc3545
}

@media (max-width: 768px) {
.travel-tour-details .tour-pricing .pricing-table {
padding:25px
}
}

.travel-tour-details .tour-pricing .pricing-header {
text-align:center;
margin-bottom:40px
}

.travel-tour-details .tour-pricing .pricing-header .price-item h3 {
font-size:1.2rem;
color:var(--heading-color);
margin-bottom:10px
}

.travel-tour-details .tour-pricing .pricing-header .price-item .price-amount {
font-size:3rem;
font-weight:700;
color:var(--accent-color);
margin-bottom:5px
}

@media (max-width: 768px) {
.travel-tour-details .tour-pricing .pricing-header .price-item .price-amount {
font-size:2.5rem
}
}

.travel-tour-details .tour-pricing .pricing-header .price-item p {
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-tour-details .tour-pricing .pricing-details {
margin-bottom:40px
}

.travel-tour-details .tour-pricing .pricing-details .price-type {
text-align:center;
padding:20px;
border-radius:15px;
background:color-mix(in srgb,var(--accent-color),transparent 95%)
}

.travel-tour-details .tour-pricing .pricing-details .price-type h4 {
font-size:1.1rem;
margin-bottom:10px;
color:var(--heading-color)
}

.travel-tour-details .tour-pricing .pricing-details .price-type .price {
font-size:1.8rem;
font-weight:700;
color:var(--accent-color);
margin-bottom:5px
}

.travel-tour-details .tour-pricing .pricing-details .price-type p {
margin:0;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-tour-details .tour-pricing .available-dates h3 {
font-size:1.3rem;
margin-bottom:25px;
color:var(--heading-color);
text-align:center
}

.travel-tour-details .tour-pricing .available-dates .dates-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:20px
}

.travel-tour-details .tour-pricing .available-dates .date-option {
text-align:center;
padding:20px;
border:2px solid color-mix(in srgb,var(--accent-color),transparent 80%);
border-radius:15px;
transition:all .3s ease
}

.travel-tour-details .tour-pricing .available-dates .date-option:hover {
border-color:var(--accent-color);
transform:translateY(-2px)
}

.travel-tour-details .tour-pricing .available-dates .date-option .date {
font-weight:600;
color:var(--heading-color);
margin-bottom:8px
}

.travel-tour-details .tour-pricing .available-dates .date-option .availability {
font-size:.9rem;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-tour-details .booking-section {
margin-bottom:60px
}

.travel-tour-details .booking-section .booking-card {
background:var(--surface-color);
padding:40px;
border-radius:20px;
border:1px solid color-mix(in srgb,var(--default-color),transparent 90%);
max-width:800px;
margin:0 auto
}

@media (max-width: 768px) {
.travel-tour-details .booking-section .booking-card {
padding:25px
}
}

.travel-tour-details .booking-section .booking-card h2 {
font-size:2rem;
margin-bottom:30px;
color:var(--heading-color);
text-align:center
}

.travel-tour-details .booking-section .booking-card .form-group {
margin-bottom:25px
}

.travel-tour-details .booking-section .booking-card .form-group label {
display:block;
margin-bottom:8px;
font-weight:500;
color:var(--heading-color)
}

.travel-tour-details .booking-section .booking-card .form-group .form-control {
width:100%;
padding:12px 15px;
border:2px solid color-mix(in srgb,var(--default-color),transparent 85%);
border-radius:10px;
font-size:1rem;
transition:all .3s ease;
color:var(--default-color);
background-color:var(--surface-color)
}

.travel-tour-details .booking-section .booking-card .form-group .form-control:focus {
border-color:var(--accent-color);
outline:none
}

.travel-tour-details .booking-section .booking-card .form-group .form-control::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 70%)
}

.travel-tour-details .booking-section .booking-card .btn-submit {
width:100%;
background:var(--accent-color);
color:var(--contrast-color);
padding:15px;
border:none;
border-radius:10px;
font-size:1.1rem;
font-weight:600;
transition:all .3s ease;
cursor:pointer
}

.travel-tour-details .booking-section .booking-card .btn-submit:hover {
background:color-mix(in srgb,var(--accent-color),black 20%);
transform:translateY(-2px)
}

.travel-tour-details .tour-gallery {
margin-bottom:60px
}

.travel-tour-details .tour-gallery h2 {
font-size:2.2rem;
margin-bottom:40px;
color:var(--heading-color);
text-align:center
}

.travel-tour-details .tour-gallery .gallery-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:20px
}

.travel-tour-details .tour-gallery .gallery-grid .gallery-item {
border-radius:15px;
overflow:hidden;
transition:transform .3s ease
}

.travel-tour-details .tour-gallery .gallery-grid .gallery-item:hover {
transform:scale(1.03)
}

.travel-tour-details .tour-gallery .gallery-grid .gallery-item img {
width:100%;
height:250px;
object-fit:cover;
transition:all .3s ease
}

.travel-tour-details .tour-gallery .gallery-grid .gallery-item a:hover img {
filter:brightness(1.1)
}

.travel-tour-details .final-cta .cta-content {
background:linear-gradient(135deg,var(--accent-color),color-mix(in srgb,var(--accent-color),black 20%));
color:var(--contrast-color);
padding:60px 40px;
border-radius:20px;
text-align:center
}

@media (max-width: 768px) {
.travel-tour-details .final-cta .cta-content {
padding:40px 20px
}
}

.travel-tour-details .final-cta .cta-content h2 {
font-size:2.5rem;
margin-bottom:15px;
color:var(--contrast-color)
}

@media (max-width: 768px) {
.travel-tour-details .final-cta .cta-content h2 {
font-size:2rem
}
}

.travel-tour-details .final-cta .cta-content p {
font-size:1.2rem;
margin-bottom:30px;
opacity:.9
}

.travel-tour-details .final-cta .cta-content .cta-actions {
display:flex;
gap:20px;
justify-content:center;
align-items:center;
flex-wrap:wrap;
margin-bottom:25px
}

.travel-tour-details .final-cta .cta-content .cta-actions .btn-primary,.travel-tour-details .final-cta .cta-content .cta-actions .btn-secondary {
padding:15px 30px;
border-radius:50px;
text-decoration:none;
font-weight:600;
transition:all .3s ease
}

.travel-tour-details .final-cta .cta-content .cta-actions .btn-primary {
background:var(--contrast-color);
color:var(--accent-color)
}

.travel-tour-details .final-cta .cta-content .cta-actions .btn-primary:hover {
background:color-mix(in srgb,var(--contrast-color),black 10%);
color:var(--accent-color);
transform:translateY(-2px)
}

.travel-tour-details .final-cta .cta-content .cta-actions .btn-secondary {
background:transparent;
color:var(--contrast-color);
border:2px solid var(--contrast-color)
}

.travel-tour-details .final-cta .cta-content .cta-actions .btn-secondary:hover {
background:var(--contrast-color);
color:var(--accent-color);
transform:translateY(-2px)
}

.travel-tour-details .final-cta .cta-content .urgency-banner {
display:inline-flex;
align-items:center;
gap:10px;
background:color-mix(in srgb,var(--contrast-color),transparent 90%);
padding:10px 20px;
border-radius:25px;
font-size:.9rem
}

.travel-tour-details .final-cta .cta-content .urgency-banner i {
color:#ffc107
}

.travel-booking .booking-form-container {
background-color:var(--surface-color);
border-radius:15px;
box-shadow:0 5px 30px color-mix(in srgb,var(--default-color),transparent 90%);
padding:40px;
margin-bottom:30px
}

.travel-booking .booking-progress {
display:flex;
justify-content:space-between;
margin-bottom:40px;
position:relative;
border-bottom:0
}

.travel-booking .booking-progress::before {
content:"";
position:absolute;
top:20px;
left:0;
right:0;
height:2px;
background-color:color-mix(in srgb,var(--default-color),transparent 80%);
z-index:1
}

.travel-booking .booking-progress .step {
display:flex;
flex-direction:column;
align-items:center;
position:relative;
z-index:2;
background-color:var(--surface-color);
padding:0 15px;
cursor:pointer;
transition:.3s;
border:none
}

.travel-booking .booking-progress .step .step-number {
width:40px;
height:40px;
border-radius:50%;
background-color:color-mix(in srgb,var(--default-color),transparent 80%);
color:var(--contrast-color);
display:flex;
align-items:center;
justify-content:center;
font-weight:600;
margin-bottom:10px;
transition:.3s
}

.travel-booking .booking-progress .step .step-title {
font-size:14px;
font-weight:500;
color:color-mix(in srgb,var(--default-color),transparent 40%);
text-align:center;
transition:.3s
}

.travel-booking .booking-progress .step:hover .step-number {
background-color:color-mix(in srgb,var(--accent-color),transparent 20%)
}

.travel-booking .booking-progress .step.active .step-number {
background-color:var(--accent-color);
color:var(--contrast-color)
}

.travel-booking .booking-progress .step.completed .step-number {
background-color:#28a745;
color:var(--contrast-color)
}

.travel-booking .booking-progress .step.completed .step-number::before {
content:"✓";
font-size:16px
}

.travel-booking .booking-progress .step:hover .step-title,.travel-booking .booking-progress .step.active .step-title {
color:var(--accent-color)
}

@media (max-width: 768px) {
.travel-booking .booking-progress .step .step-title {
font-size:12px
}

.travel-booking .booking-progress .step .step-number {
width:30px;
height:30px;
font-size:14px
}
}

.travel-booking .booking-form .tab-content .form-step.tab-pane.show.active {
display:block
}

.travel-booking .booking-form .tab-content .form-step h4 {
color:var(--heading-color);
margin-bottom:30px;
padding-bottom:15px;
border-bottom:2px solid color-mix(in srgb,var(--accent-color),transparent 80%)
}

.travel-booking .booking-form .tab-content .form-step h5 {
color:var(--heading-color);
margin:30px 0 20px;
font-size:18px
}

.travel-booking .booking-form label {
font-weight:500;
color:var(--default-color);
margin-bottom:8px;
display:block
}

.travel-booking .booking-form input[type=text],.travel-booking .booking-form input[type=email],.travel-booking .booking-form input[type=tel],.travel-booking .booking-form input[type=date],.travel-booking .booking-form select,.travel-booking .booking-form textarea {
color:var(--default-color);
background-color:var(--surface-color);
border:1px solid color-mix(in srgb,var(--default-color),transparent 80%);
border-radius:8px;
padding:12px 15px;
font-size:14px;
transition:.3s
}

.travel-booking .booking-form input[type=text]:focus,.travel-booking .booking-form input[type=email]:focus,.travel-booking .booking-form input[type=tel]:focus,.travel-booking .booking-form input[type=date]:focus,.travel-booking .booking-form select:focus,.travel-booking .booking-form textarea:focus {
border-color:var(--accent-color);
box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent-color),transparent 80%);
outline:none
}

.travel-booking .booking-form input[type=text]::placeholder,.travel-booking .booking-form input[type=email]::placeholder,.travel-booking .booking-form input[type=tel]::placeholder,.travel-booking .booking-form input[type=date]::placeholder,.travel-booking .booking-form select::placeholder,.travel-booking .booking-form textarea::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 70%)
}

.travel-booking .booking-form .form-navigation {
margin-top:40px;
display:flex;
justify-content:space-between;
gap:15px
}

.travel-booking .booking-form .form-navigation .btn {
padding:12px 30px;
border-radius:8px;
font-weight:500;
transition:.3s;
border:none
}

.travel-booking .booking-form .form-navigation .btn.btn-prev {
background-color:color-mix(in srgb,var(--default-color),transparent 80%);
color:var(--default-color)
}

.travel-booking .booking-form .form-navigation .btn.btn-prev:hover {
background-color:color-mix(in srgb,var(--default-color),transparent 70%)
}

.travel-booking .booking-form .form-navigation .btn.btn-next,.travel-booking .booking-form .form-navigation .btn.btn-book {
background-color:var(--accent-color);
color:var(--contrast-color)
}

.travel-booking .booking-form .form-navigation .btn.btn-next:hover,.travel-booking .booking-form .form-navigation .btn.btn-book:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 10%)
}

.travel-booking .addon-options .addon-item {
background-color:var(--background-color);
border:1px solid color-mix(in srgb,var(--default-color),transparent 85%);
border-radius:10px;
padding:20px;
margin-bottom:15px;
transition:.3s
}

.travel-booking .addon-options .addon-item:hover {
border-color:var(--accent-color);
box-shadow:0 2px 15px color-mix(in srgb,var(--accent-color),transparent 85%)
}

.travel-booking .addon-options .addon-item .addon-details {
display:flex;
justify-content:space-between;
align-items:center
}

.travel-booking .addon-options .addon-item .addon-details .addon-check input[type=checkbox] {
margin-right:15px;
transform:scale(1.2)
}

.travel-booking .addon-options .addon-item .addon-details .addon-check label {
cursor:pointer;
margin-bottom:0
}

.travel-booking .addon-options .addon-item .addon-details .addon-check label h5 {
margin:0 0 5px;
font-size:16px
}

.travel-booking .addon-options .addon-item .addon-details .addon-check label p {
margin:0;
font-size:14px;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.travel-booking .addon-options .addon-item .addon-details .addon-price {
text-align:right
}

.travel-booking .addon-options .addon-item .addon-details .addon-price .price {
font-size:20px;
font-weight:600;
color:var(--accent-color);
display:block
}

.travel-booking .addon-options .addon-item .addon-details .addon-price .period {
font-size:12px;
color:color-mix(in srgb,var(--default-color),transparent 40%)
}

.travel-booking .payment-methods {
display:flex;
gap:15px;
margin-bottom:30px
}

.travel-booking .payment-methods .method-selector input[type=radio]:checked+label {
background-color:var(--accent-color);
color:var(--contrast-color);
border-color:var(--accent-color)
}

.travel-booking .payment-methods .method-selector label {
display:block;
padding:15px;
border:2px solid color-mix(in srgb,var(--default-color),transparent 80%);
border-radius:8px;
text-align:center;
cursor:pointer;
transition:.3s;
margin-bottom:0
}

.travel-booking .payment-methods .method-selector label:hover {
border-color:var(--accent-color)
}

.travel-booking .payment-methods .method-selector label i {
font-size:20px;
display:block;
margin-bottom:5px
}

.travel-booking .booking-form .tab-content .form-step.tab-pane,.travel-booking .payment-methods .method-selector input[type=radio] {
display:none
}

.travel-booking .addon-options .addon-item .addon-details .addon-check,.travel-booking .payment-methods .method-selector {
flex:1
}

@media (max-width: 768px) {
.travel-booking .payment-methods {
flex-direction:column
}
}

.travel-booking .secure-payment {
background-color:var(--background-color);
border:1px solid #28a745;
border-radius:8px;
padding:15px;
margin-top:20px;
display:flex;
align-items:center;
gap:10px;
color:#28a745
}

.travel-booking .secure-payment i {
font-size:20px
}

.travel-booking .terms-agreement {
margin-top:25px;
padding:20px;
background-color:var(--background-color);
border-radius:8px
}

.travel-booking .terms-agreement .form-check {
display:flex;
align-items:start;
gap:10px
}

.travel-booking .terms-agreement .form-check .form-check-input {
margin-top:3px
}

.travel-booking .terms-agreement .form-check .form-check-label {
margin-bottom:0;
font-size:14px
}

.travel-booking .terms-agreement .form-check .form-check-label a {
color:var(--accent-color);
text-decoration:none
}

.travel-booking .terms-agreement .form-check .form-check-label a:hover {
text-decoration:underline
}

.travel-booking .booking-summary {
background-color:var(--surface-color);
border-radius:15px;
box-shadow:0 5px 30px color-mix(in srgb,var(--default-color),transparent 90%);
padding:30px;
position:sticky;
top:100px
}

.travel-booking .booking-summary .summary-header {
border-bottom:2px solid color-mix(in srgb,var(--accent-color),transparent 80%);
padding-bottom:15px;
margin-bottom:25px
}

.travel-booking .booking-summary .summary-header h4 {
margin:0;
color:var(--heading-color)
}

.travel-booking .booking-summary .selected-tour img {
border-radius:10px;
margin-bottom:15px
}

.travel-booking .booking-summary .selected-tour .tour-info h5 {
margin:0 0 10px;
color:var(--heading-color)
}

.travel-booking .booking-summary .selected-tour .tour-info p {
margin:5px 0;
font-size:14px;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.travel-booking .booking-summary .selected-tour .tour-info p i {
color:var(--accent-color);
margin-right:8px
}

.travel-booking .booking-summary .booking-details .detail-item {
display:flex;
justify-content:space-between;
margin-bottom:10px;
padding-bottom:10px;
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-booking .booking-summary .booking-details .detail-item .value {
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.travel-booking .booking-summary .price-breakdown {
border-top:2px solid color-mix(in srgb,var(--default-color),transparent 90%);
padding-top:20px
}

.travel-booking .booking-summary .price-breakdown .price-item {
display:flex;
justify-content:space-between;
margin-bottom:12px
}

.travel-booking .booking-summary .price-breakdown .price-item .description {
color:var(--default-color)
}

.travel-booking .booking-summary .price-breakdown .price-item.tax-item {
padding-bottom:15px;
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 85%)
}

.travel-booking .booking-summary .price-breakdown .price-total {
display:flex;
justify-content:space-between;
margin-top:15px;
padding-top:15px;
border-top:2px solid var(--accent-color)
}

.travel-booking .booking-summary .price-breakdown .price-total .description {
font-weight:600;
font-size:18px;
color:var(--heading-color)
}

.travel-booking .booking-summary .price-breakdown .price-total .amount {
font-weight:600;
font-size:24px;
color:var(--accent-color)
}

.travel-booking .booking-summary .help-section {
margin-top:30px;
padding-top:25px;
border-top:2px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.travel-booking .booking-summary .help-section h5 {
margin:0 0 15px;
color:var(--heading-color);
font-size:16px
}

.travel-booking .booking-summary .help-section p {
margin:0 0 15px;
font-size:14px;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.travel-booking .booking-summary .help-section .contact-info p {
margin:5px 0;
font-size:14px
}

.travel-booking .booking-summary .help-section .contact-info p i {
color:var(--accent-color);
margin-right:8px;
width:16px
}

.travel-booking .booking-summary .help-section .support-hours {
margin-top:10px
}

.travel-booking .booking-summary .help-section .support-hours small {
color:#28a745;
font-weight:500
}

.travel-booking .booking-summary .selected-tour,.travel-booking .booking-summary .booking-details {
margin-bottom:25px
}

.travel-booking .booking-summary .booking-details .detail-item .label,.travel-booking .booking-summary .price-breakdown .price-item .amount {
font-weight:500;
color:var(--default-color)
}

@media (max-width: 991.98px) {
.travel-booking .booking-summary {
margin-top:30px;
position:static
}
}

@media (max-width: 576px) {
.travel-booking .booking-form-container {
padding:25px 20px
}

.travel-booking .booking-summary {
padding:20px
}

.travel-booking .addon-options .addon-item .addon-details {
flex-direction:column;
align-items:flex-start;
gap:15px
}

.travel-booking .payment-methods .method-selector label {
padding:12px
}

.travel-booking .payment-methods .method-selector label i {
font-size:18px
}
}

.gallery-slider {
overflow:hidden
}

.gallery-slider .gallery-container {
padding:20px 0 40px;
position:relative
}

.gallery-slider .swiper-wrapper {
height:auto!important;
align-items:center;
padding:30px 0
}

.gallery-slider .gallery-item {
position:relative;
border-radius:15px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.2);
transition:all .4s ease
}

.gallery-slider .gallery-img {
position:relative;
overflow:hidden
}

.gallery-slider .gallery-img img {
transition:transform .6s ease;
width:100%;
aspect-ratio:4/3;
object-fit:cover
}

.gallery-slider .gallery-img .gallery-overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:color-mix(in srgb,#000,transparent 70%);
display:flex;
align-items:center;
justify-content:center;
opacity:1;
transition: all .4s ease;
}

.gallery-slider .gallery-img .gallery-overlay i {
color:var(--contrast-color);
font-family:var(--heading-font);
font-size:3rem;
transform: scale(1);
transition:all .3s ease
}

.gallery-slider .gallery-img:hover img {
transform:scale(1.1)
}

.gallery-slider .gallery-img:hover .gallery-overlay {
opacity:1
}

.gallery-slider .gallery-img:hover .gallery-overlay i {
transform:scale(1)
}

.gallery-slider .swiper-pagination {
position:relative;
margin-top:20px
}

.gallery-slider .swiper-pagination .swiper-pagination-bullet {
width:12px;
height:12px;
background:transparent;
border:2px solid var(--accent-color);
opacity:.7;
transition:all .3s ease
}

.gallery-slider .swiper-pagination .swiper-pagination-bullet-active {
background:var(--accent-color);
opacity:1;
transform:scale(1.2)
}

.gallery-slider .swiper-button-next,.gallery-slider .swiper-button-prev {
color:var(--accent-color);
background:var(--surface-color);
width:40px;
height:40px;
border-radius:50%;
box-shadow:0 4px 10px rgba(0,0,0,0.1);
opacity:0;
transition:all .3s ease
}

.gallery-slider .swiper-button-next:after,.gallery-slider .swiper-button-prev:after {
font-size:16px;
font-weight:bold
}

.gallery-slider:hover .swiper-button-next,.gallery-slider:hover .swiper-button-prev {
opacity:.9
}

.gallery-slider:hover .swiper-button-next:hover,.gallery-slider:hover .swiper-button-prev:hover {
background:var(--accent-color);
color:var(--contrast-color)
}

@media (max-width: 991px) {
.gallery-slider .gallery-item {
box-shadow:0 5px 15px rgba(0,0,0,0.15)
}

.gallery-slider .swiper-button-next,.gallery-slider .swiper-button-prev {
display:none
}
}

@media (max-width: 767px) {
.gallery-slider .swiper-wrapper {
padding:15px 0
}

.gallery-slider .gallery-img .gallery-overlay i {
font-size:2rem
}
}

.gallery .isotope-filters {
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:15px;
margin-bottom:40px;
padding:0;
list-style:none
}

.gallery .isotope-filters li {
display:inline-block;
padding:10px 20px;
background:var(--surface-color);
color:var(--default-color);
border-radius:30px;
cursor:pointer;
font-weight:500;
font-size:15px;
transition:.3s;
box-shadow:0 4px 12px rgba(0,0,0,0.05)
}

.gallery .isotope-filters li:hover {
background:color-mix(in srgb,var(--accent-color),transparent 80%)
}

.gallery .isotope-filters li.filter-active {
background:var(--accent-color);
color:var(--contrast-color);
box-shadow:0 4px 16px rgba(0,0,0,0.1)
}

@media (max-width: 576px) {
.gallery .isotope-filters {
gap:8px
}

.gallery .isotope-filters li {
padding:8px 14px;
font-size:14px
}
}

.gallery .gallery-item {
margin-bottom:30px
}

@media (max-width: 768px) {
.gallery .gallery-item {
margin-bottom:20px
}
}

.gallery .gallery-card {
position:relative;
border-radius:16px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
transition:transform .4s ease,box-shadow .4s ease;
height:100%
}

.gallery .gallery-card:hover {
transform:translateY(-10px);
box-shadow:0 15px 40px rgba(0,0,0,0.15)
}

.gallery .gallery-card:hover .gallery-overlay {
opacity:1;
transform:translateY(0)
}

.gallery .gallery-card:hover .gallery-image img {
transform:scale(1.1)
}

.gallery .gallery-image {
position:relative;
width:100%;
height:0;
padding-top:75%;
overflow:hidden
}

.gallery .gallery-image img {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
transition:transform .7s ease
}

.gallery .gallery-overlay {
position:absolute;
bottom:0;
left:0;
width:100%;
padding:25px;
background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 100%);
color:var(--contrast-color);
opacity:0;
transform:translateY(20px);
transition:all .4s ease
}

.gallery .gallery-overlay h4 {
font-size:20px;
font-weight:600;
margin-bottom:8px;
color:var(--contrast-color)
}

.gallery .gallery-overlay p {
font-size:14px;
margin-bottom:15px;
opacity:.9
}

.gallery .gallery-overlay .gallery-actions {
display:flex;
gap:15px
}

.gallery .gallery-overlay .gallery-actions a {
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border-radius:50%;
background:var(--accent-color);
color:var(--contrast-color);
font-size:18px;
transition:.3s
}

.gallery .gallery-overlay .gallery-actions a:hover {
background:color-mix(in srgb,var(--accent-color),transparent 20%);
transform:scale(1.1)
}

.gallery .glightbox-clean .gslide-description {
background:#272727
}

.gallery .glightbox-clean .gslide-title {
color:rgba(255,255,255,0.8);
margin:0
}

.blog-hero .blog-grid {
display:grid;
grid-template-columns:1fr;
gap:2rem
}

.blog-hero .blog-item {
position:relative;
border-radius:12px;
overflow:hidden;
background-color:var(--surface-color);
box-shadow:0 5px 15px color-mix(in srgb,bl,transparent 92%);
transition:all .3s ease
}

.blog-hero .blog-item:hover {
transform:translateY(-5px);
box-shadow:0 8px 25px color-mix(in srgb,var(--default-color),transparent 85%)
}

.blog-hero .blog-item:hover img {
transform:scale(1.05)
}

.blog-hero .blog-item:hover .blog-content {
background:linear-gradient(0deg,color-mix(in srgb,black,transparent 15%) 0%,transparent 100%)
}

.blog-hero .blog-item img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .3s ease
}

.blog-hero .blog-item .blog-content {
position:absolute;
bottom:0;
left:0;
right:0;
padding:2rem;
background:linear-gradient(0deg,color-mix(in srgb,black,transparent 25%) 0%,transparent 100%);
transition:background .3s ease
}

.blog-hero .main-feature {
aspect-ratio:21/9
}

.blog-hero .main-feature .post-title {
font-size:2.5rem;
margin-bottom:1rem
}

@media (max-width: 991px) {
.blog-hero .main-feature .post-title {
font-size:2rem
}
}

@media (max-width: 768px) {
.blog-hero .main-feature .post-title {
font-size:1.5rem
}
}

.blog-hero .main-feature .post-excerpt {
color:var(--contrast-color);
font-size:1.1rem;
margin:0;
display:-webkit-box;
-webkit-box-orient:vertical;
overflow:hidden
}

@media (max-width: 768px) {
.blog-hero .main-feature .post-excerpt {
display:none
}
}

.blog-hero .secondary-features {
display:grid;
grid-template-columns:repeat(2,1fr);
gap:2rem
}

@media (max-width: 768px) {
.blog-hero .secondary-features {
grid-template-columns:1fr;
gap:1rem
}
}

.blog-hero .secondary-features .blog-item {
aspect-ratio:3/4
}

.blog-hero .regular-posts {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem
}

@media (max-width: 991px) {
.blog-hero .regular-posts {
grid-template-columns:repeat(2,1fr)
}
}

@media (max-width: 768px) {
.blog-hero .regular-posts {
grid-template-columns:1fr;
gap:1rem
}
}

.blog-hero .regular-posts .blog-item {
aspect-ratio:16/9
}

.blog-hero .post-meta {
display:flex;
gap:1rem;
margin-bottom:.75rem;
font-size:.875rem;
color:var(--contrast-color)
}

.blog-hero .post-meta .date,.blog-hero .post-meta .category {
display:flex;
align-items:center
}

.blog-hero .post-meta .date::before,.blog-hero .post-meta .category::before {
margin-right:.5rem;
font:1rem "bootstrap-icons"
}

.blog-hero .post-meta .date::before {
content:"\f282"
}

.blog-hero .post-meta .category::before {
content:"\f5d3"
}

.blog-hero .post-title {
margin:0;
font-family:var(--heading-font)
}

.blog-hero .post-title a {
color:var(--contrast-color);
text-decoration:none
}

.blog-hero .post-title a:hover {
color:color-mix(in srgb,var(--contrast-color),transparent 20%)
}

.blog-hero .post-title:not(h2) {
font-size:1.25rem
}

@media (max-width: 991px) {
.blog-hero .post-title:not(h2) {
font-size:1.1rem
}
}

.blog-posts article {
background-color:var(--surface-color);
box-shadow:0 4px 16px rgba(0,0,0,0.1);
padding:30px;
height:100%;
border-radius:10px;
overflow:hidden
}

.blog-posts .post-img {
max-height:240px;
margin:-30px -30px 15px;
overflow:hidden
}

.blog-posts .post-category {
font-size:16px;
color:color-mix(in srgb,var(--default-color),transparent 40%);
margin-bottom:10px
}

.blog-posts .title {
font-size:20px;
font-weight:700;
padding:0;
margin:0 0 20px
}

.blog-posts .title a {
color:var(--heading-color);
transition:.3s
}

.blog-posts .title a:hover {
color:var(--accent-color)
}

.blog-posts .post-author-img {
width:50px;
border-radius:50%;
margin-right:15px
}

.blog-posts .post-author {
font-weight:600;
margin-bottom:5px
}

.blog-posts .post-date {
font-size:14px;
color:color-mix(in srgb,var(--default-color),transparent 40%);
margin-bottom:0
}

.pagination-2 {
padding-top:0;
color:color-mix(in srgb,var(--default-color),transparent 40%)
}

.pagination-2 ul {
display:flex;
padding:0;
margin:0;
list-style:none
}

.pagination-2 li {
margin:0 5px;
transition:.3s
}

.pagination-2 li a {
color:var(--accent-color);
display:flex;
align-items:center;
justify-content:center;
width:36px;
height:36px;
border-radius:50%;
border:1px solid var(--accent-color)
}

.pagination-2 li a.active,.pagination-2 li a:hover {
background:var(--accent-color);
color:var(--contrast-color)
}

.pagination-2 li a.active a,.pagination-2 li a:hover a {
color:var(--contrast-color)
}

.blog-details {
max-width:1200px;
margin:0 auto;
position:relative
}

.blog-details .article-header {
max-width:800px;
margin:0 auto 3rem;
text-align:center
}

.blog-details .article-header .meta-categories {
margin-bottom:1.5rem
}

.blog-details .article-header .meta-categories .category {
display:inline-block;
padding:.4rem 1.2rem;
margin:0 .5rem;
background:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
border-radius:30px;
font-size:.9rem;
transition:all .3s ease
}

.blog-details .article-header .meta-categories .category:hover {
background:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-2px)
}

.blog-details .article-header .title {
font-size:3.2rem;
line-height:1.2;
margin-bottom:2rem;
color:var(--heading-color)
}

@media (max-width: 768px) {
.blog-details .article-header .title {
font-size:2.2rem
}
}

.blog-details .article-header .article-meta {
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:1.5rem
}

.blog-details .article-header .article-meta .author {
display:flex;
align-items:center;
gap:1rem
}

.blog-details .article-header .article-meta .author .author-img {
width:60px;
height:60px;
border-radius:50%;
object-fit:cover
}

.blog-details .article-header .article-meta .author .author-info {
text-align:left
}

.blog-details .article-header .article-meta .author .author-info h4 {
margin:0;
font-size:1.1rem;
color:var(--heading-color)
}

.blog-details .article-header .article-meta .author .author-info span {
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-size:.9rem
}

.blog-details .article-header .article-meta .post-info {
display:flex;
gap:1.5rem;
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-size:.95rem
}

.blog-details .article-header .article-meta .post-info span {
display:flex;
align-items:center;
gap:.5rem
}

@media (max-width: 768px) {
.blog-details .article-header .article-meta {
justify-content:center;
text-align:center
}

.blog-details .article-header .article-meta .post-info {
width:100%;
justify-content:center;
flex-wrap:wrap
}
}

.blog-details .article-featured-image {
margin:0 -2rem 3rem;
height:500px;
overflow:hidden;
border-radius:16px
}

.blog-details .article-featured-image img {
width:100%;
height:100%;
object-fit:cover
}

@media (max-width: 768px) {
.blog-details .article-featured-image {
margin:0 -1rem 2rem;
height:300px
}
}

.blog-details .article-wrapper {
display:grid;
grid-template-columns:minmax(200px,300px) 1fr;
gap:3rem;
position:relative
}

@media (max-width: 992px) {
.blog-details .article-wrapper {
grid-template-columns:1fr
}
}

.blog-details .article-wrapper .table-of-contents {
position:sticky;
top:100px;
height:fit-content;
padding:2rem;
background:var(--surface-color);
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,0.05)
}

@media (max-width: 992px) {
.blog-details .article-wrapper .table-of-contents {
display:none
}
}

.blog-details .article-wrapper .table-of-contents h3 {
font-size:1.2rem;
margin-bottom:1.5rem;
color:var(--heading-color)
}

.blog-details .article-wrapper .table-of-contents nav ul {
list-style:none;
padding:0;
margin:0
}

.blog-details .article-wrapper .table-of-contents nav ul li {
margin-bottom:.75rem
}

.blog-details .article-wrapper .table-of-contents nav ul li a {
color:color-mix(in srgb,var(--default-color),transparent 30%);
text-decoration:none;
font-size:.95rem;
transition:all .3s ease;
padding-left:1rem;
position:relative
}

.blog-details .article-wrapper .table-of-contents nav ul li a::before {
content:"";
position:absolute;
left:0;
top:50%;
width:4px;
height:4px;
border-radius:50%;
background:var(--accent-color);
transform:translateY(-50%);
opacity:0;
transition:all .3s ease
}

.blog-details .article-wrapper .table-of-contents nav ul li a:hover,.blog-details .article-wrapper .table-of-contents nav ul li a.active {
color:var(--heading-color)
}

.blog-details .article-wrapper .table-of-contents nav ul li a:hover::before,.blog-details .article-wrapper .table-of-contents nav ul li a.active::before {
opacity:1
}

.blog-details .article-wrapper .article-content {
font-size:1.15rem;
line-height:1.8
}

.blog-details .article-wrapper .article-content .content-section {
margin-bottom:4rem
}

.blog-details .article-wrapper .article-content .content-section .lead {
font-size:1.4rem;
line-height:1.6;
color:var(--heading-color);
margin-bottom:2rem
}

.blog-details .article-wrapper .article-content .content-section h2 {
font-size:2.2rem;
color:var(--heading-color);
margin-bottom:1.5rem
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote {
margin:3rem 0;
padding:3rem;
background:var(--surface-color);
border-radius:12px;
position:relative
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote::before {
content:"“";
position:absolute;
top:1rem;
left:1rem;
color:color-mix(in srgb,var(--accent-color),transparent 85%);
font:5rem/1 serif
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote blockquote {
padding-left:3rem
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote blockquote p {
font-size:1.5rem;
font-style:italic;
color:var(--heading-color);
margin-bottom:1rem
}

.blog-details .article-wrapper .article-content .content-section .highlight-quote blockquote cite {
font-style:normal;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption {
margin:2rem 0;
border-radius:12px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,0.08)
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption.right {
float:right;
max-width:450px;
margin:0 0 2rem 2rem
}

@media (max-width: 768px) {
.blog-details .article-wrapper .article-content .content-section .image-with-caption.right {
float:none;
max-width:100%;
margin:2rem 0
}
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption img {
width:100%
}

.blog-details .article-wrapper .article-content .content-section .image-with-caption figcaption {
padding:1rem;
background:var(--surface-color);
text-align:center;
font-size:.9rem;
color:color-mix(in srgb,var(--default-color),transparent 30%)
}

.blog-details .article-wrapper .article-content .content-section .feature-points {
display:grid;
gap:2rem;
margin:2rem 0
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point {
display:flex;
gap:1rem;
align-items:flex-start
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point h4 {
margin:0 0 .5rem;
color:var(--heading-color)
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point p {
margin:0;
font-size:1rem
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid {
margin:2rem 0
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card {
background:var(--surface-color);
border-radius:12px;
padding:2rem;
height:100%
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card .icon {
margin-bottom:1rem
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card h4 {
color:var(--heading-color);
margin-bottom:1rem
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card ul {
padding-left:1.2rem;
margin:0
}

.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card ul li {
margin-bottom:.5rem;
color:color-mix(in srgb,var(--default-color),transparent 15%)
}

.blog-details .article-wrapper .article-content .content-section .key-principles {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
margin:3rem 0
}

.blog-details .article-wrapper .article-content .content-section .feature-points .point i,.blog-details .article-wrapper .article-content .content-section .comparison-grid .comparison-card .icon i {
font-size:2rem;
color:var(--accent-color)
}

@media (max-width: 768px) {
.blog-details .article-wrapper .article-content .content-section .key-principles {
grid-template-columns:1fr
}
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle {
text-align:center;
padding:2rem;
background:var(--surface-color);
border-radius:12px;
position:relative
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle .number {
position:absolute;
top:-1rem;
left:50%;
transform:translateX(-50%);
background:var(--accent-color);
color:var(--contrast-color);
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-weight:bold
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle h4 {
color:var(--heading-color);
margin:1rem 0
}

.blog-details .article-wrapper .article-content .content-section .key-principles .principle p {
margin:0;
font-size:.95rem
}

.blog-details .article-wrapper .article-content .content-section .info-box {
display:flex;
gap:1.5rem;
padding:2rem;
background:color-mix(in srgb,var(--accent-color),transparent 95%);
border-radius:12px;
margin:2rem 0
}

.blog-details .article-wrapper .article-content .content-section .info-box .icon i {
font-size:2.5rem;
color:var(--accent-color)
}

.blog-details .article-wrapper .article-content .content-section .info-box .content h4 {
color:var(--heading-color);
margin-bottom:.5rem
}

.blog-details .article-wrapper .article-content .content-section .info-box .content p {
margin:0
}

.blog-details .article-wrapper .article-content .content-section .future-trends {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
margin:2rem 0
}

@media (max-width: 768px) {
.blog-details .article-wrapper .article-content .content-section .future-trends {
grid-template-columns:1fr
}
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend {
text-align:center;
padding:2rem;
background:var(--surface-color);
border-radius:12px;
transition:transform .3s ease
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend:hover {
transform:translateY(-5px)
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend i {
font-size:2.5rem;
color:var(--accent-color);
margin-bottom:1rem
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend h4 {
color:var(--heading-color);
margin-bottom:1rem
}

.blog-details .article-wrapper .article-content .content-section .future-trends .trend p {
margin:0;
font-size:.95rem
}

.blog-details .article-footer {
margin-top:4rem;
padding-top:2rem;
border-top:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.blog-details .article-footer h4 {
color:var(--heading-color);
margin-bottom:1.5rem
}

.blog-details .article-footer .share-article {
margin-bottom:3rem
}

.blog-details .article-footer .share-article .share-buttons {
display:flex;
gap:1rem;
flex-wrap:wrap
}

.blog-details .article-footer .share-article .share-buttons .share-button {
display:flex;
align-items:center;
gap:.75rem;
padding:.75rem 1.5rem;
background:var(--surface-color);
border-radius:30px;
color:var(--heading-color);
text-decoration:none;
transition:all .3s ease
}

.blog-details .article-footer .share-article .share-buttons .share-button i {
font-size:1.2rem
}

.blog-details .article-footer .share-article .share-buttons .share-button.twitter:hover {
background:#1DA1F2
}

.blog-details .article-footer .share-article .share-buttons .share-button.facebook:hover {
background:#4267B2
}

.blog-details .article-footer .share-article .share-buttons .share-button.linkedin:hover {
background:#0077B5
}

.blog-details .article-footer .article-tags .tags {
display:flex;
flex-wrap:wrap;
gap:.75rem
}

.blog-details .article-footer .article-tags .tags .tag {
padding:.5rem 1rem;
background:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
border-radius:30px;
font-size:.9rem;
text-decoration:none;
transition:all .3s ease
}

.blog-author .author-card {
display:flex;
background-color:var(--surface-color);
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.05);
position:relative
}

.blog-details .article-footer .share-article .share-buttons .share-button:hover,.blog-details .article-footer .article-tags .tags .tag:hover {
background:var(--accent-color);
color:var(--contrast-color);
transform:translateY(-2px)
}

@media (max-width: 991.98px) {
.blog-author .author-card {
flex-direction:column
}
}

.blog-author .author-background {
position:relative;
width:35%;
min-height:400px;
background:linear-gradient(180deg,color-mix(in srgb,var(--accent-color),transparent 90%),color-mix(in srgb,var(--accent-color),transparent 90%));
display:flex;
align-items:center;
justify-content:center
}

@media (max-width: 991.98px) {
.blog-author .author-background {
width:100%;
min-height:300px
}
}

.blog-author .author-background::after {
content:"";
position:absolute;
top:0;
right:0;
bottom:0;
width:400px;
background:linear-gradient(to right,transparent,var(--surface-color))
}

@media (max-width: 991.98px) {
.blog-author .author-background::after {
display:none
}
}

.blog-author .author-image-wrapper {
max-width:300px;
max-height:300px;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
transform:rotate(-5deg);
transition:transform .3s ease;
z-index:2
}

.blog-author .author-image-wrapper:hover {
transform:rotate(0deg)
}

.blog-author .author-image-wrapper .author-image {
width:100%;
height:100%;
object-fit:cover
}

.blog-author .author-details {
flex:1;
padding:2.5rem;
display:flex;
flex-direction:column;
gap:1.5rem
}

@media (max-width: 767.98px) {
.blog-author .author-details {
padding:2rem 1.5rem
}
}

.blog-author .author-meta .author-name {
font-size:2rem;
margin:0;
color:var(--heading-color);
font-weight:700
}

.blog-author .author-meta .author-credentials {
margin-top:1rem;
display:flex;
gap:.5rem;
flex-wrap:wrap
}

.blog-author .author-meta .author-credentials .badge {
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
font-size:.85rem;
padding:.5rem 1rem;
border-radius:20px;
font-weight:500
}

.blog-author .author-description {
font-size:1rem;
line-height:1.7;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.blog-author .author-stats {
display:flex;
gap:2rem;
padding:1.5rem 0;
border-top:1px solid color-mix(in srgb,var(--default-color),transparent 90%);
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

@media (max-width: 767.98px) {
.blog-author .author-stats {
gap:1rem;
justify-content:space-around
}
}

.blog-author .author-stats .stat-item {
text-align:center
}

.blog-author .author-stats .stat-item .stat-value {
display:block;
color:var(--heading-color);
font:700 1.5rem var(--heading-font)
}

.blog-author .author-stats .stat-item .stat-label {
font-size:.875rem;
color:color-mix(in srgb,var(--default-color),transparent 40%);
margin-top:.25rem
}

.blog-author .author-footer {
display:flex;
justify-content:space-between;
align-items:center;
margin-top:auto
}

@media (max-width: 767.98px) {
.blog-author .author-footer {
flex-direction:column;
gap:1.5rem
}
}

.blog-author .author-footer .social-links {
display:flex;
gap:1rem
}

.blog-author .author-footer .social-links a {
color:var(--accent-color);
font-size:1.25rem;
transition:all .3s ease
}

.blog-author .author-footer .social-links a:hover {
transform:translateY(-3px);
color:var(--heading-color)
}

.blog-author .author-footer .btn-connect {
display:inline-flex;
align-items:center;
gap:.5rem;
background-color:var(--accent-color);
color:var(--contrast-color);
padding:.75rem 1.5rem;
border-radius:25px;
font-weight:500;
transition:all .3s ease
}

.blog-author .author-footer .btn-connect i {
transition:transform .3s ease
}

.blog-author .author-footer .btn-connect:hover {
background-color:var(--heading-color)
}

.blog-author .author-footer .btn-connect:hover i {
transform:translateX(5px)
}

.blog-comments .comments-header {
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:40px;
padding-bottom:20px;
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 92%)
}

.blog-comments .comments-header .title {
color:var(--heading-color);
margin:0;
font:700 32px var(--heading-font)
}

.blog-comments .comments-header .comments-stats {
background:color-mix(in srgb,var(--default-color),transparent 95%);
padding:8px 20px;
border-radius:30px;
display:flex;
align-items:center;
gap:8px
}

.blog-comments .comments-header .comments-stats .count {
font-size:18px;
font-weight:700
}

.blog-comments .comments-header .comments-stats .label {
font-size:14px;
text-transform:uppercase;
letter-spacing:.5px
}

.blog-comments .comments-container {
display:flex;
flex-direction:column;
gap:40px
}

.blog-comments .comment-thread {
position:relative
}

.blog-comments .comment-thread:not(:last-child)::after {
content:"";
position:absolute;
left:25px;
top:80px;
bottom:0;
width:2px;
background:linear-gradient(to bottom,color-mix(in srgb,var(--accent-color),transparent 40%),color-mix(in srgb,var(--accent-color),transparent 90%));
z-index:0
}

@media (min-width: 768px) {
.blog-comments .comment-thread:not(:last-child)::after {
left:35px
}
}

.blog-comments .comment-box {
position:relative;
transition:all .3s ease
}

.blog-comments .comment-box.reply {
margin-left:50px;
margin-top:25px
}

@media (min-width: 768px) {
.blog-comments .comment-box.reply {
margin-left:70px
}
}

.blog-comments .comment-wrapper {
display:flex;
gap:20px;
position:relative
}

.blog-comments .avatar-wrapper {
position:relative;
flex-shrink:0
}

.blog-comments .avatar-wrapper img {
width:50px;
height:50px;
border-radius:15px;
object-fit:cover;
border:3px solid var(--surface-color);
box-shadow:0 3px 15px rgba(0,0,0,0.05);
transition:transform .3s ease
}

@media (min-width: 768px) {
.blog-comments .avatar-wrapper img {
width:70px;
height:70px
}
}

.blog-comments .avatar-wrapper img:hover {
transform:scale(1.05)
}

.blog-comments .avatar-wrapper .status-indicator {
position:absolute;
bottom:-2px;
right:-2px;
width:12px;
height:12px;
border-radius:50%;
background-color:#4CAF50;
border:2px solid var(--surface-color);
z-index:1
}

.blog-comments .comment-content {
flex:1;
background-color:var(--surface-color);
border-radius:20px;
padding:25px;
box-shadow:0 3px 15px rgba(0,0,0,0.03);
transition:all .3s ease
}

.blog-comments .comment-content:hover {
transform:translateY(-2px);
box-shadow:0 5px 25px rgba(0,0,0,0.05)
}

.blog-comments .comment-header {
display:flex;
justify-content:space-between;
align-items:flex-start;
margin-bottom:15px
}

.blog-comments .comment-header .user-info h4 {
color:var(--heading-color);
font-size:18px;
font-weight:600;
margin:0 0 5px
}

.blog-comments .comment-header .user-info .time-badge {
display:flex;
align-items:center;
gap:5px;
font-size:14px;
color:color-mix(in srgb,var(--default-color),transparent 40%)
}

.blog-comments .comment-header .engagement .likes {
display:flex;
align-items:center;
gap:5px;
padding:6px 12px;
background-color:color-mix(in srgb,var(--accent-color),transparent 92%);
border-radius:20px;
color:var(--accent-color);
font-size:14px;
font-weight:500
}

.blog-comments .comment-body p {
color:var(--default-color);
font-size:15px;
line-height:1.6;
margin-bottom:20px
}

.blog-comments .comment-actions {
display:flex;
gap:15px
}

.blog-comments .comment-actions .action-btn {
background:none;
border:none;
padding:8px 15px;
border-radius:20px;
color:color-mix(in srgb,var(--default-color),transparent 40%);
font-size:14px;
font-weight:500;
display:flex;
align-items:center;
gap:6px;
cursor:pointer;
transition:all .3s ease
}

.blog-comments .comment-actions .action-btn i {
font-size:15px;
transition:all .3s ease
}

.blog-comments .comment-actions .action-btn:hover {
color:var(--accent-color);
background-color:color-mix(in srgb,var(--accent-color),transparent 92%)
}

.blog-comments .comment-actions .action-btn:hover.like-btn i {
transform:scale(1.2);
color:#ff4b6e
}

.blog-comments .comment-actions .action-btn:hover.reply-btn i {
transform:translateX(-3px)
}

.blog-comments .comment-actions .action-btn:hover.share-btn i {
transform:translateY(-2px)
}

.blog-comments .comment-actions .action-btn.like-btn.active {
color:#ff4b6e
}

.blog-comments .replies-container {
margin-top:25px;
display:flex;
flex-direction:column;
gap:25px
}

.blog-comments .comment-header .user-info .time-badge i,.blog-comments .comment-header .engagement .likes i {
font-size:13px
}

@media (max-width: 768px) {
.blog-comments .comments-header {
margin-bottom:30px
}

.blog-comments .comments-header .title {
font-size:24px
}

.blog-comments .comments-header .comments-stats {
padding:6px 15px
}

.blog-comments .comments-header .comments-stats .count {
font-size:20px
}

.blog-comments .comments-header .comments-stats .label {
font-size:12px
}

.blog-comments .comment-content {
padding:20px
}

.blog-comments .comment-header .user-info h4 {
font-size:16px
}

.blog-comments .comment-header .user-info .time-badge {
font-size:13px
}

.blog-comments .comment-body p {
font-size:14px
}

.blog-comments .comment-actions .action-btn {
padding:6px 12px;
font-size:13px
}
}

.blog-comment-form {
max-width:900px;
margin:30px auto 0
}

.blog-comment-form form {
padding:30px;
background-color:var(--surface-color);
border-radius:15px;
box-shadow:0 4px 16px rgba(0,0,0,0.1)
}

.blog-comment-form .section-header {
text-align:center;
margin-bottom:30px
}

.blog-comment-form .section-header h3 {
font-size:28px;
margin-bottom:15px;
position:relative;
padding-bottom:15px
}

.blog-comment-form .section-header h3:after {
content:"";
position:absolute;
display:block;
width:50px;
height:3px;
background:var(--accent-color);
bottom:0;
left:50%;
transform:translateX(-50%)
}

.blog-comment-form .section-header p {
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-size:15px;
margin:0
}

.blog-comment-form .form-group {
margin-bottom:20px
}

.blog-comment-form .form-group label {
display:block;
margin-bottom:8px;
font-weight:500;
color:var(--heading-color);
font-size:14px
}

.blog-comment-form .form-group .form-control {
height:48px;
padding:10px 15px;
color:var(--default-color);
background-color:var(--surface-color);
border-radius:8px;
border:1px solid color-mix(in srgb,var(--default-color),transparent 80%);
font-size:14px;
transition:all .3s ease-in-out
}

.blog-comment-form .form-group .form-control:focus {
border-color:var(--accent-color);
box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color),transparent 85%)
}

.blog-comment-form .form-group .form-control::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 70%)
}

.blog-comment-form .form-group .form-control:hover:not(:focus) {
border-color:color-mix(in srgb,var(--default-color),transparent 60%)
}

.blog-comment-form .form-group textarea.form-control {
height:auto;
min-height:120px;
resize:vertical
}

.blog-comment-form .btn-submit {
padding:12px 32px;
border-radius:50px;
background:var(--accent-color);
color:var(--contrast-color);
border:none;
font-size:16px;
font-weight:500;
transition:.3s;
position:relative;
overflow:hidden
}

.blog-comment-form .btn-submit:hover {
background:color-mix(in srgb,var(--accent-color),transparent 15%);
transform:translateY(-2px);
box-shadow:0 5px 15px color-mix(in srgb,var(--accent-color),transparent 70%)
}

.blog-comment-form .btn-submit:active {
transform:translateY(0);
box-shadow:none
}

@media (max-width: 768px) {
.blog-comment-form {
padding:20px
}

.blog-comment-form .section-header h3 {
font-size:24px
}

.blog-comment-form .btn-submit {
width:100%;
padding:12px 20px
}
}

.slider-testimonials .testimonials-slider {
width:100%;
position:relative;
padding-bottom:60px
}

.slider-testimonials .swiper-wrapper {
height:auto
}

.slider-testimonials .testimonial-item {
background-color:var(--surface-color);
padding:40px;
border-radius:20px
}

@media (max-width: 575px) {
.slider-testimonials .testimonial-item {
padding:20px
}
}

.slider-testimonials .testimonial-item h2 {
font-size:24px;
font-weight:600;
margin-bottom:20px
}

.slider-testimonials .testimonial-item p {
font-size:16px;
line-height:1.8;
margin-bottom:30px;
font-style:italic
}

.slider-testimonials .testimonial-item .profile {
gap:15px
}

.slider-testimonials .testimonial-item .profile .profile-img {
width:60px;
height:60px;
border-radius:50%;
object-fit:cover
}

.slider-testimonials .testimonial-item .profile .profile-info h3 {
font-size:18px;
margin:0;
font-weight:600
}

.slider-testimonials .testimonial-item .profile .profile-info span {
font-size:14px;
color:color-mix(in srgb,var(--default-color) 70%,transparent)
}

.slider-testimonials .testimonial-item .featured-img-wrapper {
min-height:400px;
position:relative;
overflow:hidden;
border-radius:16px
}

.slider-testimonials .testimonial-item .featured-img {
width:100%;
height:100%;
object-fit:cover;
position:absolute;
top:0;
left:0
}

.slider-testimonials .swiper-navigation {
position:absolute;
bottom:0;
gap:10px
}

.slider-testimonials .swiper-button-prev,.slider-testimonials .swiper-button-next {
position:relative;
left:auto;
right:auto;
top:auto;
margin:0;
width:44px;
height:44px;
background-color:var(--surface-color);
border-radius:50%;
border:1px solid color-mix(in srgb,var(--default-color) 10%,transparent);
transition:.3s
}

.slider-testimonials .swiper-button-prev::after,.slider-testimonials .swiper-button-next::after {
font-size:20px;
color:var(--default-color)
}

.slider-testimonials .swiper-button-prev:hover,.slider-testimonials .swiper-button-next:hover {
background-color:var(--accent-color);
border-color:var(--accent-color)
}

.slider-testimonials .swiper-button-prev:hover::after,.slider-testimonials .swiper-button-next:hover::after {
color:var(--contrast-color)
}

.testimonials .testimonial-masonry {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
position:relative
}

.testimonials .testimonial-masonry::before {
content:"";
position:absolute;
width:100%;
height:100%;
background:radial-gradient(circle at center,color-mix(in srgb,var(--accent-color),transparent 95%),transparent);
opacity:.5;
z-index:-1
}

.testimonials .testimonial-item:nth-child(3n-1) {
margin-top:3rem
}

.testimonials .testimonial-item:nth-child(3n) {
margin-top:1.5rem
}

.testimonials .testimonial-item.highlight .testimonial-content {
background-color:color-mix(in srgb,var(--accent-color),transparent 92%);
border:1px solid color-mix(in srgb,var(--accent-color),transparent 70%)
}

.testimonials .testimonial-item.highlight .testimonial-content .quote-pattern {
background-color:color-mix(in srgb,var(--accent-color),transparent 85%)
}

.testimonials .testimonial-item.highlight .testimonial-content .quote-pattern i {
color:var(--accent-color)
}

.testimonials .testimonial-content {
background-color:var(--surface-color);
border-radius:20px;
padding:2rem;
position:relative;
transition:all .3s ease;
border:1px solid color-mix(in srgb,var(--default-color),transparent 92%)
}

.testimonials .testimonial-content:hover {
transform:translateY(-5px)
}

.testimonials .testimonial-content p {
font-size:1rem;
line-height:1.7;
margin:1.5rem 0;
position:relative
}

.testimonials .quote-pattern {
position:absolute;
top:-1.25rem;
left:2rem;
width:2.5rem;
height:2.5rem;
background-color:var(--surface-color);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
border:1px solid color-mix(in srgb,var(--default-color),transparent 92%)
}

.testimonials .quote-pattern i {
font-size:1.25rem;
color:var(--accent-color)
}

.testimonials .client-info {
display:flex;
align-items:center;
gap:1rem;
margin-top:1.5rem;
padding-top:1.5rem;
border-top:1px solid color-mix(in srgb,var(--default-color),transparent 92%)
}

.testimonials .client-image {
width:50px;
height:50px;
border-radius:50%;
overflow:hidden;
flex-shrink:0
}

.testimonials .client-image img {
width:100%;
height:100%;
object-fit:cover
}

.testimonials .client-details h3 {
font-size:1.125rem;
margin-bottom:.25rem
}

.testimonials .client-details .position {
font-size:.875rem;
color:color-mix(in srgb,var(--heading-color),transparent 40%)
}

@media (max-width: 1199.98px) {
.testimonials .testimonial-masonry {
grid-template-columns:repeat(2,1fr);
gap:1.5rem
}

.testimonials .testimonial-item:nth-child(3n-1),.testimonials .testimonial-item:nth-child(3n) {
margin-top:0
}

.testimonials .testimonial-item:nth-child(even) {
margin-top:2rem
}
}

@media (max-width: 767.98px) {
.testimonials .testimonial-masonry {
grid-template-columns:1fr;
gap:2rem
}

.testimonials .testimonial-item:nth-child(even) {
margin-top:0
}

.testimonials .testimonial-content {
padding:1.5rem
}

.testimonials .testimonial-content p {
font-size:.9375rem;
margin:1.25rem 0
}

.testimonials .quote-pattern {
width:2.25rem;
height:2.25rem;
top:-1.125rem
}

.testimonials .quote-pattern i {
font-size:1.125rem
}

.testimonials .client-info {
margin-top:1.25rem;
padding-top:1.25rem
}

.testimonials .client-image {
width:45px;
height:45px
}

.testimonials .client-details h3 {
font-size:1rem
}

.testimonials .client-details .position {
font-size:.8125rem
}
}

.faq .faq-sidebar {
position:sticky;
top:100px
}

.faq .faq-sidebar .faq-image {
margin-bottom:30px;
border-radius:14px;
overflow:hidden
}

.faq .faq-sidebar .faq-image img {
transition:transform .5s ease
}

.faq .faq-sidebar .faq-image img:hover {
transform:scale(1.04)
}

.faq .faq-sidebar .contact-box {
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
border-radius:14px;
padding:30px
}

.faq .faq-sidebar .contact-box h3 {
font-size:20px;
margin-bottom:15px;
font-weight:600;
display:flex;
align-items:center;
gap:10px
}

.faq .faq-sidebar .contact-box h3 i {
font-size:24px;
color:var(--accent-color)
}

.faq .faq-sidebar .contact-box p {
margin-bottom:20px;
font-size:15px;
color:color-mix(in srgb,var(--default-color),transparent 15%)
}

.faq .faq-sidebar .contact-box .btn-contact {
display:inline-block;
background-color:var(--accent-color);
color:var(--contrast-color);
padding:10px 24px;
border-radius:50px;
font-weight:500;
transition:all .3s ease
}

.faq .faq-sidebar .contact-box .btn-contact:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 20%);
transform:translateY(-3px);
box-shadow:0 5px 15px color-mix(in srgb,var(--accent-color),transparent 70%)
}

.faq .faq-tabs .nav-pills {
gap:15px;
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 90%);
padding-bottom:15px
}

.faq .faq-tabs .nav-pills .nav-link {
background:transparent;
color:color-mix(in srgb,var(--default-color),transparent 30%);
border-radius:8px;
font-size:16px;
font-weight:500;
padding:10px 25px;
transition:all .3s ease
}

.faq .faq-tabs .nav-pills .nav-link.active {
background-color:var(--accent-color);
color:var(--contrast-color);
box-shadow:0 3px 10px color-mix(in srgb,var(--accent-color),transparent 70%)
}

.faq .faq-tabs .nav-pills .nav-link:hover:not(.active) {
background-color:color-mix(in srgb,var(--default-color),transparent 95%);
color:var(--default-color)
}

.faq .faq-tabs .tab-content {
padding-top:25px
}

.faq .faq-item {
position:relative;
margin-bottom:20px;
background-color:var(--surface-color);
border-radius:14px;
box-shadow:0 3px 10px color-mix(in srgb,var(--default-color),transparent 95%);
padding:25px 30px;
cursor:pointer;
transition:all .3s ease
}

.faq .faq-item:hover {
transform:translateY(-3px);
box-shadow:0 8px 20px color-mix(in srgb,var(--default-color),transparent 92%)
}

.faq .faq-item h3 {
font-size:17px;
font-weight:600;
padding-right:35px;
margin-bottom:0;
transition:color .3s ease
}

.faq .faq-item .faq-content {
display:grid;
grid-template-rows:0fr;
transition:.3s ease-in-out;
visibility:hidden;
opacity:0
}

.faq .faq-item .faq-content p {
margin-bottom:0;
padding-top:15px;
font-size:15px;
line-height:1.6;
overflow:hidden;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.faq .faq-item .faq-toggle {
position:absolute;
right:25px;
top:25px;
font-size:18px;
color:var(--accent-color);
transition:transform .3s ease
}

.faq .faq-item.faq-active {
background-color:color-mix(in srgb,var(--surface-color),var(--accent-color) 3%)
}

.faq .faq-item.faq-active h3 {
color:var(--accent-color)
}

.faq .faq-item.faq-active .faq-content {
grid-template-rows:1fr;
visibility:visible;
opacity:1
}

.faq .faq-item.faq-active .faq-toggle {
transform:rotate(180deg)
}

@media (max-width: 991.98px) {
.faq .faq-sidebar {
position:relative;
top:0;
margin-bottom:40px
}

.faq .faq-tabs .nav-pills {
flex-wrap:wrap
}

.faq .faq-tabs .nav-pills .nav-item {
flex:1 0 30%
}

.faq .faq-sidebar .contact-box,.faq .faq-tabs .nav-pills .nav-link {
text-align:center
}
}

@media (max-width: 768px) {
.faq .faq-tabs .nav-pills .nav-item {
flex:1 0 100%
}

.faq .faq-item {
padding:20px
}

.faq .faq-item h3 {
font-size:16px;
line-height:1.5
}

.faq .faq-item .faq-toggle {
right:20px;
top:20px
}
}

.contact .contact-info-box {
background-color:var(--surface-color);
border-radius:10px;
box-shadow:0 5px 25px rgba(0,0,0,0.05);
padding:25px;
height:100%;
transition:transform .3s ease,box-shadow .3s ease;
display:flex;
align-items:flex-start;
gap:15px
}

.contact .contact-info-box:hover {
transform:translateY(-5px);
box-shadow:0 8px 30px rgba(0,0,0,0.1)
}

.contact .contact-info-box .icon-box {
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
color:var(--accent-color);
width:50px;
height:50px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0
}

.contact .contact-info-box .icon-box i {
font-size:24px
}

.contact .contact-info-box .info-content h4 {
font-size:18px;
font-weight:600;
margin-bottom:10px
}

.contact .contact-info-box .info-content p {
margin-bottom:5px;
color:color-mix(in srgb,var(--default-color),transparent 20%);
font-size:15px;
line-height:1.5
}

.contact .contact-info-box .info-content p:last-child {
margin-bottom:0
}

.contact .map-section {
position:relative;
width:100%;
height:500px;
overflow:hidden
}

.contact .map-section iframe {
display:block;
width:100%;
height:100%;
border:0
}

.contact .form-container-overlap {
position:relative;
margin-top:-150px;
margin-bottom:60px;
z-index:10
}

.contact .contact-form-wrapper {
background-color:var(--surface-color);
border-radius:12px;
box-shadow:0 5px 25px rgba(0,0,0,0.05);
padding:40px
}

.contact .contact-form-wrapper h2 {
font-size:28px;
font-weight:700;
margin-bottom:30px;
position:relative
}

.contact .contact-form-wrapper h2:after {
content:"";
position:absolute;
left:50%;
bottom:-10px;
transform:translateX(-50%);
width:50px;
height:3px;
background-color:var(--accent-color)
}

.contact .contact-form-wrapper .form-group {
margin-bottom:20px
}

.contact .contact-form-wrapper .form-group .input-with-icon {
position:relative
}

.contact .contact-form-wrapper .form-group .input-with-icon i {
position:absolute;
left:15px;
top:50%;
transform:translateY(-50%);
color:color-mix(in srgb,var(--default-color),transparent 40%);
font-size:18px;
z-index:10
}

.contact .contact-form-wrapper .form-group .input-with-icon i.message-icon {
top:28px
}

.contact .contact-form-wrapper .form-group .input-with-icon textarea+i {
top:25px;
transform:none
}

.contact .contact-form-wrapper .form-group .input-with-icon .form-control {
border-radius:8px;
padding:12px 15px 12px 45px;
height:3.5rem;
color:var(--default-color);
background-color:var(--surface-color);
font-size:15px;
border:1px solid color-mix(in srgb,var(--default-color),transparent 80%)
}

.contact .contact-form-wrapper .form-group .input-with-icon .form-control:focus {
border-color:var(--accent-color);
box-shadow:0 0 0 .25rem color-mix(in srgb,var(--accent-color),transparent 90%)
}

.contact .contact-form-wrapper .form-group .input-with-icon .form-control::placeholder {
color:color-mix(in srgb,var(--default-color),transparent 40%)
}

.contact .contact-form-wrapper .form-group .input-with-icon textarea.form-control {
height:180px;
resize:none;
padding-top:15px
}

.contact .contact-form-wrapper .btn-submit {
background-color:var(--accent-color);
border:none;
color:var(--contrast-color);
padding:12px 30px;
font-size:16px;
font-weight:600;
letter-spacing:1px;
border-radius:8px;
transition:all .3s ease;
box-shadow:0 5px 15px color-mix(in srgb,var(--accent-color),transparent 70%)
}

.contact .contact-form-wrapper .btn-submit:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 15%);
transform:translateY(-3px);
box-shadow:0 8px 20px color-mix(in srgb,var(--accent-color),transparent 60%)
}

.contact .contact-form-wrapper .btn-submit:active {
transform:translateY(0);
box-shadow:0 3px 10px color-mix(in srgb,var(--accent-color),transparent 70%)
}

.contact .contact-form-wrapper .loading,.contact .contact-form-wrapper .error-message,.contact .contact-form-wrapper .sent-message {
margin-top:10px;
margin-bottom:20px
}

@media (max-width: 992px) {
.contact .form-container-overlap {
margin-top:-120px
}

.contact .contact-form-wrapper {
padding:30px
}
}

@media (max-width: 768px) {
.contact .contact-info-box {
margin-bottom:20px
}

.contact .form-container-overlap {
margin-top:-100px
}

.contact .contact-form-wrapper {
padding:25px
}

.contact .contact-form-wrapper h2 {
font-size:24px
}

.contact .map-section {
height:450px
}
}

@media (max-width: 576px) {
.contact .form-container-overlap {
margin-top:-80px
}

.contact .contact-form-wrapper {
padding:20px
}

.contact .btn-submit {
width:100%
}

.contact .map-section {
height:400px
}
}

.terms-of-service .tos-header {
margin-bottom:60px
}

.terms-of-service .tos-header .last-updated {
display:inline-block;
padding:8px 20px;
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
border-radius:30px;
color:var(--accent-color);
font-size:.95rem;
margin-bottom:20px
}

.terms-of-service .tos-header h2 {
font-size:2.5rem;
margin-bottom:15px
}

.terms-of-service .tos-header p {
color:color-mix(in srgb,var(--default-color),transparent 30%);
font-size:1.1rem;
max-width:700px;
margin:0 auto
}

.terms-of-service .tos-content .content-section {
margin-bottom:50px;
scroll-margin-top:100px
}

.terms-of-service .tos-content .content-section h3 {
font-size:1.8rem;
margin-bottom:20px;
color:var(--heading-color)
}

.terms-of-service .tos-content .content-section p {
color:color-mix(in srgb,var(--default-color),transparent 20%);
line-height:1.7;
margin-bottom:20px
}

.terms-of-service .tos-content .content-section .info-box {
display:flex;
align-items:flex-start;
gap:15px;
padding:20px;
background-color:color-mix(in srgb,var(--accent-color),transparent 95%);
border-radius:15px;
margin-top:20px
}

.terms-of-service .tos-content .content-section .info-box i {
font-size:1.5rem;
color:var(--accent-color);
flex-shrink:0
}

.terms-of-service .tos-content .content-section .list-items {
list-style:none;
padding:0;
margin:20px 0
}

.terms-of-service .tos-content .content-section .list-items li {
position:relative;
padding-left:25px;
margin-bottom:12px;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.terms-of-service .tos-content .content-section .list-items li::before {
content:"";
position:absolute;
left:0;
top:10px;
width:6px;
height:6px;
border-radius:50%;
background-color:var(--accent-color)
}

.alert-box {
display:flex;
gap:20px;
padding:25px;
background-color:color-mix(in srgb,var(--accent-color),transparent 95%);
border-left:4px solid var(--accent-color);
border-radius:15px;
margin-top:20px
}

.alert-box i {
font-size:2rem;
color:var(--accent-color);
flex-shrink:0
}

.alert-box .alert-content h5 {
font-size:1.1rem;
margin-bottom:8px
}

/* Meeting Point */
.alert-box-meeting-point {
  --alert-color: #4a90e2; /* Blue */
  background-color: color-mix(in srgb, var(--alert-color), transparent 90%);
  border-left-color: var(--alert-color);
  color: #2c5ea8;
}
.alert-box-meeting-point i {
  color: var(--alert-color);
}

/* Reminder */
.alert-box-reminder {
  --alert-color: #f5a623; /* Yellow */
  background-color: color-mix(in srgb, var(--alert-color), transparent 90%);
  border-left-color: var(--alert-color);
  color: #856404;
}
.alert-box-reminder i {
  color: var(--alert-color);
}

/* Cancellation Policy */
.alert-box-cancellation {
  --alert-color: #d0021b; /* Red */
  background-color: color-mix(in srgb, var(--alert-color), transparent 90%);
  border-left-color: var(--alert-color);
  color: #a83c3c;
}
.alert-box-cancellation i {
  color: var(--alert-color);
}

/* What to Bring */
.alert-box-what-to-bring {
  --alert-color: #7ed321; /* Green */
  background-color: color-mix(in srgb, var(--alert-color), transparent 90%);
  border-left-color: var(--alert-color);
  color: #2d7d2d;
}
.alert-box-what-to-bring i {
  color: var(--alert-color);
}

/* Children Policy */
.alert-box-children-policy {
  --alert-color: #9013fe; /* Purple */
  background-color: color-mix(in srgb, var(--alert-color), transparent 90%);
  border-left-color: var(--alert-color);
  color: #5a2d7d;
}
.alert-box-children-policy i {
  color: var(--alert-color);
}

.terms-of-service .tos-content .content-section .prohibited-list {
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:20px
}

.terms-of-service .tos-content .content-section:last-child,.terms-of-service .tos-content .content-section p:last-child,.terms-of-service .tos-content .content-section .list-items li:last-child {
margin-bottom:0
}

.terms-of-service .tos-content .content-section .info-box p,.alert-box .alert-content p {
margin:0;
font-size:.95rem
}

@media (max-width: 576px) {
.terms-of-service .tos-content .content-section .prohibited-list {
grid-template-columns:1fr
}
}

.terms-of-service .tos-content .content-section .prohibited-list .prohibited-item {
display:flex;
align-items:center;
gap:12px;
padding:15px;
background-color:var(--surface-color);
border-radius:12px
}

.terms-of-service .tos-content .content-section .prohibited-list .prohibited-item i {
color:#dc3545;
font-size:1.2rem
}

.terms-of-service .tos-content .content-section .prohibited-list .prohibited-item span {
font-size:.95rem;
color:color-mix(in srgb,var(--default-color),transparent 20%)
}

.terms-of-service .tos-content .content-section .disclaimer-box {
background-color:var(--surface-color);
padding:25px;
border-radius:15px;
margin-top:20px
}

.terms-of-service .tos-content .content-section .disclaimer-box p {
margin-bottom:15px;
font-weight:500
}

.terms-of-service .tos-content .content-section .disclaimer-box ul {
list-style:none;
padding:0;
margin:0
}

.terms-of-service .tos-content .content-section .disclaimer-box ul li {
position:relative;
padding-left:25px;
margin-bottom:12px;
color:color-mix(in srgb,var(--default-color),transparent 20%);
font-size:.95rem
}

.terms-of-service .tos-content .content-section .disclaimer-box ul li:last-child {
margin-bottom:0
}

.terms-of-service .tos-content .content-section .disclaimer-box ul li::before {
content:"•";
position:absolute;
left:8px;
color:var(--accent-color)
}

.terms-of-service .tos-content .content-section .notice-box {
display:flex;
align-items:center;
gap:15px;
padding:20px;
background-color:color-mix(in srgb,var(--accent-color),transparent 95%);
border-radius:15px;
margin-top:20px
}

.terms-of-service .tos-content .content-section .notice-box i {
font-size:1.5rem;
color:var(--accent-color);
flex-shrink:0
}

.terms-of-service .tos-content .content-section .notice-box p {
margin:0;
font-size:.95rem
}

.terms-of-service .tos-contact {
margin-top:60px
}

.terms-of-service .tos-contact .contact-box {
background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color),transparent 95%) 0%,color-mix(in srgb,var(--accent-color),transparent 98%) 100%);
border-radius:20px;
padding:40px;
display:flex;
align-items:center;
gap:30px
}

@media (max-width: 576px) {
.terms-of-service .tos-contact .contact-box {
flex-direction:column;
text-align:center
}
}

.terms-of-service .tos-contact .contact-box .contact-icon {
width:60px;
height:60px;
background-color:var(--accent-color);
border-radius:15px;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0
}

.terms-of-service .tos-contact .contact-box .contact-icon i {
font-size:1.8rem;
color:var(--contrast-color)
}

.terms-of-service .tos-contact .contact-box .contact-content {
flex:1
}

.terms-of-service .tos-contact .contact-box .contact-content h4 {
font-size:1.4rem;
margin-bottom:8px
}

.terms-of-service .tos-contact .contact-box .contact-content p {
color:color-mix(in srgb,var(--default-color),transparent 30%);
margin-bottom:15px
}

.terms-of-service .tos-contact .contact-box .contact-content .contact-link {
display:inline-flex;
align-items:center;
gap:8px;
padding:12px 25px;
background-color:var(--accent-color);
color:var(--contrast-color);
border-radius:30px;
text-decoration:none;
font-weight:500;
transition:all .3s
}

.terms-of-service .tos-contact .contact-box .contact-content .contact-link:hover {
transform:translateY(-2px);
box-shadow:0 5px 15px rgba(0,0,0,0.1)
}

@media print {
.terms-of-service .tos-contact {
display:none
}

.terms-of-service .content-section {
page-break-inside:avoid
}
}

.privacy {
font-size:1rem;
line-height:1.7
}

.privacy .privacy-header {
margin-bottom:60px;
text-align:center;
border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 90%);
padding-bottom:40px
}

.privacy .privacy-header .header-content {
max-width:800px;
margin:0 auto
}

.privacy .privacy-header .header-content .last-updated {
font-size:.95rem;
color:color-mix(in srgb,var(--default-color),transparent 40%);
margin-bottom:20px
}

.privacy .privacy-header .header-content h1 {
font-size:2.8rem;
color:var(--heading-color);
margin-bottom:20px;
font-weight:600
}

.privacy .privacy-header .header-content .intro-text {
font-size:1.2rem;
color:color-mix(in srgb,var(--default-color),transparent 20%);
line-height:1.6
}

.privacy .privacy-content {
max-width:800px;
margin:0 auto 60px
}

.privacy .privacy-content .content-section {
margin-bottom:50px
}

.privacy .privacy-content .content-section h2 {
font-size:1.8rem;
color:var(--heading-color);
margin-bottom:25px;
font-weight:600
}

.privacy .privacy-content .content-section h3 {
font-size:1.4rem;
color:var(--heading-color);
margin:30px 0 20px;
font-weight:500
}

.privacy .privacy-content .content-section ul {
list-style:none;
padding:0;
margin:0 0 20px
}

.privacy .privacy-content .content-section ul li {
position:relative;
padding-left:25px;
margin-bottom:12px
}

.privacy .privacy-content .content-section ul li::before {
content:"•";
position:absolute;
left:8px;
color:var(--accent-color)
}

.privacy .privacy-contact {
max-width:800px;
margin:0 auto;
padding-top:40px;
border-top:1px solid color-mix(in srgb,var(--default-color),transparent 90%)
}

.privacy .privacy-contact h2 {
font-size:1.8rem;
color:var(--heading-color);
margin-bottom:20px;
font-weight:600
}

.privacy .privacy-contact .contact-details {
background-color:var(--surface-color);
padding:25px;
border-radius:10px
}

.privacy .privacy-contact .contact-details p {
margin-bottom:10px
}

.privacy .privacy-contact .contact-details p strong {
color:var(--heading-color);
font-weight:600
}

.privacy .privacy-content .content-section:last-child,.privacy .privacy-content .content-section p:last-child,.privacy .privacy-content .content-section ul li:last-child,.privacy .privacy-contact .contact-details p:last-child {
margin-bottom:0
}

.privacy .privacy-content .content-section p,.privacy .privacy-contact p {
margin-bottom:20px
}

@media print {
.privacy {
font-size:12pt;
line-height:1.5
}

.privacy .privacy-header {
text-align:left;
border-bottom:1pt solid #000;
padding-bottom:20pt;
margin-bottom:30pt
}

.privacy h1 {
font-size:24pt
}

.privacy h2 {
font-size:18pt;
page-break-after:avoid
}

.privacy h3 {
font-size:14pt;
page-break-after:avoid
}

.privacy p,.privacy ul {
page-break-inside:avoid
}

.privacy .contact-details {
border:1pt solid #000;
padding:15pt
}
}

@media (max-width: 767px) {
.privacy .privacy-header {
margin-bottom:40px;
padding-bottom:30px
}

.privacy .privacy-header .header-content h1 {
font-size:2.2rem
}

.privacy .privacy-header .header-content .intro-text {
font-size:1.1rem
}

.privacy .privacy-content .content-section {
margin-bottom:40px
}

.privacy .privacy-content .content-section h2 {
font-size:1.6rem
}

.privacy .privacy-content .content-section h3 {
font-size:1.3rem
}
}

.error-404 {
padding:100px 0;
background:linear-gradient(135deg,color-mix(in srgb,var(--background-color),transparent 0%),color-mix(in srgb,var(--background-color),var(--accent-color) 4%))
}

.error-404 .error-wrapper {
position:relative;
overflow:hidden
}

.error-404 .error-illustration {
position:relative;
height:350px;
display:flex;
align-items:center;
justify-content:center
}

.error-404 .error-illustration i {
font-size:9rem;
color:color-mix(in srgb,var(--accent-color),transparent 10%);
position:relative;
z-index:2;
animation:pulse 2s infinite
}

.error-404 .error-illustration .circle {
position:absolute;
border-radius:50%;
opacity:.6
}

.error-404 .error-illustration .circle.circle-1 {
width:200px;
height:200px;
background:color-mix(in srgb,var(--accent-color),transparent 80%);
animation:float 6s ease-in-out infinite
}

.error-404 .error-illustration .circle.circle-2 {
width:120px;
height:120px;
background:color-mix(in srgb,var(--heading-color),transparent 85%);
top:30%;
left:25%;
animation:float 8s ease-in-out infinite
}

.error-404 .error-illustration .circle.circle-3 {
width:80px;
height:80px;
background:color-mix(in srgb,var(--accent-color),transparent 75%);
bottom:20%;
right:30%;
animation:float 7s ease-in-out infinite reverse
}

.error-404 .error-content {
padding:30px 0
}

.error-404 .error-badge {
display:inline-block;
background-color:color-mix(in srgb,var(--accent-color),transparent 85%);
color:var(--accent-color);
font-size:.9rem;
font-weight:600;
padding:.5rem 1.5rem;
border-radius:30px;
margin-bottom:1.5rem;
letter-spacing:1px;
text-transform:uppercase
}

.error-404 .error-code {
font-size:clamp(5rem,10vw,8rem);
font-weight:900;
margin:0;
background:linear-gradient(135deg,var(--heading-color),var(--accent-color));
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
line-height:1;
letter-spacing:-2px
}

.error-404 .error-title {
font-size:2.5rem;
font-weight:700;
color:var(--heading-color);
margin-bottom:1.5rem
}

.error-404 .error-description {
font-size:1.1rem;
color:color-mix(in srgb,var(--default-color),transparent 15%);
margin-bottom:2rem;
line-height:1.6
}

.error-404 .error-actions {
display:flex;
gap:1rem;
margin-bottom:2.5rem;
flex-wrap:wrap
}

.error-404 .error-actions .btn-home,.error-404 .error-actions .btn-help {
padding:.8rem 1.8rem;
border-radius:8px;
font-weight:600;
display:inline-flex;
align-items:center;
gap:.5rem;
transition:all .3s ease
}

.error-404 .error-actions .btn-home i,.error-404 .error-actions .btn-help i {
font-size:1.2rem
}

.error-404 .error-actions .btn-home {
background-color:var(--accent-color);
color:var(--contrast-color);
border:none
}

.error-404 .error-actions .btn-home:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 15%);
transform:translateY(-3px);
box-shadow:0 5px 15px color-mix(in srgb,var(--accent-color),transparent 70%)
}

.error-404 .error-actions .btn-help {
background-color:transparent;
color:var(--accent-color);
border:2px solid color-mix(in srgb,var(--accent-color),transparent 75%)
}

.error-404 .error-actions .btn-help:hover {
background-color:color-mix(in srgb,var(--accent-color),transparent 90%);
transform:translateY(-3px)
}

.error-404 .error-suggestions {
padding:1.5rem;
background-color:color-mix(in srgb,var(--background-color),var(--accent-color) 5%);
border-radius:12px
}

.error-404 .error-suggestions h3 {
font-size:1.2rem;
font-weight:600;
color:var(--heading-color);
margin-bottom:1rem
}

.error-404 .error-suggestions ul {
list-style:none;
padding:0;
margin:0
}

.error-404 .error-suggestions ul li {
margin-bottom:.8rem
}

.error-404 .error-suggestions ul li:last-child {
margin-bottom:0
}

.error-404 .error-suggestions ul li a {
display:flex;
align-items:center;
gap:.5rem;
color:var(--default-color);
font-size:1.05rem;
transition:all .3s
}

.error-404 .error-suggestions ul li a i {
color:var(--accent-color);
font-size:1.1rem;
transition:transform .3s
}

.error-404 .error-suggestions ul li a:hover {
color:var(--accent-color)
}

.error-404 .error-suggestions ul li a:hover i {
transform:translateX(3px)
}

@keyframes float {
0%,100% {
transform:translateY(0)
}

50% {
transform:translateY(-20px)
}
}

@keyframes pulse {
0%,100% {
transform:scale(1)
}

50% {
transform:scale(1.05)
}
}

@media (max-width: 992px) {
.error-404 .error-illustration {
height:300px;
margin-bottom:2rem
}
}

@media (max-width: 768px) {
.error-404 {
padding:70px 0
}

.error-404 .error-code {
font-size:clamp(4rem,12vw,6rem)
}

.error-404 .error-title {
font-size:1.8rem
}

.error-404 .error-actions {
flex-direction:column
}

.error-404 .error-actions .btn-home,.error-404 .error-actions .btn-help {
width:100%;
justify-content:center
}
}

