/* ==========================================================================
   CocinaModerna · Página catálogo (template compartido)
   Versión: 2026-06-13
   ========================================================================== */
:root{
  --ink:#181819; --bg:#fdfdfe; --cm:#FF4500; --cm-dark:#E63E00;
  --line:#ececec; --line-soft:#f3f3f4; --soft:#8a8a8e; --muted:#4a4a4e;
  --panel:#1f1f21; --panel-soft:#2a2a2c;
  /* Paleta CM: blanco / negro / #FF4500 únicamente */
  --imp-fg:var(--ink); --imp-bg:#fff; --imp-border:var(--ink);
  --pedido-fg:var(--soft); --pedido-bg:#fafafb; --pedido-border:#d9d9dc;
  --max:1320px;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-serif:'Instrument Serif',serif;
  --font-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit}
img{max-width:100%;display:block}
button{font-family:inherit}

/* ===== Header sitio ===== */
.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:100}
.site-header-inner{max-width:var(--max);margin:0 auto;padding:14px clamp(16px,3vw,32px);display:flex;justify-content:space-between;align-items:center;gap:20px}
.site-logo{font-family:var(--font-mono);font-size:13px;text-decoration:none;color:var(--ink);font-weight:600;letter-spacing:.04em}
.site-logo em{font-style:normal;color:var(--cm)}
.site-nav-mini{display:flex;gap:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.site-nav-mini a{text-decoration:none;color:var(--soft);font-weight:500;padding:8px 0;transition:.15s}
.site-nav-mini a:hover{color:var(--ink)}
.site-nav-mini a[aria-current="page"]{color:var(--cm)}

/* ===== Breadcrumb ===== */
.breadcrumb{max-width:var(--max);margin:0 auto;padding:14px clamp(16px,3vw,32px) 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--soft);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.breadcrumb a{color:var(--soft);text-decoration:none;transition:.15s}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb .sep{color:var(--line)}
.breadcrumb [aria-current="page"]{color:var(--ink);font-weight:600}

/* ===== Hero catálogo ===== */
.cat-hero{max-width:var(--max);margin:0 auto;padding:24px clamp(16px,3vw,32px) 28px}
.cat-hero-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cm);font-weight:600;margin-bottom:10px}
.cat-hero-title{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(34px,5vw,56px);line-height:1.02;margin:0 0 12px;letter-spacing:-.01em}
.cat-hero-title em{font-style:italic;color:var(--cm);font-family:var(--font-serif)}
.cat-hero-meta{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin:0 0 18px;letter-spacing:.04em}
.cat-hero-meta strong{color:var(--ink);font-weight:700}
.cat-hero-modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.cat-hero-modes .mode{font-size:12.5px;line-height:1.55;padding:12px 14px;border-radius:10px;border:1px solid;color:var(--muted)}
.cat-hero-modes .mode strong{font-weight:700;color:var(--ink)}
.mode-imp{background:#fff;border-color:var(--ink)}
.mode-pedido{background:#fafafb;border-color:#d9d9dc}
@media (max-width:768px){
  .cat-hero-modes{grid-template-columns:1fr}
}

/* ===== Destacados (módulo cinemático) ===== */
.destacados-modulo{max-width:var(--max);margin:0 auto;padding:30px clamp(16px,3vw,32px) 0;border-top:1px solid var(--line)}
.destacados-modulo[hidden]{display:none}
.destacados-modulo-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.destacados-modulo-head .kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:var(--soft);text-transform:uppercase}
.destacados-modulo-head h2{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(28px,4vw,46px);line-height:1.05;color:var(--ink);margin:0}
.destacados-modulo .skip{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--soft);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:.2s}
.destacados-modulo .skip:hover{color:var(--cm);border-color:var(--cm)}
.destacados-modulo .hilo{position:relative;height:3px;background:var(--line);margin:22px 0 0;border-radius:2px}
.destacados-modulo .hilo-fill{position:absolute;inset:0 auto 0 0;width:25%;background:var(--cm);border-radius:2px;transition:width .4s ease}
.destacados-modulo .dest-sub{margin-top:18px;margin-bottom:14px}
.destacados-modulo .dest-sub .kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:var(--soft);text-transform:uppercase;margin-bottom:4px}
.destacados-modulo .dest-sub h3{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,2.6vw,28px);color:var(--ink);margin:0;line-height:1.05}

.destacados-modulo .pista{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--ink);border-radius:18px;margin-top:8px}
.destacados-modulo .pista::-webkit-scrollbar{display:none}
.destacados-modulo .estacion{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,60px);padding:clamp(28px,4vw,48px) clamp(18px,3vw,44px) clamp(30px,4vw,50px)}
@media (max-width:760px){.destacados-modulo .estacion{grid-template-columns:1fr;gap:20px}}
@media (max-width:480px){
  .destacados-modulo .pista{border-radius:14px}
  .destacados-modulo .estacion{padding:24px clamp(12px,3vw,18px) 28px;gap:18px}
  .destacados-modulo .estacion h3{font-size:clamp(20px,5.5vw,28px);margin:0 0 10px}
  .destacados-modulo .estacion p{font-size:14px;line-height:1.6}
  .destacados-modulo .pieza-card{max-width:340px}
  .destacados-modulo .pieza-add{padding:15px 12px;font-size:12px;min-height:48px}
  .destacados-modulo .arrow{width:44px;height:44px}
  .destacados-modulo .dest-nav{gap:18px;padding:0 0 18px}
  .destacados-modulo-head h2{font-size:clamp(24px,7vw,30px)}
}

.destacados-modulo .est-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:#a9a9ad;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.destacados-modulo .est-num::after{content:"";height:1px;width:48px;background:#4a4a4e}
.destacados-modulo .estacion h3{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,3.2vw,38px);line-height:1.12;margin:0 0 14px;color:#f5f5f4}
.destacados-modulo .estacion p{color:#c9c9cc;font-size:15px;line-height:1.7;max-width:48ch;margin:0}
.destacados-modulo .estacion p strong{color:#fff;font-weight:600}
.destacados-modulo .est-badge{display:inline-block;margin-top:18px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;color:#e9e9ea;border:1px solid #4a4a4e;border-radius:999px;padding:7px 15px}

.destacados-modulo .pieza-card{background:#fff;border:1px solid #2a2a2c;border-radius:14px;overflow:hidden;max-width:420px;margin:0 auto;width:100%;box-shadow:0 12px 34px rgba(0,0,0,.35);display:flex;flex-direction:column}
.destacados-modulo .pieza-foto{position:relative;aspect-ratio:1/1;background:var(--ink);overflow:hidden}
.destacados-modulo .pieza-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .9s ease}
.destacados-modulo .pieza-foto img.visible{opacity:1}
.destacados-modulo .pieza-info{padding:18px;text-align:left;display:flex;flex-direction:column;gap:8px;flex:1}
.destacados-modulo .pieza-dolor{font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.25;color:var(--ink)}
.destacados-modulo .pieza-ref{margin:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.destacados-modulo .pieza-ref .marca{color:var(--soft)}
.destacados-modulo .pieza-add{margin-top:auto;width:100%;cursor:pointer;border:none;border-radius:9px;background:var(--cm);color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:14px 12px;min-height:44px;transition:.15s;font-weight:600}
.destacados-modulo .pieza-add:hover{background:var(--ink)}

.destacados-modulo .dest-nav{display:flex;align-items:center;justify-content:center;gap:22px;padding:0 0 22px;background:var(--ink);border-radius:0 0 18px 18px;margin-top:-18px;position:relative;z-index:1}
.destacados-modulo .arrow{background:transparent;border:1px solid #3a3a3c;color:#f5f5f4;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;transition:.2s;font-family:inherit}
.destacados-modulo .arrow:hover{border-color:#fff;color:#fff}
.destacados-modulo .arrow:disabled{opacity:.3;cursor:default}
.destacados-modulo .dots{display:flex;gap:10px}
.destacados-modulo .dot{width:8px;height:8px;border-radius:50%;background:#3a3a3c;border:none;cursor:pointer;transition:.25s;padding:0}
.destacados-modulo .dot[aria-current="true"]{background:#fff;transform:scale(1.3)}

/* ===== Viewer interactivo ===== */
.viewer-section{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,3vw,32px) 32px}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#fff;border:1px solid var(--line);border-bottom:none;border-radius:14px 14px 0 0;flex-wrap:wrap;gap:12px}
.viewer-toolbar-info{font-size:13px;color:var(--muted)}
.btn-toggle-refs{background:transparent;border:1px solid #d9d9dc;color:var(--ink);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.15s}
.btn-toggle-refs:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.btn-toggle-refs.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-toggle-refs .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}
.btn-toggle-refs.is-on .dot{opacity:1}

.viewer-body{display:grid;grid-template-columns:1.55fr 1fr;gap:0;height:78vh;min-height:580px;border:1px solid var(--line);border-radius:0 0 14px 14px;overflow:hidden}

.gal{background:var(--panel-soft);overflow-y:auto;overflow-x:hidden;position:relative;scroll-behavior:smooth}
.gal::-webkit-scrollbar{width:10px}
.gal::-webkit-scrollbar-track{background:var(--panel)}
.gal::-webkit-scrollbar-thumb{background:#4a4a4e;border-radius:5px}
.gal-page{position:relative;width:100%;display:block;margin-bottom:10px;background:#fff}
.gal-page img{width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.gal-pagenum{position:absolute;top:8px;right:10px;background:rgba(0,0,0,.55);color:#fff;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;padding:3px 7px;border-radius:4px;pointer-events:none;z-index:2}

/* Hotspots TOTALMENTE invisibles por default (respeta catálogo del fabricante).
   Sin background, sin border. Solo cursor pointer. Hover = sutilísimo border negro. */
.hot{position:absolute;cursor:pointer;border:1px solid transparent;border-radius:4px;transition:border-color .15s;background:transparent}
.hot:hover{border-color:rgba(24,24,25,.35)}
.hot.is-added{border-color:var(--ink)}
/* Modo "Mostrar REFs": badge negro (no naranja) sobre el hotspot */
.gal.reveal .hot{border-color:rgba(24,24,25,.5)}
.gal.reveal .hot .hot-badge{display:inline-flex}
.gal.reveal .hot.is-added{border-color:var(--cm)}
.gal.reveal .hot.is-added .hot-badge{background:var(--cm)}
.gal.reveal .hot.is-added .hot-badge::before{content:'✓'}
.hot-badge{display:none;background:var(--ink);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 6px;border-radius:3px;margin:3px;line-height:1;align-items:center;gap:4px}
.hot-badge::before{content:'＋';font-size:10px;font-weight:700}

/* Sidebar carrito */
.side{padding:20px 22px 18px;display:flex;flex-direction:column;gap:14px;background:#fff;border-left:1px solid var(--line);min-height:0;overflow:hidden}
.side-label{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:24px;color:var(--ink);letter-spacing:-.01em;line-height:1}
.side-count{font-family:var(--font-mono);font-size:10.5px;color:var(--soft);letter-spacing:.12em;text-transform:uppercase;background:#fafafb;padding:5px 9px;border-radius:999px;border:1px solid var(--line)}
.side-count.has-items{color:var(--cm);border-color:var(--cm);background:#fff}
.side-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);gap:10px}
.resumen{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0;min-height:0}
.resumen::-webkit-scrollbar{width:6px}
.resumen::-webkit-scrollbar-thumb{background:#d9d9dc;border-radius:3px}
.resumen-empty{padding:32px 14px;text-align:center;color:var(--soft);font-size:13px;line-height:1.5}
.resumen-group-head{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);padding:8px 4px 4px;font-weight:600;display:flex;align-items:center;gap:6px}
.resumen-group-head.imp{color:var(--cm)}
.resumen-group-head.pedido{color:var(--soft)}
.resumen-item{display:grid;grid-template-columns:42px 1fr auto auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;animation:fadein .25s ease}
@keyframes fadein{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.resumen-item img{width:42px;height:42px;object-fit:cover;border-radius:5px;background:#f6f6f7}
.resumen-item .nofoto{background:#f6f6f7;width:42px;height:42px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;color:var(--soft)}
.resumen-info{min-width:0}
.resumen-name{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}
.resumen-imp{color:var(--cm);font-size:11px;font-weight:700;flex-shrink:0}
.resumen-ref{font-family:var(--font-mono);font-size:9.5px;color:var(--soft);letter-spacing:.1em;margin-top:2px}
.resumen-qty{font-family:var(--font-mono);font-size:11px;font-weight:600;background:#f6f6f7;padding:4px 7px;border-radius:5px;min-width:30px;text-align:center}
.resumen-remove{background:transparent;border:none;color:var(--soft);cursor:pointer;font-size:16px;width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center}
.resumen-remove:hover{color:var(--ink);background:#f6f6f7}
.go-cart{width:100%;background:var(--cm);color:#fff;border:none;border-radius:9px;padding:14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:48px;transition:.2s;font-weight:600}
.go-cart:hover:not(:disabled){background:var(--ink)}
.go-cart:disabled{background:var(--ink);color:#fff;cursor:not-allowed;opacity:.35}

@media (max-width:768px){
  .viewer-body{grid-template-columns:1fr;height:auto;min-height:0}
  .gal{max-height:65vh}
  .side{border-left:none;border-top:1px solid var(--line)}
}

/* ===== Grilla SEO ===== */
.grid-seo{max-width:var(--max);margin:0 auto;padding:48px clamp(16px,3vw,32px)}
.grid-head{margin-bottom:28px}
.grid-head h2{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(26px,3.5vw,38px);line-height:1.1;margin:0 0 8px}
.grid-sub{color:var(--muted);max-width:680px;margin:0 0 18px;font-size:14.5px;line-height:1.55}
.grid-filters{display:flex;gap:10px;flex-wrap:wrap}
.grid-filter{background:#fff;border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border-radius:8px;cursor:pointer;transition:.15s}
.grid-filter:hover{border-color:var(--ink)}
.grid-filter.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid-filter[data-filter="imp"].is-active{background:var(--cm);border-color:var(--cm);color:#fff}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.07);border-color:var(--ink)}
.card.hidden{display:none}
.card-img{aspect-ratio:1/1;background:#f6f6f7;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-nofoto{font-family:var(--font-mono);font-size:14px;letter-spacing:.16em;color:var(--soft);text-transform:uppercase}
.card-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-name{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:18px;line-height:1.2;margin:0;color:var(--ink)}
.card-ref{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--soft);text-transform:uppercase}
.card-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;font-weight:600;width:fit-content;margin-top:4px}
.card-badge-imp{background:var(--cm);color:#fff;border:1px solid var(--cm)}
.card-badge-pedido{background:#fff;color:var(--soft);border:1px solid #d9d9dc}
.card-desc{font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 8px;flex:1}
.card-add{background:var(--ink);color:#fff;border:none;border-radius:8px;padding:11px 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin-top:auto;transition:.15s;font-weight:600}
.card-add:hover{background:var(--cm)}

/* ===== Detail popup ===== */
.det{position:fixed;inset:0;z-index:9990;display:none;align-items:center;justify-content:center;padding:20px}
.det.is-open{display:flex}
.det-bg{position:absolute;inset:0;background:rgba(20,12,15,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}
.det-card{position:relative;max-width:680px;width:100%;max-height:88vh;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:detIn .25s ease}
@keyframes detIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.det-close{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);border:none;font-size:22px;cursor:pointer;color:var(--ink);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}
.det-close:hover{background:#fff}
.det-content{overflow-y:auto;display:flex;flex-direction:column}
.det-img{aspect-ratio:1.3/1;background:#f6f6f7;overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.det-img img{width:100%;height:100%;object-fit:cover;display:block}
.det-img-fallback{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;color:var(--soft);text-transform:uppercase}
.det-body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:10px}
.det-marca{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.det-nombre{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.5vw,30px);color:var(--ink);line-height:1.15;margin:0}
.det-ref{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.det-importable{display:inline-flex;align-items:center;gap:5px;background:var(--cm);color:#fff;border:1px solid var(--cm);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;font-weight:600;width:fit-content}
.det-desc{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.det-add{margin-top:14px;width:100%;background:var(--ink);color:#fff;border:none;border-radius:9px;padding:14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:48px;transition:.15s;font-weight:700}
.det-add:hover{background:var(--cm)}

/* ===== Checkout ===== */
.checkout{position:fixed;inset:0;z-index:9992;display:none;align-items:center;justify-content:center;padding:20px}
.checkout.is-open{display:flex}
.checkout-bg{position:absolute;inset:0;background:rgba(20,12,15,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}
.checkout-card{position:relative;max-width:680px;width:100%;max-height:92vh;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:detIn .25s ease}
.checkout-close{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);border:none;font-size:22px;cursor:pointer;color:var(--ink);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}
.checkout-body{overflow-y:auto;padding:28px clamp(20px,4vw,36px) 32px}
.checkout-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--cm);font-weight:600;margin-bottom:6px}
.checkout-title{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,3vw,32px);margin:0 0 6px;line-height:1.1;color:var(--ink)}
.checkout-sub{font-size:14px;color:var(--muted);margin:0 0 24px;line-height:1.5}
.checkout-summary{background:#fafafb;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:22px;font-size:13px;color:var(--muted)}
.checkout-summary strong{color:var(--ink)}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkout-field{display:flex;flex-direction:column;gap:6px}
.checkout-field.full{grid-column:1/-1}
.checkout-field label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600}
.checkout-field label .opt{color:var(--soft);font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px}
.checkout-field input{padding:11px 13px;font-family:var(--font-sans);font-size:14px;border:1px solid #d9d9dc;border-radius:8px;background:#fff;color:var(--ink);width:100%;min-height:44px}
.checkout-field input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(24,24,25,.08)}
.checkout-field input.error{border-color:#dc2626;background:#fef2f2}
.checkout-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.checkout-back{background:transparent;color:var(--ink);border:1px solid #d9d9dc;border-radius:9px;padding:14px 20px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;flex:1 1 auto;min-height:48px}
.checkout-back:hover{border-color:var(--ink)}
.checkout-send{background:var(--ink);color:#fff;border:none;border-radius:9px;padding:14px 22px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;flex:2 1 auto;min-height:48px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:.15s}
.checkout-send:hover{background:var(--cm)}
.checkout-send::before{content:'';width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.999-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}

/* ===== Toast ===== */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:0 12px 30px rgba(0,0,0,.3);z-index:10000;transition:transform .3s cubic-bezier(.2,.9,.3,1.1);display:flex;align-items:center;gap:8px}
.toast.is-show{transform:translateX(-50%) translateY(0)}
.toast-check{color:var(--cm);font-weight:700}

/* ===== Footer ===== */
.site-footer{border-top:1px solid var(--line);margin-top:40px;background:#fafafb}
.site-footer-inner{max-width:var(--max);margin:0 auto;padding:28px clamp(16px,3vw,32px);font-size:12.5px;color:var(--soft);line-height:1.7}
.site-footer-inner a{color:var(--ink);text-decoration:none}
.site-footer-inner a:hover{color:var(--cm)}
.footer-cats{margin-top:8px;font-size:11.5px}
.footer-cats a{padding:0 4px}
