:root{
    --nf-primary:#0969f9;
    --nf-primary-dark:#0051d8;
    --nf-cyan:#05cfe6;
    --nf-purple:#7546f5;
    --nf-orange:#ff7136;
    --nf-teal:#0cb6a5;
    --nf-text:#111827;
    --nf-muted:#697386;
    --nf-line:#e4e9f1;
    --nf-soft:#f7f9fc;
    --nf-white:#fff;
    --nf-shadow:0 16px 40px rgba(31,51,82,.08);
    --nf-radius:18px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    color:var(--nf-text);
    background:#fff;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:15px;
}

a{text-decoration:none}

.nf-header{
    z-index:1030;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--nf-line);
    backdrop-filter:blur(14px);
}

.nf-header .navbar{min-height:72px}

.nf-brand{
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    color:var(--nf-text);
    font-weight:850;
}

.nf-brand img{
    width:48px;
    height:48px;
    object-fit:contain;
}

.nf-brand span{font-size:1.25rem}

.nf-main-menu{gap:.15rem}

.nf-main-menu .nav-link{
    position:relative;
    padding:1.5rem .9rem;
    color:#2d3444;
    font-weight:750;
}

.nf-main-menu .nav-link:hover,
.nf-main-menu .nav-link.active{color:var(--nf-primary)}

.nf-main-menu .nav-link.active::after{
    content:"";
    position:absolute;
    left:.9rem;
    right:.9rem;
    bottom:.45rem;
    height:3px;
    border-radius:999px;
    background:var(--nf-primary);
}

.nf-search{
    position:relative;
    min-width:300px;
}

.nf-search i{
    position:absolute;
    right:1rem;
    top:50%;
    transform:translateY(-50%);
    pointer-events:none;
}

.nf-search input{
    width:100%;
    height:42px;
    padding:0 2.7rem 0 1rem;
    border:1px solid #dfe5ed;
    border-radius:10px;
    outline:none;
}

.nf-search input:focus{
    border-color:#9ec2ff;
    box-shadow:0 0 0 4px rgba(9,105,249,.08);
}

.nf-cart-trigger{
    width:44px;
    height:44px;
    border:0;
    border-radius:12px;
    color:#111827;
    background:transparent;
}

.nf-cart-trigger i{font-size:1.45rem}

.nf-cart-count{
    position:absolute;
    top:0;
    right:0;
    min-width:20px;
    height:20px;
    display:grid;
    place-items:center;
    padding:0 .25rem;
    border-radius:999px;
    background:var(--nf-primary);
    color:#fff;
    font-size:.72rem;
    font-weight:850;
}

.nf-language{
    display:flex;
    padding:3px;
    border:1px solid #dfe5ed;
    border-radius:10px;
}

.nf-language a{
    display:grid;
    place-items:center;
    min-width:42px;
    height:34px;
    border-radius:8px;
    color:#343c4c;
    font-size:.85rem;
    font-weight:800;
}

.nf-language a.active{
    color:#fff;
    background:linear-gradient(135deg,var(--nf-primary),#12bff2);
}

.nf-page{padding:14px 0 0}

.nf-hero{
    overflow:hidden;
    border:1px solid var(--nf-line);
    border-radius:var(--nf-radius);
    background:
        radial-gradient(circle at 75% 50%,rgba(5,207,230,.08),transparent 28%),
        linear-gradient(135deg,#fff 25%,#fafdff 100%);
    box-shadow:var(--nf-shadow);
}

.nf-hero-copy{padding:2.2rem 0 2.2rem 2.2rem}

.nf-eyebrow,
.nf-section-kicker,
.nf-modal-category{
    display:inline-flex;
    margin-bottom:.65rem;
    color:var(--nf-primary);
    font-size:.75rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nf-hero h1{
    max-width:620px;
    margin:0 0 .8rem;
    font-size:clamp(2rem,3.1vw,3.45rem);
    line-height:1.06;
    letter-spacing:-.045em;
    font-weight:850;
}

.nf-hero p{
    max-width:620px;
    margin:0 0 1.4rem;
    color:#5f697b;
    font-size:1rem;
    line-height:1.65;
}

.nf-hero-art{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:315px;
    padding:.6rem 1rem;
}

.nf-hero-art img{
    width:100%;
    max-width:690px;
    height:auto;
}

.nf-btn-primary,
.nf-checkout-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    min-height:42px;
    padding:.7rem 1.3rem;
    border:0;
    border-radius:10px;
    color:#fff;
    background:linear-gradient(135deg,var(--nf-primary),#0dbaf1);
    font-weight:800;
    box-shadow:0 10px 24px rgba(9,105,249,.2);
}

.nf-btn-primary:hover,
.nf-checkout-button:hover{
    color:#fff;
    transform:translateY(-1px);
}

.nf-btn-light{
    min-height:42px;
    padding:.7rem 1.25rem;
    border:1px solid #dfe5ed;
    border-radius:10px;
    background:#fff;
    color:#313a4b;
    font-weight:750;
}

.nf-category-menu{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:14px 0 0;
}

.nf-category-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.9rem;
    min-height:104px;
    padding:1rem;
    border:1px solid var(--nf-line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 28px rgba(32,54,86,.045);
    transition:.2s ease;
}

.nf-category-card:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 35px rgba(32,54,86,.09);
}

.nf-category-card-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:12px;
    color:#fff;
}

.nf-category-card-content{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:.2rem;
}

.nf-category-card-content strong{
    font-size:.92rem;
    color:var(--nf-text);
}

.nf-category-card-content small{
    color:var(--nf-muted);
    font-size:.7rem;
    line-height:1.35;
}

.nf-category-card>i{color:#8d98a8}

.category-ebooks .nf-category-card-icon{background:linear-gradient(135deg,#ff9852,#ff6530)}
.category-templates .nf-category-card-icon{background:linear-gradient(135deg,#9b74ff,#7145f4)}
.category-saas .nf-category-card-icon{background:linear-gradient(135deg,#39d7ca,#0aa89b)}

.nf-category-products{
    padding:1.35rem 0 0;
    scroll-margin-top:90px;
}

.nf-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.9rem;
}

.nf-section-heading h2{
    margin:0;
    font-size:1.35rem;
    font-weight:850;
}

.nf-section-heading p{
    margin:.25rem 0 0;
    color:var(--nf-muted);
    font-size:.82rem;
}

.nf-product-count{
    padding:.3rem .7rem;
    border-radius:999px;
    color:var(--nf-primary);
    background:#eef5ff;
    font-size:.72rem;
    font-weight:800;
}

.nf-product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.nf-product-card{
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--nf-line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 28px rgba(32,54,86,.05);
    transition:.2s ease;
}

.nf-product-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 36px rgba(28,52,88,.11);
}

.nf-product-media{
    position:relative;
    display:grid;
    place-items:center;
    height:190px;
    padding:1rem;
    overflow:hidden;
    background:linear-gradient(180deg,#fbfdff,#f5f8fc);
}

.nf-product-media img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.nf-product-badge{
    position:absolute;
    top:.65rem;
    left:.65rem;
    z-index:2;
    padding:.22rem .5rem;
    border-radius:6px;
    color:#fff;
    font-size:.62rem;
    font-weight:850;
    text-transform:uppercase;
}

.badge-paid{background:#7247f4}

.nf-product-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:.9rem;
}

.nf-product-body h3{
    margin:0 0 .4rem;
    font-size:.92rem;
    font-weight:850;
    line-height:1.3;
}

.nf-product-description{
    display:-webkit-box;
    min-height:40px;
    margin:0;
    overflow:hidden;
    color:#697386;
    font-size:.74rem;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.nf-product-price{
    margin:.8rem 0 .65rem;
    text-align:right;
    font-size:.95rem;
    font-weight:900;
}

.nf-product-cart{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    width:100%;
    min-height:36px;
    border:1px solid #b9d4ff;
    border-radius:8px;
    color:var(--nf-primary);
    background:#eef5ff;
    font-size:.72rem;
    font-weight:800;
}

.nf-product-cart:hover{
    color:#fff;
    border-color:var(--nf-primary);
    background:var(--nf-primary);
}

.nf-cart-items{
    display:flex;
    flex-direction:column;
    max-height:360px;
    overflow:auto;
}

.nf-cart-row{
    display:grid;
    grid-template-columns:58px 1fr auto;
    gap:.7rem;
    align-items:center;
    padding:.8rem 0;
    border-bottom:1px solid var(--nf-line);
}

.nf-cart-row img{
    width:58px;
    height:58px;
    padding:.25rem;
    border-radius:9px;
    background:#f5f8fc;
    object-fit:contain;
}

.nf-cart-row strong{
    display:block;
    font-size:.75rem;
}

.nf-cart-row small{
    display:block;
    color:#8892a1;
    font-size:.62rem;
}

.nf-cart-row-price{
    display:flex;
    align-items:center;
    gap:.35rem;
}

.nf-cart-row-price span{
    font-size:.75rem;
    font-weight:850;
}

.nf-remove-item{
    width:24px;
    height:24px;
    padding:0;
    border:0;
    border-radius:6px;
    background:transparent;
    color:#7e8898;
}

.nf-cart-empty{
    display:grid;
    place-items:center;
    min-height:180px;
    text-align:center;
    color:#8a94a4;
}

.nf-cart-summary{
    display:grid;
    gap:.55rem;
    padding:.9rem 0;
    border-bottom:1px solid var(--nf-line);
}

.nf-cart-summary>div,
.nf-cart-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}

.nf-cart-summary span{
    color:#5f697a;
    font-size:.75rem;
}

.nf-coupon-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.55rem;
    padding:.9rem 0;
}

.nf-coupon-box input{
    min-width:0;
    height:40px;
    padding:0 .8rem;
    border:1px solid #dfe5ed;
    border-radius:9px;
}

.nf-coupon-box button{
    min-width:78px;
    border:1px solid #dfe5ed;
    border-radius:9px;
    background:#fff;
    font-weight:800;
}

.nf-cart-total{padding:.25rem 0 .9rem}

.nf-cart-total span,
.nf-cart-total strong{
    font-size:1rem;
    font-weight:900;
}

.nf-checkout-button{width:100%}

.nf-mobile-cart{width:min(420px,100%)}

.nf-mobile-cart .offcanvas-header{
    border-bottom:1px solid var(--nf-line);
}

.nf-mobile-cart h2{
    display:flex;
    align-items:center;
    gap:.45rem;
    margin:0;
    font-size:1rem;
    font-weight:850;
}

.nf-mobile-cart .offcanvas-body{
    display:flex;
    flex-direction:column;
}

.nf-footer{
    margin-top:1.5rem;
    border-top:1px solid var(--nf-line);
    background:#fff;
}

.nf-footer-grid{
    display:grid;
    grid-template-columns:1.35fr repeat(3,.8fr) 2.6fr;
    gap:1.5rem;
    padding:1.25rem 0;
}

.nf-footer-brand p{
    max-width:220px;
    margin:.45rem 0 0;
    color:#6d7789;
    font-size:.72rem;
    line-height:1.45;
}

.nf-footer-grid h2{
    margin:0 0 .45rem;
    font-size:.76rem;
    font-weight:850;
}

.nf-footer-grid>div>a{
    display:block;
    width:max-content;
    margin:.2rem 0;
    color:#5f6878;
    font-size:.7rem;
}

.nf-social-links{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
}

.nf-social-links a{
    display:flex;
    align-items:center;
    gap:.35rem;
    min-height:32px;
    padding:.35rem .65rem;
    border:1px solid #dfe5ed;
    border-radius:8px;
    color:#313a4a;
    background:#fff;
    font-size:.65rem;
    font-weight:800;
}

.nf-footer-bottom{
    padding:.75rem 0 1rem;
    border-top:1px solid var(--nf-line);
    text-align:center;
    color:#7a8494;
    font-size:.68rem;
}

.nf-modal{
    overflow:hidden;
    border:0;
    border-radius:18px;
    box-shadow:0 28px 75px rgba(18,38,70,.22);
}

.nf-modal .modal-header,
.nf-modal .modal-footer{
    padding:1.1rem 1.25rem;
    border-color:var(--nf-line);
}

.nf-modal .modal-header h2{
    margin:0;
    font-size:1.3rem;
    font-weight:850;
}

.nf-modal .modal-body{padding:1.25rem}

.nf-terms-check{
    padding:1rem 1rem 1rem 2.25rem;
    border:1px solid var(--nf-line);
    border-radius:10px;
    background:#f9fbfe;
}

.nf-empty-state{
    display:grid;
    place-items:center;
    min-height:220px;
    padding:2rem;
    border:1px dashed #ccd5e1;
    border-radius:14px;
    text-align:center;
    background:#fbfcfe;
}

.nf-empty-state i{
    font-size:2rem;
    color:#9aa6b5;
}

.nf-empty-state h3{
    margin:.7rem 0 .3rem;
    font-size:1.05rem;
}

.nf-empty-state p{
    margin:0;
    color:#758093;
}

@media (max-width:1199.98px){
    .nf-main-menu .nav-link{
        padding:.75rem 0;
    }

    .nf-main-menu .nav-link.active::after{display:none}

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

    .nf-category-menu{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-product-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:991.98px){
    .nf-hero-copy{
        padding:1.8rem 1.8rem .5rem;
    }

    .nf-hero-art{
        min-height:250px;
        padding:0 1rem 1rem;
    }

    .nf-footer-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .nf-social-column{
        grid-column:1/-1;
    }
}

@media (max-width:767.98px){
    .nf-category-menu{
        grid-template-columns:1fr;
    }

    .nf-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-product-media{
        height:170px;
    }

    .nf-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-footer-brand,
    .nf-social-column{
        grid-column:1/-1;
    }
}

@media (max-width:479.98px){
    .nf-brand span{font-size:1.05rem}

    .nf-brand img{
        width:42px;
        height:42px;
    }

    .nf-hero-copy{
        padding:1.3rem 1rem .3rem;
    }

    .nf-hero h1{font-size:2rem}

    .nf-hero-art{min-height:180px}

    .nf-product-grid{
        grid-template-columns:1fr;
    }

    .nf-product-media{
        height:210px;
    }
}


/* =========================================================
   NEXTFLOW STORE - UX/UI ETAPA 2 v2.3.0
   Responsividad, branding y redes sociales
   ========================================================= */

.container-fluid{
    max-width:1600px;
}

.nf-header .container-fluid{
    max-width:1720px;
}

.nf-hero h1{
    font-size:clamp(1.8rem,2.65vw,3.15rem);
    line-height:1.08;
}

.nf-section-heading h2{
    font-size:clamp(1.05rem,1.55vw,1.35rem);
}

.nf-category-card-content strong{
    font-size:.88rem;
}

.nf-product-body h3{
    font-size:.88rem;
}

.nf-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.nf-product-card{
    min-height:100%;
}

.nf-product-media{
    height:176px;
}

.nf-product-cart{
    min-height:38px;
    padding:.5rem .8rem;
}

.nf-social-links a{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.nf-social-links a:hover{
    transform:translateY(-2px);
}

.nf-social-links .social-instagram{
    color:#d62976;
    border-color:#efb4cf;
    background:linear-gradient(135deg,#fff4f8,#fff);
}

.nf-social-links .social-instagram i{
    color:#d62976;
}

.nf-social-links .social-threads{
    color:#111;
    border-color:#cfd3d8;
    background:#fff;
}

.nf-social-links .social-threads i{
    color:#111;
}

.nf-social-links .social-x{
    color:#111;
    border-color:#cfd3d8;
    background:#fff;
}

.nf-social-links .social-x i{
    color:#111;
}

.nf-social-links .social-tiktok{
    color:#111;
    border-color:#d3d6dc;
    background:linear-gradient(135deg,#effcff,#fff4fb);
}

.nf-social-links .social-tiktok i{
    color:#111;
    text-shadow:1px 1px 0 #25f4ee,-1px -1px 0 #fe2c55;
}

.nf-social-links .social-facebook{
    color:#1877f2;
    border-color:#b9d5ff;
    background:#f4f8ff;
}

.nf-social-links .social-facebook i{
    color:#1877f2;
}

.nf-social-links .social-whatsapp{
    color:#128c4a;
    border-color:#b9e8ce;
    background:#f1fff7;
}

.nf-social-links .social-whatsapp i{
    color:#25d366;
}

@media (min-width:1600px){
    .nf-product-grid{
        grid-template-columns:repeat(5,minmax(0,1fr));
    }

    .nf-product-media{
        height:190px;
    }
}

@media (max-width:1399.98px){
    .nf-main-menu .nav-link{
        padding-inline:.55rem;
        font-size:.9rem;
    }

    .nf-search{
        min-width:240px;
    }

    .nf-product-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width:1199.98px){
    .nf-header .navbar{
        min-height:64px;
    }

    .nf-category-menu{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-product-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .nf-hero h1{
        font-size:clamp(1.7rem,4vw,2.6rem);
    }
}

@media (max-width:991.98px){
    .nf-header .navbar-collapse{
        padding:.75rem 0 1rem;
    }

    .nf-main-menu{
        margin-top:.5rem;
    }

    .nf-main-menu .nav-link{
        padding:.6rem 0;
    }

    .nf-cart-trigger{
        margin:.65rem .65rem .65rem 0;
    }

    .nf-language{
        width:max-content;
    }

    .nf-hero-copy{
        padding:1.5rem 1.5rem .35rem;
    }

    .nf-hero h1{
        font-size:clamp(1.65rem,5vw,2.35rem);
    }

    .nf-hero p{
        font-size:.92rem;
        line-height:1.55;
    }

    .nf-category-card{
        min-height:92px;
    }

    .nf-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-footer-brand,
    .nf-social-column{
        grid-column:1/-1;
    }
}

@media (max-width:767.98px){
    .nf-page{
        padding-top:10px;
    }

    .nf-hero-copy{
        padding:1.25rem 1rem .2rem;
    }

    .nf-hero h1{
        font-size:clamp(1.5rem,7vw,2rem);
        letter-spacing:-.035em;
    }

    .nf-hero p{
        font-size:.88rem;
    }

    .nf-hero-art{
        min-height:200px;
        padding:.35rem .7rem .8rem;
    }

    .nf-category-menu{
        grid-template-columns:1fr;
        gap:10px;
    }

    .nf-category-card{
        min-height:82px;
        padding:.8rem;
    }

    .nf-category-card-icon{
        width:40px;
        height:40px;
    }

    .nf-category-products{
        padding-top:1rem;
    }

    .nf-section-heading{
        align-items:flex-start;
        margin-bottom:.7rem;
    }

    .nf-section-heading h2{
        font-size:1.05rem;
    }

    .nf-section-heading p{
        font-size:.76rem;
    }

    .nf-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .nf-product-media{
        height:145px;
    }

    .nf-product-body{
        padding:.75rem;
    }

    .nf-product-body h3{
        font-size:.82rem;
    }

    .nf-product-description{
        font-size:.7rem;
    }

    .nf-footer-grid{
        grid-template-columns:1fr 1fr;
        gap:1rem;
    }
}

@media (max-width:575.98px){
    .nf-product-grid{
        grid-template-columns:1fr;
    }

    .nf-product-media{
        height:210px;
    }

    .nf-product-body h3{
        font-size:.9rem;
    }

    .nf-footer-grid{
        grid-template-columns:1fr;
    }

    .nf-footer-brand,
    .nf-social-column{
        grid-column:auto;
    }

    .nf-social-links{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nf-social-links a{
        justify-content:center;
    }
}


/* =========================================================
   ETAPA 3 - PÁGINAS INFORMATIVAS
   ========================================================= */

.nf-info-page{
    min-height:calc(100vh - 230px);
    padding:1.25rem 0 2rem;
    background:linear-gradient(180deg,#fbfdff 0,#fff 250px);
}

.nf-info-page .container{
    max-width:1080px;
}

.nf-breadcrumb{
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-bottom:1rem;
    color:#7a8494;
    font-size:.78rem;
}

.nf-breadcrumb a{
    color:var(--nf-primary);
    font-weight:700;
}

.nf-breadcrumb i{
    font-size:.65rem;
}

.nf-info-hero{
    padding:2rem;
    border:1px solid var(--nf-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--nf-shadow);
}

.nf-info-hero h1{
    margin:0;
    font-size:clamp(1.75rem,3vw,2.65rem);
    line-height:1.12;
    letter-spacing:-.035em;
    font-weight:850;
}

.nf-info-hero p{
    max-width:820px;
    margin:.8rem 0 0;
    color:var(--nf-muted);
    font-size:1rem;
    line-height:1.65;
}

.nf-info-content{
    margin-top:1rem;
    padding:2rem;
    border:1px solid var(--nf-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(31,51,82,.055);
    color:#394456;
    line-height:1.75;
}

.nf-info-content h2{
    margin:1.7rem 0 .75rem;
    color:var(--nf-text);
    font-size:1.3rem;
    font-weight:850;
}

.nf-info-content h2:first-child{
    margin-top:0;
}

.nf-info-content h3{
    margin:1.35rem 0 .55rem;
    color:var(--nf-text);
    font-size:1.05rem;
    font-weight:800;
}

.nf-info-content p{
    margin:.7rem 0;
}

.nf-info-content ul,
.nf-info-content ol{
    padding-left:1.35rem;
}

.nf-info-content li{
    margin:.35rem 0;
}

.nf-info-content a{
    color:var(--nf-primary);
    font-weight:700;
}

.nf-info-content .nf-notice{
    margin:1rem 0;
    padding:1rem 1.1rem;
    border-left:4px solid var(--nf-primary);
    border-radius:0 10px 10px 0;
    background:#f1f7ff;
}

.nf-info-content .nf-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin-top:1rem;
}

.nf-info-content .nf-contact-card{
    padding:1rem;
    border:1px solid var(--nf-line);
    border-radius:12px;
    background:#fbfcfe;
}

@media (max-width:767.98px){
    .nf-info-page{
        padding-top:.8rem;
    }

    .nf-info-hero,
    .nf-info-content{
        padding:1.2rem;
        border-radius:14px;
    }

    .nf-info-hero h1{
        font-size:1.65rem;
    }

    .nf-info-hero p{
        font-size:.9rem;
    }

    .nf-info-content{
        font-size:.92rem;
    }

    .nf-info-content .nf-contact-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   ETAPA 3 v2.4.1 - PULIDO VISUAL PREMIUM
   ========================================================= */

.nf-info-page{
    min-height:calc(100vh - 220px);
    padding:1.25rem 0 2.5rem;
    background:
        radial-gradient(circle at 15% 0,rgba(9,105,249,.055),transparent 26%),
        linear-gradient(180deg,#f8fbff 0,#fff 320px);
}

.nf-info-page .container{
    max-width:1180px;
}

.nf-breadcrumb{
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-bottom:1rem;
    color:#7d8796;
    font-size:.76rem;
}

.nf-breadcrumb a{
    color:var(--nf-primary);
    font-weight:750;
}

.nf-info-hero{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:1.25rem;
    padding:1.55rem 1.7rem;
    border:1px solid rgba(223,229,237,.95);
    border-radius:18px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,251,255,.98));
    box-shadow:0 18px 50px rgba(31,51,82,.08);
}

.nf-info-hero-icon{
    display:grid;
    place-items:center;
    width:66px;
    height:66px;
    border-radius:17px;
    color:#fff;
    background:linear-gradient(135deg,var(--nf-primary),var(--nf-cyan));
    box-shadow:0 12px 30px rgba(9,105,249,.22);
}

.nf-info-hero-icon i{
    font-size:1.65rem;
}

.nf-info-hero-copy h1{
    margin:0;
    font-size:clamp(1.55rem,2.7vw,2.35rem);
    line-height:1.12;
    letter-spacing:-.035em;
    font-weight:850;
}

.nf-info-hero-copy p{
    max-width:820px;
    margin:.55rem 0 0;
    color:var(--nf-muted);
    font-size:.93rem;
    line-height:1.6;
}

.nf-info-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:1rem;
    align-items:start;
    margin-top:1rem;
}

.nf-info-content{
    margin:0;
    padding:1.65rem 1.75rem;
    border:1px solid var(--nf-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 14px 38px rgba(31,51,82,.055);
    color:#3e4858;
    font-size:.94rem;
    line-height:1.72;
}

.nf-info-content h2{
    position:relative;
    margin:1.65rem 0 .72rem;
    padding-left:.85rem;
    color:var(--nf-text);
    font-size:1.18rem;
    font-weight:850;
}

.nf-info-content h2::before{
    content:"";
    position:absolute;
    left:0;
    top:.15rem;
    bottom:.15rem;
    width:4px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--nf-primary),var(--nf-cyan));
}

.nf-info-content h2:first-child{
    margin-top:0;
}

.nf-info-content h3{
    margin:1.2rem 0 .45rem;
    color:var(--nf-text);
    font-size:1rem;
    font-weight:800;
}

.nf-info-content p{
    margin:.65rem 0;
}

.nf-info-content a{
    color:var(--nf-primary);
    font-weight:750;
}

.nf-info-content ul,
.nf-info-content ol{
    margin:.8rem 0;
    padding-left:1.25rem;
}

.nf-info-content li{
    margin:.36rem 0;
}

.nf-info-content .nf-notice{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    margin:1.15rem 0 0;
    padding:1rem 1.05rem;
    border:1px solid #cfe0ff;
    border-left:4px solid var(--nf-primary);
    border-radius:12px;
    background:linear-gradient(135deg,#f4f8ff,#fbfdff);
    color:#455269;
    font-size:.88rem;
    line-height:1.55;
}

.nf-info-content .nf-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.8rem;
    margin-top:1rem;
}

.nf-info-content .nf-contact-card{
    position:relative;
    overflow:hidden;
    padding:1rem 1.05rem;
    border:1px solid #e1e7ef;
    border-radius:14px;
    background:
        linear-gradient(145deg,#fff,#f8fbff);
    box-shadow:0 8px 22px rgba(31,51,82,.045);
    transition:.2s ease;
}

.nf-info-content .nf-contact-card::after{
    content:"";
    position:absolute;
    right:-22px;
    bottom:-22px;
    width:72px;
    height:72px;
    border-radius:50%;
    background:rgba(9,105,249,.05);
}

.nf-info-content .nf-contact-card:hover{
    transform:translateY(-2px);
    border-color:#c9dcfb;
    box-shadow:0 12px 28px rgba(31,51,82,.075);
}

.nf-info-content .nf-contact-card h3{
    margin:0 0 .35rem;
    font-size:.94rem;
}

.nf-info-content .nf-contact-card p{
    margin:0;
    font-size:.88rem;
}

.nf-info-sidebar{
    display:grid;
    gap:1rem;
    position:sticky;
    top:90px;
}

.nf-info-sidebar-card{
    padding:1.1rem;
    border:1px solid var(--nf-line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 30px rgba(31,51,82,.05);
}

.nf-info-sidebar-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    margin-bottom:.75rem;
    border-radius:11px;
    color:var(--nf-primary);
    background:#eef5ff;
}

.nf-info-sidebar-card h2{
    margin:0 0 .75rem;
    font-size:.98rem;
    font-weight:850;
}

.nf-info-nav{
    display:grid;
    gap:.35rem;
}

.nf-info-nav a{
    display:flex;
    align-items:center;
    min-height:36px;
    padding:.5rem .65rem;
    border-radius:9px;
    color:#4d586a;
    background:#f8fafc;
    font-size:.75rem;
    font-weight:700;
    transition:.18s ease;
}

.nf-info-nav a:hover{
    color:var(--nf-primary);
    background:#eef5ff;
    transform:translateX(2px);
}

.nf-info-support-card{
    background:
        linear-gradient(145deg,#0f6af8,#10b9e9);
    color:#fff;
    border:0;
}

.nf-info-support-card .nf-info-sidebar-icon{
    color:#fff;
    background:rgba(255,255,255,.16);
}

.nf-info-support-card h2{
    color:#fff;
}

.nf-info-support-card p{
    margin:0 0 .9rem;
    color:rgba(255,255,255,.88);
    font-size:.78rem;
    line-height:1.5;
}

.nf-info-support-button{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:38px;
    padding:.55rem .7rem;
    border-radius:9px;
    color:#0f63e8;
    background:#fff;
    font-size:.76rem;
    font-weight:800;
}

.nf-info-support-button:hover{
    color:#0f63e8;
    background:#f4f8ff;
}

@media (max-width:991.98px){
    .nf-info-layout{
        grid-template-columns:1fr;
    }

    .nf-info-sidebar{
        position:static;
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:767.98px){
    .nf-info-page{
        padding-top:.8rem;
    }

    .nf-info-hero{
        grid-template-columns:1fr;
        gap:.85rem;
        padding:1.2rem;
        text-align:left;
    }

    .nf-info-hero-icon{
        width:52px;
        height:52px;
        border-radius:14px;
    }

    .nf-info-hero-icon i{
        font-size:1.35rem;
    }

    .nf-info-hero-copy h1{
        font-size:1.55rem;
    }

    .nf-info-content{
        padding:1.2rem;
        border-radius:14px;
        font-size:.9rem;
    }

    .nf-info-content .nf-contact-grid{
        grid-template-columns:1fr;
    }

    .nf-info-sidebar{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   ETAPA 3 v2.4.2 - AJUSTES FINALES
   ========================================================= */

.nf-info-sidebar{
    gap:0;
}

.nf-back-to-top{
    position:fixed;
    right:1.35rem;
    bottom:1.35rem;
    z-index:1040;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid rgba(255,255,255,.35);
    border-radius:16px;
    color:#fff;
    background:linear-gradient(135deg,#0b63d8,#0a3e80);
    box-shadow:
        0 14px 34px rgba(5,45,92,.28),
        inset 0 1px 0 rgba(255,255,255,.22);
    opacity:0;
    visibility:hidden;
    transform:translateY(14px) scale(.94);
    transition:
        opacity .22s ease,
        visibility .22s ease,
        transform .22s ease,
        box-shadow .22s ease;
}

.nf-back-to-top.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}

.nf-back-to-top:hover{
    transform:translateY(-3px) scale(1.03);
    box-shadow:
        0 18px 40px rgba(5,45,92,.34),
        inset 0 1px 0 rgba(255,255,255,.28);
}

.nf-back-to-top:focus-visible{
    outline:0;
    box-shadow:
        0 0 0 4px rgba(9,105,249,.18),
        0 16px 36px rgba(5,45,92,.3);
}

.nf-back-to-top i{
    font-size:1.35rem;
    line-height:1;
}

@media (max-width:767.98px){
    .nf-back-to-top{
        right:1rem;
        bottom:1rem;
        width:44px;
        height:44px;
        border-radius:14px;
    }
}

.category-digital-tools .nf-category-card-icon{background:linear-gradient(135deg,#18b98b,#08a6c8)}


.nf-view-admin {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .45rem .7rem;
    border: 1px solid #9aa3ad;
    border-radius: 6px;
    color: #5f6770;
    background: #ffffff;
    font-size: .82rem;
    font-weight: 500;
    white-space: nowrap;
    transition: .18s ease;
}

.nf-view-admin:hover,
.nf-view-admin:focus {
    color: #ffffff;
    border-color: #6c757d;
    background: #6c757d;
}

@media (max-width: 1199.98px) {
    .nf-view-admin {
        margin-top: .75rem;
        width: 100%;
    }
}


.nf-payment-options{display:grid;gap:.75rem}.nf-paypal-button{min-height:52px;border:0;border-radius:12px;background:#ffc439;color:#111;font-size:1.15rem;box-shadow:0 8px 20px rgba(0,48,135,.14)}.nf-paypal-button:hover,.nf-paypal-button:focus{background:#f2ba36;color:#111}.nf-paypal-button strong{font-style:italic;font-weight:800;color:#003087}.nf-payment-options .btn:disabled{opacity:.7}
