/* ==========================================================
   MADRID CERCA — ADAPTADOR ASTRA / GUTENBERG
   ========================================================== */

:is(body.mcz-site-page, body:has(.mcz-site)){
    overflow-x:hidden !important;
    background:#F8F3EC !important;
}

:is(body.mcz-site-page, body:has(.mcz-site)) .site-content > .ast-container,
:is(body.mcz-site-page, body:has(.mcz-site)) .ast-container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

:is(body.mcz-site-page, body:has(.mcz-site)) #primary,
:is(body.mcz-site-page, body:has(.mcz-site)) .content-area,
:is(body.mcz-site-page, body:has(.mcz-site)) .site-main,
:is(body.mcz-site-page, body:has(.mcz-site)) article,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

:is(body.mcz-site-page, body:has(.mcz-site)) #secondary,
:is(body.mcz-site-page, body:has(.mcz-site)) .widget-area,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-header,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-title,
:is(body.mcz-site-page, body:has(.mcz-site)) .page-title,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-meta{
    display:none !important;
}

:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-html.alignfull{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* ==========================================================
   FIN ADAPTADOR ASTRA
   A partir de aquí: CSS original de Madrid Cerca
   ========================================================== */

/* ==========================================================
   MADRID CERCA — COMPLETE CORPORATE DIRECTORY HOMEPAGE
   WordPress / Gutenberg / HTML + CSS + Vanilla JS
   ========================================================== */


/* ==========================================================
   WORDPRESS RESET
   ========================================================== */

:is(body.mcz-site-page, body:has(.mcz-site)){
    overflow-x:hidden;
}

.wp-block-html.alignfull,
.entry-content > .wp-block-html.alignfull,
.wp-block-post-content > .wp-block-html.alignfull{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}


/* ==========================================================
   OCULTAR TÍTULO, FECHA Y METADATOS DE LA PLANTILLA
   Solo en la página que contiene Madrid Cerca
   ========================================================== */

:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-post-title,
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-post-date,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-title,
:is(body.mcz-site-page, body:has(.mcz-site)) .page-title,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-meta,
:is(body.mcz-site-page, body:has(.mcz-site)) .post-meta,
:is(body.mcz-site-page, body:has(.mcz-site)) .posted-on,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-header,
:is(body.mcz-site-page, body:has(.mcz-site)) .post-header,
:is(body.mcz-site-page, body:has(.mcz-site)) .page-header{
    display:none !important;
}

/* Elimina contenedores vacíos que algunos temas dejan alrededor
   del título o la fecha del post/página. */
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-group:has(> .wp-block-post-title),
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-group:has(> .wp-block-post-date){
    display:none !important;
}

/* Evita huecos superiores añadidos por el tema. */
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-post-content,
:is(body.mcz-site-page, body:has(.mcz-site)) .entry-content,
:is(body.mcz-site-page, body:has(.mcz-site)) .site-main{
    margin-top:0 !important;
    padding-top:0 !important;
}

/* Evita separación automática antes del bloque HTML principal. */
:is(body.mcz-site-page, body:has(.mcz-site)) main > .wp-block-html.alignfull,
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-site-blocks > main > .wp-block-html.alignfull{
    margin-block-start:0 !important;
}


/* ==========================================================
   DESIGN TOKENS
   ========================================================== */

.mcz-site{

    --navy-1000:#25282B;
    --navy-950:#2C2927;
    --navy-900:#34312E;
    --navy-850:#3A3734;
    --navy-800:#48433F;

    --blue-800:#7F3528;
    --blue-700:#9C4634;
    --blue-600:#AE5A45;
    --blue-500:#C7745C;
    --blue-400:#E7A087;

    --ice-100:#F3E2DA;
    --ice-050:#FBF4EF;

    --slate-900:#25282B;
    --slate-800:#3C3936;
    --slate-700:#57524E;
    --slate-600:#6B645E;
    --slate-500:#817A74;
    --slate-400:#A39B94;

    --grey-300:#D5CBC1;
    --grey-200:#DED3C8;
    --grey-100:#F1E8DE;
    --grey-050:#F8F3EC;

    --white:#ffffff;

    --green:#39705B;
    --green-soft:#EAF3EE;

    --gold:#9A6B32;
    --gold-soft:#F7EEDC;

    --ai:#A95845;
    --ai-soft:#F5E5DE;

    --shadow-xs:
        0 2px 5px rgba(37,40,43,.025),
        0 8px 22px rgba(37,40,43,.045);

    --shadow:
        0 5px 16px rgba(37,40,43,.045),
        0 22px 55px rgba(37,40,43,.09);

    --shadow-lg:
        0 10px 25px rgba(37,40,43,.07),
        0 38px 90px rgba(37,40,43,.15);

    --r-sm:12px;
    --r:18px;
    --r-lg:26px;
    --r-xl:34px;

    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    overflow:hidden;

    color:var(--slate-900);
    background:#FFFDF9;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.mcz-site *,
.mcz-site *::before,
.mcz-site *::after{
    box-sizing:border-box;
}

.mcz-site a{
    color:inherit;
    text-decoration:none;
}

.mcz-site button,
.mcz-site input{
    font:inherit;
}


/* ==========================================================
   LAYOUT
   ========================================================== */

.mcz-wrap{
    width:min(
        1280px,
        calc(100% - clamp(28px,5vw,84px))
    );
    margin-inline:auto;
}

.mcz-wrap-wide{
    width:min(
        1400px,
        calc(100% - clamp(28px,4vw,68px))
    );
    margin-inline:auto;
}


/* ==========================================================
   TEXT SYSTEM
   ========================================================== */

.mcz-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin:0 0 17px;

    color:var(--blue-700);

    font-size:10px;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.mcz-kicker::before{
    content:"";
    width:25px;
    height:2px;
    border-radius:999px;
    background:currentColor;
}

.mcz-h1{
    max-width:850px;

    margin:0;

    color:var(--navy-1000);

    font-size:clamp(49px,6.4vw,86px);
    font-weight:820;

    line-height:.95;
    letter-spacing:-.063em;
}

.mcz-h1 span{
    color:var(--blue-600);
}

.mcz-h2{
    margin:0;

    color:var(--navy-1000);

    font-size:clamp(35px,4.4vw,56px);
    font-weight:800;

    line-height:.99;
    letter-spacing:-.05em;
}

.mcz-h3{
    margin:0;
    color:var(--navy-950);
    font-weight:780;
    letter-spacing:-.035em;
}

.mcz-lead{
    max-width:730px;

    margin:24px 0 0;

    color:var(--slate-600);

    font-size:clamp(17px,1.8vw,20px);
    line-height:1.7;
}

.mcz-section-copy{
    max-width:700px;

    margin:18px 0 0;

    color:var(--slate-600);

    font-size:15px;
    line-height:1.7;
}

.mcz-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:40px;

    margin-bottom:43px;
}

.mcz-section-link{
    display:inline-flex;
    flex:0 0 auto;

    align-items:center;
    gap:8px;

    color:var(--blue-700);

    font-size:12px;
    font-weight:800;
}

.mcz-section-link svg{
    transition:transform .2s ease;
}

.mcz-section-link:hover svg{
    transform:translateX(4px);
}


.mcz-ranking-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.mcz-ranking-actions .mcz-btn{
    min-height:46px;
    padding:0 17px;
    font-size:11px;
}

@media(max-width:800px){
    .mcz-ranking-actions{
        justify-content:flex-start;
        margin-top:20px;
    }
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.mcz-btn{
    position:relative;

    display:inline-flex;
    min-height:54px;

    align-items:center;
    justify-content:center;
    gap:9px;

    overflow:hidden;

    padding:0 23px;

    border:1px solid transparent;
    border-radius:13px;

    cursor:pointer;

    font-size:13px;
    font-weight:780;

    transition:
        transform .2s cubic-bezier(.2,.8,.2,1),
        box-shadow .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.mcz-btn:hover{
    transform:translateY(-3px);
}

.mcz-btn svg{
    transition:transform .2s ease;
}

.mcz-btn:hover svg{
    transform:translateX(4px);
}

.mcz-btn-primary{
    color:#fff !important;

    background:
        linear-gradient(
            180deg,
            #B85F49,
            #9C4634
        );

    box-shadow:
        0 6px 14px rgba(156,70,52,.15),
        0 16px 32px rgba(156,70,52,.14);
}

.mcz-btn-primary::after{
    content:"";

    position:absolute;
    top:-50px;
    left:-70px;

    width:42px;
    height:160px;

    transform:rotate(27deg);

    background:rgba(255,255,255,.18);

    transition:left .5s ease;
}

.mcz-btn-primary:hover::after{
    left:120%;
}

.mcz-btn-dark{
    color:#fff !important;
    background:var(--navy-950);
}

.mcz-btn-outline{
    color:var(--navy-950) !important;

    border-color:var(--grey-200);

    background:rgba(255,255,255,.76);

    backdrop-filter:blur(12px);
}

.mcz-btn-outline:hover{
    background:#fff;
    border-color:rgba(156,70,52,.25);
    box-shadow:var(--shadow-xs);
}


/* ==========================================================
   GENERIC CURSOR GLOW
   ========================================================== */

.mcz-glow{
    --gx:50%;
    --gy:50%;

    position:relative;
    isolation:isolate;
}

.mcz-glow::after{
    content:"";

    position:absolute;
    z-index:-1;
    inset:0;

    opacity:0;

    pointer-events:none;

    background:
        radial-gradient(
            340px circle at var(--gx) var(--gy),
            rgba(199,116,92,.14),
            transparent 55%
        );

    transition:opacity .25s ease;
}

.mcz-glow:hover::after{
    opacity:1;
}


/* ==========================================================
   HERO
   ========================================================== */

.mcz-hero{
    position:relative;
    isolation:isolate;

    padding:
        clamp(76px,7.5vw,120px)
        0
        115px;

    background:
        radial-gradient(
            circle at 82% 10%,
            rgba(199,116,92,.11),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 85%,
            rgba(156,70,52,.05),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #fff,
            #F8F3EC
        );
}

.mcz-hero::before{
    content:"";

    position:absolute;
    z-index:-1;

    top:0;
    right:0;

    width:48%;
    height:100%;

    opacity:.33;

    background-image:
        radial-gradient(
            circle,
            rgba(156,70,52,.17) 1px,
            transparent 1.4px
        );

    background-size:24px 24px;

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000
        );
}

.mcz-hero-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(420px,.95fr);

    align-items:center;

    gap:clamp(55px,7vw,105px);
}


/* ==========================================================
   BRAND CHIP
   ========================================================== */

.mcz-brand-chip{
    display:inline-flex;

    align-items:center;
    gap:10px;

    margin-bottom:26px;
}

.mcz-brand-mark{
    position:relative;

    display:grid;

    width:36px;
    height:36px;

    place-items:center;

    border-radius:11px;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            var(--blue-500),
            var(--blue-700)
        );

    box-shadow:
        0 8px 18px
        rgba(156,70,52,.19);
}

.mcz-brand-mark::after{
    content:"";

    position:absolute;

    width:8px;
    height:8px;

    top:5px;
    right:5px;

    border-radius:50%;

    background:#EDB5A1;

    box-shadow:
        0 0 0 3px
        rgba(237,181,161,.14);
}

.mcz-brand-text{
    color:var(--navy-900);

    font-size:15px;
    font-weight:850;

    letter-spacing:-.03em;
}

.mcz-brand-text span{
    color:var(--blue-600);
}


/* ==========================================================
   HERO ACTIONS
   ========================================================== */

.mcz-hero-actions{
    display:flex;
    flex-wrap:wrap;

    gap:11px;

    margin-top:33px;
}

.mcz-mini-proof{
    display:flex;
    flex-wrap:wrap;

    gap:19px;

    margin-top:34px;

    color:var(--slate-600);

    font-size:11px;
    font-weight:650;
}

.mcz-mini-proof span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.mcz-proof-icon{
    display:grid;

    width:21px;
    height:21px;

    place-items:center;

    border-radius:7px;

    color:var(--green);

    background:var(--green-soft);
}


/* ==========================================================
   HERO PHOTO / DATA LAB
   ========================================================== */

.mcz-lab{
    position:relative;

    min-height:540px;

    perspective:1200px;
}

.mcz-photo-main{
    position:absolute;

    inset:0 52px 25px 0;

    overflow:hidden;

    border-radius:31px;

    background:var(--navy-950);

    box-shadow:var(--shadow-lg);

    transform-style:preserve-3d;

    transition:transform .18s ease-out;
}

.mcz-photo-main img{
    width:100%;
    height:100%;
    object-fit:cover;

    opacity:.76;

    transition:
        transform .6s cubic-bezier(.2,.8,.2,1),
        filter .6s ease;
}

.mcz-photo-main:hover img{
    transform:scale(1.055);
    filter:saturate(1.08) contrast(1.03);
}

.mcz-photo-main::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(37,40,43,.04),
            rgba(37,40,43,.36) 56%,
            rgba(37,40,43,.93)
        );
}


/* lab overlay */

.mcz-lab-info{
    position:absolute;
    z-index:4;

    right:28px;
    bottom:28px;
    left:28px;

    color:white;
}

.mcz-lab-label{
    display:inline-flex;

    align-items:center;
    gap:7px;

    margin-bottom:14px;

    padding:7px 10px;

    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;

    background:rgba(44,41,39,.37);

    backdrop-filter:blur(14px);

    color:rgba(255,255,255,.75);

    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mcz-lab-info h2{
    max-width:430px;

    margin:0;

    color:#fff;

    font-size:clamp(28px,3vw,42px);
    line-height:1;
    letter-spacing:-.045em;
}

.mcz-lab-info p{
    max-width:400px;

    margin:12px 0 0;

    color:rgba(255,255,255,.62);

    font-size:11px;
    line-height:1.55;
}


/* floating cards */

.mcz-float{
    position:absolute;
    z-index:7;

    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;

    background:
        rgba(44,41,39,.84);

    backdrop-filter:blur(18px);

    box-shadow:
        0 14px 38px
        rgba(37,40,43,.20);

    color:#fff;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.mcz-float:hover{
    transform:
        translateY(-5px)
        scale(1.025);

    box-shadow:
        0 22px 50px
        rgba(37,40,43,.26);
}

.mcz-float-score{
    top:25px;
    right:0;

    width:175px;

    padding:16px;
}

.mcz-float-score small,
.mcz-float-lists small{
    display:block;

    color:#E4A18B;

    font-size:7px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.mcz-score-row{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:10px;

    margin-top:6px;
}

.mcz-score-row strong{
    font-size:32px;
    letter-spacing:-.06em;
}

.mcz-score-row span{
    margin-bottom:5px;

    color:#83BFA3;

    font-size:8px;
    font-weight:750;
}

.mcz-score-bar{
    height:5px;

    margin-top:11px;

    overflow:hidden;

    border-radius:999px;

    background:rgba(255,255,255,.09);
}

.mcz-score-bar span{
    display:block;

    width:82%;
    height:100%;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #B96049,
            #E7A087
        );
}


/* compatible lists */

.mcz-float-lists{
    top:190px;
    right:4px;

    width:205px;

    padding:16px;
}

.mcz-float-lists strong{
    display:block;

    margin-top:6px;

    font-size:14px;
}

.mcz-mini-list{
    display:grid;
    gap:5px;

    margin-top:11px;
}

.mcz-mini-list span{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:8px;

    padding:7px 8px;

    border-radius:8px;

    background:rgba(255,255,255,.045);

    color:rgba(255,255,255,.67);

    font-size:7px;
}

.mcz-mini-list b{
    color:#E9AA94;
}


/* ==========================================================
   SEARCH
   ========================================================== */

.mcz-search-wrap{
    position:relative;
    z-index:50;

    margin-top:-42px;
}

.mcz-search{
    display:grid;

    grid-template-columns:
        minmax(310px,1.45fr)
        minmax(260px,.85fr)
        auto;

    align-items:stretch;

    padding:9px;

    border:1px solid rgba(44,41,39,.08);
    border-radius:21px;

    background:rgba(255,255,255,.97);

    backdrop-filter:blur(22px);

    box-shadow:
        0 4px 10px
        rgba(37,40,43,.035),
        0 26px 65px
        rgba(37,40,43,.11);
}

.mcz-search-field{
    display:flex;

    min-height:69px;

    align-items:center;
    gap:12px;

    padding:0 20px;
}

.mcz-search-field + .mcz-search-field{
    border-left:1px solid var(--grey-200);
}

.mcz-search-icon{
    position:relative;

    display:grid;

    flex:0 0 auto;

    width:41px;
    height:41px;

    place-items:center;

    overflow:hidden;

    border-radius:12px;

    color:var(--blue-700);

    background:
        linear-gradient(
            145deg,
            #FBF4EF,
            #F3E2DA
        );
}

.mcz-search-icon::after{
    content:"";

    position:absolute;

    width:24px;
    height:24px;

    top:-10px;
    right:-10px;

    border-radius:50%;

    background:rgba(255,255,255,.9);
}

.mcz-search-icon svg{
    position:relative;
    z-index:2;
}

.mcz-search-body{
    width:100%;
    min-width:0;
}

.mcz-search-body label{
    display:block;

    margin-bottom:4px;

    color:var(--slate-500);

    font-size:8px;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.mcz-search-body input{
    width:100%;

    border:0;
    outline:0;

    padding:0;

    color:var(--navy-950);
    background:transparent;

    font-size:14px;
    font-weight:650;
}

.mcz-search-body input::placeholder{
    color:var(--slate-700);
    opacity:1;
}

.mcz-search-button{
    display:inline-flex;

    min-width:140px;

    align-items:center;
    justify-content:center;
    gap:8px;

    margin-left:7px;

    border:0;
    border-radius:13px;

    cursor:pointer;

    color:#fff;

    background:
        linear-gradient(
            180deg,
            #34312E,
            #2C2927
        );

    font-size:12px;
    font-weight:800;

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.mcz-search-button:hover{
    transform:translateY(-2px);

    background:
        linear-gradient(
            180deg,
            #AE5A45,
            #9C4634
        );

    box-shadow:
        0 13px 26px
        rgba(156,70,52,.22);
}


/* ==========================================================
   CUSTOM LOCATION DROPDOWN
   ========================================================== */

.mcz-location{
    position:relative;
    flex:1;
    min-width:0;
}

.mcz-location-label{
    display:block;

    margin-bottom:4px;

    color:var(--slate-500);

    font-size:8px;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.mcz-location-btn{
    display:flex;

    width:100%;

    align-items:center;
    justify-content:space-between;

    gap:12px;

    border:0;
    outline:0;

    padding:0;

    color:var(--navy-950);
    background:transparent;

    cursor:pointer;

    text-align:left;

    font-size:14px;
    font-weight:700;
}

.mcz-chevron{
    display:grid;

    flex:0 0 auto;

    width:27px;
    height:27px;

    place-items:center;

    border-radius:8px;

    color:var(--slate-600);

    background:var(--grey-100);

    transition:
        transform .2s ease,
        color .2s ease,
        background .2s ease;
}

.mcz-location-btn[aria-expanded="true"] .mcz-chevron{
    transform:rotate(180deg);

    color:var(--blue-700);
    background:var(--ice-100);
}

.mcz-location-menu{
    position:absolute;
    z-index:1000;

    top:calc(100% + 20px);
    left:-60px;

    width:min(410px,92vw);

    visibility:hidden;
    opacity:0;

    transform:
        translateY(-8px)
        scale(.985);

    transform-origin:top center;

    padding:9px;

    border:1px solid rgba(44,41,39,.09);
    border-radius:19px;

    background:rgba(255,255,255,.99);

    backdrop-filter:blur(25px);

    box-shadow:
        0 12px 30px
        rgba(37,40,43,.09),
        0 35px 80px
        rgba(37,40,43,.15);

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.mcz-location-menu.open{
    visibility:visible;
    opacity:1;

    transform:
        translateY(0)
        scale(1);
}

.mcz-loc-head{
    padding:12px 12px 10px;
}

.mcz-loc-head strong{
    display:block;

    color:var(--navy-950);

    font-size:12px;
}

.mcz-loc-head span{
    display:block;

    margin-top:3px;

    color:var(--slate-500);

    font-size:9px;
}

.mcz-location-filter{
    position:relative;

    margin:7px 7px 8px;
}

.mcz-location-filter svg{
    position:absolute;

    top:50%;
    left:12px;

    transform:translateY(-50%);

    color:var(--slate-500);
}

.mcz-location-filter input{
    width:100%;
    min-height:42px;

    border:1px solid var(--grey-200);
    border-radius:11px;

    outline:0;

    padding:0 12px 0 36px;

    color:var(--navy-950);
    background:var(--grey-050);

    font-size:11px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.mcz-location-filter input:focus{
    border-color:rgba(156,70,52,.35);

    background:#fff;

    box-shadow:
        0 0 0 3px
        rgba(156,70,52,.08);
}

.mcz-geolocate{
    display:flex;

    width:calc(100% - 14px);

    align-items:center;
    gap:9px;

    margin:0 7px 7px;

    border:0;
    border-radius:10px;

    padding:10px 11px;

    cursor:pointer;

    color:var(--blue-700);
    background:var(--ice-050);

    font-size:10px;
    font-weight:750;

    transition:
        transform .18s ease,
        background .18s ease;
}

.mcz-geolocate:hover{
    transform:translateX(3px);
    background:var(--ice-100);
}

.mcz-loc-options{
    display:grid;
    gap:2px;

    max-height:315px;

    overflow:auto;

    padding:3px 5px 5px;

    scrollbar-width:thin;
}

.mcz-loc-option{
    display:flex;

    width:100%;
    min-height:42px;

    align-items:center;
    justify-content:space-between;

    gap:10px;

    border:0;
    border-radius:10px;

    padding:0 10px;

    cursor:pointer;

    color:var(--slate-700);
    background:transparent;

    text-align:left;

    font-size:10px;
    font-weight:600;

    transition:
        transform .15s ease,
        color .15s ease,
        background .15s ease;
}

.mcz-loc-option:hover{
    transform:translateX(3px);

    color:var(--blue-700);
    background:var(--ice-050);
}

.mcz-loc-option.selected{
    color:var(--blue-700);
    background:var(--ice-100);
    font-weight:750;
}

.mcz-loc-check{
    display:grid;

    width:20px;
    height:20px;

    place-items:center;

    opacity:0;

    border-radius:6px;

    color:#fff;
    background:var(--blue-600);
}

.mcz-loc-option.selected .mcz-loc-check{
    opacity:1;
}


/* ==========================================================
   QUICK LINKS
   ========================================================== */

.mcz-quick{
    padding:
        30px 0 83px;

    background:#fff;
}

.mcz-quick-row{
    display:flex;
    flex-wrap:wrap;

    align-items:center;

    gap:8px;
}

.mcz-quick-title{
    margin-right:6px;

    color:var(--slate-500);

    font-size:9px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mcz-chip{
    display:inline-flex;

    min-height:36px;

    align-items:center;

    padding:0 13px;

    border:1px solid var(--grey-200);
    border-radius:999px;

    color:var(--slate-700);
    background:#fff;

    font-size:10px;
    font-weight:700;

    transition:
        transform .18s ease,
        color .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.mcz-chip:hover{
    transform:translateY(-2px);

    color:var(--blue-700);

    border-color:rgba(156,70,52,.22);

    background:var(--ice-050);
}


/* ==========================================================
   BUSINESS CTA MICROBAR
   ========================================================== */

.mcz-business-bar{
    padding-bottom:88px;
    background:#fff;
}

.mcz-business-bar-inner{
    position:relative;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:30px;

    overflow:hidden;

    padding:21px 24px;

    border:1px solid var(--grey-200);
    border-radius:18px;

    background:
        linear-gradient(
            100deg,
            #FBF7F2,
            #F3E8DF
        );
}

.mcz-business-bar-inner::after{
    content:"";

    position:absolute;

    width:250px;
    height:250px;

    top:-160px;
    right:9%;

    border-radius:50%;

    background:rgba(199,116,92,.13);
}

.mcz-business-bar-copy{
    position:relative;
    z-index:2;
}

.mcz-business-bar-copy strong{
    display:block;

    color:var(--navy-950);

    font-size:14px;
}

.mcz-business-bar-copy span{
    display:block;

    margin-top:4px;

    color:var(--slate-600);

    font-size:10px;
}


/* ==========================================================
   PHOTO SECTOR BENTO
   ========================================================== */

.mcz-sectors{
    padding:103px 0 112px;

    background:var(--grey-050);
}

.mcz-sector-grid{
    display:grid;

    grid-template-columns:repeat(12,1fr);
    grid-auto-rows:165px;

    gap:14px;
}

.mcz-sector{
    position:relative;

    overflow:hidden;

    border-radius:24px;

    color:#fff;

    box-shadow:
        0 5px 18px
        rgba(37,40,43,.055);

    transform-style:preserve-3d;

    transition:
        transform .25s cubic-bezier(.2,.8,.2,1),
        box-shadow .25s ease;
}

.mcz-sector:hover{
    box-shadow:
        0 14px 35px
        rgba(37,40,43,.11);
}

.mcz-sector img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1),
        filter .55s ease;
}

.mcz-sector:hover img{
    transform:scale(1.08);
    filter:saturate(1.12) contrast(1.04);
}


/* Tratamiento fotográfico uniforme para los sectores:
   sobrio en reposo y más vivo al pasar el ratón. */
.mcz-sector img{
    filter:
        saturate(.88)
        contrast(1.04)
        brightness(.92);
}

.mcz-sector:hover img{
    transform:scale(1.10);
    filter:
        saturate(1.06)
        contrast(1.07)
        brightness(.98);
}

.mcz-sector::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(37,40,43,.03),
            rgba(37,40,43,.72)
        );
}

.mcz-sector-content{
    position:absolute;
    z-index:3;

    right:20px;
    bottom:20px;
    left:20px;

    transition:
        transform .25s ease;
}

.mcz-sector:hover .mcz-sector-content{
    transform:translateY(-5px);
}

.mcz-sector-tag{
    display:inline-flex;

    margin-bottom:8px;

    padding:5px 8px;

    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;

    background:rgba(44,41,39,.32);

    backdrop-filter:blur(10px);

    font-size:7px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.mcz-sector h3{
    margin:0;

    color:#fff;

    font-size:20px;
    line-height:1.03;
    letter-spacing:-.035em;
}

.mcz-sector p{
    max-height:0;

    margin:0;

    overflow:hidden;

    opacity:0;

    color:rgba(255,255,255,.65);

    font-size:9px;
    line-height:1.5;

    transition:
        max-height .25s ease,
        margin .25s ease,
        opacity .25s ease;
}

.mcz-sector:hover p{
    max-height:60px;
    margin-top:8px;
    opacity:1;
}

.mcz-sector-arrow{
    position:absolute;
    z-index:4;

    top:17px;
    right:17px;

    display:grid;

    width:34px;
    height:34px;

    place-items:center;

    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;

    background:rgba(44,41,39,.25);

    backdrop-filter:blur(10px);

    transition:
        transform .22s ease,
        background .22s ease;
}

.mcz-sector:hover .mcz-sector-arrow{
    transform:rotate(-45deg);
    background:rgba(255,255,255,.94);
    color:var(--navy-950);
}

.mcz-sector-1{
    grid-column:span 5;
    grid-row:span 2;
}

.mcz-sector-2{
    grid-column:span 4;
    grid-row:span 2;
}

.mcz-sector-3{
    grid-column:span 3;
}

.mcz-sector-4{
    grid-column:span 3;
}

.mcz-sector-5{
    grid-column:span 4;
}

.mcz-sector-6{
    grid-column:span 4;
}

.mcz-sector-7{
    grid-column:span 4;
}

.mcz-sector-8{
    grid-column:span 4;
}


/* ==========================================================
   TEXT CATEGORIES
   ========================================================== */

.mcz-more-categories{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:9px;

    margin-top:16px;
}

.mcz-category-link{
    position:relative;

    display:flex;

    min-height:62px;

    align-items:center;
    justify-content:space-between;

    gap:10px;

    padding:0 16px;

    overflow:hidden;

    border:1px solid var(--grey-200);
    border-radius:14px;

    background:#fff;

    color:var(--slate-800);

    font-size:11px;
    font-weight:700;

    transition:
        transform .2s ease,
        color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.mcz-category-link::before{
    content:"";

    position:absolute;

    width:60px;
    height:60px;

    top:-35px;
    right:-30px;

    border-radius:50%;

    background:var(--ice-100);

    transition:
        transform .3s ease;
}

.mcz-category-link:hover{
    transform:translateY(-3px);

    color:var(--blue-700);

    border-color:rgba(156,70,52,.18);

    box-shadow:var(--shadow-xs);
}

.mcz-category-link:hover::before{
    transform:scale(2.3);
}

.mcz-category-link > *{
    position:relative;
    z-index:2;
}


/* ==========================================================
   AI SEARCH / RECOMMENDATION
   ========================================================== */

.mcz-ai{
    padding:110px 0;

    color:#fff;

    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(199,116,92,.17),
            transparent 28%
        ),
        linear-gradient(
            140deg,
            #34312E,
            #242321 70%
        );
}

.mcz-ai-grid{
    display:grid;

    grid-template-columns:
        .78fr 1.22fr;

    gap:clamp(55px,7vw,100px);

    align-items:center;
}

.mcz-ai .mcz-kicker{
    color:#E7A087;
}

.mcz-ai .mcz-h2{
    color:#fff;
}

.mcz-ai-copy{
    max-width:500px;
}

.mcz-ai-copy p{
    margin:20px 0 0;

    color:rgba(255,255,255,.57);

    font-size:14px;
    line-height:1.7;
}

.mcz-ai-note{
    display:inline-flex;

    align-items:center;
    gap:8px;

    margin-top:25px;

    padding:10px 12px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;

    color:#F0BDAA;

    background:rgba(255,255,255,.045);

    font-size:9px;
    font-weight:700;
}


/* AI query */

.mcz-ai-query{
    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);
    border-radius:25px;

    background:rgba(255,255,255,.045);

    backdrop-filter:blur(15px);

    box-shadow:
        0 20px 60px
        rgba(0,0,0,.14);
}

.mcz-ai-query-head{
    display:flex;

    align-items:center;
    gap:10px;

    padding:17px 19px;

    border-bottom:1px solid rgba(255,255,255,.07);
}

.mcz-ai-orb{
    display:grid;

    width:34px;
    height:34px;

    place-items:center;

    border-radius:10px;

    color:#F1C2B2;

    background:
        linear-gradient(
            145deg,
            rgba(169,88,69,.30),
            rgba(127,53,40,.20)
        );
}

.mcz-ai-query-head span{
    color:rgba(255,255,255,.46);

    font-size:8px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.mcz-ai-prompt{
    padding:20px;

    color:#fff;

    font-size:15px;
    line-height:1.5;
}

.mcz-ai-prompt::before{
    content:"“";
    color:#E2A08A;
}

.mcz-ai-prompt::after{
    content:"”";
    color:#E2A08A;
}


/* AI results */

.mcz-ai-results{
    display:grid;
    gap:7px;

    padding:0 15px 15px;
}

.mcz-ai-result{
    --gx:50%;
    --gy:50%;

    position:relative;

    display:grid;

    grid-template-columns:
        38px
        1fr
        auto;

    align-items:center;

    gap:12px;

    overflow:hidden;

    padding:13px;

    border:1px solid rgba(255,255,255,.065);
    border-radius:13px;

    background:rgba(255,255,255,.035);

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.mcz-ai-result::after{
    content:"";

    position:absolute;
    inset:0;

    opacity:0;

    pointer-events:none;

    background:
        radial-gradient(
            230px circle at var(--gx) var(--gy),
            rgba(199,116,92,.16),
            transparent 56%
        );

    transition:opacity .2s ease;
}

.mcz-ai-result:hover{
    transform:translateX(4px);

    border-color:rgba(231,160,135,.22);

    background:rgba(255,255,255,.052);
}

.mcz-ai-result:hover::after{
    opacity:1;
}

.mcz-ai-result > *{
    position:relative;
    z-index:2;
}

.mcz-ai-number{
    display:grid;

    width:34px;
    height:34px;

    place-items:center;

    border-radius:9px;

    color:#E9B29E;

    background:rgba(174,90,69,.12);

    font-size:9px;
    font-weight:850;
}

.mcz-ai-business strong{
    display:block;

    color:#fff;

    font-size:11px;
}

.mcz-ai-business span{
    display:block;

    margin-top:4px;

    color:rgba(255,255,255,.40);

    font-size:8px;
}

.mcz-ai-match{
    text-align:right;
}

.mcz-ai-match strong{
    display:block;

    color:#8DC1A9;

    font-size:11px;
}

.mcz-ai-match span{
    display:block;

    margin-top:2px;

    color:rgba(255,255,255,.30);

    font-size:6px;
    text-transform:uppercase;
}


/* ==========================================================
   RANKINGS
   ========================================================== */

.mcz-rankings{
    padding:108px 0 115px;

    background:#fff;
}

.mcz-ranking-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:14px;
}

.mcz-ranking{
    --gx:50%;
    --gy:50%;

    position:relative;

    min-height:310px;

    overflow:hidden;

    border:1px solid var(--grey-200);
    border-radius:23px;

    background:#fff;

    box-shadow:
        0 7px 23px
        rgba(37,40,43,.035);

    transition:
        transform .25s cubic-bezier(.2,.8,.2,1),
        border-color .25s ease,
        box-shadow .25s ease;
}

.mcz-ranking::after{
    content:"";

    position:absolute;
    inset:0;

    opacity:0;

    pointer-events:none;

    background:
        radial-gradient(
            320px circle at var(--gx) var(--gy),
            rgba(199,116,92,.12),
            transparent 55%
        );

    transition:opacity .2s ease;
}

.mcz-ranking:hover{
    transform:translateY(-7px);

    border-color:rgba(156,70,52,.17);

    box-shadow:var(--shadow);
}

.mcz-ranking:hover::after{
    opacity:1;
}

.mcz-ranking > *{
    position:relative;
    z-index:2;
}

.mcz-ranking-photo{
    position:relative;

    height:138px;

    overflow:hidden;
}

.mcz-ranking-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1);
}

.mcz-ranking:hover .mcz-ranking-photo img{
    transform:scale(1.08);
}

.mcz-ranking-photo::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(44,41,39,.35)
        );
}

.mcz-ranking-badge{
    position:absolute;

    z-index:3;

    top:13px;
    left:13px;

    display:inline-flex;

    padding:6px 8px;

    border-radius:999px;

    color:#fff;

    background:rgba(44,41,39,.58);

    backdrop-filter:blur(10px);

    font-size:7px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.mcz-ranking-body{
    padding:19px;
}

.mcz-ranking-body small{
    display:block;

    margin-bottom:7px;

    color:var(--blue-700);

    font-size:8px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.mcz-ranking-body h3{
    margin:0;

    color:var(--navy-950);

    font-size:18px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.mcz-ranking-meta{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:10px;

    margin-top:18px;

    color:var(--slate-500);

    font-size:8px;
}

.mcz-ranking-open{
    display:grid;

    width:31px;
    height:31px;

    place-items:center;

    border-radius:50%;

    color:var(--blue-700);

    background:var(--ice-100);

    transition:
        transform .2s ease,
        color .2s ease,
        background .2s ease;
}

.mcz-ranking:hover .mcz-ranking-open{
    transform:rotate(-45deg);

    color:#fff;

    background:var(--blue-700);
}


/* ==========================================================
   VERIFIED COMPANIES
   ========================================================== */

.mcz-verified{
    padding:107px 0;

    background:var(--grey-050);
}

.mcz-company-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:12px;
}

.mcz-company{
    --gx:50%;
    --gy:50%;

    position:relative;

    min-height:250px;

    overflow:hidden;

    padding:20px;

    border:1px solid var(--grey-200);
    border-radius:21px;

    background:#fff;

    transition:
        transform .23s ease,
        box-shadow .23s ease,
        border-color .23s ease;
}

.mcz-company::before{
    content:"";

    position:absolute;
    inset:0;

    opacity:0;

    pointer-events:none;

    background:
        radial-gradient(
            280px circle at var(--gx) var(--gy),
            rgba(199,116,92,.12),
            transparent 55%
        );

    transition:opacity .2s ease;
}

.mcz-company:hover{
    transform:translateY(-5px);

    border-color:rgba(156,70,52,.18);

    box-shadow:var(--shadow-xs);
}

.mcz-company:hover::before{
    opacity:1;
}

.mcz-company > *{
    position:relative;
    z-index:2;
}

.mcz-company-logo{
    display:grid;

    width:48px;
    height:48px;

    place-items:center;

    border-radius:13px;

    color:var(--blue-700);

    background:
        linear-gradient(
            145deg,
            #edf6fd,
            #dcecf9
        );

    font-size:15px;
    font-weight:900;
}

.mcz-company-verified{
    display:inline-flex;

    align-items:center;
    gap:5px;

    margin-top:19px;

    color:var(--green);

    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
}

.mcz-company h3{
    margin:8px 0 0;

    color:var(--navy-950);

    font-size:15px;
    letter-spacing:-.025em;
}

.mcz-company p{
    margin:6px 0 0;

    color:var(--slate-500);

    font-size:9px;
    line-height:1.5;
}

.mcz-company-bottom{
    position:absolute;

    right:20px;
    bottom:18px;
    left:20px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:8px;

    color:var(--slate-500);

    font-size:8px;
}

.mcz-company-bottom strong{
    color:var(--blue-700);
}


/* ==========================================================
   MUNICIPALITIES
   ========================================================== */

.mcz-areas{
    position:relative;

    padding:110px 0 118px;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(231,160,135,.18),
            transparent 28%
        ),
        var(--navy-950);
}

.mcz-areas::before{
    content:"";

    position:absolute;

    width:650px;
    height:650px;

    right:-270px;
    bottom:-320px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.05);

    box-shadow:
        inset 0 0 0 90px
        rgba(255,255,255,.015);
}

.mcz-areas .mcz-kicker{
    color:#E7A087;
}

.mcz-areas .mcz-h2{
    color:#fff;
}

.mcz-areas .mcz-section-copy{
    color:rgba(255,255,255,.54);
}

.mcz-area-grid{
    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:8px;

    margin-top:44px;
}

.mcz-area{
    position:relative;

    display:flex;

    min-height:75px;

    align-items:center;
    justify-content:space-between;

    gap:10px;

    overflow:hidden;

    padding:0 15px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:13px;

    color:rgba(255,255,255,.80) !important;

    background:rgba(255,255,255,.035);

    font-size:10px;
    font-weight:700;

    transition:
        transform .18s ease,
        color .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.mcz-area::before{
    content:"";

    position:absolute;

    width:70px;
    height:70px;

    top:-45px;
    right:-40px;

    border-radius:50%;

    background:rgba(199,116,92,.18);

    transition:
        transform .3s ease;
}

.mcz-area:hover{
    transform:translateY(-3px);

    color:#fff !important;

    border-color:rgba(231,160,135,.34);

    background:rgba(255,255,255,.065);
}

.mcz-area:hover::before{
    transform:scale(2.5);
}

.mcz-area > *{
    position:relative;
    z-index:2;
}

.mcz-area span{
    opacity:.55;
    transition:transform .2s ease;
}

.mcz-area:hover span{
    transform:translateX(3px);
}


/* ==========================================================
   BUSINESS GROWTH / REGISTRATION
   ========================================================== */

.mcz-growth{
    padding:110px 0 118px;

    background:#fff;
}

.mcz-growth-grid{
    display:grid;

    grid-template-columns:
        minmax(0,.83fr)
        minmax(420px,1.17fr);

    gap:clamp(55px,8vw,110px);

    align-items:center;
}

.mcz-growth-copy .mcz-h2{
    max-width:510px;
}

.mcz-growth-copy p{
    max-width:500px;

    margin:20px 0 0;

    color:var(--slate-600);

    font-size:14px;
    line-height:1.7;
}

.mcz-growth-list{
    display:grid;
    gap:10px;

    margin-top:26px;
}

.mcz-growth-item{
    display:flex;

    align-items:flex-start;
    gap:10px;

    color:var(--slate-700);

    font-size:10px;
    line-height:1.5;
}

.mcz-growth-check{
    display:grid;

    flex:0 0 auto;

    width:23px;
    height:23px;

    place-items:center;

    border-radius:7px;

    color:var(--green);
    background:var(--green-soft);
}


/* dashboard */

.mcz-dashboard{
    position:relative;

    overflow:hidden;

    padding:22px;

    border:1px solid var(--grey-200);
    border-radius:27px;

    background:
        linear-gradient(
            145deg,
            #fbfcfd,
            #f0f5f9
        );

    box-shadow:var(--shadow);
}

.mcz-dashboard::after{
    content:"";

    position:absolute;

    width:280px;
    height:280px;

    top:-180px;
    right:-150px;

    border-radius:50%;

    background:rgba(199,116,92,.12);
}

.mcz-dashboard-head{
    position:relative;
    z-index:2;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-bottom:14px;
}

.mcz-dashboard-head span{
    color:var(--slate-500);

    font-size:8px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.mcz-dashboard-demo{
    padding:6px 8px;

    border-radius:7px;

    color:var(--blue-700) !important;
    background:var(--ice-100);
}

.mcz-dashboard-cards{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:8px;
}

.mcz-dashboard-stat{
    padding:14px;

    border:1px solid var(--grey-200);
    border-radius:13px;

    background:#fff;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.mcz-dashboard-stat:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-xs);
}

.mcz-dashboard-stat small{
    display:block;

    color:var(--slate-500);

    font-size:7px;
    text-transform:uppercase;
}

.mcz-dashboard-stat strong{
    display:block;

    margin-top:8px;

    color:var(--navy-950);

    font-size:23px;
    letter-spacing:-.05em;
}

.mcz-dashboard-stat span{
    display:block;

    margin-top:4px;

    color:var(--green);

    font-size:7px;
    font-weight:750;
}


/* chart */

.mcz-chart{
    position:relative;
    z-index:2;

    margin-top:8px;

    overflow:hidden;

    border:1px solid var(--grey-200);
    border-radius:15px;

    padding:15px;

    background:#fff;
}

.mcz-chart-head{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:10px;

    margin-bottom:17px;
}

.mcz-chart-head strong{
    color:var(--navy-950);

    font-size:10px;
}

.mcz-chart-head span{
    color:var(--slate-500);

    font-size:7px;
}

.mcz-bars{
    display:flex;

    height:105px;

    align-items:flex-end;

    gap:7px;
}

.mcz-bar{
    position:relative;

    flex:1;

    height:var(--h);

    min-height:10px;

    overflow:hidden;

    border-radius:5px 5px 2px 2px;

    background:
        linear-gradient(
            180deg,
            #4097df,
            #1f70b8
        );

    transform-origin:bottom;

    transition:
        transform .2s ease,
        filter .2s ease;
}

.mcz-bar:hover{
    transform:scaleY(1.06);
    filter:brightness(1.08);
}


/* ==========================================================
   HOW LISTS WORK
   ========================================================== */

.mcz-process{
    padding:110px 0;

    background:var(--grey-050);
}

.mcz-process-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:12px;

    margin-top:45px;
}

.mcz-process-card{
    position:relative;

    min-height:250px;

    overflow:hidden;

    padding:21px;

    border:1px solid var(--grey-200);
    border-radius:20px;

    background:#fff;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.mcz-process-card:hover{
    transform:translateY(-5px);

    border-color:rgba(156,70,52,.18);

    box-shadow:var(--shadow-xs);
}

.mcz-process-number{
    color:var(--blue-600);

    font-size:35px;
    font-weight:850;
    letter-spacing:-.07em;
}

.mcz-process-card h3{
    margin:45px 0 8px;

    color:var(--navy-950);

    font-size:15px;
}

.mcz-process-card p{
    margin:0;

    color:var(--slate-500);

    font-size:10px;
    line-height:1.6;
}

.mcz-process-icon{
    position:absolute;

    top:19px;
    right:19px;

    display:grid;

    width:41px;
    height:41px;

    place-items:center;

    border-radius:12px;

    color:var(--blue-700);

    background:var(--ice-100);

    transition:
        transform .23s cubic-bezier(.2,.8,.2,1);
}

.mcz-process-card:hover .mcz-process-icon{
    transform:
        rotate(-6deg)
        scale(1.09);
}


/* ==========================================================
   EDITORIAL / SEO GUIDES
   ========================================================== */

.mcz-guides{
    padding:110px 0;

    background:#fff;
}

.mcz-guide-grid{
    display:grid;

    grid-template-columns:
        1.25fr
        .75fr;

    gap:14px;
}

.mcz-guide-main,
.mcz-guide-small{
    position:relative;

    overflow:hidden;

    border-radius:25px;

    color:#fff;
}

.mcz-guide-main{
    min-height:490px;
}

.mcz-guide-side{
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:14px;
}

.mcz-guide-small{
    min-height:238px;
}

.mcz-guide-main img,
.mcz-guide-small img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .6s cubic-bezier(.2,.8,.2,1),
        filter .6s ease;
}

.mcz-guide-main:hover img,
.mcz-guide-small:hover img{
    transform:scale(1.07);
    filter:saturate(1.08);
}

.mcz-guide-main::after,
.mcz-guide-small::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(37,40,43,.04),
            rgba(37,40,43,.80)
        );
}

.mcz-guide-content{
    position:absolute;
    z-index:3;

    right:25px;
    bottom:25px;
    left:25px;
}

.mcz-guide-tag{
    color:#a8d4f7;

    font-size:7px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mcz-guide-main h3{
    max-width:600px;

    margin:11px 0 0;

    color:#fff;

    font-size:clamp(28px,3.5vw,44px);
    line-height:1;
    letter-spacing:-.045em;
}

.mcz-guide-small h3{
    max-width:400px;

    margin:9px 0 0;

    color:#fff;

    font-size:20px;
    line-height:1.05;
    letter-spacing:-.035em;
}

.mcz-guide-content span:last-child{
    display:inline-flex;

    align-items:center;
    gap:7px;

    margin-top:15px;

    color:rgba(255,255,255,.70);

    font-size:9px;
    font-weight:750;
}


/* ==========================================================
   SEO CONTENT
   ========================================================== */

.mcz-seo{
    padding:105px 0;

    background:
        linear-gradient(
            180deg,
            var(--grey-050),
            #fff
        );
}

.mcz-seo-grid{
    display:grid;

    grid-template-columns:
        .72fr
        1.28fr;

    gap:clamp(50px,7vw,90px);
}

.mcz-seo-copy{
    position:sticky;
    top:30px;
    align-self:start;
}

.mcz-seo-copy p{
    margin:20px 0 0;

    color:var(--slate-600);

    font-size:13px;
    line-height:1.75;
}

.mcz-seo-links{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:9px;
}

.mcz-seo-link{
    display:flex;

    min-height:63px;

    align-items:center;
    justify-content:space-between;

    gap:12px;

    padding:0 16px;

    border:1px solid var(--grey-200);
    border-radius:13px;

    color:var(--slate-800);
    background:#fff;

    font-size:10px;
    font-weight:700;

    transition:
        transform .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.mcz-seo-link:hover{
    transform:translateX(4px);

    color:var(--blue-700);

    border-color:rgba(156,70,52,.18);

    box-shadow:var(--shadow-xs);
}

.mcz-seo-link span{
    color:var(--slate-400);
}


/* ==========================================================
   FAQ
   ========================================================== */

.mcz-faq{
    padding:105px 0 115px;
    background:#fff;
}

.mcz-faq-grid{
    display:grid;

    grid-template-columns:
        .72fr
        1.28fr;

    gap:clamp(50px,7vw,90px);
}

.mcz-faq-list{
    border-top:1px solid var(--grey-200);
}

.mcz-faq details{
    border-bottom:1px solid var(--grey-200);
}

.mcz-faq summary{
    position:relative;

    display:flex;

    min-height:76px;

    align-items:center;
    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:var(--navy-950);

    font-size:13px;
    font-weight:750;
}

.mcz-faq summary::-webkit-details-marker{
    display:none;
}

.mcz-faq-plus{
    display:grid;

    flex:0 0 auto;

    width:29px;
    height:29px;

    place-items:center;

    border-radius:9px;

    color:var(--blue-700);

    background:var(--ice-100);

    transition:
        transform .2s ease,
        color .2s ease,
        background .2s ease;
}

.mcz-faq details[open] .mcz-faq-plus{
    transform:rotate(45deg);

    color:#fff;
    background:var(--blue-700);
}

.mcz-faq-answer{
    max-width:700px;

    padding:0 45px 22px 0;

    color:var(--slate-600);

    font-size:11px;
    line-height:1.7;
}


/* ==========================================================
   FINAL CTA
   ========================================================== */

.mcz-final{
    padding:0 0 115px;
    background:#fff;
}

.mcz-final-card{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    align-items:end;

    gap:50px;

    overflow:hidden;

    padding:
        clamp(44px,6vw,72px);

    border-radius:31px;

    color:#fff;

    background:
        radial-gradient(
            circle at 92% 0%,
            rgba(100,183,246,.22),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #102e4c,
            #242321 72%
        );

    box-shadow:
        0 25px 70px
        rgba(37,40,43,.15);
}

.mcz-final-card::after{
    content:"";

    position:absolute;

    top:-150px;
    right:24%;

    width:360px;
    height:360px;

    border:1px solid rgba(255,255,255,.05);
    border-radius:50%;

    box-shadow:
        inset 0 0 0 75px
        rgba(255,255,255,.015);
}

.mcz-final-content{
    position:relative;
    z-index:2;
}

.mcz-final-card h2{
    max-width:760px;

    margin:0;

    color:#fff;

    font-size:clamp(35px,5vw,60px);
    line-height:.98;
    letter-spacing:-.055em;
}

.mcz-final-card h2 span{
    color:#79bdf2;
}

.mcz-final-card p{
    max-width:660px;

    margin:18px 0 0;

    color:rgba(255,255,255,.56);

    font-size:13px;
    line-height:1.65;
}

.mcz-final-action{
    position:relative;
    z-index:2;
}


/* ==========================================================
   REVEAL
   ========================================================== */

.mcz-reveal{
    opacity:0;

    transform:translateY(20px);

    transition:
        opacity .65s ease,
        transform .65s
        cubic-bezier(.2,.8,.2,1);
}

.mcz-reveal.visible{
    opacity:1;
    transform:translateY(0);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1100px){

    .mcz-hero-grid,
    .mcz-growth-grid{
        grid-template-columns:1fr;
    }

    .mcz-lab{
        max-width:720px;
    }

    .mcz-sector-grid{
        grid-template-columns:repeat(6,1fr);
    }

    .mcz-sector-1,
    .mcz-sector-2{
        grid-column:span 3;
    }

    .mcz-sector-3,
    .mcz-sector-4,
    .mcz-sector-5,
    .mcz-sector-6,
    .mcz-sector-7,
    .mcz-sector-8{
        grid-column:span 3;
    }

    .mcz-ai-grid,
    .mcz-seo-grid,
    .mcz-faq-grid{
        grid-template-columns:1fr;
    }

    .mcz-ranking-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mcz-company-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mcz-area-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .mcz-process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mcz-seo-copy{
        position:static;
    }

}

@media(max-width:800px){

    .mcz-wrap,
    .mcz-wrap-wide{
        width:calc(100% - 30px);
    }

    .mcz-search{
        grid-template-columns:1fr;
        padding:7px;
    }

    .mcz-search-field{
        min-height:63px;
    }

    .mcz-search-field + .mcz-search-field{
        border-left:0;
        border-top:1px solid var(--grey-200);
    }

    .mcz-search-button{
        min-height:54px;
        margin:7px 0 0;
    }

    .mcz-location-menu{
        left:0;
        width:min(100%,410px);
    }

    .mcz-section-head{
        display:block;
    }

    .mcz-section-link{
        margin-top:18px;
    }

    .mcz-more-categories{
        grid-template-columns:repeat(2,1fr);
    }

    .mcz-area-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mcz-guide-grid{
        grid-template-columns:1fr;
    }

    .mcz-guide-side{
        grid-template-columns:1fr 1fr;
        grid-template-rows:auto;
    }

    .mcz-final-card{
        grid-template-columns:1fr;
        align-items:start;
    }

    .mcz-business-bar-inner{
        align-items:flex-start;
        flex-direction:column;
    }

}

@media(max-width:560px){

    .mcz-wrap,
    .mcz-wrap-wide{
        width:calc(100% - 22px);
    }

    .mcz-h1{
        font-size:45px;
    }

    .mcz-h2{
        font-size:34px;
    }

    .mcz-hero-actions{
        display:grid;
    }

    .mcz-btn{
        width:100%;
    }

    .mcz-mini-proof{
        display:grid;
        gap:9px;
    }

    .mcz-lab{
        min-height:510px;
    }

    .mcz-photo-main{
        inset:0;
    }

    .mcz-float-score{
        top:18px;
        right:12px;
    }

    .mcz-float-lists{
        top:170px;
        right:12px;
    }

    .mcz-sector-grid{
        display:grid;
        grid-template-columns:1fr;
        grid-auto-rows:auto;
    }

    .mcz-sector-1,
    .mcz-sector-2,
    .mcz-sector-3,
    .mcz-sector-4,
    .mcz-sector-5,
    .mcz-sector-6,
    .mcz-sector-7,
    .mcz-sector-8{
        grid-column:auto;
        grid-row:auto;
        min-height:230px;
    }

    .mcz-sector-1,
    .mcz-sector-2{
        min-height:320px;
    }

    .mcz-more-categories,
    .mcz-ranking-grid,
    .mcz-company-grid,
    .mcz-area-grid,
    .mcz-process-grid,
    .mcz-dashboard-cards,
    .mcz-seo-links{
        grid-template-columns:1fr;
    }

    .mcz-ai-result{
        grid-template-columns:35px 1fr;
    }

    .mcz-ai-match{
        grid-column:2;
        text-align:left;
    }

    .mcz-guide-side{
        grid-template-columns:1fr;
    }

    .mcz-final-card{
        padding:32px 23px;
        border-radius:24px;
    }

}

@media(prefers-reduced-motion:reduce){

    .mcz-site *,
    .mcz-site *::before,
    .mcz-site *::after{
        animation:none !important;
        transition-duration:.01ms !important;
    }

}

/* ==========================================================
   MADRID CERCA — HEADER + FOOTER COMPACTO
   Añadido sin modificar el contenido central
   ========================================================== */

:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-comments,
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-comments-title,
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-comment-template,
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-post-comments,
:is(body.mcz-site-page, body:has(.mcz-site)) .wp-block-post-comments-form,
:is(body.mcz-site-page, body:has(.mcz-site)) .comments-area,
:is(body.mcz-site-page, body:has(.mcz-site)) #comments,
:is(body.mcz-site-page, body:has(.mcz-site)) .comment-respond,
:is(body.mcz-site-page, body:has(.mcz-site)) .comment-list,
:is(body.mcz-site-page, body:has(.mcz-site)) .comment-navigation,
:is(body.mcz-site-page, body:has(.mcz-site)) .logged-in-as,
:is(body.mcz-site-page, body:has(.mcz-site)) .edit-link,
:is(body.mcz-site-page, body:has(.mcz-site)) a[href*="/wp-admin/comment.php"],
:is(body.mcz-site-page, body:has(.mcz-site)) a[href*="/wp-admin/profile.php"]{
    display:none !important;
}

.mcc-header,
.mcc-footer{
    --mcc-navy:#07192d;
    --mcc-navy2:#0d2c49;
    --mcc-blue:#1768b8;
    --mcc-blue2:#2b84d3;
    --mcc-blue3:#70b8ed;
    --mcc-ice:#eef6fc;
    --mcc-line:#e0e8ef;
    --mcc-text:#1b2a3b;
    --mcc-muted:#6c7d8f;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}

.mcc-header *,
.mcc-header *::before,
.mcc-header *::after,
.mcc-footer *,
.mcc-footer *::before,
.mcc-footer *::after{
    box-sizing:border-box;
}

.mcc-header a,
.mcc-footer a{
    color:inherit;
    text-decoration:none;
}

/* ========================= HEADER ========================= */

.mcc-header{
    position:sticky;
    top:0;
    z-index:999999;
    width:100%;
    padding:8px clamp(10px,2vw,28px);
    transition:padding .22s ease;
}

.mcc-header::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-3;
    opacity:0;
    background:linear-gradient(180deg,rgba(248,251,253,.97),rgba(248,251,253,.76));
    backdrop-filter:blur(22px) saturate(1.2);
    transition:opacity .22s ease;
    pointer-events:none;
}

.mcc-header.is-scrolled{
    padding-top:5px;
    padding-bottom:5px;
}

.mcc-header.is-scrolled::before{
    opacity:1;
}

.mcc-head{
    --mx:50%;
    --my:50%;
    position:relative;
    width:min(1400px,100%);
    min-height:70px;
    margin-inline:auto;
    display:flex;
    align-items:center;
    gap:23px;
    padding:7px 8px 7px 16px;
    border:1px solid rgba(7,25,45,.075);
    border-radius:19px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(24px) saturate(1.22);
    box-shadow:0 2px 7px rgba(5,19,33,.025),0 14px 36px rgba(5,19,33,.055);
    isolation:isolate;
    transition:border-color .2s ease,box-shadow .2s ease;
}

.mcc-head::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    border-radius:inherit;
    opacity:0;
    background:radial-gradient(380px circle at var(--mx) var(--my),rgba(48,143,219,.13),transparent 58%);
    pointer-events:none;
    transition:opacity .2s ease;
}

.mcc-head:hover::before{opacity:1}
.mcc-head:hover{
    border-color:rgba(23,104,184,.14);
    box-shadow:0 3px 10px rgba(5,19,33,.03),0 20px 50px rgba(5,19,33,.075);
}

.mcc-scan{
    position:absolute;
    left:7%;
    right:7%;
    top:-1px;
    height:2px;
    overflow:hidden;
    border-radius:999px;
    pointer-events:none;
}
.mcc-scan::after{
    content:"";
    display:block;
    width:18%;
    height:100%;
    background:linear-gradient(90deg,transparent,var(--mcc-blue2),transparent);
    animation:mccScan 4.6s ease-in-out infinite;
}
@keyframes mccScan{
    0%,100%{transform:translateX(-130%);opacity:0}
    18%{opacity:.7}
    50%{transform:translateX(560%);opacity:.7}
    72%{opacity:0}
}

.mcc-brand{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:9px;
    padding:2px 5px 2px 0;
    border-radius:13px;
}

.mcc-logo-box{
    position:relative;
    display:grid;
    width:57px;
    height:49px;
    place-items:center;
}
.mcc-logo-box::before{
    content:"";
    position:absolute;
    width:60px;
    height:60px;
    border:1px solid rgba(36,127,210,.12);
    border-radius:50%;
    opacity:0;
    transform:scale(.72);
    transition:opacity .22s ease,transform .22s ease;
}
.mcc-brand:hover .mcc-logo-box::before{
    opacity:1;
    transform:scale(1);
}
.mcc-logo{
    position:relative;
    z-index:2;
    display:block;
    width:56px;
    height:46px;
    object-fit:contain;
    transition:transform .26s cubic-bezier(.2,.8,.2,1),filter .26s ease;
}
.mcc-brand:hover .mcc-logo{
    transform:translateY(-2px) rotate(-1.5deg) scale(1.05);
    filter:drop-shadow(0 8px 10px rgba(13,63,108,.11));
}

.mcc-brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1;
}
.mcc-brand-name{
    color:var(--mcc-navy);
    font-size:22px;
    font-weight:870;
    letter-spacing:-.05em;
}
.mcc-brand-name span{color:var(--mcc-blue2)}
.mcc-brand-sub{
    margin-top:5px;
    color:#8594a4;
    font-size:9px;
    font-weight:820;
    letter-spacing:.105em;
    text-transform:uppercase;
}

.mcc-nav{
    display:flex;
    flex:1;
    align-items:center;
    justify-content:center;
    gap:2px;
}

.mcc-nav-item{position:relative}
.mcc-link{
    position:relative;
    min-height:42px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    overflow:hidden;
    border-radius:10px;
    color:#53677a;
    font-size:12.5px;
    font-weight:760;
    white-space:nowrap;
    transition:color .17s ease,background .17s ease,transform .17s ease;
}
.mcc-link::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:4px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--mcc-blue),var(--mcc-blue3));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
}
.mcc-link:hover{
    color:var(--mcc-blue);
    background:rgba(238,246,252,.82);
    transform:translateY(-1px);
}
.mcc-link:hover::after{transform:scaleX(1)}

.mcc-ai-dot{
    position:relative;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#3b96e5;
    box-shadow:0 0 0 4px rgba(59,150,229,.09);
}
.mcc-ai-dot::after{
    content:"";
    position:absolute;
    inset:-5px;
    border:1px solid rgba(59,150,229,.36);
    border-radius:50%;
    animation:mccPulse 2.2s ease-out infinite;
}
@keyframes mccPulse{
    0%{opacity:.85;transform:scale(.55)}
    100%{opacity:0;transform:scale(1.9)}
}

/* Dropdown */
.mcc-dropdown{
    position:absolute;
    z-index:1000;
    top:calc(100% + 12px);
    left:50%;
    width:650px;
    max-width:88vw;
    padding:10px;
    opacity:0;
    visibility:hidden;
    transform:translateX(-50%) translateY(-8px) scale(.985);
    transform-origin:top center;
    border:1px solid rgba(7,25,45,.08);
    border-radius:18px;
    background:rgba(255,255,255,.99);
    backdrop-filter:blur(28px);
    box-shadow:0 14px 32px rgba(5,19,33,.08),0 40px 90px rgba(5,19,33,.14);
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
.mcc-nav-item:hover .mcc-dropdown,
.mcc-nav-item:focus-within .mcc-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0) scale(1);
}

.mcc-drop-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1.15fr;
    gap:7px;
}
.mcc-drop-card{
    --cx:50%;
    --cy:50%;
    position:relative;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    overflow:hidden;
    padding:0 12px;
    border:1px solid var(--mcc-line);
    border-radius:11px;
    background:#fff;
    color:#4b5f73;
    font-size:11px;
    font-weight:740;
    transition:transform .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.mcc-drop-card::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:0;
    background:radial-gradient(180px circle at var(--cx) var(--cy),rgba(59,150,229,.16),transparent 60%);
    transition:opacity .18s ease;
}
.mcc-drop-card > *{position:relative;z-index:2}
.mcc-drop-card:hover{
    transform:translateY(-3px);
    color:var(--mcc-blue);
    border-color:rgba(23,104,184,.17);
    box-shadow:0 8px 18px rgba(5,19,33,.055);
}
.mcc-drop-card:hover::before{opacity:1}

.mcc-drop-business{
    grid-column:span 3;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    overflow:hidden;
    min-height:66px;
    padding:12px 14px;
    border-radius:12px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 0%,rgba(89,179,246,.22),transparent 28%),
        linear-gradient(135deg,#123a60,#07192d);
}
.mcc-drop-business::after{
    content:"";
    position:absolute;
    width:130px;
    height:130px;
    top:-93px;
    right:20px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    transition:transform .4s ease;
}
.mcc-drop-business:hover::after{transform:scale(1.35)}
.mcc-drop-business > *{position:relative;z-index:2}
.mcc-drop-business strong{display:block;font-size:15px;line-height:1.2}
.mcc-drop-business span{display:block;margin-top:5px;font-size:9.5px;line-height:1.45;color:rgba(255,255,255,.60)}
.mcc-drop-business b{font-size:10.5px;color:#fff}

/* Actions */
.mcc-actions{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:7px;
}
.mcc-account{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:0 9px;
    border-radius:9px;
    color:#617487;
    font-size:11.5px;
    font-weight:750;
    transition:color .17s ease,background .17s ease;
}
.mcc-account:hover{color:var(--mcc-blue);background:var(--mcc-ice)}

.mcc-cta{
    position:relative;
    min-height:49px;
    display:flex;
    align-items:center;
    gap:9px;
    overflow:hidden;
    padding:0 15px;
    border-radius:12px;
    color:#fff !important;
    background:linear-gradient(180deg,#2d86d5,#1768b8);
    box-shadow:0 6px 13px rgba(23,104,184,.16),0 14px 28px rgba(23,104,184,.13);
    transition:transform .18s ease,box-shadow .18s ease;
}
.mcc-cta::before{
    content:"";
    position:absolute;
    top:-52px;
    left:-72px;
    width:38px;
    height:150px;
    transform:rotate(29deg);
    background:rgba(255,255,255,.17);
    transition:left .48s ease;
}
.mcc-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 9px 20px rgba(23,104,184,.21),0 19px 40px rgba(23,104,184,.19);
}
.mcc-cta:hover::before{left:126%}
.mcc-cta-icon{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(255,255,255,.14);
}
.mcc-cta-copy{display:flex;flex-direction:column}
.mcc-cta-copy small{
    font-size:8px;
    font-weight:760;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:rgba(255,255,255,.65);
}
.mcc-cta-copy strong{
    margin-top:2px;
    font-size:12.5px;
    font-weight:840;
}

/* Mobile */
.mcc-menu-btn{
    display:none;
    width:44px;
    height:44px;
    place-items:center;
    border:0;
    border-radius:11px;
    cursor:pointer;
    color:var(--mcc-navy);
    background:var(--mcc-ice);
}
.mcc-mobile{
    display:none;
    width:min(1400px,100%);
    margin:7px auto 0;
    padding:8px;
    border:1px solid rgba(7,25,45,.08);
    border-radius:16px;
    background:rgba(255,255,255,.99);
    box-shadow:0 16px 42px rgba(5,19,33,.12);
}
.mcc-mobile.open{display:block}
.mcc-mobile a{
    min-height:47px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 12px;
    border-radius:9px;
    color:#526679;
    font-size:12px;
    font-weight:740;
}
.mcc-mobile a:hover{color:var(--mcc-blue);background:var(--mcc-ice)}
.mcc-mobile .mcc-mobile-business{
    margin-top:6px;
    min-height:auto;
    display:block;
    padding:13px;
    color:#fff !important;
    background:linear-gradient(135deg,#123a60,#07192d);
}
.mcc-mobile-business strong{display:block;font-size:15px}
.mcc-mobile-business span{display:block;margin-top:5px;font-size:10px;line-height:1.45;color:rgba(255,255,255,.60)}

@media(max-width:1120px){
    .mcc-link{padding-inline:8px}
    .mcc-account{display:none}
}
@media(max-width:960px){
    .mcc-nav,.mcc-actions{display:none}
    .mcc-head{justify-content:space-between}
    .mcc-menu-btn{display:grid}
}
@media(max-width:560px){
    .mcc-header{padding:6px 7px}
    .mcc-head{min-height:61px;padding:5px 6px 5px 10px;border-radius:15px}
    .mcc-logo-box{width:46px;height:41px}
    .mcc-logo{width:46px;height:39px}
    .mcc-brand-name{font-size:18px}
    .mcc-brand-sub{display:none}
}

/* ========================= FOOTER COMPACTO ========================= */

.mcc-footer{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 88% 0%,rgba(66,161,232,.17),transparent 27%),
        linear-gradient(145deg,#0d2d4a 0%,#07192d 58%,#04111e 100%);
}
.mcc-footer::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.16;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:34px 34px;
}
.mcc-footer::after{
    content:"MC";
    position:absolute;
    right:-20px;
    bottom:-80px;
    color:rgba(255,255,255,.018);
    font-size:260px;
    font-weight:900;
    line-height:.8;
    letter-spacing:-.14em;
    pointer-events:none;
}

.mcc-footer-wrap{
    position:relative;
    z-index:2;
    width:min(1300px,calc(100% - clamp(26px,5vw,76px)));
    margin-inline:auto;
}

/* Compact top CTA */
.mcc-footer-top{
    position:relative;
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.mcc-footer-top-copy{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}
.mcc-footer-top-icon{
    flex:0 0 auto;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#9fd0f3;
    background:rgba(89,173,236,.10);
    border:1px solid rgba(115,188,241,.10);
}
.mcc-footer-top strong{
    display:block;
    color:#fff;
    font-size:19px;
    line-height:1.2;
}
.mcc-footer-top span{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.55);
    font-size:11.5px;
}
.mcc-footer-top-btn{
    position:relative;
    flex:0 0 auto;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    overflow:hidden;
    padding:0 15px;
    border-radius:10px;
    color:#fff !important;
    background:linear-gradient(180deg,#2f88d6,#1768b8);
    font-size:11.5px;
    font-weight:840;
    box-shadow:0 7px 18px rgba(0,0,0,.15);
    transition:transform .18s ease,box-shadow .18s ease;
}
.mcc-footer-top-btn::before{
    content:"";
    position:absolute;
    top:-45px;
    left:-65px;
    width:34px;
    height:130px;
    transform:rotate(28deg);
    background:rgba(255,255,255,.16);
    transition:left .42s ease;
}
.mcc-footer-top-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(0,0,0,.20);
}
.mcc-footer-top-btn:hover::before{left:125%}

/* Main compact grid */
.mcc-footer-grid{
    display:grid;
    grid-template-columns:1.35fr .8fr .8fr 1fr;
    gap:clamp(25px,4vw,55px);
    padding:27px 0 23px;
}

.mcc-footer-brandline{
    display:flex;
    align-items:center;
    gap:10px;
}
.mcc-footer-logo{
    width:57px;
    height:48px;
    object-fit:contain;
    filter:brightness(0) invert(1);
    opacity:.95;
    transition:transform .22s ease;
}
.mcc-footer-brandline:hover .mcc-footer-logo{
    transform:translateY(-2px) rotate(-2deg) scale(1.04);
}
.mcc-footer-name{
    font-size:23px;
    font-weight:850;
    letter-spacing:-.045em;
}
.mcc-footer-name span{color:#7abdf0}
.mcc-footer-desc{
    max-width:360px;
    margin:11px 0 0;
    color:rgba(255,255,255,.50);
    font-size:11.5px;
    line-height:1.55;
}

.mcc-footer-col h3{
    margin:3px 0 11px;
    color:#fff;
    font-size:13px;
    font-weight:820;
}
.mcc-footer-links{
    display:grid;
    gap:3px;
}
.mcc-footer-link{
    display:flex;
    width:max-content;
    max-width:100%;
    min-height:25px;
    align-items:center;
    gap:6px;
    color:rgba(255,255,255,.50) !important;
    font-size:11px;
    transition:color .16s ease,transform .16s ease;
}
.mcc-footer-link::before{
    content:"";
    width:0;
    height:1px;
    border-radius:99px;
    background:#6eb5ea;
    transition:width .16s ease;
}
.mcc-footer-link:hover{
    color:#fff !important;
    transform:translateX(3px);
}
.mcc-footer-link:hover::before{width:10px}

.mcc-footer-mini{
    --fx:50%;
    --fy:50%;
    position:relative;
    overflow:hidden;
    margin-top:6px;
    padding:10px 11px;
    border:1px solid rgba(110,184,240,.10);
    border-radius:10px;
    background:rgba(255,255,255,.035);
    transition:transform .18s ease,border-color .18s ease;
}
.mcc-footer-mini::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:0;
    background:radial-gradient(170px circle at var(--fx) var(--fy),rgba(96,178,241,.17),transparent 60%);
    transition:opacity .18s ease;
}
.mcc-footer-mini:hover{
    transform:translateY(-3px);
    border-color:rgba(110,184,240,.22);
}
.mcc-footer-mini:hover::before{opacity:1}
.mcc-footer-mini > *{position:relative;z-index:2}
.mcc-footer-mini strong{
    display:block;
    font-size:11.5px;
    color:#fff;
}
.mcc-footer-mini span{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.45);
    font-size:9.5px;
    line-height:1.4;
}

/* Footer bottom */
.mcc-footer-bottom{
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.07);
}
.mcc-footer-copy{
    color:rgba(255,255,255,.38);
    font-size:9px;
}
.mcc-footer-legal{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}
.mcc-footer-legal a{
    color:rgba(255,255,255,.42) !important;
    font-size:9px;
}
.mcc-footer-legal a:hover{color:#fff !important}

@media(max-width:980px){
    .mcc-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
    .mcc-footer-top{
        align-items:flex-start;
        flex-direction:column;
    }
    .mcc-footer-top-btn{width:100%}
}
@media(max-width:540px){
    .mcc-footer-grid{grid-template-columns:1fr;gap:18px;padding:24px 0}
    .mcc-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        justify-content:center;
        gap:6px;
        padding:10px 0;
    }
}

@media(prefers-reduced-motion:reduce){
    .mcc-header *,
    .mcc-header *::before,
    .mcc-header *::after,
    .mcc-footer *,
    .mcc-footer *::before,
    .mcc-footer *::after{
        animation:none !important;
        transition-duration:.01ms !important;
    }
}



/* ==========================================================
   MADRID CERCA — PRO MOTION LAYER
   Estímulos premium adicionales para header y footer
   ========================================================== */

/* ---------- CABECERA: más presencia ---------- */

.mcc-head{
    min-height:76px;
    padding:8px 10px 8px 18px;
    border-radius:21px;
}

/* Borde luminoso dinámico muy sutil */
.mcc-head::after{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:-2;
    padding:1px;
    border-radius:22px;
    opacity:.42;
    pointer-events:none;
    background:
        linear-gradient(
            110deg,
            transparent 8%,
            rgba(66,159,229,.28) 34%,
            rgba(255,255,255,.85) 48%,
            rgba(66,159,229,.20) 62%,
            transparent 86%
        );
    background-size:220% 100%;
    animation:mccBorderTravel 8s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
}

@keyframes mccBorderTravel{
    from{background-position:210% 0}
    to{background-position:-110% 0}
}

/* Logo: micro-resplandor y pequeña respiración */
.mcc-logo-box::after{
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    right:-1px;
    top:3px;
    border-radius:50%;
    background:#4aa1e5;
    box-shadow:
        0 0 0 4px rgba(74,161,229,.08),
        0 0 18px rgba(74,161,229,.26);
    animation:mccLogoSignal 2.8s ease-in-out infinite;
}

@keyframes mccLogoSignal{
    0%,100%{transform:scale(.82);opacity:.58}
    50%{transform:scale(1.08);opacity:1}
}

/* Links más ricos al hover */
.mcc-link{
    letter-spacing:-.012em;
}

.mcc-link:hover{
    box-shadow:inset 0 0 0 1px rgba(23,104,184,.07);
}

/* Flecha del dropdown se mueve ligeramente */
.mcc-link svg{
    transition:transform .18s ease;
}
.mcc-nav-item:hover > .mcc-link svg{
    transform:translateY(1px) rotate(180deg);
}

/* Dropdown con entrada más elegante */
.mcc-dropdown{
    box-shadow:
        0 15px 34px rgba(5,19,33,.08),
        0 50px 105px rgba(5,19,33,.16);
}

.mcc-drop-card{
    min-height:61px;
    border-radius:12px;
}

.mcc-drop-card span:last-child{
    transition:transform .18s ease;
}
.mcc-drop-card:hover span:last-child{
    transform:translateX(3px);
}

/* Tarjeta comercial: pulso ambiental */
.mcc-drop-business::before{
    content:"";
    position:absolute;
    width:210px;
    height:210px;
    left:-160px;
    bottom:-150px;
    border-radius:50%;
    background:rgba(72,161,230,.10);
    box-shadow:0 0 0 35px rgba(72,161,230,.025);
    transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.mcc-drop-business:hover::before{
    transform:translate(38px,-18px) scale(1.18);
}

/* CTA empresarial más contundente */
.mcc-cta{
    min-height:53px;
    padding:0 18px;
    border-radius:13px;
}
.mcc-cta::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:0;
    background:
        radial-gradient(
            120px circle at 22% 10%,
            rgba(255,255,255,.25),
            transparent 70%
        );
    transition:opacity .2s ease;
}
.mcc-cta:hover::after{opacity:1}

/* ---------- FOOTER: compacto pero más premium ---------- */

.mcc-footer{
    --footer-x:50%;
    --footer-y:50%;
    background:
        radial-gradient(circle at 88% 0%,rgba(66,161,232,.20),transparent 27%),
        radial-gradient(circle at 6% 115%,rgba(48,128,194,.12),transparent 30%),
        linear-gradient(145deg,#0e304f 0%,#07192d 58%,#04111e 100%);
}

/* Spotlight global del ratón */
.mcc-footer-wrap::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:0;
    pointer-events:none;
    background:
        radial-gradient(
            430px circle at var(--footer-x) var(--footer-y),
            rgba(72,162,231,.105),
            transparent 62%
        );
    transition:opacity .25s ease;
}
.mcc-footer:hover .mcc-footer-wrap::before{opacity:1}

/* Haz de luz superior */
.mcc-footer-wrap::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:180px;
    height:1px;
    opacity:.7;
    background:linear-gradient(90deg,transparent,#76bdf1,transparent);
    animation:mccFooterBeam 7s ease-in-out infinite;
    pointer-events:none;
}
@keyframes mccFooterBeam{
    0%,100%{transform:translateX(-160px);opacity:0}
    18%{opacity:.72}
    55%{transform:translateX(calc(100vw - 100px));opacity:.55}
    76%{opacity:0}
}

/* Mantener compacto pese a texto mayor */
.mcc-footer-top{
    min-height:82px;
    padding:16px 0;
}

.mcc-footer-grid{
    gap:clamp(24px,3.4vw,48px);
    padding:30px 0 25px;
}

/* Icono superior con halo */
.mcc-footer-top-icon{
    width:43px;
    height:43px;
    border-radius:12px;
    box-shadow:
        inset 0 0 0 1px rgba(129,198,248,.035),
        0 9px 22px rgba(0,0,0,.10);
    transition:transform .22s ease,background .22s ease;
}
.mcc-footer-top:hover .mcc-footer-top-icon{
    transform:translateY(-2px) rotate(-2deg);
    background:rgba(89,173,236,.16);
}

/* Título footer con mejor jerarquía */
.mcc-footer-top strong{
    letter-spacing:-.025em;
}
.mcc-footer-top span{
    line-height:1.42;
}

/* CTA footer más premium */
.mcc-footer-top-btn{
    min-height:46px;
    padding:0 18px;
    border-radius:11px;
}
.mcc-footer-top-btn::after{
    content:"";
    position:absolute;
    inset:0;
    opacity:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
    transition:opacity .18s ease;
}
.mcc-footer-top-btn:hover::after{opacity:1}

/* Marca del footer */
.mcc-footer-brandline{
    width:max-content;
    max-width:100%;
    padding:2px 4px 2px 0;
    border-radius:12px;
    transition:transform .2s ease;
}
.mcc-footer-brandline:hover{
    transform:translateY(-2px);
}

.mcc-footer-logo{
    width:64px;
    height:54px;
}

/* Columnas: títulos con micro-indicador */
.mcc-footer-col h3{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
    letter-spacing:-.015em;
}
.mcc-footer-col h3::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#6ab1e7;
    box-shadow:0 0 0 4px rgba(106,177,231,.07);
}

/* Enlaces: estimulo tipo "highlight" */
.mcc-footer-link{
    position:relative;
    padding:0 7px 0 0;
    border-radius:7px;
}
.mcc-footer-link::after{
    content:"";
    position:absolute;
    inset:2px -7px 2px -8px;
    z-index:-1;
    opacity:0;
    border-radius:7px;
    background:rgba(92,170,230,.07);
    transform:scaleX(.93);
    transition:opacity .16s ease,transform .16s ease;
}
.mcc-footer-link:hover::after{
    opacity:1;
    transform:scaleX(1);
}

/* Tarjeta IA con más profundidad */
.mcc-footer-mini{
    padding:12px 13px;
    border-radius:11px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.mcc-footer-mini::after{
    content:"✦";
    position:absolute;
    right:10px;
    top:7px;
    color:rgba(125,194,246,.34);
    font-size:13px;
    transform:rotate(0deg);
    transition:transform .32s ease,color .22s ease;
}
.mcc-footer-mini:hover::after{
    transform:rotate(90deg) scale(1.12);
    color:rgba(125,194,246,.70);
}

/* Línea inferior más limpia */
.mcc-footer-bottom{
    min-height:44px;
}

/* Responsive: no hacer el footer gigante */
@media(max-width:980px){
    .mcc-footer-grid{
        gap:28px 38px;
    }
}

@media(max-width:560px){
    .mcc-head{
        min-height:65px;
    }
    .mcc-brand-name{
        font-size:18px;
    }
    .mcc-footer-top strong{
        font-size:17px;
    }
    .mcc-footer-top span{
        font-size:10.5px;
    }
    .mcc-footer-name{
        font-size:21px;
    }
    .mcc-footer-col h3{
        font-size:12.5px;
    }
    .mcc-footer-link{
        font-size:10.5px;
    }
}



/* ==========================================================
   FOOTER CONVERSION STRIP + IA CARD — REFINEMENT
   ========================================================== */

/* --- Barra comercial superior --- */

.mcc-footer-top{
    position:relative;
    min-height:104px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:30px;
    margin-top:20px;
    padding:19px 20px;
    overflow:hidden;
    border:1px solid rgba(121,190,241,.105);
    border-radius:17px;
    background:
        radial-gradient(circle at 83% 0%,rgba(84,172,238,.11),transparent 31%),
        linear-gradient(105deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 15px 34px rgba(0,0,0,.10);
    border-bottom:1px solid rgba(121,190,241,.105);
}

.mcc-footer-top::before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-145px;
    top:-185px;
    border:1px solid rgba(126,198,248,.08);
    border-radius:50%;
    box-shadow:
        inset 0 0 0 52px rgba(126,198,248,.014),
        inset 0 0 0 104px rgba(126,198,248,.009);
    transition:transform .55s cubic-bezier(.2,.8,.2,1);
}

.mcc-footer-top:hover::before{
    transform:scale(1.18) rotate(10deg);
}

.mcc-footer-top::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:115px;
    height:2px;
    background:linear-gradient(90deg,#56a9e7,transparent);
    opacity:.76;
    transition:width .35s cubic-bezier(.2,.8,.2,1);
}

.mcc-footer-top:hover::after{
    width:230px;
}

.mcc-footer-top-copy{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:16px;
}

.mcc-footer-top-icon{
    position:relative;
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    overflow:visible;
    border:1px solid rgba(132,201,249,.15);
    border-radius:14px;
    color:#a8d4f4;
    background:
        linear-gradient(145deg,rgba(84,171,237,.17),rgba(84,171,237,.06));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 10px 24px rgba(0,0,0,.11);
}

.mcc-footer-top-icon::before{
    content:"";
    position:absolute;
    inset:6px;
    border-radius:10px;
    border:1px solid rgba(139,205,251,.08);
}

.mcc-footer-top-pulse{
    position:absolute;
    width:8px;
    height:8px;
    right:-3px;
    top:-3px;
    border-radius:50%;
    background:#62b1e9;
    box-shadow:0 0 0 5px rgba(98,177,233,.08);
}

.mcc-footer-top-pulse::after{
    content:"";
    position:absolute;
    inset:-5px;
    border:1px solid rgba(98,177,233,.35);
    border-radius:50%;
    animation:mccFooterPulse 2.2s ease-out infinite;
}

@keyframes mccFooterPulse{
    0%{opacity:.85;transform:scale(.55)}
    100%{opacity:0;transform:scale(1.9)}
}

.mcc-footer-top-text{
    display:block !important;
    min-width:0;
}

.mcc-footer-top-kicker{
    display:inline-flex !important;
    width:max-content;
    align-items:center;
    gap:6px;
    margin:0 0 5px !important;
    color:#79bff0 !important;
    font-size:8px !important;
    font-weight:850;
    letter-spacing:.11em;
    line-height:1;
    text-transform:uppercase;
}

.mcc-footer-top-kicker::before{
    content:"";
    width:14px;
    height:1px;
    background:#67afe6;
}

.mcc-footer-top strong{
    display:block;
    max-width:720px;
    margin:0;
    color:#fff;
    font-size:21px;
    font-weight:790;
    line-height:1.08;
    letter-spacing:-.035em;
}

.mcc-footer-top-sub{
    display:block !important;
    max-width:720px;
    margin:7px 0 0 !important;
    color:rgba(255,255,255,.52) !important;
    font-size:10px !important;
    line-height:1.5 !important;
}

.mcc-footer-top-side{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:15px;
}

.mcc-footer-top-pills{
    display:flex;
    align-items:center;
    gap:5px;
}

.mcc-footer-top-pills span{
    display:inline-flex !important;
    min-height:26px;
    align-items:center;
    justify-content:center;
    margin:0 !important;
    padding:0 8px;
    border:1px solid rgba(122,191,242,.10);
    border-radius:999px;
    color:rgba(218,238,252,.66) !important;
    background:rgba(255,255,255,.035);
    font-size:7px !important;
    font-weight:800;
    letter-spacing:.04em;
    transition:
        transform .16s ease,
        color .16s ease,
        background .16s ease,
        border-color .16s ease;
}

.mcc-footer-top-pills span:hover{
    transform:translateY(-2px);
    color:#fff !important;
    border-color:rgba(122,191,242,.21);
    background:rgba(84,171,237,.09);
}

.mcc-footer-top-btn{
    min-height:48px;
    padding:0 18px;
    border-radius:11px;
    font-size:10px;
    font-weight:840;
}

/* --- Tarjeta IA: más limpia y reconocible --- */

.mcc-footer-mini{
    --fx:50%;
    --fy:50%;
    position:relative;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 27px;
    align-items:center;
    gap:10px;
    min-height:92px;
    margin-top:13px;
    padding:12px;
    overflow:hidden;
    border:1px solid rgba(119,190,242,.10);
    border-radius:13px;
    background:
        radial-gradient(circle at 90% 5%,rgba(73,164,233,.10),transparent 38%),
        rgba(255,255,255,.035);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018);
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.mcc-footer-mini::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:0;
    background:
        radial-gradient(
            210px circle at var(--fx) var(--fy),
            rgba(89,177,241,.17),
            transparent 62%
        );
    transition:opacity .2s ease;
}

.mcc-footer-mini::after{
    display:none;
}

.mcc-footer-mini:hover{
    transform:translateY(-4px);
    border-color:rgba(119,190,242,.22);
    background:
        radial-gradient(circle at 90% 5%,rgba(73,164,233,.15),transparent 38%),
        rgba(255,255,255,.047);
    box-shadow:
        0 14px 28px rgba(0,0,0,.10);
}

.mcc-footer-mini:hover::before{
    opacity:1;
}

.mcc-footer-mini > *{
    position:relative;
    z-index:2;
}

.mcc-footer-mini-icon{
    display:grid !important;
    width:38px;
    height:38px;
    margin:0 !important;
    place-items:center;
    border:1px solid rgba(125,197,247,.12);
    border-radius:11px;
    color:#a9d5f4 !important;
    background:
        linear-gradient(145deg,rgba(82,167,231,.16),rgba(82,167,231,.055));
    transition:
        transform .2s cubic-bezier(.2,.8,.2,1),
        background .2s ease;
}

.mcc-footer-mini:hover .mcc-footer-mini-icon{
    transform:rotate(-4deg) scale(1.055);
    background:
        linear-gradient(145deg,rgba(82,167,231,.24),rgba(82,167,231,.08));
}

.mcc-footer-mini-copy{
    display:block !important;
    min-width:0;
    margin:0 !important;
}

.mcc-footer-mini-kicker{
    display:block !important;
    margin:0 0 3px !important;
    color:#79bff0 !important;
    font-size:6px !important;
    font-weight:850;
    letter-spacing:.10em;
    line-height:1;
    text-transform:uppercase;
}

.mcc-footer-mini strong{
    display:block;
    margin:0;
    color:#fff;
    font-size:12px;
    font-weight:790;
    line-height:1.15;
    letter-spacing:-.015em;
}

.mcc-footer-mini-desc{
    display:block !important;
    margin:5px 0 0 !important;
    color:rgba(255,255,255,.43) !important;
    font-size:8px !important;
    line-height:1.43 !important;
}

.mcc-footer-mini-arrow{
    display:grid !important;
    width:27px;
    height:27px;
    margin:0 !important;
    place-items:center;
    border-radius:50%;
    color:#82c2f0 !important;
    background:rgba(82,167,231,.08);
    font-size:11px !important;
    transition:
        transform .18s ease,
        color .18s ease,
        background .18s ease;
}

.mcc-footer-mini:hover .mcc-footer-mini-arrow{
    transform:translateX(3px);
    color:#fff !important;
    background:rgba(82,167,231,.18);
}

@media(max-width:980px){
    .mcc-footer-top{
        grid-template-columns:1fr;
        gap:15px;
    }

    .mcc-footer-top-side{
        justify-content:space-between;
    }
}

@media(max-width:640px){
    .mcc-footer-top{
        padding:16px;
    }

    .mcc-footer-top-copy{
        align-items:flex-start;
    }

    .mcc-footer-top strong{
        font-size:18px;
    }

    .mcc-footer-top-sub{
        font-size:9.5px !important;
    }

    .mcc-footer-top-side{
        align-items:stretch;
        flex-direction:column;
    }

    .mcc-footer-top-pills{
        flex-wrap:wrap;
    }

    .mcc-footer-top-btn{
        width:100%;
    }

    .mcc-footer-mini{
        min-height:88px;
    }
}



/* ==========================================================
   FOOTER — BLOQUE COMERCIAL SIN ICONO DECORATIVO
   ========================================================== */

.mcc-footer-top-copy{
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
}

.mcc-footer-top-text{
    max-width:820px;
}

.mcc-footer-top-icon,
.mcc-footer-top-pulse{
    display:none !important;
}

/* ==========================================================
   MADRID CERCA — FOOTER PREMIUM HORIZONTAL
   Recupera el pie de página anterior y lo adapta a la
   identidad visual actual de Madrid Cerca.
   ========================================================== */

.footer-premium--horizontal{
    position:relative;
    overflow:hidden;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    border-top:1px solid rgba(248,243,236,.10);

    color:#F8F3EC !important;

    background:#25282B !important;
}

.footer-premium--horizontal::before{
    content:"";

    position:absolute;
    inset:0;

    opacity:.13;

    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(248,243,236,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(248,243,236,.025) 1px,
            transparent 1px
        );

    background-size:36px 36px;

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 18%,
            #000 82%,
            transparent 100%
        );
}

.footer-premium--horizontal > .wp-block-group__inner-container{
    background:#25282B !important;
}

.footer-premium--horizontal .footer-premium__wrap{
    position:relative;
    z-index:2;

    width:min(
        1240px,
        calc(100% - clamp(28px,5vw,84px))
    );
    max-width:1240px;

    margin:0 auto;

    padding:28px 0 14px;

    border:0;
    border-radius:0;

    background:transparent !important;

    box-shadow:none !important;
}

.footer-premium--horizontal .footer-premium__row{
    display:grid !important;

    grid-template-columns:
        minmax(170px,220px)
        minmax(240px,1.15fr)
        minmax(170px,.9fr)
        minmax(190px,.95fr) !important;

    gap:clamp(22px,3vw,42px) !important;

    align-items:start !important;
}

/* ---------- COLUMNAS ---------- */

.footer-premium--horizontal .footer-premium__col,
.footer-premium--horizontal .footer-premium__brandcol,
.footer-premium--horizontal .footer-premium__contactcol,
.footer-premium--horizontal .footer-premium__mapcol,
.footer-premium--horizontal .footer-premium__legalcol{
    min-width:0;
    width:100%;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    box-shadow:none !important;

    transform:none !important;
}

.footer-premium--horizontal .footer-premium__col:hover,
.footer-premium--horizontal .footer-premium__brandcol:hover,
.footer-premium--horizontal .footer-premium__contactcol:hover,
.footer-premium--horizontal .footer-premium__mapcol:hover,
.footer-premium--horizontal .footer-premium__legalcol:hover{
    transform:none !important;
    box-shadow:none !important;
}

/* ---------- MARCA / LOGO ---------- */

.footer-premium--horizontal .footer-premium__brand{
    display:inline-flex;

    min-width:0;

    color:inherit !important;

    text-decoration:none !important;
}

.footer-premium--horizontal .footer-premium__brand--stack{
    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:7px !important;

    text-align:center !important;
}

.footer-premium--horizontal .footer-premium__logo-holder{
    position:relative;

    display:inline-flex;

    width:auto !important;
    height:auto !important;
    min-width:0 !important;

    align-items:center;
    justify-content:center;

    margin:0 !important;
    padding:0 !important;

    overflow:visible;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    box-shadow:none !important;

    transform-origin:center;
    animation:mcFooterLogoFloat 4.4s ease-in-out infinite;
}

.footer-premium--horizontal .footer-premium__logo-holder:hover{
    animation-play-state:paused;

    transform:
        translateY(-2px)
        scale(1.035);
}

.footer-premium--horizontal .footer-premium__logo-img,
.footer-premium--horizontal .footer-premium__logo-holder img,
.footer-premium--horizontal .footer-premium__logo-holder svg{
    display:block;

    width:108px !important;
    height:108px !important;

    max-width:108px !important;
    max-height:108px !important;

    margin:0 !important;

    object-fit:contain;
    object-position:center;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    box-shadow:none !important;

    filter:
        drop-shadow(
            0 7px 14px
            rgba(156,70,52,.14)
        );

    transform-origin:center;

    animation:
        mcFooterLogoPulse
        4s
        ease-in-out
        infinite;
}

.footer-premium--horizontal .footer-premium__brand-name{
    display:block;

    max-width:180px !important;

    margin:0 !important;

    color:#F8F3EC !important;

    font-size:.98rem !important;
    font-weight:850 !important;

    line-height:1.04 !important;
    letter-spacing:-.035em;

    text-align:center !important;
}

/* ---------- TÍTULOS ---------- */

.footer-premium--horizontal h3{
    display:block !important;

    margin:8px 0 11px !important;
    padding:0 !important;

    color:#F8F3EC !important;
    -webkit-text-fill-color:#F8F3EC !important;

    background:none !important;

    font-size:.76rem !important;
    font-weight:850 !important;

    line-height:1.1 !important;
    letter-spacing:.055em;

    text-transform:uppercase;
}

.footer-premium--horizontal h3::before,
.footer-premium--horizontal h3::after{
    content:none !important;
    display:none !important;
}

/* ---------- CONTACTO ---------- */

.footer-premium--horizontal .footer-premium__contact-list{
    display:flex;

    flex-direction:column;

    gap:3px !important;
}

.footer-premium--horizontal .footer-premium__contact-item{
    position:relative;

    display:flex !important;

    min-height:31px;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:9px !important;

    margin:0 !important;
    padding:3px 0 !important;

    color:#F8F3EC !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    box-shadow:none !important;

    font-size:.76rem !important;
    font-weight:690 !important;

    line-height:1.2 !important;

    text-decoration:none !important;

    transition:
        color .18s ease,
        transform .18s ease;
}

.footer-premium--horizontal .footer-premium__contact-item::after{
    content:"";

    position:absolute;

    right:0;
    bottom:0;
    left:33px;

    height:1px;

    opacity:.55;

    background:
        linear-gradient(
            90deg,
            rgba(248,243,236,.13),
            transparent
        );
}

.footer-premium--horizontal .footer-premium__contact-item:last-child::after{
    display:none;
}

.footer-premium--horizontal .footer-premium__contact-item:hover{
    color:#9C4634 !important;

    transform:translateX(2px);
}

.footer-premium--horizontal .footer-premium__icon{
    position:relative;

    display:inline-flex;

    flex:0 0 25px !important;

    width:25px !important;
    height:25px !important;
    min-width:25px !important;

    align-items:center;
    justify-content:center;

    margin:0 !important;

    overflow:hidden;

    border:1px solid rgba(156,70,52,.14) !important;
    border-radius:8px;

    color:#9C4634 !important;

    background:
        linear-gradient(
            180deg,
            #F8F3EC,
            #EFE7DD
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.96),
        0 2px 6px rgba(37,40,43,.025) !important;

    font-size:0 !important;
}

/* Icono de Contacto */
.footer-premium--horizontal
.footer-premium__contact-item[href="/contacto/"]
.footer-premium__icon::before{
    content:"";

    width:12px;
    height:9px;

    border:1.5px solid currentColor;
    border-radius:2px;

    box-sizing:border-box;
}

.footer-premium--horizontal
.footer-premium__contact-item[href="/contacto/"]
.footer-premium__icon::after{
    content:"";

    position:absolute;

    top:6px;
    left:8px;

    width:8px;
    height:8px;

    border-left:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;

    transform:rotate(-45deg);

    box-sizing:border-box;
}

/* Icono de Registrar empresa */
.footer-premium--horizontal
.footer-premium__contact-item[href="/registrar-empresa/"]
.footer-premium__icon::before{
    content:"+";

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-52%);

    color:currentColor;

    font-size:17px;
    font-weight:500;

    line-height:1;
}

/* Si añades Mi cuenta al footer */
.footer-premium--horizontal
.footer-premium__contact-item[href="/mi-cuenta/"]
.footer-premium__icon::before{
    content:"";

    position:absolute;

    top:5px;
    left:8px;

    width:7px;
    height:7px;

    border:1.5px solid currentColor;
    border-radius:50%;
}

.footer-premium--horizontal
.footer-premium__contact-item[href="/mi-cuenta/"]
.footer-premium__icon::after{
    content:"";

    position:absolute;

    right:6px;
    bottom:4px;
    left:6px;

    height:7px;

    border:1.5px solid currentColor;
    border-bottom:0;
    border-radius:8px 8px 0 0;
}

/* ---------- LINKS ---------- */

.footer-premium--horizontal .footer-premium__links{
    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
}

.footer-premium--horizontal .footer-premium__links li{
    margin:0 0 5px !important;
    padding:0 !important;

    color:#F8F3EC !important;
}

.footer-premium--horizontal .footer-premium__links a{
    position:relative;

    display:inline-flex;

    align-items:center;

    color:#F8F3EC !important;

    font-size:.76rem !important;
    font-weight:650 !important;

    line-height:1.25 !important;

    text-decoration:none !important;

    transition:
        color .18s ease,
        transform .18s ease;
}

.footer-premium--horizontal .footer-premium__links a::before{
    content:"";

    width:0;
    height:1px;

    margin-right:0;

    background:#AE5A45;

    transition:
        width .18s ease,
        margin-right .18s ease;
}

.footer-premium--horizontal .footer-premium__links a:hover{
    color:#9C4634 !important;

    transform:translateX(2px);
}

.footer-premium--horizontal .footer-premium__links a:hover::before{
    width:7px;
    margin-right:5px;
}

/* ---------- COPYRIGHT ---------- */

.footer-premium--horizontal .footer-premium__bottom{
    margin-top:20px !important;
    padding-top:11px !important;
    padding-bottom:2px !important;

    border-top:1px solid rgba(248,243,236,.12) !important;

    color:#F8F3EC !important;

    font-size:.68rem !important;
    font-weight:600 !important;

    line-height:1.25 !important;

    text-align:center !important;
}

.footer-premium--horizontal .footer-premium__bottom p{
    margin:0 !important;

    color:#F8F3EC !important;

    font-size:.68rem !important;
    font-weight:600 !important;

    line-height:1.25 !important;
}

/* ---------- ESTADOS DE COLOR DE MARCA ---------- */

/* Mantiene crema incluso si Astra/WordPress aplica colores a enlaces visitados. */
.footer-premium--horizontal .footer-premium__brand,
.footer-premium--horizontal .footer-premium__brand:visited,
.footer-premium--horizontal .footer-premium__contact-item:visited,
.footer-premium--horizontal .footer-premium__links a:visited{
    color:#F8F3EC !important;
}

/* Todos los títulos siguen crema, incluidos spans con estilos heredados. */
.footer-premium--horizontal h3,
.footer-premium--horizontal h3 span{
    color:#F8F3EC !important;
    -webkit-text-fill-color:#F8F3EC !important;
}

/* Hover de marca: terracota. */
.footer-premium--horizontal .footer-premium__brand:hover .footer-premium__brand-name,
.footer-premium--horizontal .footer-premium__contact-item:hover,
.footer-premium--horizontal .footer-premium__links a:hover{
    color:#9C4634 !important;
}

/* El icono se invierte al pasar el ratón. */
.footer-premium--horizontal .footer-premium__contact-item:hover .footer-premium__icon{
    color:#F8F3EC !important;
    background:#9C4634 !important;
    border-color:#9C4634 !important;
}

/* ---------- ANIMACIONES ---------- */

@keyframes mcFooterLogoFloat{
    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-2px);
    }
}

@keyframes mcFooterLogoPulse{
    0%,
    100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.025);
    }
}

/* ---------- TABLET ---------- */

@media(max-width:1024px){

    .footer-premium--horizontal .footer-premium__wrap{
        width:min(
            100% - 32px,
            1000px
        );

        padding-top:24px !important;
    }

    .footer-premium--horizontal .footer-premium__row{
        grid-template-columns:
            minmax(135px,.8fr)
            minmax(190px,1.1fr)
            minmax(145px,.85fr)
            minmax(155px,.9fr) !important;

        gap:16px !important;
    }

    .footer-premium--horizontal .footer-premium__logo-img,
    .footer-premium--horizontal .footer-premium__logo-holder img,
    .footer-premium--horizontal .footer-premium__logo-holder svg{
        width:78px !important;
        height:78px !important;

        max-width:78px !important;
        max-height:78px !important;
    }

    .footer-premium--horizontal h3{
        font-size:.73rem !important;
    }

    .footer-premium--horizontal .footer-premium__links a,
    .footer-premium--horizontal .footer-premium__contact-item{
        font-size:.73rem !important;
    }
}

/* ---------- MÓVIL ---------- */

@media(max-width:767px){

    .footer-premium--horizontal .footer-premium__wrap{
        width:calc(100% - 28px);

        padding:
            24px
            0
            12px !important;
    }

    .footer-premium--horizontal .footer-premium__row{
        grid-template-columns:
            1fr
            1fr !important;

        gap:
            24px
            18px !important;
    }

    .footer-premium--horizontal .footer-premium__brandcol{
        grid-column:1 / -1;
    }

    .footer-premium--horizontal .footer-premium__brand--stack{
        align-items:center !important;
        justify-content:center !important;
    }

    .footer-premium--horizontal .footer-premium__logo-img,
    .footer-premium--horizontal .footer-premium__logo-holder img,
    .footer-premium--horizontal .footer-premium__logo-holder svg{
        width:74px !important;
        height:74px !important;

        max-width:74px !important;
        max-height:74px !important;
    }

    .footer-premium--horizontal .footer-premium__brand-name{
        max-width:none !important;
    }

    .footer-premium--horizontal .footer-premium__contactcol,
    .footer-premium--horizontal .footer-premium__mapcol,
    .footer-premium--horizontal .footer-premium__legalcol{
        text-align:center !important;
    }

    .footer-premium--horizontal h3{
        margin-top:0 !important;

        text-align:center !important;
    }

    .footer-premium--horizontal .footer-premium__contact-list{
        align-items:center;
    }

    .footer-premium--horizontal .footer-premium__contact-item{
        width:auto;

        justify-content:flex-start !important;

        text-align:left !important;
    }

    .footer-premium--horizontal .footer-premium__links{
        text-align:center;
    }

    .footer-premium--horizontal .footer-premium__bottom{
        margin-top:22px !important;
    }
}

@media(max-width:520px){

    .footer-premium--horizontal .footer-premium__row{
        grid-template-columns:1fr !important;
        gap:19px !important;
    }

    .footer-premium--horizontal .footer-premium__brandcol{
        grid-column:auto;
    }

    .footer-premium--horizontal .footer-premium__contactcol,
    .footer-premium--horizontal .footer-premium__mapcol,
    .footer-premium--horizontal .footer-premium__legalcol{
        text-align:center !important;
    }

    .footer-premium--horizontal .footer-premium__contact-list{
        align-items:center !important;
    }

    .footer-premium--horizontal .footer-premium__contact-item{
        justify-content:center !important;
    }
}

@media(prefers-reduced-motion:reduce){

    .footer-premium--horizontal .footer-premium__logo-holder,
    .footer-premium--horizontal .footer-premium__logo-img,
    .footer-premium--horizontal .footer-premium__logo-holder img,
    .footer-premium--horizontal .footer-premium__logo-holder svg{
        animation:none !important;
        transition:none !important;
    }
}

/* ==========================================================
   FIN FOOTER PREMIUM MADRID CERCA
   ========================================================== */

/* ==========================================================
   MADRID CERCA — GUTENBERG 1:1 VISUAL ADAPTER
   Conserva la geometría del HTML original usando bloques Core.
   ========================================================== */

/* Gutenberg flow spacing must not alter the original custom layout. */
:where(.mcz-site .wp-block-group) > :where(*),
:where(.footer-premium--horizontal .wp-block-group) > :where(*){
    margin-block-start:0;
    margin-block-end:0;
    max-width:none;
}

/* These wrappers exist only so inline text stays editable in Gutenberg. */
.mcz-site .mcz-gb-inline-wrap,
.mcz-site .mcz-gb-text-reset,
.footer-premium--horizontal .mcz-gb-inline-wrap,
.footer-premium--horizontal .mcz-gb-text-reset{
    display:contents !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    box-shadow:none !important;
}

/* Do not let Gutenberg figure defaults change image geometry. */
:where(.mcz-site figure.wp-block-image),
:where(.footer-premium--horizontal figure.wp-block-image){
    margin:0;
    padding:0;
    max-width:none;
}

/* Hero photo: original had IMG as direct child. */
.mcz-photo-main > figure.wp-block-image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden;
    border-radius:31px;
}
.mcz-photo-main > figure.wp-block-image > a,
.mcz-photo-main > figure.wp-block-image img{
    display:block;
    width:100% !important;
    height:100% !important;
}
.mcz-photo-main > figure.wp-block-image img{
    object-fit:cover;
    opacity:.76;
    border-radius:0 !important;
    box-shadow:none !important;
    transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s ease;
}
.mcz-photo-main:hover > figure.wp-block-image img{
    transform:scale(1.055);
    filter:saturate(1.08) contrast(1.03);
}

/* Preserve the dark gradient over the hero photo above Gutenberg figure. */
.mcz-photo-main::after{z-index:1;}
.mcz-lab-info{z-index:4;}

/* Sector images: figure wrapper should be visually transparent. */
.mcz-sector > figure.wp-block-image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden;
    border-radius:24px;
    z-index:0;
}
.mcz-sector > figure.wp-block-image > a,
.mcz-sector > figure.wp-block-image img{
    display:block;
    width:100% !important;
    height:100% !important;
}
.mcz-sector > figure.wp-block-image img{
    position:static !important;
    object-fit:cover;
    border-radius:0 !important;
    box-shadow:none !important;
    filter:saturate(.88) contrast(1.04) brightness(.92);
    transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease;
}
.mcz-sector:hover > figure.wp-block-image img{
    transform:scale(1.10);
    filter:saturate(1.06) contrast(1.07) brightness(.98);
}
.mcz-sector::after{z-index:1;}
.mcz-sector-arrow,.mcz-sector-content{z-index:3;}

/* Ranking image geometry. */
.mcz-ranking-photo > figure.wp-block-image{
    width:100% !important;
    height:100% !important;
    border-radius:0 !important;
    overflow:hidden;
}
.mcz-ranking-photo > figure.wp-block-image > a,
.mcz-ranking-photo > figure.wp-block-image img{
    display:block;
    width:100% !important;
    height:100% !important;
}
.mcz-ranking-photo > figure.wp-block-image img{
    object-fit:cover;
    border-radius:0 !important;
    box-shadow:none !important;
}
.mcz-ranking:hover .mcz-ranking-photo > figure.wp-block-image img{
    transform:scale(1.08);
}

/* Guide cards used direct images too. */
.mcz-guide-main > figure.wp-block-image,
.mcz-guide-small > figure.wp-block-image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    border-radius:inherit !important;
    overflow:hidden;
    z-index:0;
}
.mcz-guide-main > figure.wp-block-image > a,
.mcz-guide-small > figure.wp-block-image > a,
.mcz-guide-main > figure.wp-block-image img,
.mcz-guide-small > figure.wp-block-image img{
    display:block;
    width:100% !important;
    height:100% !important;
}
.mcz-guide-main > figure.wp-block-image img,
.mcz-guide-small > figure.wp-block-image img{
    object-fit:cover;
    border-radius:0 !important;
    box-shadow:none !important;
}
.mcz-guide-main::after,.mcz-guide-small::after{z-index:1;}
.mcz-guide-content{z-index:3;}

/* Whole-card links lost their <a> outer tag when converted to Group.
   Restore clickability with an invisible overlay without affecting visuals. */
.mcz-gb-link-card{position:relative;}
.mcz-gb-card-overlay{
    position:absolute;
    inset:0;
    z-index:12;
    display:block;
    border-radius:inherit;
    background:transparent !important;
    text-decoration:none !important;
}
.mcz-gb-link-card > :not(.wp-block-html){position:relative;z-index:2;}
.mcz-gb-link-card .mcz-gb-inner-link{color:inherit !important;text-decoration:none !important;}

/* In Gutenberg editor, the technical overlay should never block selection. */
.block-editor-page .mcz-gb-card-overlay,
.editor-styles-wrapper .mcz-gb-card-overlay{
    pointer-events:none !important;
}

/* Footer logo image block must preserve the exact previous footer sizing. */
.footer-premium--horizontal .footer-premium__logo-holder > figure.wp-block-image{
    display:inline-flex !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
}
.footer-premium--horizontal .footer-premium__logo-holder > figure.wp-block-image > a{
    display:inline-flex;
}
.footer-premium--horizontal .footer-premium__logo-holder > figure.wp-block-image img{
    object-fit:contain !important;
}

/* Extra Core classes must not create backgrounds, borders or padding. */
:where(.mcz-site .wp-block-group),
:where(.footer-premium--horizontal .wp-block-group){
    box-sizing:border-box;
}

/* Exact original wrappers remain responsible for width and centering. */
.mcz-wrap,.mcz-wrap-wide,.footer-premium__wrap{
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Keep native custom CSS grid/flex behavior, not Gutenberg layout behavior. */
.mcz-hero-grid,.mcz-sector-grid,.mcz-ranking-grid,.mcz-company-grid,
.mcz-area-grid,.mcz-growth-grid,.mcz-process-grid,.mcz-guide-grid,
.mcz-ai-grid,.mcz-footer-grid,.footer-premium__row{
    max-width:none !important;
}

/* ==========================================================
   END GUTENBERG 1:1 VISUAL ADAPTER
   ========================================================== */

/* ==========================================================
   MADRID CERCA — AJUSTE FINAL TERRACOTA / GRAFITO / MARFIL
   Contraste y legibilidad
   ========================================================== */

/* Superficies generales */
.mcz-hero{
    background:
        radial-gradient(circle at 82% 10%, rgba(199,116,92,.10), transparent 28%),
        radial-gradient(circle at 8% 85%, rgba(156,70,52,.045), transparent 28%),
        linear-gradient(180deg,#FFFDF9,#F8F3EC) !important;
}

.mcz-quick,
.mcz-business-bar,
.mcz-rankings{
    background:#FFFDF9 !important;
}

.mcz-sectors,
.mcz-verified{
    background:#F8F3EC !important;
}

/* Texto principal siempre oscuro sobre fondos claros */
.mcz-h1,
.mcz-h2,
.mcz-h3,
.mcz-ranking-body h3,
.mcz-company h3,
.mcz-loc-head strong{
    color:#25282B !important;
}

.mcz-lead,
.mcz-section-copy,
.mcz-mini-proof,
.mcz-business-bar-copy span{
    color:#6B645E !important;
}

/* Acento de marca */
.mcz-h1 span,
.mcz-brand-text span,
.mcz-kicker,
.mcz-section-link,
.mcz-ranking-body small{
    color:#9C4634 !important;
}

/* Botones */
.mcz-btn-primary{
    background:linear-gradient(180deg,#B85F49,#9C4634) !important;
    color:#fff !important;
    box-shadow:
        0 6px 14px rgba(156,70,52,.15),
        0 16px 32px rgba(156,70,52,.14) !important;
}

.mcz-btn-primary:hover{
    background:linear-gradient(180deg,#9C4634,#7F3528) !important;
}

.mcz-btn-dark{
    background:#2C2927 !important;
    color:#fff !important;
}

/* Hero: texto encima de fotografía debe seguir blanco */
.mcz-lab-info{
    color:#fff !important;
}

.mcz-lab-info h2{
    color:#fff !important;
}

.mcz-lab-info p{
    color:rgba(255,255,255,.72) !important;
}

.mcz-lab-label{
    color:rgba(255,255,255,.82) !important;
    background:rgba(44,41,39,.50) !important;
    border-color:rgba(255,255,255,.14) !important;
}

/* Tarjetas flotantes oscuras del hero */
.mcz-float{
    background:rgba(44,41,39,.88) !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.10) !important;
}

.mcz-float-score small,
.mcz-float-lists small{
    color:#E7A087 !important;
}

.mcz-mini-list span{
    color:rgba(255,255,255,.72) !important;
}

.mcz-mini-list b{
    color:#F0B29C !important;
}

/* Sector bento: mantiene contraste blanco sobre imagen */
.mcz-sector,
.mcz-sector h3,
.mcz-sector h3 a,
.mcz-sector-tag{
    color:#fff !important;
}

.mcz-sector p,
.mcz-sector p a{
    color:rgba(255,255,255,.76) !important;
}

.mcz-sector-tag{
    background:rgba(44,41,39,.45) !important;
    border-color:rgba(255,255,255,.15) !important;
}

.mcz-sector:hover .mcz-sector-arrow{
    color:#25282B !important;
}

/* Buscador */
.mcz-search{
    background:rgba(255,255,255,.98) !important;
}

.mcz-search-icon{
    color:#9C4634 !important;
    background:linear-gradient(145deg,#FBF4EF,#F3E2DA) !important;
}

.mcz-search-button{
    background:linear-gradient(180deg,#34312E,#2C2927) !important;
    color:#fff !important;
}

.mcz-search-button:hover{
    background:linear-gradient(180deg,#AE5A45,#9C4634) !important;
    box-shadow:0 13px 26px rgba(156,70,52,.20) !important;
}

/* Chips, desplegables y estados activos */
.mcz-chip:hover,
.mcz-loc-option:hover,
.mcz-loc-option.selected{
    color:#9C4634 !important;
}

.mcz-loc-option.selected,
.mcz-location-btn[aria-expanded="true"] .mcz-chevron{
    background:#F3E2DA !important;
}

.mcz-loc-check{
    background:#9C4634 !important;
    color:#fff !important;
}

.mcz-geolocate{
    color:#9C4634 !important;
    background:#FBF4EF !important;
}

/* Microbarra de empresa: clara y elegante */
.mcz-business-bar-inner{
    background:linear-gradient(100deg,#FBF7F2,#F3E8DF) !important;
    border-color:#DED3C8 !important;
}

.mcz-business-bar-copy strong{
    color:#25282B !important;
}

/* IA: bloque oscuro, textos expresamente claros */
.mcz-ai{
    background:
        radial-gradient(circle at 90% 5%, rgba(199,116,92,.15), transparent 28%),
        linear-gradient(140deg,#34312E,#242321 70%) !important;
    color:#fff !important;
}

.mcz-ai .mcz-kicker{
    color:#E7A087 !important;
}

.mcz-ai .mcz-h2{
    color:#fff !important;
}

.mcz-ai-copy p{
    color:rgba(255,255,255,.66) !important;
}

.mcz-ai-note{
    color:#F0BDAA !important;
}

.mcz-ai-query{
    background:rgba(255,255,255,.055) !important;
    border-color:rgba(255,255,255,.09) !important;
}

.mcz-ai-query-head span{
    color:rgba(255,255,255,.55) !important;
}

.mcz-ai-prompt{
    color:#fff !important;
}

.mcz-ai-prompt::before,
.mcz-ai-prompt::after{
    color:#E7A087 !important;
}

.mcz-ai-result{
    background:rgba(255,255,255,.045) !important;
}

.mcz-ai-result:hover{
    border-color:rgba(231,160,135,.24) !important;
    background:rgba(255,255,255,.065) !important;
}

.mcz-ai-business strong{
    color:#fff !important;
}

.mcz-ai-business span{
    color:rgba(255,255,255,.52) !important;
}

.mcz-ai-number{
    color:#E7A087 !important;
}

.mcz-ai-match strong{
    color:#8DC1A9 !important;
}

.mcz-ai-match span{
    color:rgba(255,255,255,.42) !important;
}

/* Rankings */
.mcz-ranking{
    background:#fff !important;
    border-color:#DED3C8 !important;
}

.mcz-ranking:hover{
    border-color:rgba(156,70,52,.24) !important;
}

.mcz-ranking-badge{
    color:#fff !important;
    background:rgba(44,41,39,.68) !important;
}

.mcz-ranking-open{
    color:#9C4634 !important;
    background:#F3E2DA !important;
}

.mcz-ranking:hover .mcz-ranking-open{
    color:#fff !important;
    background:#9C4634 !important;
}

/* Selección accesible */
.mcz-site ::selection{
    background:#9C4634;
    color:#fff;
}

/* ==========================================================
   MADRID CERCA — DISEÑO EDITORIAL PARA ENTRADAS
   Temática urbana Madrid Centro · Solo posts / single-post
   Añadido al final para no modificar la portada ni las páginas.
   ========================================================== */

body.single-post{
    --mcp-ink:#25282B;
    --mcp-ink-2:#34312E;
    --mcp-terracotta:#9C4634;
    --mcp-terracotta-dark:#7F3528;
    --mcp-terracotta-mid:#AE5A45;
    --mcp-terracotta-light:#E7A087;
    --mcp-stone:#625D58;
    --mcp-muted:#817A74;
    --mcp-line:#DED3C8;
    --mcp-line-soft:#F1E8DE;
    --mcp-paper:#FFFDF9;
    --mcp-paper-2:#F8F3EC;
    --mcp-blush:#F3E2DA;
    --mcp-green:#39705B;
    --mcp-shadow:0 8px 24px rgba(37,40,43,.055),0 28px 68px rgba(37,40,43,.09);
    --mcp-shadow-hover:0 14px 32px rgba(37,40,43,.08),0 36px 82px rgba(37,40,43,.14);

    overflow-x:hidden;
    color:var(--mcp-ink);
    background:
        radial-gradient(circle at 86% 8%,rgba(231,160,135,.11),transparent 24rem),
        var(--mcp-paper);
}

/* Layout Astra: lectura limpia, sin sidebar en artículos */
body.single-post .site-content{
    background:transparent;
}

body.single-post .site-content > .ast-container{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    display:block;
}

body.single-post #primary,
body.single-post .content-area{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

body.single-post #secondary,
body.single-post .widget-area{
    display:none;
}

body.single-post article.ast-article-single,
body.single-post article.post{
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

/* ==========================================================
   CABECERA DE LA ENTRADA — “MADRID CENTRO”
   ========================================================== */

body.single-post .entry-header{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    width:100%;
    max-width:none;
    margin:0;
    padding:
        clamp(64px,8vw,112px)
        max(24px,calc((100vw - 1120px)/2))
        clamp(48px,6vw,82px);

    border-bottom:1px solid var(--mcp-line-soft);

    background:
        radial-gradient(circle at 83% 20%,rgba(199,116,92,.15),transparent 25%),
        radial-gradient(circle at 10% 90%,rgba(156,70,52,.06),transparent 24%),
        linear-gradient(180deg,#FFFDF9 0%,#F8F3EC 100%);
}

/* Retícula urbana / plano de calles */
body.single-post .entry-header::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:0;
    pointer-events:none;

    opacity:.52;

    background-image:
        linear-gradient(rgba(156,70,52,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(156,70,52,.045) 1px,transparent 1px);

    background-size:46px 46px;

    -webkit-mask-image:linear-gradient(90deg,transparent 4%,#000 34%,#000 82%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 4%,#000 34%,#000 82%,transparent 100%);
}

/* Línea abstracta inspirada en un recorrido urbano */
body.single-post .entry-header::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:clamp(28px,8vw,120px);
    bottom:-70px;

    width:220px;
    height:220px;

    border:1px solid rgba(156,70,52,.13);
    border-radius:50%;

    box-shadow:
        0 0 0 38px rgba(156,70,52,.025),
        0 0 0 76px rgba(156,70,52,.018);

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1),
        border-color .35s ease;
}

body.single-post .entry-header:hover::after{
    transform:translateY(-12px) scale(1.06);
    border-color:rgba(156,70,52,.24);
}

/* Categorías y metadatos */
body.single-post .entry-meta,
body.single-post .entry-meta *{
    color:var(--mcp-muted);
}

body.single-post .entry-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 14px;

    max-width:920px;
    margin:0 0 20px;

    font-size:12px;
    font-weight:700;
    line-height:1.5;
}

body.single-post .entry-meta a{
    position:relative;
    color:var(--mcp-terracotta);
    text-decoration:none;
}

body.single-post .entry-meta a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-2px;
    height:1px;
    border-radius:999px;
    background:var(--mcp-terracotta);
    transition:right .2s ease;
}

body.single-post .entry-meta a:hover::after{
    right:0;
}

/* Título */
body.single-post .entry-title,
body.single-post .wp-block-post-title{
    position:relative;
    z-index:2;

    max-width:1000px;
    margin:0;

    color:var(--mcp-ink);

    font-size:clamp(42px,6vw,78px);
    font-weight:850;
    line-height:.99;
    letter-spacing:-.058em;
    text-wrap:balance;

    transition:
        color .25s ease,
        transform .25s cubic-bezier(.2,.8,.2,1);
}

body.single-post .entry-header:hover .entry-title,
body.single-post .entry-header:hover .wp-block-post-title{
    transform:translateY(-2px);
}

/* ==========================================================
   CUERPO DE LA ENTRADA
   ========================================================== */

body.single-post .entry-content,
body.single-post .wp-block-post-content{
    width:min(1180px,calc(100% - clamp(30px,6vw,90px)));
    max-width:1180px;
    margin:0 auto;
    padding:clamp(48px,6vw,78px) 0 clamp(80px,9vw,130px);

    color:var(--mcp-stone);

    font-size:17px;
    line-height:1.82;
}

/* Anchura de lectura: contenido editorial central */
body.single-post .entry-content > p,
body.single-post .entry-content > h2,
body.single-post .entry-content > h3,
body.single-post .entry-content > h4,
body.single-post .entry-content > ul,
body.single-post .entry-content > ol,
body.single-post .entry-content > blockquote,
body.single-post .entry-content > .wp-block-quote,
body.single-post .entry-content > .wp-block-list,
body.single-post .entry-content > .wp-block-buttons,
body.single-post .entry-content > .wp-block-separator,
body.single-post .entry-content > details,
body.single-post .entry-content > .wp-block-details{
    width:min(820px,100%);
    margin-left:auto;
    margin-right:auto;
}

/* Primer párrafo como entradilla editorial */
body.single-post .entry-content > p:first-of-type{
    position:relative;

    margin-top:0;
    margin-bottom:34px;
    padding:22px 24px 22px 28px;

    border:1px solid var(--mcp-line);
    border-left:4px solid var(--mcp-terracotta);
    border-radius:0 18px 18px 0;

    color:#4D4945;
    background:
        linear-gradient(110deg,rgba(248,243,236,.95),rgba(255,253,249,.96));

    box-shadow:0 8px 26px rgba(37,40,43,.045);

    font-size:clamp(18px,2vw,21px);
    line-height:1.75;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.single-post .entry-content > p:first-of-type:hover{
    transform:translateX(4px);
    border-color:rgba(156,70,52,.30);
    box-shadow:0 13px 32px rgba(37,40,43,.07);
}

/* Párrafos */
body.single-post .entry-content p{
    margin-top:0;
    margin-bottom:1.35em;
}

/* ==========================================================
   ENCABEZADOS
   ========================================================== */

body.single-post .entry-content h2{
    position:relative;

    margin-top:clamp(58px,7vw,82px);
    margin-bottom:22px;
    padding-top:19px;

    color:var(--mcp-ink);

    font-size:clamp(30px,4vw,46px);
    font-weight:820;
    line-height:1.06;
    letter-spacing:-.045em;
    text-wrap:balance;
}

body.single-post .entry-content h2::before{
    content:"";
    position:absolute;
    top:0;
    left:0;

    width:48px;
    height:3px;

    border-radius:999px;
    background:linear-gradient(90deg,var(--mcp-terracotta),var(--mcp-terracotta-light));

    transition:width .28s cubic-bezier(.2,.8,.2,1);
}

body.single-post .entry-content h2:hover::before{
    width:96px;
}

body.single-post .entry-content h3{
    position:relative;

    margin-top:42px;
    margin-bottom:15px;
    padding-left:20px;

    color:var(--mcp-ink-2);

    font-size:clamp(22px,2.6vw,28px);
    font-weight:790;
    line-height:1.15;
    letter-spacing:-.035em;
}

body.single-post .entry-content h3::before{
    content:"";
    position:absolute;
    top:.48em;
    left:0;

    width:8px;
    height:8px;

    border-radius:50%;

    background:var(--mcp-terracotta);
    box-shadow:0 0 0 6px rgba(156,70,52,.09);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

body.single-post .entry-content h3:hover::before{
    transform:scale(1.18);
    box-shadow:0 0 0 9px rgba(156,70,52,.08);
}

/* ==========================================================
   ENLACES
   ========================================================== */

body.single-post .entry-content a:not(.wp-block-button__link){
    position:relative;
    color:var(--mcp-terracotta-dark);
    font-weight:700;
    text-decoration:none;

    background:
        linear-gradient(var(--mcp-blush),var(--mcp-blush))
        left calc(100% - 1px)/100% 1px no-repeat;

    transition:
        color .18s ease,
        background-size .22s ease;
}

body.single-post .entry-content a:not(.wp-block-button__link):hover{
    color:var(--mcp-terracotta);
    background-size:100% 6px;
}

/* ==========================================================
   IMÁGENES / GALERÍAS
   ========================================================== */

body.single-post .entry-content > figure,
body.single-post .entry-content > .wp-block-image,
body.single-post .entry-content > .wp-block-gallery{
    width:min(1040px,100%);
    max-width:1040px;
    margin:42px auto;
}

body.single-post .wp-block-image,
body.single-post .wp-block-gallery figure,
body.single-post figure.wp-block-image{
    overflow:hidden;
    border-radius:24px;
}

body.single-post .wp-block-image img,
body.single-post figure img,
body.single-post .wp-block-gallery img{
    display:block;
    width:100%;
    height:auto;

    border-radius:24px;

    box-shadow:0 10px 32px rgba(37,40,43,.09);

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1),
        filter .55s ease,
        box-shadow .35s ease;
}

body.single-post .wp-block-image:hover img,
body.single-post figure:hover img,
body.single-post .wp-block-gallery figure:hover img{
    transform:scale(1.025);
    filter:saturate(1.04) contrast(1.02);
    box-shadow:var(--mcp-shadow);
}

body.single-post figcaption,
body.single-post .wp-element-caption{
    margin-top:10px;
    color:var(--mcp-muted);
    font-size:12px;
    line-height:1.55;
    text-align:center;
}

/* Imagen destacada */
body.single-post .post-thumb,
body.single-post .post-thumb-img-content,
body.single-post .wp-block-post-featured-image{
    width:min(1120px,calc(100% - clamp(30px,6vw,90px)));
    margin:clamp(30px,5vw,52px) auto 0;
    overflow:hidden;
    border-radius:28px;
    box-shadow:var(--mcp-shadow);
}

body.single-post .post-thumb img,
body.single-post .post-thumb-img-content img,
body.single-post .wp-block-post-featured-image img{
    display:block;
    width:100%;
    max-height:650px;
    object-fit:cover;
    transition:
        transform .6s cubic-bezier(.2,.8,.2,1),
        filter .6s ease;
}

body.single-post .post-thumb:hover img,
body.single-post .post-thumb-img-content:hover img,
body.single-post .wp-block-post-featured-image:hover img{
    transform:scale(1.035);
    filter:saturate(1.06) contrast(1.025);
}

/* ==========================================================
   TABLAS — COMPARATIVAS / PRECIOS
   ========================================================== */

body.single-post .entry-content > .wp-block-table,
body.single-post .entry-content > table{
    width:min(980px,100%);
    margin:38px auto;
}

body.single-post .wp-block-table{
    overflow-x:auto;
    border:1px solid var(--mcp-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(37,40,43,.055);
}

body.single-post .wp-block-table table,
body.single-post .entry-content table{
    width:100%;
    margin:0;
    border-collapse:collapse;
    color:#504B47;
    background:#fff;
    font-size:14px;
}

body.single-post .entry-content table th{
    padding:16px 18px;

    border:0;
    border-bottom:1px solid var(--mcp-line);

    color:var(--mcp-ink);
    background:var(--mcp-paper-2);

    font-size:11px;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
}

body.single-post .entry-content table td{
    padding:17px 18px;
    border:0;
    border-bottom:1px solid var(--mcp-line-soft);
    transition:
        color .18s ease,
        background .18s ease,
        transform .18s ease;
}

body.single-post .entry-content table tr:last-child td{
    border-bottom:0;
}

body.single-post .entry-content table tbody tr:hover td{
    color:var(--mcp-ink);
    background:#FBF4EF;
}

body.single-post .entry-content table tbody tr:hover td:first-child{
    box-shadow:inset 3px 0 0 var(--mcp-terracotta);
}

/* ==========================================================
   LISTAS
   ========================================================== */

body.single-post .entry-content ul,
body.single-post .entry-content ol{
    padding-left:0;
    list-style:none;
}

body.single-post .entry-content li{
    position:relative;
    margin:11px 0;
    padding-left:30px;
}

body.single-post .entry-content ul > li::before{
    content:"";
    position:absolute;
    top:.68em;
    left:5px;

    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--mcp-terracotta);
    box-shadow:0 0 0 5px rgba(156,70,52,.08);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

body.single-post .entry-content ul > li:hover::before{
    transform:scale(1.18);
    box-shadow:0 0 0 8px rgba(156,70,52,.07);
}

body.single-post .entry-content ol{
    counter-reset:mcp-counter;
}

body.single-post .entry-content ol > li{
    counter-increment:mcp-counter;
}

body.single-post .entry-content ol > li::before{
    content:counter(mcp-counter);
    position:absolute;
    top:.1em;
    left:0;

    display:grid;
    width:21px;
    height:21px;
    place-items:center;

    border-radius:7px;

    color:var(--mcp-terracotta-dark);
    background:var(--mcp-blush);

    font-size:10px;
    font-weight:850;
}

/* ==========================================================
   CITAS / AVISOS
   ========================================================== */

body.single-post blockquote,
body.single-post .wp-block-quote{
    position:relative;
    overflow:hidden;

    margin-top:38px;
    margin-bottom:38px;
    padding:27px 30px;

    border:1px solid var(--mcp-line);
    border-left:0;
    border-radius:20px;

    color:#494541;
    background:
        radial-gradient(circle at 96% 0%,rgba(231,160,135,.18),transparent 30%),
        var(--mcp-paper-2);

    box-shadow:0 9px 28px rgba(37,40,43,.05);

    font-size:18px;
    line-height:1.65;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.single-post blockquote::before,
body.single-post .wp-block-quote::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:4px;
    background:linear-gradient(var(--mcp-terracotta),var(--mcp-terracotta-light));
}

body.single-post blockquote:hover,
body.single-post .wp-block-quote:hover{
    transform:translateY(-3px);
    border-color:rgba(156,70,52,.24);
    box-shadow:var(--mcp-shadow);
}

/* ==========================================================
   FAQ / DETAILS
   ========================================================== */

body.single-post details,
body.single-post .wp-block-details{
    overflow:hidden;

    margin-top:11px;
    margin-bottom:11px;

    border:1px solid var(--mcp-line);
    border-radius:16px;

    background:#fff;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

body.single-post details:hover,
body.single-post .wp-block-details:hover,
body.single-post details[open],
body.single-post .wp-block-details[open]{
    transform:translateY(-2px);
    border-color:rgba(156,70,52,.25);
    box-shadow:0 11px 28px rgba(37,40,43,.07);
}

body.single-post details summary,
body.single-post .wp-block-details summary{
    position:relative;
    padding:18px 52px 18px 19px;
    cursor:pointer;
    color:var(--mcp-ink);
    font-weight:800;
    list-style:none;
}

body.single-post details summary::-webkit-details-marker,
body.single-post .wp-block-details summary::-webkit-details-marker{
    display:none;
}

body.single-post details summary::after,
body.single-post .wp-block-details summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:19px;
    transform:translateY(-50%);
    color:var(--mcp-terracotta);
    font-size:23px;
    font-weight:500;
    transition:transform .2s ease;
}

body.single-post details[open] summary::after,
body.single-post .wp-block-details[open] summary::after{
    transform:translateY(-50%) rotate(45deg);
}

body.single-post details > *:not(summary),
body.single-post .wp-block-details > *:not(summary){
    padding-left:19px;
    padding-right:19px;
}

/* ==========================================================
   BOTONES
   ========================================================== */

body.single-post .wp-block-button__link{
    position:relative;
    overflow:hidden;

    padding:13px 19px;

    border:1px solid transparent;
    border-radius:13px;

    color:#fff !important;

    background:linear-gradient(180deg,#AE5A45,#9C4634);

    box-shadow:
        0 6px 14px rgba(156,70,52,.13),
        0 16px 32px rgba(156,70,52,.12);

    font-size:13px;
    font-weight:800;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

body.single-post .wp-block-button__link::after{
    content:"";
    position:absolute;
    top:-45px;
    left:-70px;

    width:38px;
    height:150px;

    transform:rotate(27deg);

    background:rgba(255,255,255,.18);

    transition:left .48s ease;
}

body.single-post .wp-block-button__link:hover{
    transform:translateY(-3px);
    box-shadow:
        0 9px 18px rgba(156,70,52,.16),
        0 23px 45px rgba(156,70,52,.17);
}

body.single-post .wp-block-button__link:hover::after{
    left:120%;
}

/* ==========================================================
   SEPARADORES
   ========================================================== */

body.single-post .wp-block-separator{
    width:min(820px,100%);
    height:1px;
    margin-top:55px;
    margin-bottom:55px;

    border:0;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--mcp-line) 16%,
            var(--mcp-terracotta-light) 50%,
            var(--mcp-line) 84%,
            transparent
        );
}

/* ==========================================================
   CATEGORÍAS / ETIQUETAS AL FINAL
   ========================================================== */

body.single-post .cat-links,
body.single-post .tags-links{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;

    margin-top:18px;

    color:var(--mcp-muted);
    font-size:11px;
    font-weight:700;
}

body.single-post .cat-links a,
body.single-post .tags-links a{
    display:inline-flex;
    min-height:32px;
    align-items:center;

    padding:0 11px;

    border:1px solid var(--mcp-line);
    border-radius:999px;

    color:var(--mcp-stone);
    background:#fff;

    text-decoration:none;

    transition:
        transform .18s ease,
        color .18s ease,
        border-color .18s ease,
        background .18s ease;
}

body.single-post .cat-links a:hover,
body.single-post .tags-links a:hover{
    transform:translateY(-2px);
    color:var(--mcp-terracotta);
    border-color:rgba(156,70,52,.24);
    background:var(--mcp-paper-2);
}

/* ==========================================================
   NAVEGACIÓN ENTRE ENTRADAS
   ========================================================== */

body.single-post .post-navigation,
body.single-post .navigation.post-navigation{
    width:min(980px,calc(100% - clamp(30px,6vw,90px)));
    margin:0 auto clamp(70px,8vw,110px);
}

body.single-post .post-navigation .nav-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

body.single-post .post-navigation .nav-previous,
body.single-post .post-navigation .nav-next{
    position:relative;
    overflow:hidden;
    min-height:120px;
    padding:20px;

    border:1px solid var(--mcp-line);
    border-radius:19px;

    background:#fff;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.single-post .post-navigation .nav-previous::after,
body.single-post .post-navigation .nav-next::after{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    top:-120px;
    right:-90px;
    border-radius:50%;
    background:var(--mcp-blush);
    transition:transform .3s ease;
}

body.single-post .post-navigation .nav-previous:hover,
body.single-post .post-navigation .nav-next:hover{
    transform:translateY(-4px);
    border-color:rgba(156,70,52,.23);
    box-shadow:var(--mcp-shadow);
}

body.single-post .post-navigation .nav-previous:hover::after,
body.single-post .post-navigation .nav-next:hover::after{
    transform:scale(1.55);
}

body.single-post .post-navigation a{
    position:relative;
    z-index:2;
    color:var(--mcp-ink);
    font-weight:800;
    text-decoration:none;
}

/* ==========================================================
   SELECCIÓN Y ACCESIBILIDAD
   ========================================================== */

body.single-post ::selection{
    color:#fff;
    background:var(--mcp-terracotta);
}

body.single-post a:focus-visible,
body.single-post button:focus-visible,
body.single-post summary:focus-visible{
    outline:3px solid rgba(156,70,52,.25);
    outline-offset:3px;
    border-radius:8px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:768px){

    body.single-post .entry-header{
        padding:
            58px
            max(20px,calc((100vw - 1120px)/2))
            45px;
    }

    body.single-post .entry-header::after{
        right:-70px;
        bottom:-105px;
    }

    body.single-post .entry-title,
    body.single-post .wp-block-post-title{
        font-size:clamp(38px,11vw,56px);
    }

    body.single-post .entry-content,
    body.single-post .wp-block-post-content{
        width:min(100% - 32px,1180px);
        padding-top:42px;
    }

    body.single-post .entry-content > p:first-of-type{
        padding:19px 19px 19px 22px;
    }

    body.single-post .entry-content h2{
        margin-top:54px;
        font-size:clamp(29px,8vw,38px);
    }

    body.single-post .entry-content h3{
        font-size:23px;
    }

    body.single-post .wp-block-table{
        border-radius:15px;
    }

    body.single-post .entry-content table th,
    body.single-post .entry-content table td{
        min-width:125px;
        padding:14px;
    }

    body.single-post .post-navigation .nav-links{
        grid-template-columns:1fr;
    }

}

@media(max-width:480px){

    body.single-post .entry-header{
        padding-left:18px;
        padding-right:18px;
    }

    body.single-post .entry-content,
    body.single-post .wp-block-post-content{
        width:calc(100% - 26px);
    }

    body.single-post .entry-content{
        font-size:16px;
        line-height:1.76;
    }

    body.single-post .wp-block-image,
    body.single-post figure.wp-block-image{
        border-radius:18px;
    }

    body.single-post .wp-block-image img,
    body.single-post figure img{
        border-radius:18px;
    }

}

@media(prefers-reduced-motion:reduce){

    body.single-post *,
    body.single-post *::before,
    body.single-post *::after{
        animation:none !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }

}

/* ==========================================================
   MADRID CERCA — AJUSTES FINALES DE ENTRADAS
   Autor/fecha · Comentarios · Botón volver arriba
   ========================================================== */

/* ==========================================================
   1. QUITAR AUTOR, FECHA Y METADATOS DE LA CABECERA
   ========================================================== */

body.single-post .entry-header .entry-meta,
body.single-post .entry-header .post-meta,
body.single-post .entry-header .posted-on,
body.single-post .entry-header .byline,
body.single-post .entry-header .author,
body.single-post .entry-header .ast-post-meta,
body.single-post .entry-header .ast-post-format,
body.single-post .entry-header .ast-post-author,
body.single-post .entry-header .ast-post-date,
body.single-post .entry-header [class*="posted-on"],
body.single-post .entry-header [class*="byline"],
body.single-post .entry-header [class*="author"],
body.single-post .entry-header [class*="date"]{
    display:none !important;
}

/* Si Astra deja separadores o huecos al ocultarlos */
body.single-post .entry-header{
    row-gap:0 !important;
}

body.single-post .entry-title,
body.single-post .wp-block-post-title{
    margin-bottom:0 !important;
}


/* ==========================================================
   2. COMENTARIOS — MADRID CERCA
   ========================================================== */

body.single-post .comments-area,
body.single-post #comments{
    --mc-comment-x:50%;
    --mc-comment-y:50%;

    position:relative;
    isolation:isolate;

    width:min(1180px,calc(100% - clamp(30px,6vw,90px)));
    max-width:1180px;

    margin:
        clamp(24px,4vw,48px)
        auto
        clamp(80px,8vw,120px);

    padding:
        clamp(32px,4vw,52px)
        clamp(24px,4vw,52px);

    overflow:hidden;

    border:1px solid #DED3C8;
    border-radius:28px;

    color:#625D58;

    background:
        radial-gradient(
            circle at 88% 4%,
            rgba(231,160,135,.18),
            transparent 25%
        ),
        radial-gradient(
            circle at 2% 100%,
            rgba(156,70,52,.07),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #FFFDF9,
            #F8F3EC
        );

    box-shadow:
        0 8px 24px rgba(37,40,43,.045),
        0 28px 68px rgba(37,40,43,.075);

    transition:
        transform .28s cubic-bezier(.2,.8,.2,1),
        border-color .28s ease,
        box-shadow .28s ease;
}

/* Retícula urbana sutil */
body.single-post .comments-area::before,
body.single-post #comments::before{
    content:"";

    position:absolute;
    z-index:-2;
    inset:0;

    opacity:.35;
    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(156,70,52,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(156,70,52,.04) 1px,
            transparent 1px
        );

    background-size:38px 38px;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 24%,
            #000 90%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 24%,
            #000 90%
        );
}

/* Glow que aparece al pasar el cursor */
body.single-post .comments-area::after,
body.single-post #comments::after{
    content:"";

    position:absolute;
    z-index:-1;
    inset:0;

    opacity:0;
    pointer-events:none;

    background:
        radial-gradient(
            430px circle at var(--mc-comment-x) var(--mc-comment-y),
            rgba(199,116,92,.15),
            transparent 58%
        );

    transition:opacity .24s ease;
}

body.single-post .comments-area:hover,
body.single-post #comments:hover{
    transform:translateY(-3px);

    border-color:rgba(156,70,52,.24);

    box-shadow:
        0 12px 30px rgba(37,40,43,.06),
        0 36px 82px rgba(37,40,43,.105);
}

body.single-post .comments-area:hover::after,
body.single-post #comments:hover::after{
    opacity:1;
}


/* Título "Deja un comentario" */

body.single-post .comments-title,
body.single-post .comment-reply-title,
body.single-post #reply-title{
    position:relative;

    margin:
        0
        0
        24px;

    padding-top:18px;

    color:#25282B !important;

    font-size:clamp(27px,3.3vw,38px);
    font-weight:830;
    line-height:1.05;
    letter-spacing:-.045em;
}

body.single-post .comments-title::before,
body.single-post .comment-reply-title::before,
body.single-post #reply-title::before{
    content:"";

    position:absolute;
    top:0;
    left:0;

    width:48px;
    height:3px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #9C4634,
            #E7A087
        );

    transition:
        width .28s cubic-bezier(.2,.8,.2,1);
}

body.single-post .comments-area:hover .comments-title::before,
body.single-post .comments-area:hover .comment-reply-title::before,
body.single-post #comments:hover #reply-title::before{
    width:92px;
}


/* Ocultar "Conectado como Teresa..." y enlaces de perfil/salir */

body.single-post .comments-area .logged-in-as,
body.single-post #comments .logged-in-as,
body.single-post .comment-form .logged-in-as{
    display:none !important;
}


/* Texto auxiliar */

body.single-post .comment-notes{
    margin:0 0 20px;

    color:#817A74;

    font-size:13px;
    line-height:1.6;
}


/* Labels */

body.single-post .comment-form label{
    display:block;

    margin-bottom:7px;

    color:#57524E;

    font-size:10px;
    font-weight:850;
    letter-spacing:.075em;
    text-transform:uppercase;
}


/* Inputs + textarea */

body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"],
body.single-post .comment-form textarea{
    width:100%;

    border:1px solid #DED3C8 !important;
    border-radius:15px !important;

    outline:0 !important;

    color:#34312E !important;

    background:
        rgba(255,255,255,.88) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.75),
        0 4px 14px rgba(37,40,43,.025);

    font-family:inherit;
    font-size:15px;
    line-height:1.6;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"]{
    min-height:52px;
    padding:0 16px;
}

body.single-post .comment-form textarea{
    min-height:230px;
    padding:18px 19px;
    resize:vertical;
}

body.single-post .comment-form textarea::placeholder,
body.single-post .comment-form input::placeholder{
    color:#A39B94;
    opacity:1;
}

body.single-post .comment-form input[type="text"]:hover,
body.single-post .comment-form input[type="email"]:hover,
body.single-post .comment-form input[type="url"]:hover,
body.single-post .comment-form textarea:hover{
    border-color:rgba(156,70,52,.24) !important;
    background:#fff !important;
}

body.single-post .comment-form input[type="text"]:focus,
body.single-post .comment-form input[type="email"]:focus,
body.single-post .comment-form input[type="url"]:focus,
body.single-post .comment-form textarea:focus{
    transform:translateY(-1px);

    border-color:rgba(156,70,52,.52) !important;

    background:#fff !important;

    box-shadow:
        0 0 0 4px rgba(156,70,52,.075),
        0 12px 28px rgba(37,40,43,.055) !important;
}


/* Espaciado de campos */

body.single-post .comment-form p{
    margin:0 0 17px;
}

body.single-post .comment-form-comment{
    margin-bottom:22px !important;
}


/* Checkbox cookies, si aparece */

body.single-post .comment-form-cookies-consent{
    display:flex;
    align-items:flex-start;
    gap:9px;

    color:#817A74;

    font-size:12px;
    line-height:1.55;
}

body.single-post .comment-form-cookies-consent input{
    accent-color:#9C4634;
    margin-top:4px;
}


/* Botón publicar */

body.single-post .comment-form .form-submit{
    margin-top:24px;
    margin-bottom:0;
}

body.single-post .comment-form input[type="submit"],
body.single-post .comment-form button[type="submit"],
body.single-post #submit{
    position:relative;

    min-height:54px;

    overflow:hidden;

    border:1px solid transparent !important;
    border-radius:13px !important;

    padding:0 24px !important;

    cursor:pointer;

    color:#fff !important;

    background:
        linear-gradient(
            180deg,
            #AE5A45,
            #9C4634
        ) !important;

    box-shadow:
        0 6px 14px rgba(156,70,52,.14),
        0 17px 34px rgba(156,70,52,.14) !important;

    font-family:inherit;
    font-size:14px;
    font-weight:820;

    transition:
        transform .2s cubic-bezier(.2,.8,.2,1),
        box-shadow .2s ease,
        filter .2s ease !important;
}

body.single-post .comment-form input[type="submit"]:hover,
body.single-post .comment-form button[type="submit"]:hover,
body.single-post #submit:hover{
    transform:translateY(-3px);

    filter:saturate(1.08);

    box-shadow:
        0 9px 18px rgba(156,70,52,.18),
        0 25px 46px rgba(156,70,52,.20) !important;
}

body.single-post .comment-form input[type="submit"]:active,
body.single-post .comment-form button[type="submit"]:active,
body.single-post #submit:active{
    transform:translateY(-1px) scale(.985);
}


/* Comentarios ya publicados */

body.single-post .comment-list{
    margin:0 0 38px;
    padding:0;
    list-style:none;
}

body.single-post .comment-list .comment{
    margin:12px 0;
    padding:19px;

    border:1px solid #DED3C8;
    border-radius:17px;

    background:rgba(255,255,255,.78);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

body.single-post .comment-list .comment:hover{
    transform:translateY(-2px);

    border-color:rgba(156,70,52,.22);

    box-shadow:
        0 10px 28px rgba(37,40,43,.06);
}

body.single-post .comment-author,
body.single-post .comment-metadata{
    color:#625D58;
}

body.single-post .comment-author a,
body.single-post .comment-metadata a,
body.single-post .comment-reply-link{
    color:#9C4634 !important;
    text-decoration:none;
}


/* ==========================================================
   3. FLECHA VOLVER ARRIBA — ASTRA
   ========================================================== */

body.single-post #ast-scroll-top,
body.single-post .ast-scroll-to-top,
body.single-post .ast-scroll-to-top-right,
body.single-post [class*="scroll-to-top"]{
    position:fixed;

    width:48px !important;
    height:48px !important;

    right:24px !important;
    bottom:24px !important;

    display:grid !important;
    place-items:center !important;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:14px !important;

    color:#fff !important;

    background:
        linear-gradient(
            145deg,
            #AE5A45,
            #7F3528
        ) !important;

    box-shadow:
        0 7px 16px rgba(156,70,52,.20),
        0 18px 38px rgba(37,40,43,.15) !important;

    transition:
        transform .22s cubic-bezier(.2,.8,.2,1),
        box-shadow .22s ease,
        background .22s ease,
        border-radius .22s ease !important;
}

body.single-post #ast-scroll-top::before,
body.single-post .ast-scroll-to-top::before,
body.single-post .ast-scroll-to-top-right::before,
body.single-post [class*="scroll-to-top"]::before{
    content:"";

    position:absolute;

    width:80px;
    height:80px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.18),
            transparent 64%
        );

    opacity:0;
    transform:scale(.55);

    transition:
        opacity .22s ease,
        transform .3s ease;
}

body.single-post #ast-scroll-top:hover,
body.single-post .ast-scroll-to-top:hover,
body.single-post .ast-scroll-to-top-right:hover,
body.single-post [class*="scroll-to-top"]:hover{
    transform:
        translateY(-5px)
        scale(1.04);

    border-radius:16px !important;

    background:
        linear-gradient(
            145deg,
            #C7745C,
            #9C4634
        ) !important;

    box-shadow:
        0 10px 22px rgba(156,70,52,.24),
        0 25px 48px rgba(37,40,43,.18) !important;
}

body.single-post #ast-scroll-top:hover::before,
body.single-post .ast-scroll-to-top:hover::before,
body.single-post .ast-scroll-to-top-right:hover::before,
body.single-post [class*="scroll-to-top"]:hover::before{
    opacity:1;
    transform:scale(1);
}

body.single-post #ast-scroll-top svg,
body.single-post #ast-scroll-top .ast-icon,
body.single-post .ast-scroll-to-top svg,
body.single-post .ast-scroll-to-top-right svg,
body.single-post [class*="scroll-to-top"] svg{
    position:relative;
    z-index:2;

    width:19px;
    height:19px;

    color:#fff !important;
    fill:currentColor;

    transition:
        transform .22s ease;
}

body.single-post #ast-scroll-top:hover svg,
body.single-post #ast-scroll-top:hover .ast-icon,
body.single-post .ast-scroll-to-top:hover svg,
body.single-post .ast-scroll-to-top-right:hover svg,
body.single-post [class*="scroll-to-top"]:hover svg{
    transform:translateY(-3px);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:768px){

    body.single-post .comments-area,
    body.single-post #comments{
        width:calc(100% - 28px);

        padding:
            28px
            20px;

        border-radius:22px;
    }

    body.single-post .comment-form textarea{
        min-height:190px;
    }

    body.single-post #ast-scroll-top,
    body.single-post .ast-scroll-to-top,
    body.single-post .ast-scroll-to-top-right,
    body.single-post [class*="scroll-to-top"]{
        right:15px !important;
        bottom:15px !important;

        width:44px !important;
        height:44px !important;

        border-radius:13px !important;
    }

}


/* Movimiento accesible */

@media(prefers-reduced-motion:reduce){

    body.single-post .comments-area,
    body.single-post #comments,
    body.single-post .comment-form *,
    body.single-post #ast-scroll-top,
    body.single-post .ast-scroll-to-top,
    body.single-post .ast-scroll-to-top-right,
    body.single-post [class*="scroll-to-top"]{
        animation:none !important;
        transition-duration:.01ms !important;
    }

}

/* ==========================================================
   MADRID CERCA — SISTEMA GLOBAL + ARCHIVOS DE CATEGORÍA
   2026-08 · Flecha global · Categorías · Solo fecha
   Este bloque está pensado para ir AL FINAL del CSS.
   ========================================================== */

/* ==========================================================
   1. TOKENS GLOBALES DE MARCA
   ========================================================== */

:root{
    --mc-global-ink:#25282B;
    --mc-global-ink-2:#34312E;
    --mc-global-accent:#9C4634;
    --mc-global-accent-dark:#7F3528;
    --mc-global-accent-mid:#AE5A45;
    --mc-global-accent-light:#E7A087;
    --mc-global-paper:#FFFDF9;
    --mc-global-soft:#F8F3EC;
    --mc-global-blush:#F3E2DA;
    --mc-global-line:#DED3C8;
    --mc-global-muted:#817A74;
}


/* ==========================================================
   2. FLECHA "VOLVER ARRIBA" — TODA LA WEB
   Sobrescribe el azul de Astra en páginas, entradas,
   categorías, archivos y resto del sitio.
   ========================================================== */

#ast-scroll-top,
.ast-scroll-to-top,
.ast-scroll-to-top-right,
[class*="scroll-to-top"]{
    position:fixed;

    width:48px !important;
    height:48px !important;

    right:24px !important;
    bottom:24px !important;

    display:grid !important;
    place-items:center !important;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:14px !important;

    color:#FFFDF9 !important;

    background:
        linear-gradient(
            145deg,
            var(--mc-global-accent-mid),
            var(--mc-global-accent-dark)
        ) !important;

    box-shadow:
        0 7px 16px rgba(156,70,52,.20),
        0 18px 38px rgba(37,40,43,.15) !important;

    transition:
        transform .22s cubic-bezier(.2,.8,.2,1),
        box-shadow .22s ease,
        background .22s ease,
        border-radius .22s ease !important;
}

/* Halo de marca */
#ast-scroll-top::before,
.ast-scroll-to-top::before,
.ast-scroll-to-top-right::before,
[class*="scroll-to-top"]::before{
    content:"";

    position:absolute;

    width:82px;
    height:82px;

    border-radius:50%;

    opacity:0;
    transform:scale(.55);

    pointer-events:none;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.20),
            transparent 64%
        );

    transition:
        opacity .22s ease,
        transform .3s ease;
}

#ast-scroll-top:hover,
.ast-scroll-to-top:hover,
.ast-scroll-to-top-right:hover,
[class*="scroll-to-top"]:hover{
    transform:
        translateY(-5px)
        scale(1.045);

    border-radius:16px !important;

    background:
        linear-gradient(
            145deg,
            #C7745C,
            var(--mc-global-accent)
        ) !important;

    box-shadow:
        0 10px 22px rgba(156,70,52,.25),
        0 25px 48px rgba(37,40,43,.18) !important;
}

#ast-scroll-top:hover::before,
.ast-scroll-to-top:hover::before,
.ast-scroll-to-top-right:hover::before,
[class*="scroll-to-top"]:hover::before{
    opacity:1;
    transform:scale(1);
}

#ast-scroll-top svg,
#ast-scroll-top .ast-icon,
.ast-scroll-to-top svg,
.ast-scroll-to-top .ast-icon,
.ast-scroll-to-top-right svg,
.ast-scroll-to-top-right .ast-icon,
[class*="scroll-to-top"] svg,
[class*="scroll-to-top"] .ast-icon{
    position:relative;
    z-index:2;

    color:#FFFDF9 !important;
    fill:currentColor !important;

    transition:
        transform .22s ease !important;
}

#ast-scroll-top:hover svg,
#ast-scroll-top:hover .ast-icon,
.ast-scroll-to-top:hover svg,
.ast-scroll-to-top:hover .ast-icon,
.ast-scroll-to-top-right:hover svg,
.ast-scroll-to-top-right:hover .ast-icon,
[class*="scroll-to-top"]:hover svg,
[class*="scroll-to-top"]:hover .ast-icon{
    transform:translateY(-3px);
}


/* ==========================================================
   3. PÁGINAS DE CATEGORÍA — BASE MADRID CERCA
   Aplicado a Gastronomía, Eventos, Guías, Noticias, etc.
   ========================================================== */

body.category{
    overflow-x:hidden;

    color:var(--mc-global-ink);

    background:
        radial-gradient(
            circle at 88% 4%,
            rgba(231,160,135,.11),
            transparent 28rem
        ),
        var(--mc-global-soft) !important;
}

body.category .site-content{
    padding:
        clamp(38px,5vw,72px)
        0
        clamp(80px,8vw,120px);

    background:
        linear-gradient(
            180deg,
            #FFFDF9 0,
            #F8F3EC 330px,
            #F8F3EC 100%
        ) !important;
}

body.category .site-content > .ast-container{
    display:block !important;

    width:min(
        1320px,
        calc(100% - clamp(28px,5vw,84px))
    ) !important;

    max-width:1320px !important;

    margin:0 auto !important;
    padding:0 !important;
}

/* Categorías sin sidebar: el contenido respira y se centra */
body.category #primary,
body.category .content-area{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;
}

body.category #secondary,
body.category .widget-area{
    display:none !important;
}


/* ==========================================================
   4. CABECERA DE CATEGORÍA
   ========================================================== */

body.category .ast-archive-description,
body.category .archive-description,
body.category .page-header{
    position:relative;
    isolation:isolate;

    overflow:hidden;

    margin:
        0
        0
        clamp(30px,4vw,46px) !important;

    padding:
        clamp(34px,5vw,62px)
        clamp(26px,5vw,58px) !important;

    border:1px solid var(--mc-global-line) !important;
    border-radius:28px;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(231,160,135,.20),
            transparent 27%
        ),
        radial-gradient(
            circle at 5% 90%,
            rgba(156,70,52,.07),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #FFFDF9,
            #F8F3EC
        ) !important;

    box-shadow:
        0 7px 22px rgba(37,40,43,.04),
        0 28px 64px rgba(37,40,43,.07);

    transition:
        transform .28s cubic-bezier(.2,.8,.2,1),
        border-color .28s ease,
        box-shadow .28s ease;
}

/* Retícula urbana sutil */
body.category .ast-archive-description::before,
body.category .archive-description::before,
body.category .page-header::before{
    content:"";

    position:absolute;
    z-index:-2;
    inset:0;

    opacity:.47;

    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(156,70,52,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(156,70,52,.04) 1px,
            transparent 1px
        );

    background-size:42px 42px;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 28%,
            #000 92%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 28%,
            #000 92%
        );
}

/* Círculo abstracto de fondo */
body.category .ast-archive-description::after,
body.category .archive-description::after,
body.category .page-header::after{
    content:"";

    position:absolute;
    z-index:-1;

    width:235px;
    height:235px;

    right:-45px;
    bottom:-125px;

    border:1px solid rgba(156,70,52,.13);
    border-radius:50%;

    box-shadow:
        0 0 0 38px rgba(156,70,52,.025),
        0 0 0 76px rgba(156,70,52,.016);

    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease;
}

body.category .ast-archive-description:hover,
body.category .archive-description:hover,
body.category .page-header:hover{
    transform:translateY(-2px);

    border-color:rgba(156,70,52,.22) !important;

    box-shadow:
        0 11px 28px rgba(37,40,43,.055),
        0 35px 78px rgba(37,40,43,.09);
}

body.category .ast-archive-description:hover::after,
body.category .archive-description:hover::after,
body.category .page-header:hover::after{
    transform:translate(-8px,-10px) scale(1.06);
    border-color:rgba(156,70,52,.24);
}


/* Título de categoría */
body.category .ast-archive-title,
body.category .page-title,
body.category .archive-title{
    position:relative;

    margin:0 !important;
    padding-top:18px;

    color:var(--mc-global-ink) !important;

    font-size:clamp(38px,5.7vw,70px) !important;
    font-weight:850 !important;
    line-height:.98 !important;
    letter-spacing:-.055em !important;
    text-wrap:balance;
}

body.category .ast-archive-title::before,
body.category .page-title::before,
body.category .archive-title::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:50px;
    height:3px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--mc-global-accent),
            var(--mc-global-accent-light)
        );

    transition:
        width .3s cubic-bezier(.2,.8,.2,1);
}

body.category .ast-archive-description:hover .ast-archive-title::before,
body.category .archive-description:hover .archive-title::before,
body.category .page-header:hover .page-title::before{
    width:100px;
}

/* Descripción de la categoría */
body.category .ast-archive-description p,
body.category .archive-description p,
body.category .page-header p{
    max-width:780px;

    margin:18px 0 0 !important;

    color:#625D58 !important;

    font-size:clamp(15px,1.7vw,18px);
    line-height:1.72;
}


/* ==========================================================
   5. GRID DE ARTÍCULOS EN CATEGORÍAS
   ========================================================== */

/* Astra puede poner los artículos directamente en site-main
   o dentro de .ast-row según configuración. */
body.category .site-main:not(:has(> .ast-row)){
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:22px;
}

body.category .site-main > .ast-row{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:22px;
}

/* La cabecera y paginación siempre ocupan todo el ancho */
body.category .site-main > .ast-archive-description,
body.category .site-main > .archive-description,
body.category .site-main > .page-header,
body.category .site-main > .ast-pagination,
body.category .site-main > .navigation,
body.category .site-main > nav{
    grid-column:1 / -1;
}


/* ==========================================================
   6. TARJETAS DE ARTÍCULO
   ========================================================== */

body.category article.ast-article-post,
body.category article.post{
    position:relative;
    isolation:isolate;

    min-width:0;

    overflow:hidden;

    margin:0 !important;
    padding:0 !important;

    border:1px solid var(--mc-global-line) !important;
    border-radius:23px !important;

    color:#625D58;

    background:#FFFDF9 !important;

    box-shadow:
        0 5px 16px rgba(37,40,43,.045),
        0 20px 52px rgba(37,40,43,.07) !important;

    transition:
        transform .28s cubic-bezier(.2,.8,.2,1),
        border-color .28s ease,
        box-shadow .28s ease;
}

body.category article.ast-article-post::after,
body.category article.post::after{
    content:"";

    position:absolute;
    z-index:-1;
    inset:0;

    opacity:0;
    pointer-events:none;

    background:
        radial-gradient(
            360px circle at 82% 20%,
            rgba(199,116,92,.12),
            transparent 58%
        );

    transition:opacity .25s ease;
}

body.category article.ast-article-post:hover,
body.category article.post:hover{
    transform:translateY(-7px);

    border-color:rgba(156,70,52,.26) !important;

    box-shadow:
        0 12px 28px rgba(37,40,43,.075),
        0 34px 76px rgba(37,40,43,.13) !important;
}

body.category article.ast-article-post:hover::after,
body.category article.post:hover::after{
    opacity:1;
}


/* Imagen destacada */
body.category article .post-thumb,
body.category article .post-thumb-img-content,
body.category article .wp-block-post-featured-image{
    margin:0 !important;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #F3E2DA,
            #F8F3EC
        );
}

body.category article .post-thumb a,
body.category article .post-thumb-img-content a,
body.category article .wp-block-post-featured-image a{
    display:block;
}

body.category article .post-thumb img,
body.category article .post-thumb-img-content img,
body.category article .wp-block-post-featured-image img{
    display:block;

    width:100%;
    height:auto;

    aspect-ratio:16 / 10;
    object-fit:cover;

    transition:
        transform .68s cubic-bezier(.2,.8,.2,1),
        filter .5s ease;
}

body.category article:hover .post-thumb img,
body.category article:hover .post-thumb-img-content img,
body.category article:hover .wp-block-post-featured-image img{
    transform:scale(1.06);
    filter:saturate(1.06) contrast(1.025);
}


/* Cabecera y cuerpo dentro de la tarjeta */
body.category article .entry-header{
    margin:0 !important;
    padding:
        21px
        22px
        0 !important;
}

body.category article .entry-content,
body.category article .post-content,
body.category article .entry-summary{
    margin:0 !important;

    padding:
        15px
        22px
        23px !important;
}


/* Categoría / términos */
body.category article .cat-links,
body.category article .entry-category,
body.category article .ast-taxonomy-container{
    color:var(--mc-global-accent-dark) !important;

    font-size:11px;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}

body.category article .cat-links a,
body.category article .entry-category a,
body.category article .ast-taxonomy-container a{
    color:var(--mc-global-accent-dark) !important;

    text-decoration:none;

    transition:color .18s ease;
}

body.category article .cat-links a:hover,
body.category article .entry-category a:hover,
body.category article .ast-taxonomy-container a:hover{
    color:var(--mc-global-accent-mid) !important;
}


/* Título del artículo */
body.category article .entry-title{
    margin:
        0
        0
        12px !important;

    color:var(--mc-global-ink) !important;

    font-size:clamp(23px,2vw,30px) !important;
    font-weight:790 !important;
    line-height:1.12 !important;
    letter-spacing:-.036em !important;
}

body.category article .entry-title a{
    position:relative;

    color:var(--mc-global-ink) !important;

    text-decoration:none !important;

    transition:color .2s ease;
}

body.category article .entry-title a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-5px;

    width:0;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--mc-global-accent),
            var(--mc-global-accent-light)
        );

    transition:width .28s ease;
}

body.category article:hover .entry-title a::after{
    width:48px;
}

body.category article .entry-title a:hover{
    color:var(--mc-global-accent-dark) !important;
}


/* Extracto */
body.category article .entry-content p,
body.category article .entry-summary p{
    color:#625D58 !important;

    font-size:15px;
    line-height:1.68;
}


/* "Leer más" / "Seguir leyendo" */
body.category article .read-more,
body.category article .read-more a,
body.category article .ast-excerpt-container + p a,
body.category article .entry-content .more-link{
    color:var(--mc-global-accent-dark) !important;

    font-size:13px;
    font-weight:850;

    text-decoration:none !important;
}

body.category article .read-more a,
body.category article .entry-content .more-link{
    display:inline-flex;
    align-items:center;
    gap:7px;

    transition:
        transform .18s ease,
        color .18s ease;
}

body.category article .read-more a:hover,
body.category article .entry-content .more-link:hover{
    transform:translateX(4px);
    color:var(--mc-global-accent-mid) !important;
}


/* ==========================================================
   7. AUTOR FUERA · FECHA DENTRO
   En listados de categoría dejamos únicamente la fecha.
   font-size:0 elimina también la "/" textual de Astra.
   ========================================================== */

body.category article .entry-meta{
    display:flex !important;
    align-items:center;
    flex-wrap:wrap;

    gap:0 !important;

    margin:
        13px
        0
        0 !important;

    color:var(--mc-global-muted) !important;

    font-size:0 !important;
    line-height:1.5;
}

/* Ocultar todas las variantes habituales del autor en Astra */
body.category article .entry-meta .posted-by,
body.category article .entry-meta .byline,
body.category article .entry-meta .author,
body.category article .entry-meta .vcard,
body.category article .entry-meta .ast-post-author,
body.category article .entry-meta .ast-author-meta,
body.category article .entry-meta [class*="posted-by"],
body.category article .entry-meta [class*="byline"],
body.category article .entry-meta [class*="author"]{
    display:none !important;
}

/* Mostrar solo fecha */
body.category article .entry-meta .posted-on,
body.category article .entry-meta .published,
body.category article .entry-meta .updated,
body.category article .entry-meta time,
body.category article .entry-meta .ast-post-date{
    display:inline-flex !important;
    align-items:center;

    color:var(--mc-global-muted) !important;

    font-size:12px !important;
    font-weight:700;
    line-height:1.45;
}

/* Punto terracota antes de la fecha */
body.category article .entry-meta::before{
    content:"";

    display:inline-block;

    width:7px;
    height:7px;

    margin-right:10px;

    border-radius:50%;

    background:var(--mc-global-accent);

    box-shadow:
        0 0 0 5px
        rgba(156,70,52,.08);
}

/* En caso de que la fecha sea un enlace */
body.category article .entry-meta .posted-on a,
body.category article .entry-meta time a{
    color:inherit !important;
    font-size:inherit !important;
    text-decoration:none !important;
}


/* ==========================================================
   8. UNA SOLA ENTRADA
   Evita una tarjeta pequeña perdida a la izquierda.
   ========================================================== */

body.category .site-main:not(:has(> .ast-row))
    > article.ast-article-post:only-of-type,
body.category .site-main:not(:has(> .ast-row))
    > article.post:only-of-type,
body.category .site-main > .ast-row
    > article.ast-article-post:only-of-type,
body.category .site-main > .ast-row
    > article.post:only-of-type{
    grid-column:1 / -1;

    width:min(100%,900px);

    justify-self:center;
}


/* ==========================================================
   9. PAGINACIÓN DE CATEGORÍAS
   ========================================================== */

body.category .ast-pagination,
body.category .navigation.pagination,
body.category .posts-navigation{
    margin-top:34px !important;
}

body.category .ast-pagination .page-numbers,
body.category .navigation.pagination .page-numbers,
body.category .posts-navigation a{
    display:inline-grid;

    min-width:42px;
    min-height:42px;

    place-items:center;

    margin:3px;

    padding:8px 12px;

    border:1px solid var(--mc-global-line);
    border-radius:11px;

    color:var(--mc-global-ink) !important;

    background:#FFFDF9;

    font-weight:800;
    text-decoration:none !important;

    transition:
        transform .18s ease,
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

body.category .ast-pagination .page-numbers:hover,
body.category .ast-pagination .page-numbers.current,
body.category .navigation.pagination .page-numbers:hover,
body.category .navigation.pagination .page-numbers.current,
body.category .posts-navigation a:hover{
    transform:translateY(-2px);

    color:#FFFDF9 !important;

    border-color:var(--mc-global-accent);

    background:var(--mc-global-accent);

    box-shadow:
        0 8px 18px
        rgba(156,70,52,.16);
}


/* ==========================================================
   10. AUTOR FUERA EN OTROS LISTADOS DEL SITIO
   Conserva la fecha siempre que la plantilla la muestre.
   No modifica los bloques Gutenberg personalizados del blog.
   ========================================================== */

body.archive:not(.category) article .entry-meta,
body.search article .entry-meta,
body.blog article .entry-meta{
    font-size:0 !important;
}

body.archive:not(.category) article .entry-meta .posted-by,
body.archive:not(.category) article .entry-meta .byline,
body.archive:not(.category) article .entry-meta .author,
body.archive:not(.category) article .entry-meta .vcard,
body.search article .entry-meta .posted-by,
body.search article .entry-meta .byline,
body.search article .entry-meta .author,
body.search article .entry-meta .vcard,
body.blog article .entry-meta .posted-by,
body.blog article .entry-meta .byline,
body.blog article .entry-meta .author,
body.blog article .entry-meta .vcard{
    display:none !important;
}

body.archive:not(.category) article .entry-meta .posted-on,
body.archive:not(.category) article .entry-meta time,
body.search article .entry-meta .posted-on,
body.search article .entry-meta time,
body.blog article .entry-meta .posted-on,
body.blog article .entry-meta time{
    display:inline-flex !important;

    color:var(--mc-global-muted) !important;

    font-size:12px !important;
    font-weight:700;
}


/* ==========================================================
   11. RESPONSIVE
   ========================================================== */

@media(max-width:980px){

    body.category .site-main:not(:has(> .ast-row)),
    body.category .site-main > .ast-row{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media(max-width:680px){

    #ast-scroll-top,
    .ast-scroll-to-top,
    .ast-scroll-to-top-right,
    [class*="scroll-to-top"]{
        width:44px !important;
        height:44px !important;

        right:15px !important;
        bottom:15px !important;

        border-radius:13px !important;
    }

    body.category .site-content{
        padding-top:26px;
    }

    body.category .site-content > .ast-container{
        width:calc(100% - 26px) !important;
    }

    body.category .ast-archive-description,
    body.category .archive-description,
    body.category .page-header{
        padding:
            28px
            22px !important;

        border-radius:22px;
    }

    body.category .ast-archive-title,
    body.category .page-title,
    body.category .archive-title{
        font-size:clamp(34px,11vw,50px) !important;
    }

    body.category .site-main:not(:has(> .ast-row)),
    body.category .site-main > .ast-row{
        grid-template-columns:1fr;
    }

    body.category article.ast-article-post,
    body.category article.post{
        border-radius:19px !important;
    }

}


/* ==========================================================
   12. ACCESIBILIDAD DE MOVIMIENTO
   ========================================================== */

@media(prefers-reduced-motion:reduce){

    #ast-scroll-top,
    .ast-scroll-to-top,
    .ast-scroll-to-top-right,
    [class*="scroll-to-top"],
    body.category *,
    body.category *::before,
    body.category *::after{
        animation:none !important;
        transition-duration:.01ms !important;
    }

}

/* ==========================================================
   MADRID CERCA — ARCHIVOS DE CATEGORÍA V4
   Capa visual robusta para Astra
   Escritorio · Tablet · Móvil
   ========================================================== */

/* ----------------------------------------------------------
   BASE DE LA PÁGINA
   ---------------------------------------------------------- */

body.category,
body.category.ast-separate-container{
    --mcc-ink:#25282B;
    --mcc-ink-2:#34312E;
    --mcc-terracotta:#9C4634;
    --mcc-terracotta-dark:#7F3528;
    --mcc-terracotta-mid:#AE5A45;
    --mcc-terracotta-light:#E7A087;
    --mcc-paper:#FFFDF9;
    --mcc-paper-2:#F8F3EC;
    --mcc-blush:#F3E2DA;
    --mcc-line:#DED3C8;
    --mcc-line-soft:#F1E8DE;
    --mcc-muted:#817A74;

    overflow-x:hidden !important;

    color:var(--mcc-ink) !important;

    background:
        radial-gradient(
            circle at 91% 2%,
            rgba(231,160,135,.14),
            transparent 28rem
        ),
        radial-gradient(
            circle at 4% 45%,
            rgba(156,70,52,.045),
            transparent 28rem
        ),
        #F8F3EC !important;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
}


/* Quita el fondo azul/gris genérico de Astra */
body.category .site-content,
body.category.ast-separate-container .site-content,
body.category .ast-container,
body.category .content-area,
body.category #primary,
body.category .site-main{
    background:transparent !important;
}


/* Contenedor maestro */
body.category .site-content{
    position:relative;

    padding:
        clamp(38px,5vw,74px)
        0
        clamp(82px,8vw,128px) !important;
}

body.category .site-content::before{
    content:"";

    position:absolute;
    inset:0;
    z-index:-1;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            #FFFDF9 0,
            #FFFDF9 250px,
            #F8F3EC 520px,
            #F8F3EC 100%
        );
}


/* Astra: anulamos ancho viejo y sidebar */
body.category .site-content > .ast-container,
body.category.ast-separate-container .site-content > .ast-container{
    display:block !important;

    width:min(
        1320px,
        calc(100% - clamp(30px,5vw,84px))
    ) !important;

    max-width:1320px !important;

    margin:0 auto !important;
    padding:0 !important;
}

body.category #primary,
body.category .content-area,
body.category.ast-separate-container #primary{
    width:100% !important;
    max-width:none !important;

    float:none !important;

    margin:0 !important;
    padding:0 !important;
}

body.category #secondary,
body.category .widget-area,
body.category .sidebar-main{
    display:none !important;
}


/* ----------------------------------------------------------
   CABECERA / HERO DE CATEGORÍA
   ---------------------------------------------------------- */

body.category .ast-archive-description,
body.category .archive-description,
body.category .page-header{
    position:relative;
    isolation:isolate;

    width:100% !important;
    max-width:none !important;

    overflow:hidden;

    margin:
        0
        0
        clamp(32px,4vw,52px) !important;

    padding:
        clamp(38px,5.4vw,72px)
        clamp(28px,5.2vw,66px) !important;

    border:1px solid var(--mcc-line) !important;
    border-radius:30px !important;

    background:
        radial-gradient(
            circle at 89% 15%,
            rgba(231,160,135,.22),
            transparent 27%
        ),
        radial-gradient(
            circle at 10% 90%,
            rgba(156,70,52,.065),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #FFFDF9,
            #F8F3EC
        ) !important;

    box-shadow:
        0 8px 24px rgba(37,40,43,.045),
        0 30px 70px rgba(37,40,43,.075) !important;

    transition:
        transform .28s cubic-bezier(.2,.8,.2,1),
        border-color .28s ease,
        box-shadow .28s ease;
}


/* Retícula sutil, misma familia visual de Madrid Cerca */
body.category .ast-archive-description::before,
body.category .archive-description::before,
body.category .page-header::before{
    content:"";

    position:absolute;
    z-index:-2;
    inset:0;

    opacity:.46;

    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(156,70,52,.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(156,70,52,.045) 1px,
            transparent 1px
        );

    background-size:44px 44px;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 27%,
            #000 93%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000 27%,
            #000 93%
        );
}


/* Orb decorativo */
body.category .ast-archive-description::after,
body.category .archive-description::after,
body.category .page-header::after{
    content:"";

    position:absolute;
    z-index:-1;

    right:-52px;
    bottom:-135px;

    width:250px;
    height:250px;

    border:1px solid rgba(156,70,52,.15);
    border-radius:50%;

    box-shadow:
        0 0 0 40px rgba(156,70,52,.025),
        0 0 0 82px rgba(156,70,52,.017);

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease;
}

body.category .ast-archive-description:hover,
body.category .archive-description:hover,
body.category .page-header:hover{
    transform:translateY(-3px);

    border-color:rgba(156,70,52,.24) !important;

    box-shadow:
        0 12px 30px rgba(37,40,43,.055),
        0 38px 84px rgba(37,40,43,.10) !important;
}

body.category .ast-archive-description:hover::after,
body.category .archive-description:hover::after,
body.category .page-header:hover::after{
    transform:translate(-10px,-12px) scale(1.06);
    border-color:rgba(156,70,52,.27);
}


/* Título */
body.category .ast-archive-title,
body.category .archive-title,
body.category .page-title{
    position:relative;

    margin:0 !important;
    padding:
        24px
        0
        0 !important;

    color:var(--mcc-ink) !important;

    font-size:
        clamp(42px,6vw,76px) !important;

    font-weight:850 !important;
    line-height:.96 !important;
    letter-spacing:-.058em !important;

    text-wrap:balance;
}


/* Línea terracota superior */
body.category .ast-archive-title::before,
body.category .archive-title::before,
body.category .page-title::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:54px;
    height:4px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--mcc-terracotta),
            var(--mcc-terracotta-light)
        );

    transition:
        width .32s cubic-bezier(.2,.8,.2,1);
}

body.category .ast-archive-description:hover .ast-archive-title::before,
body.category .archive-description:hover .archive-title::before,
body.category .page-header:hover .page-title::before{
    width:108px;
}


/* Descripción de categoría */
body.category .ast-archive-description p,
body.category .archive-description p,
body.category .page-header p,
body.category .taxonomy-description{
    max-width:780px;

    margin:
        18px
        0
        0 !important;

    color:#625D58 !important;

    font-size:
        clamp(16px,1.5vw,19px) !important;

    line-height:1.72 !important;
}


/* ----------------------------------------------------------
   GRID REAL DE ASTRA
   ---------------------------------------------------------- */

body.category .site-main > .ast-row,
body.category .ast-row{
    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    align-items:stretch !important;

    gap:
        clamp(18px,2vw,26px) !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;
}


/* Mata floats/anchos heredados de Astra */
body.category .ast-row > article,
body.category .ast-row > .ast-article-post,
body.category article.ast-article-post,
body.category article.post{
    width:auto !important;
    max-width:none !important;

    min-width:0 !important;

    float:none !important;
    clear:none !important;

    margin:0 !important;
    padding:0 !important;
}


/* Si Astra no crea .ast-row */
body.category .site-main:not(:has(> .ast-row)){
    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:
        clamp(18px,2vw,26px) !important;
}


/* Cabeceras, paginación y elementos no-post a ancho completo */
body.category .site-main > .ast-archive-description,
body.category .site-main > .archive-description,
body.category .site-main > .page-header,
body.category .site-main > nav,
body.category .site-main > .navigation,
body.category .site-main > .ast-pagination,
body.category .site-main > .no-results{
    grid-column:1 / -1 !important;
}


/* ----------------------------------------------------------
   TARJETA MADRID CERCA
   ---------------------------------------------------------- */

body.category article.ast-article-post,
body.category article.post,
body.category.ast-separate-container article.ast-article-post{
    --mcc-card-x:50%;
    --mcc-card-y:50%;

    position:relative;
    isolation:isolate;

    display:flex !important;
    flex-direction:column;

    height:100% !important;

    overflow:hidden;

    border:
        1px solid
        var(--mcc-line) !important;

    border-radius:
        24px !important;

    color:#625D58 !important;

    background:
        #FFFDF9 !important;

    box-shadow:
        0 5px 16px rgba(37,40,43,.045),
        0 22px 56px rgba(37,40,43,.075) !important;

    transition:
        transform .3s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease,
        box-shadow .3s ease !important;
}


/* Aura hover */
body.category article.ast-article-post::after,
body.category article.post::after{
    content:"";

    position:absolute;
    z-index:0;
    inset:0;

    opacity:0;
    pointer-events:none;

    background:
        radial-gradient(
            390px circle at 80% 18%,
            rgba(199,116,92,.13),
            transparent 58%
        );

    transition:
        opacity .25s ease;
}

body.category article.ast-article-post:hover,
body.category article.post:hover{
    transform:
        translateY(-8px);

    border-color:
        rgba(156,70,52,.28) !important;

    box-shadow:
        0 14px 32px rgba(37,40,43,.075),
        0 38px 84px rgba(37,40,43,.13) !important;
}

body.category article.ast-article-post:hover::after,
body.category article.post:hover::after{
    opacity:1;
}


/* El contenido debe quedar por encima del aura */
body.category article.ast-article-post > *,
body.category article.post > *{
    position:relative;
    z-index:1;
}


/* Contenedor interno típico de Astra */
body.category article .ast-post-format-,
body.category article [class*="ast-post-format"],
body.category article .post-content{
    display:flex;
    flex:1;
    flex-direction:column;

    width:100%;

    background:
        transparent !important;
}


/* ----------------------------------------------------------
   IMAGEN DESTACADA
   ---------------------------------------------------------- */

body.category article .post-thumb,
body.category article .post-thumb-img-content,
body.category article .ast-blog-featured-section,
body.category article .wp-block-post-featured-image{
    position:relative;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden;

    border:0 !important;
    border-radius:0 !important;

    background:
        linear-gradient(
            135deg,
            #F3E2DA,
            #F8F3EC
        ) !important;
}

body.category article .post-thumb a,
body.category article .post-thumb-img-content a,
body.category article .ast-blog-featured-section a,
body.category article .wp-block-post-featured-image a{
    display:block;

    width:100%;
    height:100%;
}

body.category article .post-thumb img,
body.category article .post-thumb-img-content img,
body.category article .ast-blog-featured-section img,
body.category article .wp-block-post-featured-image img{
    display:block;

    width:100% !important;
    height:auto !important;

    min-height:220px;

    aspect-ratio:
        16 / 10;

    object-fit:cover !important;

    filter:
        saturate(.92)
        contrast(1.02);

    transition:
        transform .72s cubic-bezier(.2,.8,.2,1),
        filter .5s ease !important;
}

body.category article:hover .post-thumb img,
body.category article:hover .post-thumb-img-content img,
body.category article:hover .ast-blog-featured-section img,
body.category article:hover .wp-block-post-featured-image img{
    transform:
        scale(1.065);

    filter:
        saturate(1.06)
        contrast(1.03);
}


/* ----------------------------------------------------------
   CUERPO DE LA TARJETA
   ---------------------------------------------------------- */

body.category article .post-content,
body.category article .ast-grid-common-col,
body.category article .entry-header,
body.category article .entry-content,
body.category article .entry-summary{
    background:
        transparent !important;
}


/* Astra suele colocar header y excerpt dentro de post-content */
body.category article .post-content,
body.category article .ast-grid-common-col{
    flex:1;

    padding:
        23px
        23px
        25px !important;
}

body.category article .post-content .entry-header,
body.category article .ast-grid-common-col .entry-header{
    margin:0 !important;
    padding:0 !important;
}


/* Si la entrada no usa post-content, damos padding directo */
body.category article > .entry-header{
    padding:
        23px
        23px
        0 !important;
}

body.category article > .entry-content,
body.category article > .entry-summary{
    padding:
        15px
        23px
        25px !important;
}


/* ----------------------------------------------------------
   CATEGORÍA COMO PÍLDORA
   ---------------------------------------------------------- */

body.category article .cat-links,
body.category article .entry-category,
body.category article .ast-taxonomy-container,
body.category article .ast-terms-link{
    display:flex !important;
    flex-wrap:wrap;

    gap:6px;

    margin:
        0
        0
        14px !important;

    font-size:0;
}

body.category article .cat-links a,
body.category article .entry-category a,
body.category article .ast-taxonomy-container a,
body.category article .ast-terms-link a{
    display:inline-flex !important;

    min-height:30px;

    align-items:center;

    padding:
        0
        11px;

    border:
        1px solid
        rgba(156,70,52,.18);

    border-radius:999px;

    color:
        var(--mcc-terracotta-dark) !important;

    background:
        #FBF4EF !important;

    font-size:11px !important;
    font-weight:850;
    letter-spacing:.075em;
    text-transform:uppercase;

    text-decoration:none !important;

    transition:
        transform .18s ease,
        color .18s ease,
        background .18s ease,
        border-color .18s ease;
}

body.category article .cat-links a:hover,
body.category article .entry-category a:hover,
body.category article .ast-taxonomy-container a:hover,
body.category article .ast-terms-link a:hover{
    transform:
        translateY(-2px);

    color:
        #FFFDF9 !important;

    border-color:
        var(--mcc-terracotta);

    background:
        var(--mcc-terracotta) !important;
}


/* ----------------------------------------------------------
   TÍTULO DEL POST
   ---------------------------------------------------------- */

body.category article .entry-title{
    margin:
        0
        0
        13px !important;

    color:
        var(--mcc-ink) !important;

    font-size:
        clamp(23px,2vw,30px) !important;

    font-weight:
        790 !important;

    line-height:
        1.11 !important;

    letter-spacing:
        -.038em !important;

    text-wrap:
        balance;
}

body.category article .entry-title a{
    position:relative;

    color:
        var(--mcc-ink) !important;

    text-decoration:
        none !important;

    transition:
        color .2s ease;
}

body.category article .entry-title a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-5px;

    width:0;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            var(--mcc-terracotta),
            var(--mcc-terracotta-light)
        );

    transition:
        width .28s ease;
}

body.category article:hover .entry-title a::after{
    width:50px;
}

body.category article .entry-title a:hover{
    color:
        var(--mcc-terracotta-dark) !important;
}


/* ----------------------------------------------------------
   META: SOLO FECHA
   ---------------------------------------------------------- */

body.category article .entry-meta{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;

    gap:0 !important;

    min-height:20px;

    margin:
        16px
        0
        0 !important;

    padding:
        14px
        0
        0 !important;

    border-top:
        1px solid
        var(--mcc-line-soft);

    color:
        var(--mcc-muted) !important;

    font-size:
        0 !important;

    line-height:
        1.45 !important;
}


/* Autor desaparece */
body.category article .entry-meta .posted-by,
body.category article .entry-meta .byline,
body.category article .entry-meta .author,
body.category article .entry-meta .vcard,
body.category article .entry-meta .ast-post-author,
body.category article .entry-meta .ast-author-meta,
body.category article .entry-meta [class*="posted-by"],
body.category article .entry-meta [class*="byline"],
body.category article .entry-meta [class*="author"]{
    display:
        none !important;
}


/* Fecha visible */
body.category article .entry-meta .posted-on,
body.category article .entry-meta .published,
body.category article .entry-meta .updated,
body.category article .entry-meta .ast-post-date,
body.category article .entry-meta time{
    display:inline-flex !important;

    align-items:center;

    margin:0 !important;

    color:
        var(--mcc-muted) !important;

    font-size:
        12px !important;

    font-weight:
        720 !important;

    line-height:
        1.45 !important;
}


/* Punto terracota */
body.category article .entry-meta::before{
    content:"";

    flex:
        0 0 auto;

    width:7px;
    height:7px;

    margin-right:10px;

    border-radius:50%;

    background:
        var(--mcc-terracotta);

    box-shadow:
        0 0 0 5px
        rgba(156,70,52,.085);
}

body.category article .entry-meta a{
    color:
        inherit !important;

    font-size:
        inherit !important;

    text-decoration:
        none !important;
}


/* ----------------------------------------------------------
   EXTRACTO
   ---------------------------------------------------------- */

body.category article .entry-content,
body.category article .entry-summary,
body.category article .ast-excerpt-container{
    color:
        #625D58 !important;

    font-size:
        15px !important;

    line-height:
        1.68 !important;
}

body.category article .entry-content p,
body.category article .entry-summary p,
body.category article .ast-excerpt-container p{
    margin:
        15px
        0
        0 !important;

    color:
        #625D58 !important;

    font-size:
        inherit !important;

    line-height:
        inherit !important;
}


/* ----------------------------------------------------------
   LEER MÁS
   ---------------------------------------------------------- */

body.category article .read-more,
body.category article .read-more a,
body.category article .more-link,
body.category article .entry-content .more-link,
body.category article .ast-excerpt-container + p a{
    color:
        var(--mcc-terracotta-dark) !important;

    font-size:
        13px !important;

    font-weight:
        850 !important;

    text-decoration:
        none !important;
}

body.category article .read-more a,
body.category article .more-link,
body.category article .entry-content .more-link{
    display:inline-flex !important;

    align-items:center;

    gap:7px;

    margin-top:
        16px;

    transition:
        transform .2s ease,
        color .2s ease;
}

body.category article .read-more a::after,
body.category article .more-link::after,
body.category article .entry-content .more-link::after{
    content:"→";

    display:inline-block;

    transition:
        transform .2s ease;
}

body.category article .read-more a:hover,
body.category article .more-link:hover,
body.category article .entry-content .more-link:hover{
    transform:
        translateX(3px);

    color:
        var(--mcc-terracotta-mid) !important;
}

body.category article .read-more a:hover::after,
body.category article .more-link:hover::after,
body.category article .entry-content .more-link:hover::after{
    transform:
        translateX(4px);
}


/* ----------------------------------------------------------
   UNA SOLA ENTRADA = TARJETA EDITORIAL GRANDE
   ---------------------------------------------------------- */

@media(min-width:901px){

    body.category .ast-row > article:only-child{
        grid-column:
            1 / -1 !important;

        width:
            min(100%,1060px) !important;

        justify-self:
            center;
    }

    body.category .ast-row > article:only-child
        [class*="ast-post-format"],
    body.category .ast-row > article:only-child
        .post-content:not(.ast-grid-common-col){
        display:grid;

        grid-template-columns:
            minmax(360px,.92fr)
            minmax(0,1.08fr);

        align-items:stretch;
    }

    /* Estructura Astra habitual:
       imagen + .post-content como hermanos */
    body.category .ast-row > article:only-child
        > [class*="ast-post-format"]{
        display:grid;

        grid-template-columns:
            minmax(360px,.92fr)
            minmax(0,1.08fr);

        align-items:stretch;
    }

    body.category .ast-row > article:only-child
        .ast-blog-featured-section,
    body.category .ast-row > article:only-child
        .post-thumb{
        min-height:390px;
    }

    body.category .ast-row > article:only-child
        .ast-blog-featured-section img,
    body.category .ast-row > article:only-child
        .post-thumb img{
        height:100% !important;
        min-height:390px;

        aspect-ratio:auto;
    }

    body.category .ast-row > article:only-child
        .post-content,
    body.category .ast-row > article:only-child
        .ast-grid-common-col{
        display:flex;
        flex-direction:column;
        justify-content:center;

        padding:
            clamp(30px,4vw,52px) !important;
    }

    body.category .ast-row > article:only-child
        .entry-title{
        font-size:
            clamp(30px,3.1vw,45px) !important;
    }

    body.category .ast-row > article:only-child
        .entry-content,
    body.category .ast-row > article:only-child
        .entry-summary,
    body.category .ast-row > article:only-child
        .ast-excerpt-container{
        font-size:
            16px !important;
    }

}


/* ----------------------------------------------------------
   PAGINACIÓN
   ---------------------------------------------------------- */

body.category .ast-pagination,
body.category .navigation.pagination,
body.category .posts-navigation{
    grid-column:
        1 / -1 !important;

    margin:
        42px
        0
        0 !important;

    padding:
        18px
        0
        0;

    border-top:
        1px solid
        var(--mcc-line);
}

body.category .ast-pagination .page-numbers,
body.category .navigation.pagination .page-numbers,
body.category .posts-navigation a{
    display:inline-grid !important;

    min-width:43px;
    min-height:43px;

    place-items:center;

    margin:4px;

    padding:
        8px
        12px;

    border:
        1px solid
        var(--mcc-line) !important;

    border-radius:
        12px !important;

    color:
        var(--mcc-ink) !important;

    background:
        #FFFDF9 !important;

    font-weight:
        800;

    text-decoration:
        none !important;

    box-shadow:
        0 5px 16px
        rgba(37,40,43,.035);

    transition:
        transform .18s ease,
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

body.category .ast-pagination .page-numbers:hover,
body.category .ast-pagination .page-numbers.current,
body.category .navigation.pagination .page-numbers:hover,
body.category .navigation.pagination .page-numbers.current,
body.category .posts-navigation a:hover{
    transform:
        translateY(-3px);

    color:
        #FFFDF9 !important;

    border-color:
        var(--mcc-terracotta) !important;

    background:
        var(--mcc-terracotta) !important;

    box-shadow:
        0 10px 22px
        rgba(156,70,52,.18);
}


/* ----------------------------------------------------------
   TABLET GRANDE 1100
   ---------------------------------------------------------- */

@media(max-width:1100px){

    body.category .site-content > .ast-container,
    body.category.ast-separate-container
        .site-content > .ast-container{
        width:
            min(
                100% - 44px,
                1040px
            ) !important;
    }

    body.category .site-main > .ast-row,
    body.category .ast-row,
    body.category .site-main:not(:has(> .ast-row)){
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:
            20px !important;
    }

    body.category article .entry-title{
        font-size:
            clamp(23px,2.8vw,29px) !important;
    }

}


/* ----------------------------------------------------------
   TABLET 900
   ---------------------------------------------------------- */

@media(max-width:900px){

    body.category .site-content{
        padding:
            34px
            0
            88px !important;
    }

    body.category .site-content > .ast-container,
    body.category.ast-separate-container
        .site-content > .ast-container{
        width:
            calc(100% - 36px) !important;
    }

    body.category .ast-archive-description,
    body.category .archive-description,
    body.category .page-header{
        margin-bottom:
            28px !important;

        padding:
            38px
            34px !important;

        border-radius:
            25px !important;
    }

    body.category .ast-archive-title,
    body.category .archive-title,
    body.category .page-title{
        font-size:
            clamp(38px,7vw,58px) !important;
    }

    body.category .site-main > .ast-row,
    body.category .ast-row,
    body.category .site-main:not(:has(> .ast-row)){
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:
            18px !important;
    }

    body.category article .post-content,
    body.category article .ast-grid-common-col{
        padding:
            21px !important;
    }

    body.category article .post-thumb img,
    body.category article .post-thumb-img-content img,
    body.category article .ast-blog-featured-section img{
        min-height:
            195px;
    }

}


/* ----------------------------------------------------------
   MÓVIL / TABLET PEQUEÑA 700
   ---------------------------------------------------------- */

@media(max-width:700px){

    body.category .site-content{
        padding:
            22px
            0
            72px !important;
    }

    body.category .site-content > .ast-container,
    body.category.ast-separate-container
        .site-content > .ast-container{
        width:
            calc(100% - 26px) !important;
    }

    body.category .ast-archive-description,
    body.category .archive-description,
    body.category .page-header{
        margin-bottom:
            22px !important;

        padding:
            29px
            23px !important;

        border-radius:
            21px !important;
    }

    body.category .ast-archive-description::after,
    body.category .archive-description::after,
    body.category .page-header::after{
        right:-105px;
        bottom:-155px;
    }

    body.category .ast-archive-title,
    body.category .archive-title,
    body.category .page-title{
        padding-top:
            18px !important;

        font-size:
            clamp(34px,11vw,48px) !important;

        line-height:
            1 !important;
    }

    body.category .ast-archive-title::before,
    body.category .archive-title::before,
    body.category .page-title::before{
        width:
            43px;

        height:
            3px;
    }

    body.category .ast-archive-description p,
    body.category .archive-description p,
    body.category .page-header p,
    body.category .taxonomy-description{
        margin-top:
            14px !important;

        font-size:
            15px !important;

        line-height:
            1.65 !important;
    }

    body.category .site-main > .ast-row,
    body.category .ast-row,
    body.category .site-main:not(:has(> .ast-row)){
        grid-template-columns:
            1fr !important;

        gap:
            16px !important;
    }

    body.category article.ast-article-post,
    body.category article.post{
        border-radius:
            20px !important;
    }

    body.category article .post-thumb img,
    body.category article .post-thumb-img-content img,
    body.category article .ast-blog-featured-section img{
        min-height:
            0;

        aspect-ratio:
            16 / 10;
    }

    body.category article .post-content,
    body.category article .ast-grid-common-col{
        padding:
            20px !important;
    }

    body.category article .entry-title{
        font-size:
            clamp(23px,7vw,29px) !important;
    }

    body.category article .entry-content,
    body.category article .entry-summary,
    body.category article .ast-excerpt-container{
        font-size:
            14.5px !important;
    }

    body.category article .entry-meta{
        margin-top:
            14px !important;

        padding-top:
            13px !important;
    }

}


/* ----------------------------------------------------------
   MÓVIL ESTRECHO 420
   ---------------------------------------------------------- */

@media(max-width:420px){

    body.category .site-content > .ast-container,
    body.category.ast-separate-container
        .site-content > .ast-container{
        width:
            calc(100% - 20px) !important;
    }

    body.category .ast-archive-description,
    body.category .archive-description,
    body.category .page-header{
        padding:
            25px
            19px !important;

        border-radius:
            18px !important;
    }

    body.category .ast-archive-title,
    body.category .archive-title,
    body.category .page-title{
        font-size:
            clamp(32px,12vw,43px) !important;
    }

    body.category article.ast-article-post,
    body.category article.post{
        border-radius:
            17px !important;
    }

    body.category article .post-content,
    body.category article .ast-grid-common-col{
        padding:
            18px !important;
    }

    body.category article .cat-links a,
    body.category article .entry-category a,
    body.category article .ast-taxonomy-container a,
    body.category article .ast-terms-link a{
        min-height:
            28px;

        padding:
            0
            9px;

        font-size:
            10px !important;
    }

    body.category article .entry-title{
        font-size:
            23px !important;
    }

}


/* ----------------------------------------------------------
   DISPOSITIVOS TÁCTILES
   Evita saltos molestos al tocar
   ---------------------------------------------------------- */

@media(hover:none){

    body.category article.ast-article-post:hover,
    body.category article.post:hover,
    body.category .ast-archive-description:hover,
    body.category .archive-description:hover,
    body.category .page-header:hover{
        transform:
            none;
    }

}


/* ----------------------------------------------------------
   MOVIMIENTO REDUCIDO
   ---------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

    body.category *,
    body.category *::before,
    body.category *::after{
        animation:
            none !important;

        transition-duration:
            .01ms !important;

        scroll-behavior:
            auto !important;
    }

}

/* ==========================================================
   MADRID CERCA — PÁGINA 404 V5
   Diseño de marca para "Página no encontrada"
   Astra · Escritorio · Tablet · Móvil
   ========================================================== */

/* ----------------------------------------------------------
   FONDO / LAYOUT GENERAL
   ---------------------------------------------------------- */

body.error404,
body.error404.ast-separate-container{
    --mc404-ink:#25282B;
    --mc404-ink-2:#34312E;
    --mc404-accent:#9C4634;
    --mc404-accent-dark:#7F3528;
    --mc404-accent-mid:#AE5A45;
    --mc404-accent-light:#E7A087;
    --mc404-paper:#FFFDF9;
    --mc404-soft:#F8F3EC;
    --mc404-blush:#F3E2DA;
    --mc404-line:#DED3C8;
    --mc404-muted:#817A74;

    overflow-x:hidden !important;

    color:var(--mc404-ink);

    background:
        radial-gradient(
            circle at 92% 12%,
            rgba(231,160,135,.16),
            transparent 29rem
        ),
        radial-gradient(
            circle at 6% 78%,
            rgba(156,70,52,.055),
            transparent 26rem
        ),
        var(--mc404-soft) !important;
}

body.error404 .site-content{
    position:relative;

    min-height:
        clamp(620px,76vh,860px);

    display:flex;
    align-items:center;

    padding:
        clamp(46px,6vw,90px)
        0
        clamp(70px,8vw,120px) !important;

    background:
        linear-gradient(
            180deg,
            #FFFDF9 0,
            #F8F3EC 100%
        ) !important;
}

/* Retícula urbana de fondo */
body.error404 .site-content::before{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    opacity:.44;

    background-image:
        linear-gradient(
            rgba(156,70,52,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(156,70,52,.04) 1px,
            transparent 1px
        );

    background-size:
        46px 46px;

    -webkit-mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            rgba(0,0,0,.65) 54%,
            transparent 88%
        );

    mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            rgba(0,0,0,.65) 54%,
            transparent 88%
        );
}

/* Contenedor Astra */
body.error404 .site-content > .ast-container,
body.error404.ast-separate-container .site-content > .ast-container{
    position:relative;
    z-index:2;

    display:block !important;

    width:min(
        1180px,
        calc(100% - clamp(28px,5vw,78px))
    ) !important;

    max-width:1180px !important;

    margin:0 auto !important;
    padding:0 !important;
}

body.error404 #primary,
body.error404 .content-area,
body.error404 .site-main{
    width:100% !important;
    max-width:none !important;

    float:none !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;
}

body.error404 #secondary,
body.error404 .widget-area,
body.error404 .sidebar-main{
    display:none !important;
}


/* ----------------------------------------------------------
   TARJETA PRINCIPAL 404
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1,
body.error404 .error-404,
body.error404 .not-found{
    position:relative;
    isolation:isolate;

    overflow:hidden;

    width:100%;

    margin:0 auto !important;

    padding:
        clamp(48px,7vw,86px)
        clamp(30px,7vw,88px)
        clamp(46px,6vw,76px) !important;

    border:
        1px solid
        var(--mc404-line) !important;

    border-radius:
        32px !important;

    text-align:center;

    background:
        radial-gradient(
            circle at 86% 10%,
            rgba(231,160,135,.20),
            transparent 27%
        ),
        radial-gradient(
            circle at 6% 92%,
            rgba(156,70,52,.075),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            #FFFDF9,
            #F8F3EC
        ) !important;

    box-shadow:
        0 10px 28px rgba(37,40,43,.055),
        0 38px 90px rgba(37,40,43,.10) !important;

    transition:
        transform .3s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease,
        box-shadow .3s ease;
}

body.error404 .ast-404-layout-1:hover,
body.error404 .error-404:hover,
body.error404 .not-found:hover{
    transform:
        translateY(-4px);

    border-color:
        rgba(156,70,52,.25) !important;

    box-shadow:
        0 14px 34px rgba(37,40,43,.07),
        0 44px 100px rgba(37,40,43,.13) !important;
}


/* Número 404 decorativo gigante */
body.error404 .ast-404-layout-1::after,
body.error404 .error-404::after,
body.error404 .not-found::after{
    content:"404";

    position:absolute;
    z-index:-1;

    top:
        clamp(-28px,-2vw,-6px);
    left:50%;

    transform:
        translateX(-50%);

    color:
        rgba(156,70,52,.045);

    font-size:
        clamp(150px,23vw,330px);

    font-weight:
        900;

    line-height:.8;

    letter-spacing:
        -.09em;

    pointer-events:none;

    user-select:none;
}


/* Pequeña etiqueta de marca */
body.error404 .ast-404-layout-1::before,
body.error404 .error-404::before,
body.error404 .not-found::before{
    content:"MADRID CERCA · PÁGINA NO ENCONTRADA";

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:34px;

    margin:
        0
        auto
        24px;

    padding:
        0
        14px;

    border:
        1px solid
        rgba(156,70,52,.20);

    border-radius:
        999px;

    color:
        var(--mc404-accent-dark);

    background:
        rgba(255,253,249,.78);

    box-shadow:
        0 8px 22px
        rgba(37,40,43,.045);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        .115em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   TÍTULO Y TEXTO
   ---------------------------------------------------------- */

body.error404 .page-header,
body.error404 .entry-header{
    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    box-shadow:none !important;
}

body.error404 .page-title,
body.error404 .entry-title,
body.error404 .ast-404-layout-1 h1,
body.error404 .error-404 h1,
body.error404 .not-found h1{
    position:relative;

    max-width:
        900px;

    margin:
        0
        auto !important;

    color:
        var(--mc404-ink) !important;

    font-size:
        clamp(42px,6vw,78px) !important;

    font-weight:
        850 !important;

    line-height:
        .98 !important;

    letter-spacing:
        -.058em !important;

    text-wrap:
        balance;
}

body.error404 .page-title::after,
body.error404 .entry-title::after,
body.error404 .ast-404-layout-1 h1::after,
body.error404 .error-404 h1::after,
body.error404 .not-found h1::after{
    content:"";

    display:block;

    width:58px;
    height:4px;

    margin:
        24px
        auto
        0;

    border-radius:
        999px;

    background:
        linear-gradient(
            90deg,
            var(--mc404-accent),
            var(--mc404-accent-light)
        );

    transition:
        width .28s cubic-bezier(.2,.8,.2,1);
}

body.error404 .ast-404-layout-1:hover .page-title::after,
body.error404 .error-404:hover .page-title::after,
body.error404 .not-found:hover .page-title::after{
    width:
        112px;
}


/* Texto explicativo */
body.error404 .page-content,
body.error404 .entry-content,
body.error404 .ast-404-layout-1 .page-content{
    max-width:
        900px;

    margin:
        24px
        auto
        0 !important;

    padding:0 !important;

    color:
        #625D58 !important;

    background:
        transparent !important;

    font-size:
        clamp(17px,1.6vw,20px);

    line-height:
        1.72;
}

body.error404 .page-content p,
body.error404 .entry-content p{
    margin:
        0
        auto
        26px !important;

    color:
        #625D58 !important;

    line-height:
        1.72 !important;
}


/* ----------------------------------------------------------
   BUSCADOR
   ---------------------------------------------------------- */

body.error404 .search-form,
body.error404 .wp-block-search{
    position:relative;

    display:flex;

    width:
        min(620px,100%);

    min-height:
        60px;

    margin:
        30px
        auto
        0 !important;

    overflow:hidden;

    border:
        1px solid
        var(--mc404-line) !important;

    border-radius:
        16px !important;

    background:
        rgba(255,255,255,.92) !important;

    box-shadow:
        0 8px 24px
        rgba(37,40,43,.055);

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.error404 .search-form:focus-within,
body.error404 .wp-block-search:focus-within{
    transform:
        translateY(-2px);

    border-color:
        rgba(156,70,52,.42) !important;

    box-shadow:
        0 0 0 4px rgba(156,70,52,.07),
        0 14px 34px rgba(37,40,43,.08);
}


/* Campo */
body.error404 .search-form .search-field,
body.error404 .wp-block-search__input{
    flex:1;

    min-width:0;
    min-height:58px;

    margin:0 !important;

    border:0 !important;
    outline:0 !important;

    padding:
        0
        20px !important;

    color:
        var(--mc404-ink-2) !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    font-family:
        inherit;

    font-size:
        15px;
}

body.error404 .search-field::placeholder,
body.error404 .wp-block-search__input::placeholder{
    color:
        #A39B94 !important;

    opacity:1;
}


/* Botón búsqueda */
body.error404 .search-form .search-submit,
body.error404 .wp-block-search__button{
    position:relative;

    flex:
        0 0 auto;

    min-width:
        62px;

    margin:0 !important;

    border:0 !important;

    border-left:
        1px solid
        rgba(156,70,52,.12) !important;

    border-radius:
        0 !important;

    color:
        #FFFDF9 !important;

    background:
        linear-gradient(
            145deg,
            var(--mc404-accent-mid),
            var(--mc404-accent-dark)
        ) !important;

    box-shadow:
        none !important;

    cursor:pointer;

    transition:
        transform .2s ease,
        filter .2s ease,
        background .2s ease;
}

body.error404 .search-form .search-submit:hover,
body.error404 .wp-block-search__button:hover{
    filter:
        saturate(1.08)
        brightness(1.03);

    background:
        linear-gradient(
            145deg,
            #C7745C,
            var(--mc404-accent)
        ) !important;
}

body.error404 .search-form .search-submit svg,
body.error404 .wp-block-search__button svg{
    fill:
        currentColor;

    color:
        #FFFDF9 !important;

    transition:
        transform .2s ease;
}

body.error404 .search-form .search-submit:hover svg,
body.error404 .wp-block-search__button:hover svg{
    transform:
        scale(1.08)
        rotate(-5deg);
}


/* ----------------------------------------------------------
   ENLACES QUE PUEDA AÑADIR ASTRA
   ---------------------------------------------------------- */

body.error404 .page-content a,
body.error404 .entry-content a{
    color:
        var(--mc404-accent-dark) !important;

    font-weight:
        780;

    text-decoration:
        underline;

    text-decoration-color:
        rgba(156,70,52,.30);

    text-underline-offset:
        3px;

    transition:
        color .18s ease,
        text-decoration-color .18s ease;
}

body.error404 .page-content a:hover,
body.error404 .entry-content a:hover{
    color:
        var(--mc404-accent-mid) !important;

    text-decoration-color:
        currentColor;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media(max-width:900px){

    body.error404 .site-content{
        min-height:
            68vh;

        padding:
            36px
            0
            82px !important;
    }

    body.error404 .site-content > .ast-container,
    body.error404.ast-separate-container
        .site-content > .ast-container{
        width:
            calc(100% - 34px) !important;
    }

    body.error404 .ast-404-layout-1,
    body.error404 .error-404,
    body.error404 .not-found{
        padding:
            48px
            38px
            44px !important;

        border-radius:
            26px !important;
    }

    body.error404 .page-title,
    body.error404 .entry-title,
    body.error404 .ast-404-layout-1 h1,
    body.error404 .error-404 h1,
    body.error404 .not-found h1{
        font-size:
            clamp(40px,8vw,62px) !important;
    }

}


/* ----------------------------------------------------------
   MÓVIL
   ---------------------------------------------------------- */

@media(max-width:640px){

    body.error404 .site-content{
        min-height:
            auto;

        align-items:flex-start;

        padding:
            22px
            0
            66px !important;
    }

    body.error404 .site-content > .ast-container,
    body.error404.ast-separate-container
        .site-content > .ast-container{
        width:
            calc(100% - 22px) !important;
    }

    body.error404 .ast-404-layout-1,
    body.error404 .error-404,
    body.error404 .not-found{
        padding:
            34px
            20px
            31px !important;

        border-radius:
            21px !important;
    }

    body.error404 .ast-404-layout-1::before,
    body.error404 .error-404::before,
    body.error404 .not-found::before{
        min-height:
            31px;

        margin-bottom:
            19px;

        padding:
            0
            11px;

        font-size:
            8px;

        letter-spacing:
            .09em;
    }

    body.error404 .ast-404-layout-1::after,
    body.error404 .error-404::after,
    body.error404 .not-found::after{
        top:
            3px;

        font-size:
            clamp(115px,39vw,180px);
    }

    body.error404 .page-title,
    body.error404 .entry-title,
    body.error404 .ast-404-layout-1 h1,
    body.error404 .error-404 h1,
    body.error404 .not-found h1{
        font-size:
            clamp(34px,10.7vw,47px) !important;

        line-height:
            1 !important;
    }

    body.error404 .page-title::after,
    body.error404 .entry-title::after,
    body.error404 .ast-404-layout-1 h1::after,
    body.error404 .error-404 h1::after,
    body.error404 .not-found h1::after{
        width:
            46px;

        height:
            3px;

        margin-top:
            18px;
    }

    body.error404 .page-content,
    body.error404 .entry-content,
    body.error404 .ast-404-layout-1 .page-content{
        margin-top:
            18px !important;

        font-size:
            15px;
    }

    body.error404 .page-content p,
    body.error404 .entry-content p{
        margin-bottom:
            21px !important;
    }

    body.error404 .search-form,
    body.error404 .wp-block-search{
        min-height:
            54px;

        margin-top:
            23px !important;

        border-radius:
            14px !important;
    }

    body.error404 .search-form .search-field,
    body.error404 .wp-block-search__input{
        min-height:
            52px;

        padding:
            0
            15px !important;

        font-size:
            14px;
    }

    body.error404 .search-form .search-submit,
    body.error404 .wp-block-search__button{
        min-width:
            54px;
    }

}


/* ----------------------------------------------------------
   MÓVIL MUY ESTRECHO
   ---------------------------------------------------------- */

@media(max-width:380px){

    body.error404 .site-content > .ast-container,
    body.error404.ast-separate-container
        .site-content > .ast-container{
        width:
            calc(100% - 16px) !important;
    }

    body.error404 .ast-404-layout-1,
    body.error404 .error-404,
    body.error404 .not-found{
        padding:
            30px
            16px
            28px !important;

        border-radius:
            18px !important;
    }

    body.error404 .page-title,
    body.error404 .entry-title,
    body.error404 .ast-404-layout-1 h1,
    body.error404 .error-404 h1,
    body.error404 .not-found h1{
        font-size:
            32px !important;
    }

}


/* ----------------------------------------------------------
   TÁCTIL / ACCESIBILIDAD
   ---------------------------------------------------------- */

@media(hover:none){

    body.error404 .ast-404-layout-1:hover,
    body.error404 .error-404:hover,
    body.error404 .not-found:hover{
        transform:none;
    }

}

@media(prefers-reduced-motion:reduce){

    body.error404 *,
    body.error404 *::before,
    body.error404 *::after{
        animation:
            none !important;

        transition-duration:
            .01ms !important;

        scroll-behavior:
            auto !important;
    }

}

/* ==========================================================
   MADRID CERCA — 404 FIX V6
   Corrige duplicados de Astra + buscador roto
   ========================================================== */

/* ----------------------------------------------------------
   1. UNA SOLA CAPA VISUAL 404
   Astra anida .error-404 dentro de .ast-404-layout-1.
   La decoración solo debe vivir en el contenedor exterior.
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1{
    position:relative !important;
    isolation:isolate !important;

    width:min(100%,1100px) !important;
    max-width:1100px !important;

    margin:0 auto !important;

    padding:
        clamp(58px,7vw,92px)
        clamp(28px,6vw,72px)
        clamp(48px,6vw,72px) !important;

    overflow:hidden !important;

    border:1px solid #DED3C8 !important;
    border-radius:30px !important;

    text-align:center !important;

    background:
        radial-gradient(circle at 88% 9%,rgba(231,160,135,.18),transparent 28%),
        radial-gradient(circle at 7% 92%,rgba(156,70,52,.06),transparent 28%),
        linear-gradient(145deg,#FFFDF9,#F8F3EC) !important;

    box-shadow:
        0 10px 28px rgba(37,40,43,.055),
        0 38px 88px rgba(37,40,43,.10) !important;
}

/* Anula por completo la segunda tarjeta que Astra mete dentro */
body.error404 .ast-404-layout-1 .error-404,
body.error404 .ast-404-layout-1 .not-found,
body.error404 .ast-404-layout-1 article,
body.error404 .ast-404-layout-1 .site-main{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    box-shadow:none !important;

    transform:none !important;
}

/* Elimina todos los pseudo-elementos duplicados internos */
body.error404 .ast-404-layout-1 .error-404::before,
body.error404 .ast-404-layout-1 .error-404::after,
body.error404 .ast-404-layout-1 .not-found::before,
body.error404 .ast-404-layout-1 .not-found::after,
body.error404 .ast-404-layout-1 article::before,
body.error404 .ast-404-layout-1 article::after{
    content:none !important;
    display:none !important;
}


/* ----------------------------------------------------------
   2. UN SOLO 404 DECORATIVO
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1::after{
    content:"404" !important;

    position:absolute !important;
    z-index:-1 !important;

    top:clamp(-6px,1vw,12px) !important;
    left:50% !important;

    transform:translateX(-50%) !important;

    color:rgba(156,70,52,.048) !important;

    font-size:clamp(170px,22vw,300px) !important;
    font-weight:900 !important;
    line-height:.78 !important;
    letter-spacing:-.10em !important;

    pointer-events:none !important;
    user-select:none !important;
}


/* ----------------------------------------------------------
   3. UNA SOLA ETIQUETA SUPERIOR
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1::before{
    content:"MADRID CERCA · PÁGINA NO ENCONTRADA" !important;

    position:relative !important;
    z-index:3 !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    min-height:36px !important;

    margin:0 auto 30px !important;

    padding:0 15px !important;

    border:1px solid rgba(156,70,52,.20) !important;
    border-radius:999px !important;

    color:#7F3528 !important;

    background:rgba(255,253,249,.90) !important;

    box-shadow:
        0 7px 18px rgba(37,40,43,.045) !important;

    font-size:10px !important;
    font-weight:900 !important;
    letter-spacing:.11em !important;
    line-height:1 !important;
    text-transform:uppercase !important;

    pointer-events:none !important;
}


/* ----------------------------------------------------------
   4. TÍTULO 404
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1 .page-header,
body.error404 .ast-404-layout-1 .entry-header{
    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.error404 .ast-404-layout-1 .page-title,
body.error404 .ast-404-layout-1 .entry-title,
body.error404 .ast-404-layout-1 h1{
    position:relative !important;
    z-index:2 !important;

    max-width:820px !important;

    margin:0 auto !important;
    padding:0 !important;

    color:#25282B !important;

    font-size:clamp(42px,5.8vw,72px) !important;
    font-weight:850 !important;
    line-height:.98 !important;
    letter-spacing:-.055em !important;

    text-align:center !important;
    text-wrap:balance !important;
}

body.error404 .ast-404-layout-1 .page-title::after,
body.error404 .ast-404-layout-1 .entry-title::after,
body.error404 .ast-404-layout-1 h1::after{
    content:"" !important;

    display:block !important;

    width:58px !important;
    height:4px !important;

    margin:24px auto 0 !important;

    border-radius:999px !important;

    background:
        linear-gradient(90deg,#9C4634,#E7A087) !important;

    transition:width .25s ease !important;
}

body.error404 .ast-404-layout-1:hover .page-title::after,
body.error404 .ast-404-layout-1:hover .entry-title::after,
body.error404 .ast-404-layout-1:hover h1::after{
    width:106px !important;
}


/* ----------------------------------------------------------
   5. TEXTO
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1 .page-content,
body.error404 .ast-404-layout-1 .entry-content{
    position:relative !important;
    z-index:2 !important;

    width:100% !important;
    max-width:820px !important;

    margin:26px auto 0 !important;
    padding:0 !important;

    color:#625D58 !important;

    background:transparent !important;

    font-size:clamp(17px,1.55vw,20px) !important;
    line-height:1.66 !important;

    text-align:center !important;
}

body.error404 .ast-404-layout-1 .page-content > p,
body.error404 .ast-404-layout-1 .entry-content > p{
    max-width:760px !important;

    margin:0 auto 26px !important;

    color:#625D58 !important;

    font-size:inherit !important;
    line-height:inherit !important;
}


/* ----------------------------------------------------------
   6. BUSCADOR — RESETEO TOTAL DE ASTRA
   ---------------------------------------------------------- */

body.error404 .ast-404-layout-1 .search-form{
    position:relative !important;
    z-index:3 !important;

    display:grid !important;

    grid-template-columns:minmax(0,1fr) 60px !important;

    width:min(620px,100%) !important;
    height:60px !important;
    min-height:60px !important;

    margin:30px auto 0 !important;
    padding:0 !important;

    overflow:hidden !important;

    border:1px solid #DED3C8 !important;
    border-radius:16px !important;

    background:#FFFFFF !important;

    box-shadow:
        0 8px 24px rgba(37,40,43,.055) !important;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}

body.error404 .ast-404-layout-1 .search-form:focus-within{
    transform:translateY(-2px) !important;

    border-color:rgba(156,70,52,.42) !important;

    box-shadow:
        0 0 0 4px rgba(156,70,52,.07),
        0 14px 34px rgba(37,40,43,.08) !important;
}


/* Campo de texto */
body.error404 .ast-404-layout-1 .search-form .search-field,
body.error404 .ast-404-layout-1 .search-form input[type="search"]{
    grid-column:1 !important;

    width:100% !important;
    height:58px !important;
    min-height:58px !important;

    margin:0 !important;
    padding:0 20px !important;

    border:0 !important;
    outline:0 !important;
    border-radius:0 !important;

    color:#34312E !important;

    background:transparent !important;

    box-shadow:none !important;

    font-family:inherit !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:58px !important;
}

body.error404 .ast-404-layout-1 .search-form .search-field::placeholder,
body.error404 .ast-404-layout-1 .search-form input[type="search"]::placeholder{
    color:#A39B94 !important;
    opacity:1 !important;
}


/* Botón: una sola pieza, sin texto roto */
body.error404 .ast-404-layout-1 .search-form .search-submit,
body.error404 .ast-404-layout-1 .search-form button[type="submit"],
body.error404 .ast-404-layout-1 .search-form input[type="submit"]{
    grid-column:2 !important;

    position:relative !important;

    display:block !important;

    width:60px !important;
    min-width:60px !important;
    max-width:60px !important;

    height:60px !important;
    min-height:60px !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    border:0 !important;
    border-left:1px solid rgba(127,53,40,.14) !important;
    border-radius:0 !important;

    outline:0 !important;

    color:transparent !important;

    background-color:#9C4634 !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23FFFDF9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.4-3.4'/%3E%3C/svg%3E"),
        linear-gradient(145deg,#AE5A45,#7F3528) !important;

    background-repeat:no-repeat,no-repeat !important;
    background-position:center,center !important;
    background-size:22px 22px,100% 100% !important;

    box-shadow:none !important;

    font-size:0 !important;
    line-height:0 !important;
    text-indent:-9999px !important;

    cursor:pointer !important;

    transition:
        filter .18s ease,
        transform .18s ease !important;
}

body.error404 .ast-404-layout-1 .search-form .search-submit:hover,
body.error404 .ast-404-layout-1 .search-form button[type="submit"]:hover,
body.error404 .ast-404-layout-1 .search-form input[type="submit"]:hover{
    filter:saturate(1.08) brightness(1.04) !important;

    transform:none !important;
}


/* Elimina iconos/botones extra que Astra pueda inyectar */
body.error404 .ast-404-layout-1 .search-form .search-icon,
body.error404 .ast-404-layout-1 .search-form .ast-search-icon,
body.error404 .ast-404-layout-1 .search-form > svg,
body.error404 .ast-404-layout-1 .search-form .search-submit + *,
body.error404 .ast-404-layout-1 .search-form button:not([type="submit"]){
    display:none !important;
}


/* ----------------------------------------------------------
   7. ESPACIADO DE TODA LA 404
   ---------------------------------------------------------- */

body.error404 .site-content{
    min-height:calc(100vh - 160px) !important;

    display:flex !important;
    align-items:center !important;

    padding:
        clamp(42px,6vw,82px)
        0
        clamp(60px,8vw,100px) !important;
}

body.error404 .site-content > .ast-container{
    width:min(1180px,calc(100% - clamp(28px,5vw,74px))) !important;
    max-width:1180px !important;

    margin:0 auto !important;
    padding:0 !important;
}


/* ----------------------------------------------------------
   8. TABLET
   ---------------------------------------------------------- */

@media(max-width:900px){

    body.error404 .site-content{
        min-height:auto !important;

        align-items:flex-start !important;

        padding:
            32px
            0
            72px !important;
    }

    body.error404 .site-content > .ast-container{
        width:calc(100% - 32px) !important;
    }

    body.error404 .ast-404-layout-1{
        padding:
            48px
            34px
            42px !important;

        border-radius:25px !important;
    }

    body.error404 .ast-404-layout-1::after{
        font-size:clamp(150px,28vw,230px) !important;
    }

    body.error404 .ast-404-layout-1 .page-title,
    body.error404 .ast-404-layout-1 .entry-title,
    body.error404 .ast-404-layout-1 h1{
        font-size:clamp(40px,7.5vw,58px) !important;
    }

}


/* ----------------------------------------------------------
   9. MÓVIL
   ---------------------------------------------------------- */

@media(max-width:640px){

    body.error404 .site-content{
        padding:
            18px
            0
            58px !important;
    }

    body.error404 .site-content > .ast-container{
        width:calc(100% - 20px) !important;
    }

    body.error404 .ast-404-layout-1{
        padding:
            32px
            18px
            29px !important;

        border-radius:20px !important;
    }

    body.error404 .ast-404-layout-1::before{
        min-height:31px !important;

        margin-bottom:20px !important;

        padding:0 11px !important;

        font-size:8px !important;
        letter-spacing:.085em !important;
    }

    body.error404 .ast-404-layout-1::after{
        top:16px !important;

        font-size:clamp(108px,39vw,165px) !important;
    }

    body.error404 .ast-404-layout-1 .page-title,
    body.error404 .ast-404-layout-1 .entry-title,
    body.error404 .ast-404-layout-1 h1{
        font-size:clamp(33px,10vw,44px) !important;
    }

    body.error404 .ast-404-layout-1 .page-title::after,
    body.error404 .ast-404-layout-1 .entry-title::after,
    body.error404 .ast-404-layout-1 h1::after{
        width:46px !important;
        height:3px !important;

        margin-top:18px !important;
    }

    body.error404 .ast-404-layout-1 .page-content,
    body.error404 .ast-404-layout-1 .entry-content{
        margin-top:18px !important;

        font-size:15px !important;
        line-height:1.62 !important;
    }

    body.error404 .ast-404-layout-1 .page-content > p,
    body.error404 .ast-404-layout-1 .entry-content > p{
        margin-bottom:21px !important;
    }

    body.error404 .ast-404-layout-1 .search-form{
        grid-template-columns:minmax(0,1fr) 54px !important;

        height:54px !important;
        min-height:54px !important;

        margin-top:22px !important;

        border-radius:14px !important;
    }

    body.error404 .ast-404-layout-1 .search-form .search-field,
    body.error404 .ast-404-layout-1 .search-form input[type="search"]{
        height:52px !important;
        min-height:52px !important;

        padding:0 15px !important;

        font-size:14px !important;
        line-height:52px !important;
    }

    body.error404 .ast-404-layout-1 .search-form .search-submit,
    body.error404 .ast-404-layout-1 .search-form button[type="submit"],
    body.error404 .ast-404-layout-1 .search-form input[type="submit"]{
        width:54px !important;
        min-width:54px !important;
        max-width:54px !important;

        height:54px !important;
        min-height:54px !important;

        background-size:20px 20px,100% 100% !important;
    }

}


/* ----------------------------------------------------------
   10. MÓVIL ESTRECHO
   ---------------------------------------------------------- */

@media(max-width:380px){

    body.error404 .site-content > .ast-container{
        width:calc(100% - 14px) !important;
    }

    body.error404 .ast-404-layout-1{
        padding:
            28px
            14px
            25px !important;

        border-radius:17px !important;
    }

    body.error404 .ast-404-layout-1 .page-title,
    body.error404 .ast-404-layout-1 .entry-title,
    body.error404 .ast-404-layout-1 h1{
        font-size:31px !important;
    }

}


/* ----------------------------------------------------------
   11. TÁCTIL / MOVIMIENTO
   ---------------------------------------------------------- */

@media(hover:none){

    body.error404 .ast-404-layout-1:hover{
        transform:none !important;
    }

}

@media(prefers-reduced-motion:reduce){

    body.error404 *,
    body.error404 *::before,
    body.error404 *::after{
        animation:none !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }

}
/* ==========================================================
   MADRID CERCA — DIRECTORIO LOCAL · COLOR DE MARCA FORZADO
   "Madrid no termina en la M-30"
   ========================================================== */

body .mcz-site .mcz-areas{
    color:#FFFDF9 !important;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(231,160,135,.19),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 90%,
            rgba(156,70,52,.12),
            transparent 30%
        ),
        linear-gradient(
            140deg,
            #34312E,
            #242321 72%
        ) !important;
}

body .mcz-site .mcz-areas::before{
    border-color:rgba(231,160,135,.10) !important;

    box-shadow:
        inset 0 0 0 90px
        rgba(231,160,135,.018) !important;
}

body .mcz-site .mcz-areas .mcz-kicker,
body .mcz-site .mcz-areas .mcz-kicker *,
body .mcz-site .mcz-areas .mcz-kicker::before{
    color:#E7A087 !important;
}

body .mcz-site .mcz-areas .mcz-kicker::before{
    background:#E7A087 !important;
}

body .mcz-site .mcz-areas .mcz-h2,
body .mcz-site .mcz-areas .mcz-h2 *,
body .mcz-site .mcz-areas h2{
    color:#FFFDF9 !important;
}

body .mcz-site .mcz-areas .mcz-section-copy,
body .mcz-site .mcz-areas .mcz-section-copy *{
    color:rgba(255,253,249,.64) !important;
}

body .mcz-site .mcz-areas .mcz-area{
    color:rgba(255,253,249,.88) !important;

    border-color:rgba(231,160,135,.15) !important;

    background:
        rgba(255,253,249,.035) !important;
}

body .mcz-site .mcz-areas .mcz-area::before{
    background:
        rgba(199,116,92,.20) !important;
}

body .mcz-site .mcz-areas .mcz-area:hover{
    color:#FFFDF9 !important;

    border-color:
        rgba(231,160,135,.40) !important;

    background:
        rgba(199,116,92,.11) !important;
}

body .mcz-site .mcz-areas .mcz-area span{
    color:#E7A087 !important;
    opacity:.90 !important;
}

body .mcz-site .mcz-areas .mcz-area strong{
    color:inherit !important;
}


/* ==========================================================
   MADRID CERCA — MEGAMENÚ DE CIUDADES PARA ASTRA
   AÑADIDO AL FINAL. NO MODIFICA EL CSS ANTERIOR.
   ========================================================== */

/*
   Paleta de marca aplicada al submenú Madrid Cerca:
   Carbón     #25282B
   Carbón 2   #34312E
   Terracota  #9C4634
   Terracota2 #AE5A45
   Terracota3 #C7745C
   Crema      #F3E2DA
   Marfil     #FBF4EF
   Fondo      #F8F3EC
*/

@media (min-width: 922px){

    /* El padre debe servir de referencia al desplegable */
    .ast-desktop .main-header-menu > .menu-item-has-children{
        position:relative !important;
    }

    /* ----------------------------------------------------------
       PANEL PRINCIPAL
       ---------------------------------------------------------- */
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu{
        position:absolute !important;
        z-index:999999 !important;
        top:100% !important;
        left:auto !important;
        right:0 !important;

        display:grid !important;
        grid-template-columns:repeat(4,minmax(135px,1fr)) !important;
        gap:2px 14px !important;

        width:min(880px,calc(100vw - 40px)) !important;
        min-width:0 !important;
        max-width:880px !important;

        margin:0 !important;
        padding:16px 18px 18px !important;

        max-height:min(76vh,560px) !important;
        overflow:auto !important;

        border:1px solid rgba(156,70,52,.14) !important;
        border-radius:18px !important;

        background:
            radial-gradient(
                circle at 92% 4%,
                rgba(199,116,92,.11),
                transparent 27%
            ),
            linear-gradient(
                180deg,
                #FFFDF9,
                #F8F3EC
            ) !important;

        box-shadow:
            0 10px 24px rgba(37,40,43,.05),
            0 30px 72px rgba(37,40,43,.14) !important;

        backdrop-filter:blur(18px) saturate(1.08);
        -webkit-backdrop-filter:blur(18px) saturate(1.08);

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;

        transform:
            translateY(8px)
            scale(.985) !important;

        transform-origin:top right !important;

        transition:
            opacity .20s ease,
            visibility .20s ease,
            transform .24s cubic-bezier(.2,.8,.2,1),
            box-shadow .24s ease !important;
    }

    /* Sin cabecera adicional dentro del submenú:
       se muestran directamente los municipios. */

    /* ----------------------------------------------------------
       APERTURA
       ---------------------------------------------------------- */
    .ast-desktop .main-header-menu > .menu-item-has-children:hover > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:focus-within > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children.ast-submenu-expanded > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:hover > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:focus-within > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children.ast-submenu-expanded > .sub-menu{
        left:auto !important;
        right:0 !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;

        transform:
            translateY(0)
            scale(1) !important;
    }

    /* ----------------------------------------------------------
       ELEMENTOS DE CIUDAD
       ---------------------------------------------------------- */
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li{
        position:relative !important;
        float:none !important;

        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;

        border:0 !important;
        background:transparent !important;
    }

    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:10px !important;

        width:100% !important;
        min-height:36px !important;

        margin:0 !important;
        padding:5px 8px !important;

        overflow:visible !important;

        border:1px solid transparent !important;
        border-radius:10px !important;

        color:#3C3936 !important;
        background:transparent !important;

        font-size:12.5px !important;
        font-weight:650 !important;
        line-height:1.18 !important;
        letter-spacing:-.012em !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        word-break:normal !important;
        hyphens:auto !important;

        box-shadow:none !important;

        transition:
            transform .19s cubic-bezier(.2,.8,.2,1),
            color .19s ease,
            background .19s ease,
            border-color .19s ease,
            box-shadow .19s ease !important;
    }

    /* ----------------------------------------------------------
       QUITAR ICONOS DE LOCALIZACIÓN / ICONOS DECORATIVOS
       ---------------------------------------------------------- */
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a > svg,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a > i,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a > img,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a .menu-icon,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a .wp-menu-image,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a > svg,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a > i,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a > img,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a .menu-icon,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a .wp-menu-image{
        display:none !important;
    }

    /* ----------------------------------------------------------
       PUNTO DE MADRID CERCA
       ---------------------------------------------------------- */
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a::before,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link::before,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a::before,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link::before{
        content:"" !important;

        position:relative !important;
        inset:auto !important;

        display:block !important;
        flex:0 0 auto !important;

        width:6px !important;
        height:6px !important;

        margin:0 !important;

        border:0 !important;
        border-radius:50% !important;

        background:#AE5A45 !important;

        box-shadow:
            0 0 0 4px rgba(199,116,92,.12) !important;

        opacity:1 !important;

        transform:none !important;

        transition:
            transform .20s cubic-bezier(.2,.8,.2,1),
            background .20s ease,
            box-shadow .20s ease !important;
    }

    /* ----------------------------------------------------------
       HOVER: MOVIMIENTO + LUZ + PUNTO
       ---------------------------------------------------------- */
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a:hover,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a:focus,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:hover,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:focus,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a:hover,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a:focus,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:hover,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:focus{
        color:#9C4634 !important;

        border-color:rgba(156,70,52,.14) !important;

        background:
            linear-gradient(
                90deg,
                rgba(243,226,218,.92),
                rgba(251,244,239,.70)
            ) !important;

        box-shadow:
            inset 0 0 0 1px rgba(199,116,92,.05),
            0 6px 14px rgba(37,40,43,.04) !important;

        transform:translateX(3px) !important;
    }

    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a:hover::before,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a:focus::before,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:hover::before,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:focus::before,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a:hover::before,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a:focus::before,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:hover::before,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link:focus::before{
        background:#9C4634 !important;

        transform:scale(1.28) !important;

        box-shadow:
            0 0 0 5px rgba(199,116,92,.12),
            0 0 14px rgba(156,70,52,.20) !important;
    }

    /* Estado actual */
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li.current-menu-item > a,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li.current_page_item > a{
        color:#9C4634 !important;
        background:#FBF4EF !important;
        font-weight:760 !important;
    }

    /* Evita líneas y fondos heredados de Astra */
    .ast-desktop .main-header-menu .sub-menu .menu-link{
        border-left:0 !important;
        border-right:0 !important;
        border-top:0 !important;
        border-bottom:0 !important;
    }
}



@media (min-width: 922px) and (max-width: 1280px){
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu{
        grid-template-columns:repeat(4,minmax(120px,1fr)) !important;
        width:min(760px,calc(100vw - 28px)) !important;
        max-width:760px !important;
        padding:14px 14px 15px !important;
        gap:2px 10px !important;
    }

    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > a,
    .ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > a,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children > .sub-menu > li > .menu-link{
        font-size:11.8px !important;
        min-height:34px !important;
        padding:4px 7px !important;
    }
}

/* ==========================================================
   ASTRA — TABLET / MÓVIL
   Mantiene el menú usable sin convertirlo en megamenú flotante
   ========================================================== */

@media (max-width: 921px){

    .main-header-menu .sub-menu,
    .ast-builder-menu-mobile .main-header-menu .sub-menu,
    .ast-mobile-popup-content .main-header-menu .sub-menu{
        background:#F8F3EC !important;
    }

    .main-header-menu .sub-menu > li > a,
    .main-header-menu .sub-menu > li > .menu-link,
    .ast-builder-menu-mobile .main-header-menu .sub-menu > li > a,
    .ast-builder-menu-mobile .main-header-menu .sub-menu > li > .menu-link,
    .ast-mobile-popup-content .main-header-menu .sub-menu > li > a,
    .ast-mobile-popup-content .main-header-menu .sub-menu > li > .menu-link{
        position:relative !important;
        color:#3C3936 !important;
        transition:color .18s ease,background .18s ease,padding-left .18s ease !important;
    }

    .main-header-menu .sub-menu > li > a:hover,
    .main-header-menu .sub-menu > li > .menu-link:hover,
    .ast-builder-menu-mobile .main-header-menu .sub-menu > li > a:hover,
    .ast-builder-menu-mobile .main-header-menu .sub-menu > li > .menu-link:hover,
    .ast-mobile-popup-content .main-header-menu .sub-menu > li > a:hover,
    .ast-mobile-popup-content .main-header-menu .sub-menu > li > .menu-link:hover{
        color:#9C4634 !important;
        background:#FBF4EF !important;
        padding-left:1.35em !important;
    }
}


/* ==========================================================
   ACCESIBILIDAD: REDUCIR MOVIMIENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce){
    .main-header-menu .sub-menu,
    .main-header-menu .sub-menu *,
    .main-header-menu .sub-menu *::before,
    .main-header-menu .sub-menu *::after{
        animation:none !important;
        transition-duration:.01ms !important;
    }
}


/* ==========================================================
   FIX — SUBMENÚ "RANKINGS DE MADRID" COMPLETAMENTE VISIBLE
   Añadido al final para no modificar ni eliminar CSS anterior.
   Centra únicamente el desplegable de Rankings respecto a su
   elemento del menú, evitando que se salga por el lado izquierdo.
   ========================================================== */

@media (min-width: 922px){

    /* Rankings de Madrid: enlace /tops/ */
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]) > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]) > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]) > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]) > .sub-menu{
        left:50% !important;
        right:auto !important;
        transform:translate(-50%,8px) scale(.985) !important;
        transform-origin:top center !important;
    }

    /* Estado abierto: conserva el centrado horizontal */
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]):hover > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]):focus-within > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]).ast-submenu-expanded > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]):hover > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]):focus-within > .sub-menu,
    .ast-desktop .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]).ast-submenu-expanded > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]):hover > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]):focus-within > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> a[href*="/tops"]).ast-submenu-expanded > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]):hover > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]):focus-within > .sub-menu,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item-has-children:has(> .menu-link[href*="/tops"]).ast-submenu-expanded > .sub-menu{
        left:50% !important;
        right:auto !important;
        transform:translate(-50%,0) scale(1) !important;
    }
}

/* ==========================================================
   FIX V2 — RANKINGS DE MADRID · ASTRA
   No elimina ni modifica código anterior.
   Apunta al 3er elemento real del menú principal, que en la
   cabecera actual es "Rankings de Madrid". No depende del href.
   ========================================================== */

@media (min-width:922px){

    /* Evita que contenedores de Astra recorten el megamenú */
    #ast-desktop-header,
    #ast-desktop-header .ast-primary-header-bar,
    #ast-desktop-header .site-primary-header-wrap,
    #ast-desktop-header .ast-builder-grid-row-container,
    #ast-desktop-header .ast-builder-grid-row,
    #ast-desktop-header .site-header-primary-section-right,
    #ast-desktop-header .ast-builder-menu,
    #ast-desktop-header .main-header-bar-navigation,
    #ast-desktop-header .main-navigation,
    #ast-desktop-header .main-header-menu{
        overflow:visible !important;
    }

    /* El tercer elemento superior es Rankings de Madrid */
    #ast-desktop-header .main-header-menu > li:nth-child(3),
    #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li:nth-child(3){
        position:relative !important;
    }

    /* Posición y tamaño del panel */
    #ast-desktop-header .main-header-menu > li:nth-child(3) > .sub-menu,
    #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li:nth-child(3) > .sub-menu{
        left:50% !important;
        right:auto !important;

        width:min(880px,calc(100vw - 32px)) !important;
        min-width:0 !important;
        max-width:880px !important;

        grid-template-columns:repeat(4,minmax(0,1fr)) !important;

        transform:translate(-50%,8px) scale(.985) !important;
        transform-origin:top center !important;
    }

    /* Abierto: mantiene el panel centrado y completamente visible */
    #ast-desktop-header .main-header-menu > li:nth-child(3):hover > .sub-menu,
    #ast-desktop-header .main-header-menu > li:nth-child(3):focus-within > .sub-menu,
    #ast-desktop-header .main-header-menu > li:nth-child(3).ast-submenu-expanded > .sub-menu,
    #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li:nth-child(3):hover > .sub-menu,
    #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li:nth-child(3):focus-within > .sub-menu,
    #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li:nth-child(3).ast-submenu-expanded > .sub-menu{
        left:50% !important;
        right:auto !important;

        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;

        transform:translate(-50%,0) scale(1) !important;
    }
}

/* En pantallas de escritorio algo más estrechas, conserva las 4 columnas
   pero reduce el panel para que nunca toque los laterales de la ventana. */
@media (min-width:922px) and (max-width:1280px){
    #ast-desktop-header .main-header-menu > li:nth-child(3) > .sub-menu,
    #ast-desktop-header .ast-builder-menu-1 .main-header-menu > li:nth-child(3) > .sub-menu{
        width:min(760px,calc(100vw - 28px)) !important;
        max-width:760px !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
}

/* ==========================================================
   MADRID CERCA — FOOTER COMPACTO PROFESIONAL V4
   - Conserva el acabado Premium
   - Elimina iconos de Contacto / Registrar empresa
   - Reduce altura y scroll en escritorio, tablet y móvil
   ========================================================== */

.footer-premium--horizontal .footer-premium__wrap{
    padding:18px 0 8px !important;
}

.footer-premium--horizontal .footer-premium__row{
    grid-template-columns:
        minmax(120px,155px)
        minmax(190px,1fr)
        minmax(150px,.82fr)
        minmax(165px,.88fr) !important;
    gap:clamp(16px,2.2vw,30px) !important;
}

.footer-premium--horizontal .footer-premium__brand--stack{
    gap:4px !important;
}

.footer-premium--horizontal .footer-premium__logo-img,
.footer-premium--horizontal .footer-premium__logo-holder img,
.footer-premium--horizontal .footer-premium__logo-holder svg{
    width:76px !important;
    height:76px !important;
    max-width:76px !important;
    max-height:76px !important;
}

.footer-premium--horizontal .footer-premium__brand-name{
    max-width:150px !important;
    font-size:.86rem !important;
    line-height:1.02 !important;
}

.footer-premium--horizontal h3{
    margin:2px 0 7px !important;
    font-size:.68rem !important;
    line-height:1.05 !important;
}

.footer-premium--horizontal .footer-premium__contact-list{
    gap:0 !important;
}

.footer-premium--horizontal .footer-premium__contact-item{
    min-height:23px !important;
    gap:0 !important;
    padding:1px 0 !important;
    font-size:.70rem !important;
    line-height:1.15 !important;
}

/* El usuario no quiere iconos decorativos en Contacto ni Registrar empresa. */
.footer-premium--horizontal .footer-premium__contact-item .footer-premium__icon{
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    flex:0 0 0 !important;
    margin:0 !important;
}

.footer-premium--horizontal .footer-premium__contact-item .footer-premium__icon::before,
.footer-premium--horizontal .footer-premium__contact-item .footer-premium__icon::after{
    content:none !important;
    display:none !important;
}

.footer-premium--horizontal .footer-premium__contact-item::after{
    display:none !important;
    content:none !important;
}

.footer-premium--horizontal .footer-premium__links li{
    margin:0 0 2px !important;
}

.footer-premium--horizontal .footer-premium__links a{
    font-size:.70rem !important;
    line-height:1.18 !important;
    padding:1px 0 !important;
}

.footer-premium--horizontal .footer-premium__bottom{
    margin-top:10px !important;
    padding-top:7px !important;
    padding-bottom:0 !important;
    font-size:.62rem !important;
    line-height:1.15 !important;
}

.footer-premium--horizontal .footer-premium__bottom p{
    font-size:.62rem !important;
    line-height:1.15 !important;
}

@media(max-width:1024px){
    .footer-premium--horizontal .footer-premium__wrap{
        padding-top:16px !important;
        padding-bottom:8px !important;
    }

    .footer-premium--horizontal .footer-premium__row{
        gap:14px 18px !important;
    }

    .footer-premium--horizontal .footer-premium__logo-img,
    .footer-premium--horizontal .footer-premium__logo-holder img,
    .footer-premium--horizontal .footer-premium__logo-holder svg{
        width:66px !important;
        height:66px !important;
        max-width:66px !important;
        max-height:66px !important;
    }
}

@media(max-width:767px){
    .footer-premium--horizontal .footer-premium__wrap{
        width:calc(100% - 24px) !important;
        padding:16px 0 8px !important;
    }

    .footer-premium--horizontal .footer-premium__row{
        grid-template-columns:1fr 1fr !important;
        gap:14px 16px !important;
    }

    .footer-premium--horizontal .footer-premium__brandcol{
        grid-column:1 / -1 !important;
    }

    .footer-premium--horizontal .footer-premium__legalcol{
        grid-column:auto !important;
    }

    .footer-premium--horizontal .footer-premium__logo-img,
    .footer-premium--horizontal .footer-premium__logo-holder img,
    .footer-premium--horizontal .footer-premium__logo-holder svg{
        width:58px !important;
        height:58px !important;
        max-width:58px !important;
        max-height:58px !important;
    }

    .footer-premium--horizontal h3{
        margin:0 0 6px !important;
        font-size:.66rem !important;
    }

    .footer-premium--horizontal .footer-premium__bottom{
        margin-top:9px !important;
    }
}

@media(max-width:520px){
    /* No volver a una sola columna: evita que el footer sea innecesariamente alto. */
    .footer-premium--horizontal .footer-premium__row{
        grid-template-columns:1fr 1fr !important;
        gap:13px 12px !important;
    }

    .footer-premium--horizontal .footer-premium__brandcol{
        grid-column:1 / -1 !important;
    }

    .footer-premium--horizontal .footer-premium__contactcol,
    .footer-premium--horizontal .footer-premium__mapcol,
    .footer-premium--horizontal .footer-premium__legalcol{
        text-align:center !important;
    }

    .footer-premium--horizontal .footer-premium__legalcol{
        grid-column:1 / -1 !important;
    }

    .footer-premium--horizontal .footer-premium__contact-list{
        align-items:center !important;
    }

    .footer-premium--horizontal .footer-premium__contact-item{
        justify-content:center !important;
        min-height:21px !important;
    }
}
