/* --- Global helpers --- */
.glassy-nav {
  backdrop-filter: blur(6px);
  background-color: rgba(0, 0, 0, 0.3) !important;
}

/* Animation Classes */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-on-scroll {
  opacity: 0;
  animation-fill-mode: both;
  animation-duration: 0.8s;
  animation-timing-function: ease-out;
}

.animate-on-scroll.animate {
  animation-name: fadeInUp;
  opacity: 1;
}

.animate-slide-left {
  animation-name: slideInLeft;
}

.animate-slide-right {
  animation-name: slideInRight;
}

.animate-scale {
  animation-name: scaleIn;
}

/* 3D Hero Section - FULLSCREEN on Desktop and Mobile */
.hero-3d-section {
  position: relative;
  width: 100%;
  height: 100vh;  /* TRUE FULLSCREEN - Full viewport height */
  min-height: 100vh;
  overflow: hidden;
  background: linear-gradient(180deg, 
    rgba(0, 0, 0, 0.4) 0%, 
    rgba(0, 0, 0, 0.2) 30%,
    rgba(0, 0, 0, 0.1) 50%,
    rgba(0, 0, 0, 0.2) 70%,
    rgba(0, 0, 0, 0.4) 100%);
  border-radius: 0;  /* No border radius for true fullscreen */
  margin-top: -80px;  /* Pull up to navbar */
  padding-top: 80px;  /* Maintain content positioning */
}

.hero-3d-section #bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: calc(100% + 80px);  /* Extended height to cover area up to navbar */
  top: -80px;  /* Position to reach up to navbar */
  z-index: 1;  /* Optimized z-index for better 3D visibility */
  pointer-events: auto;  /* Allow interactions with 3D scene */
  display: block;
  opacity: 0;  /* Start hidden, fade in when ready */
  transition: opacity 1s ease-in-out;
  background: transparent;  /* Transparent background to show 3D animation */
}


/* Optimized hero overlay positioning for 3D */
.hero-3d-section .hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;  /* Ensure text is well above 3D scene */
  display: flex;
  align-items: center;
  background: linear-gradient(180deg, 
    rgba(0, 0, 0, 0.5) 0%, 
    rgba(0, 0, 0, 0.3) 20%, 
    rgba(0, 0, 0, 0.1) 40%,
    rgba(0, 0, 0, 0.05) 50%,
    rgba(0, 0, 0, 0.1) 60%,
    rgba(0, 0, 0, 0.3) 80%,
    rgba(0, 0, 0, 0.5) 100%);  /* Extended overlay covering entire height with smooth fade */
  pointer-events: none;  /* Allow clicks to pass through to 3D scene */
}

.hero-3d-section .hero-overlay * {
  pointer-events: auto;  /* Re-enable pointer events for interactive elements */
}

/* Enhanced hero sizing for 3D optimization - FULLSCREEN */
.hero-carousel,
.hero-carousel .carousel,
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item { 
  height: 100vh;  /* TRUE FULLSCREEN */
  min-height: 100vh;
  position: relative;
  z-index: 2;
}

.hero-carousel .carousel-item > img {
  width: 100%; 
  height: 100%; 
  object-fit: cover;
  opacity: 0;  /* Hide carousel images when 3D is active */
  display: none; /* Completely hide to improve 3D performance */
}

/* Enhanced text styling for 3D hero with better visibility */
.hero-3d-section .hero-overlay h1,
.hero-3d-section .hero-overlay h3,
.hero-3d-section .hero-overlay h5 {
  text-shadow: 
    0 2px 4px rgba(0, 0, 0, 1),
    0 4px 8px rgba(0, 0, 0, 0.9),
    0 8px 16px rgba(0, 0, 0, 0.8),
    0 0 40px rgba(0, 0, 0, 1),
    0 0 80px rgba(0, 0, 0, 0.7);  /* Enhanced text shadows for better readability over 3D animation */
  color: #ffffff;
  font-weight: 700;
  position: relative;
}

.hero-3d-section .hero-overlay .button-52 {
  box-shadow: 
    0 4px 15px rgba(255, 215, 0, 0.4),
    0 8px 25px rgba(0, 0, 0, 0.6),
    0 0 30px rgba(255, 215, 0, 0.2);
  transition: all 0.3s ease;
  position: relative;
  z-index: 15;
}

.hero-3d-section .hero-overlay .button-52:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 
    0 6px 20px rgba(255, 215, 0, 0.5),
    0 12px 35px rgba(0, 0, 0, 0.7),
    0 0 50px rgba(255, 215, 0, 0.3);
}


/* 3D Scene Performance Optimizations - FULLSCREEN ON ALL DEVICES */
@media (max-width: 768px) {
  .hero-3d-section {
    height: 100vh;  /* TRUE FULLSCREEN on tablets */
    min-height: 100vh;
    margin-top: -60px;
    padding-top: 60px;
  }
  
  .hero-carousel,
  .hero-carousel .carousel,
  .hero-carousel .carousel-inner,
  .hero-carousel .carousel-item { 
    height: 100vh;  /* TRUE FULLSCREEN on tablets */
    min-height: 100vh;
  }
  
  /* Maintain extended coverage on mobile - NO SCALING */
  .hero-3d-section #bg-canvas {
    height: calc(100% + 60px);
    top: -60px;
    transform: none;  /* Full size 3D model on tablets */
  }
}

/* Enhanced performance for mobile phones - FULLSCREEN */
@media (max-width: 480px) {
  .hero-3d-section {
    height: 100vh;  /* TRUE FULLSCREEN on mobile phones */
    min-height: 100vh;
    margin-top: -50px;
    padding-top: 50px;
  }
  
  .hero-3d-section #bg-canvas {
    height: calc(100% + 50px);
    top: -50px;
    transform: none;  /* Full size 3D model on mobile */
  }
}

/* Reduced motion preferences - disable 3D animations */
@media (prefers-reduced-motion: reduce) {
  .hero-3d-section #bg-canvas {
    animation: none;
    transform: none !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .hero-3d-section .hero-overlay {
    background: rgba(0, 0, 0, 0.9);
  }
  
  .hero-3d-section .hero-overlay h1,
  .hero-3d-section .hero-overlay h3,
  .hero-3d-section .hero-overlay h5 {
    text-shadow: none;
    border: 2px solid #FFD700;
    padding: 0.5rem;
    background: rgba(0, 0, 0, 0.8);
  }
}

/* Ensure no unwanted blur effects on any images */
img {
  filter: none !important;
  opacity: 1 !important;
  transition: transform 0.3s ease;
}

img:hover {
  transform: scale(1.02);
}


/* Enhanced Section-specific dark gradient backgrounds with smooth transitions */
.intro-section {
  background: linear-gradient(135deg, 
    #000000 0%, 
    #0a0a0a 15%, 
    #1a1a1a 30%, 
    #2d2d2d 50%, 
    #1a1a1a 70%, 
    #0a0a0a 85%, 
    #000000 100%);
  position: relative;
  min-height: 50vh;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.why-section {
  background: linear-gradient(135deg, 
    #1a1a1a 0%, 
    #2d2d2d 10%, 
    #404040 25%, 
    #606060 40%, 
    #808080 50%, 
    #606060 60%, 
    #404040 75%, 
    #2d2d2d 90%, 
    #1a1a1a 100%);
  position: relative;
  min-height: 60vh;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.offers-section {
  background: linear-gradient(135deg, 
    #2d2d2d 0%, 
    #1a1a1a 12%, 
    #000000 20%, 
    #404040 35%, 
    #606060 50%, 
    #404040 65%, 
    #1a1a1a 78%, 
    #2d2d2d 88%, 
    #000000 100%);
  position: relative;
  min-height: 80vh;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.gallery-section {
  background: linear-gradient(135deg, 
    #404040 0%, 
    #606060 15%, 
    #808080 25%, 
    #a0a0a0 40%, 
    #ffffff 50%, 
    #a0a0a0 60%, 
    #808080 75%, 
    #606060 85%, 
    #404040 100%);
  position: relative;
  min-height: 60vh;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.faq-section {
  background: linear-gradient(135deg, 
    #000000 0%, 
    #1a1a1a 15%, 
    #2d2d2d 25%, 
    #404040 35%, 
    #606060 50%, 
    #404040 65%, 
    #2d2d2d 75%, 
    #1a1a1a 85%, 
    #000000 100%);
  position: relative;
  min-height: 50vh;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.cta-section {
  background: linear-gradient(135deg, 
    #1a1a1a 0%, 
    #000000 20%, 
    #2d2d2d 35%, 
    #404040 50%, 
    #2d2d2d 65%, 
    #000000 80%, 
    #1a1a1a 100%);
  position: relative;
  min-height: 40vh;
}

/* Add enhanced overlay for better text readability in dark theme */
.intro-section::before,
.why-section::before,
.offers-section::before,
.faq-section::before,
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: 0;
}

/* Special overlay for gallery section (lighter) */
.gallery-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.1);
  pointer-events: none;
  z-index: 0;
}

/* Ensure content is above overlay */
.intro-section > .container,
.why-section > .container,
.offers-section > .container,
.gallery-section > .container,
.faq-section > .container,
.cta-section > .cta-band {
  position: relative;
  z-index: 1;
}

/* Section headings with enhanced typography */
.section-title {
  font-weight: 800;
  letter-spacing: 0.2px;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.gallery-section .section-title {
  color: #333;
  text-shadow: 0 2px 8px rgba(255, 255, 255, 0.3);
}

/* Intro text width for readability */
.intro-text {
  max-width: 880px;
  color: #f5f5f5;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* Feature cards - dark theme with enhanced styling */
.feature .icon-wrap {
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 12px; margin-bottom: .5rem;
  background: linear-gradient(135deg, #404040, #606060, #808080);
  font-size: 1.2rem;
  color: #FFD700;  /* Changed to yellow */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature .icon-wrap:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.feature .card-title { 
  font-weight: 700; 
  color: #fff;
}

/* Enhanced feature cards with hover effects */
.feature.card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.feature.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Offer cards uniform size with enhanced styling */
.offers-section .card {
  min-height: 400px;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

.offers-section .card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
  border-color: rgba(255, 255, 255, 0.25);
}

.offers-section .card-img-top {
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.offers-section .card:hover .card-img-top {
  transform: scale(1.05);
}

.offers-section .card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Sample itinerary highlight - dark theme */
.itinerary .card-body { 
  border-left: 4px solid #808080; 
}

/* Enhanced Gallery with hover effects */
.gallery-img { 
  aspect-ratio: 4 / 3; 
  object-fit: cover;
  transition: transform 0.3s ease, filter 0.3s ease;
  cursor: pointer;
}

.gallery-img:hover {
  transform: scale(1.05);
  filter: brightness(1.1);
}

/* CTA band - enhanced gradient */
.cta-band { 
  background: linear-gradient(90deg, 
    #000000 0%, 
    #2d2d2d 15%, 
    #404040 25%, 
    #606060 40%, 
    #808080 50%, 
    #606060 60%, 
    #404040 75%, 
    #2d2d2d 85%, 
    #000000 100%); 
}

/* Enhanced Floating WhatsApp with better animations */
.wa-fab {
  position: fixed; right: 18px; bottom: 18px;
  width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center; border: 0;
  background: linear-gradient(135deg, #25D366, #128C7E); 
  color: #fff; font-size: 1.6rem;
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.4); z-index: 1100;
  animation: pulse-whatsapp 2s infinite;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wa-fab:hover {
  transform: scale(1.1);
  box-shadow: 0 15px 30px rgba(37, 211, 102, 0.6);
}

.wa-fab:active { transform: translateY(1px) scale(1.05); }

/* Enhanced WhatsApp animations */
@keyframes pulse-whatsapp {
  0%, 100% { 
    transform: scale(1); 
    box-shadow: 0 10px 24px rgba(37, 211, 102, 0.4);
  }
  50% { 
    transform: scale(1.05); 
    box-shadow: 0 15px 30px rgba(37, 211, 102, 0.6);
  }
}

.wa-fab::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(37, 211, 102, 0.3);
  animation: ripple-whatsapp 2s infinite;
  z-index: -1;
}

@keyframes ripple-whatsapp {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(2.5); opacity: 0; }
}

.wa-popup {
  position: fixed; right: 18px; bottom: 86px; width: min(92vw, 320px);
  border: 0; border-radius: 16px; display: none; z-index: 1100;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.wa-popup.show { 
  display: block; 
  animation: slideInUp 0.3s ease;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Optional: fine-tune your custom buttons if needed to harmonize */
.button-51, .button-52 { text-decoration: none; }

/* Remove dash from blockquote-footer in hero section */
.hero-3d-section .blockquote-footer::before {
  content: none !important;
}

/* Waterfall effect for itinerary days */
.itinerary-day {
  position: relative;
  padding: 0.75rem;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.itinerary-day::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, 
    transparent, 
    rgba(255, 215, 0, 0.1), 
    transparent, 
    rgba(255, 215, 0, 0.2), 
    transparent);
  animation: waterfall 4s infinite;
  pointer-events: none;
}

@keyframes waterfall {
  0% {
    transform: translateY(-100%) translateX(-100%);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(100%) translateX(100%);
    opacity: 0;
  }
}

.itinerary-day:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3);
}

/* Make itinerary image match the full height of the scaled itinerary section */
.itinerary-image {
  height: 100% !important;
  min-height: 350px;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

/* Ensure the image container matches the card height */
.itinerary-image-container {
  height: 100%;
  display: flex;
  align-items: stretch;
}

.itinerary-image-container .animate-on-scroll {
  height: 100%;
  width: 100%;
}

/* Additional spacing for 2x2 grid layout */
.itinerary .row .col-6:nth-child(odd) {
  margin-bottom: 1rem;
}

.itinerary .row .col-6:nth-child(even) {
  margin-bottom: 1rem;
}

/* Ensure the scaled itinerary card and image container have equal heights */
.itinerary.card {
  height: auto;
}

.row.mt-5 {
  align-items: stretch;
}

.row.mt-5 > .col-lg-8,
.row.mt-5 > .col-lg-4 {
  display: flex;
  flex-direction: column;
}

/* All buttons now use the universal golden theme style defined in main styles.css */

/* Dark theme palette variables */
:root {
  /* Dark gradient theme */
  --tula-accent: #808080;
}

/* ================================
   MOBILE RESPONSIVE ENHANCEMENTS
   ================================ */

/* Hero Text Responsive Sizing */
.hero-small-text {
  font-size: clamp(1.5rem, 4vw, 3rem);
}

.hero-main-text {
  font-size: clamp(2rem, 7vw, 5rem);
  line-height: 1.2;
}

.hero-button {
  font-size: clamp(0.9rem, 2.5vw, 1.1rem);
  padding: clamp(0.75rem, 2vw, 1rem) clamp(1.25rem, 3vw, 2rem);
}

/* Mobile Hero Adjustments - FULLSCREEN */
@media (max-width: 768px) {
  .hero-overlay {
    padding: 1.5rem 1rem !important;
    align-items: center;  /* Center content vertically in fullscreen */
    padding-top: 3rem !important;
  }
  
  .hero-main-text {
    margin-bottom: 1rem;
  }
  
  .hero-3d-section {
    height: 100vh;  /* Ensure fullscreen on tablets */
    min-height: 100vh;
  }
}

/* Extra Small Devices - FULLSCREEN */
@media (max-width: 576px) {
  .hero-overlay {
    padding: 1rem 0.75rem !important;
    padding-top: 2.5rem !important;
    align-items: center;  /* Center content in fullscreen */
  }
  
  .hero-small-text small {
    font-size: clamp(1rem, 3vw, 1.5rem);
  }
  
  .hero-main-text {
    word-break: break-word;
  }
  
  .hero-3d-section {
    height: 100vh;  /* TRUE FULLSCREEN on mobile */
    min-height: 100vh;
  }
}

/* Section Title Responsive */
.section-title {
  font-size: clamp(1.75rem, 5vw, 2.5rem);
}

/* Intro Section Mobile */
@media (max-width: 991px) {
  .intro-section .col-lg-6 {
    margin-bottom: 2rem;
  }
  
  .intro-section img {
    max-height: 300px !important;
  }
}

/* Why Section Cards - Better Mobile Grid */
@media (max-width: 767px) {
  .why-section .col-sm-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Offers Cards - Mobile Optimization */
@media (max-width: 767px) {
  .offers-section .card {
    min-height: 350px;
  }
  
  .offers-section .card-img-top {
    height: 180px;
  }
}

/* Gallery - Better Mobile Grid */
@media (max-width: 576px) {
  .gallery-section .col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .gallery-img {
    height: 150px;
    object-fit: cover;
  }
}

/* Itinerary Mobile Fixes */
@media (max-width: 991px) {
  .itinerary-image-container {
    margin-top: 1.5rem;
  }
  
  .itinerary-image {
    min-height: 250px;
    max-height: 400px;
  }
  
  .itinerary.card {
    transform: scale(1) !important;
  }
}

@media (max-width: 576px) {
  .itinerary-day {
    font-size: 0.9rem;
    padding: 0.6rem;
  }
  
  .itinerary-day strong {
    display: block;
    margin-bottom: 0.25rem;
  }
  
  .itinerary-day .bi {
    font-size: 0.85rem;
  }
}

/* FAQ Mobile */
@media (max-width: 576px) {
  .accordion-button {
    font-size: 0.95rem;
    padding: 0.875rem 1rem;
  }
  
  .accordion-body {
    font-size: 0.9rem;
    padding: 1rem;
  }
}

/* WhatsApp Popup Mobile */
@media (max-width: 576px) {
  .wa-popup {
    width: calc(100vw - 2rem);
    right: 1rem;
    bottom: 76px;
  }
  
  .wa-fab {
    right: 1rem;
    bottom: 1rem;
    width: 52px;
    height: 52px;
    font-size: 1.5rem;
  }
}

/* Footer Mobile Optimization */
@media (max-width: 767px) {
  .site-footer .col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .site-footer h6 {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  
  .site-footer .small {
    font-size: 0.85rem;
  }
}

/* Button Mobile Adjustments */
@media (max-width: 576px) {
  .button-52, .button-51 {
    font-size: 0.9rem !important;
    padding: 0.75rem 1.25rem !important;
    min-width: auto !important;
  }
  
  .button-52.w-100, .button-51.w-100 {
    width: 100% !important;
  }
}

/* Navbar Mobile Enhancements */
@media (max-width: 991px) {
  .navbar-brand {
    font-size: 1.25rem;
  }
  
  .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
    margin-top: 0.5rem;
    padding: 1rem;
    border-radius: 8px;
  }
  
  .navbar .nav-link {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  
  .navbar .nav-link:last-child {
    border-bottom: none;
  }
  
  .navbar .d-flex {
    margin-top: 1rem;
  }
  
  .navbar .button-51 {
    width: 100%;
  }
}

/* Scroll to Top Button Mobile */
@media (max-width: 576px) {
  .scroll-up-button {
    width: 45px;
    height: 45px;
    font-size: 1rem;
    left: 10px;
    bottom: 75px;
  }
}

/* Gallery Intro Images Mobile */
@media (max-width: 767px) {
  .gallery-section .col-md-6 img {
    height: 250px !important;
  }
}

/* Card Title and Text Mobile */
@media (max-width: 576px) {
  .card-title {
    font-size: 1.1rem;
  }
  
  .card-text {
    font-size: 0.9rem;
  }
  
  .lead {
    font-size: 1rem;
  }
}

/* Intro Text Mobile */
@media (max-width: 767px) {
  .intro-text {
    font-size: 1rem;
    line-height: 1.6;
  }
}

/* Feature Icon Mobile */
@media (max-width: 576px) {
  .feature .icon-wrap {
    width: 38px;
    height: 38px;
    font-size: 1rem;
  }
}

/* CTA Section Mobile */
@media (max-width: 576px) {
  .cta-section h3 {
    font-size: 1.5rem;
  }
}

/* Prevent horizontal scroll on mobile */
@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
  
  .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* Touch-friendly tap targets */
@media (hover: none) and (pointer: coarse) {
  .nav-link,
  .button-51,
  .button-52,
  .dropdown-item,
  .footer-link {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* Professional accordion styling for FAQ */
.accordion-item {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 8px;
  border-radius: 8px;
  overflow: hidden;
}

.accordion-button {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  border: none;
  font-weight: 600;
}

.accordion-button:not(.collapsed) {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  box-shadow: none;
}

.accordion-button:focus {
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.2);
}

.accordion-body {
  background: rgba(255, 255, 255, 0.03);
  color: #f5f5f5;
}
