/*
Theme Name: Weingut TESCH
Theme URI: 
Author: bavariansocialclub
Author URI: 
Description: Blocktheme for Weingut TESCH 2025
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7.2
Version: 0.9.21
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tesch
Tags: 
*/

/* 
---------------------------------------------
 Smoothing everything up
---------------------------------------------
*/
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media screen and (prefers-reduced-motion: no-preference) {
    html { 
        scroll-behavior: smooth;
    }
}

html {
    interpolate-size: allow-keywords;
    scroll-padding-top: 154px;
}

@media (min-width: 782px) {
    html {
        scroll-padding-top: 116px;
    }
    html:has(.admin-bar) {
        scroll-padding-top: calc( 116px + var(--wp-admin--admin-bar--height, 0));
    }
}

/* 
---------------------------------------------
Header
---------------------------------------------
*/


/* Mobile */
@media (max-width: 920px) {
    body {
        /* padding-top: 96px; */
    }
    header {
        position: sticky;
        top: 0;
        left: 0;
        z-index: 11;
        width: 100%;
        border-bottom: 1px solid var(--wp--preset--color--dark);
        animation: fade-in 0.3s ;
    }
    
    header .is-header-inner  {
        background-color: var(--wp--preset--color--unplugged)!important;
        padding: var(--wp--preset--spacing--rem-0100);
    }
    header .is-header-content {
        justify-content: space-between;
        gap: 0;
        padding: 0!important
    }

    .wp-block-site-logo {
        order: 1;
        flex-basis: 116px;
        padding: 0!important
    }
    
    .is-header-center {
        width: 100%;
        order: 3;
        gap: 0;
    }
    
    .has-header-review {
        flex-wrap: nowrap;
        flex-basis: 100%;
        padding-top: 0!important;
        font-size: 12px!important;
    }
    .has-header-review .glsr-summary-rating {
        font-size: 1em!important;
    }
    .has-header-review a strong {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        word-wrap: normal !important;  
    }
    .has-header-review a::after {
        max-width: 130px;
    }
    
    .has-contact-numbers {
        position: absolute;
        top: 18px;
        gap: var(--wp--preset--spacing--rem-0050);
    }
    
    .is-contact-phone {}

    .is-contact-phone a {
        display: block;
        width: 40px;
        height: 40px;
        background: url(assets/img/icon_oldphone_white.svg) no-repeat 50% 50%;
        background-size: 28px;
    }
    .is-contact-phone span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        word-wrap: normal !important;  
    }
    
    .is-contact-whatsapp {
        background: url(assets/img/icon_whatsapp_white.svg) no-repeat 50% 50%;
        background-size: 24px auto;
    }
    .is-contact-whatsapp img {
        width: 40px!important;
        height: 40px!important;
        opacity: 0;
    }

    .is-newsletter-icon {
        position: absolute;
        transform: scale(0.75) translateX(60px);
        transform-origin: center;
        top: 15px;
        left: 50%;
        z-index: 1;
    }
    .is-newsletter-icon a::after {
        content: none!important;
    }

    .is-shop-navi {
        flex-basis: auto;
        order: 2;
        gap: 1.5rem!important;
        justify-content: flex-end;
        padding-right: 0!important;
        transform: translateY(-3px);
    }
    .is-shop-navi svg {
        width: 1.875em!important;
        height: 1.875em!important;
        background-size: 24px!important;
    }
    .wp-block-woocommerce-customer-account a::after, 
    .wp-block-woocommerce-mini-cart button::after {
        font-size: 10px!important;
    }
}

@media (max-width: 470px) {
    .is-newsletter-icon {
        position: absolute;
        transform: scale(0.75) translateX(-63px);
        top: 47px;
        left: 50%;
    }
}

/* Desktop */
@media (min-width: 921px) {

    .is-contact-phone a {
        text-decoration: none;
    }


    .has-sticky-menu {
        padding-top: 88px;
    }
    
    .has-sticky-menu header {
        position: fixed;
        top: var(--wp-admin--admin-bar--height, 0);
        left: 0;
        z-index: 11;
        width: 100%;
        border-bottom: 1px solid var(--wp--preset--color--dark);
        animation: fade-in 0.3s ;
    }
    
    .has-sticky-menu header .is-header-inner {
        background-color: var(--wp--preset--color--unplugged)!important;
    }
    .has-sticky-menu header .is-header-content {
        padding: 0!important
    }
        
    .has-sticky-menu .wp-block-site-logo {
        transform: scale(0.75);
        transform-origin: left center;
    }
    
    .has-sticky-menu .is-header-center {}
    
    .has-sticky-menu .has-contact-numbers,
    .has-sticky-menu .has-header-review {
        transform: scale(0.75) translateY(2px);
        transform-origin: center;
    }
    
    .has-sticky-menu .has-contact-numbers {}
    
    .has-sticky-menu .is-contact-phone {}
    
    .has-sticky-menu .is-contact-whatsapp {}
    
    .has-sticky-menu .is-newsletter-icon {
        transform: scale(0.75);
        transform-origin: top center;
    }

    .has-sticky-menu .is-shop-navi {
        transform: scale(0.75) translateY(-7px);
        transform-origin: right center;
    }
    
    @keyframes fade-in {
        0% {
            opacity: 0;
        }
    
        100% {
            opacity: 1;
        }
    }

}

/* 
---------------------------------------------
Newsletter Icon
---------------------------------------------
*/
.is-newsletter-icon a {
    position: relative;
    display: block;
    padding: 0.5rem;
}
.is-newsletter-icon a::after {
    position: absolute;
    bottom: -9px;
    left: 50%;
    transform: translateX(-50%);
    content: 'Newsletter';
    font-size: var(--wp--preset--font-size--xsmall);
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}
.is-newsletter-icon img {
    width: 30px!important;
    height: 30px!important;
}

/* 
---------------------------------------------
Shop Navi
---------------------------------------------
*/
.is-shop-navi {
    padding-right: 32px;
    gap: 2rem
}
.admin-bar .is-shop-navi {
    top: calc( var(--wp-admin--admin-bar--height, 0) + 6px);
}

/* Spacer */
.is-spacer--shopnavi {
    height: auto!important;
}

/* Account Icons */
.wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon,
.wc-block-mini-cart__button .wc-block-mini-cart__icon {
    width: 2.5em;
    height: 2.5em;
    color: transparent;
}
.wp-block-woocommerce-customer-account a .wc-block-customer-account__account-icon {
    background: url(assets/img/icon_account_white.svg) no-repeat 50% 50%;
    background-size: 32px;
}
.wc-block-mini-cart__button .wc-block-mini-cart__icon {
    background: url(assets/img/icon_cart_white.svg) no-repeat 50% 50%;
    background-size: 32px;
}

/* Beschriftung */
.wp-block-woocommerce-customer-account a,
.wp-block-woocommerce-mini-cart button {
    position: relative;
}
.wp-block-woocommerce-customer-account a::after,
.wp-block-woocommerce-mini-cart button::after {
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    font-size: var(--wp--preset--font-size--xsmall);
    font-weight: 600;
    text-transform: uppercase;
}
.wp-block-woocommerce-customer-account a::after {
    content: "Login";
}
.logged-in .wp-block-woocommerce-customer-account a::after {
    content: "Mein Konto";
}
.wp-block-woocommerce-mini-cart button::after {
    content: "Warenkorb";
}


/* 
---------------------------------------------
 Sidebar
---------------------------------------------
*/

.is-sidebar {
    top: calc(56px + var(--wp-admin--admin-bar--position-offset, 0px))
}

@media (max-width: 781px) {
    
    .is-sidebar {
        display: flex;
        flex-wrap: nowrap;
        scroll-snap-type: x mandatory;
        overflow-x: scroll;
    }
    .is-sidebar > .wp-block-group {
        flex-basis: calc((100% - 3rem)/4);
    }
}


/* 
---------------------------------------------
 Page (Jump) Navi
---------------------------------------------
*/

.is-page-navi {
    top: calc(56px + var(--wp-admin--admin-bar--position-offset, 0px))
}

.is-page-navi a {
    text-decoration: none;
}
.is-page-navi a:hover {
    text-decoration: underline;
}

@media (max-width: 781px) {
    
    .is-page-navi {
        top: calc(95px + var(--wp-admin--admin-bar--position-offset, 0px));
        margin-left: calc(var(--wp--preset--spacing--rem-0050) * -1)!important;
        margin-right: calc(var(--wp--preset--spacing--rem-0050) * -1)!important;
        padding-top: 0!important;
        padding-bottom: 0!important;
        overflow: hidden;
    }
   .is-page-navi > .wp-block-group {
        display: flex;
        flex-wrap: nowrap;
        scroll-snap-type: x mandatory;
        overflow-x: scroll;
        scroll-padding-left: 32px;
        scroll-padding-right: 32px;
        margin-left: -32px!important;
        margin-right: -32px!important;
        padding-top: var(--wp--preset--spacing--rem-0050);
        padding-bottom: var(--wp--preset--spacing--rem-0050);
        padding-left: 32px;
        padding-right: 32px; 
    }
    .is-page-navi > .wp-block-group > p {
        flex: 1 0 auto;
        scroll-snap-align: start;
    }
}


/* 
---------------------------------------------
  Links with Icons 
---------------------------------------------
*/
/* Brand Logos */
.has-logo-icon a[href^="https://www.instagram.com"],
.has-logo-icon a[href^="https://www.facebook.com"],
.has-logo-icon a[href^="https://www.youtube.com"] {
    display: inline-block;
    height: 36px;
    padding-left: 36px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 24px;
}

.has-logo-icon a[href^="https://www.instagram.com"] em,
.has-logo-icon a[href^="https://www.facebook.com"] em,
.has-logo-icon a[href^="https://www.youtube.com"] em {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;  
}

.has-logo-icon a[href^="https://www.instagram.com"] {
    background-image: url(assets/img/icon_insta_white.svg);
}
.has-logo-icon a[href^="https://www.facebook.com"] {
    background-image: url(assets/img/icon_facebook_white.svg);
}
.has-logo-icon a[href^="https://www.youtube.com"] {
    background-image: url(assets/img/icon_youtube_white.svg);
}

a.icon-container {
    background-image: none!important;
    height: auto;
}




/*
-------------------------------------------------------------
 Block: Easy Tabs Block
-------------------------------------------------------------
*/

/* Experten - Avatars -------------------------------*/

 /* Not Active Tab - Visibility, Hover */
.wp-block-easy-tabs-block-tab-button:not(.etb-active-tab) .is-tab-avatar {
    border-color: transparent!important;
}
.wp-block-easy-tabs-block-tab-button:not(.etb-active-tab) .is-tab-avatar p {
    opacity: 0;
}
.wp-block-easy-tabs-block-tab-button:not(.etb-active-tab):hover .is-tab-avatar p {
    opacity: 1;
}

/* Min-Width */
.wp-block-easy-tabs-block-tab-button {
    min-width: 100px;
}

@media (max-width: 781px) {
    .wp-block-easy-tabs-block-tab-buttons {
        padding-left: 1rem!important;
        padding-right: 1rem!important;
        gap: 0!important;
    }
    .wp-block-easy-tabs-block-tab-button {
       min-width: 65px;
    }
    .wp-block-easy-tabs-block-tab-button .is-tab-avatar p {
       font-size: 12px;
    }
    .wp-block-easy-tabs-block-tab-button .is-tab-avatar .wp-block-image img {
        width: 50px!important;
    }
    .wp-block-easy-tabs-block-tab-button .is-tab-more .wp-block-image img {
        width: 40px!important;
    }
}



/* More Button: align right */
/* .wp-block-easy-tabs-block-tab-button.is-more {
    flex-grow: 2;
    display: flex;
    justify-content: flex-end;
}
.wp-block-easy-tabs-block-tab-button.is-more .is-tab-avatar {
    min-width: 100px;
}
.wp-block-easy-tabs-block-tab-button.is-more .is-tab-avatar p {
    opacity: 1;
} */

/* Rieslingbox - Lagen ----------------------------------- */

 /* Not Active Tab - Visibility, Hover */
.wp-block-easy-tabs-block-tab-button:not(.etb-active-tab) .is-tab-lage {
    background-color: transparent!important;
}
.wp-block-easy-tabs-block-tab-button.etb-active-tab .is-tab-lage:where(.has-karthaeuser-background-color, .has-rothenberg-background-color) {
    color: var(--wp--preset--color--light);
}
@media (max-width: 781px) {
    .has-tabs-lage .wp-block-easy-tabs-block-tab-buttons {
        padding-left: 0!important;
        padding-right: 0m!important;
    }
    .has-tabs-lage .wp-block-easy-tabs-block-tab-button {
       min-width: 50%;
    }
}


/*
-------------------------------------------------------------
 Block: Details
-------------------------------------------------------------
*/
/* Default Style ---------- */
details,
details summary {
    position: relative;
}
/* details:first-child {
    border-top: 1px solid var(--wp--preset--color--hellgrau);
}
details[open] {
    padding-bottom: 2rem;
}

details summary {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 1rem 3rem 1rem 0;
    list-style: none;
    font-size: var(--wp--preset--font-size--title-large);
    line-height: 1;
    font-weight: 600;
}
summary::-webkit-details-marker {
    display: none;
} */

/* Icon */
details summary::before {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 24px;
    height: 24px;
    content: '';
    background: url(assets/img/icon-acc-plus.svg) no-repeat 0 0;
    background-size: contain;
    transform: translateY(-50%);
}
details[open] summary::before {
    background-image: url(assets/img/icon-acc-minus.svg);
}

/* Hover States */
details summary:hover::before {
    opacity: .8;
}
/* Focus State */
details:focus,
details:focus-visible {
    outline: 1px solid var(--wp--preset--color--purple);
    border-radius: 4px;
    outline-offset: 2px;
}


.is-rating--short strong {
    display: inline-block;
    min-width: 4em;
}




/*
-------------------------------------------------------------
 Content: Störer
-------------------------------------------------------------
*/

.is-stoerer {
    position: absolute;
    right: -20px;
    bottom: -20px;
}
.is-stoerer--top-right {
    position: absolute;
    top: var(--wp--preset--spacing--rem-0150);
    right: var(--wp--preset--spacing--rem-0150);
    z-index: 9;
    margin: 0;
}
.is-stoerer--bottom-right {
    position: absolute;
    bottom: var(--wp--preset--spacing--rem-0150);
    right: var(--wp--preset--spacing--rem-0150);
    margin: 0;
    z-index: 9;
}
.is-stoerer--top-left {
    position: absolute;
    top: var(--wp--preset--spacing--rem-0150);
    left: var(--wp--preset--spacing--rem-0150);
    margin: 0;
    z-index: 9;
}
.is-stoerer--bottom-left {
    position: absolute;
    bottom: var(--wp--preset--spacing--rem-0150);
    left: var(--wp--preset--spacing--rem-0150);
    margin: 0;
    z-index: 9;
}

/*
-------------------------------------------------------------
 Content: Ticker
-------------------------------------------------------------
*/
.is-ticker {
    --duration: 25s;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
}
.is-ticker--inner {
    position: relative;
    display: inline-block!important;
    max-width: none;
    animation: ticker var(--duration) linear infinite;
}
.is-ticker--inner .wp-block-group {
    display: inline-block!important;
}
.is-ticker--inner .wp-block-group:first-child {
    position: relative;
    left: 0%;
    animation: swap var(--duration) linear infinite;
}
/* .is-ticker--inner .wp-block-group:first-child p {
    color: #d68484!important;
} */
.is-ticker--inner p {
    display: inline-block!important;
}
.is-ticker--inner p::after {
    content: '+++';
    padding: 0 .75ex 0 1.25ex;
}

@keyframes ticker {
    0% {
        transform: translate3d(0,0,0);
        visibility: visible;
    }
    100% {
        transform: translate3d(-100%,0,0);
    }
}
/* @keyframes swap {
    0%, 
    50% {
        left: 0%
    }
    50.01%, 
    100% {
        left: 100%;
    }
} */


.ticker-wrap {
  width: 100%;
  height: 80px;
  margin: 0 auto;
  overflow: hidden;
  white-space: nowrap;
  /* position: fixed;
  bottom: 0; */
  height: 3.5rem;
  background-color: #FFCA46; 
}
.ticker {
  display: inline-block;
  margin-top: 5px;
  animation: marquee 20s linear infinite;
}
.item-collection-1 {
  position: relative;
  left: 0%;
  animation: swap 20s linear infinite;
  background-color: red;
}

.item {
  display: inline-block;
  padding: 0 1rem;
  font-size: 2rem;
  color: black;   
  font-weight: 800;
  font-family: sans-serif;
}
.item::before {
    content: '+++';
    padding: 0 .75ex;
}

/* Transition */
@keyframes marquee {
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(-100%)
  }
}

@keyframes swap {
  0%, 50% {
    left: 0%;
  }
  50.01%,
  100% {
    left: 100%;
  }
}



/*
-------------------------------------------------------------
 Content: Helper Classes
-------------------------------------------------------------
*/
/* Hyphens */
.has-hyphens {
    hyphens: auto;
}

/* Text Shadow */
.has-text-shadow {
    text-shadow: 0 0 10px rgba(0,0,0,0.75);
}


/*
-------------------------------------------------------------
 Content: Has Link - Box-Link
-------------------------------------------------------------
*/
.has-link {
    position: relative;
}
.has-link a {
    text-decoration: none;
}
.has-link a::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    content: '';
}
.has-link .wp-block-cover__inner-container {
    position: static;
}
.has-link .wp-block-image {
    flex-grow: 0;
}

/*
-------------------------------------------------------------
 Block: Figure within group
-------------------------------------------------------------
*/

.wp-block-group-is-layout-flex > .wp-block-image {
    flex-shrink: 0;
}

/*
-------------------------------------------------------------
 Content:  mobile Max Height for Product Image
-------------------------------------------------------------
*/

@media (max-width: 781px) {
    .has-max-height img {
        max-height: 50vh;
        object-fit: contain;
    }
}



/*
-------------------------------------------------------------
 Content: Home Grid
-------------------------------------------------------------
*/
.is-home-grid {
    grid-template-rows: repeat(15, 38px);
}
.is-home-grid > .wp-block-group {
    /* min-height: min(calc(((100vw / 21) * 3) - 2rem), 150px); */
    overflow: hidden;
}
.is-item--1x1 { width: 100%; aspect-ratio: 1;}
.is-item--3x3 {}
.is-item--3x6 {}
.is-item--6x6 {}
.is-item--12x9 {}

.is-home-grid > div > .wp-block-image,
.is-home-grid > div > .wp-block-image a,
.is-home-grid > div > .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.is-home-grid .has-img--contain img {
    object-fit: contain!important;
}
.is-home-grid .has-img--cover img {
    object-fit: cover!important;
}


@media (max-width: 599px) {
    
    .is-home-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: unset;
        gap: var(--wp--preset--spacing--rem-0050);
    }
    .is-home-grid > .wp-block-group {
        min-height: 150px;
    }
    .is-item--3x3,
    .is-item--3x6 {
        grid-column: span 1;
        grid-row: auto;
        aspect-ratio: 1;
    }
    .is-item--3x3 img,
    .is-item--3x6 img {
        height: auto;
        object-fit: cover;
    }
    .is-item--6x6,
    .is-item--12x9 {
        grid-column: span 2;
        grid-row: auto;
        height: auto;
  }

    /* Position Kacheln */
    #info {
        grid-column: span 1;
        order: -10;
        aspect-ratio: 1;
    }
    #info img {
        height: auto;
        aspect-ratio: 1;
        object-position: bottom;
    }
    
    #neuer-jahrgang {
        height: 100%;
        min-height: auto;
        grid-column: span 1;
        order: -9;
        aspect-ratio: 1;
    }
    #neuer-jahrgang p {
        margin-top: 0!important;
        margin-bottom: var(--wp--preset--spacing--rem-0100)!important;
        font-size: 2rem!important;
    }
    
    #shop {
        order: -8
    }
 
    #weinberge {
        order: -7;
        aspect-ratio: 1.48;
    }

    #anmeldung {
        order: -6;
        aspect-ratio: 1;
    }
    #anmeldung img {
        height: auto;
        aspect-ratio: 1;
    }

    #big-bottles {
        order: -5;
        background-size: contain!important;
    }

    #riesling-in-motion {
        aspect-ratio: 1.48;
    }

    #weisses-rauschen {
        order: 1;
    }
    #weisses-rauschen IMG {
       height: auto;
    }
    #wacken {
        order: 2;
    }
    #wacken img {
       height: auto;
    }

}    

/*
-------------------------------------------------------------
 Content: Hero - BG Positions
-------------------------------------------------------------
*/
@media (max-width: 599px) {
    .is-hero--shop {
        min-height: 0!important;
        aspect-ratio: 1.8;
        background-position-y: 25%!important;
        background-size: 97%!important;
    } 
    .is-hero--shop h1 {
        width: 100%;
        background: linear-gradient(to top, rgba(255,255,255,0.8) 57%, transparent);
    }
}

/*
-------------------------------------------------------------
 Content: Swiper
-------------------------------------------------------------
*/
.wp-swiper {
    --swiper-navigation-color: var(--wp--preset--color--orange);
    --swiper-pagination-color: var(--wp--preset--color--orange);
    --swiper-pagination-bullet-inactive-color: var(--wp--preset--color--light);
    --swiper-pagination-bottom: 1.5rem;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-navigation-size: 32px;
}
/* @Home: 3x3 Kachel */
.is-item--3x3 .wp-swiper {
    width: 100%;
    height: 100%;
}

/*
-------------------------------------------------------------
 Content: Stammkundenpreis Badge
-------------------------------------------------------------
*/
.is-stammkundenpreis {
    position: absolute;
    top: -55px;
    right: -10px;
    width: 70px;
    height: 70px;
    margin: 0;
}
/* Teaser */
.is-cart-button--teaser + .is-stammkundenpreis {
    top: 5px;
    right: 10px;
}
/* Detail */
.is-cart-button--detail + .is-stammkundenpreis {
    top: -96px;
    right: -10px;
    width: 85px;
    height: 85px;
}
.is-cart-button--detail + .is-stammkundenpreis > .wp-block-group {
    min-height: 85px!important;
    max-width: 85px;
}
.is-cart-button--detail + .is-stammkundenpreis > .wp-block-group .has-small-font-size {
    font-size: var(--wp--preset--font-size--lead)!important;
}


/*
-------------------------------------------------------------
 Plugin: Site Reviews
-------------------------------------------------------------
*/
/* Icons */
.glsr-star-empty {
    background-image: url(assets/img/stars/star-empty.svg)!important;
}
.glsr-star-full {
    background-image: url(assets/img/stars/star-full.svg)!important;
}
.glsr-star-half {
    background-image: url(assets/img/stars/star-half.svg)!important;
}

/* Header: Number */
header .glsr-summary .glsr-summary-rating {
    order: 2;
    font-size: var(--wp--preset--font-size--lead);
}
header .glsr-summary-rating::after {
    content: '/5,0';
    /* font-size: var(--wp--preset--font-size--small); */
    font-weight: 600;
}

/* List: Styling */
.is-review {
    position: relative;
}
.is-review::after {
    position: absolute;
    left: 0;
    bottom: -1em;
    display: block;
    width: 100%;
    height: 1px;
    content: '';
    background-color: var(--wp--preset--color--hellgrau);
}
.glsr-review-content {
    font-weight: 600;
}
.is-review--author {
    gap: 0.5rem;
    font-size: var(--wp--preset--font-size--small);
}

/*
-------------------------------------------------------------
 Plugin: RL Gallery
-------------------------------------------------------------
*/



/*
-------------------------------------------------------------
 Woo: Add to Cart Button - Shopübersicht
-------------------------------------------------------------
*/
/*  */
.has-cart-button--teaser {}
.has-cart-button--detail {}
.has-cart-button--footer {}


/* Form + Button */
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) div.product form.cart {
    margin-top: 0;
    margin-bottom: 0;
}

:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) div.product form.cart div.quantity {
    margin-right: 8px;
}
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) div.product form.cart div.quantity .qty {
    margin: 0;
    border: 1px solid var(--wp--preset--color--hellgrau);
    background: #00000008;
    font-family: var(--wp--preset--font-family--open-sans);
    font-weight: 600;
}

.single_add_to_cart_button {
    position: relative;
    padding-left: 3rem;
}
.single_add_to_cart_button::before {
    position: absolute;
    top: 4px;
    left: 10px;
    display: block;
    width: 30px;
    height: 30px;
    content: '';
    background-image: url(assets/img/icon_cart.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 90% auto;
}
.single_add_to_cart_button:hover::before {
    background-image: url(assets/img/icon_cart_white.svg);
}

/* Mobile Anpassung */
@media (max-width: 781px) {
    .is-cart-button--footer .single_add_to_cart_button {
        font-size: var(--wp--preset--font-size--small);
        padding: 0.5rem 1rem;
    }
    .is-cart-button--footer .single_add_to_cart_button::before {
        content: none;
    }
}




/* Block */
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.5ex;
}
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form .cart {
    flex-basis: 100%;
}
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form .wc-gzd-additional-info,
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form .legal-price-info {
    margin: 0;
    padding: 0;
    font-size: 12px;
}
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form .wc-gzd-additional-info a,
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form .legal-price-info a {
    color: var(--wp--preset--color--dark)
}
:is(.is-cart-button--teaser, .is-cart-button--detail, .is-cart-button--footer) .wp-block-add-to-cart-form .legal-price-info span::before {
    content: '| '
}

/* Teaser */
.is-cart-button--teaser .wp-block-add-to-cart-form .cart .single_add_to_cart_button {
    padding-right: 1rem;
}

/* Detail */
@media (min-width: 782px) {
    
    .is-cart-button--detail .wp-block-add-to-cart-form {
        row-gap: 1rem;
        margin-top: -44px;
    }
    .is-cart-button--detail .wp-block-add-to-cart-form .cart {
        display: flex;
        justify-content: end;
    }
    .is-cart-button--detail div.product form.cart div.quantity .qty {
        font-size: var(--wp--preset--font-size--copy);
    }
    .is-cart-button--detail .wp-block-add-to-cart-form .wc-gzd-additional-info,
    .is-cart-button--detail .wp-block-add-to-cart-form .legal-price-info {
        font-size: var(--wp--preset--font-size--small) !important;
    }
}

/* Footer */
.is-cart-button--footer {
    display: flex;
    align-items: center;
    column-gap: 1rem;
}
.is-cart-button--footer div.product::after {
    content: none;
}
.is-cart-button--footer .wp-block-add-to-cart-form {
    /* row-gap: 1rem;
    margin-top: -44px; */
}
.is-cart-button--footer .wp-block-add-to-cart-form .cart {
    display: flex;
    justify-content: end;
}
.is-cart-button--footer div.product form.cart div.quantity .qty {
    border: none;
    background: #00000014;
    color: #fff;
    font-size: var(--wp--preset--font-size--copy);
}
:where(.has-dark-background-color, .has-unplugged-background-color, .has-sonne-mond-background-color) .is-cart-button--footer div.product form.cart div.quantity .qty {
    background: #ffffff14;
    /* color: var(--wp--preset--color--dark); */

}
.is-cart-button--footer .wp-block-add-to-cart-form .wc-gzd-additional-info,
.is-cart-button--footer .wp-block-add-to-cart-form .legal-price-info {
    display: none;
}

/* Stock-Indicator */
.stock {
    margin: 0;
    padding-left: 120px;
    padding-top: var(--wp--preset--spacing--rem-0050);
    font-size: var(--wp--preset--font-size--copy)!important;
}
.is-cart-button--teaser .stock {
    padding: 0;
    font-size: var(--wp--preset--font-size--small)!important;
}
.is-cart-button--footer .stock {
    padding-top: 0;
}
.in-stock {
    display: none!important;
}

/*
-------------------------------------------------------------
 Woo: Discount Sales Badge
-------------------------------------------------------------
*/
.wc-block-cart-items .wc-block-components-sale-badge {
    display: none;
}


/*
-------------------------------------------------------------
 Woo: Kundenkonto
-------------------------------------------------------------
*/
.woocommerce {
    --wc-form-border-radius: 0;
}

.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    min-height: 478px;
}
/* Navi */
.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 1 25%;
    width: auto;
    box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
    padding: var(--wp--preset--spacing--rem-0100) var(--wp--preset--spacing--rem-0150) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active {
    font-weight: bold;
    background: #98949424;
    /* border-left: 1px solid #98949482; */
    /* border-right: 1px solid #98949482; */
}
.woocommerce-account .woocommerce-MyAccount-navigation li:not(:last-child) {
    border-bottom: 1px solid #98949482;
}
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation.is-active a {
    text-decoration: none!important;
}
/* Content */
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 0 75%;
    width: auto;
    box-sizing: border-box;
    border-left: 1px solid #98949482;
    padding: 0 2rem;
}
.woocommerce-account .woocommerce-MyAccount-content h1 {
    margin-top: 0;
}

@media (max-width: 782px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }
    /* Navi */
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation li {
        padding: var(--wp--preset--spacing--rem-0050) !important;
    }
    /* Content */
    .woocommerce-account .woocommerce-MyAccount-content {
        border-left: none;
        border-top: 1px solid #98949482;
        padding: 0.5rem 0;
    }

}

/*
-------------------------------------------------------------
 Woo: Notice Banner
-------------------------------------------------------------
*/
.woocommerce-notices-wrapper {
    width: 100%;
}
.wc-block-components-notice-banner {
    background-color: var(--wp--preset--color--light)!important;
    border: 4px solid var(--wp--preset--color--gold)!important;
    border-radius: 0;
    color: var(--wp--preset--color--dark)!important;
    font-size: var(--wp--preset--font-size--small)!important;
    border-radius: 0;
}
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward {
    font-weight: 600;
    color: var(--wp--preset--color--dark)!important;
    text-decoration: none!important;
    opacity: 1!important;
    transition: none!important;
}
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a:hover,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover {
    color: var(--wp--preset--color--orange)!important;
}


/*
-------------------------------------------------------------
 Woo: Account Stammkunden-Status Bar
-------------------------------------------------------------
*/
.is-customer-status {
    padding: 0.5rem 1rem;
    background: #fff;
    border: 1px solid #98949482;
}
.is-status--bar {
    aspect-ratio: 580/42;
    margin: 0.5rem;
    background: #98949447 linear-gradient(to right, var(--wp--preset--color--orange) 0 33%, transparent 33% 100% );
    mask: url(assets/img/star-bar.svg);
    mask-size: contain;
    background-repeat: no-repeat;
    background-size: 0% 100%;
}
.step1 .is-status--bar {
    background-size: 69% 100%;
}
.step2 .is-status--bar {
    background-size: 200% 100%;
}
.step3 .is-status--bar {
    background-size: 320% 100%;
}

.has-status--steps {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: space-between;
    padding: 0;
    list-style: none;
}

.step1 .has-status--steps li:nth-child(1),
.step2 .has-status--steps li:nth-child(1),
.step2 .has-status--steps li:nth-child(2),
.step3 .has-status--steps li:nth-child(1),
.step3 .has-status--steps li:nth-child(2),
.step3 .has-status--steps li:nth-child(3) {
    font-weight: 700;
}
.is-customer-status hr {
    border: none;
    height: 1px;
    background: #98949482;
}


@media (min-width: 782px) {
    .is-status--bar {
        width: 90%;
        margin: 0.5rem auto;
    }
    .has-status--steps {
        flex-direction: row;
        gap: .5rem;
        padding: 0rem ;
    }
    .has-status--steps li {
        flex-basis: 25%;
        text-align: center;
    }
    .has-status--steps li:nth-child(2) {
        flex-basis: 45%;
    }
    .has-status--steps li:nth-child(3) {
        flex-basis: 30%;
    }
}
/*
-------------------------------------------------------------
 Woo: Account Stammkunden-Status
-------------------------------------------------------------
*/
.tesch-status-box {
}
.tesch-status-wrap {
    padding: 0.25rem 0.5rem;
    background: #fff;
    border: 1px solid #98949482;
}
.tesch-progress-bar {
    position: relative;
    background: #98949424;
    height: 8px;
    margin: 8px 0 8px;
    overflow: hidden;
}
.tesch-progress-fill {
    background: var(--wp--preset--color--orange);
    height: 100%;
    width: 0;
    transition: width 0.8s ease-in-out;
}
.tesch-status-steps {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.25rem;
    font-size: var(--wp--preset--font-size--copy);
    color: var(--wp--preset--color--hellgrau);
}
.tesch-status-step.active {
    font-weight: bold;
    color: var(--wp--preset--color--dark);
}
.tesch-status-box h1 {
    margin-top: var(--wp--preset--spacing--rem-0100)!important;
}
.tesch-order-count-info {
    margin: var(--wp--preset--spacing--rem-0050) 0;
    font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 782px) {
    .tesch-status-wrap {
        padding: 0.5rem 1rem;
    }
    .tesch-status-steps {
        flex-direction: row;
    }
}

/*
-------------------------------------------------------------
 Woo: Checkout Address Fields
-------------------------------------------------------------
*/

/* Adjust Order: place custom Hausnummer directly after adress_1 */
.wc-block-components-address-form > * {
    order: 2;
}
.wc-block-components-address-form > :where(.wc-block-components-address-form__country, .wc-block-components-address-form__first_name, .wc-block-components-address-form__last_name, .wc-block-components-address-form__company, .wc-block-components-address-form__address_1, .wc-block-components-address-form__address_2) {
    order: 1;
}
/* adjust width of fields */
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__address_1,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__address_1 {
    flex: 0 0 calc(75% - 12px);
}
/* Address_2 -> Hausnummer */
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__address_2,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__address_2 {
    flex: 1 0 calc(25% - 12px);
}

/* Adresszusatz */
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__thwcfe-block-adresszusatz,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__thwcfe-block-adresszusatz {
    flex: 0 0 100%;
}

/* extra Hausnummer -> obsolet */
.wc-block-components-address-form__thwcfe-block-address_1_number {
    display: none;
    /* order: 1; */
}
/* 
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__thwcfe-block-address_1_number,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__thwcfe-block-address_1_number {
    flex: 1 0 calc(25% - 12px);
} 
*/

/*
-------------------------------------------------------------
 Woo: Account Address Fields
-------------------------------------------------------------
*/

/* Headline */
.woocommerce-Address-title h2,
.woocommerce-page .woocommerce-customer-details .woocommerce-columns--addresses h2 {
    font-size: var(--wp--preset--font-size--display-small);
}
.woocommerce-account .addresses .title .edit {
    float: none;
    background-color: var(--wp--preset--color--orange);
    border-radius: 0;
    border-width: 0;
    color: var(--wp--preset--color--dark);
    font-family: inherit;
    font-size: inherit;
    font-weight: 600;
    line-height: 1.5;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
}
.woocommerce-account .addresses .title .edit:hover {
    color: var(--wp--preset--color--light);
}

/* Adjust Order: place custom Hausnummer directly after adress_1 */
.woocommerce-address-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
}
.woocommerce-address-fields__field-wrapper > * {
    flex-basis: 100%;
    order: 4;
}
.woocommerce-address-fields__field-wrapper > :where(#billing_title_field, #billing_country_field, #billing_first_name_field, #billing_last_name_field, #billing_company_field, #billing_address_1_field, #billing_address_2_field),
.woocommerce-address-fields__field-wrapper > :where(#shipping_title_field, #shipping_country_field, #shipping_first_name_field, #shipping_last_name_field, #shipping_company_field, #shipping_address_1_field, #shipping_address_2_field) {
    order: 1;
}
.woocommerce-address-fields__field-wrapper > :where(#billing_postcode_field, #shipping_postcode_field) {
    order: 3;
}
/* adjust width of fields */
.woocommerce-address-fields__field-wrapper :where(#billing_first_name_field, #billing_last_name_field, #shipping_first_name_field, #shipping_last_name_field) {
    flex: 0 0 calc(50% - 12px);
}
.woocommerce-address-fields__field-wrapper :where(#billing_address_1_field, #billing_city_field, #shipping_address_1_field, #shipping_city_field) {
    flex: 0 0 calc(75% - 12px);
}
.woocommerce-address-fields__field-wrapper :where(#billing_address_2_field, #billing_postcode_field, #shipping_address_2_field, #shipping_postcode_field) {
    flex: 1 0 calc(25% - 12px);
}

/* Address_2 -> Hausnummer */
.woocommerce-address-fields__field-wrapper :where(#billing_address_2_field, #shipping_address_2_field) label {
    position: static !important;
    height: auto;
    width: auto;
    margin: 0;
    clip: unset;
    clip-path: none;
}
.woocommerce-address-fields__field-wrapper :where(#billing_address_2_field, #shipping_address_2_field) input::placeholder {
    color: transparent
}

/* extra Hausnummer -> obsolet */
.woocommerce-address-fields__field-wrapper > :where([id*="address_1_number_field"]) {
    display: none;
    /* order: 2; */
}
/* .woocommerce-address-fields__field-wrapper [id*="address_1_number_field"] {
    flex: 1 0 calc(25% - 12px);
} */

/* Bugfix: required field is shown as optional */
label.required_field .optional {
    display: none;
}


@media (max-width: 781px) {
    .woocommerce form .form-row label {
        line-height: 1;
        font-size: 12px;
    }
}

/*
-------------------------------------------------------------
 Woo: Styling Form Fields
-------------------------------------------------------------
*/
/* Woo */
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
    border-radius: 0;
}
.wc-block-components-form .wc-block-components-text-input input[type="email"], .wc-block-components-form .wc-block-components-text-input input[type="number"], .wc-block-components-form .wc-block-components-text-input input[type="password"], .wc-block-components-form .wc-block-components-text-input input[type="tel"], .wc-block-components-form .wc-block-components-text-input input[type="text"], .wc-block-components-form .wc-block-components-text-input input[type="url"], .wc-block-components-text-input input[type="email"], .wc-block-components-text-input input[type="number"], .wc-block-components-text-input input[type="password"], .wc-block-components-text-input input[type="tel"], .wc-block-components-text-input input[type="text"], .wc-block-components-text-input input[type="url"],
.wc-blocks-components-select .wc-blocks-components-select__container, .wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    border-radius: 0;
}
.wc-block-checkout__shipping-method .wc-block-checkout__shipping-method-container, 
.wc-block-checkout__shipping-method .wc-block-checkout__shipping-method-container > div {
    border-radius: 0;
} 
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    border-radius: 0;
}
.wp-block-woocommerce-checkout-order-summary-block {
    border-radius: 0;
}
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
    border-radius: 0;
}


/*
-------------------------------------------------------------
 Woo: Styling legacy Orders
-------------------------------------------------------------
*/
/* ----- Markierung der legacy-order-Zelle ----- */
/* .tesch-legacy-order-cell,
span[data-legacy="1"] {
    background: #fff5d1 !important;
    border-left: 4px solid #f0c200 !important;
    padding: 8px 12px;
    display: inline-block;
    border-radius: 4px;
}

span[data-has-legacy-meta="1"]::after {
    content: " LEGACY";
    font-size: 11px;
    font-weight: 600;
    margin-left: 8px;
    padding: 2px 6px;
    border-radius: 12px;
    background: #333;
    color: #fff;
} */
