/* =====================================================================
   MBTS · list pages  (public/frontend/css/mbts-list.css)
   Homestays · Hotels · Itineraries · Experience categories / states /
   experience lists (with booking popup) · Festivals · Events
   - Every class starts with "mbl-" and lives inside <div class="mbl">,
     so it never touches the header / footer (mbts-site.css) and
     bootstrap / style.css are not needed on these pages.
   - Breakpoints: desktop ≥1280 · laptop ≤1279 · tablet ≤1023 ·
     big phone ≤767 · phone ≤575
   ===================================================================== */
body.mbl-page{margin:0;background:#FAF8F3}
.mbl{
  --ink:#111A14; --ink2:#4B564E; --ink3:#7D877F;
  --forest:#1E3A2B; --forest2:#2C5540; --green:#2F7A42; --sage:#EAF2EA; --sage2:#DCEBDD;
  --cream:#FAF8F3; --field:#F6F7F3; --line:#E4E7E1; --line2:#CFD8CC;
  --gold:#F5B800; --gold2:#FFC71F; --goldt:#F2D27C;
  --danger:#B42318; --danger-bg:#FDECEC; --warn:#7A5A00; --warn-bg:#FFF6D9;
  --r:.8rem; --rl:1.15rem;
  --sh:0 1px 2px rgba(17,26,20,.04),0 10px 28px rgba(17,26,20,.06);
  --sh2:0 1px 2px rgba(17,26,20,.05),0 18px 40px rgba(17,26,20,.12);
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --serif:'Fraunces',Georgia,serif;
  background:var(--cream); color:var(--ink);
  font-family:var(--sans); font-size:1rem; line-height:1.55; -webkit-font-smoothing:antialiased;
}
/* zero-specificity reset: any .mbl-* rule below still wins */
:where(.mbl) *,:where(.mbl) *::before,:where(.mbl) *::after{box-sizing:border-box}
:where(.mbl) :is(h1,h2,h3,h4,h5,p,ul,ol,figure){margin:0;padding:0}
:where(.mbl) :is(ul,ol){list-style:none}
:where(.mbl) a{color:inherit;text-decoration:none}
:where(.mbl) :is(button,input,select,textarea){font:inherit;color:inherit;margin:0}
:where(.mbl) button{cursor:pointer}
:where(.mbl) img{max-width:100%;display:block}
:where(.mbl) label{display:inline-block}
.mbl :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.mbl em.it{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em}
.mbl .mb-3{margin-bottom:1rem}
.mbl .me-1{margin-right:.25rem}
.mbl-wrap{width:100%;max-width:75rem;margin:0 auto;padding:0 1.25rem}

/* ---------- hero (photo + green shade) ---------- */
.mbl-hero{position:relative;color:#fff;background:#14281C center/cover no-repeat;padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(5.2rem,9vw,6.8rem)}
.mbl-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,15,.86) 0%,rgba(10,22,15,.6) 55%,rgba(10,22,15,.34) 100%),linear-gradient(0deg,rgba(10,22,15,.55),transparent 60%)}
.mbl-hero .mbl-wrap{position:relative}
.mbl-crumb{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.78rem;color:rgba(255,255,255,.75);margin-bottom:1rem}
.mbl-crumb a{color:#fff}
.mbl-crumb a:hover{text-decoration:underline}
.mbl-eye{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--goldt);margin-bottom:.8rem}
.mbl-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.025em;line-height:1.04;max-width:20ch;color:#fff}
.mbl-hero h1 em.it{color:var(--goldt)}
.mbl-hero .lead{margin-top:.9rem;max-width:36rem;font-size:1rem;color:rgba(255,255,255,.88)}
.mbl-pts{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.2rem;font-size:.84rem;font-weight:600;color:rgba(255,255,255,.9)}
.mbl-pts span{display:inline-flex;align-items:center;gap:.45rem}
.mbl-pts i{color:var(--goldt);font-size:.8rem}
.mbl-back{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.82rem;font-weight:700;color:#fff;padding:.4rem .85rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28)}
.mbl-back:hover{background:#fff;color:var(--forest)}

.mbl-main{position:relative;z-index:2;margin-top:-3.4rem;padding-bottom:4.5rem}

/* ---------- filter card ---------- */
.mbl-filter{background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:var(--sh2);padding:1rem 1.1rem;margin-bottom:2rem}
.mbl-filter form{margin:0}
.mbl-f{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}
.mbl-fld{flex:0 0 auto;min-width:0}
.mbl-fld.grow{flex:1 1 10rem}
.mbl-fld.w-date{width:9.4rem}
.mbl-fld.w-sel{width:10.5rem}
.mbl-lbl{display:block;margin:0 0 .35rem .2rem;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
.mbl-ctl{position:relative}
.mbl-ctl>i{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:.82rem;pointer-events:none}
.mbl-in{width:100%;height:3rem;border:1.5px solid var(--line);border-radius:var(--r);padding:0 .95rem;font-size:.92rem;font-weight:500;color:var(--ink);background:var(--field);outline:none;transition:border-color .15s,background .15s,box-shadow .15s}
.mbl-ctl>i+.mbl-in{padding-left:2.5rem}
.mbl-in::placeholder{color:#9AA59C}
.mbl-in:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px rgba(30,58,43,.1)}
select.mbl-in{-webkit-appearance:none;appearance:none;padding-right:2.3rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234B564E' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .95rem center}
.mbl-fbtns{display:flex;gap:.5rem;flex:0 0 auto}

.mbl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3rem;padding:0 1.35rem;border-radius:999px;border:1.5px solid transparent;font-weight:800;font-size:.9rem;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.mbl-btn:hover{transform:translateY(-1px)}
.mbl-btn.dk{background:var(--forest);color:#fff}
.mbl-btn.dk:hover{background:var(--forest2)}
.mbl-btn.y{background:var(--gold);color:var(--ink)}
.mbl-btn.y:hover{background:var(--gold2)}
.mbl-btn.ln{background:#fff;color:var(--ink2);border-color:var(--line)}
.mbl-btn.ln:hover{border-color:var(--forest);color:var(--forest)}

/* ---------- result bar ---------- */
.mbl-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem 1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.mbl-bar-l{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;min-width:0}
.mbl-bar h2{font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.mbl-count{display:inline-flex;align-items:center;height:1.75rem;padding:0 .75rem;border-radius:999px;background:var(--sage);color:var(--forest);font-size:.78rem;font-weight:800}
.mbl-q{width:100%;font-size:.84rem;color:var(--ink3)}
.mbl-sort{margin:0}
.mbl-sort .mbl-in{height:2.6rem;min-width:13rem;background-color:#fff;font-size:.86rem;font-weight:700;color:var(--ink2);border-radius:999px}

/* ---------- grids ---------- */
.mbl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.mbl-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.mbl-grid.tiles{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1.2rem}

/* ---------- list card ---------- */
.mbl-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;box-shadow:0 1px 2px rgba(17,26,20,.04);transition:transform .2s,box-shadow .2s,border-color .2s}
.mbl-card:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:var(--line2)}
.mbl-card.dim{opacity:.82}
.mbl-card.click{cursor:pointer}
.mbl-img{position:relative;display:block;height:13.25rem;overflow:hidden;background:var(--sage)}
.mbl-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.mbl-card:hover .mbl-img img{transform:scale(1.05)}
.mbl-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,22,15,.72) 0%,rgba(10,22,15,.08) 48%,transparent 70%);pointer-events:none}
.mbl-tl{position:absolute;top:.75rem;left:.75rem;right:.75rem;z-index:2;display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start}
.mbl-tr{margin-left:auto}
.mbl-ov{position:absolute;left:.85rem;right:.85rem;bottom:.7rem;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#fff;font-size:.78rem;font-weight:700}
.mbl-ov span{display:inline-flex;align-items:center;gap:.4rem;min-width:0}
.mbl-ov .tags{display:flex;flex-wrap:wrap;gap:.35rem}
.mbl-pill{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.28rem .65rem;border-radius:999px;font-size:.7rem;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbl-pill.w{background:#fff;color:var(--forest);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.mbl-pill.w .fa-check-circle{color:var(--green)}
.mbl-pill.g{background:var(--gold);color:var(--ink)}
.mbl-pill.gl{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mbl-pill.mut{background:rgba(255,255,255,.9);color:var(--ink2)}
.mbl-pill.dk{background:rgba(10,22,15,.72);color:#fff}
.mbl-date{display:flex;flex-direction:column;align-items:center;min-width:3.3rem;padding:.4rem .55rem;border-radius:.75rem;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);line-height:1.05}
.mbl-date small{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--danger)}
.mbl-date b{font-size:1.3rem;font-weight:800;color:var(--ink)}

.mbl-body{flex:1;display:flex;flex-direction:column;padding:1rem 1.1rem 1.1rem;min-width:0}
.mbl-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.35rem;font-size:.78rem;color:var(--ink3)}
.mbl-loc{display:inline-flex;align-items:center;gap:.4rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbl-loc i{color:var(--green);font-size:.72rem}
.mbl-rate{flex:none;font-weight:800;color:var(--ink)}
.mbl-rate .s{color:var(--gold)}
.mbl-rate .n{color:var(--ink3);font-weight:500}
.mbl-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:1.08rem;font-weight:800;letter-spacing:-.01em;line-height:1.3;color:var(--ink);margin-bottom:.4rem}
a.mbl-name:hover{color:var(--green)}
.mbl-name.one{-webkit-line-clamp:1}
.mbl-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.84rem;color:var(--ink2);line-height:1.55;margin-bottom:.75rem}
.mbl-desc i{color:var(--gold);margin-right:.35rem;font-size:.75rem}
.mbl-facts{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.7rem;font-size:.8rem;color:var(--ink2)}
.mbl-facts span{display:inline-flex;align-items:center;gap:.4rem}
.mbl-facts i{color:var(--green);font-size:.74rem}
.mbl-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:auto 0 .85rem}
.mbl-desc+.mbl-chips,.mbl-facts+.mbl-chips{margin-top:0}
.mbl-chips.nowrap{flex-wrap:nowrap;overflow:hidden}
.mbl-chip{display:inline-flex;align-items:center;gap:.35rem;flex:none;padding:.22rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--forest2);background:var(--field);border:1px solid var(--line)}
.mbl-chip i{color:var(--green);font-size:.68rem}
.mbl-chip.more{background:var(--sage);border-color:var(--sage);color:var(--ink2)}
.mbl-chip.warn{color:var(--warn);background:var(--warn-bg);border-color:#F3DE9A}
.mbl-chip.warn i{color:var(--warn)}
.mbl-chip.bad{color:var(--danger);background:var(--danger-bg);border-color:#F3C6C2}
.mbl-chip.bad i{color:var(--danger)}
.mbl-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding-top:.85rem;border-top:1px solid var(--line);margin-top:auto}
.mbl-chips+.mbl-foot,.mbl-desc+.mbl-foot{margin-top:0}
.mbl-price{min-width:0;line-height:1.15}
.mbl-price small{display:block;font-size:.7rem;font-weight:600;color:var(--ink3);margin-bottom:.15rem}
.mbl-price b{font-size:1.28rem;font-weight:800;letter-spacing:-.01em;color:var(--forest)}
.mbl-price span{display:block;margin-top:.1rem;font-size:.72rem;color:var(--ink3);font-weight:600}
.mbl-dur{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--ink2);white-space:nowrap}
.mbl-acts{display:flex;gap:.45rem;flex:none}
.mbl-acts.full{margin-top:.8rem}
.mbl-acts.full .mbl-b{flex:1}
.mbl-b{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:2.4rem;padding:0 .95rem;border-radius:999px;border:1.5px solid var(--forest);font-size:.8rem;font-weight:800;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.mbl-b.o{background:#fff;color:var(--forest)}
.mbl-b.o:hover{background:var(--sage)}
.mbl-b.f{background:var(--forest);color:#fff}
.mbl-b.f:hover{background:var(--forest2);border-color:var(--forest2);color:#fff}
.mbl-b.off{background:#D5DBD4;border-color:#D5DBD4;color:#5F6B62;pointer-events:none;cursor:default}

/* ---------- category + state tiles ---------- */
.mbl-tile{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:0 1px 2px rgba(17,26,20,.04);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.mbl-tile:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:var(--line2)}
.mbl-tile .ic{width:3.4rem;height:3.4rem;margin:1.4rem 1.3rem 0;border-radius:1rem;background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:background .2s,color .2s}
.mbl-tile:hover .ic{background:var(--forest);color:var(--goldt)}
.mbl-tile .ph{position:relative;height:11rem;background:var(--sage);overflow:hidden}
.mbl-tile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.mbl-tile:hover .ph img{transform:scale(1.05)}
.mbl-tile .ph .fb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--green)}
.mbl-tile .tb{flex:1;display:flex;flex-direction:column;padding:1rem 1.3rem 1.2rem}
.mbl-tile h3{font-size:1.15rem;font-weight:800;letter-spacing:-.015em;line-height:1.25;color:var(--ink)}
.mbl-tile .tg{margin-top:.35rem;font-size:.86rem;color:var(--ink2);line-height:1.45}
.mbl-tile .tf{margin-top:auto;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.mbl-tile .tb h3+.tf{margin-top:auto}
.mbl-tile .tf>span:first-child{font-size:.8rem;font-weight:700;color:var(--ink2)}
.mbl-tile .ar{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .2s,color .2s,transform .2s}
.mbl-tile:hover .ar{background:var(--forest);color:#fff;transform:translateX(3px)}
.mbl-tile .tb .gap{height:1.2rem}

/* ---------- empty / note ---------- */
.mbl-empty{grid-column:1/-1;background:#fff;border:1px dashed var(--line2);border-radius:var(--rl);padding:3rem 1.5rem;text-align:center}
.mbl-empty>i{display:inline-flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--sage);color:var(--forest);font-size:1.4rem;margin-bottom:.9rem}
.mbl-empty h4{font-size:1.2rem;font-weight:800;margin-bottom:.35rem}
.mbl-empty p{font-size:.92rem;color:var(--ink2);margin:0 auto 1.1rem;max-width:34rem}
.mbl-empty p:last-child{margin-bottom:0}
.mbl-note{display:flex;align-items:center;justify-content:center;gap:.5rem;text-align:center;font-size:.84rem;color:var(--ink3);margin:2rem auto 0;max-width:40rem}
.mbl-note i{color:var(--green)}

/* =====================================================================
   Experience popup (Details → Date & Guests → Your info) + success
   Works with the small window.bootstrap.Modal helper in mbts-list.js.
   ===================================================================== */
.mbl .modal{position:fixed;inset:0;z-index:1200;display:none;overflow-x:hidden;overflow-y:auto;background:rgba(10,20,14,.55);padding:1.75rem 1rem;-webkit-overflow-scrolling:touch}
.mbl .modal.show{display:block;animation:mbl-fade .18s ease}
@keyframes mbl-fade{from{opacity:0}to{opacity:1}}
.mbl .modal-dialog{position:relative;width:100%;max-width:48rem;margin:0 auto}
.mbl .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 0rem)}
.mbl .modal-dialog-centered{max-width:32rem}
.mbl .modal.show .modal-dialog{animation:mbl-up .22s ease}
@keyframes mbl-up{from{transform:translateY(14px)}to{transform:none}}
.mbl .modal-content{position:relative;width:100%;background:#fff;border-radius:1.35rem;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.32)}
html.mbl-lock,html.mbl-lock body{overflow:hidden}

.mbl-ftabs{position:sticky;top:0;z-index:10;display:flex;background:#fff;border-bottom:1px solid var(--line)}
.mbl-ftab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem .5rem;border:0;background:none;border-bottom:3px solid transparent;margin-bottom:-1px;font-size:.84rem;font-weight:700;color:var(--ink3);transition:color .15s,border-color .15s}
.mbl-ftab .n{width:1.45rem;height:1.45rem;border-radius:50%;background:var(--line);color:var(--ink2);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex:none}
.mbl-ftab.active{color:var(--forest);border-bottom-color:var(--gold)}
.mbl-ftab.active .n,.mbl-ftab.done .n{background:var(--forest);color:#fff}
.mbl-ftab.done{color:var(--forest)}
.mbl-mscroll{overflow-y:auto;max-height:calc(100vh - 7.5rem)}

.mbl-mhero{position:relative;height:18rem;background:#0F1C13;overflow:hidden}
.mbl-mhero img{width:100%;height:100%;object-fit:cover}
.mbl-mhero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,22,15,.92) 0%,rgba(10,22,15,.25) 55%,transparent 100%);pointer-events:none}
.mbl-mx{position:absolute;top:.8rem;right:.8rem;z-index:3;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background .15s}
.mbl-mx:hover{background:#fff;color:var(--forest)}
.mbl-mhero-t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem 1.5rem 1.3rem;color:#fff}
.mbl-mhero-t .nm{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:.3rem}
.mbl-mhero-t .lc{display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:rgba(255,255,255,.82)}
.mbl-mhero-t .lc i{color:var(--goldt)}

.mbl-mcat{padding:1.1rem 1.5rem 0}
.mbl-mbadges{display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem 1.5rem 0}
.mbl-ib{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .8rem;border-radius:999px;background:var(--field);border:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--forest2)}
.mbl-ib i{color:var(--green);font-size:.75rem}
.mbl-msec{padding:1.3rem 1.5rem 0}
.mbl-mt{display:flex;align-items:center;gap:.55rem;margin-bottom:.7rem;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.mbl-mt::before{content:"";width:.25rem;height:1.05rem;border-radius:2px;background:var(--gold);flex:none}
.mbl-mt .c{font-size:.76rem;font-weight:600;color:var(--ink3)}
.mbl-mtext{font-size:.9rem;color:var(--ink2);line-height:1.8}
.mbl-mtext p{margin:0 0 .6rem}
.mbl-mtext p:last-child{margin-bottom:0}
.mbl-mtext ul,.mbl-mtext ol{margin:0 0 .6rem 1.2rem;padding:0;list-style:revert}
.mbl-mtext :is(strong,b){color:var(--ink);font-weight:800}
.mbl-mtext img{max-width:100%;border-radius:.6rem;margin:.5rem 0}
.mbl-mtext a{color:var(--green);text-decoration:underline}
.mbl-hl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.mbl-hl li{display:flex;gap:.5rem;align-items:flex-start;font-size:.86rem;color:var(--ink)}
.mbl-hl li::before{content:"✓";flex:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--sage);color:var(--forest);font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:.1rem}
.mbl-incl{display:flex;flex-direction:column;gap:.45rem}
.mbl-incl li{display:flex;align-items:center;gap:.6rem;font-size:.86rem;color:var(--ink)}
.mbl-incl li i{width:1rem;color:var(--green);text-align:center}
.mbl-carry{display:flex;flex-wrap:wrap;gap:.45rem}
.mbl-carry>div{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .8rem;border-radius:999px;background:var(--field);border:1px solid var(--line);font-size:.8rem;color:var(--ink2)}
.mbl-carry>div i{color:var(--green)}
.mbl-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem}
.mbl-gal button{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:.65rem;overflow:hidden;background:var(--sage);cursor:zoom-in}
.mbl-gal img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.mbl-gal button:hover img{transform:scale(1.07)}
.mbl-gal .z{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,22,15,.35);color:#fff;opacity:0;transition:opacity .2s}
.mbl-gal button:hover .z,.mbl-gal button:focus-visible .z{opacity:1}
.mbl-mcta{padding:1.4rem 1.5rem 1.5rem}

.mbl-lb{position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;padding:2rem;background:rgba(8,14,10,.95)}
.mbl-lb.on{display:flex}
.mbl-lb img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:.5rem;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.mbl-lb button{position:absolute;z-index:1;width:2.8rem;height:2.8rem;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:background .15s}
.mbl-lb button:hover{background:rgba(255,255,255,.28)}
.mbl-lb .x{top:1rem;right:1rem}
.mbl-lb .pv{left:1rem;top:50%;transform:translateY(-50%)}
.mbl-lb .nx{right:1rem;top:50%;transform:translateY(-50%)}
.mbl-lb .ct{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);padding:.3rem .9rem;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:.8rem;font-weight:700}

.mbl-bk{padding:1.4rem 1.5rem 1.5rem}
.mbl-bk-price{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--forest);line-height:1.1}
.mbl-bk-sub{font-size:.82rem;color:var(--ink3);margin-bottom:1.2rem}
.mbl-bl{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:800;color:var(--ink)}
.mbl-bl .req{color:var(--danger)}
.mbl-bl small{font-size:.74rem;font-weight:500;color:var(--ink3)}
.mbl-bi{width:100%;min-height:3rem;border:1.5px solid var(--line);border-radius:var(--r);padding:.7rem .95rem;font-size:1rem;color:var(--ink);background:var(--field);outline:none;transition:border-color .15s,background .15s,box-shadow .15s}
.mbl-bi:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px rgba(30,58,43,.1)}
textarea.mbl-bi{resize:vertical;min-height:5rem}
.mbl-hint{font-size:.76rem;color:var(--ink3);margin-top:.3rem}
.mbl-qrow{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mbl-qrow .u{font-size:.86rem;color:var(--ink2)}
.mbl-qty{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.mbl-qty button{width:2.6rem;height:2.6rem;border:0;background:var(--field);color:var(--forest);font-size:1.15rem;font-weight:800;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.mbl-qty button:hover{background:var(--forest);color:#fff}
.mbl-qty input{width:2.8rem;height:2.6rem;border:0;padding:0;text-align:center;font-weight:800;font-size:1rem;background:#fff;pointer-events:none;outline:none}
.mbl-sum{margin-top:1.1rem;padding:1rem 1.1rem;border-radius:var(--r);background:var(--field);border:1px solid var(--line)}
.mbl-srow{display:flex;justify-content:space-between;gap:.8rem;font-size:.84rem;color:var(--ink2);margin-bottom:.4rem}
.mbl-srow>span:last-child{color:var(--ink);font-weight:700;text-align:right}
.mbl-srow.nm{font-size:.8rem;font-weight:800;color:var(--ink)}
.mbl-srow.nm>span:first-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mbl-srow.total{margin:.55rem 0 0;padding-top:.65rem;border-top:1.5px dashed var(--line2);font-size:1rem;font-weight:800;color:var(--ink)}
.mbl-srow.total>span:last-child{color:var(--forest);font-size:1.15rem}
.mbl-next{width:100%;min-height:3.2rem;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.55rem;border:0;border-radius:999px;background:var(--forest);color:#fff;font-size:.98rem;font-weight:800;transition:background .15s}
.mbl-next:hover{background:var(--forest2)}
.mbl-next.y{background:var(--gold);color:var(--ink)}
.mbl-next.y:hover{background:var(--gold2)}
.mbl-next:disabled{opacity:.65;cursor:wait}
.mbl-prev{width:100%;min-height:2.9rem;margin-top:.6rem;display:flex;align-items:center;justify-content:center;gap:.4rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink2);font-size:.9rem;font-weight:700;transition:border-color .15s,color .15s}
.mbl-prev:hover{border-color:var(--forest);color:var(--forest)}
.mbl-sline{margin-bottom:1.2rem;padding:.9rem 1rem;border-radius:var(--r);background:var(--sage);border:1px solid var(--sage2)}
.mbl-sline small{display:block;font-size:.74rem;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em}
.mbl-sline div{font-size:.92rem;font-weight:700;color:var(--ink);margin-top:.15rem}
.mbl-sline b{display:block;font-size:1.35rem;font-weight:800;color:var(--forest);margin-top:.1rem}

.mbl-ok{text-align:center;padding:2.4rem 1.6rem 1.8rem}
.mbl-ok-ring{width:4.8rem;height:4.8rem;margin:0 auto 1rem;border-radius:50%;background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:2.1rem;animation:mbl-pop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes mbl-pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.mbl-ok h3{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--forest);margin-bottom:.35rem}
.mbl-ok>p{font-size:.9rem;color:var(--ink2);margin-bottom:1.2rem}
.mbl-ok-id{display:inline-block;margin-bottom:1.2rem;padding:.7rem 1.3rem;border:2px dashed var(--forest);border-radius:var(--r);background:var(--field)}
.mbl-ok-id small{display:block;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.mbl-ok-id b{font-size:1.45rem;font-weight:800;color:var(--forest)}
.mbl-ok-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;text-align:left;margin-bottom:1.3rem}
.mbl-ok-grid>div{padding:.6rem .8rem;border-radius:var(--r);background:var(--field)}
.mbl-ok-grid small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.mbl-ok-grid b{display:block;margin-top:.15rem;font-size:.88rem;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.mbl-ok-grid .amt{color:var(--forest);font-size:1.02rem}
.mbl-ok-grid .wait{color:#9A6A00}
.mbl-ok-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.mbl-ok-acts button{display:inline-flex;align-items:center;gap:.4rem;height:2.6rem;padding:0 1.05rem;border-radius:999px;border:1.5px solid var(--forest);font-size:.84rem;font-weight:800;transition:background .15s,color .15s}
.mbl-ok-acts .p{background:var(--forest);color:#fff}
.mbl-ok-acts .o{background:#fff;color:var(--forest)}
.mbl-ok-acts .w{background:#25D366;border-color:#25D366;color:#fff}
.mbl-ok-acts .c{background:var(--field);border-color:var(--line);color:var(--ink2)}
.mbl .d-hidden{display:none!important}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:1279px){
  .mbl-grid.c4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mbl-grid{gap:1.2rem}
}
@media (max-width:1023px){
  .mbl-grid,.mbl-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbl-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .mbl-fld,.mbl-fld.w-date,.mbl-fld.w-sel{width:auto}
  .mbl-fld.grow,.mbl-fbtns{grid-column:1/-1}
  .mbl-f.short{grid-template-columns:minmax(0,1fr) auto}
  .mbl-f.short .mbl-fld.grow{grid-column:auto}
  .mbl-f.short .mbl-fbtns{grid-column:auto}
  .mbl-fbtns .mbl-btn{flex:1}
  .mbl .modal{padding:0}
  .mbl .modal-dialog:not(.modal-dialog-centered){max-width:none;min-height:100%}
  .mbl .modal-dialog:not(.modal-dialog-centered) .modal-content{border-radius:0;min-height:100vh}
  .mbl .modal-dialog:not(.modal-dialog-centered) .mbl-mscroll{max-height:calc(100vh - 3.4rem)}
  .mbl .modal-dialog-centered{padding:1rem;min-height:100%}
}
@media (max-width:767px){
  .mbl-hero{padding-top:2.2rem}
  .mbl-img{height:12.5rem}
  .mbl-f.short{grid-template-columns:minmax(0,1fr)}
  .mbl-sort,.mbl-sort .mbl-in{width:100%}
  .mbl-mhero{height:14.5rem}
  .mbl-hl{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:575px){
  .mbl-wrap{padding:0 1rem}
  .mbl-grid,.mbl-grid.c4,.mbl-grid.tiles{grid-template-columns:minmax(0,1fr)}
  .mbl-f{grid-template-columns:minmax(0,1fr)}
  .mbl-f .mbl-fld.w-date,.mbl-f .mbl-fld.w-sel{grid-column:auto}
  .mbl-f.dates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbl-f.dates .mbl-fld.w-sel:last-of-type{grid-column:auto}
  .mbl-filter{padding:.9rem}
  .mbl-bar{align-items:stretch}
  .mbl-ftab .t{display:none}
  .mbl-ok-grid{grid-template-columns:minmax(0,1fr)}
  .mbl-lb{padding:1rem}
  .mbl-lb .pv{left:.4rem}.mbl-lb .nx{right:.4rem}
}
@media (prefers-reduced-motion:reduce){.mbl *{transition:none!important;animation:none!important}}

/* hero: second-choice link (e.g. "Browse by state instead") */
.mbl-alt{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.3rem;height:2.6rem;padding:0 1.1rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.5);color:#fff;font-size:.86rem;font-weight:800;transition:background .15s,color .15s,border-color .15s}
.mbl-alt:hover{background:#fff;color:var(--forest);border-color:#fff}
@media (max-width:575px){.mbl-pts span:nth-child(n+3){display:none}}
@media (max-width:767px){.mbl-in{font-size:16px}}   /* iPhone does not zoom into the field */
