:root{--connect-primary:#0878f9;--connect-black:#0d0d0d;--connect-panel:#161616;--connect-panel-2:#202020;--connect-line:#363636;--connect-white:#fff;--connect-muted:#b5b5b5}.connect-booking-page,.connect-order-pay{background:var(--connect-black)!important}.connect-booking-page .content,.connect-order-pay .content{background:var(--connect-black)!important}.connect-booking-portal{position:relative;min-height:70vh;padding:150px 24px 96px;background:radial-gradient(circle at 85% 5%,rgba(227,9,126,.13),transparent 28%),var(--connect-black);color:var(--connect-white);font-family:Figtree,Arial,sans-serif}.connect-portal-shell{width:min(1180px,100%);margin:0 auto}.connect-portal-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;margin-bottom:34px}.connect-eyebrow,.connect-finance-kicker{display:block;margin-bottom:12px;color:var(--connect-primary);font:700 13px/1.2 Montserrat,Arial,sans-serif;letter-spacing:1.4px}.connect-booking-portal h1,.connect-booking-portal h2,.connect-pay-heading h2{margin:0;color:#fff;font-family:Barlow,Figtree,Arial,sans-serif;text-transform:uppercase}.connect-booking-portal h1{max-width:850px;font-size:clamp(38px,5.6vw,72px);font-weight:700;line-height:.98}.connect-portal-intro p{max-width:720px;margin:22px 0 0;color:#c8c8c8;font-size:17px;line-height:1.65}.connect-booking-status{flex:none;margin-top:8px;padding:9px 15px;border:1px solid rgba(227,9,126,.65);color:#fff;font:700 11px/1 Montserrat,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase}.connect-booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:24px;align-items:start}.connect-booking-main{display:grid;gap:24px}.connect-panel,.connect-acceptance-panel,.connect-financial-panel,.connect-state-card{border:1px solid var(--connect-line);background:linear-gradient(145deg,#1a1a1a,#121212);box-shadow:0 24px 70px rgba(0,0,0,.22)}.connect-panel,.connect-acceptance-panel{padding:32px}.connect-panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:28px}.connect-panel-heading>span{display:grid;width:31px;height:31px;place-items:center;background:var(--connect-primary);color:#fff;font:700 11px/1 Montserrat,Arial,sans-serif}.connect-panel-heading h2{font-size:25px;line-height:1.1}.connect-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin:0}.connect-details-grid>div{padding:18px 0;border-top:1px solid var(--connect-line)}.connect-details-grid dt,.connect-confirmed-summary span{margin-bottom:7px;color:#929292;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.connect-details-grid dd{margin:0;color:#fff;font-size:16px;font-weight:600;line-height:1.4}.connect-job-description{color:#d7d7d7;font-size:16px;line-height:1.75}.connect-job-description p:last-child{margin-bottom:0}.connect-financial-panel{position:sticky;top:118px;overflow:hidden;padding:31px}.connect-money-row{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:24px 0;border-top:1px solid var(--connect-line)}.connect-money-row span{align-self:center;color:#bdbdbd;font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.connect-money-row strong{color:#fff;font:700 29px/1 Barlow,Figtree,sans-serif}.connect-money-row small{grid-column:1/-1;color:#777;font-size:11px;text-transform:uppercase}.connect-money-row--deposit{margin:0 -31px;padding:27px 31px;background:var(--connect-primary);border:0}.connect-money-row--deposit span,.connect-money-row--deposit strong{color:#fff}.connect-money-row--deposit strong{font-size:40px}.connect-secure-note{display:flex;gap:12px;margin-top:20px;color:#aaa;font-size:12px;line-height:1.5}.connect-secure-note>span{color:var(--connect-primary)}.connect-secure-note p{margin:0}.connect-secure-note strong{color:#fff;text-transform:uppercase}.connect-acceptance-panel{margin-top:24px}.connect-acceptance-form{display:grid;gap:14px}.connect-check-row{position:relative;display:flex;align-items:flex-start;gap:14px;padding:17px 18px;border:1px solid var(--connect-line);color:#ddd;cursor:pointer;line-height:1.5}.connect-check-row input{position:absolute;opacity:0;pointer-events:none}.connect-checkbox{flex:0 0 21px;width:21px;height:21px;border:2px solid #777}.connect-check-row input:checked+.connect-checkbox{border-color:var(--connect-primary);background:var(--connect-primary);box-shadow:inset 0 0 0 4px #171717}.connect-check-row:focus-within{outline:2px solid var(--connect-primary);outline-offset:2px}.connect-check-row a{color:#fff;text-decoration:underline;text-underline-offset:3px}.connect-primary-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:10px;padding:12px 24px;border:0;border-radius:0;background:var(--connect-primary);color:#fff!important;font:700 13px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.6px;text-align:center;text-decoration:none!important;text-transform:uppercase;cursor:pointer;transition:filter .2s ease,transform .2s ease}.connect-primary-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.connect-primary-button:disabled{background:#555;color:#aaa!important;cursor:not-allowed;transform:none}.connect-form-footnote,.connect-help-text{margin:0;color:#8d8d8d;font-size:12px;text-align:center}.connect-notice{margin:0 0 24px;padding:15px 18px;border-left:4px solid var(--connect-primary);background:#28151f;color:#fff}.connect-state-card{max-width:880px;margin:0 auto;padding:clamp(34px,6vw,70px);text-align:center}.connect-state-card h1{max-width:none}.connect-state-lead{max-width:670px;margin:24px auto;color:#d2d2d2;font-size:19px;line-height:1.65}.connect-confirmed-icon{display:grid;width:62px;height:62px;margin:0 auto 26px;place-items:center;border-radius:50%;background:var(--connect-primary);color:#fff;font-size:33px}.connect-confirmed-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:36px 0 26px;border:1px solid var(--connect-line);text-align:left}.connect-confirmed-summary>div{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--connect-line)}.connect-confirmed-summary strong{color:#fff;font-size:17px}.connect-state-card--unavailable p{max-width:600px;margin:24px auto;color:#bbb;font-size:17px;line-height:1.6}.connect-secondary-link{display:inline-block;color:#fff!important;text-decoration:underline;text-underline-offset:4px}.connect-reference{font-size:13px!important;text-transform:uppercase}.connect-order-pay .container_inner{width:min(980px,calc(100% - 48px));padding:150px 0 90px}.connect-order-pay .woocommerce{padding:34px;border:1px solid var(--connect-line);background:#161616;color:#fff}.connect-order-pay .woocommerce table.shop_table{border-color:var(--connect-line);color:#fff}.connect-order-pay .woocommerce table.shop_table td,.connect-order-pay .woocommerce table.shop_table th{border-color:var(--connect-line);color:#fff}.connect-order-pay #payment{background:#202020}.connect-order-pay #payment div.payment_box{background:#2a2a2a;color:#ddd}.connect-order-pay #payment div.payment_box:before{border-bottom-color:#2a2a2a}.connect-order-pay #place_order{min-height:54px;border:0!important;border-radius:0!important;background:var(--connect-primary)!important;color:#fff!important;font:700 12px Montserrat,Arial,sans-serif!important;letter-spacing:.5px;text-transform:uppercase}.connect-pay-heading{margin:8px 0 25px;padding-top:26px;border-top:1px solid var(--connect-line)}.connect-pay-heading>span{color:var(--connect-primary);font:700 12px Montserrat,Arial,sans-serif;letter-spacing:1px}.connect-pay-heading h2{margin:8px 0;font-size:31px}.connect-pay-heading p{color:#aaa}.connect-order-pay .woocommerce-error,.connect-order-pay .woocommerce-info,.connect-order-pay .woocommerce-message{background:#262626;color:#fff}.connect-order-pay .woocommerce a{color:var(--connect-primary)}@media(max-width:1000px){.connect-booking-portal{padding-top:120px}.connect-booking-layout{grid-template-columns:1fr}.connect-financial-panel{position:static}.connect-portal-intro{flex-direction:column}.connect-booking-status{margin-top:0}}@media(max-width:620px){.connect-booking-portal{padding:100px 14px 62px}.connect-panel,.connect-acceptance-panel,.connect-financial-panel{padding:23px 19px}.connect-details-grid{grid-template-columns:1fr}.connect-money-row--deposit{margin:0 -19px;padding:25px 19px}.connect-portal-intro{margin-bottom:24px}.connect-portal-intro p{font-size:15px}.connect-confirmed-summary{grid-template-columns:1fr}.connect-state-card{padding:34px 20px}.connect-check-row{padding:15px 13px}.connect-primary-button{font-size:11px}.connect-order-pay .container_inner{width:calc(100% - 28px);padding-top:110px}.connect-order-pay .woocommerce{padding:20px 14px;overflow-x:auto}}
/* Mobile-first customer flow: quote first, then numbered booking sections. */
@media(max-width:1000px){.connect-booking-layout{display:flex!important;flex-direction:column}.connect-financial-panel{position:static!important;width:100%;box-sizing:border-box;order:-1}}
.connect-booking-portal{padding-top:60px}.connect-money-row--deposit{align-items:baseline}.connect-money-row--deposit span,.connect-money-row--deposit strong{align-self:baseline;line-height:1.1}.connect-money-row--deposit strong{text-align:right}.connect-secure-note p{min-width:0}.connect-booking-status{align-self:flex-start}
@media(max-width:620px){.connect-booking-portal{padding-top:34px}.connect-portal-intro{gap:14px}.connect-booking-status{margin-top:0}.connect-money-row--deposit{grid-template-columns:minmax(0,1fr) auto;gap:10px}.connect-money-row--deposit strong{font-size:32px}}

/* Keep the quote summary compact and easy to scan. */
.connect-financial-panel{padding:24px}
.connect-money-row{padding:16px 0}
.connect-money-row--deposit{min-height:58px;margin:0 -24px;padding:0 24px;box-sizing:border-box;align-items:baseline}.connect-money-row--deposit span,.connect-money-row--deposit strong{align-self:baseline;line-height:1}
@media(max-width:620px){.connect-financial-panel{padding:20px 18px}.connect-money-row{padding:14px 0}.connect-money-row--deposit{min-height:58px;margin:0 -18px;padding:0 18px;align-items:baseline}.connect-money-row--deposit span,.connect-money-row--deposit strong{align-self:baseline;line-height:1}}

/* Full-width portal actions include their padding inside the parent width. */
.connect-primary-button{box-sizing:border-box;max-width:100%}

/* Keep the preceding card shadow behind, rather than over, the acceptance content. */
.connect-acceptance-panel{position:relative;z-index:2;isolation:isolate;margin-top:30px}
