/* La Paulée Cellar — scoped under .paulee-root so it never leaks into the
   surrounding theme, and the theme never leaks into it. */

.paulee-root {
  --bg:#ECE1C4; --bg-deep:#E1D2A4; --surface:#FBF6E9; --surface-2:#FFFFFF;
  --ink:#2A2013; --ink-soft:#5C4C34; --ink-faint:#8C7A5C;
  --line:#CBB683; --line-soft:#DFCE9C;
  --wine:#7A1D2B; --wine-strong:#591420; --wine-soft:#F1DBDC;
  --brass:#96631E; --brass-strong:#734B15; --brass-soft:#EFDFBB;
  --focus:#7A1D2B;
  display:block;
  background:var(--bg); color:var(--ink);
  font-family:"Source Serif 4", Georgia, "Times New Roman", serif;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  max-width:100%;
}
@media (prefers-color-scheme: dark) {
  .paulee-root:not([data-theme="light"]) {
    --bg:#1E170F; --bg-deep:#160F09; --surface:#2A2015; --surface-2:#332818;
    --ink:#F0E6CF; --ink-soft:#C9B790; --ink-faint:#93815F;
    --line:#4A3B26; --line-soft:#3A2E1D;
    --wine:#DD5F72; --wine-strong:#F4899A; --wine-soft:#3A1620;
    --brass:#E0AC55; --brass-strong:#F0C173; --brass-soft:#3C2E14;
    --focus:#E0AC55;
  }
}
.paulee-root[data-theme="dark"] {
  --bg:#1E170F; --bg-deep:#160F09; --surface:#2A2015; --surface-2:#332818;
  --ink:#F0E6CF; --ink-soft:#C9B790; --ink-faint:#93815F;
  --line:#4A3B26; --line-soft:#3A2E1D;
  --wine:#DD5F72; --wine-strong:#F4899A; --wine-soft:#3A1620;
  --brass:#E0AC55; --brass-strong:#F0C173; --brass-soft:#3C2E14;
  --focus:#E0AC55;
}

.paulee-root, .paulee-root *, .paulee-root *::before, .paulee-root *::after { box-sizing:border-box; }
.paulee-root img, .paulee-root svg { display:block; max-width:100%; }
.paulee-root a { color:inherit; }
.paulee-root button, .paulee-root input, .paulee-root select, .paulee-root textarea { font:inherit; color:inherit; }
.paulee-root h1, .paulee-root h2, .paulee-root h3, .paulee-root p { margin:0; }
.paulee-root :focus-visible { outline:2.5px solid var(--focus); outline-offset:2px; }
.paulee-root .uc { text-transform:uppercase; font-family:"Barlow Condensed","Barlow",sans-serif; letter-spacing:.09em; }
.paulee-root .tabular { font-variant-numeric:tabular-nums; }

/* ---------- hero ---------- */
.paulee-root .hero {
  position:relative; overflow:hidden;
  background:
    repeating-linear-gradient(180deg, rgba(122,29,43,0.05) 0px, rgba(122,29,43,0.05) 1px, transparent 1px, transparent 34px),
    linear-gradient(180deg, var(--bg-deep), var(--bg));
  border-bottom:1px solid var(--line);
  padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,5vw,3rem) clamp(1.75rem,4vw,2.5rem);
  border-radius:10px 10px 0 0;
}
.paulee-root .hero-inner { max-width:64rem; margin:0 auto; }
.paulee-root .hero-title {
  font-family:"Rye","Source Serif 4",serif; font-weight:400;
  font-size:clamp(2.5rem,6vw,4.5rem); line-height:.95; color:var(--wine);
  text-wrap:balance; margin:0 0 .3rem 0;
}
.paulee-root .hero-note {
  margin-top:1.6rem; display:inline-flex; gap:.8rem; align-items:flex-start;
  background:var(--brass-soft); border:1px solid var(--line); border-radius:6px;
  padding:.9rem 1.2rem; max-width:38rem;
}
.paulee-root .hero-note strong { color:var(--brass-strong); display:block; font-family:"Barlow",sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:.2rem; }

/* ---------- tabs ---------- */
.paulee-root .tabbar { display:flex; gap:.5rem; max-width:64rem; margin:0 auto; padding:1.1rem clamp(1.25rem,5vw,3rem) 0; }
.paulee-root .tabbtn {
  font-family:"Barlow Condensed",sans-serif; font-weight:600; font-size:1.05rem; letter-spacing:.02em;
  background:var(--surface); border:1px solid var(--line); border-bottom:none;
  border-radius:8px 8px 0 0; padding:.8rem 1.4rem; cursor:pointer; color:var(--ink-soft);
  position:relative; top:1px; transition:background .15s ease, color .15s ease;
}
.paulee-root .tabbtn[aria-selected="true"] { background:var(--surface); color:var(--wine); border-bottom:1px solid var(--surface); z-index:1; }
.paulee-root .tabbtn:not([aria-selected="true"]):hover { color:var(--wine); }
.paulee-root .tabbtn .count {
  display:inline-block; margin-left:.5rem; background:var(--wine); color:var(--surface);
  border-radius:999px; padding:.05rem .55rem; font-size:.78rem; font-family:"Barlow",sans-serif; font-weight:600;
}

/* ---------- main / panels ---------- */
.paulee-root .tabpanels { max-width:64rem; margin:0 auto; padding:1.8rem clamp(1.25rem,5vw,3rem) 3rem; border-top:1px solid var(--line); background:var(--surface); border-radius:0 0 10px 10px; }

/* ---------- banner ---------- */
.paulee-root .banner { display:flex; gap:.8rem; align-items:flex-start; justify-content:space-between; border-radius:6px; padding:.9rem 1.1rem; margin-bottom:1.5rem; font-family:"Barlow",sans-serif; font-size:.95rem; }
.paulee-root .banner.success { background:var(--brass-soft); border:1px solid var(--brass); color:var(--brass-strong); }
.paulee-root .banner.error { background:var(--wine-soft); border:1px solid var(--wine); color:var(--wine-strong); }
.paulee-root .banner button { background:none; border:none; cursor:pointer; color:inherit; font-weight:700; font-size:1.1rem; line-height:1; padding:0 .2rem; }
.paulee-root .banner-actions { display:flex; gap:.7rem; align-items:center; }

/* ---------- form ---------- */
.paulee-root .form-intro { margin-bottom:1.6rem; max-width:56ch; }
.paulee-root .form-intro h2 { font-family:"Rye",serif; font-weight:400; color:var(--wine); font-size:1.8rem; margin-bottom:.4rem; }
.paulee-root .form-intro p { color:var(--ink-soft); }
.paulee-root form.bottle-form, .paulee-root .edit-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.3rem 1.5rem; }
.paulee-root .field { display:flex; flex-direction:column; gap:.4rem; }
.paulee-root .field.wide { grid-column:1 / -1; }
.paulee-root .field label { font-family:"Barlow",sans-serif; font-size:.78rem; font-weight:600; color:var(--brass-strong); text-transform:uppercase; letter-spacing:.06em; }
.paulee-root .field .hint { font-family:"Barlow",sans-serif; font-size:.8rem; color:var(--ink-faint); font-weight:400; text-transform:none; letter-spacing:0; }
.paulee-root .field input, .paulee-root .field textarea {
  background:var(--surface-2); border:1px solid var(--line); border-radius:6px;
  padding:.65rem .75rem; font-size:1rem; color:var(--ink); font-family:"Source Serif 4",serif; width:100%;
}
.paulee-root .field input[type="text"], .paulee-root .field input[type="password"], .paulee-root .field input[type="number"] { min-height:auto; }
.paulee-root .field input:focus, .paulee-root .field textarea:focus { border-color:var(--wine); }
.paulee-root .field textarea { resize:vertical; min-height:5rem; }
.paulee-root .price-wrap { position:relative; }
.paulee-root .price-wrap span { position:absolute; left:.75rem; top:50%; transform:translateY(-50%); color:var(--ink-faint); }
.paulee-root .price-wrap input { padding-left:1.5rem; }
.paulee-root .field.error input, .paulee-root .field.error textarea { border-color:var(--wine-strong); }
.paulee-root .field-error { color:var(--wine-strong); font-size:.82rem; font-family:"Barlow",sans-serif; }
.paulee-root .form-actions { grid-column:1 / -1; display:flex; align-items:center; gap:1rem; margin-top:.4rem; flex-wrap:wrap; }
.paulee-root .btn-primary {
  background:var(--wine); color:var(--surface); border:none; border-radius:7px;
  padding:.85rem 1.6rem; font-family:"Barlow",sans-serif; font-weight:700; font-size:1rem;
  cursor:pointer; letter-spacing:.02em; transition:background .15s ease, transform .1s ease;
}
.paulee-root .btn-primary:hover { background:var(--wine-strong); }
.paulee-root .btn-primary:active { transform:translateY(1px); }
.paulee-root .btn-primary[disabled] { opacity:.55; cursor:not-allowed; }
.paulee-root .btn-secondary { background:var(--surface-2); border:1px solid var(--line); border-radius:6px; padding:.6rem 1.1rem; cursor:pointer; font-family:"Barlow",sans-serif; font-weight:600; color:var(--ink-soft); }
.paulee-root .btn-danger { background:var(--wine-strong); color:var(--surface); border:none; border-radius:6px; padding:.6rem 1.1rem; font-weight:700; cursor:pointer; font-family:"Barlow",sans-serif; }
.paulee-root .form-note { font-family:"Barlow",sans-serif; font-size:.85rem; color:var(--ink-faint); }
.paulee-root .honeypot-field { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

/* ---------- cellar toolbar ---------- */
.paulee-root .cellar-head { display:flex; flex-wrap:wrap; gap:1rem; align-items:flex-start; justify-content:space-between; margin-bottom:1.3rem; }
.paulee-root .cellar-title h2 { font-family:"Rye",serif; font-weight:400; color:var(--wine); font-size:1.8rem; }
.paulee-root .cellar-title p { color:var(--ink-faint); font-family:"Barlow",sans-serif; font-size:.9rem; margin-top:.15rem; max-width:44ch; }
.paulee-root .cellar-tools { display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; }
.paulee-root .search-wrap { position:relative; }
.paulee-root .search-wrap input { background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:.55rem 1rem .55rem 2.2rem; font-size:.92rem; width:15rem; max-width:60vw; font-family:"Barlow",sans-serif; }
.paulee-root .search-wrap svg { position:absolute; left:.7rem; top:50%; transform:translateY(-50%); width:15px; height:15px; opacity:.55; }
.paulee-root .chip-btn { font-family:"Barlow",sans-serif; font-weight:600; font-size:.85rem; letter-spacing:.02em; background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:.5rem 1rem; cursor:pointer; color:var(--ink-soft); display:inline-flex; align-items:center; gap:.4rem; }
.paulee-root .chip-btn[aria-pressed="true"] { background:var(--wine); border-color:var(--wine); color:var(--surface); }

/* ---------- table ---------- */
.paulee-root .table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
.paulee-root table.cellar { width:100%; border-collapse:collapse; font-size:.95rem; }
.paulee-root table.cellar thead th { text-align:left; font-family:"Barlow",sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--brass-strong); background:var(--bg-deep); padding:.7rem .8rem; border-bottom:1px solid var(--line); white-space:nowrap; }
.paulee-root table.cellar thead th button { background:none; border:none; cursor:pointer; color:inherit; font:inherit; padding:0; display:inline-flex; align-items:center; gap:.3rem; }
.paulee-root table.cellar thead th button .arrow { opacity:.35; font-size:.7em; }
.paulee-root table.cellar thead th button[data-active="true"] .arrow { opacity:1; color:var(--wine); }
.paulee-root table.cellar tbody tr.row { border-bottom:1px solid var(--line-soft); cursor:pointer; }
.paulee-root table.cellar tbody tr.row:nth-child(4n+3) { background:var(--bg); }
.paulee-root table.cellar tbody tr.row:hover { background:var(--wine-soft); }
.paulee-root table.cellar td { padding:.75rem .8rem; vertical-align:top; }
.paulee-root .ledger-no { font-family:"Barlow Condensed",sans-serif; color:var(--ink-faint); font-weight:600; }
.paulee-root .wine-name { font-weight:600; color:var(--ink); }
.paulee-root .wine-bringer { display:block; font-size:.82rem; font-style:italic; color:var(--ink-faint); margin-top:.15rem; }
.paulee-root .pending-badge { display:inline-block; margin-top:.3rem; font-family:"Barlow",sans-serif; font-size:.7rem; font-weight:700; color:var(--brass-strong); text-transform:uppercase; letter-spacing:.05em; }
.paulee-root .est-tag { font-family:"Barlow",sans-serif; font-size:.68rem; color:var(--ink-faint); margin-left:.3rem; font-style:italic; text-transform:none; }
.paulee-root .cell-empty { color:var(--ink-faint); }
.paulee-root .fav-btn { background:none; border:1px solid var(--line); border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .65rem; color:var(--ink-soft); font-family:"Barlow",sans-serif; font-weight:600; font-size:.9rem; transition:transform .12s ease; }
.paulee-root .fav-btn:active { transform:scale(0.92); }
.paulee-root .fav-btn[data-active="true"] { border-color:var(--brass); color:var(--brass-strong); background:var(--brass-soft); }
.paulee-root .fav-btn svg { width:15px; height:15px; }
.paulee-root tr.notes-row td { background:var(--bg); border-bottom:1px solid var(--line-soft); padding:0 .8rem 1rem 2.4rem; color:var(--ink-soft); font-style:italic; }
.paulee-root tr.notes-row .notes-original { display:block; font-style:normal; margin-top:.4rem; color:var(--ink-faint); font-size:.85rem; }
.paulee-root .empty-state { padding:3rem 1rem; text-align:center; color:var(--ink-faint); font-style:italic; }
.paulee-root .row-actions { display:flex; gap:.4rem; flex-wrap:wrap; }
.paulee-root .icon-btn { background:none; border:1px solid var(--line); border-radius:5px; cursor:pointer; padding:.3rem .55rem; color:var(--ink-soft); font-family:"Barlow",sans-serif; font-size:.78rem; font-weight:600; }
.paulee-root .icon-btn:hover { border-color:var(--wine); color:var(--wine); }
.paulee-root tr.edit-row td, .paulee-root tr.confirm-row td { background:var(--bg); padding:1.1rem; }
.paulee-root .edit-original { font-family:"Barlow",sans-serif; font-size:.8rem; color:var(--ink-faint); margin-bottom:.9rem; font-style:italic; }
.paulee-root .confirm-row-inner { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; font-family:"Barlow",sans-serif; }

@media (max-width:720px) {
  .paulee-root form.bottle-form, .paulee-root .edit-grid { grid-template-columns:1fr; }
  .paulee-root table.cellar thead { display:none; }
  .paulee-root table.cellar, .paulee-root table.cellar tbody, .paulee-root table.cellar tr, .paulee-root table.cellar td { display:block; width:100%; }
  .paulee-root table.cellar tr.row { padding:.9rem .9rem; border-bottom:1px solid var(--line); }
  .paulee-root table.cellar td { padding:.15rem 0; border:none; }
  .paulee-root table.cellar td[data-label]::before { content:attr(data-label); display:block; font-family:"Barlow",sans-serif; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--brass-strong); font-weight:700; margin-top:.5rem; }
  .paulee-root td[data-label="Bottle"]::before { display:none; }
  .paulee-root tr.notes-row td { padding-left:0; }
}

/* ---------- footer ---------- */
.paulee-root .site-footer { max-width:64rem; margin:0 auto; padding:1.5rem clamp(1.25rem,5vw,3rem) 0; color:var(--ink-faint); font-size:.85rem; font-family:"Barlow",sans-serif; display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; justify-content:space-between; }
.paulee-root .host-badge { color:var(--brass-strong); font-weight:600; font-size:.78rem; font-family:"Barlow",sans-serif; }

@media (prefers-reduced-motion:reduce) {
  .paulee-root * { animation:none !important; transition:none !important; }
}
