/* ============================================================
   Lebenskarussell Shop – passt WooCommerce an das Theme an.
   Nutzt die Farben/Schriften des Themes (mit Ersatzwerten,
   falls das Theme einmal gewechselt wird).
   ============================================================ */

.woocommerce, .woocommerce-page {
  --lk-primaer: var(--primaer, #8B6B5A);
  --lk-primaer-dunkel: var(--primaer-dunkel, #75584A);
  --lk-beige: var(--sekundaer, #F4EEE8);
  --lk-akzent: var(--akzent, #D9C8BA);
  --lk-text: var(--text, #2E2925);
  --lk-leise: var(--text-leise, #6B615A);
  --lk-display: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  --lk-body: var(--font-body, 'Manrope', system-ui, sans-serif);
}

/* ---------- Abstand zum festen Kopfbereich ---------- */
.lk-shop-sektion { padding-top: 24px; }
.single-product .lk-shop-sektion { padding-top: 10px; }

/* ---------- Buttons wie im Theme ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce button.button.alt,
.woocommerce a.button.alt, .woocommerce #place_order,
.woocommerce .single_add_to_cart_button {
  font-family: var(--lk-body) !important;
  font-size: 17px !important; font-weight: 600 !important;
  background: var(--lk-primaer) !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important;
  padding: 17px 38px !important; line-height: 1.2 !important;
  box-shadow: 0 4px 14px rgba(139,107,90,.22) !important;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce #place_order:hover, .woocommerce .single_add_to_cart_button:hover {
  background: var(--lk-primaer-dunkel) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(139,107,90,.3) !important;
}
.woocommerce #place_order { width: 100%; margin-top: 8px; }

/* ---------- Produktseite ---------- */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related { grid-column: 1 / -1; }
.single-product .woocommerce-product-gallery img { border-radius: var(--radius-karte, 26px); box-shadow: 0 2px 24px rgba(46,41,37,.06); }
.single-product .product_title { font-family: var(--lk-display); font-size: 64px; font-weight: 400; line-height: 1.1; margin: 0 0 14px; }
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--lk-primaer) !important; font-family: var(--lk-display); font-size: 40px; line-height: 1.2; margin-bottom: 22px;
}
.woocommerce .price .lk-preis-hinweis, .lk-preis-hinweis {
  display: block; font-family: var(--lk-body); font-size: 14px; color: var(--lk-leise); margin-top: 4px;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--lk-text); }
.woocommerce div.product form.cart { margin: 26px 0 0; }
.woocommerce div.product form.cart .quantity { display: none; }

/* Reiter „Beschreibung“ ruhiger */
.woocommerce div.product .woocommerce-tabs { margin-top: 30px; padding-top: 40px; border-top: 1px solid var(--lk-akzent); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-family: var(--lk-display); font-size: 40px; margin-bottom: 18px; }

/* ---------- Kasse ---------- */
.woocommerce-checkout .rechtstext { max-width: 760px; }
.woocommerce-checkout h1 { font-size: 56px; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading {
  font-family: var(--lk-display); font-size: 34px; font-weight: 400; margin: 34px 0 16px;
}
.woocommerce form .form-row label { font-family: var(--lk-body); font-size: 16px; font-weight: 600; color: var(--lk-text); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  font-family: var(--lk-body); font-size: 17px; color: var(--lk-text);
  padding: 14px 18px; border: 1px solid var(--lk-akzent); border-radius: 14px; background: #fff; box-shadow: none;
  min-height: 54px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 14px; right: 12px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row select:focus {
  border-color: var(--lk-primaer); box-shadow: 0 0 0 3px rgba(139,107,90,.12); outline: none;
}
.woocommerce form .form-row .required { color: var(--lk-primaer); text-decoration: none; }
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select { border-color: var(--lk-akzent); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #B5523B; }

/* Bestellübersicht */
.woocommerce table.shop_table { border: 1px solid var(--lk-akzent); border-radius: 18px; overflow: hidden; border-collapse: separate; background: #fff; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 18px; border-color: #EFE6DE; font-size: 17px; }
.woocommerce table.shop_table tfoot .order-total th, .woocommerce table.shop_table tfoot .order-total td { font-size: 19px; color: var(--lk-text); }

/* Zahlungsbereich (statt Lila/Grau) */
.woocommerce-checkout #payment { background: var(--lk-beige); border-radius: 22px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--lk-akzent); padding: 20px 24px; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--lk-text); border-radius: 14px; font-size: 16px; line-height: 1.6; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment div.form-row { padding: 20px 24px 26px; }
.woocommerce-privacy-policy-text { font-size: 14px; color: var(--lk-leise); }

/* Häkchen */
.lk-zustimmung { margin: 6px 0 14px; }
.lk-zustimmung .form-row { margin: 0 0 14px !important; padding: 0 !important; }
.lk-zustimmung label.checkbox { display: flex !important; gap: 12px; flex-wrap: nowrap; align-items: flex-start; font-weight: 400 !important; font-size: 15px !important; line-height: 1.55; color: var(--lk-text); cursor: pointer; }
.lk-zustimmung input[type=checkbox] { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--lk-primaer); }
.lk-zustimmung a { color: var(--lk-primaer); }
.lk-zustimmung abbr.required { display: none; }

/* Hinweise / Fehler */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  border-top: 0 !important; border-left: 4px solid var(--lk-primaer); background: var(--lk-beige) !important; color: var(--lk-text) !important;
  border-radius: 12px; font-size: 16px;
}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { color: var(--lk-primaer) !important; }

/* ---------- Danke-Seite ---------- */
.woocommerce-order .woocommerce-thankyou-order-received { font-size: 20px; }
.woocommerce ul.order_details { background: var(--lk-beige); border-radius: 18px; padding: 20px 24px; margin: 0 0 30px; }
.woocommerce ul.order_details li { border-color: var(--lk-akzent); font-size: 13px; color: var(--lk-leise); }
.woocommerce ul.order_details li strong { font-size: 17px; color: var(--lk-text); }
.lk-danke-zahlung { background: #fff; border: 1px solid var(--lk-akzent); border-radius: 22px; padding: 28px 30px 10px; margin: 0 0 40px; }
.lk-danke-zahlung h2 { font-family: var(--lk-display); font-size: 36px; margin: 0 0 16px; }
.lk-danke-zahlung .lk-zahlung__tabelle { font-size: 17px; }
.woocommerce-order h2 { font-family: var(--lk-display); font-weight: 400; font-size: 34px; }

/* ---------- Handy ---------- */
@media (max-width: 900px) {
  .single-product div.product { grid-template-columns: 1fr; gap: 30px; }
  .single-product .product_title { font-size: 44px; }
  .woocommerce-checkout h1 { font-size: 42px; }
  .woocommerce .single_add_to_cart_button { width: 100%; }
  .lk-danke-zahlung { padding: 22px 18px 6px; }
  .lk-danke-zahlung .lk-zahlung__tabelle td { display: block; padding: 0 !important; }
  .lk-danke-zahlung .lk-zahlung__tabelle tr { display: block; margin-bottom: 10px; }
}
.lk-zustimmung .lk-pflicht { color: var(--lk-primaer); }
.woocommerce-breadcrumb { display: none; }

/* Telefon-/Mail-Knöpfe des Themes auf der Kasse ausblenden – sie würden am Handy den Bestell-Button verdecken */
.woocommerce-checkout .sticky-kontakt { display: none !important; }

/* Gutscheincode */
.woocommerce-form-coupon-toggle .woocommerce-info { background: transparent !important; border: 0 !important; padding: 0 0 0 0 !important; font-size: 15px; color: var(--lk-leise) !important; }
.woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--lk-primaer); }
.woocommerce form.checkout_coupon { border: 1px solid var(--lk-akzent); border-radius: 18px; padding: 18px; background: #fff; }
.woocommerce form.checkout_coupon .form-row-first { width: 62%; }
.woocommerce form.checkout_coupon .form-row-last { width: 35%; }
.woocommerce form.checkout_coupon button.button { padding: 15px 20px !important; width: 100%; }
.woocommerce table.shop_table .cart-discount td, .woocommerce table.shop_table .cart-discount th { color: #5F7A4E; }
@media (max-width: 600px) {
  .woocommerce form.checkout_coupon .form-row-first, .woocommerce form.checkout_coupon .form-row-last { width: 100%; float: none; }
}

/* Cover wie ein Buch zeigen: nicht zu groß, leichte Ecken, sanfter Schatten */
.single-product div.product .woocommerce-product-gallery { max-width: 440px; justify-self: center; }
.single-product .woocommerce-product-gallery img { border-radius: 6px !important; box-shadow: 0 18px 40px rgba(46,41,37,.16), 0 2px 6px rgba(46,41,37,.08) !important; }
@media (max-width: 900px) { .single-product div.product .woocommerce-product-gallery { max-width: 320px; } }

/* AGB und Rücktrittsbelehrung: kleine Schrift (wie üblich bei Rechtstexten) */
.lk-rechtstext-klein .rechtstext { max-width: 820px; }
.lk-rechtstext-klein .rechtstext p, .lk-rechtstext-klein .rechtstext li { font-size: 14px; line-height: 1.6; color: var(--text-leise, #6B615A); margin-bottom: .8em; }
.lk-rechtstext-klein .rechtstext h3 { font-family: var(--font-body, sans-serif); font-size: 15px; font-weight: 700; margin: 1.6em 0 .4em; color: var(--text, #2E2925); }
.lk-rechtstext-klein .rechtstext h1 { font-size: 48px; }
@media (max-width: 600px) { .lk-rechtstext-klein .rechtstext h1 { font-size: 36px; } }

/* Produkttexte */
.lk-aktion { display: block; font-family: var(--lk-body); font-size: 16px; font-weight: 600; color: var(--lk-text); margin-top: 8px; }
.lk-format { font-size: 14px; color: var(--lk-leise); margin: 14px 0 0; }
.woocommerce-product-details__short-description .lk-unterzeile { font-family: var(--lk-display); font-size: 26px; line-height: 1.25; color: var(--lk-primaer); margin-bottom: 18px; }
.woocommerce-product-details__short-description .lk-zitat { font-family: var(--lk-display); font-size: 28px; font-style: italic; line-height: 1.3; margin-bottom: 16px; }
.lk-schlagworte { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--lk-primaer); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs .panel h2.lk-zitat-gross { font-style: italic; font-size: 38px; line-height: 1.25; }
.lk-haken { list-style: none; padding: 0; margin: 18px 0 22px; }
.lk-haken li { padding-left: 34px; position: relative; margin-bottom: 10px; font-size: 19px; }
.lk-haken li::before { content: "✔"; position: absolute; left: 0; color: var(--lk-primaer); font-weight: 700; }
.lk-genickt { font-weight: 700; font-size: 20px; }
.lk-hinweis-klein { font-size: 13px; color: var(--lk-leise); margin-top: 26px; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child:not(.lk-zitat-gross) { display: none; }

/* Verkaufstexte */
.lk-unterzeile { font-family: var(--lk-display); font-size: 26px; line-height: 1.3; color: var(--lk-text); margin-bottom: 18px; }
.lk-zitat { font-family: var(--lk-display); font-style: italic; font-size: 24px; line-height: 1.35; color: var(--lk-primaer); margin: 0 0 14px; }
.lk-stichworte { font-size: 15px; letter-spacing: .04em; color: var(--lk-leise); margin: 6px 0 14px; }
.lk-aktion { font-size: 17px; margin: 0 0 6px; }
.lk-haken { list-style: none; padding: 0; margin: 0 0 18px; }
.lk-haken li { padding-left: 32px; position: relative; margin-bottom: 8px; }
.lk-haken li::before { content: "✔"; position: absolute; left: 0; color: var(--lk-primaer); font-weight: 700; }
.woocommerce div.product .woocommerce-tabs .panel .lk-zitat { font-size: 34px; margin-bottom: 8px; }
.lk-fett { font-weight: 700; font-size: 20px; }
