/* ============================================================
   CARPE DIEM — components (cart drawer, forms, shared UI)
   ============================================================ */

/* ---------- cart drawer ---------- */
.drawer-ov{position:fixed;inset:0;z-index:490;background:rgba(10,10,11,.5);backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}
.drawer-ov.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:500;width:min(440px,92vw);background:var(--paper);
  transform:translateX(100%);transition:transform .6s var(--ease);display:flex;flex-direction:column}
.drawer.open{transform:none;box-shadow:-30px 0 80px rgba(0,0,0,.18)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);border-bottom:1px solid var(--line)}
.drawer__head h3{font-family:var(--disp);font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:-.02em}
.drawer__close{font-family:var(--mono);font-size:20px;line-height:1}
.drawer__fomo{background:var(--red);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;text-align:center;padding:9px 14px;display:flex;gap:8px;justify-content:center}
.drawer__fomo b{font-weight:700}
.drawer__body{flex:1;overflow-y:auto;padding:8px var(--gutter)}
.drawer__empty{padding:60px 0;text-align:center;color:var(--mute);font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.drawer__foot{border-top:1px solid var(--line);padding:20px var(--gutter) 26px}
.drawer__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.drawer__row b{font-family:var(--disp);font-weight:900;font-size:24px;letter-spacing:-.02em}
.drawer__foot .btn{width:100%;justify-content:center}
.drawer__note{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--mute);margin-top:12px;text-transform:uppercase}

.ci{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.ci__img{width:74px;height:92px;background:var(--smoke-2);flex:none;overflow:hidden}
.ci__img img{width:100%;height:100%;object-fit:contain;padding:8%}
.ci__body{flex:1;display:flex;flex-direction:column}
.ci__top{display:flex;justify-content:space-between;gap:10px}
.ci__name{font-family:var(--cond);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.01em}
.ci__rm{font-size:10px;color:var(--mute);letter-spacing:.1em}.ci__rm:hover{color:var(--red)}
.ci__meta{font-size:11px;color:var(--mute);margin-top:4px}
.ci__qty{margin-top:auto;display:inline-flex;align-items:center;gap:14px;border:1px solid var(--line);width:fit-content;padding:5px 12px}
.ci__qty button{font-family:var(--mono);font-size:15px;width:16px}
.ci__qty span{font-family:var(--mono);font-size:13px;min-width:14px;text-align:center}

/* ---------- notify / newsletter band ---------- */
.notify{background:var(--ink);color:#fff;padding:clamp(60px,11vw,150px) var(--gutter);text-align:center;position:relative;overflow:hidden}
.notify h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;
  font-size:clamp(34px,7vw,110px);line-height:.9;max-width:16ch;margin:0 auto}
.notify p{color:var(--mute-d);max-width:46ch;margin:22px auto 0;font-size:clamp(15px,1.3vw,18px)}
.notify__form{display:flex;gap:10px;max-width:520px;margin:34px auto 0;flex-wrap:wrap;justify-content:center}
.notify__form input{flex:1;min-width:220px;background:transparent;border:1px solid var(--line-d);color:#fff;
  padding:16px 18px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;border-radius:2px}
.notify__form input::placeholder{color:var(--mute-d);text-transform:uppercase}
.notify__ok{color:var(--red);font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:20px;min-height:18px}
.notify__code{margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--mute-d);letter-spacing:.1em}

/* ---------- generic page hero ---------- */
.phero{padding:clamp(130px,20vh,220px) var(--gutter) clamp(30px,5vw,60px)}
.phero h1{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;
  font-size:clamp(52px,13vw,190px);line-height:.84}
.phero p{color:var(--mute);max-width:52ch;margin-top:22px;font-size:clamp(15px,1.3vw,18px)}

/* ---------- prose (policies / about) ---------- */
.prose{max-width:760px;margin:0 auto;padding:0 var(--gutter) 120px}
.prose h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(26px,4vw,46px);margin:48px 0 16px;letter-spacing:-.02em}
.prose p{color:var(--mute);margin:0 0 18px;font-size:17px;line-height:1.65}
.prose a{color:var(--red)}
