/*
 * IONTMAX – popup „Koupit nyní“ (Shoptet Express Checkout / Colorbox)
 * v25 – close hover circle not clipped by modal overflow/radius
 */

#colorbox.express-checkout,
#cboxOverlay.express-checkout {
  --im-bn-text: #111214;
  --im-bn-muted: #6b7280;
  --im-bn-line: #ececec;
  --im-bn-soft: #f6f6f6;
  --im-bn-card: #ffffff;
  --im-bn-accent: #303233;
  --im-bn-accent-hover: #1a1b1d;
  --im-bn-radius: 14px;
  --im-bn-pad: 20px;
  --im-bn-gap: 12px;
  --im-bn-btn-h: 52px;
  --im-bn-btn-radius: 12px;
}

/* ─── Overlay ─── */

#cboxOverlay.express-checkout {
  background: rgba(17, 18, 20, 0.52) !important;
  opacity: 1 !important;
}

/* ─── Modal shell ─── */

#colorbox.express-checkout {
  position: fixed !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  overflow: visible !important;
  width: min(calc(100vw - 24px), 520px) !important;
  max-width: 520px !important;
  height: auto !important;
  max-height: min(90vh, 760px) !important;
  border-radius: var(--im-bn-radius) !important;
  box-shadow: 0 18px 48px rgba(17, 18, 20, 0.18) !important;
}

#colorbox.express-checkout #cboxWrapper,
#colorbox.express-checkout #cboxMiddleLeft,
#colorbox.express-checkout #cboxMiddleRight,
#colorbox.express-checkout #cboxTopLeft,
#colorbox.express-checkout #cboxTopCenter,
#colorbox.express-checkout #cboxTopRight,
#colorbox.express-checkout #cboxBottomLeft,
#colorbox.express-checkout #cboxBottomCenter,
#colorbox.express-checkout #cboxBottomRight {
  background: transparent !important;
}

#colorbox.express-checkout #cboxWrapper {
  position: static !important;
  width: 100% !important;
  border-radius: var(--im-bn-radius) !important;
  overflow: visible !important;
}

#colorbox.express-checkout #cboxContent {
  position: relative !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  height: auto !important;
  max-height: min(90vh, 760px) !important;
  margin: 0 !important;
  border: 0 !important;
  background: var(--im-bn-card) !important;
  border-radius: var(--im-bn-radius) !important;
  overflow: visible !important;
}

#colorbox.express-checkout #cboxLoadedContent {
  box-sizing: border-box !important;
  width: 100% !important;
  max-height: min(90vh, 760px) !important;
  padding: 0 !important;
  border-radius: var(--im-bn-radius) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

#colorbox.express-checkout #cboxMiddleLeft,
#colorbox.express-checkout #cboxMiddleRight {
  display: none !important;
}

#colorbox.express-checkout #cboxClose {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 30 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: transparent !important;
  background-image: none !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 0 !important;
  color: var(--im-bn-muted) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  text-decoration: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transform: none !important;
}

#colorbox.express-checkout #cboxClose::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1.5 1.5l11 11M12.5 1.5l-11 11' stroke='%23000' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1.5 1.5l11 11M12.5 1.5l-11 11' stroke='%23000' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

#colorbox.express-checkout #cboxClose::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

#colorbox.express-checkout #cboxClose:hover,
#colorbox.express-checkout #cboxClose:focus-visible {
  background-color: var(--im-bn-soft) !important;
  background-image: none !important;
  color: var(--im-bn-text) !important;
}

#colorbox.express-checkout #cboxClose:hover::before,
#colorbox.express-checkout #cboxClose:focus-visible::before {
  background-color: currentColor !important;
}

/* ─── Header ─── */

#colorbox.express-checkout .express-checkout__header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 60px !important;
  padding: 16px var(--im-bn-pad) !important;
  border-bottom: 1px solid var(--im-bn-line) !important;
  background: var(--im-bn-card) !important;
  box-shadow: none !important;
}

#colorbox.express-checkout .express-checkout__header-back-button {
  position: absolute !important;
  top: 50% !important;
  left: 12px !important;
  transform: translateY(-50%) !important;
}

#colorbox.express-checkout .express-checkout__header-back-button.btn {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--im-bn-muted) !important;
  box-shadow: none !important;
}

#colorbox.express-checkout .express-checkout__header-back-button.btn:hover {
  background: var(--im-bn-soft) !important;
  color: var(--im-bn-text) !important;
}

#colorbox.express-checkout .express-checkout__header-title,
#colorbox.express-checkout .express-checkout__header-title.h1,
#colorbox.express-checkout .express-checkout__header-title.h2,
#colorbox.express-checkout .express-checkout__header-title.h3 {
  margin: 0 !important;
  padding: 0 40px !important;
  color: var(--im-bn-text) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}

/* ─── Body (cart page bg) ─── */

#colorbox.express-checkout .express-checkout__body {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--im-bn-gap) !important;
  padding: var(--im-bn-pad) !important;
  background: #f6f6f7 !important;
  color: var(--im-bn-text) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

#colorbox.express-checkout .express-checkout__body > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Product stack – white cards like /kosik */

#colorbox.express-checkout .im-buy-now-products {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--im-bn-gap) !important;
  margin: 0 !important;
}

#colorbox.express-checkout .im-buy-now-product-card.express-checkout__product,
#colorbox.express-checkout .im-buy-now-product-card.express-checkout__gift {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  grid-template-areas: "image info price" !important;
  gap: 8px 12px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: var(--im-bn-radius) !important;
  background: var(--im-bn-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-inner {
  display: contents !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-image,
#colorbox.express-checkout .im-buy-now-product-card .express-checkout__gift-image {
  grid-area: image !important;
  display: flex !important;
  flex: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-image img,
#colorbox.express-checkout .im-buy-now-product-card .express-checkout__gift-image img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-name,
#colorbox.express-checkout .im-buy-now-product-card .express-checkout__gift-name {
  grid-area: info !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

#colorbox.express-checkout .im-buy-now-product__title {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

#colorbox.express-checkout .im-buy-now-product__title + .im-buy-now-discount-badge {
  margin-top: 3px !important;
}

#colorbox.express-checkout .im-buy-now-product__title + .im-buy-now-product__qty {
  margin-top: 4px !important;
}

#colorbox.express-checkout .im-buy-now-product__qty {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: var(--im-bn-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-prices {
  grid-area: price !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 88px !important;
}

#colorbox.express-checkout .im-buy-now-discount-badge,
#colorbox.express-checkout .im-vl-inline-pricing__badge {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 2px 7px !important;
  border: 1px solid #b8dfc5 !important;
  border-radius: 6px !important;
  background: #ecf7ef !important;
  color: #1a7332 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

#colorbox.express-checkout .im-buy-now-discount-badge + .im-buy-now-product__qty {
  margin-top: 4px !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-price-standard {
  margin: 0 !important;
  color: #8a909a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-price-final,
#colorbox.express-checkout .im-buy-now-product-card .express-checkout__gift-price {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

#colorbox.express-checkout .im-buy-now-product-card .express-checkout__product-price-final ins {
  text-decoration: none !important;
}

/* Hidden discount rows (moved to badge / total box) */

#colorbox.express-checkout .im-buy-now-discount-hidden,
#colorbox.express-checkout .im-buy-now-summary,
#colorbox.express-checkout .express-checkout__body > .express-checkout__discount,
#colorbox.express-checkout .express-checkout__discount--standalone {
  display: none !important;
}

/* Total box – sidebar style from /kosik */

#colorbox.express-checkout .im-buy-now-total-box {
  margin: 0 !important;
  padding: var(--im-bn-pad) !important;
  border: 0 !important;
  border-radius: var(--im-bn-radius) !important;
  background: var(--im-bn-soft) !important;
}

#colorbox.express-checkout .im-buy-now-total-box__discounts {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--im-bn-line) !important;
}

#colorbox.express-checkout .im-buy-now-total-discount-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: var(--im-bn-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#colorbox.express-checkout .im-buy-now-total-discount-row__value {
  color: #1f7a33 !important;
  font-weight: 700 !important;
}

#colorbox.express-checkout .im-buy-now-total-box .express-checkout__products-price-total {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 6px 16px !important;
  align-items: baseline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#colorbox.express-checkout .im-buy-now-total-box .express-checkout__products-price-total-label {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

#colorbox.express-checkout .im-buy-now-total-box .express-checkout__products-price-total-value {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-align: right !important;
}

/* Actions block – CSS only, bez přesunu DOM (platba zůstává na místě) */

#colorbox.express-checkout .express-checkout__body > .express-checkout__quick-payment {
  margin: 0 !important;
  padding: var(--im-bn-pad) !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: var(--im-bn-radius) !important;
  background: var(--im-bn-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

#colorbox.express-checkout .express-checkout__body > .express-checkout__login-footer {
  margin: 0 !important;
  padding: var(--im-bn-pad) !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: var(--im-bn-radius) !important;
  background: var(--im-bn-card) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

#colorbox.express-checkout .express-checkout__body > .express-checkout__divider {
  margin: 0 !important;
  padding: 0 !important;
}

/* ─── Divider „nebo“ – banner strip ─── */

#colorbox.express-checkout .express-checkout__divider {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#colorbox.express-checkout .express-checkout__divider::before {
  display: none !important;
}

#colorbox.express-checkout .express-checkout__divider-text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  background: var(--im-bn-soft) !important;
  color: var(--im-bn-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

#colorbox.express-checkout .express-checkout__body > .express-checkout__gdpr {
  margin: 0 !important;
  padding: 0 4px 4px !important;
}

#colorbox.express-checkout .im-buy-now-actions {
  display: contents !important;
}

#colorbox.express-checkout .im-buy-now-actions .express-checkout__quick-payment,
#colorbox.express-checkout .im-buy-now-actions .express-checkout__login-footer {
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: var(--im-bn-radius) !important;
  background: var(--im-bn-card) !important;
}

#colorbox.express-checkout .im-buy-now-actions .express-checkout__quick-payment {
  margin-bottom: 12px !important;
}

/* Legacy product rows (before JS layout) */

#colorbox.express-checkout .express-checkout__product:not(.im-buy-now-product-card),
#colorbox.express-checkout .express-checkout__gift:not(.im-buy-now-product-card) {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 12px !important;
}

#colorbox.express-checkout .express-checkout__product-inner,
#colorbox.express-checkout .express-checkout__gift {
  display: flex !important;
  flex: 1 1 auto !important;
  gap: 12px !important;
  align-items: center !important;
  min-width: 0 !important;
}

#colorbox.express-checkout .express-checkout__product-image,
#colorbox.express-checkout .express-checkout__gift-image,
#colorbox.express-checkout .express-checkout__pre-authorization-product-image {
  display: flex !important;
  flex: 0 0 48px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden !important;
}

#colorbox.express-checkout .express-checkout__product-image img,
#colorbox.express-checkout .express-checkout__gift-image img,
#colorbox.express-checkout .express-checkout__pre-authorization-product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

#colorbox.express-checkout .express-checkout__product-name,
#colorbox.express-checkout .express-checkout__gift-name,
#colorbox.express-checkout .express-checkout__pre-authorization-product-name {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

#colorbox.express-checkout .express-checkout__product-prices {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
}

#colorbox.express-checkout .express-checkout__product-price-standard {
  margin: 0 !important;
  color: var(--im-bn-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

#colorbox.express-checkout .express-checkout__product-price-final,
#colorbox.express-checkout .express-checkout__gift-price {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

#colorbox.express-checkout .express-checkout__product-price-final ins {
  text-decoration: none !important;
}

#colorbox.express-checkout .express-checkout__gift-price {
  margin-left: auto !important;
  color: #2f9e44 !important;
}

/* Discount + total */

#colorbox.express-checkout .express-checkout__discount,
#colorbox.express-checkout .express-checkout__discount--standalone {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  padding-left: 0 !important;
  border-top: 1px solid var(--im-bn-line) !important;
}

#colorbox.express-checkout .express-checkout__discount-name {
  margin: 0 !important;
  color: var(--im-bn-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#colorbox.express-checkout .express-checkout__discount-value {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

#colorbox.express-checkout .express-checkout__products-price-total {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--im-bn-line) !important;
}

#colorbox.express-checkout .express-checkout__products-price-total-label {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

#colorbox.express-checkout .express-checkout__products-price-total-value {
  margin: 0 !important;
  color: var(--im-bn-text) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

/* ─── Wallet buttons (Apple Pay + Google Pay) – JEDINÉ místo v projektu ─── */

#colorbox.express-checkout .express-checkout__quick-payment {
  margin: 0 !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-title {
  margin: 0 0 8px !important;
  color: var(--im-bn-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-description {
  margin: 0 0 16px !important;
  color: var(--im-bn-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-buttons > script,
#colorbox.express-checkout .express-checkout__quick-payment-buttons > style {
  display: none !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-buttons > #stpGwRoot,
#colorbox.express-checkout #stpGwRoot {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#colorbox.express-checkout #stpGwRoot apple-pay-button,
#colorbox.express-checkout .express-checkout__quick-payment-buttons apple-pay-button {
  --apple-pay-button-width: 100%;
  --apple-pay-button-height: var(--im-bn-btn-h);
  --apple-pay-button-border-radius: var(--im-bn-btn-radius);
  --apple-pay-button-box-sizing: border-box;
  display: block !important;
  width: 100% !important;
  min-height: var(--im-bn-btn-h) !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-buttons google-pay-button {
  display: block !important;
  width: 100% !important;
  height: var(--im-bn-btn-h) !important;
  min-height: var(--im-bn-btn-h) !important;
}

#colorbox.express-checkout .express-checkout__quick-payment-buttons .adyen-checkout__paywithgoogle,
#colorbox.express-checkout .express-checkout__quick-payment-buttons .gpay-button-fill,
#colorbox.express-checkout .express-checkout__quick-payment-buttons button.gpay-button {
  display: block !important;
  width: 100% !important;
  height: var(--im-bn-btn-h) !important;
  min-height: var(--im-bn-btn-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--im-bn-btn-radius) !important;
  background: var(--im-bn-soft) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* CTA styly (.btn-conversion) nesmí sahat na pay widgety */

/* ─── Login / guest ─── */

#colorbox.express-checkout .express-checkout__login-footer,
#colorbox.express-checkout .express-checkout__summary,
#colorbox.express-checkout .express-checkout__pre-authorization-button,
#colorbox.express-checkout .express-checkout__invoicing-button,
#colorbox.express-checkout .express-checkout__discount-coupon {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#colorbox.express-checkout .express-checkout__quick-payment .btn.btn-conversion,
#colorbox.express-checkout .express-checkout__quick-payment-buttons .btn.btn-conversion {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#colorbox.express-checkout .express-checkout__login-footer .btn,
#colorbox.express-checkout .express-checkout__login-footer .btn-conversion,
#colorbox.express-checkout .express-checkout__summary .btn,
#colorbox.express-checkout .express-checkout__summary .btn-conversion,
#colorbox.express-checkout .express-checkout__pre-authorization-button .btn,
#colorbox.express-checkout .express-checkout__pre-authorization-button .btn-conversion,
#colorbox.express-checkout .express-checkout__invoicing-button .btn,
#colorbox.express-checkout .express-checkout__invoicing-button .btn-conversion,
#colorbox.express-checkout .express-checkout__discount-coupon .btn,
#colorbox.express-checkout .express-checkout__result-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: var(--im-bn-btn-h) !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: var(--im-bn-btn-radius) !important;
  background: var(--im-bn-accent) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

#colorbox.express-checkout .express-checkout__login-footer .btn:hover,
#colorbox.express-checkout .express-checkout__login-footer .btn-conversion:hover,
#colorbox.express-checkout .express-checkout__summary .btn:hover,
#colorbox.express-checkout .express-checkout__summary .btn-conversion:hover,
#colorbox.express-checkout .express-checkout__pre-authorization-button .btn:hover,
#colorbox.express-checkout .express-checkout__pre-authorization-button .btn-conversion:hover,
#colorbox.express-checkout .express-checkout__invoicing-button .btn:hover,
#colorbox.express-checkout .express-checkout__invoicing-button .btn-conversion:hover,
#colorbox.express-checkout .express-checkout__discount-coupon .btn:hover,
#colorbox.express-checkout .express-checkout__result-button:hover {
  background: var(--im-bn-accent-hover) !important;
  color: #fff !important;
}

#colorbox.express-checkout .express-checkout__login-footer .btn-conversion::after,
#colorbox.express-checkout .express-checkout__summary .btn-conversion::after,
#colorbox.express-checkout .express-checkout__pre-authorization-button .btn-conversion::after,
#colorbox.express-checkout .express-checkout__invoicing-button .btn-conversion::after,
#colorbox.express-checkout .express-checkout__result-button.btn-conversion::after {
  display: none !important;
  content: none !important;
}

#colorbox.express-checkout .express-checkout__login-footer-link {
  margin: 0 !important;
  color: var(--im-bn-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

#colorbox.express-checkout .express-checkout__login-footer-link a {
  color: var(--im-bn-text) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

#colorbox.express-checkout .express-checkout__login-footer-link a:hover {
  color: var(--im-bn-accent) !important;
}

#colorbox.express-checkout .express-checkout__login-title {
  margin: 0 0 12px !important;
  color: var(--im-bn-text) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

#colorbox.express-checkout .express-checkout__login-form-group {
  margin: 0 !important;
}

#colorbox.express-checkout .express-checkout__login-form-group + .express-checkout__login-form-group {
  margin-top: 10px !important;
}

#colorbox.express-checkout .express-checkout__login-form-group label {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--im-bn-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#colorbox.express-checkout .express-checkout__login-form-group .form-control {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#colorbox.express-checkout .express-checkout__login-form-group .form-control:focus {
  border-color: var(--im-bn-accent) !important;
  box-shadow: 0 0 0 2px rgba(48, 50, 51, 0.12) !important;
  outline: none !important;
}

/* ─── GDPR / legal ─── */

#colorbox.express-checkout .express-checkout__gdpr {
  margin: 20px 0 0 !important;
  color: var(--im-bn-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

#colorbox.express-checkout .express-checkout__gdpr a {
  color: var(--im-bn-muted) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

#colorbox.express-checkout .express-checkout__gdpr a:hover {
  color: var(--im-bn-text) !important;
}

/* ─── Checkout steps (shipping / billing / summary) ─── */

#colorbox.express-checkout .express-checkout__info {
  margin-top: 16px !important;
  padding: 0 16px !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

#colorbox.express-checkout .express-checkout__info-shipping,
#colorbox.express-checkout .express-checkout__info-invoicing,
#colorbox.express-checkout .express-checkout__info-billing {
  min-height: 52px !important;
  padding: 14px 0 !important;
  border-top: 1px solid var(--im-bn-line) !important;
}

#colorbox.express-checkout .express-checkout__info-shipping:first-child,
#colorbox.express-checkout .express-checkout__info-invoicing:first-child,
#colorbox.express-checkout .express-checkout__info-billing:first-child {
  border-top: 0 !important;
}

#colorbox.express-checkout .express-checkout__info-shipping-name,
#colorbox.express-checkout .express-checkout__info-invoicing-name,
#colorbox.express-checkout .express-checkout__info-billing-name {
  color: var(--im-bn-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

#colorbox.express-checkout .express-checkout__info-invoicing-detail {
  color: var(--im-bn-muted) !important;
  font-size: 13px !important;
}

#colorbox.express-checkout .express-checkout__info-shipping-price,
#colorbox.express-checkout .express-checkout__shipping-billing-item-price {
  color: #2f9e44 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

#colorbox.express-checkout .express-checkout__summary-price {
  margin: 0 0 12px !important;
  color: var(--im-bn-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

#colorbox.express-checkout .express-checkout__summary-error {
  margin: 0 0 10px !important;
  color: #e03131 !important;
  font-size: 13px !important;
  text-align: center !important;
}

#colorbox.express-checkout .express-checkout__shipping-billing {
  padding: 0 !important;
}

#colorbox.express-checkout .express-checkout__shipping-billing-item-wrapper {
  margin-bottom: 8px !important;
  padding: 0 !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

#colorbox.express-checkout .express-checkout__shipping-billing-footer {
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--im-bn-line) !important;
}

#colorbox.express-checkout .express-checkout__shipping-billing-footer-link {
  color: var(--im-bn-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

#colorbox.express-checkout .express-checkout__discount-coupon-input-wrapper.form-group label {
  margin-bottom: 6px !important;
  color: var(--im-bn-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#colorbox.express-checkout .express-checkout__discount-coupon-input-wrapper .form-control {
  min-height: 48px !important;
  border: 1px solid var(--im-bn-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

#colorbox.express-checkout .express-checkout__loading {
  padding: 48px 20px !important;
}

#colorbox.express-checkout .express-checkout__loading-spinner {
  border-color: rgba(48, 50, 51, 0.18) !important;
  border-right-color: var(--im-bn-accent) !important;
}

#colorbox.express-checkout .express-checkout__result {
  max-width: none !important;
  padding: 24px 0 !important;
}

#colorbox.express-checkout .express-checkout__result-icon {
  width: 72px !important;
  height: 72px !important;
}

@media (max-width: 479px) {
  #colorbox.express-checkout {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  #colorbox.express-checkout .express-checkout__body {
    padding: 16px !important;
  }

  #colorbox.express-checkout .im-buy-now-summary {
    padding: 14px !important;
  }

  #colorbox.express-checkout .express-checkout__quick-payment-buttons,
  #colorbox.express-checkout .express-checkout__quick-payment-buttons > #stpGwRoot {
    flex-direction: column !important;
  }
}
