/* V1.3.5 visibility hardening: hidden booking panels must stay hidden even when theme CSS applies display rules. */
#ecb-booking-app [hidden]{display:none!important;}
#ecb-standard-property[hidden],#ecb-deep-config[hidden],#ecb-hourly-config[hidden]{display:none!important;}

/* Excellent Clean Booking v1.1.0 — self-contained booking UI + booking-page header repair */
body.ecb-booking-page{margin:0;background:#f5f9fd;color:#15243a;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
body.ecb-booking-page *,body.ecb-booking-page *:before,body.ecb-booking-page *:after{box-sizing:border-box;}
body.ecb-booking-page img{max-width:100%;height:auto;}
body.ecb-booking-page .ec-app-header{position:relative;z-index:999;background:#fff;box-shadow:0 8px 30px rgba(15,42,70,.08);font-size:14px;}
body.ecb-booking-page .ec-trust-topbar{background:linear-gradient(90deg,#166fd0,#2589e4);color:#fff;}
body.ecb-booking-page .ec-trust-topbar-inner,body.ecb-booking-page .ec-app-header-shell{width:min(1280px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
body.ecb-booking-page .ec-trust-topbar-inner{min-height:38px;}
body.ecb-booking-page .ec-topbar-left,body.ecb-booking-page .ec-topbar-actions,body.ecb-booking-page .ec-app-actions{display:flex;align-items:center;gap:16px;}
body.ecb-booking-page .ec-topbar-item,body.ecb-booking-page .ec-topbar-phone{display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none;white-space:nowrap;}
body.ecb-booking-page .ec-topbar-phone svg{width:16px;height:16px;display:block;flex:0 0 16px;}
body.ecb-booking-page .ec-topbar-estimate,body.ecb-booking-page .ec-topbar-emergency{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border-radius:999px;text-decoration:none;font-weight:700;font-size:12px;}
body.ecb-booking-page .ec-topbar-estimate{background:#ffd34e;color:#24354a;} body.ecb-booking-page .ec-topbar-emergency{background:#ff7666;color:#fff;}
body.ecb-booking-page .ec-app-header-main{background:#fff;}
body.ecb-booking-page .ec-app-header-shell{min-height:82px;}
body.ecb-booking-page .ec-app-brand{flex:0 0 auto;}
body.ecb-booking-page .ec-app-logo{display:block;width:170px;line-height:0;}
body.ecb-booking-page .ec-official-logo{display:block!important;width:170px!important;height:auto!important;max-height:72px!important;object-fit:contain!important;}
body.ecb-booking-page .ec-app-nav{margin-left:auto;}
body.ecb-booking-page .ec-app-menu,body.ecb-booking-page .ec-app-menu ul{list-style:none!important;margin:0!important;padding:0!important;}
body.ecb-booking-page .ec-app-menu{display:flex!important;align-items:center!important;gap:22px!important;}
body.ecb-booking-page .ec-app-menu>li{position:relative;margin:0!important;padding:0!important;}
body.ecb-booking-page .ec-app-menu a{display:block;color:#30445d;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap;}
body.ecb-booking-page .ec-app-menu ul{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;padding:12px!important;border-radius:14px;box-shadow:0 18px 45px rgba(18,46,78,.15);}
body.ecb-booking-page .ec-app-menu li:hover>ul{display:block;}
body.ecb-booking-page .ec-header-search{width:42px;height:42px;border:1px solid #dce8f4;background:#fff;border-radius:50%;display:grid;place-items:center;padding:0;}
body.ecb-booking-page .ec-header-search svg{width:18px!important;height:18px!important;display:block;}
body.ecb-booking-page .ec-app-quote-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:linear-gradient(135deg,#1979d8,#1168c5);color:#fff;padding:13px 18px;border-radius:999px;font-weight:800;box-shadow:0 8px 20px rgba(23,119,210,.25);}
body.ecb-booking-page .ec-app-menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:8px;}
body.ecb-booking-page .ec-app-menu-toggle span{display:block;height:2px;background:#19314d;margin:5px 0;border-radius:2px;}
body.ecb-booking-page .ec-mobile-menu,body.ecb-booking-page .ec-search-overlay{display:none;}

.ecb-shell{--blue:#1677d2;--blue2:#0e66bd;--orange:#ff811a;--ink:#15243a;--muted:#66788e;--line:#dce8f4;--bg:#f5f9fd;width:100%;padding:54px 0 80px;background:linear-gradient(180deg,#eef7ff 0,#f8fbff 280px,#fff 100%);}
.ecb-shell button,.ecb-shell input,.ecb-shell select,.ecb-shell textarea{font:inherit;}
.ecb-intro,.ecb-layout,.ecb-success{width:min(1180px,calc(100% - 40px));margin-left:auto;margin-right:auto;}
.ecb-intro{margin-bottom:28px;}.ecb-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e5f2ff;color:#126fcb;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.07em;}.ecb-intro h1{margin:13px 0 8px;font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.035em;color:var(--ink);}.ecb-intro p{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.65;}
.ecb-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;}.ecb-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 55px rgba(24,68,108,.08);}.ecb-form{padding:26px;}.ecb-summary{padding:24px;position:sticky;top:24px;}
.ecb-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:6px;background:#f1f6fb;border-radius:16px;margin-bottom:30px;}.ecb-progress button{border:0;background:transparent;color:#708196;padding:10px 8px;border-radius:12px;font-weight:700;cursor:pointer;}.ecb-progress button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dde8f3;margin-right:5px;font-size:12px;}.ecb-progress button.is-active{background:#fff;color:var(--blue);box-shadow:0 4px 14px rgba(22,119,210,.1)}.ecb-progress button.is-active span,.ecb-progress button.is-done span{background:var(--blue);color:#fff;}
.ecb-step{display:none}.ecb-step.is-active{display:block}.ecb-step-heading>span{font-size:12px;font-weight:800;color:var(--orange);text-transform:uppercase;letter-spacing:.08em}.ecb-step-heading h2{font-size:28px;line-height:1.2;margin:5px 0 22px;color:var(--ink)}
.ecb-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ecb-option-card{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:10px;padding:18px;border:1px solid var(--line);border-radius:18px;cursor:pointer;transition:.18s ease}.ecb-option-card:hover{border-color:#9ecbf2;transform:translateY(-1px)}.ecb-option-card input{position:absolute;opacity:0;pointer-events:none}.ecb-option-icon{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:#edf6ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.ecb-option-card strong{font-size:15px;color:var(--ink)}.ecb-option-card small{color:var(--muted);line-height:1.45}.ecb-option-card:has(input:checked){border-color:var(--blue);background:#f5faff;box-shadow:0 0 0 2px rgba(22,119,210,.08)}.ecb-option-card:has(input:checked) .ecb-option-icon{background:var(--blue);color:#fff}
.ecb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ecb-field{display:block;margin-bottom:14px}.ecb-field>span{display:block;font-weight:750;font-size:13px;color:#35495f;margin-bottom:7px}.ecb-field input,.ecb-field select,.ecb-field textarea{width:100%;border:1px solid #cdddeb;border-radius:13px;background:#fff;padding:13px 14px;color:var(--ink);outline:none;min-height:48px}.ecb-field textarea{min-height:110px;resize:vertical}.ecb-field input:focus,.ecb-field select:focus,.ecb-field textarea:focus{border-color:#5ba5e7;box-shadow:0 0 0 3px rgba(22,119,210,.1)}
.ecb-subheading{margin:20px 0 10px;font-size:15px}.ecb-frequency-grid,.ecb-extra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ecb-frequency-grid label,.ecb-extra-grid label{position:relative}.ecb-frequency-grid input,.ecb-extra-grid input{position:absolute;opacity:0}.ecb-frequency-grid span,.ecb-extra-grid span{display:flex;min-height:70px;align-items:center;justify-content:center;text-align:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:750;cursor:pointer}.ecb-frequency-grid small,.ecb-extra-grid small{display:block;color:var(--blue);font-size:11px;margin-left:4px}.ecb-frequency-grid label:has(input:checked) span,.ecb-extra-grid label:has(input:checked) span{border-color:var(--blue);background:#eff7ff;box-shadow:inset 0 0 0 1px var(--blue)}.ecb-extra-grid span{flex-direction:column;gap:3px}.ecb-extra-grid strong{font-size:13px}
.ecb-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.ecb-actions-end{justify-content:flex-end}.ecb-btn{appearance:none;border:0;border-radius:13px;padding:13px 19px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;text-decoration:none;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-shadow:0 8px 18px rgba(22,119,210,.2)}.ecb-btn:hover{filter:brightness(.97)}.ecb-btn-secondary{background:#fff;color:#35506b;border:1px solid var(--line);box-shadow:none}.ecb-btn:disabled{opacity:.65;cursor:not-allowed}.ecb-notice{display:flex;gap:10px;padding:14px;border-radius:14px;background:#fff8ed;border:1px solid #ffe1bc;color:#72512b}.ecb-notice strong{white-space:nowrap}.ecb-notice span{font-size:13px;line-height:1.45}
.ecb-summary-top{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#50647a;font-weight:800;font-size:13px}.ecb-live-pill{padding:5px 9px;border-radius:999px;background:#eaf7ef;color:#16814a;font-size:11px}.ecb-summary h2{font-size:23px;margin:14px 0 20px}.ecb-summary-list{display:grid;gap:0;border-top:1px solid #e7eef5}.ecb-summary-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e7eef5}.ecb-summary-list span{color:#78889a;font-size:13px}.ecb-summary-list strong{text-align:right;font-size:13px;color:#293d53}.ecb-total{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:20px 0 12px}.ecb-total span{font-weight:800}.ecb-total strong{font-size:30px;color:var(--blue)}.ecb-summary>p{font-size:12px;line-height:1.5;color:#75869a;margin:0 0 16px}.ecb-trust{display:grid;gap:7px;color:#4d647d;font-size:12px;font-weight:700}
.ecb-consent{display:flex;gap:10px;align-items:flex-start;color:#5d6e81;font-size:12px;line-height:1.5}.ecb-consent input{margin-top:3px}.ecb-form-message{min-height:20px;color:#b23c2f;font-weight:650;font-size:13px}.ecb-success{padding:54px 40px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 55px rgba(24,68,108,.08)}.ecb-success[hidden]{display:none!important}.ecb-success-icon{width:64px;height:64px;border-radius:50%;background:#e9f8ef;color:#14834a;display:grid;place-items:center;margin:0 auto 16px;font-size:28px;font-weight:900}.ecb-success>span{font-weight:800;color:#14834a}.ecb-success h2{font-size:28px;margin:10px 0}.ecb-success p{color:#66788e;margin-bottom:22px}
@media(max-width:980px){body.ecb-booking-page .ec-app-nav{display:none}body.ecb-booking-page .ec-app-menu-toggle{display:block}.ecb-layout{grid-template-columns:1fr}.ecb-summary{position:relative;top:auto;order:-1}.ecb-frequency-grid,.ecb-extra-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){body.ecb-booking-page .ec-trust-topbar-inner,body.ecb-booking-page .ec-app-header-shell{width:min(100% - 24px,1280px)}body.ecb-booking-page .ec-topbar-actions,body.ecb-booking-page .ec-topbar-hide-small{display:none}body.ecb-booking-page .ec-topbar-left{width:100%;justify-content:space-between}body.ecb-booking-page .ec-app-header-shell{min-height:68px}body.ecb-booking-page .ec-app-logo,body.ecb-booking-page .ec-official-logo{width:145px!important}body.ecb-booking-page .ec-header-search{display:none}body.ecb-booking-page .ec-app-quote-btn{padding:10px 13px;font-size:12px}.ecb-shell{padding:30px 0 60px}.ecb-intro,.ecb-layout,.ecb-success{width:min(100% - 24px,1180px)}.ecb-form,.ecb-summary{padding:17px;border-radius:18px}.ecb-progress{grid-template-columns:repeat(4,1fr);overflow:auto}.ecb-progress button{font-size:0;padding:8px 4px}.ecb-progress button span{font-size:11px;margin:0}.ecb-intro h1{font-size:34px}.ecb-intro p{font-size:15px}.ecb-service-grid,.ecb-two-col{grid-template-columns:1fr}.ecb-frequency-grid,.ecb-extra-grid{grid-template-columns:1fr 1fr}.ecb-actions{position:sticky;bottom:0;background:rgba(255,255,255,.95);padding:12px 0 2px;z-index:8}.ecb-actions .ecb-btn{flex:1}.ecb-notice{flex-direction:column}.ecb-summary-list>div{align-items:flex-start}}


/* V1.2 service catalogue */
.ecb-catalogue{display:grid;gap:22px;max-width:1100px;margin:28px auto 0}.ecb-service-product{background:#fff;border:1px solid #dfeaf7;border-radius:24px;overflow:hidden;box-shadow:0 18px 48px rgba(15,48,92,.08)}.ecb-product-media{height:230px;background:linear-gradient(135deg,#eef6ff,#f9fbff);overflow:hidden}.ecb-product-media img{width:100%;height:100%;object-fit:cover}.ecb-product-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#fff7ef)}.ecb-product-placeholder span{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:#0874dc;color:#fff;font-weight:900;font-size:24px;box-shadow:0 16px 36px rgba(8,116,220,.22)}.ecb-product-content{display:grid;grid-template-columns:1fr auto;gap:28px;padding:26px 28px;align-items:center}.ecb-product-copy h2{margin:0 0 8px;font-size:26px}.ecb-product-price{color:#0874dc;font-size:17px;margin-bottom:12px}.ecb-product-price strong{font-size:24px}.ecb-product-copy p{margin:0;color:#53677f;max-width:720px}.ecb-included{margin-top:16px;color:#0a6fc9}.ecb-included summary{cursor:pointer;font-weight:700}.ecb-included p{margin-top:10px;color:#53677f}.ecb-product-action{display:flex;align-items:center;gap:14px}.ecb-qty{display:flex;border:1px solid #cfddec;border-radius:12px;overflow:hidden;height:46px}.ecb-qty button{width:38px;border:0;background:#f6f9fc;font-size:20px;cursor:pointer}.ecb-qty input{width:54px;border:0;text-align:center;font-weight:700;-moz-appearance:textfield}.ecb-qty input::-webkit-outer-spin-button,.ecb-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ecb-selected-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #e5edf6}.ecb-change-service{border:0;background:transparent;color:#0874dc;font-weight:700;cursor:pointer;padding:0}.ecb-no-extras{grid-column:1/-1;margin:0;color:#6c7b8e}.ecb-frequency-wrap[hidden]{display:none!important}
@media(min-width:850px){.ecb-service-product{display:grid;grid-template-columns:300px 1fr}.ecb-product-media{height:100%;min-height:250px}}
@media(max-width:740px){.ecb-product-content{grid-template-columns:1fr;padding:20px}.ecb-product-action{justify-content:space-between;flex-wrap:wrap}.ecb-product-copy h2{font-size:22px}.ecb-product-media{height:190px}.ecb-catalogue{gap:16px}.ecb-selected-bar{align-items:flex-start;flex-direction:column}}

/* V1.3.4 — modern booking UI built on the stable V1.2 rendering path */
.ecb-v134{padding-top:30px}
.ecb-modern-hero{width:min(1180px,calc(100% - 40px));margin:0 auto 26px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);overflow:hidden;border:1px solid #dfeaf5;border-radius:26px;background:linear-gradient(120deg,#f8fbff 0%,#eef6ff 58%,#fff7ef 100%);box-shadow:0 18px 48px rgba(18,61,105,.08)}
.ecb-modern-hero-copy{padding:34px 38px}.ecb-modern-hero h1{margin:12px 0 10px;font-size:clamp(34px,4vw,50px);line-height:1.02;letter-spacing:-.04em;color:#10243d}.ecb-modern-hero p{margin:0;color:#5f7288;font-size:16px;line-height:1.65;max-width:650px}.ecb-hero-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}.ecb-hero-points span{font-size:12.5px;font-weight:800;color:#2d4b68}.ecb-modern-hero-photo{position:relative;min-height:260px;background:#dceafa}.ecb-modern-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.ecb-modern-hero-photo span{position:absolute;right:14px;bottom:14px;background:rgba(10,42,73,.84);color:#fff;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}
.ecb-modern-title{width:min(1180px,calc(100% - 40px));margin:0 auto 14px;display:flex;gap:12px;align-items:flex-start}.ecb-modern-title>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1677d2;color:#fff;font-weight:900;flex:0 0 34px}.ecb-modern-title h2{margin:1px 0 2px;color:#15243a;font-size:24px;letter-spacing:-.02em}.ecb-modern-title p{margin:0;color:#68798d;font-size:13px}
.ecb-modern-catalogue{width:min(1180px,calc(100% - 40px));margin:0 auto 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ecb-modern-service{display:flex;flex-direction:column;background:#fff;border:1px solid #dfeaf5;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(16,59,103,.07);transition:.18s ease}.ecb-modern-service:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(16,59,103,.11);border-color:#bfd7ed}.ecb-modern-service-photo{height:170px;background:#edf5fc;overflow:hidden}.ecb-modern-service-photo img{width:100%;height:100%;display:block;object-fit:cover}.ecb-modern-service-body{padding:16px;display:flex;flex-direction:column;flex:1}.ecb-modern-service-body h3{margin:0 0 6px;font-size:18px;color:#122842}.ecb-modern-service-body>p{margin:0 0 10px;color:#62748a;font-size:13px;line-height:1.5;min-height:58px}.ecb-service-badge{display:inline-flex;align-self:flex-start;padding:6px 9px;border-radius:999px;background:#eaf7ef;color:#16814a;font-size:11px;font-weight:850;margin-bottom:10px}.ecb-modern-service details{margin:0 0 12px;color:#146ebf}.ecb-modern-service summary{font-size:12px;font-weight:800;cursor:pointer}.ecb-modern-service details p{margin:7px 0 0;color:#617387;font-size:12px;line-height:1.45}.ecb-modern-service .ecb-btn{margin-top:auto;width:100%}
.ecb-modern-layout{margin-top:0}.ecb-config-panel{padding:16px;border:1px solid #dfe9f4;border-radius:18px;background:#f9fcff;margin-bottom:16px}.ecb-config-panel h3{margin:0 0 12px;font-size:16px;color:#1b344f}.ecb-time-picker{display:flex;align-items:center;gap:14px}.ecb-time-picker button,.ecb-inline-counter button{width:38px;height:38px;border:0;border-radius:11px;background:#eaf4fe;color:#146fc8;font-size:20px;font-weight:900;cursor:pointer}.ecb-time-picker strong{min-width:110px;text-align:center;font-size:20px;color:#15314f}.ecb-room-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ecb-room-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #dbe7f2;border-radius:14px;padding:12px}.ecb-room-card strong{display:block;font-size:13px;color:#17314d}.ecb-room-card small{display:block;margin-top:3px;color:#6f8194;font-size:11px}.ecb-inline-counter{display:flex;align-items:center;gap:6px}.ecb-inline-counter input{width:42px;height:38px;text-align:center;border:1px solid #d4e1ed;border-radius:10px;background:#fff;font-weight:800;color:#17314d;-moz-appearance:textfield}.ecb-inline-counter input::-webkit-outer-spin-button,.ecb-inline-counter input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ecb-breakdown{display:grid;gap:0;border-top:1px solid #e7eef5;margin-top:10px}.ecb-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #e7eef5}.ecb-breakdown span{color:#75879a;font-size:12px}.ecb-breakdown strong{color:#2b435b;font-size:12px}.ecb-v134 .ecb-payment-note{font-size:12px;line-height:1.5;color:#697b8f}
@media(max-width:980px){.ecb-modern-hero{grid-template-columns:1fr}.ecb-modern-hero-photo{min-height:220px}.ecb-modern-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.ecb-room-cards{grid-template-columns:1fr}}
@media(max-width:680px){.ecb-modern-hero,.ecb-modern-title,.ecb-modern-catalogue{width:min(100% - 24px,1180px)}.ecb-modern-hero-copy{padding:26px 22px}.ecb-modern-hero h1{font-size:34px}.ecb-modern-catalogue{grid-template-columns:1fr}.ecb-modern-service-photo{height:210px}.ecb-modern-service-body>p{min-height:0}.ecb-hero-points{display:grid;grid-template-columns:1fr 1fr}.ecb-time-picker{justify-content:center}.ecb-modern-title h2{font-size:21px}}


/* V1.4.0 — richer service bundles + reliable live room pricing */
.ecb-promo-badge{display:inline-flex;align-self:flex-start;margin:-2px 0 8px;padding:6px 10px;border-radius:999px;background:#32bfd0;color:#fff;font-size:11px;font-weight:900;letter-spacing:.01em;box-shadow:0 8px 18px rgba(50,191,208,.18)}
.ecb-price-row{display:flex;align-items:center;gap:10px;margin:0 0 10px}.ecb-price-row strong{color:#24b6cc;font-size:18px}.ecb-price-row del{color:#6d7480;font-size:13px}
.ecb-bundle-details{border-top:1px solid #e7eef5;padding-top:10px}.ecb-bundle-details summary{list-style:none}.ecb-bundle-details summary::-webkit-details-marker{display:none}.ecb-bundle-details summary:after{content:'+';float:right;font-size:16px}.ecb-bundle-details[open] summary:after{content:'−'}.ecb-bundle-details ul{margin:9px 0 0 18px;padding:0;color:#52677c;font-size:12px;line-height:1.55}.ecb-bundle-details li{margin:3px 0}
.ecb-selected-bundle{margin:-2px 0 16px;border:1px solid #dce8f3;border-radius:16px;background:#fff;overflow:hidden}.ecb-selected-bundle[hidden]{display:none!important}.ecb-bundle-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:#f7fbff;padding:13px 15px;color:#126fc9;font-weight:850;cursor:pointer;text-align:left}.ecb-bundle-content{padding:14px 16px;border-top:1px solid #e6eef6;color:#586d83;font-size:13px;line-height:1.55}.ecb-bundle-content[hidden]{display:none!important}.ecb-bundle-content p{margin:0 0 10px}.ecb-bundle-content ul{margin:0;padding-left:19px}.ecb-bundle-content li{margin:5px 0}
.ecb-inline-counter input{pointer-events:auto!important}.ecb-inline-counter button{position:relative;z-index:2}.ecb-room-card{min-width:0}.ecb-room-card>div:first-child{min-width:0}
@media(max-width:680px){.ecb-promo-badge{margin-top:0}.ecb-price-row{flex-wrap:wrap}}
/* V1.5.0 pricing/configuration refinements */
.ecb-v150 .ecb-room-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.ecb-v150 .ecb-config-note{margin:0 0 14px;color:#64788d;font-size:13px;line-height:1.55}
.ecb-v150 .ecb-room-card{min-height:78px}
.ecb-v150 .ecb-modern-service .ecb-price-row strong{font-size:16px;color:#0874d1}
@media(max-width:760px){.ecb-v150 .ecb-room-cards{grid-template-columns:1fr}}

/* V1.6.0 — full-width modern catalogue, clearer property controls and service grouping */
.ecb-v160{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:clip;
  padding-top:34px;
}
.ecb-v160 .ecb-modern-hero,
.ecb-v160 .ecb-modern-title,
.ecb-v160 .ecb-modern-catalogue,
.ecb-v160 .ecb-layout,
.ecb-v160 .ecb-success{width:min(1240px,calc(100% - 40px));}
.ecb-v160 .ecb-modern-catalogue{display:block;margin-top:18px}
.ecb-service-category{margin:0 0 30px;padding:22px;border:1px solid #dce8f4;border-radius:26px;background:linear-gradient(180deg,#fff 0%,#f9fcff 100%);box-shadow:0 16px 42px rgba(18,58,99,.07)}
.ecb-category-heading{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:0 2px}
.ecb-category-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#e7f3ff,#fff4e8);color:#0d6fca;font-weight:900;font-size:24px;border:1px solid #d8e8f7}
.ecb-category-heading h3{margin:0 0 4px;color:#122842;font-size:24px;letter-spacing:-.025em}
.ecb-category-heading p{margin:0;color:#65798f;font-size:13px;line-height:1.5}
.ecb-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ecb-v160 .ecb-modern-service{border-radius:20px;box-shadow:0 10px 28px rgba(18,58,99,.065);min-width:0}
.ecb-v160 .ecb-modern-service-photo{height:138px}
.ecb-v160 .ecb-modern-service-body{padding:15px}
.ecb-v160 .ecb-modern-service-body h3{font-size:17px;line-height:1.22}
.ecb-v160 .ecb-modern-service-body>p{font-size:12.5px;line-height:1.48;min-height:74px}
.ecb-v160 .ecb-price-row{margin-bottom:8px}
.ecb-v160 .ecb-service-badge{font-size:10.5px;padding:5px 8px}
.ecb-v160 .ecb-bundle-details{margin-top:2px}
.ecb-v160 .ecb-bundle-details summary{font-size:11.5px}
.ecb-v160 .ecb-modern-service .ecb-btn{min-height:44px;padding:11px 14px;border-radius:12px;font-size:13px}

.ecb-v160 .ecb-layout{grid-template-columns:minmax(0,1fr) 370px;gap:26px}
.ecb-v160 .ecb-form{padding:30px}
.ecb-v160 .ecb-summary{padding:26px}
.ecb-config-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}
.ecb-config-heading h3{margin:3px 0 0!important;font-size:20px!important;letter-spacing:-.02em}
.ecb-section-eyebrow{display:block;color:#ff811a;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}
.ecb-config-heading .ecb-config-note{max-width:390px;margin:0!important;text-align:right}

.ecb-afterbuild-package{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center;margin:0 0 18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#0f67be,#1d83df);color:#fff;box-shadow:0 16px 32px rgba(15,103,190,.18)}
.ecb-afterbuild-package[hidden]{display:none!important}
.ecb-afterbuild-price{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:18px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.ecb-afterbuild-price span{font-size:11px;font-weight:800;opacity:.85;text-transform:uppercase;letter-spacing:.06em}
.ecb-afterbuild-price strong{margin-top:4px;font-size:38px;line-height:1;font-weight:900;letter-spacing:-.04em}
.ecb-afterbuild-copy h3{margin:0 0 6px;font-size:21px;color:#fff}
.ecb-afterbuild-copy p{margin:0 0 12px;color:rgba(255,255,255,.9);font-size:13px;line-height:1.5}
.ecb-included-pills{display:flex;flex-wrap:wrap;gap:7px}
.ecb-included-pills span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff;color:#145f9f;font-size:11px;font-weight:850}

.ecb-v160 .ecb-room-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ecb-v160 .ecb-room-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:104px;padding:16px;border-radius:17px;background:#fff;box-shadow:0 5px 14px rgba(23,62,102,.04)}
.ecb-room-copy{display:flex;align-items:center;gap:11px;min-width:0}
.ecb-room-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#edf6ff;color:#126fc9;font-size:11px;font-weight:900;letter-spacing:.02em}
.ecb-room-copy strong{font-size:15px!important}
.ecb-room-copy small{font-size:11px!important;line-height:1.35;color:#718398!important}
.ecb-v160 .ecb-inline-counter{gap:7px;padding:5px;border-radius:13px;background:#f2f7fc}
.ecb-v160 .ecb-inline-counter button{width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid #dce8f4;box-shadow:0 3px 9px rgba(22,75,123,.06)}
.ecb-v160 .ecb-inline-counter input{width:44px;height:40px;border:0;background:transparent;font-size:16px}

.ecb-quote-panel{margin-bottom:18px;padding:22px;border-radius:19px;background:linear-gradient(135deg,#fff9f1,#fff);border:1px solid #ffe1bb}
.ecb-quote-panel[hidden]{display:none!important}
.ecb-quote-panel>span{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#fff0da;color:#a65b12;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.ecb-quote-panel h3{margin:0 0 7px!important;font-size:20px!important;color:#2b3542!important}
.ecb-quote-panel p{margin:0;color:#6e6255;font-size:13px;line-height:1.6}

.ecb-v160 .ecb-extra-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ecb-v160 .ecb-extra-grid span{min-height:74px;padding:11px;border-radius:14px;align-items:flex-start;justify-content:center;text-align:left}
.ecb-v160 .ecb-extra-grid strong{font-size:12.5px;line-height:1.3}
.ecb-v160 .ecb-extra-grid small{margin:2px 0 0;font-size:11px}

@media(max-width:1100px){
  .ecb-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .ecb-v160 .ecb-layout{grid-template-columns:1fr}
  .ecb-v160 .ecb-summary{order:-1;position:relative;top:auto}
  .ecb-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecb-config-heading{display:block}
  .ecb-config-heading .ecb-config-note{text-align:left;max-width:none;margin-top:7px!important}
}
@media(max-width:680px){
  .ecb-v160{width:100%;max-width:100%;margin-left:0;overflow:visible}
  .ecb-v160 .ecb-modern-hero,.ecb-v160 .ecb-modern-title,.ecb-v160 .ecb-modern-catalogue,.ecb-v160 .ecb-layout,.ecb-v160 .ecb-success{width:min(100% - 24px,1240px)}
  .ecb-service-category{padding:14px;border-radius:20px}
  .ecb-category-grid{grid-template-columns:1fr}
  .ecb-category-heading h3{font-size:20px}
  .ecb-v160 .ecb-modern-service{display:grid;grid-template-columns:112px minmax(0,1fr)}
  .ecb-v160 .ecb-modern-service-photo{height:100%;min-height:190px}
  .ecb-v160 .ecb-modern-service-body>p{min-height:0}
  .ecb-afterbuild-package{grid-template-columns:1fr;padding:14px}
  .ecb-afterbuild-price{min-height:auto}
  .ecb-afterbuild-price strong{font-size:32px}
  .ecb-v160 .ecb-room-cards{grid-template-columns:1fr}
  .ecb-v160 .ecb-room-card{min-height:92px;padding:13px}
  .ecb-v160 .ecb-extra-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .ecb-v160 .ecb-modern-service{grid-template-columns:1fr}
  .ecb-v160 .ecb-modern-service-photo{height:185px;min-height:0}
  .ecb-v160 .ecb-extra-grid{grid-template-columns:1fr}
}

/* V1.7.0 - grouped What's Included content. Visual shell/pricing controls intentionally unchanged. */
.ecb-inclusion-list{margin-top:12px}.ecb-inclusion-list h4{margin:14px 0 7px;color:#0d2f57;font-size:12.5px;font-weight:900;letter-spacing:.01em}.ecb-inclusion-list h4:first-child{margin-top:4px}.ecb-inclusion-list ul{margin:0;padding:0;list-style:none!important}.ecb-inclusion-list li{position:relative;margin:5px 0!important;padding-left:19px;color:#52677c;line-height:1.5}.ecb-inclusion-list li:before{content:'✓';position:absolute;left:0;top:0;color:#0a79df;font-weight:900}.ecb-selected-bundle .ecb-inclusion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.ecb-selected-bundle .ecb-inclusion-list h4,.ecb-selected-bundle .ecb-inclusion-list ul{grid-column:auto}.ecb-bundle-details[open]{max-height:420px;overflow:auto;padding-right:5px}.ecb-bundle-details>p{font-size:12px;line-height:1.55;color:#52677c;margin:9px 0}.ecb-bundle-details .ecb-inclusion-list h4{font-size:12px}.ecb-bundle-details .ecb-inclusion-list li{font-size:11.5px}
@media(max-width:760px){.ecb-selected-bundle .ecb-inclusion-list{grid-template-columns:1fr}.ecb-bundle-details[open]{max-height:360px}}

/* V1.7.1 - keep service cards independent when an inclusion panel opens. */
.ecb-v160 .ecb-modern-catalogue{
  align-items:start;
  grid-auto-rows:min-content;
}
.ecb-v160 .ecb-modern-service{
  align-self:start;
  height:auto;
}
.ecb-v160 .ecb-modern-service-body{
  min-height:0;
}
.ecb-v160 .ecb-bundle-details[open]{
  max-height:420px;
  overflow:auto;
  overscroll-behavior:contain;
}

/* V1.8.0 booking management + linked extra-time payments */
.ecb-manage-wrap{max-width:980px;margin:40px auto;padding:0 20px}.ecb-manage-card{padding:32px}.ecb-manage-card h1{margin:8px 0 4px}.ecb-manage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.ecb-manage-grid>div{border:1px solid #dfe8f4;border-radius:16px;padding:16px;background:#f8fbff}.ecb-manage-grid span{display:block;font-size:12px;color:#62748d;margin-bottom:5px}.ecb-manage-grid strong{font-size:17px;color:#0b274d}.ecb-extra-self{margin-top:28px;padding:24px;border-radius:20px;background:#f6faff;border:1px solid #dce8f5}.ecb-extra-self form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.ecb-extra-self label{display:grid;gap:7px;min-width:240px}.ecb-extra-self select{min-height:46px;border:1px solid #cbd9e9;border-radius:12px;padding:0 12px;background:#fff}.ecb-payment-history{margin-top:28px}.ecb-history-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #e4ebf4}.ecb-history-row span{display:block;font-size:12px;color:#6b7d94;margin-top:4px}.ecb-history-row>div:last-child{text-align:right}.ecb-manage-notice{padding:14px 16px;border-radius:12px;background:#fff7e8;border:1px solid #ffd38b;margin:18px 0}.ecb-manage-notice.success{background:#eefaf2;border-color:#bfe7ca}.ecb-manage-notice.error{background:#fff0f0;border-color:#f3b4b4}@media(max-width:760px){.ecb-manage-grid{grid-template-columns:1fr 1fr}.ecb-manage-card{padding:20px}.ecb-extra-self form{display:grid}.ecb-extra-self label{min-width:0}.ecb-history-row{align-items:flex-start}}

/* V1.9.2 live availability */
.ecb-availability-message{display:block;margin-top:7px;color:#64748b;font-size:12px;line-height:1.45}
.ecb-field select:disabled{background:#f4f7fb;color:#7a8ba3;cursor:not-allowed}

/* V1.9.4 customer Manage Booking editor */
.ecb-manage-editor{margin-top:28px;border:1px solid #dfe8f4;border-radius:22px;overflow:hidden;background:#fff}
.ecb-manage-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px 24px 18px;background:linear-gradient(135deg,#f8fbff 0%,#fffaf5 100%);border-bottom:1px solid #e7edf5}
.ecb-manage-editor-head h2{margin:4px 0 6px;color:#10294b}.ecb-manage-editor-head p{margin:0;color:#64748b;max-width:620px}.ecb-edit-status{white-space:nowrap;padding:8px 11px;border-radius:999px;background:#eaf4ff;color:#0d5fb8;font-size:12px;font-weight:800}
.ecb-edit-section{padding:24px;border-bottom:1px solid #e8eef6}.ecb-edit-section h3{margin:0 0 16px;color:#10294b}.ecb-edit-section h4{margin:22px 0 12px;color:#183a64}
.ecb-manage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ecb-manage-fields label{display:grid;gap:7px;min-width:0}.ecb-manage-fields label>span{font-size:13px;font-weight:750;color:#233e62}.ecb-manage-fields input,.ecb-manage-fields select,.ecb-manage-fields textarea{width:100%;min-height:46px;border:1px solid #cbd9e9;border-radius:12px;background:#fff;padding:10px 12px;font:inherit;color:#10294b;box-sizing:border-box}.ecb-manage-fields textarea{min-height:100px;resize:vertical}.ecb-field-wide{grid-column:1/-1}
.ecb-manage-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ecb-manage-checks label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #dce7f3;border-radius:14px;background:#fbfdff;cursor:pointer}.ecb-manage-checks input{margin-top:3px}.ecb-manage-checks span{display:grid;gap:3px}.ecb-manage-checks small{color:#0d5fb8;font-weight:700}
.ecb-manage-savebar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;background:#f8fbff}.ecb-manage-savebar>div{display:grid;gap:4px}.ecb-manage-savebar strong{color:#10294b}.ecb-manage-savebar span{font-size:12px;color:#64748b}
@media(max-width:760px){.ecb-manage-editor-head,.ecb-manage-savebar{display:grid}.ecb-edit-status{justify-self:start}.ecb-manage-fields,.ecb-manage-checks{grid-template-columns:1fr}.ecb-field-wide{grid-column:auto}}

/* V1.9.5 customer change approval + 24-hour appointment lock */
.ecb-manage-savebar{position:sticky;bottom:0;z-index:12;border-top:1px solid #dbe6f2;box-shadow:0 -10px 24px rgba(15,44,78,.08)}
.ecb-manage-submit{background:linear-gradient(135deg,#ff8a18,#f36d0a)!important;color:#fff!important;border:0!important;opacity:1!important;visibility:visible!important;min-width:250px;box-shadow:0 10px 22px rgba(243,109,10,.24)!important}
.ecb-manage-submit:hover{filter:brightness(.98)}
.ecb-manage-fields input:disabled,.ecb-manage-fields select:disabled{background:#f2f5f9!important;color:#7b8898!important;cursor:not-allowed!important;border-color:#dbe3ec!important}
.ecb-manage-notice{display:flex;align-items:flex-start;gap:10px}.ecb-manage-notice strong{color:#7a4700}.ecb-manage-notice span{color:#6d5a3e;line-height:1.5}
@media(max-width:760px){.ecb-manage-submit{width:100%;min-width:0}.ecb-manage-savebar{position:sticky;bottom:0}}


/* V1.9.6 — mobile booking configurator layout repair */
@media (max-width: 680px){
  .ecb-v160 .ecb-layout,
  .ecb-v160 .ecb-modern-layout{width:calc(100% - 16px)!important;margin-left:auto!important;margin-right:auto!important;gap:14px!important;}
  .ecb-v160 .ecb-card{border-radius:18px!important;}
  .ecb-v160 .ecb-form{padding:14px!important;min-width:0!important;overflow:visible!important;}
  .ecb-v160 .ecb-summary{padding:16px!important;min-width:0!important;}
  .ecb-v160 .ecb-selected-bar{gap:8px!important;margin-bottom:14px!important;padding-bottom:12px!important;}
  .ecb-v160 .ecb-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;padding:4px!important;margin-bottom:20px!important;}
  .ecb-v160 .ecb-progress button{min-width:0!important;padding:8px 3px!important;font-size:11px!important;white-space:normal!important;line-height:1.2!important;}
  .ecb-v160 .ecb-progress button span{display:grid!important;margin:0 auto 4px!important;width:28px!important;height:28px!important;}
  .ecb-v160 .ecb-step-heading h2{font-size:24px!important;margin-bottom:16px!important;}
  .ecb-v160 .ecb-config-panel{padding:13px!important;border-radius:16px!important;overflow:hidden!important;}
  .ecb-v160 .ecb-config-heading h3{font-size:21px!important;line-height:1.15!important;}
  .ecb-v160 .ecb-room-cards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;min-width:0!important;}
  .ecb-v160 .ecb-room-card,
  .ecb-v160 .ecb-custom-property-card{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important;width:100%!important;min-width:0!important;min-height:0!important;padding:13px!important;box-sizing:border-box!important;}
  .ecb-v160 .ecb-room-copy{width:100%!important;min-width:0!important;align-items:flex-start!important;}
  .ecb-v160 .ecb-room-copy>div{min-width:0!important;flex:1 1 auto!important;}
  .ecb-v160 .ecb-room-copy strong{display:block!important;font-size:15px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .ecb-v160 .ecb-room-copy small{display:block!important;margin-top:3px!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .ecb-v160 .ecb-room-icon{flex:0 0 38px!important;width:38px!important;height:38px!important;}
  .ecb-v160 .ecb-inline-counter{display:grid!important;grid-template-columns:48px minmax(54px,1fr) 48px!important;gap:8px!important;width:100%!important;box-sizing:border-box!important;padding:5px!important;}
  .ecb-v160 .ecb-inline-counter button{width:48px!important;height:44px!important;min-width:48px!important;max-width:48px!important;margin:0!important;}
  .ecb-v160 .ecb-inline-counter input{width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0 4px!important;text-align:center!important;box-sizing:border-box!important;font-size:17px!important;}
  .ecb-v160 .ecb-extra-grid{grid-template-columns:1fr!important;gap:8px!important;}
  .ecb-v160 .ecb-extra-grid span{min-height:62px!important;padding:11px 12px!important;}
  .ecb-v160 .ecb-frequency-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .ecb-v160 .ecb-frequency-grid span{min-height:56px!important;padding:8px!important;font-size:12px!important;}
  .ecb-v160 .ecb-actions{gap:8px!important;flex-wrap:wrap!important;}
  .ecb-v160 .ecb-actions .ecb-btn{width:100%!important;}
  .ecb-v160 .ecb-summary-list>div{gap:10px!important;align-items:flex-start!important;}
  .ecb-v160 .ecb-summary-list strong{max-width:58%!important;overflow-wrap:anywhere!important;}
  .ecb-v160 .ecb-selected-bundle{border-radius:14px!important;}
  .ecb-v160 .ecb-bundle-toggle{padding:12px!important;}
  .ecb-v160 .ecb-bundle-content{padding:12px!important;}
  .ecb-v160 .ecb-afterbuild-package{gap:12px!important;}
  .ecb-v160 .ecb-included-pills{gap:5px!important;}
  .ecb-v160 .ecb-included-pills span{font-size:10.5px!important;padding:6px 8px!important;}
}

@media (max-width: 390px){
  .ecb-v160 .ecb-layout,
  .ecb-v160 .ecb-modern-layout{width:calc(100% - 10px)!important;}
  .ecb-v160 .ecb-form{padding:10px!important;}
  .ecb-v160 .ecb-config-panel{padding:10px!important;}
  .ecb-v160 .ecb-progress button{font-size:10px!important;}
  .ecb-v160 .ecb-step-heading h2{font-size:22px!important;}
  .ecb-v160 .ecb-room-card,
  .ecb-v160 .ecb-custom-property-card{padding:11px!important;}
}


/* V1.9.7 — focused booking-page experience + collapsed service inclusions */
/* Keep service inclusion content compact until the customer deliberately opens it. */
body.ecb-booking-page .ecb-bundle-details:not([open]) > :not(summary){display:none!important;}
body.ecb-booking-page .ecb-bundle-details summary{display:block;cursor:pointer;user-select:none;}
body.ecb-booking-page .ecb-selected-bundle .ecb-bundle-content[hidden]{display:none!important;}
body.ecb-booking-page .ecb-selected-bundle .ecb-bundle-toggle{cursor:pointer;}

/* On the booking page, remove competing estimate/service-discovery CTAs from the theme shell. */
body.ecb-booking-page .ec-topbar-estimate{display:none!important;}
body.ecb-booking-page .ec-page-hero-actions .ec-page-btn-primary{display:none!important;}
body.ecb-booking-page .ec-page-hero-app{display:none!important;}
body.ecb-booking-page .ec-page-sidebar{display:none!important;}
body.ecb-booking-page .ec-page-bottom-cta{display:none!important;}

/* Reclaim the space after those booking-page-only elements are removed. */
body.ecb-booking-page .ec-page-hero-grid{grid-template-columns:minmax(0,1fr)!important;max-width:900px;}
body.ecb-booking-page .ec-page-content-layout{grid-template-columns:minmax(0,1fr)!important;gap:0!important;}
body.ecb-booking-page .ec-page-content-card{width:100%;max-width:none;}

/* Keep the remaining phone action tidy when the estimate button is removed. */
body.ecb-booking-page .ec-page-hero-actions{justify-content:flex-start;}

@media(max-width:760px){
  body.ecb-booking-page .ec-page-hero-grid{max-width:none;}
  body.ecb-booking-page .ec-page-hero-actions .ec-page-btn-outline{width:100%;justify-content:center;}
}


/* V1.9.8 — booking-page mobile header + navigation repair */
@media (max-width: 900px){
  body.ecb-booking-page .ec-trust-topbar{display:none!important;}
  body.ecb-booking-page .ec-app-header{position:relative!important;z-index:99990!important;background:#fff!important;box-shadow:0 6px 22px rgba(14,42,72,.08)!important;}
  body.ecb-booking-page .ec-app-header-main{background:#fff!important;}
  body.ecb-booking-page .ec-app-header-shell{width:100%!important;min-height:66px!important;padding:8px 14px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
  body.ecb-booking-page .ec-app-brand{display:block!important;flex:0 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;}
  body.ecb-booking-page .ec-app-logo{display:block!important;width:auto!important;max-width:145px!important;margin:0!important;padding:0!important;line-height:0!important;}
  body.ecb-booking-page .ec-official-logo{display:block!important;width:auto!important;max-width:145px!important;max-height:52px!important;height:auto!important;object-fit:contain!important;margin:0!important;}
  body.ecb-booking-page .ec-app-nav{display:none!important;}
  body.ecb-booking-page .ec-app-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;margin-left:auto!important;flex:0 0 auto!important;}
  body.ecb-booking-page .ec-header-search,
  body.ecb-booking-page .ec-app-quote-btn{display:none!important;}
  body.ecb-booking-page .ec-app-menu-toggle{display:flex!important;width:44px!important;height:44px!important;min-width:44px!important;border:1px solid #dbe7f3!important;border-radius:13px!important;background:#fff!important;padding:9px 10px!important;align-items:stretch!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;box-shadow:0 4px 12px rgba(14,42,72,.05)!important;cursor:pointer!important;}
  body.ecb-booking-page .ec-app-menu-toggle span{display:block!important;width:100%!important;height:2px!important;background:#153354!important;border-radius:999px!important;margin:0!important;}

  body.ecb-booking-page .ec-mobile-menu{position:fixed!important;inset:0!important;z-index:100000!important;background:rgba(8,24,43,.54)!important;display:none!important;align-items:stretch!important;justify-content:flex-end!important;overflow:hidden!important;padding:0!important;margin:0!important;}
  body.ecb-booking-page .ec-mobile-menu.is-open{display:flex!important;}
  body.ecb-booking-page .ec-mobile-menu-inner{width:min(88vw,360px)!important;max-width:360px!important;height:100%!important;max-height:none!important;margin:0 0 0 auto!important;padding:16px 16px calc(24px + env(safe-area-inset-bottom))!important;background:#fff!important;overflow-y:auto!important;overflow-x:hidden!important;box-shadow:-20px 0 50px rgba(8,24,43,.22)!important;transform:none!important;}
  body.ecb-booking-page .ec-mobile-menu-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 0 14px!important;border-bottom:1px solid #e7eef6!important;}
  body.ecb-booking-page .ec-mobile-brand{display:block!important;line-height:0!important;max-width:160px!important;}
  body.ecb-booking-page .ec-mobile-logo{display:block!important;width:auto!important;max-width:150px!important;max-height:54px!important;height:auto!important;object-fit:contain!important;}
  body.ecb-booking-page .ec-mobile-menu-close{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;border:1px solid #dbe7f3!important;border-radius:12px!important;background:#f8fbff!important;color:#163b66!important;font-size:24px!important;line-height:1!important;padding:0!important;cursor:pointer!important;}
  body.ecb-booking-page .ec-mobile-menu-label{display:block!important;margin:15px 0 8px!important;color:#7b8da2!important;font-size:11px!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;}
  body.ecb-booking-page .ec-mobile-menu nav{display:block!important;width:100%!important;margin:0!important;padding:0!important;}
  body.ecb-booking-page .ec-mobile-nav,
  body.ecb-booking-page .ec-mobile-nav ul{list-style:none!important;margin:0!important;padding:0!important;}
  body.ecb-booking-page .ec-mobile-nav{display:grid!important;gap:4px!important;width:100%!important;}
  body.ecb-booking-page .ec-mobile-nav>li{display:block!important;margin:0!important;padding:0!important;border-bottom:1px solid #edf2f7!important;}
  body.ecb-booking-page .ec-mobile-nav>li>a{display:flex!important;align-items:center!important;min-height:46px!important;padding:10px 4px!important;color:#173a60!important;text-decoration:none!important;font-size:15px!important;font-weight:800!important;line-height:1.3!important;white-space:normal!important;}
  /* Keep the drawer short and usable: top-level destinations only on mobile. */
  body.ecb-booking-page .ec-mobile-nav>li>ul{display:none!important;}
  body.ecb-booking-page .ec-mobile-contact-card{display:flex!important;align-items:center!important;gap:12px!important;margin-top:18px!important;padding:14px!important;border:1px solid #dce8f4!important;border-radius:16px!important;background:#f7fbff!important;}
  body.ecb-booking-page .ec-mobile-contact-icon{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important;background:#eaf4ff!important;color:#1475cf!important;}
  body.ecb-booking-page .ec-mobile-contact-icon svg{width:20px!important;height:20px!important;display:block!important;}
  body.ecb-booking-page .ec-mobile-contact-card small{display:block!important;color:#75869b!important;font-size:11px!important;}
  body.ecb-booking-page .ec-mobile-contact-card strong{display:block!important;color:#133558!important;font-size:16px!important;margin-top:2px!important;}
  body.ecb-booking-page .ec-mobile-menu-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important;}
  body.ecb-booking-page .ec-mobile-call{display:flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;border-radius:13px!important;background:linear-gradient(135deg,#1779d6,#0f67bf)!important;color:#fff!important;text-decoration:none!important;font-weight:850!important;}
  body.ecb-booking-page .ec-mobile-quote{display:none!important;}
  html.ec-app-locked,body.ec-app-locked{overflow:hidden!important;}
}

@media (max-width: 420px){
  body.ecb-booking-page .ec-app-header-shell{padding:7px 10px!important;min-height:62px!important;}
  body.ecb-booking-page .ec-app-logo,
  body.ecb-booking-page .ec-official-logo{max-width:132px!important;max-height:48px!important;}
  body.ecb-booking-page .ec-mobile-menu-inner{width:92vw!important;padding-left:14px!important;padding-right:14px!important;}
}

/* V1.9.9 - prominent Change Service control */
.ecb-selected-bar .ecb-change-service{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:10px 16px!important;border:1px solid #b9d9f8!important;
  border-radius:14px!important;background:linear-gradient(180deg,#fff,#eef7ff)!important;
  color:#086fcf!important;font-weight:800!important;font-size:14px!important;line-height:1.2;
  box-shadow:0 7px 18px rgba(8,116,220,.10);cursor:pointer;transition:.18s ease;
}
.ecb-selected-bar .ecb-change-service:hover{background:#e7f4ff!important;border-color:#75b8ef!important;transform:translateY(-1px);box-shadow:0 10px 22px rgba(8,116,220,.15)}
.ecb-selected-bar .ecb-change-service:focus-visible{outline:3px solid rgba(255,126,25,.28);outline-offset:2px}
@media(max-width:600px){
 .ecb-selected-bar{align-items:stretch!important;flex-direction:column!important;gap:10px!important}
 .ecb-selected-bar .ecb-change-service{width:100%!important;min-height:48px!important;font-size:15px!important;border-radius:14px!important}
 .ecb-selected-bar .ecb-selected-service{padding:0 2px;font-size:15px;line-height:1.35}
}

/* V1.10.0 - sticky booking header + unmistakable Change Service button */
body.ecb-booking-page .ec-app-header{
  position:sticky!important;
  top:0!important;
  z-index:99990!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(13,45,79,.10)!important;
}
body.admin-bar.ecb-booking-page .ec-app-header{top:32px!important;}
.ecb-selected-bar .ecb-change-service{
  appearance:none!important;-webkit-appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  min-height:46px!important;padding:11px 16px!important;
  border:1px solid #b7d8f6!important;border-radius:14px!important;
  background:linear-gradient(135deg,#eef7ff 0%,#fff 100%)!important;
  color:#086fcf!important;font-size:14px!important;font-weight:850!important;line-height:1.15!important;
  text-decoration:none!important;box-shadow:0 8px 20px rgba(8,116,220,.12)!important;
  cursor:pointer!important;
}
.ecb-selected-bar .ecb-change-service .ecb-change-icon{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;border-radius:9px!important;background:#0874dc!important;color:#fff!important;font-size:16px!important;font-weight:900!important;}
.ecb-selected-bar .ecb-change-service .ecb-change-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important;}
.ecb-selected-bar .ecb-change-service .ecb-change-copy small{display:block!important;color:#698099!important;font-size:10px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;}
.ecb-selected-bar .ecb-change-service .ecb-change-copy strong{display:block!important;color:#086fcf!important;font-size:14px!important;font-weight:900!important;}
.ecb-selected-bar .ecb-change-service .ecb-change-arrow{margin-left:2px!important;font-size:17px!important;font-weight:900!important;}
@media(max-width:782px){body.admin-bar.ecb-booking-page .ec-app-header{top:46px!important;}}
@media(max-width:600px){
  .ecb-selected-bar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important;}
  .ecb-selected-bar .ecb-change-service{width:100%!important;justify-content:flex-start!important;min-height:54px!important;padding:10px 12px!important;}
  .ecb-selected-bar .ecb-change-arrow{margin-left:auto!important;}
  .ecb-selected-bar .ecb-selected-service{display:block!important;padding:0 4px!important;font-size:15px!important;font-weight:900!important;color:#173652!important;}
}

/* V1.15.16: inline validation for estimate request */
.ecb-field.ecb-has-error input,.ecb-field.ecb-has-error select{border-color:#bf2e35!important;box-shadow:0 0 0 2px rgba(191,46,53,.09)}
.ecb-inline-error{display:block;margin-top:6px;color:#ad2029;font-size:13px;font-weight:700;line-height:1.45}
.ecb-consent.ecb-has-error{flex-wrap:wrap}.ecb-consent .ecb-inline-error{flex-basis:100%;margin-left:24px}

/* V1.15.17 staging estimate confirmation policy */
.ecb-policy-block{max-width:980px;margin:30px auto;text-align:left;display:grid;gap:22px}.ecb-policy-card{padding:30px 32px;background:#f5f7ff;border:1px solid #dce5ff;border-left:6px solid #255cdb;border-radius:20px}.ecb-policy-card:nth-child(2){background:#fff;border:1px solid #e6ebf4}.ecb-policy-card h3{color:#15377e;font-size:25px;margin:16px 0}.ecb-policy-card p{font-size:16px;line-height:1.8;color:#334155;margin:0}.ecb-policy-tag{display:inline-block;padding:9px 16px;background:#e4edff;border-radius:99px;color:#18377c;font-weight:800;font-size:13px}.ecb-policy-tag-warn{background:#fff2c9;color:#815900}.ecb-policy-warning{background:#fff8e6;border:1px solid #f6d993;border-radius:14px;padding:20px;margin-top:20px;line-height:1.8;color:#694b08}.ecb-success:has(.ecb-policy-block){width:min(1100px,calc(100% - 24px))}@media(max-width:720px){.ecb-policy-card{padding:20px 18px}.ecb-policy-card h3{font-size:21px}}

/* V1.15.19: individual room/appliance enquiry uses selection without pricing */
.ecb-targeted-enquiry .ecb-room-price{color:#62748c!important}

/* V1.15.24: prominent first-step enquiry field, only for enquiry-only service */
#ecb-booking-app .ecb-direct-enquiry-panel{padding:25px;border:1px solid #c7dcf5;background:#f5faff;border-radius:18px;}
#ecb-booking-app .ecb-direct-enquiry-panel .ecb-field{display:block;margin-top:18px;}
#ecb-booking-app .ecb-direct-enquiry-panel .ecb-field>span{display:block;font-weight:800;color:#142d4b;margin-bottom:10px;}
#ecb-booking-app .ecb-direct-enquiry-panel textarea{display:block;box-sizing:border-box;width:100%;min-height:220px;padding:17px 18px;border:1px solid #b8cee7;border-radius:14px;background:#fff;color:#172c47;font:inherit;font-size:16px;line-height:1.55;resize:vertical;}
#ecb-booking-app .ecb-direct-enquiry-panel textarea:focus{outline:3px solid rgba(13,111,204,.18);border-color:#0d6fcc;}

/* V1.15.27: tailored commercial enquiries */
.ecb-commercial-requirements{margin:16px 0;padding:24px;border:1px solid #d9e7f8;border-radius:18px;background:#f5faff}
.ecb-commercial-requirements .ecb-two-col{margin:16px 0}
.ecb-commercial-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 18px}
.ecb-commercial-check{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border:1px solid #dce7f5;border-radius:10px;background:#fff;font-size:14px;line-height:1.4}
.ecb-commercial-check input{margin-top:3px;flex:none}
@media(max-width:650px){.ecb-commercial-checks{grid-template-columns:1fr}.ecb-commercial-requirements{padding:16px}}

/* V1.15.28: aligned, readable commercial enquiry choices */
#ecb-booking-app .ecb-commercial-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 20px;}
#ecb-booking-app .ecb-commercial-check{display:flex;align-items:center;gap:12px;min-width:0;min-height:54px;box-sizing:border-box;padding:12px 14px;border:1px solid #dce7f5;border-radius:12px;background:#fff;color:#1b334f;font-size:13px;line-height:1.45;cursor:pointer;overflow-wrap:anywhere;}
#ecb-booking-app .ecb-commercial-check input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;display:block;flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#1478d4;}
#ecb-booking-app .ecb-commercial-check:has(input:checked){border-color:#1478d4;background:#eff7ff;}
@media(max-width:650px){#ecb-booking-app .ecb-commercial-checks{grid-template-columns:1fr;}}

/* Emergency cleaning: prominent first-row service card. */
.ecb-modern-service[data-service-card="emergency"]{border:2px solid #dc2626!important;background:#fff7f4!important;box-shadow:0 12px 30px rgba(185,28,28,.14)!important}
.ecb-modern-service[data-service-card="emergency"] .ecb-modern-service-body{background:#fff7f4}
.ecb-modern-service[data-service-card="emergency"] .ecb-promo-badge{background:#b91c1c!important;color:#fff!important}
.ecb-modern-service[data-service-card="emergency"] .ecb-choose-service{background:#c62828!important;border-color:#c62828!important;color:white!important}
.ecb-modern-service[data-service-card="emergency"] .ecb-price-row strong{color:#b91c1c!important}
/* V1.15.31 premium visual refinement: presentation only; no pricing or form logic changes. */
#ecb-booking-app.ecb-shell{--blue:#086bc5;--blue2:#084f9e;--ink:#102744;--muted:#596d85;--line:#dce8f4;background:radial-gradient(ellipse 85% 440px at 50% 0%,#dfeeff 0%,#f4f9ff 64%,#fff 100%);}
#ecb-booking-app .ecb-modern-hero{border:1px solid #d6e6f6;border-radius:30px;box-shadow:0 22px 65px rgba(13,49,91,.12);}
#ecb-booking-app .ecb-modern-hero h1{letter-spacing:-.045em;line-height:1.08;}
#ecb-booking-app .ecb-service-category{border:1px solid #dce7f2;border-radius:28px;background:linear-gradient(155deg,#fff 65%,#f5f9ff);box-shadow:0 18px 50px rgba(14,48,88,.065);}
#ecb-booking-app .ecb-category-heading h3{letter-spacing:-.035em;}
#ecb-booking-app .ecb-modern-service{border:1px solid #dce7f2;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(15,51,88,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
@media(hover:hover){#ecb-booking-app .ecb-modern-service:hover{transform:translateY(-4px);border-color:#a8cbed;box-shadow:0 20px 42px rgba(15,64,117,.14);}}
#ecb-booking-app .ecb-modern-service:focus-within{outline:2px solid #76b7f5;outline-offset:2px;}
#ecb-booking-app .ecb-modern-service img{object-fit:cover;}
#ecb-booking-app .ecb-modern-service-body{background:#fff;}
#ecb-booking-app .ecb-card{border-radius:25px;border-color:#dce8f4;box-shadow:0 18px 56px rgba(15,53,96,.085);}
#ecb-booking-app .ecb-progress{border-radius:17px;background:#eef4fa;border:1px solid #e2edf8;}
#ecb-booking-app .ecb-progress button{border-radius:12px;transition:background .2s ease,color .2s ease;}
#ecb-booking-app .ecb-config-panel,#ecb-booking-app .ecb-commercial-requirements{border-radius:20px;border-color:#dbe8f6;background:#f7fbff;}
#ecb-booking-app .ecb-room-card,#ecb-booking-app .ecb-commercial-check{border-radius:16px;border-color:#dbe8f5;background:#fff;}
#ecb-booking-app .ecb-commercial-check{min-height:60px;gap:12px;padding:13px 15px;}
#ecb-booking-app .ecb-field input,#ecb-booking-app .ecb-field select,#ecb-booking-app .ecb-field textarea{border-radius:13px;border:1px solid #cfdff0;background:#fff;min-height:46px;transition:border-color .18s ease,box-shadow .18s ease;}
#ecb-booking-app .ecb-field textarea{min-height:120px;}
#ecb-booking-app .ecb-field input:focus,#ecb-booking-app .ecb-field select:focus,#ecb-booking-app .ecb-field textarea:focus{outline:0;border-color:#1780d7;box-shadow:0 0 0 4px rgba(23,128,215,.13);}
#ecb-booking-app .ecb-btn{border-radius:13px;box-shadow:0 8px 22px rgba(11,106,200,.19);transition:transform .18s ease,box-shadow .18s ease;}
@media(hover:hover){#ecb-booking-app .ecb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,106,200,.24);}}
#ecb-booking-app button:focus-visible,#ecb-booking-app a:focus-visible{outline:3px solid #f8a23c;outline-offset:3px;}
#ecb-booking-app .ecb-summary{border:1px solid #d9e8f5;border-radius:24px;box-shadow:0 20px 45px rgba(12,45,88,.08);}
#ecb-booking-app .ecb-direct-enquiry-panel{border-radius:20px;background:linear-gradient(155deg,#f1f8ff,#fff);}
#ecb-booking-app .ecb-modern-service[data-service-card="emergency"]{background:#fff8f6!important;border-color:#e15346!important;box-shadow:0 14px 34px rgba(176,42,34,.12)!important;}
@media(max-width:760px){#ecb-booking-app .ecb-service-category{padding:15px;border-radius:20px;}#ecb-booking-app .ecb-modern-service{border-radius:16px;}#ecb-booking-app .ecb-card{border-radius:19px;}#ecb-booking-app .ecb-commercial-requirements{padding:16px;}#ecb-booking-app .ecb-modern-hero{border-radius:20px;}#ecb-booking-app .ecb-actions .ecb-btn{min-height:48px;}}
@media(prefers-reduced-motion:reduce){#ecb-booking-app .ecb-modern-service,#ecb-booking-app .ecb-btn{transition:none!important;transform:none!important;}}

/* V1.15.32 - HIGH-VISIBILITY PREMIUM CATALOGUE REBUILD (visual only) */
#ecb-booking-app.ecb-shell{background:linear-gradient(180deg,#eaf4ff 0%,#f6faff 450px,#ffffff 950px)!important;padding-top:38px!important}
#ecb-booking-app .ecb-modern-hero{background:linear-gradient(120deg,#092b50 0%,#075eae 63%,#0b78d0 100%)!important;color:#fff!important;border:0!important;border-radius:28px!important;box-shadow:0 28px 65px rgba(4,48,100,.22)!important}
#ecb-booking-app .ecb-modern-hero-copy{padding:48px 48px!important}
#ecb-booking-app .ecb-modern-hero h1{color:#fff!important;font-size:clamp(38px,4vw,58px)!important;letter-spacing:-.05em!important}
#ecb-booking-app .ecb-modern-hero p{color:#e0efff!important;font-size:17px!important}
#ecb-booking-app .ecb-hero-points span{color:#fff!important;background:rgba(255,255,255,.12)!important;padding:8px 11px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important}
#ecb-booking-app .ecb-modern-title{margin-top:40px!important;margin-bottom:24px!important}
#ecb-booking-app .ecb-modern-title h2{font-size:clamp(25px,2.5vw,34px)!important;font-weight:850!important}
#ecb-booking-app .ecb-service-category{padding:28px!important;border-radius:26px!important;background:#fff!important;border:1px solid #d8e8f6!important;box-shadow:0 22px 60px rgba(12,56,101,.09)!important}
#ecb-booking-app .ecb-category-heading{padding-bottom:20px!important;margin-bottom:22px!important;border-bottom:1px solid #e4edf7!important}
#ecb-booking-app .ecb-category-heading h3{font-size:25px!important;font-weight:850!important}
#ecb-booking-app .ecb-category-grid{gap:20px!important;align-items:stretch!important}
#ecb-booking-app .ecb-modern-service{position:relative!important;border:1px solid #dce8f3!important;border-radius:22px!important;background:#fff!important;box-shadow:0 12px 30px rgba(18,57,100,.09)!important;overflow:hidden!important;transition:transform .22s ease,box-shadow .22s ease!important}
#ecb-booking-app .ecb-modern-service-photo{height:185px!important;overflow:hidden!important;background:#e6f1fc!important}
#ecb-booking-app .ecb-modern-service-photo img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .35s ease!important}
#ecb-booking-app .ecb-modern-service-body{padding:22px 20px 20px!important;gap:5px!important}
#ecb-booking-app .ecb-modern-service-body h3{font-size:18px!important;font-weight:850!important;line-height:1.32!important;min-height:48px!important;color:#112a48!important}
#ecb-booking-app .ecb-modern-service-body>p{font-size:13px!important;line-height:1.65!important;color:#526780!important}
#ecb-booking-app .ecb-promo-badge{font-size:11px!important;padding:7px 12px!important;border-radius:999px!important;background:#dff5fa!important;color:#075f7e!important;box-shadow:none!important}
#ecb-booking-app .ecb-service-badge{font-size:11px!important;padding:7px 10px!important;border-radius:9px!important}
#ecb-booking-app .ecb-modern-service .ecb-price-row strong{font-size:18px!important;font-weight:900!important;color:#0a74c9!important}
#ecb-booking-app .ecb-modern-service details{border-top:1px solid #e8eef6!important;padding-top:12px!important;margin-top:7px!important}
#ecb-booking-app .ecb-modern-service .ecb-choose-service{border-radius:13px!important;min-height:51px!important;margin-top:auto!important;background:linear-gradient(110deg,#0865bb,#0d86e0)!important;font-size:14px!important;box-shadow:0 10px 20px rgba(10,102,189,.19)!important}
#ecb-booking-app .ecb-modern-service[data-service-card="emergency"]{background:#fff8f6!important;border:2px solid #d92d2d!important;box-shadow:0 16px 36px rgba(186,32,32,.16)!important}
#ecb-booking-app .ecb-modern-service[data-service-card="emergency"] .ecb-modern-service-body{background:#fff8f6!important}
#ecb-booking-app .ecb-modern-service[data-service-card="emergency"] .ecb-promo-badge{background:#b91c1c!important;color:white!important}
#ecb-booking-app .ecb-modern-service[data-service-card="emergency"] .ecb-choose-service{background:linear-gradient(110deg,#b91c1c,#e13737)!important;box-shadow:0 10px 20px rgba(185,28,28,.2)!important}
#ecb-booking-app .ecb-modern-service[data-service-card="emergency"] .ecb-price-row strong{color:#b91c1c!important}
#ecb-booking-app .ecb-form,#ecb-booking-app .ecb-summary{border-radius:24px!important;box-shadow:0 20px 52px rgba(17,58,105,.11)!important}
#ecb-booking-app .ecb-room-card,#ecb-booking-app .ecb-commercial-check{border-radius:15px!important;box-shadow:0 4px 12px rgba(19,65,110,.045)!important}
#ecb-booking-app .ecb-btn:focus-visible,#ecb-booking-app button:focus-visible{outline:3px solid #ffb44c!important;outline-offset:3px!important}
@media(hover:hover){#ecb-booking-app .ecb-modern-service:hover{transform:translateY(-7px)!important;box-shadow:0 24px 46px rgba(13,61,115,.18)!important}#ecb-booking-app .ecb-modern-service:hover .ecb-modern-service-photo img{transform:scale(1.045)!important}}
@media(max-width:720px){#ecb-booking-app.ecb-shell{padding-top:16px!important}#ecb-booking-app .ecb-modern-hero-copy{padding:30px 24px!important}#ecb-booking-app .ecb-modern-hero h1{font-size:36px!important}#ecb-booking-app .ecb-service-category{padding:16px!important;border-radius:20px!important}#ecb-booking-app .ecb-category-grid{gap:15px!important}#ecb-booking-app .ecb-modern-service-photo{height:195px!important}#ecb-booking-app .ecb-modern-service-body h3{min-height:0!important}}
@media(prefers-reduced-motion:reduce){#ecb-booking-app .ecb-modern-service,#ecb-booking-app .ecb-modern-service-photo img{transition:none!important}}

/* V1.15.33: compact mobile service catalogue; full description after selection. */
#ecb-booking-app .ecb-selected-description{margin:0 0 18px;padding:17px 19px;background:#f0f7ff;border:1px solid #d4e7f9;border-left:4px solid #1179cf;border-radius:15px;color:#183654;}
#ecb-booking-app .ecb-selected-description[hidden]{display:none!important;}
#ecb-booking-app .ecb-selected-description strong{display:block;font-size:13px;margin-bottom:5px;}
#ecb-booking-app .ecb-selected-description p{margin:0;font-size:14px;line-height:1.65;white-space:pre-line;color:#425b75;}
@media(max-width:720px){
  #ecb-booking-app .ecb-modern-service{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;align-items:stretch!important;min-width:0!important;}
  #ecb-booking-app .ecb-modern-service-photo{height:auto!important;min-height:0!important;position:relative!important;}
  #ecb-booking-app .ecb-modern-service-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;}
  #ecb-booking-app .ecb-modern-service-body{padding:13px 12px!important;min-width:0!important;gap:3px!important;}
  #ecb-booking-app .ecb-modern-service-body h3{font-size:15px!important;line-height:1.3!important;min-height:0!important;margin:4px 0!important;}
  #ecb-booking-app .ecb-modern-service-body>p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;overflow:hidden!important;min-height:0!important;max-height:2.9em!important;font-size:12px!important;line-height:1.45!important;margin:0 0 5px!important;}
  #ecb-booking-app .ecb-modern-service .ecb-price-row strong{font-size:14px!important;}
  #ecb-booking-app .ecb-modern-service details{margin:4px 0!important;padding-top:6px!important;}
  #ecb-booking-app .ecb-modern-service .ecb-choose-service{min-height:40px!important;padding:9px!important;font-size:12px!important;}
  #ecb-booking-app .ecb-promo-badge{font-size:10px!important;padding:5px 7px!important;}
  #ecb-booking-app .ecb-service-badge{padding:4px 7px!important;font-size:10px!important;margin-bottom:5px!important;}
  #ecb-booking-app .ecb-category-grid{gap:12px!important;}
  #ecb-booking-app .ecb-category-heading h3{font-size:19px!important;}
}
@media(max-width:360px){#ecb-booking-app .ecb-modern-service{grid-template-columns:96px minmax(0,1fr)!important;}}

/* V1.15.34: narrow-screen cards use a readable full-width layout.
   Explicitly override the V1.15.33 horizontal split that squeezed card text. */
@media (max-width: 760px) {
  #ecb-booking-app .ecb-category-grid,
  #ecb-booking-app .ecb-modern-catalogue {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
  }
  #ecb-booking-app .ecb-service-category {
    min-width:0!important;
    padding:12px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #ecb-booking-app .ecb-modern-service {
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  #ecb-booking-app .ecb-modern-service-photo {
    position:relative!important;
    display:block!important;
    height:138px!important;
    min-height:138px!important;
    width:100%!important;
    flex:none!important;
  }
  #ecb-booking-app .ecb-modern-service-photo img {
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  #ecb-booking-app .ecb-modern-service-body {
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    padding:14px 16px 16px!important;
    box-sizing:border-box!important;
  }
  #ecb-booking-app .ecb-modern-service-body h3 {
    font-size:17px!important;
    line-height:1.32!important;
    overflow-wrap:break-word!important;
    min-height:0!important;
  }
  #ecb-booking-app .ecb-modern-service-body>p {
    font-size:13px!important;
    line-height:1.45!important;
    -webkit-line-clamp:2!important;
    line-clamp:2!important;
    max-height:2.9em!important;
    margin-bottom:8px!important;
  }
  #ecb-booking-app .ecb-modern-service .ecb-choose-service {
    display:block!important;
    width:100%!important;
    min-height:44px!important;
    font-size:13px!important;
    margin-top:10px!important;
  }
  #ecb-booking-app .ecb-modern-service details {margin-top:5px!important;}
}

/* V1.15.35: mobile booking form and all service detail steps: prevent horizontal clipping. */
@media (max-width: 760px) {
  #ecb-booking-app, #ecb-booking-app.ecb-shell, #ecb-booking-app .ecb-layout,
  #ecb-booking-app .ecb-modern-layout, #ecb-booking-app .ecb-form,
  #ecb-booking-app .ecb-step, #ecb-booking-app .ecb-summary {
    min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
  }
  #ecb-booking-app .ecb-layout, #ecb-booking-app .ecb-modern-layout {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  }
  #ecb-booking-app .ecb-step > *, #ecb-booking-app .ecb-form > *,
  #ecb-booking-app .ecb-two-col > *, #ecb-booking-app .ecb-field,
  #ecb-booking-app .ecb-notice, #ecb-booking-app .ecb-config-panel,
  #ecb-booking-app .ecb-quote-panel, #ecb-booking-app .ecb-direct-enquiry-panel {
    min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
  }
  #ecb-booking-app .ecb-two-col {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}
  #ecb-booking-app .ecb-notice {display:block!important;padding:14px!important;overflow-wrap:anywhere!important;word-break:normal!important;}
  #ecb-booking-app .ecb-notice strong {display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.4!important;margin-bottom:7px!important;}
  #ecb-booking-app .ecb-notice span {display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.55!important;}
  #ecb-booking-app .ecb-field input, #ecb-booking-app .ecb-field select,
  #ecb-booking-app .ecb-field textarea {display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;font-size:16px!important;}
  #ecb-booking-app .ecb-field small, #ecb-booking-app .ecb-field > span {overflow-wrap:anywhere!important;white-space:normal!important;}
  #ecb-booking-app .ecb-step-heading h2 {overflow-wrap:anywhere!important;}
  #ecb-booking-app .ecb-actions {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;position:static!important;padding:12px 0 0!important;}
  #ecb-booking-app .ecb-actions .ecb-btn {width:100%!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;padding:12px 9px!important;font-size:14px!important;line-height:1.3!important;}
  #ecb-booking-app .ecb-actions-end {grid-template-columns:minmax(0,1fr)!important;}
  #ecb-booking-app .ecb-progress {min-width:0!important;width:100%!important;box-sizing:border-box!important;}
  #ecb-booking-app .ecb-consent {min-width:0!important;align-items:flex-start!important;}
  #ecb-booking-app .ecb-consent input {flex:0 0 auto!important;}
  #ecb-booking-app .ecb-consent span {min-width:0!important;overflow-wrap:anywhere!important;}
  #ecb-booking-app .ecb-summary-list>div {min-width:0!important;}
}
@media (max-width: 370px) {
  #ecb-booking-app .ecb-form {padding:12px!important;}
  #ecb-booking-app .ecb-actions .ecb-btn {font-size:13px!important;}
}

/* V1.15.36: exclusive catalogue / service-detail views.
   Specificity beats mobile display:grid!important rules from previous releases. */
#ecb-booking-app #ecb-catalogue[hidden],
#ecb-booking-app #ecb-configurator[hidden],
#ecb-booking-app .ecb-modern-hero[hidden],
#ecb-booking-app .ecb-modern-title[hidden] {display:none!important;}
#ecb-booking-app.ecb-service-selected #ecb-catalogue,
#ecb-booking-app.ecb-service-selected .ecb-modern-hero,
#ecb-booking-app.ecb-service-selected .ecb-modern-title {display:none!important;}

/* V1.15.41: Theme-safe visible room quantity counters.
   VamTam/theme input rules were clipping the numeric values in the stepper. */
#ecb-booking-app .ecb-inline-counter input[type="number"] {
  display:block!important;
  position:relative!important;
  flex:0 0 48px!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline-offset:2px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  color:#17314d!important;
  -webkit-text-fill-color:#17314d!important;
  opacity:1!important;
  font-family:Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:800!important;
  font-style:normal!important;
  line-height:42px!important;
  letter-spacing:normal!important;
  text-indent:0!important;
  text-align:center!important;
  direction:ltr!important;
  transform:none!important;
  box-shadow:none!important;
  -webkit-appearance:textfield!important;
  appearance:textfield!important;
}
#ecb-booking-app .ecb-inline-counter {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:none!important;
  gap:7px!important;
  width:auto!important;
  min-width:0!important;
  overflow:visible!important;
}
#ecb-booking-app .ecb-inline-counter button {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
  line-height:1!important;
}
@media(max-width:680px){
  #ecb-booking-app .ecb-inline-counter{width:100%!important;justify-content:space-between!important;}
  #ecb-booking-app .ecb-inline-counter input[type="number"]{flex:1 1 auto!important;width:60px!important;max-width:none!important;min-width:48px!important;}
}

/* V1.15.48: category tabs and mobile catalogue polish; no pricing or form changes. */
#ecb-booking-app .ecb-catalogue-tabs{display:flex;gap:10px;margin:18px 0 22px;flex-wrap:wrap}
#ecb-booking-app .ecb-catalogue-tab{appearance:none;border:1px solid #cbdff2;background:#fff;color:#15375c;border-radius:13px;padding:13px 20px;font-size:15px;font-weight:750;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
#ecb-booking-app .ecb-catalogue-tab.is-active{background:#075bb2;color:#fff;border-color:#075bb2;box-shadow:0 6px 16px rgba(7,91,178,.16)}
#ecb-booking-app [data-service-category][hidden]{display:none!important}
#ecb-booking-app .ecb-catalogue-tab:focus-visible{outline:3px solid #ff9b35;outline-offset:2px}
@media(max-width:600px){#ecb-booking-app .ecb-catalogue-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#ecb-booking-app .ecb-catalogue-tab{font-size:13px;padding:12px 8px;min-height:48px}#ecb-booking-app .ecb-choose-service{min-height:44px}#ecb-booking-app .ecb-step .ecb-next{min-height:48px}}

/* V1.15.49: Keep category selector aligned with the centered catalogue. */
#ecb-booking-app .ecb-catalogue-tabs{
  box-sizing:border-box;
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px;
  margin:0 auto 22px!important;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
}
@media(max-width:680px){
  #ecb-booking-app .ecb-catalogue-tabs{
    width:calc(100% - 24px)!important;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
}

/* V1.15.50: compact, accessible service picker. */
#ecb-booking-app .ecb-service-picker{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto 22px;padding:24px;border:1px solid #d8e8f6;border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(12,56,101,.06)}
#ecb-booking-app .ecb-service-picker label{display:block;font-size:19px;font-weight:800;color:#173455;margin-bottom:12px}
#ecb-booking-app .ecb-service-picker select{width:100%;min-height:52px;padding:12px 16px;border:1px solid #b8d1e9;border-radius:12px;background:#fff;color:#183653;font-size:16px}
#ecb-booking-app .ecb-service-picker p{font-size:13px;color:#61758a;margin:10px 0 0}
#ecb-booking-app .ecb-picker-intro{max-width:1180px;margin:0 auto 22px;padding:24px;border-radius:18px;background:#f2f7fd;color:#355575}
#ecb-booking-app .ecb-service-picker[hidden],#ecb-booking-app .ecb-picker-intro[hidden]{display:none!important}
#ecb-booking-app.ecb-service-selected .ecb-catalogue-tabs{margin-top:18px!important}
@media(max-width:680px){#ecb-booking-app .ecb-service-picker{padding:16px;border-radius:16px}#ecb-booking-app .ecb-service-picker label{font-size:16px}}

/* V1.15.51: focused category selection and clearer first-step UX. */
#ecb-booking-app .ecb-catalogue-tabs{width:min(100% - 24px,1180px)!important;margin:20px auto 16px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
#ecb-booking-app .ecb-catalogue-tab{display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;gap:14px!important;min-height:92px!important;padding:20px 24px!important;border:2px solid #d6e5f5!important;border-radius:18px!important;background:#fff!important;color:#183653!important;box-shadow:0 8px 22px rgba(17,59,99,.05)!important;white-space:normal!important}
#ecb-booking-app .ecb-catalogue-tab .ecb-tab-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#eaf4ff;color:#0764b5;font-size:27px}
#ecb-booking-app .ecb-catalogue-tab strong{display:block;font-size:18px;line-height:1.3}
#ecb-booking-app .ecb-catalogue-tab small{display:block;margin-top:5px;font-size:13px;font-weight:500;color:#61758a}
#ecb-booking-app .ecb-catalogue-tab.is-active{border-color:#086ac0!important;background:#eff7ff!important;box-shadow:0 0 0 3px rgba(0,106,193,.1)!important}
#ecb-booking-app .ecb-catalogue-tab:focus-visible,#ecb-booking-app .ecb-service-picker select:focus-visible{outline:3px solid #ff9b42!important;outline-offset:3px}
#ecb-booking-app .ecb-service-picker{max-width:1180px!important;background:linear-gradient(135deg,#fff,#f5faff)!important;border:2px solid #d8e9f9!important;padding:28px!important}
#ecb-booking-app .ecb-picker-step{font-size:12px;letter-spacing:.08em;font-weight:800;color:#0870be;margin-bottom:10px}
#ecb-booking-app .ecb-service-picker select{min-height:60px!important;font-weight:650;border:2px solid #b7d5ed!important}
#ecb-booking-app .ecb-picker-intro{width:100%;box-sizing:border-box;line-height:1.8;border:1px dashed #b9d5ee!important}
#ecb-booking-app .ecb-modern-title{margin-bottom:6px!important}
@media(max-width:680px){#ecb-booking-app .ecb-catalogue-tabs{grid-template-columns:1fr!important;gap:10px!important}#ecb-booking-app .ecb-catalogue-tab{min-height:78px!important;padding:14px 16px!important}#ecb-booking-app .ecb-catalogue-tab strong{font-size:16px}#ecb-booking-app .ecb-service-picker{padding:18px!important}}

/* V1.15.52 - Staging-only compact form and clear selected service / estimate presentation. */
#ecb-booking-app .ecb-v152-selection-heading{display:flex;align-items:center;gap:14px;padding:17px 19px;margin:0 0 14px;border-radius:16px;border:1px solid #bfdef5;background:linear-gradient(110deg,#eff8ff,#fff)}
#ecb-booking-app .ecb-v152-check{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#0c66bb;color:white;font-weight:900;font-size:19px}
#ecb-booking-app .ecb-v152-selection-heading small{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#38678f;font-weight:800}
#ecb-booking-app .ecb-v152-selection-heading h2{font-size:21px;line-height:1.2;margin:4px 0;color:#102f50;font-weight:850}
#ecb-booking-app .ecb-v152-selection-heading p{font-size:12px;margin:0;color:#526b80}
#ecb-booking-app .ecb-form .ecb-step-heading{margin-bottom:12px!important}
#ecb-booking-app .ecb-form .ecb-config-panel{padding:15px!important;margin-bottom:12px!important}
#ecb-booking-app .ecb-form .ecb-config-heading{margin-bottom:12px!important}
#ecb-booking-app .ecb-form .ecb-room-cards{gap:10px!important}
#ecb-booking-app .ecb-form .ecb-subheading{margin-top:16px!important;margin-bottom:10px!important}
#ecb-booking-app .ecb-form .ecb-extra-grid{gap:9px!important}
#ecb-booking-app .ecb-form .ecb-step-message{margin-top:16px!important}
#ecb-booking-app .ecb-summary .ecb-breakdown{background:#f4f9fe;border:1px solid #e0edf8;border-radius:12px;padding:10px 12px;margin:14px 0}
#ecb-booking-app .ecb-summary .ecb-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid #e3edf7;font-size:12px}
#ecb-booking-app .ecb-summary .ecb-breakdown>div:last-child{border-bottom:0}
#ecb-booking-app .ecb-summary .ecb-breakdown>div strong{white-space:nowrap;color:#103b67}
#ecb-booking-app .ecb-summary .ecb-total{border-top:2px solid #bad9f1!important;padding-top:16px!important}
@media(max-width:680px){#ecb-booking-app .ecb-v152-selection-heading{padding:13px;gap:10px}#ecb-booking-app .ecb-v152-selection-heading h2{font-size:18px}#ecb-booking-app .ecb-form .ecb-config-panel{padding:12px!important}}

/* V1.15.53 - optional property condition */
#ecb-booking-app .ecb-property-condition{display:flex;flex-direction:column;gap:8px;margin:16px 0;padding:16px;border:1px solid #d6e6f8;border-radius:14px;background:#f5faff}
#ecb-booking-app .ecb-property-condition select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbdced;border-radius:10px;background:#fff;color:#153354}
#ecb-booking-app .ecb-property-condition small{color:#536b83;line-height:1.5}

/* V1.15.54: visible, accessible step-one selection validation */
.ecb-selection-validation{padding:12px 14px;margin:12px 0;border:1px solid #e9a4a4;border-radius:10px;background:#fff3f3;color:#842525;font-size:14px;font-weight:600;line-height:1.5}

/* V1.15.58: readable estimate and mobile shortcut (staging) */
#ecb-booking-app .ecb-summary .ecb-breakdown>div:nth-last-child(2){border-top:1px solid #b9d7f0;margin-top:5px;padding-top:11px;font-weight:700}
#ecb-booking-app .ecb-summary .ecb-breakdown>div:last-child{font-weight:700;color:#164c83}
#ecb-booking-app .ecb-mobile-estimate{display:none}
@media(max-width:767px){
 #ecb-booking-app.ecb-service-selected{padding-bottom:90px}
 #ecb-booking-app .ecb-mobile-estimate:not([hidden]){position:fixed;display:flex;bottom:0;left:0;right:0;z-index:900;align-items:center;justify-content:space-between;gap:12px;padding:11px max(14px,env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#fff;border-top:1px solid #c9dced;box-shadow:0 -5px 22px #1234561a}
 #ecb-booking-app .ecb-mobile-estimate-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
 #ecb-booking-app .ecb-mobile-estimate-copy small{font-size:11px;color:#566c83}
 #ecb-booking-app .ecb-mobile-estimate-copy strong{font-size:19px;color:#0b5eb6;white-space:nowrap}
 #ecb-booking-app #ecb-mobile-estimate-action{border:0;border-radius:10px;background:#0865be;color:#fff;font-size:13px;font-weight:700;padding:13px 16px;min-height:44px;cursor:pointer}
}

/* V1.15.59: Improve contrast of After-Build package explanatory copy. */
.ecb-afterbuild-copy p{color:#fff!important;opacity:1!important;font-size:14px!important;line-height:1.65!important;font-weight:600!important}
.ecb-afterbuild-copy p strong{color:#fff!important;font-weight:800!important}

/* V1.15.62: compact mobile estimate request action; no changes to form logic. */
.ecb-mobile-submit-total{display:none}
@media(max-width:720px){
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-actions{display:grid!important;grid-template-columns:minmax(0,0.32fr) minmax(0,0.68fr)!important;gap:10px!important;align-items:stretch!important}
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-actions .ecb-back{font-size:14px!important;padding:13px 8px!important}
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-actions .ecb-submit{font-size:0!important;line-height:1.2!important;padding:14px 8px!important;min-height:56px!important;white-space:nowrap!important;overflow:hidden!important}
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-actions .ecb-submit::before{content:"Request my estimate";font-size:clamp(12px,3.4vw,16px);font-weight:800;white-space:nowrap}
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-actions .ecb-submit .ecb-submit-price{display:none!important}
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-mobile-submit-total{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;margin-top:10px;border:1px solid #d6e6f8;border-radius:12px;background:#f4f9ff;color:#304a65;font-size:13px}
  #ecb-booking-app .ecb-step[data-step="3"] .ecb-mobile-submit-total strong{font-size:18px;color:#0864b7;white-space:nowrap}
}
