.shop-page { background:#fffdf8; }
.shop-preview-banner { display:flex; align-items:center; justify-content:center; gap:10px; min-height:38px; padding:8px 20px; color:#fff; background:#bd5625; font-size:12px; font-weight:700; letter-spacing:.04em; text-align:center; }
.shop-preview-banner::before { content:""; width:8px; height:8px; border-radius:50%; background:#ffd99b; box-shadow:0 0 0 5px rgba(255,217,155,.18); }
.shop-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; gap:7vw; align-items:center; min-height:650px; padding:90px clamp(24px,8vw,130px); background:linear-gradient(130deg,#f8efe3 0%,#edf5e9 62%,#dceee7 100%); }
.shop-hero::before,.shop-hero::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.shop-hero::before { width:360px; height:360px; right:-130px; top:-150px; border:1px solid rgba(23,63,54,.16); }
.shop-hero::after { width:180px; height:180px; left:42%; bottom:-95px; background:rgba(235,128,67,.14); }
.shop-hero-copy { position:relative; z-index:1; }
.shop-hero h1 { max-width:760px; margin:18px 0 26px; font-size:clamp(54px,7vw,96px); }
.shop-hero h1 em { color:#c45a2c; }
.shop-hero-copy > p:not(.eyebrow) { max-width:650px; color:var(--muted); font-size:18px; }
.shop-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:30px; }
.shop-collection-art { position:relative; min-height:440px; }
.shop-orbit { position:absolute; inset:8% 4% 4%; border:1px solid rgba(23,63,54,.2); border-radius:50%; transform:rotate(-8deg); }
.shop-orbit::before,.shop-orbit::after { content:""; position:absolute; border-radius:50%; }
.shop-orbit::before { width:18px; height:18px; left:4%; top:33%; background:#e67434; box-shadow:0 0 0 12px rgba(230,116,52,.14); }
.shop-orbit::after { width:13px; height:13px; right:13%; bottom:5%; background:#cba34d; box-shadow:0 0 0 10px rgba(203,163,77,.13); }
.shop-art-card { position:absolute; display:flex; flex-direction:column; justify-content:flex-end; width:44%; aspect-ratio:.78/1; padding:24px; border-radius:80px 80px 24px 24px; color:white; box-shadow:0 28px 60px rgba(23,63,54,.16); }
.shop-art-card strong { font:600 27px/1.05 var(--serif); }
.shop-art-card small { margin-top:8px; color:rgba(255,255,255,.76); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.shop-art-one { left:5%; top:7%; z-index:2; background:linear-gradient(145deg,#2e6b5b,#173f36); transform:rotate(-5deg); }
.shop-art-two { right:4%; top:20%; z-index:3; background:linear-gradient(145deg,#e98a4e,#bd5625); transform:rotate(6deg); }
.shop-art-three { left:29%; bottom:0; z-index:4; background:linear-gradient(145deg,#d3b665,#9d7930); transform:rotate(-1deg); }
.shop-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; }
.shop-intro p:last-child { color:var(--muted); }
.shop-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:45px; }
.shop-product-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:white; box-shadow:0 18px 52px rgba(29,61,52,.08); }
.shop-product-art { position:relative; overflow:hidden; aspect-ratio:1/1; background:linear-gradient(135deg,#dcebe1,#f4d8c5); }
.shop-product-art::before { content:""; position:absolute; width:55%; height:78%; left:24%; top:13%; border-radius:100px 100px 22px 22px; background:linear-gradient(145deg,#5a8e78,#245246); transform:rotate(-5deg); box-shadow:0 20px 35px rgba(23,63,54,.2); }
.shop-product-art span { position:absolute; z-index:2; width:34%; height:50%; left:14%; top:27%; border:1px solid rgba(255,255,255,.8); border-radius:50%; }
.shop-product-art i { position:absolute; z-index:3; width:16px; height:16px; right:18%; top:22%; border-radius:50%; background:#e77a3c; box-shadow:0 0 0 10px rgba(255,255,255,.35); }
.shop-product-art img { position:absolute; z-index:4; inset:0; width:100%; height:100%; object-fit:cover; }
.shop-product-card:nth-child(2) .shop-product-art { background:linear-gradient(135deg,#f3e2bb,#e7d2bf); }
.shop-product-card:nth-child(2) .shop-product-art::before { background:linear-gradient(145deg,#d17c46,#9b4626); }
.shop-product-card:nth-child(3) .shop-product-art { background:linear-gradient(135deg,#d8eae7,#e8e0ef); }
.shop-product-card:nth-child(3) .shop-product-art::before { background:linear-gradient(145deg,#9e7d53,#654a2f); }
.shop-product-copy { display:flex; flex:1; flex-direction:column; padding:28px; }
.shop-product-type { color:var(--coral-dark); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.shop-product-copy h2 { margin:10px 0 14px; font:600 29px/1.15 var(--serif); }
.shop-product-description { min-height:112px; color:var(--muted); font-size:14px; }
.shop-product-meta { display:flex; justify-content:space-between; gap:16px; margin:22px 0; padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.shop-product-meta strong { color:var(--forest); }
.shop-product-meta span { color:var(--muted); }
.shop-checkout { width:100%; }
.shop-checkout.is-disabled { cursor:not-allowed; opacity:.62; }
.shop-product-copy .shop-checkout { margin-top:auto; }
.shop-boundaries { background:var(--cream); }
.shop-boundary-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.shop-boundary-cards { display:grid; gap:14px; }
.shop-boundary-card { padding:24px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.75); }
.shop-boundary-card span { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; color:white; background:var(--forest); font-size:12px; font-weight:700; }
.shop-boundary-card h3 { margin:14px 0 8px; font:600 22px var(--serif); }
.shop-boundary-card p { color:var(--muted); font-size:14px; }
.shop-notices { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 clamp(24px,8vw,130px) 90px; }
.shop-disclaimer { margin:0; padding:28px 32px; border:1px solid rgba(189,86,37,.25); border-radius:22px; background:#fff7ee; }
.shop-crisis-notice { border-color:rgba(23,63,54,.24); background:#eff6f0; }
.shop-disclaimer h2 { margin-bottom:8px; font:600 24px var(--serif); }
.shop-disclaimer p { color:var(--muted); font-size:14px; }
.shop-disclaimer a,.shop-safety-detail a { font-weight:700; }
.shop-safety-detail { grid-column:1/-1; padding:0 28px; border:1px solid var(--line); border-radius:18px; background:white; }
.shop-safety-detail summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; cursor:pointer; list-style:none; color:var(--forest); font-weight:700; }
.shop-safety-detail summary::-webkit-details-marker { display:none; }
.shop-safety-detail summary span { color:var(--coral); font-size:24px; font-weight:400; transition:transform .2s; }
.shop-safety-detail[open] summary span { transform:rotate(45deg); }
.shop-safety-detail p { padding:0 0 24px; color:var(--muted); font-size:14px; }
.shop-footer-links { display:flex; flex-wrap:wrap; gap:20px; }
.shop-footer-links a { color:var(--forest); font-size:13px; font-weight:700; text-decoration:none; }
.shop-purchase-policy { max-width:980px; margin:28px auto 0; padding:22px 26px; border:1px solid rgba(29,61,52,.18); border-radius:20px; background:#f7efe4; text-align:center; }
.shop-purchase-policy strong { display:block; margin-bottom:6px; color:var(--forest); font:600 22px/1.2 var(--serif); }
.shop-purchase-policy p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.shop-purchase-policy a,.shop-checkout-policy a { color:var(--forest); font-weight:700; }
.shop-checkout-policy { max-width:520px; margin:15px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.shop-card-policy { margin:13px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.shop-card-policy a { color:var(--forest); font-weight:700; }
.shop-review-hero { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr); gap:8vw; align-items:center; min-height:650px; padding:85px clamp(24px,8vw,130px); background:linear-gradient(130deg,#f8efe3,#eef5ea 58%,#dceee7); }
.shop-review-art { display:grid; place-items:center; min-height:470px; }
.shop-review-art > div { display:flex; flex-direction:column; justify-content:flex-end; width:min(100%,360px); aspect-ratio:.78/1; padding:42px; border-radius:110px 110px 30px 30px; color:white; background:linear-gradient(145deg,#397764,#173f36); box-shadow:0 32px 70px rgba(23,63,54,.22); transform:rotate(-2deg); }
.shop-review-art span { margin-bottom:auto; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.shop-review-art strong { font:600 42px/1.02 var(--serif); }
.shop-review-art small { margin-top:16px; color:rgba(255,255,255,.75); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.shop-review-copy h1 { margin:16px 0; font-size:clamp(48px,6vw,80px); }
.shop-review-status { color:var(--muted); font-size:17px; }
.shop-review-facts { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:30px 0; border-top:1px solid rgba(23,63,54,.15); border-left:1px solid rgba(23,63,54,.15); }
.shop-review-facts div { padding:18px; border-right:1px solid rgba(23,63,54,.15); border-bottom:1px solid rgba(23,63,54,.15); }
.shop-review-facts dt { color:var(--coral-dark); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.shop-review-facts dd { margin:7px 0 0; color:var(--forest); font-size:14px; font-weight:700; }
.shop-review-copy .shop-checkout { max-width:360px; }
.shop-back-link { display:block; margin-top:18px; color:var(--forest); font-size:13px; font-weight:700; text-decoration:none; }
.shop-review-gates { background:var(--cream); }
.shop-gate-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:40px; }
.shop-gate-grid article { padding:24px; border:1px solid var(--line); border-radius:20px; background:white; }
.shop-gate-grid article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:white; background:var(--forest); font-size:11px; font-weight:700; }
.shop-gate-grid h3 { margin:16px 0 8px; font:600 21px var(--serif); }
.shop-gate-grid p { color:var(--muted); font-size:13px; }
.shop-domestic-notice { grid-column:1/-1; background:#fffaf0; }
.policy-review-main { background:linear-gradient(180deg,#f7efe4 0,#fffdf8 300px); }
.policy-review-hero { max-width:1050px; margin:0 auto; padding:86px 24px 46px; }
.policy-review-hero h1 { max-width:850px; margin:16px 0 18px; font-size:clamp(46px,6vw,76px); }
.policy-review-hero > p:not(.eyebrow) { max-width:760px; color:var(--muted); font-size:17px; }
.policy-status-card { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; max-width:1050px; margin:0 auto 28px; padding:22px 24px; border:1px solid rgba(189,86,37,.25); border-radius:20px; background:#fff7ee; }
.policy-status-card > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:white; background:var(--coral-dark); font-weight:700; }
.policy-status-card strong { display:block; color:var(--forest); }
.policy-status-card p { margin-top:4px; color:var(--muted); font-size:14px; }
.policy-review-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; max-width:1050px; margin:0 auto; padding:0 24px 80px; }
.policy-review-card { padding:28px; border:1px solid var(--line); border-radius:22px; background:white; box-shadow:0 14px 38px rgba(29,61,52,.06); }
.policy-review-card.wide { grid-column:1/-1; }
.policy-review-card h2 { margin-bottom:12px; font:600 25px/1.2 var(--serif); }
.policy-review-card h3 { margin:18px 0 8px; color:var(--coral-dark); font-size:13px; }
.policy-review-card p,.policy-review-card li { color:var(--muted); font-size:14px; line-height:1.6; }
.policy-review-card ul { margin:10px 0 0; padding-left:20px; }
.policy-review-card a { color:var(--forest); font-weight:700; }
.policy-unresolved { border-color:rgba(222,106,38,.35); background:#fffaf1; }
@media (max-width:900px) {
  .shop-hero { grid-template-columns:1fr; padding-top:65px; }
  .shop-collection-art { width:min(100%,620px); margin:0 auto; }
  .shop-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-boundary-grid { grid-template-columns:1fr; }
  .shop-review-hero { grid-template-columns:1fr; }
  .shop-review-art { min-height:400px; }
  .shop-gate-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .shop-hero { min-height:auto; padding:52px 20px 70px; }
  .shop-hero h1 { font-size:50px; }
  .shop-collection-art { min-height:350px; }
  .shop-art-card { padding:17px; border-radius:55px 55px 17px 17px; }
  .shop-art-card strong { font-size:19px; }
  .shop-catalog,.shop-intro { grid-template-columns:1fr; }
  .shop-notices { grid-template-columns:1fr; margin:0 20px 70px; }
  .shop-disclaimer { padding:23px; }
  .shop-review-hero { padding:52px 20px 70px; }
  .shop-review-art { min-height:350px; }
  .shop-review-art > div { max-width:280px; padding:30px; }
  .shop-review-art strong { font-size:33px; }
  .shop-review-facts,.shop-gate-grid { grid-template-columns:1fr; }
  .policy-review-hero { padding-top:55px; }
  .policy-review-grid { grid-template-columns:1fr; padding-inline:20px; }
  .policy-review-card.wide { grid-column:auto; }
}
