.solution-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-8); }
.solution-index a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-6) 0; border-bottom: 1px solid var(--border); color: var(--accent-4); font-size: var(--text-lg); font-weight: var(--font-semibold); }
.solution-index a span { color: var(--accent-alt); }
.solution-index a:hover, .solution-index a[aria-current] { color: var(--accent-alt); }
.solution-detail { padding: var(--space-14) 0 var(--space-6); scroll-margin-top: var(--space-30); }
.solution-detail[hidden] { display: none; }
.solution-detail .section-heading { margin-bottom: var(--space-7); }
.solution-product-links { max-width: 850px; margin: 0 auto; padding: 0; list-style: none; }
.solution-product-links li { border-bottom: 1px solid var(--border); }
.solution-product-links a { display: flex; justify-content: space-between; gap: var(--space-6); padding: var(--space-6) 0; color: var(--accent-4); font-weight: var(--font-semibold); }
.solution-link-action { flex-shrink: 0; font-size: var(--text-sm); color: var(--accent-alt); }
.solution-detail-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: var(--space-6); margin-top: var(--space-8); }
.solution-index a:focus-visible, .solution-product-links a:focus-visible { outline: 2px solid var(--accent-4); outline-offset: 4px; }
.contact-branches-grid .branch-card { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-6); background: var(--color-white); border: 0; border-radius: var(--radius-1); box-shadow: 0 2px 7px var(--color-navy-alpha-08); }
.contact-branches-grid .branch-card h3 { margin: 0 0 var(--space-3); font-family: var(--font-body); font-size: var(--text-base); font-weight: var(--font-semibold); line-height: var(--leading-body); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.contact-branches-grid .branch-card p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--text-secondary); }
.contact-branches-grid .branch-card .btn { flex-shrink: 0; margin: 0; }
.contact-support-grid.contact-faq-list { display: grid; grid-template-columns: 1fr; max-width: 850px; gap: var(--faq-list-gap); }
.contact-faq-list .faq-item { margin-bottom: 0; }
.contact-demo-note, .catalog-demo-note { color: var(--text-secondary); font-size: var(--text-sm); line-height: var(--leading-relaxed); }
.pdp-purchase-note { padding: var(--space-4) 0; color: var(--accent-4); font-size: var(--text-sm); line-height: var(--leading-relaxed); }
.pdp-product-data { margin-top: var(--space-6); }
.pdp-product-data .spec-list { margin: 0; }
.badge-low-stock { background: var(--color-warning-50); color: var(--color-warning-700); border: 1px solid var(--color-warning-200); }
.badge-commercial { border: 1px solid var(--accent-alt); background: var(--color-white); color: var(--accent-alt); }
.pdp-product-faq { padding: var(--space-14) 0; background: var(--color-neutral-50); }
.pdp-product-faq .section-heading { margin-bottom: var(--space-7); }
.pdp-product-faq .faq-list { max-width: 850px; margin: 0 auto; }
.pdp-editable-description { border-top: 3px solid var(--accent-alt); }
.solutions-spaces { padding-bottom: var(--space-16); }
.solution-space-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.solution-space-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--accent-3); border-radius: var(--radius-2); background: var(--color-white); box-shadow: var(--shadow-1); text-decoration: none; }
.solution-space-card img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
.solution-space-card > span { display: flex; flex-direction: column; min-height: 180px; box-sizing: border-box; padding: var(--space-4) var(--space-5) var(--space-5); color: var(--accent-4); }
.solution-space-card strong, .solution-space-card small { display: block; }
.solution-space-card strong { font-family: var(--font-heading); font-size: var(--text-xl); line-height: var(--leading-heading); }
.solution-space-card small { margin-top: var(--space-2); color: var(--text-secondary); font-size: var(--text-sm); }
.solution-space-action { flex-shrink: 0; margin-top: var(--space-5); font-family: var(--font-body); letter-spacing: var(--tracking-label); line-height: var(--leading-snug); text-transform: uppercase; }
.solution-space-card[aria-current] { outline: 4px solid var(--accent-alt); outline-offset: 4px; }
.solution-selection-shell { padding: var(--space-16) 0 var(--space-18); background: var(--color-white); border-top: 0; }
.solution-detail { padding: 0; scroll-margin-top: var(--space-30); }
.solution-environment-hero { min-height: 470px; padding: var(--space-43) 0 var(--space-21); background-image: url("../images/categories/showerdoors.png"); background-position: center; }
.solution-environment-hero .section-hero-content { max-width: 760px; }
.solution-hero-kicker { margin: 0 0 var(--space-1); color: var(--color-white); font-size: var(--text-sm) !important; font-weight: var(--font-bold); letter-spacing: .08em; text-transform: uppercase; }
.solution-environment-page .solution-selection-shell { min-height: 520px; }
.solution-selection-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
/* The environment selection reuses the catalogue card and only defines its grid fit. */
.solution-selection-grid .product-card--solution { min-width: 0; height: 100%; }
.solution-selection-grid .product-card--solution .product-media { display: block; width: 100%; overflow: hidden; background-position: center; background-size: cover; }
.solution-selection-grid .product-card--solution .product-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.solution-selection-grid .product-card--solution .product-body { min-width: 0; }
.services-grid .service-card { align-items: flex-start; min-height: 250px; }
.services-grid .service-card em { margin-top: auto; color: var(--accent-alt); font-size: var(--text-sm); font-style: normal; font-weight: var(--font-bold); }
.services-grid .service-card-support { background: var(--color-neutral-50); }
.service-pdp .pdp-gallery-main { min-height: 520px; }
.service-facts { display: grid; gap: 0; margin: var(--space-6) 0; border-top: 1px solid var(--border); }
.service-facts div { display: grid; grid-template-columns: 120px 1fr; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.service-facts dt { color: var(--text-secondary); }
.service-facts dd { margin: 0; color: var(--accent-4); font-weight: var(--font-semibold); }
.service-pdp-information { display: grid; gap: var(--space-3); padding-block: var(--space-8) var(--space-12); border-top: 1px solid var(--border); }
.service-pdp-information h2 { margin: 0; color: var(--accent-4); font-family: var(--font-heading); font-size: var(--text-3xl); line-height: var(--leading-heading); }
.service-pdp-information p { max-width: 72ch; margin: 0; color: var(--text-primary); font-size: var(--text-base); line-height: var(--leading-body); }
.contact-shop-email { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-7); padding: var(--space-5); background: var(--color-white); border: 1px solid var(--border); border-radius: var(--radius-1); color: var(--accent-4); }
.contact-shop-email .material-symbols-outlined { color: var(--accent-alt); font-size: var(--text-3xl); }
.contact-shop-email small, .contact-shop-email strong { display: block; }
.contact-shop-email small { color: var(--text-secondary); }
.contact-shop-email strong { margin-top: var(--space-1); }
.archive-empty-state[hidden], [data-product-card][hidden] { display: none !important; }
@media (max-width: 800px) {
 .service-pdp .pdp-gallery-main { min-height: 0; }
 .solution-space-grid, .solution-selection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .solution-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-6); }
 .contact-branches-grid .branch-card { padding: var(--space-5); gap: var(--space-4); }
 .contact-branches-grid .branch-card h3 { font-size: var(--text-sm); }
}
@media (max-width: 520px) {
 .solution-space-grid, .solution-selection-grid { grid-template-columns: minmax(0, 1fr); }
 .solution-index { grid-template-columns: minmax(0, 1fr); }
 .solution-index a { padding: var(--space-5) 0; font-size: var(--text-base); }
 .solution-product-links a { gap: var(--space-3); font-size: var(--text-sm); }
 .solution-link-action { font-size: var(--text-xs); }
 .contact-branches-grid .branch-card { flex-direction: column; align-items: flex-start; }
 .contact-branches-grid .branch-card .btn { align-self: flex-start; }
 .solution-environment-hero { min-height: 390px; padding: var(--space-46) 0 var(--space-14); }
}
