/* [sd_webinar_booking] — one compact 1080px booking box with three tinted columns.
   Colours can be changed per Divi section by overriding these variables. */
.sdp-booking,.sdp-portrait-wrap,.sdp-booking-details,.sdp-bk-link-button,.sdp-bk-confirm{--bk-navy:var(--sdb-dark,#01203E);--bk-text:#3A5573;--bk-pink:var(--sdb-highlight,#E3007F);--bk-orange:var(--sdb-button-1,#E85D04);--bk-orange-dark:var(--sdb-button-hover,#C2410C);--bk-blue:var(--sdb-link,#0055B8);--bk-purple:var(--sdb-primary,#6100AD);--bk-line:#DFE6EF;--bk-field:#F5F8FC;--bk-col-1:linear-gradient(165deg,#FFF3EA 0%,#FDEAF4 100%);--bk-col-2:#F2F7FD;--bk-col-3:#FFFFFF;font-family:var(--sdp-font,'Poppins',sans-serif);color:var(--bk-navy)}
.sdp-booking{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,2fr);max-width:1080px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:0 18px 50px rgba(1,32,62,.13),0 2px 6px rgba(1,32,62,.05);overflow:hidden;box-sizing:border-box;font-size:14px;line-height:1.45}
.sdp-booking *,.sdp-booking *::before,.sdp-booking *::after{box-sizing:border-box}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;line-height:1.45!important;max-width:none;width:auto;border-radius:0}
/* Columns */
.sdp-bk-intro{background:var(--bk-col-1);padding:26px 24px}
.sdp-bk-panel{padding:24px 22px}
.sdp-bk-tickets{background:var(--bk-col-2);border-left:1px solid var(--bk-line);border-right:1px solid var(--bk-line)}
.sdp-bk-details{background:var(--bk-col-3)}
/* Left: details */
.sdp-bk-eyebrow{color:var(--bk-pink);font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:11.5px;margin:0 0 4px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-title{font-family:'League Spartan',sans-serif;font-weight:800;font-size:36px;line-height:1.02;letter-spacing:-.01em;color:var(--bk-navy);margin:0 0 10px;padding:0}
.sdp-bk-dot{color:var(--bk-orange)}
.sdp-bk-lead{font-size:14px;line-height:1.5;color:var(--bk-text);margin:0 0 18px}
.sdp-bk-facts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sdp-bk-facts li{display:flex;align-items:center;gap:11px;font-weight:600;font-size:14px;line-height:1.3;color:var(--bk-navy);margin:0;padding:0}
.sdp-bk-fact-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff;box-shadow:0 2px 6px rgba(1,32,62,.08)}
.sdp-tone-blue{color:var(--bk-blue)}.sdp-tone-pink{color:var(--bk-pink)}.sdp-tone-purple{color:var(--bk-purple)}
/* Step headings with coloured number badges */
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-step{display:flex;align-items:center;gap:9px;font-family:'League Spartan',sans-serif;font-size:21px;font-weight:800;line-height:1.15;color:var(--bk-navy);margin:0 0 14px;padding:0}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-step-small{font-size:17px;margin-top:6px}
.sdp-bk-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:14px;font-weight:800;font-family:'Poppins',sans-serif}
.sdp-num-pink{background:var(--bk-pink)}.sdp-num-blue{background:var(--bk-blue)}.sdp-num-purple{background:var(--bk-purple)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-form .sdp-bk-group{border:0;margin:0 0 6px;padding:0;min-width:0;background:none}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-form .sdp-bk-group>legend{float:left;width:100%;padding:0}:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-group>legend+*{clear:both}
.sdp-bk-hint{font-size:12px;color:var(--bk-text);margin:-8px 0 8px}
/* Ticket and add-on cards */
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-card{display:grid!important;grid-template-columns:auto 42px minmax(0,1fr) auto;align-items:center;gap:10px;border:1.5px solid var(--bk-line);border-radius:12px;padding:10px 12px;margin:0 0 9px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-card:hover{border-color:#B9C7D8;box-shadow:0 3px 10px rgba(1,32,62,.06)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-card:has(.sdp-bk-input:checked){border:2px solid var(--bk-orange);background:#FFF6EE;padding:9.5px 11.5px;box-shadow:0 4px 14px rgba(232,93,4,.12)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-card:has(.sdp-bk-input:focus-visible){outline:3px solid var(--bk-blue);outline-offset:2px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-input{width:18px!important;height:18px!important;min-height:18px!important;margin:0;accent-color:var(--bk-blue)}
.sdp-bk-visual{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.sdp-bk-visual.sdp-tone-blue{background:#E1ECF8}.sdp-bk-visual.sdp-tone-pink{background:#FCE2EF;color:var(--sdb-highlight-deep,#C00069)}.sdp-bk-visual.sdp-tone-purple{background:#EEE3FA}
.sdp-bk-thumb{width:100%;height:100%;object-fit:cover}
.sdp-bk-text{display:grid;gap:2px;min-width:0}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-name{font-size:14px;font-weight:700;color:var(--bk-navy);line-height:1.25}
.sdp-bk-desc,.sdp-bk-desc p{font-size:12px;line-height:1.4;color:var(--bk-text);margin:0}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-ticket-timing{font-size:11px}
.sdp-bk-price{text-align:right;white-space:nowrap;line-height:1.1}
.sdp-bk-price strong{font-size:18px;font-weight:800;color:var(--bk-navy)}
.sdp-bk-price del{display:block;font-size:11.5px;color:#657384}
/* Help box */
.sdp-bk-help{display:flex;gap:11px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:12px;background:linear-gradient(120deg,#E3EEFA,#EDE4FA);border:1px solid #D3E1F2}
.sdp-bk-help-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--bk-blue);box-shadow:0 2px 6px rgba(1,32,62,.08)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-help strong{display:block;font-size:13.5px;font-weight:700;color:var(--bk-navy)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-help p{font-size:12px;line-height:1.45;color:var(--bk-text);margin:2px 0 4px}
.sdp-bk-help a{font-size:12.5px;font-weight:700;color:var(--bk-blue)}
.sdp-bk-help a:focus-visible{outline:2px solid var(--bk-blue);outline-offset:2px}
/* Right: compact details form */
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details p{margin:0 0 10px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details label{display:block;font-weight:600;font-size:12.5px;color:var(--bk-navy)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details input:not([type=checkbox]):not([type=radio]),:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details select,:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details textarea{display:block;width:100%;margin-top:4px;min-height:38px!important;height:38px;padding:7px 11px!important;background:var(--bk-field);border:1.5px solid #DCE3EC;border-radius:9px;font:inherit;font-size:13.5px!important;font-weight:400;color:var(--bk-navy)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details textarea{height:auto;min-height:70px!important}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details :is(input,select,textarea):focus-visible{outline:2px solid var(--bk-blue);outline-offset:1px;background:#fff;border-color:var(--bk-blue)}
.sdp-bk-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-phone-row{display:grid;grid-template-columns:minmax(98px,.75fr) minmax(0,1.4fr);gap:8px;align-items:end;margin-bottom:4px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-phone-row label{font-size:12.5px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-phone-help{display:block;font-size:11px!important;line-height:1.35!important;margin:0 0 10px;color:var(--bk-text)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-privacy{margin:0 0 8px!important}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-privacy label{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:12px!important;line-height:1.4!important}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-privacy a{font-size:12px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-privacy input[type=checkbox]{flex:none;width:16px;height:16px;margin-top:1px;accent-color:var(--bk-blue)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details fieldset{border:1.5px solid var(--bk-line);border-radius:9px;padding:8px 10px;margin:0 0 10px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details fieldset legend{font-size:12.5px;font-weight:600;padding:0 4px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-required-note{font-size:11px!important;color:var(--bk-text);margin:-6px 0 10px!important}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-form-error{font-size:12.5px;padding:9px 11px}
/* Button and secure note */
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-button,.sdp-bk-link-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:10px 20px;margin-top:4px;border:0;border-radius:999px;background:linear-gradient(90deg,var(--bk-orange),var(--sdb-button,#E05300));color:var(--sdb-button-text,#fff)!important;font-family:'Poppins',sans-serif;font-size:15.5px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(232,93,4,.28);transition:background .15s,transform .15s}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-button:hover,.sdp-bk-link-button:hover{background:linear-gradient(90deg,var(--bk-orange-dark),var(--sdb-button-hover-2,#B03A0A));transform:translateY(-1px)}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-button:focus-visible,.sdp-bk-link-button:focus-visible{outline:3px solid var(--bk-navy);outline-offset:3px}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-button:disabled{opacity:.6;cursor:not-allowed}
.sdp-bk-link-button{display:inline-flex;width:auto}
.sdp-bk-message:empty{display:none}
.sdp-bk-secure{display:flex;gap:9px;align-items:center;font-size:11.5px;line-height:1.4;color:var(--bk-text);margin:10px 0 0!important}
.sdp-bk-secure .sdp-icon{flex:none;color:var(--bk-navy)}
.sdp-bk-offer{grid-column:1/-1;font-size:12.5px;padding:10px 24px;border-top:1px solid var(--bk-line);background:#FAFBFD}
:is(.sdp-booking,.sdp-portrait-wrap) .sdp-offer-code{margin:0}
.sdp-bk-closed{align-self:stretch;background:var(--bk-col-2);display:flex;align-items:center;font-size:15px}
.sdp-booking-details .sdp-bk-facts li{font-size:15px}
/* Tablet: details across the top, ticket and form side by side. Phone: one column. */
@media(max-width:900px){.sdp-booking{grid-template-columns:1fr;border-radius:18px}.sdp-bk-intro{padding:22px}.sdp-bk-facts{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media(max-width:640px){:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-form{grid-template-columns:1fr}.sdp-bk-tickets{border:0;border-top:1px solid var(--bk-line);border-bottom:1px solid var(--bk-line)}.sdp-bk-panel{padding:20px 16px}.sdp-bk-intro{padding:20px 16px}:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-title{font-size:30px}.sdp-bk-row{grid-template-columns:1fr}.sdp-bk-facts{grid-template-columns:1fr}:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details input:not([type=checkbox]):not([type=radio]),:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-details select{font-size:16px!important}:is(.sdp-booking,.sdp-portrait-wrap) .sdp-bk-button{font-size:14.5px;padding:10px 16px;white-space:nowrap}}

/* Portrait forms: registration form on webinar pages / [sd_webinar_register], email-first step. Same look, one column. */
.sdp-portrait-wrap{max-width:560px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:0 18px 50px rgba(1,32,62,.13),0 2px 6px rgba(1,32,62,.05);overflow:hidden;font-family:'Poppins',sans-serif;color:var(--bk-navy);font-size:14px;line-height:1.45;box-sizing:border-box}
.sdp-portrait-wrap *,.sdp-portrait-wrap *::before,.sdp-portrait-wrap *::after{box-sizing:border-box}
.sdp.sdp-registration.sdp-portrait{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;max-width:none;width:100%;font-size:14px!important;line-height:1.45!important}
.sdp-pt-head{background:var(--bk-col-1);padding:20px 22px 14px}
.sdp-portrait-wrap .sdp-pt-title{font-family:'League Spartan',sans-serif;font-size:26px;font-weight:800;line-height:1.1;color:var(--bk-navy);margin:2px 0 0;padding:0}
.sdp-portrait-wrap .sdp-form-error{margin:10px 0 0}
.sdp-portrait-wrap .sdp-bk-tickets{border:0;border-top:1px solid var(--bk-line);border-bottom:1px solid var(--bk-line);padding:18px 22px 12px}
.sdp-portrait-wrap .sdp-bk-details{padding:18px 22px 20px}
.sdp-portrait-wrap .sdp-bk-card-only{grid-template-columns:42px minmax(0,1fr) auto;border:2px solid var(--bk-orange);background:#FFF6EE;cursor:default}
.sdp-portrait-wrap .sdp-order-summary{background:#F5F8FC;border:1px solid var(--bk-line);border-radius:12px;padding:10px 14px;margin:4px 0 12px}
.sdp-portrait-wrap .sdp-order-summary h4{font-family:'League Spartan',sans-serif;font-size:15px;font-weight:800;margin:0 0 4px}
.sdp-portrait-wrap .sdp-order-lines p,.sdp-portrait-wrap .sdp-order-total{display:flex;justify-content:space-between;gap:12px;margin:0;padding:5px 0;font-size:13px}
.sdp-portrait-wrap .sdp-order-lines p{border-bottom:1px solid var(--bk-line)}
.sdp-portrait-wrap .sdp-order-total{font-size:15px;border-top:0;padding-top:7px}
.sdp-portrait-wrap .sdp-order-message{font-size:11.5px;margin:0;color:var(--bk-text)}
.sdp-portrait-wrap .sdp-order-message:empty{display:none}
.sdp-portrait-wrap .sdp-pt-note{font-size:11.5px;color:var(--bk-text);margin:0 0 8px!important}
.sdp-portrait-wrap .sdp-bk-offer{border-top:1px solid var(--bk-line);padding:10px 22px}
/* Webinar detail pages put the form in a narrower column: let the card fill it. */
.sdp-booking-panel .sdp-portrait-wrap{max-width:none}
.sdp-booking-panel .sdp-registration.sdp-portrait{box-shadow:none!important}
/* Email-first step */
.sdp-portrait-wrap .sdp-email-step{padding:18px 22px 20px!important;margin:0!important;border:0!important;box-shadow:none!important;background:#fff!important;border-radius:0!important}
.sdp-portrait-wrap .sdp-email-step label{display:block;font-weight:600;font-size:12.5px}
.sdp-portrait-wrap .sdp-email-step input[type=email]{display:block;width:100%;margin-top:4px;min-height:38px!important;height:38px;padding:7px 11px!important;background:var(--bk-field);border:1.5px solid #DCE3EC;border-radius:9px;font-size:13.5px!important}
.sdp-portrait-wrap .sdp-email-step p{font-size:12px;color:var(--bk-text);margin:8px 0 10px}
@media(max-width:640px){.sdp-portrait-wrap{border-radius:18px}.sdp-portrait-wrap .sdp-bk-tickets,.sdp-portrait-wrap .sdp-bk-details,.sdp-pt-head{padding-left:16px;padding-right:16px}.sdp-portrait-wrap .sdp-email-step input[type=email]{font-size:16px!important}}
.sdp-portrait-wrap .sdp-registration .sdp-bk-group{border:0!important;padding:0!important;margin:0 0 6px!important;background:none!important;border-radius:0}
.sdp-portrait-wrap .sdp-bk-group>legend{float:left;width:100%;padding:0!important}.sdp-portrait-wrap .sdp-bk-group>legend+*{clear:both}
/* Webinar page "Register" button matches the booking button. */
.sdp-webinar-detail .sdp-event-register-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:999px;background:linear-gradient(90deg,var(--sdb-button-1,#E85D04),var(--sdb-button,#E05300));color:#fff!important;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 6px 16px rgba(232,93,4,.28)}
.sdp-webinar-detail .sdp-event-register-link:hover{background:linear-gradient(90deg,var(--sdb-button-hover,#C2410C),var(--sdb-button-hover-2,#B03A0A))}
.sdp-webinar-detail .sdp-event-register-link:focus-visible{outline:3px solid var(--sdb-dark,#01203E);outline-offset:3px}

/* Same webinar on several dates: choose a date above the booking area */
.sdp-dates{max-width:1080px;margin:0 auto}
.sdp-dates-pick{margin:0 0 18px;padding:0;border:0;min-width:0}
.sdp-dates-pick legend{margin-bottom:10px;padding:0;font-family:'League Spartan',sans-serif;font-size:22px;font-weight:700;color:var(--sdb-dark,#01203E)}
.sdp-dates-list{display:flex;flex-wrap:wrap;gap:10px}
.sdp-date-option{position:relative;display:grid;gap:2px;min-width:190px;padding:12px 16px 12px 44px;border:2px solid #D5DEEA;border-radius:14px;background:#fff;color:var(--sdb-dark,#01203E);cursor:pointer}
.sdp-date-option input{position:absolute;left:16px;top:16px;width:18px;height:18px;margin:0;accent-color:var(--sdb-button,#E05300)}
.sdp-date-option:has(input:checked){border-color:var(--sdb-button,#E05300);background:#FFF6EE;box-shadow:0 4px 14px rgba(224,83,0,.14)}
.sdp-date-option:has(input:focus-visible){outline:3px solid var(--sdb-dark,#01203E);outline-offset:2px}
.sdp-date-day{font-weight:700;font-size:15.5px}.sdp-date-time{font-size:14px;color:#33475B}
.sdp-dates[data-js="1"] .sdp-date-panel:not(.is-active){display:none}
.sdp-dates[data-js="0"] .sdp-date-panel+.sdp-date-panel{margin-top:24px}
.sdp-facts-more a{color:inherit;text-decoration:underline}
