[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-choice-grid .places-title-sample img,#title-options .places-title-sample img{display:block;width:100%;height:auto;aspect-ratio:640/180;object-fit:contain}

/* 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}}

/* Unified design gallery: tools, choices, and a persistent selection summary. */
body.map-designer-active .places-builder:has(>.places-style-only){height:auto;min-height:0}
body.map-designer-active .places-style-only{display:block;flex:none;overflow:visible;background:#fff}
/* Keep the map measurable while its design sample is shown, so the saved camera stays valid. */
body.map-designer-active .places-style-only .places-map-wrap{position:fixed;left:-12000px;top:0;width:800px;height:650px;visibility:hidden;pointer-events:none;padding:0}
body.map-designer-active .places-style-only .places-controls.design-mode{padding:0;border:0;overflow:visible;min-height:100%}
.design-mode>.places-panel-heading,.design-mode>#theme-controls{display:none!important}
#design-gallery{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;max-width:1600px;margin:auto;padding:32px 28px;align-items:start}
#design-gallery h2{font-family:Copse,Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:0 0 10px;color:var(--navy)}
#design-gallery p{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 24px}
#design-gallery .design-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--blue);margin:0 0 12px}
.design-toolbar{display:flex;flex-direction:column;gap:8px;padding-top:12px;position:sticky;top:20px}
body[data-custom-builder] #design-gallery .design-tool{display:flex;align-items:center;gap:12px;width:100%;padding:15px 12px;min-height:52px;margin:0;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}
body[data-custom-builder] #design-gallery .design-tool:hover{background:var(--sky);color:var(--navy)}
body[data-custom-builder] #design-gallery .design-tool[aria-selected=true]{background:#edf4f1;color:#176b5e;border-color:#bed5cb;box-shadow:inset 3px 0 #176b5e}
.design-tool-icon{font:24px Georgia,serif;width:24px;text-align:center;color:inherit}
.design-pickers{min-width:0}.design-pickers>header{margin-bottom:26px}
body.map-designer-active #design-gallery .places-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:visible;padding:0;margin:0}
body.map-designer-active #design-gallery #basemap-options{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-custom-builder] #design-gallery .places-choice-grid button{position:relative;display:flex;gap:12px;flex-direction:column;justify-content:center;align-items:center;padding:12px;margin:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:13px;line-height:1.35;font-weight:700;min-width:0;transition:border-color .15s,background .15s}
body[data-custom-builder] #design-gallery .places-choice-grid button:hover{border-color:#8caaa0;background:#f7faf8}
body[data-custom-builder] #design-gallery .places-choice-grid button[aria-pressed=true]{outline:2px solid #176b5e;outline-offset:-2px;background:#f3f8f5}
#design-gallery .places-choice-grid button[aria-pressed=true]::after{content:'✓';position:absolute;right:8px;top:8px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#176b5e;color:#fff;border:2px solid white;font-size:12px}
body.map-designer-active #design-gallery #basemap-options img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
body.map-designer-active #design-gallery #compass-options{grid-template-columns:repeat(3,minmax(0,1fr))}
body.map-designer-active #design-gallery #compass-options img{height:135px;width:100%;object-fit:contain;padding:10px}
body.map-designer-active #design-gallery #poi-options img{height:88px;width:100%;object-fit:contain;background:#f4f6f1;border-radius:5px}
body.map-designer-active #design-gallery #title-options img{width:100%;height:auto;object-fit:contain}
#design-gallery .places-title-sample{height:auto;min-height:85px;padding:8px;background:#e8ede6}
#design-gallery #title-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
#design-gallery #title-controls>h3{display:none}
#design-gallery #title-options{grid-column:1/-1}
#design-gallery .field{max-width:none}
#design-gallery #places-legend-style-field{margin-top:20px}
.design-selection{position:sticky;top:20px;min-width:0;padding:22px;background:#f7f7f3;border:1px solid #e7e9e1;border-radius:12px}
#design-gallery .design-selection h2{font-size:23px;margin-bottom:18px}
#design-gallery .places-theme-preview{padding:0;margin:0;background:none;border:0;border-radius:0}
#design-gallery .places-theme-preview img{max-height:275px;width:auto;height:auto;max-width:100%;object-fit:contain;margin:0 auto;box-sizing:border-box;border:12px solid transparent;border-image:url(/images/oak-frame-trimmed.png) 65 / 12px / 0 stretch;padding:4px;background:#fff;box-shadow:5px 7px 12px rgba(63,45,31,.24)}
#design-gallery .places-theme-preview figcaption{margin:10px 0 5px;font:16px Copse,Georgia,serif;color:var(--navy)}
#design-gallery .design-preview-note{text-align:center;font-size:11px;margin:0 0 12px}
body[data-custom-builder] #design-gallery .design-summary-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;width:100%;border:0;border-top:1px solid #dfe4dc;border-radius:0;padding:12px 0;margin:0;background:transparent;color:var(--navy);font-size:12px;min-height:66px}
body[data-custom-builder] #design-gallery .design-summary-row:hover{background:#eaf0e8}
.design-summary-row img{width:42px;height:38px;object-fit:contain}.design-summary-row small{display:block;color:var(--muted);font-size:10px;letter-spacing:.04em;margin-bottom:4px}.design-summary-row strong{display:block;font-size:12px;line-height:1.3;font-weight:700}.design-change{font-size:11px;color:#176b5e}
body[data-custom-builder] #design-gallery .design-next{width:100%;min-height:46px;margin:15px 0 0;border-radius:7px;background:#176b5e;color:#fff;font-size:13px;padding:12px}
body.map-designer-active .design-mode>#places-back,body.map-designer-active .design-mode>#return-to-review{width:auto;max-width:none;margin:0 28px 12px;padding:10px 16px}
.design-mode>[data-draft-save-status],.design-mode>#builder-status{margin:0 28px 16px!important}
@media(min-width:1450px){#design-gallery{grid-template-columns:340px minmax(0,1fr);gap:36px;padding:40px}.design-selection{padding:26px}#design-gallery .places-theme-preview img{max-height:330px}body.map-designer-active #design-gallery #compass-options img{height:170px}}
@media(max-width:1100px){#design-gallery{grid-template-columns:280px minmax(0,1fr);gap:18px;padding:24px 18px}.design-selection{padding:16px}body.map-designer-active #design-gallery #basemap-options{grid-template-columns:repeat(3,minmax(0,1fr))}body.map-designer-active #design-gallery #compass-options{grid-template-columns:repeat(2,minmax(0,1fr))}#design-gallery .places-theme-preview img{max-height:240px}}
@media(max-width:800px){#design-gallery{grid-template-columns:1fr;gap:24px;padding:18px}.design-toolbar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:6px}body[data-custom-builder] #design-gallery .design-tool{padding:10px;font-size:13px;min-height:48px}.design-pickers>header{margin-bottom:20px}#design-gallery h2{font-size:26px}.design-selection{position:static;display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 16px}.design-selection>h2{grid-column:1/-1}.design-preview{grid-column:1;grid-row:2}.design-summary{grid-column:2;grid-row:2 / span 2}#design-gallery .places-theme-preview img{max-height:160px}#design-gallery .design-preview-note{grid-column:1;font-size:10px}#design-gallery .design-next{grid-column:1/-1}body.map-designer-active #design-gallery #compass-options img{height:110px}.design-summary-row img{display:none!important}body[data-custom-builder] #design-gallery .design-summary-row{grid-template-columns:1fr auto;gap:4px}#design-gallery #title-controls{grid-template-columns:1fr}#design-gallery .design-tool-icon{font-size:20px}body.map-designer-active #design-gallery #basemap-options img{max-height:220px}}
@media(min-width:801px) and (max-height:850px){#design-gallery .places-theme-preview img{max-height:195px}.design-selection{padding:18px}body[data-custom-builder] #design-gallery .design-summary-row{min-height:53px;padding:8px 0}#design-gallery .design-selection h2{font-size:21px;margin-bottom:12px}}
#design-gallery .places-choice-grid button::before{content:none!important}
@media(min-width:801px) and (max-height:850px){#design-gallery .places-theme-preview img{max-height:160px}body[data-custom-builder] #design-gallery .design-summary-row{min-height:47px;padding:6px 0}.design-summary-row img{height:30px}#design-gallery .design-next{margin-top:10px}.design-selection{top:12px}}
@media(max-width:480px){body.map-designer-active #design-gallery #title-options{grid-template-columns:1fr}#design-gallery .places-title-sample{min-height:100px}}

/* A blue swatch makes the translucent title panel visible in the picker. */
#design-gallery .places-title-sample.sample-translucent-water-panel{background:#086780}

.title-review-reminder{padding:12px 14px;border-left:3px solid #a34c24;border-radius:4px;background:#fff3e7;color:#65351f;font-size:.9rem;line-height:1.5}
#title-controls input[aria-invalid="true"]{border-color:#a34c24;box-shadow:0 0 0 1px #a34c24}

/* Native-source crops share the same geographic window in every theme. */
#basemap-options .places-theme-detail{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:4px}
body #basemap-options .places-theme-detail img,body.map-designer-active #design-gallery #basemap-options .places-theme-detail img{display:block;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:1;object-fit:contain;margin:0}

/* Selection rows also navigate the design options in one sidebar. */
.design-summary{display:flex;flex-direction:column;gap:4px}
body[data-custom-builder] #design-gallery .design-summary-row{border:1px solid transparent;border-radius:8px;padding:10px 8px}
body[data-custom-builder] #design-gallery .design-summary-row[aria-selected=true]{background:#edf4f1;border-color:#bed5cb;box-shadow:inset 3px 0 #176b5e}
body[data-custom-builder] #design-gallery .design-summary-row:focus-visible{outline:2px solid #176b5e;outline-offset:2px}
.design-change{font-size:20px}
@media(max-width:800px){
 .design-selection{grid-row:1}
 .design-summary{min-width:0}
 body[data-custom-builder] #design-gallery .design-summary-row{padding:8px;min-height:52px}
}

@media(max-width:800px){#design-gallery .places-theme-preview img{border-width:8px;border-image-width:8px;padding:2px}}

/* Places use the same left sidebar and content spacing as the design gallery. */
body.map-designer-active .places-workspace.places-poi-layout:not(.places-style-only){grid-template-columns:310px minmax(0,1fr);gap:28px;width:100%;max-width:1600px;box-sizing:border-box;margin:0 auto;padding:32px 28px;background:#fff}
body.map-designer-active:has(.places-poi-layout){background:#fff}
body.map-designer-active .places-poi-layout .places-controls{padding:22px;border:1px solid #e7e9e1;border-radius:12px;background:#f7f7f3;min-width:0}
body.map-designer-active .places-poi-layout .places-map-wrap{padding:0}
body.map-designer-active .places-poi-layout #builder-title{font-family:Copse,Georgia,serif;font-size:23px;font-weight:400}
body[data-custom-builder] .places-poi-layout .place-entry,body[data-custom-builder] .places-poi-layout .place-entry.is-editing{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
@media(min-width:1450px){body.map-designer-active .places-workspace.places-poi-layout:not(.places-style-only){grid-template-columns:340px minmax(0,1fr);gap:36px;padding:40px}body.map-designer-active .places-poi-layout .places-controls{padding:26px}}
@media(min-width:801px) and (max-width:1100px){body.map-designer-active .places-workspace.places-poi-layout:not(.places-style-only){grid-template-columns:280px minmax(0,1fr);gap:18px;padding:24px 18px}body.map-designer-active .places-poi-layout .places-controls{padding:16px}}
@media(max-width:800px){body.map-designer-active .places-workspace.places-poi-layout:not(.places-style-only){grid-template-columns:1fr;gap:24px;padding:18px}body.map-designer-active .places-poi-layout .places-controls{padding:16px}}

/* Reserve a row below the title fields so validation never shifts the subtitle. */
#design-gallery .title-review-reminder{grid-column:1;grid-row:2;align-self:start;margin:0 0 18px}
@media(max-width:800px){#design-gallery .title-review-reminder{grid-row:auto}}

#design-gallery .title-field-error{display:block;margin-top:6px;color:#842d21;font-size:13px;font-weight:500;line-height:1.5}
#design-gallery input[aria-invalid=true]{border-color:#b64d37;background:#fff8f6}

.places-builder button[aria-busy=true]{cursor:progress;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.places-builder button[aria-busy=true]::before{content:'';width:16px;height:16px;flex:0 0 16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:designer-loading .8s linear infinite}
@keyframes designer-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.places-builder button[aria-busy=true]::before{animation:none}}

/* Places and framing share a content-sized inspector on the left. */
body.map-designer-active:has(.places-poi-layout) .places-builder{height:auto;min-height:calc(100dvh - var(--designer-header-height,84px))}
body.map-designer-active .places-workspace.places-poi-layout{flex:none;align-items:start}
body.map-designer-active .places-poi-layout .places-controls{overflow:visible;max-height:none;align-self:start}
body.map-designer-active .places-map-wrap{flex-direction:column}
body.map-designer-active .places-map-wrap #builder-status:not(:empty){flex:none;margin:12px 0 0;padding:12px 14px;border:1px solid #e8b8b2;border-radius:8px;background:#fff8f6;color:#842d21}
body.map-designer-active .places-poi-layout #places-map{height:calc(100dvh - var(--designer-header-height,84px) - 130px);min-height:480px;aspect-ratio:auto}
@media(max-width:800px){body.map-designer-active .places-poi-layout #places-map{height:65dvh;min-height:360px;max-width:none}}

.places-map-loading{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:10px;margin:0;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue);box-shadow:0 3px 14px #13213918;font-size:14px;pointer-events:none}
.places-map-loading::before{content:'';width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:designer-loading .8s linear infinite}
@media(prefers-reduced-motion:reduce){.places-map-loading::before{animation:none}}

/* Review uses the same left inspector, with one available primary action. */
#review-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;margin:0 0 16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:13px;line-height:1.5}
#review-summary dt{color:var(--muted)}
#review-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}
#places-review .review-place-details{padding:0 0 12px;margin-bottom:14px;font-size:13px}
#places-review #review-preview-status{font-size:13px;line-height:1.5;margin:14px 0 10px}
body[data-custom-builder] #generate-map-sample,body[data-custom-builder] #places-checkout{display:block;width:100%;min-height:48px;padding:13px 16px;margin:12px 0 16px;border:1px solid #176b5e;border-radius:8px;background:#176b5e;color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 3px #163c2c18}
body[data-custom-builder] #generate-map-sample:hover,body[data-custom-builder] #places-checkout:hover{background:#12574d}
body[data-custom-builder] #places-checkout:disabled{display:none}
#places-review>.micro{font-size:12px;line-height:1.5;margin:10px 0 18px}

/* Match the print credit strip without covering the review artwork. */
.places-static-review #places-editor{pointer-events:none}
.places-preview-credits{display:flex;align-items:center;gap:16px;background:#fff;color:#25322e;padding:8px 12px;width:100%;box-sizing:border-box;font:10px/1.4 Arial,sans-serif}
.places-preview-credits[hidden]{display:none}
.places-preview-credits a{color:inherit;text-decoration:none}
.places-preview-credits small{display:block;font-size:8px}
.places-preview-credits img{width:55px;height:15px;object-fit:contain;vertical-align:middle}
.places-preview-credits .preview-credit-brand{margin-left:auto;display:flex;align-items:center;gap:6px;font:750 12px system-ui,sans-serif;letter-spacing:-.035em}
.places-preview-credits .preview-credit-brand img{width:28px;height:28px}
@media(max-width:600px){.places-preview-credits{gap:8px;flex-wrap:wrap}.places-preview-credits .preview-credit-brand{font-size:10px}}
