/* ISR Checkout Form — checkout.css v2.0 — full !important override for theme compatibility */
:root {
  --isr-green:       #1a7f4b;
  --isr-green-dark:  #155f38;
  --isr-green-light: #e8f5ee;
  --isr-orange:      #f97316;
  --isr-text:        #1a1a2e;
  --isr-muted:       #6b7280;
  --isr-border:      #e5e7eb;
  --isr-error:       #dc2626;
  --isr-success:     #16a34a;
  --isr-font:        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── Hard reset scoped to form ── */
#isr-wrap *, #isr-wrap *::before, #isr-wrap *::after {
  box-sizing: border-box !important;
}
#isr-wrap p, #isr-wrap div, #isr-wrap span, #isr-wrap label,
#isr-wrap h1, #isr-wrap h2, #isr-wrap h3 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  font-family: var(--isr-font) !important;
  color: inherit !important;
}

/* ── Outer wrapper ── */
#isr-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  position: relative !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,.10) !important;
  overflow: visible !important;
  font-family: var(--isr-font) !important;
  color: var(--isr-text) !important;
  font-size: 16px !important;
  float: none !important;
}

/* ── LEFT PANEL ── */
#isr-wrap > .isr-summary-panel {
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 42% !important;
  width: 42% !important;
  max-width: 42% !important;
  min-width: 260px !important;
  background: #F5F4ED !important;
  border-right: 1px solid var(--isr-border) !important;
  padding: 28px 24px 32px !important;
  border-radius: 10px 0 0 10px !important;
  overflow: hidden !important;
  float: none !important;
  position: static !important;
}

.isr-brand { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 16px !important; }
.isr-company-name { font-size: 14px !important; font-weight: 700 !important; color: var(--isr-muted) !important; letter-spacing: .02em !important; }
.isr-subscribe-label { font-size: 12px !important; color: var(--isr-muted) !important; margin-bottom: 4px !important; display: block !important; }

.isr-today-price-block { margin-bottom: 14px !important; }
.isr-price-orig { display: block !important; font-size: 18px !important; font-weight: 600 !important; color: var(--isr-muted) !important; text-decoration: line-through !important; margin-bottom: 2px !important; }
.isr-price-now { display: block !important; font-size: 40px !important; font-weight: 700 !important; letter-spacing: -.02em !important; line-height: 1 !important; color: var(--isr-green) !important; }
.isr-today-price { display: block !important; font-size: 40px !important; font-weight: 700 !important; color: var(--isr-text) !important; }
.isr-recurring-note { font-size: 12px !important; color: var(--isr-muted) !important; margin-top: 4px !important; min-height: 16px !important; display: block !important; }
.isr-recurring-note strong { color: var(--isr-text) !important; font-weight: 700 !important; }

/* No payment note */
.isr-no-payment-note {
  display: flex !important; align-items: flex-start !important; gap: 7px !important;
  margin-bottom: 14px !important; padding: 9px 11px !important;
  background: var(--isr-green-light) !important; border-radius: 8px !important;
  font-size: 11px !important; color: var(--isr-green-dark) !important; line-height: 1.5 !important;
}
.isr-no-payment-note svg { flex-shrink: 0 !important; margin-top: 1px !important; color: var(--isr-green) !important; }

/* Plan buttons */
.isr-plan-selector { display: flex !important; gap: 8px !important; margin-bottom: 14px !important; }
.isr-plan-btn {
  flex: 1 !important; position: relative !important;
  border: 1.5px solid var(--isr-border) !important; border-radius: 8px !important;
  background: #fff !important; padding: 10px 6px 8px !important;
  cursor: pointer !important; text-align: center !important;
  font-family: var(--isr-font) !important; transition: all .15s !important;
  display: block !important;
}
.isr-plan-btn:hover { border-color: var(--isr-green) !important; }
.isr-plan-btn.is-active {
  border-color: var(--isr-green) !important; background: var(--isr-green-light) !important;
  box-shadow: 0 0 0 2px var(--isr-green) !important;
}
.isr-plan-btn__label { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: var(--isr-text) !important; margin-bottom: 3px !important; }
.isr-plan-btn__price { display: block !important; font-size: 11px !important; color: var(--isr-muted) !important; line-height: 1.4 !important; }
.isr-plan-badge {
  position: absolute !important; top: -9px !important; left: 50% !important; transform: translateX(-50%) !important;
  background: var(--isr-green) !important; color: #fff !important; font-size: 9px !important;
  font-weight: 700 !important; padding: 2px 8px !important; border-radius: 99px !important;
  white-space: nowrap !important; text-transform: uppercase !important;
}

/* Quantity row */
.isr-qty-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 14px !important; }
.isr-qty-label { font-size: 12px !important; color: var(--isr-muted) !important; font-weight: 500 !important; }
.isr-qty-controls {
  display: flex !important; align-items: center !important;
  border: 1.5px solid var(--isr-border) !important; border-radius: 7px !important;
  overflow: hidden !important; background: #fff !important;
}
.isr-qty-btn {
  width: 34px !important; height: 34px !important; border: none !important;
  background: transparent !important; font-size: 18px !important; cursor: pointer !important;
  color: var(--isr-text) !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  font-family: var(--isr-font) !important;
}
.isr-qty-btn:hover { background: var(--isr-green-light) !important; }
.isr-qty-btn:disabled { opacity: .35 !important; cursor: not-allowed !important; }
.isr-qty-display {
  min-width: 32px !important; text-align: center !important; font-size: 15px !important;
  font-weight: 700 !important; color: var(--isr-text) !important;
  border-left: 1px solid var(--isr-border) !important; border-right: 1px solid var(--isr-border) !important;
  padding: 0 4px !important; line-height: 34px !important;
}

/* Divider */
.isr-divider { border: none !important; border-top: 1px solid var(--isr-border) !important; margin: 10px 0 !important; }

/* Line items */
.isr-line { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 8px !important; padding: 3px 0 !important; }
.isr-line-name { font-size: 12px !important; font-weight: 600 !important; color: var(--isr-text) !important; }
.isr-line-sub { font-size: 11px !important; color: var(--isr-muted) !important; margin-top: 1px !important; display: block !important; }
.isr-line-label { font-size: 12px !important; color: var(--isr-muted) !important; }
.isr-line-price { font-size: 12px !important; font-weight: 600 !important; color: var(--isr-text) !important; white-space: nowrap !important; }
.isr-line-price--discount { color: var(--isr-error) !important; }
.isr-line--total { padding: 2px 0 !important; }
.isr-total-label { font-size: 13px !important; font-weight: 700 !important; color: var(--isr-text) !important; }
.isr-total-price { font-size: 16px !important; font-weight: 800 !important; color: var(--isr-text) !important; }

/* Coupon tag */
.isr-coupon-tag-wrap { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.isr-coupon-tag {
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  background: #f3f4f6 !important; border: 1px solid var(--isr-border) !important;
  border-radius: 99px !important; padding: 3px 10px 3px 8px !important;
  font-size: 11px !important; font-weight: 600 !important; color: var(--isr-text) !important; width: fit-content !important;
}
.isr-coupon-remove { background: none !important; border: none !important; cursor: pointer !important; font-size: 15px !important; line-height: 1 !important; color: var(--isr-muted) !important; padding: 0 !important; }
.isr-coupon-remove:hover { color: var(--isr-error) !important; }
.isr-coupon-desc { font-size: 11px !important; color: var(--isr-muted) !important; padding-left: 2px !important; }

/* Coupon entry */
.isr-coupon-entry { margin-top: 14px !important; }
.isr-coupon-entry__row { display: flex !important; gap: 8px !important; }
.isr-coupon-entry__input {
  flex: 1 !important; height: 36px !important; padding: 0 11px !important;
  border: 1.5px solid var(--isr-border) !important; border-radius: 7px !important;
  font-size: 13px !important; font-family: var(--isr-font) !important;
  color: var(--isr-text) !important; background: #fff !important;
}
.isr-coupon-entry__input:focus { outline: none !important; border-color: var(--isr-green) !important; box-shadow: 0 0 0 3px rgba(26,127,75,.1) !important; }
.isr-coupon-entry__btn {
  height: 36px !important; padding: 0 14px !important; background: var(--isr-text) !important;
  color: #fff !important; border: none !important; border-radius: 7px !important;
  font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important;
  font-family: var(--isr-font) !important; white-space: nowrap !important; flex-shrink: 0 !important;
}
.isr-coupon-entry__btn:hover { background: var(--isr-green) !important; }
.isr-coupon-feedback { display: block !important; font-size: 11px !important; min-height: 15px !important; margin-top: 4px !important; }
.isr-coupon-feedback.is-success { color: var(--isr-success) !important; }
.isr-coupon-feedback.is-error { color: var(--isr-error) !important; }

/* ── RIGHT PANEL ── */
#isr-wrap > .isr-form-panel {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 58% !important;
  max-width: 58% !important;
  background: #ffffff !important;
  padding: 28px 28px 32px !important;
  gap: 12px !important;
  border-radius: 0 10px 10px 0 !important;
  overflow: hidden !important;
  float: none !important;
  position: static !important;
}

.isr-required-legend { font-size: 11px !important; color: var(--isr-muted) !important; margin-bottom: -4px !important; display: block !important; }
.isr-req-star { color: var(--isr-error) !important; font-weight: 700 !important; }
.isr-section-heading { font-size: 10px !important; font-weight: 700 !important; color: var(--isr-muted) !important; text-transform: uppercase !important; letter-spacing: .07em !important; margin-top: 4px !important; margin-bottom: -4px !important; display: block !important; }
.isr-field { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.isr-field-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.isr-field-row--3 { grid-template-columns: 2fr 1fr 1fr !important; }
.isr-label { font-size: 12px !important; font-weight: 600 !important; color: var(--isr-text) !important; display: flex !important; align-items: center !important; gap: 4px !important; flex-wrap: wrap !important; }
.isr-optional { font-size: 10px !important; font-weight: 400 !important; color: var(--isr-muted) !important; }
.isr-addr-hint { font-size: 11px !important; color: var(--isr-muted) !important; font-style: italic !important; }

/* Inputs */
.isr-input {
  height: 42px !important; padding: 0 12px !important;
  border: 1.5px solid var(--isr-border) !important; border-radius: 7px !important;
  font-size: 14px !important; font-family: var(--isr-font) !important;
  color: var(--isr-text) !important; background: #ffffff !important;
  width: 100% !important; -webkit-appearance: none !important; appearance: none !important;
  display: block !important; box-sizing: border-box !important; margin: 0 !important;
  line-height: normal !important;
}
.isr-input:focus { outline: none !important; border-color: var(--isr-green) !important; box-shadow: 0 0 0 3px rgba(26,127,75,.12) !important; }
.isr-input.is-error { border-color: var(--isr-error) !important; }
.isr-select { cursor: pointer !important; }
.isr-err { font-size: 11px !important; color: var(--isr-error) !important; min-height: 14px !important; display: block !important; }
.isr-err--checkbox { padding-left: 28px !important; margin-top: -4px !important; }

/* No CC box */
.isr-no-cc-box {
  display: flex !important; align-items: flex-start !important; gap: 10px !important;
  padding: 11px 13px !important; border: 1.5px solid var(--isr-border) !important;
  border-radius: 8px !important; font-size: 12px !important; color: var(--isr-muted) !important; line-height: 1.5 !important;
}
.isr-no-cc-box svg { flex-shrink: 0 !important; margin-top: 2px !important; }
.isr-no-cc-box strong { color: var(--isr-text) !important; font-weight: 700 !important; }

/* SMS dropdown */
.isr-sms-block { display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 0 !important; width: 100% !important; }
.isr-sms-trigger {
  width: 100% !important; max-width: 100% !important; height: 42px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  padding: 0 12px !important; border: 1.5px solid var(--isr-border) !important;
  border-radius: 7px !important; background: #ffffff !important; cursor: pointer !important;
  font-family: var(--isr-font) !important; font-size: 14px !important; color: var(--isr-muted) !important;
  text-align: left !important; overflow: hidden !important; min-width: 0 !important;
}
.isr-sms-trigger.is-selected { color: var(--isr-text) !important; }
.isr-sms-trigger.is-open { border-color: var(--isr-green) !important; border-radius: 7px 7px 0 0 !important; box-shadow: 0 0 0 3px rgba(26,127,75,.12) !important; }
.isr-sms-trigger.is-error { border-color: var(--isr-error) !important; }
.isr-sms-trigger__text { flex: 1 !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.isr-sms-trigger__chevron { flex-shrink: 0 !important; transition: transform .15s !important; }
.isr-sms-trigger.is-open .isr-sms-trigger__chevron { transform: rotate(180deg) !important; }
.isr-sms-panel {
  width: 100% !important; max-width: 100% !important;
  border: 1.5px solid var(--isr-green) !important; border-top: none !important;
  border-radius: 0 0 7px 7px !important; background: #ffffff !important;
  overflow: hidden !important; word-break: break-word !important; margin-top: -4px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.08) !important;
}
.isr-sms-option {
  display: flex !important; align-items: flex-start !important; gap: 10px !important;
  padding: 12px 13px !important; cursor: pointer !important; font-size: 13px !important;
  color: var(--isr-text) !important; line-height: 1.55 !important;
  border-bottom: 1px solid var(--isr-border) !important;
}
.isr-sms-option:last-child { border-bottom: none !important; }
.isr-sms-option:hover, .isr-sms-option.is-selected { background: var(--isr-green-light) !important; }
.isr-sms-option__radio {
  flex-shrink: 0 !important; margin-top: 2px !important; width: 16px !important; height: 16px !important;
  border: 1.5px solid var(--isr-border) !important; border-radius: 50% !important;
  background: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important;
}
.isr-sms-option.is-selected .isr-sms-option__radio { border-color: var(--isr-green) !important; background: var(--isr-green) !important; }
.isr-sms-option.is-selected .isr-sms-option__radio::after { content: '' !important; display: block !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #fff !important; }

/* ToS block */
.isr-tos-block { padding: 13px !important; background: #fffbeb !important; border: 1.5px solid #fde68a !important; border-radius: 8px !important; display: flex !important; flex-direction: column !important; gap: 5px !important; }
.isr-tos-link { color: var(--isr-green) !important; text-decoration: underline !important; }
.isr-checkbox-label { display: flex !important; align-items: flex-start !important; gap: 10px !important; cursor: pointer !important; user-select: none !important; }
.isr-checkbox-top { flex-shrink: 0 !important; position: relative !important; margin-top: 2px !important; }
.isr-checkbox { position: absolute !important; opacity: 0 !important; width: 18px !important; height: 18px !important; cursor: pointer !important; margin: 0 !important; }
.isr-checkmark { display: block !important; width: 18px !important; height: 18px !important; border: 1.5px solid var(--isr-border) !important; border-radius: 4px !important; background: #fff !important; }
.isr-checkbox:checked ~ .isr-checkmark { background: var(--isr-green) !important; border-color: var(--isr-green) !important; }
.isr-checkbox:checked ~ .isr-checkmark::after { content: '' !important; display: block !important; margin: 3px auto 0 !important; width: 5px !important; height: 9px !important; border: 2px solid #fff !important; border-top: none !important; border-left: none !important; transform: rotate(45deg) !important; }
.isr-checkbox.is-error ~ .isr-checkmark { border-color: var(--isr-error) !important; }
.isr-checkbox-text { font-size: 12px !important; color: var(--isr-muted) !important; line-height: 1.6 !important; }
.isr-checkbox-text strong { color: var(--isr-text) !important; font-weight: 700 !important; }
.isr-required-badge { display: inline-block !important; margin-left: 6px !important; background: #fef2f2 !important; color: var(--isr-error) !important; font-size: 10px !important; font-weight: 700 !important; padding: 1px 6px !important; border-radius: 99px !important; vertical-align: middle !important; }

/* Submit button */
.isr-submit-btn {
  position: relative !important; height: 54px !important; width: 100% !important;
  background: var(--isr-orange) !important; color: #ffffff !important;
  border: none !important; border-radius: 8px !important;
  font-size: 16px !important; font-weight: 800 !important; letter-spacing: .01em !important;
  cursor: pointer !important; font-family: var(--isr-font) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 8px !important; margin-top: 4px !important; box-sizing: border-box !important;
  box-shadow: 0 4px 14px rgba(249,115,22,.3) !important;
  text-decoration: none !important; line-height: 1 !important;
}
.isr-submit-btn:hover:not(:disabled) { background: #ea6c0a !important; transform: translateY(-2px) !important; }
.isr-submit-btn:disabled { opacity: .65 !important; cursor: not-allowed !important; transform: none !important; }
.isr-btn-icon { vertical-align: -3px !important; }
.isr-spinner { width: 20px !important; height: 20px !important; animation: isr-spin .7s linear infinite !important; }
@keyframes isr-spin { to { transform: rotate(360deg); } }
.isr-auth-note { font-size: 11px !important; color: var(--isr-muted) !important; text-align: center !important; line-height: 1.5 !important; display: block !important; }
.isr-error-banner { padding: 12px 13px !important; background: #fef2f2 !important; border: 1.5px solid #fecaca !important; border-radius: 8px !important; font-size: 13px !important; color: var(--isr-error) !important; line-height: 1.5 !important; }

/* Success overlay */
.isr-success {
  position: absolute !important; inset: 0 !important; background: #fff !important;
  display: none !important; flex-direction: column !important; align-items: center !important;
  justify-content: flex-start !important; text-align: center !important;
  padding: 36px 28px !important; border-radius: 10px !important; gap: 16px !important;
  overflow-y: auto !important;
}
.isr-success.is-visible {
  display: flex !important;
  animation: isr-fade-in .3s ease !important;
}
@keyframes isr-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.isr-success__inner { width: 100% !important; max-width: 460px !important; margin: auto !important; display: flex !important; flex-direction: column !important; gap: 20px !important; }
.isr-success__header { text-align: center !important; }
.isr-success__emoji { font-size: 24px !important; line-height: 1 !important; margin-bottom: 6px !important; display: block !important; }
.isr-success__title { font-size: 26px !important; font-weight: 800 !important; color: var(--isr-text) !important; margin-bottom: 12px !important; }
.isr-success__no-pay { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 10px 16px !important; background: var(--isr-green-light) !important; border-radius: 99px !important; font-size: 13px !important; color: var(--isr-green-dark) !important; font-weight: 600 !important; }
.isr-success__card { background: #F5F4ED !important; border: 1.5px solid var(--isr-border) !important; border-radius: 8px !important; padding: 18px 20px !important; }
.isr-success__card-heading { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .07em !important; color: var(--isr-muted) !important; margin-bottom: 14px !important; display: block !important; }
.isr-success__steps { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 14px !important; }
.isr-success__step { display: flex !important; align-items: flex-start !important; gap: 14px !important; font-size: 14px !important; color: var(--isr-text) !important; line-height: 1.55 !important; }
.isr-success__step-icon { flex-shrink: 0 !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; background: var(--isr-green-light) !important; color: var(--isr-green) !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.isr-success__note { text-align: center !important; font-size: 13px !important; color: var(--isr-muted) !important; line-height: 1.6 !important; display: block !important; }

@media (max-width: 420px) {
  .isr-field-row, .isr-field-row--3 { grid-template-columns: 1fr !important; }
  .isr-field--city { grid-column: auto !important; }
}


/* ── Theme override patch — force visual styling ────────────── */
#isr-wrap { background: transparent !important; }

#isr-wrap > .isr-summary-panel { background: #F5F4ED !important; }
#isr-wrap > .isr-form-panel    { background: #ffffff !important; }

/* Labels */
#isr-wrap .isr-label,
#isr-wrap .lbl { color: #1a1a2e !important; font-weight: 600 !important; font-size: 13px !important; }

/* Section headings */
#isr-wrap .isr-section-heading {
  font-size: 11px !important; font-weight: 700 !important;
  color: #6b7280 !important; text-transform: uppercase !important;
  letter-spacing: .07em !important;
}

/* Price */
#isr-wrap .isr-today-price,
#isr-wrap .isr-price-now { font-size: 40px !important; font-weight: 700 !important; color: #1a7f4b !important; line-height: 1 !important; }
#isr-wrap .isr-price-orig { font-size: 18px !important; color: #6b7280 !important; text-decoration: line-through !important; display: block !important; }
#isr-wrap .isr-recurring-note { font-size: 13px !important; color: #6b7280 !important; margin-top: 4px !important; }
#isr-wrap .isr-recurring-note strong { color: #1a1a2e !important; }

/* Plan buttons */
#isr-wrap .isr-plan-btn { background: #ffffff !important; border: 1.5px solid #e5e7eb !important; border-radius: 6px !important; cursor: pointer !important; }
#isr-wrap .isr-plan-btn.is-active { background: #e8f5ee !important; border-color: #1a7f4b !important; box-shadow: 0 0 0 2px #1a7f4b !important; }
#isr-wrap .isr-plan-btn__label { color: #1a1a2e !important; font-weight: 700 !important; font-size: 12px !important; display: block !important; }
#isr-wrap .isr-plan-btn__price { color: #6b7280 !important; font-size: 11px !important; display: block !important; }
#isr-wrap .isr-plan-badge { background: #1a7f4b !important; color: #ffffff !important; font-size: 9px !important; font-weight: 700 !important; padding: 2px 8px !important; border-radius: 99px !important; position: absolute !important; top: -9px !important; left: 50% !important; transform: translateX(-50%) !important; white-space: nowrap !important; text-transform: uppercase !important; }

/* Qty controls */
#isr-wrap .isr-qty-controls { border: 1.5px solid #e5e7eb !important; border-radius: 6px !important; overflow: hidden !important; background: #fff !important; display: flex !important; align-items: center !important; }
#isr-wrap .isr-qty-btn { background: transparent !important; border: none !important; color: #1a1a2e !important; cursor: pointer !important; font-size: 18px !important; width: 34px !important; height: 34px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#isr-wrap .isr-qty-display { font-size: 15px !important; font-weight: 700 !important; color: #1a1a2e !important; min-width: 32px !important; text-align: center !important; padding: 0 4px !important; border-left: 1px solid #e5e7eb !important; border-right: 1px solid #e5e7eb !important; line-height: 34px !important; }

/* Line items */
#isr-wrap .isr-line-name { font-size: 13px !important; font-weight: 600 !important; color: #1a1a2e !important; }
#isr-wrap .isr-line-sub  { font-size: 12px !important; color: #6b7280 !important; }
#isr-wrap .isr-line-label { font-size: 13px !important; color: #6b7280 !important; }
#isr-wrap .isr-line-price { font-size: 13px !important; font-weight: 600 !important; color: #1a1a2e !important; }
#isr-wrap .isr-line-price--discount { color: #dc2626 !important; }
#isr-wrap .isr-total-label { font-size: 14px !important; font-weight: 600 !important; color: #1a1a2e !important; }
#isr-wrap .isr-total-price { font-size: 16px !important; font-weight: 800 !important; color: #1a1a2e !important; }

/* Coupon */
#isr-wrap .isr-coupon-entry__input { background: #ffffff !important; border: 1.5px solid #e5e7eb !important; border-radius: 6px !important; padding: 0 11px !important; height: 38px !important; font-size: 13px !important; color: #1a1a2e !important; }
#isr-wrap .isr-coupon-entry__btn { background: #1a1a2e !important; color: #ffffff !important; border: none !important; border-radius: 6px !important; height: 38px !important; padding: 0 14px !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important; }
#isr-wrap .isr-coupon-feedback.is-success { color: #16a34a !important; }
#isr-wrap .isr-coupon-feedback.is-error   { color: #dc2626 !important; }

/* No payment note */
#isr-wrap .isr-no-payment-note { background: #e8f5ee !important; border-radius: 6px !important; padding: 10px 12px !important; font-size: 12px !important; color: #155f38 !important; margin-top: 16px !important; display: flex !important; align-items: flex-start !important; gap: 7px !important; line-height: 1.5 !important; }

/* No CC box */
#isr-wrap .isr-no-cc-box { border: 1.5px solid #e5e7eb !important; border-radius: 6px !important; padding: 11px 14px !important; font-size: 13px !important; color: #6b7280 !important; background: #fff !important; display: flex !important; align-items: flex-start !important; gap: 10px !important; line-height: 1.5 !important; }
#isr-wrap .isr-no-cc-box strong { color: #1a1a2e !important; }

/* SMS trigger */
#isr-wrap .isr-sms-trigger { border: 1.5px solid #e5e7eb !important; border-radius: 6px !important; height: 42px !important; background: #fff !important; color: #6b7280 !important; padding: 0 12px !important; font-size: 14px !important; }
#isr-wrap .isr-sms-trigger.is-selected { color: #1a1a2e !important; }
#isr-wrap .isr-sms-option { font-size: 13px !important; color: #1a1a2e !important; padding: 12px 14px !important; }
#isr-wrap .isr-sms-option:hover, #isr-wrap .isr-sms-option.is-selected { background: #e8f5ee !important; }

/* ToS box */
#isr-wrap .isr-tos-block { background: #fffbeb !important; border: 1.5px solid #fde68a !important; border-radius: 6px !important; padding: 14px !important; }
#isr-wrap .isr-checkbox-text { font-size: 12px !important; color: #6b7280 !important; line-height: 1.6 !important; }
#isr-wrap .isr-checkmark { border: 1.5px solid #e5e7eb !important; border-radius: 4px !important; background: #fff !important; width: 18px !important; height: 18px !important; display: block !important; }
#isr-wrap .isr-checkbox:checked ~ .isr-checkmark { background: #1a7f4b !important; border-color: #1a7f4b !important; }

/* Error messages */
#isr-wrap .isr-err { color: #dc2626 !important; font-size: 11px !important; }
#isr-wrap .isr-req-star { color: #dc2626 !important; }
#isr-wrap .isr-required-badge { background: #fef2f2 !important; color: #dc2626 !important; font-size: 10px !important; font-weight: 700 !important; padding: 1px 6px !important; border-radius: 99px !important; }

/* Divider */
#isr-wrap .isr-divider { border: none !important; border-top: 1px solid #e5e7eb !important; margin: 12px 0 !important; }

/* Auth note */
#isr-wrap .isr-auth-note { font-size: 11px !important; color: #6b7280 !important; text-align: center !important; }

/* Success overlay */
#isr-wrap .isr-success { background: #ffffff !important; }
#isr-wrap .isr-success-title { font-size: 22px !important; font-weight: 800 !important; color: #1a1a2e !important; }
#isr-wrap .isr-success-icon { background: #e8f5ee !important; color: #1a7f4b !important; }



/* ── Included bins label ──────────────────────────────────── */
.isr-included-bins {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: #1a7f4b !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
}
.isr-included-bins .ti { font-size: 14px !important; }

/* ── Additional bins upsell card ──────────────────────────── */
.isr-addon-upsell {
  border: 0.5px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 12px 14px !important;
  margin-bottom: 14px !important;
}
.isr-addon-upsell__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.isr-addon-upsell__title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
}
.isr-addon-upsell__price {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-top: 2px !important;
}

/* ── Included bins inside upsell card ───────────────────── */
.isr-addon-upsell__included {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: #1a7f4b !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 0.5px solid #d1e8d1 !important;
}
#isr-wrap .isr-addon-upsell__included,
#isr-wrap .isr-addon-upsell__included span,
#isr-wrap .isr-addon-upsell__included svg {
  color: #1a7f4b !important;
  stroke: #1a7f4b !important;
}

/* ── Bin qty controls — hard fix for theme conflicts ────── */
#isr-wrap .isr-qty-controls {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow: visible !important;
  background: #ffffff !important;
  width: auto !important;
  min-width: 90px !important;
}
#isr-wrap .isr-qty-btn {
  display: inline-flex !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  background: transparent !important;
  border: none !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  color: #1a1a2e !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}
#isr-wrap .isr-qty-btn:hover {
  background: #f3f4f6 !important;
}
#isr-wrap .isr-qty-display {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 28px !important;
  width: 28px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  border-left: 1px solid #e5e7eb !important;
  border-right: 1px solid #e5e7eb !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
}
#isr-wrap .isr-addon-upsell__header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

/* Disabled state for qty buttons */
#isr-wrap .isr-qty-btn:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

/* ── Service line (recurring clarity row) ───────────────── */
#isr-wrap .isr-service-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 10px 0 4px !important;
}
#isr-wrap .isr-service-line__left {
  flex: 1 !important;
  min-width: 0 !important;
}
#isr-wrap .isr-service-line__name {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  line-height: 1.4 !important;
}
#isr-wrap .isr-service-line__sub {
  font-size: 11px !important;
  color: #6b7280 !important;
  margin-top: 2px !important;
}
#isr-wrap .isr-service-line__price {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* ── Spacing & background fixes v2.1.8 ──────────────────── */

/* Left panel background — force it regardless of theme */
#isr-wrap > .isr-summary-panel,
#isr-wrap .isr-summary-panel {
  background: #F5F4ED !important;
}

/* Brand section — more breathing room */
#isr-wrap .isr-brand {
  margin-bottom: 16px !important;
}

/* Subscribe label */
#isr-wrap .isr-subscribe-label {
  margin-bottom: 4px !important;
  font-size: 13px !important;
}

/* Price block */
#isr-wrap .isr-today-price-block {
  margin-bottom: 4px !important;
}
#isr-wrap .isr-today-price {
  line-height: 1.1 !important;
}
#isr-wrap .isr-recurring-note {
  margin-top: 4px !important;
  margin-bottom: 16px !important;
  font-size: 12px !important;
}

/* No payment note */
#isr-wrap .isr-no-payment-note {
  margin-bottom: 16px !important;
  padding: 10px 12px !important;
  font-size: 11px !important;
  border-radius: 8px !important;
  line-height: 1.5 !important;
}

/* Plan selector */
#isr-wrap .isr-plan-selector {
  margin-bottom: 14px !important;
  gap: 8px !important;
}
#isr-wrap .isr-plan-btn {
  padding: 10px 6px 8px !important;
}
#isr-wrap .isr-plan-btn__label {
  font-size: 12px !important;
  margin-bottom: 3px !important;
}
#isr-wrap .isr-plan-btn__price {
  font-size: 10px !important;
  line-height: 1.5 !important;
}

/* Upsell card */
#isr-wrap .isr-addon-upsell {
  margin-bottom: 14px !important;
  padding: 12px 14px !important;
}
#isr-wrap .isr-addon-upsell__included {
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  font-size: 12px !important;
}
#isr-wrap .isr-addon-upsell__title {
  font-size: 13px !important;
  margin-bottom: 2px !important;
}
#isr-wrap .isr-addon-upsell__price {
  font-size: 12px !important;
}

/* Service line */
#isr-wrap .isr-service-line {
  padding: 10px 0 6px !important;
  margin-bottom: 2px !important;
}
#isr-wrap .isr-service-line__name {
  font-size: 13px !important;
  margin-bottom: 3px !important;
}
#isr-wrap .isr-service-line__sub {
  font-size: 11px !important;
}
#isr-wrap .isr-service-line__price {
  font-size: 13px !important;
}

/* Divider */
#isr-wrap .isr-divider {
  margin: 10px 0 !important;
}

/* Total row */
#isr-wrap .isr-line--total {
  margin-bottom: 6px !important;
}
#isr-wrap .isr-total-label {
  font-size: 13px !important;
}
#isr-wrap .isr-total-price {
  font-size: 15px !important;
}

/* Coupon tag row */
#isr-wrap .isr-line--coupon {
  margin-bottom: 8px !important;
}
#isr-wrap .isr-line-price--discount {
  font-size: 13px !important;
}

/* Coupon entry */
#isr-wrap .isr-coupon-entry {
  margin-top: 8px !important;
}
#isr-wrap .isr-coupon-entry__input {
  height: 38px !important;
  font-size: 13px !important;
}
#isr-wrap .isr-coupon-entry__btn {
  height: 38px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
#isr-wrap .isr-coupon-feedback {
  margin-top: 4px !important;
  font-size: 12px !important;
}

/* Right panel fields */
#isr-wrap .isr-field {
  gap: 5px !important;
  margin-bottom: 2px !important;
}
#isr-wrap .isr-section-heading {
  margin-top: 6px !important;
  margin-bottom: 2px !important;
}

/* ── Mobile styles ── applied via JS but CSS handles inner elements ── */

/* ── Mobile layout ── stack vertically under 720px ─────── */
@media (max-width: 720px) {

  #isr-wrap {
    flex-direction: column !important;
    border-radius: 8px !important;
  }

  /* Left panel — full width on top */
  #isr-wrap > .isr-summary-panel {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 20px 16px 22px !important;
  }

  /* Right panel — full width below */
  #isr-wrap > .isr-form-panel {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 0 8px 8px !important;
    padding: 20px 16px 24px !important;
  }

  /* Plan buttons — keep 3 across but allow text to wrap less */
  #isr-wrap .isr-plan-selector {
    gap: 6px !important;
  }
  #isr-wrap .isr-plan-btn {
    padding: 9px 4px 7px !important;
  }
  #isr-wrap .isr-plan-btn__label {
    font-size: 11px !important;
  }
  #isr-wrap .isr-plan-btn__price {
    font-size: 9px !important;
  }

  /* Upsell card */
  #isr-wrap .isr-addon-upsell {
    padding: 10px 12px !important;
  }

  /* Price */
  #isr-wrap .isr-today-price .isr-price-now {
    font-size: 36px !important;
  }

  /* Brand — slightly smaller image on mobile */
  #isr-wrap #isr-icon {
    width: 52px !important;
    height: 60px !important;
  }

  /* Form fields — full width 2-col grids */
  #isr-wrap .isr-field-row {
    gap: 8px !important;
  }
  #isr-wrap .isr-field-row .isr-field {
    min-width: 0 !important;
  }

  /* Address row — stack city/state/zip */
  #isr-wrap .isr-address-row {
    flex-wrap: wrap !important;
  }

  /* Submit button — sticky on mobile */
  #isr-wrap .isr-submit-btn {
    position: sticky !important;
    bottom: 12px !important;
    z-index: 10 !important;
    box-shadow: 0 4px 16px rgba(249,115,22,.4) !important;
  }
}

/* ── Mobile icon size fix ───────────────────────────────── */
@media (max-width: 720px) {
  #isr-wrap #isr-icon {
    width: 44px !important;
    height: 52px !important;
  }
}

/* ── Success overlay — mobile fixes ─────────────────────── */
@media (max-width: 720px) {
  #isr-wrap .isr-success {
    padding: 24px 16px !important;
    overflow-y: auto !important;
  }
  #isr-wrap .isr-success__emoji {
    font-size: 20px !important;
    margin-bottom: 4px !important;
  }
  #isr-wrap .isr-success__title {
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }
  #isr-wrap .isr-success__inner {
    gap: 14px !important;
  }
}

/* ── Success icon (SVG replaces emoji) ──────────────────── */
#isr-wrap .isr-success__icon {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
}
#isr-wrap .isr-success__icon svg {
  width: 56px !important;
  height: 56px !important;
  flex-shrink: 0 !important;
}
@media (max-width: 720px) {
  #isr-wrap .isr-success__icon svg {
    width: 44px !important;
    height: 44px !important;
  }
}

/* ── SMS consent checkboxes ──────────────────────────────── */
#isr-wrap .isr-sms-checkboxes {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
#isr-wrap .isr-sms-check-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
}
#isr-wrap .isr-sms-check {
  display: none !important;
}
#isr-wrap .isr-sms-check-box {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 1px !important;
  transition: all .15s !important;
}
#isr-wrap .isr-sms-check:checked + .isr-sms-check-box {
  background: #1a7f4b !important;
  border-color: #1a7f4b !important;
}
#isr-wrap .isr-sms-check:checked + .isr-sms-check-box::after {
  content: '' !important;
  display: block !important;
  width: 4px !important;
  height: 8px !important;
  border: 2px solid #ffffff !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) translateY(-1px) !important;
}
#isr-wrap .isr-sms-check-text {
  font-size: 12px !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.55 !important;
}

/* ── Dropdown arrow fix ──────────────────────────────────── */
#isr-wrap select.isr-input {
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 36px !important;
}

/* ── Google Places autocomplete dropdown fix ─────────────── */
.pac-container {
  z-index: 999999 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  border-radius: 8px !important;
  border: 0.5px solid #e5e7eb !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.1) !important;
  margin-top: 4px !important;
}
.pac-item {
  font-size: 13px !important;
  padding: 8px 12px !important;
  cursor: pointer !important;
}
.pac-item:hover {
  background: #f0faf4 !important;
}
.pac-item-query {
  font-size: 13px !important;
  color: #1a1a2e !important;
}
