/* Deliberate visual builder refinements; the existing site tokens remain authoritative. */
.custom-step h2:focus{outline:none}.recipe-section{border-top:1px solid var(--line);padding-top:24px;display:grid;gap:12px}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-card{background:var(--paper);border:1px solid var(--line);padding:0 0 16px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;display:grid;gap:8px;align-content:start}.recipe-card>span,.recipe-card>small{padding:0 14px}.recipe-card>img{width:100%;aspect-ratio:1;object-fit:cover;height:auto}.recipe-card small{font-size:12px;line-height:1.6;color:var(--ink2)}.recipe-card:hover{border-color:var(--euca)}.flower-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flower-choice{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;gap:7px 10px;position:relative;min-width:0;padding:12px}.flower-choice>img,.flower-mark{grid-row:1/3;width:48px!important;height:64px!important;object-fit:cover}.flower-mark{display:grid;place-items:center;font-size:30px;color:var(--euca)}.flower-colours{display:flex;gap:6px;flex-wrap:wrap;grid-column:2}.flower-colours span{font-size:10px;line-height:1.6;color:var(--ink2);display:flex;gap:4px;align-items:center}.flower-colours i{height:9px;width:9px;border:1px solid #796e65;border-radius:50%;flex:none}.flower-choice[aria-pressed=true]::after{position:absolute;right:6px;top:3px;font-size:13px}.finish-fieldset{border:0;padding:0;margin:0;min-width:0}.finish-fieldset legend{font-size:14px;margin-bottom:12px}.finish-swatches button:disabled{opacity:.5;cursor:not-allowed}.preview-image .preview-photo{object-fit:contain;animation:previewImageIn 220ms ease-out}.preview-working{position:absolute;bottom:14px;left:14px;right:14px;padding:12px 15px;background:rgba(246,243,238,.96);font-size:13px;box-shadow:0 0 0 1px var(--line)}.preview-budget{border-top:1px solid var(--line);padding-top:12px;font-size:13px;font-weight:600}.preview-explanation{font-size:13px;line-height:1.7;padding:12px;background:var(--paper);border-left:2px solid var(--euca)}.budget-state{font-size:12px}.budget-state.over{color:#8b2431}.reference-section{display:grid;gap:13px}.reference-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7}.reference-consent input{margin-top:6px;min-width:20px;min-height:20px}.review-edits{display:flex;flex-wrap:wrap;gap:16px}.custom-review dd{white-space:pre-wrap}.custom-error p{margin:5px 0}.custom-error .tlink{border:0;background:none;font:inherit;font-size:13px;padding:8px 0}.custom-step [aria-invalid=true]{outline:2px solid var(--rose);outline-offset:2px}.preview-body [role=status]{min-height:18px}.customizer-preview.is-collapsed .preview-image{display:none}.customizer-preview.is-collapsed .selection-summary,.customizer-preview.is-collapsed .preview-explanation{display:none}.custom-step .choice img{flex:none}.customizer-layout{padding-bottom:max(90px,env(safe-area-inset-bottom))}html[lang=th] .preview-label,html[lang=th] .custom-step .eyebrow{letter-spacing:0;line-height:1.8;text-transform:none}@keyframes previewImageIn{from{opacity:.65}to{opacity:1}}@media(max-width:800px){.preview-image{max-height:300px}.preview-body{gap:10px}.recipe-grid{gap:10px}.customizer-preview{scroll-margin-top:90px}.custom-steps button{min-width:62px}.flower-choice{grid-template-columns:40px 1fr;padding:9px}.flower-choice>img,.flower-mark{width:40px!important;height:56px!important}.flower-colours span{font-size:11px}.custom-steps{position:relative;overflow-x:auto}}@media(max-width:360px){.flower-choice-grid{grid-template-columns:1fr}.recipe-grid{grid-template-columns:1fr}.custom-steps button{min-width:54px;font-size:11px;padding:12px 3px}}@media(prefers-reduced-motion:reduce){.preview-image .preview-photo{animation:none}}

/* Keep receipt rows full-width on a narrow booking sheet. */
.book-snapshot>img{float:none;display:block;width:120px;height:120px;margin:12px 0 18px}.book-snapshot .custom-review{clear:both}.book-snapshot .custom-review div{grid-template-columns:minmax(92px,.75fr) minmax(0,1.25fr)}

/* The image stays mounted while metadata changes; only a newly decoded asset fades in. */
.preview-auto{font-size:12px;color:var(--euca);line-height:1.6;margin:0}.preview-image.is-updating .preview-photo{opacity:.72;transition:opacity 160ms}.flower-choice>img.flower-cutout{object-fit:contain;background:#f3f0e8;border-radius:3px}.custom-error .btn{margin-top:8px}.custom-nav button:disabled{cursor:wait}
@media(prefers-reduced-motion:reduce){.preview-image.is-updating .preview-photo{transition:none}}
