/* ============================================================
   HEAVENLY MODERN VISUAL SYSTEM V1
   ============================================================ */

:root{
    --hv-font:"DM Sans",Arial,sans-serif;

    --hv-bg:#f7f4ee;
    --hv-surface:#ffffff;
    --hv-surface-soft:#f1ede5;

    --hv-text:#171816;
    --hv-muted:#686a65;
    --hv-border:#ddd8cf;

    --hv-dark:#191b18;
    --hv-accent:#50643f;
    --hv-accent-dark:#3d4e31;

    --hv-radius:18px;
    --hv-radius-small:12px;

    --hv-shadow:
        0 14px 40px rgba(23,24,22,.06);
}

/* ============================================================
   BASE
   ============================================================ */

html{
    background:var(--hv-bg);
}

body{
    font-family:var(--hv-font) !important;
    background:var(--hv-bg) !important;
    color:var(--hv-text) !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body,
button,
input,
select,
textarea{
    font-family:var(--hv-font) !important;
}

/* eliminar visualmente la serif antigua en la web pública */
h1,
h2,
h3,
h4,
h5,
h6,
.logo,
.product-name,
.product-title,
.price,
.drawer-head h3,
.cart-item h4,
.footer-logo,
.site-global-footer,
.site-global-footer *{
    font-family:var(--hv-font) !important;
}

/* ============================================================
   TITULOS
   ============================================================ */

h1,
h2,
h3{
    color:var(--hv-text);
    letter-spacing:-.035em !important;
}

h1{
    font-weight:700 !important;
    line-height:.98 !important;
}

h2{
    font-weight:650 !important;
    line-height:1.04 !important;
}

h3{
    font-weight:600 !important;
    line-height:1.12 !important;
}

p{
    line-height:1.6;
}

/* ============================================================
   HEADER
   ============================================================ */

.hv-header,
.site-header,
.site-global-header{
    font-family:var(--hv-font) !important;
}

.hv-header{
    background:rgba(247,244,238,.96) !important;
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(23,24,22,.08);
}

.hv-header .logo{
    font-weight:700 !important;
    letter-spacing:.08em !important;
}

.hv-header .logo small{
    font-weight:500 !important;
    letter-spacing:.18em !important;
}

.hv-header nav a{
    font-weight:500 !important;
    letter-spacing:.01em !important;
}

/* ============================================================
   BOTONES
   ============================================================ */

.btn,
.btn-black,
.btn-dark,
.btn-light,
.btn-outline,
.ghost-btn,
.cart-btn,
.add-to-cart,
button[type="submit"],
input[type="submit"]{
    font-family:var(--hv-font) !important;
    font-weight:600 !important;
    letter-spacing:.035em !important;
    text-transform:none !important;

    border-radius:14px !important;

    transition:
        transform .18s ease,
        background .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.btn:hover,
.btn-black:hover,
.btn-dark:hover,
.btn-light:hover,
.ghost-btn:hover,
.cart-btn:hover,
.add-to-cart:hover,
button[type="submit"]:hover{
    transform:translateY(-1px);
}

.btn-black,
.btn-dark,
.cart-btn,
.add-to-cart{
    background:var(--hv-dark) !important;
    color:#fff !important;
    border-color:var(--hv-dark) !important;
}

.btn-black:hover,
.btn-dark:hover,
.cart-btn:hover,
.add-to-cart:hover{
    background:var(--hv-accent-dark) !important;
    border-color:var(--hv-accent-dark) !important;
}

/* ============================================================
   TARJETAS
   ============================================================ */

.product-card,
.product-item,
.collection-card,
.category-card,
.service-card,
.card{
    background:var(--hv-surface) !important;
    border:1px solid rgba(23,24,22,.07) !important;
    border-radius:var(--hv-radius) !important;
    overflow:hidden;
    box-shadow:none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.product-card:hover,
.product-item:hover,
.collection-card:hover,
.category-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--hv-shadow) !important;
    border-color:rgba(23,24,22,.12) !important;
}

.product-card img,
.product-item img{
    border-radius:0 !important;
}

/* ============================================================
   NOMBRES / PRECIOS
   ============================================================ */

.product-name,
.product-title{
    font-family:var(--hv-font) !important;
    font-weight:600 !important;
    letter-spacing:-.02em !important;
    line-height:1.25 !important;
}

.price,
.product-price{
    font-family:var(--hv-font) !important;
    font-weight:700 !important;
    letter-spacing:-.02em !important;
}

/* ============================================================
   FORMULARIOS
   ============================================================ */

input,
select,
textarea{
    background:#fff;
    color:var(--hv-text);
    border:1px solid var(--hv-border);
    border-radius:12px !important;
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:rgba(80,100,63,.65);
    box-shadow:0 0 0 3px rgba(80,100,63,.10);
}

/* ============================================================
   PRODUCTO
   ============================================================ */

.heavenly-product-options,
.product-action-block{
    font-family:var(--hv-font) !important;
}

.heavenly-option-group legend{
    font-family:var(--hv-font) !important;
    font-weight:600 !important;
}

.heavenly-option-choice span{
    font-family:var(--hv-font) !important;
}

.heavenly-option-choice{
    border-radius:12px !important;
}

.heavenly-option-choice:has(input:checked){
    border-color:var(--hv-accent) !important;
    background:#f0f4ec !important;
}

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

.cart-page,
.checkout-page,
.cart-shell,
.checkout-shell,
.cart-summary,
.checkout-summary{
    font-family:var(--hv-font) !important;
}

.cart-summary,
.checkout-summary,
.order-summary{
    background:#fff !important;
    border:1px solid rgba(23,24,22,.08) !important;
    border-radius:18px !important;
    box-shadow:none !important;
}

/* ============================================================
   FOOTER
   ============================================================ */

.site-global-footer{
    font-family:var(--hv-font) !important;
}

.site-global-footer h2,
.site-global-footer h3,
.site-global-footer h4,
.site-global-footer .footer-logo{
    font-family:var(--hv-font) !important;
    font-weight:600 !important;
    letter-spacing:-.02em !important;
}

/* ============================================================
   HOME
   ============================================================ */

.hero h1{
    font-family:var(--hv-font) !important;
    font-weight:700 !important;
    letter-spacing:-.055em !important;
}

.hero p{
    font-family:var(--hv-font) !important;
    font-weight:400 !important;
}

.eyebrow,
.section-eyebrow{
    font-family:var(--hv-font) !important;
    font-weight:600 !important;
    letter-spacing:.13em !important;
}

/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:700px){

    h1{
        letter-spacing:-.045em !important;
    }

    .product-card,
    .product-item{
        border-radius:14px !important;
    }

    .btn,
    .cart-btn,
    .ghost-btn,
    .add-to-cart{
        border-radius:12px !important;
    }
}

/* ==========================================================
   HEAVENLY · FIT SPORT V2
   ========================================================== */

:root{
    --hv-bg:#f4f1e9;
    --hv-surface:#ffffff;
    --hv-surface-2:#ece8de;

    --hv-text:#11130f;
    --hv-muted:#5f625a;

    --hv-dark:#151914;
    --hv-dark-2:#20251d;

    --hv-green:#445c32;
    --hv-green-2:#58723f;
    --hv-green-soft:#e7ecdf;

    --hv-border:#d6d1c7;

    --hv-radius:14px;
    --hv-radius-sm:10px;

    --hv-shadow:
        0 10px 30px rgba(20,25,18,.08);
}


/* ==========================================================
   TIPOGRAFIA GENERAL
   ========================================================== */

html,
body{
    font-family:"DM Sans",Arial,sans-serif !important;
}

body{
    background:var(--hv-bg) !important;
    color:var(--hv-text) !important;
    font-weight:500 !important;
    letter-spacing:-0.01em;
}


/* TEXTO NORMAL MAS FUERTE */

p,
li,
a,
span,
label,
input,
select,
textarea,
button{
    font-weight:500;
}


/* TITULOS FIT / SPORT */

h1,
h2,
h3,
h4,
h5,
h6{
    font-family:"DM Sans",Arial,sans-serif !important;
    color:var(--hv-text);
    font-weight:800 !important;
    letter-spacing:-0.045em !important;
    line-height:1.02 !important;
}


/* ==========================================================
   HEADER
   ========================================================== */

.site-header,
.hv-header,
header.site-header{
    background:rgba(244,241,233,.96) !important;
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(17,19,15,.10) !important;
}

.site-header a,
.hv-header a{
    font-weight:700 !important;
    letter-spacing:-0.015em;
}

.site-header nav a,
.hv-header nav a{
    font-size:15px !important;
}


/* MARCA MAS FUERTE */

.site-logo,
.brand-name,
.hv-brand{
    font-weight:900 !important;
    letter-spacing:-0.045em !important;
}


/* ==========================================================
   BOTONES
   ========================================================== */

button,
.btn,
.button,
a.button,
input[type="submit"],
input[type="button"]{
    min-height:48px !important;
    padding:0 22px !important;

    border-radius:10px !important;

    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:15px !important;
    font-weight:800 !important;
    letter-spacing:-0.02em !important;

    box-shadow:none !important;
}

.btn-primary,
.button-primary,
button[type="submit"]{
    background:var(--hv-dark) !important;
    color:#fff !important;
    border:1px solid var(--hv-dark) !important;
}

.btn-primary:hover,
.button-primary:hover,
button[type="submit"]:hover{
    background:var(--hv-green) !important;
    border-color:var(--hv-green) !important;
}


/* ==========================================================
   HERO
   ========================================================== */

.hero h1,
.home-hero h1,
.hero-title{
    font-size:clamp(48px,7vw,96px) !important;
    font-weight:900 !important;
    letter-spacing:-0.065em !important;
    line-height:.94 !important;
}

.hero p,
.home-hero p,
.hero-subtitle{
    font-size:clamp(18px,2vw,24px) !important;
    font-weight:600 !important;
    line-height:1.35 !important;
    max-width:700px;
}


/* ==========================================================
   SECCIONES
   ========================================================== */

section{
    position:relative;
}

.section-title,
.section h2,
.category-section h2{
    font-size:clamp(34px,4vw,58px) !important;
    font-weight:900 !important;
    letter-spacing:-0.05em !important;
}


/* ==========================================================
   CARDS PRODUCTOS
   ========================================================== */

.product-card,
.shop-card,
.category-card,
.card{
    border-radius:var(--hv-radius) !important;
    background:var(--hv-surface) !important;
    border:1px solid var(--hv-border) !important;
    box-shadow:none !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.product-card:hover,
.shop-card:hover,
.category-card:hover{
    transform:translateY(-4px);
    border-color:#bfc5b6 !important;
    box-shadow:var(--hv-shadow) !important;
}


/* NOMBRE PRODUCTO */

.product-card h3,
.shop-card h3,
.product-title,
.product-name{
    font-size:22px !important;
    font-weight:800 !important;
    line-height:1.08 !important;
    letter-spacing:-0.035em !important;
}


/* PRECIO */

.price,
.product-price,
.shop-price{
    font-size:24px !important;
    font-weight:900 !important;
    letter-spacing:-0.035em !important;
}


/* ==========================================================
   IMAGENES
   ========================================================== */

.product-card img,
.shop-card img,
.product-gallery img{
    border-radius:12px !important;
}

.product-card .image-wrap,
.shop-card .image-wrap{
    background:#ece8df !important;
}


/* ==========================================================
   PRODUCTO INDIVIDUAL
   ========================================================== */

.product-page h1,
.product-detail h1,
.product-info h1{
    font-size:clamp(38px,5vw,68px) !important;
    font-weight:900 !important;
    line-height:.98 !important;
}

.product-description,
.product-copy{
    font-size:18px !important;
    line-height:1.5 !important;
    font-weight:500 !important;
}


/* OPCIONES */

.product-options label,
.option-group-title{
    font-size:15px !important;
    font-weight:800 !important;
}

.product-option,
.option-card,
.option-choice{
    border:2px solid #d5d8cf !important;
    border-radius:10px !important;
    font-weight:700 !important;
}

.product-option.selected,
.option-card.selected,
.option-choice.selected{
    border-color:var(--hv-green) !important;
    background:var(--hv-green-soft) !important;
}


/* ==========================================================
   FILTROS TIENDA
   ========================================================== */

.shop-filter,
.filters,
.filter-bar{
    background:transparent !important;
}

.shop-filter label,
.filters label{
    font-weight:800 !important;
}

select,
input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
textarea{
    min-height:48px !important;
    border:2px solid #d7d5cd !important;
    border-radius:10px !important;
    font-size:16px !important;
    font-weight:600 !important;
    background:#fff !important;
}

select:focus,
input:focus,
textarea:focus{
    outline:none !important;
    border-color:var(--hv-green) !important;
    box-shadow:0 0 0 3px rgba(68,92,50,.10) !important;
}


/* ==========================================================
   BADGES FIT
   ========================================================== */

.hv-fit-badge,
.product-badge,
.badge{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:7px 10px;

    border-radius:7px !important;

    background:var(--hv-dark) !important;
    color:#fff !important;

    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase;
}


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

.cart-item,
.checkout-summary,
.order-summary,
.cart-summary{
    border-radius:var(--hv-radius) !important;
    border:1px solid var(--hv-border) !important;
    background:#fff !important;
}

.cart-item-name,
.checkout-item-name{
    font-weight:800 !important;
}

.cart-total,
.checkout-total,
.grand-total{
    font-size:26px !important;
    font-weight:900 !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

.site-footer,
footer{
    background:var(--hv-dark) !important;
    color:#fff !important;
}

.site-footer a,
footer a{
    color:#fff !important;
    font-weight:700 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:768px){

    .hero h1,
    .home-hero h1,
    .hero-title{
        font-size:48px !important;
    }

    .section-title,
    .section h2,
    .category-section h2{
        font-size:34px !important;
    }

    .product-card h3,
    .shop-card h3,
    .product-title{
        font-size:20px !important;
    }

    button,
    .btn,
    .button,
    a.button{
        min-height:50px !important;
        font-size:15px !important;
    }

}


/* ==========================================================
   HEAVENLY FIT HUB
   ========================================================== */

.hv-fit-hub{
    max-width:1380px;
    margin:0 auto 80px;
    padding:0 36px;
}

.hv-fit-hub-head{
    max-width:820px;
    margin-bottom:30px;
}

.hv-fit-kicker{
    display:inline-flex;
    padding:8px 11px;
    margin-bottom:14px;

    background:#151914;
    color:#fff;

    border-radius:8px;

    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}

.hv-fit-hub-head h2{
    margin:0 0 12px;

    font-size:clamp(38px,5vw,68px) !important;
    font-weight:900 !important;
    letter-spacing:-.055em !important;
}

.hv-fit-hub-head p{
    margin:0;
    font-size:18px;
    font-weight:600;
    line-height:1.45;
    color:#5d6258;
}

.hv-fit-tabs{
    background:#fff;
    border:1px solid #d9d7cf;
    border-radius:18px;
    overflow:hidden;
}

.hv-fit-tab-buttons{
    display:flex;
    gap:4px;
    overflow-x:auto;

    padding:10px;

    background:#171b16;
}

.hv-fit-tab-button{
    flex:0 0 auto;

    min-height:46px !important;
    padding:0 17px !important;

    border:0 !important;
    border-radius:9px !important;

    background:transparent !important;
    color:#cfd5c9 !important;

    font-size:14px !important;
    font-weight:800 !important;

    cursor:pointer;
}

.hv-fit-tab-button:hover{
    background:#252b22 !important;
    color:#fff !important;
}

.hv-fit-tab-button.is-active{
    background:#586f43 !important;
    color:#fff !important;
}

.hv-fit-tab-panels{
    padding:34px;
}

.hv-fit-tab-panel{
    display:none;
}

.hv-fit-tab-panel.is-active{
    display:block;
}

.hv-fit-tab-panel h3{
    margin:0 0 15px;

    font-size:30px !important;
    font-weight:900 !important;
}

.hv-fit-tab-panel p{
    max-width:850px;
    margin:0;

    font-size:18px;
    line-height:1.6;
    font-weight:550;
}

.hv-fit-big-copy{
    font-size:clamp(24px,3vw,38px) !important;
    line-height:1.15 !important;
    font-weight:850 !important;
    letter-spacing:-.035em;
}

.hv-fit-nutrition-layout{
    display:grid;
    grid-template-columns:minmax(250px,.75fr) minmax(320px,1.25fr);
    gap:24px;
}

.hv-fit-goal-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;

    min-height:230px;
    padding:26px;

    background:#e9eee2;
    border-radius:14px;
}

.hv-fit-goal-card span{
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
}

.hv-fit-goal-card strong{
    font-size:34px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.045em;
}

.hv-fit-nutrition-card{
    border:3px solid #171b16;
    border-radius:12px;
    padding:22px;
}

.hv-fit-nutrition-title{
    padding-bottom:13px;
    margin-bottom:5px;

    border-bottom:6px solid #171b16;

    font-size:28px;
    font-weight:900;
    letter-spacing:-.04em;
}

.hv-fit-nutrition-row{
    display:flex;
    justify-content:space-between;
    gap:20px;

    padding:12px 0;

    border-bottom:1px solid #cbcfc7;

    font-size:16px;
}

.hv-fit-nutrition-row strong{
    font-weight:900;
}

.hv-fit-nutrition-pending{
    padding:24px 0 8px;

    font-size:17px;
    line-height:1.45;
    font-weight:700;
    color:#696d65;
}

.hv-fit-alert{
    display:flex;
    flex-direction:column;
    gap:5px;

    margin-top:25px;
    padding:18px;

    max-width:850px;

    border-left:5px solid #596f44;
    background:#eef1e9;

    border-radius:8px;
}

.hv-fit-alert strong{
    font-size:14px;
    font-weight:900;
}

.hv-fit-video{
    position:relative;
    width:100%;
    max-width:900px;
    aspect-ratio:16/9;

    border-radius:14px;
    overflow:hidden;
    background:#111;
}

.hv-fit-video iframe{
    width:100%;
    height:100%;
    border:0;
}

.hv-fit-video-empty{
    min-height:280px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    gap:10px;

    text-align:center;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            #171b16 0%,
            #293223 100%
        );

    color:#fff;
}

.hv-fit-video-empty strong{
    font-size:32px;
    font-weight:900;
    letter-spacing:-.04em;
}

.hv-fit-video-empty span{
    max-width:460px;

    font-size:17px;
    font-weight:600;

    color:#d7ddcf;
}

.hv-fit-disclaimer{
    margin-top:18px;

    font-size:13px;
    line-height:1.45;
    font-weight:600;

    color:#777b72;
}

@media(max-width:780px){

    .hv-fit-hub{
        padding:0 16px;
        margin-bottom:50px;
    }

    .hv-fit-tab-panels{
        padding:22px 18px;
    }

    .hv-fit-nutrition-layout{
        grid-template-columns:1fr;
    }

    .hv-fit-goal-card{
        min-height:180px;
    }

    .hv-fit-goal-card strong{
        font-size:30px;
    }

}


/* HEAVENLY FIT HUB EXTRA V1 */

.hv-fit-section-label{
    display:inline-block;
    margin-bottom:10px;

    color:#596f44;

    font-size:12px;
    font-weight:900;
    letter-spacing:.09em;
}

.hv-fit-nutrition-pending{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.hv-fit-nutrition-pending strong{
    font-size:19px;
    font-weight:900;
    color:#171b16;
}

.hv-fit-nutrition-pending span{
    font-size:15px;
    line-height:1.5;
}

.hv-fit-video-play{
    width:66px;
    height:66px;

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

    padding-left:4px;

    border:2px solid rgba(255,255,255,.45);
    border-radius:50%;

    font-size:25px;
    color:#fff;
}




/* HEAVENLY FIT TOOLS V1 */

.hv-fittools-body{
    margin:0;
    background:
        radial-gradient(circle at top right, rgba(117,223,90,.20), transparent 24%),
        linear-gradient(180deg,#f6f8f3 0%,#eef3eb 100%);
    color:#121712;
    font-family:Arial,Helvetica,sans-serif;
}

.hv-fittools-wrap{
    width:min(1240px,calc(100% - 36px));
    margin:0 auto;
}

.hv-fittools-topbar{
    position:sticky;
    top:0;
    z-index:20;
    backdrop-filter:blur(10px);
    background:rgba(8,12,9,.86);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.hv-fittools-topbar-inner{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
}

.hv-fittools-brand{
    display:flex;
    flex-direction:column;
    text-decoration:none;
}

.hv-fittools-brand-main{
    color:#fff;
    font-size:30px;
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
}

.hv-fittools-brand-sub{
    margin-top:7px;
    color:#9fb89a;
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
}

.hv-fittools-nav{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.hv-fittools-nav a{
    color:#f1f5ef;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.hv-fittools-nav a:hover{
    color:#87db66;
}

.hv-fittools-page{
    padding-bottom:70px;
}

.hv-fittools-hero{
    padding:42px 0 24px;
}

.hv-fittools-hero-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:28px;
    align-items:stretch;
}

.hv-fittools-hero-copy,
.hv-fittools-hero-panel{
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
}

.hv-fittools-hero-copy{
    padding:42px;
    background:
        linear-gradient(135deg, rgba(16,21,16,.97) 0%, rgba(39,59,33,.98) 100%);
    color:#fff;
}

.hv-fittools-kicker,
.hv-fittools-section-kicker{
    display:inline-block;
    color:#97f172;
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.hv-fittools-hero-copy h1{
    margin:16px 0 14px;
    font-size:56px;
    line-height:.95;
    font-weight:1000;
    letter-spacing:-.04em;
}

.hv-fittools-hero-copy p{
    max-width:720px;
    color:rgba(255,255,255,.84);
    font-size:18px;
    line-height:1.65;
    font-weight:600;
}

.hv-fittools-hero-actions{
    margin-top:28px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.hv-fittools-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:0 22px;
    border-radius:16px;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.hv-fittools-btn-primary{
    background:#87db66;
    color:#101610;
}

.hv-fittools-btn-primary:hover{
    background:#9ef17d;
}

.hv-fittools-btn-secondary{
    border:2px solid rgba(255,255,255,.18);
    color:#fff;
}

.hv-fittools-btn-secondary:hover{
    border-color:#87db66;
    color:#87db66;
}

.hv-fittools-hero-badges{
    margin-top:26px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.hv-fittools-hero-badges span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#eff7ec;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hv-fittools-hero-panel{
    padding:28px;
    background:
        linear-gradient(180deg,#fff 0%,#f1f6ee 100%);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.hv-fittools-mini-stat{
    padding:20px 18px;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(21,28,21,.06);
    box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.hv-fittools-mini-stat span{
    display:block;
    margin-bottom:8px;
    color:#647064;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hv-fittools-mini-stat strong{
    color:#111611;
    font-size:28px;
    line-height:1.1;
    font-weight:1000;
    letter-spacing:-.03em;
}

.hv-fittools-section{
    padding:26px 0;
}

.hv-fittools-section-dark{
    padding:34px 0;
}

.hv-fittools-section-head{
    margin-bottom:22px;
}

.hv-fittools-section-head h2{
    margin:10px 0 10px;
    color:#101610;
    font-size:40px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.04em;
}

.hv-fittools-section-head p{
    max-width:900px;
    color:#526052;
    font-size:16px;
    line-height:1.65;
    font-weight:600;
}

.hv-fittools-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.hv-tool-card{
    padding:24px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(17,22,17,.06);
    box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.hv-tool-card-imc{
    background:linear-gradient(180deg,#ffffff 0%,#f7f0e8 100%);
}

.hv-tool-card-protein{
    background:linear-gradient(180deg,#ffffff 0%,#eef8ee 100%);
}

.hv-tool-card-water{
    background:linear-gradient(180deg,#ffffff 0%,#edf7fb 100%);
}

.hv-tool-card-calories{
    background:linear-gradient(180deg,#ffffff 0%,#f7eef6 100%);
}

.hv-tool-card-head{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:18px;
}

.hv-tool-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#101610;
    color:#fff;
    font-size:26px;
}

.hv-tool-card-head h3{
    margin:0 0 6px;
    color:#111611;
    font-size:30px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.03em;
}

.hv-tool-card-head p{
    margin:0;
    color:#5f6b5f;
    font-size:14px;
    line-height:1.6;
    font-weight:600;
}

.hv-tool-inputs{
    display:grid;
    gap:16px;
}

.hv-tool-inputs-2col{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.hv-tool-inputs label{
    display:block;
}

.hv-tool-inputs label > span{
    display:block;
    margin-bottom:8px;
    color:#374437;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hv-range-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:center;
}

.hv-range-row strong{
    min-width:88px;
    text-align:right;
    color:#101610;
    font-size:15px;
    font-weight:900;
}

.hv-tool-inputs input[type="range"]{
    width:100%;
    accent-color:#77d45b;
}

.hv-tool-inputs input[type="number"],
.hv-tool-inputs select{
    width:100%;
    min-height:50px;
    padding:0 14px;
    border:1px solid rgba(17,22,17,.12);
    border-radius:14px;
    background:#fff;
    color:#101610;
    font-size:15px;
    font-weight:800;
    box-sizing:border-box;
}

.hv-tool-result{
    margin-top:22px;
    margin-bottom:18px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
}

.hv-tool-result-cal{
    align-items:flex-start;
    flex-direction:column;
}

.hv-tool-big-number{
    color:#111611;
    font-size:52px;
    line-height:.95;
    font-weight:1000;
    letter-spacing:-.05em;
}

.hv-tool-pill{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 16px;
    border-radius:999px;
    background:#111611;
    color:#fff;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.hv-tool-sub{
    color:#4f5f4f;
    font-size:15px;
    line-height:1.55;
    font-weight:700;
}

.hv-meter{
    margin-top:10px;
}

.hv-meter-track,
.hv-progress{
    position:relative;
    width:100%;
    height:16px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(17,22,17,.09);
}

.hv-meter-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#f6c342 0%,#7fd85f 50%,#ff814d 100%);
    width:48%;
}

.hv-meter-labels{
    margin-top:10px;
    display:flex;
    justify-content:space-between;
    color:#5a675a;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.hv-bar-group{
    margin-top:8px;
}

.hv-bar-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:9px;
    color:#304030;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.hv-progress-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#5ec8ff 0%,#80f06e 100%);
    width:50%;
}

.hv-macros-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}

.hv-macro-box{
    padding:16px 14px;
    border-radius:18px;
    background:#fff;
    border:1px solid rgba(17,22,17,.08);
}

.hv-macro-box span{
    display:block;
    margin-bottom:8px;
    color:#5e6b5e;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hv-macro-box strong{
    color:#111611;
    font-size:25px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.03em;
}

.hv-fittools-section-dark .hv-fittools-wrap{
    padding:26px;
    border-radius:30px;
    background:linear-gradient(135deg,#101610 0%,#223022 100%);
}

.hv-fittools-section-dark .hv-fittools-section-head h2,
.hv-fittools-section-dark .hv-fittools-section-head p,
.hv-fittools-section-dark .hv-fittools-section-head .hv-fittools-section-kicker{
    color:#fff;
}

.hv-fittools-section-dark .hv-fittools-section-head p{
    color:rgba(255,255,255,.80);
}

.hv-fittools-section-dark .hv-fittools-section-kicker{
    color:#8cf56b;
}

.hv-reco-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.hv-reco-card{
    padding:22px;
    border-radius:24px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
}

.hv-reco-label{
    display:inline-block;
    margin-bottom:12px;
    color:#9df77d;
    font-size:11px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.hv-reco-card h3{
    margin:0 0 10px;
    color:#fff;
    font-size:28px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.03em;
}

.hv-reco-card p{
    margin:0 0 16px;
    color:rgba(255,255,255,.78);
    font-size:15px;
    line-height:1.65;
    font-weight:600;
}

.hv-reco-card a{
    color:#8cf56b;
    font-size:13px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:none;
}

.hv-fittools-note{
    padding:22px 24px;
    border-radius:22px;
    background:#fff7d7;
    border:1px solid #f0df90;
    color:#5b4f16;
    font-size:15px;
    line-height:1.65;
    font-weight:700;
}

.hv-fit-tools-cta{
    margin-top:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px;
    border-radius:22px;
    background:linear-gradient(135deg,#111811 0%,#253125 100%);
    color:#fff;
}

.hv-fit-tools-cta-copy strong{
    display:block;
    margin-bottom:8px;
    font-size:22px;
    line-height:1;
    font-weight:1000;
    letter-spacing:-.03em;
}

.hv-fit-tools-cta-copy span{
    display:block;
    color:rgba(255,255,255,.78);
    font-size:14px;
    line-height:1.6;
    font-weight:600;
}

.hv-fit-tools-cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:14px;
    background:#88e46a;
    color:#111711;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
}

.hv-fit-tools-cta a:hover{
    background:#9bf77c;
}

@media(max-width:1100px){
    .hv-fittools-hero-grid,
    .hv-fittools-grid,
    .hv-reco-grid{
        grid-template-columns:1fr;
    }

    .hv-tool-inputs-2col{
        grid-template-columns:1fr;
    }

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

@media(max-width:760px){
    .hv-fittools-wrap{
        width:min(100% - 24px,1240px);
    }

    .hv-fittools-topbar-inner{
        min-height:auto;
        padding:14px 0;
        flex-direction:column;
        align-items:flex-start;
    }

    .hv-fittools-nav{
        gap:12px;
    }

    .hv-fittools-brand-main{
        font-size:24px;
    }

    .hv-fittools-hero-copy{
        padding:28px 22px;
    }

    .hv-fittools-hero-copy h1{
        font-size:38px;
    }

    .hv-fittools-hero-panel{
        grid-template-columns:1fr;
        padding:20px;
    }

    .hv-tool-card{
        padding:20px;
    }

    .hv-tool-card-head h3{
        font-size:24px;
    }

    .hv-tool-big-number{
        font-size:40px;
    }

    .hv-fit-tools-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}


/* ==========================================================
   HEAVENLY FIT TOOLS V2
   ========================================================== */

.hv-fit-viz-grid,
.hv-performance-grid,
.hv-timing-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.hv-viz-card,
.hv-performance-card,
.hv-timing-card{
    position:relative;
    overflow:hidden;

    padding:26px;

    border-radius:28px;

    background:#fff;

    border:1px solid rgba(17,22,17,.07);

    box-shadow:
        0 18px 45px rgba(0,0,0,.06);
}

.hv-viz-card::before,
.hv-performance-card::before{
    content:"";
    position:absolute;
    top:-80px;
    right:-80px;

    width:180px;
    height:180px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(128,232,92,.22),
            transparent 68%
        );

    pointer-events:none;
}

.hv-viz-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;

    margin-bottom:22px;
}

.hv-viz-kicker{
    display:block;

    margin-bottom:6px;

    color:#5a9b43;

    font-size:11px;
    font-weight:1000;

    letter-spacing:.14em;
}

.hv-viz-head h3{
    margin:0;

    font-size:30px;
    line-height:1;

    font-weight:1000;

    letter-spacing:-.04em;
}


/* DONUT */

.hv-donut-wrap{
    position:relative;

    width:240px;
    max-width:100%;

    margin:0 auto 22px;
}

.hv-donut{
    width:100%;
    display:block;

    transform:rotate(-90deg);
}

.hv-donut-bg{
    fill:none;
    stroke:#edf1ea;
    stroke-width:18;
}

.hv-donut-seg{
    fill:none;

    stroke-width:18;
    stroke-linecap:butt;

    transition:
        stroke-dasharray .35s ease,
        stroke-dashoffset .35s ease;
}

.hv-donut-protein{
    stroke:#74d35b;
}

.hv-donut-carbs{
    stroke:#51b7ff;
}

.hv-donut-fats{
    stroke:#ffb24a;
}

.hv-donut-center{
    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    pointer-events:none;
}

.hv-donut-center strong{
    color:#111711;

    font-size:42px;
    line-height:.95;

    font-weight:1000;

    letter-spacing:-.05em;
}

.hv-donut-center span{
    margin-top:4px;

    color:#718071;

    font-size:12px;
    font-weight:900;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.hv-donut-legend{
    display:grid;
    gap:10px;
}

.hv-donut-legend > div{
    display:grid;
    grid-template-columns:12px 1fr auto;
    align-items:center;
    gap:10px;

    padding:9px 0;

    border-bottom:
        1px solid rgba(17,22,17,.06);
}

.hv-donut-legend i{
    width:12px;
    height:12px;

    border-radius:50%;
}

.hv-donut-legend i.p{
    background:#74d35b;
}

.hv-donut-legend i.c{
    background:#51b7ff;
}

.hv-donut-legend i.f{
    background:#ffb24a;
}

.hv-donut-legend span{
    color:#526052;

    font-size:14px;
    font-weight:700;
}

.hv-donut-legend strong{
    color:#111711;

    font-size:15px;
    font-weight:1000;
}


/* PROTEIN BARS */

.hv-meal-bars{
    display:grid;
    gap:18px;
}

.hv-meal-row{
    display:grid;
    grid-template-columns:90px 1fr 55px;

    align-items:center;
    gap:12px;
}

.hv-meal-row > span{
    color:#506050;

    font-size:13px;
    font-weight:900;
}

.hv-meal-row > strong{
    text-align:right;

    color:#111711;

    font-size:14px;
    font-weight:1000;
}

.hv-meal-track{
    height:18px;

    overflow:hidden;

    border-radius:999px;

    background:#edf1eb;
}

.hv-meal-track > div{
    height:100%;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #64c94b 0%,
            #9af17a 100%
        );

    width:50%;

    transition:width .35s ease;
}

.hv-viz-note{
    margin-top:22px;

    padding:15px 16px;

    border-radius:16px;

    background:#f1f6ed;

    color:#536153;

    font-size:13px;
    line-height:1.55;

    font-weight:700;
}


/* WATER */

.hv-water-visual{
    display:grid;
    grid-template-columns:170px 1fr;
    gap:24px;

    align-items:center;
}

.hv-water-bottle{
    position:relative;

    height:300px;

    overflow:hidden;

    border-radius:48px 48px 28px 28px;

    border:8px solid #d9edf6;

    background:#f8fcfe;
}

.hv-water-bottle::before{
    content:"";

    position:absolute;

    top:-26px;
    left:50%;

    transform:translateX(-50%);

    width:66px;
    height:34px;

    border-radius:12px 12px 0 0;

    background:#b9dcea;
}

.hv-water-bottle-fill{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:60%;

    background:
        linear-gradient(
            180deg,
            #67cbff 0%,
            #2898e5 100%
        );

    transition:height .35s ease;
}

.hv-water-bottle-fill::before{
    content:"";

    position:absolute;

    top:-12px;
    left:-10%;

    width:120%;
    height:28px;

    border-radius:50%;

    background:rgba(255,255,255,.28);
}

.hv-water-bottle-text{
    position:absolute;

    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    z-index:2;
}

.hv-water-bottle-text strong{
    color:#0e4f74;

    font-size:30px;
    line-height:1;

    font-weight:1000;

    letter-spacing:-.04em;
}

.hv-water-bottle-text span{
    margin-top:6px;

    color:#315f79;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;
}

.hv-water-stats{
    display:grid;
    gap:14px;
}

.hv-water-stats div{
    padding:18px;

    border-radius:20px;

    background:#f0f9fd;
}

.hv-water-stats span{
    display:block;

    margin-bottom:8px;

    color:#5f7885;

    font-size:11px;
    font-weight:900;

    letter-spacing:.1em;

    text-transform:uppercase;
}

.hv-water-stats strong{
    color:#153f54;

    font-size:26px;
    font-weight:1000;
}


/* GOAL */

.hv-goal-input label{
    display:block;

    color:#536053;

    font-size:12px;
    font-weight:900;

    text-transform:uppercase;
}

.hv-goal-input input{
    width:100%;
    margin-top:12px;

    accent-color:#80dc61;
}

.hv-goal-number{
    margin:18px 0;
}

.hv-goal-number strong{
    font-size:38px;
    font-weight:1000;
    letter-spacing:-.04em;
}

.hv-goal-track{
    position:relative;

    height:20px;

    border-radius:999px;

    background:#eef2ec;

    overflow:visible;
}

#goalConsumedBar{
    height:100%;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #55c8ff 0%,
            #7bdf5e 100%
        );

    width:50%;

    transition:width .35s ease;
}

#goalTargetMarker{
    position:absolute;

    top:-7px;

    width:4px;
    height:34px;

    border-radius:4px;

    background:#121812;

    left:65%;
}

.hv-goal-meta{
    margin-top:11px;

    display:flex;
    justify-content:space-between;
    gap:12px;

    color:#607060;

    font-size:12px;
    font-weight:900;

    text-transform:uppercase;
}

.hv-goal-status{
    margin-top:18px;

    padding:15px 16px;

    border-radius:16px;

    background:#f4f8f1;

    color:#405240;

    font-size:14px;
    font-weight:800;
}


/* PERFORMANCE */

.hv-performance-card{
    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #f3f7f1 100%
        );
}

.hv-burn-result{
    margin-top:24px;

    padding:22px;

    border-radius:20px;

    background:#111711;

    color:#fff;
}

.hv-burn-result span{
    display:block;

    margin-bottom:8px;

    color:#9fb39d;

    font-size:11px;
    font-weight:900;

    letter-spacing:.1em;

    text-transform:uppercase;
}

.hv-burn-result strong{
    font-size:42px;
    line-height:1;

    font-weight:1000;

    letter-spacing:-.04em;
}


/* RECOMMENDATION */

.hv-food-recommendation{
    margin-top:22px;

    padding:22px;

    border-radius:22px;

    background:
        linear-gradient(
            135deg,
            #111711 0%,
            #294126 100%
        );

    color:#fff;
}

.hv-food-recommendation h4{
    margin:8px 0;

    color:#fff;

    font-size:28px;
    line-height:1;

    font-weight:1000;

    letter-spacing:-.04em;
}

.hv-food-recommendation p{
    margin:0 0 16px;

    color:rgba(255,255,255,.78);

    font-size:14px;
    line-height:1.6;

    font-weight:600;
}

.hv-food-recommendation a{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:44px;

    padding:0 16px;

    border-radius:12px;

    background:#8cef6d;

    color:#101610;

    text-decoration:none;

    font-size:12px;
    font-weight:1000;

    text-transform:uppercase;

    letter-spacing:.07em;
}


/* TIMING */

.hv-timing-card{
    min-height:280px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    color:#fff;
}

.hv-timing-pre{
    background:
        linear-gradient(
            135deg,
            #164a67 0%,
            #267ea8 100%
        );
}

.hv-timing-post{
    background:
        linear-gradient(
            135deg,
            #263f20 0%,
            #4c773b 100%
        );
}

.hv-timing-card > span{
    margin-bottom:auto;

    font-size:11px;
    font-weight:1000;

    letter-spacing:.16em;

    color:rgba(255,255,255,.75);
}

.hv-timing-card h3{
    margin:0 0 12px;

    color:#fff;

    font-size:40px;
    line-height:.95;

    font-weight:1000;

    letter-spacing:-.05em;
}

.hv-timing-card p{
    margin:0;

    max-width:520px;

    color:rgba(255,255,255,.82);

    font-size:15px;
    line-height:1.65;

    font-weight:600;
}

.hv-timing-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;

    margin-top:18px;
}

.hv-timing-tags b{
    padding:8px 12px;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    font-size:11px;
    font-weight:900;

    letter-spacing:.06em;

    text-transform:uppercase;
}


/* MOTION */

.hv-viz-card,
.hv-performance-card,
.hv-timing-card{
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.hv-viz-card:hover,
.hv-performance-card:hover,
.hv-timing-card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 26px 54px rgba(0,0,0,.09);
}


@media(max-width:900px){

    .hv-fit-viz-grid,
    .hv-performance-grid,
    .hv-timing-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:600px){

    .hv-water-visual{
        grid-template-columns:1fr;
    }

    .hv-water-bottle{
        width:150px;
        margin:0 auto;
    }

    .hv-meal-row{
        grid-template-columns:76px 1fr 48px;
    }

}


/* ==========================================================
   HEAVENLY · GLOBAL TYPO SPORT · PUBLIC SITE
   No aplica al administrador.
   ========================================================== */

body:not(.admin-body),
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
body:not(.admin-body) button{
    font-family:"DM Sans",Arial,sans-serif !important;
}

/*
 * Texto normal:
 * eliminamos sensación fina / boutique.
 */

body:not(.admin-body) p,
body:not(.admin-body) li,
body:not(.admin-body) label,
body:not(.admin-body) td,
body:not(.admin-body) th,
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea{
    font-weight:550 !important;
}

/* enlaces */

body:not(.admin-body) a{
    font-weight:650;
}

/* títulos */

body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3,
body:not(.admin-body) h4,
body:not(.admin-body) h5,
body:not(.admin-body) h6{
    font-family:"DM Sans",Arial,sans-serif !important;
    font-weight:850 !important;
}

/* botones */

body:not(.admin-body) button,
body:not(.admin-body) .btn,
body:not(.admin-body) .button,
body:not(.admin-body) [class*="button"]{
    font-weight:750 !important;
}

/* nombres de productos */

body:not(.admin-body) .product-name,
body:not(.admin-body) .product-title,
body:not(.admin-body) .product-card h3,
body:not(.admin-body) .shop-card h3{
    font-weight:800 !important;
}

/* precios */

body:not(.admin-body) .price,
body:not(.admin-body) .product-price,
body:not(.admin-body) .product-price-large{
    font-weight:850 !important;
}

/* filtros */

body:not(.admin-body) .filters label,
body:not(.admin-body) .filter-group label{
    font-weight:700 !important;
}

/* FIT TOOLS */

.hv-fittools-body,
.hv-fittools-body *{
    font-family:"DM Sans",Arial,sans-serif !important;
}

.hv-fittools-body p,
.hv-fittools-body label,
.hv-fittools-body span{
    font-weight:600;
}


/* ==========================================================
   HEAVENLY · GLOBAL TYPO FIT SPORT FINAL
   ========================================================== */

:root{
    --hv-font-main:"DM Sans",Arial,sans-serif;
}


/* ==========================================================
   BASE PUBLICA
   ========================================================== */

body:not(.admin-body),
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
body:not(.admin-body) button{
    font-family:var(--hv-font-main) !important;
}


/* ==========================================================
   TEXTO GENERAL
   ========================================================== */

body:not(.admin-body) p,
body:not(.admin-body) li,
body:not(.admin-body) td,
body:not(.admin-body) th,
body:not(.admin-body) label,
body:not(.admin-body) small,
body:not(.admin-body) span{
    font-weight:600;
}


/* ==========================================================
   TITULOS
   ========================================================== */

body:not(.admin-body) h1{
    font-family:var(--hv-font-main) !important;
    font-weight:900 !important;
    letter-spacing:-0.045em !important;
}

body:not(.admin-body) h2{
    font-family:var(--hv-font-main) !important;
    font-weight:900 !important;
    letter-spacing:-0.04em !important;
}

body:not(.admin-body) h3{
    font-family:var(--hv-font-main) !important;
    font-weight:850 !important;
    letter-spacing:-0.03em !important;
}

body:not(.admin-body) h4,
body:not(.admin-body) h5,
body:not(.admin-body) h6{
    font-family:var(--hv-font-main) !important;
    font-weight:800 !important;
}


/* ==========================================================
   LINKS
   ========================================================== */

body:not(.admin-body) a{
    font-family:var(--hv-font-main) !important;
    font-weight:700;
}


/* ==========================================================
   BOTONES
   ========================================================== */

body:not(.admin-body) button,
body:not(.admin-body) .btn,
body:not(.admin-body) .button,
body:not(.admin-body) a.button,
body:not(.admin-body) input[type="submit"],
body:not(.admin-body) input[type="button"]{
    font-family:var(--hv-font-main) !important;
    font-weight:800 !important;
    letter-spacing:-0.01em;
}


/* ==========================================================
   CAMPOS
   ========================================================== */

body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea{
    font-family:var(--hv-font-main) !important;
    font-weight:600 !important;
}


/* ==========================================================
   PRODUCTOS
   ========================================================== */

body:not(.admin-body) .product-name,
body:not(.admin-body) .product-title,
body:not(.admin-body) .product-card h3,
body:not(.admin-body) .shop-card h3,
body:not(.admin-body) .product-info h3{
    font-weight:850 !important;
}

body:not(.admin-body) .price,
body:not(.admin-body) .product-price,
body:not(.admin-body) .shop-price,
body:not(.admin-body) .product-price-large,
body:not(.admin-body) .cart-total,
body:not(.admin-body) .checkout-total{
    font-weight:900 !important;
}


/* ==========================================================
   FILTROS / LABELS / META
   ========================================================== */

body:not(.admin-body) .filters label,
body:not(.admin-body) .filter-group label,
body:not(.admin-body) .product-meta,
body:not(.admin-body) .product-meta *,
body:not(.admin-body) .heavenly-option-group legend,
body:not(.admin-body) .hv-fit-section-label,
body:not(.admin-body) .hv-viz-kicker,
body:not(.admin-body) .hv-fittools-section-kicker{
    font-weight:750 !important;
}


/* ==========================================================
   OPCIONES PRODUCTO
   ========================================================== */

body:not(.admin-body) .heavenly-option-choice span{
    font-weight:750 !important;
}


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

body:not(.admin-body) .cart-item-name,
body:not(.admin-body) .checkout-item-name,
body:not(.admin-body) .summary-header,
body:not(.admin-body) .summary-header h3{
    font-weight:850 !important;
}


/* ==========================================================
   FIT HUB / FIT TOOLS
   ========================================================== */

body:not(.admin-body) .hv-fit-hub,
body:not(.admin-body) .hv-fit-hub *,
body:not(.admin-body) .hv-fittools-body,
body:not(.admin-body) .hv-fittools-body *{
    font-family:var(--hv-font-main) !important;
}

body:not(.admin-body) .hv-fit-hub p,
body:not(.admin-body) .hv-fittools-body p{
    font-weight:600 !important;
}

body:not(.admin-body) .hv-fit-tab-button{
    font-weight:800 !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

body:not(.admin-body) footer,
body:not(.admin-body) .site-footer{
    font-family:var(--hv-font-main) !important;
}

body:not(.admin-body) footer p,
body:not(.admin-body) footer span,
body:not(.admin-body) footer li,
body:not(.admin-body) .site-footer p,
body:not(.admin-body) .site-footer span,
body:not(.admin-body) .site-footer li{
    font-weight:600 !important;
}

body:not(.admin-body) footer a,
body:not(.admin-body) .site-footer a{
    font-weight:700 !important;
}

body:not(.admin-body) footer h3,
body:not(.admin-body) footer h4,
body:not(.admin-body) .site-footer h3,
body:not(.admin-body) .site-footer h4{
    font-weight:800 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:768px){

    body:not(.admin-body){
        font-weight:600;
    }

    body:not(.admin-body) h1{
        font-weight:900 !important;
    }

    body:not(.admin-body) h2,
    body:not(.admin-body) h3{
        font-weight:850 !important;
    }

}


/* ==========================================================
   HEAVENLY · MONTSERRAT GLOBAL FINAL
   ========================================================== */

:root{
    --hv-font:"Montserrat",Arial,sans-serif !important;
    --hv-font-main:"Montserrat",Arial,sans-serif !important;
}


/* TODO EL SITIO PUBLICO */

body:not(.admin-body),
body:not(.admin-body) button,
body:not(.admin-body) input,
body:not(.admin-body) textarea,
body:not(.admin-body) select{
    font-family:"Montserrat",Arial,sans-serif !important;
}


/* TEXTO */

body:not(.admin-body) p,
body:not(.admin-body) li,
body:not(.admin-body) label,
body:not(.admin-body) td,
body:not(.admin-body) th{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:600 !important;
}


/* TITULOS */

body:not(.admin-body) h1,
body:not(.admin-body) h2{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:900 !important;
}

body:not(.admin-body) h3,
body:not(.admin-body) h4,
body:not(.admin-body) h5,
body:not(.admin-body) h6{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:800 !important;
}


/* LINKS */

body:not(.admin-body) a{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:650;
}


/* BOTONES */

body:not(.admin-body) button,
body:not(.admin-body) .btn,
body:not(.admin-body) .button,
body:not(.admin-body) [class*="btn"],
body:not(.admin-body) input[type="submit"]{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:800 !important;
}


/* PRODUCTOS */

body:not(.admin-body) .product-name,
body:not(.admin-body) .product-title,
body:not(.admin-body) .product-card h3,
body:not(.admin-body) .shop-card h3{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:800 !important;
}


/* PRECIOS */

body:not(.admin-body) .price,
body:not(.admin-body) .product-price,
body:not(.admin-body) .product-price-large,
body:not(.admin-body) .shop-price{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-weight:900 !important;
}


/* FIT HUB */

.hv-fit-hub,
.hv-fit-hub *{
    font-family:"Montserrat",Arial,sans-serif !important;
}


/* HERRAMIENTAS FIT */

.hv-fittools-body,
.hv-fittools-body *{
    font-family:"Montserrat",Arial,sans-serif !important;
}


/* FOOTER */

.site-footer,
.site-footer *,
footer,
footer *{
    font-family:"Montserrat",Arial,sans-serif !important;
}


/* INPUTS */

body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea{
    font-weight:600 !important;
}


/* ==========================================================
   HEAVENLY · PRODUCT FIT TOOLBOX
   ========================================================== */

.hv-product-tools{
    width:min(1180px,calc(100% - 36px));
    margin:42px auto 32px;
    padding:28px;
    background:#f7f5ef;
    border:1px solid rgba(68,92,50,.14);
    border-radius:24px;
}


.hv-product-tools-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}


.hv-product-tools-kicker,
.hv-product-tool-panel-kicker{
    display:block;
    margin-bottom:7px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.15em;
    color:#58723f;
}


.hv-product-tools h2{
    margin:0 0 7px;
    font-size:clamp(24px,3vw,38px);
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
    color:#151914;
}


.hv-product-tools-head p{
    margin:0;
    font-size:14px;
    font-weight:600;
    color:#697064;
}


.hv-product-tools-all{
    flex:0 0 auto;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    color:#151914;
    border-bottom:2px solid #58723f;
    padding-bottom:3px;
}


.hv-product-tools-picker{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
}


.hv-product-tool-btn{
    appearance:none;
    border:1px solid rgba(68,92,50,.14) !important;
    background:#fff !important;
    color:#151914 !important;

    min-height:112px;

    padding:15px 10px !important;

    border-radius:17px !important;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:3px;

    cursor:pointer;

    box-shadow:none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease !important;
}


.hv-product-tool-btn:hover{
    transform:translateY(-2px);
    border-color:#58723f !important;
    background:#f4f6ef !important;
}


.hv-product-tool-btn.is-active{
    background:#151914 !important;
    color:#fff !important;
    border-color:#151914 !important;
}


.hv-product-tool-icon{
    width:42px;
    height:42px;

    margin-bottom:5px;

    border-radius:13px;

    display:grid;
    place-items:center;

    background:#eef1e8;

    font-size:22px;
}


.hv-product-tool-btn.is-active
.hv-product-tool-icon{
    background:#58723f;
}


.hv-product-tool-btn strong{
    font-size:13px;
    font-weight:900;
}


.hv-product-tool-btn small{
    font-size:10px;
    font-weight:700;
    opacity:.62;
}


.hv-product-tool-panel[hidden]{
    display:none !important;
}


.hv-product-tool-panel{
    position:relative;

    margin-top:14px;

    padding:20px;

    border-radius:18px;

    background:#151914;

    color:#fff;

    display:grid;

    grid-template-columns:
        auto minmax(0,1fr) auto;

    align-items:center;

    gap:18px;
}


.hv-product-tool-panel-icon{
    width:58px;
    height:58px;

    display:grid;
    place-items:center;

    border-radius:17px;

    background:#58723f;

    font-size:29px;
}


.hv-product-tool-panel-copy h3{
    margin:0 0 5px;

    color:#fff;

    font-size:20px;
    font-weight:900;
}


.hv-product-tool-panel-copy p{
    margin:0;

    max-width:620px;

    color:rgba(255,255,255,.72);

    font-size:13px;
    font-weight:600;

    line-height:1.5;
}


.hv-product-tool-panel-kicker{
    color:#bdcca9;
}


.hv-product-tool-open{
    min-height:48px;

    padding:0 17px;

    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    white-space:nowrap;

    text-decoration:none;

    background:#fff;

    color:#151914;

    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
}


.hv-product-tool-open span{
    font-size:18px;
}


.hv-product-tool-close{
    position:absolute;

    top:8px;
    right:8px;

    width:28px;
    height:28px;

    padding:0 !important;

    border:0 !important;
    border-radius:50% !important;

    background:transparent !important;
    color:rgba(255,255,255,.62) !important;

    font-size:21px;
    line-height:1;

    box-shadow:none !important;
}


.hv-product-tools-note{
    margin:14px 0 0;

    font-size:10px;
    font-weight:600;

    color:#7b8176;
}


@media(max-width:760px){

    .hv-product-tools{
        width:calc(100% - 22px);
        margin:28px auto;
        padding:19px 14px;
        border-radius:20px;
    }


    .hv-product-tools-head{
        align-items:flex-start;
    }


    .hv-product-tools-all{
        display:none;
    }


    .hv-product-tools-picker{
        display:flex;

        gap:8px;

        overflow-x:auto;

        padding-bottom:5px;

        scroll-snap-type:x mandatory;
    }


    .hv-product-tool-btn{
        flex:0 0 102px;

        min-height:102px;

        scroll-snap-align:start;
    }


    .hv-product-tool-panel{
        grid-template-columns:auto 1fr;

        padding:17px;
    }


    .hv-product-tool-open{
        grid-column:1 / -1;

        width:100%;

        margin-top:2px;
    }

}


/* HEAVENLY PRODUCT INLINE TOOLS START */

.hv-inline-tools-wrap{
    margin-top:14px;
}

.hv-inline-tool{
    padding:24px;
    border-radius:20px;
    background:#151914;
    color:#fff;
}

.hv-inline-tool[hidden]{
    display:none !important;
}

.hv-inline-tool-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:20px;
}

.hv-inline-tool-title > span{
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:#58723f;
    font-size:26px;
}

.hv-inline-tool-title small{
    display:block;
    margin-bottom:3px;
    color:#bdcca9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}

.hv-inline-tool-title h3{
    margin:0;
    color:#fff !important;
    font-size:22px;
    font-weight:900;
}

.hv-inline-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.hv-inline-grid-2{
    grid-template-columns:repeat(2,1fr);
}

.hv-inline-grid label{
    display:block;
}

.hv-inline-grid label > span{
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.7);
    font-size:11px;
    font-weight:800;
}

.hv-inline-grid input,
.hv-inline-grid select{
    width:100%;
    min-height:48px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:12px !important;
    background:#222820 !important;
    color:#fff !important;
    font-family:inherit;
    font-weight:700;
}

.hv-inline-grid select option{
    color:#111;
}

.hv-inline-result{
    margin-top:18px;
    padding:19px;
    border-radius:16px;
    background:#f6f4ed;
    color:#151914;
}

.hv-inline-result > small{
    display:block;
    margin-bottom:3px;
    color:#58723f;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
}

.hv-inline-result > strong{
    display:block;
    font-size:clamp(30px,4vw,46px);
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}

.hv-inline-result p{
    margin:8px 0 0;
    color:#687064;
    font-size:12px;
    font-weight:700;
}

.hv-inline-status{
    display:inline-flex;
    margin-top:9px;
    padding:6px 10px;
    border-radius:999px;
    background:#58723f;
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.hv-inline-macros{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-top:16px;
}

.hv-inline-macros span{
    padding:11px;
    border-radius:12px;
    background:#fff;
    border:1px solid rgba(68,92,50,.12);
    color:#687064;
    font-size:10px;
    font-weight:800;
}

.hv-inline-macros b{
    display:block;
    margin-top:3px;
    color:#151914;
    font-size:16px;
    font-weight:900;
}

@media(max-width:700px){

    .hv-inline-tool{
        padding:17px 14px;
    }

    .hv-inline-grid,
    .hv-inline-grid-2{
        grid-template-columns:1fr;
    }

    .hv-inline-macros{
        grid-template-columns:1fr;
    }

}

/* HEAVENLY PRODUCT INLINE TOOLS END */

/* ==========================================================
   HEAVENLY · PRODUCT FIT TOOLBOX · VISUAL POLISH V2
   ========================================================== */

.hv-product-tools{
    width:min(1120px,calc(100% - 36px)) !important;
    margin:34px auto !important;
    padding:24px !important;

    background:#f5f3ec !important;

    border:
        1px solid rgba(68,92,50,.12) !important;

    border-radius:26px !important;

    box-shadow:
        0 14px 40px rgba(20,25,18,.05);
}


/* TITULO */

.hv-product-tools-head{
    margin-bottom:19px !important;
}

.hv-product-tools h2{
    font-size:
        clamp(24px,2.6vw,34px) !important;

    letter-spacing:-.045em !important;
}

.hv-product-tools-head p{
    margin-top:5px !important;

    font-size:13px !important;

    color:#72786d !important;
}


/* ==========================================================
   ICONOS / SELECTOR
   ========================================================== */

.hv-product-tools-picker{
    display:grid !important;

    grid-template-columns:
        repeat(5,minmax(0,1fr)) !important;

    gap:8px !important;
}


.hv-product-tool-btn{
    min-height:86px !important;

    padding:
        11px 7px !important;

    border-radius:
        16px !important;

    gap:1px !important;

    background:
        rgba(255,255,255,.78) !important;

    border:
        1px solid rgba(68,92,50,.11) !important;

    box-shadow:
        0 4px 13px rgba(20,25,18,.025) !important;
}


.hv-product-tool-btn:hover{
    transform:
        translateY(-2px) !important;

    background:
        #fff !important;

    border-color:
        rgba(68,92,50,.40) !important;
}


.hv-product-tool-icon{
    width:36px !important;
    height:36px !important;

    margin-bottom:4px !important;

    border-radius:
        11px !important;

    font-size:
        19px !important;

    background:
        #edf0e7 !important;
}


.hv-product-tool-btn strong{
    font-size:
        12px !important;

    line-height:
        1.15 !important;

    font-weight:
        900 !important;
}


.hv-product-tool-btn small{
    margin-top:
        2px !important;

    font-size:
        9px !important;

    line-height:
        1.15 !important;
}


/* ACTIVO */

.hv-product-tool-btn.is-active{
    background:
        #1a2118 !important;

    color:
        #fff !important;

    border-color:
        #1a2118 !important;

    box-shadow:
        0 10px 24px rgba(21,25,20,.16) !important;

    transform:
        translateY(-2px) !important;
}


.hv-product-tool-btn.is-active
.hv-product-tool-icon{
    background:
        #58723f !important;
}


/* ==========================================================
   PANEL ABIERTO
   ========================================================== */

.hv-inline-tools-wrap{
    margin-top:
        10px !important;
}


.hv-inline-tool{
    padding:
        22px !important;

    border-radius:
        20px !important;

    background:
        linear-gradient(
            135deg,
            #1b2119 0%,
            #252e21 100%
        ) !important;

    border:
        1px solid rgba(255,255,255,.06);

    box-shadow:
        0 18px 42px rgba(21,25,20,.16);
}


/* TITULO PANEL */

.hv-inline-tool-title{
    margin-bottom:
        17px !important;
}


.hv-inline-tool-title > span{
    width:
        46px !important;

    height:
        46px !important;

    flex-basis:
        46px !important;

    border-radius:
        13px !important;

    font-size:
        22px !important;
}


.hv-inline-tool-title h3{
    font-size:
        20px !important;
}


/* ==========================================================
   CAMPOS
   ========================================================== */

.hv-inline-grid{
    gap:
        9px !important;
}


.hv-inline-grid label > span{
    margin-bottom:
        5px !important;

    font-size:
        10px !important;

    letter-spacing:
        .02em;
}


.hv-inline-grid input,
.hv-inline-grid select{
    min-height:
        44px !important;

    padding:
        0 12px !important;

    border-radius:
        11px !important;

    background:
        rgba(255,255,255,.07) !important;

    border:
        1px solid rgba(255,255,255,.12) !important;

    color:
        #fff !important;

    font-size:
        13px !important;
}


.hv-inline-grid input:focus,
.hv-inline-grid select:focus{
    outline:
        none !important;

    border-color:
        #93aa79 !important;

    box-shadow:
        0 0 0 3px rgba(147,170,121,.12) !important;
}


/* ==========================================================
   RESULTADO
   ========================================================== */

.hv-inline-result{
    margin-top:
        14px !important;

    padding:
        17px 18px !important;

    border-radius:
        15px !important;

    background:
        #f5f3ec !important;
}


.hv-inline-result > small{
    font-size:
        9px !important;

    letter-spacing:
        .13em !important;
}


.hv-inline-result > strong{
    margin-top:
        3px !important;

    font-size:
        clamp(30px,4vw,43px) !important;
}


.hv-inline-macros{
    gap:
        7px !important;

    margin-top:
        13px !important;
}


.hv-inline-macros span{
    padding:
        9px 11px !important;

    border-radius:
        10px !important;
}


.hv-inline-macros b{
    font-size:
        15px !important;
}


/* NOTA */

.hv-product-tools-note{
    margin-top:
        11px !important;

    text-align:
        center;

    color:
        #858b80 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:760px){

    .hv-product-tools{
        width:
            calc(100% - 18px) !important;

        margin:
            22px auto !important;

        padding:
            17px 12px !important;

        border-radius:
            20px !important;
    }


    .hv-product-tools-head{
        margin-bottom:
            15px !important;
    }


    .hv-product-tools h2{
        font-size:
            25px !important;
    }


    .hv-product-tools-picker{
        display:flex !important;

        overflow-x:auto !important;

        gap:
            7px !important;

        padding:
            2px 1px 8px !important;

        scrollbar-width:none;
    }


    .hv-product-tools-picker::-webkit-scrollbar{
        display:none;
    }


    .hv-product-tool-btn{
        flex:
            0 0 88px !important;

        width:
            88px !important;

        min-height:
            82px !important;

        padding:
            9px 5px !important;
    }


    .hv-product-tool-icon{
        width:
            33px !important;

        height:
            33px !important;

        font-size:
            18px !important;
    }


    .hv-product-tool-btn strong{
        font-size:
            11px !important;
    }


    .hv-product-tool-btn small{
        display:none;
    }


    .hv-inline-tool{
        padding:
            16px 12px !important;

        border-radius:
            17px !important;
    }


    .hv-inline-tool-title{
        gap:
            10px !important;
    }


    .hv-inline-tool-title > span{
        width:
            42px !important;

        height:
            42px !important;

        flex-basis:
            42px !important;
    }


    .hv-inline-tool-title h3{
        font-size:
            18px !important;
    }


    .hv-inline-result > strong{
        font-size:
            35px !important;
    }

}

/* ==========================================================
   HEAVENLY · FIT TOOLBOX PRODUCT CONTEXT V3
   ========================================================== */

.hv-product-tools-context{
    flex:0 0 auto;

    display:flex;
    align-items:center;

    gap:8px;

    padding:8px 11px;

    border-radius:999px;

    background:#edf0e7;

    border:
        1px solid rgba(68,92,50,.12);
}


.hv-product-tools-context span{
    width:29px;
    height:29px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#58723f;
    color:#fff;

    font-size:9px;
    font-weight:900;
}


.hv-product-tools-context strong{
    color:#293125;

    font-size:10px;
    font-weight:900;

    white-space:nowrap;
}


/* sugerencia */

.hv-product-tools-reco{
    min-height:54px;

    margin:
        -3px 0 14px;

    padding:
        8px 13px;

    display:flex;
    align-items:center;

    gap:10px;

    border-radius:14px;

    background:
        linear-gradient(
            90deg,
            rgba(88,114,63,.11),
            rgba(88,114,63,.035)
        );

    border:
        1px solid rgba(88,114,63,.12);
}


.hv-product-tools-reco-icon{
    width:36px;
    height:36px;

    flex:0 0 36px;

    display:grid;
    place-items:center;

    border-radius:11px;

    background:#fff;

    font-size:19px;
}


.hv-product-tools-reco small{
    display:block;

    margin-bottom:1px;

    color:#758068;

    font-size:8px;
    font-weight:900;

    letter-spacing:.11em;
}


.hv-product-tools-reco strong{
    color:#20261e;

    font-size:12px;
    font-weight:900;
}


/* recomendado */

.hv-product-tool-btn{
    position:relative;
}


.hv-tool-recommended{
    position:absolute;

    top:5px;
    right:5px;

    padding:
        3px 5px;

    border-radius:999px;

    background:#58723f;
    color:#fff;

    font-size:6px;
    font-weight:900;

    letter-spacing:.08em;

    line-height:1;
}


.hv-product-tool-btn.is-recommended:not(.is-active){
    border-color:
        rgba(88,114,63,.42) !important;

    box-shadow:
        inset 0 0 0 1px rgba(88,114,63,.08),
        0 5px 16px rgba(20,25,18,.04) !important;
}


/* cerrar */

.hv-inline-tool{
    position:relative;
}


.hv-inline-close{
    position:absolute;

    top:10px;
    right:10px;

    width:31px;
    height:31px;

    padding:0 !important;

    display:grid;
    place-items:center;

    border:0 !important;
    border-radius:50% !important;

    background:
        rgba(255,255,255,.08) !important;

    color:
        rgba(255,255,255,.70) !important;

    box-shadow:none !important;

    font-size:20px !important;
    line-height:1 !important;

    cursor:pointer;
}


.hv-inline-close:hover{
    background:
        rgba(255,255,255,.16) !important;

    color:#fff !important;

    transform:none !important;
}


/* anchor offset */

#hvProductTools{
    scroll-margin-top:110px;
}


@media(max-width:760px){

    .hv-product-tools-context{
        display:none;
    }


    .hv-product-tools-reco{
        min-height:50px;

        margin-bottom:12px;

        padding:7px 10px;
    }


    .hv-product-tools-reco-icon{
        width:32px;
        height:32px;

        flex-basis:32px;

        font-size:17px;
    }


    .hv-tool-recommended{
        top:4px;
        right:4px;

        padding:
            3px 4px;

        font-size:5px;
    }


    .hv-inline-close{
        top:8px;
        right:8px;
    }

}


/* HEAVENLY PRODUCT FIT GUIDE V1 START */

.hv-fit-guide{
    width:min(1120px,calc(100% - 36px));

    margin:
        28px auto 36px;

    padding:
        28px;

    border-radius:
        28px;

    background:
        #ffffff;

    border:
        1px solid rgba(68,92,50,.12);

    box-shadow:
        0 18px 50px rgba(20,25,18,.055);
}


.hv-fit-guide-top{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(270px,350px);

    gap:
        26px;

    align-items:
        center;
}


.hv-fit-guide-eyebrow{
    display:inline-flex;

    margin-bottom:
        8px;

    padding:
        6px 9px;

    border-radius:
        999px;

    background:
        #edf0e7;

    color:
        #58723f;

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        .14em;
}


.hv-fit-guide-copy h2{
    max-width:
        680px;

    margin:
        0;

    color:
        #1a2118;

    font-size:
        clamp(27px,3vw,42px);

    line-height:
        1.02;

    font-weight:
        900;

    letter-spacing:
        -.045em;
}


.hv-fit-guide-copy p{
    max-width:
        720px;

    margin:
        12px 0 0;

    color:
        #697064;

    font-size:
        13px;

    line-height:
        1.65;
}


/* ==========================================================
   FOCUS
   ========================================================== */

.hv-fit-guide-focus{
    min-height:
        112px;

    display:grid;

    grid-template-columns:
        52px 1fr 24px;

    gap:
        12px;

    align-items:
        center;

    padding:
        17px;

    border-radius:
        20px;

    text-decoration:
        none;

    background:
        linear-gradient(
            135deg,
            #1a2118,
            #293524
        );

    box-shadow:
        0 16px 32px rgba(20,25,18,.14);
}


.hv-fit-guide-focus-icon{
    width:
        52px;

    height:
        52px;

    display:grid;

    place-items:center;

    border-radius:
        15px;

    background:
        #58723f;

    font-size:
        26px;
}


.hv-fit-guide-focus small{
    display:block;

    margin-bottom:
        2px;

    color:
        #bdcca9;

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .13em;
}


.hv-fit-guide-focus strong{
    display:block;

    color:
        #fff;

    font-size:
        17px;

    font-weight:
        900;
}


.hv-fit-guide-focus em{
    display:block;

    margin-top:
        4px;

    color:
        rgba(255,255,255,.62);

    font-size:
        10px;

    line-height:
        1.35;

    font-style:
        normal;
}


.hv-fit-guide-focus > b{
    color:
        #fff;

    font-size:
        24px;

    font-weight:
        500;
}


/* ==========================================================
   MOMENTOS
   ========================================================== */

.hv-fit-guide-moments{
    display:grid;

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

    gap:
        10px;

    margin-top:
        22px;
}


.hv-fit-guide-moment{
    min-height:
        124px;

    display:flex;

    gap:
        12px;

    padding:
        17px;

    border-radius:
        17px;

    background:
        #f6f4ed;

    border:
        1px solid rgba(68,92,50,.08);
}


.hv-fit-guide-moment-icon{
    width:
        40px;

    height:
        40px;

    flex:
        0 0 40px;

    display:grid;

    place-items:center;

    border-radius:
        12px;

    background:
        #fff;

    font-size:
        20px;

    box-shadow:
        0 5px 14px rgba(20,25,18,.04);
}


.hv-fit-guide-moment h3{
    margin:
        1px 0 5px;

    color:
        #22291f;

    font-size:
        13px;

    line-height:
        1.2;

    font-weight:
        900;
}


.hv-fit-guide-moment p{
    margin:
        0;

    color:
        #73796f;

    font-size:
        10px;

    line-height:
        1.5;
}


/* ==========================================================
   LINKS TOOLBOX
   ========================================================== */

.hv-fit-guide-tools{
    display:flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;

    margin-top:
        18px;

    padding:
        15px 17px;

    border-radius:
        17px;

    background:
        #1b2119;
}


.hv-fit-guide-tools-title{
    display:flex;

    align-items:
        center;

    gap:
        10px;

    flex:
        0 0 auto;
}


.hv-fit-guide-tools-title > span{
    width:
        34px;

    height:
        34px;

    display:grid;

    place-items:center;

    border-radius:
        10px;

    background:
        #58723f;

    font-size:
        17px;
}


.hv-fit-guide-tools-title small{
    display:block;

    color:
        #9faf8d;

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        .12em;
}


.hv-fit-guide-tools-title strong{
    display:block;

    margin-top:
        2px;

    color:
        #fff;

    font-size:
        11px;

    font-weight:
        900;
}


.hv-fit-guide-tool-links{
    display:flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        6px;
}


.hv-fit-guide-tool-links a{
    display:inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        33px;

    padding:
        0 10px;

    border-radius:
        999px;

    background:
        rgba(255,255,255,.08);

    color:
        #fff;

    border:
        1px solid rgba(255,255,255,.08);

    text-decoration:
        none;

    font-size:
        9px;

    font-weight:
        800;

    transition:
        .18s ease;
}


.hv-fit-guide-tool-links a:hover{
    background:
        #58723f;

    border-color:
        #58723f;

    transform:
        translateY(-1px);
}


/* ==========================================================
   RELACIONADOS
   ========================================================== */

.hv-fit-guide-related{
    margin-top:
        22px;
}


.hv-fit-guide-related-head{
    display:flex;

    align-items:
        end;

    justify-content:
        space-between;

    gap:
        16px;

    margin-bottom:
        10px;
}


.hv-fit-guide-related-head small{
    display:block;

    color:
        #798171;

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .13em;
}


.hv-fit-guide-related-head h3{
    margin:
        3px 0 0;

    color:
        #1a2118;

    font-size:
        20px;

    font-weight:
        900;

    letter-spacing:
        -.025em;
}


.hv-fit-guide-related-head > a{
    color:
        #58723f;

    font-size:
        10px;

    font-weight:
        900;

    text-decoration:
        none;
}


.hv-fit-guide-related-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:
        9px;
}


.hv-fit-guide-related-card{
    min-height:
        77px;

    display:grid;

    grid-template-columns:
        44px 1fr 20px;

    gap:
        11px;

    align-items:
        center;

    padding:
        12px 14px;

    border-radius:
        15px;

    background:
        #f6f4ed;

    border:
        1px solid rgba(68,92,50,.08);

    text-decoration:
        none;

    transition:
        .18s ease;
}


.hv-fit-guide-related-card:hover{
    transform:
        translateY(-2px);

    border-color:
        rgba(88,114,63,.28);

    box-shadow:
        0 10px 25px rgba(20,25,18,.06);
}


.hv-fit-guide-related-icon{
    width:
        44px;

    height:
        44px;

    display:grid;

    place-items:center;

    border-radius:
        12px;

    background:
        #fff;

    font-size:
        21px;
}


.hv-fit-guide-related-info small{
    display:block;

    color:
        #78816f;

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        .12em;
}


.hv-fit-guide-related-info strong{
    display:block;

    margin-top:
        3px;

    color:
        #20261e;

    font-size:
        11px;

    line-height:
        1.25;

    font-weight:
        900;
}


.hv-fit-guide-related-card > b{
    color:
        #58723f;

    font-size:
        19px;
}


/* ==========================================================
   NOTA
   ========================================================== */

.hv-fit-guide-note{
    margin:
        14px 0 0;

    color:
        #8a9085;

    text-align:
        center;

    font-size:
        8px;

    line-height:
        1.5;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:760px){

    .hv-fit-guide{
        width:
            calc(100% - 18px);

        margin:
            18px auto 25px;

        padding:
            17px 12px;

        border-radius:
            20px;
    }


    .hv-fit-guide-top{
        grid-template-columns:
            1fr;

        gap:
            14px;
    }


    .hv-fit-guide-copy h2{
        font-size:
            27px;
    }


    .hv-fit-guide-copy p{
        font-size:
            12px;
    }


    .hv-fit-guide-focus{
        min-height:
            92px;

        grid-template-columns:
            44px 1fr 18px;

        padding:
            13px;

        border-radius:
            16px;
    }


    .hv-fit-guide-focus-icon{
        width:
            44px;

        height:
            44px;

        font-size:
            22px;
    }


    .hv-fit-guide-moments{
        grid-template-columns:
            1fr;

        gap:
            7px;

        margin-top:
            14px;
    }


    .hv-fit-guide-moment{
        min-height:
            auto;

        padding:
            13px;
    }


    .hv-fit-guide-tools{
        display:block;

        margin-top:
            13px;

        padding:
            13px;
    }


    .hv-fit-guide-tool-links{
        justify-content:
            flex-start;

        margin-top:
            11px;
    }


    .hv-fit-guide-tool-links a{
        min-height:
            32px;

        padding:
            0 9px;
    }


    .hv-fit-guide-related{
        margin-top:
            17px;
    }


    .hv-fit-guide-related-grid{
        grid-template-columns:
            1fr;
    }


    .hv-fit-guide-related-head{
        align-items:
            center;
    }


    .hv-fit-guide-related-head h3{
        font-size:
            18px;
    }

}

/* HEAVENLY PRODUCT FIT GUIDE V1 END */


/* HEAVENLY PRODUCT UX V1 START */

.hv-product-ux{
    width:min(1120px,calc(100% - 36px));

    margin:
        28px auto 10px;

    min-height:
        70px;

    padding:
        10px 12px;

    display:grid;

    grid-template-columns:
        auto minmax(0,1fr) auto;

    align-items:
        center;

    gap:
        16px;

    border-radius:
        20px;

    background:
        #1a2118;

    border:
        1px solid rgba(255,255,255,.06);

    box-shadow:
        0 14px 35px rgba(20,25,18,.12);
}


.hv-product-ux-left{
    display:flex;

    align-items:
        center;

    gap:
        9px;
}


.hv-product-ux-icon{
    width:
        42px;

    height:
        42px;

    flex:
        0 0 42px;

    display:grid;

    place-items:center;

    border-radius:
        12px;

    background:
        #58723f;

    font-size:
        21px;
}


.hv-product-ux-left small{
    display:block;

    color:
        #a9b99a;

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        .13em;
}


.hv-product-ux-left strong{
    display:block;

    margin-top:
        2px;

    color:
        #fff;

    font-size:
        11px;

    font-weight:
        900;

    white-space:
        nowrap;
}


/* ==========================================================
   NAV
   ========================================================== */

.hv-product-ux-nav{
    display:flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;
}


.hv-product-ux-nav button{
    min-height:
        36px;

    padding:
        0 11px !important;

    border:
        1px solid rgba(255,255,255,.08) !important;

    border-radius:
        999px !important;

    background:
        rgba(255,255,255,.06) !important;

    color:
        rgba(255,255,255,.88) !important;

    box-shadow:
        none !important;

    font-family:
        inherit;

    font-size:
        9px !important;

    font-weight:
        800 !important;

    cursor:
        pointer;

    transition:
        .18s ease;
}


.hv-product-ux-nav button:hover{
    background:
        #58723f !important;

    border-color:
        #58723f !important;

    transform:
        translateY(-1px);
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.hv-product-ux-actions{
    display:flex;

    gap:
        6px;
}


.hv-product-ux-actions button{
    min-height:
        38px;

    padding:
        0 10px !important;

    display:flex;

    align-items:
        center;

    gap:
        5px;

    border-radius:
        11px !important;

    border:
        1px solid rgba(255,255,255,.08) !important;

    background:
        rgba(255,255,255,.07) !important;

    color:
        #fff !important;

    box-shadow:
        none !important;

    font-family:
        inherit;

    cursor:
        pointer;
}


.hv-product-ux-actions button span{
    font-size:
        17px;
}


.hv-product-ux-actions button b{
    font-size:
        8px;

    font-weight:
        900;
}


.hv-product-ux-actions button:hover{
    background:
        rgba(255,255,255,.13) !important;
}


.hv-product-ux-actions
.hv-product-ux-save.is-saved{
    background:
        #58723f !important;

    border-color:
        #58723f !important;
}


/* ==========================================================
   TOAST
   ========================================================== */

.hv-product-ux-toast{
    position:
        fixed;

    left:
        50%;

    bottom:
        28px;

    z-index:
        9999;

    max-width:
        calc(100% - 30px);

    padding:
        10px 15px;

    border-radius:
        999px;

    background:
        #1a2118;

    color:
        #fff;

    box-shadow:
        0 15px 40px rgba(0,0,0,.20);

    font-size:
        10px;

    font-weight:
        900;

    opacity:
        0;

    pointer-events:
        none;

    transform:
        translate(-50%,15px);

    transition:
        .2s ease;
}


.hv-product-ux-toast.is-visible{
    opacity:
        1;

    transform:
        translate(-50%,0);
}


/* ==========================================================
   MOBILE BAR
   ========================================================== */

.hv-product-mobile-bar{
    display:
        none;
}


#hvFitGuide,
#hvFitHub,
#hvProductTools{
    scroll-margin-top:
        105px;
}


@media(max-width:900px){

    .hv-product-ux{
        grid-template-columns:
            1fr auto;
    }


    .hv-product-ux-nav{
        display:none;
    }

}


@media(max-width:760px){

    body{
        padding-bottom:
            72px;
    }


    .hv-product-ux{
        width:
            calc(100% - 18px);

        margin:
            18px auto 7px;

        min-height:
            62px;

        padding:
            9px 10px;

        gap:
            9px;

        border-radius:
            16px;
    }


    .hv-product-ux-icon{
        width:
            38px;

        height:
            38px;

        flex-basis:
            38px;

        font-size:
            19px;
    }


    .hv-product-ux-left strong{
        font-size:
            10px;
    }


    .hv-product-ux-actions button{
        width:
            36px;

        min-height:
            36px;

        padding:
            0 !important;

        justify-content:
            center;
    }


    .hv-product-ux-actions button b{
        display:
            none;
    }


    .hv-product-mobile-bar{
        position:
            fixed;

        left:
            10px;

        right:
            10px;

        bottom:
            10px;

        z-index:
            9997;

        height:
            56px;

        padding:
            5px 7px;

        display:grid;

        grid-template-columns:
            repeat(5,minmax(0,1fr));

        align-items:
            stretch;

        gap:
            3px;

        border-radius:
            18px;

        background:
            rgba(26,33,24,.96);

        border:
            1px solid rgba(255,255,255,.08);

        box-shadow:
            0 18px 45px rgba(0,0,0,.22);

        backdrop-filter:
            blur(12px);
    }


    .hv-product-mobile-bar button{
        min-width:
            0;

        padding:
            3px 1px !important;

        display:flex;

        flex-direction:
            column;

        align-items:
            center;

        justify-content:
            center;

        gap:
            1px;

        border:
            0 !important;

        border-radius:
            12px !important;

        background:
            transparent !important;

        color:
            #fff !important;

        box-shadow:
            none !important;

        cursor:
            pointer;
    }


    .hv-product-mobile-bar button span{
        font-size:
            17px;

        line-height:
            1;
    }


    .hv-product-mobile-bar button small{
        color:
            rgba(255,255,255,.70);

        font-size:
            7px;

        font-weight:
            800;

        line-height:
            1;
    }


    .hv-product-mobile-bar button.is-saved span{
        color:
            #a8c58a;
    }


    .hv-product-ux-toast{
        bottom:
            79px;
    }

}

/* HEAVENLY PRODUCT UX V1 END */


