/* Gift shop — layered on styles.css */
.shop-hero{padding:clamp(48px,7vw,88px) 0 clamp(28px,4vw,44px)}
.shop-hero .sub{max-width:56ch}
.handoff{
  background:var(--olive-d);color:var(--bone);border-radius:4px;
  padding:22px clamp(20px,4vw,32px);margin:0 0 36px;display:none;
}
.handoff.show{display:block}
.handoff .eyebrow{color:var(--gilt-soft)}
.handoff p{color:rgba(243,234,219,.85);max-width:60ch;margin:0 0 14px}
.handoff .code{background:var(--gilt);color:var(--olive-d);font-weight:600;padding:3px 10px;border-radius:2px;letter-spacing:.08em}
.fav-row{display:flex;gap:12px;flex-wrap:wrap}
.fav-row button{
  display:flex;gap:10px;align-items:center;background:rgba(243,234,219,.08);color:var(--bone);
  border:1px solid rgba(243,234,219,.25);border-radius:3px;padding:6px 14px 6px 6px;font:inherit;font-size:.88rem;cursor:pointer;
}
.fav-row button:hover{border-color:var(--gilt-soft)}
.fav-row img{width:38px;height:38px;object-fit:cover;border-radius:2px}

.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(18px,3vw,30px)}
.work{
  background:var(--bone-2);border:1px solid var(--line);border-radius:3px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;text-align:left;padding:0;font:inherit;color:inherit;cursor:pointer;
  transition:transform .18s,border-color .18s;
}
.work:hover{transform:translateY(-3px);border-color:var(--gilt)}
.work.picked{border-color:var(--gilt);box-shadow:0 0 0 2px var(--gilt-soft),var(--shadow)}
.work .mat{aspect-ratio:1/1;display:grid;place-items:center;padding:22px;background:var(--bone)}
.work .mat img{max-height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:0 2px 4px rgba(70,60,40,.25),0 12px 24px rgba(70,60,40,.18)}
.work .meta{padding:16px 18px 20px;border-top:1px solid var(--line)}
.work h3{font-size:1.25rem;margin:0 0 2px}
.work .yr{font-size:.85rem;color:var(--olive-m);margin:0 0 8px}
.work .from{font-size:.9rem;color:var(--terra);font-weight:600;margin:0}

/* work dialog */
dialog.pdp{
  border:0;padding:0;background:var(--bone);color:var(--olive-d);border-radius:4px;
  width:min(980px,calc(100vw - 24px));max-height:calc(100vh - 24px);box-shadow:0 20px 60px rgba(30,24,12,.45);
}
dialog.pdp::backdrop{background:rgba(40,32,18,.62)}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr}
.pdp-art{background:var(--bone-2);padding:clamp(20px,4vw,40px);display:grid;place-items:center;position:relative}
.pdp-art img{max-height:62vh;width:auto;max-width:100%;transition:.2s}
.pdp-art img.framed{border:14px solid #1d1a14;box-shadow:inset 0 0 0 2px #000,0 14px 30px rgba(0,0,0,.35)}
.pdp-art img.canvas{box-shadow:6px 6px 0 -1px #cdbf9f,12px 12px 24px rgba(0,0,0,.28)}
.pdp-art img.plain{box-shadow:0 2px 4px rgba(70,60,40,.25),0 14px 30px rgba(70,60,40,.2)}
.pdp-body{padding:clamp(22px,3vw,36px);overflow:auto;max-height:calc(100vh - 24px)}
.pdp-body h2{margin-bottom:.1em}
.pdp-body .cap{color:var(--olive-m);font-size:.9rem;margin-bottom:1em}
.pdp-close{position:absolute;top:8px;right:10px;z-index:2;background:rgba(243,234,219,.92);border:1px solid var(--line);border-radius:999px;width:40px;height:40px;font-size:1.3rem;cursor:pointer;color:var(--olive-d)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}
.tabs button{background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:inherit;font-size:.84rem;font-weight:600;color:var(--olive-m);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--olive-d);color:var(--bone);border-color:var(--olive-d)}
.opts{display:grid;gap:8px;margin:0 0 18px}
.opts label{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  border:1px solid var(--line);border-radius:2px;padding:11px 14px;cursor:pointer;background:var(--bone);
}
.opts label:has(input:checked){border-color:var(--gilt);background:rgba(176,138,68,.12)}
.opts input{accent-color:var(--olive-d);margin-right:10px}
.opts .pr{font-weight:600}
.pdp-note{font-size:.84rem;color:var(--olive-m)}

/* cart */
.cart-btn{
  position:fixed;right:18px;bottom:18px;z-index:60;background:var(--olive-d);color:var(--bone);
  border:0;border-radius:999px;padding:13px 22px;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 8px 24px rgba(40,32,18,.35);
}
.cart-btn:hover{background:var(--gilt);color:var(--olive-d)}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--bone);z-index:80;
  box-shadow:-12px 0 40px rgba(30,24,12,.3);transform:translateX(105%);transition:transform .22s;display:flex;flex-direction:column;
}
.drawer.open{transform:none}
.drawer header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.drawer header h2{margin:0;font-size:1.5rem}
.drawer .lines{flex:1;overflow:auto;padding:8px 22px}
.line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.line img{width:56px;height:56px;object-fit:cover;border-radius:2px}
.line .t{font-weight:600;font-size:.95rem;line-height:1.3}
.line .s{font-size:.82rem;color:var(--olive-m)}
.line .qty{display:inline-flex;gap:8px;align-items:center;margin-top:4px}
.line .qty button{width:26px;height:26px;border:1px solid var(--line);background:var(--bone-2);border-radius:2px;cursor:pointer;font:inherit}
.drawer footer{padding:18px 22px;border-top:1px solid var(--line);background:var(--bone-2)}
.row{display:flex;justify-content:space-between;margin:0 0 6px}
.row.total{font-weight:700;font-size:1.1rem}
.promo{display:flex;gap:8px;margin:0 0 12px}
.promo input{flex:1;font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:2px;background:var(--bone);text-transform:uppercase}
.promo-msg{font-size:.82rem;color:var(--olive-m);min-height:1.2em;margin:-6px 0 8px}
.scrim{position:fixed;inset:0;background:rgba(40,32,18,.5);z-index:70;display:none}
.scrim.open{display:block}
.empty{color:var(--olive-m);padding:30px 0}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(36px,5vw,60px)}
.trust div{border-top:1px solid var(--line-gilt);padding-top:14px}
.trust h3{font-size:1.15rem;margin-bottom:.2em}
.trust p{font-size:.92rem;color:var(--olive-m);margin:0}

@media(max-width:760px){
  .pdp-grid{grid-template-columns:1fr}
  .pdp-art img{max-height:38vh}
  .trust{grid-template-columns:1fr}
}

/* no dangling words */
.shop-hero .sub,.handoff p,.pdp-body p,.pdp-note,.trust p,.trust h3,.work h3,.work .yr,.empty{text-wrap:balance}

.preview-note{background:var(--bone-2);border:1px solid var(--line-gilt);border-left:4px solid var(--gilt);border-radius:3px;padding:14px 18px;margin:0 0 28px;color:var(--olive-m);max-width:70ch;text-wrap:balance}
.preview-note strong{color:var(--olive-d)}

.credit{font-size:.78rem;line-height:1.5;color:var(--olive-m);margin:6px 0 0;text-wrap:pretty}
.credit a{text-decoration:underline;text-underline-offset:2px}

.was{color:#B3261E;text-decoration:line-through;text-decoration-color:#B3261E;text-decoration-thickness:2px;font-weight:500;margin-right:4px}
.now{font-weight:700;color:var(--olive-d)}
.work[hidden]{display:none!important}
