/* Formulario corto. Se conserva el diseño existente. */
.q-main .q-optional-field{min-height:0;animation:none;margin:24px 0;padding-top:20px;border-top:1px solid var(--g200)}
.q-main .q-optional-field legend{font-size:24px;line-height:1.35}
.q-optional-details{margin:24px 0;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);padding:16px 0}
.q-optional-details>summary{font-size:18px;line-height:1.5;font-weight:600;cursor:pointer;padding:10px 0;color:var(--blue);min-height:48px}
.q-optional-details>summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.q-main .q-help,.q-main .hint,.q-main .q-label,.q-main .check,.q-main .check span,.q-main .q-summary dt,.q-main .q-summary dd{font-size:16px;line-height:1.6;color:var(--g600)}
.q-main .q-label span{font-size:15px;color:var(--g600)}
.q-main .q-options button,.q-main .q-contact-tabs button,.q-main select,.q-main .q-summary button,.q-main .q-change,.q-main .q-skip{font-size:16px;min-height:48px}
.q-main select{margin-top:8px;padding:12px;background:white}
.q-main .q-status{font-size:16px;line-height:1.5;min-height:44px}
.q-main .q-controls .button,.q-main .q-optional-details .button{font-size:16px;text-transform:none;letter-spacing:0;min-height:48px}
.q-main input[type=checkbox]{width:22px;height:22px;flex-shrink:0}
.q-main .q-summary button{padding:0 4px;color:var(--blue)}
.q-main .q-options small,.q-main .q-measure-guide p,.q-main .q-measure-guide h3,.q-main .q-upload>span:last-of-type,.q-main .measure-head,.q-main .measurement label,.q-main .remove-measure,.q-main .text-button{font-size:16px}
.q-main .q-options small{line-height:1.6}
.q-main .q-summary div{grid-template-columns:95px minmax(0,1fr) auto}
@media(max-width:700px){.q-keyboard{display:none!important}.q-main .q-summary div{grid-template-columns:1fr auto}.q-main .q-summary dt{grid-column:1/-1}.q-main .q-status{align-items:flex-start;flex-wrap:wrap}.q-main .q-measure-guide{grid-template-columns:1fr}.q-main .q-measure-guide svg{max-width:180px}.q-main .q-optional-field legend{font-size:23px}}

/* Contacto: mismos colores y estructura, con botones y textos legibles. */
.header-contact{display:flex;gap:10px;align-items:center;flex-shrink:0}
.header-contact a,.header-budget{display:inline-flex;align-items:center;text-decoration:none;font-family:Arial,system-ui,sans-serif;font-weight:600;border:1px solid #fff;background:#fff;color:#111}
.header-contact a[href^="https:"]{background:transparent;color:#fff}
.header-contact .button,.header-budget{font-size:16px;letter-spacing:0;text-transform:none;line-height:1.4;min-height:48px;padding:11px 14px;justify-content:center}
.header-inner{gap:18px}
.header-inner nav{gap:18px}
.header-inner nav a{font-size:12px}
.mobile-contact-bar{display:none}
.focus-intro,.hero-sub,.focus-note,.contact-promise,.intent-heading>p:not(.eyebrow),.request-guide li,.request-guide .incomplete{font-size:18px;line-height:1.65}
.focus-note{color:var(--g600)}
.contact-promise{margin:16px 0 0;color:var(--g600);max-width:580px}
.hero-content .contact-promise{color:white;margin-bottom:20px}
.focus-hero.dark .focus-note,.focus-hero.dark .contact-promise,.focus-hero.cinema .focus-note,.focus-hero.cinema .contact-promise{color:white}
.questionnaire-heading>p:last-child{font-size:18px;line-height:1.65}
.footer-bottom>a[href^="tel:"]{font-size:18px}
.landing-opinions{border-top:1px solid var(--g200)}
.landing-opinions .opinion-rating{font-size:18px;margin:18px 0 26px;color:var(--g600)}
.landing-opinions blockquote{margin:24px 0;padding:0 0 0 20px;border-left:3px solid var(--gold);max-width:920px}
.landing-opinions blockquote p{font-size:18px;line-height:1.7}
.landing-opinions blockquote footer{font-size:16px;line-height:1.6;margin-top:12px;color:var(--g600)}
@media(min-width:701px) and (max-width:1150px){.header-inner{flex-wrap:wrap;padding:14px 0}.header-inner nav{flex:1}.header-contact{order:3;margin-left:auto}.header-budget{order:4}}
@media(max-width:700px){
 body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:150px;scroll-padding-bottom:100px}
 .header-inner{flex-wrap:wrap;gap:12px;padding:12px 0;min-height:0}
 .header-inner .company-logo,.header-inner .company-logo img{width:130px}
 .header-inner nav,.header-budget{display:none}
 .menu-toggle{margin-left:auto}
 .header-contact{order:3;width:100%;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:8px}
 .header-contact .button{font-size:16px;padding:10px 8px;gap:0;min-width:0;text-align:center;white-space:normal}
 .mobile-contact-bar{position:fixed;z-index:50;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6px;background:white;border-top:1px solid var(--g200);padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 15px #0001}
.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:6px 4px;font-size:16px;line-height:1.3;text-align:center;border:1px solid #111;background:white;color:#111;overflow-wrap:anywhere;text-decoration:none}
 .mobile-contact-bar a:last-child{background:var(--black);color:white}
 .mobile-contact-bar a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
 .q-main{scroll-margin-top:170px}
 .measurement-preferences{bottom:calc(86px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 190px);overflow-y:auto}
 .focus-intro,.hero-sub,.focus-note,.contact-promise,.intent-heading>p:not(.eyebrow),.request-guide li,.request-guide .incomplete,.questionnaire-heading>p:last-child{font-size:18px;line-height:1.65}
}

.header-inner .header-budget,.focus-copy>.button,.hero-buttons>.button{font-size:16px;text-transform:none;letter-spacing:0;line-height:1.5}

.q-main .q-change{color:var(--blue)}
@media(max-width:700px){.q-main{min-height:0;scroll-margin-top:12px}.q-main fieldset{min-height:0}.q-controls{scroll-margin-bottom:100px}}

/* Perfil real del fabricante, con su proporción original. */
.hybrid-profile-photo{margin:0;min-width:0;width:100%}
.hybrid-profile-photo img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.hybrid-profile-photo figcaption{font-size:16px;line-height:1.6;color:var(--g600);margin-top:14px;text-align:center}
@media(max-width:767.98px){
 .header-contact{display:none!important}
 body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
 .mobile-contact-bar{position:fixed;z-index:50;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6px;background:white;border-top:1px solid #e0deda;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 15px #0001}
 .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:6px 4px;font-size:16px;line-height:1.3;text-align:center;border:1px solid #111;background:white;color:#111;overflow-wrap:anywhere;text-decoration:none}
 .mobile-contact-bar a:last-child{background:#111;color:white}
 .hybrid-understand{grid-template-columns:1fr}
 .hybrid-profile-photo{width:100%}
 .measurement-preferences{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:700px){html{scroll-padding-top:84px}}
