/*
 Theme Name:   Divi Child
 Description:  Child theme voor Singing Factory
 Template:     Divi
 Version:      1.0.0
*/
/* Inter wordt lokaal geladen via fonts/inter.css (zie functions.php) */

:root {
    --sf-primair: #e11299;
    --sf-p: 225, 18, 153;
}

html { scroll-behavior: smooth; height: 100%; overflow-x: hidden; }

/* ── Sticky footer ───────────────────────────────────────────────────────── */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
#page-container {
    flex: 1;
    display: flex;
    flex-direction: column;
}
#main-content {
    flex: 1;
}

/* ── Achtergrond ─────────────────────────────────────────────────────────── */
body {
    background: #090b15;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #e2e8f4;
    letter-spacing: -.01em;
}
body::before {
    content: '';
    position: fixed;
    inset: -5%;
    z-index: -1;
    pointer-events: none;
    will-change: transform;
    background:
        radial-gradient(ellipse 80% 55% at 18% 28%, rgba(99,102,241,.22) 0%, transparent 62%),
        radial-gradient(ellipse 65% 65% at 82% 12%, rgba(168,85,247,.18) 0%, transparent 58%),
        radial-gradient(ellipse 60% 70% at 52% 88%, rgba(59,130,246,.16) 0%, transparent 58%),
        radial-gradient(ellipse 45% 38% at 68% 52%, rgba(236,72,153,.12) 0%, transparent 52%);
    animation: sf-bgdrift 28s ease-in-out infinite;
}
@keyframes sf-bgdrift {
    0%   { transform: scale(1)    translate(0,     0);   }
    33%  { transform: scale(1.04) translate(1.5%, -1%);  }
    66%  { transform: scale(1.02) translate(-1%,  1.5%); }
    100% { transform: scale(1)    translate(0,     0);   }
}
@media (prefers-reduced-motion: reduce) { body::before { animation: none; } }

/* ── Typografie ──────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', -apple-system, sans-serif !important;
    letter-spacing: -.02em;
}
p, li, blockquote, figcaption {
    font-family: 'Inter', -apple-system, sans-serif;
}
.et_pb_text, .et_pb_blurb_description, .et_pb_accordion_item,
.et_pb_tab, .et_pb_module_inner p, .et_pb_module_inner li {
    font-family: 'Inter', -apple-system, sans-serif !important;
    letter-spacing: -.01em;
}
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3,
.et_pb_text h4, .et_pb_text h5, .et_pb_text h6,
.et_pb_module h2, .et_pb_module h3, .et_pb_module h4 {
    font-family: 'Inter', -apple-system, sans-serif !important;
    letter-spacing: -.02em;
}

/* ── Nav ─────────────────────────────────────────────────────────────────── */
#main-header,
#main-header.et-fixed-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: rgba(9,11,21,.55) !important;
    backdrop-filter: saturate(180%) blur(24px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(24px) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    height: 56px !important;
    min-height: 56px !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    padding: 0 !important;
}

#main-header .container {
    width: 100% !important;
    max-width: 72rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#main-header .et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    height: 56px !important;
    padding: 0 1.5rem !important;
    max-width: 72rem !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#main-header .logo_container {
    position: static !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    width: auto !important;
    line-height: 1 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
#main-header .logo_helper { display: none !important; }
#main-header .logo_container a {
    display: flex !important;
    align-items: center !important;
    gap: .625rem !important;
}
#main-header .logo_container a::after {
    content: "The Singing Factory";
    font-size: 15px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.9) !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
}
#main-header #logo {
    height: 28px !important;
    width: 28px !important;
    max-height: 28px !important;
    max-width: 28px !important;
    display: block !important;
    border-radius: .5rem !important;
    object-fit: contain !important;
}

#main-header #et-top-navigation {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    padding: 0 !important;
    position: static !important;
}
#main-header #top-menu-nav {
    display: flex !important;
    align-items: center !important;
    float: none !important;
}
#main-header #top-menu {
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    background: none !important;
}
#main-header #top-menu > li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

#main-header #top-menu > li > a {
    display: inline !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,.55) !important;
    text-decoration: none !important;
    transition: color .15s !important;
    white-space: nowrap !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    background: transparent !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: 0 !important;
    line-height: 1.5 !important;
}

#main-header #top-menu > li > a:hover,
#main-header #top-menu > li.current-menu-item > a,
#main-header #top-menu > li.current-menu-ancestor > a,
#main-header #top-menu > li.current_page_item > a {
    color: #fff !important;
    background: transparent !important;
    opacity: 1 !important;
}

#main-header #et_mobile_nav_menu,
#main-header #et_top_search,
#main-header .et_search_outer { display: none !important; }

#main-header #top-menu > li.sf-glasknop > a {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 50rem !important;
    padding: .35em .9em !important;
    color: rgba(255,255,255,.9) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
    transition: background .2s, border-color .2s !important;
}
#main-header #top-menu > li.sf-glasknop > a:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.25) !important;
    color: #fff !important;
}

@media (max-width: 980px) {
    #main-header #top-menu-nav { display: none !important; }
    #main-header #et_mobile_nav_menu { display: block !important; }
    #main-header #et_mobile_nav_menu .mobile_nav { display: flex !important; align-items: center !important; }
    #main-header #et-top-navigation { justify-content: flex-end !important; }
}

/* ── Hamburger ───────────────────────────────────────────────────────────── */
#main-header .select_page { display: none !important; }

#main-header .mobile_menu_bar {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: .75rem !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background .15s !important;
    color: rgba(255,255,255,.55) !important;
    line-height: 0 !important;
    vertical-align: middle !important;
}
#main-header .mobile_menu_bar:hover { background: rgba(255,255,255,.08) !important; }
#main-header .mobile_menu_bar:active { background: rgba(255,255,255,.12) !important; }

#main-header .mobile_menu_bar::before {
    content: '' !important;
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    background: rgba(255,255,255,.7) !important;
    border-radius: 1px !important;
    box-shadow: 0 -6px 0 rgba(255,255,255,.7), 0 6px 0 rgba(255,255,255,.7) !important;
    font-family: none !important;
    font-size: 0 !important;
    position: static !important;
}

/* ── Mobiel menu ─────────────────────────────────────────────────────────── */
.et_mobile_menu {
    display: none; /* standaard verborgen; Divi-JS overschrijft via inline style */
    position: fixed !important;
    top: 56px !important;
    left: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 56px) !important;
    overflow-y: auto !important;
    z-index: 9999 !important;
    background: #0d0f1f !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.4) !important;
    padding: .75rem 1rem !important;
}
.et_mobile_menu li a {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,.75) !important;
    letter-spacing: 0 !important;
    border-radius: .75rem !important;
    padding: .75rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .75rem !important;
    transition: background .15s, color .15s !important;
}
.et_mobile_menu li a:hover {
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    opacity: 1 !important;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
#main-footer {
    background: rgba(9,11,21,.92) !important;
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border-top: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
}
#main-footer, #main-footer p, #main-footer li {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 13px;
    color: rgba(255,255,255,.45);
}
#main-footer h4, #main-footer h3, #main-footer .widgettitle {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: rgba(255,255,255,.3) !important;
    margin-bottom: .5rem !important;
}
#main-footer a { color: rgba(255,255,255,.45) !important; text-decoration: none; transition: color .15s; }
#main-footer a:hover { color: #fff !important; }
#footer-bottom {
    border-top: 1px solid rgba(255,255,255,.06);
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 12px !important;
    color: rgba(255,255,255,.25) !important;
}
#footer-bottom a { color: rgba(255,255,255,.25) !important; }
#footer-bottom a:hover { color: rgba(255,255,255,.7) !important; }

/* ── Knoppen ─────────────────────────────────────────────────────────────── */
.et_pb_button {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
    border-radius: 50rem !important;
    background-color: var(--sf-primair) !important;
    border-color: var(--sf-primair) !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(var(--sf-p), 0.18) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    padding: .5em 1.5em !important;
}
.et_pb_button:hover {
    transform: scale(1.04) !important;
    box-shadow: 0 6px 18px rgba(var(--sf-p), 0.22) !important;
    padding: .5em 1.5em !important;
}

/* ── Toggle / Accordion ──────────────────────────────────────────────────── */
.et_pb_toggle {
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 1rem !important;
    margin-bottom: .625rem !important;
    padding: 0 !important;
    overflow: hidden !important;
    transition: background .2s !important;
}
.et_pb_toggle:hover {
    background: rgba(255,255,255,.06) !important;
}
.et_pb_toggle.et_pb_toggle_open {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.13) !important;
}
.et_pb_toggle_title {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.9) !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
    padding: 1.125rem 1.375rem !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.et_pb_toggle_title::before,
.et_pb_toggle_title::after { display: none !important; }
.et_pb_toggle_icon,
.et_pb_toggle_icon::before,
.et_pb_toggle_icon::after { display: none !important; }
.et_pb_toggle_content {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 15px !important;
    color: rgba(255,255,255,.5) !important;
    line-height: 1.65 !important;
    padding: 1.125rem 1.375rem 1.25rem !important;
    margin: 0 !important;
    border-top: 1px solid rgba(255,255,255,.07) !important;
}
.et_pb_toggle_content p {
    color: rgba(255,255,255,.5) !important;
    font-size: 15px !important;
    margin-bottom: .5rem !important;
}
.et_pb_toggle_content p:last-child { margin-bottom: 0 !important; }

/* ── Knop pijl verbergen ─────────────────────────────────────────────────── */
.et_pb_button::after { display: none !important; }

/* ── Divi layout – secties & rijen ──────────────────────────────────────── */
.et_pb_section {
    background-color: transparent;
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.et_pb_row {
    max-width: 72rem !important;
    width: 100% !important;
    padding: 0 1.5rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 980px) {
    .et_pb_section { padding-top: 2rem; padding-bottom: 2rem; }
    .et_pb_row { padding: 0 1rem !important; }
}
@media (max-width: 640px) {
    .et_pb_section { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}

/* ── Divi tekst – body ───────────────────────────────────────────────────── */
.et_pb_text p,
.et_pb_text li,
.et_pb_text blockquote,
.et_pb_text .et_pb_module_inner p {
    color: rgba(255,255,255,.5) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}
.et_pb_text a {
    color: var(--sf-primair) !important;
    text-decoration: none;
    transition: opacity .15s;
}
.et_pb_text a:hover { opacity: .75 !important; }
.et_pb_text strong, .et_pb_text b { color: rgba(226,232,244,.95) !important; font-weight: 600 !important; }

.et_pb_text ul, .et_pb_text ol {
    padding-left: 1.25rem !important;
    margin: .75rem 0 !important;
}
.et_pb_text ul li, .et_pb_text ol li {
    margin-bottom: .4rem !important;
}

.et_pb_text blockquote {
    border-left: 3px solid var(--sf-primair) !important;
    padding-left: 1rem !important;
    margin-left: 0 !important;
    color: rgba(226,232,244,.55) !important;
    font-style: italic !important;
}

/* ── Divi tekst – koppen ─────────────────────────────────────────────────── */
.et_pb_text h1 {
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: rgba(255,255,255,.95) !important;
    letter-spacing: -.025em !important;
    margin: 0 0 .25rem !important;
    padding: 0 !important;
}
.et_pb_text h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: rgba(255,255,255,.95) !important;
    letter-spacing: -.02em !important;
    margin-bottom: .75rem !important;
}
.et_pb_text h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: rgba(255,255,255,.9) !important;
    letter-spacing: -.015em !important;
    margin-bottom: .625rem !important;
}
.et_pb_text h4 {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: rgba(255,255,255,.85) !important;
    letter-spacing: -.01em !important;
    margin-bottom: .5rem !important;
}
.et_pb_text h5 {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(255,255,255,.3) !important;
    margin-bottom: 1.25rem !important;
}
.et_pb_text h6 {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(255,255,255,.3) !important;
    margin-bottom: 1.25rem !important;
}

/* ── Divi afbeelding ─────────────────────────────────────────────────────── */
.et_pb_image img {
    border-radius: 1rem !important;
    display: block !important;
}
.et_pb_image .et_pb_image_wrap { display: block; }

/* ── Divi scheidingslijn ─────────────────────────────────────────────────── */
.et_pb_divider_internal {
    border-top-color: rgba(255,255,255,.09) !important;
}

/* ── Divi code ───────────────────────────────────────────────────────────── */
.et_pb_code_inner {
    color: rgba(226,232,244,.8) !important;
    background: transparent !important;
}

/* ── Contact form ────────────────────────────────────────────────────────── */
.et_pb_contact_form_container {
    background: rgba(255,255,255,.04) !important;
    backdrop-filter: blur(40px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(40px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 1.5rem !important;
    padding: 1.5rem !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.2) !important;
}
.et_pb_contact_field {
    display: flex !important;
    flex-direction: column !important;
    gap: .2rem !important;
    margin-bottom: .625rem !important;
    padding: 0 !important;
}
.et_pb_contact_form_container input[type="text"],
.et_pb_contact_form_container input[type="email"],
.et_pb_contact_form_container input[type="tel"],
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: .75rem !important;
    color: rgba(255,255,255,.9) !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 15px !important;
    padding: .875rem 1.125rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: background .18s, border-color .18s, box-shadow .18s !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
.et_pb_contact_form_container input[type="text"]:focus,
.et_pb_contact_form_container input[type="email"]:focus,
.et_pb_contact_form_container input[type="tel"]:focus,
.et_pb_contact_form_container textarea:focus,
.et_pb_contact_form_container select:focus {
    background: rgba(255,255,255,.09) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 0 0 3px rgba(225,18,153,.15) !important;
}
.et_pb_contact_form_container input::placeholder,
.et_pb_contact_form_container textarea::placeholder {
    color: rgba(255,255,255,.3) !important;
}
.et_pb_contact_form_container textarea {
    min-height: 140px !important;
    resize: vertical !important;
}
.et_pb_contact_form_container label,
.et_pb_contact_form_container .et_pb_contact_form_label {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: rgba(255,255,255,.35) !important;
    margin: 0 0 .2rem !important;
    padding: 0 !important;
    display: block !important;
    line-height: 1 !important;
}
.et_pb_contact_form_container .et_pb_contact_submit {
    background: rgba(255,255,255,.08) !important;
    backdrop-filter: blur(20px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 50rem !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: -.01em !important;
    color: #fff !important;
    padding: .625rem 1.75rem !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 4px 16px rgba(0,0,0,.18) !important;
    transition: background .2s, border-color .2s, transform .2s !important;
    cursor: pointer !important;
}
.et_pb_contact_form_container .et_pb_contact_submit:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.25) !important;
    transform: scale(1.04) !important;
}
.et_pb_contact_captcha_question {
    color: rgba(255,255,255,.5) !important;
    font-size: 13px !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
}

/* ── Helper classes – breedte ────────────────────────────────────────────── */
.sf-narrow .et_pb_row { max-width: 720px !important; }
.sf-wide   .et_pb_row { max-width: 1400px !important; }

/* ── Helper class – uitlijning ───────────────────────────────────────────── */
.sf-center .et_pb_module_inner,
.sf-center p,
.sf-center h1, .sf-center h2, .sf-center h3,
.sf-center h4, .sf-center h5, .sf-center h6 {
    text-align: center !important;
}
.sf-center .et_pb_button_module_wrapper { text-align: center !important; }

/* ── Helper class – label (h5/h6 stijl boven titels) ────────────────────── */
.sf-label .et_pb_text p:first-child,
.et_pb_column.sf-label > .et_pb_module:first-child p {
    font-size: .6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: var(--sf-primair) !important;
    margin-bottom: .5rem !important;
}

/* ── Helper class – glass sectie ────────────────────────────────────────── */
.sf-glass {
    background: rgba(255,255,255,.03) !important;
    backdrop-filter: blur(40px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(40px) saturate(160%) !important;
    border-top: 1px solid rgba(255,255,255,.07) !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

/* ── Helper class – glass kaart (kolom of rij) ───────────────────────────── */
.et_pb_column.sf-card,
.et_pb_row.sf-card {
    background: rgba(255,255,255,.04) !important;
    backdrop-filter: blur(40px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(40px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 1.25rem !important;
    padding: 2rem !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.25) !important;
    transition: background .2s, box-shadow .2s !important;
}
.et_pb_column.sf-card:hover,
.et_pb_row.sf-card:hover {
    background: rgba(255,255,255,.06) !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.32) !important;
}

/* ── Helper class – hero sectie ──────────────────────────────────────────── */
.sf-hero {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
}
@media (max-width: 980px) {
    .sf-hero { padding-top: 4rem !important; padding-bottom: 4rem !important; }
}
@media (max-width: 640px) {
    .sf-hero { padding-top: 3rem !important; padding-bottom: 3rem !important; }
}

/* ── Helper class – glass knop ───────────────────────────────────────────── */
.sf-glasknop .et_pb_button,
.et_pb_button.sf-glasknop {
    background: rgba(255,255,255,.08) !important;
    backdrop-filter: blur(20px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12),
                0 4px 16px rgba(0,0,0,.18) !important;
    transition: background .2s, border-color .2s, box-shadow .2s, transform .2s !important;
}
.sf-glasknop .et_pb_button:hover,
.et_pb_button.sf-glasknop:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.25) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18),
                0 8px 28px rgba(0,0,0,.22) !important;
    transform: scale(1.04) !important;
}

/* ── Helper class – ghost knop ───────────────────────────────────────────── */
.sf-ghost .et_pb_button,
.et_pb_button.sf-ghost {
    background-color: transparent !important;
    border: 1.5px solid rgba(255,255,255,.25) !important;
    border-color: rgba(255,255,255,.25) !important;
    color: rgba(255,255,255,.85) !important;
    box-shadow: none !important;
}
.sf-ghost .et_pb_button:hover,
.et_pb_button.sf-ghost:hover {
    background-color: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.4) !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* ── Helper class – prijskaart (kolom) ───────────────────────────────────── */
.et_pb_column.sf-prijskaart {
    text-align: center !important;
    background: rgba(255,255,255,.04) !important;
    backdrop-filter: blur(40px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(40px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 1.25rem !important;
    padding: 1.75rem 1.25rem !important;
    transition: background .2s, box-shadow .2s !important;
}
.et_pb_column.sf-prijskaart:hover {
    background: rgba(255,255,255,.07) !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.28) !important;
}
.et_pb_column.sf-prijskaart .et_pb_text {
    text-align: center !important;
}
.et_pb_column.sf-prijskaart .et_pb_text p {
    font-size: .8125rem !important;
    color: rgba(255,255,255,.4) !important;
    line-height: 1.55 !important;
    text-align: center !important;
    margin: 0 !important;
}
.et_pb_column.sf-prijskaart .et_pb_text h2 {
    display: inline-block !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: -.02em !important;
    background: rgba(255,255,255,.09) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 50rem !important;
    padding: .375rem 1.25rem !important;
    margin: .875rem 0 !important;
    line-height: 1.4 !important;
}

/* ── Helper class – prijzen pills (kolom) ────────────────────────────────── */
.et_pb_column.sf-prijzen .et_pb_text ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .625rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.et_pb_column.sf-prijzen .et_pb_text ul li {
    display: flex !important;
    align-items: center !important;
    gap: .75rem !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 50rem !important;
    padding: .5rem .625rem .5rem 1.125rem !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,.55) !important;
    margin: 0 !important;
    transition: background .18s, border-color .18s !important;
}
.et_pb_column.sf-prijzen .et_pb_text ul li:hover {
    background: rgba(255,255,255,.10) !important;
    border-color: rgba(255,255,255,.16) !important;
}
.et_pb_column.sf-prijzen .et_pb_text ul li strong {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border-radius: 50rem !important;
    padding: .25rem .75rem !important;
    letter-spacing: -.01em !important;
}

/* ── Helper class – poster kaart (Image module) ──────────────────────────── */
.et_pb_image.sf-poster .et_pb_image_wrap {
    display: block;
    border-radius: .875rem;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.10), 0 1px 4px rgba(0,0,0,.06);
    transition: transform .3s cubic-bezier(.25,.46,.45,.94),
                box-shadow .3s cubic-bezier(.25,.46,.45,.94);
}
.et_pb_image.sf-poster .et_pb_image_wrap:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 16px 48px rgba(0,0,0,.18), 0 4px 10px rgba(0,0,0,.08);
}
.et_pb_image.sf-poster img {
    aspect-ratio: 2/3 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border-radius: 0 !important;
    transition: transform .5s cubic-bezier(.25,.46,.45,.94) !important;
}
.et_pb_image.sf-poster .et_pb_image_wrap:hover img {
    transform: scale(1.06) !important;
}

/* ── Helper class – subtiele knop ────────────────────────────────────────── */
.sf-subtle .et_pb_button,
.et_pb_button.sf-subtle {
    background-color: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.8) !important;
    box-shadow: none !important;
}
.sf-subtle .et_pb_button:hover,
.et_pb_button.sf-subtle:hover {
    background-color: rgba(255,255,255,.12) !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   APPLE-LAAG · toegevoegd 7 sep 2026
   ---------------------------------------------------------------------------
   Deze laag staat bewust ONDERAAN style.css zodat ze de regels erboven
   overschrijft zonder dat er iets verwijderd hoeft te worden.
   Rollback = alles vanaf deze regel weghalen.

   Uitgangspunten (dit is wat Apple wél doet):
     1. Doorschijnend glas is voor CHROME (menubalk, sheets), niet voor inhoud.
     2. Eén hoekradius-schaal, één overgangscurve, één schaduw.
     3. Drie tekstniveaus: 100% / 66% / 50%. Niets daaronder.
     4. Geen sfeeranimatie, geen glans-sweeps, geen schaal-op-hover.
     5. Ruimte doet het werk dat randjes nu doen.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
    /* Tekstniveaus — Apple's label-ladder, vertaald naar deze achtergrond */
    --sf-t1: #f5f5f7;                    /* primair   — koppen, namen, bedragen */
    --sf-t2: rgba(245,245,247,.66);      /* secundair — lopende tekst          */
    --sf-t3: rgba(245,245,247,.50);      /* tertiair  — labels, meta            */

    /* Vlakken — één subtiel oppervlak, geen blur op inhoud */
    --sf-vlak:      rgba(255,255,255,.045);
    --sf-vlak-hover:rgba(255,255,255,.075);
    --sf-lijn:      rgba(255,255,255,.10);
    --sf-lijn-zacht:rgba(255,255,255,.07);

    /* Hoeken — vier maten, meer niet */
    --sf-r-sm:  10px;   /* invoervelden, kleine knoppen  */
    --sf-r-md:  16px;   /* kaarten, media                */
    --sf-r-lg:  22px;   /* grote panelen                 */
    --sf-r-pil: 980px;  /* alleen knoppen en tags        */

    /* Beweging — één curve, twee snelheden */
    --sf-ease: cubic-bezier(.28,.11,.32,1);
    --sf-snel: .18s;
    --sf-traag:.32s;

    --sf-link: #ff4fb0;  /* magenta, opgelicht tot 6,6:1 op de achtergrond */
}

/* ── 1. Rust: geen driftende achtergrond ────────────────────────────────── */
body::before { animation: none !important; transform: none !important; }

/* ── 2. Zichtbare focus (ontbrak volledig) ──────────────────────────────── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.et_pb_button:focus-visible,
#main-header #top-menu > li > a:focus-visible,
.et_pb_toggle_title:focus-visible {
    outline: 2px solid var(--sf-link) !important;
    outline-offset: 3px !important;
    border-radius: var(--sf-r-sm);
}

/* ── 3. Typografie ──────────────────────────────────────────────────────── */
body {
    color: var(--sf-t2);
    letter-spacing: 0;
    font-size: 15px;
    line-height: 1.55;
}

.et_pb_text h1,
.et_pb_text h2,
.et_pb_text h3,
.et_pb_text h4 { color: var(--sf-t1) !important; text-wrap: balance; }

.et_pb_text h1 {
    font-size: clamp(30px, 3.4vw, 42px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -.032em !important;
    margin: 0 0 .5rem !important;
}
.et_pb_text h2 {
    font-size: clamp(22px, 2.4vw, 26px) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: -.026em !important;
    margin: 0 0 .75rem !important;
}
.et_pb_text h3 {
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    letter-spacing: -.02em !important;
    margin: 0 0 .5rem !important;
}
.et_pb_text h4 {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: -.014em !important;
}

/* Eyebrow / sectielabel — dit wordt de ENIGE sectiekop-stijl op de site */
.et_pb_text h5,
.et_pb_text h6,
.sf-label .et_pb_text p:first-child,
.et_pb_column.sf-label > .et_pb_module:first-child p {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .085em !important;
    color: var(--sf-t3) !important;
    margin: 0 0 1rem !important;
}

/* Lopende tekst: 17px, ruimer, en niet breder dan comfortabel leesbaar */
.et_pb_text p,
.et_pb_text li,
.et_pb_text .et_pb_module_inner p {
    color: var(--sf-t2) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    letter-spacing: 0 !important;
}
.et_pb_text p { max-width: 68ch; }
.sf-center .et_pb_text p { max-width: 60ch; margin-left: auto; margin-right: auto; }

.et_pb_text a { color: var(--sf-link) !important; }
.et_pb_text a:hover { opacity: 1 !important; text-decoration: underline; text-underline-offset: 2px; }

/* Vet mag alleen nadruk zijn, geen zoekwoord-markering */
.et_pb_text strong, .et_pb_text b { color: var(--sf-t1) !important; font-weight: 600 !important; }

/* ── 4. Knoppen: vulling verandert, niets beweegt ───────────────────────── */
.et_pb_button,
.et_pb_contact_form_container .et_pb_contact_submit {
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
    border-radius: var(--sf-r-pil) !important;
    padding: .72em 1.5em !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background-color var(--sf-snel) var(--sf-ease), opacity var(--sf-snel) var(--sf-ease) !important;
    transform: none !important;
}
.et_pb_button:hover,
.et_pb_contact_form_container .et_pb_contact_submit:hover {
    transform: none !important;
    box-shadow: none !important;
    padding: .72em 1.5em !important;
    background-color: #f5309f !important;
    border: none !important;
}
.et_pb_button:active,
.et_pb_contact_form_container .et_pb_contact_submit:active { opacity: .82 !important; }

/* Secundaire knop (sf-glasknop): neutrale vulling, geen kader, geen glas.
   Blijft een knop — Apple's tweede-keus-knop naast de gekleurde hoofdknop. */
.sf-glasknop .et_pb_button, .et_pb_button.sf-glasknop {
    background-color: rgba(255,255,255,.11) !important;
    border: none !important;
    color: var(--sf-t1) !important;
    box-shadow: none !important;
    padding: .72em 1.5em !important;
}
.sf-glasknop .et_pb_button:hover, .et_pb_button.sf-glasknop:hover {
    background-color: rgba(255,255,255,.18) !important;
    border: none !important;
    color: var(--sf-t1) !important;
    padding: .72em 1.5em !important;
}

/* Tertiaire knop (sf-ghost / sf-subtle): alleen tekst — Apple's "Learn more" */
.sf-ghost .et_pb_button, .et_pb_button.sf-ghost,
.sf-subtle .et_pb_button, .et_pb_button.sf-subtle {
    background-color: transparent !important;
    border: none !important;
    color: var(--sf-link) !important;
    padding: .72em .25em !important;
    box-shadow: none !important;
}
.sf-ghost .et_pb_button:hover, .et_pb_button.sf-ghost:hover,
.sf-subtle .et_pb_button:hover, .et_pb_button.sf-subtle:hover {
    background-color: transparent !important;
    border: none !important;
    color: var(--sf-link) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    padding: .72em .25em !important;
}
/* De Tickets-knop in de menubalk blijft wél een pil — dat is chrome */
#main-header #top-menu > li.sf-glasknop > a {
    background: rgba(255,255,255,.10) !important;
    border: none !important;
    box-shadow: none !important;
    padding: .4em 1em !important;
    color: var(--sf-t1) !important;
}
#main-header #top-menu > li.sf-glasknop > a:hover { background: rgba(255,255,255,.18) !important; }

/* ── 5. Ritme: ruimte in plaats van randjes ─────────────────────────────── */
.et_pb_section { padding-top: 5rem; padding-bottom: 5rem; }
.sf-hero { padding-top: 6rem !important; padding-bottom: 4rem !important; }
@media (max-width: 980px) {
    .et_pb_section { padding-top: 3.25rem; padding-bottom: 3.25rem; }
    .sf-hero { padding-top: 3.5rem !important; padding-bottom: 2.5rem !important; }
}

/* Rijen met 3 items vullen de breedte in plaats van 3-van-5 te zijn */
.et_pb_row_3col > .et_pb_column { width: 31.3333% !important; margin-right: 3% !important; }
.et_pb_row_3col > .et_pb_column:last-child { margin-right: 0 !important; }

/* ── 6. Inhoud is geen glas ─────────────────────────────────────────────── */
.et_pb_column.sf-card,
.et_pb_row.sf-card,
.et_pb_column.sf-prijskaart,
.et_pb_toggle,
.et_pb_contact_form_container,
.sf-glass {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: var(--sf-vlak) !important;
    border: 1px solid var(--sf-lijn-zacht) !important;
    box-shadow: none !important;
    border-radius: var(--sf-r-md) !important;
    transition: background-color var(--sf-snel) var(--sf-ease) !important;
}
.et_pb_column.sf-card:hover,
.et_pb_row.sf-card:hover,
.et_pb_column.sf-prijskaart:hover,
.et_pb_toggle:hover {
    background: var(--sf-vlak-hover) !important;
    box-shadow: none !important;
    transform: none !important;
}
.et_pb_contact_form_container { border-radius: var(--sf-r-lg) !important; padding: 2rem !important; }
.sf-glass { border-left: none !important; border-right: none !important; border-radius: 0 !important; background: transparent !important; }

/* ── 7. Uitklappers: mét een zichtbare chevron ──────────────────────────── */
.et_pb_toggle { margin-bottom: 0 !important; border-radius: 0 !important; border: none !important;
                border-bottom: 1px solid var(--sf-lijn-zacht) !important; background: transparent !important; }
.et_pb_toggle:first-of-type { border-top: 1px solid var(--sf-lijn-zacht) !important; }
.et_pb_toggle:hover { background: rgba(255,255,255,.025) !important; }
.et_pb_toggle_title {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--sf-t1) !important;
    padding: 1.1rem .25rem !important;
    letter-spacing: -.014em !important;
}
.et_pb_toggle_title::after {
    display: block !important;
    content: '' !important;
    width: 9px; height: 9px;
    border-right: 2px solid var(--sf-t3);
    border-bottom: 2px solid var(--sf-t3);
    transform: rotate(45deg) translateY(-2px);
    transition: transform var(--sf-traag) var(--sf-ease);
    flex: none;
    margin-left: 1rem;
    background: none !important;
    position: static !important;
}
.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::after { transform: rotate(-135deg) translateY(-2px); }
.et_pb_toggle.et_pb_toggle_open { background: transparent !important; }
.et_pb_toggle_content {
    font-size: 15px !important;
    color: var(--sf-t2) !important;
    line-height: 1.6 !important;
    border-top: none !important;
    padding: 0 .25rem 1.5rem !important;
    max-width: 68ch;
}
.et_pb_toggle_content p { font-size: 15px !important; color: var(--sf-t2) !important; }

/* ── 8. Prijzen: typografie, geen bubbels ───────────────────────────────── */
.et_pb_column.sf-prijskaart .et_pb_text h2 {
    display: block !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: .5rem 0 .35rem !important;
    font-size: 34px !important;
    font-weight: 600 !important;
    letter-spacing: -.03em !important;
    color: var(--sf-t1) !important;
    line-height: 1.05 !important;
}
.et_pb_column.sf-prijskaart .et_pb_text p {
    font-size: 13px !important;
    color: var(--sf-t3) !important;
    max-width: none !important;
}
.et_pb_column.sf-prijzen .et_pb_text ul li {
    background: none !important;
    border: none !important;
    border-bottom: 1px solid var(--sf-lijn-zacht) !important;
    border-radius: 0 !important;
    padding: .875rem .25rem !important;
    width: 100%;
    justify-content: space-between !important;
    font-size: 15px !important;
    color: var(--sf-t2) !important;
}
.et_pb_column.sf-prijzen .et_pb_text ul li:hover { background: none !important; }
.et_pb_column.sf-prijzen .et_pb_text ul li strong {
    background: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--sf-t1) !important;
}

/* ── 9. Formulier ───────────────────────────────────────────────────────── */
.et_pb_contact_form_container input[type="text"],
.et_pb_contact_form_container input[type="email"],
.et_pb_contact_form_container input[type="tel"],
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select {
    font-size: 15px !important;
    border-radius: var(--sf-r-sm) !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid var(--sf-lijn) !important;
    color: var(--sf-t1) !important;
    padding: .8rem 1rem !important;
}
.et_pb_contact_form_container input::placeholder,
.et_pb_contact_form_container textarea::placeholder { color: rgba(245,245,247,.38) !important; }
.et_pb_contact_form_container label,
.et_pb_contact_form_container .et_pb_contact_form_label {
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--sf-t3) !important;
    margin-bottom: .35rem !important;
    line-height: 1.3 !important;
}
.et_pb_contact_captcha_question { color: var(--sf-t2) !important; font-size: 13px !important; }
.et_pb_contact_form_container .et_pb_contact_submit {
    background: var(--sf-primair) !important;
    color: #fff !important;
}

/* ── 10. Beeld: één beweging, geen dubbele zoom ─────────────────────────── */
.et_pb_image img { border-radius: var(--sf-r-md) !important; }
.et_pb_image.sf-poster .et_pb_image_wrap {
    border-radius: var(--sf-r-md);
    box-shadow: none;
    transition: transform var(--sf-traag) var(--sf-ease);
}
.et_pb_image.sf-poster .et_pb_image_wrap:hover {
    transform: scale(1.022);
    box-shadow: none;
}
.et_pb_image.sf-poster .et_pb_image_wrap:hover img { transform: none !important; }

/* ── 11. Menubalk & voettekst: hier mág glas ────────────────────────────── */
#main-header, #main-header.et-fixed-header {
    background: rgba(9,11,21,.72) !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--sf-lijn-zacht) !important;
}
#main-header #top-menu > li > a { font-size: 14px !important; color: rgba(245,245,247,.66) !important; }
#main-header #top-menu > li > a:hover,
#main-header #top-menu > li.current-menu-item > a,
#main-header #top-menu > li.current_page_item > a { color: var(--sf-t1) !important; }
#main-header .logo_container a::after { color: var(--sf-t1) !important; font-size: 15px !important; }

#main-footer, #main-footer p, #main-footer li { font-size: 13px; color: var(--sf-t3); }
#main-footer a { color: var(--sf-t3) !important; }
#main-footer a:hover { color: var(--sf-t1) !important; }
#main-footer h4, #main-footer h3, #main-footer .widgettitle {
    font-size: 11px !important; font-weight: 600 !important;
    letter-spacing: .085em !important; color: var(--sf-t3) !important;
}
#footer-bottom { font-size: 12px !important; color: var(--sf-t3) !important; }
#footer-bottom a { color: var(--sf-t3) !important; }

/* ── 12. Aanraakdoelen minstens 44px (Apple HIG) ────────────────────────── */
#main-footer a, #footer-bottom a, .et_mobile_menu li a,
#main-header #top-menu > li > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}
#main-footer .et-social-icon a { min-width: 44px; justify-content: center; }

@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
    .et_pb_image.sf-poster .et_pb_image_wrap:hover { transform: none; }
}

/* ── 13. Onvolledige rijen vullen de breedte ────────────────────────────────
   Een rij die in Divi als "vijfden" of "zesden" is opgezet maar maar 2–5
   kolommen bevat, laat rechts een gat achter (bv. /lessen/: 3 kaarten in een
   rij van vijf). Hieronder verdelen die kolommen de volle breedte.
   Divi zelf blijft ongemoeid: dit raakt alleen de weergave, niet de layout.  */
.et_pb_row > .et_flex_column_1_5:first-child:nth-last-child(2),
.et_pb_row > .et_flex_column_1_5:first-child:nth-last-child(2) ~ .et_flex_column_1_5,
.et_pb_row > .et_flex_column_1_5:first-child:nth-last-child(3),
.et_pb_row > .et_flex_column_1_5:first-child:nth-last-child(3) ~ .et_flex_column_1_5,
.et_pb_row > .et_flex_column_1_5:first-child:nth-last-child(4),
.et_pb_row > .et_flex_column_1_5:first-child:nth-last-child(4) ~ .et_flex_column_1_5,
.et_pb_row > .et_flex_column_1_6:first-child:nth-last-child(3),
.et_pb_row > .et_flex_column_1_6:first-child:nth-last-child(3) ~ .et_flex_column_1_6,
.et_pb_row > .et_flex_column_1_6:first-child:nth-last-child(4),
.et_pb_row > .et_flex_column_1_6:first-child:nth-last-child(4) ~ .et_flex_column_1_6,
.et_pb_row > .et_flex_column_1_6:first-child:nth-last-child(5),
.et_pb_row > .et_flex_column_1_6:first-child:nth-last-child(5) ~ .et_flex_column_1_6 {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* Opt-in: zet "sf-vul" in het CSS-klasse-veld van een rij om de kolommen
   altijd de volle breedte te laten verdelen, ongeacht hun ingestelde breedte. */
.et_pb_row.sf-vul > .et_pb_column {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* ── SEO: tussenkop die oogt als h1 maar een h2 is (één h1 per pagina) ──── */
.et_pb_text h2.sf-als-h1 {
    font-size: clamp(30px, 3.4vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.032em !important;
    margin: 0 0 .5rem !important;
    padding: 0 !important;
}
