/* Banuvi Market — warm PlotVow-adjacent palette, typography and buttons */
@font-face{font-family:"DM Serif Display";src:url(/fonts/dm-serif-display.woff) format("woff");font-display:swap}
@font-face{font-family:"DM Serif Display";font-style:italic;src:url(/fonts/dm-serif-display-italic.woff) format("woff");font-display:swap}
@font-face{font-family:"Crimson Text";src:url(/fonts/crimson-text.woff) format("woff");font-display:swap}
@font-face{font-family:"Crimson Text";font-style:italic;src:url(/fonts/crimson-text-italic.woff) format("woff");font-display:swap}
@font-face{font-family:"Crimson Text";font-weight:600;src:url(/fonts/crimson-text-semibold.woff) format("woff");font-display:swap}
@font-face{font-family:"Lato";src:url(/fonts/lato.woff) format("woff");font-display:swap}
@font-face{font-family:"Lato";font-weight:700;src:url(/fonts/lato-bold.woff) format("woff");font-display:swap}

:root{
  --navy:#202D49;--navy-2:#2A3A5C;--ink:#202D49;--text:#2B3448;--copper:#B97A55;--copper-d:#94593A;
  --champagne:#D9C49A;--cream:#F6F0E4;--ivory:#FBF8F1;--cream2:#EFE6D6;--line:#E2D4BD;--muted:#5E6676;
  --ok:#2F6B4F;--danger:#8A3B32;
  --serif:"Crimson Text",Georgia,serif;--display:"DM Serif Display",Georgia,serif;--sans:"Lato",system-ui,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:var(--serif);font-size:19px;line-height:1.6;background-color:var(--cream);
  background-image:repeating-linear-gradient(0deg,rgba(120,90,50,.022) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(120,90,50,.018) 0 1px,transparent 1px 4px);min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:var(--copper-d)}
:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem)} h2{font-size:clamp(1.5rem,2.6vw,2.1rem)} h3{font-size:1.28rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.narrow{max-width:780px}
.center{text-align:center}
.kicker{font-family:var(--sans);font-weight:700;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--copper-d);margin:0 0 .9em}
.lede{font-style:italic;font-size:1.22rem;color:var(--text)}
.small,.hint{font-size:.86rem;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.rule-short{display:block;width:56px;height:1px;background:var(--copper);margin:18px 0 20px}
.center .rule-short{margin-left:auto;margin-right:auto}
main{flex:1}

/* header */
.site-header{background:var(--navy);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(217,196,154,.35)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1;color:#FBF8F1}
.brand-name{font-family:var(--display);font-size:1.55rem;letter-spacing:-.01em}
.brand-sub{font:700 .55rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);margin-top:5px}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav a{font-family:var(--sans);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#F1E9DA;text-decoration:none;font-weight:700;padding:6px 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--champagne);border-bottom-color:var(--champagne)}
.nav-toggle{display:none}
.nav-burger{display:none}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  padding:15px 26px;border-radius:2px;border:1px solid var(--navy);background:var(--navy);color:var(--ivory);transition:background .2s,color .2s,border-color .2s;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--navy-2)}
.btn-copper{background:var(--copper-d);border-color:var(--copper-d);color:#fff}
.btn-copper:hover{background:#7E4A2F;border-color:#7E4A2F}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:var(--ivory)}
.btn-small{padding:10px 16px;font-size:.68rem}
.btn-light{background:transparent;border-color:var(--champagne);color:var(--champagne)}
.btn-light:hover{background:var(--champagne);color:var(--navy);border-color:var(--champagne)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0}

/* hero + cards */
.hero{padding:64px 0 72px;border-bottom:1px solid var(--line)}
.hero-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem);line-height:1.02;letter-spacing:-.01em}
.hero-note{font-family:var(--display);font-style:italic;color:var(--copper-d);font-size:1.1rem;margin:1.4em 0 0;padding-top:14px;border-top:1px solid var(--line);max-width:26em}
.cover-fan{position:relative;width:100%;aspect-ratio:1/0.82;max-width:560px;margin:0 auto}
.cover-fan img{position:absolute;width:32%;box-shadow:0 16px 30px rgba(32,45,73,.22),0 2px 5px rgba(32,45,73,.16);border-radius:2px;background:#fff}
.cover-fan .fan-0{left:4%;top:8%;transform:rotate(-6deg)}
.cover-fan .fan-1{left:34%;top:0;z-index:2;width:34%}
.cover-fan .fan-2{left:66%;top:10%;transform:rotate(6deg)}

.products{padding:72px 0 88px}
.section-head{text-align:center;max-width:640px;margin:0 auto 8px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;margin:44px 0 20px}
.card{position:relative;display:flex;flex-direction:column;background:var(--ivory);border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}
.card:hover{border-color:var(--copper);box-shadow:0 14px 34px rgba(32,45,73,.10)}
.card-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.card-img{background:var(--cream2);aspect-ratio:1/1.15;display:flex;align-items:center;justify-content:center;padding:22px 28px;border-bottom:1px solid var(--line)}
.card-img img{max-height:100%;width:auto;max-width:100%;box-shadow:0 12px 26px rgba(32,45,73,.24);background:#fff}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card-body .kicker{margin-bottom:.45em}
.card-body h3{margin-bottom:.2em;font-size:1.28rem}
.card-desc{margin:0 0 14px;color:var(--text);font-size:1.02rem;line-height:1.45}
.card-foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.price{font-family:var(--display);font-size:1.3rem;color:var(--navy)}
.seller-name{font:700 .68rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* product page */
.product-page{padding:48px 0 80px}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.product-cover{background:var(--ivory);border:1px solid var(--line);padding:36px 44px}
.product-cover img{width:100%;box-shadow:0 16px 36px rgba(32,45,73,.22);background:#fff}
.checkout-box{margin-top:28px;background:var(--ivory);border:1px solid var(--line);padding:24px 26px}
.checkout-box h2{font-size:1.4rem;margin-bottom:.3em}
.sim-note{background:#F3E7D2;border:1px solid var(--line);padding:10px 12px;font-size:.88rem;margin:0 0 16px;color:var(--navy)}

/* forms */
label{display:block;font:700 .68rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:14px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],select,textarea{
  width:100%;font:1rem var(--serif);color:var(--text);background:var(--ivory);border:1px solid var(--line);border-radius:2px;padding:10px 12px}
textarea{min-height:120px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.flash{padding:12px 16px;border:1px solid var(--line);background:var(--ivory);margin:0 0 20px}
.flash-error{border-color:#E2B6B0;background:#F8EEEC;color:var(--danger)}
.flash-ok{border-color:#B7D4C4;background:#EEF6F1;color:var(--ok)}
.auth-page{padding:56px 0 80px;max-width:460px;margin:0 auto}
.auth-card{background:var(--ivory);border:1px solid var(--line);padding:32px 30px}

/* dashboard */
.dash{padding:40px 0 80px}
.dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 32px}
.stat{background:var(--ivory);border:1px solid var(--line);padding:18px 20px}
.stat .label{font:700 .64rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.stat .value{font-family:var(--display);font-size:1.7rem;color:var(--navy);line-height:1.1}
.stat .sub{font-size:.82rem;color:var(--muted);margin-top:6px}
.panel{background:var(--ivory);border:1px solid var(--line);padding:26px 28px;margin:0 0 24px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th{text-align:left;font:700 .64rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.badge{display:inline-block;font:700 .62rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line);border-radius:2px}
.badge-stripe{color:#635BFF;border-color:#c9c6ff}
.badge-paypal{color:#1A3668;border-color:#9BB3D3}
.badge-ok{color:var(--ok);border-color:#B7D4C4}
.payout-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 8px}
.choice{border:1px solid var(--line);padding:16px;cursor:pointer;background:var(--cream);
  font-family:var(--serif);font-size:1rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--text);margin:0}
.choice:has(input:checked){border-color:var(--copper);background:#F8F1E6;box-shadow:inset 0 0 0 1px var(--copper)}
.choice strong{display:block;font-family:var(--display);font-size:1.2rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--navy);margin:4px 0 8px}
.choice .small{display:block;text-transform:none;letter-spacing:normal;font-weight:400}
.choice input{margin-right:8px}

/* success */
.success{padding:64px 0 88px;text-align:center}
.success-card{max-width:640px;margin:0 auto;background:var(--ivory);border:1px solid var(--line);padding:40px 36px}
.success .price{display:block;margin:8px 0}

/* footer */
.site-footer{background:var(--navy);color:#E9E1D2;padding:36px 0 28px;margin-top:auto}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.site-footer a{color:var(--champagne);text-decoration:none;font:700 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.site-footer a:hover{text-decoration:underline}
.footer-mark{font-family:var(--display);color:#FBF8F1;font-size:1.2rem;margin:0 0 6px}
.footer-note{margin:0;font-size:.92rem;color:#C9C0B0}
.proto-banner{background:#3A2A1C;color:#F1E9DA;font:700 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:8px 12px}

/* stripe onboarding stand-in */
.stripe-sim{max-width:520px;margin:48px auto 80px;background:#fff;border:1px solid #ddd;padding:36px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.stripe-sim h1{font-family:var(--sans);font-weight:700;font-size:1.4rem}

@media (max-width: 900px){
  .hero-inner,.product-grid,.payout-choice,.stats{grid-template-columns:1fr 1fr}
  .grid{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr}
}
@media (max-width: 700px){
  .wrap{padding:0 18px}
  .header-inner{height:64px}
  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid rgba(241,233,218,.45);background:transparent;cursor:pointer;padding:10px}
  .nav-burger span{display:block;height:2px;background:#F1E9DA}
  .site-nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy);flex-direction:column;align-items:flex-start;padding:12px 18px 20px;gap:14px;border-bottom:1px solid rgba(217,196,154,.35)}
  .nav-toggle:checked ~ .site-nav{display:flex}
  .hero{padding:36px 0 44px}
  .hero-inner,.product-grid,.grid,.stats,.payout-choice{grid-template-columns:1fr}
  .cover-fan{display:none}
  .dash-head{flex-direction:column;align-items:flex-start}
  .product-cover{padding:18px}
  .success-card,.auth-card,.panel{padding:22px 18px}
}

.nav-user{font:700 .7rem var(--sans);letter-spacing:.08em;color:#F1E9DA;max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-nav form{display:inline;margin:0}
.site-nav .btn-light{padding:8px 12px}

/* Slice 2 */
.stats-5{grid-template-columns:repeat(5,1fr)}
.badge-hold{color:#8A6232;border-color:#E2C49A;background:#F8F1E6}
.badge-refunded{color:var(--danger);border-color:#E2B6B0;background:#F8EEEC}
.row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.row-actions form{margin:0}
.text-link{font:700 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--copper-d)}
.text-link:hover{text-decoration:underline}
.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:12px 0 40px}
.library-card .card-img{aspect-ratio:1/1.05;padding:16px 20px}
code{font-size:.85em}

@media (max-width: 1100px){
  .stats-5{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 900px){
  .library-grid{grid-template-columns:1fr 1fr}
  .stats-5{grid-template-columns:1fr 1fr}
}
@media (max-width: 700px){
  .library-grid,.stats-5{grid-template-columns:1fr}
}

/* Slice 3 */
.stars{color:var(--copper-d);letter-spacing:.08em;font-size:1rem}
.star-meta{font:700 .68rem var(--sans);letter-spacing:.08em;color:var(--muted);margin-left:6px}
.card-rating{margin:0 0 10px}
.reviews{padding:10px 0 72px}
.review-form,.review{background:var(--ivory);border:1px solid var(--line);padding:22px 24px;margin:16px 0}
.review-head{margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.library-actions{flex-direction:column;align-items:flex-start;gap:10px}
.mod-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.reject-form{margin-top:12px}
.outbox-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start}
.email-body{white-space:pre-wrap;font:0.95rem var(--serif);background:var(--cream);border:1px solid var(--line);padding:16px 18px;overflow:auto}
tr.is-selected{background:#F8F1E6}
@media (max-width: 800px){
  .mod-grid,.outbox-grid{grid-template-columns:1fr}
}

/* Slice 4 */
.footer-links{display:flex;gap:36px;flex-wrap:wrap}
.footer-col{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.footer-legal-label{margin:0 0 2px;font:700 .66rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#C9C0B0}
.legal-page{max-width:760px;padding:48px 0 88px}
.legal-page h1{margin-bottom:16px}
.legal-page h2{margin:28px 0 10px;font-size:1.45rem}
.draft-banner{background:#F3E2C7;border:1px solid var(--copper, #B97A55);padding:16px 18px;margin:0 0 24px}
.draft-banner-label{margin:0 0 6px;font:700 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--copper-d, #94593A)}
.draft-banner p{margin:0}
.legal-nav{display:flex;flex-wrap:wrap;gap:10px 16px;margin:0 0 28px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.legal-nav a{font:700 .7rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.legal-nav a:hover,.legal-nav a[aria-current="page"]{color:var(--copper-d, #94593A);text-decoration:underline}
label.agree{display:flex;align-items:flex-start;gap:10px;margin:18px 0 8px;font:400 0.95rem var(--serif);letter-spacing:normal;text-transform:none;color:var(--navy)}
label.agree input{margin-top:4px}

/* Slice 5 */
.admin-tools-table form{display:flex;flex-direction:column;gap:6px;align-items:flex-start}

/* Slice 6 */
.card-cart{padding:0 16px 16px;display:flex;justify-content:flex-end}
.cart-summary{list-style:none;margin:0 0 16px;padding:0}
.cart-summary li{padding:8px 0;border-bottom:1px solid var(--line)}
.guest-register{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);text-align:left}
.guest-register h2{margin:0 0 8px}
.statement .stats{margin:16px 0 28px}
.stats-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width: 900px){
  .stats-5{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  header, footer, .no-print, .legal-nav, .dash-head .actions, .card-cart{display:none !important}
  body{background:#fff}
  .statement-page .wrap, .statement{box-shadow:none;border:0}
  a[href]:after{content:none !important}
}

/* Slice 7 */
.search-strip{padding:28px 0 8px;background:var(--ivory);border-bottom:1px solid var(--line)}
.search-form{margin:0 0 16px}
.search-row{display:flex;gap:10px;align-items:stretch}
.search-row input[type=search]{flex:1;margin:0}
.search-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px}
.search-filters label{margin:0;font:700 .66rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.search-filters select,.search-filters input{margin-top:6px;width:100%}
.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);background:#fff;color:var(--navy);text-decoration:none;font:700 .72rem var(--sans);letter-spacing:.04em}
.chip span{color:var(--muted)}
.chip:hover,.chip-all{border-color:var(--copper);color:var(--copper-d)}
.shop-banner{min-height:220px;background:#202D49 center/cover no-repeat;color:#F6F0E4;display:flex;align-items:flex-end}
.shop-banner-inner{padding:36px 0 28px}
.shop-banner h1{color:#F6F0E4;margin:0}
.shop-banner .kicker{color:#C9C0B0}
.shop-body{padding:32px 0 72px}
.shop-intro{margin-bottom:28px;max-width:720px}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 28px}
.chart{margin:0;background:var(--ivory);border:1px solid var(--line);padding:16px 16px 8px}
.chart figcaption{font:700 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.chart svg{width:100%;height:180px;display:block;background:#FBF8F1}
.chart-tick{font:10px var(--sans);fill:var(--muted)}
.search-page .grid{margin-top:16px}
@media (max-width: 900px){
  .search-filters,.chart-grid{grid-template-columns:1fr 1fr}
  .search-row{flex-direction:column}
}
@media (max-width: 600px){
  .search-filters,.chart-grid{grid-template-columns:1fr}
}

/* Slice 8 */
.search-filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.card-tags a,.card-tags span{display:inline-block;padding:2px 8px;border:1px solid var(--line);background:#fff;color:var(--copper-d);text-decoration:none;font:700 .68rem var(--sans);letter-spacing:.04em}
.card-tags a:hover{border-color:var(--copper)}
.gallery{display:flex;flex-direction:column;gap:10px}
.gallery-main{width:100%;display:block;border:1px solid var(--line);background:#fff}
.gallery-thumbs{display:flex;flex-wrap:wrap;gap:8px}
.gallery-thumb{padding:0;border:2px solid var(--line);background:#fff;cursor:pointer;width:72px;height:72px;overflow:hidden}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumb.is-active,.gallery-thumb:hover{border-color:var(--copper)}
.licence-picker{margin:16px 0;display:flex;flex-direction:column;gap:8px}
.licence-picker .choice{display:block;border:1px solid var(--line);background:#fff;padding:10px 12px;cursor:pointer}
.licence-picker .choice:has(input:checked){border-color:var(--copper);background:#FBF8F1}
.licence-picker .choice strong{display:block}
.licence-picker .choice input{margin-right:8px}
.disclosure{margin:16px 0;padding:12px 14px;background:var(--ivory);border:1px solid var(--line)}
.disclosure p{margin:0}
@media (max-width: 1100px){
  .search-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Slice 9: consent, pagination, messaging, specs, a11y */
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:1000}
.skip-link:focus{left:8px;top:8px}
.cookie-banner{position:sticky;bottom:0;background:var(--navy);color:#fff;padding:16px 0;z-index:40;border-top:3px solid var(--copper)}
.cookie-inner{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.cookie-banner h2{color:#fff;margin:0 0 6px;font-size:1.25rem}
.cookie-banner p{color:#F6F0E4;margin:0;max-width:52rem}
.cookie-banner a{color:#E8C4A8}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.pagination{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;align-items:center}
.spec-list{display:grid;grid-template-columns:minmax(8rem,14rem) 1fr;gap:8px 16px;margin:16px 0;padding:14px;background:var(--ivory);border:1px solid var(--line)}
.spec-list div{display:contents}
.spec-list dt{font-weight:700;color:var(--navy)}
.spec-list dd{margin:0}
.model-wrap{margin:0 0 16px}
.model-wrap figcaption{margin-top:8px}
.listing-specs .spec-fields{display:grid;gap:10px;margin:0 0 16px}
.bundle-box,.bundle-pick{margin:12px 0;padding:12px;border:1px solid var(--line);background:#fff}
.bundle-list{margin:8px 0 0;padding-left:1.2rem}
.thread{display:flex;flex-direction:column;gap:12px;margin:20px 0}
.bubble{padding:12px 14px;border:1px solid var(--line);background:#fff;max-width:40rem}
.bubble-me{align-self:flex-end;background:var(--ivory);border-color:var(--copper)}
.bubble-them{align-self:flex-start}
.discount-panel{margin:16px 0}
@media (max-width:700px){
  .cookie-inner{align-items:stretch}
  .spec-list{grid-template-columns:1fr}
}

/* Slice 10: preview manager, audit, notification prefs */
.preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.preview-item{display:flex;gap:16px;align-items:center;border:1px solid var(--line);background:#fff;padding:10px}
.preview-item img{width:96px;height:96px;object-fit:cover;border:1px solid var(--line)}
.preview-item-actions .actions{flex-wrap:wrap}
#notifications .choice{display:block;margin:8px 0}


/* Slice 11: help, onboarding, backups, digest, receipts */
.onboarding-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.onboarding-list li{padding:8px 10px;border:1px solid var(--line);background:#fff}
.onboarding-list li.is-done{opacity:.7;text-decoration:line-through}
.help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.help-body p{margin:0 0 1em}
.help-body a{text-decoration:underline}
.digest-choice{border:0;margin:16px 0;padding:0}
.digest-choice legend{font-weight:700;margin-bottom:8px}
.backup-schedule{white-space:pre-wrap;background:var(--ivory);padding:12px;border:1px solid var(--line);overflow:auto}

/* Slice 11: keep full-page review screenshots at the viewport width */
html,body{max-width:100%;overflow-x:hidden}
.wrap,.dash,.panel,pre,svg,table{max-width:100%}
.stats{overflow-x:auto}
