/* Shared visual identity with the book landing page. */
:root {
  --bg: #FBF8F3;
  --heading: #16233F;
  --body: #55607A;
  --cta: #E8A317;
  --cta-hover: #C98A10;
  --section: #F6F1E7;
  --highlight: #FCE9B8;
  --dark: #16233F;
  --light: #F6F1E7;
  --muted: #55607A;
  --accent: #E8A317;
  --border: #E4DED3;
  --border-focus: #2F4A8C;
  --shadow-sm: 0 1px 3px rgba(22,35,63,.06);
  --shadow-md: 0 4px 16px rgba(22,35,63,.08);
  --shadow-lg: 0 8px 32px rgba(22,35,63,.12);
  --radius: 10px;
  --radius-lg: 16px;
}
body { font-family: 'DM Sans', Arial, sans-serif; background: var(--bg); color: var(--body); }
button, input, select { font-family: inherit; }
[hidden] { display: none !important; }
.checkout-header { background: var(--white); border-bottom: 1px solid var(--border); }
.checkout-logo, .section-title, .summary-title, .bundle-section-title, .bump-section h2 { font-family: 'Recoleta', Georgia, serif; color: var(--heading); }
.checkout-logo { font-size: 24px; line-height: 1.25; }
.checkout-card, .bundle-section, .order-summary, .bump-section { border-color: var(--border); background: var(--white); box-shadow: 0 4px 18px rgba(22,35,63,.035); }
.section-number { background: var(--heading); color: #fff; }
.bundle-option.selected, .shipping-option.selected, .payment-method.selected { border-color: var(--cta); background: #FFF8E8; }
.bundle-option:hover, .shipping-option:hover, .payment-method:hover { border-color: var(--cta); }
.bundle-badge { color: var(--heading); background: var(--highlight); }
.bundle-savings, .bundle-per-unit { color: var(--body); }
.bundle-savings { font-size: 11px; line-height: 1.45; max-width: 180px; margin-left: auto; }
.checkout-btn { background: var(--cta) !important; color: var(--heading) !important; border: 1px solid #D89716; box-shadow: 0 3px 0 #C98A10; font-weight: 700; }
.checkout-btn:hover { background: #F1B32D !important; }
.checkout-btn:disabled { background: #EEE8DC !important; color: #55607A !important; border-color: #DDD5C6; box-shadow: none; cursor: not-allowed !important; }
.float-field input:focus, .float-field select:focus { border-color: var(--border-focus); box-shadow: 0 0 0 3px rgba(47,74,140,.1); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(47,74,140,.55); outline-offset: 3px; }
.draft-note { padding: 12px 22px; text-align: center; background: #FCE9B8; font: 14px/1.55 'DM Sans', Arial, sans-serif; color: var(--heading); border-bottom: 1px solid var(--border); }
.page-preloader, .payment-preloader { background: var(--bg) !important; }
.page-preloader .preloader-logo-container img { max-height: 170px; width: auto; filter: drop-shadow(0 4px 18px rgba(22,35,63,.15)); }
.payment-preloader p { color: var(--heading); }
.mini-book { background: #F6F1E7 !important; color: var(--heading) !important; }
.summary-product-img img { object-fit: contain !important; }
.btn-subtext { line-height: 1.65; }
.mobile-summary-bar { background: var(--bg); border-color: var(--border); }
.breadcrumb-step.active, .breadcrumb-step.done, .summary-line.total { color: var(--heading); }
.breadcrumb-step.done svg { color: var(--heading); }
.bump-section { padding: 24px; margin: 0 0 22px; border: 1px solid var(--border); border-radius: var(--radius-lg); }
.bump-eyebrow { color: var(--body); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 8px; }
.bump-section h2 { font-size: 23px; line-height: 1.25; margin: 0 0 10px; }
.bump-section-intro { font-size: 13px; line-height: 1.6; margin-bottom: 18px; }
#order-bumps-list { display: grid; gap: 12px; }
.book-bump-card { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: #fff; transition: border-color .18s, background .18s; }
.book-bump-card:hover { border-color: var(--cta); }
.book-bump-card.is-selected { border-color: var(--cta); box-shadow: 0 0 0 1px var(--cta); }
.book-bump-header { width: 100%; border: 0; background: transparent; color: var(--body); display: grid; grid-template-columns: 66px minmax(0,1fr) 20px; gap: 16px; align-items: center; padding: 18px; text-align: left; cursor: pointer; }
.book-bump-header:hover { background: #FBF8F3; }
.book-bump-header:focus-visible { outline-offset: -4px; }
.book-bump-cover { width: 66px; height: 94px; object-fit: contain; }
.book-bump-copy { display: grid; gap: 4px; min-width: 0; }
.book-bump-title { font-family: 'Recoleta', Georgia, serif; font-size: 18px; line-height: 1.3; color: var(--heading); overflow-wrap: break-word; }
.book-bump-author { font-size: 11px; color: var(--body); }
.book-bump-price { color: var(--heading); font-size: 16px; margin-top: 3px; }
.book-bump-expand-label { color: #2F4A8C; font-size: 11px; font-weight: 600; margin-top: 4px; text-decoration: underline; text-underline-offset: 3px; }
.book-bump-chevron { color: var(--heading); font-size: 26px; transition: transform .2s; }
.book-bump-header[aria-expanded="true"] .book-bump-chevron { transform: rotate(180deg); }
.book-bump-detail { padding: 22px; border-top: 1px solid var(--border); font-size: 13px; line-height: 1.75; }
.book-bump-detail h3 { font-family: 'Recoleta', Georgia, serif; color: var(--heading); font-size: 22px; line-height: 1.35; margin: 0 0 14px; }
.book-bump-detail h4 { color: var(--heading); font-size: 14px; margin: 20px 0 12px; }
.book-bump-detail p { margin-bottom: 14px; }
.book-bump-intro { font-weight: 500; color: var(--heading); }
.book-bump-topics { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.book-bump-topics li { border-left: 3px solid var(--cta); padding-left: 12px; }
.book-bump-topics strong, .book-bump-topics span { display: block; }
.book-bump-topics strong { color: var(--heading); }
.book-bump-together { padding: 16px; background: var(--bg); border-radius: 8px; margin-top: 20px; }
.book-bump-together h4 { margin: 0 0 8px; }
.book-bump-together p, .book-bump-detail .book-bump-included { margin-bottom: 0; }
.book-bump-included { margin-top: 18px; color: var(--heading); font-weight: 600; }
.book-bump-selection { padding: 13px 18px; display: flex; gap: 11px; align-items: center; cursor: pointer; background: #F6F1E7; border-top: 1px solid var(--border); }
.book-bump-selection input { width: 19px; height: 19px; flex: none; accent-color: var(--heading); cursor: pointer; }
.book-bump-selection-label { color: var(--heading); font-size: 13px; display: block; }
.book-bump-selection small { display: block; margin-top: 3px; font-size: 11px; }
.book-bump-card.is-selected .book-bump-selection { background: var(--highlight); }
.bump-summary-line { gap: 16px; border-top: 1px dashed var(--border); padding: 10px 0; }
.bump-summary-name { font-size: 12px; line-height: 1.45; }
.bump-summary-price { white-space: nowrap; font-weight: 700; color: var(--heading); }
@media (max-width: 600px) {
  .checkout-logo { font-size: 20px; max-width: 255px; }
  .bump-section { padding: 18px; }
  .bump-section h2 { font-size: 21px; }
  .book-bump-header { grid-template-columns: 52px minmax(0,1fr) 16px; gap: 11px; padding: 14px; }
  .book-bump-detail { padding: 18px 15px; }
  .book-bump-selection { padding: 13px 14px; }
  .book-bump-cover { width: 55px; height: 82px; }
  .book-bump-title { font-size: 16px; }

  .bundle-savings { max-width: 140px; }
  .draft-note { font-size: 12px; padding: 10px 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { animation: none !important; transition: none !important; } }

.checkout-logo img { width: 140px; height: 49px; object-fit: contain; display: block; }
.inpost-logo { width: 64px; height: 38px; object-fit: contain; vertical-align: middle; flex: none; }
.msb-gls { background: transparent; padding: 0; }

/* Compact quantity choices with an explicit physical-book count. */
.checkout-header { padding-bottom: 25px; }
.breadcrumb { margin-top: 20px; line-height: 1.6; }
.bundle-section { padding: 20px; }
.bundle-section-title { margin-bottom: 8px; }
.bundle-explanation { font-size: 12px; line-height: 1.6; margin: 0 0 14px; }
.bundle-options { gap: 7px; }
.bundle-option { padding: 10px 12px; gap: 11px; min-height: 64px; }
.bundle-info { flex-direction: column; align-items: flex-start; gap: 3px; }
.bundle-label { font-size: 14px; line-height: 1.3; }
.bundle-description { font-size: 11px; line-height: 1.4; }
.bundle-price { font-size: 16px; }
.bundle-per-unit { font-size: 10px; }
.bundle-option:focus-within { outline: 3px solid rgba(47,74,140,.45); outline-offset: 2px; }
.shipping-option { padding: 10px 12px; align-items: center; gap: 10px; }
.shipping-option-info { gap: 7px; }
.shipping-option-info .inpost-logo { width: 47px; height: 27px; }
.shipping-option-name, .shipping-option-price { font-size: 13px; }
.shipping-option-desc { font-size: 11px; margin-top: 0; line-height: 1.5; }
.paczkomat-selector { padding: 8px 12px; }
.paczkomat-select-btn { min-height: 40px; padding: 9px 12px; }
@media (max-width: 600px) {
  .checkout-header { padding-bottom: 22px; }
  .bundle-section { padding: 17px; }
  .bundle-option { padding: 9px 11px; }
  .shipping-option-info { flex-wrap: wrap; gap: 3px 6px; }
}

.shipping-availability { font-size: 12px; line-height: 1.65; padding: 10px 12px; margin-bottom: 12px; color: var(--heading); background: var(--section); border-radius: 8px; }
