/* Contacto - Preparatoria Supérate. Reutiliza los estilos globales y de Test. */
.contact-page{background:#f8f8f8}
.contact-page .site-header{position:sticky;top:0;box-shadow:0 1px 0 rgba(9,34,70,.035)}
.contact-page .primary-nav .contact-active{color:#ffb900}
.contact-banner{min-height:276px}
.contact-banner h1{font-size:50px}
.contact-section{background:#f8f8f8;padding:89px 0 104px}
.contact-layout{width:min(1320px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:minmax(0,565px) minmax(0,680px);align-items:start;gap:75px}
.contact-details{min-width:0;padding-top:1px}
.contact-details h2,.contact-form-col>h2{font-size:32px;line-height:1.25;letter-spacing:-.015em;color:#092246;margin:0;font-weight:800}
.contact-lead{font-size:12px;line-height:1.7;color:#8a8990;margin:39px 0 33px;max-width:530px}
.contact-methods{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}
.contact-methods li{display:flex;align-items:flex-start;gap:13px;color:#90909b;font-size:12px;line-height:1.5}
.contact-methods li a:hover{color:#e94383;text-decoration:underline}
.contact-methods svg{width:19px;height:19px;color:#ffbc00;flex:0 0 19px;stroke-width:2.6;margin-top:-2px}
.contact-location-title{margin:26px 0 38px!important}
.contact-map-box{height:275px;width:100%;max-width:570px;position:relative;overflow:hidden;background:#e8eef5;border-radius:2px}
.contact-map-box iframe{width:100%;height:100%;border:0;display:block}
.contact-map-action{position:absolute;z-index:1;left:13px;top:12px;display:inline-flex;align-items:center;gap:5px;color:#2675dc!important;background:#fff;border:1px solid #e3e6eb;box-shadow:0 2px 5px #0001;padding:8px 10px;font-size:13px;font-weight:700;border-radius:2px}
.contact-map-action svg{width:14px;height:14px;stroke-width:2}
.contact-form-col{min-width:0}
.contact-form-col>h2{margin:0 0 40px}
.contact-form-card{background:#fff;box-shadow:0 7px 31px rgba(22,36,57,.08);border:1px solid #f1f1f1;border-radius:4px;padding:49px 49px 80px}
.contact-form{display:flex;flex-direction:column;gap:15px}
.contact-name-row{display:grid;grid-template-columns:1fr 1fr;gap:29px}
.contact-field{width:100%;min-width:0;min-height:45px;border:1px solid #e1e4e8;border-radius:3px;background:#f6f7f9;color:#263d59;font-size:15px;line-height:1.4;font-family:inherit;padding:10px 12px;transition:border-color .2s,box-shadow .2s}
.contact-field::placeholder{color:#c5c9cf;opacity:1}
.contact-field:focus{outline:0;border-color:#4f94e6;box-shadow:0 0 0 3px rgba(38,117,220,.12)}
.contact-field.contact-message{height:120px;min-height:120px;resize:vertical}
.contact-submit{width:100%;height:41px;border:0;border-radius:28px;background:#ed4086;color:white;font-weight:800;letter-spacing:.08em;font-size:12px;transition:background .2s,transform .2s}
.contact-submit:hover{background:#d92d72;transform:translateY(-1px)}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-feedback{min-height:20px;color:#667385;font-size:12px;line-height:1.5;margin:0}
.contact-feedback.error{color:#b32752}
.contact-feedback.success{color:#187044}
.contact-form-note{font-size:11px;line-height:1.5;color:#88909c;margin:0}
.contact-form-note a{color:#2775db;text-decoration:underline}
.contact-page .back-to-top{background:#ffc429;color:#0d2443}
.contact-page .back-to-top:hover{background:#ffb809}
@media(max-width:1200px){.contact-layout{gap:45px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.contact-form-card{padding:36px}.contact-name-row{gap:13px}}
@media(max-width:900px){.contact-section{padding:65px 0 78px}.contact-layout{width:min(700px,calc(100% - 40px));grid-template-columns:1fr;gap:63px}.contact-map-box{max-width:none;height:300px}.contact-form-col>h2{margin-bottom:25px}.contact-form-card{padding:32px}.contact-lead{margin:23px 0 26px}.contact-location-title{margin-top:32px!important;margin-bottom:27px!important}}
@media(max-width:760px){.contact-banner{min-height:218px}.contact-banner h1{font-size:43px}.contact-page .site-header{height:78px}.contact-page .primary-nav{height:auto;border-right:0;padding:12px 24px 22px}.contact-section{padding:50px 0 75px}.contact-layout{width:calc(100% - 32px);gap:52px}.contact-details h2,.contact-form-col>h2{font-size:27px}.contact-methods li{font-size:13px;line-height:1.6}.contact-lead{font-size:13px}.contact-map-box{height:290px}.contact-form-card{padding:22px 19px 28px}.contact-name-row{grid-template-columns:1fr;gap:13px}.contact-form{gap:13px}.contact-submit{height:45px}.contact-form-col>h2{margin-bottom:22px}}
@media(max-width:400px){.contact-map-box{height:245px}.contact-methods li{overflow-wrap:anywhere}.contact-banner h1{font-size:38px}}
