.insurance-widget {
  margin: 16px 0;
  font-family: inherit;
}

.insurance-widget[hidden] {
  display: none;
}

.insurance-widget__heading-row {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.insurance-widget__heading-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  text-decoration: none;
  /* Schriftgröße/-schnitt kommt von der Theme-Klasse .totals__total */
}

.insurance-widget__info-icon {
  display: inline-flex;
  color: currentColor;
  opacity: 0.7;
}

.insurance-widget__tooltip {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 20;
  width: 300px;
  max-width: 80vw;
  background: #2b2b2b;
  color: #fff;
  font-size: 0.95rem;
  line-height: 1.5;
  padding: 12px 14px;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.insurance-widget__tooltip[hidden] {
  display: none;
}

.insurance-widget__tooltip a {
  color: #9fd3ff;
  text-decoration: underline;
  white-space: nowrap;
}

.insurance-widget__button {
  display: block;
  width: 100%;
  background: #a6467f !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 999px !important;
  cursor: pointer;
  text-align: center;
  background-clip: padding-box;
  /* Schriftgröße/Padding kommt von .button.button--primary (Theme) */
}

.insurance-widget__button:hover,
.insurance-widget__button:focus,
.insurance-widget__button:active {
  background: #8f3a6c !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Theme-Buttons (Dawn/Sense) zeichnen ihren äusseren Rand nicht am Button
   selbst, sondern über ein ::after-Pseudo-Element mit eigenem, eckigerem
   border-radius. Die Overrides oben (border/box-shadow/outline/radius)
   greifen nur am Button selbst, nicht am ::after — dadurch blieb ein
   zweiter, eckigerer Rand an den vier Ecken sichtbar. Pseudo-Element
   komplett deaktivieren, da wir ohnehin keinen zusätzlichen Rand wollen. */
.insurance-widget__button::after,
.insurance-widget__button::before {
  content: none !important;
}

.insurance-widget__optout {
  display: block;
  text-align: center;
  margin-top: 10px;
  color: inherit;
  text-decoration: underline;
  opacity: 0.75;
  /* Schriftgröße kommt von .tax-note.caption-large (Theme) */
}

/* Nativen Checkout-Button ausblenden, solange das Widget aktiv ist (insurable = sichtbar).
   Drawer: Widget und Button sind direkte Siblings innerhalb von .cart__ctas.
   Cart-Seite: Widget liegt VOR .cart__ctas, Button liegt DARIN -> zweiter Selektor nötig.
   Cart-Notification-Popup: Widget liegt VOR #cart-notification-form, Button liegt DARIN. */
.insurance-widget:not([hidden]) ~ [data-insurance-native-checkout],
.insurance-widget:not([hidden]) ~ .cart__ctas [data-insurance-native-checkout],
.insurance-widget:not([hidden]) ~ #cart-notification-form [data-insurance-native-checkout] {
  display: none;
}

/* Versicherungs-Zeile: Menge fix, kein Remove-Button, keine Quantity-Popover-Interaktion */
.cart-item--insurance-locked .quantity,
.cart-item--insurance-locked quantity-popover .quantity__button,
.cart-item--insurance-locked quantity-popover .quantity__input,
.cart-item--insurance-locked .button-close,
.cart-item--insurance-locked .cart-item__link[href],
.cart-item--insurance-locked .cart-remove-button {
  pointer-events: none;
  opacity: 0.6;
}

.cart-item--insurance-locked .cart-item__name {
  pointer-events: none;
  cursor: default;
}
