/* Shop, product, cart and review pages. Builds on site.css tokens. */
.shop-all{text-align:center;margin-top:40px}
.card-name a{color:inherit}
.card-name a:hover{color:var(--gold)}

body.sub header.nav{position:sticky}
body.sub .announce{position:static}
.page-top{padding-top:56px}
.h-page{font-size:clamp(32px,3.8vw,50px);color:#F2ECDD}
.sec-head.dark h2,.sec-head.dark .h-page{color:var(--ink)}
.sec-head.dark p{color:var(--body)}
.sec-head.dark .rule{background:var(--gold)}

/* shop grid: 3 across on desktop, centred when short */
@media(min-width:561px){
  .shop-grid{grid-template-columns:repeat(3,1fr);max-width:1060px}
  .shop-grid.one{grid-template-columns:minmax(0,340px);justify-content:center}
}
@media(min-width:561px) and (max-width:900px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
.card-spec{flex-wrap:wrap}

.grade-guide{background:#fff}
.grade-table{width:100%;max-width:760px;margin:0 auto;border-collapse:collapse;font-size:15px}
.grade-table th,.grade-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.grade-table th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.grade-table a{color:var(--ink);font-weight:700}
.grade-table a:hover{color:var(--gold)}
.grade-full{max-width:1060px}.grade-full td.use{color:var(--body);min-width:210px}.grade-full td.taste{min-width:170px;font-style:italic}.grade-full{max-width:1240px}.grade-full td{vertical-align:top}.grade-full td:not(.use){white-space:nowrap}
.grade-scroll{overflow-x:auto;background:#fff;border:1px solid var(--line-2)}
@media(max-width:700px){.grade-full thead{display:none}.grade-full tr{display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:4px 14px;padding:14px;border-bottom:1px solid var(--line)}
.grade-full td{border:0;padding:0}.grade-full td:first-child{grid-column:1/-1;font-size:18px}.grade-full td.use{grid-column:1/-1;min-width:0;order:9}.grade-full td.health{order:10}
.grade-full td:nth-child(2)::before{content:'MGO ';color:var(--muted)}.grade-full td:nth-child(3)::before{content:'NPA ';color:var(--muted)}.grade-full td:nth-child(8)::before{content:'from ';color:var(--muted)}.grade-full td.taste{order:8}}

/* product page */
.pd{padding-bottom:72px}
.crumbs{font-size:13px;color:var(--muted);display:flex;gap:8px;margin-bottom:24px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--gold)}
.pd-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}
.pd-main{background:#fff;border:1px solid var(--line-2)}
.pd-main img{display:block;width:100%;height:auto;aspect-ratio:1}
.pd-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.thumb{width:min(84px,calc((100% - 50px) / 6));height:auto;aspect-ratio:1;padding:0;border:1px solid var(--line-2);background:#fff;cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:contain}
.thumb.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.pd-info h1{font-size:clamp(34px,3.6vw,48px);margin:6px 0 10px}
.pd-tag{color:var(--body);font-size:17px;margin:0 0 22px}
.pd-grade{display:flex;gap:10px;margin-bottom:22px}
.pd-grade div{border:1px solid var(--gold);padding:8px 16px;display:flex;flex-direction:column;align-items:center;min-width:84px}
.pd-grade span{font-size:10px;letter-spacing:.18em;color:var(--muted);font-weight:700}
.pd-grade b{font-family:var(--disp);font-size:22px;color:var(--ink)}
.pd-price{font-family:var(--disp);font-size:30px;font-weight:600;color:var(--ink);margin-bottom:16px}
.pd-price small{font-size:13px;color:var(--muted)}
.pd-sizes{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.size{font:inherit;font-weight:700;background:#fff;border:1px solid var(--line);padding:10px 18px;cursor:pointer;display:flex;gap:10px;align-items:baseline;color:var(--ink)}
.size span{font-weight:400;color:var(--muted);font-size:14px}
.size.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.pd-buy{display:flex;gap:12px;margin-bottom:12px}
.pd-now{display:block;width:100%;padding:17px;border:0;background:var(--ink);color:#F2ECDD;cursor:pointer;font:inherit;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;transition:background .2s}.pd-now:hover{background:#333533}.pd-now{margin-bottom:28px}
.qty{display:flex;align-items:stretch;border:1px solid var(--line);background:#fff}
.qty button{font:inherit;font-size:18px;width:42px;border:0;background:none;cursor:pointer;color:var(--ink)}
.qty input{width:44px;border:0;text-align:center;font:inherit;font-weight:700;-moz-appearance:textfield;background:none}
.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.qty.sm{display:inline-flex;margin-top:10px}
.qty.sm button{width:32px;height:32px;font-size:16px}
.qty.sm input{width:36px;padding:0}
.pd-add{flex:1;border:0;cursor:pointer;font:inherit;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px}
.pd-about p{color:var(--body);line-height:1.7;margin:0 0 20px}
.pd-health{border-top:1px solid var(--line);padding-top:20px;margin:0 0 20px}
.pd-health h2{font-size:18px;margin:0 0 12px;color:var(--ink)}
.pd-health h3{font-size:14.5px;margin:14px 0 4px;color:var(--ink)}
.pd-health p{color:var(--body);font-size:14.5px;line-height:1.65;margin:0}
.health-note{font-size:12.5px;line-height:1.6;color:var(--muted);margin:16px auto 0;max-width:760px}.health-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pd-health .health-note{margin-top:14px}
.policy h3{font-size:16px;margin:22px 0 6px}
.grade-guide .health-note{text-align:center;margin-top:22px}
.pd-facts{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0 0 20px;font-size:14.5px;border-top:1px solid var(--line);padding-top:20px}
.pd-facts dt{font-weight:700;color:var(--ink)}
.pd-facts dd{margin:0;color:var(--body)}
.pd-nutri{border-top:1px solid var(--line);padding-top:14px;font-size:14.5px}
.pd-nutri summary{cursor:pointer;font-weight:700;color:var(--ink)}
.pd-nutri table{width:100%;border-collapse:collapse;margin-top:12px}
.pd-nutri td,.pd-nutri th{padding:6px 8px;border-bottom:1px solid var(--line-2);text-align:left}
.pd-nutri th{font-size:12px;color:var(--muted)}
.small{font-size:12.5px;color:var(--muted)}
@media(max-width:900px){.pd-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){
  .page-top{padding-top:32px}

  .pd-buy{flex-direction:column}
  .qty{align-self:flex-start}
  .pd-add{padding:16px}
}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#0B0B0B;color:#F2ECDD;padding:14px 20px;font-size:14px;z-index:80;transition:.25s;max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:var(--gold-soft);text-decoration:underline;margin-left:6px}

/* cart */
.cart-root{display:grid;grid-template-columns:1fr 320px;gap:36px;max-width:1000px;margin:0 auto;align-items:start}
.cart-row{display:grid;grid-template-columns:90px 1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-img{display:flex;align-items:center;justify-content:center;height:100px}
.cart-img img{max-height:86px;max-width:80px;filter:drop-shadow(0 8px 10px rgba(120,80,20,.22))}
.cart-name{font-family:var(--disp);font-weight:600;font-size:18px;color:var(--ink)}
.cart-sub{font-size:13.5px;color:var(--muted)}
.cart-line{text-align:right;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.cart-line b{font-family:var(--disp);font-size:18px}
.cart-rm{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.cart-sum{background:#fff;border:1px solid var(--line-2);padding:24px;display:flex;flex-direction:column;gap:10px}
.cart-tot{display:flex;justify-content:space-between;font-size:18px}
.cart-tot b{font-family:var(--disp)}
.cart-tot.sub{font-size:15px;color:var(--body)}
.cart-remind{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:13px;line-height:1.45;color:#5a554c;cursor:pointer}
.cart-remind-email{display:block;width:100%;box-sizing:border-box;margin:-6px 0 14px;padding:10px 12px;border:1px solid #d8d2c4;border-radius:6px;font:inherit;font-size:14px;background:#fff}
.cart-err{margin:-6px 0 14px;font-size:13px;line-height:1.4;color:#B3261E;font-weight:600}.cart-err:empty{display:none}
.cart-remind-email.bad,.cart-code.bad{border-color:#B3261E;outline:2px solid #B3261E;outline-offset:0}
.cart-code{display:block;width:100%;box-sizing:border-box;margin:0 0 14px;padding:10px 12px;border:1px solid #d8d2c4;border-radius:6px;font:inherit;font-size:14px;background:#fff;text-transform:uppercase}.cart-code::placeholder{text-transform:none}
.cart-remind input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:#CD9C20;cursor:pointer}
.cart-go:disabled{cursor:not-allowed;opacity:.55}
.cart-go{border:0;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px;cursor:pointer}
.cart-more{text-align:center;color:var(--ink);text-decoration:underline;font-size:14px}
.cart-empty{grid-column:1/-1;text-align:center;padding:30px 0}
.cart-empty p{margin-bottom:20px;color:var(--body)}
@media(max-width:800px){.cart-root{grid-template-columns:1fr}.cart-row{grid-template-columns:70px 1fr auto;gap:12px}.cart-img{height:80px}.cart-img img{max-height:70px}}

/* review page */
.review .wrap{max-width:1240px}
.rv-summary{text-align:center;margin:-24px 0 36px;color:var(--body)}
.rv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.rv-card{background:#fff;border:1px solid var(--line-2);padding:22px}
.rv-card header{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.rv-card header img{height:72px;width:auto;background:#333533;padding:6px}
.rv-card h3{font-size:22px;margin:0}
.rv-card h3 a{color:var(--ink)}
.rv-card header p{margin:2px 0 0;color:var(--muted);font-size:14px}
.rv-card h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:16px 0 8px;color:var(--ink)}
.rv-table{width:100%;border-collapse:collapse;font-size:14px}
.rv-table th,.rv-table td{padding:6px 8px;border-bottom:1px solid var(--line-2);text-align:left}
.rv-table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.rv-imgs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.rv-imgs figure{margin:0;width:120px}
.rv-imgs img{width:120px;height:120px;object-fit:contain;border:1px solid var(--line-2);background:#fff}
.rv-imgs figcaption{font-size:10.5px;color:var(--muted);word-break:break-all;line-height:1.3;margin-top:4px}
.rv-checks{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14.5px;color:var(--body)}
.rv-checks label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;line-height:1.5}
.rv-checks input{margin-top:4px;accent-color:#CD9C20;flex:none}
.rv-site{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:36px}
.rv-site section{background:#fff;border:1px solid var(--line-2);padding:22px}
.rv-site h3{font-size:19px;margin:0 0 12px}
.rv-sell{display:flex;gap:18px;font-size:15px}.rv-sell label{display:flex;gap:6px;align-items:center;cursor:pointer}.rv-sell input{accent-color:#CD9C20}
.rv-label{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px;margin:0 0 10px;background:var(--beige,#f6f2e8);padding:10px 12px}
.rv-label dt{font-weight:700;color:var(--ink)}.rv-label dd{margin:0;color:var(--body)}
@media(max-width:860px){.rv-grid,.rv-site{grid-template-columns:1fr}}
@media print{header.nav,footer,.bee-fly{display:none}.rv-card,.rv-site section{break-inside:avoid}}
@media(max-width:560px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:12px}.shop-grid.one{grid-template-columns:minmax(0,220px)}}
@media(max-width:560px){.shop-grid .card-foot{flex-wrap:wrap}.shop-grid .price small{display:none}}
@media(min-width:1120px){.prod-grid.five{grid-template-columns:repeat(5,1fr);gap:20px;max-width:1240px}}
@media(min-width:561px) and (max-width:900px){.pd-gallery{max-width:520px}}
/* Ultra feature band (homepage) */
.ultra-band{background:#1e0a19;color:#F2ECDD;padding:96px 0;overflow:hidden}
.ultra-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.ultra-copy .eyebrow{color:var(--gold-soft)}
.ultra-copy h2{color:#F2ECDD;font-size:clamp(32px,3.6vw,50px);margin:14px 0 18px}
.ultra-copy p{color:rgba(242,236,221,.86);font-size:17px;line-height:1.7;max-width:540px;margin:0 0 28px}
.ultra-stats{list-style:none;padding:0;margin:0 0 34px;display:flex;gap:0;max-width:540px;border-top:1px solid rgba(245,203,92,.35);border-bottom:1px solid rgba(245,203,92,.35)}
.ultra-stats li{flex:1;padding:18px 0;display:flex;flex-direction:column;gap:4px}
.ultra-stats li+li{padding-left:22px;border-left:1px solid rgba(245,203,92,.35)}
.ultra-stats b{font-family:var(--disp);font-size:clamp(26px,2.6vw,36px);color:var(--gold-soft);line-height:1}
.ultra-stats span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,236,221,.7)}
.ultra-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ultra-add{font:inherit;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:none;color:#F2ECDD;border:1.5px solid rgba(242,236,221,.6);padding:15px 22px;cursor:pointer}
.ultra-add:hover{border-color:var(--gold-soft);color:var(--gold-soft)}
.ultra-jar{display:flex;justify-content:center}
.ultra-jar img{width:min(100%,400px);height:auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.45));transition:transform .4s}
.ultra-jar:hover img{transform:translateY(-6px)}
@media(max-width:900px){.ultra-band{padding:64px 0}.ultra-in{grid-template-columns:1fr;gap:32px}.ultra-jar{order:-1}.ultra-jar img{width:min(64vw,300px)}}
@media(max-width:560px){.ultra-stats li+li{padding-left:14px}.ultra-stats span{font-size:10.5px;letter-spacing:.08em}.ultra-cta .btn-gold,.ultra-add{flex:1 1 100%;text-align:center}}

/* bundles (2026-10-23) */
.pd-bundle{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--line)}
.pd-bundle li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:12px 0;border-bottom:1px solid var(--line)}
.pd-bundle b{font-family:var(--disp);font-size:20px;color:var(--gold-deep)}
.pd-bundle a{font-weight:600;color:var(--ink);text-decoration:none}
.pd-bundle span{margin-left:auto;font-size:13px;color:var(--muted)}
.pd-rrp{font-size:17px;font-weight:400;color:var(--muted);margin-left:8px}
.pd-post{margin:-8px 0 16px;font-size:14px;color:var(--muted)}
.shop-bundles{max-width:420px;margin:0 auto;grid-template-columns:1fr!important}
.shop-bundles .card-top{overflow:hidden}.shop-bundles .card-jar,.prod-grid.shop-bundles .card-jar{width:84%!important;height:auto!important;max-height:80%;object-fit:contain}

/* articles (2026-10-23): blog/ is PHP on the cPanel host, written from the admin */
.post{max-width:820px;padding-bottom:90px}
.post-head h1{font-family:var(--disp);font-size:clamp(32px,4.4vw,52px);line-height:1.08;letter-spacing:-.01em;margin:8px 0 10px;color:var(--ink)}
.post-date{font-size:14px;letter-spacing:.06em;color:var(--muted);margin:0}
.post-img{margin:28px 0 8px}.post-img img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
.post-body{font-size:18px;line-height:1.75;color:var(--body);margin-top:26px}
.post-body h2{font-family:var(--disp);font-size:28px;line-height:1.2;color:var(--ink);margin:40px 0 12px}
.post-body h3{font-size:21px;color:var(--ink);margin:30px 0 10px}
.post-body p{margin:0 0 20px}.post-body ul,.post-body ol{margin:0 0 20px;padding-left:24px}.post-body li{margin:6px 0}
.post-body a{color:#8a6510;text-decoration:underline;text-underline-offset:3px}
.post-body blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold);font-style:italic}
.post-cta{margin:48px 0 0;padding:28px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.post-cta p{margin:0;font-weight:600;color:var(--ink)}
.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,360px));justify-content:center;gap:28px}
.blog-list .h-page{color:var(--ink)}
.post-card{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:var(--ink);transition:transform .25s}
.post-card:hover{transform:translateY(-3px)}
.post-card img,.post-card-ph{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--paper)}
.post-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 24px}
.post-card-body b{font-family:var(--disp);font-size:21px;line-height:1.25}
.post-card-body span:last-child{font-size:15px;line-height:1.55;color:var(--body)}
.blog-empty{text-align:center;color:var(--muted)}
.preview-bar{position:sticky;top:0;z-index:50;background:#7a5300;color:#fff;text-align:center;font-weight:700;padding:10px 16px;font-size:15px}
@media(max-width:600px){.post-grid{grid-template-columns:1fr}.post-body{font-size:17px}.post-cta{padding:20px}}

/* policy pages (2026-10-23) */
.policy .wrap{max-width:760px}
.policy h1{font-family:var(--disp);font-size:clamp(32px,4vw,46px);color:var(--ink);margin:10px 0 18px}
.policy h2{font-family:var(--disp);font-size:22px;color:var(--ink);margin:30px 0 8px}
.policy p,.policy li{font-size:17px;line-height:1.7;color:var(--body)}.policy p{margin:0 0 14px}.policy ul{margin:0 0 14px;padding-left:22px}
.policy a{color:#8a6510;text-decoration:underline}
.size:disabled{color:var(--muted);cursor:not-allowed;border-style:dashed;box-shadow:none}
