/* Vertical Spice — Wholesale Portal (DEMO). Prototype styling only. */
@import url('https://fonts.googleapis.com/css2?family=Orelega+One&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --green:#506b47; --green-dark:#41583a; --brown:#712002; --cream:#fff7f2;
  --cream-2:#f5f4f1; --ink:#161616; --muted:#6f6a63; --line:#e7e1d8; --white:#fff;
  --radius:14px; --pill:40px; --maxw:1200px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream-2);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Orelega One',Georgia,serif;font-weight:400;letter-spacing:.2px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;border:0;border-radius:var(--pill);padding:13px 26px;font-family:Inter;font-weight:600;font-size:15px;cursor:pointer;transition:.15s}
.btn:hover{background:var(--green-dark)}
.btn--ghost{background:transparent;color:var(--green);border:1.5px solid var(--green)}
.btn--ghost:hover{background:var(--green);color:#fff}
.btn--block{width:100%}
.muted{color:var(--muted)}
.strike{text-decoration:line-through;color:var(--muted);font-weight:500}
.tag{display:inline-block;background:#eef1e9;color:var(--green-dark);font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px}

/* ---- Brand mark ---- */
.brand{display:flex;align-items:center;gap:10px}
.brand__mark{width:34px;height:34px;border-radius:7px;background:var(--brown);display:grid;grid-template-rows:repeat(3,1fr);gap:3px;padding:6px}
.brand__mark span{display:block;height:100%;background:var(--cream);border-radius:1px;opacity:.92}
.brand__name{font-family:'Orelega One',serif;font-size:21px;color:var(--ink);line-height:1}
.brand__name sup{font-size:9px;top:-9px}

/* ---- Header ---- */
.topbar{background:var(--brown);color:#fbeee7;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar a{color:#fbeee7;opacity:.9}
.header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header .wrap{display:flex;align-items:center;gap:28px;height:74px}
.nav{display:flex;gap:26px;margin-left:14px}
.nav a{font-weight:600;font-size:15px;color:#2a2a2a;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a.active{color:var(--green-dark);border-color:var(--green)}
.header__right{margin-left:auto;display:flex;align-items:center;gap:16px}
.chip{background:var(--cream);border:1px solid var(--line);border-radius:var(--pill);padding:7px 14px;font-size:13px;font-weight:600}

/* ---- Login ---- */
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,var(--cream) 0%,#efe9e2 100%);padding:24px}
.login__card{background:#fff;width:100%;max-width:430px;border-radius:20px;box-shadow:0 24px 60px rgba(80,60,40,.14);padding:40px 36px;text-align:center}
.login__mark{justify-content:center;margin-bottom:18px}
.login h1{font-size:30px;margin:8px 0 4px}
.login .sub{color:var(--muted);margin:0 0 26px;font-size:15px}
.field{text-align:left;margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.field input{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:Inter}
.field input:focus{outline:none;border-color:var(--green)}
.demo-note{margin-top:20px;font-size:13px;color:var(--muted);background:var(--cream);border:1px dashed var(--line);border-radius:12px;padding:12px 14px}
.demo-note b{color:var(--ink)}
.demo-ribbon{position:fixed;top:0;left:0;right:0;background:var(--green);color:#fff;text-align:center;font-size:12.5px;font-weight:600;padding:6px;letter-spacing:.3px;z-index:50}

/* ---- Hero / hub ---- */
.hero{background:var(--white);border-bottom:1px solid var(--line)}
.hero .wrap{padding:38px 24px 30px}
.hero h1{font-size:38px;margin:0 0 8px;max-width:720px}
.hero p{color:var(--muted);font-size:17px;max-width:620px;margin:0}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 4px}
.tile{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:6px;transition:.15s}
.tile:hover{border-color:var(--green);transform:translateY(-2px)}
.tile .ic{width:34px;height:34px;border-radius:9px;background:#eef1e9;display:grid;place-items:center;color:var(--green-dark);font-size:18px}
.tile b{font-size:15px}
.tile span{font-size:13px;color:var(--muted)}

/* ---- Section ---- */
.section{padding:36px 0 60px}
.section__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}
.section__head h2{font-size:26px;margin:0}
.section__head a{color:var(--green-dark);font-weight:600;font-size:14px}

/* ---- Product grid ---- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.card:hover{box-shadow:0 14px 34px rgba(80,60,40,.10);transform:translateY(-3px)}
.card__img{aspect-ratio:1/1;background:var(--cream-2);display:grid;place-items:center;padding:14px}
.card__img img{max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.card__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.sku{font-size:12px;font-weight:600;color:var(--muted);background:var(--cream);align-self:flex-start;padding:3px 8px;border-radius:6px}
.card h3{font-family:Inter;font-weight:700;font-size:16px;margin:0;line-height:1.3}
.dims{font-size:13px;color:var(--muted)}
.price{display:flex;align-items:baseline;gap:8px;margin-top:auto}
.price .now{color:var(--green-dark);font-weight:700;font-size:19px}
.card .btn{margin-top:10px}

/* ---- PDP ---- */
.crumbs{font-size:13px;color:var(--muted);padding:18px 0 0}
.crumbs a:hover{color:var(--green-dark)}
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;padding:20px 0 60px;align-items:start}
.pdp__media{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:96px}
.pdp__media img{width:100%;object-fit:contain;mix-blend-mode:multiply;max-height:520px}
.pdp h1{font-size:34px;margin:4px 0 6px}
.pdp .dims{font-size:15px;margin-bottom:14px}
.pricebox{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:8px 0 22px}
.pricebox .row{display:flex;align-items:baseline;gap:12px}
.pricebox .now{font-family:'Orelega One',serif;font-size:32px;color:var(--green-dark)}
.pricebox .lbl{font-size:13px;color:var(--muted);margin-top:4px}
.opt{margin:18px 0}
.opt h4{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin:0 0 9px}
.opt__row{display:flex;gap:10px;flex-wrap:wrap}
.swatch{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);cursor:pointer}
.swatch.sel{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset}
.pillopt{border:1.5px solid var(--line);border-radius:12px;padding:11px 15px;cursor:pointer;background:#fff;min-width:150px}
.pillopt.sel{border-color:var(--green);background:#f3f6ef}
.pillopt b{display:block;font-size:15px}
.pillopt .p{display:flex;gap:8px;align-items:baseline;margin-top:4px}
.pillopt .p .now{color:var(--green-dark);font-weight:700}
.pillopt .save{font-size:11px;background:#e7f0e2;color:var(--green-dark);border-radius:6px;padding:1px 6px;font-weight:600;margin-left:4px}
.qtyrow{display:flex;gap:12px;align-items:center;margin:20px 0}
.qty{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--pill);overflow:hidden}
.qty button{border:0;background:#fff;width:42px;height:44px;font-size:18px;cursor:pointer}
.qty input{width:46px;text-align:center;border:0;font-size:16px;font-family:Inter}
.pdp__actions{display:flex;gap:12px;margin-top:6px}
.note{font-size:13px;color:var(--muted);margin-top:16px;border-top:1px solid var(--line);padding-top:16px}

/* ---- Footer ---- */
.foot{background:var(--brown);color:#f3ded4;padding:34px 0;font-size:14px}
.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
.foot a{color:#f3ded4;opacity:.85}

@media(max-width:900px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:repeat(2,1fr)}
  .pdp{grid-template-columns:1fr}
  .pdp__media{position:static}
  .nav{display:none}
}
@media(max-width:560px){ .grid{grid-template-columns:1fr} .hero h1{font-size:30px} }
