:root{--cream:#F7F0E3;--wine:#7A1F2B;--wine-dark:#5D1720;--green:#506545;--brown:#7A4B2D;--text:#302820;--accent:#D6B9A0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font:17px/1.55 ui-sans-serif,system-ui,sans-serif}body:before{content:"";display:block;height:8px;background:repeating-linear-gradient(90deg,var(--wine) 0 18px,var(--cream) 18px 36px)}header,main,footer{padding:1.2rem max(1.2rem,calc((100% - 1160px)/2))}header{display:flex;gap:2rem;align-items:center;justify-content:space-between;background:#fffaf2;border-bottom:2px solid var(--wine)}nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.brand{font:800 1.7rem Georgia,serif;letter-spacing:.08em;color:var(--wine);text-decoration:none}.brand small{display:block;font:italic .72rem Georgia;letter-spacing:.04em;color:var(--green)}a{color:var(--wine);text-underline-offset:3px}h1,h2,h3{font-family:Georgia,serif;color:var(--wine);line-height:1.12}h1{font-size:clamp(2.6rem,6vw,4.8rem);margin:.2em 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-weight:750;font-size:.78rem}.button,button{display:inline-block;background:var(--wine);color:white;border:0;border-radius:.25rem;padding:.7rem 1rem;font:inherit;text-decoration:none;cursor:pointer}.button:hover,button:hover{background:var(--wine-dark)}.secondary{background:transparent;color:var(--wine);border:1px solid var(--wine)}main>section{margin-block:4rem}.carousel{position:relative;min-height:clamp(430px,55vw,650px);margin-top:1rem;background:var(--green);overflow:hidden;border-radius:.6rem}.hero-slide{display:none;position:absolute;inset:0;padding:0;background:#000}.hero-slide.current{display:block}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:var(--fx) var(--fy);opacity:.72}.hero-copy{position:absolute;inset:auto auto 8% 6%;z-index:2;max-width:680px;color:white;text-shadow:0 2px 18px #000;padding:1rem}.hero-copy h1,.hero-copy .eyebrow{color:white}.hero-copy .secondary{color:white;border-color:white}.hero-fallback{min-height:430px;background:linear-gradient(135deg,var(--green),var(--wine));padding:3rem}.carousel-control{position:absolute;z-index:4;top:45%;font-size:2rem;border-radius:50%;width:48px}.prev{left:1rem}.next{right:1rem}.pause{position:absolute;z-index:4;right:1rem;bottom:1rem;font-size:.8rem}.dots{position:absolute;z-index:4;bottom:1.4rem;left:50%;transform:translateX(-50%)}.dots button{width:12px;height:12px;padding:0;border-radius:50%;margin:.2rem;border:2px solid white;background:transparent}.dots button[aria-current=true]{background:white}.quick,.feature,.editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.quick a{background:white;padding:1.5rem;border-left:5px solid var(--green);text-decoration:none}.quick span,.quick strong{display:block}.feature{align-items:center;background:#fffaf2;padding:2rem;border-radius:.5rem}.feature img,.preview{width:100%;max-height:450px;object-fit:cover}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}.product-grid article,.panel,.media-grid article{background:#fffaf2;padding:1rem;border:1px solid color-mix(in srgb,var(--brown) 20%,transparent);border-radius:.4rem}.card-image,.placeholder{width:100%;aspect-ratio:4/3;object-fit:cover}.placeholder{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#fffaf2 0 16px,var(--accent) 16px 32px);color:var(--wine);font:bold 1.3rem Georgia}.badge{display:inline-block;padding:.15rem .5rem;background:var(--green);color:white;font-size:.75rem}.category-row{display:flex;flex-wrap:wrap;gap:1rem}.category-row a{background:var(--green);color:white;padding:1rem 1.5rem;text-decoration:none}.buy{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem}.stack{display:grid;gap:1rem}.stack label{display:grid}.admin-head{align-items:flex-start}.admin-head nav{font-size:.9rem}.link-button{padding:0;background:none;color:var(--wine);text-decoration:underline}.title-row{display:flex;align-items:end;justify-content:space-between;gap:1rem}.filters,.inline-form{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fffaf2}th,td{text-align:left;padding:.7rem;border-bottom:1px solid var(--accent)}.admin-thumb{width:70px;height:55px;object-fit:cover}.mini-placeholder{display:grid;place-items:center;width:55px;height:55px;background:var(--accent)}input,select,textarea{font:inherit;padding:.6rem;max-width:100%;border:1px solid #aa9d8e;border-radius:.2rem}textarea{min-height:6rem}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem;margin-top:2rem}.media-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.media-grid h2{font-size:1.1rem;overflow-wrap:anywhere}.hero-preview{width:100%;aspect-ratio:16/7;object-fit:cover}.danger{background:#8b1625}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stats article{background:var(--green);color:white;padding:1.5rem}.stats strong,.stats span{display:block}.stats strong{font:2.5rem Georgia}.appearance{max-width:700px}.appearance label{display:flex;justify-content:space-between;margin:1rem}.appearance input[type=color]{width:55px}.theme-preview{padding:2rem;background:var(--cream);color:var(--text);border:2px solid var(--accent)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:1rem;z-index:99}.flash{background:white;padding:1rem;border-left:5px solid var(--green)}footer{margin-top:4rem;background:var(--green);color:white}footer a{color:white}@media(max-width:760px){header,.title-row{display:block}nav{margin-top:1rem}.quick,.feature,.editor{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.carousel{min-height:520px}.hero-copy{inset:auto 1rem 10% 1rem}.hero-copy h1{font-size:2.5rem}.carousel-control{top:1rem}.prev{left:auto;right:4.5rem}.admin-head nav{display:grid;grid-template-columns:1fr 1fr}.appearance label{display:block}.buy{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
