/* Elterngeld-Dschungel: Look der Landingpage fuer Warenkorb, Kasse, Mein Konto und die Rechtsseiten.
   Nur CSS, kein Eingriff in WooCommerce. Alles haengt an body.ed-shop (Klasse setzt das Plugin auf diesen Seiten).
   Farben und Schriften wie in templates/landing.html. */

@font-face { font-family: "Young Serif"; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/young-serif-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Young Serif"; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/young-serif-latin.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: normal; font-display: swap; font-weight: 100 1000; src: url(fonts/dm-sans-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal; font-display: swap; font-weight: 100 1000; src: url(fonts/dm-sans-latin.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

body.ed-shop {
  --ed-bg: #fbf6ef;
  --ed-surface: #fffbf5;
  --ed-ink: #2f3a22;
  --ed-muted: #4d5a3a;
  --ed-line: #e6dccb;
  --ed-coral: #f2948a;
  --ed-coral-hover: #ea8579;
  --ed-coral-text: #b94a3e;
  --ed-beige: #eadfce;
  --ed-sage-soft: #e3e8d9;
  --ed-serif: "Young Serif", Georgia, "Times New Roman", serif;
  --ed-sans: "DM Sans", "Segoe UI", system-ui, sans-serif;
  background: var(--ed-bg) !important;
  color: var(--ed-ink);
  font-family: var(--ed-sans);
  font-size: 1.0625rem;
  line-height: 1.6;
}
body.ed-shop *, body.ed-shop *::before, body.ed-shop *::after { box-sizing: border-box; }
body.ed-shop .wp-site-blocks { background: transparent; padding-top: 0; }

/* Kopf und Fuss des Themes weg, eigener Kopf und Fuss des Plugins */
body.ed-shop header.wp-block-template-part,
body.ed-shop footer.wp-block-template-part { display: none !important; }

.ed-top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 10; background: color-mix(in srgb, #fbf6ef 90%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid #e6dccb; font-family: "DM Sans", "Segoe UI", system-ui, sans-serif; }
.ed-wrap { max-width: 1120px; margin-inline: auto; padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); }
.ed-top .ed-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 10px; }
.ed-brand { font-family: "Young Serif", Georgia, "Times New Roman", serif; font-size: 1.6rem; color: #2f3a22; text-decoration: none; }
.ed-nav { display: flex; gap: 20px; align-items: center; }
.ed-nav a { color: #2f3a22; text-decoration: none; font-size: 0.9rem; }
.ed-nav a:hover { color: #b94a3e; }
.ed-nav a.ed-btn, .ed-nav a.ed-btn:hover { color: #2f3a22; }
.ed-btn { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.9rem; text-decoration: none; padding: 8px 18px; border-radius: 999px; background: #f2948a; color: #2f3a22; box-shadow: 0 6px 14px -8px rgba(47, 58, 34, .55); white-space: nowrap; }
.ed-btn:hover { background: #ea8579; }
@media (max-width: 800px) { .ed-nav a:not(.ed-btn) { display: none; } }
@media (max-width: 480px) { .ed-brand { font-size: 1.2rem; white-space: nowrap; } .ed-top .ed-wrap { gap: 8px; } }

.ed-footer { background: #2f3a22; color: #fbf6ef; padding-block: 44px; font-family: "DM Sans", "Segoe UI", system-ui, sans-serif; font-size: 0.9rem; line-height: 1.6; }
.ed-footer .ed-wrap { display: grid; gap: 14px; }
.ed-footer a { color: #f5c9c2; }
.ed-footer .ed-brand { color: #fbf6ef; }
.ed-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.ed-footer p { margin: 0; }

/* Inhalt */
/* Aeusserer Rahmen (das Theme verschachtelt teils mehrere main-Elemente, daher nur das aeusserste) */
body.ed-shop main#wp--skip-link--target { max-width: 60rem; margin-inline: auto; padding: 40px max(20px, env(safe-area-inset-left, 0px)) 72px !important; background: transparent !important; }
body.ed-shop main#wp--skip-link--target :is(.has-global-padding, .has-background) { padding-left: 0 !important; padding-right: 0 !important; }
body.ed-shop main#wp--skip-link--target .wp-block-group.has-background { background: transparent !important; padding-top: 0 !important; padding-bottom: 0 !important; }
body.ed-shop main#wp--skip-link--target .is-layout-constrained > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
body.ed-shop main#wp--skip-link--target .alignwide, body.ed-shop main#wp--skip-link--target .alignfull { max-width: none; width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
body.ed-shop main :is(h1, h2, h3, h4) { font-family: var(--ed-serif); font-weight: 400; line-height: 1.12; letter-spacing: -0.01em; color: var(--ed-ink); text-wrap: balance; text-transform: none; }
body.ed-shop .wp-block-post-title { font-size: clamp(2rem, 1.4rem + 3vw, 3.2rem); line-height: 1.05; margin-bottom: 24px; }
/* Kasse, Warenkorb und Konto: Seitentitel zentriert, Inhalt als zentrierte Spalte (Formulare bleiben linksbündig) */
body.ed-shop:is(.woocommerce-checkout, .woocommerce-cart, .woocommerce-account) .wp-block-post-title { text-align: center; }
body.ed-shop:is(.woocommerce-checkout, .woocommerce-cart, .woocommerce-account) main#wp--skip-link--target { max-width: 60rem; margin-inline: auto; }
body.ed-shop main h2 { font-size: clamp(1.4rem, 1.2rem + 1vw, 1.9rem); }
body.ed-shop main h3 { font-size: 1.3rem; }
body.ed-shop main a { color: var(--ed-coral-text); }
body.ed-shop main :is(p, li) { color: var(--ed-ink); }
body.ed-shop .wp-block-post-content > :is(p, ul, ol, h2, h3, h4) { max-width: 46rem; }
body.ed-shop .wp-block-post-content > ul:not([class*="wc-"]):not([class*="woocommerce"]) { list-style: none; padding-left: 0; }
body.ed-shop .wp-block-post-content > ul:not([class*="wc-"]):not([class*="woocommerce"]) li { position: relative; padding-left: 26px; margin-block: 6px; }
body.ed-shop .wp-block-post-content > ul:not([class*="wc-"]):not([class*="woocommerce"]) li::before { content: ""; position: absolute; left: 4px; top: .6em; width: 10px; height: 10px; border-radius: 50%; background: var(--ed-coral); }
body.ed-shop .wc-block-grid__products { list-style: none; padding-left: 0; }
body.ed-shop :is(.wc-block-grid__product-title, .wc-block-grid__product-title a) { text-decoration: none; font-family: var(--ed-serif); font-weight: 400; }
body.ed-shop :focus-visible { outline: 3px solid var(--ed-ink); outline-offset: 3px; border-radius: 6px; }

/* Buttons */
body.ed-shop :is(.wp-element-button, .wp-block-button__link, button.button, a.button, input[type="submit"], #place_order, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wc-block-components-button:not(.is-link)) {
  background: var(--ed-coral) !important; color: var(--ed-ink) !important; border: 2px solid transparent !important; border-radius: 999px !important;
  font-family: var(--ed-sans); font-weight: 700; font-size: 1rem; padding: .85em 1.6em; text-decoration: none;
  box-shadow: 0 6px 14px -8px rgba(47, 58, 34, .55); transition: background .15s ease, transform .12s ease;
}
body.ed-shop :is(.wp-element-button, .wp-block-button__link, button.button, a.button, input[type="submit"], #place_order, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wc-block-components-button:not(.is-link)):hover {
  background: var(--ed-coral-hover) !important; color: var(--ed-ink) !important; transform: translateY(1px);
}

/* Formularfelder */
body.ed-shop :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], select, textarea) {
  font-family: var(--ed-sans); font-size: 1rem; background: var(--ed-surface); color: var(--ed-ink);
  border: 1px solid var(--ed-line); border-radius: 12px; padding: .7em .9em;
}
body.ed-shop :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--ed-coral-text); }

/* WooCommerce: Karten fuer Warenkorb, Kasse, Bestellung, Konto */
body.ed-shop :is(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar, .wc-block-components-sidebar, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-order, .woocommerce-MyAccount-content, .woocommerce-form-login, .woocommerce-form-register) {
  background: var(--ed-surface); border: 2px solid var(--ed-beige); border-radius: 28px; padding: 24px; min-width: 0;
}
body.ed-shop :is(.wc-block-cart, .wc-block-checkout) { gap: 24px; }
/* Die Seitenleiste mit der Bestellübersicht scrollt nicht mit. Sonst deckt sie die PayPal-Express-Box ab, seit sie eine eigene Fläche hat. */
body.ed-shop :is(.wc-block-checkout__sidebar, .wc-block-cart__sidebar, .wc-block-components-sidebar, .wc-block-components-sidebar.is-sticky) { position: static !important; top: auto !important; align-self: flex-start; z-index: auto; }
/* Express-Zahlung (Warenkorb und Kasse) ausblenden: Wer dort zahlt, kommt nie an den Pflicht-Checkboxen vorbei (Zustimmung zum sofortigen Download).
   Das ist nur die zweite Sicherung. Die eigentliche Einstellung steht im PayPal-Plugin. PayPal bleibt als normale Zahlart im Kassenformular. */
body.ed-shop :is(.wc-block-components-express-payment, .wc-block-components-express-payment--checkout, .wc-block-components-express-payment--cart, .wc-block-components-express-payment-continue-rule) { display: none !important; }
body.ed-shop :is(table, .wc-block-cart-items, .shop_table) { border-color: var(--ed-line); }
body.ed-shop :is(.wc-block-cart-items__row, .wc-block-components-order-summary-item, .wc-block-components-totals-item) { border-color: var(--ed-line); }
body.ed-shop :is(.wc-block-components-product-name, .wc-block-components-product-name:hover) { color: var(--ed-ink); font-weight: 700; }
body.ed-shop :is(.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .order-total .amount) { font-family: var(--ed-serif); font-size: 1.6rem; }

/* Hinweise */
body.ed-shop :is(.wc-block-components-notice-banner, .woocommerce-message, .woocommerce-info, .woocommerce-error) {
  background: #f6e3d6; color: var(--ed-ink); border: 2px solid var(--ed-coral-text); border-radius: 22px; padding: 14px 18px;
}

@media (max-width: 720px) {
  body.ed-shop main#wp--skip-link--target { padding-top: 28px !important; padding-bottom: 56px !important; }
  body.ed-shop :is(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar, .wc-block-components-sidebar, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-order, .woocommerce-MyAccount-content) { padding: 18px; border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  body.ed-shop :is(.wp-element-button, .wp-block-button__link, button.button, a.button, #place_order, .wc-block-components-button) { transition: none; transform: none !important; }
}
