/* PASS 3G: paving + patio traffic cluster */
.paving-hero-visual,.build-up-visual,.guide-hero-visual{background:linear-gradient(145deg,#edf0e5,#f5efe4);border:1px solid #d5d9cc;border-radius:26px;padding:16px;box-shadow:var(--shadow-sm)}
.paving-hero-visual svg,.build-up-visual svg,.guide-hero-visual svg{width:100%;height:auto;display:block}.paving-hero-visual text,.build-up-visual text,.guide-hero-visual text,.visual-card text{font-family:Inter,ui-sans-serif,system-ui,sans-serif;fill:#17392e;font-weight:850}.patio-bg{fill:#ded8c7;stroke:#8b806e;stroke-width:2}.slab-grid rect,.mini-grid path,.single-slab{fill:#f4f0e7;stroke:#756c5f;stroke-width:2}.cut-slab,.cut-fill{fill:#d99362!important;stroke:#8c5b3d!important;stroke-width:2}.small-label{font-size:13px}.paving-tool select,.paving-tool input{width:100%;padding:12px 13px;border:1.5px solid #aebfb4;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.paving-tool .input-shell input{border:0;border-radius:0}.paving-tool .material-grid{align-items:start}.paving-result .result-cards{grid-template-columns:repeat(3,1fr)}.slab-outline{fill:#f3eee4;stroke:#756c5f;stroke-width:2}.slab-outline rect{fill:#f3eee4}.build-up-visual text{font-size:17px}.paving-layer{fill:#ddd6c5;stroke:#756c5f;stroke-width:2}.bedding-layer{fill:#d0b88c;stroke:#8d7448;stroke-width:2}.subbase-layer{fill:#a99b83;stroke:#6f6351;stroke-width:2}.ground-layer{fill:#b98562;stroke:#78553e;stroke-width:2}.patio-result-groups{display:grid;gap:15px}.patio-result-groups section{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:15px}.patio-result-groups h4{color:#fff;margin:0 0 10px;font-size:1.05rem}.build-sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.build-sequence>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.build-sequence span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#17392e;color:#fff;font-weight:900;margin-bottom:8px}.build-sequence strong{color:var(--forest);display:block}.build-sequence p{font-size:.86rem;margin:4px 0 0}.limitations-grid,.waste-context,.pattern-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.limitations-grid>div,.waste-context>div,.pattern-cards>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.limitations-grid strong,.waste-context strong,.pattern-cards strong{display:block;color:var(--forest)}.limitations-grid span,.waste-context span{display:block;color:var(--muted);font-size:.89rem;margin-top:4px}.waste-context{grid-template-columns:repeat(3,1fr)}.pattern-cards svg{width:100%;height:auto;display:block;margin-bottom:8px}.pattern-cards p{font-size:.9rem;margin:5px 0 0}.paving-guide-hero .guide-hero-visual{margin-top:24px}.guide-hero-visual .mini-grid path{fill:#f5f0e7;stroke:#746c5f;stroke-width:2}
@media(max-width:900px){.build-sequence{grid-template-columns:repeat(2,1fr)}.waste-context{grid-template-columns:1fr}.paving-result .result-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.build-sequence,.limitations-grid,.pattern-cards{grid-template-columns:1fr}.paving-result .result-cards{grid-template-columns:1fr}.paving-hero-visual,.build-up-visual,.guide-hero-visual{padding:10px;border-radius:20px}}
/* Conditional controls must remain hidden even when generic field/grid rules set display. */
.paving-tool [hidden]{display:none!important}
