.epc-front{--epc-ink:#182431;--epc-yellow:#ffcf43;color:var(--epc-ink);font-family:inherit;margin:20px 0 50px}.epc-front *{box-sizing:border-box}.epc-front [hidden]{display:none!important}.epc-front :is(h1,h2){font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.03em;margin:12px 0 20px}.epc-front h3{font-size:24px;line-height:1.2;margin:0 0 16px}.epc-front p{font-size:15px;line-height:1.65}.epc-front .epc-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#6a7581}.epc-front .epc-lead{font-size:18px;max-width:680px;color:#55616d;margin-bottom:30px}.epc-cards,.epc-calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.epc-form-card,.epc-booking{padding:30px;border:1px solid #dee3e7;border-radius:14px;background:#fff}.epc-badge{font-size:10px;letter-spacing:1.5px;font-weight:700;background:#fff3cd;align-self:flex-start;padding:7px 10px;border-radius:4px;margin-bottom:24px}.epc-price{font-size:36px;font-weight:700;margin:20px 0}.epc-price small{display:block;font-size:12px;font-weight:400;margin-top:7px;color:#64707b}.epc-front .epc-button{appearance:none;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--epc-yellow);color:#17232f!important;padding:15px 20px;border:0;border-radius:7px;text-decoration:none!important;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer;max-width:100%}.epc-front .epc-button:hover{background:#f5c02b}.epc-front button:disabled{cursor:wait;opacity:.65}.epc-front label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}.epc-front input,.epc-front select,.epc-front textarea{font-family:inherit;width:100%;font-size:16px;padding:12px 14px;border:1px solid #b4c0ca;border-radius:6px;background:#fff;color:#182431;line-height:1.4}.epc-front input:focus-visible,.epc-front button:focus-visible,.epc-front a:focus-visible,.epc-front select:focus-visible,.epc-front textarea:focus-visible{outline:3px solid #2c72b8;outline-offset:3px}.epc-front .epc-note{font-size:12px;color:#5f6b76;line-height:1.6}.epc-front .epc-google-credit{font-size:11px;text-align:right;color:#616c76;margin:8px 0 20px}.epc-calculator-grid{grid-template-columns:minmax(0,1fr);align-items:start}.epc-suggestions{border:1px solid #bcc6cf;border-radius:6px;overflow:hidden;margin-top:6px}.epc-suggestions button{display:block;width:100%;padding:12px;border:0;border-bottom:1px solid #e5e8eb;text-align:left;background:#fff;color:#182431;font-size:14px;line-height:1.5;cursor:pointer}.epc-suggestions button:hover,.epc-suggestions button[aria-selected=true]{background:#fff3cd}.epc-front dl{margin:18px 0}.epc-front dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #dde2e7;font-size:14px;line-height:1.5}.epc-front dt{font-weight:400}.epc-front dd{margin:0;font-weight:700;text-align:right;flex-shrink:0}.epc-front .epc-total{font-size:16px;font-weight:700;background:#fff3cd;padding:15px;margin:0 -10px;border-radius:5px}.epc-result{border-top:1px solid #dce2e6;margin-top:24px;padding-top:24px}.epc-front .epc-status{font-size:14px;color:#394c5e;margin:18px 0 0}.epc-front .epc-phone{color:#182431;font-size:22px;font-weight:700}.epc-booking{margin-top:26px}.epc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.epc-front .epc-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;margin:20px 0}.epc-check input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0}.epc-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.epc-front .epc-urgent{display:inline-flex;margin-top:24px}@media(max-width:720px){.epc-cards,.epc-calculator-grid,.epc-form-grid{grid-template-columns:1fr}.epc-form-card,.epc-booking{padding:22px}.epc-front .epc-total{font-size:14px}.epc-front dl>div{gap:12px}.epc-front dd{flex-shrink:1}.epc-front h3{font-size:21px}}

.epc-front .epc-google-name{font-family:Arial,sans-serif;font-size:12px;font-weight:400;font-style:normal;color:#5e5e5e;white-space:nowrap;letter-spacing:normal}

/* Native service-card classes also let the theme animate each complete tile.
   Low-specificity defaults keep the plugin usable with other themes. */
.epc-front .epc-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
:where(.epc-front) .epc-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:0 34px 34px;border:1px solid #dfe3db;border-radius:14px;background:#fff;overflow:hidden;grid-column:auto}
:where(.epc-front .epc-card) .epw-service-photo{display:block;position:relative;width:calc(100% + 68px);height:112px;flex-shrink:0;margin:0 -34px 20px;overflow:hidden}
:where(.epc-front .epc-card .epw-service-photo) img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;border:0;border-radius:0;margin:0}
.epc-front .epc-card .epc-badge{background:transparent;padding:0;margin:0 0 10px;color:var(--muted,#66716c);text-transform:uppercase;font-size:10px;line-height:1.5;letter-spacing:1.4px}
:where(.epc-front) .epc-card h3{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin:0 0 22px;overflow-wrap:anywhere}
:where(.epc-front) .epc-card .card-link{margin:auto 0 0;padding-top:20px;border-top:1px solid #dfe3db}
:where(.epc-front) .epc-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:7px 8px 7px 13px;border:1px solid #e8e7dc;border-radius:12px;background:#f6f5ee;color:#17201f;text-decoration:none;font-size:13px;font-weight:700;line-height:1.4}
:where(.epc-front) .epc-card-link:hover{background:#f5eed2;border-color:#dac36b}
:where(.epc-front .epc-card-link) svg{width:28px;height:28px;flex-shrink:0;padding:5px;border-radius:50%;background:var(--gold,#ffcf43)}
/* Keep the theme's grid breakpoints and saved compact/classic phone layout. */
@media(max-width:780px){.epc-front .epc-cards{grid-template-columns:1fr;gap:14px}:where(.epc-front) .epc-card{padding:0 26px 26px}:where(.epc-front .epc-card) .epw-service-photo{width:calc(100% + 52px);margin-inline:-26px}}
@media(max-width:650px){.epw-services-compact .epc-front .epc-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.epw-services-compact .epc-front .epc-card .epc-badge{font-size:8px;letter-spacing:.6px;margin-bottom:7px}}

/* Keep native date/time controls inside their grid cells, including Safari. */
.epc-front .epc-form-grid>label{min-width:0}
.epc-front .epc-form-grid input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:50px;min-height:50px;max-height:50px;margin-top:8px;padding:12px 14px;appearance:none;-webkit-appearance:none;font-size:16px;line-height:24px;background:#fff;color:#182431;color-scheme:light}
.epc-front .epc-form-grid input::-webkit-date-and-time-value{min-height:24px;line-height:24px;text-align:left}
.epc-front .epc-form-grid input::-webkit-datetime-edit{min-width:0;padding:0}
.epc-front .epc-form-grid input::-webkit-calendar-picker-indicator{flex-shrink:0;margin:0;padding:0}
.epc-front .epc-form-grid input.epc-filled{background:#fff3cd}
.epc-front .epc-form-grid input:autofill{box-shadow:0 0 0 1000px #fff3cd inset;color:#182431}
.epc-front .epc-form-grid input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff3cd inset;-webkit-text-fill-color:#182431}

.epc-front .epc-address-hint{display:block;margin-top:6px;font-weight:600;color:var(--epc-ink)}

.epc-front .epc-address-fields input.epc-filled,.epc-front .epc-minutes.epc-filled{background:#fff3cd}
.epc-front .epc-address:autofill{box-shadow:0 0 0 1000px #fff3cd inset;color:#182431}
.epc-front .epc-address:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff3cd inset;-webkit-text-fill-color:#182431}
.epc-front .epc-hourly-rates{margin:14px 0 24px;padding:0 16px;border:1px solid #dee3e7;border-radius:8px;background:#fafbf9}
.epc-front .epc-hourly-rates>div{padding:11px 0}
.epc-front .epc-hourly-rates>div:last-child{border-bottom:0}
.epc-front .epc-hourly-rates dd{white-space:nowrap}
.epc-front .epc-address,.epc-front .epc-minutes{min-width:0;max-width:100%}

.epc-front p:empty:not([role=status]),.epc-front :is(h1,h2):empty,.epc-front .epc-address-hint:empty{display:none}
.epc-front .epc-choice-group{padding:0;border:0;margin:18px 0;min-width:0}.epc-front .epc-choice-group legend{font-size:14px;font-weight:600;margin:0 0 10px;padding:0}
.epc-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.epc-front .epc-choice{position:relative;margin:0;min-width:0}
.epc-front .epc-choice input{position:absolute;opacity:0;width:1px;height:1px;padding:0;min-height:0;left:50%;top:50%}
.epc-choice>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;padding:12px 6px;border:1px solid #d5dbdc;border-radius:7px;text-align:center;background:#f8f9f6;cursor:pointer}
.epc-choice b{font-size:13px;line-height:1.3}.epc-choice small{font-size:11px;line-height:1.3;font-weight:400;white-space:nowrap}.epc-choice input:checked+span{background:#ffcf43;border-color:#cba535;box-shadow:inset 0 0 0 1px #cba535}.epc-choice input:focus-visible+span{outline:3px solid #2c72b8;outline-offset:3px}
.epc-front .epc-form-grid>div{min-width:0}.epc-date-field{position:relative}.epc-front .epc-date-trigger,.epc-front .epc-form-grid select{box-sizing:border-box;min-width:0;width:100%;height:50px;min-height:50px;max-height:50px;padding:12px 14px;border:1px solid #b4c0ca;border-radius:6px;background:#fff;color:#182431;line-height:24px;font-size:16px;font-family:inherit}
.epc-front .epc-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.epc-front .epc-form-grid select{display:block;margin-top:8px}.epc-front .epc-date-trigger.epc-filled,.epc-front .epc-form-grid select.epc-filled{background:#fff3cd}
.epc-calendar{position:absolute;top:100%;left:0;z-index:40;width:320px;max-width:100%;background:#fff;border:1px solid #b4c0ca;border-radius:10px;box-shadow:0 12px 30px #18243125;padding:12px;margin-top:5px}
.epc-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:10px}.epc-calendar-header strong{font-size:13px;text-align:center}.epc-front .epc-calendar button{border:0;background:transparent;color:#182431;cursor:pointer;border-radius:5px;font:inherit;padding:6px;min-width:0}
.epc-front .epc-calendar-header button{font-size:20px;line-height:1}.epc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.epc-calendar-weekday{font-size:10px;text-align:center;line-height:26px;color:#65717a}.epc-front .epc-calendar-grid button{font-size:12px;padding:7px 0}.epc-front .epc-calendar button:disabled{opacity:.3;cursor:default}.epc-front .epc-calendar button:not(:disabled):hover,.epc-front .epc-calendar button[aria-pressed=true]{background:#ffcf43}.epc-front .epc-calendar .epc-calendar-close{width:100%;font-size:12px;border-top:1px solid #eee;margin-top:8px}
@media(max-width:420px){.epc-choice-row{gap:5px}.epc-choice b{font-size:11px}.epc-choice small{font-size:10px}.epc-choice>span{padding:10px 3px}}
.epc-choice>span{height:100%}
@media(max-width:360px){.epc-choice b{font-size:10px;letter-spacing:-.2px}.epc-choice small{font-size:9px}}
@media(max-width:360px){.epc-choice-group:last-of-type .epc-choice-row{grid-template-columns:1fr}.epc-choice-group:last-of-type .epc-choice>span{flex-direction:row;justify-content:space-between;min-height:48px;padding:10px 12px}.epc-choice-group:last-of-type .epc-choice b{font-size:13px;letter-spacing:normal}.epc-choice-group:last-of-type .epc-choice small{font-size:11px}}

/* The estimated duration matches the address field, including native mobile selects. */
.epc-front .epc-quote-form .epc-address,.epc-front .epc-quote-form .epc-minutes{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:54px;min-height:54px;max-height:54px;margin-inline:0;padding:12px 14px;font-size:16px;line-height:24px}
.epc-front .epc-booking-jump{width:fit-content;max-width:100%;margin-top:20px;text-align:left}
/* Quantity-based services share the existing address picker and travel result. */
.epc-breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:13px;margin-bottom:28px;color:#646a70;line-height:1.6}.epc-breadcrumbs a{color:inherit;text-underline-offset:3px}.epc-camera-section{margin:30px 0}.epc-camera-section h3{margin-bottom:8px}.epc-camera-rows{display:grid;gap:12px}.epc-camera-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 44px;align-items:end;gap:12px;padding:16px;border:1px solid #dce0e2;border-radius:12px;background:#fff}.epc-camera-row label{display:grid;gap:8px;margin:0;min-width:0;font-size:14px}.epc-front .epc-camera-row select{display:block;margin:0;min-width:0;max-width:100%;width:100%;height:50px;min-height:50px;max-height:50px;box-sizing:border-box;padding:12px 34px 12px 14px;font-size:16px;line-height:24px;color-scheme:light;appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23182431' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.epc-front .epc-camera-row select.epc-filled{background-color:#fff3cd}.epc-front .epc-camera-row .epc-remove-camera{display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;height:50px;min-height:50px;padding:0;border:0;border-radius:7px;color:#17232f;background:var(--epc-yellow);font-size:24px;line-height:1;cursor:pointer}.epc-front .epc-camera-row .epc-remove-camera:hover{background:#f5c02b}.epc-camera-help{grid-column:1/-1;margin:0!important}.epc-camera-help:empty{display:none}.epc-front .epc-add-camera{margin-top:14px;min-height:48px;justify-content:center;text-align:center;white-space:normal}.epc-extras{margin:28px 0;border:1px solid #dce0e2;border-radius:12px;overflow:hidden}.epc-extras-heading{display:flex;gap:12px;align-items:center;padding:20px}.epc-front .epc-extras-heading h3{font-size:21px;margin:0}.epc-extras-count{margin-left:auto;color:#626970;font-size:12px;font-weight:400}.epc-extra-options{display:grid;padding:0 20px 8px}.epc-front .epc-extra-choice{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0;margin:0;border-top:1px solid #e4e5e4}.epc-extra-text{min-width:0}.epc-extra-choice strong{display:block;font-size:15px;line-height:1.5}.epc-extra-choice small{display:block;font-size:12px;font-weight:400;color:#60676c;margin-top:5px;line-height:1.5}.epc-extra-choice .epc-extra-basis{color:#182431;font-weight:600}.epc-yes-no{display:flex;gap:6px;flex-shrink:0}.epc-front .epc-toggle-option{position:relative;margin:0;cursor:pointer}.epc-front .epc-toggle-option input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.epc-toggle-option>span{display:flex;align-items:center;justify-content:center;min-width:60px;min-height:44px;padding:9px 14px;background:#fff;border:1px solid #bec8cf;border-radius:7px;color:#394550;font-size:14px;font-weight:600;line-height:1.5}.epc-toggle-option input:checked+span{background:#fff3cd;border-color:#b38b20;color:#17232f}.epc-toggle-option input[value="0"]:checked+span{background:#edf0f2;border-color:#71808c}.epc-toggle-option:hover>span{border-color:#71808c}.epc-toggle-option input:focus-visible+span{outline:3px solid #2c72b8;outline-offset:3px}.epc-front .epc-extra-quantity input{max-width:100px;margin:0 0 0 auto}
.epc-individual-note{padding:16px;background:#fff2cc;border-radius:8px;font-weight:600;line-height:1.6}.epc-mount-call{margin-top:16px}.epc-add-camera:focus-visible,.epc-remove-camera:focus-visible{outline:3px solid #b18415;outline-offset:3px}@media(max-width:600px){.epc-camera-row{grid-template-columns:minmax(0,1fr) 44px;padding:12px;gap:10px}.epc-camera-row label:first-child{grid-column:1/-1}.epc-camera-row label:nth-child(2){grid-column:1}.epc-camera-row .epc-remove-camera{grid-column:2}.epc-extra-options{padding:0 14px 12px}.epc-extras-heading{padding:18px 14px}.epc-camera-row input,.epc-camera-row select{font-size:16px}.epc-extras-count{font-size:11px}.epc-front .epc-extra-choice{gap:12px;flex-wrap:wrap}.epc-extra-text{flex:1 1 150px}.epc-yes-no{margin-left:auto}.epc-front .epc-add-camera{width:100%}}

/* Optional styles saved on this page's calculator block only. */
.epc-custom .epc-front,.epc-front.epc-custom{font-family:var(--epc-font,inherit)}
.epc-custom .epc-front :is(h1,h2),.epc-front.epc-custom :is(h1,h2){font-size:var(--epc-heading-size,clamp(28px,4vw,44px));overflow-wrap:anywhere}
.epc-custom .epc-front p,.epc-front.epc-custom p{font-size:var(--epc-text-size,15px)}
.epc-custom .epc-front .epc-lead,.epc-front.epc-custom .epc-lead{font-size:var(--epc-text-size,18px)}
.epc-custom .epc-front .epc-note,.epc-front.epc-custom .epc-note{font-size:var(--epc-text-size,12px)}
.epc-custom .epc-front .epc-eyebrow,.epc-front.epc-custom .epc-eyebrow{font-size:11px}
.epc-custom .epc-front button,.epc-front.epc-custom button{font-family:var(--epc-font,inherit)}
@media(max-width:600px){.epc-custom .epc-front :is(h1,h2),.epc-front.epc-custom :is(h1,h2){font-size:min(var(--epc-heading-size,32px),40px)}}

/* New cabling: the address, building choice, area and camera count fit one card. */

.epc-front .epc-building-types{border:0;padding:0;margin:28px 0 22px;min-width:0}
.epc-front .epc-building-types legend{font-size:16px;font-weight:600;margin:0 0 12px;padding:0}
.epc-building-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.epc-front .epc-building-option{position:relative;margin:0;min-width:0;cursor:pointer}
.epc-building-option input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;clip-path:inset(50%);overflow:hidden}
.epc-building-option>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:98px;border:1px solid #b4c0ca;border-radius:10px;background:#fff;padding:14px 8px;text-align:center}
.epc-building-option strong{font-size:15px;overflow-wrap:anywhere}
.epc-building-option input:checked+span{background:#fff3cd;border-color:#b38b20;box-shadow:0 0 0 1px #b38b20}
.epc-building-option input:focus-visible+span{outline:3px solid #2c72b8;outline-offset:3px}
.epc-area-control{position:relative;max-width:360px}
.epc-front .epc-area-control input{padding-right:52px;height:50px;margin:0}
.epc-area-control>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:14px;color:#5f6b76;pointer-events:none}
.epc-front .epc-cabling-cameras{display:block;height:50px;max-width:360px;margin:0 0 18px;font-size:16px;color-scheme:light}
.epc-front .epc-cabling-cameras.epc-filled{background:#fff3cd}
.epc-building-individual{padding:22px;border-radius:10px;background:#fff3cd;margin-top:22px}
.epc-building-individual h3{margin-top:0}
.epc-cabling-calculator .epc-calculate{margin-top:20px}
.epc-editor-building{padding:18px 12px;border:1px solid #b4c0ca;border-radius:10px;text-align:center}
@media(max-width:480px){.epc-building-grid{gap:7px}.epc-building-option>span{min-height:90px;padding:12px 5px}.epc-building-option strong{font-size:14px}.epc-area-control,.epc-front .epc-cabling-cameras{max-width:none}}

/* Match filled area to the address field and size telephone CTAs to their label. */
.epc-front .epc-floor-area.epc-filled{background:#fff3cd}
.epc-front a.epc-button[href^="tel:"]{display:inline-flex;width:auto;max-width:100%;justify-content:center;white-space:normal;text-align:center;box-sizing:border-box}
.epc-front .epc-phone-call{display:inline-flex;width:auto;max-width:100%;justify-content:center;background:#f3a52c;margin-top:16px;text-align:center}
.epc-front .epc-phone-call:hover{background:#e89316}
.epc-front .epc-phone-call:focus-visible{outline:3px solid #2c72b8;outline-offset:3px}

.epc-front .epc-address-fields{min-width:0;border:0;padding:0;margin:0 0 24px}.epc-front .epc-address-fields legend{font-size:17px;font-weight:700;margin-bottom:6px}.epc-front .epc-address-fields>.epc-note{margin:0 0 12px}.epc-front .epc-address-field{position:relative}.epc-front .epc-address-field label{margin:14px 0 7px}.epc-front .epc-postal{max-width:190px;letter-spacing:.06em}.epc-front .epc-without-travel{background:#fff8df;border-left:4px solid #d1a62c;border-radius:5px;padding:16px 18px;margin:20px 0;font-size:14px;color:#403922}.epc-front .epc-estimate-dialog{position:fixed;inset:0;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:28px;border:1px solid #d9ddce;border-radius:16px;background:#fff;color:#17201f;box-shadow:0 24px 90px #0003}.epc-front .epc-estimate-dialog::backdrop{background:#17201f88}.epc-front .epc-estimate-dialog h3{font-size:25px;line-height:1.2;margin:0 0 15px}.epc-front .epc-estimate-dialog p{font-size:15px;line-height:1.7}.epc-front .epc-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.epc-front .epc-complete-address{border:1px solid #acb4aa;border-radius:7px;padding:12px 16px;background:#fff;color:#17201f;font-size:14px;font-weight:600;cursor:pointer}.epc-front .epc-status>.epc-button{margin-top:12px}@media(max-width:480px){.epc-front .epc-estimate-dialog{padding:22px}.epc-front .epc-dialog-actions>*{width:100%;justify-content:center}}

.epc-front .epc-suggestions{max-height:280px;overflow-y:auto;overscroll-behavior:contain}.epc-front .epc-suggestions button{min-height:44px;white-space:normal;overflow-wrap:anywhere}.epc-front .epc-suggestions button small{display:block;font-size:10px;color:#687580;font-weight:400;margin-top:3px}.epc-front .epc-address-feedback:empty{display:none}.epc-front .epc-address-feedback{margin:12px 0 0;color:#4f5c63}

/* Locality estimates stay visibly distinct from a route to a confirmed house. */
.epc-front .epc-locality-notice{padding:16px 18px;margin:0 0 20px;background:#fff8df;border-left:4px solid #d1a62c;border-radius:5px;font-size:14px;color:#403922}
.epc-front .epc-locality-notice strong,.epc-front .epc-locality-notice span{display:block}
.epc-front .epc-locality-notice strong{margin-bottom:7px}
.epc-front .epc-status .epc-button{display:inline-flex;margin:10px 10px 0 0;max-width:100%;white-space:normal}
.epc-electrical-calculator .epc-house-fields .epc-floor-area.epc-filled{background:#fff3cd;border-color:#dfb72c}
/* Area input + a red card opening a native, keyboard-accessible modal. */
.epc-front .epc-area-info-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;min-width:0}
.epc-front .epc-area-info-row>.epc-area-control{width:100%;flex:1 1 240px;min-width:0}
.epc-front .epc-button.epc-info-trigger{display:inline-flex;justify-content:center;flex:0 0 auto;margin:0 0 0 auto;min-height:50px;background:#ba2034;color:#fff!important;border:1px solid #a7192b;font-size:14px;text-align:center}
.epc-front .epc-button.epc-info-trigger:hover{background:#99172a}
.epc-front .epc-info-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(640px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 40px);margin:auto;overflow:auto;overscroll-behavior:contain;padding:28px;background:#fff;color:#182431;border:1px solid #e3c7cc;border-top:5px solid #ba2034;border-radius:16px;box-shadow:0 24px 90px #10151e40;text-align:left}
.epc-front .epc-info-dialog::backdrop{background:#121a27a6}
.epc-front .epc-info-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 18px}
.epc-front .epc-info-heading h3{margin:6px 0 0;color:#a4192c;font-size:24px;line-height:1.3}
.epc-front .epc-info-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #dce1e7;border-radius:8px;background:#fff;color:#182431;font-size:28px;line-height:1;cursor:pointer}
.epc-front .epc-info-close:hover{background:#fff0f2;border-color:#ba2034}
.epc-front .epc-info-text{font-size:16px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.epc-front .epc-info-dismiss{margin-top:24px;justify-content:center;min-height:44px}
html:has(.epc-info-dialog[open]){overflow:hidden}
@media(max-width:640px){.epc-front .epc-area-info-row{flex-direction:column;align-items:stretch;gap:12px}.epc-front .epc-area-info-row>.epc-area-control{flex:auto;max-width:none}.epc-front .epc-button.epc-info-trigger{width:100%;margin:0}.epc-front .epc-info-dialog{padding:20px;max-height:calc(100dvh - 24px)}.epc-front .epc-info-heading h3{font-size:21px}}

/* A visible hint also works when iOS/macOS hides native scrollbars. */
.epc-front .epc-suggestions{overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#947820 #fff8df}
.epc-front .epc-suggestions::-webkit-scrollbar{width:12px}
.epc-front .epc-suggestions::-webkit-scrollbar-track{background:#fff8df}
.epc-front .epc-suggestions::-webkit-scrollbar-thumb{background:#947820;border:3px solid #fff8df;border-radius:8px}
.epc-front .epc-suggestions-hint{margin:4px 0 0;padding:8px 10px;background:#fff3cd;border:1px solid #d5b448;border-radius:5px;font-size:12px;font-weight:600;color:#504013;line-height:1.4}
.epc-front .epc-suggestions-hint[hidden]{display:none}
/* Alarm and measurement quantities use the same card and type scale as the existing calculators. */
.epc-front .epc-task-quantity-controls{display:grid;gap:8px;min-width:0}.epc-front .epc-task-quantity select{height:50px;margin:0;min-width:0;padding:12px 27px 12px 12px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23182431' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.epc-front .epc-task-quantity .epc-filled{background-color:#fff3cd}.epc-configuration-note{display:block;font-size:12px;line-height:1.5;font-weight:400;color:#62616a;margin-top:6px}.epc-front .epc-configuration-choice{padding:16px 12px}.epc-configuration-choice strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}@media(max-width:520px){.epc-configuration-choice{gap:10px}.epc-configuration-choice .epc-toggle-option>span{min-width:44px;padding:9px 10px}}
.epc-task-list{display:grid;gap:12px}.epc-front .epc-task-quantity{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:20px;align-items:center;margin:0;padding:16px;border:1px solid #dce0e2;border-radius:12px;background:#fff}.epc-task-quantity>span{display:grid;gap:5px;min-width:0}.epc-task-quantity small,.epc-protocol-note,.epc-protocol-points{display:block;font-size:12px;line-height:1.5;font-weight:400;color:#62616a}.epc-task-quantity input{margin:0!important;min-width:0;width:100%}.epc-front fieldset.epc-task-contacts,.epc-front fieldset.epc-task-configuration{min-width:0;margin:25px 0;padding:18px;border:1px solid #dedee4;border-radius:14px}.epc-task-contacts legend,.epc-task-configuration legend{padding:0 8px;font-weight:700}.epc-contact-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 40px;gap:12px;align-items:end;margin-bottom:15px}.epc-contact-row label{min-width:0}.epc-contact-row select{max-width:100%}.epc-task-radio{display:flex!important;align-items:center;gap:10px;margin:12px 0!important}.epc-task-radio input{width:18px!important;height:18px!important;margin:0!important;flex:0 0 18px}.epc-task-expansion{margin:24px 0;border:1px solid #dedee4;border-radius:14px;padding:18px}.epc-task-expansion summary{cursor:pointer;font-weight:700}.epc-task-expansion summary span{float:right}.epc-task-expansion[open] summary span{transform:rotate(45deg)}.epc-protocol-list{margin-top:12px}.epc-task-protocol{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px;margin:0;background:#fff;border:1px solid #dce0e2;border-radius:12px}.epc-task-protocol>div{min-width:0}.epc-task-protocol .epc-toggle-option{margin:0}.epc-task-expansion[open]>.epc-task-list{margin-top:16px}.epc-protocol-note{margin:6px 0 0}.epc-front .epc-info-trigger{margin-bottom:16px}.epc-front .epc-area-row .epc-info-trigger{margin-bottom:0}
@media(max-width:520px){.epc-front .epc-task-quantity{grid-template-columns:minmax(0,1fr) 78px;gap:12px}.epc-contact-row{grid-template-columns:minmax(0,1fr) 40px}.epc-contact-row>label:first-child{grid-column:1/-1}.epc-contact-row>label:nth-child(2){grid-column:1}.epc-task-contacts,.epc-task-configuration{padding:12px!important}}
.epc-suggestions-scroll{position:relative;padding-right:18px}.epc-suggestions-scroll:has(.epc-suggestions[hidden]){display:none}.epc-suggestions-scroll .epc-suggestions{scrollbar-width:none}.epc-suggestions-scroll .epc-suggestions::-webkit-scrollbar{display:none}.epc-suggestions-rail{position:absolute;right:0;top:0;width:12px;border-radius:8px;background:#efe1af;border:1px solid #d6be71;touch-action:none;cursor:pointer}.epc-suggestions-thumb{position:absolute;left:1px;right:1px;min-height:32px;background:#8b6911;border-radius:7px;cursor:grab}.epc-suggestions-rail:focus-visible{outline:3px solid #2c72b8;outline-offset:2px}

.epc-front .epc-house-number{max-width:240px;min-width:0;box-sizing:border-box}

@media(max-width:520px){.epc-task-protocol{gap:12px}.epc-task-protocol .epc-toggle-option span{min-width:44px;padding:10px 8px}}

.epc-front .epc-protocol-note[hidden]{display:none}

/* Independent explanations beside each estimate item. */
.epc-front .epc-task-quantity{grid-template-columns:minmax(0,1fr) auto}.epc-front .epc-task-label{display:grid;gap:5px;margin:0;min-width:0;overflow-wrap:anywhere}.epc-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.epc-task-actions>.epc-task-quantity-controls,.epc-task-quantity .epc-task-actions>input{flex:0 0 100px;width:100px}.epc-front .epc-row-info{display:block;flex:0 0 36px;width:36px;min-width:36px}.epc-front .epc-row-info-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:0;border:1px solid #c1c8ce;border-radius:7px;background:#fff;color:#182431;cursor:pointer;font-size:20px;font-weight:700;line-height:1}.epc-front .epc-row-info-trigger:hover{background:#fff3cd;border-color:#b38b20}.epc-front .epc-row-info-trigger:focus-visible{outline:3px solid #2c72b8;outline-offset:3px}.epc-camera-information{grid-column:1/-1;display:flex;justify-content:flex-end}.epc-front .epc-extra-quantity .epc-task-actions>input{width:100px;flex:0 0 100px}.epc-front .epc-configuration-choice strong{overflow-wrap:normal}.epc-front .epc-info-dialog .epc-info-heading h3{overflow-wrap:anywhere}.epc-front .epc-task-protocol>.epc-task-actions{min-width:max-content}
@media(max-width:520px){.epc-task-actions{gap:6px}.epc-task-actions>.epc-task-quantity-controls,.epc-task-quantity .epc-task-actions>input{flex-basis:78px;width:78px}.epc-front .epc-extra-choice{gap:10px}.epc-extra-choice .epc-toggle-option>span{min-width:44px;padding:9px 8px}.epc-front .epc-extra-quantity .epc-task-actions>input{width:78px;flex-basis:78px}.epc-front .epc-task-protocol{grid-template-columns:1fr;gap:10px}.epc-front .epc-task-protocol>.epc-task-actions{justify-self:end}}

@media(max-width:520px){.epc-front .epc-task-quantity{gap:8px}.epc-task-actions>.epc-task-quantity-controls,.epc-task-quantity .epc-task-actions>input{flex-basis:70px;width:70px}}
.epc-front .epc-quote-form>.epc-info-trigger,.epc-front>.epc-info-trigger{margin-bottom:18px}
@media(max-width:520px){.epc-extra-choice>.epc-task-actions{margin-left:auto;align-self:flex-end}}

/* Package scope stays visible on desktop and compact two-column mobile cards. */
.epc-front .epc-photo-card .epc-package-details{display:block;width:100%;text-align:left;margin:0 0 1.2rem;color:#283531;font-size:15px;line-height:1.55}
.epc-front .epc-photo-card .epc-package-details p{display:block;margin:0 0 .65rem;font-weight:700}
.epc-front .epc-package-details ul{display:block;padding-left:1.1rem;margin:0}
.epc-front .epc-package-details li{margin:.4rem 0;overflow-wrap:anywhere}
.epc-front .epc-address-fields{margin-top:1.5rem}
@media(max-width:600px){.epc-front .epc-photo-card .epc-package-details{font-size:13px;line-height:1.5}}

.epc-front .epc-photo-card .epc-package-details p{font-size:inherit;line-height:inherit}
@media(min-width:900px){.epc-front .epc-cards.epc-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.epw-services-compact .epc-front .epc-package-grid>article:last-child:nth-child(3){grid-column:1/-1}}

/* One quotation layout, based on the alarm calculator (1.29.0).
   Scope to calculators: contact pages, the editor and payment forms stay independent. */
.epc-front.epc-calculator{min-width:0}
.epc-front.epc-calculator>.epc-form-card,
.epc-front.epc-calculator>.epc-calculator-grid>.epc-form-card{width:100%;max-width:none;min-width:0}
.epc-front.epc-calculator :is(.epc-task-quantity,.epc-task-protocol,.epc-extra-choice){
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;
 margin:0;padding:16px;border:1px solid #dce0e2;border-radius:12px;background:#fff;
}
.epc-front.epc-calculator :is(.epc-task-label,.epc-extra-text){display:grid;gap:5px;min-width:0}
.epc-front.epc-calculator :is(.epc-task-label strong,.epc-extra-text strong,.epc-task-protocol strong){font-size:14px;line-height:1.5;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.epc-front.epc-calculator .epc-extra-text small{margin:0}
.epc-front.epc-calculator .epc-task-actions{gap:8px;justify-self:end;align-self:center;margin:0}
.epc-front.epc-calculator :is(.epc-task-actions>input,.epc-task-quantity-controls){width:100px;flex:0 0 100px;max-width:100%}
.epc-front.epc-calculator .epc-task-actions :is(input[type=number],select){height:50px;min-height:50px;padding-block:12px;line-height:24px;border-radius:6px}
.epc-front.epc-calculator .epc-row-info-trigger{height:44px;min-height:44px}
.epc-front.epc-calculator .epc-extras{margin:28px 0;border:0;border-radius:0;overflow:visible}
.epc-front.epc-calculator .epc-extras-heading{padding:0 0 16px;flex-wrap:wrap}
.epc-front.epc-calculator .epc-extra-options{padding:0;gap:12px}
.epc-front.epc-calculator .epc-camera-row{grid-template-columns:minmax(0,1fr) 100px 44px 36px}
.epc-front.epc-calculator .epc-camera-row>label:first-child{grid-column:1;grid-row:1}
.epc-front.epc-calculator .epc-camera-row>label:nth-child(2){grid-column:2;grid-row:1}
.epc-front.epc-calculator .epc-camera-row>.epc-remove-camera{grid-column:3;grid-row:1}
.epc-front.epc-calculator .epc-camera-information{grid-column:4;grid-row:1;align-self:end;min-height:50px;align-items:center}
.epc-front.epc-calculator .epc-camera-help{grid-row:2}
.epc-front.epc-calculator .epc-camera-information:not(:has(.epc-row-info)){display:none}

@media(max-width:600px){
 .epc-front.epc-calculator .epc-camera-row{grid-template-columns:minmax(0,1fr) 44px 36px;gap:10px;padding:14px 12px}
 .epc-front.epc-calculator .epc-camera-row>label:first-child{grid-column:1/-1;grid-row:1}
 .epc-front.epc-calculator .epc-camera-row>label:nth-child(2){grid-column:1;grid-row:2}
 .epc-front.epc-calculator .epc-camera-row>.epc-remove-camera{grid-column:2;grid-row:2}
 .epc-front.epc-calculator .epc-camera-information{grid-column:3;grid-row:2}
 .epc-front.epc-calculator .epc-camera-help{grid-row:3}
}

/* Match the alarm's wide mobile shell across every quotation and category. */
@media(max-width:520px){
 body.epp-site .post-shell:has(.epc-calculator),
 body.epp-site .post-shell:has(.epc-cards){padding-inline:0}
 .epc-front.epc-calculator>.epc-form-card,
 .epc-front.epc-calculator>.epc-calculator-grid>.epc-form-card{padding:14px}
 .epc-front.epc-calculator :is(.epc-task-quantity,.epc-task-protocol,.epc-extra-choice){gap:10px;padding:14px 12px}
 .epc-front.epc-calculator :is(.epc-task-label strong,.epc-extra-text strong,.epc-task-protocol strong){line-height:1.4}
 .epc-front.epc-calculator .epc-task-actions{gap:6px}
 .epc-front.epc-calculator :is(.epc-task-actions>input,.epc-task-quantity-controls){width:80px;flex-basis:80px}
 .epc-front.epc-calculator .epc-task-actions>.epc-task-quantity-controls{width:64px;flex-basis:64px}
 .epc-front.epc-calculator .epc-task-actions input[type=number]{padding-inline:8px}
 .epc-front.epc-calculator .epc-row-info,
 .epc-front.epc-calculator .epc-row-info-trigger{width:36px;min-width:36px;flex-basis:36px}
 .epc-front.epc-calculator .epc-toggle-option>span{min-width:40px;min-height:44px;padding:9px 6px;font-size:12px}
 .epc-front.epc-calculator fieldset.epc-task-configuration{padding:0!important;border:0}
 .epc-front.epc-calculator .epc-task-configuration legend{padding:0;margin-bottom:12px}
 .epc-front.epc-calculator .epc-task-expansion{padding:10px}
}
@media(max-width:359px){
 .epc-front.epc-calculator>.epc-form-card,
 .epc-front.epc-calculator>.epc-calculator-grid>.epc-form-card{padding:10px}
 .epc-front.epc-calculator :is(.epc-task-quantity,.epc-task-protocol,.epc-extra-choice,.epc-camera-row){padding:12px 10px;gap:6px}
 .epc-front.epc-calculator :is(.epc-task-label strong,.epc-extra-text strong,.epc-task-protocol strong){font-size:13px}
 .epc-front.epc-calculator :is(.epc-task-actions>input,.epc-task-quantity-controls){width:70px;flex-basis:70px}
 .epc-front.epc-calculator .epc-task-actions>.epc-task-quantity-controls{width:64px;flex-basis:64px}
 .epc-front.epc-calculator .epc-task-expansion{padding:0;border:0}
}

/* Shared contact actions — present before and after calculation. */
.epc-front .epc-address-fields{margin-top:0;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid #e2e5e8}
.epc-contact{margin-top:24px}
.epc-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.epc-front .epc-contact-actions .epc-button{width:100%;min-height:68px;margin:0;justify-content:space-between;text-align:left;padding:18px 22px;font-size:15px}
.epc-front .epc-contact-actions svg{flex:0 0 22px}
.epc-front .epc-contact-actions .epc-button{background:var(--epc-yellow);border:0;color:#17232f!important}
.epc-front .epc-contact-actions .epc-button:hover{background:#f5c02b}
.epc-contact-panel{margin-top:18px;padding:26px;border:1px solid #dee3e7;border-radius:14px;background:#fff;scroll-margin-top:130px}
.epc-contact-panel h3:focus{outline:none}
.epc-front .epc-contact-panel label input,.epc-front .epc-contact-panel label textarea{margin-top:7px}
.epc-front .epc-contact-status{font-size:14px;overflow-wrap:anywhere}
.epc-front .epc-contact-address{min-width:0;margin:24px 0;padding:20px 0;border:0;border-top:1px solid #e2e5e8;border-bottom:1px solid #e2e5e8}
.epc-front .epc-contact-address legend{padding:0 8px 0 0;font-size:18px;font-weight:700}
.epc-front .epc-contact-address-note{margin:0;font-size:13px}
.epc-front .epc-contact-quote-note{background:#fff8df;padding:12px 14px;border-radius:6px}
.epc-visit-details{margin-top:24px}
.epc-visit-details>summary{cursor:pointer;font-size:14px;font-weight:600;padding:12px 0}
.epc-front .epc-visit-details--inline{margin:24px 0;border:1px solid #bd252b;border-radius:10px;background:#fff8f8}
.epc-front .epc-visit-details--inline>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:9px;background:#bd252b;color:#fff;font-size:15px;line-height:1.5;list-style:none}
.epc-visit-details--inline>summary::-webkit-details-marker{display:none}
.epc-visit-details--inline>summary::after{content:'+';font-size:24px;font-weight:400;line-height:1;flex-shrink:0}
.epc-visit-details--inline[open]>summary::after{content:'−'}
.epc-front .epc-visit-details--inline[open]>summary{border-radius:9px 9px 0 0}
.epc-front .epc-visit-details--inline>summary:hover{background:#a91e24}
.epc-front .epc-visit-details--inline>summary:focus-visible{outline:3px solid #2c72b8;outline-offset:3px}
.epc-front .epc-visit-details--inline .epc-booking{margin:0;padding:20px;border:0;border-radius:0 0 9px 9px;background:transparent}
@media(max-width:480px){.epc-front .epc-visit-details--inline .epc-booking{padding:16px 12px}.epc-front .epc-visit-details--inline>summary{padding:14px}}
@media(max-width:600px){.epc-contact-actions{grid-template-columns:1fr;gap:10px}.epc-front .epc-contact-actions .epc-button{min-height:60px;padding:16px 18px}.epc-contact-panel{padding:20px}}

/* Contact 1.19: the label and icon form a single centered group. */
.epc-front .epc-contact-actions .epc-button{justify-content:center;text-align:center;gap:12px}
.epc-front .epc-contact-actions .epc-button span{flex:0 1 auto}
.epc-front .epc-optional{font-weight:400;font-size:12px;color:#65716e}
.epc-photo-picker{min-width:0;border:1px dashed #bbc6bf;border-radius:10px;padding:20px;margin:24px 0;background:#fafbf8}
.epc-photo-picker legend{font-weight:700;padding:0 6px;font-size:15px}
.epc-photo-actions{display:flex;flex-wrap:wrap;gap:10px}
.epc-front .epc-photo-choose{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;min-height:44px;padding:10px 16px;border:1px solid #c8cfc8;background:white;border-radius:6px;margin:0;cursor:pointer;font-size:13px}
.epc-front .epc-photo-choose:focus-within{outline:3px solid #2c72b8;outline-offset:3px}
.epc-front .epc-photo-choose input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0!important;cursor:pointer}
.epc-photo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:14px}
.epc-contact .epc-contact-upload-card{min-width:0;max-width:220px;border:1px solid #dce1da;border-radius:7px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.epc-contact .epc-contact-upload-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.epc-contact .epc-contact-upload-card span,.epc-contact .epc-contact-upload-card small{font-size:11px;padding:7px;overflow-wrap:anywhere;line-height:1.5}
.epc-contact .epc-contact-upload-card small{color:#a22a24}
.epc-front .epc-photo-remove{border:0;border-top:1px solid #e5e7e2;background:#fff9e8;color:#27352f;padding:10px;font:inherit;font-size:12px;cursor:pointer;min-height:40px;margin-top:auto}
.epc-upload-progress{margin-top:20px}.epc-upload-progress progress{width:100%;height:12px;accent-color:#677949}.epc-upload-progress label{font-size:12px}.epc-front .epc-photo-retry{margin-top:16px;background:#f5ebc7}
.epc-front.epc-contact-page{max-width:1320px;margin:0 auto;padding:76px 36px 88px;color:#172923}
.epc-contact-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:64px;align-items:start}
.epc-contact-hero-copy{min-width:0;padding:15px 0 0}
.epc-contact-page .epc-eyebrow{font-size:10px;letter-spacing:2px;color:#5d6c5c;margin:0 0 24px}
.epc-front.epc-contact-page h1{font-size:clamp(38px,4.5vw,62px);font-weight:650;line-height:1.07;letter-spacing:-.055em;max-width:650px;margin:0 0 25px}
.epc-contact-page .epc-contact-lead{font-size:17px;line-height:1.8;max-width:530px;color:#59645c;margin:0 0 30px}
.epc-contact-page .epc-contact{margin-top:20px}.epc-contact-page .epc-contact-actions{gap:10px}
.epc-contact-page .epc-contact-actions .epc-button{padding:15px 13px;font-size:13px;min-height:60px;border-radius:6px}
.epc-contact-page .epc-contact-reassurance{font-size:12px;line-height:1.7;color:#667061;max-width:440px;margin:18px 0 0}
.epc-contact-visual{position:sticky;top:140px;margin:0;height:620px;min-width:0;border-radius:14px;overflow:hidden;background:transparent}
/* Fill the frame even when the theme loads its global image rules after the plugin. */
.epc-front.epc-contact-page .epc-contact-visual>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:62% center;display:block;margin:0}
.epc-contact-visual figcaption{position:absolute;bottom:12px;right:15px;font-size:10px;color:#fff;background:#0008;padding:4px 7px;border-radius:3px}
.epc-contact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid #d9ded3;margin-top:65px;padding-top:36px}
.epc-step-number{font-size:12px;color:#6a765e;font-weight:600;letter-spacing:1px}
.epc-front.epc-contact-page .epc-contact-steps h2{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:14px 0 12px}
.epc-front.epc-contact-page .epc-contact-steps p{font-size:14px;line-height:1.75;color:#616b60;margin:0}
.epc-contact-page .epc-contact-panel{padding:24px;margin-top:24px;border-color:#d8ded5;box-shadow:0 14px 42px #23382908}
.epc-contact-page .epc-contact-panel h3{font-size:25px;letter-spacing:-.025em}
@media(max-width:1100px){.epc-contact-hero{gap:34px}.epc-contact-page .epc-contact-actions{grid-template-columns:1fr}.epc-contact-visual{height:650px}.epc-contact-page .epc-form-grid{grid-template-columns:1fr}}
@media(max-width:780px){.epc-front.epc-contact-page{padding:38px 24px 55px}.epc-contact-hero{grid-template-columns:1fr;gap:30px}.epc-contact-hero-copy{padding:0}.epc-front.epc-contact-page h1{max-width:590px;font-size:44px}.epc-contact-page .epc-contact-lead{font-size:16px;margin-bottom:22px}.epc-contact-visual{position:relative;top:auto;height:320px}.epc-contact-steps{grid-template-columns:1fr;gap:25px;margin-top:34px;padding-top:28px}.epc-contact-steps article{display:grid;grid-template-columns:28px 1fr;gap:0 13px}.epc-step-number{padding-top:4px;grid-row:1/3}.epc-front.epc-contact-page .epc-contact-steps h2{margin:0 0 10px}.epc-contact-page .epc-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.epc-front.epc-contact-page{padding:32px 20px 45px}.epc-front.epc-contact-page h1{font-size:38px}.epc-contact-page .epc-contact-actions{grid-template-columns:1fr}.epc-contact-page .epc-contact-panel{padding:18px}.epc-contact-page .epc-contact-panel p{font-size:14px}.epc-contact-visual{height:280px}.epc-photo-picker{padding:14px}.epc-photo-actions{gap:8px}.epc-front .epc-photo-choose{padding:10px 12px}}

/* Immediate, scoped feedback when the contact photo picker is full. */
.epc-front .epc-contact .epc-photo-feedback[data-limit="true"]{padding:12px 14px;border:1px solid #dec16a;border-radius:7px;background:#fff3cd;color:#55430f;font-size:14px;line-height:1.6}
/* Result explanations: shared treatment across all quotation types. */
.epc-front .epc-result .epc-quote-notice{display:flex;align-items:flex-start;gap:13px;margin:14px 0 0;padding:18px 20px;border:1px solid #efc7c1;border-left:5px solid #c83232;border-radius:7px;background:#fff5f3;color:#472a28;font-size:14px;line-height:1.6;text-align:left}
.epc-front .epc-result .epc-quote-notice-travel{background:#fff2f0}
.epc-front .epc-quote-notice>svg{flex:0 0 23px;width:23px;height:23px;margin-top:1px;color:#b72d2d}
.epc-front .epc-quote-notice-body{min-width:0;flex:1;overflow-wrap:anywhere}
.epc-front .epc-result .epc-quote-notice h4{margin:0 0 5px;color:#802525;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:0;text-transform:none}
.epc-front .epc-result .epc-quote-notice-travel h4{font-size:17px}
.epc-front .epc-result .epc-quote-notice p{margin:0;color:inherit;font-size:14px;line-height:1.6}
.epc-front .epc-quote-notice-action{display:inline-block;margin:12px 0 0;padding:8px 12px;border:1px solid #a92a2a;border-radius:5px;background:#fff;color:#822525;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;min-height:42px;text-decoration:none}
.epc-front .epc-quote-notice-action:hover{background:#ffe5df;color:#642020}
.epc-front .epc-quote-notice-action:focus-visible{outline:3px solid #822525;outline-offset:3px}
@media(max-width:480px){.epc-front .epc-result .epc-quote-notice{padding:15px 13px;gap:10px}.epc-front .epc-result .epc-quote-notice-travel h4{font-size:16px}}

/* Compact attribution is visible only alongside the relevant address suggestions. */
.epc-front .epc-suggestion-credit{margin:0;padding:8px 12px;border:1px solid #ddd;border-top:0;border-radius:0 0 6px 6px;background:#fff;font:400 12px/1.5 Arial,sans-serif;color:#5e5e5e}
.epc-front .epc-suggestion-credit a{color:#5e5e5e;text-decoration:underline;text-underline-offset:2px}
.epc-front .epc-suggestions .epc-google-name{font:400 12px/1.5 Arial,sans-serif;color:#5e5e5e;white-space:nowrap;letter-spacing:normal}
.epc-front .epc-building-individual{border:1px solid #efc7c1;border-left:5px solid #c83232;border-radius:7px;background:#fff5f3;padding:18px 20px;color:#472a28;line-height:1.6}
.epc-front .epc-building-individual h3{color:#802525;font-size:17px;margin:0 0 6px}.epc-front .epc-building-individual p{font-size:14px;margin:0}
.epc-front .epc-result .epc-route-credit{margin:12px 0 0;font:400 12px/1.5 Arial,sans-serif;color:#5e5e5e}

/* Information is a sibling of the result so recomputing never duplicates dialogs. */
.epc-front .epc-result-information{margin-top:18px}.epc-front .epc-result-information[hidden]{display:none!important}.epc-front .epc-result-information>.epc-info-trigger{margin:0;width:100%}.epc-info-text h4{font-size:16px;margin:18px 0 6px}.epc-info-text h4:first-child{margin-top:0}

/* Switchboard delivery uses the same choices as the other calculators. */
.epc-front .epc-delivery-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #e2e5e8}.epc-front .epc-delivery-choice[hidden]{display:none}.epc-delivery-choice>strong{font-size:17px}

/* Earthworks uses the monitoring controls and the site's existing button/field palette. */
.epc-earth-section .epc-earth-rows{display:grid;gap:12px}
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row{grid-template-columns:minmax(0,1fr) 150px 44px 36px;gap:12px}
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row>label,
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row>.epc-remove-camera{grid-column:auto;grid-row:auto}
.epc-earth-row-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.epc-earth-row-top strong{font-size:13px}
.epc-earth-row-top small{font-size:12px;color:#60676c}
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-linked,
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-strip{grid-template-columns:minmax(0,1fr) 150px 36px}
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-cable{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px 44px 36px}
.epc-earth-information{align-self:end;margin-bottom:3px}
.epc-earth-metres{display:grid;gap:8px;margin:0;min-width:0;font-size:14px}
.epc-earth-quantity{display:grid;gap:8px;min-width:0}
.epc-front .epc-earth-quantity input{margin:0;width:100%;min-width:0;min-height:50px;height:50px;padding:12px 14px;box-sizing:border-box}
.epc-front .epc-earth-linked select:disabled{opacity:1;cursor:default;color:inherit;-webkit-text-fill-color:currentColor;background-image:none}
.epc-front .epc-earth-restore{grid-column:1/-1;justify-self:start;border:0;padding:2px 0;background:transparent;color:inherit;font:inherit;font-size:12px;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row .epc-camera-help{grid-row:auto;grid-column:1/-1}
.epc-earth-strip>strong{align-self:center;font-size:15px}
.epc-earth-total{margin-top:12px!important}
.epc-earthworks-calculator [hidden]{display:none!important}
@media(max-width:800px){
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-cable{grid-template-columns:minmax(0,1fr) 150px 44px 36px}
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-cable>.epc-earth-family{grid-column:1/-1}
}
@media(max-width:600px){
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row{grid-template-columns:minmax(0,1fr) 44px 36px;padding:14px 12px;gap:10px}
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-linked,
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-strip{grid-template-columns:minmax(0,1fr) 36px}
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row>.epc-earth-width,
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-row>.epc-earth-cross,
 .epc-front.epc-calculator.epc-earthworks-calculator .epc-earth-strip>strong{grid-column:1/-1}
}
