/* Carina Hellmich – Shop (Warenkorb, Kasse, Konto, Produkt, Rechtstexte) im CH-Design.
   Server: uploads/carina-hellmich/shop.css · Projekt: carina-website/wp-build/sections/shop-anpassungen.css
   Geladen vom MU-Plugin carina-hellmich-shop.php nur auf Seiten mit body.ch-shop. Stand 16.10.2026. */

body.ch-shop {
  --chs-accent: #B729B5; --chs-accent-hover: #9C2299; --chs-accent-press: #811C7F;
  --chs-ink: #111111; --chs-body: #222222; --chs-muted: #625E5A; --chs-line: #C9C4BF;
  --chs-canvas: #F2F0EE; --chs-paper: #FAF9F7; --chs-raised: #EAE7E4; --chs-tint: #F6E7F5;
  --chs-serif: 'Newsreader', 'Times New Roman', serif;
  --chs-sans: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  --wd-primary-color: var(--chs-accent);
  --btn-accented-bgcolor: var(--chs-accent);
  --btn-accented-bgcolor-hover: var(--chs-accent-hover);
  --btn-accented-color: #fff;
  --wd-link-color: var(--chs-accent-hover);
  --wd-link-color-hover: var(--chs-accent-press);
  --wd-title-font: var(--chs-serif);
  --wd-entities-title-font: var(--chs-serif);
  --wd-text-font: var(--chs-sans);
  --wd-title-color: var(--chs-ink);
  --wd-text-color: var(--chs-body);
  --notices-success-bg: var(--chs-ink);
  --notices-warning-bg: #8F3A26;
  --wd-form-brd-radius: 2px;
  --wd-form-brd-color: var(--chs-line);
  --wd-form-brd-color-focus: var(--chs-accent);
  --wd-form-color: var(--chs-ink);
  --btn-accented-brd-radius: 2px;
  --btn-default-brd-radius: 2px;
  font-family: var(--chs-sans);
  color: var(--chs-body);
  font-size: 16px;
}
body.ch-shop .wd-page-content { background: var(--chs-canvas); }

/* Seitentitel / Schritte Warenkorb → Kasse → Abgeschlossen */
body.ch-shop .page-title { background: var(--chs-raised) !important; background-image: none !important; padding: 2.4rem 0 2.1rem; }
body.ch-shop .page-title .entry-title,
body.ch-shop .page-title .title { color: var(--chs-ink); font-family: var(--chs-serif); font-weight: 400; letter-spacing: -0.01em; text-transform: none; }
body.ch-shop .wd-checkout-steps li,
body.ch-shop .wd-checkout-steps a { font-family: var(--chs-sans); font-size: 14px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--chs-muted); }
body.ch-shop .wd-checkout-steps li.step-active,
body.ch-shop .wd-checkout-steps li.step-active a,
body.ch-shop .wd-checkout-steps a:hover { color: var(--chs-ink); }
body.ch-shop .wd-checkout-steps li.step-active > * { border-color: var(--chs-accent) !important; }
body.ch-shop .wd-checkout-steps li:after { color: var(--chs-line); }

/* Überschriften und Texte */
body.ch-shop :is(h1, h2, h3, h4, .title, legend) { font-family: var(--chs-serif); font-weight: 400; color: var(--chs-ink); letter-spacing: -0.01em; text-transform: none; }
body.ch-shop .woocommerce-billing-fields > h3,
body.ch-shop .woocommerce-additional-fields > h3,
body.ch-shop #order_review_heading,
body.ch-shop #order_payment_heading,
body.ch-shop .cart-totals-inner > h2 { font-size: 30px; line-height: 1.2; text-transform: none; }
body.ch-shop #order_review_heading,
body.ch-shop #order_payment_heading { text-align: left; }
body.ch-shop :is(p, li, td, th, label, .woocommerce-info) { font-family: var(--chs-sans); }
body.ch-shop a { color: var(--chs-accent-hover); }
body.ch-shop a:hover { color: var(--chs-accent-press); }
body.ch-shop label { color: var(--chs-ink); font-size: 14px; font-weight: 500; }
body.ch-shop .required { color: var(--chs-accent-hover); }
body.ch-shop .optional { color: var(--chs-muted); }

/* Hinweise (hinzugefügt / Login / Gutschein) */
body.ch-shop .woocommerce-message,
body.ch-shop .woocommerce-notices-wrapper .woocommerce-info { background: var(--chs-paper); color: var(--chs-ink); border-left: 3px solid var(--chs-accent); font-size: 15px; }
body.ch-shop .woocommerce-message:before,
body.ch-shop .woocommerce-notices-wrapper .woocommerce-info:before { color: var(--chs-accent); }
body.ch-shop .woocommerce-message a,
body.ch-shop .woocommerce-message .button { color: var(--chs-accent-hover) !important; background: transparent !important; border: 0 !important; padding: 0 !important; min-height: 0; box-shadow: none !important; text-decoration: underline; text-underline-offset: 3px; }
body.ch-shop .woocommerce-error { border-left: 3px solid #8F3A26; font-family: var(--chs-sans); }
body.ch-shop .woocommerce-form-login-toggle .woocommerce-info,
body.ch-shop .woocommerce-form-coupon-toggle .woocommerce-info { color: var(--chs-body); font-size: 15px; }

/* Formularfelder */
body.ch-shop :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select, .select2-container .select2-selection) {
  background: #fff; border: 1px solid var(--chs-line); border-radius: 2px; color: var(--chs-ink); font-family: var(--chs-sans); font-size: 16px; }
body.ch-shop :is(input, textarea)::placeholder { color: var(--chs-muted); opacity: 1; }
body.ch-shop :is(input, textarea, select):focus { border-color: var(--chs-accent); outline: none; box-shadow: 0 0 0 3px rgba(183, 41, 181, 0.18); }
body.ch-shop input[type="checkbox"], body.ch-shop input[type="radio"] { accent-color: var(--chs-accent); }

/* Buttons */
body.ch-shop :is(.button, button.button, .btn, input[type="submit"]) {
  font-family: var(--chs-sans); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 2px; }
body.ch-shop :is(#place_order, .checkout-button, .single_add_to_cart_button, .button.alt, .wc-proceed-to-checkout .button) {
  background: var(--chs-accent) !important; color: #fff !important; border: 1.5px solid var(--chs-accent) !important;
  font-size: 15px; padding: 1.05rem 2rem; min-height: 56px; box-shadow: none !important; transition: background .24s ease; }
body.ch-shop :is(#place_order, .checkout-button, .single_add_to_cart_button, .button.alt):hover { background: var(--chs-accent-hover) !important; border-color: var(--chs-accent-hover) !important; }
body.ch-shop .button:not(.alt):not(#place_order):not(.checkout-button) { background: transparent; color: var(--chs-ink); border: 1.5px solid var(--chs-ink); }
body.ch-shop .button:not(.alt):not(#place_order):not(.checkout-button):hover { background: var(--chs-ink); color: var(--chs-canvas); }

/* Bestellübersicht (rechte Spalte) – ohne Zackenrand */
body.ch-shop .checkout-order-review { background: var(--chs-paper); border: 1px solid var(--chs-line); box-shadow: none; }
body.ch-shop .checkout-order-review:before, body.ch-shop .checkout-order-review:after { display: none !important; }
body.ch-shop .checkout-order-review .wd-table-wrapper,
body.ch-shop .woocommerce-checkout-review-order-table,
body.ch-shop .cart-totals-inner,
body.ch-shop .shop_table { background: transparent; box-shadow: none; }
body.ch-shop .shop_table :is(th, td) { color: var(--chs-body); border-color: var(--chs-line); font-size: 15px; }
body.ch-shop .shop_table thead th { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--chs-muted); }
body.ch-shop .shop_table .amount { color: var(--chs-ink); font-weight: 500; }
body.ch-shop .shop_table .order-total :is(th, .amount) { font-family: var(--chs-serif); font-size: 26px; font-weight: 400; color: var(--chs-ink); }
body.ch-shop .shop_table .product-name { color: var(--chs-ink); }
body.ch-shop :is(.wc-gzd-cart-item-thumbnail, .product-thumbnail, .wd-checkout-prod-img) img { object-fit: contain; background: #fff; border: 1px solid var(--chs-raised); padding: 4px; }
body.ch-shop .wc-gzd-cart-info, body.ch-shop .wc-gzd-additional-info, body.ch-shop .tax-rate, body.ch-shop small.includes_tax { color: var(--chs-muted); font-size: 13px; }

/* Zahlungsarten */
body.ch-shop .wc_payment_methods { border: 0; }
body.ch-shop .wc_payment_method > label { color: var(--chs-ink); font-size: 16px; font-weight: 600; }
body.ch-shop .payment_box { background: var(--chs-raised) !important; color: var(--chs-body); font-size: 15px; border-radius: 2px; }
body.ch-shop .payment_box:before { border-bottom-color: var(--chs-raised) !important; }

/* Rechtliche Checkbox (Germanized) */
body.ch-shop .checkbox-legal,
body.ch-shop .wc-gzd-checkbox-placeholder .form-row { border: 0 !important; background: transparent; padding: 0; }
body.ch-shop .checkbox-legal,
body.ch-shop .wc-gzd-checkbox-placeholder { background: transparent !important; }
body.ch-shop .checkbox-legal label abbr.required,
body.ch-shop .checkbox-legal label .required { display: none; }
body.ch-shop .checkbox-legal label { font-size: 14px; font-weight: 400; line-height: 1.55; color: var(--chs-body); }
body.ch-shop .woocommerce-invalid .checkbox-legal label,
body.ch-shop .checkbox-legal.woocommerce-invalid label { color: #8F3A26; }

/* Danke-Seite */
body.ch-shop .woocommerce-thankyou-order-received { font-family: var(--chs-serif); font-size: 30px; font-weight: 400; line-height: 1.2; color: var(--chs-ink); text-align: left; border: 0 !important; border-left: 3px solid var(--chs-accent) !important; background: var(--chs-paper); padding: 1.2rem 1.4rem; }
body.ch-shop .woocommerce-order-overview { background: var(--chs-paper); border: 1px solid var(--chs-line); }
body.ch-shop .woocommerce-order-overview li strong { font-family: var(--chs-serif); font-weight: 400; color: var(--chs-ink); }

/* Button „Vertrag widerrufen“ (Germanized, unter dem Footer) – dezent */
body .eu-owb-order-withdraw-from-contract-button { margin: 0; padding: 0 0 18px; }
body .eu-owb-order-withdraw-from-contract-button a.button { background: transparent !important; color: #625E5A !important; border: 0 !important;
  font-family: 'Hanken Grotesk', system-ui, sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 8px; min-height: 0; }
body .eu-owb-order-withdraw-from-contract-button a.button:hover { color: #111111 !important; text-decoration: underline; }

@media (max-width: 767px) {
  body.ch-shop .page-title { padding: 1.6rem 0 1.4rem; }
  body.ch-shop .wd-checkout-steps li, body.ch-shop .wd-checkout-steps a { font-size: 12px; letter-spacing: 0.1em; }
  body.ch-shop .woocommerce-billing-fields > h3, body.ch-shop #order_review_heading, body.ch-shop #order_payment_heading { font-size: 26px; }
}

/* Produktseite: Shop-Extras ausblenden (kein Versand, kein Vergleich, keine Kategorie) */
body.ch-shop.single-product :is(.wd-compare-btn, .product_meta, .wd-social-icons, .product-share, .wd-product-nav, #tab-title-wd_additional_tab, #tab-wd_additional_tab, .wd-single-breadcrumbs .woocommerce-breadcrumb a[href*="product-category"]) { display: none !important; }
body.ch-shop.single-product .product_title { font-size: clamp(32px, 3vw, 46px); line-height: 1.15; }
body.ch-shop.single-product .summary .price { color: var(--chs-ink); font-family: var(--chs-serif); font-weight: 400; font-size: 30px; }

/* 17.10.2026: Hinweis „kannst keinen weiteren … hinzufügen“ ruhig statt rot; Shop-Kategorien im Seitentitel lesbar */
body.ch-shop .woocommerce-error { background: var(--chs-paper) !important; color: var(--chs-ink) !important; border-left: 3px solid var(--chs-accent); font-size: 15px; }
body.ch-shop .woocommerce-error:before { color: var(--chs-accent) !important; }
body.ch-shop .woocommerce-error a, body.ch-shop .woocommerce-error .button { color: var(--chs-accent-hover) !important; background: transparent !important; border: 0 !important; padding: 0 !important; min-height: 0; box-shadow: none !important; text-decoration: underline; text-underline-offset: 3px; }
body.ch-shop .page-title .wd-nav-product-cat a,
body.ch-shop .page-title .wd-nav-product-cat .nav-link-text,
body.ch-shop .page-title .wd-nav-product-cat .nav-link-count { color: var(--chs-muted) !important; }
body.ch-shop .page-title .wd-nav-product-cat .wd-active a,
body.ch-shop .page-title .wd-nav-product-cat a:hover { color: var(--chs-ink) !important; }

/* 27.10.2026 (Wunsch Marc): PayPal-Kartenzahlung nur Logos Visa, Mastercard, American Express. PayPal Payments 4.x hat
   dafür keine Einstellung (Icons fest im Plugin, ohne Filter) – daher per CSS über das title-Attribut. */
body.ch-shop .payment_method_ppcp-credit-card-gateway .ppcp-card-icon:not([title="Visa"]):not([title="Mastercard"]):not([title="American Express"]) { display: none !important; }

/* 27.10.2026 (Wunsch Marc): AGB-Checkbox gerahmt – leichter purpurner, abgerundeter Rahmen, damit sie nicht übersehen wird. */
body.ch-shop .wc-gzd-checkbox-placeholder-legal { border: 1.5px solid rgba(183, 41, 181, 0.55) !important; border-radius: 10px; background: #fff !important; padding: 14px 16px; margin: 4px 0 18px; }
body.ch-shop .wc-gzd-checkbox-placeholder-legal .checkbox-legal { margin: 0 !important; }
body.ch-shop .wc-gzd-checkbox-placeholder-legal:has(.woocommerce-invalid) { border-color: #8F3A26 !important; }
