/*
Theme Name: Alpha Color Child
Theme URI: https://alpha-color.ancorathemes.com/
Template: alpha-color
Author: AncoraThemes
Author URI: https://ancorathemes.com/
Description: Alpha Color - Child Theme
Version: 1.5.5
*/

/* ===== CART — layout (safe & scoped) ===================================== */

body.woocommerce-cart .ct-cart-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  margin-top:12px;
}
@media (min-width:1024px){
  body.woocommerce-cart .ct-cart-layout{ grid-template-columns:1fr 360px; }
}
@media (min-width:1200px){
  body.woocommerce-cart .ct-cart-layout{ grid-template-columns:1fr 320px; }
}

body.woocommerce-cart .ct-cart-list{ display:grid; gap:18px; }

/* Card */
body.woocommerce-cart .ct-card{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:16px;
  align-items:start;
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
  padding:18px;
  min-width:0;
}
body.woocommerce-cart .ct-thumb img{ max-width:96px; height:auto; border-radius:8px; display:block; }

/* Head */
body.woocommerce-cart .ct-head{
  display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:6px;
}
body.woocommerce-cart .ct-title{ font-weight:700; }
body.woocommerce-cart .ct-title a{ text-decoration:none; }
body.woocommerce-cart .ct-side{ display:flex; gap:16px; align-items:flex-start; }
body.woocommerce-cart .ct-remove-link{ white-space:nowrap; text-decoration:none; }
body.woocommerce-cart .ct-remove-link:hover{ text-decoration:underline; }

/* Meta */
body.woocommerce-cart .ct-meta{ font-size:.95rem; opacity:.95; }
body.woocommerce-cart .ct-meta dl.variation{
  margin:0;
  display:grid;
  grid-template-columns:max-content 1fr max-content 1fr;
  gap:6px 14px;
}
body.woocommerce-cart .ct-meta dl.variation dt{ font-weight:600; margin:0; }
body.woocommerce-cart .ct-meta dl.variation dt:after{ content:":"; margin-left:2px; }
body.woocommerce-cart .ct-meta dl.variation dd{ margin:0; }

/* Qty + prices */
body.woocommerce-cart .ct-qty-row{
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; margin-top:10px; flex-wrap:wrap;
}
body.woocommerce-cart .ct-qty{ display:flex; align-items:center; gap:8px; }
body.woocommerce-cart .ct-qty-label{ margin-right:2px; font-weight:700; }
body.woocommerce-cart .ct-qty .quantity input.qty{ width:76px; }
body.woocommerce-cart .ct-price-info{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
body.woocommerce-cart .ct-price-row strong{ margin-right:6px; }

/* ===== Mobile tweaks ====================================================== */
@media (max-width:768px){
  body.woocommerce-cart .ct-card{ grid-template-columns:72px 1fr; gap:12px; padding:14px; }
  body.woocommerce-cart .ct-thumb img{ max-width:72px; }

  body.woocommerce-cart .ct-title{ display:flex; flex-direction:column; gap:6px; }
  body.woocommerce-cart .ct-edit-btn{ align-self:flex-start; padding:8px 12px; font-size:13px; line-height:1.2; }

  body.woocommerce-cart .ct-head{ flex-wrap:wrap; gap:8px; }
  body.woocommerce-cart .ct-price-info{ gap:12px; align-items:flex-start; min-width:auto; }
  body.woocommerce-cart .ct-meta dl.variation{ grid-template-columns:max-content 1fr; gap:6px 10px; }
  body.woocommerce-cart .ct-qty-row{ justify-content:space-between; gap:10px; margin-top:12px; }
  body.woocommerce-cart .ct-qty .quantity input.qty{ width:70px; height:40px; }

  /* center the cart stack and give inner breathing room */
  body.woocommerce-cart .ct-cart-layout,
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
    padding-left:16px;
    padding-right:16px;
    box-sizing:border-box;
  }
}
@media (max-width:480px){
  body.woocommerce-cart .ct-qty-row{ flex-direction:column; align-items:stretch; gap:8px; }
}

/* ===== Totals + buttons ================================================== */
body.woocommerce-cart .cart-collaterals{ width:100%; min-width:0; position:static; }
body.woocommerce-cart .wc-proceed-to-checkout .button{
  float:none !important; display:block; width:100%; max-width:340px; margin:12px auto;
}

/* Payment request buttons */
body.woocommerce-cart .payment_request_button,
body.woocommerce-cart .stripe-payment-request-button,
body.woocommerce-cart .gpay-button,
body.woocommerce-cart .google-pay-button-container button,
body.woocommerce-cart .apple-pay-button{
  display:block !important; width:100% !important; max-width:340px !important;
  margin:8px auto !important; position:static !important;
}

/* Totals table visibility */
body.woocommerce-cart .cart-collaterals table.shop_table{ display:table; width:100%; }
body.woocommerce-cart .cart_totals{ float:none !important; width:100% !important; }

/* ===== Optional table look ============================================== */
.woocommerce-cart table.shop_table thead th{
  background-color:#54b9fd; color:#fff; border-color:rgba(244,246,250,0.2); font-weight:600;
}
.woocommerce-cart table.shop_table tr.cart_item{ border-bottom:1px solid #eaeaea; }
.woocommerce-cart td.actions{ text-align:center; padding-top:20px; }

/* ===== Global form fields =============================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="file"],
input[type="password"],
select,
textarea{
  background:#fff !important; border:1px solid #000 !important; color:#000 !important;
  padding:10px !important; width:100%; box-sizing:border-box; font-size:15px;
}

/* ===== Minor shop visuals =============================================== */
.wc-gzd-cart-item-name-wrapper{ display:flex; gap:15px; align-items:flex-start; flex-wrap:wrap; }
.wc-gzd-cart-item-thumbnail img{
  width:120px; height:auto; border-radius:4px; object-fit:cover; box-shadow:0 0 6px rgba(0,0,0,.1);
}
.woocommerce-cart .product-name{ font-size:16px; font-weight:600; color:#222; }
.woocommerce-cart .product-name .product-quantity{ font-weight:400; color:#777; display:inline-block; margin-left:5px; }
.wc-gzd-cart-info.delivery-time-info{ font-size:13px; color:#666; margin-top:6px; }
.woocommerce-cart .product-name dl.variation{ margin-top:10px; font-size:14px; color:#333; }
.woocommerce-cart .product-name dl.variation dt{ font-weight:500; margin-top:5px; }
.woocommerce-cart .product-name dl.variation dd{ margin:0; margin-left:10px; }
.woocommerce-cart .product-name dl.variation dd a{ color:#0073aa; text-decoration:underline; }

/* Archive/Home: hide add-to-cart */
a.add_to_cart_button{ display:none !important; }

/* Magnific wrapper fix */
a[rel="magnific"]:has(.magnific_wrap){
  position:relative; display:block; text-align:center; float:left !important; margin-left:0 !important;
}

/* ===== Fallback: Woo's table rows on small screens ======================= */
@media (max-width:768px){
  .woocommerce-cart .cart_item{
    display:flex; flex-wrap:wrap; gap:12px; padding:14px;
    border-radius:8px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,0.05);
  }
  .woocommerce-cart .cart_item .product-thumbnail img{ width:72px !important; height:auto; border-radius:4px; }
  .woocommerce-cart .product-name{
    width:100%; display:flex; flex-direction:column; gap:4px; font-size:15px; line-height:1.3;
  }
  .woocommerce-cart .product-name a.button{
    align-self:flex-start; font-size:13px; padding:6px 10px; margin-top:2px;
  }
  .woocommerce-cart td.product-quantity,
  .woocommerce-cart td.product-subtotal{ font-size:14px; white-space:nowrap; }
  .woocommerce-cart td.product-quantity{ padding-right:10px; }
}

/* ===== Long words/filenames wrap safely ================================== */
body.woocommerce-cart .ct-card,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals{
  width:100%; max-width:100%; box-sizing:border-box;
}
body.woocommerce-cart .ct-title,
body.woocommerce-cart .ct-title a,
body.woocommerce-cart .ct-meta,
body.woocommerce-cart .ct-meta dl.variation dd,
body.woocommerce-cart .product-name,
body.woocommerce-cart .product-name a,
body.woocommerce-cart .product-name dl.variation dd,
body.woocommerce-cart .cart_item td{
  word-break: break-word;
  overflow-wrap: anywhere;
}
body.woocommerce-cart .product-name dl.variation dd a{
  display:inline-block; max-width:100%; text-decoration:underline; overflow-wrap:anywhere;
}

/* === CART: neutralize theme's fixed widths on tablet/desktop ============= */
/* Ziel: beide .content_wrap im Inhaltsbereich treffen (ohne >) */
@media (max-width: 1441px){
  body.woocommerce-cart .page_content_wrap .content_wrap,
  body.woocommerce-cart main.page_content .content_wrap{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box;
  }

  /* Cart-Stack in angenehmer Lesebreite halten */
  body.woocommerce-cart .ct-cart-layout,
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Stripe / Express-Buttons: Inline-Style zieht breiter als Container */
body.woocommerce-cart .__PrivateStripeElement iframe,
body.woocommerce-cart .alpha_color_resize{
  width: 100% !important;
  max-width: 100% !important;
}

/* === CART: small-screen fix (<=640px) — respektiert rechten Rand ========= */
@media (max-width:640px){

  /* ALLE Content-Wrapper im Content-Bereich schmal & mit Innenabstand */
  body.woocommerce-cart .page_content_wrap .content_wrap,
  body.woocommerce-cart main.page_content .content_wrap{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box;
    overflow-x: hidden !important;
  }

  /* Texte/Labels/Coupon dürfen umbrechen – nichts läuft raus */
  body.woocommerce-cart table.shop_table th,
  body.woocommerce-cart table.shop_table td,
  body.woocommerce-cart .woocommerce-shipping-methods label,
  body.woocommerce-cart .cart_totals .includes_tax,
  body.woocommerce-cart .ct-title a,
  body.woocommerce-cart .woocommerce-cart-form .coupon,
  body.woocommerce-cart .woocommerce-cart-form .coupon *{
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* Stripe/Express Container zähmen */
  body.woocommerce-cart .__PrivateStripeElement,
  body.woocommerce-cart .wcpay-express-checkout-wrapper,
  body.woocommerce-cart .wc-proceed-to-checkout{
    max-width: 100% !important;
    overflow: hidden !important;
  }
  body.woocommerce-cart .__PrivateStripeElement iframe,
  body.woocommerce-cart .alpha_color_resize{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Grids sicher schrumpfen lassen */
  body.woocommerce-cart .ct-card{ min-width:0; }
  body.woocommerce-cart .ct-main{ min-width:0; }
}



/* === HOTFIX: Cart-Form + Totals sicher innerhalb des Viewports (<=640px) === */
@media (max-width: 640px){

  /* äußere Container im Content-Bereich */
  body.woocommerce-cart .page_content_wrap > .content_wrap,
  body.woocommerce-cart main.page_content > .content_wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box;
    overflow-x:hidden !important;
  }

  /* Formular-Spalte + Totals-Spalte */
  body.woocommerce-cart form.woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart-collaterals .cart_totals{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box;
  }

  /* Tabelle selbst darf schrumpfen */
  body.woocommerce-cart .cart-collaterals table.shop_table{
    display:table !important;
    width:100% !important;
    max-width:100% !important;
    table-layout:fixed !important;   /* verhindert Überlaufen durch lange Inhalte */
    box-sizing:border-box;
  }

  /* Zellen & Labels: normal umbrechen */
  body.woocommerce-cart .cart-collaterals table.shop_table th,
  body.woocommerce-cart .cart-collaterals table.shop_table td,
  body.woocommerce-cart .woocommerce-shipping-methods label,
  body.woocommerce-cart .cart_totals .includes_tax{
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  /* Express-/Stripe-Blöcke zähmen */
  body.woocommerce-cart .wcpay-express-checkout-wrapper,
  body.woocommerce-cart .__PrivateStripeElement,
  body.woocommerce-cart .__PrivateStripeElement iframe{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  /* Sicherheitsnetz: Karten/Grids dürfen schrumpfen */
  body.woocommerce-cart .ct-card,
  body.woocommerce-cart .ct-main{
    min-width:0 !important;
  }
}

/* Optional: ganz kleine Geräte – etwas weniger Rand */
@media (max-width: 360px){
  body.woocommerce-cart .page_content_wrap > .content_wrap,
  body.woocommerce-cart main.page_content > .content_wrap{
    padding-left:8px !important;
    padding-right:8px !important;
  }
}

/* ===== Logos unter Buttons ===== */
.cart-payment-logos {
  display:flex; gap:.75rem; align-items:center; justify-content:center;
  margin-top:.75rem; flex-wrap:wrap;
}
.cart-payment-logos .logo {
  width:44px; height:28px; border-radius:6px;
  background:#f5f5f5 no-repeat center/70% auto;
  box-shadow:0 1px 2px rgba(0,0,0,.08) inset;
}
.logo.paypal     { background-image:url('/wp-content/themes/alpha-color-child/assets/img/paypal.svg'); }
.logo.visa       { background-image:url('/wp-content/themes/alpha-color-child/assets/img/visa.svg'); }
.logo.mastercard { background-image:url('/wp-content/themes/alpha-color-child/assets/img/mastercard.svg'); }
.logo.amex       { background-image:url('/wp-content/themes/alpha-color-child/assets/img/amex.svg'); }
.logo.applepay   { background-image:url('/wp-content/themes/alpha-color-child/assets/img/applepay.svg'); }
.logo.googlepay  { background-image:url('/wp-content/themes/alpha-color-child/assets/img/googlepay.svg'); }

/* === CART • Mobil: 1 Spalte, Thumbnail komplett ausblenden ============== */
@media (max-width: 768px){

  /* A) Dein Card-Layout: Bild/Spalte raus, alles einspaltig */
  body.woocommerce-cart .ct-card{
    grid-template-columns: 1fr !important;   /* statt 72/96px + 1fr */
    gap: 10px;
  }
  body.woocommerce-cart .ct-thumb{ display:none !important; }

  /* B) Germanized-Wrapper (falls aktiv) */
  body.woocommerce-cart .wc-gzd-cart-item-thumbnail{ display:none !important; }

  /* C) Woo-Standardtabellen (Fallback) */
  body.woocommerce-cart .product-thumbnail{ display:none !important; }
  body.woocommerce-cart table.shop_table td.product-name{
    width: 100% !important;
  }

  /* D) Kleiner Feinschliff für die Textbereiche */
  body.woocommerce-cart .ct-head{ margin-bottom: 4px; }
  body.woocommerce-cart .ct-title{ display:block; }
  body.woocommerce-cart .product-name{ width:100%; line-height:1.35; }
  body.woocommerce-cart .ct-qty-row{ margin-top: 8px; }
}


/* === CART/Checkout • bessere Lesbarkeit auf Mobile ====================== */
/* Basis: alles im Cart/Checkout etwas größer, saubere Zeilenhöhe */
@media (max-width: 768px){
  body.woocommerce-cart,
  body.woocommerce-checkout{
    font-size: 17px !important;   /* statt 15px aus responsive.css */
    line-height: 1.55;
  }

  /* Produkt-Titel/Headings */
  body.woocommerce-cart .product-name,
  body.woocommerce-cart .ct-title,
  body.woocommerce-checkout h3{
    font-size: 18px !important;
    line-height: 1.35;
  }

  /* Meta/Variations */
  body.woocommerce-cart .ct-meta,
  body.woocommerce-cart .product-name dl.variation,
  body.woocommerce-cart .product-name dl.variation *{
    font-size: 16px !important;
  }

  /* Preise & Summen */
  body.woocommerce-cart .product-subtotal,
  body.woocommerce-cart .cart_totals .order-total th,
  body.woocommerce-cart .cart_totals .order-total td,
  body.woocommerce-cart .cart_totals .order-total strong{
    font-size: 18px !important;
  }
  body.woocommerce-cart .cart_totals table th,
  body.woocommerce-cart .cart_totals table td{
    font-size: 16px !important;
  }

  /* Versandmethoden/Labels */
  body.woocommerce-cart .woocommerce-shipping-methods label{
    font-size: 16px !important;
    line-height: 1.4;
  }

  /* Buttons */
  body.woocommerce-cart .button,
  body.woocommerce-cart .coupon .button,
  body.woocommerce-cart .wc-proceed-to-checkout .button,
  body.woocommerce-checkout #place_order{
    font-size: 16px !important;
    padding: 12px 14px !important;
  }

  /* Inputs/Selects – größer + iOS-Zoom vermeiden */
  body.woocommerce-cart input[type="text"],
  body.woocommerce-cart input[type="email"],
  body.woocommerce-cart input[type="tel"],
  body.woocommerce-cart input[type="number"],
  body.woocommerce-cart select,
  body.woocommerce-cart textarea,
  body.woocommerce-checkout input[type="text"],
  body.woocommerce-checkout input[type="email"],
  body.woocommerce-checkout input[type="tel"],
  body.woocommerce-checkout input[type="number"],
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea{
    font-size: 16px !important;
    min-height: 44px;          /* bessere Tap-Ziele */
  }
}

/* Sehr kleine Geräte: minimal zurücknehmen, damit nichts überläuft */
@media (max-width: 360px){
  body.woocommerce-cart,
  body.woocommerce-checkout{ font-size: 16px !important; }
}

/* === CART/Checkout • größer & fetter (mobile) =========================== */
@media (max-width: 768px){
  /* Basisgröße hoch */
  body.woocommerce-cart,
  body.woocommerce-checkout{
    font-size: 18.5px !important;   /* vorher 17px */
    line-height: 1.6;
  }

  /* Produkt-Titel extra deutlich */
  body.woocommerce-cart .ct-title,
  body.woocommerce-cart .product-name{
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35;
  }

  /* Variations/Optionen klarer */
  body.woocommerce-cart .product-name dl.variation{
    font-size: 17.5px !important;
  }
  body.woocommerce-cart .product-name dl.variation dt{
    font-weight: 700 !important;
  }
  body.woocommerce-cart .product-name dl.variation dd{
    font-weight: 600 !important;
  }

  /* Tabellenzellen/Labels allgemein etwas fetter */
  body.woocommerce-cart table.shop_table th,
  body.woocommerce-cart table.shop_table td,
  body.woocommerce-cart .woocommerce-shipping-methods label,
  body.woocommerce-cart .cart_totals *{
    font-weight: 600 !important;
  }

  /* Preise & Gesamtsumme prominent */
  body.woocommerce-cart .product-subtotal,
  body.woocommerce-cart .cart_totals .order-total th,
  body.woocommerce-cart .cart_totals .order-total td,
  body.woocommerce-cart .cart_totals .order-total strong{
    font-size: 20px !important;
    font-weight: 800 !important;
  }

  /* Buttons fingerfreundlich & bold */
  body.woocommerce-cart .button,
  body.woocommerce-cart .coupon .button,
  body.woocommerce-cart .wc-proceed-to-checkout .button,
  body.woocommerce-checkout #place_order{
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 14px 16px !important;
  }
}

/* sehr kleine Geräte: minimal zurücknehmen, damit nichts überläuft */
@media (max-width: 360px){
  body.woocommerce-cart,
  body.woocommerce-checkout{ font-size: 17px !important; }
  body.woocommerce-cart .ct-title,
  body.woocommerce-cart .product-name{ font-size: 19px !important; }
}

/* === CART + CHECKOUT • saubere Umbrüche / Silbentrennung ================= */

/* 1) Standard: Wörter normal trennen, deutsche Silbentrennung */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-cart .product-name,
body.woocommerce-cart .product-name *,
body.woocommerce-cart .ct-title,
body.woocommerce-cart .ct-meta,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .woocommerce-shipping-methods label,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: auto;                 /* <html lang="de"> ist bei dir gesetzt */
}

/* 2) Sehr lange Tokens (Dateinamen, Bestellnr., URLs) dürfen weich umbrechen */
.u-break, 
body.woocommerce-cart .product-name a.u-break,
body.woocommerce-cart dl.variation dd a.u-break,
body.woocommerce-cart .woocommerce-shipping-methods label .u-break {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: manual !important;
}

/* 3) Vorher gesetztes "nowrap" auf Versand-Labels wieder zulassen */
body.woocommerce-cart .woocommerce-shipping-methods label {
  white-space: normal !important;
}

/* === CART/CHECKOUT • Versandmethoden: dicke Radio-Buttons & bessere Tap-Ziele === */

/* Layout + größere Klickfläche */
body.woocommerce-cart ul#shipping_method li,
body.woocommerce-checkout ul#shipping_method li{
  display:flex; align-items:flex-start; gap:.6rem;
  padding:.5rem .6rem; border-radius:10px;
}
body.woocommerce-cart ul#shipping_method li:hover,
body.woocommerce-checkout ul#shipping_method li:hover{
  background:#f7f8fb;
}

/* 1) Moderne Browser: native Radio vergrößern + Markenfarbe */
body.woocommerce-cart  ul#shipping_method input[type="radio"],
body.woocommerce-checkout ul#shipping_method input[type="radio"]{
  transform:scale(1.35);            /* dicker */
  accent-color:#111;                 /* ggf. Markenfarbe anpassen */
  margin-top:.15rem;                 /* optisch ausrichten */
}

/* Label-Typo */
body.woocommerce-cart  ul#shipping_method label,
body.woocommerce-checkout ul#shipping_method label{
  font-size:16.5px; line-height:1.4; font-weight:600;
  white-space:normal !important;     /* lange Texte dürfen umbrechen */
}

/* Fokus/Kontrollzustand klar markieren */
body.woocommerce-cart  ul#shipping_method input[type="radio"]:focus + label,
body.woocommerce-checkout ul#shipping_method input[type="radio"]:focus + label{
  outline:2px solid #54b9fd; outline-offset:2px;
}
body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked + label,
body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked + label{
  background:#eef5ff; border-radius:10px;
}

/* 2) Fallback für Browser ohne accent-color: eigenes „Fake“-Radio */
@supports not (accent-color: #000){
  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    appearance:none; -webkit-appearance:none;
    width:20px; height:20px; border:2px solid #333; border-radius:50%;
    display:inline-block; position:relative; margin-top:.15rem;
  }
  body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked,
  body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked{
    background-image: radial-gradient(#111 0 45%, transparent 46%);
  }
}

/* === CART/CHECKOUT • Versand-Radio exakt zentrieren ===================== */
body.woocommerce-cart  ul#shipping_method li,
body.woocommerce-checkout ul#shipping_method li{ position:relative; }

/* Variablen: Größe Außenkreis / Punkt / linker Abstand */
body.woocommerce-cart  ul#shipping_method label,
body.woocommerce-checkout ul#shipping_method label{
  --r: 24px;      /* outer circle */
  --dot: 12px;    /* inner dot */
  --left: .8rem;  /* left offset for the radio */
}

/* Linkes Padding aus Variablen berechnen */
body.woocommerce-cart  ul#shipping_method li,
body.woocommerce-checkout ul#shipping_method li{
  padding: .65rem .6rem .65rem calc(var(--left) + var(--r) + .9rem);
}

/* Nativen Radio (unsichtbar) mittig platzieren – optional, der Vollständigkeit halber */
body.woocommerce-cart  ul#shipping_method input[type="radio"],
body.woocommerce-checkout ul#shipping_method input[type="radio"]{
  position:absolute; left:var(--left); top:50%;
  width:var(--r); height:var(--r);
  transform: translateY(-50%);
  opacity:0; pointer-events:none;
}

/* Außenkreis */
body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::before,
body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before{
  content:""; position:absolute; left:var(--left); top:50%;
  width:var(--r); height:var(--r);
  transform: translateY(-50%);
  border:2px solid #111; border-radius:50%; background:#fff;
}

/* Mittelpunkt (Punkt) – exakt zentriert im Kreis */
body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked + label::after,
body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked + label::after{
  content:""; position:absolute;
  left: calc(var(--left) + (var(--r) / 2));  /* Mitte des Kreises */
  top: 50%;
  width: var(--dot); height: var(--dot);
  transform: translate(-50%, -50%);          /* exakt mittig */
  background:#111; border-radius:50%;
}

/* Mobile (optional etwas größer) */
@media (max-width: 768px){
  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    --r: 26px;
    --dot: 12px;
    --left: .85rem;
  }
}


/* === SHIPPING RADIOS — scope custom look to mobile only ================== */

/* Keep bullets off across all sizes */
body.woocommerce-cart  ul#shipping_method,
body.woocommerce-checkout ul#shipping_method{ list-style:none!important; margin:0; padding-left:0; }

/* --- MOBILE: custom big circle ----------------------------------------- */
@media (max-width: 768px){
  /* variables for size/position */
  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    --r: 26px;   /* outer circle size */
    --dot: 12px; /* inner dot size */
    --left: .85rem;
  }

  body.woocommerce-cart  ul#shipping_method li,
  body.woocommerce-checkout ul#shipping_method li{
    position:relative;
    padding: .65rem .6rem .65rem calc(var(--left) + var(--r) + 1rem);
    border-radius:10px;
    display:flex; align-items:flex-start; gap:.6rem;
  }

  /* visually hide native input; center via translate */
  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    position:absolute; left:var(--left); top:50%;
    width:var(--r); height:var(--r);
    transform:translateY(-50%);
    opacity:0; pointer-events:none;
  }

  /* outer circle */
  body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::before,
  body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before{
    content:""; position:absolute; left:var(--left); top:50%;
    width:var(--r); height:var(--r);
    transform:translateY(-50%);
    border:2px solid #111; border-radius:50%; background:#fff;
  }

  /* inner dot (exactly centered) */
  body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked + label::after,
  body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked + label::after{
    content:""; position:absolute; left:calc(var(--left) + var(--r)/2); top:50%;
    width:var(--dot); height:var(--dot);
    transform:translate(-50%,-50%);
    background:#111; border-radius:50%;
  }

  /* label typo */
  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    font-size:16.5px; line-height:1.4; font-weight:600;
    white-space:normal!important;
  }
}

/* --- DESKTOP/TABLET: reset to native radios (no overlap) ---------------- */
@media (min-width: 769px){
  body.woocommerce-cart  ul#shipping_method li,
  body.woocommerce-checkout ul#shipping_method li{
    padding: .5rem .6rem;          /* normal left padding */
    display:flex; align-items:flex-start; gap:.5rem;
  }

  /* show native input normally */
  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    position:static; opacity:1; width:auto; height:auto;
    transform:none !important;     /* neutralize earlier scale rules */
    margin: .2rem .5rem 0 0;
    accent-color:#111;
  }

  /* remove our pseudo circles on larger screens */
  body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::before,
  body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before,
  body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked + label::after,
  body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked + label::after{
    content:none !important;
  }
}


/* ===== SHIPPING RADIOS — definitive fix ================================== */
/* 0) Global resets just for Woo shipping radios (kills theme skinning) */
body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::before,
body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::after,
body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before,
body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::after{
  content: none !important;
  display: none !important;
}
body.woocommerce-cart  ul#shipping_method,
body.woocommerce-checkout ul#shipping_method{ list-style:none!important; margin:0; padding-left:0; }

/* 1) MOBILE (≤768px): big, centered dot drawn on the INPUT itself */
@media (max-width: 768px){
  body.woocommerce-cart  ul#shipping_method li,
  body.woocommerce-checkout ul#shipping_method li{
    display:flex; align-items:flex-start;
    gap:.8rem;                                  /* more space to avoid touching text */
    padding:.65rem .6rem; border-radius:10px;
  }
  body.woocommerce-cart  ul#shipping_method li:hover,
  body.woocommerce-checkout ul#shipping_method li:hover{ background:#f7f8fb; }

  /* input as circle (no pseudos) */
  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    appearance:none !important; -webkit-appearance:none !important;
    width:26px; height:26px; flex:0 0 26px;
    border:2px solid #111; border-radius:50%;
    background:#fff; box-shadow:none;
    margin-top:.15rem;                         /* align with first line of label */
    transform:none !important;                 /* neutralize theme transforms */
    opacity:1 !important; position:static !important;
  }
  body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked,
  body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked{
    background-image: radial-gradient(#111 0 48%, transparent 50%);
    background-position:center; background-repeat:no-repeat;
  }

  /* label text wraps normally next to the radio */
  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    position:static !important;
    white-space:normal !important;
    font-size:16.5px; line-height:1.4; font-weight:600;
    padding:0; margin:0;
  }
}

/* 2) TABLET/DESKTOP (≥769px): restore native radios – no overlap */
@media (min-width: 769px){
  body.woocommerce-cart  ul#shipping_method li,
  body.woocommerce-checkout ul#shipping_method li{
    display:flex; align-items:flex-start; gap:.5rem;
    padding:.5rem .6rem;
  }

  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    appearance:auto !important; -webkit-appearance:auto !important;
    position:static !important; opacity:1 !important;
    width:auto !important; height:auto !important;
    margin:.2rem .5rem 0 0 !important;
    background-image:none !important; border:initial !important; border-radius:initial !important;
    transform:none !important;
    accent-color:#111;
  }

  /* ensure no theme pseudo bullets sneak back in */
  body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::before,
  body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before,
  body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::after,
  body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::after{
    content:none !important; display:none !important;
  }

  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    white-space:normal !important;             /* allow multiline texts */
    font-weight:600;
  }
}

/* ===== SHIPPING RADIOS — CLEAN ONLY THIS SECTION =========================
   - Entfernt Theme-Pseudo-Kreise auf Labels (verhindert Überlappungen)
   - Mobile (<=768px): große, klare Radios (Kreis + Punkt) direkt am INPUT
   - Tablet/Desktop (>=769px): native Browser-Radios (keine Hacks)
=========================================================================== */

/* Liste ohne Bullets */
body.woocommerce-cart  ul#shipping_method,
body.woocommerce-checkout ul#shipping_method{
  list-style: none !important;
  margin: 0;
  padding-left: 0;
}

/* Theme-Pseudo-Kreise auf den Labels AUS (nur für Versandliste) */
body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::before,
body.woocommerce-cart  ul#shipping_method input[type="radio"] + label::after,
body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before,
body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::after{
  content: none !important;
  display: none !important;
}

/* -------------------- MOBILE (<=768px) ---------------------------------- */
@media (max-width: 768px){

  /* Eintrag als „Karte“ mit größerer Klickfläche */
  body.woocommerce-cart  ul#shipping_method li,
  body.woocommerce-checkout ul#shipping_method li{
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: .65rem .6rem;
    border-radius: 10px;
  }
  body.woocommerce-cart  ul#shipping_method li:hover,
  body.woocommerce-checkout ul#shipping_method li:hover{
    background: #f7f8fb;
  }

  /* INPUT selbst als Kreis (immer perfekt mittig, kein Overlap) */
  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border: 2px solid #111;
    border-radius: 50%;
    background: #fff;
    box-shadow: none;
    margin-top: .15rem;          /* optisch zur ersten Textzeile ausrichten */
    opacity: 1 !important;
    position: static !important; /* niemals absolut positionieren */
    transform: none !important;
  }
  body.woocommerce-cart  ul#shipping_method input[type="radio"]:checked,
  body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked{
    background-image: radial-gradient(#111 0 48%, transparent 50%);
    background-position: center;
    background-repeat: no-repeat;
  }

  /* Label-Typo & Umbruch */
  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    position: static !important;
    white-space: normal !important;
    font-size: 16.5px;
    line-height: 1.4;
    font-weight: 600;
    padding: 0;
    margin: 0;
  }
}

/* -------------------- TABLET/DESKTOP (>=769px) -------------------------- */
@media (min-width: 769px){

  body.woocommerce-cart  ul#shipping_method li,
  body.woocommerce-checkout ul#shipping_method li{
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .5rem .6rem;
  }

  /* Native Radios ohne Tricks – sichtbar und klickbar */
  body.woocommerce-cart  ul#shipping_method input[type="radio"],
  body.woocommerce-checkout ul#shipping_method input[type="radio"]{
    appearance: auto !important;
    -webkit-appearance: auto !important;
    position: static !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: .2rem .5rem 0 0 !important;
    background-image: none !important;
    border: initial !important;
    border-radius: initial !important;
    transform: none !important;
    accent-color: #111;
  }

  /* Labels dürfen umbrechen, keine Pseudos */
  body.woocommerce-cart  ul#shipping_method label,
  body.woocommerce-checkout ul#shipping_method label{
    white-space: normal !important;
    font-weight: 600;
  }
}


/* === CART & CHECKOUT • +18% Typo-Boost auf allen Breakpoints ============ */

/* Basis: skaliert zwischen ~18–20px je nach Viewport */
body.woocommerce-cart,
body.woocommerce-checkout{
  font-size: clamp(18px, 1.05vw + 14px, 20px) !important;
  line-height: 1.6;
}

/* Produkttitel/Headings */
body.woocommerce-cart .product-name,
body.woocommerce-cart .ct-title,
body.woocommerce-checkout h3{
  font-size: clamp(21px, 1.2vw + 16px, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.35;
}

/* Variations/Optionen */
body.woocommerce-cart .product-name dl.variation,
body.woocommerce-cart .product-name dl.variation *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{
  font-size: clamp(18px, 0.8vw + 15px, 19.5px) !important;
}
body.woocommerce-cart .product-name dl.variation dt{ font-weight:700 !important; }
body.woocommerce-cart .product-name dl.variation dd{ font-weight:600 !important; }

/* Preise & Summen */
body.woocommerce-cart .product-subtotal,
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-cart .cart_totals .order-total strong,
body.woocommerce-checkout .order-total *{
  font-size: clamp(20px, 0.8vw + 16px, 22px) !important;
  font-weight: 800 !important;
}

/* Tabellenzellen allgemein */
body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td,
body.woocommerce-cart table.shop_table td,
body.woocommerce-cart table.shop_table th{
  font-size: clamp(18px, 0.6vw + 14px, 20px) !important;
}

/* Versandmethoden/Labels */
body.woocommerce-cart .woocommerce-shipping-methods label,
body.woocommerce-checkout .woocommerce-shipping-methods label{
  font-size: clamp(18px, 0.7vw + 14px, 19.5px) !important;
  line-height: 1.45;
  font-weight: 600;
}

/* Buttons */
body.woocommerce-cart .button,
body.woocommerce-cart .coupon .button,
body.woocommerce-cart .wc-proceed-to-checkout .button,
body.woocommerce-checkout #place_order{
  font-size: clamp(18px, 0.5vw + 16px, 20px) !important;
  font-weight: 700 !important;
  padding: 14px 18px !important;
}

/* Inputs/Selects/Textareas – größer & fingerfreundlich (verhindert iOS-Zoom) */
body.woocommerce-cart input[type="text"],
body.woocommerce-cart input[type="email"],
body.woocommerce-cart input[type="tel"],
body.woocommerce-cart input[type="number"],
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea{
  font-size: clamp(17px, 0.4vw + 15px, 18.5px) !important;
  min-height: 46px;
  line-height: 1.45;
}

/* Kleinste Geräte leicht kompakter, damit nichts überläuft */
@media (max-width: 360px){
  body.woocommerce-cart,
  body.woocommerce-checkout{ font-size: 18px !important; }
  body.woocommerce-cart .product-name,
  body.woocommerce-cart .ct-title{ font-size: 20px !important; }
}

/* === CART • Produkt-Details/Variationen deutlich größer ================== */
/* Gilt für: "Format:", "Grammatur:", "Datei Upload:", Werte etc. */
body.woocommerce-cart .ct-card .ct-meta,
body.woocommerce-cart .ct-card .ct-meta *,
body.woocommerce-cart td.product-name dl.variation,
body.woocommerce-cart td.product-name dl.variation *,
body.woocommerce-cart .wc-item-meta,
body.woocommerce-cart .wc-item-meta * {
  font-size: clamp(18px, 0.6vw + 14px, 19.5px) !important; /* +~18% */
  line-height: 1.5 !important;
}

/* Labels (dt) kräftiger, Werte (dd) leicht fetter – bessere Lesbarkeit */
body.woocommerce-cart td.product-name dl.variation dt,
body.woocommerce-cart .ct-card .ct-meta dt,
body.woocommerce-cart .wc-item-meta li strong {
  font-weight: 700 !important;
}
body.woocommerce-cart td.product-name dl.variation dd,
body.woocommerce-cart .ct-card .ct-meta dd {
  font-weight: 600 !important;
}

/* "Einzelpreis / Gesamtpreis" im Card-Footer etwas größer */
body.woocommerce-cart .ct-price-info,
body.woocommerce-cart .ct-price-row,
body.woocommerce-cart .ct-price-row strong {
  font-size: clamp(18px, 0.6vw + 14px, 20px) !important;
  line-height: 1.45 !important;
}

/* === Klarna/BNPL Hinweise überall ausblenden ============================ */
/* Stripe Payment Method Message (PMM) Container */
.woocommerce-cart  [id^="payment-method-message"],
.woocommerce-checkout [id^="payment-method-message"],
.woocommerce  .cart_totals [id^="payment-method-message"],
.woocommerce div[id^="payment-method-message"]{
  display:none !important;
}

/* Häufige Klarna-Promo-Selektoren (verschiedene Plugins/Versionen) */
.klarna-credit-promotion,
.klarna-placement,
.klarna-pay-over-time,
.klarna-pay-later-promo,
[data-klarna-container],
#klarna_payments_promo,
#klarna-upstream,
.kco-widget {
  display:none !important;
}

/* Zusätzliche Wrapper, die Stripe/BNPL manchmal setzt */
.wc-bnpl-margin-bottom,
.cart_totals .wc-bnpl-margin-bottom,
.cart_totals .payment-method-message {
  display:none !important;
}

/* === Cart payment logos – add missing mappings ========================== */
/* existing base styles already present:
   .cart-payment-logos .logo { width:44px; height:28px; border-radius:6px;
     background:#f5f5f5 no-repeat center/70% auto; box-shadow:0 1px 2px rgba(0,0,0,.08) inset; } */

.cart-payment-logos .logo.klarna   { background-image:url('/wp-content/themes/alpha-color-child/assets/img/klarna.svg');   background-size:contain; }
.cart-payment-logos .logo.vorkasse { background-image:url('/wp-content/themes/alpha-color-child/assets/img/vorkasse.svg'); background-size:contain; }
.cart-payment-logos .logo.vorort   { background-image:url('/wp-content/themes/alpha-color-child/assets/img/vorort.svg');   background-size:contain; }

/* If you also want Apple/Google Pay (upload applepay.svg / googlepay.svg): */
.cart-payment-logos .logo.applepay { background-image:url('/wp-content/themes/alpha-color-child/assets/img/applepay.svg');  background-size:contain; }
.cart-payment-logos .logo.googlepay{ background-image:url('/wp-content/themes/alpha-color-child/assets/img/googlepay.svg'); background-size:contain; }

/* Checkout: hide WooCommerce Payments' collapsed logo block (+n) */
li.payment_method_woocommerce_payments .payment-methods-logos,
li.payment_method_woocommerce_payments .payment-methods-logos-count{
  display:none !important;
}

/* Our full logo row */
.gateway-logos{ display:inline-flex; gap:.4rem; margin-left:.45rem; vertical-align:middle; }
.gateway-logos img{ height:20px; width:auto; }

/* Allow wrap on very small screens instead of collapsing */
@media (max-width: 420px){
  .gateway-logos{ flex-wrap:wrap; row-gap:.25rem; }
}


/* === CHECKOUT • AGB-Checkbox: 2px schwarz, größer & sauber ausgerichtet === */
/* greift für beide möglichen IDs: #terms (Woo) und #legal (Germanized) */

.woocommerce-checkout label[for="terms"],
.woocommerce-checkout label[for="legal"]{
  position: relative;
  padding-left: 32px !important;       /* Platz für die Box links */
  cursor: pointer;
}

/* sichtbare Box – 2px Schwarz */
.woocommerce-checkout label[for="terms"]::before,
.woocommerce-checkout label[for="legal"]::before{
  content: "";
  position: absolute;
  left: 0;
  top: .2em;                            /* feine vertikale Ausrichtung */
  width: 20px;
  height: 20px;
  border: 2px solid #000 !important;    /* 2px schwarz */
  border-radius: 4px;                   /* leicht abgerundet – optional */
  background: #fff;
  box-shadow: none !important;
}

/* Mobile: minimal größer für besseres Antippen */
@media (max-width: 768px){
  .woocommerce-checkout label[for="terms"]::before,
  .woocommerce-checkout label[for="legal"]::before{
    width: 22px; height: 22px;
  }
  .woocommerce-checkout label[for="terms"],
  .woocommerce-checkout label[for="legal"]{
    padding-left: 34px !important;
  }
}

/* Falls früher ein scale() auf Checkboxen gesetzt wurde: neutralisieren */
.woocommerce-checkout #terms,
.woocommerce-checkout #legal{
  transform: none !important;
}


/* === iOS Sticky/Keyboard Fix ============================================ */

/* 100vh-Fix: überall, wo du 100vh verwendest, kannst du  calc(var(--vh) * 100) nutzen */
:is(.is-ios) .use-dvh, .is-ios .use-dvh {
  height: calc(var(--vh) * 100);
}

/* Vorfahren dürfen Sticky nicht brechen: transform/overflow neutralisieren */
.is-ios .body_wrap,
.is-ios .page_wrap,
.is-ios .page_content_wrap,
.is-ios .content_wrap{
  transform: none !important;
  overflow: visible !important;
}

/* Kandidaten für Sticky im Checkout/Warenkorb */
.is-ios .woocommerce-checkout .woocommerce-checkout-review-order,
.is-ios .woocommerce-checkout .step-buttons,
.is-ios .woocommerce-cart .cart_totals{
  position: sticky;
  position: -webkit-sticky;
  top: 12px;
}

/* Wenn Keyboard offen: Sticky temporär aus -> kein Springen/Flackern */
.is-ios.kb-open .woocommerce-checkout .woocommerce-checkout-review-order,
.is-ios.kb-open .woocommerce-checkout .step-buttons,
.is-ios.kb-open .woocommerce-cart .cart_totals{
  position: static !important;
}

/* iOS-Zoom verhindern (Sicherheit – wir hatten vieles schon erhöht) */
.is-ios .woocommerce-checkout input,
.is-ios .woocommerce-checkout select,
.is-ios .woocommerce-checkout textarea,
.is-ios .woocommerce-cart input,
.is-ios .woocommerce-cart select,
.is-ios .woocommerce-cart textarea{
  font-size: 16px !important;
}

/* === CHECKBOXES — überall 1px schwarze Umrandung ======================= */

/* 1) WAPF / Studio Wombat (Produktoptionen) */
.wapf-checkbox .wapf-custom{
  border: 1px solid #000 !important;      /* Rahmen */
  background: #fff;                        /* neutraler Hintergrund */
}
.wapf-checkbox input[type="checkbox"]:checked + label .wapf-custom{
  border-color: #000 !important;           /* beim Aktivieren nicht ausgrauen */
}

/* 2) WooCommerce-Standard: "Erinnere dich", Newsletter etc.
      (Markup: <label class="woocommerce-form__label-for-checkbox"><input ...><span>Text</span></label>) */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"] + span:before,
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"] + span:before,
.woocommerce form .form-row label.checkbox input[type="checkbox"] + span:before{
  border: 1px solid #000 !important;
  background: #fff !important;
}

/* 3) Germanized / AGB / Widerruf (wir setzten zuvor 2px – jetzt auf 1px vereinheitlicht) */
.woocommerce-checkout label[for="terms"]::before,
.woocommerce-checkout label[for="legal"]::before{
  border: 1px solid #000 !important;
  background: #fff !important;
}

/* 4) Generelle Fallbacks (falls irgendwo native Checkboxen sichtbar sind) */
input[type="checkbox"]{
  accent-color: #111;                      /* Häkchenfarbe */
  /* Hinweis: Browser lassen "border" auf nativen Checkboxen oft nicht zu.
     Deshalb regeln wir die Umrandung oben über die Pseudo-Elemente / .wapf-custom. */
}

/* Optional: Fokuszustand besser sichtbar (Barrierefreiheit) */
label:has(input[type="checkbox"]):focus-within::before,
.wapf-checkbox input[type="checkbox"]:focus + label .wapf-custom{
  outline: 2px solid #54b9fd;              /* Marke / Fokusfarbe */
  outline-offset: 2px;
}



