:root {
    /* Cores e variáveis */
    --primary-color: #1b98a5;
    --primary-color-rgb: 27, 152, 165;
    --header-gradient: linear-gradient(290deg, transparent 50%, var(--primary-color) 100%);
    --header-overlay-opacity: 0.35;
    --header-radius-lg: 150px;
    --header-radius-md: 100px;
    --transition-speed: 0.3s;

    /* Fontes (nomes usados no tema) */
    --font-display: "Bebas Neue", sans-serif;
    --font-sans: "Montserrat", Sans-serif;
}

/* Base */
html {
    scroll-behavior: smooth;
}

/* Header / overlay */
.header-overlay {
    position: absolute;
    inset: 0;
    background-color: transparent;
    background-image: var(--header-gradient);
    opacity: var(--header-overlay-opacity);
    transition: background var(--transition-speed), border-radius var(--transition-speed), opacity var(--transition-speed);
}

/* Header estados */
.desktop-header-active .header {
    border-radius: 0 0 var(--header-radius-lg) 0;
}

.mobile-header-active .mobile-header {
    border-radius: 0 0 var(--header-radius-md) 0;
}

.header-compact .header {
    min-height: 600px;
}

.header-compact .mobile-header {
    min-height: 500px;
}

/* Compact mobile tweaks */
.mobile-header-active .mobile-1 div.mobile-bar-group {
    width: unset !important;
}

.mobile-header-active .menu-trigger {
    height: 60%;
}

.mobile-logo-wrapper {
    margin: 0 !important;
}

/* Busca e menus */
.mini-search .dropdown .search-trigger {
    display: none !important;
}

/* Slogan / hero */
.slogan-container {
    position: absolute;
    top: 30%;
    left: 0;
}

.slogan-container h3 {
    color: #fff !important;
    margin: 0 !important;
}

.slogan-container p {
    font-size: 20px;
    color: #fff !important;
    font-family: var(--font-sans);
}

.slogan-container a {
    font-size: 16px;
    font-weight: 700 !important;
}

.slogan-container .btn {
    background-color: var(--primary-color);
    color: #fff !important;
    border-radius: 10px !important;
}

/* Tipografia reutilizável */
.cecyber-fontstyle {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
    line-height: 1.1;
}

.cecyber-fontstyle.sm {
    font-size: 36px !important;
}

.cecyber-fontstyle.tn {
    font-size: 26px !important;
}

.cecyber-fontstyle.xl {
    font-size: 96px !important;
}

.cecyber-fontstyle.bg {
    font-size: 48px !important;
}

.cecyber-category-title {
    margin: 0;
    font-size: 48px !important;
}

/* Widgets */
.cecyber-widget-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 3rem;
}

/* Links e destaque */
.primary {
    color: var(--primary-color);
}

/* WhatsApp flutuante */
.whatsapp-float {
    position: fixed;
    bottom: 15px;
    right: 10px;
    z-index: 99999;
}

.whatsapp-float img {
    width: 200px;
}

/* Produtos / categoria */
.cecyber-divider {
    border: 3px solid var(--primary-color);
    width: 100%;
    display: flex;
}

.cecyber-products-items {
    display: flex;
    flex-direction: row;
    gap: 2%;
}

.cecyber-products-items .product-layout {
    width: 25%;
}

/* Mini ajustes de layout do produto */
.product-thumb .image-group .caption .name a {
    text-align: left !important;
}

/* Preços */
.price-new,
.price-normal {
    font-family: 'Urbanist', sans-serif;
    font-weight: 600;
}

.price-old {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 90%;
    color: rgba(242, 119, 99, 1);
    text-decoration: line-through;
}

.cart-badge{    
    position: absolute !important;
    right: -20px !important;
    background-color: var(--primary-color) !important;
}

/* Rotas específicas: reduzir header em páginas internas */
html.route-product-product .mobile-header,
html.route-product-product .header,
html.route-checkout-cart .mobile-header,
html.route-checkout-cart .header,
html.route-checkout-checkout .header,
html.route-checkout-checkout .mobile-header,
html.route-account-login .header,
html.route-account-login .mobile-header,
html.route-account-register .header,
html.route-account-register .mobile-header,
html.route-account-account .header,
html.route-account-account .mobile-header,
html.route-account-edit .header,
html.route-account-edit .mobile-header,
html.route-account-password .header,
html.route-account-password .mobile-header,
html.route-account-address .header,
html.route-account-address .mobile-header,
html.route-account-wishlist .header,
html.route-account-wishlist .mobile-header,
html.route-account-order .header,
html.route-account-order .mobile-header,
html.route-account-download .header,
html.route-account-download .mobile-header,
html.route-account-reward .header,
html.route-account-reward .mobile-header,
html.route-account-return .header,
html.route-account-return .mobile-header,
html.route-account-transaction .header,
html.route-account-transaction .mobile-header,
html.route-account-recurring .header,
html.route-account-recurring .mobile-header,
html.route-account-affiliate-add .header,
html.route-account-affiliate-add .mobile-header,
html.route-account-newsletter .header,
html.route-account-newsletter .mobile-header, 
html.route-checkout-success .header,
html.route-checkout-success .mobile-header,
html.route-account-order-info .header,
html.route-account-order-info .mobile-header,
html.route-account-logout .header,
html.route-account-logout .mobile-header,
html.route-account-return-add .header,
html.route-account-return-add .mobile-header,

html.route-account-forgotten .header,
html.route-account-forgotten .mobile-header



{
    min-height: 100px;
    border-radius: 0;
}

/* Banners: ocultar por padrão e mostrar em rotas específicas */
.product-category-banner,
.default-banner {
    display: none;
    left: 5%;
}

html.route-product-productcategory .product-category-banner,
html.route-common-home .default-banner {
    display: block;
}

/* Responsivo */
@media (max-width: 768px) {
    .links-text {
        color: #000 !important;
    }

    .slogan-container p {
        font-size: 17px;
    }

    .cecyber-products-items {
        flex-direction: column;
    }

    .cecyber-products-items .product-layout {
        width: 100%;
    }

    html.route-product-productcategory .product-category-banner {
        display: flex;
        flex-direction: column !important;
        gap: 15px !important;
    }
}