/* Page-specific layer: underground drainage tank selection and request flow. */
.ep-page { --pd-section-space: clamp(54px, 6vw, 82px); }
.ep-section--compact { padding-block: clamp(48px, 5vw, 70px); }
.ep-hero__grid { grid-template-columns:minmax(300px,.88fr) minmax(400px,1.12fr) minmax(235px,.55fr); }
.ep-hero__media { min-height:360px; align-self:center; }
.ep-hero__media img { min-height:360px; object-fit:contain; background:#edf1f5; }
.ep-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ep-metrics article { display:grid; gap:8px; min-height:138px; padding:22px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.ep-metrics strong { align-self:end; color:var(--navy); font-size:clamp(22px,2.35vw,32px); line-height:1.08; }
.ep-metrics span { color:var(--muted); font-size:13px; line-height:1.45; }
.ep-media-section { display:grid; grid-template-columns:minmax(300px,.88fr) minmax(460px,1.12fr); gap:clamp(34px,6vw,80px); align-items:center; }
.ep-media-section--reverse { grid-template-columns:minmax(460px,1.12fr) minmax(300px,.88fr); }
.ep-media-section figure,.ep-sizing figure { margin:0; overflow:hidden; border-radius:14px; background:#edf1f5; }
.ep-media-section figure img,.ep-sizing figure img { display:block; width:100%; height:auto; }
.ep-media-section h2,.ep-sizing h2 { font-size:clamp(34px,4vw,52px); }
.ep-warning { margin-top:22px; padding:17px 18px; border-left:3px solid var(--yellow); border-radius:0 10px 10px 0; background:#f1f5f8; color:var(--navy); }
.ep-warning h3 { margin:0 0 8px; font-size:19px; }
.ep-warning p { margin:0; font-size:14px; line-height:1.58; }
.ep-warning p + p { margin-top:11px; }
.ep-choice-grid { display:grid; gap:16px; margin:0; padding:0; border:0; }
.ep-choice-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ep-choice-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ep-choice-card { position:relative; display:flex; flex-direction:column; min-height:248px; padding:25px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--navy); cursor:pointer; transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition),background var(--transition); }
.ep-choice-card:hover { border-color:rgba(0,99,246,.44); box-shadow:var(--shadow-soft); transform:translateY(-3px); }
.ep-choice-card:focus-within { outline:3px solid rgba(0,99,246,.2); outline-offset:3px; }
.ep-choice-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.ep-choice-card__badge { display:inline-flex; align-self:flex-start; padding:6px 9px; border-radius:7px; background:#eaf2fd; color:var(--blue); font-size:13px; font-weight:850; letter-spacing:.1em; }
.ep-choice-card h3 { margin:22px 0 10px; font-size:25px; }
.ep-choice-card p { margin:0; font-size:14px; line-height:1.58; }
.ep-choice-card small { margin-top:14px; color:var(--muted); font-size:12px; line-height:1.52; }
.ep-choice-status { display:none; align-items:center; gap:7px; margin-top:auto; padding-top:18px; color:var(--blue); font-size:13px; font-weight:800; }
.ep-choice-status b { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:var(--blue); color:#fff; font-size:12px; }
.ep-choice-card.is-selected { border-color:var(--blue); background:linear-gradient(145deg,#fff,#ecf5ff); box-shadow:0 0 0 3px rgba(0,99,246,.11); }
.ep-choice-card.is-selected .ep-choice-status { display:flex; }
.ep-choice-message { display:grid; gap:7px; margin-top:18px; padding:18px 20px; border-left:3px solid var(--yellow); border-radius:0 10px 10px 0; background:var(--navy); color:#fff; }
.ep-choice-message h3 { margin:0; color:var(--yellow); font-size:19px; }
.ep-choice-message p,.ep-choice-hint { margin:0; font-size:14px; line-height:1.55; }
.ep-choice-message p { color:rgba(255,255,255,.78); }
.ep-choice-hint { margin-top:17px; padding:14px 16px; border-left:2px solid var(--yellow); background:#f1f5f8; color:var(--navy); }
.ep-info-grid { display:grid; gap:14px; }
.ep-info-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ep-info-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:22px; }
.ep-info-grid article { padding:22px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.ep-info-grid h3 { margin:0 0 10px; font-size:20px; }
.ep-info-grid p { margin:0; font-size:14px; line-height:1.58; }
.ep-section-note { margin:18px 0 0; padding:15px 18px; border-radius:10px; background:#edf3f8; color:var(--navy); font-size:14px; }
.ep-sizing { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(440px,1.1fr); gap:clamp(34px,6vw,82px); align-items:center; }
.ep-sizing figcaption { padding:12px 15px; background:#fff; color:var(--muted); font-size:12px; line-height:1.5; }
.ep-sizing__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:24px 0; }
.ep-sizing__facts div { padding:15px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.ep-sizing__facts dt { color:var(--muted); font-size:12px; }
.ep-sizing__facts dd { margin:5px 0 0; color:var(--navy); font-size:15px; font-weight:780; }
.ep-process { display:grid; gap:0; margin:23px 0 0; padding:0; list-style:none; counter-reset:ep-process; }
.ep-process li { display:flex; gap:13px; align-items:center; padding:10px 0; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.82); font-size:14px; }
.ep-process li::before { counter-increment:ep-process; content:counter(ep-process,decimal-leading-zero); color:var(--yellow); font-size:12px; font-weight:850; }
.ep-calculation-note { margin:-2px 0 24px; color:var(--muted); }
.ep-calculation { align-items:start; }
.ep-config-summary { min-height:0; margin-top:20px; }
.ep-config-summary > p { margin:0; color:rgba(255,255,255,.7); font-size:13px; line-height:1.5; }
.ep-config-summary dl { display:grid; gap:0; margin:12px 0 0; }
.ep-config-summary dl div { display:grid; grid-template-columns:128px 1fr; gap:11px; padding:9px 0; border-top:1px solid rgba(255,255,255,.14); }
.ep-config-summary dt { color:rgba(255,255,255,.62); font-size:12px; }
.ep-config-summary dd { margin:0; color:#fff; font-size:12px; font-weight:720; overflow-wrap:anywhere; }
.ep-reset { width:100%; min-height:44px; margin-top:16px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--navy); font:inherit; font-size:14px; font-weight:750; cursor:pointer; }
.ep-reset:hover,.ep-reset:focus-visible { border-color:var(--blue); color:var(--blue); outline:0; }
.ep-calculation .pd-calculation__aside .btn { width:100%; margin-top:10px; }
.ep-request-form { align-items:start; }
.ep-form-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; grid-column:1 / -1; margin:0; padding:19px; border:1px solid var(--line); border-radius:10px; }
.ep-form-group legend { padding:0 6px; color:var(--navy); font-size:14px; font-weight:850; }
.ep-field--wide { grid-column:1 / -1; }
.ep-form-group .pd-field textarea { min-height:104px; resize:vertical; }
.ep-form-group .pd-field small { display:block; margin-top:6px; color:var(--muted); font-size:11px; line-height:1.45; }
.ep-field-note { align-self:end; margin:0; padding:13px 15px; border-radius:8px; background:#edf3f8; color:var(--navy); font-size:13px; line-height:1.45; }
.ep-help { display:flex; align-items:center; gap:9px; min-height:44px; padding:0 2px; color:var(--navy); font-size:13px; font-weight:700; cursor:pointer; }
.ep-help input { width:17px; height:17px; accent-color:var(--blue); }
.ep-form-group--files .pd-upload { grid-column:1 / -1; }
.ep-gallery > button { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; min-height:0; height:100%; padding:0; overflow:hidden; border:0; border-radius:12px; background:#dfe5ec; cursor:zoom-in; }
.ep-gallery > button:first-child { grid-row:span 2; }
.ep-gallery > button img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; }
.ep-gallery button span { display:block; padding:11px 13px; color:var(--navy); font-size:12px; font-weight:700; text-align:left; background:#fff; }
.ep-final-cta { padding:clamp(60px,8vw,108px) 0; background:var(--navy); color:#fff; }
.ep-final-cta .container { max-width:880px; text-align:center; }
.ep-final-cta h2 { margin:9px 0 14px; color:#fff; font-size:clamp(35px,4vw,56px); }
.ep-final-cta p { max-width:720px; margin:0 auto 25px; color:rgba(255,255,255,.76); }
@media (max-width:1100px) { .ep-hero__grid { grid-template-columns:minmax(290px,1fr) minmax(340px,1fr); } .ep-hero__grid .pd-quick { grid-column:1 / -1; } .ep-hero__grid .pd-quick dl { grid-template-columns:repeat(4,minmax(0,1fr)); } .ep-metrics,.ep-info-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .ep-media-section,.ep-media-section--reverse,.ep-sizing { grid-template-columns:1fr; } .ep-media-section--reverse > figure { order:-1; } .ep-choice-grid--three { grid-template-columns:1fr; } .ep-choice-card { min-height:0; } .ep-info-grid--three { grid-template-columns:1fr; } .ep-gallery > button:first-child { grid-column:1 / -1; grid-row:auto; } }
@media (max-width:700px) { .ep-hero__grid .pd-quick dl,.ep-metrics,.ep-info-grid--four,.ep-choice-grid--two,.ep-sizing__facts,.ep-form-group { grid-template-columns:1fr; } .ep-hero__media,.ep-hero__media img { min-height:0; } .ep-hero__grid .pd-quick { grid-column:auto; } .ep-media-section,.ep-sizing { gap:28px; } .ep-choice-card { padding:21px; } .ep-choice-card h3 { margin-top:18px; } .ep-config-summary dl div { grid-template-columns:1fr; gap:3px; } .ep-field-note { align-self:auto; } .ep-calculation__aside .btn,.ep-final-cta .btn { width:100%; } .ep-gallery > button:first-child { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { .ep-choice-card { transition:none; } .ep-choice-card:hover { transform:none; } }
