/* ── PAGE HERO ── */
.page-hero{position:relative;height:340px;overflow:hidden;display:flex;align-items:flex-end;}
.page-hero-img{position:absolute;inset:0;}
.page-hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,12,4,0.88) 0%,rgba(20,12,4,0.35) 55%,transparent 100%);}
.page-hero-content{position:relative;z-index:2;padding:2.5rem 2.5rem 3rem;width:100%;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.72rem;color:rgba(255,255,255,0.52);margin-bottom:1rem;flex-wrap:wrap;}
.breadcrumb a{color:var(--ochre-light);text-decoration:none;cursor:pointer;}
.breadcrumb span{color:rgba(255,255,255,0.3);}
.page-hero-content h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:#fff;line-height:1.15;margin-bottom:8px;}
.page-hero-content p{font-size:0.92rem;color:rgba(255,255,255,0.62);max-width:560px;line-height:1.72;}
.hero-meta-row{display:flex;gap:1.5rem;margin-top:1.25rem;flex-wrap:wrap;}
.hero-meta-pill{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);color:rgba(255,255,255,0.8);font-size:0.72rem;font-weight:500;padding:5px 12px;border-radius:20px;backdrop-filter:blur(4px);}
.hero-meta-pill strong{color:var(--ochre-light);}
/* ── MAIN LAYOUT ── */
.page-body{display:grid;grid-template-columns:280px 1fr;gap:0;align-items:start;max-width:1400px;margin:0 auto;padding:2rem 2.5rem 4rem;}

/* ── SIDEBAR ── */
.sidebar{position:sticky;top:80px;background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.sidebar-header{background:var(--charcoal);padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;}
.sidebar-header h3{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;}
.sidebar-reset{font-size:0.72rem;color:var(--ochre-light);background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;}
.sidebar-reset:hover{text-decoration:underline;}
.filter-group{border-bottom:1px solid var(--border);padding:1.1rem 1.25rem;}
.filter-group:last-child{border-bottom:none;}
.filter-label{font-size:0.66rem;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:0.75rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.filter-label span{font-size:0.65rem;color:var(--ochre);}
.filter-options{display:flex;flex-direction:column;gap:7px;}
.filter-opt{display:flex;align-items:center;gap:9px;cursor:pointer;padding:3px 0;}
.filter-opt input[type=checkbox]{width:15px;height:15px;accent-color:var(--ochre);cursor:pointer;flex-shrink:0;}
.filter-opt-label{font-size:0.82rem;color:var(--slate);flex:1;}
.filter-opt-count{font-size:0.68rem;color:var(--muted);}
.price-range-wrap{margin-top:4px;}
.price-range-wrap input[type=range]{width:100%;accent-color:var(--ochre);margin:8px 0;}
.price-range-labels{display:flex;justify-content:space-between;font-size:0.72rem;color:var(--muted);}
.duration-chips{display:flex;flex-wrap:wrap;gap:6px;}
.dur-chip{padding:5px 12px;border-radius:16px;font-size:0.74rem;font-weight:500;border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s;background:transparent;}
.dur-chip:hover,.dur-chip.active{background:var(--ochre);color:#fff;border-color:var(--ochre);}
.rating-row{display:flex;gap:6px;flex-wrap:wrap;}
.rating-chip{padding:5px 10px;border-radius:6px;font-size:0.74rem;border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s;}
.rating-chip:hover,.rating-chip.active{background:var(--ochre-pale);color:var(--ochre);border-color:var(--border-strong);}
.sidebar-cta{margin:1.25rem;background:var(--ochre);border-radius:10px;padding:1rem 1.1rem;text-align:center;cursor:pointer;}
.sidebar-cta p{font-size:0.78rem;color:rgba(255,255,255,0.75);margin-bottom:6px;line-height:1.5;}
.sidebar-cta button{background:#fff;color:var(--ochre);border:none;border-radius:6px;padding:7px 18px;font-size:0.78rem;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;width:100%;}

/* ── LISTING AREA ── */
.listing{padding-left:2rem;}
.listing-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:10px;}
.result-count{font-size:0.88rem;color:var(--muted);}
.result-count strong{color:var(--charcoal);font-weight:600;}
.toolbar-right{display:flex;align-items:center;gap:10px;}
.sort-select{border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:0.8rem;font-family:'DM Sans',sans-serif;color:var(--charcoal);background:var(--white);outline:none;cursor:pointer;}
.view-toggle{display:flex;gap:2px;background:var(--white);border:1px solid var(--border);border-radius:8px;padding:3px;}
.vt-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:0.85rem;transition:background .15s;color:var(--muted);}
.vt-btn.active{background:var(--ochre-pale);color:var(--ochre);}

/* ── ACTIVE FILTERS ── */
.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.25rem;}
.af-pill{display:flex;align-items:center;gap:6px;background:var(--ochre-pale);color:var(--ochre-deep);border:1px solid var(--border-strong);border-radius:20px;padding:5px 12px;font-size:0.74rem;font-weight:500;}
.af-pill button{background:none;border:none;cursor:pointer;color:var(--ochre);font-size:0.85rem;line-height:1;padding:0;}

/* ── TOUR CARD (list view) ── */
.tours-list{display:flex;flex-direction:column;gap:1.25rem;}
.pcard{background:var(--white);border-radius:16px;border:1px solid var(--border);overflow:hidden;display:grid;grid-template-columns:280px 1fr;transition:box-shadow .25s,transform .2s;cursor:pointer;}
.pcard:hover{box-shadow:0 12px 40px rgba(193,123,42,0.12);transform:translateY(-2px);}
.pcard-img{position:relative;overflow:hidden;height:100%;min-height:210px;}
.pcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.pcard:hover .pcard-img img{transform:scale(1.06);}
.pcard-badge{position:absolute;top:12px;left:12px;background:var(--ochre);color:#fff;font-size:0.62rem;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:4px;text-transform:uppercase;z-index:2;}
.pcard-badge.badge-new{background:#0F6E56;}
.pcard-badge.badge-hot{background:var(--maroon);}
.pcard-fav{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,0.92);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;border:none;z-index:2;}
.pcard-body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;}
.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0.5rem;}
.pcard-cat{font-size:0.66rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ochre);margin-bottom:4px;}
.pcard-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:var(--charcoal);line-height:1.25;margin-bottom:5px;}
.pcard-rating{display:flex;align-items:center;gap:5px;flex-shrink:0;}
.pcard-stars{color:var(--ochre);font-size:0.8rem;letter-spacing:1px;}
.pcard-reviews{font-size:0.72rem;color:var(--muted);}
.pcard-desc{font-size:0.83rem;color:var(--muted);line-height:1.72;margin-bottom:1rem;}
.pcard-highlights{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem;}
.highlight-tag{background:var(--cream);color:var(--slate);font-size:0.7rem;padding:4px 10px;border-radius:4px;font-weight:500;}
.pcard-itinerary{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:1.1rem;padding-bottom:2px;}
.pcard-itinerary::-webkit-scrollbar{display:none;}
.itin-stop{flex-shrink:0;display:flex;flex-direction:column;align-items:center;position:relative;}
.itin-stop:not(:last-child)::after{content:'';position:absolute;top:8px;left:calc(50% + 8px);width:calc(100% - 4px);height:1px;background:var(--border-strong);z-index:0;}
.itin-dot{width:16px;height:16px;border-radius:50%;background:var(--ochre-pale);border:2px solid var(--ochre);z-index:1;margin-bottom:4px;}
.itin-label{font-size:0.65rem;color:var(--muted);white-space:nowrap;font-weight:500;}
.pcard-meta{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.1rem;}
.pmeta{display:flex;align-items:center;gap:5px;font-size:0.77rem;color:var(--slate);}
.pmeta-icon{font-size:0.82rem;}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:1rem;flex-wrap:wrap;gap:10px;}
.pcard-price .from{font-size:0.63rem;color:var(--muted);display:block;}
.pcard-price .amt{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;color:var(--maroon);line-height:1;}
.pcard-price .pp{font-size:0.68rem;color:var(--muted);}
.pcard-price .emi{font-size:0.68rem;color:var(--ochre);font-weight:500;display:block;margin-top:2px;}
.pcard-actions{display:flex;gap:8px;align-items:center;}
.btn-details{background:transparent;color:var(--ochre);border:1px solid var(--border-strong);border-radius:8px;padding:9px 18px;font-size:0.8rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;}
.btn-details:hover{background:var(--ochre-pale);}
.btn-enquire{background:var(--ochre);color:#fff;border:none;border-radius:8px;padding:9px 20px;font-size:0.8rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .18s;}
.btn-enquire:hover{background:var(--ochre-deep);}

/* ── TOUR CARD (grid view) ── */
.tours-grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.4rem;}
.gcard{background:var(--white);border-radius:16px;border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .22s,box-shadow .22s;}
.gcard:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(193,123,42,0.13);}
.gcard-img{height:195px;position:relative;overflow:hidden;}
.gcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.gcard:hover .gcard-img img{transform:scale(1.07);}
.gcard-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,18,8,0.62) 0%,transparent 52%);}
.gcard-badge{position:absolute;top:11px;left:11px;background:var(--ochre);color:#fff;font-size:0.6rem;font-weight:700;letter-spacing:1px;padding:4px 9px;border-radius:4px;text-transform:uppercase;z-index:2;}
.gcard-badge.badge-new{background:#0F6E56;}
.gcard-badge.badge-hot{background:var(--maroon);}
.gcard-fav{position:absolute;top:9px;right:9px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.92);display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;border:none;z-index:2;}
.gcard-cat-label{position:absolute;bottom:10px;left:12px;font-size:0.62rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,0.7);font-weight:500;z-index:2;}
.gcard-body{padding:1rem 1.15rem 1.15rem;}
.gcard-cat{font-size:0.64rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ochre);margin-bottom:3px;}
.gcard-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:700;color:var(--charcoal);margin-bottom:6px;line-height:1.28;}
.gcard-highlights{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;}
.gcard-hl{background:var(--cream);color:var(--slate);font-size:0.66rem;padding:3px 8px;border-radius:3px;}
.gcard-meta{display:flex;gap:10px;font-size:0.74rem;color:var(--muted);margin-bottom:10px;}
.gcard-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:9px;}
.gcard-price .from{font-size:0.6rem;color:var(--muted);display:block;}
.gcard-price .amt{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:700;color:var(--maroon);}
.gcard-price .pp{font-size:0.62rem;color:var(--muted);}
.gcard-book{background:var(--ochre-pale);color:var(--ochre);border:1px solid var(--border-strong);border-radius:7px;padding:6px 13px;font-size:0.74rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;}
.gcard-book:hover{background:var(--ochre);color:#fff;}

/* ── PAGINATION ── */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2.5rem;}
.pg-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--slate);font-size:0.82rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;transition:all .15s;}
.pg-btn:hover{border-color:var(--ochre);color:var(--ochre);}
.pg-btn.active{background:var(--ochre);color:#fff;border-color:var(--ochre);}
.pg-btn.disabled{opacity:.4;pointer-events:none;}

/* ── RECENTLY VIEWED ── */
.recently-viewed{background:var(--cream);padding:3.5rem 2.5rem;}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1.5rem;}
.rv-card{background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform .2s;}
.rv-card:hover{transform:translateY(-3px);}
.rv-card img{width:100%;height:110px;object-fit:cover;display:block;}
.rv-card-body{padding:0.75rem;}
.rv-card-title{font-family:'Cormorant Garamond',serif;font-size:0.9rem;font-weight:600;color:var(--charcoal);line-height:1.3;margin-bottom:3px;}
.rv-card-meta{font-size:0.7rem;color:var(--muted);}

/* ── STICKY ENQUIRY BAR (mobile-style, shows when card in view) ── */
.enquiry-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.float-btn{display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:30px;border:none;font-family:'DM Sans',sans-serif;font-size:0.82rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,0.2);transition:transform .15s;}
.float-btn:hover{transform:scale(1.04);}
.float-wa{background:#25D366;color:#fff;}
.float-call{background:var(--ochre);color:#fff;}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.pcard,.gcard{animation:fadeUp .4s ease both;}


/* ══════════════════════════════════════════
   RESPONSIVE STYLES
══════════════════════════════════════════ */

/* ── HAMBURGER MENU ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--charcoal);border-radius:2px;transition:all .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:66px;left:0;right:0;background:var(--ivory);border-bottom:1px solid var(--border);z-index:299;padding:1.25rem 1.5rem;flex-direction:column;gap:1px;box-shadow:0 8px 24px rgba(0,0,0,0.08);}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:0.9rem;font-weight:500;color:var(--slate);text-decoration:none;padding:0.65rem 0;border-bottom:1px solid var(--border);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a.active{color:var(--ochre);}
.mobile-menu .btn-book-mob{margin-top:0.75rem;background:var(--ochre);color:#fff;border:none;border-radius:8px;padding:11px 20px;font-size:0.85rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;width:100%;}

/* ── FILTER OVERLAY (mobile) ── */
.filter-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:400;}
.filter-overlay.open{display:block;}
.sidebar-drawer{position:fixed;left:0;top:0;bottom:0;width:min(320px,90vw);background:var(--white);z-index:401;transform:translateX(-100%);transition:transform .3s ease;overflow-y:auto;}
.sidebar-drawer.open{transform:translateX(0);}
.drawer-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:var(--ochre-pale);border:none;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;color:var(--ochre);}
.filter-fab{display:none;position:fixed;bottom:5.5rem;left:1.25rem;z-index:399;background:var(--charcoal);color:#fff;border:none;border-radius:24px;padding:10px 16px;font-size:0.8rem;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.22);gap:6px;align-items:center;}

/* ── TABLET (≤1024px) ── */
@media(max-width:1024px){
  .page-body{grid-template-columns:240px 1fr;padding:1.5rem 1.5rem 3rem;}
  .listing{padding-left:1.25rem;}
}

/* ── SMALL TABLET (≤860px) ── */
@media(max-width:860px){
  /* Hide sidebar inline, show as drawer */
  .sidebar{display:none;}
  .filter-fab{display:flex;}
  .page-body{grid-template-columns:1fr;padding:1.25rem 1rem 3rem;}
  .listing{padding-left:0;}

  /* Hero */
  .page-hero{height:260px;}
  .page-hero-content{padding:1.5rem 1rem 2rem;}
  .hero-meta-row{gap:0.6rem;}

  /* Cards in list view stack to column */
  .pcard{grid-template-columns:1fr;grid-template-rows:200px auto;}
  .pcard-img{height:200px;}

  /* Recently viewed */
  .recently-viewed{padding:2rem 1rem;}

  .enquiry-float{bottom:1rem;right:1rem;gap:7px;}
  .float-btn{padding:9px 14px;font-size:0.75rem;}
}

/* ── MOBILE (≤560px) ── */
@media(max-width:560px){
  /* Topbar */
  .topbar{justify-content:center;flex-direction:column;text-align:center;gap:3px;padding:6px 1rem;}
  .topbar-right{justify-content:center;}

  /* Hero */
  .page-hero{height:220px;}
  .page-hero-content h1{font-size:1.5rem;}
  .page-hero-content p{display:none;}
  .hero-meta-row{gap:5px;}
  .hero-meta-pill{font-size:0.65rem;padding:4px 9px;}

  /* Toolbar */
  .listing-toolbar{flex-direction:column;align-items:flex-start;gap:8px;}
  .toolbar-right{width:100%;justify-content:space-between;}
  .sort-select{flex:1;}

  /* Active filters scroll horizontally */
  .active-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;}
  .active-filters::-webkit-scrollbar{display:none;}

  /* List card fully stacked */
  .pcard{grid-template-columns:1fr;grid-template-rows:180px auto;}
  .pcard-img{height:180px;}
  .pcard-body{padding:1rem;}
  .pcard-meta{gap:0.75rem;}
  .pcard-foot{flex-direction:column;align-items:flex-start;gap:0.75rem;}
  .pcard-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;}
  .pcard-actions .btn-details,.pcard-actions .btn-enquire{text-align:center;}

  /* Grid cards */
  .tours-grid-view{grid-template-columns:1fr 1fr;gap:0.75rem;}

  /* Recently viewed horizontal scroll on mobile */
  .rv-grid{grid-template-columns:repeat(3,160px);overflow-x:auto;padding-bottom:0.5rem;}

  /* Float buttons */
  .enquiry-float{bottom:0.75rem;right:0.75rem;gap:6px;}
  .float-btn{padding:8px 12px;font-size:0.72rem;}

  /* Page body padding */
  .page-body{padding:1rem 0.75rem 2.5rem;}
}

/* ── VERY SMALL (≤360px) ── */
@media(max-width:360px){
  .tours-grid-view{grid-template-columns:1fr;}
  .hero-meta-pill{display:none;}
  .hero-meta-row .hero-meta-pill:nth-child(1),
  .hero-meta-row .hero-meta-pill:nth-child(3){display:flex;}
}
