.planner-shop { width: min(92%, 980px); margin: 42px auto 64px; }
.planner-flyer { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: start; gap: 32px; padding: 28px; overflow: hidden; border: 1px solid #315344; border-radius: 8px; background: #0d1714; }
.planner-book { min-width: 0; margin: 0; }
.flyer-copy { align-self: center; min-width: 0; color: #e4e5da; font-size: 16px; line-height: 1.6; }
.planner-eyebrow { margin: 0 0 18px; color: #b8c6a3; font: 12px 'Courier New', monospace; letter-spacing: .12em; text-transform: uppercase; }
.flyer-copy h2 { margin: 0 0 18px; font: normal 34px/1.1 Georgia, serif; letter-spacing: -.025em; }
.planner-price { margin: 0; color: #f2dfad; font-size: 28px; }
.planner-price span { color: #b2beb5; font-size: 12px; white-space: nowrap; }
.planner-cost-note { margin: 0 0 24px; color: #bdc5bc; font-size: 13px; }
.planner-order { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px 12px; margin-top: 28px; }
.planner-order label { grid-column: 1 / -1; font-size: 13px; }
.planner-order input, .planner-order select { box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid #728b79; border-radius: 4px; color: #f2dfad; background: #13281f; font: inherit; }
#planner-country-field { grid-column: 1 / -1; min-width: 0; }
#planner-country-field label { display: block; margin-bottom: 8px; }
.planner-order .gold-button:disabled { opacity: .65; cursor: wait; }
.planner-order .gold-button { white-space: normal; cursor: pointer; }
.planner-order-note { margin-top: 18px; color: #bdc5bc; font-size: 12px; }
#planner-load-status:empty, #preview-status:empty, #planner-shipping-status:empty, #planner-checkout-status:empty { display: none; }
.planner-book button { padding: 8px 13px; border: 1px solid #728b79; border-radius: 4px; color: #f2dfad; background: #204e3c; cursor: pointer; font: inherit; }
.planner-book button:disabled { opacity: .45; cursor: default; }
#preview-status { margin: 10px 0 0; color: #bdc5bc; font-size: 13px; }
#preview-stage { position: relative; width: 100%; aspect-ratio: 900 / 1278; overflow: hidden; border-radius: 4px; background: #fff; perspective: 1600px; touch-action: pan-y; cursor: pointer; box-shadow: 0 5px 24px #0004; }
#preview-stage:focus-visible { outline: 2px solid #00c8c8; outline-offset: 4px; }
#preview-canvas, #preview-cover { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.page-turn-sheet { position: absolute; inset: 0; z-index: 2; transform-origin: 0 50%; transform-style: preserve-3d; pointer-events: none; box-shadow: 14px 3px 28px #0005; }
.page-turn-front, .page-turn-back, .page-turn-shade { position: absolute; inset: 0; width: 100%; height: 100%; backface-visibility: hidden; }
.page-turn-front { transform: translateZ(.1px); }
.page-turn-back { transform: rotateY(180deg); background: linear-gradient(90deg, #d7d0c0, #fffdf7 16%, #f6f0e3); }
.page-turn-shade { transform: translateZ(.2px); background: linear-gradient(90deg, #0003, transparent 14%, #ffffff16 70%, #0002); }
.preview-controls { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; }
#preview-page { white-space: nowrap; font-variant-numeric: tabular-nums; }
#preview-retry { margin-top: 12px; }
.preview-links { margin: 10px 0 0; font-size: 12px; }
.preview-links a { text-decoration: underline; }
@media (max-width: 740px) {
  .planner-shop { width: min(94%, 460px); margin-top: 24px; }
  .planner-flyer { grid-template-columns: 1fr; gap: 28px; padding: 20px; }
  .flyer-copy h2 { font-size: 32px; }
}
