/**
 * Custom Styles for Gustoso Child Theme
 * 
 * @package Gustoso Child Theme
 * @since 1.0
 */

/* ========================================
   CSS VARIABLES
   ======================================== */

.scheme_default,body.scheme_default,.scheme_default:where(.editor-styles-wrapper) {
    --theme-color-bg_color: #ffffff !important;
}

/* ========================================
   ACCESSIBILITY - WCAG 2.2 AA
   ======================================== */

/* Screen Reader Only - visually hidden but accessible */
.sr-only,
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Skip Links - visible on focus for keyboard users */
.shieldgroup_skip_link,
.skip-link,
a.skip-link {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #324158;
    color: #ffffff !important;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    z-index: 100000;
    border-radius: 0 0 4px 4px;
    transition: top 0.3s ease;
}

.shieldgroup_skip_link:focus,
.skip-link:focus,
a.skip-link:focus {
    top: 0;
    outline: 3px solid #ff6600;
    outline-offset: 2px;
}

/* Focus Visible - keyboard focus indicator for all interactive elements */
:focus-visible {
    outline: 3px solid #324158 !important;
    outline-offset: 2px !important;
}

/* High contrast focus for dark backgrounds */
.dark-background :focus-visible,
.marken-section :focus-visible,
.zahlen-section.dark-background :focus-visible {
    outline-color: #ffffff !important;
}

/* Links - focus styles */
a:focus-visible {
    outline: 3px solid #324158 !important;
    outline-offset: 2px !important;
    text-decoration: underline;
}

/* Buttons - focus styles */
button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
.wpforms-submit:focus-visible,
.gustoso-marke-teaser__cta-link:focus-visible,
.gustoso-text-section-cta-link:focus-visible {
    outline: 3px solid #324158 !important;
    outline-offset: 2px !important;
}

/* Form inputs - focus styles */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #324158 !important;
    outline-offset: 0 !important;
    border-color: #324158 !important;
}

/* Remove default focus outline (replaced by focus-visible) */
:focus:not(:focus-visible) {
    outline: none;
}

/* Ensure minimum touch target size (44x44px for WCAG 2.2) */
button,
a,
input[type="submit"],
input[type="button"],
input[type="checkbox"],
input[type="radio"],
select {
    min-height: 44px;
    min-width: 44px;
}

/* Exception for inline links */
p a,
li a,
.gustoso-text-section-content a {
    min-height: auto;
    min-width: auto;
}

/* Reduced Motion - respect user preferences */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .gustoso-person-teaser-slider__track {
        scroll-behavior: auto !important;
    }
}

/* High Contrast Mode - enhanced visibility */
@media (prefers-contrast: high) {
    /* Increase border visibility */
    .gustoso-marke-teaser--light .gustoso-marke-teaser__container,
    .wpforms-container input,
    .wpforms-container textarea,
    .wpforms-container select {
        border-width: 2px !important;
    }
    
    /* Stronger focus indicators */
    :focus-visible {
        outline-width: 4px !important;
    }
    
    /* Ensure text visibility */
    .gustoso-marke-teaser__cta-text,
    .gustoso-text-section-cta-text {
        text-decoration: underline;
    }
}

/* Forced Colors Mode (Windows High Contrast) */
@media (forced-colors: active) {
    .gustoso-marke-teaser__cta-button,
    .gustoso-text-section-cta-button,
    .wpforms-submit {
        border: 2px solid currentColor !important;
    }
    
    :focus-visible {
        outline: 3px solid Highlight !important;
    }
}

/* Ensure sufficient color contrast for text */
/* Dark text on light backgrounds */
.gustoso-text-section-content,
.gustoso-vorteil-teaser__text,
.gustoso-image-text-columns__content,
.marke-segmente-section p,
.marke-segmente-section li {
    color: #2d3748; /* Contrast ratio 10.69:1 on white */
}

/* Light text on dark backgrounds */
.marken-section,
.marken-section p,
.marken-section span,
.zahlen-section.dark-background,
.zahlen-section.dark-background p {
    color: #ffffff; /* Contrast ratio 12.63:1 on #2C3340 */
}

/* Link underlines for better visibility */
.gustoso-text-section-content a,
p a:not([class]) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.gustoso-text-section-content a:hover,
p a:not([class]):hover {
    text-decoration-thickness: 2px;
}

/* ========================================
   POST HEADER & FEATURED IMAGE HIDING
   ======================================== */

.post_header_wrap,
.post_featured {
    display: none !important;
}

/* ========================================
   FONT FAMILIES
   ======================================== */

/* Use DM Sans for body text */
body,
.site-content,
.entry-content,
p,
.widget,
.menu,
input, textarea, select, button {
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Specific font weights for body text */
body, p, .entry-content {
    font-weight: 400;
}

/* Use Ysabeau Infant Light (300) for all headings and titles */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
    font-weight: 300 !important;
}

.site-title, .site-description {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
    font-weight: 300 !important;
}

/* Montserrat for content sections */
.gustoso-text-section-content,
.gustoso-vorteil-teaser__text,
.gustoso-image-text-columns__content {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

/* ========================================
   LAYOUT ADJUSTMENTS
   ======================================== */

/* Ensure body and html are 100% width */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
}

.vc_section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 15px !important;
    padding-right: 0 !important;
}

/* Remove padding from page_content_wrap */
.page_content_wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -115px;
}

/* Modify content_wrap to be centered with 1024px width on desktop */
.content_wrap {
    max-width: initial !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Ensure fullscreen content_wrap maintains full width */
.content_wrap_fullscreen {
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
}

/* Modify content div to be 100% width and remove padding */
.content {
    width: 100% !important;
    padding: 0 !important;

}

.custom-background .content_wrap > .content {
    background: white !important;
}

/* ========================================
   HEADER STYLES
   ======================================== */

.sc_layouts_row_fixed_on {
    background-color: transparent !important;
    border: 0;
    box-shadow: none;
}

/* Make top_panel_navi background transparent */
.top_panel_navi {
    background-color: transparent !important;
}

/* Make top_panel background transparent */
.top_panel {
    background-color: transparent !important;
}

.sc_layouts_row_delimiter {
    border-color: transparent !important;
}

.sc_layouts_logo {
    margin-left: 80px !important;
}

/* Logo scroll transition */
.sc_layouts_logo img {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Smooth logo swap on scroll */
.sc_layouts_logo img {
    will-change: opacity;
}

/* Header scrolled state - white background when scrolled */

.top_panel_navi.gustoso-header-scrolled,
.sc_layouts_row_fixed.gustoso-header-scrolled {
    background-color: #ffffff !important;
}

.gustoso-header-scrolled .sc_layouts_logo img {
    opacity: 1;
}


/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */

@media (max-width: 1024px) {
    .content_wrap {
        max-width: 100% !important;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 768px) {
    .content_wrap {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.sc_layouts_row_fixed_on_pre, .sc_layouts_row_fixed_on {
    position: relative !important;
}

/* ========================================
   VORTEILE SECTION STYLES
   ======================================== */

.vorteile-section {
    margin: 0 auto !important;
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
}

.dark-background {
    background-color: #2C3340 !important;
}

/* Ensure parent containers don't interfere with centering */
.vc_section.vorteile-section,
.vc_row.vorteile-section,
.content_wrap .vorteile-section {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

@media (max-width: 1240px) {
    .vorteile-section {
        padding: 0 20px !important;
    }
}

@media (max-width: 768px) {
    .vorteile-section {
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    .vorteile-section {
        padding: 0 10px;
    }
}

/* ========================================
   MARKEN SECTION STYLES
   ======================================== */

/* Main Marken Section Container */
.marken-section {
    background-color: #28303B;
    width: 100%;
    padding: 80px 0;
    overflow: hidden;
}

/* Marken Title (H1) */
.marken-section h1,
.marken-section .vc_custom_heading,
.marken-section h1.vc_custom_heading,
.marken-section .sc_item_title_text,
.marken-section h1 .sc_item_title_text,
.marken-section .sc_item_title_text h1,
.marken-section .sc_item_title_text.sc_item_title_tag_h1 {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 100 !important;
    font-size: 100px !important;
    color: #ffffff !important;
    text-align: center !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 60px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

/* Ensure all child elements of sc_item_title_text are white */
.marken-section .sc_item_title_text * {
    color: #ffffff !important;
}

/* Category Title (Modern Food) */
.marken-section .wpb_text_column,
.marken-section .wpb_text_column p {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    color: #a0aec0 !important;
    text-align: left !important;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
}

/* Marke Teaser Grid Layout */
.marken-section > .vc_row {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.marken-section .vc_row .vc_column_container {
    padding: 0 20px !important;
}

.marken-section .vc_row .sc_item_title_style_default {
    text-align: center !important;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .marken-section {
        padding: 60px 0;
    }
    
    .marken-section h1,
    .marken-section .vc_custom_heading,
    .marken-section h1.vc_custom_heading,
    .marken-section .sc_item_title_text,
    .marken-section h1 .sc_item_title_text,
    .marken-section .sc_item_title_text h1,
    .marken-section .sc_item_title_text.sc_item_title_tag_h1 {
        font-size: 70px !important;
        margin-bottom: 50px !important;
    }
    
    .marken-section .vc_row {
        padding: 0 30px;
    }
}

@media (max-width: 768px) {
    .marken-section {
        padding: 50px 0;
    }
    
    .marken-section h1,
    .marken-section .vc_custom_heading,
    .marken-section h1.vc_custom_heading,
    .marken-section .sc_item_title_text,
    .marken-section h1 .sc_item_title_text,
    .marken-section .sc_item_title_text h1,
    .marken-section .sc_item_title_text.sc_item_title_tag_h1 {
        font-size: 55px !important;
        margin-bottom: 40px !important;
        letter-spacing: 0.05em !important;
    }
    
    .marken-section .wpb_text_column,
    .marken-section .wpb_text_column p {
        font-size: 16px !important;
        margin-bottom: 30px !important;
    }
    
    .marken-section .vc_row {
        padding: 0 20px;
    }
    
    .marken-section .vc_row .vc_column_container {
        padding: 0 10px !important;
        margin-bottom: 10px !important;
    }
}

@media (max-width: 480px) {

   /* Add left margin to logo */
.sc_layouts_logo {
    margin-left: 30px !important;
}

    .vc_section.marken-section {
        padding: 40px 0 !important;
    }
    
    .marken-section h1,
    .marken-section .vc_custom_heading,
    .marken-section h1.vc_custom_heading,
    .marken-section .sc_item_title_text,
    .marken-section h1 .sc_item_title_text,
    .marken-section .sc_item_title_text h1,
    .marken-section .sc_item_title_text.sc_item_title_tag_h1 {
        font-size: 45px !important;
        margin-bottom: 30px !important;
    }
    
    .marken-section .vc_row {
        padding: 0 15px;
    }
}

/* ========================================
   MARKE SEGMENTE SECTION STYLES
   ======================================== */

/* Main Marke Segmente Section Container */
.marke-segmente-section {
    background-color: #ffffff;
    width: 100%;
    padding: 80px 0;
}

/* Image styling - centered at top, 1200px wide */
.marke-segmente-section .wpb_single_image {
    margin: 0 auto 40px auto !important;
    display: block;
    text-align: center;
}

.marke-segmente-section .wpb_single_image .wpb_wrapper {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto !important;
    text-align: center;
}

.marke-segmente-section .wpb_single_image img {
    max-width: 1600px;
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    margin: 0 auto !important;
}

/* Title styling - centered, below image */
.marke-segmente-section h1,
.marke-segmente-section .vc_custom_heading,
.marke-segmente-section h1.vc_custom_heading,
.marke-segmente-section .sc_item_title_text,
.marke-segmente-section h1 .sc_item_title_text,
.marke-segmente-section .sc_item_title_text h1,
.marke-segmente-section .sc_item_title_text.sc_item_title_tag_h1,
.marke-segmente-section .wpb_wrapper h1,
.marke-segmente-section .wpb_wrapper .vc_custom_heading {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400 !important;
    font-size: 48px !important;
    color: #2d3748 !important;
    text-align: center !important;
    margin: 0 auto 15px auto !important;
    line-height: 1.3 !important;
    max-width: 1200px;
    width: 100%;
    display: block;
}

.marke-segmente-section .wpb_text_column .wpb_wrapper h2 {
    font-size: 32px;
    text-align: center;
    padding-bottom: 32px;
    line-height: 34px;
}

/* Text column wrapper - centered */
.marke-segmente-section .wpb_text_column,
.marke-segmente-section .wpb_text_column .wpb_wrapper {
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Subtitle styling - centered, below title */
.marke-segmente-section .wpb_text_column p:first-child,
.marke-segmente-section .wpb_text_column > p:first-of-type,
.marke-segmente-section .wpb_text_column .wpb_wrapper p:first-child {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 300 !important;
    font-size: 18px !important;
    color: #718096 !important;
    text-align: center !important;
    margin: 0 auto 40px auto !important;
    padding: 0 !important;
    display: block;
}

/* Text content with checkmarks - left aligned within centered container */
.marke-segmente-section .wpb_text_column ul,
.marke-segmente-section .wpb_text_column ol {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    color: #4a5568 !important;
    text-align: left !important;
    margin: 0 auto 60px auto !important;
    padding: 0 !important;
    list-style: none !important;
    max-width: 800px;
    display: inline-block;
}

.marke-segmente-section .wpb_text_column ul li,
.marke-segmente-section .wpb_text_column ol li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 20px;
    line-height: 1.6;
}

/* Checkmark icon before list items */
.marke-segmente-section .wpb_text_column ul li::before,
.marke-segmente-section .wpb_text_column ol li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: #2d3748;
    font-weight: 600;
    font-size: 18px;
}

/* Marke Teaser cards - side by side */
.marke-segmente-section .vc_row {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
}

.marke-segmente-section .vc_row .vc_column_container {
    padding: 0 20px !important;
}

/* Ensure marke teaser cards are displayed properly */
.marke-segmente-section .gustoso-marke-teaser {
    margin-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .marke-segmente-section {
        padding: 60px 0;
    }
    
    .marke-segmente-section h1,
    .marke-segmente-section .vc_custom_heading,
    .marke-segmente-section h1.vc_custom_heading,
    .marke-segmente-section .sc_item_title_text,
    .marke-segmente-section h1 .sc_item_title_text,
    .marke-segmente-section .sc_item_title_text h1,
    .marke-segmente-section .sc_item_title_text.sc_item_title_tag_h1 {
        font-size: 36px !important;
    }
    
    .marke-segmente-section .vc_row {
        padding: 0 30px;
    }
}

@media (max-width: 768px) {
    .marke-segmente-section {
        padding: 50px 0;
    }
    
    .marke-segmente-section .wpb_single_image img {
        max-width: 100%;
    }
    
    .marke-segmente-section h1,
    .marke-segmente-section .vc_custom_heading,
    .marke-segmente-section h1.vc_custom_heading,
    .marke-segmente-section .sc_item_title_text,
    .marke-segmente-section h1 .sc_item_title_text,
    .marke-segmente-section .sc_item_title_text h1,
    .marke-segmente-section .sc_item_title_text.sc_item_title_tag_h1 {
        font-size: 28px !important;
    }
    
    /* Remove padding from WPBakery elements on mobile */
    .marke-segmente-section .wpb_wrapper,
    .marke-segmente-section .wpb_text_column,
    .marke-segmente-section .wpb_content_element {
        padding: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    .marke-segmente-section .wpb_text_column p:first-child,
    .marke-segmente-section .wpb_text_column > p:first-of-type {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .marke-segmente-section .wpb_text_column ul,
    .marke-segmente-section .wpb_text_column ol {
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .marke-segmente-section .vc_row {
        padding: 0 20px;
    }
    
    .marke-segmente-section .vc_row .vc_column_container {
        padding: 0 10px !important;
        margin-bottom: 30px;
}

.vc_section {
        padding-left: 0 !important;
    }
}

/* Hide mobile menu button from TRX Addons - comprehensive rules */
.sc_layouts_menu_mobile_button,
.sc_layouts_menu_mobile_button_burger,
.sc_layouts_item_menu_mobile_button,
.sc_layouts_iconed_text.sc_layouts_menu_mobile_button,
.sc_layouts_iconed_text.sc_layouts_menu_mobile_button_burger,
.sc_layouts_item .sc_layouts_menu_mobile_button,
.sc_layouts_item .sc_layouts_menu_mobile_button_burger,
.sc_layouts_item .sc_layouts_iconed_text.sc_layouts_menu_mobile_button,
.sc_layouts_item .sc_layouts_iconed_text.sc_layouts_menu_mobile_button_burger,
.top_panel_navi .sc_layouts_menu_mobile_button,
.top_panel_navi .sc_layouts_menu_mobile_button_burger,
.top_panel_mobile_navi .sc_layouts_menu_mobile_button,
.top_panel_mobile_navi .sc_layouts_menu_mobile_button_burger,
.sc_layouts_column .sc_layouts_menu_mobile_button,
.sc_layouts_column .sc_layouts_menu_mobile_button_burger,
.sc_layouts_column .sc_layouts_iconed_text.sc_layouts_menu_mobile_button,
.sc_layouts_column .sc_layouts_iconed_text.sc_layouts_menu_mobile_button_burger,
.sc_layouts_row .sc_layouts_menu_mobile_button,
.sc_layouts_row .sc_layouts_menu_mobile_button_burger,
.sc_layouts_menu_mobile_button a,
.sc_layouts_menu_mobile_button_burger a,
.sc_layouts_menu_mobile_button .sc_layouts_item_link,
.sc_layouts_menu_mobile_button_burger .sc_layouts_item_link {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mejs-controls {
    display: none !important;
}

/* ========================================
   Widget Slider Styles (TRX Addons)
   ======================================== */

/* Widget Slider Container - Target all possible slider containers */
.widget_slider,
.widget.widget_slider,
.widget.widget_slider .slider_wrap,
.widget.widget_slider .slider_container,
.widget.widget_slider .slider_outer {
    position: relative;
}

.widget_slider .slider_wrap,
.widget_slider .slider_container,
.widget_slider .slider_outer,
.widget.widget_slider .slider_wrap,
.widget.widget_slider .slider_container,
.widget.widget_slider .slider_outer {
    position: relative;
}

/* Navigation Arrows - White Circular Buttons with Black Arrows */
.widget_slider .slider_prev,
.widget_slider .slider_next,
.widget_slider .swiper-button-prev,
.widget_slider .swiper-button-next,
.widget_slider .slider_controls_wrap .slider_prev,
.widget_slider .slider_controls_wrap .slider_next,
.widget_slider .slider_controls_wrap > a {
    width: 50px !important;
    height: 50px !important;
    background-color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    position: absolute !important;
    background-image: none !important;
}

.widget_slider .slider_prev,
.widget_slider .swiper-button-prev,
.widget_slider .slider_controls_wrap .slider_prev,
.widget_slider .slider_controls_wrap > a.slider_prev {
    left: 20px !important;
    right: auto !important;
}

.widget_slider .slider_next,
.widget_slider .swiper-button-next,
.widget_slider .slider_controls_wrap .slider_next,
.widget_slider .slider_controls_wrap > a.slider_next {
    right: 20px !important;
    left: auto !important;
}

/* Remove default content and add black arrows */
.widget_slider .slider_prev:before,
.widget_slider .slider_next:before,
.widget_slider .swiper-button-prev:before,
.widget_slider .swiper-button-next:before,
.widget_slider .swiper-button-prev:after,
.widget_slider .swiper-button-next:after {
    content: '' !important;
}

.widget_slider .slider_prev:before {
    content: '←' !important;
    color: #000000 !important;
    font-size: 24px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}

.widget_slider .slider_next:before {
    content: '→' !important;
    color: #000000 !important;
    font-size: 24px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}

.widget_slider .swiper-button-prev:before {
    content: '←' !important;
    color: #000000 !important;
    font-size: 24px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}

.widget_slider .swiper-button-next:before {
    content: '→' !important;
    color: #000000 !important;
    font-size: 24px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}

/* SVG arrows if present */
.widget_slider .slider_prev svg,
.widget_slider .slider_next svg,
.widget_slider .swiper-button-prev svg,
.widget_slider .swiper-button-next svg {
    fill: #000000 !important;
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

/* Hover Effect */
.widget_slider .slider_prev:hover,
.widget_slider .slider_next:hover,
.widget_slider .swiper-button-prev:hover,
.widget_slider .swiper-button-next:hover {
    background-color: #f5f5f5 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

/* Pagination - Thin Horizontal Lines at Bottom */
.widget_slider .swiper-pagination,
.widget_slider .slider_pagination_wrap {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    z-index: 10 !important;
}

.widget_slider .swiper-pagination-bullet,
.widget_slider .slider_pagination_bullet {
    width: 40px !important;
    height: 2px !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    border: none !important;
}

.widget_slider .swiper-pagination-bullet-active,
.widget_slider .slider_pagination_bullet_active {
    background-color: #324158 !important;
    width: 40px !important;
    height: 2px !important;
    opacity: 1 !important;
}

/* Responsive Adjustments - Mobile */
@media (max-width: 768px) {
    /* Center navigation arrows vertically on mobile */
    .widget_slider .slider_prev,
    .widget_slider .slider_next,
    .widget_slider .swiper-button-prev,
    .widget_slider .swiper-button-next,
    .widget_slider .slider_controls_wrap .slider_prev,
    .widget_slider .slider_controls_wrap .slider_next,
    .widget_slider .slider_controls_wrap > a {
        width: 40px !important;
        height: 40px !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }
    
    .widget_slider .slider_prev:before,
    .widget_slider .slider_next:before,
    .widget_slider .swiper-button-prev:before,
    .widget_slider .swiper-button-next:before {
        font-size: 18px !important;
    }
    
    /* Position arrows at bottom left and right */
    .widget_slider .slider_prev,
    .widget_slider .swiper-button-prev,
    .widget_slider .slider_controls_wrap .slider_prev,
    .widget_slider .slider_controls_wrap > a.slider_prev {
        left: 20px !important;
        right: auto !important;
    }
    
    .widget_slider .slider_next,
    .widget_slider .swiper-button-next,
    .widget_slider .slider_controls_wrap .slider_next,
    .widget_slider .slider_controls_wrap > a.slider_next {
        right: 20px !important;
        left: auto !important;
    }
    
    /* Position pagination at bottom center, between arrows */
    .widget_slider .swiper-pagination,
    .widget_slider .slider_pagination_wrap {
        bottom: 40px !important; /* Align with center of 40px buttons at bottom: 20px */
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        max-width: calc(100% - 120px) !important; /* Leave space for arrows */
        align-items: center !important;
    }
    
    .widget_slider .swiper-pagination-bullet,
    .widget_slider .slider_pagination_bullet {
        width: 30px !important;
        height: 2px !important;
    }
    
    .widget_slider .swiper-pagination-bullet-active,
    .widget_slider .slider_pagination_bullet_active {
        width: 30px !important;
        height: 2px !important;
    }
}

/* Small Mobile Adjustments */
@media (max-width: 480px) {
    .widget_slider .slider_prev,
    .widget_slider .slider_next,
    .widget_slider .swiper-button-prev,
    .widget_slider .swiper-button-next,
    .widget_slider .slider_controls_wrap .slider_prev,
    .widget_slider .slider_controls_wrap .slider_next,
    .widget_slider .slider_controls_wrap > a {
        width: 35px !important;
        height: 35px !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }
    
    .widget_slider .slider_prev:before,
    .widget_slider .slider_next:before,
    .widget_slider .swiper-button-prev:before,
    .widget_slider .swiper-button-next:before {
        font-size: 16px !important;
    }
    
    .widget_slider .slider_prev,
    .widget_slider .swiper-button-prev {
        left: 15px !important;
    }
    
    .widget_slider .slider_next,
    .widget_slider .swiper-button-next {
        right: 15px !important;
    }
    
    .widget_slider .swiper-pagination,
    .widget_slider .slider_pagination_wrap {
        bottom: 15px !important;
        max-width: calc(100% - 100px) !important;
        transform: translateX(-50%) !important;
    }
    
    .widget_slider .swiper-pagination-bullet,
    .widget_slider .slider_pagination_bullet {
        width: 25px !important;
        height: 2px !important;
    }
    
    .widget_slider .swiper-pagination-bullet-active,
    .widget_slider .slider_pagination_bullet_active {
        width: 25px !important;
        height: 2px !important;
    }
}

/* ========================================
   WP Forms Kontakt Form Styles
   ======================================== */

/* Form Container */
.wpforms-container,
.wpforms-container-full,
div.wpforms-container-full {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Removed test border */

/* Form Title */
.wpforms-container .wpforms-title,
.wpforms-container h3.wpforms-title,
.wpforms-container h2.wpforms-title {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 48px !important;
    font-weight: 400 !important;
    color: #26303F !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

/* Form Description/Instruction Text */
.wpforms-container .wpforms-description {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #26303F !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

/* Form Fields Container */
.wpforms-container .wpforms-field {
    margin-bottom: 25px !important;
    position: relative !important;
}

/* Force all field containers to use relative positioning for label placement */
.wpforms-container .wpforms-field,
.wpforms-container .wpforms-form .wpforms-field,
div.wpforms-container-full .wpforms-form .wpforms-field {
    position: relative !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}

/* Field Labels - Positioned on top border of input, no horizontal lines */
.wpforms-container .wpforms-field-label,
.wpforms-container label.wpforms-field-label,
.wpforms-container .wpforms-field label,
.wpforms-container .wpforms-form .wpforms-field-label,
.wpforms-container .wpforms-form label.wpforms-field-label,
.wpforms-container form .wpforms-field-label,
.wpforms-container form label.wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-label,
div.wpforms-container-full .wpforms-form label.wpforms-field-label {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: italic !important;
    color: #26303F !important;
    margin: 0 !important;
    padding: 0 8px !important;
    display: inline-block !important;
    line-height: 1.5 !important;
    position: absolute !important;
    top: -10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: #ffffff !important;
    z-index: 1 !important;
    pointer-events: none !important;
    text-align: center !important;
}

/* Remove any horizontal lines */
.wpforms-container .wpforms-field-label::before,
.wpforms-container label.wpforms-field-label::before,
.wpforms-container .wpforms-field label::before,
.wpforms-container .wpforms-field-label::after,
.wpforms-container label.wpforms-field-label::after,
.wpforms-container .wpforms-field label::after,
div.wpforms-container-full .wpforms-form .wpforms-field-label::before,
div.wpforms-container-full .wpforms-form .wpforms-field-label::after {
    display: none !important;
    content: none !important;
}

/* Ensure labels come before inputs in the DOM flow */
.wpforms-container .wpforms-field-text .wpforms-field-label,
.wpforms-container .wpforms-field-email .wpforms-field-label,
.wpforms-container .wpforms-field-number .wpforms-field-label,
.wpforms-container .wpforms-field-phone .wpforms-field-label,
.wpforms-container .wpforms-field-textarea .wpforms-field-label,
.wpforms-container .wpforms-field-select .wpforms-field-label {
    order: -1 !important;
    margin-bottom: 8px !important;
}

/* Ensure labels are not inside input fields */
.wpforms-container .wpforms-field-label-inline,
.wpforms-container .wpforms-field-label-inline label {
    display: inline-block !important;
    margin-right: 10px !important;
}

/* Remove any label positioning that puts it inside fields */
.wpforms-container .wpforms-field input + label,
.wpforms-container .wpforms-field select + label,
.wpforms-container .wpforms-field textarea + label {
    position: static !important;
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    margin-left: 32px !important;
}

/* Ensure field structure: label first, then input - More specific targeting */
.wpforms-container .wpforms-field-text,
.wpforms-container .wpforms-field-email,
.wpforms-container .wpforms-field-number,
.wpforms-container .wpforms-field-phone,
.wpforms-container .wpforms-field-textarea,
.wpforms-container .wpforms-field-select,
div.wpforms-container-full .wpforms-form .wpforms-field-text,
div.wpforms-container-full .wpforms-form .wpforms-field-email,
div.wpforms-container-full .wpforms-form .wpforms-field-number,
div.wpforms-container-full .wpforms-form .wpforms-field-phone,
div.wpforms-container-full .wpforms-form .wpforms-field-textarea,
div.wpforms-container-full .wpforms-form .wpforms-field-select {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

/* Labels must appear first (order: 1) */
.wpforms-container .wpforms-field-text .wpforms-field-label,
.wpforms-container .wpforms-field-email .wpforms-field-label,
.wpforms-container .wpforms-field-number .wpforms-field-label,
.wpforms-container .wpforms-field-phone .wpforms-field-label,
.wpforms-container .wpforms-field-textarea .wpforms-field-label,
.wpforms-container .wpforms-field-select .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-text .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-email .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-number .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-phone .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-textarea .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-select .wpforms-field-label {
    order: 1 !important;
    margin-bottom: 8px !important;
    margin-top: 15px !important;
}

/* Inputs must appear second (order: 2) */
.wpforms-container .wpforms-field-text input,
.wpforms-container .wpforms-field-email input,
.wpforms-container .wpforms-field-number input,
.wpforms-container .wpforms-field-phone input,
.wpforms-container .wpforms-field-textarea textarea,
.wpforms-container .wpforms-field-select select,
div.wpforms-container-full .wpforms-form .wpforms-field-text input,
div.wpforms-container-full .wpforms-form .wpforms-field-email input,
div.wpforms-container-full .wpforms-form .wpforms-field-number input,
div.wpforms-container-full .wpforms-form .wpforms-field-phone input,
div.wpforms-container-full .wpforms-form .wpforms-field-textarea textarea,
div.wpforms-container-full .wpforms-form .wpforms-field-select select {
    order: 2 !important;
    margin-top: 0 !important;
}

/* Required Field Asterisk */
.wpforms-container .wpforms-required-label {
    color: #26303F !important;
}

/* Text Inputs, Email, Number, Phone, Textarea - White background, full width */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="number"],
.wpforms-container input[type="tel"],
.wpforms-container textarea,
.wpforms-container .wpforms-field-text input,
.wpforms-container .wpforms-field-email input,
.wpforms-container .wpforms-field-number input,
.wpforms-container .wpforms-field-phone input,
.wpforms-container .wpforms-field-textarea textarea,
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="number"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form textarea,
.wpforms-container form input[type="text"],
.wpforms-container form input[type="email"],
.wpforms-container form input[type="number"],
.wpforms-container form input[type="tel"],
.wpforms-container form textarea,
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-form .wpforms-field-text input,
div.wpforms-container-full .wpforms-form .wpforms-field-email input,
div.wpforms-container-full .wpforms-form .wpforms-field-number input,
div.wpforms-container-full .wpforms-form .wpforms-field-phone input,
div.wpforms-container-full .wpforms-form .wpforms-field-textarea textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
    padding: 12px 15px !important;
    padding-top: 12px !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #26303F !important;
    background-color: #ffffff !important;
    border: 1px solid #26303F !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    position: relative !important;
}

.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container input[type="number"]:focus,
.wpforms-container input[type="tel"]:focus,
.wpforms-container textarea:focus,
.wpforms-container .wpforms-field-text input:focus,
.wpforms-container .wpforms-field-email input:focus,
.wpforms-container .wpforms-field-number input:focus,
.wpforms-container .wpforms-field-phone input:focus,
.wpforms-container .wpforms-field-textarea textarea:focus {
    outline: none !important;
    border-color: #26303F !important;
    background-color: #ffffff !important;
}

/* Keep error border color even on focus */
.wpforms-container input[type="text"].wpforms-error:focus,
.wpforms-container input[type="email"].wpforms-error:focus,
.wpforms-container input[type="number"].wpforms-error:focus,
.wpforms-container input[type="tel"].wpforms-error:focus,
.wpforms-container textarea.wpforms-error:focus,
.wpforms-container .wpforms-field-text input.wpforms-error:focus,
.wpforms-container .wpforms-field-email input.wpforms-error:focus,
.wpforms-container .wpforms-field-number input.wpforms-error:focus,
.wpforms-container .wpforms-field-phone input.wpforms-error:focus,
.wpforms-container .wpforms-field-textarea textarea.wpforms-error:focus,
.wpforms-container .wpforms-field-error input:focus,
.wpforms-container .wpforms-field-error textarea:focus,
.wpforms-container .wpforms-field-error select:focus {
    border-color: #D63637 !important;
}

.wpforms-container input[type="text"]::placeholder,
.wpforms-container input[type="email"]::placeholder,
.wpforms-container input[type="number"]::placeholder,
.wpforms-container input[type="tel"]::placeholder,
.wpforms-container textarea::placeholder,
.wpforms-container select::placeholder {
    color: #26303F !important;
    opacity: 1 !important;
    font-style: normal !important;
}

/* Select Dropdowns - White background, full width */
.wpforms-container select,
.wpforms-container .wpforms-field-select select,
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form .wpforms-field-select select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
    padding: 12px 15px 12px 15px !important;
    padding-top: 12px !important;
    padding-right: 40px !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #26303F !important;
    background-color: #ffffff !important;
    border: 1px solid #26303F !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: border-color 0.3s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2326303F' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    position: relative !important;
}

.wpforms-container select:focus,
.wpforms-container .wpforms-field-select select:focus,
div.wpforms-container-full .wpforms-form select:focus {
    outline: none !important;
    border-color: #26303F !important;
    background-color: #ffffff !important;
}

/* Radio Buttons - Standard (non-icon) */

.wpforms-container .wpforms-field-radio ul:not(.wpforms-icon-choices) {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    justify-content: left !important;
}

.wpforms-container .wpforms-field-radio ul:not(.wpforms-icon-choices) li {
    margin: 0 !important;
    padding: 0 !important;
}

.wpforms-container .wpforms-field-radio ul:not(.wpforms-icon-choices) input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-height: auto !important;
    margin: 0 8px 0 0 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: 2px solid #D0D0D0 !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    position: relative !important;
    vertical-align: middle !important;
    transition: border-color 0.3s ease !important;
}

.wpforms-container .wpforms-field-radio ul:not(.wpforms-icon-choices) input[type="radio"]:checked {
    border-color: #26303F !important;
    background-color: #26303F !important;
}

.wpforms-container .wpforms-field-radio ul:not(.wpforms-icon-choices) input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
}

.wpforms-container .wpforms-field-radio ul:not(.wpforms-icon-choices) label {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #26303F !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    margin-left: 28px !important;
}

div.wpforms-container-full input[type=radio]:before,
div.wpforms-container-full input[type=radio]:checked:before {
    opacity: 0 !important;
}

/* Radio Buttons - Icon Choices */
.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices {
    --wpforms-icon-choices-color: #26303F;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    justify-content: flex-start !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices li {
    margin: 0 !important;
    padding: 0 !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices label {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    cursor: pointer !important;
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: italic !important;
    color: #26303F !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices .wpforms-icon-choices-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices .wpforms-icon-choices-icon svg {
    width: 40px !important;
    height: 60px !important;
    fill: #D0D0D0 !important;
    transition: fill 0.3s ease !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices li.wpforms-selected .wpforms-icon-choices-icon svg,
.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices li:has(input:checked) .wpforms-icon-choices-icon svg {
    fill: #26303F !important;
}

.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices .wpforms-icon-choices-label {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: italic !important;
    color: #26303F !important;
}

/* File Upload Field */
.wpforms-container .wpforms-field-file-upload {
    margin-bottom: 25px !important;
}

.wpforms-container .wpforms-field-file-upload .wpforms-field-description {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #26303F !important;
    margin: 0 0 10px 0 !important;
}

/* Textarea */
.wpforms-container .wpforms-field-textarea textarea {
    height: 60px !important;
    min-height: 60px !important;
    resize: vertical !important;
}

/* Field Descriptions */
.wpforms-container .wpforms-field-description {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #666666 !important;
    margin: 5px 0 0 0 !important;
    line-height: 1.5 !important;
}

/* HTML Field (Instruction Text) */
.wpforms-container .wpforms-field-html {
    margin-bottom: 25px !important;
}

.wpforms-container .wpforms-field-html p {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #26303F !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* Checkbox Fields */

/* Checkbox fieldset spacing */
.wpforms-container .wpforms-field-checkbox fieldset,
.wpforms-container fieldset.wpforms-field-checkbox {
    margin-top: 15px !important;
    padding-top: 20px !important;
    border: 1px solid #26303F !important;
    border-radius: 0 !important;
    position: relative !important;
}

.wpforms-container .wpforms-field-checkbox ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

.wpforms-container .wpforms-field-checkbox li {
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

.wpforms-container .wpforms-field-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: 2px solid #D0D0D0 !important;
    border-radius: 2px !important;
    background-color: #ffffff !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    transition: border-color 0.3s ease, background-color 0.3s ease !important;
}

.wpforms-container .wpforms-field-checkbox input[type="checkbox"]:checked {
    border-color: #26303F !important;
    background-color: #26303F !important;
}

.wpforms-container .wpforms-field-checkbox input[type="checkbox"]:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}

.wpforms-container .wpforms-field-checkbox label {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #26303F !important;
    cursor: pointer !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    flex: 1 !important;
}

/* Submit Button */
.wpforms-container .wpforms-submit-container {
    margin-top: 30px !important;
    text-align: left !important;
}

.wpforms-container .wpforms-submit,
.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 15px !important;
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Hide default ::before when modified */
.wpforms-container .wpforms-submit.gustoso-wpforms-submit-modified::before,
.wpforms-container .wpforms-submit.gustoso-wpforms-submit-modified::after {
    display: none !important;
    content: none !important;
}

/* Button Circle */
.gustoso-wpforms-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background-color: #324158 !important;
    border: 1px solid #324158 !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
}

.gustoso-wpforms-button::before {
    content: "→" !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    display: block !important;
    transition: color 0.3s ease !important;
}

.wpforms-container .wpforms-submit:hover .gustoso-wpforms-button {
    background-color: transparent !important;
}

.wpforms-container .wpforms-submit:hover .gustoso-wpforms-button::before {
    color: #324158 !important;
}

/* Button Text */
.gustoso-wpforms-button-text {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    font-style: italic !important;
    line-height: 1.5 !important;
    color: #324158 !important;
    border-bottom: 1px dotted transparent !important;
    transition: border-color 0.3s ease !important;
}

.wpforms-container .wpforms-submit:hover .gustoso-wpforms-button-text {
    border-bottom-color: currentColor !important;
}

/* Fallback for non-modified buttons */
.wpforms-container .wpforms-submit:not(.gustoso-wpforms-submit-modified)::before {
    content: "→" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background-color: #324158 !important;
    border: 1px solid #324158 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
}

.wpforms-container .wpforms-submit:not(.gustoso-wpforms-submit-modified) {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    font-style: italic !important;
    color: #324158 !important;
}

.wpforms-container .wpforms-submit:not(.gustoso-wpforms-submit-modified):hover::before {
    background-color: transparent !important;
    color: #324158 !important;
}

/* Error Messages */
.wpforms-container .wpforms-error-container {
    margin: 15px 0 !important;
    padding: 12px 15px !important;
    background-color: #FFF5F5 !important;
    border: 1px solid #FFA399 !important;
    color: #CC0000 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    border-radius: 0 !important;
}

/* Error border styles for input fields */
.wpforms-container .wpforms-field-error,
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error,
.wpforms-container input[type="text"].wpforms-error,
.wpforms-container input[type="email"].wpforms-error,
.wpforms-container input[type="number"].wpforms-error,
.wpforms-container input[type="tel"].wpforms-error,
.wpforms-container .wpforms-field-text input.wpforms-error,
.wpforms-container .wpforms-field-email input.wpforms-error,
.wpforms-container .wpforms-field-number input.wpforms-error,
.wpforms-container .wpforms-field-phone input.wpforms-error,
.wpforms-container .wpforms-field-textarea textarea.wpforms-error,
.wpforms-container .wpforms-field-select select.wpforms-error,
.wpforms-container .wpforms-field-error input,
.wpforms-container .wpforms-field-error textarea,
.wpforms-container .wpforms-field-error select,
div.wpforms-container-full .wpforms-form input.wpforms-error,
div.wpforms-container-full .wpforms-form textarea.wpforms-error,
div.wpforms-container-full .wpforms-form select.wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-error input,
div.wpforms-container-full .wpforms-form .wpforms-field-error textarea,
div.wpforms-container-full .wpforms-form .wpforms-field-error select {
    border-color: #D63637 !important;
}

.wpforms-container .wpforms-error {
    color: #CC0000 !important;
    font-size: 12px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    order: 3 !important;
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}

/* Ensure error messages appear below inputs in flexbox layout */
.wpforms-container .wpforms-field-text .wpforms-error,
.wpforms-container .wpforms-field-email .wpforms-error,
.wpforms-container .wpforms-field-number .wpforms-error,
.wpforms-container .wpforms-field-phone .wpforms-error,
.wpforms-container .wpforms-field-textarea .wpforms-error,
.wpforms-container .wpforms-field-select .wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-text .wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-email .wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-number .wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-phone .wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-textarea .wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field-select .wpforms-error {
    order: 3 !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

/* Error message wrapper */
.wpforms-container .wpforms-field .wpforms-error,
.wpforms-container .wpforms-field-container .wpforms-error {
    order: 3 !important;
    margin-top: 8px !important;
}

/* Success Message */
.wpforms-container .wpforms-confirmation-container {
    margin: 20px 0 !important;
    padding: 15px 20px !important;
    background-color: #F0F9F0 !important;
    border: 1px solid #89D86B !important;
    color: #26303F !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    border-radius: 0 !important;
}

div.wpforms-container-full button[type=submit]:hover {
    background: none !important;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .wpforms-container,
    .wpforms-container-full,
    div.wpforms-container-full {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .wpforms-container .wpforms-title {
        font-size: 36px !important;
    }
    
    .wpforms-container .wpforms-field-radio ul {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .wpforms-container .wpforms-submit {
        width: auto !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 480px) {
    .wpforms-container .wpforms-title {
        font-size: 28px !important;
    }
    
    .wpforms-container input[type="text"],
    .wpforms-container input[type="email"],
    .wpforms-container input[type="number"],
    .wpforms-container input[type="tel"],
    .wpforms-container textarea,
    .wpforms-container select {
        padding: 10px 12px !important;
        font-size: 14px !important;
    }
}

/* ========================================
   TEXT SECTION CONTENT LINK STYLES
   ======================================== */

.gustoso-text-section-content a {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #324158;
    text-decoration: none;
    border-bottom: 1px dotted #324158;
    padding-bottom: 2px;
    transition: border-color 0.3s ease;
}

.gustoso-text-section-content a:hover {
    border-bottom-style: solid;
}

/* ========================================
   COOKIEBOT BANNER STYLES
   Angleichung an das Gustoso Design-System.
   Grundkonfiguration (Layout, Texte, Logo)
   erfolgt im Usercentrics Admin-Panel.
   ======================================== */

/* Banner Container */
#CybotCookiebotDialog {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    border-radius: 0 !important;
    border: 1px solid #26303F !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15) !important;
}

#CybotCookiebotDialog *,
#CybotCookiebotDialogDetail * {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Banner Title */
#CybotCookiebotDialogBodyContentTitle,
.CybotCookiebotDialogBodyContentTitle {
    font-family: 'Ysabeau Infant', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 300 !important;
    color: #26303F !important;
}

/* Banner Body Text */
#CybotCookiebotDialogBodyContentText,
.CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialogDetailBodyContentTextOverview {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400 !important;
    color: #26303F !important;
    line-height: 1.6 !important;
}

/* Links im Banner */
#CybotCookiebotDialog a,
#CybotCookiebotDialogBodyContentText a,
#CybotCookiebotDialogDetailBodyContentTextOverview a {
    color: #324158 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}

#CybotCookiebotDialog a:hover {
    text-decoration-thickness: 2px !important;
}

/* Accept Button (Primary) */
#CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialogBodyLevelButtonAccept,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    background-color: #324158 !important;
    color: #ffffff !important;
    border: 1px solid #324158 !important;
    border-radius: 0 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 600 !important;
    text-transform: none !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

#CybotCookiebotDialogBodyButtonAccept:hover,
#CybotCookiebotDialogBodyLevelButtonAccept:hover,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover {
    background-color: #26303F !important;
    border-color: #26303F !important;
}

/* Decline Button (Secondary) */
#CybotCookiebotDialogBodyButtonDecline,
#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll {
    background-color: transparent !important;
    color: #324158 !important;
    border: 1px solid #324158 !important;
    border-radius: 0 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 600 !important;
    text-transform: none !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

#CybotCookiebotDialogBodyButtonDecline:hover,
#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll:hover {
    background-color: #324158 !important;
    color: #ffffff !important;
}

/* Details/Settings Button */
#CybotCookiebotDialogBodyButtonDetails,
#CybotCookiebotDialogBodyLevelButtonCustomize,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
    background-color: transparent !important;
    color: #324158 !important;
    border: 1px solid #D0D0D0 !important;
    border-radius: 0 !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400 !important;
    text-transform: none !important;
    transition: border-color 0.3s ease !important;
}

#CybotCookiebotDialogBodyButtonDetails:hover,
#CybotCookiebotDialogBodyLevelButtonCustomize:hover,
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:hover {
    border-color: #324158 !important;
}

/* Detail-Ansicht: Tab-Navigation */
.CybotCookiebotDialogNavItemLink,
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400 !important;
    color: #718096 !important;
    border-radius: 0 !important;
    transition: color 0.3s ease !important;
}

.CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive,
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
    color: #26303F !important;
    border-bottom: 2px solid #324158 !important;
}

/* Detail-Ansicht: Tab-Inhalt */
#CybotCookiebotDialogTabContent,
.CybotCookiebotDialogDetailBodyContentTab {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #26303F !important;
}

/* Checkboxen / Toggles */
#CybotCookiebotDialogDetail input[type="checkbox"] {
    border-radius: 0 !important;
}

/* Cookie-Tabelle in der Detail-Ansicht */
#CybotCookiebotDialogDetailBody .CybotCookiebotDialogDetailBodyContentCookieContainerButton {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #324158 !important;
}

/* Powered-by / Branding-Link */
#CybotCookiebotDialogPoweredByText {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #718096 !important;
}

/* Cookiebot Underlay darf den Hamburger-Button nicht blockieren */
#CybotCookiebotDialogBodyUnderlay {
    pointer-events: none !important;
}

#CybotCookiebotDialog.CybotCookiebotDialogActive ~ #CybotCookiebotDialogBodyUnderlay {
    pointer-events: auto !important;
}

.gustoso-hamburger-container {
    z-index: 2147483646 !important;
}

/* Fokus-Styles (Accessibility, passend zum Theme) */
#CybotCookiebotDialog *:focus-visible {
    outline: 3px solid #324158 !important;
    outline-offset: 2px !important;
}

/* Responsive */
@media (max-width: 768px) {
    #CybotCookiebotDialog {
        border-left: none !important;
        border-right: none !important;
    }

    #CybotCookiebotDialogBodyButtonAccept,
    #CybotCookiebotDialogBodyButtonDecline,
    #CybotCookiebotDialogBodyButtonDetails,
    #CybotCookiebotDialogBodyLevelButtonAccept,
    #CybotCookiebotDialogBodyLevelButtonCustomize,
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
    #CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll,
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
        width: 100% !important;
        min-height: 44px !important;
    }
}