/* Ajustes para que las secciones del prototipo se vean igual dentro de Elementor */
.e-con.os-sec,.e-con.os-form,.e-con.contact{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;max-width:none}
.e-con.os-sec{display:block!important;width:100%}
.os-sec>.elementor-element,.os-sec>.e-con,.os-form>.elementor-element{width:100%!important;max-width:none!important}
.os-sec .elementor-widget,.os-form .elementor-widget,.contact .elementor-widget{margin:0!important;--kit-widget-spacing:0px}
.elementor-widget-html{width:100%}
.elementor-location-header .os-sec,.elementor-location-footer .os-sec{position:static}
.page-header,.site-header:not(.elementor-location-header),.site-footer:not(.elementor-location-footer){display:none}

/* Sección de contacto: misma rejilla que el prototipo */
.e-con.contact{display:grid!important;grid-template-columns:1fr 1.15fr;gap:64px;padding:120px 48px}
.e-con.os-form{display:block!important}
@media(max-width:820px){.e-con.contact{grid-template-columns:1fr;gap:32px;padding:72px 20px}}

/* Formulario de Elementor con el estilo del prototipo */
.osform .elementor-form-fields-wrapper{display:grid!important;grid-template-columns:1fr 1fr;gap:16px;margin:0!important}
.osform .elementor-field-group{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;display:flex;flex-direction:column;align-items:stretch}
.osform .elementor-field-group.elementor-col-100,.osform .elementor-field-type-submit,.osform .elementor-field-type-acceptance{grid-column:1/-1}
.osform .elementor-field-type-hidden,.osform .os-hide{display:none!important}
.osform .elementor-field-label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;opacity:.75;color:inherit!important;padding:0!important}
.osform .elementor-field-textual,.osform .elementor-select-wrapper select,.osform input[type=date]{width:100%;background:var(--field)!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:14px!important;font:inherit!important;font-size:15.5px!important;color:inherit!important;min-height:0;box-shadow:none}
.osform .elementor-select-wrapper select option{color:#111;background:#fff}
.osform .elementor-select-wrapper .select-caret-down-wrapper{color:inherit}
.osform textarea.elementor-field-textual{min-height:92px}
.osform .elementor-field-type-acceptance .elementor-field-subgroup{font-size:13.5px;line-height:1.4}
.osform .elementor-button{background:var(--g)!important;color:#000!important;border-radius:40px!important;padding:17px 30px!important;font:inherit!important;font-weight:700!important;font-size:15px!important;width:auto!important;justify-self:start}
.osform .elementor-field-type-submit{justify-content:flex-start}
.osform .elementor-mark-required .elementor-field-label:after{color:inherit;opacity:.7}
.osform .elementor-message{grid-column:1/-1;font-size:14px;font-weight:600}
.osform .elementor-message-success{color:var(--okc)}
.os-dl{display:inline-block;margin-top:14px;background:#fff;color:#000;border-radius:40px;padding:14px 24px;font-weight:700;font-size:15px}
.os-form .seg{margin-bottom:18px}
@media(max-width:820px){.osform .elementor-form-fields-wrapper{grid-template-columns:1fr}}

/* Elementor fija img{height:auto;max-width:100%}: devolvemos el comportamiento del prototipo */
.elementor .full{width:100%;height:100%;max-width:none}
.elementor footer img{height:18px;width:auto}
.osform,.osform form,.osform .elementor-form,.osform .elementor-form-fields-wrapper{width:100%!important}
.osform .elementor-field-group>*{width:100%!important;max-width:none!important;flex:none!important}
.osform .elementor-field-type-acceptance .elementor-field-subgroup,.osform .elementor-field-type-acceptance label{width:auto!important}
.osform .elementor-field-option{display:flex;gap:10px;align-items:flex-start}
.osform form.elementor-form{display:block!important}
.osform .elementor-field-type-acceptance .elementor-field-label{display:none}

/* Elementor anula todas las transiciones con "animaciones reducidas" (html *). El menú conserva su fundido, como en el prototipo */
@media(prefers-reduced-motion:reduce){
html .dim{transition-duration:.7s,.7s!important}
html .dd .menu{transition-duration:.7s,.55s,.7s!important}
}

/* Elementor envuelve el pie en otra etiqueta <footer>: sin relleno ni borde duplicados */
footer.elementor-location-footer{padding:0;border:0;display:block}
/* Con la barra de administración visible, la cabecera fija baja para no quedar tapada */
.admin-bar .head{top:32px}
@media(max-width:782px){.admin-bar .head{top:46px}}
