/* Site typography, colors, cards, hero and accordions come from site.css. */
.hardware-hero .hero-image { object-position:center 12%; }
.hardware-hero .hero-caption { background:linear-gradient(90deg,rgba(15,24,31,.94),rgba(15,24,31,.74) 32%,rgba(15,24,31,.12) 72%); }
.hardware-hero .hero-image-note { position:absolute; top:14px; right:16px; padding:4px 8px; border-radius:3px; background:rgba(22,29,37,.85); color:white; font-size:11px; line-height:1.4; }
.hardware-categories { display:flex; flex-wrap:wrap; gap:20px 36px; padding-top:25px; border-top:1px solid #e1e6ed; }
.hardware-categories a { display:flex; align-items:center; gap:9px; min-height:40px; }
.hardware-family { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:32px; align-items:start; }
.hardware-family>div { min-width:0; }
.hardware-figure { margin:0; min-width:0; }
.hardware-figure img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; border-radius:6px; }
.hardware-figure figcaption { font-size:11px; color:#697583; margin:10px 0 0; line-height:1.5; }
.hardware-door-options { display:flex; margin:0 0 26px; gap:0; width:100%; border:0; padding:0; }
.hardware-door-options .btn { flex:1; font-size:13px; border-radius:0; min-height:44px; padding:9px 7px; }
.hardware-door-options label:first-of-type { border-radius:5px 0 0 5px; }
.hardware-door-options label:last-of-type { border-radius:0 5px 5px 0; }
.hardware-door-options label+input+label { border-left:0; }
.hardware-door-detail { min-height:285px; display:grid; }
.hardware-door-detail>div { grid-area:1/1; min-width:0; }
.hardware-door-size { visibility:hidden; pointer-events:none; }
.hardware-door-detail ul { padding-left:19px; color:#53606e; font-size:14px; line-height:1.9; margin-bottom:22px; }
.hardware-enquire { display:inline-flex; align-items:center; gap:8px; min-height:35px; }
.hardware-brochure { margin-top:22px; }
.hardware-brochure a { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; }
.hardware-brochure p { font-size:12px; color:#697583; line-height:1.6; margin:10px 0 0; }
.hardware-product { margin-bottom:20px; scroll-margin-top:22px; }
.hardware-product:last-child { margin-bottom:0; }
.hardware-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.hardware-product-grid .hardware-product { margin:0; }
.hardware-product-grid .card-body { display:flex; flex-direction:column; align-items:flex-start; }
.hardware-product-grid .hardware-enquire { margin-top:auto; }
.hardware-water-section { background:#edf5f6; border-block:1px solid #d7e7e9; }
.hardware-water-section .card-header { background:#e4f0f1; }
.hardware-operations-section .card-header { background:#eff2f7; }
.hardware-product .card-header h3 { font-size:16px; line-height:1.35; margin:0; }
.hardware-product .hardware-use { font-size:12px; color:#697583; }
#signs .hardware-product .card-header { background:#edf6f1; }
.hardware-display-preview { display:block; overflow:hidden; border:1px solid #d4dbe4; border-radius:4px; background:#fff; }
.hardware-questions { min-height:0; }
.hardware-contact-action { align-self:center; max-width:540px; }
.hardware-contact-action p { font-size:17px; line-height:1.6; margin-bottom:25px; }
.hardware-state { padding:38px 0; min-height:120px; }
.hardware-state p { color:#61707e; }
[hidden] { display:none!important; }
@media(min-width:992px) { .hardware-family .hardware-figure { position:sticky; top:24px; } }
@media(max-width:991px) { .hardware-family { grid-template-columns:1fr; gap:26px; } .hardware-door-detail { min-height:260px; } }
@media(max-width:991px) { .hardware-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .hardware-product-grid { grid-template-columns:1fr; gap:18px; } }
@media(max-width:767px) { .hardware-categories { display:grid; gap:12px; padding-top:20px; } .hardware-door-options .btn { font-size:12px; } .hardware-door-detail { min-height:340px; } }
@media(max-width:359px) { .hardware-door-detail { min-height:380px; } }

@media(max-width:767px) { .hardware-hero .hero-caption { background:rgba(15,24,31,.94); } }
