/* POC prints: product choice in the order panel. */
.order-panel{grid-template-columns:minmax(0,1fr) 210px}
.order-panel .order-eyebrow,.order-panel .product-choice,.order-panel .legal-checkout,.order-panel #checkout,.order-panel .checkout-status{grid-column:1/-1}
.order-eyebrow{margin:0;font-size:11px;font-weight:800;letter-spacing:.14em;color:#a8792d}
.product-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.product-option{position:relative;display:flex!important;flex-direction:column;gap:3px;padding:14px 14px 13px;border:1px solid #d8cbb8;border-radius:14px;background:#fffaf1;cursor:pointer;font-weight:400!important;transition:border-color .15s,box-shadow .15s}
.product-option:hover{border-color:#b68a3d}
.product-option input{position:absolute;opacity:0;pointer-events:none}
.product-option.is-selected{border-color:#1c1b18;box-shadow:0 0 0 1px #1c1b18}
.product-option:focus-within{outline:2px solid #a8792d;outline-offset:2px}
.po-name{font-family:Georgia,serif;font-size:19px;color:#1c1b18}
.po-price{font-size:14px;font-weight:700;color:#1c1b18}
.po-desc{font-size:12px;line-height:1.35;color:#6e6559}
.po-badge{position:absolute;top:-9px;right:10px;background:#1c1b18;color:#f6f0e6;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:10px}
.order-options{display:grid;gap:10px}
.order-options .helper{margin:0}
.frame-colors{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.frame-colors[hidden]{display:none}
.frame-colors legend{font-size:11px;font-weight:800;padding:0;margin-bottom:6px;width:100%}
.frame-colors label{display:inline-flex!important;align-items:center;gap:7px;font-weight:400!important;cursor:pointer}
.frame-colors input{position:absolute;opacity:0;pointer-events:none}
.frame-colors input:checked+.swatch{box-shadow:0 0 0 2px #f6f0e6,0 0 0 4px #1c1b18}
.frame-colors input:focus-visible+.swatch{outline:2px solid #a8792d;outline-offset:3px}
.frame-colors label{position:relative}
.swatch{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #bdb1a0}
.swatch-black{background:#1d1c1a}.swatch-white{background:#fbfaf6}.swatch-natural{background:#c9a878}
.order-panel .custom-order-note{margin:2px 0 4px 34px;font-size:12px;line-height:1.45;color:#625a50}
.custom-order-note[hidden]{display:none}
@media (max-width:760px){
  .order-panel{grid-template-columns:minmax(0,1fr)}
  .product-choice{grid-template-columns:minmax(0,1fr)}
  .product-option{display:grid!important;grid-template-columns:1fr auto;align-items:baseline;column-gap:10px}
  .product-option .po-desc{grid-column:1/-1}
  .po-badge{top:-8px}
}
.photo-requirement{grid-column:1/-1;margin:0;padding:10px 14px;border:1px solid #d9b98a;background:#fbf1e2;color:#6b4e22;font-size:13px;line-height:1.45;border-radius:10px}
.photo-requirement[hidden]{display:none}
.photo-requirement.is-blocking{border-color:#c98a7e;background:#fbe9e5;color:#8a2f22;font-weight:600}
/* Optional photos: the row adapts to 1, 2 or 3 photos; without photos it is
   left out: the map stays under the title, the stops move to the middle of
   the free space and the closing line sits at the bottom. */
.poster-photos.premium-photos[data-count="1"]{grid-template-columns:1fr}
.poster-photos.premium-photos[data-count="2"]{grid-template-columns:repeat(2,1fr)}
.final-poster.no-photos .poster-photos{display:none}
.final-poster.no-photos .poster-stops{margin-top:auto;margin-bottom:auto}
/* Framed: the chosen frame colour around the screen preview. box-shadow is not drawn by html2canvas,
   and .is-exporting removes it anyway, so downloads and print files never contain the frame. */
.poster-wrap[data-frame] .final-poster{transition:box-shadow .2s}
.poster-wrap[data-frame="black"] .final-poster{box-shadow:0 0 0 13px #1c1b19,0 0 0 14px #000,0 10px 28px 14px rgba(20,16,10,.28)}
.poster-wrap[data-frame="white"] .final-poster{box-shadow:0 0 0 13px #f6f4ef,0 0 0 14px #cfc8bb,0 10px 28px 14px rgba(20,16,10,.22)}
.poster-wrap[data-frame="natural"] .final-poster{box-shadow:0 0 0 2px #a97c4f,0 0 0 13px #c79a68,0 0 0 14px #8f6640,0 10px 28px 14px rgba(20,16,10,.25)}
.poster-wrap[data-frame] .final-poster.is-exporting{box-shadow:none!important}
@media(min-width:901px){.poster-wrap[data-frame]:not([data-frame=""]){padding:42px}}
/* Layout choice for 10 x 15 (1.17.0-rc.2): landscape / portrait as pill buttons. */
.orientation-choice label{border:1px solid #c9b9a2;border-radius:16px;padding:5px 13px;font-size:13px}
.orientation-choice label:has(input:checked){background:#1c1b18;color:#f6f0e6;border-color:#1c1b18}
.orientation-choice label:has(input:focus-visible){outline:2px solid #a8792d;outline-offset:2px}
