/* Product catalogue extends the locked Bastudden typography and palette. */
.catalog-page{--home-dark:#231e1a;background:var(--b-paper);color:var(--b-ink)}
.catalog-page .site-header{background:var(--home-dark);color:#f6eee4;border-color:#ffffff18}.catalog-page .site-header .site-logo{filter:invert(1) brightness(1.5)}.catalog-page .site-nav .nav-design{background:#e4ae78;color:#231e1a;border-radius:14px}.catalog-page .site-nav>a[aria-current=page]{color:#e4ae78}.catalog-page .site-nav>a:hover{color:var(--b-glow)}.catalog-page .site-nav .nav-design:hover{color:#231e1a;background:#f0c192}.catalog-page .menu-toggle{color:#f6eee4}.catalog-page .menu-toggle>span:not(.menu-word){background:#f6eee4}.catalog-page .site-button{border-radius:14px;min-height:48px}
/* Keep the overview focused on products, with the same brand styling. */
.catalog-page:not(.product-route) .crumbs{padding-block:16px 10px}
.catalogue-intro{padding-block:20px 24px}
.catalogue-intro>.eyebrow{font-size:.75rem;margin-bottom:10px}
.catalogue-intro h1{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.035em}
.catalogue-intro .lead{font-size:1rem;line-height:1.55;max-width:780px;margin:12px 0 0}
.catalogue-products{padding-bottom:48px}
.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:32px 24px}
.catalogue-card{display:flex;flex-direction:column;min-width:0;max-width:360px}
.catalogue-image{position:relative;display:block;aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--b-linen);margin-bottom:14px}
.catalogue-image img{width:100%;height:100%;object-fit:contain;display:block}
.catalogue-image>span{position:absolute;bottom:10px;left:10px;background:#fffdf9e6;border-radius:6px;padding:4px 7px;font-size:.75rem;color:#5f5146}
.catalogue-card>.eyebrow{font-size:.75rem;line-height:1.5;margin:0 0 6px}
.catalogue-card h2{font:1.5rem/1.2 var(--b-serif);letter-spacing:-.025em;margin:0 0 8px}
.catalogue-card h2 a{text-decoration:none}
.catalogue-card>p:not(.eyebrow){font-size:1rem;line-height:1.5;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catalogue-card-price{display:grid;gap:4px;margin-top:auto;margin-bottom:14px}
.catalogue-card-price strong{font-size:1.5rem;line-height:1.2;font-weight:500}
.catalogue-card-price span{font-size:.875rem;color:var(--b-muted)}
.catalogue-card .site-button{justify-content:space-between;min-height:46px;padding:10px 16px}
.catalogue-products>.price-note{margin-top:24px}
.catalogue-empty{padding:24px;border:1px solid var(--b-line);border-radius:12px;background:var(--b-linen)}
.catalogue-empty h2{font:1.5rem/1.2 var(--b-serif)}
.catalogue-empty p{font-size:1rem;line-height:1.6;max-width:650px;margin:14px 0 20px}
.catalogue-empty-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}

html:has(.product-route),body.product-route{overflow-x:hidden;overflow-y:auto;height:auto;min-height:100%}.product-route .site-header{position:relative}.product-preview-notice{padding-block:18px;color:#79351f;font-size:.9375rem;background:#f5e9dc;line-height:1.7}.product-preview-notice a{text-decoration:underline;margin-left:15px}
.ready-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,75px);padding-top:28px;padding-bottom:72px;align-items:start}.ready-visual{position:sticky;top:24px;min-width:0}.ready-view-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.ready-view-tabs button{padding:10px 14px;border:1px solid var(--b-line);border-radius:10px;color:var(--b-ink);background:var(--b-paper);font:400 .875rem/1.4 var(--b-sans);min-height:44px;cursor:pointer}.ready-view-tabs button[aria-pressed=true]{background:var(--b-ink);border-color:var(--b-ink);color:var(--b-paper)}.ready-photo{position:relative;aspect-ratio:3/2;margin:0;background:var(--b-linen);border-radius:16px;overflow:hidden}.ready-photo img{width:100%;height:100%;object-fit:contain;display:block}.ready-photo figcaption{position:absolute;left:16px;bottom:16px;background:#fffdf9e6;border-radius:6px;padding:6px 10px;font-size:.8125rem;color:var(--b-muted)}.ready-canvas{height:440px;position:relative;isolation:isolate;background:var(--b-linen);border:1px solid var(--b-line);border-radius:16px;overflow:hidden}.ready-canvas .engine-model,.ready-canvas .engine-drawing{position:relative;width:100%;height:100%;inset:auto}.ready-canvas .engine-model canvas{width:100%;height:100%}.ready-visual-note{font-size:.875rem;line-height:1.7;color:var(--b-muted);margin:16px 0}.ready-thumbnails{display:flex;gap:10px;margin:14px 0;overflow-x:auto;padding:3px}.ready-thumbnails button{width:90px;flex-shrink:0;aspect-ratio:3/2;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--b-linen)}.ready-thumbnails button[aria-pressed=true]{border-color:var(--b-copper)}.ready-thumbnails img{width:100%;height:100%;object-fit:contain}
.ready-copy>.eyebrow{margin-bottom:16px;color:#875233}.ready-copy h1{font:400 clamp(2.4rem,3.6vw,3.6rem)/1.08 var(--b-serif);letter-spacing:-.04em;text-wrap:balance}.ready-size{margin:20px 0;font-size:1rem;color:var(--b-muted);line-height:1.6}.ready-description{font-size:1rem;line-height:1.8;white-space:pre-line;margin:20px 0}.ready-price{display:grid;gap:8px;margin:28px 0}.ready-price strong{font-size:2.15rem;font-weight:500;line-height:1.2;letter-spacing:-.035em}.ready-price span{font-size:.875rem;color:var(--b-muted)}.ready-colors{border:1px solid var(--b-line);border-radius:14px;padding:14px 20px 20px;margin:0 0 24px;min-width:0}.ready-colors legend{font-size:1rem;padding-inline:7px}.ready-colors label{display:grid;gap:8px;margin-top:14px;font-size:.9375rem}.ready-colors select{width:100%;min-width:0;max-width:100%;background:var(--b-paper);border:1px solid #c5b5a5;border-radius:8px;padding:12px;font:400 1rem/1.5 var(--b-sans);color:var(--b-ink)}.ready-colors p,.ready-fixed{font-size:.875rem;line-height:1.7;color:var(--b-muted);margin-top:16px}.ready-fixed{margin-bottom:24px}.ready-buy{width:100%;justify-content:space-between;font-size:1rem;cursor:pointer}.ready-buy:disabled{opacity:.55;cursor:default}.ready-note{font-size:.875rem;line-height:1.75;color:var(--b-muted);margin:18px 0 34px}.ready-copy h2{font:400 1.75rem/1.25 var(--b-serif);margin:28px 0 18px}.ready-specs{margin:0}.ready-specs>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:22px;border-bottom:1px solid var(--b-line);padding:13px 0;font-size:.9375rem;line-height:1.6}.ready-specs dt{color:var(--b-muted)}.ready-specs dd{margin:0;overflow-wrap:anywhere}.ready-price-lines{margin:24px 0;border-bottom:1px solid var(--b-line);padding-bottom:20px}.ready-price-lines summary{font-size:1rem;cursor:pointer}.ready-price-lines ul{list-style:none;margin:18px 0 0;padding:0}.ready-price-lines li{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:9px 0;font-size:.875rem;line-height:1.6}.ready-price-lines li strong{font-weight:500;flex-shrink:0}.ready-delivery p{font-size:.9375rem;line-height:1.75;margin:16px 0}.ready-delivery a{display:inline-block;text-decoration:underline;margin:0 20px 24px 0;font-size:.9375rem;text-underline-offset:4px}.product-load-error{padding:20px;border:1px solid var(--b-line);font-size:1rem;line-height:1.7}.product-load-error a{text-decoration:underline}
@media(max-width:950px){.catalog-page .site-nav.is-open{background:var(--home-dark)}.catalog-page .site-nav>a{border-color:#ffffff25}.ready-layout{gap:28px}.ready-canvas{height:360px}.ready-view-tabs{gap:5px}.ready-view-tabs button{padding:9px 10px;font-size:.8125rem}}
@media(max-width:700px){.catalogue-intro{padding-block:14px 20px}.catalogue-intro .lead{margin-top:10px}.catalogue-grid{gap:28px 20px}.catalogue-empty{padding:24px}.catalogue-empty-actions{align-items:flex-start;flex-direction:column}.catalogue-products{padding-bottom:46px}.ready-layout{display:block;padding-top:15px;padding-bottom:45px}.ready-visual{position:static}.ready-canvas{height:320px}.ready-copy{padding-top:25px}.ready-copy h1{font-size:2.6rem}.ready-price strong{font-size:2rem}.ready-specs>div{gap:15px;grid-template-columns:minmax(105px,.85fr) minmax(0,1.15fr)}.ready-view-tabs button{font-size:.8125rem}.product-preview-notice{font-size:.875rem}.ready-price-lines li{flex-wrap:wrap;gap:5px}.ready-price-lines li strong{margin-left:auto}}

/* Campaigns sit beside the product price, using the existing warm palette. */
.catalogue-card-price.has-campaign,.ready-price.has-campaign{padding:20px;border:1px solid #d5b18b;border-radius:12px;background:#f7efe4}.catalogue-card-price .product-campaign-label,.ready-price .product-campaign-label{justify-self:start;background:#e8ccaa;color:#4d3524;border-radius:5px;padding:5px 9px;font-size:.8125rem;font-weight:600;letter-spacing:.01em;margin-bottom:3px}.product-previous-price{font-size:.8125rem!important;line-height:1.6}.product-campaign-end{font-size:.875rem!important;line-height:1.6;color:#6f492e!important}.product-previous-price s{white-space:nowrap}.product-previous-price>span{font-size:inherit}.purchase-campaign-note{font-size:.875rem;line-height:1.6;color:#6f492e;margin:10px 0}.ready-price-update{font-size:.875rem;line-height:1.6;color:#8a412f;margin-bottom:16px}

.catalogue-card-price.has-campaign{padding:12px 14px;gap:4px}
