/*
 Theme Name:   Dine-In Twenty Twenty-Five Child
 Template:     twentytwentyfive
 Version:      2.0.0
 Description:  Child Theme für dine-in-only.eatwell-vabene.eu 
 Author:       bigpercaso
*/


/* Standard Woo-Überschriften ausblenden */
.woocommerce-billing-fields > h3,
.woocommerce-billing-fields > p,
.wc-block-components-checkout-step__heading,
.wc-block-checkout__contact-fields p,
.wc-block-checkout__billing-fields p { display:none !important; }


/* ===================================================== */
/* =============== VA BENE BASE & GLOBALS ============== */
/* ===================================================== */

:root{
  --vb-green:#008a67;
  --wp-admin-theme-color:#008a67;
  --wp-admin-theme-color-darker-10:#007459;
  --wp-admin-theme-color-darker-20:#005b46;
  --vb-offset:120px;
  --vb-border:rgba(0,0,0,.14);
  --vb-sep:#e6e6e8;
  --vb-red:#d32f2f;
  --vb-red-soft:#fff2f2;
  --vb-red-border:#e59a9a;
  --vb-page-pad:16px;
  --vb-card-hero:210px;
  --vb-pattern:url('https://dine-in-only.eatwell-vabene.eu/wp-content/uploads/2025/02/patternpad-2025-01-02-14-31-37.svg');
  --vb-tile:200%;
}

html{scroll-behavior:smooth;}
html,body{-webkit-font-smoothing:antialiased;}
body{
  font-family:system-ui,sans-serif;
}

/* Nicht-Startseiten Hintergrund */
html:not(.vb-home-skin),
body:not(.vb-home-skin){
  background-color:#ffffff;
  background-image:var(--vb-pattern);
  background-repeat:repeat;
  background-position:top left;
  background-size:200%;
}

/* Wrapper transparent, damit Pattern sichtbar bleibt */
.wp-site-blocks,
.wp-block-group.is-layout-constrained{
  background:transparent!important;
}

/* Erste Gruppe oben bündig */
body{padding-top:0!important;}
.wp-site-blocks > .wp-block-group:first-child,
main .wp-block-group.alignfull.has-global-padding{
  margin-top:0!important;
  padding-top:0!important;
}


/* ===================================================== */
/* ================= GLOBAL FORM & UI ================== */
/* ===================================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea{
  border-radius:30px!important;
  border:1px solid var(--vb-green)!important;
  box-sizing:border-box;
}
input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:#00b386!important;
  box-shadow:0 0 0 2px rgba(0,138,103,.2);
}

button,
.button,
.wp-block-button__link,
.woocommerce button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button{
  border-radius:30px!important;
}

/* Express-Payment */
.wc-block-components-payment-methods__express-payment-button,
.wc-block-components-payment-request-button,
.payment-request-button{
  border-radius:30px!important;
  overflow:hidden!important;
}

/* Radio/Checkbox Basis */
input[type="radio"],
input[type="checkbox"]{
  transform:scale(1.5);
  accent-color:var(--vb-green);
}

/* Font Awesome Icons */
.fa,
.fas,
.far,
.fal,
.fad,
.fab{
  margin-right:.4em;
  vertical-align:middle;
  font-size:1.1em;
  line-height:1;
}
a .fa:only-child,
button .fa:only-child,
.vb-cta i:only-child{
  margin-right:0;
}

/* SVG im Content */
.entry-content img[src$=".svg"],
.wp-block-image img[src$=".svg"]{
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
}
.has-bg-svg{
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
}


/* ===================================================== */
/* ================ HEADER & LOGO STYLING ============== */
/* ===================================================== */

/* Pattern im Header */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > header.wp-block-template-part > .wp-block-group{
  background:var(--vb-pattern) center/var(--vb-tile) var(--vb-tile) repeat,#fff;
}

/* Weiße Kästen im Header transparent */
.wp-site-blocks > header.wp-block-template-part .wp-block-group:not(.has-background),
.wp-site-blocks > header.wp-block-template-part .wp-block-columns:not(.has-background),
.wp-site-blocks > header.wp-block-template-part .wp-block-cover__inner-container{
  background-color:transparent!important;
}
.wp-site-blocks > header.wp-block-template-part *[style*="background-color:#fff"],
.wp-site-blocks > header.wp-block-template-part *[style*="background-color: #fff"]{
  background-color:transparent!important;
}

/* Header-Logo */
header .wp-block-site-logo img,
header .wp-block-site-logo svg,
header .wp-block-site-logo img[src$=".svg"]{
  height:45px!important;
  width:auto!important;
  max-width:none!important;
  display:block;
}
.wp-block-template-part:is(.header,[aria-label*="header" i],[aria-label*="kopf" i])
  .wp-block-site-logo img,
.wp-block-template-part:is(.header,[aria-label*="header" i],[aria-label*="kopf" i])
  .wp-block-site-logo svg{
  height:45px!important;
  width:auto!important;
  max-width:none!important;
}
header .wp-block-site-logo,
.wp-block-template-part:is(.header,[aria-label*="header" i],[aria-label*="kopf" i]) .wp-block-site-logo{
  width:auto!important;
}

/* Footer-Logo */
footer .wp-block-site-logo img,
footer .wp-block-site-logo svg{
  height:45px!important;
  width:auto!important;
}

/* Header-Titel */
header .wp-block-site-title,
header .wp-block-site-title a{
  font-size:25px!important;
  line-height:1.2!important;
  font-weight:600;
}

/* TT5 Header-Optimierungen */
.wp-site-blocks > header.wp-block-template-part .wp-block-site-logo img[src$=".svg"],
.wp-site-blocks > header.wp-block-template-part .wp-block-site-logo img{
  height:40px!important;
  width:auto!important;
}
.wp-site-blocks > header.wp-block-template-part .wp-block-site-title a{
  font-size:clamp(16px,3.8vw,19px)!important;
  line-height:1.2;
  white-space:nowrap;
}
.wp-site-blocks > header.wp-block-template-part .wc-block-mini-cart__button,
.wp-site-blocks > header.wp-block-template-part .wp-block-loginout,
.wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container-open{
  font-size:22px!important;
  margin-left:14px!important;
  line-height:1;
}
.wp-site-blocks > header.wp-block-template-part > .wp-block-group.is-layout-flex{
  align-items:center;
}

/* Header-Icons enger */
.wp-site-blocks > header.wp-block-template-part .wc-block-mini-cart__button,
.wp-site-blocks > header.wp-block-template-part .wp-block-loginout,
.wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container-open{
  margin-left:6px!important;
  margin-right:0!important;
}
.wp-site-blocks > header.wp-block-template-part .wc-block-mini-cart__button,
.wp-site-blocks > header.wp-block-template-part .wp-block-loginout a,
.wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container-open{
  font-size:20px!important;
  line-height:1;
}

/* Header vertikal kompakt */
header.wp-block-template-part,
header.wp-block-template-part .wp-block-group{
  padding-top:4px!important;
  padding-bottom:4px!important;
  min-height:auto!important;
}

/* Mobile Navigation Modal-Fix */
.site-header,
header.wp-block-template-part,
.wp-site-blocks > header{
  contain:none;
  transform:none;
}
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-dialog,
.wp-block-navigation__submenu-container{
  z-index:5001;
}
.has-modal-open .site-header,
.has-modal-open header.wp-block-template-part,
.has-modal-open .wp-site-blocks > header{
  transform:none!important;
  will-change:auto!important;
}

/* ===================================================== */
/* ================ CART & CHECKOUT STYLE ============== */
/* ===================================================== */

/* Checkout-Typo */
body.woocommerce-checkout,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components,
body.woocommerce-checkout .entry-content{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",
               Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji",
               "Segoe UI Symbol",sans-serif!important;
}
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout button,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wc-block-components-button{
  font-family:inherit!important;
}
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3{
  font-weight:800;
  letter-spacing:0;
}

/* Checkout Überschriften/Abstände */
.woocommerce-billing-fields > h3{
  font-weight:700;
  font-size:1.4rem;
}
.wp-block-post-title{
  font-size:2.5rem;
  font-weight:700;
  margin:.5rem 0 .8rem;
  text-align:left;
}
main > .wp-block-group:first-of-type{
  margin-top:0!important;
  padding-top:0!important;
}

/* Hinweise/Labels */
.woocommerce-checkout label{
  margin-bottom:1px!important;
}
.woocommerce-additional-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3{
  font-size:1.3rem;
  font-weight:700;
  margin:3rem 0 1rem;
  border-top:1px solid #ccc;
  padding-top:1.5rem;
}
.woocommerce-additional-fields .woocommerce-additional-fields__field-wrapper > p label{
  display:none;
}

/* Info-Box unter „Kasse“ */
.vb-checkout-info{
  margin:14px 0 18px;
  padding:14px;
  border:1px solid #e6e6e9;
  background:#f7fbf9;
  border-radius:10px;
}
.vb-checkout-info .vb-info-text{
  font-size:.98rem;
  line-height:1.45;
  color:#1e293b;
}
.vb-checkout-info .vb-info-text strong{
  font-weight:700;
}
.vb-checkout-info .vb-info-sub{
  margin-top:6px;
  font-size:.95rem;
  color:#334155;
}
.vb-info-actions{margin-top:12px;}
.vb-checkout-info .vb-btn-primary{
  all:unset;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:var(--vb-green)!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  font:600 18px/1 inherit!important;
}
.vb-checkout-info .vb-btn-primary *{
  all:unset;
  display:contents;
}
.vb-checkout-info .vb-btn-primary:link,
.vb-checkout-info .vb-btn-primary:visited,
.vb-checkout-info .vb-btn-primary:hover,
.vb-checkout-info .vb-btn-primary:active,
.vb-checkout-info .vb-btn-primary:focus{
  color:#fff!important;
  text-decoration:none!important;
  outline:none!important;
}

/* Payment-Boxen */
#payment .payment_methods li{
  background:#fff!important;
  padding:3px!important;
  border-radius:30px;
  margin-bottom:10px;
}
#payment .payment_methods li input[type="radio"]:checked + label:before{
  background:#eaeaea;
  border-radius:30px;
  border:1px solid var(--vb-green)!important;
}
.woocommerce-checkout #payment{
  border:1px solid #d2d2d2;
  border-radius:20px;
  padding:0!important;
  background:#ffffff!important;
  margin-bottom:5px;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box{
  width:100%;
  border:1px solid #2d2d2d;
  background:#fff!important;
  color:#2d2d2d;
  font-weight:400;
  border-radius:10px;
  padding-top:5px!important;
  margin-bottom:-1px!important;
}


/* VaBene Farb-Akzente */
a,
.entry-content a,
.wp-block-button.is-style-outline > .wp-block-button__link{
  color:#008a67;
}
a:hover,
a:focus{
  color:#007459;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
  border-color:#008a67!important;
}
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before{
  color:#008a67!important;
}
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce .button,
.wp-element-button{
  background:#008a67;
  border-color:#008a67;
}
.woocommerce a.button:hover,
.woocommerce .button:hover,
.wp-element-button:hover{
  background:#007459;
  border-color:#007459;
}
.wc-block-mini-cart__drawer .components-modal__header,
.wc-block-mini-cart__drawer .components-drawer__header,
.wc-block-mini-cart__drawer .wc-block-components-drawer__header{
  border-top:4px solid #008a67!important;
  box-shadow:none!important;
}
hr,
.wp-block-separator,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  border-color:#008a67!important;
  color:#008a67!important;
}
a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible{
  outline:2px solid #008a67!important;
  outline-offset:2px;
}

/* Klassischer Warenkorb: Bilder rund */
.woocommerce-cart table.cart .product-thumbnail img,
.woocommerce table.shop_table .product-thumbnail img{
  border-radius:12px!important;
  overflow:hidden!important;
}
.wc-block-cart .wc-block-cart-items .wc-block-cart-item__image img{
  border-radius:12px!important;
  overflow:hidden!important;
}

/* Checkout-Meta-Zeile */
#order_review .vb-card .vb-meta{
  white-space:nowrap!important;
}



/* ===================================================== */
/* ============== PRODUCT IMAGES GLOBAL ROUND ========== */
/* ===================================================== */

.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .flex-control-thumbs li img{
  border-radius:12px!important;
  overflow:hidden!important;
}
.woocommerce-cart .product-thumbnail img,
.woocommerce table.shop_table .product-thumbnail img{
  border-radius:12px!important;
  overflow:hidden!important;
}
.wc-block-cart .wc-block-cart-items .wc-block-cart-item__image img{
  border-radius:12px!important;
  overflow:hidden!important;
}
.wc-block-mini-cart__drawer .wc-block-cart-item__image img,
.wc-block-mini-cart__drawer .wc-block-mini-cart-items__image img{
  border-radius:12px!important;
  overflow:hidden!important;
}
.widget_shopping_cart .mini_cart_item img,
.woocommerce-mini-cart .mini_cart_item img{
  border-radius:12px!important;
  overflow:hidden!important;
}


/* ===================================================== */
/* ================== PRODUCT TOGGLE INFO ============== */
/* ===================================================== */

.vb-info-details{margin:6px 0 10px;}
.vb-info-summary{
  display:inline-block;
  padding:6px 0;
  cursor:pointer;
  user-select:none;
  font-size:15px;
  color:#2d2d2d;
  font-weight:600;
  list-style:none;
}
.vb-info-summary::-webkit-details-marker{display:none;}
.vb-info-summary::after{
  content:"▾";
  margin-left:6px;
  transition:transform .2s;
  color:#008a67;
}
.vb-info-details[open] .vb-info-summary::after{
  transform:rotate(180deg);
}
.vb-info-summary:focus{
  outline:none;
  box-shadow:none;
  border:none;
}
.vb-info-panel{
  border:1px solid #e5e5e5;
  border-radius:12px;
  background:#fff;
  padding:12px 14px;
  margin-top:6px;
  box-shadow:0 1px 0 rgba(0,0,0,.03) inset;
}
.vb-info-row{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:10px;
  align-items:start;
  border-left:4px solid #008a67;
  padding-left:10px;
}
.vb-info-row strong{color:#2d2d2d;}
.vb-info-row span{color:#2d2d2d;}
@media (max-width:480px){
  .vb-info-row{
    grid-template-columns:1fr;
    gap:6px;
  }
}


/* ===================================================== */
/* ================= DRINK ROW LAYOUT ================== */
/* ===================================================== */

.vb-drink-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.vb-drink-row .product-quantity{flex:0 0 auto;}
.vb-drink-row .product-cart-button{
  display:flex;
  gap:8px;
  flex:1 1 auto;
  justify-content:flex-end;
}
.vb-drink-row .add-to-cart-button{
  white-space:nowrap;
}


/* ===================================================== */
/* =============== REMOVE INGREDIENTS UI =============== */
/* ===================================================== */

.vb-remove-details summary.vb-info-summary{
  font-weight:600;
  cursor:pointer;
  padding:6px 0;
}
details.vb-remove-details > summary.vb-info-summary::before,
details.vb-remove-details > .vb-info-panel::before{
  content:none!important;
}
details.vb-remove-details > .vb-info-panel{
  border:none!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.vb-remove-details .vb-info-row{
  border:1px solid var(--vb-border);
  border-radius:14px;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.vb-remove-grid{
  display:flex;
  flex-direction:column;
  margin:0;
}
.vb-chip{display:block;width:100%;}
.vb-chip input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.vb-chip .pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:.8rem 1rem;
  border:0;
  border-bottom:1px solid var(--vb-sep);
  border-radius:0;
  background:transparent;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.vb-remove-grid > .vb-chip:last-child .pill{
  border-bottom-color:transparent;
}
.vb-chip .minus{
  color:var(--vb-red);
  font-style:normal;
  font-weight:700;
  font-size:20px;
  line-height:1;
}
.vb-chip .txt{
  flex:1;
  text-align:left;
}
.vb-chip .cnt{
  border:0;
  border-radius:12px;
  font-style:normal;
  padding:0 7px;
}
.vb-chip .cnt-off{display:none;}
@media (hover:hover){
  .vb-chip .pill:hover{background:#fafafa;}
}
.vb-chip input:focus-visible + .pill{
  outline:2px solid color-mix(in oklab,var(--vb-red) 50%,transparent);
  outline-offset:2px;
}
.vb-chip input:checked + .pill{
  background:var(--vb-red-soft);
  color:var(--vb-red);
  border-bottom-color:var(--vb-red-border);
}
.vb-chip input:checked + .pill .cnt-on{display:none;}
.vb-chip input:checked + .pill .cnt-off{display:inline;}
@media (prefers-reduced-motion:reduce){
  .vb-chip .pill{transition:none;}
}

/* Kompakte Liste mit „Mehr anzeigen“ */
.vb-remove-details .vb-info-row{
  position:relative;
  padding-top:6px;
  border:1px solid var(--vb-border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.vb-remove-details .vb-remove-grid{
  position:relative;
  transition:max-height .25s ease;
}
.vb-remove-details.is-long:not(.is-expanded) .vb-remove-grid{
  max-height:170px;
  overflow:hidden;
}
.vb-remove-details.is-long:not(.is-expanded) .vb-remove-grid::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:34px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
  pointer-events:none;
}
.vb-remove-details .vb-more-btn{
  display:none;
  width:100%;
  margin:6px 0 2px;
  padding:.55rem .9rem;
  font-weight:600;
  text-align:center;
  border-radius:12px;
  border:1px solid var(--vb-border);
  background:#fff;
  color:#333;
  transition:background .2s ease,color .2s ease;
}
.vb-remove-details.is-long .vb-more-btn{
  display:inline-block;
}
.vb-remove-details .vb-more-btn:hover{
  background:#f6f6f6;
}
@media (prefers-reduced-motion:reduce){
  .vb-remove-details .vb-remove-grid{transition:none;}
}



.vb-remove-details summary.vb-info-summary{
  font-weight:600;
  cursor:pointer;
  padding:10px 14px;

  background:rgba(0,138,103,0.08);   /* dezent grün */
  border:1px solid rgba(0,138,103,0.25);
  border-radius:24px;

  color:#006e52;
  transition:background .2s ease, color .2s ease;
}

.vb-remove-details[open] summary.vb-info-summary{
  background:transparent;
  border-color:var(--vb-border);
  color:#2d2d2d;
}


/* ===================================================== */
/* ============= PRODUCT CARD – HERO GLASS ============= */
/* ===================================================== */

/* Listen-Cleanup */
ul.products.columns-4::before{
  content:none!important;
  display:none!important;
}
ul.products li.product{
  margin:0 0 0px!important;
  padding:0!important;
  list-style:none!important;
}
ul.products li.product::marker{content:none!important;}

/* Wrapper */
ul.products li.product > .custom-product-wrapper{
  margin:0!important;
  padding:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  border:1px solid #d2d2d2;
  background:#fff;
  box-shadow:0 0 9px rgba(0,0,0,.09);
}

/* Basis Glas-Look */
ul.products li.product .custom-product-wrapper{
  border-radius:30px!important;
  background:rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(5px) saturate(130%);
          backdrop-filter:blur(5px) saturate(130%);
  box-shadow:0 10px 28px rgba(0,0,0,.14);
  transition:box-shadow .25s ease,transform .25s ease;
}
ul.products li.product .custom-product-wrapper:hover{
  box-shadow:0 14px 36px rgba(0,0,0,.20);
  transform:translateY(-2px);
}

/* Summary als Hero-Karte */
.custom-product-wrapper details.vb-card > summary.product-row-top{
  display:block!important;
  position:relative!important;
  padding:0!important;
  min-height:var(--vb-card-hero)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  list-style:none!important;
}
.custom-product-wrapper details.vb-card > summary.product-row-top::-webkit-details-marker{
  display:none!important;
}

/* Bild im geschlossenen Zustand */
.custom-product-wrapper details.vb-card > summary.product-row-top .product-image-wrapper{
  position:absolute!important;
  inset:0!important;
}
.custom-product-wrapper details.vb-card > summary.product-row-top .product-image-wrapper img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  display:block!important;
  box-shadow:none!important;
}

/* Glasbanner unten */
.custom-product-wrapper details.vb-card > summary.product-row-top .product-info{
  position:absolute!important;
  left:0;
  right:0;
  bottom:0;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:18px 20px!important;
  background:rgba(255,255,255,.65)!important;
  -webkit-backdrop-filter:blur(8px) saturate(120%)!important;
          backdrop-filter:blur(8px) saturate(120%)!important;
  border-radius:0 0 24px 24px!important;
}

/* Typografie im Banner */
.custom-product-wrapper details.vb-card > summary.product-row-top .woocommerce-loop-product__title{
  margin:0!important;
  font-size:1.4rem!important;
  font-weight:800!important;
  color:#0f172a!important;
  line-height:1.3!important;
}
.custom-product-wrapper details.vb-card > summary.product-row-top .price{
  margin:0!important;
  font-weight:800!important;
  color:#2d2d2d!important;
}

/* Geöffnetes Verhalten */
.custom-product-wrapper details.vb-card[open] > summary.product-row-top{
  padding:1rem!important;
  min-height:auto!important;
  overflow:visible!important;
}
.custom-product-wrapper details.vb-card[open] > summary.product-row-top .product-image-wrapper{
  position:static!important;
}
.custom-product-wrapper details.vb-card[open] > summary.product-row-top .product-image-wrapper img{
  width:100%!important;
  height:140px!important;
  border-radius:24px!important;
}
.custom-product-wrapper details.vb-card[open] > summary.product-row-top .product-info{
  position:static!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin-top:.6rem!important;
  display:block!important;
}
.custom-product-wrapper details.vb-card[open] > summary.product-row-top .price{
  display:block!important;
  margin-top:.25rem!important;
}

/* Hero-Höhe Desktop */
@media (min-width:768px){
  :root{--vb-card-hero:240px;}
}

/* Extras Label */
.custom-product-wrapper label[for*="addon_option"],
.custom-product-wrapper label[for*="extras"],
.custom-product-wrapper label:has(+ select[multiple]){
  font-weight:600!important;
  color:#2d2d2d;
  display:block;
  margin-bottom:4px;
}

/* Inputs Glas-Style in Karte */
ul.products li.product .custom-product-wrapper .product-left
:is(select,textarea,input[type="text"],input[type="email"],input[type="tel"],input[type="number"]){
  border-radius:30px;
  color:#2d2d2d!important;
  font-weight:700;
  background:rgba(255,255,255,.08)!important;
  border:1px solid #d2d2d2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 20px rgba(0,0,0,.06);
  -webkit-backdrop-filter:blur(8px) saturate(120%);
          backdrop-filter:blur(8px) saturate(120%);
  transition:border-color .2s,box-shadow .2s;
}
ul.products li.product .custom-product-wrapper .product-left
:is(select,textarea,input):focus{
  border-color:#d2d2d2!important;
  box-shadow:0 0 0 2px rgba(0,138,119,.25)!important;
}
ul.products li.product .custom-product-wrapper .product-left ::placeholder{
  color:#d2d2d2!important;
  font-weight:600;
}

/* Extras-Label Badge */
ul.products li.product .custom-product-wrapper .product-left label[for*="addon_option"],
ul.products li.product .custom-product-wrapper .product-left label[for^="vb-option-"]{
  display:inline-block;
  color:#fff!important;
  font-weight:700;
  background:#008a67;
  border-radius:12px;
  border:1px solid rgba(0,138,119,.55);
  text-shadow:0 2px 6px rgba(0,0,0,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 6px rgba(0,0,0,.12);
  padding:4px 6px 4px!important;
}
ul.products li.product .custom-product-wrapper .product-left label[for*="addon_option"]::after,
ul.products li.product .custom-product-wrapper .product-left label[for^="vb-option-"]::after{
  content:none!important;
}

/* Select2 in Karte */
ul.products li.product .custom-product-wrapper .product-left
.select2-container--default .select2-selection--single,
ul.products li.product .custom-product-wrapper .product-left
.select2-container--default .select2-selection--multiple,
ul.products li.product .custom-product-wrapper .product-left
select.select2 + .select2-container .select2-selection{
  border-radius:30px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  -webkit-backdrop-filter:blur(8px) saturate(120%);
          backdrop-filter:blur(8px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 20px rgba(0,0,0,.06);
}
ul.products li.product .custom-product-wrapper .product-left
.select2-container--default .select2-selection__rendered{
  color:#fff!important;
  font-weight:700;
  text-shadow:0 2px 5px rgba(0,0,0,.45);
}
ul.products li.product .custom-product-wrapper .product-left
.select2-container .select2-dropdown{
  background:rgba(40,40,40,.85)!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:16px!important;
}

/* Menge + Button Layout */
ul.products li.product .product-row-submit{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:1rem;
  margin-top:1rem;
}
ul.products li.product .product-row-submit .product-quantity{
  flex:0 0 30%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#f1f1f1;
  border-radius:30px;
  padding:4px 6px;
  box-sizing:border-box;
}
ul.products li.product .product-row-submit .product-quantity button{
  background:#eee;
  border:0;
  border-radius:50%;
  width:30px;
  height:30px;
  font-size:1rem;
  cursor:pointer;
  padding:0;
}
ul.products li.product .product-row-submit .product-quantity input.qty-input{
  width:40px;
  border:0;
  background:transparent;
  text-align:center;
  font-size:1rem;
}

/* Glas-Look Quantity */
ul.products li.product .custom-product-wrapper .product-row-submit .product-quantity{
  border-radius:30px;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  -webkit-backdrop-filter:blur(8px) saturate(120%);
          backdrop-filter:blur(8px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 20px rgba(0,0,0,.06);
}
ul.products li.product .custom-product-wrapper .product-row-submit .product-quantity button{
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.18);
  font-weight:900;
  cursor:pointer;
  transition:filter .2s;
}
ul.products li.product .custom-product-wrapper .product-row-submit .product-quantity button.qty-down{
  color:#e53935!important;
}
ul.products li.product .custom-product-wrapper .product-row-submit .product-quantity button.qty-up{
  color:#00b386!important;
}
ul.products li.product .custom-product-wrapper .product-row-submit .product-quantity input.qty-input{
  border:0;
  background:transparent;
  text-align:center;
  font-weight:800;
  color:#2d2d2d!important;
}

/* Kart-Button */
ul.products li.product .product-row-submit .product-cart-button{
  flex:1;
  display:flex;
}
ul.products li.product .product-row-submit .product-cart-button button{
  width:100%;
  border-radius:30px;
  font-size:1rem;
  background:var(--vb-green)!important;
  color:#fff!important;
  border:none;
}
ul.products li.product .custom-product-wrapper .product-row-submit .product-cart-button
:is(button,.button,.wp-element-button,.add-to-cart-button){
  border-radius:30px;
  font-weight:800;
  color:#fff!important;
  text-shadow:0 2px 4px rgba(0,0,0,.45);
  background:#008a67!important;
  border:1px solid rgba(0,138,119,.55)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 6px rgba(0,0,0,.12);
  transition:filter .2s,box-shadow .2s,transform .1s;
  animation:vbPulse 2.6s ease-in-out infinite;
}
.qty-down{color:#d00!important;font-weight:700;}
.qty-up{color:var(--vb-green)!important;font-weight:700;}

@keyframes vbPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 6px rgba(0,0,0,.12);
  }
  50%{
    transform:scale(1.03);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 18px rgba(0,0,0,.22);
  }
}
@media (prefers-reduced-motion:reduce){
  ul.products li.product .custom-product-wrapper .product-row-submit .product-cart-button
  :is(button,.button,.wp-element-button,.add-to-cart-button){animation:none;}
}

/* Body-Bereich unter dem Bild */
details.vb-card:not([open]) .vb-collapsible-body{
  display:none!important;
}
ul.products li.product.is-collapsed .vb-collapsible-body{
  display:none!important;
}
ul.products li.product details.vb-card{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
ul.products li.product details.vb-card > .vb-collapsible-body{
  padding:0 14px 16px!important;
}
ul.products li.product .product-row-bottom{
  padding:0!important;
}
ul.products li.product .product-left :is(select,textarea){
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Summary-Fokus neutralisieren */
ul.products li.product .product-row-top{
  display:block;
  position:relative;
  margin:0!important;
  padding:0!important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  list-style:none!important;
}
ul.products li.product .product-row-top::-webkit-details-marker{
  display:none!important;
}
ul.products li.product .product-row-top:focus,
ul.products li.product .product-row-top:focus-visible,
ul.products li.product .product-row-top a.woocommerce-LoopProduct-link:focus,
ul.products li.product .product-row-top a.woocommerce-LoopProduct-link:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}

/* Bildwrapper bündig */
ul.products li.product .product-image-wrapper{
  margin:0!important;
  padding:0!important;
  width:100%!important;
}
ul.products li.product .product-image-wrapper img,
ul.products li.product .product-row-top a.woocommerce-LoopProduct-link img{
  display:block!important;
  width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  box-shadow:none!important;
}

/* Titel / Preis global */
.woocommerce-loop-product__title{
  display:block;
  margin:12px 0 0;
  color:#008a67;
}
ul.products li.product .custom-product-wrapper .woocommerce-loop-product__title{
  font-weight:800!important;
}
ul.products li.product .custom-product-wrapper .woocommerce-product-details__short-description{
  font-weight:500;
}
.custom-product-wrapper :is(.product-info,.product-text)
  :is(.woocommerce-product-details__short-description,.price){
  padding-left:0!important;
  margin-left:0!important;
  text-align:left;
}
.custom-product-wrapper :is(.product-info,.product-text)
  .woocommerce-product-details__short-description,
.custom-product-wrapper :is(.product-info,.product-text)
  .woocommerce-product-details__short-description :is(p,ul,ol){
  padding-left:0!important;
  margin-left:0!important;
  text-indent:0!important;
  max-width:100%;
}
.custom-product-wrapper .price{display:block;}


/* ===================================================== */
/* =================== STICKYBAR STYLE ================= */
/* ===================================================== */

#vb-stickybar .vb-stickybar__inner{
  padding:12px 16px;
  background:rgba(255,255,255,.65)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%)!important;
          backdrop-filter:blur(12px) saturate(120%)!important;
  border:1px solid rgba(255,255,255,.45)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.15)!important;
  outline:none!important;
  

}
#vb-stickytitle{
  font-size:26px!important;
  line-height:1.2;
  font-weight:800;
  color:#2d2d2d!important;
  letter-spacing:.2px;
}
#vb-stickysub{
  font-size:15px;
  font-weight:500;
  color:#ffffff!important;
  opacity:.75;
  -webkit-line-clamp:2;
  line-clamp:2;
}
@media (max-width:420px){
  #vb-stickysub{
    -webkit-line-clamp:1;
    line-clamp:1;
  }
}
#vbStickyMenuBtn{
  padding:.5rem 1rem;
  border-radius:999px;
  background:#008a67;
  color:#fff;
  border:2px solid #008a67;
  font-weight:700;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
#vbStickyMenuBtn:hover{
  background:#007459;
  border-color:#007459;
}
#vbStickyMenuBtn svg{
  width:20px;
  height:20px;
}

/* Menü-Text links, Logo rechts */
#vbStickyMenuBtn{
  flex-direction:row-reverse!important;
  justify-content:center!important;
  padding:.25rem .55rem!important;
  gap:.4rem!important;
  line-height:1!important;
}
#vbStickyMenuBtn .vb-logo-icon{
  width:32px!important;
  height:32px!important;
  margin:0!important;
}

/* Overlay Panel */
#vbPanelSafe .vbOverlayBar{
  border-bottom:1px solid #eaeaea;
  background:#fff;
}
#vbPanelSafe .vbOverlayClose{
  color:#2d2d2d;
}
#vbPanelSafe .vbOverlayBrand img,
#vbPanelSafe .vbOverlayBrand svg{
  height:60px!important;
}


/* ===================================================== */
/* ===================== HOME SKIN ===================== */
/* ===================================================== */

html.vb-home-skin,
html.vb-home-skin body{
  background-color:#332c27!important;
  color-scheme:dark;
}
html.vb-home-skin .wp-site-blocks{
  background:transparent!important;
}
body.home .vb-home__overlay{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    #332c27 0%,
    rgba(51,44,39,.92) 22%,
    rgba(51,44,39,.60) 48%,
    rgba(51,44,39,.15) 100%
  );
}
@supports(padding:env(safe-area-inset-top)){
  html.vb-home-skin::before,
  html.vb-home-skin::after{
    content:"";
    position:fixed;
    left:0;
    right:0;
    pointer-events:none;
    z-index:9999;
    background:#332c27;
  }
  html.vb-home-skin::before{
    top:0;
    height:env(safe-area-inset-top);
  }
  html.vb-home-skin::after{
    bottom:0;
    height:env(safe-area-inset-bottom);
  }
}

/* Startseiten-Overlay deaktiviert (Inhalt auf Glas) */
body.home .vb-home__overlay{
  display:none!important;
  background:transparent!important;
}

/* Startseiten-Glascontainer */
body.home .vb-home .vb-home__inner{
  width:74vw!important;
  max-width:520px!important;
  margin-inline:auto!important;
  padding:clamp(26px,6vw,40px)!important;
  -webkit-backdrop-filter:blur(6px) saturate(100%) brightness(1.05)!important;
          backdrop-filter:blur(6px) saturate(100%) brightness(1.05)!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:46px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.08)!important;
  overflow:hidden!important;
  position:relative!important;
}


/* ===================================================== */
/* ================= FRONT-ONEBTN HERO ================= */
/* ===================================================== */

.front-onebtn .vb-bg{
  position:fixed;
  inset:0;
  z-index:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:translateZ(0);
  will-change:opacity,transform;
}
.front-onebtn .vb-bgimg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  max-width:none;
}
.front-onebtn .vb-dim{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.front-onebtn .vb-center{
  position:relative;
  z-index:3;
  min-height:100svh;
  min-height:100dvh;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:clamp(16px,4vw,32px);
  text-align:center;
}
@supports(height:100dvh){
  .front-onebtn .vb-bg,
  .front-onebtn .vb-dim{
    height:100dvh;
  }
}


/* ===================================================== */
/* ================= LANGUAGE SWITCHER ================= */
/* ===================================================== */

.vb-lang-fixed{
  position:fixed;
  bottom:18px;
  right:18px;
  z-index:9999;
  display:flex;
  gap:10px;
  background:rgba(255,255,255,0.85);
  border-radius:40px;
  padding:6px 10px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
  backdrop-filter:blur(6px);
}
.vb-lang-btn{
  border:none;
  background:transparent;
  font-size:18px;
  cursor:pointer;
  font-weight:600;
  color:#2d2d2d;
  transition:transform .2s ease,color .2s ease;
}
.vb-lang-btn:hover{
  transform:scale(1.1);
  color:#008a67;
}
.vb-lang-btn.active{
  color:#008a67;
  text-decoration:underline;
}


/* ===================================================== */
/* ================= MISCELLANEOUS GLOBAL ============== */
/* ===================================================== */

/* Divider */
.vb-divider{
  border:0;
  border-top:1px solid #e5e5e5;
  margin:24px 0;
}

/* Produktlinks auf Speisen/Getränke deaktivieren */
.page-speisen .products a.woocommerce-LoopProduct-link,
.page-getraenke .products a.woocommerce-LoopProduct-link{
  pointer-events:none;
  cursor:default;
}
.page-speisen .products a.button,
.page-getraenke .products a.button,
.page-speisen .add_to_cart_button,
.page-getraenke .add_to_cart_button{
  pointer-events:auto;
}

/* Login-Hinweis-Header-Ersatz */
.vb-replace-site-header header.wp-block-template-part,
.vb-replace-site-header .wp-site-blocks > header,
.vb-replace-site-header header.site-header{
  display:none!important;
}

/* ===================================================== */
/* ================= GLOBAL SELECT2 STYLE ============== */
/* ===================================================== */

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{
  min-height:42px;
  border-radius:6px;
  border:1px solid var(--vb-border,#ddd);
  box-shadow:none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered{
  padding:8px 12px;
  line-height:24px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:42px;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder{
  color:#888;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus{
  border-color:var(--vb-green,#008a67);
  outline:none;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice{
  border-radius:4px;
  border:1px solid #e5e5e5;
  padding:2px 6px;
}

/* Fix: Quickview Summary Marker entfernen */
.vb-qv-single summary::-webkit-details-marker,
.vb-qv-body summary::-webkit-details-marker,
details summary::-webkit-details-marker {
  display:none !important;
}

.vb-qv-single summary,
.vb-qv-body summary,
details summary {
  list-style:none !important;
}

/* === Bild im Overlay: vollbreites Hero ======================= */
#vbProdPanel summary.product-row-top{
  display:block !important;
  padding:0 !important;
  margin:0 0 14px !important;
}

#vbProdPanel summary.product-row-top .product-image-wrapper{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 0 12px !important;
}

/* === Overlay Produktbild – responsive Hero-Höhe === */
#vbProdPanel .product-image-wrapper img{
  width: 100% !important;
  height: 140px !important;         /* Standard: iPhone / Mobile */
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 22px !important;
  display: block !important;
}

/* etwas höher auf kleineren Tablets / breiten Phones */
@media (min-width: 600px){
  #vbProdPanel .product-image-wrapper img{
    height: 170px !important;
  }
}

/* noch etwas höher auf großen Tablets / Desktop */
@media (min-width: 900px){
  #vbProdPanel .product-image-wrapper img{
    height: 200px !important;
  }
}

#vbProdPanel summary.product-row-top .product-info{
  display:block !important;
  padding:0 !important;
  margin:6px 0 0 !important;
}


/* ===================================================== */
/* ========== KIOSK-BOTTOMBAR – SAFE AREA FIX ========== */
/* ===================================================== */

/* Wrapper der Kiosk-Leiste (mobil) */
#vbFabSafe{
  position:fixed;
  left:0;
  right:0;
  bottom:0 !important;          /* statt bottom: env(...) */
  z-index:9998;
}

/* Innenabstand für Notch / Home-Bar in Safari & Chrome */
@supports (padding: env(safe-area-inset-bottom)){
  #vbFabSafe{
    padding-bottom: env(safe-area-inset-bottom);
  }
}


/* ============================================================
   VaBene – Kiosk-Sidebar (auto über Cartbar)
   ============================================================ */

:root{
  --vb-cartbar-h: 80px;
}

@media (min-width: 768px) {
  .vb-layout {
    grid-template-columns: 230px 1fr !important;
  }

  /* Sidebar-Container */
  .vb-sidebar {
    position: sticky !important;
    top: 0 !important;
    max-height: calc(100vh - var(--vb-cartbar-h)) !important;

    overflow-y: auto !important;
    padding-bottom: 12px !important;
    z-index: 1 !important; 
  }

  .vb-content {
    position: relative;
    z-index: 2;
  }

  /* Listenabstände etwas kleiner */
  .vb-sidebar .vb-menu ul {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }

  .vb-sidebar .vb-menu ul li {
    margin: 1px 0 !important;
  }

  /* Kategorie-Pills */
  .vb-sidebar .vb-menu ul li a {
    display: block;
    padding: 9.5px 13px !important;
    font-size: 22.5px !important;
    line-height: 1.01 !important;
    text-align: left !important;


    border: 1px solid rgba(0,0,0,0.10) !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,0.55) !important;
    color: #2d2d2d !important;

    transition: background .2s ease, border-color .2s ease, color .2s ease;
  }
  
  /* Wenn Cartbar sichtbar ist */
html.vb-cart-has-items .vb-sidebar .vb-menu ul li a {
  line-height: 0.8 !important;
}
  
  .vb-sidebar .vb-menu ul li a:focus,
.vb-sidebar .vb-menu ul li a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
  

  .vb-sidebar .vb-menu ul li a:hover {
    background: rgba(0,0,0,0.05) !important;
  }

  /* Scroll-Spy aktiv */
  .vb-sidebar .vb-menu ul li a.is-active,
  .vb-sidebar .vb-menu ul li a.active {
    background: #008a67 !important;
    border-color: #008a67 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
  }
}

@media (min-width: 768px) {
  .vb-sidebar {
    margin-top: 0px !important;
    top: 18px !important;
    margin-bottom: 26px !important;
  }
}


/* VaBene – Sidebar 30% / Produkte 70% */
@media (min-width: 768px){
  body.page-id-18692 .vb-layout,
  body.page-id-19021 .vb-layout{
    grid-template-columns: 30% 70% !important;
  }
}

@media (min-width: 768px){
  body.page-id-18692 .vb-content h2[id],
  body.page-id-19021 .vb-content h2[id]{
    position: relative;
    top: 120px;     /* wirklich nach oben verschieben */
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
  }
}


/* === Speisen: WC-Blocks Mini-Cart/Drawer komplett ausblenden
   Wir nutzen ausschließlich den VB Custom Panel === */

body.page-id-18692 .wp-block-woocommerce-mini-cart,
body.page-id-18692 .wc-block-mini-cart,
body.page-id-18692 .wc-block-mini-cart__drawer,
body.page-id-18692 .wc-block-components-drawer__screen-overlay{
  display: none !important;
}


/* Speisen: Woo Screenreader-Texte wieder verstecken (Preisspanne/Ursprünglicher Preis) */
body.page-id-18692 .screen-reader-text,
body.page-id-18692 .wc-block-components-screen-reader-text,
body.page-id-18692 .woocommerce .screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}


.vb-ico{
  width: 1.375em;         
  height: 1.375em;         
  display: inline-block;
  vertical-align: -0.125em;
  fill: currentColor;
  stroke: currentColor;
}
.vb-ico svg{ width:100%; height:100%; display:block; }

.vb-ico-danger{
  color:#ef4444; /* Rot */
}

/* ===== Coupon Button Icon ===== */
.vb-ico-coupon{
  width: 6.5em;          
  height: 6.5em;
  color: #ffffff;       
  opacity: .95;
  margin-top: -4px;      
}

.vb-ico-coupon svg{
  width: 100%;
  height: 100%;
  display: block;
}


/* =========================
   Reduced Motion (a11y + Lighthouse)
   ========================= */
@media (prefers-reduced-motion: reduce){
  *{
    animation: none !important;
    transition: none !important;
  }
}


/* =====================================================
   VB: Kundencode-Scanner – QR-Icon nur auf Tablet (Android/WebView) nach links
   - iOS (iPhone) bleibt unverändert
   - Laser bleibt zentriert
   ===================================================== */


@media (min-width: 900px){

  @supports not (-webkit-touch-callout: none){

    #vb-code-modal .vb-qrwrap .vb-ico{
      position: relative;
      left: -10px;   
      transform: none !important;
      margin: 0 !important;
    }

  }
}



.vb-free{
  display:inline-block;
  font-weight:800;
  padding:2px 10px;
  border-radius:999px;
  border:2px solid #008a67;
  color:#008a67;
  line-height:1.1;
  margin-right:6px;
  white-space:nowrap;
}

.vb-free-del{
  opacity:.65;
  white-space:nowrap;
}



#vb-code-input {
  font-size: 16px !important;
  transform: translateZ(0);
  padding: 12px 14px;
  border-radius: 12px;
}








