:root{
      --bg:#f7faf8;
      --card:#ffffff;
      --ink:#223;
      --muted:#5b6670;
      --line:#e7ece9;
      --brand:#0f5132;
      --brand-2:#1b7a52;
      --chip:#eef5f0;
      --chip-ink:#0f5132;
      --badge:#e63946;
      --shadow:0 6px 22px rgba(0,0,0,.07);
      --radius:14px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{background:var(--bg);font-family:'Poppins',system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);}

    /* NAVBAR */
    .navbar{
      position:sticky;top:0;z-index:50;height:64px;background:#fff;border-bottom:1px solid var(--line);
      display:flex;align-items:center;justify-content:space-between;padding:0 14px;
    }
    .brand{display:flex;align-items:center;gap:10px;font-weight:700}
    .brand img{height:40px;width:auto}
    .links a{color:var(--ink);text-decoration:none;margin-left:14px;font-weight:600}
    .links a:hover{text-decoration:underline}

    /* HERO CAROUSEL */
    .hero-carousel-wrap{position:relative;overflow:hidden}
    .hero-carousel{display:flex;transition:transform .6s ease;will-change:transform}
    .hero-slide{min-width:100vw;height:min(70vh,560px);position:relative;overflow:hidden}
    .hero-slide img{width:100%;height:100%;object-fit:cover;display:block}
    .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.45))}
    .hero-caption{position:absolute;left:5vw;bottom:8vh;color:#fff;max-width:min(820px,88vw)}
    .hero-caption h1{margin:.2rem 0 0;font-size:clamp(1.4rem,4.6vw,2.6rem);line-height:1.08}
    .hero-caption p{margin:.45rem 0 0;font-size:clamp(.95rem,1.8vw,1.15rem);opacity:.95}
    .hero-arrow{
      position:absolute;top:50%;transform:translateY(-50%);
      background:rgba(255,255,255,.9);border:0;border-radius:999px;
      width:42px;height:42px;cursor:pointer;box-shadow:var(--shadow);font-size:20px
    }
    .hero-arrow.left{left:12px}
    .hero-arrow.right{right:12px}
    .hero-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px}
    .hero-dot{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;border:0}
    .hero-dot.active{background:#fff}

    /* LAYOUT */
    .tours-grid-layout{
      display:grid;grid-template-columns:280px 1fr;gap:18px;max-width:1200px;margin:24px auto;padding:0 14px;
    }
    @media (max-width: 980px){
      .tours-grid-layout{grid-template-columns:1fr}
    }

    /* SIDEBAR */
    

    /*sidebar new*/
/* Sidebar layout (as before) */
/* Sidebar layout (unchanged) */
.tours-grid-layout{
  display:grid;
  grid-template-columns: 300px 1fr;
  gap:14px;
  max-width:1200px;
  margin:14px auto;
  padding:0 16px;
}
@media (max-width:1024px){
  .tours-grid-layout{ grid-template-columns:1fr; }
}

/* Sidebar shell — slightly tighter padding */
.sidebar{
  position:sticky; top:84px;
  background:#fff; border:1px solid #e6ece9; border-radius:12px; padding:10px;
  height:fit-content; box-shadow:0 10px 28px rgba(0,0,0,.06);
  font-size:0.92rem; /* base down slightly */
}
.sidebar-title{ font-weight:800; margin:2px 0 6px; font-size:.98rem; }
.sidebar .fa.mini{ font-size:.8em; color:#e4d964; margin-right:6px; }

.sidebar-toggle-btn{
  display:none; align-items:center; gap:8px; margin:8px 0;
  background:#2e8b57; color:#fff; border:none; border-radius:999px; padding:8px 12px; font-weight:700;
  font-size:.92rem;
}
.sidebar-close-btn{ display:none; position:absolute; right:10px; top:10px; background:#fff; border:1px solid #e6ece9; border-radius:8px; padding:6px; }
.sidebar.open{ transform:translateX(0); }

@media (max-width:1024px){
  .sidebar{ position:fixed; left:0; top:0; bottom:0; width:88vw; max-width:360px; z-index:60; transform:translateX(-100%); transition:transform .25s ease; border-radius:0; }
  .sidebar.open{ transform:translateX(0); }
  .sidebar-close-btn{ display:inline-block; }
  .sidebar-toggle-btn{ display:inline-flex; }
  body.sidebar-open{ overflow:hidden; }
}

/* Accordion blocks — compact */
.filter-acc{
  border:1px solid #e6ece9; border-radius:10px; padding:0; margin:8px 0; background:#fbfdfb; overflow:hidden;
}
.filter-acc > summary{
  list-style:none; cursor:pointer; user-select:none;
  padding:8px 10px; font-weight:700; display:flex; align-items:center; gap:8px;
  font-size:.95rem;
}
.filter-acc > summary::-webkit-details-marker{ display:none; }
.filter-acc[open] > summary{ background:#f4faf6; border-bottom:1px solid #e6ece9; }
.filter-acc > *:not(summary){ padding:8px 10px; }

/* Checklists — denser rows */
.filter-list label{
  display:flex; align-items:center; gap:6px; padding:4px 0; cursor:pointer;
  font-size:.88rem;
}
.filter-list.chips{ display:flex; flex-wrap:wrap; gap:6px; }

/* Chip-style destination checks — slightly smaller */
.chip-check{ display:inline-flex; align-items:center; }
.chip-check input{ display:none; }
.chip-lbl{
  display:inline-flex; align-items:center; gap:6px;
  background:#f6faf6; border:1px solid #dfe9e3; color:#3c4a45;
  padding:5px 8px; border-radius:999px; font-size:.86rem; cursor:pointer;
}
.chip-check input:checked + .chip-lbl{
  background:#eaf6ff; border-color:#cfe8ff; color:#274f7a;
}

/* Duration input — compact height */
.dur-input{
  width:100%; padding:8px 10px; border:1px solid #d1dad1; border-radius:8px; font-size:.9rem;
}

/* Reset button */
.apply-btn{
  width:100%; margin-top:6px;
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  background:#2e8b57; color:#fff; border:none; border-radius:999px; padding:9px 12px; font-weight:800; cursor:pointer;
  font-size:.92rem;
}
.apply-btn:hover{ background:#257a4c; }

/* Skeletons (unchanged visual) */
.skel-card{ background:#fff;border:1px solid #e6ece9;border-radius:12px;padding:8px }
.skel-img{ background:#eef3f0;height:130px;border-radius:10px }
.skel-line{ background:#eef3f0;height:9px;border-radius:6px;margin-top:6px }
.skel-line.lg{ width:70% } .skel-line.md{ width:50% } .skel-line.sm{ width:35% }

/* Dual range slider — slimmer */
.price-range .pr-head{
  display:flex; justify-content:space-between; font-size:.9rem; margin-bottom:6px;
}
.dual-range{ position:relative; height:30px; }
.dual-range .track{
  position:absolute; left:4px; right:4px; top:50%; transform:translateY(-50%);
  height:5px; background:#e6ece9; border-radius:999px;
}
.dual-range .fill{
  position:absolute; top:50%; transform:translateY(-50%);
  height:5px; background:#2e8b57; border-radius:999px;
}
.dual-range input[type=range]{
  position:absolute; left:0; right:0; top:0; bottom:0;
  width:100%; height:30px; margin:0; background:transparent; pointer-events:none; -webkit-appearance:none;
}
.dual-range input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; pointer-events:auto; width:16px; height:16px; background:#fff; border:2px solid #2e8b57; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.dual-range input[type=range]::-moz-range-thumb{
  pointer-events:auto; width:16px; height:16px; background:#fff; border:2px solid #2e8b57; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.dual-range input[type=range]::-webkit-slider-runnable-track{ height:30px; background:transparent; }
.dual-range input[type=range]::-moz-range-track{ height:30px; background:transparent; }

/* Minor mobile tweaks for tighter spacing */
@media (max-width:1024px){
  .sidebar{ padding:10px 10px 12px; }
  .filter-acc{ margin:6px 0; }
  .filter-acc > summary{ padding:8px 10px; }
  .filter-acc > *:not(summary){ padding:8px 10px; }
  .chip-lbl{ padding:5px 8px; font-size:.85rem; }
  .filter-list label{ padding:3px 0; }
}
/* === COMPACT OVERRIDES — place at end of file === */

/* Overall sidebar text smaller */
.sidebar{
  font-size:0.86rem;            /* was ~0.92rem */
  line-height:1.2;              /* denser baseline */
  padding:8px;                  /* a bit tighter */
}

/* Accordion headers/content tighter */
.filter-acc{ margin:6px 0; }
.filter-acc > summary{
  padding:6px 8px;              /* was 8–10px */
  font-size:0.9rem;
}
.filter-acc[open] > summary{ border-bottom-width:1px; }
.filter-acc > *:not(summary){
  padding:6px 8px;              /* was 8–10px */
}

/* Checkbox rows: smaller text + minimal vertical padding */
.filter-list{ margin:0; }
.filter-list label{
  gap:6px;
  padding:2px 0;                /* was 3–6px */
  font-size:0.82rem;            /* was ~.88rem */
  line-height:1.15;             /* make rows shorter */
}

/* Destination chips: smaller + closer together */
.filter-list.chips{ gap:4px; }
.chip-lbl{
  padding:4px 7px;              /* was 5x8 */
  font-size:0.8rem;             /* was .85–.86rem */
  line-height:1.1;
}

/* Duration input: compact */
.dur-input{
  padding:6px 8px;
  font-size:0.84rem;
}

/* Price range header & slider: compact */
.price-range .pr-head{
  font-size:0.84rem;
  margin-bottom:4px;
}
.dual-range{ height:26px; }
.dual-range .track,
.dual-range .fill{ height:4px; }
.dual-range input[type=range]{ height:26px; }
.dual-range input[type=range]::-webkit-slider-thumb,
.dual-range input[type=range]::-moz-range-thumb{
  width:14px; height:14px;      /* was 16–18px */
}

/* Reset button: slightly smaller without losing tap target */
.apply-btn{
  padding:8px 10px;
  font-size:0.88rem;
  margin-top:6px;
}

/* Mobile: keep it extra tight */
@media (max-width:1024px){
  .sidebar{ padding:8px; }
  .filter-acc{ margin:4px 0; }
  .filter-acc > summary{ padding:6px 8px; }
  .filter-acc > *:not(summary){ padding:6px 8px; }
  .filter-list label{ padding:2px 0; font-size:0.8rem; }
  .chip-lbl{ padding:4px 7px; font-size:0.78rem; }
}

/* === EXTRA-COMPACT CATEGORY LIST (end of file) === */
#categoryList{ 
  margin:0; 
}

#categoryList label{
  display:flex;
  align-items:center;
  gap:6px;                /* tighter gap between checkbox + text */
  padding:1px 0;          /* minimal vertical padding */
  margin:0;
  font-size:0.78rem;      /* smaller font */
  line-height:1.1;        /* shorter rows */
}

#categoryList input[type="checkbox"]{
  transform:scale(0.9);   /* slightly smaller checkbox without breaking a11y */
  width:14px; height:14px;
  margin:0 2px 0 0;
}

#categoryList .fa.mini{
  font-size:.7em;         /* smaller chevron icon */
  margin-right:4px;
  line-height:1;
  color:#cbbf3a;          /* subtle tint (optional) */
}

/* Optional: if you want it EVEN tighter on mobile */
@media (max-width:1024px){
  #categoryList label{ font-size:0.76rem; padding:1px 0; }
}
/* === EXTRA-COMPACT DESTINATIONS LIST (end of file) === */
#destinationsList{
  margin:0;
  gap:4px !important;              /* squeeze chip spacing */
}

#destinationsList .chip-check{
  margin:0;
}

#destinationsList .chip-lbl{
  padding:3px 6px;                 /* tighter padding */
  font-size:0.78rem;               /* smaller text */
  line-height:1.1;                 /* shorter row height */
  border-radius:999px;
}

/* Optional: extra-tight on mobile */
@media (max-width:1024px){
  #destinationsList .chip-lbl{
    padding:3px 6px;
    font-size:0.76rem;
  }
}


    /* MAIN PANEL */
    .main-panel{min-height:50vh}
    .tour-list-heading{margin:2px 0 12px;font-size:1.4rem}
    .tours-grid{
      display:grid;grid-template-columns:repeat(2,1fr);gap:16px; /* << two columns */
    }
    @media (max-width:640px){ .tours-grid{grid-template-columns:1fr} }

    /* CARD */
    
/*end*/

/* ======================
   Tour Cards — Compact
   ====================== */
/* ======================
   Tour Cards — Compact
   ====================== */

:root{
  --ink:#243041; --ink-2:#596275; --mut:#8b94a1;
  --accent:#2e8b57; --cta:#2e8b57; --cta-2:#257a4c;
  --warn:#e4d964; --border:#e6ece9; --bg:#f8faf9; --card:#fff;
  --shadow:0 10px 28px rgba(0,0,0,.08);
}

.tours-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
@media (max-width:820px){
  .tours-grid{ grid-template-columns:1fr; }
}

/* Card shell */
.tour-card{
  display:flex;
  flex-direction:column;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.tour-img-link{ position:relative; display:block; }
.tour-img{ width:100%; aspect-ratio:16/9; object-fit:cover; background:#eef3f0; display:block; }

/* NEW: subtle gradient for chip contrast */
.tour-img-gradient{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,.35) 100%);
  pointer-events:none;
  z-index:1;
}

.tour-featured-badge{
  position:absolute; top:10px; left:10px; z-index:2;
  background:#fff6d5; color:#9c6b00; border:1px solid #f0e4a9;
  padding:4px 8px; border-radius:999px; font-weight:700; font-size:.78rem;
}

/* Category chip moved to bottom-left */
.tour-category-chip{
  position:absolute;
  bottom:10px; left:10px; z-index:2;
  background:rgba(255,255,255,0.95);
  color:#2b6648; border:1px solid #d8ebe1;
  padding:4px 8px; border-radius:999px; font-weight:700; font-size:.78rem; line-height:1;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}

/* Body */
.tour-info{ padding:12px 12px 10px; }
.tour-title{ margin:0 0 6px; font-size:1rem; line-height:1.35; color:var(--ink); }
.tour-title a{ color:inherit; text-decoration:none; }
.tour-title a:hover{ text-decoration:underline; }

/* Inline meta row */
.tour-meta-inline{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:.84rem; color:var(--ink-2); margin-bottom:8px;
}
.tour-meta-inline .mi{ display:inline-flex; align-items:center; gap:6px; }
.tour-meta-inline .mi i{ font-size:.92em; color:#6b7a74; }
.tour-meta-inline .dot{ color:#c0c9c5; }

/* Labeled blocks */
.tour-block{ margin:6px 0 0; }
.tour-block-label{
  font-size:.78rem; color:#4b5563; font-weight:700; letter-spacing:.01em;
  margin-bottom:4px;
}
.tour-block.act{ display:flex; align-items:center; gap:8px; }
.tour-act-value{ color:var(--ink-2); font-size:.86rem; }

/* Chips (wrap neatly) */
.tour-chips{
  display:flex; flex-wrap:wrap; gap:6px; align-items:flex-start;
}
.chip{
  display:inline-flex; align-items:center; gap:6px;
  background:#f6faf6; color:#3c4a45;
  border:1px solid #dfe9e3; border-radius:999px;
  padding:3px 8px; font-size:.80rem; line-height:1.2;
  max-width:100%;
}
.chip-more{ background:#eef3ff; border-color:#d8e3ff; color:#34436e; }

/* Price + CTA (with "from / pp" tooltip) */
.tour-price-row{
  display:flex; justify-content:space-between; align-items:center;
  gap:10px; margin-top:10px; border-top:1px solid var(--border); padding-top:10px;
}
.price-stack{ display:flex; flex-direction:column; gap:2px; }
.price-main{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.label-from{ font-size:.78rem; color:#6b7381; letter-spacing:.01em; }
.price-new{ color:#f57c00; font-weight:800; font-size:1.12rem; }
.price-old{ color:#9aa5a0; text-decoration:line-through; font-size:.92rem; }
.price-sub{ color:#7f8a86; font-size:.78rem; }
.tour-btn{
  flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.86rem; text-decoration:none;
  padding:8px 12px; border-radius:999px; color:#fff; background:var(--cta);
}
.tour-btn:hover{ background:var(--cta-2); }

/* Tooltip chip */
.pp-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.76rem; color:#6b7381;
  border:1px dashed #cfe0d8; padding:2px 6px; border-radius:999px;
  cursor:help; background:#fbfdfb;
}
.tooltip-wrap{ position:relative; }
.tooltip-bubble{
  position:absolute; left:0; bottom:125%;
  min-width:220px; max-width:280px;
  background:#111; color:#fff; border-radius:10px; padding:10px 12px;
  font-size:.78rem; line-height:1.35; box-shadow:0 12px 24px rgba(0,0,0,.25);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:5;
}
.tooltip-bubble::after{
  content:''; position:absolute; left:14px; top:100%;
  border-width:6px; border-style:solid;
  border-color:#111 transparent transparent transparent;
}
.tooltip-wrap:hover .tooltip-bubble,
.tooltip-wrap:focus-within .tooltip-bubble{
  opacity:1; visibility:visible; transform:translateY(0);
}

/* Category tints (optional) */
.tour-card.cat-budget .tour-category-chip{ background:#eef7ff; color:#284a7a; border-color:#d8e6fb; }
.tour-card.cat-mid-luxury .tour-category-chip{ background:#f1ecff; color:#4c3f8f; border-color:#e4defb; }
.tour-card.cat-luxury .tour-category-chip{ background:#fff0f9; color:#8a2d6b; border-color:#f6d9ea; }
.tour-card.cat-premium .tour-category-chip{ background:#fff5ea; color:#9a5a17; border-color:#fde3c7; }

/* Pagination */
.pagination{
  display:flex; gap:6px; justify-content:center; align-items:center;
  margin:14px 0 4px;
}
.pagination a, .pagination span{
  display:inline-block; padding:6px 10px; border:1px solid var(--border);
  border-radius:8px; color:#2d3142; text-decoration:none; background:#fff;
  font-size:.9rem;
}
.pagination .active{ background:#2e8b57; color:#fff; border-color:#2e8b57; }

/* Pagination (unchanged) */



    /* PAGINATION */
    .pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0}
    .pagination a,.pagination span{
      border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700
    }
    .pagination .active{background:var(--brand);color:#fff;border-color:var(--brand)}


/*new8/

/* =========================================================
   TOUR CARD — MOBILE COMPACT MODE (no desktop changes)
   Compresses all members of .tour-info on small screens
   ========================================================= */

/* -------- Compact: phones & small tablets -------- */
@media (max-width: 768px){

  /* Container + spacing */
  .tour-card .tour-info{
    padding:10px 12px;
  }

  /* Title (2 lines max) */
  .tour-card .tour-title{
    margin:0 0 6px 0;
    line-height:1.15;
  }
  .tour-card .tour-title a{
    display:-webkit-box; -webkit-box-orient:vertical;
    -webkit-line-clamp:2; overflow:hidden;
    font-weight:700;
    font-size: .96rem; /* compact but readable */
    letter-spacing: .1px;
  }

  /* Inline meta (Days · Type · Accommodation) */
  .tour-card .tour-meta-inline{
    display:flex; flex-wrap:wrap; align-items:center;
    column-gap:6px; row-gap:4px;
    font-size:.78rem; line-height:1.1;
    margin-bottom:6px;
  }
  .tour-card .tour-meta-inline .mi{display:inline-flex; gap:4px; align-items:center;}
  .tour-card .tour-meta-inline .mi i{font-size:.8em; opacity:.9; margin-right:2px;}
  .tour-card .tour-meta-inline .dot{opacity:.6}

  /* Blocks (Destinations + Activity) */
  .tour-card .tour-block{margin:6px 0 0 0}
  .tour-card .tour-block-label{
    font-size:.78rem; font-weight:600; letter-spacing:.15px;
    margin-bottom:4px; opacity:.9;
  }

  /* Destination chips: smaller, wrap tightly */
  .tour-card .tour-chips{
    display:flex; flex-wrap:wrap; gap:4px 6px; /* row x column */
  }
  .tour-card .tour-chips .chip{
    font-size:.73rem; line-height:1;
    padding:3px 7px; border-radius:999px;
    max-width:100%; white-space:nowrap;
  }
  .tour-card .tour-chips .chip-more{opacity:.8}

  /* Activity row */
  .tour-card .tour-block.act .tour-act-value{
    font-size:.78rem; line-height:1.15;
  }

  /* Price row */
  .tour-card .tour-price-row{
    display:flex; align-items:center; gap:8px;
    margin-top:8px;
    flex-wrap:wrap;
  }
  .tour-card .tour-price-row .price-stack{flex:1 1 auto; min-width:200px}
  .tour-card .price-main{
    display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
  }
  .tour-card .label-from{font-size:.7rem; text-transform:uppercase; letter-spacing:.3px; opacity:.85}
  .tour-card .price-new{font-size:1.12rem; font-weight:800}
  .tour-card .price-old{font-size:.86rem; opacity:.7; text-decoration:line-through}
  .tour-card .pp-chip{font-size:.66rem; line-height:1; padding:0 2px}
  .tour-card .tooltip-bubble{font-size:.66rem; max-width:70vw}

  /* Reviews line */
  .tour-card .price-sub .rev{
    font-size:.72rem; opacity:.9;
  }

  /* View button */
  .tour-card .tour-btn{
    flex:0 0 auto;
    padding:.42rem .62rem;
    border-radius:9px;
    font-size:.78rem; font-weight:700;
    letter-spacing:.2px;
    min-height:34px;
  }
}

/* -------- Ultra-compact: small phones -------- */
@media (max-width: 420px){

  .tour-card .tour-info{padding:8px 10px}

  .tour-card .tour-title a{
    font-size:.88rem; letter-spacing:0;
    -webkit-line-clamp:2;
  }

  .tour-card .tour-meta-inline{
    font-size:.72rem; column-gap:5px; row-gap:3px;
    margin-bottom:4px;
  }

  .tour-card .tour-block-label{font-size:.68rem; margin-bottom:3px}
  .tour-card .tour-chips{gap:3px 5px}
  .tour-card .tour-chips .chip{font-size:.6rem; padding:2px 6px}

  .tour-card .tour-block.act .tour-act-value{font-size:.72rem}

  .tour-card .price-main{gap:5px}
  .tour-card .label-from{font-size:.64rem}
  .tour-card .price-new{font-size:1.02rem}
  .tour-card .price-old{font-size:.8rem}
  .tour-card .pp-chip{font-size:.6rem}
  .tour-card .price-sub .rev{font-size:.66rem}

  .tour-card .tour-btn{
    padding:.36rem .54rem; font-size:.74rem; min-height:32px;
    border-radius:8px;
  }
}

 /* =========================================================
   TOUR CARD — EXTRA COMPACT MOBILE OVERRIDES
   Targets: tour-meta-inline, tour-chips, tour-block-label,
            tour-block.act, tour-act-value, tour-price-row,
            price-main, price-new, price-old, label-from, rev,
            tour-btn, and the "View" aria-label link
   ========================================================= */

/* Compact phones & small tablets */
@media (max-width: 600px){

  /* Inline meta (Days · Type · Accommodation) */
  .tour-card .tour-meta-inline{
    font-size:.68rem; line-height:1.05;
    column-gap:4px; row-gap:3px;
    margin-bottom:4px;
  }
  .tour-card .tour-meta-inline .mi i{font-size:.78em;margin-right:2px}

  /* Block label + activity */
  .tour-card .tour-block-label{
    font-size:.62rem; line-height:1.05;
    margin-bottom:2px; opacity:.9;
    letter-spacing:.15px;
  }
  .tour-card .tour-block.act .tour-act-value{
    font-size:.66rem; line-height:1.05;
  }

  /* Destination chips tighter */
  .tour-card .tour-chips{
    gap:2px 4px; /* row x column */
    margin-top:0;
  }
  .tour-card .tour-chips .chip{
    font-size:.56rem; line-height:1;
    padding:2px 5px; border-radius:999px;
    white-space:nowrap;
  }

  /* Price row + internals */
  .tour-card .tour-price-row{
    gap:6px; margin-top:6px; align-items:center;
  }
  .tour-card .price-main{
    gap:4px; line-height:1; flex-wrap:wrap;
  }
  .tour-card .label-from{
    font-size:.6rem; text-transform:uppercase;
    letter-spacing:.2px; opacity:.85;
  }
  .tour-card .price-new{font-size:1.00rem; font-weight:800}
  .tour-card .price-old{font-size:.76rem; opacity:.7; text-decoration:line-through}
  .tour-card .price-sub .rev{font-size:.64rem; opacity:.9}

  /* Button (and any link with aria-label starting “View”) */
  .tour-card .tour-btn,
  .tour-card a[aria-label^="View"]{
    padding:.30rem .52rem;
    font-size:.70rem; font-weight:700;
    min-height:30px; border-radius:8px;
    letter-spacing:.2px;
  }
}

/* Ultra-compact small phones */
@media (max-width: 380px){

  .tour-card .tour-meta-inline{
    font-size:.62rem; column-gap:3px; row-gap:2px;
    margin-bottom:3px;
  }

  .tour-card .tour-block-label{
    font-size:.58rem; margin-bottom:2px;
  }
  .tour-card .tour-block.act .tour-act-value{
    font-size:.62rem;
  }

  .tour-card .tour-chips{gap:2px 3px}
  .tour-card .tour-chips .chip{
    font-size:.52rem; padding:1px 5px;
  }

  .tour-card .tour-price-row{gap:4px; margin-top:5px}
  .tour-card .price-main{gap:3px}
  .tour-card .label-from{font-size:.56rem}
  .tour-card .price-new{font-size:.94rem}
  .tour-card .price-old{font-size:.70rem}
  .tour-card .price-sub .rev{font-size:.60rem}

  .tour-card .tour-btn,
  .tour-card a[aria-label^="View"]{
    padding:.28rem .48rem;
    font-size:.66rem; min-height:28px;
    border-radius:7px;
  }
}
/* =========================================================
   TOUR CARD — DESKTOP COMPACT OVERRIDES (>= 901px)
   Tightens: title, meta, chips, activity, price, reviews, button
   ========================================================= */
@media (min-width: 901px){

  /* Title */
  .tour-card .tour-title{
    margin: 6px 0 6px;
    font-size: 1.1rem;
    line-height: 1.15;
    font-weight: 600;
  }
  .tour-card .tour-title a{ text-decoration: none; }

  /* Meta line: Days · Type · Accommodation */
  .tour-card .tour-meta-inline{
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 3px;
    margin-bottom: 8px;
    font-size: .75rem; line-height: 1.1;
  }
  .tour-card .tour-meta-inline .mi i{ margin-right: 6px; font-size: .95em; }
  .tour-card .tour-meta-inline .dot{ opacity:.6; margin: 0 2px; }

  /* Destination block */
  .tour-card .tour-block{ margin-top: 6px; }
  .tour-card .tour-block-label{
    font-size: .75rem; line-height: 1.1;
    margin-bottom: 5px; opacity: .85;
    letter-spacing: .15px;
  }

  /* Chips (wrap, no overlap) */
  .tour-card .tour-chips{
    display: flex; flex-wrap: wrap; gap: 2px 3px;
    margin: 0; min-width: 0;
  }
  .tour-card .tour-chips .chip{
    font-size: .75rem; line-height: 1.1;
    padding: 3px 4px; border-radius: 999px;
    white-space: nowrap;  /* prevent chip text breaking */
  }
  .tour-card .tour-chips .chip-more{ opacity: .85; }

  /* Activity row */
  .tour-card .tour-block.act{ margin-top: 8px; }
  .tour-card .tour-block.act .tour-act-value{
    font-size: .79rem; line-height: 1.15;
  }

  /* Price row */
  .tour-card .tour-price-row{
    display:flex; align-items:center; justify-content:space-between;
    gap: 8px; margin-top: 10px;
  }
  .tour-card .price-main{
    display:flex; align-items: baseline; flex-wrap: wrap;
    gap: 6px; line-height: 1.05;
  }
  .tour-card .label-from{
    font-size: .75rem; text-transform: uppercase;
    letter-spacing: .2px; opacity: .85;
  }
  .tour-card .price-new{ font-size: 1.11rem; font-weight: 800; }
  .tour-card .price-old{ font-size: .88rem; opacity: .7; text-decoration: line-through; }
  .tour-card .price-sub .rev{
    font-size: .75rem; line-height: 1.1; opacity:.9;
    margin-top: 2px;
  }

  /* View button */
  .tour-card .tour-btn{
    padding: .44rem .72rem;
    font-size: .88rem; font-weight: 700;
    min-height: 36px; border-radius: 10px;
    letter-spacing: .2px;
  }
}

/* ==== Tabs: ensure full visibility on small screens ==== */
@media (max-width: 640px){
  .tabs{
    display: flex;
    flex-wrap: wrap;           /* allow multiple rows */
    gap: 8px;                  /* tighter gaps */
    padding: 8px 10px 0;
    overflow: visible;         /* no clipping */
  }
  .tab{
    flex: 1 1 calc(50% - 8px); /* 2 per row on phones */
    min-width: 0;              /* prevent overflow */
    text-align: center;
    padding: 8px 10px;         /* compact padding */
    font-size: .88rem;         /* smaller font */
    line-height: 1.15;
    white-space: nowrap;       /* keep labels on one line */
  }
}

@media (max-width: 380px){
  .tab{
    flex: 1 1 100%;            /* one per row on very small screens */
    font-size: .86rem;
    padding: 7px 10px;
  }
}





/* ===== Customize Modal ===== */
