
:root{
  --blue-50:#f3f9fb; --blue-100:#e3f2f7; --blue-200:#c9e5ef; --blue-400:#84b9c9;
  --blue-700:#356d7d; --ink:#263837; --muted:#687978; --cream:#fffdf8;
  --line:rgba(38,56,55,.12); --shadow:0 18px 50px rgba(42,72,79,.13); --danger:#9b403d;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);
background:radial-gradient(circle at 10% 4%,rgba(201,229,239,.85),transparent 30rem),linear-gradient(180deg,var(--blue-50),var(--cream) 44%)}
img{max-width:100%;display:block} button,input,select,textarea{font:inherit}
button{cursor:pointer}.hidden{display:none!important}
.site-header,.admin-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.65rem clamp(1rem,4vw,4rem);background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand img,.admin-header img{width:145px;height:72px;object-fit:contain;mix-blend-mode:multiply}
nav{display:flex;gap:1.4rem;align-items:center} nav a,.cart-link{color:var(--ink);text-decoration:none;font-weight:700;font-size:.94rem}
.cart-link{border:0;background:var(--blue-100);padding:.7rem 1rem;border-radius:999px}.menu-btn{display:none;border:0;background:none;font-size:1.5rem}
.hero{min-height:75vh;max-width:1220px;margin:auto;padding:clamp(3rem,7vw,7rem) clamp(1.1rem,4vw,3rem);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.73rem;font-weight:850;color:var(--blue-700)}
h1,h2,h3{line-height:1.04;margin:.15em 0} h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}
h1{font-size:clamp(3rem,7vw,6.3rem);letter-spacing:-.045em}h2{font-size:clamp(2.1rem,4vw,3.8rem)}h3{font-size:1.55rem}
.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--muted);line-height:1.65;max-width:36rem;margin:1.4rem 0 2rem}
.primary-btn,.secondary-btn{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:.9rem 1.25rem;font-weight:800;text-decoration:none;border:0}
.primary-btn{background:var(--blue-700);color:white;box-shadow:0 10px 25px rgba(53,109,125,.2)}
.secondary-btn{background:var(--blue-100);color:var(--ink);margin-left:.8rem}.full{width:100%}
.hero-card{position:relative;padding:1rem;background:white;border-radius:2rem;box-shadow:var(--shadow);transform:rotate(1.2deg)}
.hero-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1.3rem}.hero-badge{position:absolute;bottom:2rem;left:2rem;background:rgba(255,255,255,.92);padding:.7rem 1rem;border-radius:999px;font-weight:800}
.shop-section{max-width:1220px;margin:auto;padding:5rem clamp(1rem,4vw,3rem)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem}.small-note{color:var(--muted);max-width:28rem;line-height:1.5}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.5rem}.filter-btn,.tab{border:1px solid var(--line);background:white;border-radius:999px;padding:.65rem 1rem;font-weight:750}.filter-btn.active,.tab.active{background:var(--blue-700);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.product-tile{background:white;border:1px solid var(--line);border-radius:1.4rem;overflow:hidden;box-shadow:0 12px 35px rgba(42,72,79,.08);display:flex;flex-direction:column}
.product-tile img{width:100%;aspect-ratio:4/3;object-fit:cover}.product-body{padding:1.1rem;display:flex;flex-direction:column;gap:.65rem;flex:1}
.product-meta{display:flex;justify-content:space-between;gap:1rem;align-items:start}.product-meta h3{margin:0}.price{font-weight:900;font-size:1.15rem;white-space:nowrap}
.product-body p{color:var(--muted);line-height:1.52;margin:0}.pills{display:flex;flex-wrap:wrap;gap:.45rem}.pill{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:999px;padding:.35rem .6rem;font-size:.74rem;font-weight:700}
.product-actions{margin-top:auto;display:flex;gap:.6rem}.product-actions button{flex:1}
.message-section{max-width:1100px;margin:2rem auto 6rem;padding:clamp(1.2rem,4vw,3rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem);background:var(--blue-100);border-radius:2rem}
.message-section>div p{color:var(--muted);line-height:1.6}.message-form,.login-card form,.modal-card form{display:grid;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.38rem;font-size:.8rem;font-weight:800}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:.85rem;padding:.85rem;background:white;color:var(--ink)}textarea{resize:vertical}
.form-status{min-height:1.2em;font-size:.85rem;color:var(--blue-700)}.about{max-width:760px;text-align:center;margin:auto;padding:5rem 1rem 7rem}.about p:last-child{color:var(--muted);line-height:1.75;font-size:1.08rem}
.cart-drawer{position:fixed;z-index:50;top:0;right:-430px;width:min(430px,92vw);height:100vh;background:white;transition:.25s;padding:1.3rem;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.15)}
.cart-drawer.open{right:0}.overlay{position:fixed;inset:0;z-index:40;background:rgba(23,40,39,.35);opacity:0;pointer-events:none;transition:.25s}.overlay.open{opacity:1;pointer-events:auto}
.cart-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.cart-head h2{font-size:2rem}.cart-head button{border:0;background:none;font-size:2rem}
.cart-items{flex:1;overflow:auto;padding:1rem 0}.cart-item{display:flex;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}.cart-item img{width:70px;height:70px;object-fit:cover;border-radius:.7rem}
.cart-item-info{flex:1}.cart-item-info p{margin:.2rem 0;color:var(--muted)}.cart-footer{border-top:1px solid var(--line);padding-top:1rem}.cart-total{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:1.2rem}.checkout-note,.tiny{color:var(--muted);font-size:.76rem;line-height:1.45}
footer{text-align:center;padding:2rem;border-top:1px solid var(--line);background:white;color:var(--muted)}footer img{width:120px;margin:0 auto 1rem;mix-blend-mode:multiply}.admin-link{color:var(--muted);font-size:.8rem}
.admin-body{background:var(--blue-50)}.admin-header>div{display:flex;align-items:center}.admin-shell{max-width:1100px;margin:0 auto;padding:3rem 1rem 7rem}.login-card{max-width:470px;margin:5rem auto;background:white;padding:2rem;border-radius:1.5rem;box-shadow:var(--shadow)}
.login-card h1,.admin-topline h1{font-size:clamp(2.5rem,5vw,4.2rem)}.login-card p{color:var(--muted);line-height:1.5}
.admin-topline{display:flex;align-items:end;justify-content:space-between;gap:1rem}.admin-tabs{display:flex;gap:.6rem;margin:2rem 0}.admin-list{display:grid;gap:.8rem}
.admin-row,.message-row{background:white;border:1px solid var(--line);border-radius:1.1rem;padding:1rem;box-shadow:0 8px 24px rgba(42,72,79,.06)}
.admin-row{display:grid;grid-template-columns:78px 1fr auto;gap:1rem;align-items:center}.admin-row img{width:78px;height:78px;object-fit:cover;border-radius:.75rem}.admin-row p,.message-row p{margin:.25rem 0;color:var(--muted)}
.admin-row-actions{display:flex;gap:.5rem}.small-btn{border:1px solid var(--line);background:white;border-radius:999px;padding:.55rem .75rem;font-weight:750}.danger{color:var(--danger)}
.message-row.unread{border-left:5px solid var(--blue-700)}.message-row-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.message-detail{background:var(--blue-50);padding:.8rem;border-radius:.8rem;margin-top:.7rem}
.modal-wrap{position:fixed;z-index:80;inset:0;background:rgba(23,40,39,.5);display:grid;place-items:center;padding:1rem}.modal-card{width:min(650px,96vw);max-height:92vh;overflow:auto;background:white;border-radius:1.5rem;padding:1.3rem;box-shadow:var(--shadow)}
@media(max-width:850px){.menu-btn{display:block}nav{display:none;position:absolute;left:1rem;right:1rem;top:85px;background:white;padding:1rem;border-radius:1rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero,.message-section{grid-template-columns:1fr}.hero{padding-top:2rem}.hero-card{max-width:520px;margin:auto}.product-grid{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.admin-row{grid-template-columns:65px 1fr}.admin-row img{width:65px;height:65px}.admin-row-actions{grid-column:1/3}.form-row{grid-template-columns:1fr}}
@media(max-width:560px){.product-grid{grid-template-columns:1fr}.product-tile img{aspect-ratio:1/1}.admin-topline{display:block}.admin-topline .primary-btn{margin-top:1rem}.admin-header img{width:105px}.admin-header{padding:.6rem 1rem}}

.fulfillment-choice{margin:1rem 0}
#checkoutBtn:disabled{opacity:.65;cursor:wait}
.success-shell{min-height:100vh;display:grid;place-items:center;padding:1.2rem}
.success-card{max-width:650px;text-align:center;background:white;border:1px solid var(--line);border-radius:2rem;padding:clamp(2rem,6vw,4rem);box-shadow:var(--shadow)}
.success-card img{width:170px;margin:0 auto 1.2rem;mix-blend-mode:multiply}
.success-card p{color:var(--muted);line-height:1.65;font-size:1.05rem}
.success-help{margin-left:.5rem}
.settings-card{background:white;border:1px solid var(--line);border-radius:1.4rem;padding:1.3rem;box-shadow:0 8px 24px rgba(42,72,79,.06)}
.settings-card form{display:grid;gap:1rem;max-width:650px}
.money-input{display:flex;align-items:center;border:1px solid var(--line);background:white;border-radius:.85rem;overflow:hidden}
.money-input span{padding-left:.9rem;font-weight:800}
.money-input input{border:0}
.stripe-status-card{margin-top:1.5rem;padding:1rem;background:var(--blue-50);border:1px solid var(--blue-200);border-radius:1rem}
.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .65rem;font-size:.76rem;font-weight:850;text-transform:capitalize;background:var(--blue-100)}
.status-paid{background:#e7f6ea;color:#355f3e}.status-pending{background:#fff4d9;color:#7a5b13}.status-failed{background:#fde9e7;color:#8a3e38}
@media(max-width:560px){.success-help{margin:.7rem 0 0}.admin-tabs{overflow-x:auto;padding-bottom:.3rem}.admin-tabs .tab{white-space:nowrap}}
