  :root{
    --bg:        oklch(0.972 0.018 78);   /* warm cream */
    --bg-deep:   oklch(0.945 0.026 72);
    --bg-card:   oklch(0.992 0.010 85);
    --ink:       oklch(0.330 0.022 50);   /* warm cocoa */
    --ink-soft:  oklch(0.470 0.022 50);
    --muted:     oklch(0.600 0.018 56);
    --line:      oklch(0.330 0.022 50 / 0.14);
    --line-soft: oklch(0.330 0.022 50 / 0.08);
    --coral:     oklch(0.660 0.158 35);   /* happy papaya — primary */
    --coral-deep:oklch(0.560 0.168 33);
    --turq:      oklch(0.690 0.098 196);  /* Caribbean turquoise — secondary */
    --turq-deep: oklch(0.560 0.090 200);
    --sun:       oklch(0.815 0.130 82);    /* sunny marigold — tertiary */

    --serif: "Bricolage Grotesque", system-ui, sans-serif;
    --sans:  "Figtree", system-ui, -apple-system, sans-serif;

    --maxw: 1260px;
    --gutter: clamp(20px, 5vw, 88px);
    --ease: cubic-bezier(.22,.61,.36,1);
  }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
  body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.62; font-weight:400; overflow-x:hidden; }
  body.no-scroll{ overflow:hidden; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
  ::selection{ background:var(--coral); color:#fff; }
  a{ color:inherit; text-decoration:none; }
  img{ display:block; max-width:100%; }
  h1,h2,h3,h4{ margin:0; font-weight:400; }
  p{ margin:0; }
  button{ font-family:inherit; cursor:pointer; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); }
  .disp{ font-family:var(--serif); font-weight:700; letter-spacing:-0.02em; }
  .eyebrow{ font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--coral-deep); display:inline-flex; align-items:center; gap:.7em; }
  .eyebrow::before{ content:""; width:20px; height:2px; border-radius:2px; background:var(--coral); display:inline-block; }

  html.reveal-on .reveal{ opacity:0; transform:translateY(20px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
  html.reveal-on .reveal.in{ opacity:1; transform:none; }
  html.reveal-on .reveal.d1{ transition-delay:.07s; }
  html.reveal-on .reveal.d2{ transition-delay:.14s; }
  html.reveal-on .reveal.d3{ transition-delay:.21s; }

  /* ============ NAV ============ */
  header.nav{ position:fixed; inset:0 0 auto 0; z-index:50; border-bottom:1px solid transparent; transition:background .5s var(--ease), border-color .5s, backdrop-filter .5s; }
  header.nav.scrolled{ background:oklch(0.972 0.018 78 / 0.85); backdrop-filter:blur(16px) saturate(1.1); border-bottom:1px solid var(--line-soft); }
  .nav-inner{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .brand{ display:flex; align-items:center; gap:12px; }
  .brand .mark{ width:36px; height:36px; border-radius:12px; background:var(--coral); display:grid; place-items:center; color:#fff; font-family:var(--serif); font-weight:800; font-size:18px; transition:transform .5s var(--ease); }
  .brand:hover .mark{ transform:rotate(-6deg) scale(1.05); }
  .brand .wm{ font-family:var(--serif); font-weight:700; font-size:19px; letter-spacing:-0.01em; }
  .brand .wm small{ display:block; font-family:var(--sans); font-weight:600; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin-top:1px; }
  nav.links{ display:flex; align-items:center; gap:28px; }
  nav.links a{ font-size:13.5px; font-weight:600; color:var(--ink-soft); position:relative; padding:6px 0; transition:color .3s; }
  nav.links a::after{ content:""; position:absolute; left:0; bottom:2px; height:2px; border-radius:2px; width:0; background:var(--coral); transition:width .4s var(--ease); }
  nav.links a:hover{ color:var(--ink); }
  nav.links a:hover::after{ width:100%; }
  .nav-right{ display:flex; align-items:center; gap:14px; }
  .lang{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:100px; overflow:hidden; font-size:11px; font-weight:700; }
  .lang button{ background:none; border:none; padding:7px 11px; color:var(--muted); letter-spacing:.06em; transition:color .3s, background .3s; }
  .lang button.on{ background:var(--coral); color:#fff; }
  .cart-btn{ position:relative; display:inline-flex; align-items:center; gap:9px; background:var(--ink); color:var(--bg); border:none; border-radius:100px; padding:11px 18px 11px 16px; font-size:13.5px; font-weight:700; transition:transform .35s var(--ease); }
  .cart-btn:hover{ transform:translateY(-1px); }
  .cart-btn .ico{ font-size:15px; }
  .cart-btn .badge{ min-width:20px; height:20px; padding:0 6px; border-radius:100px; background:var(--coral); color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; }
  .cart-btn .badge:empty, .cart-btn .badge[data-n="0"]{ display:none; }

  /* ============ HERO ============ */
  .hero{ padding-top:150px; padding-bottom:80px; }
  .hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(30px,5vw,72px); align-items:center; }
  .hero h1{ font-family:var(--serif); font-weight:800; font-size:clamp(52px,8.4vw,124px); line-height:0.9; letter-spacing:-0.03em; }
  .hero h1 .c{ color:var(--coral); }
  .hero-sub{ margin-top:24px; max-width:40ch; color:var(--ink-soft); font-size:18.5px; }
  .hero-actions{ margin-top:34px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .filled{ background:var(--coral); color:#fff; padding:15px 30px; border-radius:100px; font-size:15px; font-weight:700; transition:transform .4s var(--ease), box-shadow .4s; }
  .filled:hover{ transform:translateY(-2px); box-shadow:0 16px 36px oklch(0.660 0.158 35 / 0.32); }
  .ghost{ color:var(--ink); padding:15px 26px; border:1px solid var(--line); border-radius:100px; font-size:15px; font-weight:600; transition:border-color .4s, color .4s; }
  .ghost:hover{ border-color:var(--coral); color:var(--coral-deep); }
  .hero-figure{ position:relative; }
  .hero-figure .ph{ aspect-ratio:1.05; border-radius:22px; }
  .hero-figure .blob{ position:absolute; border-radius:50%; z-index:-1; filter:blur(10px); }
  .hero-figure .b1{ width:160px; height:160px; background:oklch(0.690 0.098 196 / 0.4); top:-26px; right:-20px; }
  .hero-figure .b2{ width:120px; height:120px; background:oklch(0.815 0.130 82 / 0.5); bottom:-20px; left:-24px; }
  .hero-figure .tagpill{ position:absolute; top:18px; left:-14px; background:var(--bg-card); border:1px solid var(--line); border-radius:100px; padding:9px 16px; font-size:13px; font-weight:700; box-shadow:0 12px 30px oklch(0.330 0.022 50 / 0.12); display:flex; align-items:center; gap:8px; }
  .hero-figure .tagpill::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--turq); }

  /* placeholder */
  .ph{ position:relative; width:100%; background:var(--bg-deep); border:1px solid var(--line-soft); overflow:hidden; }
  .ph::before{ content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(-45deg, transparent 0 14px, oklch(0.330 0.022 50 / 0.05) 14px 15px); }
  .ph .ph-label{ position:absolute; inset:0; margin:auto; height:fit-content; width:fit-content; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); background:var(--bg); padding:5px 11px; border:1px solid var(--line-soft); border-radius:100px; display:flex; align-items:center; gap:7px; }
  .ph .ph-label::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--coral); }

  /* ============ OFFER ============ */
  .offer-band{ background:var(--sun); }
  .offer-card{ display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; }
  .offer-card .l{ display:flex; align-items:center; gap:22px; }
  .offer-card .pct{ font-family:var(--serif); font-weight:800; font-size:clamp(44px,6vw,78px); line-height:0.85; color:var(--coral-deep); }
  .offer-card h3{ font-family:var(--serif); font-weight:700; font-size:clamp(20px,2.4vw,28px); color:var(--ink); }
  .offer-card p{ margin-top:5px; color:oklch(0.330 0.022 50 / 0.78); max-width:46ch; font-size:14.5px; }
  .offer-card .valid{ font-size:12.5px; font-weight:700; color:oklch(0.330 0.022 50 / 0.7); white-space:nowrap; }

  /* ============ PRODUCTS ============ */
  section{ padding-block:clamp(70px,9vw,116px); }
  .sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:48px; }
  .sec-head h2{ font-family:var(--serif); font-weight:800; font-size:clamp(36px,5.4vw,72px); line-height:0.95; letter-spacing:-0.025em; }
  .sec-head .meta{ font-size:13px; color:var(--muted); max-width:32ch; text-align:right; }

  .cat{ margin-top:58px; }
  .cat:first-of-type{ margin-top:0; }
  .cat-head{ display:flex; align-items:center; gap:14px; margin-bottom:28px; }
  .cat-head h3{ font-family:var(--serif); font-weight:700; font-size:22px; }
  .cat-head .pill{ font-size:11px; font-weight:700; color:var(--turq-deep); background:oklch(0.690 0.098 196 / 0.14); padding:4px 11px; border-radius:100px; }
  .cat-head .rule{ flex:1; height:1px; background:var(--line-soft); }

  .prod-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,30px); }
  .prod{ background:var(--bg-card); border:1px solid var(--line-soft); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s; }
  .prod:hover{ transform:translateY(-4px); box-shadow:0 20px 44px oklch(0.330 0.022 50 / 0.10); }
  .prod-img{ position:relative; }
  .prod-img .ph{ aspect-ratio:1.25; border:none; }
  .prod-img img{ aspect-ratio:1.25; width:100%; object-fit:cover; }
  .prod-stock{ position:absolute; top:12px; left:12px; background:var(--bg-card); border:1px solid var(--line-soft); border-radius:100px; padding:5px 11px; font-size:11px; font-weight:700; color:var(--turq-deep); }
  .prod-stock.low{ color:var(--coral-deep); }
  .prod-body{ padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
  .prod-body h4{ font-family:var(--serif); font-weight:700; font-size:19px; line-height:1.12; }
  .prod-body p{ margin-top:7px; color:var(--ink-soft); font-size:13.5px; flex:1; }
  .prod-foot{ margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .prod-price{ font-family:var(--serif); font-weight:700; font-size:20px; }
  .prod-price small{ font-family:var(--sans); font-size:11px; font-weight:600; color:var(--muted); }
  .add{ background:var(--ink); color:var(--bg); border:none; border-radius:100px; padding:10px 18px; font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:7px; transition:background .35s, transform .35s var(--ease); white-space:nowrap; }
  .add:hover{ background:var(--coral-deep); transform:translateY(-1px); }
  .add.added{ background:var(--turq-deep); }
  .add:disabled{ opacity:.4; pointer-events:none; }
  .prod-wa{ display:inline-block; margin-top:12px; font-size:12.5px; font-weight:700; color:oklch(0.55 0.10 150); text-decoration:underline; }
  .prod-wa:hover{ color:oklch(0.48 0.10 150); }

  /* ============ CART DRAWER ============ */
  .scrim{ position:fixed; inset:0; background:oklch(0.330 0.022 50 / 0.42); z-index:60; opacity:0; pointer-events:none; transition:opacity .4s; backdrop-filter:blur(2px); }
  .scrim.open{ opacity:1; pointer-events:auto; }
  .drawer{ position:fixed; top:0; right:0; height:100%; width:min(420px,92vw); background:var(--bg); z-index:70; box-shadow:-20px 0 60px oklch(0.330 0.022 50 / 0.2); transform:translateX(100%); transition:transform .45s var(--ease); display:flex; flex-direction:column; }
  .drawer.open{ transform:none; }
  .drawer-head{ padding:24px clamp(20px,3vw,28px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line-soft); }
  .drawer-head h3{ font-family:var(--serif); font-weight:700; font-size:22px; }
  .drawer-close{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:none; color:var(--ink); font-size:18px; display:grid; place-items:center; transition:background .3s, color .3s; }
  .drawer-close:hover{ background:var(--ink); color:var(--bg); }
  .drawer-body{ flex:1; overflow-y:auto; padding:8px clamp(20px,3vw,28px); }
  .drawer-empty{ text-align:center; padding:60px 20px; color:var(--muted); }
  .drawer-empty .big{ font-family:var(--serif); font-weight:700; font-size:20px; color:var(--ink); margin-bottom:8px; }
  .ci{ display:grid; grid-template-columns:56px 1fr auto; gap:14px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line-soft); }
  .ci .thumb{ width:56px; height:56px; border-radius:12px; background:var(--bg-deep); border:1px solid var(--line-soft); position:relative; overflow:hidden; }
  .ci .thumb::before{ content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(-45deg, transparent 0 7px, oklch(0.330 0.022 50 / 0.06) 7px 8px); }
  .ci .info h5{ font-family:var(--serif); font-weight:700; font-size:14.5px; line-height:1.15; }
  .ci .info .pr{ font-size:12.5px; color:var(--muted); margin-top:3px; }
  .ci .stepper{ display:flex; align-items:center; gap:0; border:1px solid var(--line); border-radius:100px; overflow:hidden; }
  .ci .stepper button{ width:28px; height:30px; border:none; background:none; color:var(--ink); font-size:15px; transition:background .25s; }
  .ci .stepper button:hover{ background:var(--bg-deep); }
  .ci .stepper .q{ min-width:24px; text-align:center; font-size:13.5px; font-weight:700; font-variant-numeric:tabular-nums; }
  .ci .line-right{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
  .ci .lt{ font-family:var(--serif); font-weight:700; font-size:14.5px; }
  .ci .rm{ background:none; border:none; color:var(--muted); font-size:11px; font-weight:600; text-decoration:underline; padding:0; }
  .ci .rm:hover{ color:var(--coral-deep); }
  .drawer-foot{ padding:20px clamp(20px,3vw,28px) 26px; border-top:1px solid var(--line-soft); background:var(--bg-card); }
  .drawer-foot .row{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
  .drawer-foot .row .t{ font-family:var(--serif); font-weight:700; font-size:18px; }
  .drawer-foot .row .v{ font-family:var(--serif); font-weight:700; font-size:22px; }
  .drawer-foot .ck{ width:100%; background:var(--coral); color:#fff; border:none; border-radius:100px; padding:15px; font-size:15px; font-weight:700; transition:transform .35s var(--ease), box-shadow .35s; }
  .drawer-foot .ck:hover{ transform:translateY(-2px); box-shadow:0 14px 34px oklch(0.660 0.158 35 / 0.3); }
  .drawer-foot .ck:disabled{ opacity:.4; pointer-events:none; }

  /* ============ CHECKOUT ============ */
  .checkout{ background:var(--bg-deep); }
  .ck-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:clamp(30px,5vw,70px); align-items:start; }
  .ck-form h2{ font-family:var(--serif); font-weight:800; font-size:clamp(32px,4.2vw,56px); line-height:0.96; letter-spacing:-0.02em; margin-top:18px; }
  .ck-form > p{ margin-top:16px; color:var(--ink-soft); max-width:46ch; }
  form{ display:grid; gap:20px; margin-top:32px; }
  .f-row2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .field label{ display:block; font-size:11px; letter-spacing:.04em; color:var(--ink-soft); font-weight:700; margin-bottom:8px; }
  .field label .req{ color:var(--coral-deep); }
  .field input, .field textarea{ width:100%; background:var(--bg-card); border:1px solid var(--line); border-radius:12px; padding:13px 15px; font-family:var(--sans); font-size:15.5px; color:var(--ink); transition:border-color .35s, box-shadow .35s; }
  .field textarea{ resize:vertical; min-height:80px; }
  .field input:focus, .field textarea:focus{ outline:none; border-color:var(--coral); box-shadow:0 0 0 4px oklch(0.660 0.158 35 / 0.1); }
  .field input::placeholder, .field textarea::placeholder{ color:var(--muted); }
  .delivery{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .dopt{ position:relative; border:1px solid var(--line); border-radius:14px; padding:16px 18px; cursor:pointer; transition:border-color .3s, background .3s; }
  .dopt input{ position:absolute; opacity:0; }
  .dopt .t{ font-family:var(--serif); font-weight:700; font-size:15px; display:flex; align-items:center; gap:9px; }
  .dopt .t::before{ content:""; width:16px; height:16px; border-radius:50%; border:2px solid var(--line); transition:border-color .3s, box-shadow .3s; }
  .dopt .d{ font-size:12.5px; color:var(--muted); margin-top:6px; padding-left:25px; }
  .dopt:has(input:checked){ border-color:var(--coral); background:oklch(0.660 0.158 35 / 0.05); }
  .dopt:has(input:checked) .t::before{ border-color:var(--coral); box-shadow:inset 0 0 0 3px var(--coral); }
  #addressField{ display:none; }
  #addressField.show{ display:block; }
  .form-foot{ display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
  .form-note{ font-size:12px; color:var(--muted); max-width:30ch; }
  button.submit{ background:var(--coral); color:#fff; border:none; border-radius:100px; padding:15px 32px; font-size:15px; font-weight:700; display:inline-flex; align-items:center; gap:10px; transition:transform .4s var(--ease), box-shadow .4s; }
  button.submit:hover{ transform:translateY(-2px); box-shadow:0 16px 36px oklch(0.660 0.158 35 / 0.3); }
  .form-done{ display:none; font-family:var(--serif); font-weight:700; font-size:16px; color:var(--turq-deep); }
  form.sent .form-done{ display:block; }
  form.sent .form-foot button.submit{ opacity:.4; pointer-events:none; }

  /* order summary card */
  .ck-summary{ position:sticky; top:100px; background:var(--bg-card); border:1px solid var(--line-soft); border-radius:18px; padding:26px; }
  .ck-summary h4{ font-family:var(--serif); font-weight:700; font-size:18px; margin-bottom:16px; }
  .sum-items{ display:grid; gap:11px; max-height:240px; overflow-y:auto; }
  .sum-item{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; }
  .sum-item .n{ color:var(--ink-soft); }
  .sum-item .n b{ color:var(--ink); font-weight:700; }
  .sum-item .p{ font-weight:700; white-space:nowrap; }
  .sum-empty{ color:var(--muted); font-size:13.5px; padding:14px 0; }
  .sum-rows{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft); display:grid; gap:9px; }
  .sum-rows .r{ display:flex; justify-content:space-between; font-size:13.5px; color:var(--ink-soft); }
  .sum-rows .r.total{ margin-top:6px; padding-top:12px; border-top:1px solid var(--line-soft); font-family:var(--serif); font-weight:700; font-size:19px; color:var(--ink); }
  .ck-summary .wa-direct{ margin-top:18px; width:100%; text-align:center; background:oklch(0.74 0.10 150); color:#fff; border-radius:100px; padding:12px; font-size:13.5px; font-weight:700; display:block; }

  /* ============ INFO (shipping/hours) ============ */
  .info-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:clamp(32px,6vw,76px); }
  .ship h2{ font-family:var(--serif); font-weight:800; font-size:clamp(28px,3.4vw,44px); line-height:1.0; letter-spacing:-0.02em; }
  .ship-list{ margin-top:26px; display:grid; gap:14px; }
  .ship-item{ display:flex; gap:16px; align-items:flex-start; }
  .ship-item .ic{ width:34px; height:34px; border-radius:10px; background:oklch(0.660 0.158 35 / 0.12); color:var(--coral-deep); display:grid; place-items:center; font-weight:800; flex-shrink:0; font-family:var(--serif); }
  .ship-item .tx h5{ font-family:var(--serif); font-weight:700; font-size:15.5px; }
  .ship-item .tx p{ font-size:13.5px; color:var(--ink-soft); margin-top:3px; }
  .hours-list{ border-top:2px solid var(--coral); }
  .hours-list .row{ display:flex; justify-content:space-between; align-items:baseline; padding:18px 4px; border-bottom:1px solid var(--line-soft); }
  .hours-list .row .day{ font-family:var(--serif); font-weight:700; font-size:18px; }
  .hours-list .row .time{ font-size:14px; color:var(--ink-soft); font-variant-numeric:tabular-nums; }
  .contact-actions{ margin-top:24px; display:flex; gap:12px; flex-wrap:wrap; }
  .pill2{ display:inline-flex; align-items:center; gap:9px; padding:12px 20px; border-radius:100px; font-weight:700; font-size:13.5px; transition:transform .4s var(--ease); }
  .pill2:hover{ transform:translateY(-2px); }
  .pill2.wa{ background:oklch(0.74 0.10 150); color:#fff; }
  .pill2.call{ border:1px solid var(--line); color:var(--ink); }
  .pill2.map{ border:1px solid var(--coral); color:var(--coral-deep); }

  /* ============ FOOTER ============ */
  footer{ padding-block:clamp(56px,7vw,88px); border-top:1px solid var(--line-soft); }
  .foot-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--line-soft); }
  .foot-brand .big{ font-family:var(--serif); font-weight:800; font-size:clamp(40px,6vw,80px); line-height:0.9; letter-spacing:-0.03em; }
  .foot-brand .big span{ color:var(--coral); }
  .foot-brand p{ margin-top:16px; color:var(--muted); max-width:32ch; font-size:14px; }
  .foot-col h5{ font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:15px; }
  .foot-col a, .foot-col p{ display:block; color:var(--ink-soft); font-size:14.5px; margin-bottom:10px; transition:color .3s; }
  .foot-col a:hover{ color:var(--coral-deep); }
  .foot-bot{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:28px; flex-wrap:wrap; }
  .foot-bot .small{ font-size:12px; color:var(--muted); }

  /* flashes */
  .flashes{ position:fixed; top:90px; left:50%; transform:translateX(-50%); z-index:80; display:grid; gap:10px; width:min(560px,92vw); }
  .flash{ background:var(--bg-card); border:1px solid var(--line); border-left:4px solid var(--coral); border-radius:12px; padding:13px 18px; font-size:14px; font-weight:600; box-shadow:0 12px 30px oklch(0.330 0.022 50 / 0.12); }
  .flash-error{ border-left-color:var(--coral-deep); }
  .flash-success{ border-left-color:var(--turq-deep); }

  /* confirmation panel */
  .confirm-panel{ padding-top:150px; }
  .confirm-card{ background:var(--bg-card); border:1px solid var(--line-soft); border-radius:22px; padding:clamp(28px,5vw,52px); max-width:640px; }
  .confirm-card h1{ font-family:var(--serif); font-weight:800; font-size:clamp(34px,5vw,60px); line-height:0.95; letter-spacing:-0.02em; }
  .confirm-card p{ margin-top:16px; color:var(--ink-soft); }
  .confirm-items{ margin-top:24px; display:grid; gap:10px; }
  .confirm-items .ln{ display:flex; justify-content:space-between; gap:12px; font-size:14.5px; padding-bottom:10px; border-bottom:1px solid var(--line-soft); }
  .confirm-items .ln .n b{ font-weight:700; }
  .confirm-total{ margin-top:16px; display:flex; justify-content:space-between; font-family:var(--serif); font-weight:700; font-size:20px; }
  .confirm-actions{ margin-top:28px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

  @media (max-width:980px){
    nav.links{ display:none; }
    .hero-grid{ grid-template-columns:1fr; }
    .hero-figure{ display:none; }
    .prod-grid{ grid-template-columns:repeat(2,1fr); }
    .ck-grid, .info-grid{ grid-template-columns:1fr; }
    .ck-summary{ position:static; }
    .foot-top{ grid-template-columns:1fr; gap:36px; }
  }
  @media (max-width:560px){
    .cart-btn span.txt{ display:none; }
    .prod-grid{ grid-template-columns:1fr; }
    .f-row2, .delivery{ grid-template-columns:1fr; }
    .sec-head{ flex-direction:column; align-items:flex-start; }
    .sec-head .meta{ text-align:left; }
  }
