.smi-pd-page{--smi-primary:#1498c6;--smi-accent:#20c1ed;--smi-dark:#414042;--smi-light:#f4fafc;--smi-surface:#fff;--smi-content:1240px;--smi-radius:24px;background:var(--smi-light);color:var(--smi-dark)}.smi-pd-site-main{overflow:hidden}.smi-pd-shell,.smi-pd-content>.wp-block-group,.smi-pd-content>.wp-block-columns,.smi-pd-content>.wp-block-table,.smi-pd-content>.wp-block-quote{width:min(calc(100% - 40px),var(--smi-content));margin-left:auto!important;margin-right:auto!important}.smi-pd-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--smi-hero-height,560px);overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--smi-hero-a,#0b2e43),var(--smi-hero-b,#1498c6))}.smi-pd-hero:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.13));z-index:-1}.smi-pd-particles{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.smi-pd-hero-glow{position:absolute;border-radius:50%;filter:blur(8px);opacity:.26;z-index:-1}.smi-pd-hero-glow-one{width:440px;height:440px;right:-130px;top:-140px;background:var(--smi-accent)}.smi-pd-hero-glow-two{width:330px;height:330px;left:-130px;bottom:-170px;background:#fff}.smi-pd-hero-inner{width:min(calc(100% - 40px),var(--smi-content));margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:70px;align-items:center;padding:80px 0}.smi-pd-align-center .smi-pd-hero-inner{grid-template-columns:1fr;text-align:center}.smi-pd-align-center .smi-pd-hero-copy{max-width:920px;margin:auto}.smi-pd-align-center .smi-pd-hero-logo{display:none}.smi-pd-kicker,.smi-pd-badge{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.smi-pd-kicker{margin-bottom:18px;color:#fff}.smi-pd-kicker:before{content:"";width:34px;height:2px;background:var(--smi-accent);box-shadow:0 0 14px var(--smi-accent)}.smi-pd-badge{display:flex;width:max-content;margin:0 0 20px;padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);letter-spacing:.04em;text-transform:none}.smi-pd-align-center .smi-pd-badge{margin-left:auto;margin-right:auto}.smi-pd-hero h1{color:#fff;margin:0;font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:-.045em;max-width:980px}.smi-pd-hero-copy>p{max-width:790px;margin:24px 0 0;color:rgba(255,255,255,.88);font-size:clamp(17px,2vw,22px);line-height:1.7}.smi-pd-align-center .smi-pd-hero-copy>p{margin-left:auto;margin-right:auto}.smi-pd-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.smi-pd-align-center .smi-pd-hero-actions{justify-content:center}.smi-pd-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border-radius:999px;text-decoration:none!important;font-weight:800;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.smi-pd-btn:hover{transform:translateY(-2px)}.smi-pd-btn-primary{color:#073248!important;background:var(--smi-accent);box-shadow:0 12px 30px rgba(4,33,47,.26)}.smi-pd-btn-primary:hover{background:#fff}.smi-pd-btn-ghost{color:#fff!important;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08)}.smi-pd-btn-ghost:hover{background:rgba(255,255,255,.17)}.smi-pd-hero-logo{display:flex;justify-content:flex-end}.smi-pd-logo-shell{position:relative;width:min(100%,440px);padding:26px;border:1px solid rgba(255,255,255,.28);border-radius:32px;background:rgba(255,255,255,.94);box-shadow:0 30px 70px rgba(5,31,44,.28);transform:rotate(2deg)}.smi-pd-logo-shell:before{content:"";position:absolute;inset:-12px;border:1px solid rgba(255,255,255,.15);border-radius:40px}.smi-pd-logo-shell img{display:block;width:100%;height:auto}.smi-pd-subnav{position:relative;z-index:10;background:#fff;border-bottom:1px solid rgba(65,64,66,.1);box-shadow:0 8px 24px rgba(15,44,58,.06)}.smi-pd-subnav-inner{width:min(calc(100% - 30px),var(--smi-content));margin:auto;display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}.smi-pd-subnav a{flex:0 0 auto;padding:10px 14px;border-radius:999px;text-decoration:none!important;color:var(--smi-dark);font-weight:700;font-size:14px}.smi-pd-subnav a:hover,.smi-pd-subnav a.is-active{background:var(--smi-light);color:var(--smi-primary)}.smi-pd-article{margin:0!important;padding:0!important;max-width:none!important}.smi-pd-content{padding:32px 0 12px}.smi-section{padding:88px 0}.smi-section+.smi-section{border-top:1px solid rgba(65,64,66,.08)}.smi-section-head{max-width:900px;margin:0 0 38px!important}.smi-eyebrow{margin:0 0 12px!important;color:var(--smi-primary);font-weight:900;letter-spacing:.11em;text-transform:uppercase;font-size:12px}.smi-section h2,.smi-media-profile h2{margin:0;color:#22333b;font-size:clamp(32px,4.8vw,56px);line-height:1.08;letter-spacing:-.035em}.smi-section h3{color:#263a43}.smi-lead{margin:18px 0 0!important;max-width:900px;color:#5c6b72;font-size:clamp(17px,2vw,21px);line-height:1.75}.smi-grid{display:grid!important;gap:20px}.smi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.smi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.smi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.smi-card,.smi-feature{position:relative;height:100%;padding:30px!important;border:1px solid rgba(20,152,198,.12);border-radius:var(--smi-radius);background:var(--smi-surface);box-shadow:0 18px 40px rgba(15,45,58,.07);overflow:hidden}.smi-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--smi-primary),var(--smi-accent));opacity:0;transition:opacity .22s ease}.smi-card:hover:before{opacity:1}.smi-card h3,.smi-feature h3{margin:0 0 12px!important;font-size:22px;line-height:1.25}.smi-card p,.smi-feature p{margin:0!important;color:#65747a;line-height:1.72}.smi-card-number,.smi-feature-number,.smi-tech-mark,.smi-studio-mark{display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;color:var(--smi-primary);font-weight:900;font-size:13px;letter-spacing:.08em}.smi-card-number,.smi-feature-number{width:44px;height:44px;border-radius:14px;background:var(--smi-light)}.smi-tech-mark,.smi-studio-mark{min-width:64px;height:44px;padding:0 13px;border-radius:999px;background:linear-gradient(135deg,var(--smi-primary),var(--smi-accent));color:#fff}.smi-feature{background:linear-gradient(180deg,#fff,#f8fcfd)}.smi-split{gap:22px!important}.smi-split-panel{padding:34px;border-radius:var(--smi-radius);background:#fff;border:1px solid rgba(20,152,198,.12);box-shadow:0 16px 36px rgba(15,45,58,.06)}.smi-split-panel h3{margin-top:0;font-size:24px}.smi-split-panel p,.smi-split-panel li{color:#5f7078;line-height:1.75}.smi-split-panel ul{padding-left:20px}.smi-stats-wrap{padding:38px 0!important}.smi-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--smi-radius);overflow:hidden;background:linear-gradient(135deg,#0b2e43,#135f7e);box-shadow:0 24px 60px rgba(9,46,66,.2)}.smi-stat{padding:34px 28px;color:#fff;border-right:1px solid rgba(255,255,255,.12)}.smi-stat:last-child{border-right:0}.smi-stat strong,.smi-stat span{display:block}.smi-stat strong{font-size:clamp(28px,4vw,46px);line-height:1;color:var(--smi-accent);letter-spacing:-.03em}.smi-stat span{margin-top:10px;color:rgba(255,255,255,.8);font-size:14px;line-height:1.5}.smi-quote-wrap{padding:30px 0 60px!important}.smi-quote{position:relative;margin:0!important;padding:52px 56px!important;border:0!important;border-radius:var(--smi-radius);background:linear-gradient(135deg,var(--smi-primary),#0d5f80);color:#fff;box-shadow:0 22px 55px rgba(13,88,119,.2)}.smi-quote:before{content:"“";position:absolute;right:30px;top:-20px;font-size:160px;line-height:1;color:rgba(255,255,255,.12);font-family:Georgia,serif}.smi-quote p{position:relative;margin:0!important;font-size:clamp(24px,3.8vw,42px);font-weight:800;line-height:1.35;letter-spacing:-.02em}.smi-table{overflow-x:auto;border-radius:var(--smi-radius);box-shadow:0 18px 40px rgba(15,45,58,.07)}.smi-table table{margin:0;width:100%;border-collapse:collapse;background:#fff}.smi-table th{padding:18px;background:#10384c;color:#fff;text-align:left}.smi-table td{padding:18px;border-bottom:1px solid #e6eef1;color:#5c6b72}.smi-table tr:last-child td{border-bottom:0}.smi-media-profile{display:grid!important;grid-template-columns:120px minmax(0,1fr);gap:32px;padding:80px 0!important;border-top:1px solid rgba(65,64,66,.09)}.smi-media-number{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:28px;background:linear-gradient(135deg,var(--smi-primary),var(--smi-accent));color:#fff;font-size:32px;font-weight:900;box-shadow:0 18px 38px rgba(20,152,198,.22)}.smi-media-content .smi-lead{margin-bottom:28px!important}.smi-media-detail{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px}.smi-media-detail ul{margin:0;padding:28px 28px 28px 48px;border-radius:var(--smi-radius);background:#fff;box-shadow:0 15px 34px rgba(15,45,58,.06)}.smi-media-detail li{margin:9px 0;color:#52636b}.smi-media-highlight{padding:30px;border-radius:var(--smi-radius);background:linear-gradient(135deg,#eaf8fc,#fff);border:1px solid rgba(20,152,198,.16);color:#31515f;font-size:17px;line-height:1.75}.smi-process{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.smi-process-step{position:relative;padding:28px;border-radius:var(--smi-radius);background:#fff;border:1px solid rgba(20,152,198,.12)}.smi-process-step>span{display:block;color:var(--smi-primary);font-weight:900;font-size:13px;letter-spacing:.1em;margin-bottom:18px}.smi-process-step h3{margin:0 0 8px;font-size:21px}.smi-process-step p{margin:0;color:#65747a;line-height:1.65}.smi-notice{margin-top:28px!important;padding:24px 28px!important;border-left:5px solid var(--smi-accent);border-radius:14px;background:#eaf8fc}.smi-notice p{margin:0!important;color:#31515f;font-size:17px;line-height:1.75}.smi-global-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:40px 0 90px;padding:46px;border-radius:var(--smi-radius);background:linear-gradient(135deg,#0a2c40,#137ea7);color:#fff;box-shadow:0 24px 60px rgba(9,46,66,.2)}.smi-global-cta span{color:var(--smi-accent);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:12px}.smi-global-cta h2{max-width:820px;margin:10px 0 0;color:#fff;font-size:clamp(28px,4vw,46px);line-height:1.15;letter-spacing:-.035em}.smi-global-cta .smi-pd-btn{flex:0 0 auto}.smi-pd-content a{color:var(--smi-primary)}@media(max-width:1050px){.smi-pd-hero-inner{grid-template-columns:1fr;gap:40px}.smi-pd-hero-logo{justify-content:flex-start}.smi-pd-logo-shell{width:min(100%,360px)}.smi-grid-4,.smi-process{grid-template-columns:repeat(2,minmax(0,1fr))}.smi-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.smi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.smi-stat:nth-child(2){border-right:0}.smi-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.smi-media-detail{grid-template-columns:1fr}.smi-global-cta{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.smi-pd-shell,.smi-pd-content>.wp-block-group,.smi-pd-content>.wp-block-columns,.smi-pd-content>.wp-block-table,.smi-pd-content>.wp-block-quote{width:min(calc(100% - 28px),var(--smi-content))}.smi-pd-hero-inner{width:min(calc(100% - 28px),var(--smi-content));padding:62px 0}.smi-pd-hero h1{font-size:clamp(39px,13vw,58px)}.smi-pd-hero-logo{display:none}.smi-section{padding:64px 0}.smi-grid-2,.smi-grid-3,.smi-grid-4,.smi-process{grid-template-columns:1fr}.smi-stats{grid-template-columns:1fr}.smi-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)!important}.smi-stat:last-child{border-bottom:0!important}.smi-split{display:block!important}.smi-split-panel+.smi-split-panel{margin-top:16px}.smi-media-profile{grid-template-columns:1fr;padding:60px 0!important}.smi-media-number{width:72px;height:72px;border-radius:22px;font-size:25px}.smi-quote{padding:36px 28px!important}.smi-global-cta{padding:32px 24px;margin-bottom:64px}.smi-card,.smi-feature{padding:24px!important}.smi-table th,.smi-table td{padding:14px;min-width:150px}}@media(prefers-reduced-motion:reduce){.smi-pd-btn,.smi-card:before{transition:none!important}.smi-pd-btn:hover{transform:none}}


/* =========================================================
   Compatibilidad de ancho completo y cuadrículas — v1.0.1
   Estas reglas se mantienen al final para ganar prioridad
   frente a estilos globales del tema y de los bloques.
   ========================================================= */
body.smi-pd-page,
body.smi-pd-page #page,
body.smi-pd-page .site,
body.smi-pd-page .site-content,
body.smi-pd-page #content,
body.smi-pd-page .content-area {
    max-width: none !important;
}

body.smi-pd-page .site-content,
body.smi-pd-page #content,
body.smi-pd-page .content-area {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
}

body.smi-pd-page #smi-pd-primary.smi-pd-site-main {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex: 0 0 100% !important;
    overflow: clip;
}

body.smi-pd-page #smi-pd-primary > .smi-pd-hero,
body.smi-pd-page #smi-pd-primary > .smi-pd-subnav,
body.smi-pd-page #smi-pd-primary > .smi-pd-article {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.smi-pd-page .smi-pd-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.smi-pd-page .smi-pd-content > .smi-section,
body.smi-pd-page .smi-pd-content > .smi-stats-wrap,
body.smi-pd-page .smi-pd-content > .smi-quote-wrap,
body.smi-pd-page .smi-pd-shell {
    width: min(calc(100% - 40px), var(--smi-content)) !important;
    max-width: var(--smi-content) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* WordPress puede limitar los hijos de un Group con layout constrained.
   Para estas secciones, el plugin controla el ancho de forma explícita. */
body.smi-pd-page .smi-pd-content .smi-section > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.smi-pd-page .smi-pd-content .smi-stats-wrap > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.smi-pd-page .smi-pd-content .smi-quote-wrap > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.smi-pd-page .smi-pd-content .smi-section-head {
    width: 100% !important;
    max-width: 900px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.smi-pd-page .smi-pd-content .smi-grid {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 20px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    grid-auto-flow: row !important;
}

body.smi-pd-page .smi-pd-content .smi-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.smi-pd-page .smi-pd-content .smi-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.smi-pd-page .smi-pd-content .smi-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.smi-pd-page .smi-pd-content .smi-grid > .smi-card,
body.smi-pd-page .smi-pd-content .smi-grid > .smi-feature {
    position: relative !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100% !important;
    margin: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}

body.smi-pd-page .smi-pd-content .smi-split,
body.smi-pd-page .smi-pd-content .smi-media-profile,
body.smi-pd-page .smi-pd-content .smi-process,
body.smi-pd-page .smi-pd-content .smi-stats {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.smi-pd-page .smi-pd-content .smi-process {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1050px) {
    body.smi-pd-page .smi-pd-content .smi-grid-3,
    body.smi-pd-page .smi-pd-content .smi-grid-4,
    body.smi-pd-page .smi-pd-content .smi-process {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    body.smi-pd-page .smi-pd-content > .smi-section,
    body.smi-pd-page .smi-pd-content > .smi-stats-wrap,
    body.smi-pd-page .smi-pd-content > .smi-quote-wrap,
    body.smi-pd-page .smi-pd-shell {
        width: min(calc(100% - 28px), var(--smi-content)) !important;
    }

    body.smi-pd-page .smi-pd-content .smi-grid-2,
    body.smi-pd-page .smi-pd-content .smi-grid-3,
    body.smi-pd-page .smi-pd-content .smi-grid-4,
    body.smi-pd-page .smi-pd-content .smi-process {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}


/* =========================================================
   Compatibilidad Creote + Elementor + Gutenberg — v1.0.2
   El tema Creote envuelve el contenido en .auto-container y
   WordPress añade .wp-block-group__inner-container. Ambos
   comportamientos requieren reglas específicas.
   ========================================================= */

/* 1) Sacar únicamente el contenido de la plantilla SMI del
      contenedor de 1170 px que imprime Creote. El header y el
      footer de Elementor conservan sus propios contenedores. */
body.smi-pd-page #content.site-content > .auto-container.auto_container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.smi-pd-page #content.site-content > .auto-container.auto_container > .row.default_row {
    --bs-gutter-x: 0px;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.smi-pd-page #content.site-content > .auto-container.auto_container > .row.default_row > #smi-pd-primary {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2) Neutralizar el layout \"constrained\" de Gutenberg dentro
      del contenido del plugin. Las secciones siguen limitadas
      por --smi-content, pero sus componentes usan todo ese ancho. */
body.smi-pd-page .smi-pd-content .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.smi-pd-page .smi-pd-content :where(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Gutenberg inserta un contenedor extra dentro de los Group.
   display:contents permite que tarjetas y pasos vuelvan a ser
   elementos reales de la cuadrícula definida por el plugin. */
body.smi-pd-page .smi-pd-content .smi-grid > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-process > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-media-profile > .wp-block-group__inner-container {
    display: contents !important;
}

/* Alternativa explícita para instalaciones que no soporten o
   reescriban display:contents mediante optimización de CSS. */
@supports not (display: contents) {
    body.smi-pd-page .smi-pd-content .smi-grid,
    body.smi-pd-page .smi-pd-content .smi-process,
    body.smi-pd-page .smi-pd-content .smi-media-profile {
        display: block !important;
    }

    body.smi-pd-page .smi-pd-content .smi-grid > .wp-block-group__inner-container,
    body.smi-pd-page .smi-pd-content .smi-process > .wp-block-group__inner-container,
    body.smi-pd-page .smi-pd-content .smi-media-profile > .wp-block-group__inner-container {
        display: grid !important;
        gap: 20px !important;
        width: 100% !important;
    }

    body.smi-pd-page .smi-pd-content .smi-grid-2 > .wp-block-group__inner-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.smi-pd-page .smi-pd-content .smi-grid-3 > .wp-block-group__inner-container {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.smi-pd-page .smi-pd-content .smi-grid-4 > .wp-block-group__inner-container,
    body.smi-pd-page .smi-pd-content .smi-process > .wp-block-group__inner-container {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.smi-pd-page .smi-pd-content .smi-media-profile > .wp-block-group__inner-container {
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 32px !important;
    }
}

/* 3) Asegurar que las tarjetas dentro del wrapper añadido por
      Gutenberg no conserven anchos, floats o alturas del tema. */
body.smi-pd-page .smi-pd-content .smi-grid > .wp-block-group__inner-container > .smi-card,
body.smi-pd-page .smi-pd-content .smi-grid > .wp-block-group__inner-container > .smi-feature,
body.smi-pd-page .smi-pd-content .smi-process > .wp-block-group__inner-container > .smi-process-step {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100% !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

body.smi-pd-page .smi-pd-content .smi-section > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-section-head > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-stats-wrap > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-quote-wrap > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-card > .wp-block-group__inner-container,
body.smi-pd-page .smi-pd-content .smi-feature > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 1050px) {
    @supports not (display: contents) {
        body.smi-pd-page .smi-pd-content .smi-grid-3 > .wp-block-group__inner-container,
        body.smi-pd-page .smi-pd-content .smi-grid-4 > .wp-block-group__inner-container,
        body.smi-pd-page .smi-pd-content .smi-process > .wp-block-group__inner-container {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
    }
}

@media (max-width: 700px) {
    @supports not (display: contents) {
        body.smi-pd-page .smi-pd-content .smi-grid-2 > .wp-block-group__inner-container,
        body.smi-pd-page .smi-pd-content .smi-grid-3 > .wp-block-group__inner-container,
        body.smi-pd-page .smi-pd-content .smi-grid-4 > .wp-block-group__inner-container,
        body.smi-pd-page .smi-pd-content .smi-process > .wp-block-group__inner-container,
        body.smi-pd-page .smi-pd-content .smi-media-profile > .wp-block-group__inner-container {
            grid-template-columns: minmax(0, 1fr) !important;
        }
    }
}

/* =========================================================
   Espaciado de perfiles de medios y CTA final — v1.0.3
   ========================================================= */

/* Los perfiles de Ecosistema de Medios son grupos superiores.
   Esta regla recupera el mismo ancho centrado del resto de las
   secciones y evita que el número y el texto toquen los laterales. */
body.smi-pd-page .smi-pd-content > .smi-media-profile {
    width: min(calc(100% - 40px), var(--smi-content)) !important;
    max-width: var(--smi-content) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    box-sizing: border-box !important;
}

/* El marcado usa .smi-pd-global-cta. Se aplica aquí el diseño
   completo del CTA y se añade separación real respecto al footer. */
body.smi-pd-page .smi-pd-shell {
    padding-bottom: 90px !important;
    box-sizing: border-box !important;
}

body.smi-pd-page .smi-pd-global-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
    margin: 40px 0 0;
    padding: 46px;
    border-radius: var(--smi-radius);
    background: linear-gradient(135deg, #0a2c40, #137ea7);
    color: #fff;
    box-shadow: 0 24px 60px rgba(9, 46, 66, .20);
    box-sizing: border-box;
}

body.smi-pd-page .smi-pd-global-cta span {
    color: var(--smi-accent);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-size: 12px;
}

body.smi-pd-page .smi-pd-global-cta h2 {
    max-width: 820px;
    margin: 10px 0 0;
    color: #fff;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.15;
    letter-spacing: -.035em;
}

body.smi-pd-page .smi-pd-global-cta .smi-pd-btn {
    flex: 0 0 auto;
}

@media (max-width: 1050px) {
    body.smi-pd-page .smi-pd-global-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 700px) {
    body.smi-pd-page .smi-pd-content > .smi-media-profile {
        width: min(calc(100% - 28px), var(--smi-content)) !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    body.smi-pd-page .smi-pd-shell {
        padding-bottom: 64px !important;
    }

    body.smi-pd-page .smi-pd-global-cta {
        margin-top: 24px;
        padding: 32px 24px;
    }
}
