/* ============================================================
   bestAnimalCARE — Design 2026, Teil 4: Geräte-Produktseiten (geraete.css)
   Gehört zu geraete.php. Gilt nur unter body.bac-design, die Preis- und
   MwSt-Regeln zusätzlich nur unter body.bac-geraet (Produktseiten und
   Kategorie "Inhouse-Diagnostik"). Wird nach base, shop, chrome geladen.
   Werte: Raspberry #a81858, Graphite #2e3640, Mist #eef1f3,
   Haarlinie rgba(46,54,64,.12), Pillen-Buttons, Felder rounded-xl.
   ============================================================ */

/* ---------- Preis auf Anfrage statt Preiszeile ----------
   Freigeschaltete Praxen sehen einen Betrag; dann gelten die normalen Shop-Regeln. */
body.bac-design.bac-geraet .price:not(:has(.woocommerce-Price-amount)) {
  display: block;
  font-family: var(--font-primary);
  font-size: 0.95rem;
  font-weight: 400;
  color: rgba(46, 54, 64, 0.7);
}
/* Kein Schloss (das gilt dem Hinweis "Nur für bestätigte Nutzer", hier ist es keine Sperre) */
body.bac-design.bac-geraet .price::before { content: none !important; } /* !important: shop.css setzt das Schloss mit höherer Spezifität */
body.bac-design.bac-geraet .bac-preis-anfrage {
  display: inline-block;
  letter-spacing: 0.01em;
}
body.bac-design.bac-geraet.single-product div.product .summary .price:not(:has(.woocommerce-Price-amount)) { font-size: 1.05rem; }

/* Ohne sichtbaren Preis: keine MwSt-, Versand-, Lieferzeit-Zeilen (Karte bzw. Summary) */
body.bac-design.bac-geraet li.bac-card:not(:has(.woocommerce-Price-amount)) :is(.wgm-info, .woocommerce-de_price_taxrate, .woocommerce_de_versandkosten, .delivery-time-info, .shipping_de),
body.bac-design.bac-geraet.single-product div.product .summary:not(:has(.woocommerce-Price-amount)) :is(.wgm-info, .woocommerce-de_price_taxrate, .woocommerce_de_versandkosten, .delivery-time-info, .shipping_de),
body.bac-design.bac-geraet.single-product div.product .summary .sku_wrapper {
  display: none;
}
/* Sicherheitsnetz ohne sichtbaren Preis: kein Mengenfeld, kein Warenkorb-Formular */
body.bac-design.bac-geraet.single-product div.product .summary:not(:has(.woocommerce-Price-amount)) :is(form.cart, .quantity) {
  display: none;
}

/* ---------- Kennzahlen: Tabelle "Zusätzliche Informationen" ---------- */
body.bac-design.bac-geraet table.woocommerce-product-attributes {
  width: 100%;
  max-width: 44rem;
  border: 0;
  border-collapse: collapse;
}
body.bac-design.bac-geraet table.woocommerce-product-attributes :is(th, td) {
  padding: 0.9rem 0;
  border: 0;
  border-bottom: 1px solid var(--bac-line, rgba(46, 54, 64, 0.12));
  background: none;
  text-align: left;
  font-style: normal;
  vertical-align: baseline;
}
body.bac-design.bac-geraet table.woocommerce-product-attributes th {
  width: 40%;
  padding-right: 1.5rem;
  font-family: var(--font-secondary);
  font-weight: 600;
  color: #2e3640;
}
body.bac-design.bac-geraet table.woocommerce-product-attributes td,
body.bac-design.bac-geraet table.woocommerce-product-attributes td p {
  margin: 0;
  color: rgba(46, 54, 64, 0.85);
}
body.bac-design.bac-geraet table.woocommerce-product-attributes tr:last-child :is(th, td) { border-bottom: 0; }

/* Optional in der Beschreibung (HTML-Block): <div class="bac-kennzahlen"><div><strong>45 Min</strong><span>bis zum Ergebnis</span></div> ... */
body.bac-design .bac-kennzahlen {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 1px;
  margin: 1.5rem 0;
  background: var(--bac-line, rgba(46, 54, 64, 0.12));
  border: 1px solid var(--bac-line, rgba(46, 54, 64, 0.12));
  border-radius: 1rem;
  overflow: hidden;
}
body.bac-design .bac-kennzahlen > * {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.25rem 1.1rem;
  background: #fff;
}
body.bac-design .bac-kennzahlen strong {
  font-family: var(--font-secondary);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #a81858;
}
body.bac-design .bac-kennzahlen span {
  font-size: 0.875rem;
  color: rgba(46, 54, 64, 0.75);
}

/* ---------- Box "Vor-Ort-Demo vereinbaren" ---------- */
body.bac-design .bac-demo-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 1.75rem 0 1.25rem;
  padding: 1.5rem;
  background: #eef1f3;
  border: 1px solid var(--bac-line, rgba(46, 54, 64, 0.12));
  border-radius: 1rem;
}
body.bac-design .bac-demo-box__titel {
  margin: 0;
  font-family: var(--font-secondary);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  text-transform: none;
  color: #2e3640;
}
body.bac-design .bac-demo-box__text {
  margin: 0 0 0.4rem;
  max-width: 36rem;
  color: rgba(46, 54, 64, 0.85);
}
body.bac-design .bac-demo-box__button,
body.bac-design .bac-anfrage__senden {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-height: 3rem;
  padding: 0.8rem 1.75rem;
  border: 0;
  border-radius: 999px;
  background: #a81858;
  color: #fff;
  font-family: var(--font-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 200ms ease, transform 160ms var(--bac-ease, ease);
}
body.bac-design .bac-demo-box__button::after { content: "\2193"; content: "\2193" / ""; }
body.bac-design .bac-demo-box__button:hover,
body.bac-design .bac-demo-box__button:focus-visible,
body.bac-design .bac-anfrage__senden:hover,
body.bac-design .bac-anfrage__senden:focus-visible {
  background: #7c1241;
  color: #fff;
}
body.bac-design .bac-demo-box__button:active,
body.bac-design .bac-anfrage__senden:active { transform: scale(0.98); }
body.bac-design .bac-anfrage__senden[disabled] { opacity: 0.6; cursor: default; }
body.bac-design .bac-demo-box__sekundaer {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-size: 0.9rem;
  color: rgba(46, 54, 64, 0.75);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
body.bac-design .bac-demo-box__sekundaer:hover,
body.bac-design .bac-demo-box__sekundaer:focus-visible { color: #a81858; }

/* ---------- Anfrageformular ---------- */
body.bac-design .bac-anfrage {
  clear: both;
  scroll-margin-top: 6rem;
  margin: 3.5rem 0 2.5rem;
  padding: 2.5rem 0 0;
  border-top: 1px solid var(--bac-line, rgba(46, 54, 64, 0.12));
}
body.bac-design .bac-anfrage__kopf { margin-bottom: 1.75rem; }
body.bac-design .bac-anfrage__kopf h2 {
  margin: 0 0 0.5rem;
  font-family: var(--font-secondary);
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  text-transform: none;
  color: #2e3640;
}
body.bac-design .bac-anfrage__kopf p { margin: 0; color: rgba(46, 54, 64, 0.8); }
body.bac-design .bac-anfrage__form { max-width: 44rem; }
body.bac-design .bac-anfrage__raster {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
}
@media (min-width: 40rem) {
  body.bac-design .bac-anfrage__raster { grid-template-columns: 1fr 1fr; }
}
body.bac-design .bac-feld { margin: 0; }
body.bac-design .bac-feld label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #2e3640;
}
body.bac-design .bac-feld label span,
body.bac-design .bac-pflicht { color: #a81858; }
body.bac-design .bac-feld :is(input, select) {
  display: block;
  width: 100%;
  min-height: 3rem;
  padding: 0.7rem 1rem;
  border: 1px solid rgba(46, 54, 64, 0.2);
  border-radius: 0.75rem;
  background-color: #fff;
  box-shadow: none;
  color: #2e3640;
  font-family: var(--font-primary);
  font-size: 1rem; /* 16 px: iOS zoomt sonst ins Feld */
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
body.bac-design .bac-feld :is(input, select):focus {
  outline: none;
  border-color: #a81858;
  box-shadow: 0 0 0 3px rgba(46, 54, 64, 0.15);
}
body.bac-design .bac-einwilligung { margin: 1.25rem 0 0; }
body.bac-design .bac-einwilligung label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.85rem;
  line-height: 1.55;
  color: rgba(46, 54, 64, 0.75);
}
body.bac-design .bac-einwilligung input[type="checkbox"] {
  flex: none;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0.15rem 0 0;
}
body.bac-design .bac-einwilligung a { color: inherit; text-decoration: underline; }
body.bac-design .bac-einwilligung a:hover { color: #a81858; }
body.bac-design .bac-anfrage__senden { margin-top: 1.5rem; }
body.bac-design .bac-anfrage__status {
  min-height: 1.5em;
  margin: 1rem 0 0;
  font-size: 0.85rem;
  line-height: 1.55;
  color: rgba(46, 54, 64, 0.7);
}
body.bac-design .bac-anfrage__status--fehler { color: #a81858; }
/* Honeypot: für Menschen unsichtbar */
body.bac-design .bac-anfrage__falle {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ---------- Einzelgeräte und Zubehör (PCR) ---------- */
body.bac-design .bac-einzelgeraete {
  clear: both;
  margin: 0 0 3rem;
  padding: 1.5rem;
  background: #eef1f3;
  border: 1px solid var(--bac-line, rgba(46, 54, 64, 0.12));
  border-radius: 1rem;
}
body.bac-design .bac-einzelgeraete h2 {
  margin: 0 0 0.4rem;
  font-family: var(--font-secondary);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  text-transform: none;
  color: #2e3640;
}
body.bac-design .bac-einzelgeraete p { margin: 0 0 0.75rem; color: rgba(46, 54, 64, 0.85); }
body.bac-design .bac-einzelgeraete__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-weight: 700;
  color: #a81858;
  text-decoration: none;
}
body.bac-design .bac-einzelgeraete__link::after { content: "\2192"; content: "\2192" / ""; margin-left: 0.4em; }
body.bac-design .bac-einzelgeraete__link:hover,
body.bac-design .bac-einzelgeraete__link:focus-visible { color: #7c1241; text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
  body.bac-design :is(.bac-demo-box__button, .bac-anfrage__senden) { transition: none; }
}
