/*
 * MTG Contact Page Builder CSS
 * Página universal de contacto. No pertenece a TM1/TM2/TM3.
 */

body.mtg-contact-page,
body.mtg-contact-page #page,
body.mtg-contact-page .site,
body.mtg-contact-page main{
    background:#fff!important;
}

body.mtg-contact-page .entry-content,
body.mtg-contact-page .site-main,
body.mtg-contact-page article{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
}

.mtg-contact{
    width:90vw;
    max-width:none;
    margin-left:calc(50% - 45vw);
    margin-right:0;
    padding:56px 0 82px;
    color:#07111f;
    box-sizing:border-box;
}

.mtg-contact *,
.mtg-contact *::before,
.mtg-contact *::after{
    box-sizing:border-box;
}

.mtg-contact-hero{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) 430px;
    gap:34px;
    align-items:stretch;
    min-height:430px;
    padding:42px;
    border-radius:36px;
    background:
        radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--mtg-contact-accent) 26%, transparent), transparent 34%),
        linear-gradient(135deg,#07111f 0%,#10233f 52%,#0b1628 100%);
    color:#fff;
    box-shadow:0 26px 80px rgba(15,23,42,.16);
    overflow:hidden;
}

.mtg-contact-kicker{
    display:inline-flex;
    padding:7px 12px;
    margin:0 0 18px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:12px;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.mtg-contact-hero h1{
    margin:0 0 16px;
    max-width:740px;
    font-size:58px;
    line-height:.98;
    font-weight:950;
    letter-spacing:-.06em;
    color:#fff;
}

.mtg-contact-hero p{
    margin:0;
    max-width:680px;
    color:rgba(255,255,255,.78);
    font-size:18px;
    line-height:1.65;
}

.mtg-contact-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

.mtg-contact-btn{
    min-height:54px;
    padding:15px 22px;
    border-radius:17px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none!important;
    font-weight:950;
}

.mtg-contact-btn--primary{
    background:var(--mtg-contact-accent);
    color:#fff!important;
    box-shadow:0 18px 36px color-mix(in srgb, var(--mtg-contact-accent) 30%, transparent);
}

.mtg-contact-btn--light{
    background:rgba(255,255,255,.10);
    color:#fff!important;
    border:1px solid rgba(255,255,255,.22);
}

.mtg-contact-note{
    margin-top:26px;
    max-width:560px;
    display:flex;
    gap:12px;
    align-items:center;
    padding:16px;
    border-radius:20px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.mtg-contact-note strong{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:rgba(255,255,255,.12);
}

.mtg-contact-panel{
    background:rgba(255,255,255,.96);
    color:#07111f;
    border-radius:30px;
    padding:26px;
    box-shadow:0 26px 70px rgba(0,0,0,.18);
}

.mtg-contact-panel__top{
    display:grid;
    gap:5px;
    padding-bottom:18px;
    border-bottom:1px solid #e5eaf2;
}

.mtg-contact-panel__top span{
    color:#64748b;
    font-weight:850;
}

.mtg-contact-panel__top strong{
    font-size:28px;
    line-height:1.1;
    letter-spacing:-.04em;
}

.mtg-contact-info-list{
    display:grid;
    gap:12px;
    margin-top:18px;
}

.mtg-contact-info-list a,
.mtg-contact-info-list div{
    display:grid;
    gap:4px;
    padding:15px;
    border-radius:18px;
    background:#f8fafc;
    text-decoration:none!important;
    color:#07111f;
}

.mtg-contact-info-list b{
    font-size:14px;
}

.mtg-contact-info-list span{
    color:#64748b;
    line-height:1.35;
}

.mtg-contact-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin:26px 0;
}

.mtg-contact-cards article{
    padding:24px;
    border-radius:26px;
    background:#fff;
    border:1px solid #e5eaf2;
    box-shadow:0 18px 48px rgba(15,23,42,.065);
}

.mtg-contact-cards span{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    border-radius:16px;
    background:#eff6ff;
}

.mtg-contact-cards h2{
    margin:0 0 8px;
    font-size:21px;
    font-weight:950;
    letter-spacing:-.035em;
}

.mtg-contact-cards p{
    margin:0;
    color:#64748b;
    line-height:1.55;
}

.mtg-contact-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:26px;
    align-items:start;
}

.mtg-contact-form,
.mtg-contact-map__box{
    background:#fff;
    border:1px solid #e5eaf2;
    border-radius:30px;
    box-shadow:0 22px 60px rgba(15,23,42,.075);
}

.mtg-contact-form{
    padding:30px;
    display:grid;
    gap:16px;
}

.mtg-contact-form__head span{
    display:inline-flex;
    padding:6px 11px;
    margin-bottom:10px;
    border-radius:999px;
    background:#eff6ff;
    color:#2563eb;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
}

.mtg-contact-form__head h2{
    margin:0 0 8px;
    font-size:32px;
    line-height:1.05;
    font-weight:950;
    letter-spacing:-.045em;
}

.mtg-contact-form__head p{
    margin:0 0 8px;
    color:#64748b;
    line-height:1.55;
}

.mtg-contact-form label{
    display:grid;
    gap:8px;
}

.mtg-contact-form label span{
    font-weight:900;
}

.mtg-contact-form input,
.mtg-contact-form textarea{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:17px;
    background:#fff;
    color:#07111f;
    outline:none;
    padding:0 15px;
}

.mtg-contact-form input{
    min-height:54px;
}

.mtg-contact-form textarea{
    min-height:140px;
    padding-top:14px;
    resize:vertical;
}

.mtg-contact-form input:focus,
.mtg-contact-form textarea:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

.mtg-contact-form button{
    min-height:56px;
    border:0;
    border-radius:18px;
    background:var(--mtg-contact-accent);
    color:#fff;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 17px 36px color-mix(in srgb, var(--mtg-contact-accent) 28%, transparent);
}

.mtg-contact-map{
    display:grid;
    gap:16px;
}

.mtg-contact-map__box{
    min-height:360px;
    overflow:hidden;
}

.mtg-contact-map__box iframe{
    width:100%!important;
    height:360px!important;
    display:block;
    border:0!important;
}

.mtg-contact-map__fallback{
    min-height:360px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:32px;
    text-align:center;
    background:linear-gradient(135deg,#f8fafc,#eff6ff);
}

.mtg-contact-map__fallback span{
    font-size:44px;
    margin-bottom:12px;
}

.mtg-contact-map__fallback h2{
    margin:0 0 8px;
    font-size:25px;
    font-weight:950;
}

.mtg-contact-map__fallback p{
    margin:0;
    color:#64748b;
}

.mtg-contact-social{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.mtg-contact-social a{
    display:inline-flex;
    min-height:42px;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e5eaf2;
    color:#07111f!important;
    text-decoration:none!important;
    font-weight:900;
}

@media(max-width:980px){
    .mtg-contact-hero,
    .mtg-contact-main{
        grid-template-columns:1fr;
    }

    .mtg-contact-cards{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .mtg-contact{
        width:92vw;
        margin-left:calc(50% - 46vw);
        padding:34px 0 58px;
    }

    .mtg-contact-hero{
        padding:26px;
        border-radius:28px;
    }

    .mtg-contact-hero h1{
        font-size:38px;
    }
}

/* MTG Contact polish: panel blanco y cards centradas */
.mtg-contact-panel{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.mtg-contact-panel__top{
    text-align:left !important;
}

.mtg-contact-info-list a,
.mtg-contact-info-list div{
    min-height:74px !important;
}

.mtg-contact-cards article{
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:210px !important;
}

.mtg-contact-cards span{
    margin-left:auto !important;
    margin-right:auto !important;
}

.mtg-contact-cards h2,
.mtg-contact-cards p{
    text-align:center !important;
}

.mtg-contact-cards p{
    max-width:360px !important;
}
