/*
 * your-matrix: Warenkorb, Kasse, Mein Konto und Produktseite im Stil der Bibliothek.
 * Geladen nur auf WooCommerce-Seiten. Gescoped auf .woocommerce bzw. die
 * WooCommerce-Blöcke. Keine Schatten: Karten heben sich über die Linie ab.
 */

body.woocommerce-page,
body.woocommerce {
  --ym-navy: #25385D;
  --ym-tinte: #19333E;
  --ym-grau: #55616B;
  --ym-cyan: #0A89C5;
  --ym-cyan-d: #0877AB;
  --ym-aqua: #7FD8DC;
  --ym-linie: #DCE4EA;
  --ym-flaeche: #F4F8FA;
  --ym-hell: #E8F6F7;
  --ym-rot: #B3263E;
  --ym-feldlinie: #768796; /* 3,7:1 auf Weiß (WCAG 1.4.11) */
}

/* ---------- Überschriften und Text ---------- */
body.woocommerce-page .woocommerce :is(h1, h2, h3),
body.woocommerce div.product .product_title,
body.woocommerce-page .wp-block-woocommerce-cart :is(h1, h2, h3),
body.woocommerce-page .wp-block-woocommerce-checkout :is(h1, h2, h3) {
  color: var(--ym-navy);
  font-weight: 500;
  letter-spacing: normal;
}
body.woocommerce-page .woocommerce h3,
body.woocommerce-page .woocommerce h2 {
  font-size: clamp(20px, 1vw + 14px, 24px);
  line-height: 1.3;
  padding-bottom: 0;
  margin: 0 0 14px;
}

/* ---------- Hinweise ---------- */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error {
  background: var(--ym-hell);
  color: var(--ym-tinte);
  border: 1px solid var(--ym-linie);
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 15px;
  line-height: 1.5;
}
body.woocommerce-page .woocommerce-error {
  background: #FDF3F5;
  border-color: var(--ym-rot);
}
body.woocommerce-page .woocommerce-message::before,
body.woocommerce-page .woocommerce-info::before,
body.woocommerce-page .woocommerce-error::before {
  display: none;
}
body.woocommerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) {
  color: var(--ym-cyan-d);
  font-weight: 600;
}

/* ---------- Knöpfe ---------- */
body .woocommerce :is(a.button, button.button, input.button, #respond input#submit),
body.woocommerce-page .wc-block-components-button:not(.is-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--ym-cyan-d);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s;
}
body .woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover,
body.woocommerce-page .wc-block-components-button:not(.is-link):hover {
  background: var(--ym-navy);
  color: #fff;
  padding: 12px 24px;
}
/* Divi hängt an Knöpfe einen Pfeil und schiebt beim Hover den Text. Hier nicht. */
body .woocommerce :is(a.button, button.button, input.button)::after {
  display: none;
}
body .woocommerce :is(a.button, button.button, input.button):focus-visible,
body.woocommerce-page .wc-block-components-button:focus-visible {
  outline: 3px solid var(--ym-cyan);
  outline-offset: 3px;
}
body .woocommerce :is(button.button, input.button):disabled,
body .woocommerce :is(button.button, input.button).disabled {
  opacity: .55;
  background: var(--ym-cyan-d);
}

/* ---------- Eingabefelder ---------- */
body .woocommerce form .form-row :is(input.input-text, textarea, select),
body .woocommerce form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"]),
body .woocommerce .select2-container .select2-selection--single,
body .woocommerce .quantity .qty {
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--ym-feldlinie);
  border-radius: 10px;
  background: #fff;
  color: var(--ym-tinte);
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
}
body .woocommerce form .form-row textarea {
  min-height: 110px;
}
body .woocommerce .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
}
body .woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
  height: 44px;
  right: 8px;
}
body .woocommerce form .form-row :is(input.input-text, textarea, select):focus,
body .woocommerce form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"]):focus {
  border-color: var(--ym-cyan);
  outline: 2px solid rgba(10, 137, 197, .25);
}
body .woocommerce form .form-row label {
  font-size: 15px;
  font-weight: 600;
  color: var(--ym-tinte);
  line-height: 1.5;
  margin-bottom: 6px;
}
body .woocommerce form .form-row {
  padding: 0;
  margin: 0 0 16px;
}
body .woocommerce form .form-row .required {
  color: var(--ym-rot);
  text-decoration: none;
}
body.woocommerce-page .wc-block-components-text-input input,
body.woocommerce-page .wc-block-components-combobox .components-combobox-control input,
body.woocommerce-page .wc-blocks-components-select__select {
  border-color: var(--ym-feldlinie);
  border-radius: 10px;
}
body.woocommerce-page .wc-block-components-text-input.is-active input:focus {
  border-color: var(--ym-cyan);
}

/* ---------- Häkchen (Germanized, AGB, Konto anlegen) sauber untereinander ---------- */
body .woocommerce form .form-row:is(.checkbox-legal, .legal, .terms, .create-account, .wc-gzd-checkbox, .checkbox),
body .woocommerce .wc-gzd-checkbox-placeholder .form-row {
  display: block;
  width: 100%;
  margin: 0 0 12px;
  float: none;
}
body .woocommerce form label:is(.checkbox, .woocommerce-form__label-for-checkbox) {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5;
  cursor: pointer;
}
body .woocommerce form label:is(.checkbox, .woocommerce-form__label-for-checkbox) input[type="checkbox"] {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
}
body .woocommerce input:is([type="checkbox"], [type="radio"]):focus-visible {
  outline: 3px solid var(--ym-cyan);
  outline-offset: 3px;
}
body .woocommerce form label:is(.checkbox, .woocommerce-form__label-for-checkbox) a {
  color: var(--ym-cyan-d);
  font-weight: 600;
}

/* ---------- Tabellen als Karten ---------- */
body .woocommerce table.shop_table {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin: 0 0 24px;
}
body .woocommerce table.shop_table :is(th, td) {
  border-top: 1px solid var(--ym-linie);
  padding: 14px 16px;
  vertical-align: middle;
}
body .woocommerce table.shop_table thead th {
  border-top: 0;
  background: var(--ym-flaeche);
  color: var(--ym-grau);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}
body .woocommerce table.shop_table :is(.order-total, .cart-subtotal) :is(th, td) {
  color: var(--ym-navy);
}
body .woocommerce table.shop_table .order-total :is(th, td) {
  font-size: 18px;
  border-top: 2px solid var(--ym-navy);
}
body .woocommerce table.shop_table td.product-name a {
  color: var(--ym-navy);
  font-weight: 600;
  text-decoration: none;
}
body .woocommerce table.cart td.actions {
  background: var(--ym-flaeche);
}
body .woocommerce table.cart td.actions .coupon .input-text {
  width: auto;
  min-width: 180px;
  margin-right: 8px;
}
body .woocommerce table.cart img {
  width: 72px;
  height: auto;
  border-radius: 10px;
}
body .woocommerce a.remove {
  color: var(--ym-rot);
  border-radius: 50%;
}
body .woocommerce a.remove:hover {
  background: var(--ym-rot);
  color: #fff;
}

/* Leerer Warenkorb: ruhige Karte mit Weg zur Mitgliedschaft (Text kommt aus ym_woo_warenkorb_leer) */
body.woocommerce-cart .wc-empty-cart-message {
  margin: 8px 0 0;
}
body.woocommerce-cart .woocommerce .wc-empty-cart-message .cart-empty.woocommerce-info {
  background: #fff !important;
  border: 1px solid var(--ym-linie) !important;
  border-radius: 24px 24px 0 0;
  border-bottom: 0;
  padding: clamp(28px, 4vw, 44px) clamp(22px, 4vw, 40px) 0;
  margin: 0;
  color: var(--ym-navy) !important;
  font-size: clamp(22px, 1.2vw + 14px, 28px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.01em;
}
body.woocommerce-cart .ym-warenkorb-leer-text {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-top: 0;
  border-radius: 0 0 24px 24px;
  padding: 10px clamp(22px, 4vw, 40px) clamp(28px, 4vw, 40px);
  margin: 0;
  color: var(--ym-grau);
  font-size: 16px;
  line-height: 1.6;
}
body.woocommerce-cart .ym-warenkorb-leer-text .ym-warenkorb-leer-wege {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
body.woocommerce-cart .woocommerce .ym-warenkorb-leer-text a.button.ym-knopf-rand {
  background: transparent;
  color: var(--ym-navy);
  border: 1.5px solid var(--ym-navy);
}
body.woocommerce-cart .woocommerce .ym-warenkorb-leer-text a.button.ym-knopf-rand:hover {
  background: var(--ym-navy);
  color: #fff;
}
body.woocommerce-cart .return-to-shop {
  display: none;
}

/* Warenkorb-Summen als Karte */
body .woocommerce .cart-collaterals .cart_totals {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 22px;
}
body .woocommerce .cart-collaterals .cart_totals table.shop_table {
  border: 0;
  border-radius: 0;
  margin-bottom: 16px;
}
body .woocommerce .wc-proceed-to-checkout {
  padding: 0;
}
body .woocommerce .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  margin: 0;
  font-size: 17px;
}

/* ---------- Kasse: Angaben links, Bestellübersicht als Karte rechts ---------- */
@media (min-width: 1000px) {
  body .woocommerce form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    column-gap: 40px;
    row-gap: 0;
    align-items: start;
  }
  body .woocommerce form.checkout > * {
    grid-column: 1 / -1;
  }
  /* Angaben links über viele (leere) Zeilen, rechts reihen sich Übersicht,
     Zahlung und Bestellknopf in ihrer Reihenfolge untereinander. */
  body .woocommerce form.checkout > #customer_details {
    grid-column: 1;
    grid-row: 1 / span 12;
  }
  body .woocommerce form.checkout > :is(#order_review_heading, #order_review, #order_payment_heading, #payment, .wc-gzd-order-submit, #ym-kasse-rechts) {
    grid-column: 2;
  }
}
body .woocommerce form.checkout .col2-set :is(.col-1, .col-2) {
  float: none;
  width: 100%;
}
body .woocommerce form.checkout .col2-set .col-2 {
  margin-top: 8px;
}
body .woocommerce form.checkout #customer_details {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}
body .woocommerce form.checkout :is(#order_review_heading, #order_payment_heading) {
  margin: 0;
  padding: 22px 22px 0;
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
}
body .woocommerce form.checkout #order_review {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  padding: 14px 22px 22px;
  margin-bottom: 24px;
}
body .woocommerce form.checkout #order_review table.shop_table {
  border-radius: 12px;
}
body .woocommerce-checkout #payment {
  background: var(--ym-flaeche);
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
}
body .woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--ym-linie);
  padding: 16px 18px;
}
body .woocommerce-checkout #payment ul.payment_methods li {
  list-style: none;
  padding: 8px 0;
  line-height: 1.5;
}
body .woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 600;
}
body .woocommerce-checkout #payment div.payment_box {
  background: #fff;
  color: var(--ym-tinte);
  border: 1px solid var(--ym-linie);
  border-radius: 10px;
  font-size: 15px;
}
body .woocommerce-checkout #payment div.payment_box::before {
  display: none;
}
body .woocommerce-checkout #payment div.form-row {
  padding: 18px;
}
/* „Zahlungspflichtig bestellen“ breit */
body .woocommerce-checkout :is(#payment, .wc-gzd-order-submit, #order_review) #place_order,
body .woocommerce-checkout #place_order {
  float: none;
  display: flex;
  width: 100%;
  min-height: 52px;
  margin: 12px 0 0;
  font-size: 17px;
}

/* Blöcke: Warenkorb und Kasse */
body.woocommerce-page :is(.wp-block-woocommerce-checkout-order-summary-block, .wp-block-woocommerce-cart-order-summary-block) {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 6px 4px;
}
body.woocommerce-page .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  width: 100%;
  min-height: 52px;
}
body.woocommerce-page .wc-block-components-checkbox {
  margin-top: 12px;
}
body.woocommerce-page .wc-block-components-checkbox label {
  align-items: flex-start;
  line-height: 1.5;
}
body.woocommerce-page .wc-block-components-title.wc-block-components-title {
  color: var(--ym-navy);
}

/* ---------- Mein Konto ----------
   Angemeldet: Navigation links (ruhige Liste mit Symbolen, aktiver Punkt als
   weiche Pille wie im Hauptmenü), Inhalt rechts. Unter 981 px steht die
   Navigation oben; mit Skript als Aufklappliste (Knopf zeigt den aktuellen
   Punkt), ohne Skript als offene Liste. Kein seitliches Wischen.
   Vorlagen: includes/vorlagen/konto-navigation.php, konto-uebersicht.php. */
body.woocommerce-account .woocommerce:has(> .ym-kontonav) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
/* Clearfix von WooCommerce wäre im Raster ein leeres Rasterelement */
body.woocommerce-account .woocommerce:has(> .ym-kontonav)::before,
body.woocommerce-account .woocommerce:has(> .ym-kontonav)::after {
  display: none;
}
body.woocommerce-account .woocommerce:has(> .ym-kontonav) > * {
  grid-column: 1 / -1;
  min-width: 0;
}
body.woocommerce-account .woocommerce > :is(.ym-kontonav, .woocommerce-MyAccount-content) {
  float: none;
  width: auto;
  margin: 0;
}

body.woocommerce-account :is(#main-content, #et-main-area) .ym-kontonav ul.ym-kontonav__liste {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  line-height: 1.3;
}
body.woocommerce-account :is(#main-content, #et-main-area) .ym-kontonav ul.ym-kontonav__liste li {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}
body.woocommerce-account .ym-kontonav ul.ym-kontonav__liste li a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  background: none;
  color: var(--ym-navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}
body.woocommerce-account .ym-kontonav ul.ym-kontonav__liste li a:hover {
  background: rgba(37, 56, 93, .04);
}
body.woocommerce-account .ym-kontonav ul.ym-kontonav__liste li.is-active a {
  background: rgba(37, 56, 93, .07);
}
body.woocommerce-account .ym-kontonav ul.ym-kontonav__liste li a:focus-visible,
body.woocommerce-account .ym-kontonav .ym-kontonav__knopf:focus-visible {
  outline: 2px solid var(--ym-cyan);
  outline-offset: 3px;
}
body.woocommerce-account .ym-kontonav .ym-kontonav__symbol {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: var(--ym-grau);
}
body.woocommerce-account .ym-kontonav .ym-kontonav__symbol svg {
  display: block;
  width: 20px;
  height: 20px;
}
body.woocommerce-account .ym-kontonav li.is-active .ym-kontonav__symbol {
  color: var(--ym-navy);
}
/* Abmelden abgesetzt am Ende */
body.woocommerce-account :is(#main-content, #et-main-area) .ym-kontonav ul.ym-kontonav__liste li.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--ym-linie);
}
body.woocommerce-account .ym-kontonav ul.ym-kontonav__liste li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--ym-grau);
}
body.woocommerce-account .ym-kontonav .ym-kontonav__knopf {
  display: none;
}

/* Inhalt der Unterseiten (Bestellungen, Adressen, Kontodetails) als Fläche */
body.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 24px;
}
body.woocommerce-account .woocommerce-MyAccount-content .ym-seite-karte {
  border: 0;
  padding: 0;
}
body.woocommerce-account .woocommerce :is(form.login, form.register) {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 24px;
  margin: 0 0 24px;
}

/* Anmelden (Gast): „Angemeldet bleiben“ über dem Knopf statt daneben */
body.woocommerce-account .woocommerce form.login .form-row:has(> .woocommerce-form-login__rememberme) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
body.woocommerce-account .woocommerce form.login .form-row .woocommerce-form-login__submit {
  float: none;
  margin: 0;
}

/* ---------- Mein Konto, Übersicht: Begrüßung und drei Kacheln ---------- */
body.woocommerce-account .woocommerce-MyAccount-content:has(> .ym-kontoblick) {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}
body.woocommerce-account .ym-kontoblick {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.woocommerce-account .woocommerce .ym-kontoblick__gruss {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 32px;
  padding: clamp(24px, 3vw, 40px);
  border: 0;
  border-radius: 24px;
}
body.woocommerce-account .woocommerce .ym-kontoblick__gruss-text {
  flex: 1 1 320px;
  min-width: 0;
}
body.woocommerce-account .woocommerce .ym-kontoblick__titel {
  margin: 0 0 8px;
  padding: 0;
  color: #fff;
  font-size: clamp(28px, 1.2vw + 18px, 36px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.015em;
}
body.woocommerce-account .woocommerce .ym-kontoblick__gruss p {
  margin: 0;
  padding: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}
body.woocommerce-account .woocommerce .ym-kontoblick__knoepfe {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
body.woocommerce-account .woocommerce .ym-kontoblick__gruss .ym-knopf {
  flex: none;
}

body.woocommerce-account .ym-kontoblick__kacheln {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}
/* Drei Kacheln stehen 1 oder 3 nebeneinander, nie 2 + 1 */
@container (min-width: 680px) {
  body.woocommerce-account .ym-kontoblick__kacheln {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}
@container (min-width: 840px) {
  body.woocommerce-account .ym-kontoblick__kacheln {
    gap: 24px;
  }
}
body.woocommerce-account .ym-kontoblick__kachel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 18px;
}
body.woocommerce-account .ym-kontoblick__kachel:hover {
  border-color: var(--ym-cyan);
}
body.woocommerce-account .woocommerce .ym-kontoblick__marke {
  margin: 0 0 12px;
  padding: 0;
  color: var(--ym-grau);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .02em;
}
body.woocommerce-account .woocommerce .ym-kontoblick__wert {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  color: var(--ym-navy);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.01em;
}
body.woocommerce-account .woocommerce .ym-kontoblick__wert--text {
  display: block;
  font-size: 19px;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: break-word;
}
body.woocommerce-account .ym-kontoblick__status {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #9AA6B0;
}
body.woocommerce-account .ym-kontoblick__status--an {
  background: var(--ym-cyan);
}
body.woocommerce-account .woocommerce .ym-kontoblick__info {
  margin: 8px 0 0;
  padding: 0;
  color: var(--ym-grau);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
}
body.woocommerce-account .ym-kontoblick__balken {
  display: block;
  height: 4px;
  margin: 16px 0 0;
  border-radius: 4px;
  background: var(--ym-linie);
  overflow: hidden;
}
body.woocommerce-account .ym-kontoblick__balken > span {
  display: block;
  height: 100%;
  background: var(--ym-cyan);
  transform: scaleX(var(--ym-anteil, 0));
  transform-origin: left center;
}
body.woocommerce-account .woocommerce a.ym-kontoblick__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 20px;
  color: var(--ym-cyan-d);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}
/* ganze Kachel klickbar, ein Link je Kachel */
body.woocommerce-account .woocommerce a.ym-kontoblick__link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
}
body.woocommerce-account .ym-kontoblick__pfeil {
  display: inline-block;
  transition: transform .2s cubic-bezier(.23, 1, .32, 1);
}
body.woocommerce-account .ym-kontoblick__kachel:hover .ym-kontoblick__pfeil {
  transform: translateX(3px);
}
body.woocommerce-account .ym-kontoblick__pfeil svg {
  display: block;
  width: 14px;
  height: 14px;
}

/* ---------- Produktseite ---------- */
body.woocommerce div.product div.images img {
  border-radius: 16px;
}
body.woocommerce div.product .summary .price,
body.woocommerce div.product p.price {
  color: var(--ym-navy);
  font-size: 30px;
  font-weight: 600;
}
body.woocommerce div.product .summary .wc-gzd-additional-info,
body.woocommerce div.product .summary .legal-price-info {
  color: var(--ym-grau);
  font-size: 14px;
}
body.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
body.woocommerce div.product form.cart .quantity {
  margin: 0;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-radius: 999px 999px 0 0;
  background: var(--ym-flaeche);
  border-color: var(--ym-linie);
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff;
}
body.woocommerce div.product .woocommerce-tabs .panel {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 24px;
}
body.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid var(--ym-linie);
  border-radius: 16px;
  padding: 14px;
  transition: border-color .2s, transform .3s cubic-bezier(.22, 1, .36, 1);
}
body.woocommerce ul.products li.product:hover {
  border-color: var(--ym-cyan);
  transform: translateY(-2px);
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--ym-navy);
}
body.woocommerce ul.products li.product img {
  border-radius: 10px;
}

/* ---------- Schmale Bildschirme ---------- */
@media (max-width: 900px) {
  body .woocommerce form.checkout #customer_details,
  body .woocommerce form.checkout #order_review,
  body .woocommerce .cart-collaterals .cart_totals,
  body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 18px;
  }
  body .woocommerce .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
  }
  body .woocommerce table.cart td.actions .coupon .input-text {
    width: 100%;
    margin: 0 0 8px;
  }
}

/* Mein Konto ab 981 px: Navigation links, Inhalt rechts */
@media (min-width: 981px) {
  body.woocommerce-account .woocommerce:has(> .ym-kontonav) {
    grid-template-columns: 236px minmax(0, 1fr);
    column-gap: 56px;
    row-gap: 24px;
  }
  body.woocommerce-account .woocommerce:has(> .ym-kontonav) > .ym-kontonav {
    grid-column: 1;
    position: sticky;
    top: 104px;
  }
  body.woocommerce-account .woocommerce:has(> .ym-kontonav) > .woocommerce-MyAccount-content {
    grid-column: 2;
  }
}
@media (min-width: 768px) {
  body.woocommerce-account .ym-kontoblick {
    gap: 20px;
  }
}
@media (min-width: 1200px) {
  body.woocommerce-account .ym-kontoblick {
    gap: 24px;
  }
}

/* Mein Konto unter 981 px: Navigation als Aufklappliste über dem Inhalt */
@media (max-width: 980px) {
  body.woocommerce-account .ym-kontonav.ym-kontonav--js .ym-kontonav__knopf {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 10px 20px 10px 18px;
    border: 1px solid var(--ym-linie);
    border-radius: 999px;
    background: #fff;
    color: var(--ym-navy);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  body.woocommerce-account .ym-kontonav__knopf .ym-kontonav__symbol {
    color: var(--ym-navy);
  }
  body.woocommerce-account .ym-kontonav__knopf .ym-kontonav__text {
    flex: 1 1 auto;
    min-width: 0;
  }
  body.woocommerce-account .ym-kontonav__pfeil {
    flex: none;
    width: 9px;
    height: 9px;
    margin: -4px 2px 0 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s cubic-bezier(.23, 1, .32, 1);
  }
  body.woocommerce-account .ym-kontonav--auf .ym-kontonav__pfeil {
    transform: translateY(4px) rotate(225deg);
  }
  body.woocommerce-account :is(#main-content, #et-main-area) .ym-kontonav ul.ym-kontonav__liste {
    padding: 8px;
    background: #fff;
    border: 1px solid var(--ym-linie);
    border-radius: 20px;
  }
  body.woocommerce-account :is(#main-content, #et-main-area) .ym-kontonav.ym-kontonav--js ul.ym-kontonav__liste {
    margin-top: 8px;
  }
  body.woocommerce-account :is(#main-content, #et-main-area) .ym-kontonav--js:not(.ym-kontonav--auf) ul.ym-kontonav__liste {
    display: none;
  }
  body.woocommerce-account .ym-kontonav--auf .ym-kontonav__liste {
    animation: ym-kontonav-auf .2s cubic-bezier(.23, 1, .32, 1) both;
  }
}
@keyframes ym-kontonav-auf {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce ul.products li.product,
  body .woocommerce :is(a.button, button.button, input.button) {
    transition: none;
  }
  body.woocommerce ul.products li.product:hover {
    transform: none;
  }
  body.woocommerce-account :is(.ym-kontoblick__pfeil, .ym-kontonav__pfeil) {
    transition: none;
  }
  body.woocommerce-account .ym-kontoblick__kachel:hover .ym-kontoblick__pfeil {
    transform: none;
  }
  body.woocommerce-account .ym-kontonav--auf .ym-kontonav__liste {
    animation: none;
  }
}

/* Mitgliedschaft-Kachel (03.10.2026): zwei Links unten, der zweite liegt über der Klickfläche */
body.woocommerce-account .ym-kontoblick__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: auto;
  padding-top: 20px;
}
body.woocommerce-account .woocommerce .ym-kontoblick__links a.ym-kontoblick__link {
  margin-top: 0;
  padding-top: 0;
  min-height: 32px;
}
body.woocommerce-account .woocommerce a.ym-kontoblick__link--zweit {
  position: relative;
  z-index: 1;
  color: var(--ym-navy);
}
body.woocommerce-account .woocommerce a.ym-kontoblick__link--zweit::after {
  content: none;
}
body.woocommerce-account .woocommerce a.ym-kontoblick__link--zweit:hover {
  text-decoration: underline;
}
body.woocommerce-account .woocommerce .ym-kontoblick__info--bald {
  color: var(--ym-navy);
  font-weight: 600;
}
body.woocommerce-account .woocommerce .ym-kontoblick__info--bald::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: #7FD8DC;
  vertical-align: 1px;
}
body.woocommerce-account .ym-kontoblick__links .ym-kontoblick__knopf {
  position: relative;
  z-index: 1;
}

/* Kritik R15 N11: Brotkrumen-Link als Ziel mindestens 44 px hoch, ohne die Zeile zu verschieben. */
.woocommerce-breadcrumb a { display: inline-block; padding: 13px 0; margin: -13px 0; }
