[hidden]{display:none!important}.places-builder{padding:36px 24px 64px}.places-steps{display:flex;gap:12px;list-style:none;padding:0;margin:0 0 32px;flex-wrap:wrap}.places-steps li{padding:10px 16px;border-radius:24px;background:var(--sky);color:var(--muted);font-size:.85rem}.places-steps [aria-current=step]{background:var(--blue);color:white}.places-workspace{display:grid;grid-template-columns:minmax(0,540px) minmax(260px,1fr);gap:32px;align-items:start}.places-map-wrap{min-width:0}#places-map{width:100%;aspect-ratio:3/4;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--sky)}.places-controls{background:var(--sky);border:1px solid var(--line);border-radius:12px;padding:24px}.places-controls .field{display:flex;flex-direction:column;gap:8px;margin:0 0 20px}.places-controls input,.places-controls select,.places-controls textarea{width:100%;box-sizing:border-box;font:inherit}.places-controls input[type=range]{padding:0;accent-color:var(--blue)}.places-controls input:not([type=range]),.places-controls textarea,.places-controls select{padding:12px;border:1px solid var(--line);border-radius:6px}.places-controls button{white-space:normal;margin-bottom:12px}#places-back{margin-top:24px}#building-editor{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}#building-list{padding-left:22px}#building-list button{text-align:left;font-size:.85rem}#builder-status{min-height:24px}.place-results{display:grid;gap:8px;margin-bottom:20px}.building-pin{display:flex;align-items:center;justify-content:center;min-width:36px!important;width:36px;height:36px;padding:0!important;border:2px solid white!important;border-radius:50%!important;background:var(--blue)!important;color:white!important;font:bold 15px sans-serif;box-shadow:0 2px 8px #0006}#review-buildings{padding-left:24px}#review-buildings li{margin-bottom:12px;overflow-wrap:anywhere}#places-map .mapboxgl-ctrl button{min-width:0;padding:0;margin:0;border-radius:0}#builder-title:focus{outline:none}@media(max-width:700px){.places-builder{padding:24px 16px 40px}.places-workspace{grid-template-columns:1fr;gap:16px}.places-controls{padding:20px}.places-steps{gap:6px;margin-bottom:24px}.places-steps li{font-size:.7rem;padding:8px 10px}#places-map{max-height:65vh;max-width:calc(65vh * .75);margin:auto}}

/* Use the existing designer as the canvas, including its poster layout. */
.places-workspace{grid-template-columns:minmax(0,1fr) 330px}.places-map-wrap{position:sticky;top:16px}#places-map{aspect-ratio:auto;height:760px;max-height:85vh;max-width:none;background:var(--sky)}#places-editor{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.places-workspace{grid-template-columns:1fr}.places-map-wrap{position:static}#places-map{height:520px;max-height:70vh;max-width:none}}

.places-design{margin-bottom:20px}.places-design summary{font-weight:800;cursor:pointer;margin-bottom:12px}.places-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.places-choice-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;margin:0;padding:8px;font-size:12px}.places-choice-grid button[aria-pressed=true]{outline:3px solid var(--blue);outline-offset:-3px;background:var(--sky);color:var(--ink)}.places-choice-grid img{width:100%;height:82px;object-fit:contain}.places-choice-grid svg{width:30px;height:30px;padding:8px;border-radius:50%;background:var(--icon-background,#eee9d8);color:inherit}#icon-results{max-height:320px;overflow:auto;padding:3px}#icon-results button{color:inherit;background:var(--icon-background,#eee9d8)}#icon-results span{color:var(--ink);background:var(--sky);padding:3px;border-radius:3px}.places-icon-picker{min-width:0;padding:10px;margin:0 0 20px;border:1px solid var(--line);border-radius:6px}

.places-address{position:relative;margin-bottom:24px}.places-address .field{margin-bottom:6px}#address-dropdown{position:absolute;top:82px;left:0;right:0;z-index:10;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px var(--ink)26;overflow:hidden}#place-results{max-height:280px;overflow:auto}#place-results [role=option]{padding:12px 14px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4;overflow-wrap:anywhere}#place-results [role=option]:hover,#place-results [aria-selected=true]{background:var(--sky)}.address-credit{font-size:11px;margin:0;padding:8px 14px;background:var(--sky)}.places-map-empty{padding:40px;text-align:center;color:var(--muted)}#address-status{line-height:1.5}
/* Customer flow inherits the shared storefront palette. */
body[data-custom-builder]{background:#fff;color:var(--ink);accent-color:var(--blue)}
body[data-custom-builder] #header{background:#fff}
body[data-custom-builder] footer{background:var(--sky)}
body[data-custom-builder] button:hover,body[data-custom-builder] .button:hover{background:color-mix(in srgb,var(--blue),black 18%)}
body[data-custom-builder] button.secondary,body[data-custom-builder] .button.secondary{background:var(--sky);color:var(--ink)}
body[data-custom-builder] button.secondary:hover,body[data-custom-builder] .button.secondary:hover{background:var(--line);color:var(--navy)}
body[data-custom-builder] :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
body[data-custom-builder] .custom-map-example,body[data-custom-builder] .places-controls{background:var(--sky);border:1px solid var(--line)}
body[data-custom-builder] .custom-details{border-color:var(--line)}
body[data-custom-builder] [data-gallery-src]{background:#fff;border:1px solid var(--line);color:var(--ink)}
body[data-custom-builder] [data-gallery-src]:hover{background:var(--sky);border-color:#a6b2bc;color:var(--ink)}
body[data-custom-builder] [data-gallery-src][aria-pressed=true]{background:var(--sky);border-color:var(--blue);outline-color:var(--blue)}
body[data-custom-builder] .places-steps li{background:var(--sky);color:var(--muted)}
body[data-custom-builder] .places-steps [aria-current=step]{background:var(--blue);color:#fff}
body[data-custom-builder] #places-map{background:var(--sky);border-color:var(--line)}
body[data-custom-builder] .places-map-empty{color:var(--muted)}
body[data-custom-builder] .places-controls input:not([type=range]),body[data-custom-builder] .places-controls textarea,body[data-custom-builder] .places-controls select{background:#fff;color:var(--ink);border-color:var(--line)}
body[data-custom-builder] .places-controls input[type=range]{accent-color:var(--blue)}
body[data-custom-builder] .places-choice-grid button[aria-pressed=true]{outline-color:var(--blue)}
body[data-custom-builder] .places-choice-grid:not(#icon-results) button[aria-pressed=true]{background:var(--sky);color:var(--navy)}
body[data-custom-builder] .places-icon-picker,body[data-custom-builder] #building-editor{border-color:var(--line)}
body[data-custom-builder] #address-dropdown{background:#fff;border-color:var(--line);box-shadow:0 8px 24px #1321391a}
body[data-custom-builder] #place-results [role=option]{color:var(--ink);border-color:var(--line)}
body[data-custom-builder] #place-results [role=option]:hover,body[data-custom-builder] #place-results [aria-selected=true]{background:var(--sky)}
body[data-custom-builder] .address-credit{background:var(--sky)}

/* The final design step is an image gallery, without a map canvas. */
.places-workspace.places-style-only{grid-template-columns:1fr}
.places-style-only #basemap-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.places-style-only #basemap-options button{padding:12px;font-size:14px}
.places-style-only #basemap-options img{height:auto;aspect-ratio:3/4;object-fit:contain}
.places-style-only .field{max-width:340px}
@media(max-width:700px){.places-style-only #basemap-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Completed steps are real keyboard-accessible navigation buttons. */
body[data-custom-builder] .places-steps li{padding:0;background:transparent}
body[data-custom-builder] .places-steps button{display:block;min-height:44px;padding:10px 16px;border:0;border-radius:24px;background:var(--sky);color:var(--muted);font:inherit;line-height:1.4;white-space:normal}
body[data-custom-builder] .places-steps button:disabled{opacity:1;cursor:default}
body[data-custom-builder] .places-steps button[aria-current=step]{background:var(--blue);color:#fff}
body[data-custom-builder] .places-steps button:not(:disabled){color:var(--blue);cursor:pointer}
body[data-custom-builder] .places-steps button:not(:disabled):hover{background:var(--sky);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){body[data-custom-builder] .places-steps button{padding:8px 10px}}

/* Separate saved-place information from actions. */
.places-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.places-list-toolbar #building-count{font-size:.8rem;font-weight:700;color:var(--muted)}
body[data-custom-builder] #restore-view,body[data-custom-builder] #places-back,body[data-custom-builder] #building-list button,body[data-custom-builder] #remove-building{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);cursor:pointer}
body[data-custom-builder] #restore-view{font-size:.75rem;padding:8px 10px;margin:0;min-height:36px}
body[data-custom-builder] #places-back{font-size:.85rem;padding:10px 14px;margin:10px 0 0;width:100%}
body[data-custom-builder] #restore-view:hover,body[data-custom-builder] #places-back:hover,body[data-custom-builder] #building-list button:hover,body[data-custom-builder] #remove-building:hover{background:var(--sky);border-color:var(--blue)}
body[data-custom-builder] #add-another-place,body[data-custom-builder] #review-places{width:100%;margin:12px 0 0;padding:12px;font-size:.9rem;border-radius:8px}
body[data-custom-builder] #building-list{margin:12px 0;padding-left:22px}
body[data-custom-builder] #building-list:empty{display:none}
body[data-custom-builder] #building-list button{width:100%;padding:10px 12px;margin:4px 0}
body[data-custom-builder] #remove-building{padding:8px 12px;font-size:.8rem;margin:8px 0}
body[data-custom-builder] #building-controls>.places-design{margin:12px 0}
body[data-custom-builder] #building-controls>.places-design>summary{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:.8rem;margin:0}

/* App workspace: shared site header above a canvas and compact inspector. */
body.map-designer-active{background:var(--sky)}
.map-designer-active .custom-product,.map-designer-active #neighbourhood-community,.map-designer-active #footer{display:none}
body.map-designer-active .places-builder{width:100%;max-width:none;margin:0;padding:0;height:calc(100dvh - var(--designer-header-height,84px));min-height:500px;display:flex;flex-direction:column}
body.map-designer-active .places-steps{flex:none;display:flex;justify-content:center;flex-wrap:nowrap;gap:8px;padding:10px 20px;margin:0;background:#fff;border-bottom:1px solid var(--line)}
body.map-designer-active .places-steps button{border-radius:7px;min-height:36px;padding:8px 18px;font-size:13px;background:transparent}
body.map-designer-active .places-steps button[aria-current=step]{background:var(--sky);color:var(--blue);box-shadow:inset 0 -2px var(--blue)}
body.map-designer-active .places-workspace:not(.places-style-only){grid-template-columns:minmax(0,1fr) 380px}
body.map-designer-active .places-workspace{flex:1;min-height:0;gap:0;align-items:stretch}
body.map-designer-active .places-map-wrap{position:relative;top:auto;min-height:0;padding:16px;display:flex}
body.map-designer-active #places-map{height:100%;max-height:none;min-height:0;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--sky)}
body.map-designer-active .places-controls{min-height:0;overflow-y:auto;overscroll-behavior:contain;border:0;border-left:1px solid var(--line);border-radius:0;padding:22px;background:#fff;scrollbar-width:thin}
.map-designer-active .places-panel-heading{margin-bottom:22px}
body.map-designer-active #builder-title{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:0 0 6px}
body.map-designer-active #builder-help{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
body.map-designer-active #builder-status{font-size:13px;min-height:0;margin:0 0 14px;color:var(--blue)}
body.map-designer-active #builder-status:empty{display:none}
body.map-designer-active .places-controls .field{font-size:13px;gap:7px;margin-bottom:18px}
body.map-designer-active .places-controls input:not([type=range]),body.map-designer-active .places-controls select,body.map-designer-active .places-controls textarea{font-size:14px;padding:10px 12px;min-height:42px;border-radius:8px}
body.map-designer-active .places-controls input[type=range]{height:24px;margin:0}
body.map-designer-active .places-controls .micro{font-size:12px;line-height:1.5}
body.map-designer-active .places-controls h3{font-size:14px;margin:20px 0 10px}
body.map-designer-active .places-address{margin-bottom:22px}
body.map-designer-active #address-dropdown{top:72px}
body.map-designer-active #rotation-value{font-size:12px;color:var(--muted)}
body.map-designer-active #confirm-view,body.map-designer-active #confirm-title,body.map-designer-active #confirm-theme,body.map-designer-active #places-checkout{width:100%;min-height:44px;padding:11px 14px;border-radius:8px;font-size:14px;margin:8px 0 0}
body.map-designer-active #places-back{font-size:13px;min-height:40px}
body.map-designer-active .place-entry{padding:0;border:0;border-radius:0;margin:0 0 18px}
body.map-designer-active .place-entry .poi-field-pair .field{margin-bottom:7px;font-size:12px}
body.map-designer-active .place-entry .poi-field-pair input{font-size:13px;padding:10px;min-height:42px}
body.map-designer-active .place-entry .poi-attribution{font-size:10px}
body.map-designer-active .places-style-only .places-controls{padding:24px clamp(20px,4vw,64px)}
@media(max-width:800px){
 body.map-designer-active .places-builder{height:auto;min-height:0}
 body.map-designer-active .places-steps{gap:4px;padding:8px;justify-content:space-between}
 body.map-designer-active .places-steps li{flex:1;min-width:0}
 body.map-designer-active .places-steps button{width:100%;font-size:11px;padding:7px 4px;min-height:44px}
 body.map-designer-active .places-workspace:not(.places-style-only){grid-template-columns:1fr}
 body.map-designer-active .places-map-wrap{padding:10px}
 body.map-designer-active #places-map{height:44dvh;min-height:280px;max-height:460px}
 body.map-designer-active .places-controls{overflow:visible;border-left:0;border-top:1px solid var(--line);padding:20px}
 body.map-designer-active .places-panel-heading{margin-bottom:18px}
 body.map-designer-active #builder-title{font-size:18px}
}

/* Theme choices and map-wide defaults sit together before place editing. */
body.map-designer-active .places-style-only #theme-controls{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px 28px;align-items:start}
.places-style-only #theme-controls>.places-design:first-child{grid-column:1;grid-row:1 / span 4}
.places-style-only #theme-controls>.field,.places-style-only #theme-controls>.places-design:not(:first-child),.places-style-only #confirm-theme{grid-column:2}
body.map-designer-active .places-style-only #basemap-options{gap:10px}
body.map-designer-active .places-style-only #basemap-options img{height:180px;aspect-ratio:auto}
body.map-designer-active .places-style-only #poi-options img{height:52px}
body.map-designer-active .places-style-only #places-back{max-width:300px;display:block;margin-left:auto}
@media(max-width:1000px){body.map-designer-active .places-style-only #theme-controls{grid-template-columns:1fr}.places-style-only #theme-controls>.places-design:first-child{grid-column:1;grid-row:auto}.places-style-only #theme-controls>.field,.places-style-only #theme-controls>.places-design:not(:first-child),.places-style-only #confirm-theme{grid-column:1}body.map-designer-active .places-style-only #places-back{max-width:none}body.map-designer-active .places-style-only #basemap-options img{height:150px}}

/* Keep disabled controls neutral rather than a washed-out action colour. */
body[data-custom-builder] .places-controls button:disabled:not([aria-current]){background:var(--line);color:var(--muted);border-color:var(--line);opacity:1;cursor:not-allowed}
body[data-custom-builder] .places-controls button:disabled[aria-busy=true]{background:var(--blue);color:#fff;cursor:progress}

/* Selected poster above a compact, scrollable theme filmstrip. */
.places-theme-preview{margin:0 0 14px;padding:18px;background:var(--sky);border:1px solid var(--line);border-radius:10px;text-align:center}
.places-theme-preview img{display:block;width:100%;height:clamp(280px,46vh,520px);object-fit:contain}
.places-theme-preview figcaption{margin-top:12px;font-size:14px;font-weight:700;color:var(--navy)}
body.map-designer-active .places-style-only #basemap-options{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 10px;scroll-snap-type:x proximity}
body.map-designer-active .places-style-only #basemap-options button{flex:0 0 96px;scroll-snap-align:start;padding:8px;font-size:11px}
body.map-designer-active .places-style-only #basemap-options img{height:94px;width:100%;aspect-ratio:auto;object-fit:contain}
@media(max-width:700px){.places-theme-preview{padding:12px}.places-theme-preview img{height:340px;max-height:48dvh}body.map-designer-active .places-style-only #basemap-options button{flex-basis:82px}body.map-designer-active .places-style-only #basemap-options img{height:80px}}
#theme-controls,.places-theme-preview,#theme-controls>.places-design{min-width:0}
@media(max-width:1000px){body.map-designer-active .places-style-only #theme-controls{grid-template-columns:minmax(0,1fr)}}

/* Use identical sample copy when comparing customer title treatments. */
.places-title-sample{width:100%;height:82px;display:grid;place-items:center;background:#086780;border-radius:6px;color:#fff}
.places-title-sample-art{width:90%;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background-position:center;background-repeat:no-repeat;background-size:contain}
.places-title-sample strong{font:500 14px Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}
.places-title-sample small{font:500 8px Arial,sans-serif;letter-spacing:.08em;white-space:nowrap}
.sample-gallery-minimal .places-title-sample-art::after{content:'';width:20%;border-top:1px solid currentColor}
.sample-floating-ivory-card .places-title-sample-art{background:#f7efe2;border-radius:4px;color:#182726}
.sample-floating-ivory-card strong{font:bold 16px Georgia,serif;letter-spacing:0}
.sample-translucent-water-panel .places-title-sample-art{background:#ffffff1f;border:1px solid #bde6df99;border-radius:9px}
.sample-classic-plaque .places-title-sample-art{background-image:url('/images/title-backgrounds/custom-classic-plaque-v1.svg');color:#263c2c;gap:2px}
.sample-classic-plaque strong{font:bold 12px Georgia,serif;letter-spacing:0}
.sample-classic-plaque small{font-size:7px;letter-spacing:0}
.sample-parchment-scroll .places-title-sample-art{background-image:url('/images/title-backgrounds/custom-parchment-scroll-v2.png');color:#263c2c;gap:3px}
.sample-parchment-scroll strong{font:bold 14px Georgia,serif;letter-spacing:0;order:1}
.sample-parchment-scroll small{font-size:7px;letter-spacing:0}

/* The optional designer stays inside the request page. */
body.custom-request-designer #header,body.custom-request-designer #footer,body.custom-request-designer .custom-posters,body.custom-request-designer .breadcrumbs,body.custom-request-designer #atlas-feedback-button{display:none!important}
body.custom-request-designer{--designer-header-height:0px!important}
body.custom-request-designer #places-review .field[hidden]{display:none!important}

.places-resume{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin:0 0 24px;border:1px solid #b6cfbf;border-radius:10px;background:#edf5ef}.places-resume p{margin:0}.places-resume button{flex-shrink:0}@media(max-width:600px){.places-resume{align-items:stretch;flex-direction:column}}
