/* Allegra Apparel Shop — shared styles for the public pages and the admin. */
:root{
  --ink:#0F172A;--ink-2:#334155;--muted:#64748B;--faint:#94A3B8;
  --line:#E2E8F0;--line-2:#CBD5E1;--bg:#F6F7F9;--card:#FFFFFF;
  --teal:#0F766E;--teal-d:#115E59;--teal-bg:#F0FDFA;
  --amber-bg:#FFFBEB;--amber-line:#FDE68A;--amber-ink:#92400E;
  --red-bg:#FEF2F2;--red-line:#FECACA;--red-ink:#B91C1C;
  --radius:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.45}
a{color:var(--teal)}
img{max-width:100%}

/* Header */
.site-head{background:#fff;border-bottom:1px solid var(--line)}
.site-head .in{max-width:1120px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.site-head .logo{display:flex;align-items:center;text-decoration:none}
.site-head .logo img{height:26px;width:auto}
.site-head .tag{font-size:.82rem;font-weight:600;color:var(--muted);border-left:1px solid var(--line-2);padding-left:14px;letter-spacing:.02em}
.site-head .spacer{flex:1}
.site-head nav a{font-size:.88rem;font-weight:600;text-decoration:none;color:var(--ink-2)}
.site-head nav a:hover{color:var(--teal)}

.wrap{max-width:1120px;margin:0 auto;padding:24px 16px 56px}
.site-foot{border-top:1px solid var(--line);background:#fff}
.site-foot .in{max-width:1120px;margin:0 auto;padding:18px 16px;font-size:.8rem;color:var(--muted)}

h1{font-size:1.6rem;line-height:1.2;letter-spacing:-.01em}
h2{font-size:1.1rem}
.lede{color:var(--muted);margin-top:6px;max-width:640px}
.muted{color:var(--muted)}
.small{font-size:.82rem}

/* Catalog */
.cat{margin-top:28px}
.cat h2{margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.pcard{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.pcard:hover{border-color:var(--teal);box-shadow:0 4px 14px rgba(15,23,42,.07)}
.pcard .style{font-size:.75rem;font-weight:700;color:var(--faint);letter-spacing:.04em}
.pcard .name{font-weight:650;font-size:1rem}
.pcard .go{margin-top:auto;padding-top:8px;font-size:.85rem;font-weight:600;color:var(--teal)}
.badge{display:inline-block;align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 9px;background:#F1F5F9;color:var(--ink-2)}
.badge.t-good{background:#F1F5F9;color:#334155}
.badge.t-better{background:#E0F2FE;color:#075985}
.badge.t-best{background:#DCFCE7;color:#166534}
.badge.t-premium{background:#FEF3C7;color:#92400E}

/* Product page */
.crumbs{font-size:.85rem;margin-bottom:14px}
.crumbs a{text-decoration:none;font-weight:600}
.pp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin-top:18px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.panel+.panel{margin-top:16px}
.panel h2{margin-bottom:4px}
.panel .hint{font-size:.82rem;color:var(--muted);margin-bottom:12px}
.sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}
.size{display:flex;flex-direction:column;gap:4px}
.size label{font-size:.78rem;font-weight:700;color:var(--ink-2);text-align:center}
.size input{width:100%;padding:10px 6px;border:1px solid var(--line-2);border-radius:8px;font-size:1rem;text-align:center;font-family:inherit}
.size input:focus,.locs input:focus{outline:2px solid var(--teal);outline-offset:1px}
.locs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.loc{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer}
.loc:hover{border-color:var(--line-2)}
.loc input{margin-top:3px;width:17px;height:17px;accent-color:var(--teal)}
.loc .ln{font-weight:600;font-size:.92rem}
.loc .ls{font-size:.78rem;color:var(--muted)}
.loc.on{border-color:var(--teal);background:var(--teal-bg)}

.summary{position:sticky;top:16px}
.summary .big{font-size:1.9rem;font-weight:750;letter-spacing:-.02em}
.summary .row{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;padding:4px 0}
.summary .row .k{color:var(--muted)}
.summary hr{border:none;border-top:1px solid var(--line);margin:10px 0}
.summary table{width:100%;border-collapse:collapse;font-size:.86rem;margin:6px 0}
.summary td{padding:3px 0}
.summary td.r{text-align:right;font-variant-numeric:tabular-nums}
.note{font-size:.84rem;border-radius:8px;padding:9px 11px;margin-top:10px}
.note.save{background:var(--teal-bg);color:var(--teal-d);border:1px solid #99F6E4;font-weight:600}
.note.warn{background:var(--amber-bg);color:var(--amber-ink);border:1px solid var(--amber-line)}
.note.err{background:var(--red-bg);color:var(--red-ink);border:1px solid var(--red-line)}
.soon{font-size:1.15rem;font-weight:700;color:var(--ink-2)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:650;cursor:pointer;font-family:inherit;text-decoration:none}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover:not(:disabled){background:var(--teal-d)}
.btn-light{background:#fff;color:var(--ink-2);border:1px solid var(--line-2)}
.btn-light:hover:not(:disabled){background:#F8FAFC}
.btn-danger{background:#fff;color:var(--red-ink);border:1px solid var(--red-line)}
.btn-block{width:100%;margin-top:12px}
.btn-sm{padding:6px 10px;font-size:.8rem}

.loading{color:var(--muted);padding:24px 0}

@media (max-width:860px){
  .pp{grid-template-columns:1fr}
  .summary{position:static}
}
@media (max-width:520px){
  h1{font-size:1.35rem}
  .site-head .tag{display:none}
}
