/* ============================================================
   TAOM Shop – WooCommerce im taom.ai-Look
   Alles auf .woocommerce / .wc-block gescoped -> kein Einfluss
   auf den Rest der Seite. Farben aus dem TAOM-Theme.
   ============================================================ */

.woocommerce, .wc-block-components-form, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{
  --taom-navy:#101827;
  --taom-blue:#0b6bcb;
  --taom-blue-d:#0a5aa8;
  --taom-blue-bg:#eaf2ff;
  --taom-blue-bd:#cfe0ff;
  --taom-ink:#172b4d;
  --taom-sub:#5e6c84;
  --taom-line:#e6e9ee;
  --taom-bg:#f7f8fa;
  --taom-card:#fff;
  --taom-ok:#0a7d3e;
  --taom-danger:#c0392b;
  --taom-accent:var(--taom-blue);
  --taom-radius:12px;
  --taom-shadow:0 1px 3px rgba(9,30,66,.12),0 0 1px rgba(9,30,66,.18);
  --taom-shadow-lg:0 10px 30px rgba(9,30,66,.12);
}

/* ---------------- Grundtypo im Shop ---------------- */
.woocommerce, .woocommerce-page{ color:var(--taom-ink); }
.woocommerce h1, .woocommerce h2, .woocommerce h3{ color:var(--taom-ink); line-height:1.2; }
.woocommerce a{ color:var(--taom-blue); }
.woocommerce a:hover{ color:var(--taom-blue-d); }

/* ---------------- Buttons ---------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button:not(.is-link){
  background:var(--taom-blue);
  color:#fff;
  border:1px solid var(--taom-blue);
  border-radius:10px;
  font-weight:600;
  font-size:15px;
  line-height:1;
  padding:12px 20px;
  box-shadow:none;
  text-shadow:none;
  transition:.14s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-block-components-button:not(.is-link):hover{
  background:var(--taom-blue-d);
  border-color:var(--taom-blue-d);
  color:#fff;
}
/* Sekundär-/Ghost-Buttons (z.B. "Warenkorb aktualisieren") */
.woocommerce button.button:not(.alt),
.woocommerce a.button.wc-backward,
.woocommerce input.button:not(.alt){
  background:#fff;
  color:#42526e;
  border:1px solid #c6ccd6;
}
.woocommerce button.button:not(.alt):hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce input.button:not(.alt):hover{
  background:#f4f6f9;
  border-color:#b6bec9;
  color:var(--taom-ink);
}
/* Haupt-CTAs (Checkout / In den Warenkorb auf Produktseite) immer blau */
.woocommerce .single_add_to_cart_button.button,
.woocommerce .checkout-button.button,
.wc-proceed-to-checkout a.checkout-button{
  background:var(--taom-blue)!important;
  border-color:var(--taom-blue)!important;
  color:#fff!important;
  font-size:16px;
  padding:14px 26px;
  border-radius:12px;
}
.woocommerce .single_add_to_cart_button.button:hover,
.woocommerce .checkout-button.button:hover,
.wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--taom-blue-d)!important;
  border-color:var(--taom-blue-d)!important;
}

/* ---------------- Shop-Kopf (Ergebnisse + Sortierung) ---------------- */
.woocommerce .woocommerce-result-count{ color:var(--taom-sub); font-size:14px; margin-top:8px; }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  border:1px solid var(--taom-line);
  border-radius:10px;
  padding:9px 12px;
  background:#fff;
  color:var(--taom-ink);
  font-size:14px;
}
.woocommerce .woocommerce-breadcrumb{
  color:var(--taom-sub);
  font-size:13px;
  margin-bottom:18px;
}
.woocommerce .woocommerce-breadcrumb a{ color:var(--taom-sub); }
.woocommerce .woocommerce-breadcrumb a:hover{ color:var(--taom-blue); }

/* ---------------- Produkt-Raster / Karten ---------------- */
.woocommerce ul.products{
  display:grid;
  gap:22px;
  margin:0 0 30px;
}
/* WooCommerce hängt ein Clearfix-Pseudo (::before/::after) an die Liste. Im Grid
   wäre das je eine LEERE Zelle -> erste Kachel oben links bleibt frei und alles
   verschiebt sich. Daher hier ausblenden. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  content:none !important;
  display:none !important;
}
.woocommerce ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
  background:var(--taom-card);
  border:1px solid var(--taom-line);
  border-radius:var(--taom-radius);
  box-shadow:var(--taom-shadow);
  padding:16px;
  display:flex;
  flex-direction:column;
  transition:box-shadow .16s, transform .16s, border-color .16s;
}
.woocommerce ul.products li.product:hover{
  box-shadow:var(--taom-shadow-lg);
  transform:translateY(-2px);
  border-color:var(--taom-blue-bd);
}
/* Spaltenzahl aus body-Class (Fallback für Themes ohne WC-Grid) */
body.taom-shop-cols-3 .woocommerce ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); }
body.taom-shop-cols-4 .woocommerce ul.products{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1024px){ body.taom-shop .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ body.taom-shop .woocommerce ul.products{ grid-template-columns:1fr; } }

.woocommerce ul.products li.product a img{
  border-radius:8px;
  margin-bottom:14px;
  background:var(--taom-bg);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--taom-ink);
  font-size:16px;
  font-weight:700;
  line-height:1.35;
  padding:0 0 6px;
}
.woocommerce ul.products li.product .price{
  color:var(--taom-ink);
  font-weight:800;
  font-size:16px;
  margin-top:12px;
}
.woocommerce ul.products li.product .price del{ color:var(--taom-sub); font-weight:500; opacity:.7; }
.woocommerce ul.products li.product .price ins{ color:var(--taom-blue); text-decoration:none; }
/* Button/„Weiterlesen" IMMER am unteren Kartenrand -> alle Buttons einer Reihe fluchten,
   egal ob die Karte eine Preiszeile hat oder nicht. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button.product_type_external,
.woocommerce ul.products li.product a.button.product_type_variable{
  margin-top:auto; width:100%; text-align:center;
}
.woocommerce ul.products li.product .added_to_cart{ margin-top:8px; display:inline-block; font-weight:600; text-align:center; }

/* Cross-Sells im Warenkorb („Sind Sie vielleicht interessiert an …"): exakt dieselbe Kartenoptik
   wie im Shop-Grid – weisse Kartenflaeche, Rahmen, Schatten, gleiche Hoehe, Button unten buendig.
   Mit !important, weil manche Themes die Cart-Cross-Sells eigenstaendig (ohne .woocommerce-Kontext) rendern. */
.cross-sells ul.products{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:8px 0 0; padding:0; list-style:none;
}
@media (max-width:900px){ .cross-sells ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .cross-sells ul.products{ grid-template-columns:1fr; } }
.cross-sells ul.products li.product{
  width:auto!important; float:none!important; margin:0!important;
  /* Feste Werte statt CSS-Variablen: die Cross-Sells liegen bei manchen Themes AUSSERHALB
     von .woocommerce, wo --taom-card etc. nicht definiert sind (dann bliebe der Hintergrund leer). */
  background:#fff!important;
  border:1px solid #e6e9ee!important;
  border-radius:12px!important;
  box-shadow:0 1px 3px rgba(9,30,66,.12),0 0 1px rgba(9,30,66,.18)!important;
  padding:16px!important;
  display:flex!important; flex-direction:column!important;
}
.cross-sells ul.products li.product .button{ margin-top:auto!important; width:100%!important; text-align:center!important; }

/* Laufzeit-/Info-Hinweis (1 oder 12 Monate, Rabatt …) – editierbar je Produkt */
.taom-billing-note{
  display:inline-block;
  background:var(--taom-blue-bg);
  color:var(--taom-blue-d);
  border:1px solid var(--taom-blue-bd);
  border-radius:999px;
  font-size:12.5px;
  font-weight:700;
  line-height:1.2;
  padding:6px 12px;
  margin:8px 0 6px; /* etwas Luft (≈4–6px) zwischen Chip und Button */
}
.woocommerce div.product .summary .taom-billing-note{ margin:6px 0 14px; font-size:13.5px; }

/* Sterne-Rating */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before{ color:#f5a623; }
.woocommerce .star-rating{ color:#f5a623; }

/* Sale-Badge */
.woocommerce span.onsale{
  background:var(--taom-navy);
  color:#fff;
  border:none;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  line-height:1;
  min-height:0;
  min-width:0;
  padding:7px 12px;
  top:12px;
  left:12px;
  margin:0;
  box-shadow:var(--taom-shadow);
}

/* ---------------- Einzelnes Produkt ---------------- */
.woocommerce div.product .product_title{ font-size:30px; font-weight:800; margin-bottom:10px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price{ color:var(--taom-ink); font-size:24px; font-weight:800; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins{ color:var(--taom-blue); text-decoration:none; }
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--taom-sub); line-height:1.65; }
.woocommerce div.product form.cart .quantity .qty{
  border:1px solid var(--taom-line);
  border-radius:10px;
  padding:12px 10px;
  width:74px;
  color:var(--taom-ink);
}
/* Produkt-Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; margin:0 0 18px; border-bottom:1px solid var(--taom-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--taom-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;
  border:none;
  border-radius:0;
  margin:0 6px 0 0;
  padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color:var(--taom-sub);
  font-weight:700;
  padding:12px 4px;
  display:inline-block;
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--taom-blue);
  border-bottom-color:var(--taom-blue);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:transparent; }
/* Related / Upsells */
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2{
  font-size:22px; margin-bottom:16px;
}

/* ---------------- Warenkorb ---------------- */
.woocommerce table.shop_table{
  border:1px solid var(--taom-line);
  border-radius:var(--taom-radius);
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
}
.woocommerce table.shop_table thead th{
  background:var(--taom-bg);
  color:var(--taom-sub);
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:none;
  padding:14px 16px;
}
.woocommerce table.shop_table td{ border-top:1px solid var(--taom-line); padding:16px; }
.woocommerce table.shop_table .product-name a{ font-weight:700; color:var(--taom-ink); }
.woocommerce a.remove{
  color:var(--taom-danger)!important;
  border:1px solid var(--taom-line);
  border-radius:50%;
  font-weight:700;
}
.woocommerce a.remove:hover{ background:var(--taom-danger)!important; color:#fff!important; }
.woocommerce .cart_totals h2, .woocommerce-checkout #order_review_heading{ font-size:20px; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review{
  background:var(--taom-card);
  border:1px solid var(--taom-line);
  border-radius:var(--taom-radius);
  box-shadow:var(--taom-shadow);
  padding:8px 18px 18px;
}
.woocommerce #payment,
.woocommerce-checkout #payment{ background:transparent; }
.woocommerce-cart table.cart td.actions .coupon .input-text{
  border:1px solid var(--taom-line);
  border-radius:10px;
  padding:12px 12px;
}

/* ---------------- Formulare / Kasse ---------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-checkout input.input-text,
.woocommerce-checkout .select2-selection{
  border:1px solid var(--taom-line);
  border-radius:10px;
  padding:12px 14px;
  color:var(--taom-ink);
  background:#fff;
  min-height:46px;
  box-shadow:none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input.input-text:focus{
  border-color:var(--taom-blue);
  outline:none;
  box-shadow:0 0 0 3px var(--taom-blue-bg);
}
.woocommerce form .form-row label{ color:var(--taom-ink); font-weight:600; }
.woocommerce-checkout h3{ font-size:20px; }

/* ---------------- Hinweise / Meldungen ---------------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  border-radius:12px;
  border:1px solid var(--taom-line);
  box-shadow:var(--taom-shadow);
  padding:16px 18px 16px 20px;
  color:var(--taom-ink);
}
.woocommerce .woocommerce-message{ background:#e8f5ec; border-color:#cde6d6; border-top:3px solid var(--taom-ok); }
.woocommerce .woocommerce-info{ background:var(--taom-blue-bg); border-color:var(--taom-blue-bd); border-top:3px solid var(--taom-blue); }
.woocommerce .woocommerce-error{ background:#fdecea; border-color:#f5c6c2; border-top:3px solid var(--taom-danger); }
.woocommerce .woocommerce-message::before{ color:var(--taom-ok); }
.woocommerce .woocommerce-info::before{ color:var(--taom-blue); }
.woocommerce .woocommerce-error::before{ color:var(--taom-danger); }

/* ---------------- Pagination ---------------- */
.woocommerce nav.woocommerce-pagination ul{ border:none; gap:6px; display:flex; justify-content:center; }
.woocommerce nav.woocommerce-pagination ul li{ border:none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--taom-line);
  border-radius:9px;
  min-width:40px;
  padding:9px 12px;
  color:var(--taom-ink);
  background:#fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--taom-blue);
  border-color:var(--taom-blue);
  color:#fff;
}

/* ---------------- „Mein Konto" ---------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border:1px solid var(--taom-line); border-radius:var(--taom-radius); overflow:hidden; box-shadow:var(--taom-shadow); }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--taom-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:13px 16px; color:var(--taom-ink); font-weight:600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--taom-blue-bg); color:var(--taom-blue); }

/* ---------------- Block-Cart / Block-Checkout ---------------- */
.wc-block-components-button:not(.is-link){ border-radius:10px; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button{
  background:var(--taom-blue)!important;
  border-color:var(--taom-blue)!important;
  border-radius:12px!important;
  font-size:16px!important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover{
  background:var(--taom-blue-d)!important;
  border-color:var(--taom-blue-d)!important;
}
.wc-block-components-text-input input,
.wc-block-components-text-input .input-text,
.wc-block-components-address-form input{
  border-radius:10px!important;
}
.wc-block-components-text-input input:focus{
  border-color:var(--taom-blue)!important;
  box-shadow:0 0 0 3px var(--taom-blue-bg)!important;
}
.wc-block-grid__product{
  border:1px solid var(--taom-line);
  border-radius:var(--taom-radius);
  box-shadow:var(--taom-shadow);
  padding:16px;
}
.wc-block-grid__product-title{ color:var(--taom-ink)!important; font-weight:700!important; }
.wc-block-components-totals-item__value{ color:var(--taom-ink); }
.wc-block-checkout__sidebar .wc-block-components-panel,
.wc-block-components-order-summary{
  border-radius:var(--taom-radius);
}

/* ---------------- Gebrandeter Shop-Kopf (Hero) ---------------- */
.taom-shophead{
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(1100px 520px at 82% 0%,#1e57a8 0%,#0f2f5e 45%,#0b1b34 100%);
  padding:44px 0 48px; margin:0 0 8px;
}
.taom-shophead .container{ max-width:1180px; margin:0 auto; padding:0 22px; position:relative; z-index:2; }
.taom-shophead .taom-shophead-kick{ color:#63b8e6; font-size:13px; letter-spacing:.28em; font-weight:800; margin-bottom:6px; }
.taom-shophead-wm{ height:56px; display:block; margin:0 0 18px; }
.taom-shophead h1{ color:#fff; font-size:clamp(30px,4.4vw,44px); font-weight:800; letter-spacing:-.5px; margin:0 0 10px; }
.taom-shophead p{ color:#c7d6ea; font-size:19px; line-height:1.5; max-width:720px; margin:0; }
.taom-shophead .taom-shophead-flow{ position:absolute; right:-40px; top:-30px; width:560px; opacity:.16; z-index:1; }
@media (max-width:640px){ .taom-shophead-flow{ display:none; } .taom-shophead-wm{ height:44px; } }

/* ---------------- Marketing-Abschnitt unter den Produkten ---------------- */
.taom-shop-outro{
  margin:20px 0 8px;
  padding:34px 36px;
  background:var(--taom-card);
  border:1px solid var(--taom-line);
  border-radius:16px;
  box-shadow:var(--taom-shadow);
}
.taom-shop-outro h2{
  font-size:26px; font-weight:800; color:#101827; margin:0 0 14px;
  padding-bottom:12px; border-bottom:1px solid var(--taom-line);
}
.taom-shop-outro-body{ color:#42526e; font-size:16.5px; line-height:1.7; max-width:900px; }
.taom-shop-outro-body p{ margin:0 0 12px; }
.taom-shop-outro-body a{ color:var(--taom-blue); }

/* ---------------- Seiten-Layout (Template-Ersatz) ---------------- */
/* Der Shop-Inhalt sitzt jetzt im zentrierten TAOM-Container statt in Vollbreite. */
.taom-woo-wrap{ max-width:1180px; margin:0 auto; padding:34px 22px 56px; }
.taom-woo-wrap .woocommerce-breadcrumb{ margin-bottom:20px; }

/* Einzelprodukt: saubere zwei Spalten (Galerie / Zusammenfassung), Tabs volle Breite. */
.woocommerce div.product{
  display:flex;
  flex-wrap:wrap;
  gap:30px 48px;
  align-items:flex-start;
}
.woocommerce div.product .woocommerce-product-gallery{
  width:44% !important;
  float:none;
  margin:0;
}
.woocommerce div.product .summary,
.woocommerce div.product .entry-summary{
  width:calc(56% - 48px);
  float:none;
  margin:0;
}
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells,
.woocommerce div.product > .woocommerce-product-gallery + .summary + .woocommerce-tabs{
  flex:0 0 100%;
  width:100%;
  margin-top:8px;
}
.woocommerce div.product .woocommerce-product-gallery__image img{ border-radius:12px; }
.woocommerce div.product .summary .price{ margin-top:6px; }
@media (max-width:820px){
  .woocommerce div.product{ gap:22px; }
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary,
  .woocommerce div.product .entry-summary{ width:100% !important; }
}

/* ---------------- Block-Warenkorb / Block-Kasse: zwei Spalten ---------------- */
/* Im breiten TAOM-Container haben Inhalt und Summen wieder Platz -> keine Überlappung. */
.wp-block-woocommerce-cart .wc-block-cart{
  display:flex; flex-wrap:wrap; gap:34px; align-items:flex-start;
}
.wp-block-woocommerce-cart .wc-block-cart__main{ flex:1 1 540px; min-width:0; margin:0; }
.wp-block-woocommerce-cart .wc-block-cart__sidebar{ flex:0 0 360px; max-width:380px; margin:0; }

.wp-block-woocommerce-checkout .wc-block-checkout__form{ min-width:0; }
.wc-block-components-sidebar-layout .wc-block-components-main{ min-width:0; }

/* Summen-Panel: klare Abstände, nichts überlappt, TAOM-Karte */
.wc-block-components-totals-item{ padding:8px 0; }
.wc-block-components-totals-item__label{ color:var(--taom-sub); }
.wc-block-components-totals-item__value{ color:var(--taom-ink); font-weight:700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-size:22px; }
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-checkout__sidebar{
  background:var(--taom-card); border:1px solid var(--taom-line);
  border-radius:var(--taom-radius); box-shadow:var(--taom-shadow); padding:18px 20px;
}
.wc-block-components-order-summary__content{ position:static; }
/* Sicherheitsnetz gegen gestapelte Titel/Werte in manchen WC-Versionen */
.wc-block-components-totals-wrapper > *{ position:static; float:none; }

@media (max-width:820px){
  .wp-block-woocommerce-cart .wc-block-cart__main,
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{ flex:1 1 100%; max-width:none; }
}

/* ---------------- „Mein Konto" (alle Endpunkte) ---------------- */
.woocommerce-account .woocommerce{
  display:flex; flex-wrap:wrap; gap:34px; align-items:flex-start;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  flex:0 0 250px; float:none; width:auto; margin:0;
}
.woocommerce-account .woocommerce-MyAccount-content{
  flex:1 1 460px; float:none; width:auto; min-width:0; margin:0;
}
@media (max-width:820px){
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{ flex:1 1 100%; }
}

/* ---------------- „Bestellung erhalten" / Danke-Seite ---------------- */
.woocommerce .woocommerce-order{ max-width:820px; }
.woocommerce ul.order_details{
  display:flex; flex-wrap:wrap; gap:10px 26px; list-style:none;
  background:var(--taom-bg); border:1px solid var(--taom-line);
  border-radius:var(--taom-radius); padding:18px 22px; margin:0 0 26px;
}
.woocommerce ul.order_details li{ border:none !important; font-size:13px; color:var(--taom-sub); text-transform:uppercase; letter-spacing:.03em; }
.woocommerce ul.order_details li strong{ display:block; font-size:17px; color:var(--taom-ink); text-transform:none; letter-spacing:0; margin-top:2px; }

/* ---------------- Widgets (Filter/Kategorien) ---------------- */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{ background:var(--taom-blue); }
.woocommerce .widget a{ color:var(--taom-ink); }
.woocommerce .widget a:hover{ color:var(--taom-blue); }

/* ---------------- Eigene TAOM-Produktgalerie (theme-unabhängig) ---------------- */
/* Linke Spalte (wie WooCommerce-Standard ~48% neben der Zusammenfassung) */
.woocommerce div.product .taom-gallery{
  float:left; width:48%; margin:0 0 2em; position:relative;
}
.woocommerce div.product .taom-gallery-main{
  position:relative; border-radius:16px; overflow:hidden;
  background:#fff; border:1px solid #e6e9ee;
}
.woocommerce div.product .taom-gallery-main img{
  width:100%; display:block; cursor:zoom-in;
}
.woocommerce div.product .taom-gallery-zoom{
  position:absolute; top:14px; right:14px; width:40px; height:40px;
  border:none; border-radius:50%; background:rgba(11,27,52,.6);
  display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0;
}
.woocommerce div.product .taom-gallery-zoom:hover{ background:rgba(11,27,52,.85); }
/* Thumbnail-Reihe unter dem Hauptbild */
.woocommerce div.product .taom-gallery-thumbs{
  display:flex; flex-wrap:wrap; gap:12px; margin:14px 0 0;
}
.woocommerce div.product .taom-gallery-thumbs .taom-thumb{
  width:calc(25% - 9px); padding:0; border:2px solid #e6e9ee; border-radius:12px;
  overflow:hidden; background:none; cursor:pointer; opacity:.72; line-height:0;
  transition:opacity .15s ease, border-color .15s ease;
}
.woocommerce div.product .taom-gallery-thumbs .taom-thumb img{ width:100%; display:block; }
.woocommerce div.product .taom-gallery-thumbs .taom-thumb:hover,
.woocommerce div.product .taom-gallery-thumbs .taom-thumb.active{
  opacity:1; border-color:var(--taom-blue);
}
/* Lightbox (Vollbild-Overlay) */
.taom-lightbox{
  position:fixed; inset:0; z-index:99999; display:none;
  align-items:center; justify-content:center; padding:30px;
  background:rgba(6,16,32,.92); cursor:zoom-out;
}
.taom-lightbox.open{ display:flex; }
.taom-lightbox img{
  max-width:92vw; max-height:92vh; border-radius:12px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
@media(max-width:768px){
  .woocommerce div.product .taom-gallery{ float:none; width:100%; }
}

/* ---------------- Zusatzinhalt-Band (Text & Grafiken) ---------------- */
.taom-extra{
  clear:both; margin:34px 0 8px; padding:30px 34px;
  background:#f7f9fc; border:1px solid #e6e9ee; border-radius:18px;
}
.taom-extra-inner{ max-width:1000px; }
.taom-extra-inner h2, .taom-extra-inner h3{
  color:var(--taom-ink); font-weight:800; margin:0 0 10px;
}
.taom-extra-inner p{ color:#3d4b60; line-height:1.6; margin:0 0 14px; }
.taom-extra-inner img{ max-width:100%; height:auto; border-radius:14px; margin:8px 0; }
/* zwei Grafiken nebeneinander, wenn im Editor als Galerie/nebeneinander gesetzt */
.taom-extra-inner .taom-grafik-2{
  display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:10px 0;
}
@media(max-width:640px){ .taom-extra-inner .taom-grafik-2{ grid-template-columns:1fr; } }

/* ---------------- Laufzeit-Preis (Monat + Gesamt) ---------------- */
.woocommerce .taom-price-per{ font-size:.72em; font-weight:600; color:#5e6c84; margin-left:2px; }
.woocommerce .taom-price-total{ display:block; font-size:.82em; font-weight:700; color:var(--taom-blue,#0b6bcb); margin-top:2px; }
/* Hinweis bei waehlbarer Laufzeit - zurueckhaltender als die Gesamtsumme, damit klar ist:
   die Zahl darueber ist die Vorauswahl, nicht der einzige moegliche Preis. */
.woocommerce .taom-price-note{ display:block; font-size:.78em; font-weight:600; color:#5e6c84; margin-top:2px; }

/* ---------------- Länderwahl + Endpreis (vor der Kasse) ---------------- */
.taom-country-price{
  margin:14px 0 18px; padding:16px 18px;
  background:#f7f9fc; border:1px solid #e6e9ee; border-radius:16px; max-width:420px;
}
.taom-country-price .taom-cp-label{
  display:block; font-weight:700; color:var(--taom-ink,#101827); margin:0 0 8px; font-size:.92em;
}
.taom-country-price .taom-cp-select{
  width:100%; padding:10px 12px; border:1px solid #cdd5df; border-radius:10px;
  background:#fff; font-size:1em; color:#101827; margin:0 0 12px;
}
.taom-country-price .taom-cp-box{ transition:opacity .15s ease; }
.taom-country-price .taom-cp-box.taom-cp-loading{ opacity:.45; }
.taom-country-price .taom-cp-line{
  display:flex; justify-content:space-between; gap:14px; padding:4px 0;
  font-size:.95em; color:#3d4b60;
}
.taom-country-price .taom-cp-line span:last-child{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.taom-country-price .taom-cp-tax{ color:#5e6c84; }
.taom-country-price .taom-cp-gross{
  margin-top:6px; padding-top:10px; border-top:1px solid #e2e7ee;
  font-weight:800; color:var(--taom-ink,#101827); font-size:1.05em;
}
.taom-country-price .taom-cp-total{
  font-weight:800; color:var(--taom-blue,#0b6bcb);
}
.taom-country-price .taom-cp-hint{
  margin:10px 0 0; font-size:.78em; color:#7a8699; line-height:1.45;
}
/* „Ansehen"-Button auf Übersichts-Kacheln */
.woocommerce ul.products a.taom-loop-view.button{
  display:inline-block; background:var(--taom-accent,#0b6bcb); color:#fff;
}
.woocommerce ul.products a.taom-loop-view.button:hover{ filter:brightness(.94); }

/* Landeswährungs-Block innerhalb der Länderpreis-Box */
.taom-country-price .taom-cp-fx{
  margin-top:10px; padding-top:10px; border-top:1px dashed #d3dae4;
}
.taom-country-price .taom-cp-fxmonth,
.taom-country-price .taom-cp-fxtotal{ color:#2a3242; }
.taom-country-price .taom-cp-fxmonth span:last-child{ font-weight:800; }
.taom-country-price .taom-cp-fxtotal span:last-child{ font-weight:700; color:var(--taom-blue,#0b6bcb); }
.taom-country-price .taom-cp-fxnote{
  margin-top:8px; font-size:.76em; color:#8a94a6; line-height:1.45;
}
/* Landeswährung an der Kachel-/Übersichtspreisangabe */
.woocommerce .taom-price-local{
  display:block; font-size:.8em; font-weight:700; color:#2a3242; margin-top:3px;
}

/* Paket-Kopf (Nutzerlizenzen) in der Länderpreis-Box */
.taom-country-price .taom-cp-pack{
  margin:0 0 10px; padding:10px 12px; border-radius:12px;
  background:#eef5ff; border:1px solid #d3e3fb;
}
.taom-country-price .taom-cp-packhead{
  font-weight:800; color:var(--taom-ink,#101827); font-size:1em;
}
.taom-country-price .taom-cp-packsub{
  margin-top:2px; font-size:.85em; color:var(--taom-blue,#0b6bcb); font-weight:700;
}

/* Hauptpreis (Paketpreis) + „× pro Nutzer"-Notiz auf Kachel/Detail */
.woocommerce .taom-price-main{ font-weight:800; }
.woocommerce .taom-price-seatnote{
  display:block; font-size:.72em; font-weight:600; color:#5e6c84; margin-top:2px;
}


/* ============================================================
   BLOCK-KASSE IM TAOM-LOOK
   Der Kassen-Block bringt eine eigene Gestaltung mit, die neben dem uebrigen
   taom.ai-Layout fremd wirkt: andere Schriftgroessen, graue Trennlinien statt Karten,
   eigene Radio- und Ankreuzfelder, eine abweichende Hinweisfarbe. Was oben bereits
   geregelt ist (Knopf, Eingabefeld, Zusammenfassung), bleibt unberuehrt - hier kommt
   nur dazu, was bisher ungestaltet war.
   ============================================================ */

/* Abschnitte als Karten statt als lose Bloecke mit Trennlinie. */
.wp-block-woocommerce-checkout .wc-block-checkout__form > .wc-block-components-checkout-step{
  background:var(--taom-card);
  border:1px solid var(--taom-line);
  border-radius:var(--taom-radius);
  padding:22px 24px;
  margin:0 0 16px;
  box-shadow:var(--taom-shadow);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading{ margin:0 0 4px; }
.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title{
  color:var(--taom-ink); font-weight:800; font-size:19px; letter-spacing:-.01em;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description{
  color:var(--taom-sub); font-size:14px;
}
/* Die Nummerierung des Blocks passt nicht zum Rest der Seite - Abstand statt Ziffernspalte. */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step--with-step-number
  .wc-block-components-checkout-step__container{ padding-left:0; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-content{ display:none; }

/* Beschriftungen und Hilfetexte. */
.wc-block-components-text-input label,
.wc-block-components-checkout-step .wc-block-components-address-form label{ color:var(--taom-sub); }
.wc-block-components-validation-error{ color:var(--taom-danger); font-size:13px; }

/* Auswahl von Versand und Zahlung: als anklickbare Karten, nicht als nackte Punkte. */
.wc-block-components-radio-control__option{
  border:1px solid var(--taom-line); border-radius:10px; margin:0 0 8px; padding:12px 14px;
  background:var(--taom-card);
}
.wc-block-components-radio-control__option:hover{ border-color:var(--taom-blue); }
.wc-block-components-radio-control__option-checked{
  border-color:var(--taom-blue); background:var(--taom-blue-bg);
}
.wc-block-components-radio-control__label{ color:var(--taom-ink); font-weight:600; }
.wc-block-components-radio-control__description{ color:var(--taom-sub); }
/* Die Standardlinien zwischen den Auswahlpunkten entfallen - die Karten trennen selbst. */
.wc-block-components-radio-control__option::after,
.wc-block-components-radio-control-accordion-option::after{ display:none; }

/* Ankreuzfelder (AGB, Notiz, Rechnungsadresse) - gleiche Farbe wie der Rest. */
.wc-block-components-checkbox__input{ accent-color:var(--taom-blue); }
.wc-block-components-checkbox__label{ color:var(--taom-ink); }
.wc-block-checkout__terms{
  border-top:1px solid var(--taom-line); padding-top:16px; margin-top:8px;
}
.wc-block-checkout__terms a{ color:var(--taom-blue); font-weight:600; }

/* Notizfeld. */
.wc-block-components-textarea{
  border:1px solid #c6ccd6; border-radius:10px; padding:10px 12px; color:var(--taom-ink);
}
.wc-block-components-textarea:focus{ outline:none; border-color:var(--taom-blue); box-shadow:0 0 0 3px rgba(11,107,203,.14); }

/* Hinweise und Fehlermeldungen im Kassenbereich. */
.wc-block-components-notice-banner{
  border-radius:10px; border:1px solid var(--taom-line); background:var(--taom-card); color:var(--taom-ink);
}
.wc-block-components-notice-banner.is-error{ border-left:4px solid var(--taom-danger); }
.wc-block-components-notice-banner.is-success{ border-left:4px solid var(--taom-ok); }
.wc-block-components-notice-banner.is-info{ border-left:4px solid var(--taom-blue); }

/* Zusammenfassung: Produktzeilen ruhiger, Gesamtsumme betont. */
.wc-block-components-order-summary-item__description .wc-block-components-product-name{
  color:var(--taom-ink); font-weight:700;
}
.wc-block-components-order-summary-item__total-price{ color:var(--taom-ink); font-weight:700; }
.wc-block-components-product-metadata{ color:var(--taom-sub); font-size:13px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color:var(--taom-ink); font-weight:800;
}

/* Kopfzeile der Seite: der Block bringt eine eigene Ueberschrift mit, die neben der
   Seitenueberschrift des Themes doppelt wirkt. */
.wp-block-woocommerce-checkout .wc-block-components-express-payment__title{ color:var(--taom-sub); }

@media (max-width:781px){
  .wp-block-woocommerce-checkout .wc-block-checkout__form > .wc-block-components-checkout-step{
    padding:18px 16px;
  }
}
