/* Readable simulator controls and live service estimate. */
[data-simulator-root] button,[data-simulator-root] label[class$="-upload"]{font-size:14.4px!important;line-height:1.25!important;white-space:normal!important;height:auto;min-height:42px;overflow-wrap:anywhere}
[data-simulator-root] button>span{font-size:inherit!important}
[data-simulator-root] .sim-chat-form button{width:auto;min-width:88px}
[data-simulator-root] .sim-sidecar{grid-template-rows:auto auto minmax(160px,1fr);overflow:auto}
.sim-estimate-card{padding:14px;border:1px solid #d8dbea;border-radius:14px;background:#f5f5fc;color:#202a50}
.sim-estimate-card p{font-size:13px;line-height:1.5;margin:6px 0}.sim-estimate-card strong{font-size:14px}.sim-estimate-card small{display:block;font-size:11px;margin-top:8px}
.sim-request-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sim-request-images figure{margin:0}.sim-request-images img{width:100%;height:150px;object-fit:contain;background:#e9eaf1;border-radius:10px}.sim-request-images figcaption{text-align:center;font-size:14px}
[data-simulator-root] [class$="-stage-footer"]{flex-wrap:wrap;flex-shrink:0}

[data-simulator-root] .sim-thumb>span{font-size:10.8px!important;overflow-wrap:normal}.sim-thumb-frame{max-height:110px}.sim-thumbs-card{min-height:max-content}

[data-simulator-root] .sim-sidecar{grid-template-rows:auto minmax(160px,1fr)}.sim-request-description{display:grid;gap:8px;margin:14px 0}.sim-request-description textarea{width:100%;min-height:130px;padding:12px;border:1px solid #cdd1df;border-radius:10px;resize:vertical;font:14px/1.5 Montserrat,Arial,sans-serif}

/* A single page flow on phones: photo first, then options and chat. */
body.sim-mobile-active{height:auto!important;min-height:100svh;overflow:auto!important}
body.sim-mobile-active main{height:auto!important;min-height:0!important;overflow:visible!important;padding:10px!important}
[data-simulator-root].sim-mobile-layout{display:flex!important;flex-direction:column;gap:12px!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;overflow:visible!important}
.sim-mobile-photo{display:grid;gap:10px;min-width:0}
.sim-mobile-photo>h1{margin:0;font:600 30px/1.1 'Cormorant Garamond',serif;color:var(--text,#203438)}
.sim-mobile-layout :is(.hair-tools,.lash-tools,.nail-tools,.hair-stage-panel,.lash-stage-panel,.nail-stage-panel){min-width:0;min-height:0!important;height:auto!important;padding:12px!important;border-radius:16px;overflow:visible!important}
.sim-mobile-layout :is(.hair-tools,.lash-tools,.nail-tools)>:is([class$='-kicker'],p){display:none!important}
.sim-mobile-layout :is(.hair-card,.lash-card,.nail-card){padding:12px!important;margin:0 0 12px!important;min-width:0}
.sim-mobile-photo>:is(.hair-card,.lash-card,.nail-card){margin:0!important}
.sim-mobile-layout :is(.hair-card,.lash-card,.nail-card) h2{font:700 16px/1.3 Montserrat,Arial,sans-serif!important;margin:0 0 10px!important}
.sim-mobile-layout :is(.hair-card,.lash-card,.nail-card) label{font-size:14px!important;line-height:1.4!important;gap:6px!important}
.sim-mobile-layout :is(select,input[type=text],input[type=url],textarea){font-size:16px!important;max-width:100%;min-width:0;min-height:44px}
.sim-mobile-layout :is(.hair-color,.lash-color,.nail-color){min-height:44px!important;font-size:14px!important;padding:7px!important}
.sim-mobile-layout :is(.hair-photo-actions,.lash-photo-actions,.nail-photo-actions){grid-template-columns:1fr 1fr!important}
.sim-mobile-layout :is(.hair-upload,.lash-upload,.nail-upload){min-height:44px!important}
.sim-mobile-layout :is(.hair-reset-photo,.lash-reset-photo,.nail-reset-photo){min-height:44px!important}
.sim-mobile-layout :is(.hair-stage-panel,.lash-stage-panel,.nail-stage-panel){display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;scroll-margin-top:94px}
.sim-mobile-layout :is(.hair-stage-head,.lash-stage-head,.nail-stage-head){display:grid;gap:4px}
.sim-mobile-layout [data-status]{font-size:12px!important;line-height:1.4!important;overflow-wrap:anywhere}
.sim-mobile-layout :is(.hair-stage,.lash-stage,.nail-stage){height:clamp(220px,48svh,500px)!important;min-height:0!important;max-height:none!important}
.sim-mobile-layout :is(.hair-stage,.lash-stage,.nail-stage)>:is(img,video){position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.sim-mobile-layout :is(.hair-empty,.lash-empty,.nail-empty){padding:14px!important}
.sim-mobile-layout :is(.hair-empty,.lash-empty,.nail-empty) h2{font-size:25px!important;line-height:1.2}
.sim-mobile-layout :is(.hair-stage-footer,.lash-stage-footer,.nail-stage-footer){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sim-mobile-layout :is(.hair-stage-footer,.lash-stage-footer,.nail-stage-footer) button{min-height:48px;padding:6px;font-size:13px!important}
.sim-mobile-layout .sim-sidecar{height:auto!important;min-height:0!important;overflow:visible!important;display:flex;flex-direction:column;padding:12px;gap:12px}
.sim-mobile-layout .sim-chat-card{height:360px;min-height:300px;max-height:55svh;flex:none}
.sim-mobile-layout .sim-card-head strong{font-size:15px}.sim-mobile-layout .sim-card-head small{font-size:11px}
.sim-mobile-layout .sim-chat-bubble{font-size:14px;line-height:1.5}
.sim-mobile-layout .sim-chat-form{grid-template-columns:minmax(0,1fr) auto;gap:8px}
.sim-mobile-layout .sim-chat-form textarea{height:66px;min-height:66px}
.sim-mobile-layout .sim-chat-form button{min-width:72px;min-height:44px;padding:8px}
.sim-mobile-layout :is(.hair-privacy,.lash-privacy,.nail-privacy){font-size:12px!important;line-height:1.5!important}
.sim-mobile-layout .free-reference-view{height:280px}

/* The camera uses the browser's top layer, even when opened far down the page. */
.sim-camera-dialog{position:fixed;inset:0;margin:auto;width:min(700px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));box-sizing:border-box;border:0;background:var(--card,#fff);color:var(--text,#203438);overflow:hidden}
.sim-camera-dialog[open]{display:flex;flex-direction:column;gap:10px}
.sim-camera-dialog::backdrop{background:#101828dc}
.sim-camera-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.sim-camera-dialog>header strong{font-size:20px}
.sim-camera-dialog>header button{width:44px;min-height:44px;border:1px solid var(--border,#c9cbea);border-radius:10px;background:var(--card,#fff);color:inherit;font-size:24px!important;cursor:pointer}
.sim-camera-view{position:relative;flex:1;min-height:0;background:#101828;border-radius:12px;overflow:hidden}
.sim-camera-view video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important}
.sim-camera-view.is-unavailable::after{content:'Esperando cámara…';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:16px;padding:20px;text-align:center}
.sim-camera-view[data-state=error]::after{content:'No se pudo acceder a la cámara'}
.sim-camera-dialog>p{flex:none;margin:0;font-size:14px;line-height:1.4}
.sim-camera-actions{display:flex;gap:8px;flex:none}
.sim-camera-actions button{flex:1;min-height:48px!important;border:1px solid var(--border,#c9cbea);border-radius:10px;padding:10px;background:var(--card,#fff);color:inherit;font:700 16px Montserrat,Arial,sans-serif!important;cursor:pointer}
.sim-camera-actions [data-capture]{background:var(--brand,var(--primary,#414abb));color:#fff}
.sim-camera-actions button:disabled{opacity:.5;cursor:wait}
@media(max-height:500px) and (orientation:landscape){.sim-camera-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) 200px;grid-template-rows:auto minmax(0,1fr) auto}.sim-camera-dialog>header{grid-column:1/-1}.sim-camera-view{grid-column:1;grid-row:2/4}.sim-camera-dialog>p{grid-column:2;grid-row:2}.sim-camera-actions{grid-column:2;grid-row:3;flex-direction:column}}
