/* Revisión visual v2. Conserva paleta, serif editorial y componentes del wizard original. */
body { background:#fff8f0; color:#2c3e50; font-family:Inter,system-ui,sans-serif; }
.preview-notice { background:#2c3e50; color:#fff8f0; text-align:center; padding:8px 20px; font-size:11px; line-height:1.6; letter-spacing:.015em; }
.preview-notice strong { color:#ffbd92; }
.preview-notice .preview-detail { margin-left:10px; opacity:.85; }
.site-top { max-width:1240px; margin:0 auto; padding:27px 40px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e8ddd0; }
.site-top .brand { display:block; }
.site-top .brand img { width:185px; height:auto; max-height:60px; object-fit:contain; }
.site-top .top-label { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#5a6470; }
main.container { max-width:1240px; padding:62px 40px 32px; }
.diag-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:64px; align-items:start; }
.diag-intro { padding-top:36px; }
.intro-line { width:42px; height:3px; background:#e8651a; margin-bottom:28px; }
.diag-intro h1 { font:500 clamp(40px,4.2vw,57px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.045em; max-width:440px; text-wrap:initial; }
.diag-intro h1 em { color:#e8651a; font-weight:400; }
.diag-intro .intro-copy { margin-top:24px; color:#5a6470; font-size:16px; line-height:1.85; max-width:365px; }
.intro-facts { display:flex; gap:9px; flex-wrap:wrap; margin-top:26px; }
.intro-facts span { display:inline-flex; align-items:center; gap:7px; border:1px solid #e8ddd0; padding:7px 11px; border-radius:30px; font-size:11px; color:#5a6470; background:#fffcf8; }
.intro-facts svg { width:14px; height:14px; color:#e8651a; }
.intro-signature { margin-top:50px; display:flex; gap:13px; align-items:center; padding-top:24px; border-top:1px solid #e8ddd0; }
.intro-signature .monogram { flex:none; display:grid; place-items:center; height:43px; width:43px; border-radius:50%; background:#2c3e50; color:#fff8f0; font:20px Georgia,serif; }
.intro-signature p { font-size:12px; line-height:1.75; color:#5a6470; }
.intro-signature strong { color:#2c3e50; font-weight:600; }
.form-shell { min-width:0; }
.cta-card { padding:0!important; border:1px solid #e8ddd0; border-radius:22px; background:white; box-shadow:0 16px 45px -20px rgba(44,62,80,.19),0 2px 6px rgba(44,62,80,.025); max-width:100%; overflow:hidden; }
.diag-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0; padding:24px 26px 22px; list-style:none; border-bottom:1px solid #eee7de; background:#fdfbf8; }
.diag-steps li { display:flex; align-items:center; gap:9px; color:#858c94; font-size:11px; font-weight:500; line-height:1.4; }
.diag-steps .step-number { width:27px; height:27px; flex:none; border:1px solid #dedbd6; border-radius:50%; display:grid; place-items:center; font-size:10px; font-family:ui-monospace,monospace; }
.diag-steps [aria-current=step] { color:#2c3e50; font-weight:600; }
.diag-steps [aria-current=step] .step-number { border-color:#e8651a; color:white; background:#e8651a; box-shadow:0 0 0 4px #e8651a0c; }
.diag-steps .is-complete .step-number { background:#2c3e50; border-color:#2c3e50; color:white; }
#diag-form { padding:28px 34px 30px; }
#diag-form .wiz-head { margin-bottom:18px; padding-bottom:0; border:0; gap:8px; }
#diag-form .wiz-meta { font-size:10px; letter-spacing:.1em; }
#diag-form .time-note { display:flex; gap:6px; align-items:center; color:#77818a; font-size:11px; }
#diag-form .time-note svg { height:13px; width:13px; }
#diag-form .wiz-progress { height:2px; margin-bottom:27px; background:#f0e8df; }
#diag-form .wiz-step h3 { font:500 30px/1.18 Georgia,serif; letter-spacing:-.025em; margin:0 0 8px; }
#diag-form .wiz-help { color:#7c858f; font-size:13px; margin-bottom:24px; }
#diag-form .wiz-field { margin-bottom:19px; }
#diag-form .wiz-field label { font-size:12px; font-weight:600; margin-bottom:8px; }
#diag-form .wiz-field input,#diag-form .wiz-field textarea,#diag-form select { border:1px solid #e5ded5; background:#fffdfa; color:#2c3e50; border-radius:9px; min-height:49px; padding:12px 14px; font:400 15px/1.5 Inter,system-ui,sans-serif; transition:border-color .15s,box-shadow .15s; }
#diag-form .wiz-field input:focus,#diag-form .wiz-field textarea:focus,#diag-form select:focus { border-color:#e8651a; background:white; box-shadow:0 0 0 3px #e8651a0c; outline:none; }
#diag-form .wiz-field small { display:block; margin-top:7px; color:#858b91; font-size:11px; }
#diag-form legend { font-size:14px; line-height:1.5; margin-bottom:12px; }
#diag-form .wiz-options { gap:9px; }
#diag-form .wiz-opt { border-radius:11px; padding:14px; background:#fffcf8; }
#diag-form .wiz-opt .opt-text { font-size:13px; line-height:1.5; }
#diag-form .wiz-opt input:checked ~ .opt-text { color:#a8440f; }
#diag-form .wiz-opt:has(input:checked) { background:#fff4e9; border-color:#e8651a; }
#diag-form .wiz-opt:has(input[type=checkbox]) .ind { border-radius:5px; }
#diag-form .work-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
#diag-form .work-options .wiz-opt { flex-direction:column; gap:16px; padding:20px 16px; text-align:left; min-height:136px; }
#diag-form .work-options .work-icon { width:39px; height:39px; background:#fbeadd; color:#e8651a; border-radius:10px; padding:9px; }
#diag-form .work-options .ind { position:absolute; right:14px; top:13px; width:17px; height:17px; }
#diag-form .work-options .opt-text { font-weight:600; max-width:170px; }
#diag-form .work-options label:has(input:checked) .work-icon { background:#e8651a; color:#fff; }
#diag-form .consent { background:#faf7f3; border:1px solid #eee7dd; border-radius:11px; padding:15px; gap:12px; margin-top:26px; }
#diag-form .consent input { width:20px; height:20px; min-height:20px; padding:0; }
#diag-form .consent label { font-size:11px; line-height:1.8; font-weight:400; margin:0; }
#diag-form .consent + a { display:inline-block; margin-top:8px; font-size:11px; }
#diag-form .wiz-actions { margin-top:26px; padding-top:22px; gap:12px; }
#diag-form .wiz-btn { min-height:46px; padding:12px 20px; font-size:13px; }
#diag-form #next { margin-left:auto; gap:18px; }
#diag-form #next::after { content:'→'; font-size:18px; line-height:1; }
#diag-form #next:disabled { opacity:.4; }
#diag-form .likert-options { gap:7px; }
#diag-form .likert-options .wiz-opt { min-width:0; padding:12px 0; text-align:center; }
#diag-form .likert-options .opt-text { flex:initial; font-size:15px; font-family:ui-monospace,monospace; }
#diag-form .likert-options .wiz-opt:has(input:checked) { background:#2c3e50; border-color:#2c3e50; }
#diag-form .likert-options .wiz-opt input:checked ~ .opt-text { color:white; }
#diag-form .likert-labels { color:#858b91; font-size:10px; margin:7px 0 24px; }
#diag-form .wiz-err,.diag-error { font-size:12px; }
#diag-form .has-error input,#diag-form .has-error select { border-color:#bd3a2b; }
#diag-form #booking-confirmation { border-left:3px solid #e8651a; padding:12px 14px; background:#fff8f0; font-size:13px; margin:0 0 16px; }
#diag-form #booking-confirmation + p { font-size:13px; color:#5a6470; margin-bottom:24px; }
.footer-note { margin:20px 0 0; display:flex; justify-content:space-between; gap:16px; color:#858b91; font-size:11px; }
.footer-note a { color:#697581; }
.mobile-trust { display:none; }
/* Agenda: selección real de día/hora sobre disponibilidad SIMULADA, sin proveedores. */
#diag-form .agenda-meta { display:flex; gap:12px; flex-wrap:wrap; margin:12px 0 22px; font-size:11px; color:#7b858e; }
#diag-form .agenda-meta span { display:flex; gap:5px; align-items:center; }
#diag-form .agenda-meta svg { width:13px; height:13px; color:#e8651a; }
#booking-person { font-size:11px; overflow-wrap:anywhere; padding:11px 13px; background:#faf7f3; border:1px solid #eee7de; border-radius:8px; margin:18px 0 23px; }
.agenda-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:22px; }
.calendar-panel { min-width:0; }
.month-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:17px; }
#diag-form .month-heading h4 { font-size:14px; font-weight:600; text-transform:capitalize; }
.month-nav { display:flex; gap:5px; }
.month-nav button { width:32px; height:32px; border:1px solid #e8ddd0; border-radius:50%; background:white; color:#2c3e50; display:grid; place-items:center; padding:7px; }
.month-nav button:disabled { opacity:.3; cursor:default; }
.calendar-week,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.calendar-week { margin-bottom:7px; }
.calendar-week span { font:10px/24px ui-monospace,monospace; color:#89919a; text-align:center; }
.calendar-grid button { position:relative; border:1px solid transparent; background:#fff9f2; color:#2c3e50; border-radius:8px; aspect-ratio:1; padding:0; font-size:12px; min-width:0; }
.calendar-grid button::after { content:''; position:absolute; width:3px; height:3px; border-radius:50%; bottom:4px; left:calc(50% - 1.5px); background:#e8651a; }
.calendar-grid button:disabled { color:#b8bfc3; background:transparent; cursor:default; }
.calendar-grid button:disabled::after { display:none; }
.calendar-grid button[aria-pressed=true] { background:#e8651a; color:#fff; border-color:#e8651a; box-shadow:0 3px 8px #e8651a25; }
.calendar-grid button[aria-pressed=true]::after { background:#fff; }
.calendar-grid button:not(:disabled):hover { border-color:#e8651a; }
.calendar-key { display:flex; align-items:center; gap:7px; margin-top:13px; font-size:10px; color:#89919a; }
.calendar-key::before { content:''; width:4px; height:4px; background:#e8651a; border-radius:50%; }
.time-panel { border-left:1px solid #efe8df; padding-left:20px; min-width:0; }
#diag-form .time-panel h4 { font-size:12px; font-weight:600; text-transform:capitalize; margin:7px 0 16px; line-height:1.5; }
.time-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.time-grid button { padding:10px 2px; min-height:40px; background:white; color:#2c3e50; border:1px solid #e8ddd0; border-radius:7px; font:11px ui-monospace,monospace; }
.time-grid button:hover { border-color:#e8651a; }
.time-grid button[aria-pressed=true] { color:white; background:#2c3e50; border-color:#2c3e50; }
.booking-summary { display:flex; gap:11px; align-items:center; margin-top:23px; padding:13px 15px; border:1px solid #f0d4ba; background:#fff8ee; border-radius:10px; }
.booking-summary svg { width:18px; height:18px; color:#e8651a; flex:none; }
.booking-summary p { font-size:12px; font-weight:500; line-height:1.6; text-transform:capitalize; }
#diag-form .agenda-info { font-size:11px; line-height:1.7; color:#858b91; margin-top:18px; }
@media(min-width:1000px) { body.is-agenda .diag-layout { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:48px; } body.is-agenda .diag-intro h1 { font-size:49px; } }
@media(max-width:900px) { main.container { padding:34px 24px; max-width:740px; } .diag-layout { grid-template-columns:1fr; gap:28px; } .diag-intro { padding:0; } .diag-intro h1 { font-size:42px; max-width:none; } .diag-intro .intro-copy { max-width:570px; margin-top:16px; font-size:14px; line-height:1.8; } .intro-line { margin-bottom:18px; } .intro-facts { margin-top:18px; } .intro-signature { display:none; } .mobile-trust { display:block; font-size:12px; line-height:1.8; color:#6b7783; margin-top:24px; } .site-top { padding:20px 24px; } }
@media(max-width:560px) {
 .preview-notice { font-size:10px; padding:6px 12px; } .preview-detail { display:none; }
 .site-top { padding:17px 20px; } .site-top .brand img { width:151px; } .site-top .top-label { font-size:8px; max-width:75px; text-align:right; line-height:1.6; }
 main.container { padding:28px 16px 24px; } .diag-layout { gap:24px; } .diag-intro { padding:0 5px; } .diag-intro h1 { font-size:37px; line-height:1.12; letter-spacing:-.04em; } .diag-intro .intro-copy { font-size:13px; line-height:1.8; margin-top:14px; }
 .intro-line { width:30px; height:2px; margin-bottom:16px; } .intro-facts { margin-top:16px; gap:6px; } .intro-facts span { font-size:9px; padding:5px 9px; }
 .cta-card { border-radius:17px; } .diag-steps { padding:19px 16px; gap:8px; } .diag-steps li { flex-direction:column; align-items:flex-start; gap:8px; font-size:10px; } .diag-steps .step-number { width:25px; height:25px; font-size:9px; }
 #diag-form { padding:23px 20px 24px; } #diag-form .wiz-step h3 { font-size:27px; } #diag-form .wiz-field input,#diag-form .wiz-field textarea,#diag-form select { font-size:16px; } #diag-form .wiz-head { margin-bottom:16px; } #diag-form .wiz-progress { margin-bottom:24px; } #diag-form .wiz-meta { font-size:9px; } #diag-form .time-note { font-size:10px; }
 #diag-form .work-options { grid-template-columns:1fr; gap:10px; } #diag-form .work-options .wiz-opt { flex-direction:row; align-items:center; padding:17px 14px; gap:13px; min-height:82px; } #diag-form .work-options .ind { top:calc(50% - 9px); } #diag-form .work-options .opt-text { padding-right:17px; font-size:12px; } #diag-form .work-options .work-icon { flex:none; }
 .agenda-layout { grid-template-columns:1fr; gap:22px; } .calendar-grid { gap:5px; } .calendar-grid button { min-height:39px; font-size:12px; } .month-nav button { width:40px; height:40px; } #diag-form .month-heading h4 { font-size:15px; }
 .time-panel { border-left:0; border-top:1px solid #efe8df; padding:20px 0 0; } #diag-form .time-panel h4 { margin:0 0 13px; font-size:13px; } .time-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .time-grid button { min-height:44px; font-size:12px; }
 #diag-form #next { font-size:12px; padding:12px 17px; gap:10px; } #diag-form .wiz-btn { padding:12px 13px; font-size:12px; } .footer-note { font-size:10px; flex-wrap:wrap; gap:7px; }
}
@media(prefers-reduced-motion:reduce) { #diag-form .wiz-step { animation:none; } }
