/* Opt-in page classes keep existing sites and forms unchanged. */
.bdoq-page-v2 { --bdoq-purple:#88279a; --bdoq-line:#dedee4; --bdoq-ink:#222532; }
.bdoq-page-v2 > .elementor-container { max-width:960px !important; }
.bdoq-page-v2 .elementor-heading-title { color:var(--bdoq-ink); }
.bdoq-page-v2 .bdoq-intro { text-align:center; margin-bottom:28px; color:#60616b; }
.bdoq-page-v2 .bdoq-items-panel { border:1px solid var(--bdoq-line); border-radius:7px; padding:24px; margin-bottom:24px; }
.bdoq-page-v2 .bdoq-items-title { font-size:21px; color:var(--bdoq-ink); margin:0 0 20px; }
.bdoq-page-v2 .bdoq-items-title span { display:inline-flex; justify-content:center; align-items:center; width:29px; height:29px; border-radius:50%; color:white; background:var(--bdoq-purple); margin-right:10px; font-size:16px; }
.bdoq-page-v2 .bdo-quote-wrapper { margin:0; }
.bdoq-page-v2 .bdoq-totals-box { background:#f7f0fa; }
.bdoq-page-v2 .bdoq-form-v2 { color:var(--bdoq-ink); }
.bdoq-form-v2 .elementor-form-fields-wrapper { row-gap:0; }
.bdoq-form-v2 .bdoq-form-section { display:flex; flex-wrap:wrap; min-width:0; width:100%; border:1px solid #dedee4; border-radius:7px; padding:10px 18px 18px; margin:0 0 28px; }
.bdoq-form-v2 .bdoq-form-section > legend { float:none; width:auto; max-width:100%; padding:0 8px; margin:0 0 12px; color:#222532; font-size:21px; font-weight:700; line-height:1.5; }
.bdoq-form-v2 .bdoq-form-section > .elementor-field-group { margin-bottom:20px; padding-right:8px; padding-left:8px; }
.bdoq-form-v2 .elementor-field-group[hidden], .bdoq-form-v2 [hidden] { display:none !important; }
.bdoq-form-v2 .elementor-field-label { font-size:15px; font-weight:600; padding-bottom:7px; color:#30313b; }
.bdoq-form-v2 input.elementor-field, .bdoq-form-v2 textarea.elementor-field, .bdoq-form-v2 select.elementor-field { border:1px solid #ccd0da; border-radius:4px; background:#fff; color:#222532; font-size:16px; box-shadow:none; min-height:44px; }
.bdoq-form-v2 input.elementor-field:focus, .bdoq-form-v2 textarea.elementor-field:focus, .bdoq-form-v2 select.elementor-field:focus { outline:2px solid #88279a; outline-offset:2px; }
.bdoq-form-v2 .bdoq-subheading { font-size:18px; margin:6px 0 0; color:#222532; font-weight:700; }
.bdoq-form-v2 .bdoq-help { color:#62616d; font-size:14px; margin:0; }
.bdoq-form-v2 .bdoq-venue-help { background:#f7f0fa; color:#6d237b; padding:12px; border-radius:4px; }
.bdoq-form-v2 .bdoq-service-cards > label { width:100%; }
.bdoq-form-v2 .bdoq-service-cards .elementor-field-subgroup { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:100%; }
.bdoq-form-v2 .bdoq-service-cards .elementor-field-option { display:flex; align-items:center; position:relative; gap:10px; border:1px solid var(--bdoq-field-border,#ccd0da); border-radius:5px; background:white; padding:0; min-height:49px; }
.bdoq-form-v2 .bdoq-service-cards .elementor-field-option input { position:absolute; left:14px; z-index:1; width:17px; height:17px; margin:0; accent-color:#88279a; }
.bdoq-form-v2 .bdoq-service-cards .elementor-field-option label { width:100%; padding:14px 14px 14px 42px; cursor:pointer; font-size:15px; line-height:1.4; }
.bdoq-form-v2 .bdoq-service-cards .elementor-field-option.is-selected { border-color:#88279a; background:#f7f0fa; }
.bdoq-form-v2 input[type=checkbox] { accent-color:#88279a; }
.bdoq-form-v2 .bdoq-address-choice { width:50%; }
.bdoq-form-v2 .bdoq-address-choice .elementor-field-subgroup { width:100%; height:100%; }
.bdoq-form-v2 .bdoq-address-choice .elementor-field-option { display:flex; align-items:center; position:relative; width:100%; height:100%; border:1px solid var(--bdoq-field-border,#ccd0da); border-radius:5px; background:white; min-height:49px; }
.bdoq-form-v2 .bdoq-address-choice .elementor-field-option.is-selected { border-color:#88279a; background:#f7f0fa; }
.bdoq-form-v2 .bdoq-address-choice .elementor-field-option input[type=checkbox] { position:absolute; left:14px; width:17px; height:17px; margin:0; z-index:1; }
.bdoq-form-v2 .bdoq-address-choice .elementor-field-option label { width:100%; padding:14px 14px 14px 42px; cursor:pointer; font-size:15px; line-height:1.4; }
.bdoq-form-v2 .elementor-button { background:#88279a; color:#fff; border-radius:5px; min-height:44px; }
.bdoq-form-v2 .elementor-field-type-submit { margin-top:4px; }
/* Centre final-section contents; the legend and numbered badge stay unchanged. */
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-group-bdoq_newsletter,
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-type-submit,
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-group-bdoq_privacy {
 justify-content:center; text-align:center;
}
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-group-bdoq_newsletter .elementor-field-subgroup {
 display:flex !important; justify-content:center !important; width:100%;
}
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-group-bdoq_newsletter .elementor-field-option {
 display:inline-flex !important; flex:0 1 auto !important; flex-basis:auto !important; width:auto !important; max-width:100%; margin-inline:auto; align-items:center; justify-content:center;
}
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-group-bdoq_newsletter .elementor-field-option label {
 flex:0 1 auto; width:auto !important; max-width:100%; text-align:left;
}
.bdoq-form-v2 fieldset[data-bdoq-submit-inside=yes] > .elementor-field-group-bdoq_privacy .bdoq-help { width:100%; text-align:center; }
.bdoq-form-v2 .bdoq-submit-help { text-align:center; margin:14px 0 0; color:#62616d; font-size:14px; width:100%; }
@media(max-width:767px) {
 .bdoq-form-v2 .bdoq-address-choice { width:100%; }
 .bdoq-page-v2 > .elementor-container { width:100%; }
 .bdoq-page-v2 .elementor-column > .elementor-widget-wrap { padding:10px; }
 .bdoq-page-v2 .bdoq-items-panel { padding:16px; }
 .bdoq-form-v2 .bdoq-form-section { padding:8px 8px 12px; margin-bottom:24px; }
 .bdoq-form-v2 .bdoq-service-cards .elementor-field-subgroup { grid-template-columns:1fr; }
 .bdoq-form-v2 .bdoq-form-section > legend { font-size:19px; }
 .bdoq-form-v2 .bdoq-form-section > .elementor-field-group { width:100%; }
}

.bdoq-form-v2 .bdoq-section-number { display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;background:#88279a;color:white;font-size:16px;margin-right:10px; }

.bdoq-form-v2 .bdoq-items-section .bdo-quote-wrapper { width:100%; border:0; padding:0; }
.bdoq-form-v2 .bdoq-items-section { padding-top:10px; }
