/* SSA Stream B1 (08.10.2026) */

/* Altersprüfung: Hinweis + Fehlermeldung */
.ssa-age-note {
  display: flex; align-items: center; gap: .6rem;
  margin: .75rem 0 1rem; padding: .7rem 1rem;
  background: #fbf6ee; border: 1px solid #ecdfc9; border-left: 4px solid #d6443f; border-radius: 10px;
  font-size: .92rem; line-height: 1.4; color: #2a2a2a;
}
.ssa-age-note svg { flex: 0 0 auto; color: #d6443f; }
.ssa-age-error {
  margin-top: .4rem; padding: .55rem .8rem; font-size: .88rem; line-height: 1.4;
  color: #8a1c1c; background: #fdecec; border: 1px solid #f3b9b9; border-radius: 8px;
}
.ssa-age-error[hidden] { display: none !important; }
button[data-ssa-age-blocked], button[data-ssa-age-blocked]:disabled { opacity: .45; cursor: not-allowed; }

/* Zahlart-Infotext */
.ssa-pay-info { margin: 0 0 1rem; font-size: .92rem; color: #555; }

/* Nikotin- und Tabakhinweis (Produktseite) */
.ssa-nic-warn {
  display: flex; gap: .75rem; align-items: flex-start;
  margin: .9rem 0; padding: .85rem 1rem;
  background: #fff4e5; border: 2px solid #d6443f; border-radius: 10px; color: #2a1a0a;
}
.ssa-nic-warn svg { flex: 0 0 auto; color: #d6443f; margin-top: .1rem; }
.ssa-nic-warn p { margin: 0; font-weight: 700; font-size: .95rem; line-height: 1.4; }
.ssa-tab-warn {
  margin: .75rem 0; padding: .55rem .9rem; font-size: .9rem; font-weight: 600;
  background: #faf8f4; border: 1px solid #e3dccf; border-radius: 8px; color: #2a2a2a;
}

/* Footer: Servicezeile + zurückgenommener Widerrufs-Link (bleibt sichtbar und erreichbar) */
.ssa-footer-service { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; margin: 1.25rem 0 .5rem; padding-top: 1rem; border-top: 1px solid rgba(0,0,0,.1); font-size: .92rem; }
.ssa-footer-service a { text-decoration: underline; }
.withdrawal-link-wrapper .withdrawal-link.btn,
.withdrawal-link-wrapper a.withdrawal-link {
  display: inline-block !important; width: auto !important; padding: 0 !important; margin: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  color: inherit !important; font-size: .85rem !important; font-weight: 400 !important; text-decoration: underline !important;
  text-transform: none !important; letter-spacing: normal !important; min-height: 0 !important;
}
.withdrawal-link-wrapper .withdrawal-link:hover { opacity: .75; }

/* Livesuche: lange Produktnamen auf zwei Zeilen */
.ssa-livesearch-title {
  white-space: normal !important;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
  overflow: hidden; text-overflow: ellipsis; word-break: break-word;
}

/* Warenkorb: Ladeanzeige */
#cart-form { position: relative; }
#cart-form.ssa-cart-busy > *:not(.ssa-cart-spinner) { opacity: .45; pointer-events: none; transition: opacity .15s; }
.ssa-cart-spinner { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: .6rem; z-index: 5; font-size: .95rem; }
.ssa-cart-spinner span { width: 22px; height: 22px; border: 3px solid #e3dccf; border-top-color: #d6443f; border-radius: 50%; animation: ssaspin .8s linear infinite; }
.ssa-cart-spinner em { font-style: normal; font-weight: 600; }
@keyframes ssaspin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ssa-cart-spinner span { animation: none; } }

/* Fax-Feld ausblenden (Fallback zu JS) */
.col:has(> .form-group #fax), .col:has(> .form-group input[name$="[fax]"]) { display: none !important; }

/* SSA B2 (08.10.2026) */
/* Altersabfrage und Startseiten-Popup: Ueberschrift als div statt H1, gleiche Optik */
.ssa-h1-like { font-family: "Bricolage Grotesque", "Geist Sans", system-ui, sans-serif; font-size: 1.9rem; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; margin: 3.2px 0 16px; text-align: center; color: #525252; }
/* Checkout Schritt 1: Login-Karte, Anmelden und Passwort vergessen untereinander */
.customer-login-buttons .form-row { flex-direction: column; }
.customer-login-buttons .form-row > [class*="col"] { flex: 0 0 auto; width: 100%; max-width: 100%; }
.customer-login-buttons .btn-primary { white-space: nowrap; }
.customer-login-buttons .customer-login-buttons-forgot { display: block; text-align: center; white-space: normal; margin-top: .35rem; }

/* Stream G */
#cart-form .col-4 > span{white-space:nowrap}
.cart-summary .text-nowrap,.cart-sums .price,.cart-summary .price,.cart-summary .price-sm,.cart-summary [class*=price]{white-space:nowrap}
@media (max-width:575.98px){.checkout-steps .step .step-content{font-size:10px!important;letter-spacing:0!important;padding-left:4px!important;padding-right:4px!important}.checkout-steps .step .step-content *{letter-spacing:0!important}}
