/* ============================================================
   TAOM Marketplace – Gestaltung im TAOM-Design (1.75.90, ergänzt 1.75.91)
   Übersicht nach Art, Karten, Empfehlungen, Kombinationen,
   Lizenzauswahl, Kasse. Farben und Masse wie auf der neuen
   Startseite. Alles hängt an body.taom-shop-design bzw. .tsd –
   ohne die neue Gestaltung (Filter taom_shop_design) wirkt nichts.
   ============================================================ */

.taom-shop-design{
  --tsd-navy:#0f1727; --tsd-navy2:#16213a; --tsd-ink:#172b4d; --tsd-grey:#5e6c84; --tsd-mute:#8a97ad;
  --tsd-line:#e3e9f2; --tsd-bg:#f5f7fa; --tsd-card:#fff; --tsd-blue:#2f7fed; --tsd-blue-d:#0b6bcb; --tsd-sky:#8fc1ff;
  --tsd-viewer:#c026d3; --tsd-gruen:#12805c; --tsd-gruen-bg:#e6f5ee; --tsd-gelb:#b45309; --tsd-gelb-bg:#fff4e0; --tsd-rot:#c62828;
  --tsd-r:10px; --tsd-r2:14px;
}
.taom-shop-design .tsd, .taom-shop-design .tsd-buehne{ color:var(--tsd-ink); font-size:16px; line-height:1.55; }
.taom-shop-design .tsd h2, .taom-shop-design .tsd h3, .taom-shop-design .tsd-buehne h1{ text-wrap:balance; letter-spacing:-.02em; margin:0; }
.taom-shop-design .tsd p{ margin:0; }
.taom-shop-design .tsd a:focus-visible, .taom-shop-design .tsd button:focus-visible, .taom-shop-design .tsd-kruemel a:focus-visible{ outline:2px solid var(--tsd-blue); outline-offset:2px; border-radius:4px; }

/* Kennwort (kleine Zeile über Überschriften) */
.taom-shop-design .tsd-kennwort{ font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--tsd-blue-d); margin:0 0 10px; }

/* Knöpfe: rechteckig mit kleiner Rundung wie überall bei TAOM */
.taom-shop-design .tsd-knopf{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font:600 14px/1.2 inherit; font-family:inherit; padding:11px 16px; border-radius:8px;
  border:1px solid var(--tsd-line); background:#fff; color:var(--tsd-ink); text-decoration:none; cursor:pointer; transition:border-color .15s, background .15s; }
.taom-shop-design .tsd-knopf:hover{ border-color:var(--tsd-ink); color:var(--tsd-ink); }
.taom-shop-design .tsd-knopf.tsd-haupt{ background:var(--tsd-blue-d); border-color:var(--tsd-blue-d); color:#fff; }
.taom-shop-design .tsd-knopf.tsd-haupt:hover{ background:#0958a8; border-color:#0958a8; color:#fff; }
.taom-shop-design .tsd-knopf.tsd-still{ border-color:transparent; background:transparent; color:var(--tsd-blue-d); padding-left:8px; padding-right:8px; }
.taom-shop-design .tsd-knopf.tsd-still:hover{ text-decoration:underline; }

/* ---------------- Bühne der Übersicht ---------------- */
.taom-shop-design .tsd-buehne{ position:relative; overflow:hidden; color:#fff; background:var(--tsd-navy); padding:56px 0 52px; margin:0;
  background-image:radial-gradient(900px 420px at 85% -10%, rgba(47,127,237,.34), transparent 62%), radial-gradient(700px 380px at 0% 110%, rgba(47,127,237,.14), transparent 60%); }
.taom-shop-design .tsd-buehne .tsd-kennwort{ color:var(--tsd-sky); }
.taom-shop-design .tsd-buehne h1{ color:#fff; font-size:clamp(34px,4.4vw,52px); line-height:1.06; font-weight:800; margin:0 0 14px; }
.taom-shop-design .tsd-buehne-sub{ color:#c7d6ea; font-size:18px; line-height:1.5; max-width:40em; margin:0; }

/* ---------------- Anmeldezeile ---------------- */
.taom-shop-design .tsd-anmeldung{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:18px 0 0; padding:0; background:none; border:0; font-size:13px; color:var(--tsd-grey); }
.taom-shop-design .tsd-anmeldung::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--tsd-gruen); flex:none; }
.taom-shop-design .tsd-anmeldung.tsd-aus::before{ background:var(--tsd-gelb); }
.taom-shop-design .tsd-anmeldung a{ color:var(--tsd-blue-d); font-weight:600; }

/* ---------------- Übersicht ---------------- */
.taom-shop-design .tsd-katalog{ padding:6px 0 8px; }
.taom-shop-design .tsd-sprung{ display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 6px; }
.taom-shop-design .tsd-sprung a{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--tsd-line); border-radius:8px; background:#fff; color:var(--tsd-ink); font-size:14px; font-weight:600; text-decoration:none; }
.taom-shop-design .tsd-sprung a:hover{ border-color:var(--tsd-ink); }
.taom-shop-design .tsd-sprung a span{ font-size:12px; font-weight:600; color:var(--tsd-grey); background:var(--tsd-bg); border-radius:999px; padding:2px 7px; }

.taom-shop-design .tsd-abschnitt{ padding:44px 0 6px; scroll-margin-top:calc(var(--taom-kopf,76px) + 8px); }
.taom-shop-design .tsd-kopf{ display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:12px 32px; margin:0 0 22px; }
.taom-shop-design .tsd-kopf h2{ font-size:clamp(26px,3vw,36px); line-height:1.1; font-weight:800; color:var(--tsd-ink); }
.taom-shop-design .tsd-kopf h2 span{ color:#9aa7bd; }
.taom-shop-design .tsd-sub{ color:var(--tsd-grey); max-width:44em; margin-top:10px !important; font-size:15.5px; }
.taom-shop-design .tsd-mehr{ font-size:14px; font-weight:600; text-decoration:none; color:var(--tsd-ink); display:inline-flex; gap:8px; align-items:center; white-space:nowrap; }
.taom-shop-design .tsd-mehr::before{ content:""; width:8px; height:8px; background:var(--tsd-blue); border-radius:2px; }
.taom-shop-design .tsd-mehr::after{ content:"→"; }
.taom-shop-design .tsd-mehr:hover{ color:var(--tsd-blue-d); }

.taom-shop-design .tsd-raster{ display:grid; gap:16px; }
.taom-shop-design .tsd-raster-gross{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.taom-shop-design .tsd-raster-klein{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.taom-shop-design .tsd-raster-kombi{ grid-template-columns:repeat(4,minmax(0,1fr)); }

/* Karte */
.taom-shop-design .tsd-karte{ background:#fff; border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); overflow:hidden; display:flex; min-width:0; transition:border-color .15s, box-shadow .15s; }
.taom-shop-design .tsd-karte:hover{ border-color:#c3d2e8; box-shadow:0 8px 24px rgba(15,23,39,.08); }
.taom-shop-design .tsd-karte .tsd-bild{ display:block; flex:none; background:var(--tsd-navy); }
.taom-shop-design .tsd-karte .tsd-bild img{ display:block; width:100%; height:100%; object-fit:cover; margin:0; border-radius:0; }
.taom-shop-design .tsd-karte .tsd-text{ display:flex; flex-direction:column; gap:6px; min-width:0; flex:1; }
.taom-shop-design .tsd-typ{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--tsd-blue-d); display:flex; align-items:center; gap:8px; }
.taom-shop-design .tsd-marke{ font-size:10.5px; letter-spacing:.06em; padding:3px 7px; border-radius:999px; background:var(--tsd-gruen-bg); color:var(--tsd-gruen); }
.taom-shop-design .tsd-karte h3{ font-size:18px; line-height:1.25; font-weight:700; letter-spacing:-.01em; }
.taom-shop-design .tsd-karte h3 a{ color:var(--tsd-ink); text-decoration:none; }
.taom-shop-design .tsd-karte h3 a:hover{ color:var(--tsd-blue-d); }
.taom-shop-design .tsd-satz{ color:var(--tsd-grey); font-size:14.5px; line-height:1.5; }
.taom-shop-design .tsd-preis{ margin-top:4px; font-size:15px; font-weight:700; color:var(--tsd-ink); line-height:1.35; }
.taom-shop-design .tsd-preis .taom-price-per{ font-weight:500; color:var(--tsd-grey); font-size:13px; }
.taom-shop-design .tsd-preis .taom-price-total, .taom-shop-design .tsd-preis .taom-price-seatnote, .taom-shop-design .tsd-preis .taom-price-local, .taom-shop-design .tsd-preis small{ display:block; font-weight:500; color:var(--tsd-grey); font-size:12.5px; margin-top:2px; }
.taom-shop-design .tsd-preis a{ color:var(--tsd-blue-d); font-weight:600; }
.taom-shop-design .tsd-fuss{ margin-top:auto; padding-top:10px; display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; }
.taom-shop-design .tsd-fuss form{ margin:0; }

.taom-shop-design .tsd-preis-spaeter{ font-size:13px; font-weight:500; color:var(--tsd-grey); }
/* Abgemeldet: der Hinweis auf die Preise einmal über der Übersicht */
.taom-shop-design .tsd-preis-hinweis{ margin:18px 0 0; }
.taom-shop-design .tsd-preis-hinweis .taom-preis-login.gross{ display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; margin:0; padding:14px 18px; border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); background:#fff; font-size:15.5px; font-weight:600; color:var(--tsd-ink); }
.taom-shop-design .tsd-preis-hinweis .taom-preis-login a{ border-radius:8px; padding:10px 16px; font-size:14px; font-weight:600; }
.taom-shop-design .tsd-preis-hinweis .taom-preis-login .tpl-an{ background:#fff; border:1px solid var(--tsd-line); color:var(--tsd-ink) !important; }
/* gross: Bild oben */
.taom-shop-design .tsd-karte.tsd-gross{ flex-direction:column; }
.taom-shop-design .tsd-karte.tsd-gross .tsd-bild{ aspect-ratio:1/1; width:100%; }
.taom-shop-design .tsd-karte.tsd-gross .tsd-text{ padding:16px 18px 18px; }
.taom-shop-design .tsd-karte.tsd-gross .tsd-fuss .tsd-knopf{ width:100%; }
/* klein: Bild links als ganzes Quadrat (das Titelbild trägt den Namen – angeschnitten wäre er unlesbar) */
.taom-shop-design .tsd-karte.tsd-klein{ align-items:flex-start; }
.taom-shop-design .tsd-karte.tsd-klein .tsd-bild{ width:92px; height:92px; margin:14px 0 14px 14px; border-radius:10px; overflow:hidden; }
.taom-shop-design .tsd-karte.tsd-klein .tsd-text{ padding:14px 16px 14px; align-self:stretch; }
/* Karte «Welche Lizenz passt?» am Ende der Lizenzen */
.taom-shop-design .tsd-karte.tsd-hilfe{ background:var(--tsd-bg); border-style:dashed; border-color:#c9d4e3; }
.taom-shop-design .tsd-karte.tsd-hilfe:hover{ box-shadow:none; border-color:#c9d4e3; }
.taom-shop-design .tsd-karte.tsd-hilfe .tsd-text{ padding:20px; justify-content:center; }
.taom-shop-design .tsd-karte.tsd-hilfe .tsd-typ{ color:var(--tsd-grey); }
.taom-shop-design .tsd-karte.tsd-hilfe h3{ font-size:20px; }
.taom-shop-design .tsd-karte.tsd-hilfe .tsd-fuss{ margin-top:14px; flex-direction:column; align-items:flex-start; }
.taom-shop-design .tsd-karte.tsd-klein h3{ font-size:16.5px; }
.taom-shop-design .tsd-karte.tsd-klein .tsd-knopf{ padding:8px 12px; font-size:13.5px; }

/* Voraussetzung: ohne sie lässt sich die Zusatzlizenz nicht bestellen – ruhig, aber erkennbar */
.taom-shop-design .tsd-karte.tsd-voraus{ border-color:#f3cf96; background:#fffaf1; }
.taom-shop-design .tsd-karte.tsd-voraus .tsd-typ{ color:var(--tsd-gelb); }
/* Kombinationen */
.taom-shop-design .tsd-kombis{ margin-top:10px; }
.taom-shop-design .tsd-kombi{ background:var(--tsd-navy); color:#fff; border-radius:var(--tsd-r2); padding:20px; display:flex; flex-direction:column; gap:8px; min-width:0; }
.taom-shop-design .tsd-kombi .tsd-typ{ color:var(--tsd-sky); }
.taom-shop-design .tsd-kombi h3{ font-size:19px; line-height:1.2; font-weight:700; color:#fff; }
.taom-shop-design .tsd-kombi .tsd-satz{ color:#c7d6ea; }
.taom-shop-design .tsd-kombi ul{ list-style:none; margin:8px 0 0; padding:0; display:grid; gap:6px; }
.taom-shop-design .tsd-kombi li{ margin:0; padding:0; }
.taom-shop-design .tsd-kombi li::before, .taom-shop-design .tsd-kombi li::after{ content:none; }
.taom-shop-design .tsd-kombi li a{ display:flex; align-items:center; gap:10px; padding:6px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:#fff; text-decoration:none; }
.taom-shop-design .tsd-kombi li a:hover{ border-color:rgba(255,255,255,.4); }
.taom-shop-design .tsd-kombi li .tsd-mini{ flex:none; display:block; width:40px; height:40px; }
.taom-shop-design .tsd-kombi li img{ width:40px; height:40px; object-fit:cover; border-radius:6px; display:block; margin:0; }
.taom-shop-design .tsd-kombi li span{ display:flex; flex-direction:column; min-width:0; }
.taom-shop-design .tsd-kombi li b{ font-size:14px; font-weight:600; line-height:1.25; }
.taom-shop-design .tsd-kombi li small{ font-size:11.5px; color:var(--tsd-mute); }
.taom-shop-design .tsd-kombi .tsd-fuss form{ width:100%; }
.taom-shop-design .tsd-kombi .tsd-fuss .tsd-knopf{ width:100%; }
.taom-shop-design .tsd-kombi .tsd-knopf:not(.tsd-haupt){ background:transparent; color:#fff; border-color:rgba(255,255,255,.28); }

/* Schlusstext der Übersicht */
.taom-shop-design .tsd-schluss{ margin:44px 0 12px; padding:28px 30px; background:#fff; border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); box-shadow:none; }
.taom-shop-design .tsd-schluss h2{ font-size:24px; font-weight:800; letter-spacing:-.02em; color:var(--tsd-ink); margin:0 0 10px; padding:0; border:0; }
.taom-shop-design .tsd-schluss .taom-shop-outro-body{ color:var(--tsd-grey); font-size:15.5px; line-height:1.65; max-width:60em; }
.taom-shop-design .tsd-schluss .taom-shop-outro-body p{ margin:0 0 8px; }
.taom-shop-design .tsd-leer{ color:var(--tsd-grey); padding:40px 0; }

/* ---------------- Produktseite ---------------- */
.taom-shop-design .tsd-kruemel{ display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; font-size:13px; color:var(--tsd-grey); margin:14px 0 18px; }
.taom-shop-design .tsd-kruemel a{ color:var(--tsd-grey); text-decoration:none; }
.taom-shop-design .tsd-kruemel a:hover{ color:var(--tsd-blue-d); text-decoration:underline; }
.taom-shop-design .tsd-kruemel b{ color:var(--tsd-ink); font-weight:600; }
.taom-shop-design.single-product .tsd-anmeldung{ margin-top:16px; }
.taom-shop-design.single-product .tsd-produkt-typ{ margin:0 0 8px; }
.taom-shop-design.single-product .woocommerce div.product .product_title{ font-size:clamp(26px,3vw,36px); line-height:1.1; font-weight:800; letter-spacing:-.02em; color:var(--tsd-ink); margin:0 0 12px; text-wrap:balance; }
.taom-shop-design.single-product .woocommerce div.product form.cart{ margin:18px 0 0; }
.taom-shop-design.single-product .woocommerce div.product form.cart .button{ border-radius:8px; padding:13px 20px; font-weight:600; }
.taom-shop-design.single-product .woocommerce div.product form.cart .quantity .qty{ border-radius:8px; border:1px solid var(--tsd-line); height:46px; }
/* 1.75.91: Laufzeit-Auswahl so breit wie der Länderkasten darüber – das Theme setzt Auswahlfelder sonst auf die ganze Spalte */
.taom-shop-design.single-product .woocommerce div.product form.cart .taom-months select{ max-width:420px; }
/* Reiter: ein einzelner Reiter braucht keine Leiste; mehrere stehen als ruhige Umschalter */
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs{ margin-top:44px; padding-top:0; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{ display:flex; flex-wrap:wrap; gap:8px; border:0; padding:0; margin:0 0 22px; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before, .taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after{ content:none; display:none; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{ margin:0; padding:0; border:1px solid var(--tsd-line); border-radius:8px; background:#fff; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{ content:none; display:none; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{ display:block; padding:9px 14px; font-size:14px; font-weight:600; color:var(--tsd-grey); border:0; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-color:var(--tsd-ink); }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--tsd-ink); }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:only-child{ display:none !important; }
.taom-shop-design.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:has(li:only-child){ margin:0; }
/* Passt dazu */
.taom-shop-design .tsd-dazu{ clear:both; margin:52px 0 20px; padding:30px 0 0; border-top:1px solid var(--tsd-line); }
.taom-shop-design .tsd-dazu .tsd-kopf{ margin-bottom:18px; }
.taom-shop-design .tsd-dazu .tsd-kopf h2{ font-size:clamp(22px,2.4vw,30px); }

/* ---------------- Schritte (Lizenzauswahl → Angaben → Bestätigung) ---------------- */
.taom-shop-design .tsd-schritte{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 0; margin:22px 0 6px; padding:0; counter-reset:none; }
.taom-shop-design .tsd-schritte li{ display:flex; align-items:center; gap:10px; margin:0; padding:0 22px 0 0; font-size:14px; font-weight:600; color:var(--tsd-mute); }
.taom-shop-design .tsd-schritte li + li::before{ content:""; width:36px; height:1px; background:#c9d4e3; margin-right:12px; }
.taom-shop-design .tsd-schritte li a{ display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.taom-shop-design .tsd-schritte li a:hover span:last-child{ text-decoration:underline; }
.taom-shop-design .tsd-schritte .tsd-nr{ width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; border:1px solid #c9d4e3; color:var(--tsd-mute); background:#fff; flex:none; }
.taom-shop-design .tsd-schritte li.tsd-jetzt{ color:var(--tsd-ink); }
.taom-shop-design .tsd-schritte li.tsd-jetzt .tsd-nr{ background:var(--tsd-blue-d); border-color:var(--tsd-blue-d); color:#fff; }
.taom-shop-design .tsd-schritte li.tsd-fertig{ color:var(--tsd-gruen); }
.taom-shop-design .tsd-schritte li.tsd-fertig .tsd-nr{ background:var(--tsd-gruen-bg); border-color:#a9dcc4; color:var(--tsd-gruen); }

/* ---------------- Lizenzauswahl ---------------- */
.taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce{ display:grid; grid-template-columns:minmax(0,1fr) 384px; gap:20px 32px; align-items:start; margin-top:14px; }
.taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > *{ grid-column:1; min-width:0; }
.taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > .woocommerce-notices-wrapper, .taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > .tsd-dazu,
.taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > .wc-empty-cart-message, .taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > .return-to-shop{ grid-column:1 / -1; }
.taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > .cart-collaterals{ grid-column:2; grid-row:2 / span 3; position:sticky; top:calc(var(--taom-kopf,76px) + 16px); width:auto; float:none; margin:0; }
.taom-shop-design.woocommerce-cart .cart-collaterals::before, .taom-shop-design.woocommerce-cart .cart-collaterals::after{ content:none; display:none; }
.taom-shop-design.woocommerce-cart .cart-collaterals .cart_totals{ float:none; width:100%; background:#fff; border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); padding:20px; box-shadow:none; }
.taom-shop-design.woocommerce-cart .cart-collaterals .cart_totals > h2{ font-size:18px; font-weight:700; letter-spacing:-.01em; margin:0 0 12px; color:var(--tsd-ink); }
.taom-shop-design.woocommerce-cart .cart_totals table.shop_table{ border:0; border-radius:0; margin:0 0 14px; box-shadow:none; background:transparent; }
.taom-shop-design.woocommerce-cart .cart_totals table.shop_table th, .taom-shop-design.woocommerce-cart .cart_totals table.shop_table td{ border:0; border-top:1px solid var(--tsd-line); padding:11px 0; background:transparent; font-size:14.5px; vertical-align:top; }
.taom-shop-design.woocommerce-cart .cart_totals table.shop_table tr:first-child th, .taom-shop-design.woocommerce-cart .cart_totals table.shop_table tr:first-child td{ border-top:0; }
.taom-shop-design.woocommerce-cart .cart_totals table.shop_table th{ font-weight:500; color:var(--tsd-grey); text-align:left; width:52%; padding-right:12px; text-transform:none; letter-spacing:0; }
.taom-shop-design.woocommerce-cart .cart_totals table.shop_table td{ text-align:right; color:var(--tsd-ink); font-weight:600; }
.taom-shop-design.woocommerce-cart .cart_totals table.shop_table tr.order-total th, .taom-shop-design.woocommerce-cart .cart_totals table.shop_table tr.order-total td{ border-top:2px solid var(--tsd-ink); font-size:17px; font-weight:800; color:var(--tsd-ink); padding-top:14px; }
.taom-shop-design.woocommerce-cart .cart_totals .wc-proceed-to-checkout{ padding:0; margin:0; }
.taom-shop-design.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button{ display:block; margin:0; padding:15px 18px; border-radius:8px; font-size:15.5px; font-weight:600; text-align:center; }

/* Positionen als Karten statt Tabelle */
.taom-shop-design.woocommerce-cart form.woocommerce-cart-form{ margin:0; }
.taom-shop-design.woocommerce-cart table.cart{ display:block; border:0; border-radius:0; background:transparent; box-shadow:none; margin:0; }
.taom-shop-design.woocommerce-cart table.cart thead{ display:none; }
.taom-shop-design.woocommerce-cart table.cart tbody{ display:block; }
.taom-shop-design.woocommerce-cart table.cart tr.cart_item{ display:grid; grid-template-columns:76px minmax(0,1fr) auto 150px 34px; grid-template-areas:"bild name menge summe weg" "bild preis menge summe weg"; gap:2px 18px; align-items:center;
  background:#fff; border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); padding:16px 14px 16px 16px; margin:0 0 12px; }
.taom-shop-design.woocommerce-cart table.cart tr.cart_item td{ display:block; border:0; padding:0; background:transparent; text-align:left; }
.taom-shop-design.woocommerce-cart table.cart tr.cart_item td::before{ content:none !important; display:none !important; }
.taom-shop-design.woocommerce-cart table.cart td.product-thumbnail{ grid-area:bild; align-self:start; }
.taom-shop-design.woocommerce-cart table.cart td.product-thumbnail img{ width:76px; height:76px; object-fit:cover; border-radius:10px; display:block; margin:0; }
.taom-shop-design.woocommerce-cart table.cart td.product-name{ grid-area:name; align-self:end; font-size:16px; line-height:1.3; }
.taom-shop-design.woocommerce-cart table.cart td.product-name > a{ font-weight:700; color:var(--tsd-ink); text-decoration:none; }
.taom-shop-design.woocommerce-cart table.cart td.product-name > a:hover{ color:var(--tsd-blue-d); }
.taom-shop-design.woocommerce-cart table.cart td.product-name dl.variation{ margin:6px 0 0; font-size:13.5px; color:var(--tsd-grey); display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 8px; }
.taom-shop-design.woocommerce-cart table.cart td.product-name dl.variation dt, .taom-shop-design.woocommerce-cart table.cart td.product-name dl.variation dd{ margin:0; padding:0; float:none; font-weight:500; }
.taom-shop-design.woocommerce-cart table.cart td.product-name dl.variation dd p{ margin:0; }
.taom-shop-design.woocommerce-cart table.cart td.product-price{ grid-area:preis; align-self:start; font-size:13.5px; color:var(--tsd-grey); font-weight:500; }
.taom-shop-design.woocommerce-cart table.cart td.product-quantity{ grid-area:menge; }
.taom-shop-design.woocommerce-cart table.cart td.product-quantity .quantity .qty{ width:74px; height:42px; border:1px solid var(--tsd-line); border-radius:8px; text-align:center; font-weight:600; background:#fff; }
.taom-shop-design.woocommerce-cart table.cart td.product-subtotal{ grid-area:summe; text-align:right; font-size:16px; font-weight:700; color:var(--tsd-ink); }
.taom-shop-design.woocommerce-cart table.cart td.product-remove{ grid-area:weg; align-self:start; }
.taom-shop-design.woocommerce-cart table.cart td.product-remove a.remove{ width:30px; height:30px; line-height:28px; border-radius:8px; border:1px solid var(--tsd-line); color:var(--tsd-grey) !important; background:#fff; font-size:18px; font-weight:400; display:block; text-align:center; text-decoration:none; }
.taom-shop-design.woocommerce-cart table.cart td.product-remove a.remove:hover{ background:#fff !important; border-color:var(--tsd-rot); color:var(--tsd-rot) !important; }
.taom-shop-design.woocommerce-cart table.cart tr:not(.cart_item){ display:block; }
.taom-shop-design.woocommerce-cart table.cart td.actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; border:0; padding:4px 0 0; background:transparent; }
.taom-shop-design.woocommerce-cart table.cart td.actions .button{ float:none; margin:0; border-radius:8px; padding:11px 16px; font-size:14px; font-weight:600; }
/* Der Hauptweg der Seite ist «Weiter zur Bestellung» – «Weitere Lizenzen» und «Aktualisieren» stehen daneben ruhig. */
.taom-shop-design.woocommerce-cart table.cart td.actions a.taom-weiter{ background:#fff !important; color:var(--tsd-ink) !important; border:1px solid var(--tsd-line) !important; order:1; margin-right:0; }
.taom-shop-design.woocommerce-cart table.cart td.actions a.taom-weiter:hover{ border-color:var(--tsd-ink) !important; background:#fff !important; }
.taom-shop-design.woocommerce-cart table.cart td.actions button[name="update_cart"]{ order:2; background:#fff !important; color:var(--tsd-ink) !important; border:1px solid var(--tsd-line) !important; }
.taom-shop-design.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled{ opacity:.45; }
.taom-shop-design.woocommerce-cart table.cart td.actions .coupon{ order:3; margin-left:auto; display:flex; gap:8px; float:none; }
.taom-shop-design.woocommerce-cart .tsd-dazu-auswahl{ margin-top:26px; }

/* ---------------- Kasse (Blöcke) ---------------- */
.taom-shop-design.woocommerce-checkout .wc-block-checkout{ margin-top:14px; }
.taom-shop-design.woocommerce-checkout .wc-block-checkout__form{ counter-reset:tsd-schritt; }
.taom-shop-design.woocommerce-checkout .wc-block-components-checkout-step{ border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); box-shadow:none; }
.taom-shop-design.woocommerce-checkout .wc-block-components-checkout-step__heading{ margin-bottom:12px; }
.taom-shop-design.woocommerce-checkout .wc-block-components-checkout-step__title{ display:flex; align-items:center; gap:10px; font-size:18px; font-weight:700; letter-spacing:-.01em; color:var(--tsd-ink); }
/* Nummern nur an den Abschnitten des Formulars (fieldset) – die Bestellübersicht unter dem Formular ist kein Schritt */
.taom-shop-design.woocommerce-checkout fieldset.wc-block-components-checkout-step .wc-block-components-checkout-step__title{ counter-increment:tsd-schritt; }
.taom-shop-design.woocommerce-checkout fieldset.wc-block-components-checkout-step .wc-block-components-checkout-step__title::before{ content:counter(tsd-schritt); width:26px; height:26px; border-radius:50%; background:var(--tsd-navy); color:#fff; font-size:13px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.taom-shop-design.woocommerce-checkout .wc-block-components-text-input input, .taom-shop-design.woocommerce-checkout .wc-block-components-textarea, .taom-shop-design.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.taom-shop-design.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input{ border-radius:8px; border-color:#c9d4e3; }
.taom-shop-design.woocommerce-checkout .wc-block-components-text-input input:focus, .taom-shop-design.woocommerce-checkout .wc-block-components-textarea:focus{ border-color:var(--tsd-blue-d); box-shadow:0 0 0 2px rgba(11,107,203,.18); }
.taom-shop-design.woocommerce-checkout .wc-block-components-address-card{ border-radius:10px; border-color:var(--tsd-line); }
.taom-shop-design.woocommerce-checkout .wc-block-components-radio-control-accordion-option{ border-radius:10px; }
.taom-shop-design.woocommerce-checkout .wc-block-checkout__sidebar{ border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); background:#fff; box-shadow:none; }
.taom-shop-design.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{ border:0; border-radius:0; background:transparent; box-shadow:none; }
.taom-shop-design.woocommerce-checkout .wc-block-components-order-summary-item__image img{ border-radius:8px; }
.taom-shop-design.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .taom-shop-design.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-weight:800; color:var(--tsd-ink); }
.taom-shop-design.woocommerce-checkout .wc-block-components-checkout-place-order-button{ border-radius:8px; font-weight:600; min-height:52px; }

/* ---------------- Bestätigung ---------------- */
.taom-shop-design .tsd-danke{ background:#fff; border:1px solid var(--tsd-line); border-radius:var(--tsd-r2); padding:20px 22px; margin:14px 0 22px; max-width:920px; }
.taom-shop-design .tsd-danke .tsd-kennwort{ margin-bottom:6px; }
.taom-shop-design .tsd-danke .tsd-satz{ font-size:15.5px; color:var(--tsd-ink); }
.taom-shop-design .tsd-danke .tsd-fuss{ margin-top:14px; padding-top:0; gap:8px; }
.taom-shop-design.woocommerce-order-received .woocommerce-order{ max-width:920px; }
.taom-shop-design.woocommerce-order-received .woocommerce-order > .woocommerce-notice, .taom-shop-design.woocommerce-order-received .woocommerce-order > p.woocommerce-thankyou-order-received{ font-size:17px; font-weight:600; color:var(--tsd-ink); margin:14px 0 4px; }

/* ---------------- Schmale Fenster ---------------- */
@media (max-width:1180px){
  .taom-shop-design .tsd-raster-gross{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .taom-shop-design .tsd-raster-klein, .taom-shop-design .tsd-raster-kombi{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce{ grid-template-columns:minmax(0,1fr) 340px; gap:18px 24px; }
}
@media (max-width:900px){
  .taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce{ grid-template-columns:minmax(0,1fr); }
  .taom-shop-design.woocommerce-cart .taom-woo-inner > .woocommerce > .cart-collaterals{ grid-column:1; grid-row:auto; position:static; }
}
@media (max-width:760px){
  .taom-shop-design .tsd-buehne{ padding:40px 0 36px; }
  .taom-shop-design .tsd-raster-gross{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .taom-shop-design .tsd-raster-klein, .taom-shop-design .tsd-raster-kombi{ grid-template-columns:minmax(0,1fr); }
  .taom-shop-design .tsd-abschnitt{ padding-top:34px; }
  .taom-shop-design .tsd-karte.tsd-gross .tsd-text{ padding:12px 14px 14px; }
  .taom-shop-design .tsd-schritte li{ padding-right:12px; font-size:13px; }
  .taom-shop-design .tsd-schritte li + li::before{ width:14px; margin-right:6px; }
  .taom-shop-design.woocommerce-cart table.cart tr.cart_item{ grid-template-columns:60px minmax(0,1fr) 34px; grid-template-areas:"bild name weg" "bild preis weg" "menge summe summe"; gap:4px 12px; }
  /* WooCommerce blendet in schmalen Fenstern das Bild aus und stellt die Zellen rechtsbündig – hier nicht */
  .taom-shop-design.woocommerce-cart table.cart tr.cart_item td{ text-align:left !important; }
  .taom-shop-design.woocommerce-cart table.cart tr.cart_item td.product-thumbnail{ display:block !important; }
  .taom-shop-design.woocommerce-cart table.cart tr.cart_item td.product-subtotal{ text-align:right !important; }
  .taom-shop-design.woocommerce-cart table.cart td.actions .button{ width:100%; text-align:center; justify-content:center; }
  .taom-shop-design.woocommerce-cart table.cart td.actions .coupon{ margin-left:0; width:100%; }
  .taom-shop-design.woocommerce-cart table.cart td.product-thumbnail img{ width:60px; height:60px; }
  .taom-shop-design.woocommerce-cart table.cart td.product-quantity{ margin-top:10px; }
  .taom-shop-design.woocommerce-cart table.cart td.product-subtotal{ margin-top:10px; align-self:center; }
}
@media (max-width:460px){
  .taom-shop-design .tsd-raster-gross{ grid-template-columns:minmax(0,1fr); }
  .taom-shop-design .tsd-karte.tsd-gross{ flex-direction:row; align-items:flex-start; }
  .taom-shop-design .tsd-karte.tsd-gross .tsd-bild{ width:84px; height:84px; aspect-ratio:auto; margin:12px 0 12px 12px; border-radius:10px; overflow:hidden; }
  .taom-shop-design .tsd-karte.tsd-gross .tsd-text{ align-self:stretch; }
  .taom-shop-design .tsd-karte.tsd-hilfe .tsd-text{ padding:16px; }
  .taom-shop-design .tsd-karte.tsd-klein .tsd-bild{ width:72px; height:72px; margin:12px 0 12px 12px; }
  .taom-shop-design .tsd-schritte li span:last-child{ display:none; }
  .taom-shop-design .tsd-schritte li.tsd-jetzt span:last-child{ display:inline; }
  /* 1.75.91: Schritte bleiben in einer Zeile (auf dev brach «3» bei 375 px um); der aktuelle Schritt kürzt notfalls mit … */
  .taom-shop-design .tsd-schritte{ flex-wrap:nowrap; }
  .taom-shop-design .tsd-schritte li{ flex:none; padding-right:8px; }
  .taom-shop-design .tsd-schritte li:last-child{ padding-right:0; }
  .taom-shop-design .tsd-schritte li.tsd-jetzt{ flex:0 1 auto; min-width:0; }
  .taom-shop-design .tsd-schritte li.tsd-jetzt span:last-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
/* 1.75.91: Produkttext – Anordnungstabellen («So starten Sie» in drei Schritten, Häkchenlisten in zwei Spalten) stehen
   schmal untereinander; die Dreierzeile lief auf dev bei 375 px 25 px über den Rand. Tabellen mit Kopfzeile bleiben Tabellen. */
@media (max-width:560px){
  .taom-shop-design.single-product .taom-desc table:not(:has(th)),
  .taom-shop-design.single-product .taom-desc table:not(:has(th)) > tbody,
  .taom-shop-design.single-product .taom-desc table:not(:has(th)) > tbody > tr,
  .taom-shop-design.single-product .taom-desc table:not(:has(th)) > tbody > tr > td{ display:block; width:100% !important; box-sizing:border-box; }
  /* die Zellen bringen ihren Spaltenabstand mit (links/rechts 14 px) – untereinander stünden sie sonst versetzt */
  .taom-shop-design.single-product .taom-desc table:not(:has(th)) > tbody > tr > td{ padding-left:0 !important; padding-right:0 !important; }
}
@media (prefers-reduced-motion:reduce){ .taom-shop-design .tsd-karte, .taom-shop-design .tsd-knopf{ transition:none; } }
