/* ======================================================================
   GOOGLE ADS — DIAGNÓSTICO DE FUGAS DE INVERSIÓN
   Archivo: css/recursos/google-ads-loss-map.css
   ====================================================================== */

.hnw-loss-map {
    padding:145px 0 135px;
    background:linear-gradient(180deg,#1a364d 0%,#030b11 100%)!important;
    color:#fff;
}

.hnw-loss-map__head {
    margin-bottom:85px;
}

.hnw-loss-map__eyebrow {
    display:block;
    margin-bottom:17px;
    color:#F25555;
    font-family:'Poppins',sans-serif;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.hnw-loss-map__head h2 {
    max-width:720px;
    margin:0;
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:42px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:-1.2px;
}

.hnw-loss-map__head h2 span {
    color:#F25555;
}

.hnw-loss-map__head p {
    max-width:455px;
    margin:0 0 4px auto;
    color:rgba(255,255,255,.58);
    font-size:14px;
    line-height:1.75;
}


/* LÍNEA DE INVERSIÓN */

.hnw-loss-map__rail {
    position:relative;
}

.hnw-loss-map__rail-labels {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:13px;
    color:rgba(255,255,255,.42);
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hnw-loss-map__track {
    position:relative;
    width:100%;
    height:2px;
    background:rgba(255,255,255,.15);
}

.hnw-loss-map__track::after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:83.333%;
    height:2px;
    background:linear-gradient(90deg,#F25555 0%,#F25555 50%,rgba(242,85,85,.85) 61%,rgba(242,85,85,.50) 70%,rgba(242,85,85,.18) 83%,rgba(242,85,85,.08) 100%);
}

.hnw-loss-map__track-start,
.hnw-loss-map__track-end {
    position:absolute;
    top:50%;
    width:9px;
    height:9px;
    border-radius:50%;
    transform:translateY(-50%);
    background:#F25555;
    box-shadow:0 0 0 6px #17344b;
    z-index:2;
}

.hnw-loss-map__track-start {
    left:0;
}

.hnw-loss-map__track-end {
    right:0;
    background:rgba(255,255,255,.55);
}

.hnw-loss-map__track-break {
    position:absolute;
    top:50%;
    left:76%;
    width:16px;
    height:40px;
    transform:translate(-50%,-50%);
    z-index:5;
    pointer-events:none;
}

.hnw-loss-map__track-break::before {
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:26px;
    height:8px;
    background:#17344b;
    transform:translate(-50%,-50%);
}

.hnw-loss-map__track-break svg {
    position:relative;
    z-index:2;
    display:block;
    width:16px;
    height:40px;
    overflow:visible;
}

.hnw-loss-map__track-break path {
    fill:none;
    stroke:#F25555;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* FUGAS */

.hnw-loss-map__grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.hnw-loss-map__item {
    position:relative;
    min-height:285px;
    padding:64px 42px 0;
    text-align:center;
}

.hnw-loss-map__item:not(:last-child) {
    border-right:1px solid rgba(255,255,255,.08);
}

.hnw-loss-map__leak {
    position:absolute;
    top:0;
    left:50%;
    width:1px;
    height:42px;
    background:rgba(242,85,85,.55);
}

.hnw-loss-map__leak::before {
    content:"";
    position:absolute;
    top:-5px;
    left:50%;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#F25555;
    transform:translateX(-50%);
    box-shadow:0 0 0 6px #17344b;
}

.hnw-loss-map__leak span {
    position:absolute;
    bottom:-4px;
    left:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#F25555;
    transform:translateX(-50%);
}

.hnw-loss-map__number {
    display:block;
    margin-bottom:8px;
    color:#F25555;
    font-family:'Poppins',sans-serif;
    font-size:14px;
    line-height:1;
    font-weight:800;
}

.hnw-loss-map__type {
    display:block;
    margin-bottom:9px;
    color:rgba(255,255,255,.42);
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hnw-loss-map__item h3 {
    margin:0 0 15px;
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:23px;
    line-height:1.25;
    font-weight:700;
}

.hnw-loss-map__item p {
    max-width:330px;
    margin:0 auto;
    color:rgba(255,255,255,.62);
    font-size:13px;
    line-height:1.7;
}

.hnw-loss-map__scope {
    max-width:300px;
    margin:22px auto 0;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.09);
    color:rgba(255,255,255,.44);
    font-size:9px;
    line-height:1.5;
    font-weight:700;
}


/* RESULTADO */

.hnw-loss-map__result {
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:950px;
    margin:72px auto 0;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.12);
}

.hnw-loss-map__result > span {
    flex:0 0 auto;
    color:#F25555;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hnw-loss-map__result > div {
    width:35px;
    height:1px;
    margin:0 15px;
    background:#F25555;
}

.hnw-loss-map__result strong {
    color:#fff;
    font-size:14px;
    line-height:1.5;
    font-weight:600;
}


/* MOBILE */

@media only screen and (max-width:767px) {

    .hnw-loss-map {
        padding:85px 0 80px;
    }

    .hnw-loss-map__head {
        margin-bottom:48px;
        text-align:center;
    }

    .hnw-loss-map__eyebrow {
        margin-bottom:14px;
    }

    .hnw-loss-map__head h2 {
        font-size:30px!important;
        line-height:1.15;
        letter-spacing:-.7px;
    }

    .hnw-loss-map__rail-labels,
    .hnw-loss-map__track {
        display:none;
    }

    .hnw-loss-map__grid {
        display:block;
        max-width:345px;
        margin:0 auto;
    }

    .hnw-loss-map__item {
        min-height:0;
        padding:30px 0 34px 58px;
        text-align:left;
        border-right:0!important;
        border-top:1px solid rgba(255,255,255,.10);
    }

    .hnw-loss-map__item:last-child {
        border-bottom:1px solid rgba(255,255,255,.10);
    }

    .hnw-loss-map__leak {
        top:29px;
        left:18px;
        width:24px;
        height:1px;
        background:rgba(242,85,85,.55);
    }

    .hnw-loss-map__leak::before {
        top:50%;
        left:0;
        width:8px;
        height:8px;
        transform:translate(-50%,-50%);
        box-shadow:0 0 0 5px #0F2738;
    }

    .hnw-loss-map__leak span {
        display:none;
    }

    .hnw-loss-map__number {
        margin-bottom:6px;
        font-size:13px;
    }

    .hnw-loss-map__type {
        margin-bottom:7px;
        font-size:8px;
    }

    .hnw-loss-map__item h3 {
        margin-bottom:10px;
        font-size:20px!important;
    }

    .hnw-loss-map__item p {
        max-width:none;
        margin:0;
        font-size:12px;
        line-height:1.65;
    }

    .hnw-loss-map__scope {
        max-width:none;
        margin:15px 0 0;
        padding-top:11px;
        font-size:8px;
        text-align:left;
    }

    .hnw-loss-map__result {
        display:block;
        max-width:345px;
        margin:45px auto 0;
        padding-top:22px;
        text-align:center;
    }

    .hnw-loss-map__result > span {
        display:block;
        margin-bottom:10px;
    }

    .hnw-loss-map__result > div {
        width:30px;
        margin:0 auto 12px;
    }

    .hnw-loss-map__result strong {
        display:block;
        font-size:13px;
        line-height:1.5;
    }

    .hnw-loss-map__track-break {
        display:none;
    }

}


/* ======================================================================
   GOOGLE ADS — EVIDENCE / DATA PROOF
   Archivo: css/recursos/google-ads-proof.css
   ====================================================================== */

.hnw-data-proof {
    padding:125px 0 125px;
    background:#fff;
    border-top:1px solid #eef2f6;
    border-bottom:1px solid #eef2f6;
}

.hnw-data-proof__main {
    flex-direction:column;
    row-gap:24px;
}

.hnw-data-proof__main > .col-md-4,
.hnw-data-proof__main > .col-md-8 {
    flex:0 0 100%;
    max-width:100%;
}

.hnw-data-proof__copy {
    max-width:850px;
    margin:0 auto;
    padding-right:0;
    text-align:center;
}

.hnw-data-proof__eyebrow {
    display:block;
    margin-bottom:24px;
    color:#F25555;
    font-family:'Poppins',sans-serif;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.hnw-data-proof__metric {
    display:flex;
    align-items:center;
    gap:4px;
    margin-bottom:12px;
    color:#F25555;
    font-family:'Poppins',sans-serif;
    line-height:1;
    white-space:nowrap;
}

.hnw-data-proof__metric span {
    font-size:45px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.7px;
    transform:translateY(4px);
}

.hnw-data-proof__metric strong {
    font-size:73px;
    line-height:.82;
    font-weight:800;
    letter-spacing:-5px;
}

.hnw-data-proof__copy h2 {
    max-width:850px;
    margin:0 auto 14px;
    color:#0F2738;
    font-family:'Poppins',sans-serif;
    font-size:29px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:-.7px;
}

.hnw-data-proof__copy h2 span {
    display:block;
    color:#20517b;
}

.hnw-data-proof__copy > p {
    max-width:760px;
    margin:0 auto;
    color:#64748b;
    font-size:14px;
    line-height:1.75;
}

.hnw-data-proof__principle {
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid #dde5eb;
}

.hnw-data-proof__principle > span {
    width:28px;
    height:2px;
    margin-top:9px;
    flex:0 0 28px;
    background:#F25555;
}

.hnw-data-proof__principle strong {
    max-width:355px;
    color:#475569;
    font-size:12px;
    line-height:1.6;
    font-weight:600;
}


/* EVIDENCIA */

.hnw-data-proof__evidence {
    width:100%;
    margin-left:0;
    overflow:hidden;
    background:#fff;
    border:1px solid #dfe7ed;
    border-radius:18px;
    box-shadow:0 28px 65px rgba(15,39,56,.12);
}

.hnw-data-proof__bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:58px;
    padding:0 22px;
    border-bottom:1px solid #e7edf2;
    background:#fff;
}

.hnw-data-proof__bar > div {
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}

.hnw-data-proof__dot {
    display:block;
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#F25555;
}

.hnw-data-proof__bar strong {
    color:#0F2738;
    font-size:12px;
    font-weight:700;
}

.hnw-data-proof__bar small {
    padding-left:8px;
    border-left:1px solid #dbe3e9;
    color:#94a3b8;
    font-size:10px;
    line-height:1;
}

.hnw-data-proof__real {
    flex:0 0 auto;
    color:#94a3b8;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.hnw-data-proof__image {
    overflow:hidden;
    background:#fff;
}

.hnw-data-proof__image img {
    display:block;
    width:100%;
    height:auto;
}


/* SEÑALES */

.hnw-data-proof__signals {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid #dfe6ec;
}

.hnw-data-proof__signal {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:32px;
    padding:0 20px;
    text-align:center;
}

.hnw-data-proof__signal:not(:last-child)::after {
    content:"";
    position:absolute;
    top:4px;
    right:0;
    width:1px;
    height:24px;
    background:#dfe6ec;
}

.hnw-data-proof__signal > span {
    display:block;
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#F25555;
}

.hnw-data-proof__signal strong {
    color:#536576;
    font-size:11px;
    line-height:1.35;
    font-weight:700;
}


/* ======================================================================
   MOBILE
   ====================================================================== */

@media only screen and (max-width:767px) {

    .hnw-data-proof {
        padding:85px 0 80px;
    }

    .hnw-data-proof__main {
        row-gap:35px;
    }

    .hnw-data-proof__copy {
        max-width:none;
        padding-right:0;
        text-align:center;
    }

    .hnw-data-proof__eyebrow {
        margin-bottom:20px;
    }

    .hnw-data-proof__metric {
        justify-content:center;
        margin-bottom:16px;
    }

    .hnw-data-proof__metric span {
        padding-bottom:6px;
        font-size:15px;
    }

    .hnw-data-proof__metric strong {
        font-size:68px;
        letter-spacing:-4px;
    }

    .hnw-data-proof__copy h2 {
        max-width:330px;
        margin:0 auto;
        font-size:29px!important;
        line-height:1.15;
        letter-spacing:-.6px;
    }

    .hnw-data-proof__evidence {
        width:100%;
        margin-left:0;
        border-radius:13px;
        box-shadow:0 18px 45px rgba(15,39,56,.09);
    }

    .hnw-data-proof__bar {
        min-height:48px;
        padding:0 14px;
    }

    .hnw-data-proof__bar strong {
        font-size:10px;
    }

    .hnw-data-proof__bar small {
        display:none;
    }

    .hnw-data-proof__real {
        font-size:8px;
    }

    .hnw-data-proof__signals {
        grid-template-columns:repeat(2,1fr);
        margin-top:35px;
        padding-top:18px;
    }

    .hnw-data-proof__signal {
        justify-content:flex-start;
        min-height:45px;
        padding:0 12px;
        text-align:left;
    }

    .hnw-data-proof__signal:nth-child(odd)::after {
        content:"";
        position:absolute;
        top:10px;
        right:0;
        width:1px;
        height:25px;
        background:#dfe6ec;
    }

    .hnw-data-proof__signal:nth-child(even)::after {
        display:none;
    }

    .hnw-data-proof__signal:nth-child(-n+2) {
        border-bottom:1px solid #e5ebf0;
    }

    .hnw-data-proof__signal strong {
        font-size:9px;
    }

}

/* ======================================================================
   RUTA DE OPTIMIZACIÓN GOOGLE ADS
   Archivo: css/recursos/google-ads-route.css
   ====================================================================== */

.hnw-ads-route {
    padding:160px 0 140px;
    background:#ffffff;
}

.hnw-ads-route__head {
    align-items:center;
    margin-bottom:40px;
}

.hnw-ads-route__eyebrow {
    display:block;
    margin-bottom:17px;
    color:#F25555;
    font-family:'Poppins',sans-serif;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.hnw-ads-route__head h2 {
    max-width:820px;
    margin:0 auto;
    color:#0F2738;
    font-family:'Poppins',sans-serif;
    font-size:34px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:-1.1px;
}

.hnw-ads-route__head h2 span {
    color:#20517b;
}

.hnw-ads-route__intro {
    max-width:720px;
    margin:22px auto 0;
    color:#64748b;
    font-size:15px;
    line-height:1.75;
    text-align:center;
}


/* RUTA */

.hnw-ads-route__path {
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:38px;
}

.hnw-ads-route__line {
    position:absolute;
    top:25px;
    left:16.666%;
    right:16.666%;
    height:1px;
    background:#dbe4eb;
}

.hnw-ads-route__step {
    position:relative;
    z-index:2;
    text-align:center;
}

.hnw-ads-route__node {
    display:flex;
    align-items:center;
    justify-content:center;
    width:50px;
    height:50px;
    margin:0 auto 24px;
    border:1px solid #dbe4eb;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 9px #fff;
}

.hnw-ads-route__node span {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff4f4;
    color:#F25555;
    font-size:14px;
    line-height:1;
    font-weight:800;
}

.hnw-ads-route__content {
    max-width:345px;
    margin:0 auto;
}

.hnw-ads-route__stage {
    display:block;
    margin-bottom:8px;
    color:#94a3b8;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hnw-ads-route__content h3 {
    margin:0 0 13px;
    color:#0F2738;
    font-family:'Poppins',sans-serif;
    font-size:23px;
    line-height:1.25;
    font-weight:700;
}

.hnw-ads-route__scope {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:5px;
    margin-bottom:21px;
}

.hnw-ads-route__scope span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:23px;
    padding:0 8px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#fbfdff;
    color:#64748b;
    font-size:8px;
    line-height:1;
    font-weight:700;
}

.hnw-ads-route__content p {
    max-width:320px;
    margin:0 auto;
    color:#64748b;
    font-size:13px;
    line-height:1.6;
}


/* RESULTADO */

.hnw-ads-route__result {
    display:flex;
    align-items:center;
    max-width:920px;
    margin:48px auto 0;
    padding-top:28px;
    border-top:1px solid #e5ebf0;
}

.hnw-ads-route__result-label {
    flex:0 0 auto;
    color:#94a3b8;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hnw-ads-route__result-line {
    width:32px;
    height:1px;
    margin:0 15px;
    background:#F25555;
}

.hnw-ads-route__result strong {
    color:#0F2738;
    font-size:15px;
    line-height:1.45;
    font-weight:700;
}


/* ======================================================================
   MOBILE
   ====================================================================== */

@media only screen and (max-width:767px) {

    .hnw-ads-route {
        padding:72px 0 80px;
    }

    .hnw-ads-route__head {
        margin-bottom:52px;
        text-align:center;
    }

    .hnw-ads-route__eyebrow {
        margin-bottom:14px;
    }

    .hnw-ads-route__head h2 {
        font-size:28px!important;
        line-height:1.15;
        letter-spacing:-.7px;
    }

    .hnw-ads-route__path {
        display:block;
        max-width:340px;
        margin:0 auto;
    }

    .hnw-ads-route__line {
        top:25px;
        bottom:45px;
        left:24px;
        right:auto;
        width:1px;
        height:auto;
    }

    .hnw-ads-route__step {
        display:grid;
        grid-template-columns:50px 1fr;
        gap:18px;
        margin-bottom:42px;
        text-align:left;
    }

    .hnw-ads-route__step:last-child {
        margin-bottom:0;
    }

    .hnw-ads-route__node {
        margin:0;
        box-shadow:0 0 0 7px #fff;
    }

    .hnw-ads-route__content {
        max-width:none;
        margin:1px 0 0;
    }

    .hnw-ads-route__stage {
        margin-bottom:7px;
        font-size:9px;
    }

    .hnw-ads-route__content h3 {
        margin-bottom:9px;
        font-size:19px!important;
        line-height:1.25;
    }

    .hnw-ads-route__scope {
        justify-content:flex-start;
        gap:4px;
        margin-bottom:13px;
    }

    .hnw-ads-route__scope span {
        min-height:21px;
        padding:0 7px;
        font-size:7px;
    }

    .hnw-ads-route__content p {
        max-width:none;
        margin:0;
        font-size:12px;
        line-height:1.65;
    }

    .hnw-ads-route__result {
        display:block;
        max-width:340px;
        margin:55px auto 0;
        padding-top:23px;
        text-align:center;
    }

    .hnw-ads-route__result-label {
        display:block;
        margin-bottom:10px;
    }

    .hnw-ads-route__result-line {
        display:block;
        width:28px;
        margin:0 auto 12px;
    }

    .hnw-ads-route__result strong {
        display:block;
        font-size:13px;
        line-height:1.5;
    }

}



/* =========================================================
   GOOGLE ADS — QA RESPONSIVE
   ========================================================= */

/* 460–766: +20px de aire sobre el Hero */
@media only screen and (min-width:460px) and (max-width:766.98px) {

    #Content .hnw-landing-hero {
        padding-top:54px !important;
    }

}


/* 767: puente Bootstrap md para los 3 planes */
@media only screen and (min-width:767px) and (max-width:767.98px) {

    #planes-google #container-todo-incluido > .col-md-4,
    #planes-google #container-solo-gestion > .col-md-4 {
        flex:0 0 33.333333% !important;
        max-width:33.333333% !important;
        width:33.333333% !important;
    }

}


/* 767–820: precio proporcional a las columnas estrechas */
@media only screen and (min-width:767px) and (max-width:820.98px) {

    #planes-google .hnw-plan-price,
    #planes-google .card-purpose-saas [id^="price-"] {
        font-size:27px !important;
        line-height:1.05 !important;
        letter-spacing:-.02em !important;
    }

}
