/* ==========================================================
   TOPBAR
========================================================== */

.topbar{

    background:#000;

    color:#FFF;

    font-size:.6rem;

    border-bottom:0;

}

.topbar-content{

    display:flex;


    min-height:30px;

}

.consultor{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

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

    text-align:center;

}

.consultor img{

    width:30px;

    height:30px;

    border-radius:50%;

    object-fit:cover;

    border:1px solid rgba(215,179,106,.72);

}

.consultor strong{

    color:#FFF;

    font-weight:700;

}

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

.header{

    position:sticky;

    top:0;

    z-index:1000;

    background:var(--institutional-blue);

    border-bottom:0;

    box-shadow:0 10px 30px rgba(23,23,53,.18);

}

.navbar{

    min-height:72px;

    padding:0;

    background:var(--institutional-blue);

}

.navbar .container{

    min-height:72px;

    gap:24px;

}

.navbar-brand img{

    height:39px;

    width:auto;

    display:block;

}

.navbar-nav{

    gap:2px;

}

.nav-link{

    font-size:.9rem;

    font-weight:600;

    color:#FFF;

    padding:.7rem .72rem !important;

    transition:color .2s ease;

}

.nav-link:hover,
.nav-link:focus{

    color:#D7B36A;

}

.navbar .dropdown-menu{

    padding:10px;

    border:0;

    border-radius:14px;

    box-shadow:0 16px 34px rgba(0,0,0,.14);

}

.navbar .dropdown-header{

    padding:.45rem .75rem .35rem;

    color:#7C7782;

    font-size:.75rem;

    font-weight:700;

    letter-spacing:.04em;

    text-transform:uppercase;

}

.navbar .dropdown-divider{

    border-color:rgba(21,24,51,.1);

}

@media (min-width: 992px){

    .navbar .dropdown:hover .dropdown-menu{

        display:block;

    }

    .navbar .dropdown:hover .dropdown-toggle{

        color:#D7B36A;

    }

}

.navbar .dropdown-item{

    border-radius:10px;

    color:#151833;

    font-size:.9rem;

    font-weight:600;

    padding:.55rem .75rem;

}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus{

    color:#151833;

    background:#F2EFE8;

}

.navbar .dropdown-item-all{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:18px;

}

.nav-phone{

    display:flex;

    align-items:center;

    gap:7px;

    white-space:nowrap;

}

.nav-phone i{

    color:#25D366;

}

.btn-whatsapp{

    gap:8px;

    align-items:center;

    justify-content:center;

    border-radius:999px;

    font-size:.9rem;

    font-weight:700;

    padding:.62rem 1rem;

    white-space:nowrap;

}

.navbar-toggler{

    border:none;

    box-shadow:none !important;

    color:#FFF;

    padding:.35rem;

}

.navbar-toggler i{

    font-size:1.8rem;

    color:#FFF;

}

.mobile-logo{

    height:36px;

}

.offcanvas{

    max-width:320px;

    background:var(--institutional-blue);

    color:#FFF;

}

.offcanvas-header{

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

}

.offcanvas .btn-close{

    filter:invert(1) grayscale(1) brightness(2);

}

.offcanvas .nav-link{

    padding:14px 0 !important;

    color:#FFF;

}

.offcanvas .mobile-sub-link{

    padding:7px 0 7px 18px !important;

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

    font-size:.88rem;

}

.mobile-phone{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    gap:8px;

    margin-top:4px;

    color:#FFF;

    font-weight:700;

    text-decoration:none;

}

.mobile-phone i{

    color:#25D366;

}

@media (min-width:992px) and (max-width:1199.98px){

    .nav-link{

        padding:.7rem .5rem !important;

    }

}

@media (max-width:991.98px){

    .navbar .container{

        min-height:72px;

    }

    .navbar-brand img{

        height:35px;

    }

}
/*==================================================
 COMPANY NUMBERS
==================================================*/

.company-numbers{

    padding:38px 0;

    border-bottom:0;

    background:var(--institutional-blue);

}

.banner-section + .company-numbers{

    margin-top:-24px;

    padding-top:24px;

    position:relative;

    z-index:2;

}

.company-stat{

    display:flex;

    flex-direction:column;

    align-items:center;

}

.company-stat-top{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:4px;

}

.company-stat-top i{

    color:#D7B36A;

    font-size:1.35rem;

}

.company-stat-top strong{

    font-size:2.15rem;

    line-height:1;

    color:#FFF;

    font-weight:700;

}

.company-stat-top small{

    font-size:1.2rem;

    color:#FFF;

    font-weight:700;

    margin-left:-6px;

}

.company-stat span{

    font-size:.72rem;

    text-transform:uppercase;

    letter-spacing:.10em;

    color:#D8D8E2;

}

@media (max-width:767.98px){

    .company-numbers{

        padding:30px 0;

    }

    .banner-section + .company-numbers{

        margin-top:-18px;

        padding-top:18px;

    }

    .company-stat{

        padding:12px 0;

    }

}

/*==================================================
  CATEGORY CAROUSEL
==================================================*/ 

.category-section{

    margin:0;

    padding:44px 0 54px;

    background:#F2EFE8;

}

.category-carousel{

    display:flex;

    gap:34px;

    overflow-x:auto;

    justify-content:center;

    align-items:flex-start;

    scrollbar-width:none;

    padding:4px 4px 8px;

}

.category-carousel::-webkit-scrollbar{

    display:none;

}
.category-card{

    flex:0 0 112px;

    text-align:center;

    text-decoration:none;

    color:#151833;

    transition:.25s;

}

.category-image{

    width:82px;

    height:82px;

    margin:auto;

    border-radius:50%;

    overflow:hidden;

    background:#FFF;

    box-shadow:0 10px 24px rgba(23,23,53,.10);

    margin-bottom:12px;

}

.category-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.3s;

}

.category-card:hover{

    transform:translateY(-4px);

}

.category-card:hover img{

    transform:scale(1.08);

}

.category-card h3{

    font-size:.9rem;

    margin:0 0 2px;

    font-weight:700;

}

.category-card span{

    color:#8A8790;

    font-size:.75rem;

}

@media (max-width:991.98px){

    .category-carousel{

        justify-content:flex-start;

    }

}

@media (max-width:767.98px){

    .category-section{

        padding:34px 0 42px;

    }

    .category-carousel{

        gap:26px;

    }

}
/* ==========================================================
   PRODUCT CARD
========================================================== */

.product-card {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(21, 24, 51, 0.08);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(21, 24, 51, 0.05);
    scroll-snap-align: start;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(21, 24, 51, 0.1);
}

.product-card-image-link {
    display: block;
}

.product-card-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #f4f1ea;
}

.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.product-card:hover .product-card-image img {
    transform: scale(1.03);
}

.product-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 10px;
    color: #ffffff;
    background: #151833;
    border-radius: 50px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}

.product-card-category {
    margin-bottom: 6px;
    color: #b89a62;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.product-card-title {
    margin-bottom: 8px;
    font-size: 1.25rem;
}

.product-card-title a {
    color: #151833;
    text-decoration: none;
}

.product-card-description {
    margin-bottom: 14px;
    color: #726f78;
    font-size: 0.875rem;
}

.product-card-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: auto;
}

.product-card-price strong {
    color: #151833;
    font-size: 1.2rem;
}

.product-card-old-price {
    color: #8d8990;
    font-size: 0.8rem;
    text-decoration: line-through;
}

.product-card-actions {
    padding: 0 20px 20px;
}

.product-card-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #151833;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.product-card-more:hover {
    color: #D7B36A;
}
/*==================================================
  DUAL CTA
==================================================*/

.dual-cta{

    padding:70px 0;

    background:#F2EFE8;

}

.cta-card{

    height:100%;

    padding:42px;

    border-radius:20px;

    background:#fff;

    box-shadow:0 6px 24px rgba(0,0,0,.06);

}

.cta-business{

    background:#151833;

    color:#fff;

}

.cta-consumer{

    background:#F8F7F3;

}

.cta-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.8rem;

    margin-bottom:24px;

}

.cta-business .cta-icon{

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

}

.cta-consumer .cta-icon{

    background:#EDE7DA;

    color:#B89A62;

}

.cta-card h2{

    margin-bottom:18px;

}

.cta-card p{

    margin-bottom:28px;

    opacity:.9;

}

.campaign-section{

    padding:56px 0;

    background:#EFE9DF;

}

.campaign-card{

    display:block;

    overflow:hidden;

    border-radius:20px;

    transition:.3s;

    box-shadow:0 8px 30px rgba(0,0,0,.08);

}

.campaign-card:hover{

    transform:translateY(-6px);

}

.campaign-card img{

    width:100%;

    display:block;

}
/*==================================================
  HELP CTA
==================================================*/

.help-cta{

    padding:70px 0 82px;

    background:#F2EFE8;

}

.help-card{

    background:#151833;

    color:#FFF;

    border-radius:24px;

    padding:50px;

}

.help-card p{

    opacity:.9;

    margin-top:12px;

    margin-bottom:0;

}

.help-card .btn{

    min-width:220px;

}

/*==================================================
  CATALOG SECTION
==================================================*/
.catalog-section{

    padding:76px 0 72px;

    background:transparent;

}

.help-cta + .catalog-section{

    padding-top:0;

}

.catalog-cover{

    width:254px;

    max-width:100%;

    border-radius:10px;

    box-shadow:0 14px 34px rgba(23,23,53,.16);

}

.catalog-title{

    color:#151833;

    font-weight:700;

    font-size:2rem;

    margin-bottom:14px;

}

.catalog-text{

    max-width:540px;

    color:#5F5A64;

    margin-bottom:24px;

}

.catalog-button{

    color:#FFF;
    
    background:var(--institutional-blue);

    border:1px solid var(--institutional-blue);

    padding:12px 30px;

    border-radius:50px;

    font-weight:700;

}

.catalog-button:hover{

    color:#FFF;

    background:#242852;

    border-color:#242852;

}

@media (max-width:991px){

    .catalog-section{

        padding:72px 0 60px;

    }

    .help-cta + .catalog-section{

        padding-top:0;

    }

    .catalog-cover{

        width:70vw;

        max-width:265px;

    }

    .catalog-title{

        font-size:1.7rem;

    }

    .catalog-text{

        margin-left:auto;

        margin-right:auto;

    }

}
