/* Shared public-page polish. Do not apply to authenticated workspaces. */
body:has(.ve-header) { --accent-readable:#ae2435; }
.ve-header ~ main a:not([class]), .ve-header ~ section a:not([class]) { color:var(--accent-readable); text-underline-offset:3px; }
.ve-header ~ main :is(.text-primary,.text-danger) { color:var(--accent-readable)!important; }
.ve-header ~ main .container, .ve-header ~ main.container { max-width:1180px; }
.ve-header ~ main :is(input:not([type=checkbox]):not([type=radio]),select,button), .ve-header summary { min-height:44px; }
.ve-header ~ main h1 { text-wrap:balance; }
.ve-header ~ main .reveal { opacity:1!important; transform:none!important; }
.ve-header ~ main :is(.cardx,.post-card,.vendor-result) { border-radius:18px; box-shadow:0 6px 24px #14202b06; }
.ve-header ~ main .cardx a { color:#171717; }
.ve-header ~ main .cardx a:hover { color:var(--accent-readable); text-decoration:underline; }
.ve-header ~ main .hero { padding-block:48px 32px; }
.ve-header ~ main .hero h1 { font-size:clamp(2rem,3.6vw,3rem); max-width:900px; }
.ve-header ~ main .post-card-link { min-width:0; }
.ve-header ~ main .post-card { transition:border-color .15s; }
.ve-header ~ main .post-card:hover { transform:none; }
.public-footer { background:#f6f5f3; }
.ve-consent .ve-banner .ve-banner-inner { padding:18px 44px 18px 20px; gap:12px; }
@media(max-width:600px){
  .ve-consent .ve-banner .ve-banner-inner { padding:14px; gap:10px; }
  .ve-consent .ve-banner .ve-banner-title { padding-right:32px; }
  .ve-consent .ve-banner .ve-banner-desc { font-size:.8rem; line-height:1.45; }
  .ve-consent .ve-banner .ve-banner-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .ve-consent .ve-banner .ve-banner-actions .ve-btn { padding:8px; white-space:normal; font-size:.8rem; }
  .ve-consent .ve-banner .ve-banner-actions .ve-btn-text { grid-column:1/-1; }
}
.ve-library-search { padding:20px; margin:0 0 28px; border:1px solid #d9e2ec; border-radius:16px; background:#f6f5f3; }
.ve-library-search label { display:block; font-weight:700; margin-bottom:8px; }
.ve-library-search input { width:100%; border:1px solid #b6bec8; border-radius:10px; padding:12px; }
.ve-library-search select { margin-top:8px; border:1px solid #b6bec8; border-radius:10px; padding:10px; background:white; }
.ve-library-search p { margin:10px 0 0; color:#565b63; font-size:.88rem; }
[data-library-item][hidden] { display:none!important; }
.pt-catalog-layout > *, .pt-filter-panel, .pt-filter-panel nav, .pt-category-list, .pt-category-list a { min-width:0; max-width:100%; }
.pt-category-list a span { min-width:0; overflow-wrap:anywhere; }
.pt-category-list a strong { flex-shrink:0; }
.pt-card h3, .pt-card p { overflow-wrap:anywhere; }
.pt-grid, .pt-card { min-width:0; max-width:100%; }
@media(max-width:620px){.pt-grid{grid-template-columns:minmax(0,1fr)}}
.pt-filter-panel>nav:first-of-type { max-width:100%; }
.ve-preview-section { padding:56px 24px; max-width:1180px; margin:auto; }
.ve-preview-section>h2 { font-size:clamp(1.7rem,3vw,2.5rem); }
.ve-preview-section>p { max-width:750px; color:#565b63; }
.ve-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.ve-preview { margin:0; min-width:0; border:1px solid #d9e2ec; border-radius:18px; overflow:hidden; background:white; box-shadow:0 12px 32px #14202b09; }
.ve-preview-bar { display:flex; justify-content:space-between; gap:12px; padding:15px 20px; background:#16191d; color:white; font-size:.8rem; }
.ve-preview-bar span { color:#e4c0c5; }
.ve-preview-body { padding:20px; }
.ve-preview-body h3 { font-size:1.12rem!important; margin:0 0 16px!important; }
.ve-preview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
.ve-preview-stats div { background:#f5f6f7; padding:12px; border-radius:10px; font-size:.72rem; color:#555; }
.ve-preview-stats strong { display:block; font-size:1.3rem; color:#171717; }
.ve-preview table { width:100%; font-size:.76rem; border-collapse:collapse; }
.ve-preview td,.ve-preview th { padding:10px 5px; border-bottom:1px solid #eee; text-align:left; }
.ve-preview th { color:#60656d; font-weight:600; }
.ve-preview figcaption { padding:14px 20px; background:#f8f7f6; font-size:.8rem; color:#535961; }
.ve-preview-note { border-left:3px solid #be2e40; padding:10px; margin:16px 0 0; font-size:.8rem; background:#fff4f5; }
.ve-preview-progress { width:100%; height:8px; background:#eee; border-radius:8px; margin:12px 0; }
.ve-preview-progress span { display:block; height:100%; width:75%; background:#0f766e; border-radius:8px; }
@media(max-width:820px){.pt-catalog-layout{grid-template-columns:minmax(0,1fr)}.ve-preview-grid{grid-template-columns:1fr}}
@media(max-width:600px){.ve-preview-section{padding:36px 20px}.ve-preview-body{padding:16px}.ve-preview-bar{flex-wrap:wrap}.ve-preview-stats div{padding:8px}.ve-preview-stats strong{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.ve-preview,.post-card{transition:none!important}}
.ve-product-screen { margin:32px 0; border:1px solid #e1e5eb; border-radius:16px; overflow:hidden; background:#f5f6f8; box-shadow:0 16px 42px rgba(20,20,20,.07); }
.ve-product-screen-link { display:block; }
.ve-product-screen img { display:block; width:100%; height:auto; }
.ve-product-screen figcaption { display:flex; flex-wrap:wrap; gap:8px 20px; padding:20px 24px; background:#fff; color:#535961; font-size:.9rem; }
.ve-product-screen figcaption strong { color:#17191c; flex-basis:100%; }
.ve-product-screen figcaption span { flex:1 1 300px; }
.ve-product-screen a:focus-visible { outline:3px solid #b72e40; outline-offset:-4px; }
#module-previews { scroll-margin-top:110px; }
@media(max-width:600px){.ve-product-screen{margin:24px 0;border-radius:10px}.ve-product-screen figcaption{padding:16px}}
