/* SAM STYLING */

#hidden {
    display: none;
}

/* ========== COLORS ========== */
/* in colours.css */

/* ========== FONTS ========== */
/* Poppins for body text */
@font-face {
    font-family: "Poppins";
    src: url("../fonts/Poppins-ExtraLight.woff2") format("woff2"),
         url("../fonts/Poppins-ExtraLight.woff") format("woff");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../fonts/Poppins-Regular.woff2") format("woff2"),
         url("../fonts/Poppins-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../fonts/Poppins-Medium.woff2") format("woff2"),
         url("../fonts/Poppins-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../fonts/Poppins-ExtraBold.woff2") format("woff2"),
         url("../fonts/Poppins-ExtraBold.woff") format("woff");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Gazpacho for titles */
@font-face {
    font-family: "Gazpacho";
    src: url("../fonts/GazpachoRegular.woff2") format("woff2"),
         url("../fonts/GazpachoRegular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gazpacho";
    src: url("../fonts/GazpachoBold.woff2") format("woff2"),
         url("../fonts/GazpachoBold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gazpacho";
    src: url("../fonts/GazpachoBlack.woff2") format("woff2"),
         url("../fonts/GazpachoBlack.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

body,
html {
    font-family: "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Gazpacho", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ========== HEADER ========== */
/* Logo */
#top .logo.avia-svg-logo svg {
    height: 42px;
    width: auto;
    max-width: 100%;
}

#top .logo.avia-svg-logo a {
    display: flex;
    align-items: center;
    height: 100%;
}

.logo.avia-svg-logo svg .st0 {
    display: block;
    height: 100%;
    width: auto;
}
#header_main {
    border-bottom-width: 0;
    border-bottom-style: none;
    z-index: 1;
}

/* Mobile adjustments */
@media only screen and (max-width: 767px) {
    #top .logo.avia-svg-logo svg {
        height: 60px;
        width: 90%;
        min-width: 200px;
    }
}

/* ========== HEADER ALIGNMENT ========== */

/* Vertically center logo and menu while pushing them to opposite sides */
.av-logo-container .inner-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Fix for Enfold's default float positioning */
.main_menu {
    position: relative !important;
    margin-right: 0 !important;
    height: 44px !important; /* Matches your nav.main_menu height */
}

/* ========== HEADER ALIGNMENT ========== */

/* Keep logo left and menu right */
#header_main .av-logo-container .inner-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

#header_main .main_menu {
    position: relative !important;
    margin-left: auto !important;
    float: none !important;
}

/* ========== MAIN MENU BUTTONS ========== */

#top #header .av-main-nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 18px !important;
    margin: 0 4px !important;
    border-radius: 20px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    border: none !important;
    /* Default to Terracotta if no page-override exists */
    background-color: var(--cat1-color, var(--color-3)) !important; 
    color: #ffffff !important;
}

/* BOLDNESS RESTORED */
/* Target the inner span to ensure Enfold doesn't override it */
#top #header .av-main-nav > li.menubold > a .avia-menu-text,
#top #header .av-main-nav .sub-menu li.menubold > a .avia-menu-text {
    font-weight: 700 !important;
}

/* Hover & Active: Lavender */
#top #header .av-main-nav > li > a:hover,
#top #header .av-main-nav > li.current-menu-item > a,
#top #header .av-main-nav > li.current_page_item > a {
    background-color: var(--color-1) !important;
    color: #ffffff !important;
}

/* ========== DROPDOWN (SUB-MENU) ========== */

#top .av-main-nav .sub-menu {
    background-color: var(--cat1-color, var(--color-3)) !important;
    border-radius: 20px !important;
    padding: 10px 0 !important;
    border: none !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    /* POSITIONING: Move up to close the gap */
    /* This ensures the cursor doesn't leave the "active zone" 
    top: 75% !important; 
    
    */
    margin-top: 0px !important;
}

#top .av-main-nav .sub-menu li, 
#top .av-main-nav .sub-menu li a {
    border: none !important;
    background: transparent !important;
}

#top .av-main-nav .sub-menu li a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 8px 25px !important;
    line-height: 1.3 !important;
}

/* Sub-menu normal text (not bold) */
#top .av-main-nav .sub-menu li:not(.menubold) a {
    font-weight: 400 !important;
}

/* Sub-menu bold text */
#top .av-main-nav .sub-menu li.menubold a .avia-menu-text {
    font-weight: 700 !important;
}

/* Sub-menu Text Hover */
#top .av-main-nav .sub-menu li a:hover {
    color: #ffffff !important;
}

/* ========== MAIN MENU CONDITIONAL STYLING ========== */
/* Hide logged-in items by default */
.menulogged-in {
    display: none;
}

/* Show logged-out items by default */
.menulogged-out {
    display: inline-block;
}

/* Display only if the user is logged in */
body.logged-in .menulogged-in {
    display: inline-block;
}

body.logged-in .menulogged-out {
    display: none;
}

/* Hide cart-full items by default */
.menucart-full {
    display: none;
}

/* Show cart-full items only when the cart is visible */
html.html_visible_cart .menucart-full {
    display: inline-block !important;
}

/* Mobile-specific rules for menu visibility */
@media (max-width: 768px) {
    .responsive #top .av-main-nav li.menulogged-out:not(.av-active-burger-items) {
        display: none;
    }
    body.logged-in .menulogged-in,
    html.html_visible_cart .menucart-full,
    body:not(.logged-in) .menulogged-out {
        display: inline;
    }
}

/* ========== MOBILE BURGER MENU STYLING ========== */
/* Burger menu container - align to top 
#av-burger-menu-ul {
    padding: 0 !important;
    margin: 0 !important;
}
*/
/* Main burger menu items - stack left-aligned */
#av-burger-menu-ul > li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    display: block !important;
}

/* Main menu item links - Gazpacho font, 28px, olive green */
#av-burger-menu-ul > li > a {
    padding: 10px 20px 0px !important;
    margin: 0 !important;
    display: block !important;
    text-align: left !important;
    font-size: 24px !important;
    font-family: 'Gazpacho', sans-serif !important;
    color: var(--color-2) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.html_av-overlay-side-classic #top .av-burger-overlay li a {
    border-bottom-style: none;
    border-bottom-width: 0;
}

/* Sub-menu items - Poppins, normal styling */
#av-burger-menu-ul .sub-menu {
    display: block !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

#av-burger-menu-ul .sub-menu li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    display: block !important;
}

#av-burger-menu-ul .sub-menu li a {
    padding: 6px 20px 7px !important;
    margin: 0 !important;
    display: block !important;
    text-align: left !important;
    font-size: 14px !important;
    font-family: 'Poppins', sans-serif !important;
    color: var(--color-2) !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* Bold sub-menu items */
#av-burger-menu-ul .sub-menu li.menubold a {
    font-weight: 500 !important;
}

/* Hide bullet and dropdown indicators */
#av-burger-menu-ul .avia-bullet,
#av-burger-menu-ul .av-submenu-indicator,
#av-burger-menu-ul .avia-menu-fx {
    display: none !important;
}

/* Hover effect */
#av-burger-menu-ul > li > a:hover,
#av-burger-menu-ul .sub-menu li a:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Clean up Enfold decorators */
.header_color .avia-menu-fx,
.dropdown_available {
    display: none !important;
}

/* ========== BODY ========== */
.content {
    padding-top: 0;
}

.tile1 {
    margin-bottom: 8px;
    border-radius: 32px;
    padding: 20px 40px;
    overflow: hidden;
    background-color: #FFF;
}
.template-page .entry-content-wrapper h1, 
.template-page .entry-content-wrapper h2 {
    text-transform: none;
    letter-spacing: 1px;
}

/* Mobile: Reduce horizontal padding on tiles */
@media (max-width: 767px) {
    .tile1 {
        padding: 20px 20px;
    }
}

#medintro {
    margin-top: -53px !important;
}

#top #wrap_all .header_color .cart_dropdown_first .cart_dropdown_link.avia-svg-icon svg:first-child,
#top .header_color .avia_cart_buttons .avia-svg-icon svg:first-child {
    fill: var(--menu-icon-color) !important;
}
#top .main_color .avia-color-theme-color {
    color: var(--enfold-main-color-button-font);
    border-color: var(--enfold-main-color-button-border);
    border-radius: 14px;
}

.header_color .container_wrap_meta {
    background-color: var(--meta-border-opacity) !important;
}

footer .container_wrap {
    border-top: 1px solid var(--footer-border-color) !important;
}

/* Image containers with rounded corners */
.avia-image-container-inner {
  border-radius: 25px;
  overflow: hidden; /* Clips the image to the rounded corners */
}

.avia-image-container-inner img {
  border-radius: 25px; /* Extra insurance for image itself */
}


/* Spinner */
.infinite-spinner {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 2rem 0;
}

/* Remove the ::after pseudo-element since you're using .css-spinner div */
.infinite-spinner::after {
    display: none !important;
}

/* Style the actual .css-spinner div element - PROPERLY CENTERED */
.infinite-spinner .css-spinner {
    display: block;
    width: 32px;
    height: 32px;
    margin: 0 auto; /* This centers it horizontally */
    border: 3px solid rgba(0, 0, 0, 0.1);
    border-top: 3px solid var(--cat1-color); /* Using your lazy solution! */
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    box-sizing: border-box;
    /* Remove the problematic positioning */
    position: static; /* Changed from relative */
    left: auto;      /* Remove left positioning */
    transform: none; /* Remove transform */
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* === Home > Blog === */
.blog-grid.columns-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
/* Same Size Blog Images */
.blog-grid .thumbnail_container {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
}
.blog-grid .thumbnail_container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media (max-width: 768px) {
    .recent-posts .blog-grid.columns-3 {
        grid-template-columns: 1fr !important;
    }
    .blog-grid .thumbnail_container {
        width: 100%;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f0f0f0;
    }
}

/* ========== TYPOGRAPHY ========== */

h1,
h2,
h3,
h4 {
    font-weight: 200;
}

h1.page-title {
    font-weight: 100;
    text-align: center;
}

.wpb_text_column p {
    line-height: 1.8;
}

#top .title_container .main-title {
    font-size: 34px;
}

/* Enable hyphenation for supported languages (e.g., English, German, French) */
html[lang="de-DE"] .txtjustify {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.center {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
}

.right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    text-align: right;
}
@media (max-width: 768px) {
    h1,
    h2,
    h3,
    h4 {
        font-weight: 300;
    }

    h1.page-title {
        font-weight: 200;
        text-align: center;
    }
}

/* ========== HIDE ELEMENTS ========== */
/* HIDE FEATURED IMAGE FROM PAGE */
.entry-content-header .page-thumb {
    display: none;
}

/* HIDE PAGE TITLES */
.woocommerce-account .title_container,
.woocommerce-cart .title_container,
.woocommerce-checkout .title_container {
    display: none;
}

.woocommerce-account .content,
.woocommerce-cart .content,
.woocommerce-checkout .content {
    padding-top: 50px;
}

/* HIDE SECOND COUPON LIST 
#generated_coupon_data_container {
    display: none;
}
*/
/* HIDE PRODUCT META */
.single-product .product_meta {
    display: none;
}

/* HIDE THE QUANTITY FIELD ON PRODUCT PAGES */
.woocommerce div.quantity {
    display: none;
}

/* HIDE SUGGESTED PRODUCTS IN CART */
.woocommerce-cart .wt-related-products,
.woocommerce-checkout .wt-related-products,
.woocommerce-cart .cross-sells,
.woocommerce-checkout .cross-sells {
    display: none !important;
}

/* HIDE UPDATE CART BUTTON */
.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

/* HIDE HOURS MINUTES IN COUPON DATEPICKER  */
.ui_tpicker_hour_label,
.ui_tpicker_hour,
.ui_tpicker_minute_label,
.ui_tpicker_minute {
    display: none;
}

.additional-text {
    margin-bottom: 24px;
}

.wpfooterbar {
    display: none !important;
}
/* HIDE SCHON GEKAUFT NOTICE FOR GESCHENKGUTSCHEIN */
.postid-22459 .woo-already-owned-message {
    display: none !important;
}

/* ========== IMAGES ========== */

.col-imgright .vc_icon_element {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}

@media (max-width: 767px) {
    /* TEXT COLUMN */
    .col-imgright .wpb_column:nth-child(1) {
        order: 2;
        
    }
    /* IMAGE COLUMN */
    .col-imgright .wpb_column:nth-child(2) {
        order: 1;

    }

}

/* ========== W O O C O M M E R C E ========== */
/* Login & Register Forms */        
#top form.login, 
#top form.register {
    color: #FFF;
    padding: 20px;
    margin: 20px 0 20px 0px;
    text-align: left;
    border-radius: 5px;
    border-style: solid;
    border-width: 1px;
    border-radius: 24px;
}
/* Container relativ setzen */
.password-input {
    position: relative;
    display: inline-block;
    width: 100%;
}

/* Button in das Input-Feld schieben */
.password-input .show-password-input {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
}
.show-password-input::after {
    content: "\f177"; /* WooCommerce Dashicon für das Auge */
    font-family: Dashicons;
    color: #666;
    font-size: 16px;
}

/* Verhindern, dass Text unter dem Button verschwindet */
.password-input input {
    padding-right: 40px !important;
}

/* WooCommerce Info Box */
#top div.woocommerce-error, 
#top div.woocommerce-message, 
#top .woocommerce-info {
    border-style: solid;
    border-width: 2px;
    margin: 0 0 20px 0;
    padding: 19px;
    border-radius: 24px;
}
#top div.woocommerce-error a, 
#top div.woocommerce-message a, 
#top .woocommerce-info a {
    font-weight: 800;
}
#top .main_color form.login .input-text,
#top .main_color form.woocommerce-form-register .input-text {
    width: 100% !important;
    padding: 12px 16px;
    background-color: #f0d9ff !important;
    border: 2px solid #ffffff !important;
    border-radius: 8px !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #664f75 !important;
    transition: border-color 0.2s ease;
}

/* WooCommerce Buttons */    
.woocommerce-page .button {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    min-width: 110px;
    padding: 13px 24px;
    margin: -4px 2px 0 0;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1em;
    text-align: center;
    text-decoration: none;
    color: #FFF;
    background-color: transparent; 
    border: 2px solid var(--color-3);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Mini Cart Button */
.avia_cart_buttons {
    opacity: 0.6;
}
/* Single Product Page */
form.cart .button {
    float: none;
    /* Remove the floating behavior */
    display: block;
    /* Ensure it behaves as a block element */
}
#top form.cart .button,
.main_color .wc-proceed-to-checkout .button,
body:not([class*="term-"]) #main .wc-proceed-to-checkout a {
    background-color: var(--primary-color);
    color: var(--button-color-light) !important;
}
#top form.cart .button:hover,
.main_color .wc-proceed-to-checkout .button:hover,
body:not([class*="term-"]) #main .wc-proceed-to-checkout a:hover {
    background-color: var(--primary-color-hover);
    color: var(--button-color-light) !important;
}

.product-keywords {
    display: block;
    margin-top: 50px;
    font-size: 12px;
    color: #555;
}

.product .woocommerce-tabs #tab-description h2 {
    display: none;
}

/* Base Badge Styles */
.onsale,
.new-badge,
.live-badge,
.extra-badge {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    width: 80px;
    height: 80px;
    line-height: 1.2;
    padding: 10px;
    position: absolute;
    top: -15px;
    right: 60px;
    z-index: 10;
    border-radius: 50%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    transform: rotate(-4deg);
    transform-origin: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    white-space: normal;
    word-break: break-word;
}

/* favoriten_query */
.columns-3 .new-badge,
.columns-3 .live-badge,
.columns-3 .extra-badge {
    top: 10px;
    right: -10px;
}

#top .onsale {
    width: 60px;
    height: 60px;
    transform: rotate(6deg);
    border-radius: 50%;
    top: -50px;
}

/* Tablet adjustments */
@media (max-width: 923px) {
    .new-badge,
    .live-badge,
    .extra-badge {
        font-size: 18px;
        width: 100px;
        height: 100px;
        padding: 5px;
        top: 120px;
        right: 200px;
    }

    .columns-3 .new-badge,
    .columns-3 .live-badge,
    .columns-3 .extra-badge {
        font-size: 12px;
        width: 70px;
        height: 70px;
        top: 10px;
        right: -10px;
    }

    .premiere-badge {
        transform: rotate(0deg);
        font-size: 18px;
        padding: 10px 20px;
        top: 100px;
        right: 80px;
    }
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .new-badge,
    .live-badge,
    .extra-badge {
        width: 80px;
        height: 80px;
        font-size: 14px;
        top: 20px;
        right: 150px;
    }

    .columns-3 .new-badge,
    .columns-3 .live-badge,
    .columns-3 .extra-badge {
        font-size: 20px;
        width: 120px;
        height: 120px;
        top: 10px;
        right: -10px;
    }

    .premiere-badge {
        font-size: 14px;
        padding: 6px 12px;
        top: 200px;
        right: 150px;
    }
}

/* Small mobiles */
@media (max-width: 480px) {
    .new-badge,
    .live-badge,
    .extra-badge {
        font-size: 12px;
        width: 60px;
        height: 60px;
        padding: 4px;
        top: 15px;
        right: 20px;
    }

    .columns-3 .new-badge,
    .columns-3 .live-badge,
    .columns-3 .extra-badge {
        font-size: 12px;
        width: 70px;
        height: 70px;
        top: 10px;
        right: -10px;
    }

    .premiere-badge {
        font-size: 12px;
        padding: 5px 10px;
        top: 175px;
        right: 20px;
    }
}
/* Fix: Make product title appear above badge on single product pages */
.single-product .product_title,
.single-product h1.entry-title,
.single-product .woocommerce-product-details__short-description h1,
.single-product .woocommerce-product-details__short-description h2 {
    position: relative;
    z-index: 15 !important;
}

/* Alternative: Lower badge z-index on single product pages only */
.single-product-badges .new-badge,
.single-product-badges .live-badge,
.single-product-badges .extra-badge {
    z-index: 5;
}

/* Move badge up on desktop for single product pages */
@media (min-width: 924px) {
    .single-product-badges .new-badge,
    .single-product-badges .live-badge,
    .single-product-badges .extra-badge {
        top: -60px;
    }
}

/* Hide Sorting on Archive */
.archive.woocommerce-page .product-sorting {
    display: none;
}

#top div .widget_shopping_cart .woocommerce-mini-cart__buttons .button {
    display: block;
    border-radius: 6px;
    width: 100%;
    margin-bottom: 10px;
}

#top div .widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout {
    margin-bottom: 0;
}

.single-product .single-product-main-image .woocommerce-product-gallery__trigger,
.single-product .single-product-main-image .avia-wc-30-product-gallery-lightbox {
    display: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
    text-align: left;
}

/* STYLE CUSTOM SUBTITLE */
.custom-subtitle,
.category-link {
    font-size: 13px;
    line-height: 15px;
    margin-top: 0;
    color: #333;
}

/* CHECKOUT */

/* Hide Meta Description */
.wc-block-components-product-metadata__description,
.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices {
    display: none !important;
}
.wc-block-components-product-details.wc-block-components-product-details {
    color: var(--color-3);
    font-size: 14px;
}

/* Hide asterisks on checkout fields */
.woocommerce form .form-row abbr.required {
    display: none !important;
}

/* Hide the customer notes section */
.woocommerce-additional-fields {
    display: none !important;
}

/* SMART COUPONS */
/* datepicker */
.ui-datepicker .ui-datepicker-header.ui-widget-header {
    background: #fcfaf6 !important;
}
/* prevent the 'Lift Up' movement */
#sc-cc .sc-coupon:hover {
    transform: scale(0.96) !important; /* The Zoom Out */
}
/* hide image */
#sc-cc .sc-coupon img {
    display: none !important;
}
/* Increase Border Radius */
#sc-cc .border-2 {
    border-radius: 16px !important; /* Makes it much rounder */
    transition: transform 0.2s ease-in-out !important; /* Smooth zoom transition */
}

/* Ensure the internal styling matches the new roundness */
#sc-cc .sc-coupon::before, 
#sc-cc .sc-coupon::after {
    border-radius: 16px !important;
}

.wc-sc-toggle-check-input:checked ~ .wc-sc-toggle-check-text {
    background: #f3f0ec !important;
    color: #a19890 !important;
}

.wc-sc-toggle-check-text {
    background: #a19890 !important;
    color: #fff !important;
}

.woocommerce-privacy-policy-text {
    font-size: 13px;
}

/* Initially hide the address, city, zip etc. fields */
/* Initially hide address fields */
.woocommerce-billing-fields #billing_address_1_field,
.woocommerce-billing-fields #billing_city_field,
.woocommerce-billing-fields #billing_postcode_field,
.woocommerce-billing-fields #billing_vat_number_field,
.woocommerce-billing-fields .location_confirmation {
    display: none;
    transition: all 0.3s ease;
}

/* Show fields when the toggle is active */
.woocommerce-billing-fields #billing_address_1_field.visible,
.woocommerce-billing-fields #billing_city_field.visible,
.woocommerce-billing-fields #billing_postcode_field.visible,
.woocommerce-billing-fields #billing_vat_number_field.visible,
.woocommerce-billing-fields .location_confirmation.visible {
    display: block;
}

#invoice_request_checkbox {
    margin-bottom: 20px;
}

#invoice_request_checkbox label {
    font-size: 14px;
}

#invoice_request_field label {
    font-weight: 200 !important;
}

#top label span,
#top legend span {
    font-size: 14px;
}

#top #payment .terms {
    text-align: left;
    padding: 0;
}

.return-to-shop {
    display: none;
}

/* Target WooCommerce default pagination container */
.woocommerce nav.woocommerce-pagination,
.navigation.pagination {
    text-align: center;
    margin-top: 2em;
}

/* Container holding the links */
.woocommerce nav.woocommerce-pagination .nav-links,
.navigation.pagination .nav-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.5em;
    justify-content: center;
}

/* Page links (a + span) */
.woocommerce nav.woocommerce-pagination .page-numbers,
.navigation.pagination .page-numbers {
    display: inline-block;
    padding: 0.5em 1em;
    background: var(--cat1-opacity, #eee);
    color: #333;
    border-radius: 4px;
    text-decoration: none;
    font-size: 1rem;
    transition: background 0.2s ease-in-out;
}

/* Hover for page links */
.woocommerce nav.woocommerce-pagination .page-numbers:hover,
.navigation.pagination .page-numbers:hover {
    background: #ddd;
}

/* Current page */
.woocommerce nav.woocommerce-pagination .current,
.navigation.pagination .current {
    background: var(--cat1-color, #333);
    color: #fff;
    font-weight: bold;
}

/* Dots */
.woocommerce nav.woocommerce-pagination .dots,
.navigation.pagination .dots {
    cursor: default;
    background: transparent;
    color: #666;
}

/* Newsletter Checkbox on Checkout */
.newsletter-subscribe {
    margin-bottom: 20px;
}
#top .woocommerce-terms-and-conditions-link {
    text-decoration: none;
}


/* MY ACCOUNT PAGE */

th {
    text-transform: none;
}
.woocommerce-MyAccount-navigation ul li a {
    padding: 10px 0 10px 20px;
    border-bottom-style: none;
    border-bottom-width: 0;
}
.main_color .woocommerce-MyAccount-navigation-link {
    background-color: var(--color-4) !important;
    border: var(--color-4) solid 1px !important;
    border-radius: 20px !important;
}
.main_color .woocommerce-MyAccount-navigation-link.is-active, 
.main_color .woocommerce-MyAccount-navigation-link:hover {
    background-color: var(--color-4) !important;
    border: var(--color-3) solid 1px !important;
    border-radius: 20px !important;
}
.woocommerce-MyAccount-navigation-link.is-active a {
    font-weight: 500;
}
/* Hide the shipping address section on the My Account > Addresses page */
.u-column2.col-2.woocommerce-Address {
    display: none;
}
/* Hide the total available store credit section */
.wc_sc_total_available_store_credit {
    display: none;
}
/* my account -> bookings */
th.booking-id,
td.booking-id,
th.booking-end-date,
td.booking-end-date,
th.booking-status,
td.booking-status,
th.booking-cancel,
td.booking-cancel,
.woocommerce-orders-table__header-order-status,
.woocommerce-orders-table__cell-order-status {
    display: none;
}

/* table styling */
table.shop_table th,
table.shop_table td {
    font-size: 16px;
}

/* ===== MY ACCOUNT TABLE STYLES - UNIFIED ===== */
/* All account tables (bookings, orders, order details) share consistent styling */

/* Base table styles and CSS variables */
#top #main .order_details,
.shop_table.my_account_bookings,
.woocommerce-orders-table.my_account_orders,
.woocommerce-orders-table.account-orders-table,
.woocommerce-table.woocommerce-table--order-details {
    --account-table-bg: var(--color-4);
    --account-table-text: var(--color-5);
    --account-table-header-text: var(--color-3);
    --account-table-border: #d97c5b;
    --account-table-alt-row: #fef594;
    background-color: var(--account-table-bg);
    color: var(--account-table-text);
    border: none;
    width: 100%;
    border-collapse: collapse;
}

/* Header section - thead */
.shop_table.my_account_bookings thead,
.woocommerce-orders-table.my_account_orders thead,
.woocommerce-orders-table.account-orders-table thead,
.woocommerce-table.woocommerce-table--order-details thead {
    background-color: var(--account-table-bg);
    color: var(--account-table-text);
}

/* Header cells - th */
.shop_table.my_account_bookings thead th,
.woocommerce-orders-table.my_account_orders thead th,
.woocommerce-orders-table.account-orders-table thead th,
.woocommerce-table.woocommerce-table--order-details thead th {
    background-color: var(--account-table-bg);
    color: var(--account-table-header-text);
    border: none;
    padding: 12px;
    text-align: left;
    font-weight: 600;
}

/* Body rows - tr */
.shop_table.my_account_bookings tbody tr,
.woocommerce-orders-table.my_account_orders tbody tr,
.woocommerce-orders-table.account-orders-table tbody tr,
.woocommerce-table.woocommerce-table--order-details tbody tr {
    border-bottom: 1px solid var(--account-table-border);
}

/* Alternate row colors - even rows */
.main_color tfoot tr:nth-child(odd), 
.main_color .pricing-table>li:nth-child(odd), 
.main_color .pricing-extra,
.shop_table.my_account_bookings tbody tr:nth-child(even),
.woocommerce-orders-table.my_account_orders tbody tr:nth-child(even),
.woocommerce-orders-table.account-orders-table tbody tr:nth-child(even),
.woocommerce-table.woocommerce-table--order-details tbody tr:nth-child(even) {
    background-color: var(--account-table-alt-row) !important;
}

/* Alternate row colors - odd rows */
.shop_table.my_account_bookings tbody tr:nth-child(odd),
.woocommerce-orders-table.my_account_orders tbody tr:nth-child(odd),
.woocommerce-orders-table.account-orders-table tbody tr:nth-child(odd),
.woocommerce-table.woocommerce-table--order-details tbody tr:nth-child(odd) {
    background-color: var(--account-table-bg);
}

/* Body cells - td, th */
.shop_table.my_account_bookings tbody td,
.shop_table.my_account_bookings tbody th,
.woocommerce-orders-table.my_account_orders tbody td,
.woocommerce-orders-table.my_account_orders tbody th,
.woocommerce-orders-table.account-orders-table tbody td,
.woocommerce-orders-table.account-orders-table tbody th,
.woocommerce-table.woocommerce-table--order-details tbody td {
    color: var(--account-table-text);
    border: 1px solid var(--account-table-alt-row);
    padding: 12px;
}

/* Links in table cells */
.shop_table.my_account_bookings tbody td a,
.shop_table.my_account_bookings tbody th a,
.woocommerce-orders-table.my_account_orders tbody td a,
.woocommerce-orders-table.my_account_orders tbody th a,
.woocommerce-orders-table.account-orders-table tbody td a,
.woocommerce-orders-table.account-orders-table tbody th a,
.woocommerce-table.woocommerce-table--order-details tbody td a {
    color: var(--account-table-text);
    text-decoration: underline;
}

/* Link hover effect */
.shop_table.my_account_bookings tbody td a:hover,
.shop_table.my_account_bookings tbody th a:hover,
.woocommerce-orders-table.my_account_orders tbody td a:hover,
.woocommerce-orders-table.my_account_orders tbody th a:hover,
.woocommerce-orders-table.account-orders-table tbody td a:hover,
.woocommerce-orders-table.account-orders-table tbody th a:hover,
.woocommerce-table.woocommerce-table--order-details tbody td a:hover {
    opacity: 0.8;
}

/* Footer section - tfoot (order details table only) */
.woocommerce-table.woocommerce-table--order-details tfoot {
    background-color: var(--account-table-bg);
}

/* Footer rows */
.woocommerce-table.woocommerce-table--order-details tfoot tr {
    border-bottom: 1px solid var(--account-table-border);
}

/* Footer cells - th, td */
.woocommerce-table.woocommerce-table--order-details tfoot th,
.woocommerce-table.woocommerce-table--order-details tfoot td {
    color: var(--account-table-text);
    border: none;
    padding: 12px;
    font-weight: 500;
}


/* MY ACCOUNT MOBILE FIXES */
@media only screen and (max-width: 767px) {
    /* Tabellen-Struktur aufbrechen */
    .woocommerce-MyAccount-content table.shop_table_responsive tr {
        display: block;
        margin-bottom: 20px;
        border: 1px solid #ebebeb;
    }

    .woocommerce-MyAccount-content table.shop_table_responsive td {
        display: block;
        text-align: right !important;
        border-bottom: 1px dotted #ebebeb;
    }

    /* Label anzeigen (z.B. "Datum:", "Status:") */
    .woocommerce-MyAccount-content table.shop_table_responsive td::before {
        content: attr(data-title);
        float: left;
        font-weight: bold;
        text-transform: uppercase;
    }
}
@media only screen and (max-width: 767px) {
    .woocommerce-MyAccount-navigation ul {
        border: none !important;
        padding: 0 !important;
    }

    .woocommerce-MyAccount-navigation li {
        background-color: #f8f8f8;
        margin-bottom: 5px;
        padding: 10px !important;
        border: 1px solid #eee !important;
    }

    .woocommerce-MyAccount-navigation li.is-active {
        background-color: #719430; /* Deine Theme-Farbe */
    }
    
    .woocommerce-MyAccount-navigation li.is-active a {
        color: #fff !important;
    }
}
@media only screen and (max-width: 767px) {
    .wc-bookings-booking-form fieldset {
        padding: 10px !important;
    }
    
    .wc-bookings-booking-cost {
        text-align: center;
        margin: 15px 0;
    }
}

  /* ============ EVENTON CALENDAR COMPREHENSIVE STYLES ============ */

  /* === Calendar Container === */
  .ajde_evcal_calendar {
      font-family: Poppins, sans-serif;
  }

  /* === Event Titles === */
  .ajde_evcal_calendar .evcal_event_title,
  .ajde_evcal_calendar .evcal_list_a .evcal_desc h3,
  .evo_event_schema h3.evo_h3 {
      font-family: Gazpacho, sans-serif !important;
      font-weight: 400;
      font-size: 18px;
      line-height: 1.3;
  }

  /* === Event Time === */
  .ajde_evcal_calendar .evo_time,
  .ajde_evcal_calendar .evcal_time,
  .ajde_evcal_calendar .evo_time span {
      font-family: Poppins, sans-serif !important;
      font-weight: 400;
      font-size: 14px;
  }

  /* === Event Description/Excerpt === */
  .ajde_evcal_calendar .evcal_desc p,
  .ajde_evcal_calendar .evcal_event_content,
  .evo_content_details {
      font-family: Poppins, sans-serif;
      font-weight: 300;
      font-size: 14px;
      line-height: 1.6;
  }

  /* === Month/Year Header === */
  .ajde_evcal_calendar .eventon_months_lbl,
  .ajde_evcal_calendar #evcal_cur,
  .calendar_header .evo_j_dates {
      font-family: Gazpacho, sans-serif !important;
      font-weight: 700;
      font-size: 24px;
  }

  /* === Day Names (Mon, Tue, Wed...) === */
  .eventon_events_list .eventon_list_event .evo_date_week,
  .ajde_evcal_calendar .evo_month_daylabel {
      font-family: Poppins, sans-serif;
      font-weight: 500;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
  }

  /* === Date Numbers === */
  .ajde_evcal_calendar .evcal_date .date_block .date,
  .evo_date .date {
      font-family: Gazpacho, sans-serif !important;
      font-weight: 700;
      font-size: 28px;
  }

  /* === Month Names (Jan, Feb, Mar...) === */
  .ajde_evcal_calendar .evcal_date .date_block .month,
  .evo_date .month {
      font-family: Poppins, sans-serif;
      font-weight: 500;
      font-size: 12px;
      text-transform: uppercase;
  }

  /* === Buttons === */
  .ajde_evcal_calendar .evcal_btn,
  .evo_btn,
  .evcal_close,
  .evcal_arrows {
      font-family: Poppins, sans-serif;
      font-weight: 500;
  }

  /* === Event Location === */
  .evcal_location,
  .evo_event_schema .evo_address {
      font-family: Poppins, sans-serif;
      font-weight: 300;
      font-size: 13px;
  }

  /* === Organizer Name === */
  .evo_event_schema .evo_organizer,
  .evcal_organizer {
      font-family: Poppins, sans-serif;
      font-weight: 400;
      font-size: 14px;
  }

  /* === Week View Specific === */
  .EVOWV_content.wk_1 .evowv_col_events .event {
      font-family: Gazpacho, sans-serif !important;
      font-weight: 300;
      font-size: 16px;
  }

  .EVOWV_content.wk_1 .evowv_col_events .event .time {
      font-family: Poppins, sans-serif !important;
      font-weight: 400;
      font-size: 14px;
  }

  .evo_btn,
  .evcal_btn {
      background-color: var(--primary-color) !important;
      color: white !important;
  }

  .evo_btn:hover,
  .evcal_btn:hover {
      background-color: var(--primary-color-hover) !important;
  }

  /* === Sam Booking Bridge Button - Enhanced Styling === */
  .sbb_booking_link.evcal_btn {
      background-color: var(--cat1-color) !important;
      color: white !important;
      border-radius: 15px !important;
      padding: 12px 24px !important;
      font-size: 24px !important;
      font-weight: 800 !important;
      font-family: Gazpacho, sans-serif !important;
      display: inline-block !important;
      transition: all 0.3s ease !important;
  }

  .sbb_booking_link.evcal_btn:hover {
      background-color: var(--cat1-color) !important;
      filter: brightness(0.9);
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  }

  /* === Sold Out Button - Bigger and Bolder === */
  .sbb_sold_out.evcal_btn {
      font-size: 24px !important;
      font-weight: 800 !important;
  }

    /* === Disable Click for Past Events === */
  .evo_past_event a {
    pointer-events: none;
    cursor: default;
    text-decoration: none; 
    color: inherit; 
}


/* ========== MESSAGES STYLES ========== */
/* Success */
ul.woocommerce-message {
    border: none;
    list-style: none;
    margin: 0 0 23px 0;
    padding: 15px;
    background-color: var(--message-success-bg);
    color: var(--message-success-text);
    display: flex;
    align-items: center;
}

.woocommerce-message li .button,
.woocommerce-message li a.button {
    margin-left: auto;
    background-color: var(--message-success-button);
    color: #fff;
}

/* Error */
ul.woocommerce-error {
    border: none;
    list-style: none;
    margin: 0 0 23px 0;
    padding: 15px;
    background-color: var(--message-error-bg);
    color: var(--message-error-text);
    display: flex;
    align-items: center;
}

.woocommerce-error li .button,
.woocommerce-error li a.button {
    margin-left: auto;
    background-color: var(--message-error-button);
    color: #fff;
}

/* Info */
ul.woocommerce-info {
    border: none;
    list-style: none;
    margin: 0 0 23px 0;
    padding: 15px;
    background-color: var(--message-info-bg);
    color: var(--message-info-text);
    display: flex;
    align-items: center;
}

.woocommerce-info li .button,
.woocommerce-info li a.button {
    margin-left: auto;
    background-color: var(--message-info-button);
    color: #fff;
}

/* ========== SHORTEN SEARCH RESULT TEXT  ========== */
.search-results .entry-content > p:first-of-type {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    /* Approximation for 50 words */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-results .entry-content > p:not(:first-of-type) {
    display: none;
}

/* ========== FOOTER ========== */
/* remove stupid cookie settings tab */
.cmplz-manage-consent {
    display: none;
}

/* beautify newsletter sign up form in footer */
.widget_text form.inf-form div h4,
.widget_text form.inf-form div span {
    display: none;
}

.widget_text form.inf-form label {
    font-weight: 400 !important;
}

.widget_text form.inf-form .inf-submit {
    text-align: left;
}

/* Reset the default font-based icon */
/* Disable transition for the main anchor */
#top #wrap_all .social_bookmarks .av-social-link-bluesky a,
#top #wrap_all .social_bookmarks .av-social-link-insighttimer a {
    transition: none;
}

/* General styles for custom social icons */
#top #wrap_all .social_bookmarks .av-social-link-bluesky a::before,
#top #wrap_all .social_bookmarks .av-social-link-insighttimer a::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url("https://kursraum.online/wp-content/themes/kursraum26/custom-icons/social_icons.png")
        no-repeat; 
    background-size: 122px 60px;
    /* Adjust for @2x sprite dimensions */
    vertical-align: middle;
    border-radius: 50%;
    /* Makes the icon round */
    transition: none;
    /* Disable transition for background-position */
}

/* Default state - Bluesky */
#top #wrap_all .social_bookmarks .av-social-link-bluesky a::before {
    background-position: 0 0;
}

/* Hover state - Bluesky */
#top #wrap_all .social_bookmarks .av-social-link-bluesky a:hover::before {
    background-position: 0 -30px;
    /* Move to the hover state in the sprite */
}

/* Ensure proper alignment and padding around the icons */
.socket_color .social_bookmarks li {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    /* Matches the icon shape */
    text-align: center;
    line-height: 30px;
    /* Center the icon vertically */
}

/* ========== COMBINED PROFILE PAGE ========== */
.woocommerce-myaccount-profil {
    max-width: 800px;
}

.profil-section {
    margin-bottom: 40px;
    padding: 30px;
    background: #f9f9f9;
    border-radius: 8px;
    border-left: 4px solid var(--color-3);
}

.profil-section h2 {
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 24px;
    font-weight: 600;
    color: var(--color-5);
}

.profil-section h3 {
    margin-top: 20px;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-5);
}

.profil-section fieldset {
    margin-bottom: 20px;
}

.profil-section legend {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-2);
    margin-bottom: 15px;
    display: block;
}

/* Form row spacing */
.profil-section .woocommerce-form-row {
    margin-bottom: 15px;
}

.profil-section .form-row-first,
.profil-section .form-row-last {
    width: 48%;
    display: inline-block;
    margin-right: 4%;
}

.profil-section .form-row-last {
    margin-right: 0;
}

.profil-section .form-row-wide {
    width: 100%;
}

/* Form labels and inputs */
.profil-section label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--color-5);
}

.profil-section input[type="text"],
.profil-section input[type="email"],
.profil-section input[type="password"],
.profil-section select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    font-family: Poppins, sans-serif;
}

.profil-section input:focus,
.profil-section select:focus {
    outline: none;
    border-color: var(--color-3);
    box-shadow: 0 0 0 3px rgba(217, 124, 91, 0.1);
}

/* Submit buttons */
.profil-section .woocommerce-Button {
    background: var(--color-3);
    color: white;
    padding: 12px 30px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.profil-section .woocommerce-Button:hover {
    background: var(--color-6);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Payment methods table */
.profil-section .woocommerce-PaymentMethods {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

.profil-section .woocommerce-PaymentMethods thead {
    background: var(--color-2);
    color: white;
}

.profil-section .woocommerce-PaymentMethods th {
    padding: 12px;
    text-align: left;
    font-weight: 600;
}

.profil-section .woocommerce-PaymentMethods td {
    padding: 12px;
    border-bottom: 1px solid #eee;
}

.profil-section .woocommerce-PaymentMethods .payment-method:last-child td {
    border-bottom: none;
}

.profil-section .woocommerce-PaymentMethods .button {
    background: #dc3545;
    color: white;
    padding: 6px 12px;
    border: none;
    border-radius: 3px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.profil-section .woocommerce-PaymentMethods .button:hover {
    background: #c82333;
}

/* Responsive design */
@media (max-width: 768px) {
    .profil-section {
        padding: 20px;
    }

    .profil-section .form-row-first,
    .profil-section .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    .profil-section h2 {
        font-size: 20px;
    }
}