/* ============================================
   TRIPFLORIC — Responsive Styles
   All breakpoints for desktop, tablet, mobile
   ============================================ */

/* -------- 2K / Large Screens -------- */
@media (max-width: 1440px) {
  .container { max-width: 1200px; }
  .hero-title { font-size: var(--text-5xl); }
}

/* -------- Desktop / Laptop -------- */
@media (max-width: 1280px) {
  .container { max-width: 1100px; padding: 0 var(--space-5); }
  .hero-title { font-size: var(--text-5xl); }
  
  .featured-grid,
  .blog-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .footer .mailchimp .mailchimp-inner { grid-template-columns: 1fr 1fr !important; gap: var(--space-8) !important; }
  .footer .mailchimp .subcribe-form { max-width: 100% !important; }
  .destinations-grid { grid-template-columns: 1fr 1fr; }
  .destinations-grid .destination-card:first-child { grid-column: span 2; }
}

/* -------- Small Desktop / Large Tablet -------- */
@media (max-width: 1024px) {
  .container { max-width: 960px; }

  /* Navigation */
  .navbar-links { display: none !important; }
  .mobile-menu-toggle { display: flex !important; }
  .navbar .navbar-actions .btn-nav-action,
  .navbar .navbar-actions .currency-selector { display: none !important; }
  .navbar .navbar-actions .btn-primary { padding: var(--space-2) var(--space-4) !important; font-size: var(--text-xs) !important; }
  
  /* Mega menu never shows on mobile */
  .mega-menu { display: none !important; }
  
  /* Search */
  .search-form { grid-template-columns: 1fr 1fr !important; }
  .search-form .btn-search { grid-column: span 2 !important; }

  /* Two-column sidebar layouts (detail pages) */
  [style*="grid-template-columns: 1fr 380px"],
  [style*="grid-template-columns:1fr 380px"],
  [style*="grid-template-columns: 1fr 350px"],
  [style*="grid-template-columns:1fr350px"] { 
    grid-template-columns: 1fr !important; 
  }
  
  /* Two-column content layouts (blog, about, contact, etc.) */
  [style*="grid-template-columns: 2fr 1fr"],
  [style*="grid-template-columns:2fr 1fr"],
  [style*="grid-template-columns: 1fr 300px"],
  [style*="grid-template-columns:1fr300px"] {
    grid-template-columns: 1fr !important;
  }
  
  /* Hide blog sidebar on mobile */
  [style*="grid-template-columns: 2fr 1fr"] > aside,
  [style*="grid-template-columns:2fr 1fr"] > aside {
    display: none !important;
  }
  
  /* Listing Layout */
  .listing-layout { grid-template-columns: 1fr !important; }
  .listing-layout > .sidebar { display: none !important; }

  .turkey-grid { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-4) !important; }
  .deals-grid { grid-template-columns: 1fr !important; }

  /* Featured Grids */
  .featured-grid,
  .blog-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Section Grids */
  .why-us-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .testimonials-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .footer .mailchimp .mailchimp-inner { grid-template-columns: 1fr !important; gap: var(--space-6) !important; }
  .footer .mailchimp .subcribe-form { max-width: 100% !important; }

  /* Contact Info (was stuck at 3-up until 768px) */
  .contact-info-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Tour Cards (was stuck at 3-up until 768px) */
  .tour-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Detail Page (tour/activity/package details) */
  .detail-meta-row { grid-template-columns: repeat(2, 1fr) !important; }
  .detail-layout-grid { grid-template-columns: 1fr 340px !important; gap: var(--space-6) !important; }

  /* Two-column equal layouts (contact form, about, partner, vendor) */
  [style*="grid-template-columns: 1fr 1fr"]:not(.deal-card):not(.gallery-grid):not(.destinations-grid) { 
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns:1fr 1fr"]:not(.deal-card):not(.gallery-grid):not(.destinations-grid) { 
    grid-template-columns: 1fr !important; 
  }

  /* How It Works */
  .hiw-split { grid-template-columns: 1fr 1fr !important; gap: var(--space-8) !important; }
  .hiw-image-frame { aspect-ratio: 3/4 !important; }
  .hiw-float-icon { font-size: 22px !important; }
  .hiw-float-icon--3 { font-size: 26px !important; }

  /* Room Cards */
  .room-card { flex-direction: column !important; }
  .room-card-image { width: 100% !important; height: 240px !important; }

  /* Room Card Enhanced (hotel-details) */
  .room-card-enhanced { flex-direction: column !important; }
  .room-card-enhanced .room-img { width: 100% !important; height: 220px !important; }

  /* Benefits Grid */
  .benefits-grid { grid-template-columns: 1fr !important; }

  /* App Showcase */
  .app-showcase { grid-template-columns: 1fr !important; text-align: center; }
  .app-showcase .app-content p { margin: 0 auto var(--space-6); }
  .app-buttons { justify-content: center; }

  /* FAQ */
  .faq-layout { grid-template-columns: 1fr !important; }
  .faq-categories { position: static !important; display: flex !important; overflow-x: auto !important; gap: var(--space-2); }
  .faq-categories li a { white-space: nowrap; }

  /* Destinations */
  .destinations-grid { grid-template-columns: 1fr 1fr !important; }
  .destinations-grid:not(.destinations-grid-uniform) .destination-card:first-child { grid-column: span 2 !important; }
  .destinations-grid .destination-card { aspect-ratio: 16/10 !important; }

  /* Tour Highlights */
  .tour-highlights { grid-template-columns: repeat(2, 1fr) !important; }

  /* Gallery */
  .gallery-grid { grid-template-columns: 1fr 1fr !important; grid-template-rows: 250px 250px !important; }
  .gallery-grid-item:first-child { grid-column: span 2 !important; grid-row: auto !important; }

  /* Multi-column grids */
  [style*="grid-template-columns: repeat(3"] { 
    grid-template-columns: repeat(2, 1fr) !important; 
  }
  [style*="grid-template-columns:repeat(3"] { 
    grid-template-columns: repeat(2, 1fr) !important; 
  }
  [style*="grid-template-columns: repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns: repeat(5"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(5"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  [style*="grid-template-columns: repeat(6"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Newsletter form — fill available width */
  .footer .mailchimp .mailchimp-inner { grid-template-columns: 1fr !important; text-align: center !important; }
  .footer .mailchimp .mailchimp-text { align-items: center !important; }
  .mailchimp-benefits { justify-content: center !important; }
  .mailchimp-badge { margin: 0 auto !important; }
  .footer .mailchimp .subcribe-form { max-width: 100% !important; width: 100% !important; margin: 0 auto !important; }
  .footer .mailchimp .subcribe-form .form-group { flex-direction: column !important; background: rgba(255,255,255,0.04) !important; padding: var(--space-3) !important; }
  .form-input-wrap { padding: 0 var(--space-3) !important; }
  .footer .mailchimp .subcribe-form .btn-submit { width: 100% !important; justify-content: center !important; }

  /* Two-column inline grids (combines both selector patterns) */
  [style*="grid-template-columns: 1fr 1fr"]:not(.deal-card):not(.gallery-grid):not(.destinations-grid):not(.tour-highlights):not(.how-it-works-grid),
  [style*="grid-template-columns:1fr 1fr"]:not(.deal-card):not(.gallery-grid):not(.destinations-grid):not(.tour-highlights):not(.how-it-works-grid) { 
    grid-template-columns: 1fr !important; 
  }

  /* CTA Section - Tablet */
  .cta-section { padding: var(--space-16) 0 !important; }
  .cta-section h2 { font-size: var(--text-4xl) !important; }

  /* Booking sidebar */
  .booking-sidebar,
  .booking-sidebar-enhanced { position: static !important; }

  /* Detail Page - Tablet: sidebar drops below */
  .detail-layout-grid { grid-template-columns: 1fr !important; }
  .detail-meta-row { grid-template-columns: repeat(2, 1fr) !important; }

  /* Deal Cards */
  .deal-card { flex-direction: column !important; }
  .deal-card-image { width: 100% !important; height: 220px !important; }

  /* Similar Hotels Grid */
  .similar-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Policy Cards */
  .policy-cards { grid-template-columns: 1fr !important; }

  /* Hotel Hero */
  .hotel-hero { height: 55vh !important; min-height: 350px !important; }
  .hotel-hero .thumbnail-strip { display: none !important; }
  
  /* Highlight Grid */
  .highlight-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Amenities Grid */
  .amenities-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Review Summary */
  .review-summary-card { flex-direction: column !important; text-align: center; gap: var(--space-6); }

  /* Newsletter form card — fill available width instead of clinging to right edge */
  .footer .mailchimp .mailchimp-inner { grid-template-columns: 1fr !important; text-align: center !important; }
  .footer .mailchimp .mailchimp-text { align-items: center !important; }
  .mailchimp-benefits { justify-content: center !important; }
  .mailchimp-badge { margin: 0 auto !important; }
  .footer .mailchimp .subcribe-form { max-width: 100% !important; width: 100% !important; margin: 0 auto !important; }
  .footer .mailchimp .subcribe-form .form-group { flex-direction: column !important; background: rgba(255,255,255,0.04) !important; padding: var(--space-3) !important; }
  .form-input-wrap { padding: 0 var(--space-3) !important; }
  .footer .mailchimp .subcribe-form .btn-submit { width: 100% !important; justify-content: center !important; }
}

/* -------- Tablet -------- */
@media (max-width: 768px) {
  :root { --header-height: 64px; }

  .container { padding: 0 var(--space-4); }
  .section { padding: var(--space-14) 0; }
  .section-lg { padding: var(--space-16) 0; }
  .section-header { margin-bottom: var(--space-8); }
  .section-header h2 { font-size: var(--text-3xl); }
  .section-header p { font-size: var(--text-base) !important; }

  /* Navbar */
  .navbar { padding: var(--space-2) 0 !important; }
  .navbar .container { gap: var(--space-3); }
  .navbar-brand img { height: 32px !important; }
  .navbar .navbar-actions .btn-primary { 
    padding: var(--space-1) var(--space-3) !important; 
    font-size: 11px !important; 
  }
  .mobile-menu-toggle { width: 36px; height: 36px; font-size: var(--text-lg); }
  
  /* Hero */
  .hero { min-height: auto; padding-top: var(--header-height); }
  .hero-content { padding: var(--space-10) 0; }
  .hero-title { font-size: var(--text-4xl) !important; }
  .hero-subtitle { font-size: var(--text-base) !important; }
  .hero-stats { display: none !important; }
  .hero-search { padding: var(--space-4); }
  
  /* New hero responsive */
  .hero-new { min-height: auto; }
  .hero-main-title { font-size: var(--text-3xl) !important; }
  .hero-sub-label { font-size: var(--text-sm) !important; }
  .category-pills { gap: var(--space-2); margin-bottom: var(--space-6); overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; -webkit-overflow-scrolling: touch; padding-bottom: var(--space-2); }
  .pill { padding: var(--space-1) var(--space-3); font-size: var(--text-xs); white-space: nowrap; flex-shrink: 0; }
  .hero-search-widget { padding: var(--space-4); border-radius: var(--radius-xl); margin: 0; }
  .sw-form { grid-template-columns: 1fr !important; }
  .sw-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .sw-tab { white-space: nowrap; padding: var(--space-1) var(--space-3); font-size: var(--text-xs); }
  .sw-search-btn { width: 100%; }
  .top-bar .container { padding: 0 var(--space-4); }

  /* Search */
  .search-form { grid-template-columns: 1fr !important; }
  .search-form .btn-search { grid-column: 1 !important; }
  .search-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .search-tab { white-space: nowrap; }

  /* Grids - further reduction */
  .featured-grid { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-4); }
  .why-us-grid { grid-template-columns: 1fr !important; }
  .testimonials-grid { grid-template-columns: 1fr !important; }
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-6); }
  .stat-item h3 { font-size: var(--text-4xl) !important; }
  .footer .mailchimp { padding: var(--space-10) 0 !important; }
  .footer .mailchimp .mailchimp-inner { grid-template-columns: 1fr !important; gap: var(--space-6) !important; text-align: center !important; }
  .footer .mailchimp .mailchimp-text { align-items: center !important; }
  .footer .mailchimp .media-heading { font-size: var(--text-2xl) !important; }
  .mailchimp-benefits { justify-content: center !important; }
  .mailchimp-badge { margin: 0 auto !important; }
  .footer .mailchimp .subcribe-form { max-width: 100% !important; width: 100% !important; margin: 0 auto !important; }
  .footer .mailchimp .subcribe-form .form-group { flex-direction: column !important; padding: var(--space-3) !important; }
  .form-input-wrap { padding: 0 var(--space-3) !important; }
  .footer .mailchimp .subcribe-form .btn-submit { width: 100% !important; justify-content: center !important; }

  /* Destinations Grid */
  .destinations-grid { grid-template-columns: 1fr !important; }
  .turkey-grid { grid-template-columns: 1fr !important; }
  .destinations-grid:not(.destinations-grid-uniform) .destination-card:first-child { grid-column: 1 !important; }
  .destinations-grid .destination-card { aspect-ratio: 16/10 !important; }

  /* Newsletter */
  .newsletter-form { flex-direction: column; gap: var(--space-3); }
  .newsletter-section { padding: var(--space-14) 0; }
  .footer .mailchimp { padding: var(--space-8) 0 !important; }

  /* Page Header */
  .page-header h1 { font-size: var(--text-3xl) !important; }
  .page-header p { font-size: var(--text-base) !important; }
  
  /* Tour Search Hero - Mobile */
  .tour-search-hero { min-height: 320px !important; padding-top: calc(var(--header-height) + var(--space-6)) !important; padding-bottom: var(--space-10) !important; }
  .tsh-badge { margin-top: calc(var(--header-height) + var(--space-3)); font-size: var(--text-xs); padding: var(--space-1) var(--space-4); }
  .tsh-search-box { flex-direction: column; max-width: 100%; border-radius: var(--radius-xl); }
  .tsh-field { border-right: none; border-bottom: 1px solid var(--border-light); padding: var(--space-3) var(--space-4); width: 100%; }
  .tsh-field:last-of-type { border-bottom: none; }
  .tsh-search-btn { width: 100%; min-height: 48px; border-radius: 0 0 var(--radius-xl) var(--radius-xl); min-width: auto; }
  
  /* Tour Layout - Mobile */
  .tour-layout { grid-template-columns: 1fr !important; }
  .tour-filter-toggle { display: flex !important; }
  .tour-filter-overlay {
    display: block !important;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: calc(var(--z-modal) - 1);
  }
  .tour-sidebar {
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    left: auto !important;
    width: 320px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    z-index: var(--z-modal) !important;
    border-radius: 0 !important;
    border: none !important;
    transition: right var(--transition-base) !important;
    overflow-y: auto !important;
    margin-bottom: 0 !important;
    box-shadow: var(--shadow-xl) !important;
  }
  .tour-sidebar.open { right: 0 !important; }
  .tour-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Tours Hero (legacy) */
  .hero-tours { min-height: auto !important; }
  .hero-tours .hero-content { padding-top: calc(var(--header-height) + var(--space-4)) !important; }
  .hero-tours-text .hero-main-title { font-size: var(--text-4xl) !important; }
  .hero-tours-text .hero-sub-label { font-size: var(--text-base) !important; }
  .tours-search-inner { grid-template-columns: 1fr 1fr !important; }
  .tours-search-inner .ts-search-btn { grid-column: span 2 !important; }

  /* Sort Bar */
  .sort-bar { flex-wrap: wrap; gap: var(--space-3); }
  .sort-bar .view-toggle { display: none !important; }
  .sort-bar .sort-options select { font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }

  /* How It Works */
  .hiw-split { grid-template-columns: 1fr !important; gap: var(--space-8) !important; }
  .hiw-visual { max-width: 480px; margin: 0 auto; }
  .hiw-image-frame { aspect-ratio: 16/10 !important; }
  .hiw-float-icon { display: none !important; }
  .hiw-steps-side { padding: 0 !important; }

  /* CTA Split */
  .cta-split { grid-template-columns: 1fr !important; gap: var(--space-8) !important; }
  .cta-image-panel { max-width: 480px; margin: 0 auto; }
  .cta-content-inner { max-width: 100% !important; text-align: center !important; }
  .cta-action-group, .cta-section .cta-trust-row { justify-content: center !important; }
  .cta-divider { margin: var(--space-8) auto !important; }

  /* Checkout Form */
  .form-row { grid-template-columns: 1fr !important; }
  .payment-icons-row { gap: var(--space-4); padding: var(--space-4); }
  .payment-icons-row img { height: 20px; }
  .booking-summary-card { position: static !important; }

  /* Deal Cards */
  .deal-card { flex-direction: column !important; }
  .deal-card-image { width: 100% !important; height: 220px !important; }
  .deal-card-body .deal-footer { flex-direction: column; gap: var(--space-3); align-items: stretch; }
  .deal-card-body .deal-footer .btn { width: 100%; justify-content: center; }

  /* Contact Info */
  .contact-info-grid { grid-template-columns: 1fr !important; }
  .contact-info-card { padding: var(--space-6) var(--space-5) !important; }

  /* Partner Benefits */
  .benefit-card { padding: var(--space-5) !important; }

  /* Accordion */
  .accordion-header { padding: var(--space-4) var(--space-5) !important; }

  /* Trust Badges */
  .trust-badges { gap: var(--space-6) !important; }

  /* Gallery */
  .gallery-grid { grid-template-columns: 1fr !important; grid-template-rows: 250px !important; }
  .gallery-grid-item:first-child { grid-column: 1 !important; height: 350px; }

  /* Tour Highlights */
  .tour-highlights { grid-template-columns: repeat(2, 1fr) !important; }
  .tour-highlight-item { padding: var(--space-4) var(--space-3); }

  /* App buttons */
  .app-buttons { flex-direction: column; align-items: center; }
  .app-buttons a { width: 100%; max-width: 280px; justify-content: center; }

  /* Destination Hero */
  .destination-hero { height: 40vh; }
  .destination-hero .dest-overlay { padding: var(--space-6); }
  .destination-hero .dest-overlay h1 { font-size: var(--text-3xl) !important; }

  /* 404 */
  .page-404 h1 { font-size: var(--text-6xl) !important; }

  /* Multi-column grids - further reduction on tablet */
  [style*="grid-template-columns: repeat(3"] { 
    grid-template-columns: repeat(2, 1fr) !important; 
  }
  [style*="grid-template-columns:repeat(3"] { 
    grid-template-columns: repeat(2, 1fr) !important; 
  }
  [style*="grid-template-columns: repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns: repeat(5"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(5"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns: repeat(6"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Room card images smaller on tablet */
  .room-card-image { height: 200px !important; }
  .room-card-enhanced .room-img { height: 200px !important; }

  /* Team cards */
  .team-card { padding: var(--space-6) var(--space-4); }
  .team-card img { width: 80px; height: 80px; }

  /* Timeline */
  .timeline { padding-left: var(--space-6); }
  .timeline-item .timeline-dot { left: calc(-1 * var(--space-6) + 8px); width: 12px; height: 12px; }
  
  /* Hero badge */
  .hero-badge { font-size: var(--text-xs); }
  
  /* Category filters */
  .category-filters { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .category-filter { white-space: nowrap; font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }

  /* Hotel Details Specific */
  .hotel-hero { height: 45vh !important; min-height: 280px !important; }
  .hotel-hero .slide-overlay { padding: 40px var(--space-4) var(--space-4); }
  .hotel-hero .slide-overlay .slide-title { font-size: var(--text-base); }
  .carousel-arrow { width: 40px !important; height: 40px !important; font-size: var(--text-base) !important; }
  .carousel-arrow.prev { left: var(--space-3) !important; }
  .carousel-arrow.next { right: var(--space-3) !important; }
  .view-all-photos { bottom: var(--space-4) !important; right: var(--space-4) !important; padding: var(--space-1) var(--space-3) !important; font-size: var(--text-xs) !important; }
  .carousel-dots { bottom: var(--space-4) !important; }

  .hotel-header .hotel-title-row h1 { font-size: var(--text-2xl); }
  .hotel-header .hotel-title-row { flex-wrap: wrap; }

  .detail-tabs .tab-trigger { padding: var(--space-3) var(--space-4); font-size: var(--text-xs); }
  .review-summary-card { padding: var(--space-5); }
  .review-summary-card .score-bars .bar-row .bar-label { min-width: 70px; font-size: var(--text-xs); }

  .booking-sidebar-enhanced { padding: var(--space-6); }

  .highlight-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .amenities-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .similar-grid { grid-template-columns: 1fr !important; }
  .policy-cards { grid-template-columns: 1fr !important; }

  /* Room Card Enhanced Footer */
  .room-card-enhanced .room-body .room-footer { flex-direction: column; gap: var(--space-3); align-items: stretch; }
  .room-card-enhanced .room-body .room-footer .btn-select { width: 100%; justify-content: center; }
}

/* -------- Mobile Large -------- */
@media (max-width: 640px) {
  .navbar-brand img { height: 28px !important; }
  
  .featured-grid,
  .blog-grid { grid-template-columns: 1fr !important; }
  .turkey-grid { grid-template-columns: 1fr !important; }
  .hero-title { font-size: var(--text-3xl) !important; }
  .section-header h2 { font-size: var(--text-2xl) !important; }
  .section-header p { font-size: var(--text-sm) !important; }
  
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-3); }
  .stat-item h3 { font-size: var(--text-3xl) !important; }
  
  .hiw-step-body { padding: var(--space-4) var(--space-4) !important; }
  .hiw-step-icon { width: 40px !important; height: 40px !important; min-width: 40px !important; font-size: var(--text-base) !important; }
  .hiw-step-badge { width: 38px !important; height: 38px !important; font-size: var(--text-sm) !important; }
  .hiw-step-connector { width: 38px !important; }
  .hiw-step-text h4 { font-size: var(--text-sm) !important; }

  .back-to-top { bottom: var(--space-4); right: var(--space-4); width: 40px; height: 40px; font-size: var(--text-lg); }
  .brand-cards-grid { gap: var(--space-3) !important; }
  .brand-card { min-width: 90px !important; padding: var(--space-3) var(--space-4) !important; }
  .brand-card-icon { width: 36px !important; height: 36px !important; font-size: var(--text-2xl) !important; }
  .brand-card-name { font-size: 10px !important; }

  /* Grid reductions */
  [style*="grid-template-columns: repeat(3"] { 
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns:repeat(3"] { 
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns: repeat(2"]:not(.tour-highlights):not(.how-it-works-grid) { 
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns:repeat(2"]:not(.tour-highlights):not(.how-it-works-grid) { 
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns: repeat(4"] {
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns: repeat(6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Two-column inline grids on mobile */
  [style*="grid-template-columns: 1fr 1fr"]:not(.tour-highlights):not(.how-it-works-grid) { 
    grid-template-columns: 1fr !important; 
  }
  [style*="grid-template-columns:1fr 1fr"]:not(.tour-highlights):not(.how-it-works-grid) { 
    grid-template-columns: 1fr !important; 
  }

  /* Tour highlights */
  .tour-highlights { grid-template-columns: 1fr 1fr !important; }

  /* Breadcrumb */
  .breadcrumb { font-size: var(--text-xs); flex-wrap: wrap; }

  /* Page-404 */
  .page-404 h1 { font-size: var(--text-5xl) !important; }
  .page-404 h2 { font-size: var(--text-2xl) !important; }
  
  /* Blog heading sizes */
  .blog-card-body h3 { font-size: var(--text-base) !important; }
  .item-card-body h3 { font-size: var(--text-base) !important; }
  
  /* Deal Card */
  .deal-card-image { height: 200px !important; }
  
  /* Mobile Menu */
  .mobile-menu { width: 100%; max-width: 100%; }
  
  /* CTA Section - Mobile */
  .cta-section { padding: var(--space-12) 0 !important; }
  .cta-section h2 { font-size: var(--text-3xl) !important; }
  .cta-desc { font-size: var(--text-base) !important; }
  .cta-section .cta-trust-row { flex-direction: column !important; align-items: center !important; gap: var(--space-3) !important; }
  .cta-section .cta-trust-pill { padding: var(--space-2) var(--space-3) !important; }
  .cta-trust-pill-text strong { font-size: var(--text-xs) !important; }
  .cta-trust-pill-text small { font-size: 10px !important; }
  .cta-trust-pill-icon { width: 28px !important; height: 28px !important; font-size: var(--text-xs) !important; }
  
  /* Destination Cards */
  .destination-overlay { padding: var(--space-4); }
  .destination-overlay h3 { font-size: var(--text-lg); }
  .destination-overlay .property-count { font-size: var(--text-xs); }

}

/* -------- Mobile Small -------- */
@media (max-width: 480px) {
  :root { --header-height: 56px; }
  
  .container { padding: 0 var(--space-3); }
  
  .navbar { padding: var(--space-1) 0 !important; }
  .navbar .container { gap: var(--space-2); }
  .navbar-brand img { height: 26px !important; }
  .mobile-menu-toggle { width: 32px; height: 32px; font-size: var(--text-base); }
  
  .hero-title { font-size: var(--text-2xl) !important; }
  .hero-subtitle { font-size: var(--text-sm) !important; }
  .btn-search { padding: var(--space-3) var(--space-5); }
  .hero-badge { font-size: var(--text-xs); }
  .hero-content { padding: var(--space-6) 0; }    .hero-main-title { font-size: var(--text-2xl) !important; }
  .hero-sub-label { font-size: var(--text-xs) !important; }
  .hero-search-widget { padding: var(--space-3) !important; }
  
  /* Tour cards 1 column on small mobile */
  .tour-cards-grid { grid-template-columns: 1fr !important; }
  .sw-field { padding: var(--space-2) var(--space-3) !important; }
  .sw-field input { font-size: var(--text-xs) !important; }
  .sw-field i { font-size: var(--text-sm) !important; }
  .sw-search-btn { min-width: auto; padding: var(--space-2) var(--space-4); font-size: var(--text-sm); height: 40px; }
  
  /* Tours Hero Mobile Small */
  .hero-tours-text .hero-main-title { font-size: var(--text-2xl) !important; }
  .hero-tours-text .hero-sub-label { font-size: var(--text-xs) !important; }
  .tours-search-inner { grid-template-columns: 1fr !important; padding: var(--space-3) !important; }
  .tours-search-inner .ts-search-btn { grid-column: span 1 !important; }
  .ts-field input, .ts-field select { font-size: var(--text-xs) !important; }
  .ts-search-btn { min-width: auto !important; padding: var(--space-2) var(--space-4) !important; font-size: var(--text-sm) !important; }

  .top-bar-left .top-bar-social { width: 22px; height: 22px; font-size: var(--text-xs); }
  
  .hotel-hero { height: 40vh !important; min-height: 240px !important; }
  .hotel-header .hotel-title-row h1 { font-size: var(--text-xl); }
  .booking-sidebar-enhanced { padding: var(--space-4) !important; }
  .booking-sidebar-enhanced .form-row { grid-template-columns: 1fr; }

  .room-card-image { height: 180px !important; }
  .room-card-enhanced .room-img { height: 180px !important; }
  .deal-card-image { height: 180px !important; }
  .gallery-grid-item:first-child { height: 250px; }
  .gallery-grid { grid-template-rows: 200px !important; }

  .tour-highlights { grid-template-columns: 1fr !important; }
  .tour-highlight-item { padding: var(--space-3); }

  [style*="grid-template-columns: repeat(6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .page-header h1 { font-size: var(--text-2xl) !important; }
  .page-header p { font-size: var(--text-sm) !important; }
  
  .section-header { margin-bottom: var(--space-6); }
  .section-header h2 { font-size: var(--text-xl) !important; }
  
  .booking-sidebar { padding: var(--space-4); }
  .booking-sidebar .price-display { font-size: var(--text-2xl); }
  .booking-sidebar-enhanced .sidebar-price { font-size: var(--text-2xl); }
  
  .highlight-grid { grid-template-columns: 1fr 1fr !important; gap: var(--space-2); }
  .highlight-item { padding: var(--space-3) var(--space-2) !important; }
  .highlight-item i { font-size: var(--text-xl) !important; }
  
  .amenities-grid { grid-template-columns: 1fr 1fr !important; gap: var(--space-2); }
  .amenity-item { padding: var(--space-3); }
  
  .similar-card .sim-body { padding: var(--space-3); }
  .similar-card .sim-body h3 { font-size: var(--text-base); }

  .review-card-enhanced { padding: var(--space-4); }
  .review-card-enhanced .review-head .reviewer-info img { width: 36px; height: 36px; }
  
  .policy-card { padding: var(--space-4); }
  
  .destination-overlay h3 { font-size: var(--text-base); }
  
  .section { padding: var(--space-10) 0; }
  .section-sm { padding: var(--space-8) 0; }
  
  .featured-grid { gap: var(--space-3); }
  .item-card-body { padding: var(--space-3); }
  .card-price-tag { font-size: var(--text-sm) !important; }
  
  .mobile-menu { padding: var(--space-4); }
  .mobile-menu-header { margin-bottom: var(--space-4); }
  .mobile-nav-links li a { padding: var(--space-2); font-size: var(--text-sm); }
  
  .newsletter-section { padding: var(--space-10) 0; }
  .footer .mailchimp { min-height: 200px; }
  .newsletter-content h2 { font-size: var(--text-2xl) !important; }
  .newsletter-content p { font-size: var(--text-sm) !important; }
  
  .hero-search .search-tabs { gap: 0; }
  .search-tab { padding: var(--space-2) var(--space-3); font-size: var(--text-xs); }
}

/* -------- Very Small Mobile -------- */
@media (max-width: 360px) {
  .container { padding: 0 var(--space-2); }
  .navbar-brand img { height: 22px !important; }
  .navbar .navbar-actions .btn-primary { 
    padding: var(--space-1) var(--space-2) !important; 
    font-size: 10px !important; 
  }
  .hero-title { font-size: var(--text-xl) !important; }
  .section-header h2 { font-size: var(--text-lg) !important; }
  
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: var(--space-2); }
  .stat-item h3 { font-size: var(--text-2xl) !important; }
  
  .room-card-image { height: 160px !important; }
  .deal-card-image { height: 160px !important; }
  
  .highlight-grid { grid-template-columns: 1fr 1fr !important; }
  .amenities-grid { grid-template-columns: 1fr !important; }
}

/* -------- Print Styles -------- */
@media print {
  .navbar, .mobile-menu, .mobile-menu-overlay, .back-to-top,
  .footer { display: none !important; }
  body { background: white !important; color: black !important; }
  .hero { min-height: auto !important; padding: var(--space-8) 0; }
  .hero-overlay { display: none !important; }
  .hero-content { color: black !important; }
  .hero-title, .hero-title .highlight, .hero-subtitle {
    color: black !important;
    -webkit-text-fill-color: black !important;
  }
  .container { max-width: 100% !important; }
  .section { padding: var(--space-8) 0 !important; }
}





/* -------- Tablet -------- */
@media (max-width: 1024px) {
  .footer .main-footer {
    padding: 40px 0 32px;
  }
  .footer .main-footer .main-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .footer .main-footer .footer-brand-col {
    grid-column: 1 / -1;
  }
  .footer .main-footer .footer-brand-col .footer-stats {
    gap: 24px;
  }
  .footer .main-footer .footer-contact-col {
    grid-column: 1 / -1;
  }
  .footer .main-footer .nav-footer .context ul li a {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .footer-bottom-inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .footer-bottom-center {
    order: 1;
    width: 100%;
    text-align: center;
  }
  .footer-bottom-right {
    order: 2;
  }
}

/* -------- Large Mobile -------- */
@media (max-width: 768px) {
  .footer .main-footer {
    padding: 32px 0 24px;
  }
  .footer .main-footer .main-footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer .main-footer .footer-brand-col {
    text-align: center;
  }
  .footer .main-footer .footer-brand-col .brand-desc {
    max-width: 100%;
  }
  .footer .main-footer .footer-brand-col .footer-stats {
    justify-content: center;
    gap: 20px;
  }
  .footer .main-footer .footer-brand-col .footer-social {
    justify-content: center;
  }
  .footer .main-footer .nav-footer .title {
    text-align: center;
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
  .footer .main-footer .nav-footer .title::after {
    left: 50%;
    transform: translateX(-50%);
  }
  .footer .main-footer .nav-footer .context ul {
    text-align: center;
    padding: 0;
  }
  .footer .main-footer .nav-footer .context ul li {
    margin-bottom: 4px;
  }
  .footer .main-footer .nav-footer.footer-contact-col .context .contact .contact-item {
    justify-content: center;
    text-align: left;
  }
  .footer .main-footer .nav-footer.footer-contact-col .context .contact .contact-icon {
    display: none;
  }
  .footer .main-footer .nav-footer.footer-contact-col .context .contact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .footer-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  .footer-bottom-right {
    justify-content: center;
  }
}

/* -------- Small Mobile -------- */
@media (max-width: 480px) {
  .footer .main-footer {
    padding: 28px 0 20px;
  }
  .footer .main-footer .footer-brand-col .footer-logo-img {
    height: 36px;
  }
  .footer .main-footer .footer-brand-col .brand-desc {
    font-size: 13px;
  }
  .footer .main-footer .footer-brand-col .footer-stats {
    gap: 16px;
  }
  .footer .main-footer .footer-brand-col .footer-stats .footer-stat .stat-num {
    font-size: 20px;
  }
  .footer .main-footer .nav-footer .title {
    font-size: 12px;
    margin-bottom: 12px;
    padding-bottom: 10px;
  }
  .footer .main-footer .nav-footer .context ul li a {
    font-size: 13px;
    margin-bottom: 8px;
  }
  .footer .main-footer .nav-footer.footer-contact-col .context .contact .contact-text {
    font-size: 12px;
  }
  .footer-bottom-center {
    font-size: 12px;
  }
  .payment-icons i {
    font-size: 20px;
  }
}

/* -------- Extra Small -------- */
@media (max-width: 360px) {
  .footer .main-footer .footer-brand-col .footer-stats {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }
  .footer .main-footer .footer-brand-col .footer-social {
    gap: 6px;
  }
  .footer .main-footer .footer-brand-col .footer-social a {
    width: 32px;
    height: 32px;
    font-size: 13px;
  }
  .payment-icons {
    gap: 4px;
  }
  .payment-icons i {
    font-size: 18px;
  }
}

/* Site Footer Mobile Responsive - styles are in style.css */

@media (max-width: 480px) {
  .site-footer .footer-main {
    padding: 32px 0 24px;
  }
  .site-footer .footer-brand {
    margin-bottom: 8px;
  }
  .site-footer .footer-desc {
    font-size: 13px;
    margin-bottom: 16px;
  }
  .site-footer .stat-number {
    font-size: 18px;
  }
  .site-footer .stat-text {
    font-size: 10px;
  }
  .site-footer .footer-col-title {
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 12px;
  }
  .site-footer .footer-links li a {
    padding: 4px 0;
    font-size: 12px;
    gap: 8px;
  }
  .site-footer .footer-links li a i {
    font-size: 10px;
    width: 14px;
  }
  .site-footer .contact-row span {
    font-size: 12px;
  }
  .site-footer .footer-bottom {
    padding: 16px 0;
  }
  .site-footer .footer-bottom-left {
    gap: 12px;
  }
  .site-footer .footer-bottom-left > span {
    font-size: 11px;
  }
  .site-footer .footer-legal {
    gap: 12px;
  }
  .site-footer .footer-legal a {
    font-size: 11px;
  }
  .site-footer .payment-icons i {
    font-size: 20px;
  }
  .site-footer .footer-secure strong {
    font-size: 11px;
  }
  .site-footer .footer-secure small {
    font-size: 9px;
  }
}
