/* css/minimal.css
   Modo Minimalista: blanco, negro, líneas finas.
   Estilo independiente de la versión creativa.
*/

body.minimal{
    background:#fff;
    color:#111;
    font-family:'Instrument Sans', system-ui, sans-serif;
}

.minimal h1,
.minimal h2{
    font-family:'Instrument Sans', system-ui, sans-serif;
    font-weight:800;
    line-height:1.08;
}

/* ---------- cabecera ---------- */
.m-cabecera{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px 22px;
    border-bottom:1px solid #eee;
}

.m-cabecera .marca{
    display:flex;
    align-items:center;
    gap:10px;
}

.m-cabecera svg{
    width:38px;
    height:38px;
    flex:0 0 38px;
}

.m-cabecera .marca-nombre{
    font-weight:700;
    font-size:1.12rem;
    line-height:1;
    white-space:nowrap;
    color:#111;
}

/* ---------- hero ---------- */
.m-hero{
    padding:30px 0 26px;
    overflow:hidden;
}

.m-hero-grid{
    position:relative;
    min-height:350px;
    display:block;
    padding:0 22px;
}

.m-hero-texto{
    position:relative;
    z-index:2;
    width:56%;
    min-height:350px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
}

.m-hero h1{
    margin:0;
    max-width:7.8ch;
    font-size:clamp(2rem,8.3vw,3.1rem);
    line-height:1.02;
    letter-spacing:-0.025em;
}

.m-hero .texto{
    margin:18px 0 0;
    max-width:29ch;
    font-size:0.9rem;
    color:#444;
    line-height:1.5;
}

.m-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:20px;
    font-weight:600;
    font-size:0.9rem;
    color:#111;
    border-bottom:1px solid #111;
    padding-bottom:3px;
    text-decoration:none;
}

.m-huella{
    position:absolute;
    z-index:1;
    top:0;
    right:-4%;
    width:48%;
    height:350px;
    overflow:hidden;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
}

.m-huella img{
    display:block;
    width:auto;
    height:100%;
    max-width:none;
    flex:0 0 auto;
    object-fit:contain;
    object-position:center;
}

/* Claim de marca, no pie de foto */
.m-claim{
    position:relative;
    z-index:3;
    margin:12px 22px 0;
    padding:14px 0 0;
    border-top:1px solid #eee;
    text-align:center;
    font-size:clamp(1rem,4vw,1.2rem);
    font-weight:700;
    color:#111;
    line-height:1.25;
}

/* ---------- secciones ---------- */
.m-seccion{
    padding:44px 22px;
}

.m-seccion + .m-seccion{
    border-top:1px solid #eee;
}

.m-seccion h2{
    margin:0;
    font-size:clamp(1.65rem,7vw,2.3rem);
    max-width:16ch;
}

.m-seccion p{
    margin:14px 0 0;
    font-size:0.92rem;
    line-height:1.55;
    color:#333;
    max-width:42ch;
}

.m-cierre-parrafo{
    margin-top:18px !important;
    font-size:0.92rem !important;
    line-height:1.5 !important;
}

.m-cierre-parrafo .fuerte{
    display:block;
    font-weight:700;
}

.m-cierre-parrafo .subrayado{
    display:inline;
    border-bottom:1px solid #111;
}

/* ---------- planes ---------- */
.m-planes h2{
    font-size:clamp(1.35rem,5.8vw,1.7rem);
    text-align:center;
    max-width:none;
}

.m-lista-planes{
    margin-top:32px;
    display:flex;
    flex-direction:column;
    gap:34px;
}

.m-plan{
    display:grid;
    grid-template-columns:minmax(92px,24%) 1fr;
    column-gap:18px;
    align-items:start;
}

.m-plan img.m-barcode{
    display:block;
    width:100%;
    max-width:118px;
    height:auto;
    aspect-ratio:85 / 55;
    object-fit:contain;
    object-position:left center;
    flex-shrink:0;
    margin-top:2px;
}

.m-plan > div{
    min-width:0;
}

.m-plan-nombre{
    font-weight:700;
    font-size:0.95rem;
    line-height:1.2;
}

.m-plan-precio{
    margin-top:2px;
    font-size:0.95rem;
    line-height:1.25;
}

.m-plan-precio strong{
    font-weight:800;
}

.m-plan-texto{
    margin-top:8px !important;
    font-size:0.85rem !important;
    color:#444 !important;
    line-height:1.45 !important;
}

/* ---------- adaptabilidad ---------- */
.m-categorias{
    margin-top:20px !important;
    font-size:0.78rem !important;
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:#666 !important;
    line-height:2 !important;
}

.m-categorias span:not(:last-child)::after{
    content:'  ·  ';
    color:#ccc;
}

/* ---------- cierre ---------- */
.m-cierre{
    text-align:left;
}

.m-cierre-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:20px;
    background:#111;
    color:#fff;
    font-weight:700;
    font-size:0.88rem;
    padding:13px 22px;
    text-decoration:none;
}

/* ---------- pie ---------- */
.m-pie{
    padding:26px 22px 34px;
    border-top:1px solid #eee;
    display:flex;
    flex-direction:column;
    gap:14px;
    align-items:center;
    text-align:center;
}

.m-pie .marca{
    display:flex;
    align-items:center;
    gap:8px;
}

.m-pie .marca-nombre{
    font-weight:700;
    font-size:0.72rem;
}

.m-pie nav{
    font-size:0.75rem;
    color:#777;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

@media (max-width:380px){
    .m-hero-grid,
    .m-hero-texto{
        min-height:330px;
    }

    .m-huella{
        height:330px;
        right:-8%;
        width:49%;
    }

    .m-hero-texto{
        width:57%;
    }

    .m-hero h1{
        font-size:clamp(1.85rem,8.5vw,2.15rem);
    }

    .m-plan{
        grid-template-columns:86px 1fr;
        column-gap:15px;
    }
}

@media (min-width:700px){
    .m-hero{
        max-width:1100px;
        margin:0 auto;
    }

    .m-hero-grid{
        min-height:470px;
        padding:0 42px;
    }

    .m-hero-texto{
        width:52%;
        min-height:470px;
        justify-content:center;
    }

    .m-hero h1{
        font-size:clamp(3rem,5vw,4.4rem);
    }

    .m-huella{
        height:470px;
        width:46%;
        right:0;
    }

    .m-claim{
        margin-left:42px;
        margin-right:42px;
    }

    .m-seccion{
        max-width:1100px;
        margin-left:auto;
        margin-right:auto;
        padding-left:42px;
        padding-right:42px;
    }

    .m-plan img.m-barcode{
        max-width:140px;
    }
}
