/* Editor controls live outside the scaled/exported artwork. */
.map-adjustment{max-width:760px;margin:0 auto 12px}
.map-adjustment .preview-map-controls{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.map-adjustment .preview-map-controls button{width:44px;height:44px;border:1px solid #c8bda9;background:#f9f4ea;color:#263f3d;border-radius:10px;font:600 20px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.map-adjustment .preview-map-controls button:disabled{opacity:.4;cursor:default}
.map-adjustment .preview-map-controls [data-map-move]{width:auto;min-width:120px;padding:0 16px;font-size:14px}
.map-adjustment .preview-map-controls [aria-pressed="true"]{background:#263f3d;color:#fff7e8}
.map-adjustment .preview-map-hint{position:static;display:block;background:none;border-radius:0;padding:0;margin:8px 0 0;font:13px/1.5 Arial,sans-serif;opacity:1}
.poster-map.premium-map{touch-action:pan-y pinch-zoom}
.poster-map.premium-map.map-move-enabled{touch-action:none;outline:2px solid #8b7449;outline-offset:2px}
.creator-mobile-nav{display:none}
.route-map-toggle{display:none}
.creator-body :focus-visible{outline:3px solid #8b7449;outline-offset:3px}

@media(max-width:900px){
  .creator-body{overflow-x:clip}
  .creator-nav{height:auto;min-height:64px;padding:14px 18px;gap:16px}
  .creator-nav>span{max-width:160px;text-align:right;line-height:1.4}
  .creator-mobile-nav{display:flex;position:sticky;top:0;z-index:1100;padding:8px 12px;gap:6px;background:#f9f4ea;border-bottom:1px solid #d8cbb8}
  .creator-mobile-nav a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none;color:#62594e}
  .creator-mobile-nav a[aria-current]{background:#263f3d;color:#fff7e8}
  #journeyEditor,#posterPreview,#posterOrder{scroll-margin-top:80px}
  .creator,.builder,.preview-side,.build-card,.stop-card,.stop-card-main,.order-panel,.order-panel>*{min-width:0;max-width:100%}
  .builder{padding:24px 18px;overflow:visible}
  .builder h1{font-size:34px}
  .build-card{padding:22px 0}
  .build-card h3{font-size:17px}
  .build-card label,.order-panel label{font-size:13px;line-height:1.5}
  .builder .helper,.route-summary,.digital-note,.digital-license-note,.checkout-status{font-size:13px;line-height:1.55}
  .builder input:not([type=checkbox]),.builder select,.builder textarea,.order-panel select{font-size:16px;min-height:46px;padding:11px 10px;min-width:0;max-width:100%;width:100%}
  .builder button,.order-panel button,.export-tools button{min-height:44px;min-width:44px;touch-action:manipulation}
  .two,.stop-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .map-search{margin:10px 0;min-width:0}
  .map-search input{flex:1;min-width:0;width:0!important}
  .map-search button{font-size:14px;padding:0 16px}
  .real-map{height:300px;touch-action:pan-y pinch-zoom}
  .real-map.route-map-editing{touch-action:none}
  .route-map-toggle{display:block;margin:0 0 8px;padding:10px 16px;border:1px solid #c8bda9;border-radius:10px;background:#fffaf1;color:#263f3d;font-size:14px}
  .route-map-toggle[aria-pressed="true"]{background:#263f3d;color:#fff7e8}
  .real-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
  .stop-list{gap:14px}
  .stop-card{padding:12px}
  .stop-card-top{grid-template-columns:24px minmax(0,1fr);gap:8px}
  .stop-card-actions{grid-column:2;justify-content:flex-end;gap:8px;padding-top:8px}
  .stop-card-actions .stop-action{font-size:20px;border:1px solid #d8cbb8;border-radius:8px;background:#fffaf1}
  .stop-date-field label,.stop-date-warning,.stop-leg-heading{font-size:12px}
  .arrival-editor{padding:12px}
  .arrival-editor h4{font-size:15px}
  #arrivalStatus,#arrivalDestination{font-size:13px;line-height:1.5}
  #arrivalResults button{font-size:14px}
  .upload{padding:24px 12px!important}
  .preview-side{padding:24px 12px 56px;width:100%;overflow:visible}
  .preview-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .preview-toolbar>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between}
  .preview-protection-note{max-width:none;font-size:13px;line-height:1.5}
  .preview-toolbar .export-tools{display:flex;flex-wrap:wrap;justify-content:flex-start;white-space:normal}
  .export-tools .text-btn{font-size:14px;padding:10px 0}
  .export-tools #exportStatus{font-size:12px;white-space:normal;text-align:left;flex-basis:100%}
  .preview-side .poster-wrap{padding:12px;width:100%;height:var(--mobile-poster-height,auto);border-radius:14px;overflow:hidden}
  .preview-side .final-poster{width:704px;min-width:704px;max-width:704px;height:985.6px;aspect-ratio:5/7;margin:0;transform:scale(var(--mobile-poster-scale,1));transform-origin:top left}
  /* Fixed print-space padding and type must not shrink twice on a phone. */
  .preview-side .final-poster.editorial{padding:24px 38px 39px}
  .preview-side .poster-map.country-watercolor{flex:0 0 auto;height:auto;aspect-ratio:1000 / 820}
  .final-poster .poster-head h2{font-size:61px}
  .final-poster .poster-footer blockquote{font-size:15px}
  .poster-stops.premium-stops.many-stops b{font-size:5.2px}
  .poster-stops.premium-stops.many-stops em{font-size:4.8px}
  .poster-stops.premium-stops.many-stops span{font-size:4.75px}
  .order-panel{grid-template-columns:minmax(0,1fr);padding:20px 16px;gap:18px;overflow:visible}
  .order-panel .legal-checkout label{gap:12px;margin:16px 0;font-size:14px;line-height:1.55}
  .order-panel .legal-checkout input{width:22px;height:22px;flex:0 0 22px;margin-top:2px}
  .order-panel .btn{white-space:normal;font-size:16px;min-height:52px}
  .digital-product-badge{white-space:normal;text-align:center;line-height:1.5}
  .sp-consent{max-height:75vh;max-height:75dvh;overflow-y:auto}
  .sp-consent button{min-height:44px}
  .country-suggestion{max-height:85dvh;padding:24px}
}
@media(max-width:480px){.stop-date-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.builder .two{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:no-preference){html:has(.creator-mobile-nav){scroll-behavior:smooth}}
