/*
Theme Name: SDC GeneratePress Child
Description: Tema hijo ligero para Soberanía Digital Consultores.
Author: Soberanía Digital Consultores
Template: generatepress
Version: 0.5.0
*/

:root{
  --sdc-ink:#142433;
  --sdc-blue:#17365D;
  --sdc-blue-2:#2E67A8;
  --sdc-petrol:#31766B;
  --sdc-amber:#B7791F;
  --sdc-border:#D7DEE5;
  --sdc-bg:#FCFCFB;
  --sdc-soft:#F3F6F8;
  --sdc-white:#FFFFFF;
  --sdc-radius:14px;
  --sdc-shadow:0 10px 28px rgba(20,36,51,.08);
}

html{scroll-behavior:smooth}
body{
  background:var(--sdc-bg);
  color:var(--sdc-ink);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
}
a{color:var(--sdc-blue-2);text-underline-offset:3px}
a:hover{color:var(--sdc-blue)}
.site-header{background:rgba(252,252,251,.98);border-bottom:1px solid var(--sdc-border)}
.inside-header{padding-top:22px;padding-bottom:22px}
.site-logo,.site-branding{max-width:620px}
.site-title{font-weight:760;letter-spacing:-.025em}
.site-title a{color:var(--sdc-blue);text-decoration:none}
.site-description{color:#597082;font-size:14px;margin-top:3px}
.main-navigation{background:var(--sdc-bg)}
.main-navigation .main-nav ul li a{color:var(--sdc-ink);font-weight:600}
.main-navigation .main-nav ul li:hover>a,
.main-navigation .main-nav ul li[class*="current-menu-"]>a{color:var(--sdc-blue);background:transparent}
.separate-containers .inside-article{padding:0;background:transparent}
.page .entry-header{display:none}
.site-content{padding-top:0}
.content-area{width:100%}
.container.grid-container{max-width:1180px}
.entry-content{margin-top:0}
.entry-content h1,.entry-content h2,.entry-content h3{
  color:var(--sdc-blue);
  letter-spacing:-.025em;
  line-height:1.14;
}
.entry-content h1{font-size:clamp(2.55rem,6vw,5rem);max-width:900px;margin-bottom:24px}
.entry-content h2{font-size:clamp(1.75rem,3vw,2.65rem);margin-top:0}
.entry-content h3{font-size:1.25rem}
.entry-content p{max-width:760px}
.sdc-wrap{max-width:1180px;margin-inline:auto;padding-inline:28px}
.sdc-section{padding:76px 0}
.sdc-section--soft{background:var(--sdc-soft)}
.sdc-section--dark{background:var(--sdc-blue);color:var(--sdc-white)}
.sdc-section--dark h1,.sdc-section--dark h2,.sdc-section--dark h3{color:var(--sdc-white)}
.sdc-section--dark a{color:var(--sdc-white)}
.sdc-hero{padding:94px 0 82px;background:linear-gradient(180deg,#F7F9FA 0%,#FCFCFB 100%)}
.sdc-eyebrow{font-size:.82rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--sdc-petrol);margin-bottom:18px}
.sdc-lead{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55;max-width:810px;color:#365163}
.sdc-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.sdc-button,.wp-block-button__link{
  display:inline-block;background:var(--sdc-blue);color:#fff!important;
  padding:14px 22px;border-radius:9px;text-decoration:none!important;font-weight:700;
  box-shadow:none
}
.sdc-button:hover,.wp-block-button__link:hover{background:#0F2B4D}
.sdc-button--ghost{background:transparent;color:var(--sdc-blue)!important;border:1px solid var(--sdc-blue)}
.sdc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.sdc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sdc-card{
  background:#fff;border:1px solid var(--sdc-border);border-radius:var(--sdc-radius);
  padding:28px;box-shadow:0 1px 0 rgba(20,36,51,.02)
}
.sdc-card h3{margin-top:0;margin-bottom:10px}
.sdc-card p{margin-bottom:0}
.sdc-number{font-size:.82rem;font-weight:800;color:var(--sdc-petrol);letter-spacing:.08em}
.sdc-question{
  border-left:4px solid var(--sdc-blue-2);padding:7px 0 7px 20px;margin:18px 0;
  font-weight:650;font-size:1.07rem
}
.sdc-status{
  display:inline-block;border-radius:999px;padding:6px 10px;font-size:.76rem;
  font-weight:800;letter-spacing:.04em;margin-right:8px
}
.sdc-status--vigente{background:#E8F4F0;color:#20594F}
.sdc-status--propuesta{background:#FFF4DC;color:#7A4B00}
.sdc-status--marco{background:#EAF0F7;color:#234E7C}
.sdc-proof{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0
}
.sdc-proof>div{border-radius:12px;padding:22px;border:1px solid var(--sdc-border);background:#fff}
.sdc-proof strong{display:block;color:var(--sdc-blue);font-size:1.08rem;margin-bottom:6px}
.sdc-callout{
  border:1px solid var(--sdc-border);border-radius:var(--sdc-radius);padding:28px;
  background:#fff;box-shadow:var(--sdc-shadow)
}
.sdc-meta{font-size:.88rem;color:#607383}
.sdc-steps{counter-reset:sdcstep;display:grid;gap:14px;margin-top:28px}
.sdc-step{position:relative;padding:20px 22px 20px 64px;border:1px solid var(--sdc-border);border-radius:12px;background:#fff}
.sdc-step:before{
  counter-increment:sdcstep;content:counter(sdcstep);
  position:absolute;left:20px;top:18px;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;background:var(--sdc-blue);color:white;font-weight:800
}
.sdc-footer-note{font-size:.88rem;color:#6A7A86}
.site-footer{border-top:1px solid var(--sdc-border)}
.site-info{background:var(--sdc-bg);color:#647580}
@media(max-width:860px){
  body{font-size:16.5px}
  .sdc-wrap{padding-inline:20px}
  .sdc-section{padding:56px 0}
  .sdc-hero{padding:64px 0 58px}
  .sdc-grid,.sdc-grid--2,.sdc-proof{grid-template-columns:1fr}
  .entry-content h1{font-size:clamp(2.35rem,12vw,3.65rem)}
}

/* ===== SDC VISUAL v0.2 ===== */
body{
  font-size:17px;
  letter-spacing:-.005em;
}
.site-header{
  border-bottom:0;
  background:#FCFCFB;
}
.inside-header{
  max-width:1180px;
  margin:0 auto;
  padding:22px 28px 16px;
}
.site-branding{
  display:flex;
  align-items:baseline;
  gap:14px;
  width:100%;
}
.site-title{
  font-size:25px;
  line-height:1.05;
  white-space:nowrap;
  letter-spacing:-.035em;
}
.site-description{
  margin:0;
  padding-left:14px;
  border-left:1px solid var(--sdc-border);
  color:#617586;
  font-size:13px;
  line-height:1.3;
  white-space:nowrap;
}

.main-navigation{
  float:none!important;
  clear:both;
  width:100%!important;
  border-top:1px solid var(--sdc-border);
  border-bottom:1px solid var(--sdc-border);
  background:#FCFCFB;
}
.main-navigation .inside-navigation{
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}
.main-navigation .main-nav>ul{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:2px;
}
.main-navigation .main-nav>ul>li>a{
  padding:13px 13px;
  font-size:13.5px;
  line-height:1.2;
  font-weight:650;
}
.main-navigation .main-nav>ul>li:last-child{
  margin-left:auto;
}
.main-navigation .main-nav>ul>li:last-child>a{
  background:var(--sdc-blue);
  color:#fff;
  border-radius:8px;
  padding:10px 16px;
  margin:6px 0;
}
.main-navigation .main-nav>ul>li:last-child>a:hover{
  background:#0F2B4D;
  color:#fff;
}

.sdc-hero{
  padding:82px 0 72px;
  background:
    radial-gradient(circle at 83% 22%, rgba(46,103,168,.08), transparent 26%),
    linear-gradient(180deg,#F6F9FA 0%,#FCFCFB 100%);
}
.sdc-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);
  gap:68px;
  align-items:center;
}
.sdc-hero-copy h1{
  margin-top:0;
  max-width:780px;
  font-size:clamp(3.2rem,5.7vw,5.25rem);
  letter-spacing:-.045em;
  line-height:1.01;
}
.sdc-hero-copy .sdc-lead{
  max-width:760px;
  font-size:1.22rem;
  line-height:1.58;
}
.sdc-map{
  position:relative;
  padding:28px;
  border:1px solid rgba(23,54,93,.18);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 22px 60px rgba(20,36,51,.10);
  backdrop-filter:blur(6px);
}
.sdc-map-title{
  color:#607383;
  font-size:.73rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:18px;
}
.sdc-map-core{
  padding:18px;
  border-radius:11px;
  background:var(--sdc-blue);
  color:#fff;
  text-align:center;
  font-size:1.18rem;
  font-weight:800;
}
.sdc-map-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0;
}
.sdc-map-node{
  padding:13px 12px;
  border:1px solid var(--sdc-border);
  border-radius:9px;
  background:#fff;
  color:#314A5D;
  text-align:center;
  font-size:.91rem;
  font-weight:700;
}
.sdc-map-connector{
  width:2px;
  height:18px;
  background:#9EB2C3;
  margin:0 auto;
}
.sdc-map-exit{
  padding:15px;
  border:1px solid rgba(49,118,107,.35);
  border-radius:10px;
  background:#EEF7F4;
  color:#20594F;
  text-align:center;
  font-weight:800;
}
.sdc-map-note{
  margin:14px 0 0!important;
  color:#6A7C89;
  font-size:.82rem;
  line-height:1.45;
  text-align:center;
}

.sdc-trust{
  border-top:1px solid var(--sdc-border);
  border-bottom:1px solid var(--sdc-border);
  background:#fff;
}
.sdc-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.sdc-trust-item{
  padding:22px 30px;
  border-right:1px solid var(--sdc-border);
}
.sdc-trust-item:last-child{border-right:0}
.sdc-trust-item strong{
  display:block;
  color:var(--sdc-blue);
  font-size:.98rem;
  margin-bottom:3px;
}
.sdc-trust-item span{
  color:#637684;
  font-size:.86rem;
}

.sdc-section{
  padding:84px 0;
}
.sdc-section h2{
  max-width:850px;
  margin-bottom:22px;
}
.sdc-card{
  padding:30px;
  border-color:#CBD7E0;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.sdc-card:hover{
  transform:translateY(-2px);
  border-color:#AEC1D0;
  box-shadow:0 10px 24px rgba(20,36,51,.06);
}
.sdc-number{
  margin-bottom:10px;
}
.sdc-question{
  padding:10px 0 10px 20px;
  border-left-width:3px;
}
.sdc-proof>div{
  padding:26px;
}
.sdc-proof>div:nth-child(3){
  border-color:rgba(49,118,107,.45);
  background:#F4FAF8;
}
.sdc-callout{
  padding:32px;
}

@media(max-width:980px){
  .site-branding{
    display:block;
  }
  .site-description{
    display:none;
  }
  .main-navigation .inside-navigation{
    padding-inline:20px;
  }
  .main-navigation .main-nav>ul>li>a{
    padding-inline:9px;
    font-size:12.5px;
  }
  .sdc-hero-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .sdc-hero-copy h1{
    max-width:760px;
    font-size:clamp(3rem,8vw,4.6rem);
  }
  .sdc-map{
    max-width:640px;
  }
}
@media(max-width:760px){
  .inside-header{
    padding:18px 20px 12px;
  }
  .site-title{
    white-space:normal;
    font-size:23px;
  }
  .sdc-hero{
    padding:58px 0 50px;
  }
  .sdc-trust-grid{
    grid-template-columns:1fr;
  }
  .sdc-trust-item{
    border-right:0;
    border-bottom:1px solid var(--sdc-border);
    padding:16px 20px;
  }
  .sdc-trust-item:last-child{border-bottom:0}
  .sdc-section{
    padding:58px 0;
  }
}

/* ===== SDC VISUAL v0.3 ===== */
.inside-header{
  padding-top:20px;
  padding-bottom:14px;
}
.site-title{
  font-size:24px;
  letter-spacing:-.04em;
}
.main-navigation .inside-navigation{
  max-width:1180px;
}
.main-navigation .main-nav>ul{
  gap:5px;
}
.main-navigation .main-nav>ul>li>a{
  padding:13px 12px;
  font-size:13.75px;
  white-space:nowrap;
}
.main-navigation .main-nav>ul>li:last-child>a{
  padding:10px 18px;
}

.sdc-hero{
  padding:74px 0 66px;
}
.sdc-hero-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  gap:58px;
}
.sdc-hero-copy h1{
  max-width:820px;
  font-size:clamp(3rem,5.1vw,4.75rem);
  line-height:1.015;
  margin-bottom:22px;
}
.sdc-hero-copy .sdc-lead{
  max-width:735px;
  font-size:1.18rem;
}
.sdc-actions{
  margin-top:30px;
}
.sdc-button,.wp-block-button__link{
  padding:14px 21px;
  font-size:.94rem;
}
.sdc-map{
  padding:26px;
}
.sdc-map-title{
  margin-bottom:16px;
}
.sdc-map-note{
  max-width:310px!important;
  margin:13px auto 0!important;
}

.sdc-trust{
  background:#F8FAFB;
}
.sdc-trust-grid{
  gap:0;
}
.sdc-trust-item{
  padding:24px 32px;
}
.sdc-trust-item strong{
  font-size:.96rem;
  letter-spacing:-.01em;
}
.sdc-trust-item span{
  display:block;
  margin-top:5px;
  font-size:.84rem;
  line-height:1.5;
}
.sdc-section{
  padding:76px 0;
}
.sdc-section--soft{
  background:#F4F7F9;
}

@media(max-width:1050px){
  .main-navigation .main-nav>ul{
    gap:0;
  }
  .main-navigation .main-nav>ul>li>a{
    padding-inline:9px;
    font-size:13px;
  }
  .sdc-hero-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);
    gap:42px;
  }
}
@media(max-width:900px){
  .sdc-hero-grid{
    grid-template-columns:1fr;
  }
  .sdc-map{
    max-width:620px;
  }
}

/* === SDC BRAND v0.1 START === */

.main-title a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.main-title a::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    background:
      url('/wp-content/uploads/sdc-brand/v0.1/sdc-header-icon-v0.1.webp')
      center / contain no-repeat;
}

.sdc-brand-footer {
    background: #fff;
    border-top: 1px solid #d8e1e8;
    padding: 34px 20px 30px;
    text-align: center;
}

.sdc-brand-footer__inner {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.sdc-brand-footer__logo {
    display: block;
    width: min(270px, 72vw);
    height: auto;
    margin: 0 auto 12px;
}

.sdc-brand-footer__descriptor {
    margin: 0;
    color: #496071;
    font-size: 13px;
}

@media (max-width: 768px) {

    .main-title {
        font-size: 17px;
        line-height: 1.15;
    }

    .main-title a {
        gap: 8px;
    }

    .main-title a::before {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .sdc-brand-footer {
        padding: 28px 14px 24px;
    }

    .sdc-brand-footer__logo {
        width: min(235px, 76vw);
    }
}

/* === SDC BRAND v0.1 END === */

/* === SDC VISUAL v0.4 START === */

/* Cabecera */
.site-header {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(8px) saturate(140%);
    border-bottom: 1px solid #d8e1e8;
}

.inside-header {
    padding-top: 14px;
    padding-bottom: 14px;
}

.main-title a {
    display: block;
    width: 340px;
    max-width: 100%;
    height: 42px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 120%;
    background: url('/wp-content/uploads/sdc-brand/v0.1/sdc-logo-horizontal-v0.1.webp') left center / contain no-repeat;
}

.main-navigation .main-nav > ul > li > a,
.main-navigation .menu > li > a {
    font-weight: 600;
    letter-spacing: 0.01em;
}

.menu-toggle {
    border: 0;
}

/* Hero global */
.sdc-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(135deg, #f5f9fc 0%, #edf3f7 48%, #f9fbfd 100%);
}

.sdc-hero > * {
    position: relative;
    z-index: 1;
}

.sdc-hero::before {
    content: "";
    position: absolute;
    right: -90px;
    top: -30px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 34%, rgba(28, 62, 110, 0.22), transparent 38%),
        radial-gradient(circle at 68% 68%, rgba(40, 120, 110, 0.18), transparent 34%),
        linear-gradient(135deg, rgba(28, 62, 110, 0.08), rgba(40, 120, 110, 0.06));
    filter: blur(3px);
    opacity: 0.9;
}

.sdc-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(27, 61, 109, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(27, 61, 109, 0.06) 1px, transparent 1px);
    background-size: 34px 34px;
    opacity: 0.18;
    -webkit-mask-image: radial-gradient(circle at 78% 30%, black 0, black 30%, transparent 70%);
    mask-image: radial-gradient(circle at 78% 30%, black 0, black 30%, transparent 70%);
}

/* Bloques gráficos / tarjetas del hero */
.sdc-hero-grid,
.sdc-trust,
.sdc-brand-footer,
.sdc-hero .wp-block-group {
    position: relative;
}

.sdc-hero-grid {
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid #cfdae3;
    box-shadow: 0 18px 42px rgba(19, 42, 71, 0.08);
    backdrop-filter: blur(8px);
}

.sdc-trust {
    background: linear-gradient(180deg, #fbfdfe 0%, #f5f9fc 100%);
    border-top: 1px solid #d8e1e8;
    border-bottom: 1px solid #d8e1e8;
}

.sdc-trust .wp-block-column,
.sdc-trust > div,
.sdc-trust > * {
    background: transparent !important;
}

/* Botones */
.wp-block-button__link,
.button,
button,
input[type="submit"] {
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(19, 42, 71, 0.10);
}

/* Footer de marca */
.sdc-brand-footer {
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
    border-top: 1px solid #d8e1e8;
    padding: 42px 20px 34px;
}

.sdc-brand-footer__logo {
    width: min(280px, 78vw);
    margin-bottom: 14px;
}

.sdc-brand-footer__descriptor {
    font-size: 13px;
    color: #4a6274;
    letter-spacing: 0.01em;
}

/* Móvil */
@media (max-width: 768px) {

    .inside-header {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .main-title {
        margin-right: auto;
    }

    .main-title a {
        width: auto;
        height: auto;
        max-width: 255px;
        overflow: visible;
        white-space: normal;
        text-indent: 0;
        background: none;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 18px;
        line-height: 1.1;
        font-weight: 700;
    }

    .main-title a::before {
        content: "";
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        background: url('/wp-content/uploads/sdc-brand/v0.1/sdc-header-icon-v0.1.webp') center / contain no-repeat;
    }

    .menu-toggle {
        min-height: 44px;
    }

    .sdc-hero::before {
        right: -120px;
        top: 10px;
        width: 260px;
        height: 260px;
        opacity: 0.75;
    }

    .sdc-hero::after {
        background-size: 26px 26px;
        opacity: 0.12;
    }

    .sdc-brand-footer {
        padding: 30px 14px 24px;
    }

    .sdc-brand-footer__logo {
        width: min(230px, 76vw);
    }
}

/* === SDC VISUAL v0.4 END === */

/* === SDC VISUAL v0.4.1 START === */

/* 1. Marca legible en cabecera: símbolo + wordmark tipográfico */
.main-title a {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    background: none !important;
    color: #102f55;
    font-size: 19px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.main-title a::before {
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    background:
      url('/wp-content/uploads/sdc-brand/v0.1/sdc-header-icon-v0.1.webp')
      center / 125% auto no-repeat;
}

.main-title a:hover {
    color: #102f55;
}

/* 2. Hero: más aire, menos "caja dentro de caja" */
.sdc-hero {
    padding-top: 46px;
    padding-bottom: 46px;
    background:
        linear-gradient(
            135deg,
            #f8fbfd 0%,
            #eef5f8 52%,
            #f8fbfc 100%
        );
}

.sdc-hero-grid {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

/* 3. Elemento ideográfico propio de la marca */
.sdc-hero::before {
    content: "";
    position: absolute;
    right: -42px;
    top: 10px;
    width: 390px;
    height: 390px;
    border-radius: 0;
    background:
      url('/wp-content/uploads/sdc-brand/v0.1/sdc-site-icon-v0.1.png')
      center / contain no-repeat;
    filter: saturate(.85);
    opacity: .075;
}

/* malla mucho más discreta */
.sdc-hero::after {
    opacity: .10;
    background-size: 38px 38px;
}

/* 4. El mapa sí debe actuar como pieza gráfica */
.sdc-map {
    background: rgba(255,255,255,.93);
    border: 1px solid #cad7e1;
    box-shadow:
        0 22px 55px rgba(21, 48, 78, .10);
    backdrop-filter: blur(8px);
}

/* 5. Algo más de jerarquía y respiración */
.sdc-eyebrow {
    letter-spacing: .09em;
}

.sdc-hero-copy .sdc-actions {
    margin-top: 24px;
}

.sdc-trust {
    box-shadow: none;
}

/* Móvil */
@media (max-width: 768px) {

    .inside-header {
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .main-title a {
        gap: 7px;
        font-size: 16.5px;
        line-height: 1;
        white-space: nowrap !important;
    }

    .main-title a::before {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
        background-size: 128% auto;
    }

    .sdc-hero {
        padding-top: 34px;
        padding-bottom: 36px;
    }

    .sdc-hero::before {
        width: 225px;
        height: 225px;
        right: -82px;
        top: 18px;
        opacity: .055;
    }

    .sdc-hero::after {
        opacity: .07;
        background-size: 30px 30px;
    }

    .sdc-map {
        box-shadow:
            0 16px 38px rgba(21, 48, 78, .09);
    }
}

/* === SDC VISUAL v0.4.1 END === */

/* === SDC MOBILE HEADER v0.4.2 START === */

@media (max-width: 768px) {

    body {
        --sdc-mobile-header-height: 58px;
    }

    .site-header {
        position: relative;
        z-index: 100;
        min-height: var(--sdc-mobile-header-height);
    }

    .inside-header {
        min-height: var(--sdc-mobile-header-height);
        padding: 8px 58px 8px 10px !important;
        display: flex;
        align-items: center;
    }

    .site-branding,
    .main-title {
        margin: 0 !important;
        min-width: 0;
    }

    .main-title a {
        font-size: 16px !important;
        gap: 7px !important;
        max-width: calc(100vw - 78px) !important;
    }

    .main-title a::before {
        width: 27px !important;
        height: 27px !important;
        flex: 0 0 27px !important;
    }

    .main-navigation {
        position: absolute !important;
        top: 0;
        right: 0;
        z-index: 110;
        width: 54px !important;
        min-height: var(--sdc-mobile-header-height);
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
    }

    .main-navigation .inside-navigation {
        position: static !important;
        min-height: var(--sdc-mobile-header-height);
        padding: 0 !important;
        display: block !important;
    }

    .main-navigation .menu-toggle {
        position: absolute !important;
        top: 7px;
        right: 7px;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .main-navigation.toggled,
    .main-navigation.mobile-menu-open {
        width: 100% !important;
        left: 0 !important;
    }

    .main-navigation.toggled .main-nav,
    .main-navigation.toggled #primary-menu {
        position: absolute;
        top: var(--sdc-mobile-header-height);
        left: 10px;
        right: 10px;
        width: auto !important;
        background: #fff;
        border: 1px solid #d4dee6;
        box-shadow: 0 18px 42px rgba(19,42,71,.12);
        border-radius: 0 0 10px 10px;
        overflow: hidden;
    }

    .main-navigation.toggled .main-nav ul {
        width: 100%;
    }

    .main-navigation.toggled .main-nav li {
        width: 100%;
    }

    .main-navigation.toggled .main-nav a {
        padding: 12px 18px !important;
    }

}

/* === SDC MOBILE HEADER v0.4.2 END === */

/* === SDC GRID v0.4.3 START === */

:root {
    --sdc-content-max: 1120px;
    --sdc-content-gutter: 28px;
}

/*
 * Una sola retícula horizontal.
 * Textos, tarjetas y bloques estructurales comparten bordes.
 */
.sdc-section > .sdc-wrap,
.sdc-band > .sdc-wrap,
.sdc-content > .sdc-wrap {
    width: min(
        var(--sdc-content-max),
        calc(100% - (var(--sdc-content-gutter) * 2))
    );
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

/*
 * Eliminamos límites editoriales antiguos en los elementos
 * principales de cada sección. Las tarjetas internas conservan
 * sus propias reglas.
 */
.sdc-section > .sdc-wrap > h1,
.sdc-section > .sdc-wrap > h2,
.sdc-section > .sdc-wrap > h3,
.sdc-section > .sdc-wrap > p,
.sdc-section > .sdc-wrap > .sdc-lead,
.sdc-section > .sdc-wrap > .sdc-intro,
.sdc-section > .sdc-wrap > .sdc-copy,
.sdc-section > .sdc-wrap > .sdc-section-copy,
.sdc-section > .sdc-wrap > .sdc-prose {
    width: 100%;
    max-width: none !important;
}

/* Grids y columnas siguen exactamente la misma anchura */
.sdc-section > .sdc-wrap > .sdc-grid,
.sdc-section > .sdc-wrap > .wp-block-columns,
.sdc-section > .sdc-wrap > .sdc-cards,
.sdc-section > .sdc-wrap > .sdc-columns {
    width: 100%;
    max-width: none;
}

/*
 * Párrafos directos: ancho completo, pero con altura de línea
 * cómoda para que el aumento de medida no empeore la lectura.
 */
.sdc-section > .sdc-wrap > p {
    line-height: 1.65;
}

/* GeneratePress: ocultar texto residual junto al icono móvil */
@media (max-width: 768px) {

    :root {
        --sdc-content-gutter: 10px;
    }

    .menu-toggle .mobile-menu,
    .main-navigation .menu-toggle .mobile-menu {
        display: none !important;
    }

    .menu-toggle .gp-icon,
    .main-navigation .menu-toggle .gp-icon {
        margin: 0 !important;
    }

    .main-navigation .menu-toggle {
        font-size: 0 !important;
    }

    .main-navigation .menu-toggle svg {
        width: 20px;
        height: 20px;
    }

    .sdc-section > .sdc-wrap > p {
        line-height: 1.6;
    }
}

/* === SDC GRID v0.4.3 END === */

/* === SDC LEGAL CSS v0.5 START === */

/*
 * Identificación legal:
 * deliberadamente secundaria, al final y sin competir
 * visualmente con el contenido comercial.
 */
.sdc-legal-id {
    margin-top: 78px;
    padding-top: 16px;
    color: #71808b;
    font-size: 12px;
    line-height: 1.55;
}

.sdc-legal-id hr {
    width: 56px;
    margin: 0 0 16px;
    border: 0;
    border-top: 1px solid #d7dee5;
}

.sdc-legal-id p {
    max-width: 650px !important;
    margin-bottom: 6px;
}

.sdc-legal-id strong {
    color: #637480;
    font-size: 12px;
    font-weight: 650;
}

.sdc-legal-id a {
    color: inherit;
}

.site-info a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {

    .sdc-legal-id {
        margin-top: 52px;
        font-size: 11.75px;
    }
}

/* === SDC LEGAL CSS v0.5 END === */

/* SDC_PLAN_SALIDA_PAGE61_V031_START
 * Plan de salida cloud · page ID 61 only.
 */

.page-id-61 .sdc-hero {
    padding-top: clamp(48px, 6vw, 72px);
    padding-bottom: clamp(46px, 5.5vw, 68px);
}

.page-id-61 .sdc-hero-grid {
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(285px, .82fr);
    gap: clamp(34px, 5vw, 68px);
    align-items: center;
}

.page-id-61 .sdc-hero h1 {
    max-width: 12.5ch;
    font-size: clamp(42px, 5vw, 66px);
    line-height: .99;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.page-id-61 .sdc-hero-copy .sdc-lead {
    max-width: 690px;
}

.page-id-61 .sdc-map {
    width: 100%;
    max-width: 390px;
    justify-self: end;
}

.page-id-61 .sdc-section {
    padding-top: clamp(58px, 6.5vw, 86px);
    padding-bottom: clamp(58px, 6.5vw, 86px);
}

.page-id-61 .sdc-card p,
.page-id-61 .sdc-step,
.page-id-61 .sdc-question,
.page-id-61 .sdc-trust-item span {
    line-height: 1.62;
}

.page-id-61 .sdc-card p {
    font-size: 15px;
}

.page-id-61 .sdc-vendor-lockin {
    margin-top: 22px;
    max-width: 900px;
    color: #40566d;
}

.page-id-61 .sdc-mid-cta {
    margin-top: 34px;
    padding: 26px 28px;
    border: 1px solid #cbd8e5;
    border-radius: 12px;
    background: #f7fafc;
}

.page-id-61 .sdc-mid-cta p {
    margin: 0 0 16px;
    max-width: 760px;
}

.page-id-61 .sdc-mid-cta .sdc-actions {
    margin-top: 0;
}

@media (max-width: 900px) {

    .page-id-61 .sdc-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .page-id-61 .sdc-hero h1 {
        max-width: 13ch;
        font-size: clamp(42px, 8vw, 58px);
    }

    .page-id-61 .sdc-map {
        max-width: 560px;
        justify-self: start;
    }
}

@media (max-width: 640px) {

    .page-id-61 .sdc-hero {
        padding-top: 38px;
        padding-bottom: 42px;
    }

    .page-id-61 .sdc-hero h1 {
        max-width: none;
        font-size: clamp(38px, 11vw, 48px);
        line-height: 1.01;
    }

    .page-id-61 .sdc-section {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .page-id-61 .sdc-mid-cta {
        padding: 22px 20px;
    }
}

/* SDC_PLAN_SALIDA_PAGE61_V031_END */
