/* Reusable sections: scoped so existing forms and page layouts stay independent. */
.ds-tabs-section, .ds-preference-section, .ds-preference-page-title, .ds-preference-breadcrumbs {
    font-family: var(--wp--preset--font-family--outfit, 'Outfit', sans-serif);
    color: #1a1a1a;
    box-sizing: border-box;
}
.ds-tabs-section { padding: 64px 16px 120px; }
.ds-tabs-section > .ds-tabs-intro { max-width: 800px; margin: 0 auto 80px; text-align: center; }
.ds-tabs-intro h2 { font-size: clamp(32px, 3.34vw, 48px); line-height: 1.2; letter-spacing: -.02em; margin: 0 0 20px; }
.ds-tabs-intro p { font-size: 18px; line-height: 1.5; margin: 0; }
.ds-tabs { box-sizing: border-box; max-width: 1200px; margin: auto; border: 1px solid #e6e6e6; padding: 32px; font: 16px/1.5 var(--wp--preset--font-family--outfit, 'Outfit', sans-serif); }
.ds-tabs *, .ds-preference-form * { box-sizing: border-box; }
.ds-tabs[data-tabs-ready] { display: grid; grid-template-columns: minmax(240px, 400px) minmax(0, 1fr); gap: 0 80px; padding-right: 64px; align-items: start; }
.ds-tabs__nav { grid-column: 1; grid-row: 1; }
.ds-tabs[data-tabs-ready] > .ds-tab { grid-column: 2; grid-row: 1; min-width: 0; }
.ds-tab__heading { margin: 0; font: inherit; }
.ds-tab__toggle { width: 100%; border: 0; border-bottom: 1px solid #e6e6e6; border-radius: 0; background: transparent; color: #1a1a1a; padding: 20px 16px; display: flex; align-items: center; gap: 20px; min-height: 72px; text-align: left; font: 400 18px/1.5 var(--wp--preset--font-family--outfit, 'Outfit', sans-serif); cursor: pointer; }
.ds-tab__toggle:hover { background: #f7f7f7; }
.ds-tabs__nav .ds-tab__toggle[aria-selected="true"], .ds-tab.is-active > .ds-tab__heading .ds-tab__toggle { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.ds-tab__icon { width: 28px; height: 28px; flex: 0 0 28px; object-fit: contain; }
.ds-tabs__nav .ds-tab__toggle[aria-selected="true"] img, .ds-tab.is-active > .ds-tab__heading img { filter: brightness(0) invert(1); }
.ds-tabs__nav .ds-tab__chevron { display: none; }
.ds-tab__chevron { margin-left: auto; flex: 0 0 10px; width: 10px; height: 10px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.ds-tab.is-active > .ds-tab__heading .ds-tab__chevron { transform: rotate(225deg); }
.ds-tab__panel { padding: 16px 0 8px; overflow-wrap: anywhere; }
.ds-tab__panel > :first-child { margin-top: 0; }
.ds-tab__panel > :last-child { margin-bottom: 0; }
.ds-tab__panel > h3:first-child { font-size: 25px; line-height: 1.3; margin-bottom: 40px; }
.ds-tab__panel p { margin: 0 0 24px; }
.ds-tab__panel figure { margin: 24px 0; }
.ds-tab__panel img { max-width: 100%; height: auto; }
.ds-tab__panel .ds-tabs-illustration { background: #f7f7f7; }
.ds-tab__panel .ds-tabs-illustration img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.ds-tab__toggle:focus-visible, .ds-tab__panel:focus-visible { outline: 2px solid #1b54ff; outline-offset: 3px; }
.ds-tabs [hidden], .ds-preference-form [hidden] { display: none !important; }
.ds-tabs:not([data-tabs-ready]) .ds-tab__toggle { cursor: default; pointer-events: none; }
.ds-tabs:not([data-tabs-ready]) .ds-tab__chevron { display: none; }
.ds-preference-page-title { max-width: 1232px; margin: 48px auto 64px; padding: 0 16px; font-size: 48px; line-height: 1.2; }
.ds-preference-breadcrumbs { max-width: 1232px; margin: 16px auto 0; padding: 0 16px; font-size: 12px; line-height: 1.5; color: #707070; }
.ds-preference-breadcrumbs a { color: #1a1a1a; text-decoration: none; }
.ds-preference-section { background: #f7f7f7; padding: 40px 16px 80px; }
.ds-preference-section .ds-preference-columns { display: grid; grid-template-columns: 420px minmax(0, 1fr); max-width: 1200px; margin: 0 auto; gap: 120px; align-items: center !important; }
.ds-preference-columns > .ds-preference-form-column { flex-basis: 420px !important; flex-grow: 0; min-width: 0; }
.ds-preference-columns > .ds-preference-copy { flex-basis: 0 !important; flex-grow: 1; min-width: 0; }
.ds-preference-copy h2 { font-size: 32px; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 32px; }
.ds-preference-copy p { font-size: 18px; line-height: 1.5; }
.ds-preference-copy > p { margin: 0 0 80px; }
.ds-preference-copy .ds-preference-benefits { padding: 0; display: grid; gap: 24px; max-width: 440px; }
.ds-preference-copy .ds-preference-benefit { display: flex; align-items: flex-start; gap: 24px; margin: 0; padding: 0; }
.ds-preference-benefit figure { margin: 0; flex: 0 0 28px; }
.ds-preference-benefit img { display: block; width: 28px; height: 28px; }
.ds-preference-benefit p { margin: 0; }
.ds-preference-form { font: 16px/1.5 var(--wp--preset--font-family--outfit, 'Outfit', sans-serif); width: 100%; }
.ds-preference-form form, .ds-preference-form fieldset { width: 100%; max-width: none !important; margin: 0; padding: 0; border: 0; background: transparent; }
.ds-preference-form .hs-form-field { position: relative; margin: 0 0 32px; }
.ds-preference-form .input { margin: 0 !important; }
.ds-preference-form .hs-input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .ds-form-preview-field { display: block; width: 100% !important; max-width: none; height: 48px; border: 1px solid #e6e6e6; border-radius: 2px; background: #fff; color: #1a1a1a; padding: 12px 15px; font: inherit; box-shadow: none; }
.ds-preference-form textarea.hs-input { height: auto !important; min-height: 120px; }
.ds-preference-form select.hs-input { appearance: none; padding-right: 42px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='m2 2 8 8 8-8' fill='none' stroke='%23707070' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 16px center / 20px 12px !important; }
.ds-preference-form .hs-form-field > label { display: block; color: #707070; font-size: 12px; line-height: 1.5; }
.ds-preference-form .ds-floating-field > label { position: absolute; left: 16px; top: 12px; right: 40px; font-size: 16px; pointer-events: none; }
.ds-preference-form .ds-floating-field.has-value > label, .ds-preference-form .ds-floating-field:focus-within > label { top: -20px; left: 0; font-size: 12px; }
.ds-preference-form .hs-input:focus-visible { outline: 2px solid #1b54ff; outline-offset: 2px; }
.ds-preference-form .hs-input.invalid { border-color: #b42318 !important; }
.ds-preference-form .inputs-list { list-style: none; padding: 0; margin: 0; }
.ds-preference-form .inputs-list > li { margin: 0; }
.ds-preference-form .hs-form-booleancheckbox-display, .ds-preference-form .hs-form-checkbox-display { display: flex; align-items: flex-start; gap: 12px; }
.ds-preference-form input[type="checkbox"], .ds-preference-form input[type="radio"] { appearance: auto; position: static; opacity: 1; flex: 0 0 20px; width: 20px !important; height: 20px; margin: 0; accent-color: #1b54ff; }
.ds-preference-form input[type="checkbox"] { appearance: none; border: 1px solid #e6e6e6; border-radius: 3px; background: #fff; cursor: pointer; }
.ds-preference-form input[type="checkbox"]:checked { border-color: #1b54ff; background: #1b54ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") center / 20px; }
.ds-preference-form .legal-consent-container, .ds-preference-form .legal-consent-container p, .ds-preference-form .legal-consent-container label { font: 12px/1.5 var(--wp--preset--font-family--outfit, 'Outfit', sans-serif); color: #707070; }
.ds-preference-form .legal-consent-container p { margin: 0; }
.ds-preference-form .legal-consent-container .hs-form-booleancheckbox-display > span { margin: 0; }
.ds-preference-form a { color: #1b54ff; }
.ds-preference-form .hs-error-msgs { list-style: none; padding: 0; margin: 6px 0; color: #b42318; font-size: 12px; }
.ds-preference-form .hs-error-msgs label { color: inherit; }
.ds-preference-form .hs-submit { margin-top: 32px; }
.ds-preference-form .hs-button, .ds-form-preview-submit { display: inline-block; width: auto; background: #1a1a1a; color: #fff; border: 1px solid #1a1a1a; border-radius: 3px; padding: 15px 31px; min-height: 56px; font: 400 20px/1.2 var(--wp--preset--font-family--outfit, 'Outfit', sans-serif); cursor: pointer; }
.ds-preference-form .hs-button:hover { background: transparent; color: #1a1a1a; }
.ds-preference-form .hs-button:focus-visible { outline: 2px solid #1b54ff; outline-offset: 3px; }
.ds-preference-form--hide-heading .hs-richtext:first-child:has(h2) { display: none; }
.ds-preference-form .submitted-message, .ds-preference-form .submitted-message * { color: #1a1a1a !important; background: transparent !important; }
.ds-tabs-editor, .ds-tab-editor { border: 1px solid #e6e6e6; padding: 24px; }
.ds-tab-editor { margin: 24px 0; }
.ds-tab-editor__title { background: #1a1a1a; color: #fff; display: flex; gap: 16px; padding: 16px; font: 18px/1.5 var(--wp--preset--font-family--outfit, 'Outfit', sans-serif); }
.ds-editor-note { font: 12px/1.5 sans-serif !important; color: #707070; }
.ds-form-preview-field { margin-bottom: 32px; color: #707070; display: flex; justify-content: space-between; }
.ds-form-preview-consent { font-size: 12px; color: #707070; }
@media (max-width: 1100px) {
    .ds-tabs[data-tabs-ready] { gap: 0 40px; padding: 24px; grid-template-columns: minmax(240px, 35%) minmax(0, 1fr); }
    .ds-preference-section .ds-preference-columns { grid-template-columns: 40% minmax(0, 1fr); gap: 48px; }
    .ds-preference-columns > .ds-preference-form-column { flex-basis: 40% !important; }
}
@media (max-width: 781px) {
    .ds-tabs-section { padding: 48px 16px; }
    .ds-tabs-section > .ds-tabs-intro { margin-bottom: 48px; }
    .ds-tabs-intro p { font-size: 16px; }
    .ds-tabs, .ds-tabs[data-tabs-ready] { display: block; padding: 0; border: 0; }
    .ds-tab__toggle { padding: 20px 16px; gap: 16px; border-top: 1px solid #e6e6e6; border-bottom: 0; }
    .ds-tabs > .ds-tab:last-child { border-bottom: 1px solid #e6e6e6; }
    .ds-tab__panel { padding: 32px 0 56px; }
    .ds-tab__panel > h3:first-child { display: none; }
    h1.ds-preference-page-title { font-size: 32px !important; margin: 40px auto 48px; }
    .ds-preference-section { padding: 40px 16px 80px; }
    .ds-preference-section .ds-preference-columns { grid-template-columns: minmax(0, 1fr); gap: 60px; }
    .ds-preference-columns > .ds-preference-form-column, .ds-preference-columns > .ds-preference-copy { flex-basis: auto !important; width: 100%; }
    .ds-preference-copy h2 { font-size: 25px; }
    .ds-preference-copy > p { margin-bottom: 48px; }
    .ds-preference-form .hs-button, .ds-form-preview-submit { width: 100%; text-align: center; }
}
/* The legacy theme resets every uncoloured group's horizontal padding on tablets. */
@media (max-width: 1024px) {
    .wp-block-group.ds-tabs-section, .wp-block-group.ds-preference-section { padding-right: 16px !important; padding-left: 16px !important; }
}
