/* SAM STYLING */

#hidden {
    display: none;
}

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

/* ========== FONTS ========== */
/* Poppins (body/nav) and Gazpacho (headings/hero) are served through the
   Ernesto Customizer font selector (Appearance -> Customize -> Typography).
   It scans /fonts/ (Family-Variant.woff2 naming) and emits the @font-face
   rules plus the --font-primary / --font-heading / --font-special /
   --font-nav variables. No @font-face or font-family rules needed here. */

/* HEADER / HEADER ALIGNMENT / MAIN MENU BUTTONS / DROPDOWN / MAIN MENU
   CONDITIONAL STYLING / MOBILE BURGER MENU sections removed 2026-07-27 —
   ~430 lines of pure Enfold-era dead code (#top, #header, .av-main-nav,
   .avia-*, #av-burger-menu-ul, .html_header_top, etc.) that can never
   match anything in Ernesto's actual markup (.main-navigation,
   .custom-logo-link, ...) — verified via source search of the parent
   theme. All of it was already re-implemented correctly for Ernesto's
   real markup in kr-lookalike.css (nav pills, dropdown, logo mask, mobile
   burger menu in lottie-burger.css). */

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

/* Removed 2026-07-27: bare h1/h2/h3/h4 font-size/font-weight overrides, plus
   .title_container / .av-special-heading-tag / .template-page
   .entry-content-wrapper / .wpb_text_column rules. All Enfold/WPBakery-era —
   none of those classes exist anywhere in Ernesto's templates (verified via
   source search) — but the bare h1-h4 tag selectors still applied globally
   regardless of theme, silently overriding whatever heading size/weight the
   Customizer's Typography settings (Appearance → Customize) are set to.
   Headings now follow Ernesto's own defaults / Customizer settings
   uniformly. If a bolder/smaller heading style is wanted site-wide, set it
   via Customizer → Typography, not hardcoded CSS. */

/* 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 / .left / .right utility classes removed 2026-07-27 — dead code
   from the kursraum26/Enfold migration (unused by any current page content,
   verified via DB search) and colliding with the CP Timeline plugin's own
   .left/.right modifier classes on .cool-vertical-timeline-body, which
   broke its intended display:block layout on /ueber-mich/. */

/* ========== 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;
}
/* HIDE ENFOLD IMAGE OVERLAY ARROW */
.image-overlay {
  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;

    }

}

.main_color .avia-gallery .avia-gallery-thumb img {
    background-color: #FFF;
    border-color: #FFF;
}
#top div .avia-gallery img {
    padding: 0 14px 0 0;
}

/* ========== 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;
}

.main_color .avia_cart_buttons {
    background-color: transparent !important;
}

/* 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 Grid Buttons === */
.avia_cart_buttons {
    opacity: 1;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.add_to_cart_button,
.show_details_button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

/* Add to Cart Button - Terracotta */
.add_to_cart_button {
    background-color: var(--color-3) !important;
    color: white !important;
}

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

/* Show Details Button - Olive Green */
.show_details_button {
    background-color: var(--color-2) !important;
    color: white !important;
}

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

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

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

/* My Account - edit-profil */
#top.woocommerce-account .main_color .input-text,
#top.woocommerce-account  .main_color input[type='text'],
#top.woocommerce-account  .main_color input[type='input'],
#top.woocommerce-account  .main_color input[type='password'],
#top.woocommerce-account  .main_color input[type='email'],
#top.woocommerce-account  .main_color input[type='number'],
#top.woocommerce-account  .main_color input[type='url'],
#top.woocommerce-account  .main_color input[type='tel'],
#top.woocommerce-account  .main_color input[type='search'],
#top.woocommerce-account  .main_color textarea,
#top.woocommerce-account  .main_color select {
border-color: var(--color-1);
background-color: #fef8f9;
color:  var(--color-5);
font-family: inherit;
}

/* My Account - Smart Coupons (wc-smart-coupons page) */
/* Hide only the duplicate accordion coupons_list that appears OUTSIDE our template */
.woocommerce-account .woocommerce-MyAccount-content > #coupons_list,
.woocommerce-account .sc-accordion,
.woocommerce-account .wc-sc-accordion,
.woocommerce-account .available-coupons-section > .sc-accordion-container,
.woocommerce-account #available_coupons_list,
.woocommerce-account .wc_sc_available_coupons {
    display: none !important;
}

/* Show our custom template and shortcode content */
.woocommerce-account .woocommerce-myaccount-smart-coupons {
    display: block !important;
}

/* Make sure shortcode content is visible (it should use different IDs/classes) */
.woocommerce-account .woocommerce-myaccount-smart-coupons #sc_coupons_list,
.woocommerce-account .woocommerce-myaccount-smart-coupons .sc_coupons_list,
.woocommerce-account .woocommerce-myaccount-smart-coupons #coupons_list {
    display: block !important;
}

/* 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 } removed
   2026-07-27 — redundant with Ernesto's own left-aligned block-level <a>,
   part of the broader My Account nav cleanup (see below). */

/* 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; ... }
   removed 2026-07-27 — asymmetric padding (20px left, 0 right) made pill
   widths/spacing look uneven in the mobile flex-wrap row. Ernesto's own
   symmetric padding (var(--space-sm) var(--space-md)) now applies. */
/* .main_color .woocommerce-MyAccount-navigation-link rules removed
   2026-07-27 — scoped under .main_color, an Enfold-only wrapper class
   Ernesto never outputs (same dead-code pattern as .main_menu). */
.woocommerce-MyAccount-navigation-link.is-active a {
    font-weight: 500;
}

/* Defensive: no rule anywhere (Ernesto, WooCommerce core, or this theme)
   was found setting text-align on these links, but ensure left-alignment
   explicitly rather than relying on inherited/default behaviour. */
.woocommerce-MyAccount-navigation li a {
    text-align: left;
}

/* Login/register form: Ernesto's own card padding (--space-xl, ~2rem) plus
   the page .container's own padding (--container-padding) compound on
   narrow screens, leaving very little usable width for the form itself. */
@media (max-width: 767px) {
    .woocommerce-account .woocommerce-form-login,
    .woocommerce-account .woocommerce-form-register {
        padding: 1rem;
    }
}
/* 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.order-number,
td.order-number,
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;
    }
}
/* Mobile .woocommerce-MyAccount-navigation overrides removed 2026-07-27 —
   gave every <li> its own bordered box (competing with Ernesto's own
   flex-wrap pill row) plus a harsh olive-green active background stacked
   on top of Ernesto's own terracotta active-pill styling on the <a>
   underneath — the clashing two-tone box on the mobile My Account page.
   Ernesto's own assets/css/woocommerce.css already gives mobile a clean
   single-color flex-wrap pill nav (.woocommerce-MyAccount-navigation
   li.is-active a { background-color: var(--color-primary); color: white }),
   now unobstructed. */
@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;
    }
}

/* ============ MOBILE RESPONSIVE BOOKINGS TABLE ============ */
@media (max-width: 767px) {
    /* Full width — Ernesto's own table.shop_table rule (woocommerce.css) only
       sets display:block/overflow-x:auto for its own horizontal-scroll mobile
       approach, never a width, so the <table> shrinks to fit its (now mostly
       hidden) content instead of filling the container; the flex <tr> cards
       below inherit that same narrow width from their parent. */
    .my_account_bookings {
        width: 100% !important;
    }

    /* Remove Ernesto's own outer table border (assets/css/woocommerce.css
       .woocommerce-MyAccount-content table.shop_table) on mobile — now that
       the table is full width, its border sat as a redundant outer frame
       around each individually-bordered card <tr> below. */
    .woocommerce-MyAccount-content table.shop_table.my_account_bookings {
        border: none;
        border-radius: 0;
        overflow: visible;
    }

    .my_account_bookings tbody {
        display: block;
        width: 100%;
    }
    .my_account_bookings tbody tr {
        width: 100%;
        box-sizing: border-box;
    }

    /* Hide table header */
    .my_account_bookings thead {
        display: none;
    }

    /* Hide all td by default on mobile */
    .my_account_bookings tbody td,
    .my_account_bookings tbody td.booking-status,
    .my_account_bookings tbody td.booking-end-date,
    .my_account_bookings tbody td.order-number,
    .my_account_bookings tbody td.booking-id,
    .my_account_bookings tbody td.booking-cancel {
        display: none;
    }

    /* Only show these three columns */
    .my_account_bookings tbody td.booking-start-date,
    .my_account_bookings tbody td.booked-product,
    .my_account_bookings tbody td.booking-join-link {
        display: block !important;
        border: none !important;
        padding: 5px 0;
        text-align: left !important;
        background: transparent !important;
    }

    /* Transform rows to cards */
    .my_account_bookings tbody tr {
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
        padding: 15px;
        background: var(--color-4); /* Pale yellow */
        border: 2px solid var(--color-3) !important; /* Terracotta */
        border-radius: 10px;
    }

    /* Order 1: Start Date (bold, top) */
    .my_account_bookings tbody td.booking-start-date {
        order: 1;
        font-weight: 700;
        font-size: 18px;
        margin-bottom: 10px;
        color: var(--color-3); /* Terracotta */
    }

    /* Order 2: Product Name (middle) */
    .my_account_bookings tbody td.booked-product {
        order: 2;
        font-size: 16px;
        margin-bottom: 12px;
    }

    /* Order 3: Join Link (bottom) */
    .my_account_bookings tbody td.booking-join-link {
        order: 3;
        font-size: 0; /* Hide text including "/" separator */
    }

    /* Style Zoom App link as button with icon */
    .my_account_bookings tbody td.booking-join-link a:first-child {
        display: inline-block;
        padding: 10px 16px;
        background: var(--color-3); /* Terracotta */
        color: #ffffff;
        border-radius: 8px;
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    /* Hover effect */
    .my_account_bookings tbody td.booking-join-link a:first-child:hover {
        filter: brightness(0.9);
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }

    /* Hide browser link */
    .my_account_bookings tbody td.booking-join-link a:last-child {
        display: none;
    }
}

/* ============ MOBILE RESPONSIVE ORDERS TABLE ============ */
@media (max-width: 767px) {
    /* Full width — same reason as the bookings table above: Ernesto's own
       table.woocommerce-orders-table rule never sets a width, so it shrinks
       to fit content instead of filling the container. */
    .my_account_orders,
    .account-orders-table,
    .woocommerce-orders-table {
        width: 100% !important;
    }
    .my_account_orders tbody,
    .account-orders-table tbody,
    .woocommerce-orders-table tbody {
        display: block;
        width: 100%;
    }
    .my_account_orders tbody tr,
    .account-orders-table tbody tr,
    .woocommerce-orders-table tbody tr {
        width: 100%;
        box-sizing: border-box;
    }

    /* Hide table header */
    .my_account_orders thead,
    .account-orders-table thead {
        display: none;
    }

    /* Hide status column on mobile */
    .my_account_orders tbody td.woocommerce-orders-table__cell-order-status,
    .account-orders-table tbody td.woocommerce-orders-table__cell-order-status {
        display: none;
    }

    /* Transform rows to cards */
    .my_account_orders tbody tr,
    .account-orders-table tbody tr {
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
        padding: 15px;
        background: var(--color-4); /* Pale yellow */
        border: 2px solid var(--color-3) !important; /* Terracotta */
        border-radius: 10px;
    }

    /* All cells - reset styles */
    .my_account_orders tbody th,
    .my_account_orders tbody td,
    .account-orders-table tbody th,
    .account-orders-table tbody td {
        display: block !important;
        border: none !important;
        padding: 5px 0;
        text-align: left !important;
        background: transparent !important;
    }

    /* Order 1: Order Number (bold, top) */
    .my_account_orders tbody th.woocommerce-orders-table__cell-order-number,
    .account-orders-table tbody th.woocommerce-orders-table__cell-order-number {
        order: 1;
        font-weight: 700;
        font-size: 18px;
        margin-bottom: 5px;
        color: var(--color-3); /* Terracotta */
    }

    /* Order 2: Date */
    .my_account_orders tbody td.woocommerce-orders-table__cell-order-date,
    .account-orders-table tbody td.woocommerce-orders-table__cell-order-date {
        order: 2;
        font-size: 16px;
        margin-bottom: 8px;
    }

    /* Order 3: Total */
    .my_account_orders tbody td.woocommerce-orders-table__cell-order-total,
    .account-orders-table tbody td.woocommerce-orders-table__cell-order-total {
        order: 3;
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 10px;
    }

    /* Order 4: Actions button */
    .my_account_orders tbody td.woocommerce-orders-table__cell-order-actions,
    .account-orders-table tbody td.woocommerce-orders-table__cell-order-actions {
        order: 4;
        display: none !important;
    }

    /* Style the view button */
    .my_account_orders tbody td.woocommerce-orders-table__cell-order-actions .button,
    .account-orders-table tbody td.woocommerce-orders-table__cell-order-actions .button {
        display: inline-block;
        padding: 10px 16px;
        background: var(--color-3); /* Terracotta */
        color: #ffffff !important;
        border-radius: 8px;
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    /* Hover effect */
    .my_account_orders tbody td.woocommerce-orders-table__cell-order-actions .button:hover,
    .account-orders-table tbody td.woocommerce-orders-table__cell-order-actions .button:hover {
        filter: brightness(0.9);
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }
}

  /* ============ 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, var(--color-3)) !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, var(--color-3)) !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;
}

footer.socket_color a {
    color: var(--color-4);
}
footer.socket_color a:hover {
    color: #FFF;
}

/* 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;
    }
}

/* ========== SINGLE PRODUCT - HIDDEN CATALOG VISIBILITY ========== */
body.product-catalog-hidden.single-product form.cart {
    display: none !important;
}