/* Shared presentation for Bridge and standard WPBakery elements.
 * No page IDs, generated vc_custom IDs, or editor-assigned classes required.
 * !important is limited to overriding legacy theme/builder presentation. */
:root {
    --fera-blue: #1b3777;
    --fera-rose: #eabfbf;
    --fera-muted: #f7f7f7;
    --fera-ink: #303b4b;
    --fera-border: #d8dde5;
    --fera-radius: 16px;
    --fera-shadow: 0 8px 28px rgba(27,55,119,.07);
}
html { scroll-padding-top: 110px; }
body, p, .content, .footer_top, input, textarea, select, button {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.75;
    color: var(--fera-ink);
}
body { -webkit-font-smoothing: antialiased; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
.content :is(h1,h2,h3,h4,h5,h6) {
    color: var(--fera-blue);
    text-transform: none;
    letter-spacing: -.02em;
    overflow-wrap: break-word;
}
.content :is(h1,h2) {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.22;
    margin-bottom: .65em;
}
.content h1 { font-size: clamp(32px, 3.2vw, 48px); }
.content h2 { font-size: clamp(28px, 2.5vw, 36px); }
.content h3 { font: 600 1.4rem/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; margin-bottom: .7em; }
.content :is(h4,h5,h6) { font-family: inherit; font-weight: 600; line-height: 1.5; }
.content :is(h1,h2,h3) :is(span,strong) { color: inherit !important; font-size: inherit !important; line-height: inherit !important; }
a { color: var(--fera-blue); }
a:hover { color: #102651; }
.wpb_text_column :is(p,li,td) a, .event-content p a, .footer_top a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}
.content :is(p,li,td) { overflow-wrap: break-word; }
.content strong { color: inherit; font-weight: 650; }
.wpb_text_column ul:not(.slides), .wpb_text_column ol { padding-left: 1.35em; margin: 1em 0; }
.wpb_text_column li { margin-bottom: .35em; }
.wpb_text_column li::marker { color: var(--fera-blue); }
:where(a,button,input,textarea,select,[tabindex]):focus-visible {
    outline: 3px solid var(--fera-blue) !important;
    outline-offset: 4px;
    box-shadow: 0 0 0 6px #fff !important;
}
/* An opaque header makes the navigation legible over every photograph. */
header.page_header { position: relative !important; top: 0 !important; }
header.page_header .header_bottom {
    background: #fff !important;
    border-bottom: 1px solid var(--fera-border);
    padding: 0 clamp(20px,4vw,64px);
    box-shadow: 0 3px 18px rgba(27,55,119,.04);
}
header.page_header .logo_wrapper, header.page_header .side_menu_button { height: 88px !important; }
header.page_header .q_logo a { height: 48px !important; }
header.page_header .q_logo img.normal { opacity: 1 !important; }
header.page_header .q_logo :is(img.light,img.dark,img.sticky) { opacity: 0 !important; }
header.page_header nav.main_menu { left: auto; float: right; position: relative; }
header.page_header nav.main_menu > ul { left: auto; }
header.page_header nav.main_menu > ul > li > a {
    color: var(--fera-blue) !important;
    font: 600 16px/88px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: 0;
    padding: 0 18px;
}
nav.main_menu ul li a span.underline_dash { background: var(--fera-rose) !important; height: 3px; bottom: -9px; }
header.page_header nav.main_menu > ul > li:hover > a,
header.page_header nav.main_menu > ul > li > a:focus-visible { color: #102651 !important; }
/* Override Bridge's more specific narrow-menu background rule. */
header.page_header nav.main_menu.drop_down .second .inner ul { background: #fff; border: 1px solid var(--fera-border); border-radius: 0 0 12px 12px; box-shadow: var(--fera-shadow); padding: 12px 0; }
.drop_down .second .inner ul li a { color: var(--fera-blue) !important; font-size: 16px; line-height: 1.5; font-weight: 500; padding: 12px 20px; }
.drop_down .second .inner ul li a:hover,
.drop_down .second .inner ul li a:focus-visible { background: var(--fera-muted); }
nav.main_menu > ul > li:focus-within > .second { visibility: visible !important; opacity: 1 !important; overflow: visible !important; height: auto !important; display: block !important; }
/* Keep the current page and its section visible, including course ancestors. */
header.page_header nav.main_menu > ul > li:is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a {
    font-weight: 700 !important;
    text-decoration: underline;
    text-decoration-color: var(--fera-rose);
    text-decoration-thickness: 3px;
    text-underline-offset: 9px;
}
header.page_header nav.main_menu > ul > li:is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a .underline_dash { display: none; }
header.page_header nav.main_menu > ul > li:is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a > span:not(.plus) { text-decoration: inherit; }
header.page_header nav.main_menu .second .inner ul li:is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a,
header.page_header nav.mobile_menu li:is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a {
    background: #faf0ed;
    color: var(--fera-blue) !important;
    font-weight: 700 !important;
    box-shadow: inset 3px 0 var(--fera-rose);
}
header.page_header nav.mobile_menu li:is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a { padding-left: 14px; border-radius: 6px; }
.content { margin-top: 0 !important; padding-top: 0 !important; }
#fera-main { margin-top: 0 !important; }
/* Keep the original photographs, with a calm, contrast-safe title surface. */
.title_outer .title {
    height: 360px !important;
    background-size: cover !important;
    background-position: center 45% !important;
    background-attachment: scroll !important;
    position: relative;
}
.title_outer .title::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 48%, rgba(255,255,255,.12) 100%);
}
.title_outer .title .title_holder { height: 100% !important; padding: 0 !important; }
.title_outer .title .title_holder .container_inner { width: min(1200px, calc(100% - 64px)) !important; }
.title_outer .title h1 {
    color: var(--fera-blue) !important;
    font: 400 clamp(36px,4vw,58px)/1.15 Georgia, "Times New Roman", serif !important;
    text-align: left;
    max-width: 760px;
    text-shadow: none;
    margin: 0;
}
.title_outer .title h1::before { content: ""; display: block; width: 64px; height: 4px; margin-bottom: 24px; background: var(--fera-rose); }
.title_outer .title .image { display: none !important; }
/* Keep ordinary rows on the readable grid. WPBakery calculates the width and
   offset of stretched rows; auto margins interfere with that calculation. */
.content .container_inner, .full_width_inner > .wpb-content-wrapper > .vc_row:not([data-vc-full-width="true"]),
.full_width_inner > .vc_row:not([data-vc-full-width="true"]) { max-width: 1200px; margin-left: auto; margin-right: auto; }
.full_width_inner > .wpb-content-wrapper > .vc_row:not([data-vc-full-width="true"]) { width: calc(100% - 64px); }
.wpb-content-wrapper > .vc_row { padding-top: 48px !important; padding-bottom: 48px !important; background-image: none !important; }
.wpb-content-wrapper > .vc_row > .vc_column_container > .vc_column-inner { margin-left: 0 !important; margin-right: 0 !important; }
.wpb_text_column { margin-bottom: 24px; }
.wpb_text_column:last-child { margin-bottom: 0; }
.vc_empty_space { max-height: 48px; }
.vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) { width: 100% !important; max-width: none !important; padding-top: 0 !important; }
.vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) > .vc_column_container > .vc_column-inner { margin-top: 0 !important; padding-top: 0; }
.vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) :is(.wpb_revslider_element, .fera-image-slider) + .wpb_text_column { max-width: 880px; margin: 46px auto 28px; padding: 0 24px; }
.vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) :is(.wpb_revslider_element, .fera-image-slider) + .wpb_text_column h3 { font-size: 20px; font-weight: 400; color: var(--fera-ink); }
/* Builder text panels with a fill are reusable information boxes. */
.wpb_text_column[class*="vc_custom_"]:not(:has(h1,h2,h3,table,form,ul,ol)) {
    border-radius: 12px;
}
.vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) .wpb_text_column:has(em) {
    max-width: 1000px; margin: 24px auto 40px !important; padding: 22px 32px !important;
    background: var(--fera-rose) !important; color: var(--fera-blue);
    border-radius: 12px;
}
.vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) .wpb_text_column:has(em) p { color: var(--fera-blue); }
.wpb_posts_slider { max-width: 1080px; margin: 40px auto 0 !important; padding: 32px !important; background: var(--fera-muted) !important; border: 1px solid var(--fera-border); border-radius: var(--fera-radius); }
.wpb_posts_slider .flexslider { background: transparent; border: 0; box-shadow: none; margin-bottom: 34px; }
.wpb_posts_slider .flex-caption { padding: 16px 0 !important; background: transparent !important; color: var(--fera-ink); }
.wpb_posts_slider .post-title { font-family: inherit; font-size: 23px; }
.wpb_posts_slider .flex-control-nav a { width: 14px; height: 14px; background: #68758c; }
.wpb_posts_slider .flex-control-nav a.flex-active { background: var(--fera-blue); }
.vc_row:has(.two_columns_form_without_space), .vc_row:has(.testimonial_content) { background-color: var(--fera-muted) !important; border-radius: var(--fera-radius); margin-bottom: 32px !important; }
.testimonial_content { list-style: none; background: #fff; border: 1px solid var(--fera-border); border-left: 4px solid var(--fera-rose); border-radius: 12px; padding: 26px 30px; margin: 20px 0 !important; }
.testimonial_content p, .testimonial_text_inner { color: var(--fera-ink); }
/* Course cards are detected by their standard WPBakery button structure. */
.vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container) {
    display: flex; flex-wrap: wrap; padding-top: 12px !important; padding-bottom: 24px !important; gap: 24px;
}
.vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container)::before,
.vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container)::after { display: none; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { display: flex; flex: 1 1 240px; max-width: calc(25% - 18px); padding: 0 !important; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) > .vc_column-inner {
    background: #fff !important; border: 1px solid var(--fera-border); border-top: 4px solid var(--fera-rose);
    border-radius: var(--fera-radius); padding: 28px 22px !important; margin: 0 !important; width: 100%; box-shadow: var(--fera-shadow); display: flex;
}
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner:has(> .wpb_wrapper > .vc_btn3-container) > .wpb_wrapper { display: flex; flex-direction: column; width: 100%; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner:has(> .wpb_wrapper > .vc_btn3-container) .wpb_text_column { padding: 0 !important; margin: 0 0 20px !important; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner:has(> .wpb_wrapper > .vc_btn3-container) h3 { font-size: 20px; text-align: left !important; margin: 0; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner:has(> .wpb_wrapper > .vc_btn3-container) ul { padding-left: 18px; margin: 0; font-size: 16px; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner:has(> .wpb_wrapper > .vc_btn3-container) .vc_btn3-container { margin: auto 0 0 !important; padding: 0 !important; }
.content .vc_btn3, .content .qbutton, .content input[type="submit"], .content button[type="submit"] {
    background: var(--fera-blue) !important; background-image: none !important; color: #fff !important;
    border: 2px solid var(--fera-blue) !important; border-radius: 8px !important;
    font: 600 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    padding: 13px 22px !important; min-height: 48px; height: auto; white-space: normal; text-transform: none !important; letter-spacing: 0 !important;
    box-shadow: none; text-decoration: none; cursor: pointer; box-sizing: border-box; max-width: 100%;
}
.content .vc_btn3:hover, .content .qbutton:hover { background: #102651 !important; border-color: #102651 !important; }
/* Let form buttons fit their line height and padding instead of plugin-fixed heights. */
.content form :is(input[type="submit"],button[type="submit"]) {
    display: inline-flex; align-items: center; justify-content: center;
    height: auto !important; min-height: 48px; text-align: center; vertical-align: middle;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.content form :is(input[type="submit"],button[type="submit"]):not(:disabled):is(:hover,:focus-visible) {
    background: #102651 !important; border-color: #102651 !important;
}
.content form :is(input[type="submit"],button[type="submit"]):focus-visible {
    outline: 3px solid var(--fera-blue) !important; outline-offset: 4px;
    box-shadow: 0 0 0 4px #fff !important;
}
.content form :is(input[type="submit"],button[type="submit"]):disabled { opacity: .65; cursor: not-allowed !important; }
/* Photos and galleries retain their original builder content. */
.wpb_single_image .vc_single_image-wrapper, .wpb_single_image img { border-radius: var(--fera-radius); box-shadow: none !important; }
.wpb_single_image img { height: auto; }
.wpb_image_grid .wpb_image_grid_ul { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; height: auto !important; }
.wpb_image_grid .wpb_image_grid_ul li { position: static !important; width: auto !important; margin: 0 !important; }
.wpb_image_grid .wpb_image_grid_ul a { display: block; }
.wpb_image_grid .wpb_image_grid_ul img { width: 100%; height: 230px; object-fit: cover; border-radius: 12px; }
/* Persistent labels, clear boundaries, and comfortably sized form controls. */
.content :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],input[type="search"],textarea,select) {
    background: #fff !important; color: var(--fera-ink) !important; border: 1px solid #768398 !important;
    border-radius: 8px !important; padding: 13px 15px !important; font: 400 17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    min-height: 50px; box-sizing: border-box; max-width: 100%; margin-top: 6px; margin-bottom: 0;
}
.content textarea { resize: vertical; min-height: 150px; }
.content :is(input,textarea)::placeholder { color: #596579 !important; opacity: 1; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7-form-control-wrap > label { display: block; font-size: 15px; font-weight: 600; color: var(--fera-blue); line-height: 1.5; }
.wpcf7 form > div > p { margin-bottom: 20px; }
.vc_column-inner:has(> .wpb_wrapper > .wpb_text_column .wpcf7):not(:has(.two_columns_form_without_space)) { background: var(--fera-muted) !important; border-radius: var(--fera-radius); padding: 36px !important; }
.wpcf7-not-valid-tip { color: #a32132 !important; font-size: 15px; }
.wpcf7 form .wpcf7-response-output { color: var(--fera-ink); padding: 16px; border-radius: 8px; }
.two_columns_form_without_space { display: flex; align-items: flex-end; gap: 12px; }
.two_columns_form_without_space .column_left { float: none; width: auto; flex: 1; }
.two_columns_form_without_space .column_right { float: none; width: auto; }
.two_columns_form_without_space .wpcf7-spinner { position: absolute; }
/* WPForms replacements retain the contact panel and compact newsletter layout. */
.content .wpforms-container .wpforms-field-label { color: var(--fera-blue); font-size: 15px; font-weight: 600; line-height: 1.5; }
.content .wpforms-container .wpforms-field { padding: 0 0 20px; }
.content .wpforms-container .wpforms-submit-container { padding: 0; margin-top: 0; }
.vc_column-inner:has(.fera-contact-form) { background: var(--fera-muted) !important; border-radius: var(--fera-radius); padding: 36px !important; }
.content .fera-newsletter-form form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; }
.content .fera-newsletter-form .wpforms-field-container { flex: 1 1 200px; min-width: 0; }
.content .fera-newsletter-form .wpforms-field { padding-bottom: 0; }
.content .fera-newsletter-form .wpforms-submit-container { flex: 0 0 auto; }
.content .wpforms-container label.wpforms-error { color: #a32132 !important; font-size: 15px; }
.content .wpforms-confirmation-container-full { color: var(--fera-ink); border-radius: 8px; }
@media (max-width: 767px) {
    .vc_column-inner:has(.fera-contact-form) { padding: 24px !important; }
}
/* Data tables, course listings, and booking pages. */
.content table { width: 100%; border: 1px solid var(--fera-border); border-spacing: 0; border-collapse: separate; border-radius: 12px; color: var(--fera-ink); font-size: 16px; overflow: hidden; }
.content table :is(td,th) { padding: 20px; border-bottom: 1px solid var(--fera-border); text-align: left !important; vertical-align: top; }
.content table thead :is(td,th) { background: var(--fera-blue); color: #fff; font-weight: 600; }
.content table thead :is(h3,strong) { color: #fff !important; font-size: 16px; line-height: 1.5; font-weight: 600; margin: 0; text-align: left !important; }
.content table tbody tr:nth-child(even) { background: var(--fera-muted); }
.content table tr:last-child td { border-bottom: 0; }
.wpb_text_column:has(table) { overflow-x: auto; }
.espresso-event-list-wrapper-dv .espresso_events { padding: 30px; border: 1px solid var(--fera-border); border-radius: var(--fera-radius); box-shadow: var(--fera-shadow); margin-bottom: 24px; }
.espresso-event-list-wrapper-dv .event-content form { position: static !important; display: block !important; margin: 20px 0 0; }
.espresso-event-list-wrapper-dv .event-content .download-iCal-frm { display: none !important; }
.espresso-event-list-wrapper-dv .event-content a { display: inline !important; }
.espresso-event-list-wrapper-dv .event-content { padding-right: 0; }
.event-content .event-tickets, .spco-attendee-panel-dv { background: var(--fera-muted) !important; border: 1px solid var(--fera-border); border-radius: var(--fera-radius); padding: 24px; }
.event-content, .event-datetimes, .espresso_events .entry-content { color: var(--fera-ink); }
.tkt-slctr-tbl-wrap-dv { overflow-x: auto; }
.single .blog_holder article .post_text .post_text_inner { padding-top: 40px; }
.blog_holder article .post_info, .qode-report-sheet .qode-rs-table .qode-rs-table-column-title { color: #526078 !important; }
/* Compact footer: copyright left, existing footer menu right. */
.fera-footer { background: var(--fera-blue); border-top: 3px solid var(--fera-rose); }
.fera-footer .fera-footer__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 32px; padding: 18px 0; }
.fera-footer__copyright { margin: 0; color: #fff; font-size: 14px; line-height: 1.6; }
.fera-footer__nav { margin-left: auto; }
.fera-footer .fera-footer__menu { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.fera-footer__menu li { margin: 0; padding: 0; }
.fera-footer__menu a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: 14px; line-height: 1.6; }
.fera-footer__menu a:hover, .fera-footer__menu a:focus-visible { color: var(--fera-rose); text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 767px) {
    .fera-footer .fera-footer__inner { width: calc(100% - 40px); }
    .fera-footer__nav { margin-left: 0; }
    .fera-footer .fera-footer__menu { justify-content: flex-start; gap: 0 20px; }
}
/* An equally clear choice in the cookie notice. */
.cc-window { background: #fff !important; color: var(--fera-ink) !important; opacity: 1 !important; border-top: 1px solid var(--fera-border); box-shadow: 0 -4px 24px rgba(27,55,119,.1); font: 400 14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }
.cc-window .cc-message, .cc-window .cc-link { color: var(--fera-ink) !important; opacity: 1; }
.cc-window .cc-btn { color: var(--fera-blue) !important; background: #fff !important; border: 2px solid var(--fera-blue) !important; border-radius: 6px; padding: 10px 16px; min-width: 90px; text-decoration: none; }
.cc-window .cc-allow { background: var(--fera-blue) !important; color: #fff !important; }
.cc-window .cc-compliance { gap: 10px; }
#back_to_top span { background: #fff; border: 2px solid var(--fera-blue); color: var(--fera-blue); }
#fera-skip-link { position: fixed; top: 12px; left: 16px; padding: 12px 20px; background: #fff; color: var(--fera-blue); z-index: 100000; transform: translateY(-180%); border: 2px solid var(--fera-blue); border-radius: 8px; }
#fera-skip-link:focus { transform: translateY(0); }
@media (max-width: 1100px) {
    .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { max-width: calc(50% - 12px); }
}
@media (max-width: 1000px) {
    header.page_header .logo_wrapper { height: 76px !important; }
    header.page_header .q_logo a { height: 42px !important; }
    header.page_header .q_logo img.normal { opacity: 0 !important; }
    .mobile_menu_button { height: 76px; }
    .mobile_menu_button > span { color: var(--fera-blue) !important; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; }
    nav.mobile_menu { background: #fff; }
    nav.mobile_menu ul li a { color: var(--fera-blue) !important; font: 500 17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; padding: 14px 0; }
    nav.mobile_menu ul li .mobile_arrow { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--fera-blue); }
    nav.mobile_menu li:not(.has_sub) > .mobile_arrow { display: none; }
    .content .container_inner { width: calc(100% - 48px); }
    .wpb-content-wrapper > .vc_row > .vc_column_container > .vc_column-inner { margin-top: 0 !important; }
}
@media (max-width: 767px) {
    body, p { font-size: 16px; line-height: 1.7; }
    .content h3 { font-size: 21px; }
    .title_outer .title { height: 260px !important; }
    .title_outer .title::before { background: rgba(255,255,255,.88); }
    .title_outer .title .title_holder .container_inner { width: calc(100% - 40px) !important; }
    .title_outer .title h1 { font-size: clamp(30px,7vw,40px) !important; }
    .content .container_inner, .full_width_inner > .wpb-content-wrapper > .vc_row:not([data-vc-full-width="true"]) { width: calc(100% - 40px); }
    .wpb-content-wrapper > .vc_row { padding-top: 30px !important; padding-bottom: 30px !important; }
    .wpb-content-wrapper > .vc_row > .vc_column_container > .vc_column-inner { padding-left: 0; padding-right: 0; }
    .wpb_text_column { margin-left: 0 !important; margin-right: 0 !important; }
    .wpb_text_column h3 { padding-left: 0 !important; }
    .vc_empty_space { max-height: 24px; }
    .vc_column_container { margin-bottom: 24px; }
    .vc_column_container:last-child { margin-bottom: 0; }
    .vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) :is(.wpb_revslider_element, .fera-image-slider) + .wpb_text_column { margin-top: 30px; }
    .vc_row:has(:is(.wpb_revslider_element, .fera-image-slider)) .wpb_text_column:has(em) { margin: 24px 20px !important; padding: 22px !important; }
    .wpb_posts_slider { margin: 24px 20px 0 !important; padding: 24px !important; }
    .vc_row:has(.two_columns_form_without_space), .vc_row:has(.testimonial_content) { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
    .testimonial_content { padding: 22px; }
    .vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { gap: 20px; }
    .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { flex-basis: 100%; max-width: 100%; margin: 0; }
    .vc_column-inner:has(> .wpb_wrapper > .wpb_text_column .wpcf7):not(:has(.two_columns_form_without_space)) { padding: 24px !important; }
    .two_columns_form_without_space { flex-direction: column; align-items: stretch; }
    .two_columns_form_without_space input[type="submit"] { width: 100%; }
    .wpb_image_grid .wpb_image_grid_ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .wpb_image_grid .wpb_image_grid_ul img { height: 150px; }
    .content table :is(td,th) { padding: 14px; min-width: 140px; }
    .content table { font-size: 15px; }
    .espresso-event-list-wrapper-dv .espresso_events { padding: 22px; }
    .event-content .event-tickets { padding: 16px; }
    .cc-window { padding: 16px !important; }
    .cc-window .cc-compliance { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Fading entire rows on scroll makes text unnecessarily hard to read. */
.vc_parallax > .vc_column_container { opacity: 1 !important; transform: none !important; }
/* Override older high-specificity Bridge rules without changing builder data. */
.content .currency-code, .content .small-text, .content .lt-grey-text { color: #526078 !important; }
.content .wpb_text_column .testimonial_content { padding: 26px 30px !important; }
.content :is(h1,h2,h3) a { color: var(--fera-blue); font: inherit; }
.content .wpb_single_image .vc_single_image-wrapper img { border-radius: var(--fera-radius) !important; }
.wpb-content-wrapper > .vc_row > .vc_column_container > .vc_column-inner { background-image: none !important; }
.vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container) > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper:empty) { display: none; }
.vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { flex: 0 0 calc(25% - 18px); }
.wpb_text_column:has(> .wpb_wrapper > h2:only-child) { margin-top: 0 !important; margin-bottom: 24px !important; }
.wpb-content-wrapper > .vc_row:not(:has(p,img,form,table,h1,h2,h3,h4,a,iframe)) { padding-top: 0 !important; padding-bottom: 0 !important; }
.wpb-content-wrapper > .vc_row:not(:has(p,img,form,table,h1,h2,h3,h4,a,iframe)) .vc_empty_space { height: 0 !important; }
.content table thead :is(h3,strong) { font-family: inherit; font-size: 16px; line-height: 1.5; font-weight: 600; }
.drop_down .second .inner ul li a { font-family: inherit; font-size: 16px; line-height: 1.5; font-weight: 500; }
@media (max-width: 1100px) {
    .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { flex-basis: calc(50% - 12px); }
}
@media (max-width: 767px) {
    .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4):has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { flex-basis: 100%; }
    .content .wpb_text_column .testimonial_content { padding: 22px !important; }
}
.content .important-notice { color: #9b3422 !important; }
.content [style*="color: #ff0000"], .content [style*="color:#ff0000"],
.content [style*="color: red"], .content [style*="color:red"] { color: #a32132 !important; }
.full_width_inner > .wpb-content-wrapper > .vc_row { box-sizing: border-box; }
.full_width_inner > .wpb-content-wrapper > .vc_row:not([data-vc-full-width="true"]) { margin-left: auto !important; margin-right: auto !important; }
.vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { padding-left: 0 !important; padding-right: 0 !important; }
/* Do not let decorative spacer-only columns create holes in card grids. */
.vc_row:has(> .vc_column_container:is(.vc_col-sm-3, .vc_col-sm-4) > .vc_column-inner > .wpb_wrapper > .vc_btn3-container) > .vc_column_container:not(:has(h1,h2,h3,h4,p,ul,ol,a,img,form)) { display: none; }
.content .sidebar .widget { padding: 24px; background: var(--fera-muted); border-radius: 12px; margin-bottom: 24px; }
.content .sidebar .widget :is(h3,h5,h5 a) { color: var(--fera-blue); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height: 1.5; }
.content .sidebar .widget h5 a { font-size: 16px; }
.content .sidebar .widget > h5 { font-size: 22px; }
.content .sidebar .two_columns_form_without_space { flex-direction: column; align-items: stretch; }
.content .sidebar input[type="submit"] { width: 100%; }
.content :is(input[type="radio"],input[type="checkbox"]) { width: 22px; height: 22px; accent-color: var(--fera-blue); }
.vc_row:has(+ .vc_row table) .wpb_text_column { background: var(--fera-muted); border-radius: 12px; padding: 28px !important; margin: 0 !important; }
.vc_row:has(+ .vc_row table) .wpb_text_column h3 { color: var(--fera-ink); font-weight: 400; font-size: 20px; padding: 0 !important; }
.vc_row:has(+ .vc_row table) .wpb_text_column h3 strong { font-weight: 700; }
.wpb_text_column:has(> .wpb_wrapper > h2:only-child) { padding-top: 0 !important; padding-bottom: 0 !important; }
@media (max-width: 1000px) {
    .mobile_menu_button { display: flex; align-items: center; }
}
@media (max-width: 767px) {
    .wpb_text_column[role="region"]:has(table)::before { content: "↔ Tabelle seitlich verschieben"; display: block; padding: 0 0 12px; font-size: 14px; font-weight: 600; color: var(--fera-blue); }
    .wpb_text_column table { min-width: 650px; }
}
/* Keep carousel navigation below copy, with clear keyboard/touch targets. */
.content .wpb_posts_slider .flex-direction-nav { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.content .wpb_posts_slider .flex-direction-nav li { display: block; }
.content .wpb_posts_slider .flex-direction-nav a { position: static; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; opacity: 1; background: #fff; border: 1px solid var(--fera-blue); border-radius: 50%; text-shadow: none; color: var(--fera-blue); }
.content .wpb_posts_slider .flex-direction-nav a::before { font-size: 20px; }
.cc-revoke { color: var(--fera-blue) !important; background: #fff !important; border: 1px solid var(--fera-border); font-size: 13px; opacity: 1 !important; }
.content rs-module .tparrows { background: #fff !important; border: 1px solid var(--fera-blue); border-radius: 50%; width: 44px; height: 44px; opacity: 1 !important; }
.content rs-module .tparrows::before { color: var(--fera-blue) !important; line-height: 44px; }

@media (min-width: 1101px) {
    .vc_column_container.vc_col-sm-4:has(> .vc_column-inner > .wpb_wrapper > .vc_btn3-container) { flex-basis: calc(33.333% - 16px); max-width: calc(33.333% - 16px); }
}
