/* Marketing module storefront styles. Theme-neutral: uses theme tokens with fallbacks. */
.mkt-blog,.mkt-article,.mkt-narrow,.mkt-newsletter,.mkt-reviews,.mkt-banners,.mkt-latest{--mk-brand:var(--c-brand,#1d4ed8);--mk-accent:var(--c-accent,#f59e0b);--mk-text:var(--c-text,#101828);--mk-muted:var(--c-muted,#667085);--mk-border:var(--c-border,#e4e7ec);--mk-surface:var(--c-surface,#f7f8fb);--mk-radius:var(--radius,12px);color:var(--mk-text);font-family:var(--font-body,var(--font,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif))}
.mkt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mkt-hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;opacity:0}
.mkt-muted{color:var(--mk-muted)}.mkt-muted.small,.small{font-size:.85rem}
.mkt-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--mk-brand);color:#fff;border:1px solid var(--mk-brand);border-radius:calc(var(--mk-radius) - 4px);padding:.7rem 1.2rem;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.2}
.mkt-btn:hover{filter:brightness(.95)}.mkt-btn[disabled]{opacity:.6;cursor:wait}
.mkt-btn-ghost{display:inline-flex;align-items:center;padding:.7rem 1rem;color:var(--mk-muted);text-decoration:none;font-weight:600}
.mkt-crumbs{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.85rem;color:var(--mk-muted);margin-bottom:.6rem}.mkt-crumbs a{color:var(--mk-muted);text-decoration:none}
.mkt-lead{font-size:1.1rem;color:var(--mk-muted);max-width:60ch}
.mkt-form-msg{margin-top:.6rem;font-size:.95rem;min-height:1.2em}.mkt-form-msg.ok{color:#0e9f5d}.mkt-form-msg.err{color:#dc2626}
.mkt-preview-bar{background:#f59e0b;color:#1b1f24;font-weight:700;text-align:center;padding:.6rem 1rem;position:sticky;top:0;z-index:50;letter-spacing:.02em}
.mkt-badge{display:inline-block;background:#e3f7ec;color:#0e9f5d;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}

/* ---- blog list */
.mkt-blog-head{margin-bottom:1.5rem}.mkt-blog-head h1,.mkt-article-head h1{font-size:clamp(1.7rem,3.5vw,2.4rem);line-height:1.15;margin:0 0 .5rem;letter-spacing:-.02em}
.mkt-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.mkt-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:1px solid var(--mk-border);border-radius:999px;text-decoration:none;color:var(--mk-text);font-size:.9rem;font-weight:500;background:#fff}
.mkt-chip small{color:var(--mk-muted);font-weight:600}.mkt-chip.active{background:var(--mk-brand);border-color:var(--mk-brand);color:#fff}.mkt-chip.active small{color:rgba(255,255,255,.8)}
.mkt-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.mkt-post-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.mkt-post-card{display:flex;flex-direction:column;border:1px solid var(--mk-border);border-radius:var(--mk-radius);overflow:hidden;background:#fff;transition:box-shadow .15s,transform .15s}
.mkt-post-card:hover{box-shadow:0 10px 30px rgba(16,24,40,.08);transform:translateY(-2px)}
.mkt-post-card.featured{grid-column:span 2}
.mkt-post-img{display:block;aspect-ratio:16/10;background:var(--mk-surface);overflow:hidden}.mkt-post-img img{width:100%;height:100%;object-fit:cover;display:block}
.mkt-post-card.featured .mkt-post-img{aspect-ratio:21/9}
.mkt-post-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--mk-border)}.mkt-post-placeholder svg{width:56px;height:56px}
.mkt-post-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.mkt-post-meta{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.82rem;color:var(--mk-muted)}.mkt-post-meta a{color:var(--mk-brand);text-decoration:none;font-weight:600}
.mkt-post-title{font-size:1.15rem;line-height:1.3;margin:0}.mkt-post-card.featured .mkt-post-title{font-size:1.5rem}.mkt-post-title a{color:inherit;text-decoration:none}.mkt-post-title a:hover{color:var(--mk-brand)}
.mkt-post-excerpt{margin:0;color:var(--mk-muted);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mkt-post-more{margin-top:auto;font-weight:600;text-decoration:none;color:var(--mk-brand);font-size:.92rem}
.mkt-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.mkt-pagination a{padding:.55rem 1rem;border:1px solid var(--mk-border);border-radius:8px;text-decoration:none;font-weight:600}
.mkt-empty{padding:3rem 1rem;text-align:center;color:var(--mk-muted);border:1px dashed var(--mk-border);border-radius:var(--mk-radius)}

/* ---- article */
.mkt-article{max-width:1100px;margin:0 auto}
.mkt-article-head{max-width:760px;margin-bottom:1.5rem}
.mkt-article-img{margin:0 0 2rem;border-radius:var(--mk-radius);overflow:hidden;aspect-ratio:16/9;background:var(--mk-surface)}.mkt-article-img img{width:100%;height:100%;object-fit:cover;display:block}
.mkt-article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
@media(min-width:960px){.mkt-article-grid{grid-template-columns:260px minmax(0,1fr)}.mkt-article-grid .mkt-article-body{grid-column:2}.mkt-article-grid:not(:has(.mkt-toc)){grid-template-columns:minmax(0,760px)}}
.mkt-toc{align-self:start;position:sticky;top:1rem;background:var(--mk-surface);border-radius:var(--mk-radius);padding:1rem 1.1rem;font-size:.92rem}
.mkt-toc-title{font-weight:700;margin-bottom:.5rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;color:var(--mk-muted)}
.mkt-toc ol{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.mkt-toc a{color:var(--mk-text);text-decoration:none}.mkt-toc a:hover{color:var(--mk-brand)}
.mkt-article-body{font-size:1.05rem;line-height:1.7;max-width:760px}
.mkt-article-body h2{font-size:1.5rem;margin:2rem 0 .75rem;line-height:1.25;scroll-margin-top:1rem}.mkt-article-body h3{font-size:1.2rem;margin:1.5rem 0 .5rem;scroll-margin-top:1rem}.mkt-article-body h4{font-size:1.05rem;margin:1.2rem 0 .4rem}
.mkt-article-body p,.mkt-article-body ul,.mkt-article-body ol{margin:0 0 1rem}.mkt-article-body li{margin-bottom:.3rem}
.mkt-article-body img{border-radius:8px}.mkt-article-body blockquote{margin:1.2rem 0;padding:.8rem 1.2rem;border-left:4px solid var(--mk-accent);background:var(--mk-surface);border-radius:0 8px 8px 0}
.mkt-article-body table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem;display:block;overflow-x:auto}.mkt-article-body th,.mkt-article-body td{border:1px solid var(--mk-border);padding:.55rem .7rem;text-align:left;vertical-align:top}.mkt-article-body th{background:var(--mk-surface)}
.mkt-related,.mkt-similar{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--mk-border)}.mkt-related h2,.mkt-similar h2{font-size:1.4rem;margin-bottom:1rem}
.mkt-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.mkt-product{display:flex;flex-direction:column;gap:.5rem;padding:.8rem;border:1px solid var(--mk-border);border-radius:var(--mk-radius);text-decoration:none;color:inherit;background:#fff}
.mkt-product:hover{box-shadow:0 8px 24px rgba(16,24,40,.08)}.mkt-product-img{aspect-ratio:1;background:var(--mk-surface);border-radius:8px;overflow:hidden;display:grid;place-items:center}.mkt-product-img img{width:100%;height:100%;object-fit:contain}
.mkt-product-name{font-size:.92rem;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mkt-product-price{font-weight:700;color:var(--mk-brand)}

/* ---- newsletter */
.mkt-newsletter{margin:2rem 0}
.mkt-newsletter-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2rem;align-items:center;padding:2rem;border-radius:var(--mk-radius);background:linear-gradient(135deg,var(--mk-brand),color-mix(in srgb,var(--mk-brand) 70%,#000));color:#fff}
.mkt-newsletter-card .mkt-newsletter-in{background:var(--mk-surface);color:var(--mk-text);border:1px solid var(--mk-border)}
.mkt-newsletter-inline .mkt-newsletter-in{grid-template-columns:1fr;padding:1.2rem;background:var(--mk-surface);color:var(--mk-text);border:1px solid var(--mk-border)}
.mkt-newsletter-copy h2{margin:0 0 .4rem;font-size:1.5rem;line-height:1.2}.mkt-newsletter-copy p{margin:0;opacity:.9}
.mkt-newsletter-row{display:flex;gap:.6rem}.mkt-newsletter-row input{flex:1;min-width:0;padding:.75rem .9rem;border:1px solid var(--mk-border);border-radius:calc(var(--mk-radius) - 4px);font-size:16px;font-family:inherit;color:var(--mk-text)}
.mkt-newsletter .mkt-btn{white-space:nowrap}.mkt-newsletter:not(.mkt-newsletter-card):not(.mkt-newsletter-inline) .mkt-btn{background:var(--mk-accent);border-color:var(--mk-accent);color:#1b1f24}
.mkt-consent{display:flex;gap:.55rem;align-items:flex-start;margin-top:.7rem;font-size:.85rem;opacity:.95;cursor:pointer}.mkt-consent input{margin-top:.25rem;flex:none;width:1.05rem;height:1.05rem}
.mkt-newsletter a{color:inherit}

/* ---- reviews */
.mkt-reviews{margin:1.5rem 0}
.mkt-reviews-summary{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;padding:1.2rem;border:1px solid var(--mk-border);border-radius:var(--mk-radius);background:var(--mk-surface)}
.mkt-reviews-score strong{font-size:2.4rem;line-height:1;letter-spacing:-.03em}.mkt-reviews-score span{display:block;font-size:.8rem;color:var(--mk-muted)}
.mkt-stars{display:inline-flex;gap:2px;color:#d0d5dd}.mkt-stars .icon{width:1.1em;height:1.1em}.mkt-stars .icon.on{color:var(--mk-accent)}
.mkt-reviews-bars{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;min-width:220px;font-size:.82rem}
.mkt-reviews-bars li{display:grid;grid-template-columns:1ch 1fr 2.5ch;align-items:center;gap:.5rem}.mkt-reviews-bars .bar{height:8px;background:#e4e7ec;border-radius:4px;overflow:hidden}.mkt-reviews-bars .bar span{display:block;height:100%;background:var(--mk-accent)}.mkt-reviews-bars .n{text-align:right;color:var(--mk-muted)}
.mkt-reviews-summary .mkt-btn{margin-left:auto}
.mkt-review-form{margin-top:1rem;padding:1.2rem;border:1px solid var(--mk-border);border-radius:var(--mk-radius);display:grid;gap:.8rem;background:#fff}
.mkt-review-form[hidden]{display:none}.mkt-review-form label{display:grid;gap:.3rem;font-size:.9rem;font-weight:600}
.mkt-review-form input:not([type=radio]):not([type=file]),.mkt-review-form textarea{padding:.65rem .8rem;border:1px solid var(--mk-border);border-radius:8px;font:inherit;font-size:16px;width:100%}
.mkt-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.mkt-rating-input{border:0;padding:0;margin:0;display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:.15rem}.mkt-rating-input legend{font-weight:600;font-size:.9rem;margin-bottom:.3rem}
.mkt-rating-input input{position:absolute;opacity:0;width:0;height:0}.mkt-rating-input label{cursor:pointer;color:#d0d5dd;display:inline-flex}.mkt-rating-input label svg{width:2rem;height:2rem}
.mkt-rating-input label:hover,.mkt-rating-input label:hover~label,.mkt-rating-input input:checked~label{color:var(--mk-accent)}.mkt-rating-input input:focus-visible+label{outline:2px solid var(--mk-brand);border-radius:4px}
.mkt-review-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem}
.mkt-review{padding:1.1rem 1.2rem;border:1px solid var(--mk-border);border-radius:var(--mk-radius)}
.mkt-review-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem}.mkt-review-head time{color:var(--mk-muted);margin-left:auto}
.mkt-review-title{font-size:1.05rem;margin:.5rem 0 .25rem}.mkt-review-text{margin:.4rem 0;line-height:1.6}
.mkt-review-images{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}.mkt-review-images img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--mk-border)}
.mkt-review-reply{margin:.7rem 0 .3rem;padding:.7rem .9rem;background:var(--mk-surface);border-radius:8px;font-size:.95rem}
.mkt-review-helpful{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--mk-muted);margin-top:.5rem}.mkt-review-helpful button{background:none;border:1px solid var(--mk-border);border-radius:999px;padding:.2rem .7rem;cursor:pointer;font:inherit;font-size:.82rem;color:var(--mk-text)}
.mkt-order-product{margin:1.5rem 0;padding:1.2rem;border:1px solid var(--mk-border);border-radius:var(--mk-radius)}.mkt-order-product-head{display:flex;gap:1rem;align-items:center;margin-bottom:.8rem}.mkt-order-product-head img{border-radius:8px;object-fit:contain;background:var(--mk-surface)}.mkt-order-product-head h2{font-size:1.1rem;margin:0}.mkt-order-product-head a{color:inherit;text-decoration:none}

/* ---- banners */
.mkt-banners{display:grid;gap:1rem}.mkt-banners-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.mkt-banner{position:relative;display:block;border-radius:var(--mk-radius);overflow:hidden;background:var(--mk-surface);text-decoration:none;color:inherit;min-height:120px}
.mkt-banner img{width:100%;height:100%;object-fit:cover;display:block}
.mkt-banners-hero .mkt-banner{aspect-ratio:21/8}.mkt-banners-strip .mkt-banner{aspect-ratio:8/1;min-height:72px}.mkt-banners-cards .mkt-banner{aspect-ratio:4/3}
.mkt-banner-text{position:absolute;inset:auto 0 0 0;padding:1.4rem;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;display:grid;gap:.4rem;justify-items:start}
.mkt-banner-title{font-size:clamp(1.1rem,2.5vw,1.8rem);line-height:1.2}.mkt-banner-text p{margin:0;max-width:52ch;opacity:.92}
.mkt-banner:not(:has(img)) .mkt-banner-text{position:static;background:var(--mk-brand);min-height:120px;align-content:center}
.mkt-banner-empty{padding:1rem;border:1px dashed var(--mk-border);border-radius:8px;color:var(--mk-muted);text-align:center}
.mkt-latest-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.mkt-latest-head h2{margin:0}

/* ---- narrow pages */
.mkt-narrow{max-width:620px;margin:2rem auto;text-align:center}.mkt-narrow.wide{max-width:820px;text-align:left}.mkt-narrow h1{font-size:1.8rem;margin-bottom:.6rem}.mkt-narrow form{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}

/* ---- responsive */
@media(max-width:1024px){.mkt-post-grid,.mkt-post-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.mkt-products{grid-template-columns:repeat(3,minmax(0,1fr))}.mkt-banners-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.mkt-newsletter-in{grid-template-columns:1fr;gap:1.2rem;padding:1.5rem}.mkt-post-card.featured{grid-column:span 2}}
@media(max-width:640px){.mkt-post-grid,.mkt-post-grid.compact{grid-template-columns:1fr}.mkt-post-card.featured{grid-column:auto}.mkt-post-card.featured .mkt-post-img{aspect-ratio:16/10}.mkt-post-card.featured .mkt-post-title{font-size:1.2rem}
.mkt-products{grid-template-columns:repeat(2,minmax(0,1fr))}.mkt-banners-cards{grid-template-columns:1fr}.mkt-banners-hero .mkt-banner{aspect-ratio:4/3}.mkt-banners-strip .mkt-banner{aspect-ratio:auto}
.mkt-newsletter-row{flex-direction:column}.mkt-newsletter .mkt-btn{width:100%}.mkt-grid2{grid-template-columns:1fr}.mkt-reviews-summary .mkt-btn{margin-left:0;width:100%}.mkt-review-head time{margin-left:0;width:100%}
.mkt-article-body{font-size:1rem}.mkt-toc{position:static}}
@media(max-width:360px){.mkt-newsletter-in{padding:1.1rem}.mkt-reviews-summary{padding:.9rem}.mkt-review-form,.mkt-review{padding:.9rem}.mkt-rating-input label svg{width:1.7rem;height:1.7rem}}
