/* Local Marketing Kit — Signature: One-Photo Month */
#signature{scroll-margin-top:96px}
.sig-panel{border-radius:24px;padding:30px;color:var(--cream);background:radial-gradient(700px 380px at 90% -10%,color-mix(in srgb,var(--tone) 32%,transparent),transparent 60%),linear-gradient(160deg,var(--ink) 0%,var(--ink-2) 100%);border:1px solid var(--line-dark);box-shadow:var(--shadow-warm)}
.sig-label{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--tone)}
.sig-panel h2{font-size:clamp(28px,3.6vw,42px);letter-spacing:-.03em;line-height:1.05;margin:10px 0 8px;color:var(--cream)}
.sig-panel p{color:var(--cream-dim)}
.sig-est{font-size:12px;border:1px dashed color-mix(in srgb,var(--tone) 55%,transparent);border-radius:10px;padding:8px 11px;display:inline-block}
.sig-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.sig-form label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px}
.sig-form input[type=text]{padding:10px 12px;border:1px solid var(--line-dark);border-radius:10px;background:rgba(247,241,227,.07);color:var(--cream);width:100%}
.sig-scenes{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1}
.sig-scene{border:2px solid var(--line-dark);border-radius:14px;background:rgba(247,241,227,.05);padding:8px;cursor:pointer;color:var(--cream);font-size:11px;font-weight:700}
.sig-scene[aria-pressed=true]{border-color:var(--tone)}
.sig-scene svg{display:block;width:150px;height:88px;border-radius:9px}
.sig-gen{min-height:46px;padding:11px 20px;border-radius:999px;border:0;background:linear-gradient(135deg,var(--amber-2),var(--amber));color:var(--ink);font-weight:800;cursor:pointer;grid-column:1/-1;justify-self:start}
.sig-month{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.sig-week h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tone);margin:0 0 8px}
.sig-variant{padding:11px;border:1px solid var(--line-dark);border-radius:11px;background:rgba(247,241,227,.05);margin-bottom:9px}
.sig-variant h4{margin:0 0 5px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--amber-2)}
.sig-variant p{margin:0;font-size:12.5px;line-height:1.45;color:var(--cream);overflow-wrap:anywhere;white-space:pre-line}
.sig-count{font-size:10.5px;color:var(--cream-dim);margin-top:5px!important}
.sig-radar{margin-top:22px;border:1px solid var(--line-dark);border-radius:16px;padding:18px;background:rgba(247,241,227,.04)}
.sig-radar h3{margin:0 0 4px;color:var(--cream)}
.sig-radar svg{width:100%;height:auto;max-height:340px}
.sig-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.sig-signals div{font-size:12px;padding:9px;border:1px solid var(--line-dark);border-radius:9px;color:var(--cream)}
.sig-photo-preview{max-width:220px;border-radius:10px;display:none;margin-top:8px}
@media(max-width:800px){.sig-month{grid-template-columns:repeat(2,1fr)}.sig-form{grid-template-columns:1fr}.sig-signals{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sig-month{grid-template-columns:1fr}}

/* ============ EFFORTLESS WAVE (interaction sweep) ============
   Big tappable controls: targets >=48px (56px preferred), no sliders / free-number boxes
   in signature + demo scope, dark high-contrast control surfaces (fixes the shared
   white-on-white control bug), field numerals >=18px, result numerals >=28px. */
.efx-src{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;border:0!important;overflow:hidden}
.efx-q{font-size:15.5px;font-weight:700;color:var(--cream,#f7f1e3);margin:0 0 8px;line-height:1.45}
.efx-stepper{display:flex;align-items:stretch;gap:8px;width:100%}
.efx-step-btn{flex:0 0 56px;min-width:56px;min-height:56px;border-radius:14px;border:2px solid var(--tone);background:rgba(0,0,0,.4);color:var(--cream,#f7f1e3);font-size:30px;font-weight:800;line-height:1;cursor:pointer}
.efx-step-btn:active{background:var(--tone);color:#17110a}
.efx-step-val{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:56px;padding:8px 10px;border-radius:14px;border:1px solid var(--line-dark,rgba(247,241,227,.25));background:#0b0e14;color:#fff;font-size:22px;font-weight:800;text-align:center}
.efx-chips{display:flex;flex-wrap:wrap;gap:8px}
.efx-chip{min-height:56px;padding:12px 18px;border-radius:14px;border:2px solid var(--line-dark,rgba(247,241,227,.25));background:#0b0e14;color:#fff;font-size:16px;font-weight:700;line-height:1.3;cursor:pointer;text-align:left}
.efx-chip[aria-pressed="true"]{background:var(--tone);border-color:var(--tone);color:#17110a}
.efx-toggle{min-height:48px;min-width:88px;padding:10px 16px;border-radius:12px;border:2px solid var(--line-dark,rgba(247,241,227,.25));background:#0b0e14;color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.efx-toggle[aria-pressed="true"]{background:var(--tone);border-color:var(--tone);color:#17110a}
.demo-field label,.v3d-row label{font-size:15px}
.demo-field input[type=text],.demo-field textarea,.demo-draft,.sig-textarea{font-size:18px!important}
.demo-field input:not(.efx-src),.demo-field select:not(.efx-src),.demo-field textarea{min-height:56px;padding:14px 16px;background:#0b0e14;color:#fff}
.demo-stats .demo-stat b{font-size:28px}
.demo-stats .demo-stat span{font-size:11.5px;color:var(--cream,#f7f1e3)}
.demo-status{font-size:15.5px;line-height:1.55}
.demo-btn{min-height:56px;padding:12px 22px;font-size:16px}
.sig-btn{min-height:56px;padding:12px 24px;font-size:16px}
.sig-stat b{font-size:28px}
.sig-verdict{font-size:17px}
.demo-count,.sig-estimate-label,.sig-estimate{font-size:13.5px;line-height:1.55}
.v3d-btn{min-height:56px;padding:12px 20px;font-size:15.5px}
.v3d-status{font-size:12.5px;padding:9px 13px}
.v3d-summary{font-size:16px}
.v3d-bucket b{font-size:26px}
.v3d textarea{font-size:16.5px;line-height:1.55;min-height:96px;padding:14px 16px;background:#0b0e14;color:#fff}
.v3d-row input[type=text]:not(.efx-src){min-height:56px;font-size:18px;padding:14px 16px;background:#0b0e14;color:#fff}
.sig-scrubrow{margin-top:12px}

/* local-marketing-kit effortless extras */
.sig-form label{font-size:15px}
.sig-form input[type=text]{min-height:56px;padding:14px 16px;font-size:18px;background:#0b0e14;color:#fff}
.sig-scene{min-height:96px;font-size:13.5px;padding:10px}
.sig-scene[aria-pressed="true"]{border-color:var(--tone);background:color-mix(in srgb,var(--tone) 20%,transparent)}
.sig-gen{min-height:56px;font-size:16.5px;padding:14px 26px}
.sig-variant p{font-size:14px}
.sig-count{font-size:12px}

/* EFFORTLESS responsive fix: one big control per row on phones; steppers never force overflow */
@media(max-width:760px){
 .demo-fields{grid-template-columns:1fr}
 .efx-step-val{min-width:0;overflow:hidden}
 .efx-stepper{min-width:0}
}

/* CYCLE1 A7: micro-type floor — sample/estimate labels and essential text >=14px (UX-STANDARD R4) */
.sig-label,.sig-est,.sig-form label,.sig-scene,.sig-week h3,.sig-variant h4,.sig-variant p,.sig-count,.sig-signals div,.demo-stats .demo-stat span,.demo-count,.sig-estimate-label,.sig-estimate,.v3d-status{font-size:14px}

/* CYCLE1 A9: photo file input becomes a >=48px labelled button; native input visually hidden */
.sig-file-btn{display:inline-flex;align-items:center;min-height:56px;padding:12px 20px;border-radius:14px;border:2px solid var(--line-dark,rgba(247,241,227,.25));background:#0b0e14;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.sig-file-btn:hover{border-color:var(--tone)}
#sig-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden}
