
:root{
    --hv5-black:#050806;
    --hv5-green:#073824;
    --hv5-green-deep:#03291a;
    --hv5-gold:#c7952f;
    --hv5-gold-light:#f1d47c;
    --hv5-ivory:#fbfaf5;
    --hv5-cream:#f2eee4;
    --hv5-text:#0c1b13;
    --hv5-muted:#6d746e;
    --hv5-line:rgba(7,56,36,.12);
    --hv5-gold-line:rgba(199,149,47,.28);
}


/* ==========================================================
   INTRO / PROGRESO
   ========================================================== */

.hv-flow-head{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(199,149,47,.22),
            transparent 30%
        ),
        linear-gradient(
            120deg,
            #020d08,
            #052c1c 60%,
            #050806
        );
    color:#fff;
}

.hv-flow-head-inner{
    width:min(1280px,calc(100% - 46px));
    margin:auto;
    padding:64px 0 46px;
}

.hv-flow-kicker{
    margin-bottom:13px;
    color:var(--hv5-gold-light);
    font-size:10px;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.hv-flow-head h1{
    max-width:750px;
    margin:0;
    color:#fff;
    font-family:"DM Sans",Arial,sans-serif;
    font-size:clamp(45px,5vw,72px);
    line-height:.96;
    font-weight:500;
    letter-spacing:-.035em;
}

.hv-flow-head p{
    max-width:590px;
    margin:17px 0 0;
    color:rgba(255,255,255,.67);
    font-size:14px;
    line-height:1.7;
}

.hv-flow-steps{
    margin-top:30px;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.hv-flow-step{
    min-height:39px;
    padding:0 15px;
    display:flex;
    align-items:center;
    gap:8px;
    border:
        1px solid rgba(255,255,255,.15);
    border-radius:999px;
    color:rgba(255,255,255,.50);
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
}

.hv-flow-step span{
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.09);
    font-size:9px;
}

.hv-flow-step.done{
    border-color:
        rgba(242,213,122,.33);
    color:#fff;
}

.hv-flow-step.done span{
    background:#c7952f;
    color:#06170e;
}

.hv-flow-step.current{
    background:#fff;
    border-color:#fff;
    color:#073824;
}

.hv-flow-step.current span{
    background:#073824;
    color:#fff;
}


/* ==========================================================
   CARRITO
   ========================================================== */

body.hv-cart-v5{
    background:var(--hv5-ivory) !important;
}

body.hv-cart-v5 .cart-wrap{
    width:min(1280px,calc(100% - 46px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:58px 0 90px !important;
}

body.hv-cart-v5 .cart-wrap > h1{
    display:none !important;
}

body.hv-cart-v5 .cart-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 370px !important;
    gap:28px !important;
    align-items:start !important;
}

body.hv-cart-v5 .cart-grid > section{
    min-width:0;
}

body.hv-cart-v5 .cart-item{
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) 82px auto !important;
    gap:20px !important;
    align-items:center !important;

    margin-bottom:13px !important;
    padding:17px !important;

    border:
        1px solid var(--hv5-line) !important;

    border-radius:
        20px !important;

    background:
        #fff !important;

    box-shadow:
        0 10px 32px rgba(3,41,26,.045);
}

body.hv-cart-v5 .cart-item > div:first-child{
    width:118px;
    height:100px;
    overflow:hidden;
    border-radius:14px;
    background:var(--hv5-cream);
}

body.hv-cart-v5 .cart-item img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block;
}

body.hv-cart-v5 .cart-name{
    color:var(--hv5-green-deep) !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:21px !important;
    font-weight:500 !important;
    line-height:1.15 !important;
}

body.hv-cart-v5 .cart-item input[type=number]{
    width:72px !important;
    min-height:46px !important;
    text-align:center;
    border:
        1px solid rgba(7,56,36,.15) !important;
    background:#fbfaf5 !important;
}

body.hv-cart-v5 .cart-item > div:last-child{
    color:var(--hv5-green-deep);
    font-size:15px;
    font-weight:800;
    white-space:nowrap;
}

body.hv-cart-v5 .cart-grid form > div:last-child{
    margin-top:22px !important;
}

body.hv-cart-v5 .cart-grid button{
    min-height:46px;
    padding:0 22px !important;
}


/* RESUMEN */

body.hv-cart-v5 .summary{
    position:sticky !important;
    top:105px !important;

    padding:28px !important;

    border:
        1px solid var(--hv5-gold-line) !important;

    border-radius:
        22px !important;

    background:
        #fff !important;

    box-shadow:
        0 22px 55px rgba(3,41,26,.075) !important;
}

body.hv-cart-v5 .summary::before{
    content:"ORDER SUMMARY";

    display:block;
    margin-bottom:8px;

    color:var(--hv5-gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
}

body.hv-cart-v5 .summary h3{
    margin:0 0 22px !important;

    color:var(--hv5-green-deep) !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:31px !important;
    font-weight:500 !important;
}

body.hv-cart-v5 .summary-row{
    padding:13px 0 !important;
    display:flex !important;
    justify-content:space-between !important;
    gap:20px !important;

    border-bottom:
        1px solid rgba(7,56,36,.08);
}

body.hv-cart-v5 .summary-total{
    margin-top:5px !important;
    padding-top:19px !important;
    border-bottom:0 !important;
}

body.hv-cart-v5 .summary-total strong{
    color:var(--hv5-green-deep) !important;
    font-size:18px !important;
}

body.hv-cart-v5 .summary .btn-black{
    width:100% !important;
    min-height:54px !important;
    margin-top:22px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:
        var(--hv5-green-deep) !important;
}


/* CARRITO VACIO */

body.hv-cart-v5 .notice{
    max-width:700px;
    margin:25px auto !important;
    padding:65px 35px !important;

    border:
        1px solid var(--hv5-gold-line) !important;

    border-radius:
        25px !important;

    background:#fff !important;

    text-align:center;

    box-shadow:
        0 20px 55px rgba(3,41,26,.06);
}

body.hv-cart-v5 .notice::before{
    content:"H³";
    display:block;
    margin-bottom:18px;
    color:var(--hv5-gold);
    font-family:"DM Sans",Arial,sans-serif;
    font-size:35px;
}


/* ==========================================================
   CHECKOUT
   ========================================================== */

body.hv-checkout-v5{
    background:var(--hv5-ivory) !important;
}

body.hv-checkout-v5 main{
    width:min(1280px,calc(100% - 46px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:58px 0 95px !important;
}

body.hv-checkout-v5 main > h1{
    color:var(--hv5-green-deep) !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
}


/* PANELES PRINCIPALES */

body.hv-checkout-v5 main section,
body.hv-checkout-v5 main aside{
    border-color:
        rgba(7,56,36,.10) !important;

    border-radius:
        20px !important;
}

body.hv-checkout-v5 main h2,
body.hv-checkout-v5 main h3{
    color:var(--hv5-green-deep) !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-weight:500 !important;
}


/* CAMPOS */

body.hv-checkout-v5 label{
    color:#334039 !important;
    font-size:11px !important;
    font-weight:700 !important;
}

body.hv-checkout-v5 input:not([type=radio]):not([type=checkbox]),
body.hv-checkout-v5 select,
body.hv-checkout-v5 textarea{
    min-height:48px !important;
    border:
        1px solid rgba(7,56,36,.16) !important;
    border-radius:12px !important;
    background:#fff !important;
}

body.hv-checkout-v5 textarea{
    min-height:110px !important;
}

body.hv-checkout-v5 input:focus,
body.hv-checkout-v5 select:focus,
body.hv-checkout-v5 textarea:focus{
    border-color:
        var(--hv5-gold) !important;

    box-shadow:
        0 0 0 3px rgba(199,149,47,.11) !important;
}


/* RADIO / OPCIONES */

body.hv-checkout-v5 input[type=radio],
body.hv-checkout-v5 input[type=checkbox]{
    accent-color:
        var(--hv5-green);
}

body.hv-checkout-v5 label:has(input[type=radio]),
body.hv-checkout-v5 label:has(input[type=checkbox]){
    border-radius:
        14px !important;
}


/* RESUMEN CHECKOUT */

body.hv-checkout-v5 .summary,
body.hv-checkout-v5 .summary-box,
body.hv-checkout-v5 .order-summary{
    border:
        1px solid var(--hv5-gold-line) !important;

    border-radius:
        22px !important;

    background:
        #fff !important;

    box-shadow:
        0 22px 55px rgba(3,41,26,.07) !important;
}

body.hv-checkout-v5 .summary-totals{
    margin-top:20px !important;
    padding-top:10px !important;
    border-top:
        1px solid rgba(199,149,47,.20) !important;
}

body.hv-checkout-v5 .summary-row{
    color:#59625c;
}

body.hv-checkout-v5 .summary-total{
    margin-top:12px !important;
    padding-top:18px !important;

    border-top:
        1px solid rgba(199,149,47,.28) !important;
}

body.hv-checkout-v5 .summary-total strong{
    color:
        var(--hv5-green-deep) !important;

    font-size:
        19px !important;
}

body.hv-checkout-v5 .total-discount{
    color:#496b3d !important;
}


/* BOTON FINAL */

body.hv-checkout-v5 button[type=submit]{
    min-height:54px !important;
    padding:0 28px !important;

    background:
        var(--hv5-green-deep) !important;

    border:
        1px solid var(--hv5-green-deep) !important;

    color:#fff !important;

    border-radius:999px !important;

    box-shadow:
        0 12px 28px rgba(3,41,26,.14);
}

body.hv-checkout-v5 button[type=submit]:hover{
    background:
        #0b4930 !important;
}


/* ==========================================================
   TRUST STRIP
   ========================================================== */

.hv-checkout-trust{
    width:min(1280px,calc(100% - 46px));
    margin:0 auto 75px;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    overflow:hidden;

    border:
        1px solid var(--hv5-gold-line);

    border-radius:18px;

    background:#fff;
}

.hv-checkout-trust div{
    padding:20px 22px;
    border-right:
        1px solid rgba(199,149,47,.17);
}

.hv-checkout-trust div:last-child{
    border-right:0;
}

.hv-checkout-trust strong{
    display:block;
    margin-bottom:4px;

    color:var(--hv5-green-deep);

    font-family:"DM Sans",Arial,sans-serif;
    font-size:17px;
    font-weight:500;
}

.hv-checkout-trust span{
    color:#777d78;
    font-size:10px;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:900px){

    body.hv-cart-v5 .cart-grid{
        grid-template-columns:1fr !important;
    }

    body.hv-cart-v5 .summary{
        position:static !important;
    }

    .hv-checkout-trust{
        grid-template-columns:1fr;
    }

    .hv-checkout-trust div{
        border-right:0;
        border-bottom:
            1px solid rgba(199,149,47,.17);
    }

    .hv-checkout-trust div:last-child{
        border-bottom:0;
    }
}


@media(max-width:700px){

    .hv-flow-head-inner{
        width:calc(100% - 28px);
        padding:48px 0 38px;
    }

    .hv-flow-head h1{
        font-size:45px;
    }

    body.hv-cart-v5 .cart-wrap,
    body.hv-checkout-v5 main{
        width:calc(100% - 28px) !important;
        padding-top:35px !important;
    }

    body.hv-cart-v5 .cart-item{
        grid-template-columns:90px minmax(0,1fr) !important;
        gap:14px !important;
    }

    body.hv-cart-v5 .cart-item > div:first-child{
        width:90px;
        height:85px;
    }

    body.hv-cart-v5 .cart-item > div:nth-child(3){
        grid-column:2;
    }

    body.hv-cart-v5 .cart-item > div:last-child{
        grid-column:2;
    }

    .hv-checkout-trust{
        width:calc(100% - 28px);
    }
}

