/* G-STOFF Theme · WooCommerce-Elemente im Look des Entwurfs
   (Warenkorb, Kasse, Konto, Hinweise, Formulare, Variantenwahl).
   WooCommerce-eigene Stile sind abgeschaltet, alles steht hier. */

/* ---------- Seitenrahmen ---------- */
.seitenkopf.klein{padding-bottom:24px}
.seitenkopf.klein h1{font-size:clamp(80px,12vw,180px)}
.woo-seite{padding-bottom:10px}
.textseite{max-width:860px}
.textseite h2{font-family:var(--display);font-size:clamp(40px,5vw,56px);margin:56px 0 14px;padding-top:18px;border-top:3px solid var(--gelb);line-height:.95}
.textseite h3{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--gelb);margin:30px 0 8px}
.textseite p,.textseite li{color:var(--text)}
.textseite a{color:var(--gelb)}
.textseite ul,.textseite ol{padding-left:22px}
.textseite hr{border:0;border-top:1px solid var(--linie);margin:40px 0}
.textseite .erecht24-trenner{margin-top:60px}

/* ---------- Knöpfe aus WooCommerce ---------- */
.woocommerce .button:not(.ccm-root *),.woocommerce button.button:not(.ccm-root *),.woocommerce input.button:not(.ccm-root *),.woocommerce a.button:not(.ccm-root *),
.wc-block-components-button,#place_order,.checkout-button,.single_add_to_cart_button,.woocommerce-form-login__submit,.woocommerce-Button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;border:0;cursor:pointer;text-decoration:none;
  font-family:var(--display);font-size:22px;letter-spacing:.04em;line-height:1;padding:16px 24px 13px;
  background:var(--gelb);color:var(--schwarz);border-radius:0;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  transition:transform .25s var(--ease),background .2s}
.woocommerce .button:not(.ccm-root *):hover,#place_order:hover,.checkout-button:hover,.single_add_to_cart_button:hover{background:#fff;transform:translate(-2px,-2px)}
.woocommerce .button:not(.ccm-root *):disabled,.woocommerce .button.disabled:not(.ccm-root *){opacity:.45;cursor:not-allowed;transform:none}
#place_order{width:100%;font-size:28px;padding:20px 24px 16px;background:var(--schwarz);color:var(--gelb)}
#place_order:hover{background:#262626}
.checkout-button{width:100%;font-size:26px}

/* ---------- Hinweise ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  list-style:none;margin:0 0 20px;padding:14px 18px;border:2px solid var(--gelb);background:rgba(237,255,0,.07);color:var(--text);font-size:15px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.woocommerce-error{border-color:#FF5470;background:rgba(255,84,112,.08)}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button{font-size:18px;padding:10px 14px 8px}
.woocommerce-info a,.woocommerce-message a:not(.button){color:var(--gelb)}

/* ---------- Formulare ---------- */
.woocommerce form .form-row,.woocommerce-page form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:0}
.woocommerce form .form-row label,.feld label,.woocommerce form label{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.woocommerce form .form-row .required{color:var(--gelb);text-decoration:none;border:0}
.woocommerce form .form-row .optional{color:var(--text-2);font-weight:400;text-transform:none;letter-spacing:.02em}
.woocommerce input.input-text,.woocommerce textarea:not(.ccm-root *),.woocommerce select:not(.ccm-root *),.woocommerce form .form-row input.input-text,.feld input,.feld select,.feld textarea,
.select2-container--default .select2-selection--single{
  width:100%;min-height:52px;padding:12px 14px;background:var(--kohle);border:2px solid #3A3A3A;color:var(--text);border-radius:0;font-size:16px;font-family:var(--sans)}
.woocommerce textarea,.feld textarea{min-height:120px}
.woocommerce input.input-text:focus,.woocommerce textarea:not(.ccm-root *):focus,.woocommerce select:not(.ccm-root *):focus,.feld input:focus,.feld select:focus,.feld textarea:focus{border-color:var(--gelb);outline:none;box-shadow:0 0 0 3px rgba(237,255,0,.25)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#FF5470}
.select2-container--default .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);padding:0;line-height:1.4}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px;right:8px}
.select2-dropdown{background:var(--kohle);border:2px solid var(--gelb);color:var(--text);border-radius:0}
.select2-search--dropdown .select2-search__field{background:var(--schwarz);color:var(--text);border:1px solid var(--linie)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--gelb);color:var(--schwarz)}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);display:inline-flex}
.woocommerce form .form-row-first{margin-right:16px}
.woocommerce input[type=checkbox]:not(.ccm-root *),.woocommerce input[type=radio]:not(.ccm-root *){accent-color:var(--gelb);width:20px;height:20px;flex:none}
.woocommerce form .form-row label.checkbox,.woocommerce-form__label-for-checkbox{display:flex!important;flex-direction:row!important;gap:12px;align-items:flex-start;text-transform:none!important;font-family:var(--sans)!important;font-size:15px!important;letter-spacing:0!important;font-weight:400!important;line-height:1.5}

/* ---------- Mengenfeld ---------- */
.woocommerce .quantity .qty{width:84px;min-height:52px;text-align:center;background:var(--kohle);border:2px solid var(--text);color:var(--text);font-family:var(--mono);font-size:18px;font-weight:600}

/* ---------- Warenkorb-Seite ---------- */
.woocommerce-cart-form{margin-bottom:30px}
table.shop_table{width:100%;border-collapse:collapse;font-size:16px;border:2px solid var(--linie)}
table.shop_table th{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:14px;background:var(--graphit);color:var(--text-2)}
table.shop_table td{padding:16px 14px;border-top:1px solid var(--linie);vertical-align:middle}
table.shop_table td.product-thumbnail img{width:70px;height:auto;background:var(--graphit)}
table.shop_table td.product-name a{color:var(--text);font-weight:700;text-decoration:none}
table.shop_table a.remove{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--linie);color:var(--text)!important;text-decoration:none;font-size:20px}
table.shop_table a.remove:hover{border-color:#FF5470;color:#FF5470!important}
table.shop_table td.actions{text-align:right}
table.shop_table td.actions .coupon{display:inline-flex;gap:8px;float:left}
table.shop_table td.actions .coupon .input-text{width:200px;min-height:48px}
.cart-collaterals{display:grid;grid-template-columns:1fr minmax(320px,440px);gap:30px}
.cart_totals{grid-column:2;background:var(--papier);color:var(--tinte);border:3px solid var(--tinte);padding:0 0 20px}
.cart_totals h2{font-family:var(--display);font-size:34px;margin:0 0 10px;padding:16px 20px;background:var(--schwarz);color:var(--gelb);border-bottom:8px solid transparent;border-image:var(--streifen) 8}
.cart_totals table{width:calc(100% - 40px);margin:0 20px;border:0}
.cart_totals table th,.cart_totals table td{background:none;color:var(--tinte);border-top:1px solid #CFCBBE;padding:10px 0;font-family:var(--sans);font-size:15px;text-transform:none;letter-spacing:0}
.cart_totals .order-total th,.cart_totals .order-total td{font-weight:800;font-size:19px;border-top:2px solid var(--tinte)}
.cart_totals .wc-proceed-to-checkout{padding:10px 20px 0}
.cart_totals .checkout-button{background:var(--schwarz);color:var(--gelb)}
.cart_totals .woocommerce-shipping-destination,.cart_totals .shipping-calculator-button{font-size:13px;color:#55554E}
.cart_totals a{color:var(--tinte)}
.cross-sells{display:none}

/* ---------- Kasse ---------- */
form.checkout{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
form.checkout > .woocommerce-NoticeGroup{grid-column:1/-1}
#customer_details{display:block}
#customer_details .col-1,#customer_details .col-2{width:auto;float:none;border:2px solid var(--linie);padding:clamp(20px,3vw,32px);margin-bottom:18px}
#customer_details h3,#order_review_heading{font-family:var(--display);font-size:40px;margin:0 0 18px;font-weight:400;text-transform:uppercase;line-height:.95}
#order_review_heading{display:none}
#order_review{position:sticky;top:96px;background:var(--papier);color:var(--tinte);border:3px solid var(--tinte)}
#order_review::before{content:"Deine Bestellung";display:block;background:var(--schwarz);color:var(--gelb);padding:16px 20px;font-family:var(--display);font-size:34px;border-bottom:8px solid transparent;border-image:var(--streifen) 8}
#order_review table.shop_table{border:0;margin:10px 20px;width:calc(100% - 40px)}
#order_review table.shop_table th,#order_review table.shop_table td{background:none;color:var(--tinte);border-top:1px solid #CFCBBE;font-family:var(--sans);font-size:15px;text-transform:none;letter-spacing:0;padding:10px 0}
#order_review table.shop_table thead{display:none}
#order_review .order-total th,#order_review .order-total td{font-weight:800;font-size:19px;border-top:2px solid var(--tinte)}
#order_review .woocommerce-shipping-methods{list-style:none;padding:0;margin:0}
#order_review .woocommerce-shipping-methods li{display:flex;gap:8px;align-items:center}
#payment{padding:0 20px 22px}
#payment ul.payment_methods{list-style:none;padding:0;margin:14px 0;display:grid;gap:8px}
#payment ul.payment_methods li{border:2px solid #B7B4A8;padding:14px 16px;background:#fff}
#payment ul.payment_methods li:has(input:checked){border-color:var(--tinte);box-shadow:inset 0 0 0 1px var(--tinte)}
#payment ul.payment_methods li label{font-family:var(--sans);font-weight:700;font-size:16px;text-transform:none;letter-spacing:0;color:var(--tinte);margin-left:8px}
#payment ul.payment_methods li img{display:inline-block;max-height:22px;margin-left:8px;vertical-align:middle}
#payment .payment_box{font-size:14px;color:#44443E;padding:8px 0 0}
#payment .payment_box p{margin:0}
#payment .form-row.place-order{margin-top:16px}
#payment .woocommerce-terms-and-conditions-wrapper,#payment .woocommerce-privacy-policy-text{font-size:13.5px;color:#44443E}
#payment .woocommerce-privacy-policy-text a,#payment .woocommerce-terms-and-conditions-wrapper a{color:var(--tinte)}
#payment .woocommerce-form__label-for-checkbox{color:var(--tinte)}
/* Pflicht-Sternchen auf dem hellen Bestellkasten: Gelb ist dort kaum lesbar. */
#order_review .required,.cart_totals .required{color:var(--tinte)}
#payment input[type=checkbox],#payment input[type=radio]{accent-color:var(--tinte)}
.gstoff-haken{display:grid;gap:12px;margin:8px 0 6px}
.gstoff-haken .pf{color:var(--rot-tief);font-weight:700}
.gstoff-haken small{display:block;color:#55554E;font-size:12.5px;margin-top:2px}
.woocommerce-checkout #customer_details .gstoff-haken .pf{color:var(--gelb)}
.woocommerce-checkout #customer_details .gstoff-haken small{color:var(--text-2)}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{border-style:dashed}

/* ---------- Danke-Seite, Konto ---------- */
.woocommerce-order-overview{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--linie);border:1px solid var(--linie);margin:0 0 30px}
.woocommerce-order-overview li{background:var(--schwarz);padding:18px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.woocommerce-order-overview li strong{display:block;font-family:var(--display);font-size:30px;color:var(--gelb);letter-spacing:.02em;margin-top:4px;font-weight:400}
.woocommerce-thankyou-order-received{font-family:var(--display);font-size:clamp(40px,6vw,72px);line-height:.95;color:var(--gelb);text-transform:uppercase}
.woocommerce-customer-details address{font-style:normal;border:2px solid var(--linie);padding:18px}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:40px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;border:2px solid var(--linie);text-decoration:none;font-family:var(--display);font-size:22px;letter-spacing:.04em}
.woocommerce-MyAccount-navigation .is-active a{background:var(--gelb);color:var(--schwarz);border-color:var(--gelb)}
.woocommerce-MyAccount-content a{color:var(--gelb)}
.woocommerce-form-login,.woocommerce-form-register{border:2px solid var(--linie);padding:clamp(20px,3vw,32px);max-width:560px}

/* ---------- Variantenwahl (Gutschein) ---------- */
.woo-kaufform table.variations{width:100%;border-collapse:collapse;margin-bottom:14px}
.woo-kaufform table.variations th,.woo-kaufform table.variations td{display:block;padding:0;text-align:left}
.woo-kaufform table.variations th label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.woo-kaufform table.variations select{margin-top:8px}
.woo-kaufform .reset_variations{display:inline-block;margin-top:8px;font-size:13px;color:var(--text-2)}
.woo-kaufform .woocommerce-variation-price{font-family:var(--display);font-size:48px;margin:10px 0}
.woo-kaufform .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.woo-kaufform .single_add_to_cart_button{flex:1;min-width:220px}
.woo-kaufform .woocommerce-variation-description p{margin:0 0 10px;color:var(--text-2)}

/* ---------- Bewertungsformular ---------- */
.bewertung-form{margin-top:30px}
.bewertung-form summary{list-style:none;cursor:pointer}
.bewertung-form summary::-webkit-details-marker{display:none}
.bewertung-form[open] summary{margin-bottom:18px}
.bewertung-form .comment-form{display:grid;gap:14px;max-width:640px;border:2px solid var(--linie);padding:24px}
.bewertung-form .comment-form-cookies-consent{display:none}
.star-rating,.woocommerce-product-rating .star-rating{display:none}

/* ---------- Kleinkram ---------- */
.woocommerce-pagination ul{list-style:none;display:flex;gap:6px;padding:0;margin:30px 0 0}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:44px;height:44px;border:2px solid var(--linie);text-decoration:none;font-family:var(--mono)}
.woocommerce-pagination .current{background:var(--gelb);color:var(--schwarz);border-color:var(--gelb)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.onsale{display:none}
.woocommerce-breadcrumb a,.brotkrumen a{color:var(--text-2)}

@media (max-width:860px){
  form.checkout,.cart-collaterals,.woocommerce-account .woocommerce{grid-template-columns:1fr}
  .cart_totals{grid-column:1}
  #order_review{position:relative;top:0}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;margin-right:0}
  table.shop_table_responsive thead{display:none}
  table.shop_table_responsive tr{display:grid;grid-template-columns:70px 1fr;gap:4px 14px;padding:14px;border-top:1px solid var(--linie)}
  table.shop_table_responsive td{border:0;padding:2px 0}
  table.shop_table_responsive td.product-remove{grid-column:2;justify-self:end}
  table.shop_table_responsive td.product-thumbnail{grid-row:span 4}
  table.shop_table_responsive td::before{content:attr(data-title) ": ";font-family:var(--mono);font-size:11px;color:var(--text-2);text-transform:uppercase}
  table.shop_table_responsive td.product-remove::before,table.shop_table_responsive td.product-thumbnail::before,table.shop_table_responsive td.product-name::before{display:none}
  table.shop_table td.actions{grid-column:1/-1;text-align:left}
  table.shop_table td.actions .coupon{float:none;display:flex;margin-bottom:10px}
}

/* ---------- German Market und WooCommerce-Haken ----------
   Preis, Steuerhinweis, Grundpreis, Versandlink und Lieferzeit kommen aus
   German Market. Hier bekommen sie den Look des Entwurfs: große Zahl, darunter
   eine Mono-Zeile mit Punkten als Trenner. Die Größe der Zahl steuert --gross. */
.preis.gm,.kauf-haken .legacy-itemprop-offers{display:block;font-family:var(--mono);font-size:11.5px;font-weight:400;line-height:1.55;letter-spacing:.05em;text-transform:none;--gross:54px}
.etikett .preis.gm{--gross:42px}
.kauf-haken .legacy-itemprop-offers{font-size:12.5px;--gross:72px}
.preis.gm .price,.kauf-haken p.price{display:block;margin:0 0 7px;font-family:var(--display);font-size:var(--gross);line-height:.9;letter-spacing:.01em;color:inherit}
.preis.gm .price del,.kauf-haken .price del{font-size:.55em;opacity:.55;margin-right:.25em}
.preis.gm .price ins,.kauf-haken .price ins{text-decoration:none}
.preis.gm .wgm-info,.kauf-haken .legacy-itemprop-offers .wgm-info{display:inline;opacity:.85}
.preis.gm .wgm-info:empty,.kauf-haken .wgm-info:empty{display:none}
.preis.gm small,.kauf-haken .wgm-info small{display:inline;margin:0;font-size:inherit;opacity:1;letter-spacing:inherit}
.preis.gm .wgm-info a,.kauf-haken .wgm-info a{color:inherit}
.preis.gm .wgm-info:not(:empty) ~ .wgm-info:not(:empty)::before,
.kauf-haken .legacy-itemprop-offers .wgm-info:not(:empty) ~ .wgm-info:not(:empty)::before{content:" · "}
.preis.gm .button,.preis.gm .add_to_cart_button,.preis.gm .star-rating{display:none}
.preis.gm .wgm-sale-label,.kauf-haken .wgm-sale-label{display:inline-block;background:var(--rot);color:#fff;font-family:var(--mono);font-size:11px;padding:2px 6px;margin-left:8px;vertical-align:middle}
.stoff .preis.gm{max-width:340px}

/* Produktseite: Kaufbereich aus dem Haken */
.kauf-haken .woocommerce-product-details__short-description{margin:24px 0;font-size:18px}
.kauf-haken .woocommerce-product-details__short-description p:last-child{margin-bottom:0}
.kauf-haken form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin:0}
.kauf-haken form.cart .quantity{display:inline-flex;align-items:stretch;border:2px solid var(--text);margin:0}
.kauf-haken form.cart .quantity .qty{width:50px;min-height:0;border:0;background:none;color:var(--text);font-size:18px;padding:0;-moz-appearance:textfield}
.kauf-haken form.cart .quantity .qty::-webkit-inner-spin-button,.kauf-haken form.cart .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kauf-haken .menge-knopf{width:48px;border:0;background:none;cursor:pointer;font-weight:700;font-size:17px;color:var(--text)}
.kauf-haken form.cart .single_add_to_cart_button{flex:1;min-width:220px;font-size:24px;padding:17px 26px 14px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.kauf-haken form.cart .single_add_to_cart_button::before{content:"";width:20px;height:20px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='square'%3E%3Cpath d='M3 5h3l2.2 10.2h10.3L21 8H7'/%3E%3Ccircle cx='10' cy='19.5' r='1.4' fill='black'/%3E%3Ccircle cx='17' cy='19.5' r='1.4' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='square'%3E%3Cpath d='M3 5h3l2.2 10.2h10.3L21 8H7'/%3E%3Ccircle cx='10' cy='19.5' r='1.4' fill='black'/%3E%3Ccircle cx='17' cy='19.5' r='1.4' fill='black'/%3E%3C/svg%3E") center/contain no-repeat}
.kauf-haken form.cart .single_add_to_cart_button[aria-busy=true]{opacity:.6}
.kauf-haken .stock{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--text-2);margin:0 0 12px}
.kauf-haken .stock.out-of-stock{color:#FF5470}
.kauf-haken table.variations{width:100%;border-collapse:collapse;margin-bottom:14px}
.kauf-haken table.variations th,.kauf-haken table.variations td{display:block;padding:0;text-align:left}
.kauf-haken table.variations th label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.kauf-haken table.variations select{margin-top:8px}
.kauf-haken .reset_variations{display:inline-block;margin-top:8px;font-size:13px;color:var(--text-2)}
.kauf-haken .single_variation_wrap{width:100%}
.kauf-haken .woocommerce-variation-price{font-family:var(--display);font-size:48px;margin:10px 0}
.kauf-haken .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.kauf-haken .woocommerce-variation-description p{margin:0 0 10px;color:var(--text-2)}
.kauf-haken .ppc-button-wrapper{margin-top:12px;max-width:100%}
.kauf-haken .ppc-button-wrapper:empty{display:none}
.kauf-haken .german-market-summary-gpsr:empty,.kauf-haken > small:empty,.kauf-haken > span:empty{display:none}
.kauf-haken .german-market-summary-gpsr{display:block;margin-top:14px;font-size:13px;color:var(--text-2)}
.kauf-haken .woo-vou-preview-pdf-wrap a{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gelb)}
.kaufbox .product_meta{display:none}
.etikett .unten .preis.gm{flex:1 1 auto;min-width:0}
.etikett .unten .knopf{flex:none;white-space:nowrap}
.bundle-leiste .rechts .preis.gm{max-width:340px}
