/* ============================================================================
   KLLD-CART-2026 — booking-aware minicart slide-out drawer.
   Light "field guide" CI to match the mega-menu + #tourBook bookdrawer.
   Scoped under .klld-mc so nothing leaks into the theme. Enqueued site-wide
   (header is global) via klld_minicart_assets() in inc/klld-minicart.php.
   ========================================================================== */
.klld-mc{
  --kg:#099024; --kg-deep:#06701b; --sun:#ffcc00; --gold:#b8860b;
  --ink:#14281b; --ink-soft:#46564d; --paper:#f4eede; --paper-hi:#fbf7ec;
  --line:rgba(20,40,27,.12);
  --disp:"Fraunces",Georgia,serif; --body:"Hanken Grotesk",-apple-system,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  position:fixed; inset:0; z-index:100000; visibility:hidden; pointer-events:none;
}
.klld-mc.is-open{ visibility:visible; pointer-events:auto; }
.klld-mc__scrim{
  position:absolute; inset:0; background:rgba(12,22,15,.34);
  opacity:0; transition:opacity .35s ease; -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.klld-mc.is-open .klld-mc__scrim{ opacity:1; }
.klld-mc__panel{
  position:absolute; top:0; right:0; height:100%; width:min(92vw,400px);
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,var(--paper-hi) 0%,var(--paper) 60%,#ece3cf 100%);
  box-shadow:-30px 0 60px -34px rgba(20,40,27,.5);
  transform:translateX(100%); transition:transform .42s cubic-bezier(.22,.61,.36,1);
  font-family:var(--body); color:var(--ink);
}
.klld-mc.is-open .klld-mc__panel{ transform:none; }

/* header */
.klld-mc__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 22px 14px; border-bottom:1px solid var(--line);
}
.klld-mc__eyebrow{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--kg); font-weight:600;
}
.klld-mc__close{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
  background:rgba(20,40,27,.04); color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .25s,color .25s,border-color .25s;
}
.klld-mc__close:hover{ background:var(--kg); color:#fff; border-color:var(--kg); }
.klld-mc__close svg{ width:18px; height:18px; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; fill:none; }

/* body / items */
.klld-mc__body{ flex:1 1 auto; overflow-y:auto; padding:8px 0; }
.klld-mc__item{
  display:flex; gap:13px; padding:16px 22px; border-bottom:1px solid var(--line);
  position:relative; transition:opacity .25s ease;
}
.klld-mc__item.is-removing{ opacity:.4; }
.klld-mc__thumb{ flex:0 0 64px; width:64px; height:64px; border-radius:8px; overflow:hidden; background:#e7dcc6; }
.klld-mc__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.klld-mc__meta{ flex:1 1 auto; min-width:0; }
.klld-mc__title{
  font-family:var(--disp); font-weight:500; font-size:1.02rem; line-height:1.18; color:var(--ink)!important;
  text-decoration:none; display:block; margin:0 0 2px;
}
.klld-mc__title:hover{ color:var(--kg)!important; }
.klld-mc__badge{
  display:inline-block; font-family:var(--mono); font-size:.56rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--kg-deep); background:rgba(9,144,36,.12);
  border-radius:4px; padding:2px 7px; margin:1px 0 6px;
}
.klld-mc__lines{ list-style:none; margin:5px 0 0; padding:0; }
.klld-mc__lines li{ display:flex; gap:8px; font-size:.78rem; line-height:1.5; }
.klld-mc__k{ flex:0 0 auto; color:var(--ink-soft); }
.klld-mc__v{ font-family:var(--mono); color:var(--ink); font-size:.74rem; }
.klld-mc__price{ font-family:var(--mono); font-weight:600; font-size:.92rem; color:var(--kg-deep); margin-top:8px; }
.klld-mc__rm{
  flex:0 0 auto; align-self:flex-start; width:30px; height:30px; border-radius:50%;
  border:1px solid var(--line); background:transparent; color:var(--ink-soft); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s,color .2s,border-color .2s;
}
.klld-mc__rm:hover{ background:#c0392b; color:#fff; border-color:#c0392b; }
.klld-mc__rm:disabled{ opacity:.4; cursor:default; }
.klld-mc__rm svg{ width:15px; height:15px; stroke:currentColor; stroke-width:1.4; fill:none; stroke-linecap:round; stroke-linejoin:round; }

/* empty */
.klld-mc__empty{ text-align:center; padding:54px 22px; color:var(--ink-soft); }
.klld-mc__empty p{ font-family:var(--disp); font-style:italic; font-size:1.1rem; margin:0 0 14px; }
.klld-mc__browse{
  display:inline-block; font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--kg); text-decoration:none; border-bottom:1px solid var(--kg); padding-bottom:2px;
}

/* footer */
.klld-mc__foot{ padding:16px 22px 22px; border-top:1px solid var(--line); background:rgba(255,255,255,.4); }
.klld-mc__subtotal{
  display:flex; align-items:baseline; justify-content:space-between; margin-bottom:13px;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);
}
.klld-mc__sum{ font-size:1.1rem; letter-spacing:0; text-transform:none; color:var(--ink); font-weight:600; }
.klld-mc__btn{
  display:block; text-align:center; padding:13px; border-radius:10px; text-decoration:none;
  font-family:var(--body); font-weight:600; font-size:.92rem; transition:transform .2s ease,background .2s,color .2s;
}
.klld-mc__btn--ghost{ border:1px solid var(--kg); color:var(--kg)!important; margin-bottom:9px; }
.klld-mc__btn--ghost:hover{ background:rgba(9,144,36,.08); }
.klld-mc__btn--go{ background:var(--kg); color:#fff!important; }
.klld-mc__btn--go:hover{ background:var(--kg-deep); transform:translateY(-1px); }

body.klld-mc-open{ overflow:hidden; }

@media (prefers-reduced-motion:reduce){
  .klld-mc__panel,.klld-mc__scrim,.klld-mc__close,.klld-mc__btn--go{ transition:none; }
}
