/*==========================================================
    INTERNAL PAGES
==========================================================*/

:root{

    --internal-space:120px;
    --internal-radius:28px;
    --card-radius:24px;

    --primary:#9D2F2C;
    --primary-dark:#7E2522;

    --text:#342521;
    --text-light:#6B6158;

    --bg:#F8F4EE;

}

/*==========================================================
    BREADCRUMB
==========================================================*/

.breadcrumb-section{

    padding:25px 0 45px;

}

.breadcrumb{

    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;

    margin:0;
    padding:0;

    background:none;

    font-size:14px;

}

.breadcrumb li{

    list-style:none;

    color:#8D8177;

}

.breadcrumb li:not(:last-child)::after{

    content:"/";

    margin-left:10px;

    color:#C7BDB2;

}

.breadcrumb a{

    color:#8D8177;

    text-decoration:none;

    transition:.30s;

}

.breadcrumb a:hover{

    color:var(--primary);

}

/*==========================================================
    LISTAGEM DE PRODUTOS
==========================================================*/

.products-list{

    padding-bottom:120px;

}

/*==========================================================
    HEADER
==========================================================*/

.products-list-header{

    margin-bottom:60px;

}

.products-header-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:40px;

    margin-bottom:28px;

    padding-bottom:25px;

    border-bottom:1px solid #ECE8E1;

}

.products-header-title{

    flex:1;

}

.products-header-title h2{

    margin:8px 0 0;

}

.products-header-actions{

    display:flex;

    align-items:center;

    gap:22px;

    flex-shrink:0;

}

.catalog-action{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#777;

    font-size:.95rem;

    font-weight:500;

    text-decoration:none;

    transition:.30s;

}

.catalog-action:hover{

    color:var(--primary);

}

/*==========================================================
    NAVEGAÇÃO
==========================================================*/

.catalog-navigation{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.catalog-navigation a{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 20px;

    border-radius:40px;

    background:#FFF;

    color:#6A6058;

    font-size:14px;

    font-weight:600;

    text-decoration:none;

    transition:.30s;

}

.catalog-navigation a:hover,

.catalog-navigation a.active{

    background:var(--primary);

    color:#FFF;

}

/*==========================================================
    CARD DO PRODUTO
==========================================================*/

.product-card{

    position:relative;

    height:100%;

    overflow:hidden;

    border-radius:26px;

    background:#FFF;

    box-shadow:0 18px 45px rgba(0,0,0,.06);

    transition:.35s;

}

.product-card>a{

    display:flex;

    flex-direction:column;

    height:100%;

    color:inherit;

    text-decoration:none;

}

.product-card:hover{

    transform:translateY(-10px);

    box-shadow:0 35px 70px rgba(0,0,0,.14);

}

.product-thumb{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:250px;

    padding:40px 35px 15px;

    overflow:hidden;

}

.product-thumb::before{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:radial-gradient(circle, rgba(157,47,44,.06), transparent 70%);

}

.product-thumb img{
    position: relative;
    width: 78%;
    max-height: 180px;
    height: auto;
    object-fit: contain;

    filter: drop-shadow(0 25px 30px rgba(0,0,0,.16));
    transition: .45s;
}

.product-card:hover .product-thumb img{

    transform:scale(1.08);

}

.product-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:12px 28px 30px;

}

.product-content small{

    display:block;

    margin-bottom:12px;

    color:var(--primary);

    font-size:12px;

    font-weight:700;

    letter-spacing:.14em;

    text-transform:uppercase;

}

.product-content h3{

    margin-bottom:16px;

    color:var(--text);

    font-size:24px;

    line-height:1.15;

}

.product-content p{

    flex:1;

    margin-bottom:24px;

    color:#72665C;

    font-size:15px;

    line-height:1.8;

}

.product-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--primary);

    font-size:14px;

    font-weight:700;

    transition:.30s;

}

.product-link i{

    transition:.30s;

}

.product-card:hover .product-link{

    color:var(--primary-dark);

}

.product-card:hover .product-link i{

    transform:translateX(8px);

}

.product-card::after{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    height:4px;

    background:var(--primary);

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.product-card:hover::after{

    transform:scaleX(1);

}
/*==========================================================
    PAGINAÇÃO
==========================================================*/

.products-pagination{

    display:flex;

    justify-content:center;

    margin-top:70px;

}

.products-pagination .pagination{

    gap:14px;

    margin:0;

}

.products-pagination .page-link{

    display:flex;

    align-items:center;

    justify-content:center;

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    background:#FFF;

    color:#4B3D38;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.30s;

}

.products-pagination .page-link:hover,

.products-pagination .active .page-link{

    background:var(--primary);

    color:#FFF;

}

/*==========================================================
    CTA
==========================================================*/

.products-cta{

    padding:120px 0;

}

.products-cta h2{

    margin:18px 0;

    font-size:42px;

}

.products-cta h2 em{

    color:var(--primary);

    font-style:italic;

}

.products-cta p{

    max-width:620px;

    margin-top:22px;

    color:var(--text-light);

    font-size:18px;

    line-height:1.8;

}

/*==========================================================
    PRODUCT SHOW
==========================================================*/

.product-show{

    position:relative;

    overflow:hidden;

    padding:100px 0 80px;

    background:var(--bg);

}

.product-show::before{

    content:"";

    position:absolute;

    top:-220px;

    right:-180px;

    width:620px;

    height:620px;

    border-radius:50%;

    background:radial-gradient(rgba(157,47,44,.06),transparent 70%);

}

.product-show .container{

    position:relative;

    z-index:2;

}

/*==========================================================
    GRID
==========================================================*/

.product-show-grid{

    display:flex;

    align-items:center;

}

.product-show-grid>.col-lg-6{

    display:flex;

    justify-content:center;

}

.product-show-info{

    width:100%;

    max-width:560px;

}

/*==========================================================
    GALERIA
==========================================================*/

.product-show-gallery{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    min-height:520px;

}

.product-show-gallery::before{

    content:"";

    position:absolute;

    width:460px;

    height:460px;

    border-radius:50%;

    background:radial-gradient(rgba(157,47,44,.05),transparent 72%);

}

.product-show-image{

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    transition:transform .35s ease;

}

.product-show-image::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:10px;

    transform:translateX(-50%);

    width:240px;

    height:26px;

    border-radius:50%;

    background:rgba(0,0,0,.14);

    filter:blur(18px);

    z-index:-1;

}

.product-show-image img{

    width:auto;

    max-width:100%;

    height:auto;

    max-height:550px;

    opacity:1;

    transition:
        opacity .35s ease,
        transform .35s ease,
        filter .35s ease;

    filter:drop-shadow(0 30px 35px rgba(0,0,0,.18));

}

.product-show-image:hover img{

    transform:scale(1.03);

}

.product-show-image.changing{

    transform:scale(.97);

}

#product-image.changing{

    opacity:0;

}

/*==========================================================
    INFORMAÇÕES
==========================================================*/

.product-show-info .section-title{

    margin-bottom:18px;

}

.product-show-info h1{

    margin:0;

    font-size:42px;

    font-family:var(--font-title);

    line-height:1;

    color:var(--text);

}

.product-show-info h2{

    margin:18px 0 22px;

    font-size:18px;

    font-weight:500;

    line-height:1.6;

    color:#8A6A4D;

}

.product-show-summary{

    max-width:540px;

    margin:0;

    color:#6C625A;

    font-size:17px;

    line-height:1.9;

}

.product-show-divider{

    width:80px;

    height:3px;

    margin:32px 0;

    border-radius:30px;

    background:var(--primary);

}
/*==========================================================
    EMBALAGENS
==========================================================*/

.product-show-packages{

    margin-top:35px;

}

.product-show-packages h5{

    margin-bottom:18px;

    color:var(--text);

    font-size:22px;

    font-weight:700;

}

.package-options{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.package-option{

    padding:12px 24px;

    border:none;

    border-radius:40px;

    background:#FFF;

    color:#6A6058;

    font-weight:600;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

    transition:.30s;

}

.package-option:hover,

.package-option.active{

    background:var(--primary);

    color:#FFF;

}


/*====================================================
  TIPOS DE USO
====================================================*/

.product-show-uses{
    margin-top:40px;
}

.product-show-uses h5{
    margin:0 0 20px;
    font-size:22px;
    font-weight:700;
    color:#2d2d2d;
}

.product-use{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.use-badge{

    display:flex;
    align-items:center;
    gap:10px;

    padding:12px 18px;

    background:#fff;

    border:1px solid #e8e3db;
    border-radius:14px;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

    transition:.25s ease;

    color:#4a4a4a;
    text-decoration:none;
}

.use-badge:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.use-badge span:last-child{

    font-weight:600;
    white-space:nowrap;

}

/*=====================================
  ÍCONES
=====================================*/

.use-badge i{

    font-size:24px;
    color:#A32924;

}

/*=====================================
  ÍCONE EXTERNO
=====================================*/

.icon-stack{

    position:relative;

    width:28px;
    height:28px;

    display:flex;
    align-items:center;
    justify-content:center;

}

.icon-stack .bi-house-fill{

    font-size:24px;
    color:#A32924;

}

.icon-stack .sun{

    position:absolute;

    top:-5px;
    right:-7px;

    font-size:12px;

    color:#FDB813;

}

/*=====================================
  NEW COLOR
=====================================*/

.use-badge.newcolor{

    border-color:#ffd89a;

    background:linear-gradient(
        135deg,
        #fffaf0,
        #ffffff
    );

}

.use-badge.newcolor .bi-palette-fill{

    background:linear-gradient(
        45deg,
        #e53935,
        #fb8c00,
        #fdd835,
        #43a047,
        #1e88e5,
        #8e24aa
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    background-clip:text;

    font-size:25px;

}

/*=====================================
  MOBILE
=====================================*/

@media(max-width:991px){

    .product-use{

        gap:10px;

    }

}

@media(max-width:767px){

    .product-show-uses h5{

        font-size:22px;

    }

    .product-use{

        flex-direction:column;

    }

    .use-badge{

        width:100%;

    }

}

/*====================================================
DOWNLOADS
====================================================*/

.product-show-downloads{
    margin-top:50px;
}

/*==========================================
HEADER
==========================================*/

.downloads-header{

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:18px 22px;

    background:#fff;

    border:1px solid #e6e6e6;
    border-radius:12px;

    cursor:pointer;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;

}

.downloads-header:hover{

    border-color:var(--primary);

    background:#fcfcfc;

    box-shadow:0 6px 16px rgba(0,0,0,.05);

}

.downloads-title{

    display:flex;
    align-items:center;
    gap:12px;

    color:var(--primary);

    font-size:1.25rem;
    font-weight:700;

}

.downloads-title i{

    font-size:22px;

    transition:.30s;

}

.downloads-arrow{

    font-size:18px;

    color:#999;

    transition:
        transform .35s ease,
        color .25s ease;

}

.product-show-downloads.active .downloads-arrow{

    transform:rotate(180deg);

    color:var(--primary);

}

/*==========================================
BODY
==========================================*/

.downloads-body{

    max-height:0;

    overflow:hidden;

    opacity:0;

    padding-top:0;

    transition:
        max-height .45s ease,
        opacity .30s ease,
        padding .30s ease;

}

.product-show-downloads.active .downloads-body{

    max-height:2500px;

    opacity:1;

    padding-top:28px;

}

/*==========================================
GROUP
==========================================*/

.download-group{

    margin-bottom:35px;

}

.download-group:last-child{

    margin-bottom:0;

}

.download-group-title{

    display:flex;
    align-items:center;
    gap:10px;

    font-size:1rem;
    font-weight:700;

    color:#444;

    margin-bottom:18px;

    padding-bottom:10px;

    border-bottom:1px solid #ececec;

}

.download-group-title i{

    font-size:22px;

    color:var(--primary);

}

/*==========================================
GRID
==========================================*/

.downloads-grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:15px;

}

/*==========================================
ITEM
==========================================*/

.download-item{

    display:flex;
    align-items:center;
    gap:16px;

    padding:16px 18px;

    border:1px solid #e5e5e5;
    border-radius:12px;

    background:#fff;

    text-decoration:none;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;

}

.download-item:hover{

    border-color:var(--primary);

    transform:translateY(-2px);

    box-shadow:0 8px 18px rgba(0,0,0,.08);

}

.download-item > i:first-child{

    font-size:28px;

    color:var(--primary);

    flex-shrink:0;

}

.download-item div{

    flex:1;

    min-width:0;

}

.download-item strong{

    display:block;

    color:#222;

    font-size:.95rem;

    margin-bottom:3px;

}

.download-item small{

    display:block;

    color:#777;

    line-height:1.4;

}

.download-item .bi-download{

    color:#999;

    font-size:20px;

    transition:
        color .20s ease,
        transform .20s ease;

}

.download-item:hover .bi-download{

    color:var(--primary);

    transform:translateY(2px);

}

/*==========================================
RESPONSIVO
==========================================*/

@media (max-width:991px){

    .downloads-grid{

        grid-template-columns:1fr;

    }

    .downloads-header{

        padding:16px 18px;

    }

    .downloads-title{

        font-size:1.1rem;

    }

    .downloads-title i{

        font-size:20px;

    }

}

/*==========================================================
    BOTÕES
==========================================================*/

.product-show-actions{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:18px;

    margin-top:40px;

}

.product-show-actions .btn-primary-custom,

.product-show-actions .btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:220px;

    height:56px;

    border-radius:50px;

    font-weight:700;

    text-decoration:none;

    transition:.30s;

}

.product-show-actions a:hover{

    transform:translateY(-2px);

}


.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:14px 30px;

    border:2px solid var(--primary);

    border-radius:50px;

    background:transparent;

    color:var(--primary);

    font-weight:700;

    text-decoration:none;

    transition:.30s;

}

.btn-outline:hover{

    background:var(--primary);

    color:#FFF;

    border-color:var(--primary);

}

.btn-outline i{

    font-size:18px;

    transition:.30s;

}

.btn-outline:hover i{

    transform:translateX(4px);

}


/*==========================================================
    TABS
==========================================================*/

.product-show-content{

    padding:90px 0;

    background:#F8F4EE;

}

.product-show-content .container{
    padding:60px 70px;

    border:1px solid #E9D7B8;

    border-radius:34px;

    background:#F6EEDF;

    box-shadow:0 18px 45px rgba(0,0,0,.08);
}

.product-show-tabs{

    display:flex;

    gap:12px;

    margin-bottom:45px;

    border:none;

}

.product-show-tabs .nav-link{

    padding:14px 28px;

    border:none;

    border-radius:40px;

    background:#FFF;

    color:#6A6058;

    font-weight:700;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

    transition:.30s;

}

.product-show-tabs .nav-link:hover,

.product-show-tabs .nav-link.active{

    background:var(--primary);

    color:#FFF;

}

.product-show-tab-content{

    padding:50px;

    border-radius:24px;

    background:#FFF;

    box-shadow:0 18px 45px rgba(0,0,0,.05);

}

/*==========================================================
    EDITOR
==========================================================*/

.product-show-editor{

    color:#615851;

    font-size:17px;

    line-height:1.9;

}

.product-show-editor>*:first-child{

    margin-top:0;

}

.product-show-editor>*:last-child{

    margin-bottom:0;

}

.product-show-editor h2,

.product-show-editor h3,

.product-show-editor h4{

    margin:40px 0 18px;

    color:var(--text);

    font-family:var(--font-title);

}

.product-show-editor p{

    margin-bottom:18px;

}

.product-show-editor ul{

    margin:25px 0;

    padding-left:20px;

}

.product-show-editor li{

    margin-bottom:12px;

}

.product-show-editor img{

    max-width:100%;

    border-radius:20px;

}

.product-show-editor table{

    width:100%;

    margin:35px 0;

    border-collapse:collapse;

}

.product-show-editor td,

.product-show-editor th{

    padding:14px;

    border:1px solid #ECE5DB;

}

.product-show-editor th{

    background:#F8F4EE;

    color:var(--text);

}



/*==========================================================
    CORES DISPONÍVEIS
==========================================================*/

.product-colors-photo{

    position:relative;

    height:100%;

    width: 94%;

    overflow:hidden;

    border-radius:30px;

    transition:
        background-color .45s ease,
        transform .35s ease;

}

.product-colors-photo.changing{

    transform:scale(.985);

}

.product-colors-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .35s ease;

}

.product-colors-photo:hover img{

    transform:scale(1.03);

}

#selectedColor{

    display:block;

    opacity:1;

    transition:
        opacity .25s ease,
        transform .25s ease;

}

#selectedColor.changing{

    opacity:0;

    transform:translateY(6px);

}


/*==========================================================
    HIGHLIGHTS
==========================================================*/

.product-show-highlights{

    padding:90px 0;

    background:#F8F4EE;

}

.highlight-card{

    height:100%;

    padding:38px;

    border-radius:24px;

    background:#FFF;

    box-shadow:0 15px 35px rgba(0,0,0,.05);

    transition:.30s;

}

.highlight-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 50px rgba(0,0,0,.10);

}

.highlight-card .icon{

    display:flex;

    align-items:center;

    justify-content:center;

    width:64px;

    height:64px;

    margin-bottom:22px;

    border-radius:18px;

    background:#F8F4EE;

    color:var(--primary);

    font-size:28px;

}

.highlight-card h4{

    margin-bottom:14px;

    color:var(--text);

    font-family:var(--font-title);

}

.highlight-card p{

    margin:0;

    color:var(--text-light);

    line-height:1.8;

}


/*==========================================================
    PRODUTOS RELACIONADOS
==========================================================*/

.related-products{

    position:relative;

    overflow:hidden;

    padding:140px 0;

    background-color:#F8F4EE;

    background-image:
        radial-gradient(
            rgba(48,24,20,.06) 1px,
            transparent 1px
        ),
        radial-gradient(
            rgba(48,24,20,.04) 1px,
            transparent 1px
        );

    background-size:
        6px 6px,
        13px 13px;

    background-position:
        0 0,
        3px 3px;

}

.related-products::before{

    content:"";

    position:absolute;

    top:-80px;
    right:-120px;

    width:320px;
    height:320px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(199,156,70,.22),
            transparent 70%
        );

    pointer-events:none;

}

.related-products .section-title{

    margin-bottom:60px;

}

/*
    Utiliza os mesmos .product-card da listagem.
*/

/*==========================================================
    ANIMAÇÕES
==========================================================*/

.product-show-gallery,
.product-show-info,
.products-list,
.related-products{

    animation:fadeUp .7s ease both;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

.product-card,
.package-option,
.download-item,
.highlight-card{

    will-change:transform;

}

/*==========================================================
    TRANSIÇÕES
==========================================================*/

.product-card,
.package-option,
.download-item{

    transition:all .30s ease;

}

/*==========================================================
    SCROLL
==========================================================*/

html{

    scroll-behavior:smooth;

}



/*====================================================
REPRESENTANTES
====================================================*/

.representatives-page{

    padding:80px 0 100px;

}

/*====================================================
BUSCA
====================================================*/

.representatives-search{

    max-width:700px;

    margin:0 auto 50px;

}

.search-box{

    position:relative;

}

.search-box i{

    position:absolute;

    left:22px;

    top:50%;

    transform:translateY(-50%);

    color:var(--primary);

    font-size:20px;

}

.search-box input{

    height:64px;

    width: 100%;

    border-radius:50px;

    border:1px solid #e5e5e5;

    padding:0 25px 0 60px;

    font-size:16px;

    transition:.3s;

    box-shadow:none;

}

.search-box input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(216,30,38,.08);

}

/*====================================================
MAPA
====================================================*/

.representatives-map{

    margin-bottom:70px;

}

#representativesMap{

    height:650px;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 25px 70px rgba(0,0,0,.08);

}

/*====================================================
LISTA
====================================================*/

.representatives-list{

    margin-top:30px;

}

/*====================================================
CARD
====================================================*/

.rep-card{

    background:#fff;

    border-radius:22px;

    padding:30px;

    border:1px solid #ececec;

    height:100%;

    cursor:pointer;

    transition:.35s;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

}

.rep-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.rep-card.active{

    border:2px solid var(--primary);

    box-shadow:0 20px 50px rgba(216,30,38,.18);

}

/*====================================================
HEADER
====================================================*/

.rep-card-header{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:25px;

}

.rep-icon{

    width:64px;

    height:64px;

    border-radius:50%;

    background:rgba(216,30,38,.08);

    display:flex;

    align-items:center;

    justify-content:center;

}

.rep-icon i{

    font-size:28px;

    color:var(--primary);

}

.rep-card-header small{

    display:block;

    color:var(--primary);

    text-transform:uppercase;

    font-weight:700;

    letter-spacing:.08em;

    margin-bottom:6px;

}

.rep-card-header h3{

    margin:0;

    font-size:24px;

    font-weight:700;

}

/*====================================================
CIDADES
====================================================*/

.rep-cities{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:30px;

}

.rep-cities span{

    background:#f4f4f4;

    border-radius:30px;

    padding:8px 16px;

    font-size:14px;

    transition:.3s;

}

.rep-card:hover .rep-cities span{

    background:rgba(216,30,38,.08);

}

/*====================================================
FOOTER
====================================================*/

.rep-card-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    border-top:1px solid #eee;

    padding-top:22px;

}

.rep-phone{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

}

.rep-phone i{

    color:var(--primary);

}

.rep-whatsapp{

    width:50px;

    height:50px;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    font-size:24px;

    transition:.3s;

}

.rep-whatsapp:hover{

    transform:scale(1.1);

    color:#fff;

}

/*====================================================
POPUP MAPA
====================================================*/

.rep-popup{

    min-width:220px;

}

.rep-popup h4{

    margin-bottom:5px;

    font-size:18px;

}

.rep-popup span{

    color:var(--primary);

    font-weight:600;

}

.popup-cities{

    margin:15px 0;

    display:flex;

    flex-wrap:wrap;

    gap:6px;

}

.popup-cities small{

    background:#f4f4f4;

    border-radius:20px;

    padding:5px 10px;

    font-size:12px;

}

.popup-whatsapp{

    display:inline-block;

    background:#25D366;

    color:#fff;

    padding:10px 18px;

    border-radius:30px;

    text-decoration:none;

    font-size:14px;

}

.popup-whatsapp:hover{

    color:#fff;

}

/*====================================================
RESPONSIVO
====================================================*/

@media(max-width:991px){

    #representativesMap{

        height:520px;

    }

}

@media(max-width:767px){

    .representatives-page{

        padding:50px 0 70px;

    }

    #representativesMap{

        height:420px;

        border-radius:18px;

    }

    .rep-card{

        padding:25px;

    }

    .rep-card-header{

        flex-direction:column;

        text-align:center;

    }

    .rep-cities{

        justify-content:center;

    }

    .rep-card-footer{

        flex-direction:column;

        gap:20px;

    }

}





/*====================================================
ABOUT
====================================================*/

.about-intro{
    position:relative;
}

/*====================================================
TIMELINE
====================================================*/

.about-timeline{
    position:relative;
    background:#f8f9fb;
    overflow:hidden;
}

.about-timeline .container{
    position:relative;
    z-index:2;
}

.about-timeline .timeline{

    position:relative;

    max-width:900px;

    margin:70px auto 0;

}

.about-timeline .timeline::before{

    content:"";

    position:absolute;

    left:80px;

    top:0;

    bottom:0;

    width:3px;

    background:linear-gradient(
        to bottom,
        var(--primary),
        rgba(216,30,38,.15)
    );

}

.timeline-item{

    position:relative;

    display:flex;

    gap:40px;

    margin-bottom:60px;

}

.timeline-item:last-child{

    margin-bottom:0;

}

.timeline-year{

    position:relative;

    min-width:80px;

    width:80px;

    height:80px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    font-size:22px;

    z-index:2;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.timeline-content{

    flex:1;

    background:#fff;

    padding:35px;

    border-radius:22px;

    box-shadow:0 15px 45px rgba(0,0,0,.05);

    transition:.35s;

}

.timeline-content:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(0,0,0,.10);

}

.timeline-content h3{

    margin-bottom:15px;

    font-size:26px;

    font-weight:700;

}

.timeline-content p{

    margin:0;

    color:#6b7280;

    line-height:1.8;

    font-size:16px;

}

/*====================================================
FEATURES
====================================================*/

.about-features{

    background:#fff;

}

.feature-card{

    height:100%;

    padding:45px 35px;

    background:#fff;

    border-radius:24px;

    text-align:center;

    border:1px solid #ececec;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.feature-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:var(--primary);

    transform:scaleX(0);

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.feature-card:hover::before{

    transform:scaleX(1);

}

.feature-icon{

    width:90px;

    height:90px;

    margin:0 auto 30px;

    border-radius:50%;

    background:rgba(216,30,38,.08);

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.feature-card:hover .feature-icon{

    background:var(--primary);

    transform:rotate(-8deg);

}

.feature-icon i{

    font-size:42px;

    color:var(--primary);

    transition:.35s;

}

.feature-card:hover .feature-icon i{

    color:#fff;

}

.feature-card h3{

    font-size:24px;

    margin-bottom:18px;

    font-weight:700;

}

.feature-card p{

    color:#6b7280;

    line-height:1.8;

    margin:0;

}

/*====================================================
SECTION TITLES
====================================================*/

.about-intro h2,
.about-timeline h2,
.about-features h2{

    max-width:720px;

    margin-left:auto;

    margin-right:auto;

}

.about-timeline h2 em,
.about-intro h2 em,
.about-features h2 em{

    font-style:normal;

    color:var(--primary);

}

/*====================================================
ANIMATION
====================================================*/

.timeline-item,
.feature-card{

    animation:fadeUp .6s ease both;

}

.timeline-item:nth-child(2){

    animation-delay:.15s;

}

.timeline-item:nth-child(3){

    animation-delay:.30s;

}

.feature-card:nth-child(2){

    animation-delay:.1s;

}

.feature-card:nth-child(3){

    animation-delay:.2s;

}

.feature-card:nth-child(4){

    animation-delay:.3s;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*====================================================
RESPONSIVO
====================================================*/

@media(max-width:991px){

    .about-timeline .timeline::before{

        left:40px;

    }

    .timeline-item{

        gap:25px;

    }

    .timeline-year{

        width:70px;

        height:70px;

        min-width:70px;

        font-size:18px;

    }

    .timeline-content{

        padding:30px;

    }

    .feature-card{

        padding:35px 25px;

    }

}

@media(max-width:767px){

    .about-timeline .timeline{

        margin-top:40px;

    }

    .about-timeline .timeline::before{

        display:none;

    }

    .timeline-item{

        flex-direction:column;

        gap:20px;

        margin-bottom:40px;

    }

    .timeline-year{

        margin:auto;

    }

    .timeline-content{

        text-align:center;

    }

    .timeline-content h3{

        font-size:22px;

    }

    .feature-card{

        padding:35px 28px;

    }

    .feature-icon{

        width:75px;

        height:75px;

    }

    .feature-icon i{

        font-size:34px;

    }

}


/*====================================================
QUALITY
====================================================*/

.about-quality{

    background:#111;

    color:#fff;

    position:relative;

    overflow:hidden;

}

.about-quality::before{

    content:"";

    position:absolute;

    right:-180px;

    top:-180px;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

}

.about-quality::after{

    content:"";

    position:absolute;

    left:-220px;

    bottom:-220px;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(216,30,38,.08);

}

.about-quality .container{

    position:relative;

    z-index:2;

}

.about-quality h2{

    color:#fff;

}

.about-quality h2 em{

    color:var(--primary);

    font-style:normal;

}

.about-quality p{

    color:rgba(255,255,255,.75);

    line-height:1.9;

    margin:30px 0;

}

.quality-list{

    list-style:none;

    margin:0;

    padding:0;

}

.quality-list li{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;

    font-size:17px;

}

.quality-list i{

    color:var(--primary);

    font-size:22px;

}

.quality-seal{

    background:#fff;

    border-radius:30px;

    padding:60px;

    text-align:center;

    box-shadow:0 30px 70px rgba(0,0,0,.25);

}

.quality-seal img{

    max-width:100%;

    width:280px;

    transition:.35s;

}

.quality-seal:hover img{

    transform:scale(1.05);

}

/*====================================================
CTA
====================================================*/

.about-cta{

    padding:110px 0;

    background:#fff;

}

.cta-box{

    background:linear-gradient(
        135deg,
        var(--primary),
        #8b1117
    );

    color:#fff;

    text-align:center;

    padding:90px 70px;

    border-radius:32px;

    overflow:hidden;

    position:relative;

}

.cta-box::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    right:-160px;

    top:-160px;

    background:rgba(255,255,255,.08);

}

.cta-box::after{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    border-radius:50%;

    left:-120px;

    bottom:-120px;

    background:rgba(255,255,255,.05);

}

.cta-box>*{

    position:relative;

    z-index:2;

}

.cta-box span{

    display:inline-block;

    letter-spacing:3px;

    font-size:13px;

    margin-bottom:18px;

    opacity:.9;

}

.cta-box h2{

    color:#fff;

    font-size:52px;

    margin-bottom:25px;

}

.cta-box p{

    max-width:700px;

    margin:0 auto;

    color:rgba(255,255,255,.90);

    line-height:1.9;

}

.cta-box .btn{

    margin-top:40px;

    padding:18px 42px;

    font-weight:600;

    border-radius:50px;

    background:#fff;

    color:var(--primary);

    border:none;

    transition:.30s;

}

.cta-box .btn:hover{

    transform:translateY(-4px);

    background:#f4f4f4;

}

/*====================================================
RESPONSIVO
====================================================*/

@media(max-width:991px){

    .quality-seal{

        padding:40px;

    }

    .cta-box{

        padding:70px 40px;

    }

    .cta-box h2{

        font-size:40px;

    }

}

@media(max-width:767px){

    .about-quality{

        text-align:center;

    }

    .quality-list li{

        justify-content:center;

    }

    .quality-seal{

        padding:30px;

    }

    .quality-seal img{

        width:220px;

    }

    .cta-box{

        padding:60px 30px;

    }

    .cta-box h2{

        font-size:30px;

        line-height:1.3;

    }

    .cta-box p{

        font-size:15px;

    }

}




/*====================================================
CONTATO
====================================================*/

.contact-page{
    position:relative;
    padding:90px 0 100px;
    overflow:hidden;

}

.contact-page::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(216,30,38,.05) 1px,transparent 1px);
    background-size:18px 18px;
    opacity:.35;
    pointer-events:none;
}

.contact-page .container{
    position:relative;
    z-index:2;
}

/*====================================================
HEADER
====================================================*/

.contact-header{
    max-width:850px;
    margin:0 auto 70px;
    text-align:center;
}

.contact-header-subtitle{
    display:inline-block;
    margin-bottom:18px;
    color:var(--primary);
    font-size:13px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.contact-header-title{
    margin:0 0 25px;
    font-size:54px;
    font-weight:800;
    line-height:1.15;
    color:#1d1d1d;
}

.contact-header-text{
    max-width:680px;
    margin:0 auto;
    font-size:18px;
    line-height:1.8;
    color:#707070;
}

/*====================================================
LAYOUT
====================================================*/

.contact-page .row{
    align-items:stretch;
}

.contact-page .col-lg-7,
.contact-page .col-lg-5{
    display:flex;
}

.contact-form-box,
.contact-info-list{
    width:100%;
}

/*====================================================
FORMULÁRIO
====================================================*/

.contact-form-box{
    background:#fff;
    border-radius:28px;
    padding:50px;
    border:1px solid #ececec;
    box-shadow:0 25px 70px rgba(0,0,0,.06);
}

.contact-label{
    display:block;
    margin-bottom:12px;
    color:#444;
    font-size:14px;
    font-weight:600;
}

.contact-input,
.contact-textarea{
    width:100%;
    border:1px solid #e6e6e6;
    border-radius:18px;
    background:#fff;
    box-shadow:none;
    transition:.30s;
    font-size:15px;
}

.contact-input{
    height:64px;
    padding:0 22px;
}

.contact-textarea{
    min-height:180px;
    resize:none;
    padding:18px 22px;
}

.contact-input:hover,
.contact-textarea:hover{
    border-color:#d6d6d6;
}

.contact-input:focus,
.contact-textarea:focus{
    outline:none;
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(216,30,38,.08);
}

/*====================================================
BOTÃO
====================================================*/

.contact-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    height:58px;
    padding:0 42px;
    border:none;
    border-radius:50px;
    background:var(--primary);
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:.35s;
    text-decoration:none;
}

.contact-btn:hover{
    background:#b81920;
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(216,30,38,.28);
}

.contact-btn:focus{
    outline:none;
    box-shadow:0 0 0 4px rgba(216,30,38,.15);
}

/*====================================================
INFORMAÇÕES
====================================================*/

.contact-info-list{
    display:flex;
    flex-direction:column;
    gap:22px;
    height:100%;
}

.contact-info-card{
    display:flex;
    align-items:center;
    gap:22px;
    padding:24px 28px;
    min-height:110px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:24px;
    box-shadow:0 12px 35px rgba(0,0,0,.04);
    transition:.35s;
}

.contact-info-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 60px rgba(0,0,0,.08);
}

.contact-info-icon{
    width:64px;
    height:64px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(216,30,38,.08);
    transition:.35s;
}

.contact-info-icon i{
    font-size:24px;
    color:var(--primary);
    transition:.35s;
}

.contact-info-card:hover .contact-info-icon{
    background:var(--primary);
}

.contact-info-card:hover .contact-info-icon i{
    color:#fff;
}

.contact-info-card small{
    display:block;
    margin-bottom:6px;
    color:var(--primary);
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.contact-info-card h4{
    margin:0;
    color:#1d1d1d;
    font-size:20px;
    font-weight:700;
    line-height:1.45;
}

/*====================================================
MAPA
====================================================*/

.contact-map-section{
    padding:20px 0 110px;
    position:relative;
    background:#fff;
}

.contact-map-header{
    text-align:center;
    max-width:820px;
    margin:0 auto 50px;
}

.contact-map-box{
    overflow:hidden;
    background:#fff;
    border-radius:30px;
    border:1px solid #ececec;
    box-shadow:0 30px 80px rgba(0,0,0,.08);
}

.contact-map-box iframe{
    display:block;
    width:100%;
    height:560px;
    border:0;
}

/*====================================================
ANIMAÇÕES
====================================================*/

.contact-form-box,
.contact-info-card,
.contact-map-box{
    animation:contactFade .6s ease both;
}

.contact-info-card:nth-child(2){
    animation-delay:.10s;
}

.contact-info-card:nth-child(3){
    animation-delay:.20s;
}

.contact-info-card:nth-child(4){
    animation-delay:.30s;
}

@keyframes contactFade{

    from{
        opacity:0;
        transform:translateY(35px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/*====================================================
CTA
====================================================*/

.contact-cta{
    padding:0 0 120px;
    background:#fff;
}

.contact-cta-box{
    position:relative;
    overflow:hidden;
    border-radius:34px;
    padding:90px 70px;
    text-align:center;
    background:linear-gradient(135deg,var(--primary),#8d171d);
    color:#fff;
    box-shadow:0 30px 80px rgba(0,0,0,.12);
}

.contact-cta-box::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    left:-170px;
    bottom:-170px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
}

.contact-cta-box::after{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    top:-140px;
    right:-140px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.contact-cta-box > *{
    position:relative;
    z-index:2;
}

.contact-cta-title{
    margin:0 0 25px;
    color:#fff;
    font-size:52px;
    font-weight:800;
    line-height:1.2;
}

.contact-cta-text{
    max-width:700px;
    margin:0 auto 40px;
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.8;
}

.contact-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:250px;
    height:58px;
    padding:0 36px;
    border-radius:50px;
    background:#fff;
    color:var(--primary);
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    transition:.35s;
}

.contact-cta-btn:hover{
    background:#f7f7f7;
    color:var(--primary);
    transform:translateY(-4px);
    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

/*====================================================
RESPONSIVO
====================================================*/

@media (max-width:1199px){

    .contact-page{
        padding:80px 0;
    }

    .contact-header-title{
        font-size:46px;
    }

    .contact-form-box{
        padding:40px;
    }

    .contact-cta-box{
        padding:70px 50px;
    }

}

@media (max-width:991px){

    .contact-header{
        margin-bottom:50px;
    }

    .contact-header-title{
        font-size:40px;
    }

    .contact-info-list{
        margin-top:35px;
    }

    .contact-map-section{
        padding:10px 0 90px;
    }

    .contact-map-box iframe{
        height:450px;
    }

    .contact-cta{
        padding-bottom:90px;
    }

    .contact-cta-title{
        font-size:38px;
    }

}

@media (max-width:767px){

    .contact-page{
        padding:60px 0;
    }

    .contact-header{
        margin-bottom:40px;
    }

    .contact-header-title{
        font-size:32px;
        line-height:1.25;
    }

    .contact-header-text{
        font-size:16px;
    }

    .contact-form-box{
        padding:28px;
        border-radius:22px;
    }

    .contact-btn{
        width:100%;
    }

    .contact-info-card{
        padding:20px;
        min-height:auto;
        gap:18px;
    }

    .contact-info-icon{
        width:56px;
        height:56px;
    }

    .contact-info-card h4{
        font-size:17px;
    }

    .contact-map-box{
        border-radius:22px;
    }

    .contact-map-box iframe{
        height:360px;
    }

    .contact-cta{
        padding-bottom:70px;
    }

    .contact-cta-box{
        padding:55px 30px;
        border-radius:24px;
    }

    .contact-cta-title{
        font-size:30px;
        line-height:1.3;
    }

    .contact-cta-text{
        font-size:15px;
    }

    .contact-cta-btn{
        width:100%;
    }

}

@media (max-width:575px){

    .contact-header-title{
        font-size:28px;
    }

    .contact-form-box{
        padding:22px;
    }

    .contact-input{
        height:58px;
    }

    .contact-textarea{
        min-height:160px;
    }

}

/*==================================================
NEWS SHOW
==================================================*/

.news-show{

    padding:90px 0 110px;

    background:#fff;

}

.news-show .container{

    max-width:1200px;

}


/*==================================================
META
==================================================*/

.news-meta{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:30px;

    margin:0 0 55px;

    color:#8b8b8b;

    font-size:.92rem;

    font-weight:500;

    letter-spacing:.02em;

}

.news-meta span{

    display:flex;

    align-items:center;

    gap:8px;

}

.news-meta i{

    color:var(--primary);

    font-size:.95rem;

}


/*==================================================
CAPA
==================================================*/

.news-cover{

    max-width:100%;

    height:550px;

    overflow:hidden;

    border-radius:24px;

    background:#f7f7f7;

    box-shadow:
        0 25px 70px rgba(0,0,0,.12);

}

.news-cover img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center center;

    display:block;

    transition:.55s;

}

.news-cover:hover img{

    transform:scale(1.02);

}


/*==================================================
EDITOR
==================================================*/

.news-editor{

    max-width:760px;

    margin:auto;

    color:#505050;

    font-size:1.12rem;

    line-height:2.05;

    font-weight:400;

}


/*==================================================
TIPOGRAFIA
==================================================*/

.news-editor p{

    margin-bottom:34px;

}

.news-editor strong{

    color:#222;

    font-weight:700;

}

.news-editor em{

    font-style:italic;

}

.news-editor b{

    font-weight:700;

}


/*==================================================
TÍTULOS
==================================================*/

.news-editor h2{

    margin:65px 0 25px;

    font-size:2.15rem;

    line-height:1.25;

    font-weight:700;

    color:#1f1f1f;

}

.news-editor h3{

    margin:50px 0 20px;

    font-size:1.65rem;

    line-height:1.35;

    font-weight:700;

    color:#222;

}

.news-editor h4{

    margin:35px 0 18px;

    font-size:1.28rem;

    font-weight:700;

}


/*==================================================
LISTAS
==================================================*/

.news-editor ul,

.news-editor ol{

    margin:35px 0;

    padding-left:28px;

}

.news-editor li{

    margin-bottom:14px;

    line-height:1.9;

}


/*==================================================
IMAGENS DO TEXTO
==================================================*/

.news-editor img{

    display:block;

    max-width:100%;

    height:auto;

    margin:50px auto;

    border-radius:18px;

    box-shadow:

        0 18px 45px rgba(0,0,0,.08);

}


/*==================================================
VÍDEOS
==================================================*/

.news-editor iframe{

    width:100%;

    min-height:520px;

    border:0;

    border-radius:18px;

    margin:50px 0;

}


/*==================================================
TABELAS
==================================================*/

.news-editor table{

    width:100%;

    border-collapse:collapse;

    margin:45px 0;

}

.news-editor table th,

.news-editor table td{

    padding:15px 18px;

    border:1px solid #ececec;

}

.news-editor table th{

    background:#fafafa;

    font-weight:700;

}


/*==================================================
BLOCKQUOTE
==================================================*/

.news-editor blockquote{

    margin:55px 0;

    padding:35px 40px;

    background:#faf8f4;

    border-left:5px solid var(--primary);

    border-radius:0 12px 12px 0;

    color:#555;

    font-size:1.18rem;

    line-height:1.9;

    font-style:italic;

}


/*==================================================
LINKS
==================================================*/

.news-editor a{

    color:var(--primary);

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.news-editor a:hover{

    text-decoration:underline;

}


/*==================================================
COMPARTILHAR
==================================================*/

.news-share{

    max-width:760px;

    margin:70px auto 0;

    padding-top:40px;

    border-top:1px solid #ececec;

}

.news-share h6{

    margin-bottom:18px;

    color:#666;

    font-size:.92rem;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.08em;

}

.share-buttons{

    display:flex;

    gap:14px;

}

.share-buttons a{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid #e8e8e8;

    border-radius:50%;

    color:#555;

    transition:.35s;

}

.share-buttons a:hover{

    background:var(--primary);

    border-color:var(--primary);

    color:#fff;

    transform:translateY(-3px);

}


/*==================================================
DIVISOR
==================================================*/

.news-divider{

    width:120px;

    height:1px;

    background:#e4e4e4;

    margin:80px auto;

}


/*==================================================
CONTINUE LENDO
==================================================*/

.blog.pattern-diagonal{

    position:relative;

    padding:110px 0;

    overflow:hidden;

}

.blog.pattern-diagonal .container{

    position:relative;

    z-index:2;

}

.blog-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.blog-header h2{

    margin-top:18px;

    font-size:3rem;

    line-height:1.15;

    font-weight:700;

}

.blog-header h2 em{

    color:var(--secondary);

    font-style:italic;

}


/*==================================================
GRID
==================================================*/

.blog.pattern-diagonal .row{

    justify-content:center;

}


/*==================================================
CARD
==================================================*/

.blog-card{

    position:relative;

    height:100%;

    overflow:hidden;

    border-radius:22px;

    border:1px solid rgba(255,255,255,.12);

    background:rgba(255,255,255,.03);

    backdrop-filter:blur(10px);

    transition:

        transform .45s ease,

        box-shadow .45s ease,

        border-color .45s ease;

}

.blog-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,255,255,.25);

    box-shadow:

        0 30px 60px rgba(0,0,0,.30);

}

.blog-card a{

    display:flex;

    flex-direction:column;

    height:100%;

    color:#fff;

    text-decoration:none;

}


/*==================================================
IMAGEM
==================================================*/

.blog-image{

    position:relative;

    overflow:hidden;

    aspect-ratio:16/10;

}

.blog-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .7s;

}

.blog-card:hover .blog-image img{

    transform:scale(1.08);

}

.blog-image:after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        to top,

        rgba(0,0,0,.30),

        transparent 45%

    );

}


/*==================================================
CATEGORIA
==================================================*/

.blog-category{

    position:absolute;

    left:18px;

    top:18px;

    z-index:3;

    padding:7px 14px;

    border-radius:30px;

    background:#5A0909;

    color:#fff;

    font-size:.68rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}


/*==================================================
CONTEÚDO
==================================================*/

.blog-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;

}

.blog-content small{

    display:block;

    margin-bottom:14px;

    color:rgba(255,255,255,.65);

    font-size:.78rem;

    letter-spacing:.05em;

    text-transform:uppercase;

}

.blog-content h3{

    margin:0 0 16px;

    font-size:1.65rem;

    line-height:1.2;

    font-weight:700;

    color:#fff;

    transition:.35s;

}

.blog-card:hover h3{

    color:var(--secondary);

}

.blog-content p{

    flex:1;

    margin:0;

    color:rgba(255,255,255,.75);

    line-height:1.8;

}


/*==================================================
RODAPÉ CARD
==================================================*/

.blog-content:after{

    content:"Continuar lendo";

    display:inline-flex;

    align-items:center;

    margin-top:28px;

    color:var(--secondary);

    font-weight:600;

    transition:.35s;

}

.blog-card:hover .blog-content:after{

    letter-spacing:.04em;

}


/*==================================================
BOTÃO
==================================================*/

.blog-footer{

    margin-top:70px;

    text-align:center;

}

.blog-footer .btn{

    min-width:240px;

}


/*==================================================
ANIMAÇÃO
==================================================*/

.blog-card,
.blog-image img,
.blog-content h3,
.blog-footer .btn{

    transition:all .35s ease;

}

/*==================================================
RESPONSIVO
==================================================*/

@media (max-width:1200px){

    .news-cover,
    .news-editor,
    .news-share,
    .blog-header{

        max-width:720px;

    }

    .blog-content{

        padding:24px;

    }

    .blog-content h3{

        font-size:1.45rem;

    }

}


/*--------------------------------------------------
TABLET
--------------------------------------------------*/

@media (max-width:991px){

    .news-show{

        padding:70px 0 90px;

    }

    .news-meta{

        gap:18px;

        margin-bottom:40px;

    }

    .news-cover,
    .news-editor,
    .news-share{

        max-width:100%;

    }

    .news-cover{

        margin-bottom:45px;

        border-radius:18px;

    }

    .news-editor{

        font-size:1.04rem;

        line-height:1.95;

    }

    .news-editor h2{

        font-size:1.8rem;

    }

    .news-editor h3{

        font-size:1.45rem;

    }

    .news-editor iframe{

        min-height:360px;

    }

    .blog.pattern-diagonal{

        padding:90px 0;

    }

    .blog-header{

        margin-bottom:50px;

    }

    .blog-header h2{

        font-size:2.4rem;

    }

}


/*--------------------------------------------------
MOBILE
--------------------------------------------------*/

@media (max-width:767px){

    .news-show{

        padding:50px 0 70px;

    }

    .news-meta{

        flex-direction:column;

        gap:10px;

        margin-bottom:30px;

        font-size:.85rem;

    }

    .news-cover{

        border-radius:14px;

        margin-bottom:30px;

    }

    .news-editor{

        font-size:1rem;

        line-height:1.85;

    }

    .news-editor h2{

        margin:40px 0 18px;

        font-size:1.55rem;

    }

    .news-editor h3{

        margin:30px 0 16px;

        font-size:1.28rem;

    }

    .news-editor p{

        margin-bottom:24px;

    }

    .news-editor img{

        margin:35px auto;

        border-radius:14px;

    }

    .news-editor iframe{

        min-height:220px;

        border-radius:14px;

    }

    .news-editor blockquote{

        padding:22px;

        font-size:1.05rem;

    }

    .news-share{

        margin-top:50px;

    }

    .share-buttons{

        flex-wrap:wrap;

    }

    .share-buttons a{

        width:40px;

        height:40px;

    }

    .blog.pattern-diagonal{

        padding:70px 0;

    }

    .blog-header{

        margin-bottom:40px;

    }

    .blog-header h2{

        font-size:2rem;

    }

    .blog-content{

        padding:22px;

    }

    .blog-content h3{

        font-size:1.3rem;

    }

}


/*--------------------------------------------------
MOBILE PEQUENO
--------------------------------------------------*/

@media (max-width:480px){

    .news-editor{

        font-size:.97rem;

    }

    .news-editor h2{

        font-size:1.4rem;

    }

    .news-editor h3{

        font-size:1.15rem;

    }

    .blog-header h2{

        font-size:1.7rem;

    }

}


/*==================================================
MICRO ANIMAÇÕES
==================================================*/

.news-cover,
.news-cover img,
.news-editor img,
.share-buttons a,
.blog-card,
.blog-image img,
.blog-content h3,
.blog-footer .btn{

    transition:all .35s ease;

}


/*==================================================
SCROLLBAR (WEBKIT)
==================================================*/

.news-editor::-webkit-scrollbar{

    width:8px;

}

.news-editor::-webkit-scrollbar-thumb{

    background:rgba(0,0,0,.20);

    border-radius:20px;

}


/*==================================================
SELEÇÃO
==================================================*/

.news-editor ::selection{

    background:var(--primary);

    color:#fff;

}


/*==================================================
MELHORIA DE LEITURA
==================================================*/

.news-editor{

    text-rendering:optimizeLegibility;

    -webkit-font-smoothing:antialiased;

}

.news-editor p{

    text-wrap:pretty;

}

.news-editor h2,
.news-editor h3{

    text-wrap:balance;

}


/*==================================================
FOCUS
==================================================*/

.share-buttons a:focus,
.blog-card a:focus{

    outline:none;

    box-shadow:0 0 0 4px rgba(213,29,41,.15);

}


/*==================================================
HOVER PREMIUM
==================================================*/

.news-cover{

    position:relative;

}

.news-cover:before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.08),
        transparent 40%
    );

    opacity:0;

    transition:.35s;

    z-index:2;

}

.news-cover:hover:before{

    opacity:1;

}

.news-cover img{

    position:relative;

    z-index:1;

}


/*==================================================
SEPARADOR
==================================================*/

.news-share:before{

    content:"";

    display:block;

    width:80px;

    height:2px;

    background:var(--secondary);

    margin-bottom:25px;

    border-radius:50px;

}




/*==================================================
BLOG LIST
==================================================*/

.internal-news{

    padding:90px 0 120px;

    background:#fff;

}

.internal-news .container{

    max-width:1320px;

}


/*==================================================
GRID
==================================================*/

.internal-news .row{

    row-gap:35px;

}


/*==================================================
CARD
==================================================*/

.internal-news .blog-card{

    display:flex;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    border-radius:22px;

    background:#fff;

    border:1px solid #ececec;

    box-shadow:

        0 15px 35px rgba(0,0,0,.06);

    transition:.35s;

}

.internal-news .blog-card:hover{

    transform:translateY(-8px);

    box-shadow:

        0 30px 60px rgba(0,0,0,.10);

}

.internal-news .blog-card a{

    display:flex;

    flex-direction:column;

    height:100%;

    color:inherit;

    text-decoration:none;

}


/*==================================================
IMAGEM
==================================================*/

.internal-news .blog-image{

    position:relative;

    overflow:hidden;

    aspect-ratio:16/10;

}

.internal-news .blog-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.internal-news .blog-card:hover img{

    transform:scale(1.08);

}


/*==================================================
CATEGORIA
==================================================*/

.internal-news .blog-category{

    position:absolute;

    top:18px;

    left:18px;

    background:var(--primary);

    color:#fff;

    padding:7px 16px;

    border-radius:40px;

    font-size:.68rem;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

}


/*==================================================
CONTEÚDO
==================================================*/

.internal-news .blog-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;

}

.internal-news .blog-content small{

    display:flex;

    align-items:center;

    gap:8px;

    color:#999;

    font-size:.82rem;

    margin-bottom:16px;

}

.internal-news .blog-content h3{

    margin:0 0 16px;

    font-size:1.45rem;

    line-height:1.3;

    font-weight:700;

    color:#222;

    transition:.3s;

}

.internal-news .blog-card:hover h3{

    color:var(--primary);

}

.internal-news .blog-content p{

    flex:1;

    color:#666;

    line-height:1.8;

    margin-bottom:25px;

}


/*==================================================
LINK
==================================================*/

.internal-news .blog-content:after{

    content:"Continuar lendo →";

    color:var(--primary);

    font-weight:600;

}


/*==================================================
PAGINAÇÃO
==================================================*/

.internal-news nav{

    margin-top:70px;

}

.pagination{

    justify-content:center;

    gap:10px;

}

.pagination .page-link{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    border:1px solid #ececec;

    color:#555;

}

.pagination .active .page-link{

    background:var(--primary);

    border-color:var(--primary);

}

@media(max-width:991px){

    .internal-news{

        padding:70px 0;

    }

}

@media(max-width:767px){

    .internal-news .blog-content{

        padding:22px;

    }

    .internal-news .blog-content h3{

        font-size:1.25rem;

    }

}













/*==================================================
MEGA MENU
==================================================*/

.mega-dropdown{
    position:static;
}

.navbar{
    position:relative;
}

.mega-menu{

    position:absolute;

    left:0;
    top:100%;

    width:100%;

    background:#FFF;

    border-top:1px solid #ECECEC;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

    opacity:0;
    visibility:hidden;

    transform:translateY(15px);

    transition:.35s;

    z-index:9999;

    padding:45px 0;

}

.mega-dropdown:hover .mega-menu{

    opacity:1;
    visibility:visible;
    transform:translateY(0);

}

/*========================================*/

.mega-grid{

    display:grid;

    grid-template-columns:250px 320px 1fr;

    gap:45px;

}

/*========================================*/

.mega-heading{

    display:block;

    margin-bottom:20px;

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:2px;

    color:#999;

    font-weight:700;

}

/*========================================*/

.mega-lines{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.mega-line{

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-decoration:none;

    color:#444;

    padding:14px 18px;

    border-radius:12px;

    transition:.25s;

    font-weight:600;

}

.mega-line i{

    opacity:.35;

}

.mega-line:hover,
.mega-line.active{

    background:#D71920;

    color:#FFF;

}

.mega-line:hover i,
.mega-line.active i{

    opacity:1;

}

/*========================================*/

.mega-category-group{

    display:none;

    animation:fadeMega .3s;

}

.mega-category-group.active{

    display:block;

}

.mega-category{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:13px 0;

    border-bottom:1px solid #F1F1F1;

    text-decoration:none;

    color:#666;

    transition:.25s;

}

.mega-category:hover{

    color:#D71920;

    padding-left:12px;

}

/*========================================*/

.mega-card{

    border-radius:18px;

    overflow:hidden;

    background:#FFF;

    box-shadow:0 12px 40px rgba(0,0,0,.08);

}

/*========================================*/

.mega-image-area{

    height:290px;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.mega-image-area img{

    max-width:85%;

    max-height:240px;

    object-fit:contain;

    transition:.25s;

}

/*========================================*/

.mega-card-body{

    padding:30px;

}

.mega-card-body small{

    display:block;

    color:#999;

    font-size:12px;

    letter-spacing:2px;

    font-weight:700;

    margin-bottom:12px;

}

.mega-card-body h3{

    font-size:30px;

    font-weight:700;

    margin-bottom:15px;

}

.mega-card-body p{

    color:#666;

    line-height:1.8;

    min-height:80px;

    margin-bottom:25px;

}

/*========================================*/

@keyframes fadeMega{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
/*==================================================
CORES DAS LINHAS
==================================================*/

.mega-image-area{

    transition:
        background .35s ease,
        transform .35s ease;

}

/*-----------------------------------
Linha Imobiliária
-----------------------------------*/

.mega-image-area.linha-imobiliaria{

    background:#862C2A;

}

/*-----------------------------------
Linha Metais e Madeira
-----------------------------------*/

.mega-image-area.linha-metais-madeira{

    background:#464D52;

}

/*-----------------------------------
Linha Industrial
-----------------------------------*/

.mega-image-area.linha-industrial{

    background:#E5A936;

}

/*-----------------------------------
Linha Construção
-----------------------------------*/

.mega-image-area.linha-construcao{

    background:#8C8B8D;

}

/*-----------------------------------
Linha Diluentes
-----------------------------------*/

.mega-image-area.linha-diluentes{

    background:#C2422A;

}

/*-----------------------------------
Super Kill
-----------------------------------*/

.mega-image-area.super-kill{

    background:#36221D;

}

/*-----------------------------------
Spray
-----------------------------------*/

.mega-image-area.tinta-spray{

    background:#B8A267;

}

/*-----------------------------------
Bhelza
-----------------------------------*/

.mega-image-area.bhelza{

    background:#B72528;

}

/*==================================================
EFEITO
==================================================*/


.mega-image-area{
    position: relative;
    overflow: hidden;
}

.mega-image-area::before{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left,
        rgba(255,255,255,.18),
        transparent 60%);
    pointer-events: none;
}

.mega-image-area img{
    position: relative;
    z-index: 2;
    transition:
        transform .35s ease,
        opacity .25s ease;
}

.mega-card:hover .mega-image-area img{

    transform:scale(1.06);

}


/*==================================================
SOMBRA
==================================================*/

.mega-card{

    transition:.35s;

}

.mega-card:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 50px rgba(0,0,0,.12);

}











/*==========================================================
    RESPONSIVO
==========================================================*/

@media (max-width:1199px){

    .product-show{

        padding:90px 0;

    }

    .product-show-info h1{

        font-size:50px;

    }

    .product-show-image img{

        max-width:420px;

    }

}

@media (max-width:991px){

    .products-header-top{

        flex-direction:column;

        align-items:flex-start;

        gap:25px;

    }

    .products-header-actions{

        flex-wrap:wrap;

    }

    .catalog-navigation{

        gap:10px;

    }

    .product-show{

        padding:70px 0;

    }

    .product-show-grid{

        text-align:center;

    }

    .product-show-gallery{

        min-height:auto;

        margin-bottom:50px;

    }

    .product-show-image img{

        max-width:340px;

    }

    .product-show-info{

        max-width:100%;

    }

    .product-show-summary{

        max-width:100%;

    }

    .package-options{

        justify-content:center;

    }

    .product-show-actions{

        justify-content:center;

    }

    .product-show-tabs{

        justify-content:center;

        flex-wrap:wrap;

    }

    .product-show-tab-content{

        padding:35px;

    }

}

@media (max-width:767px){

    .products-list{

        padding-bottom:70px;

    }

    .products-header-title h2{

        font-size:34px;

    }

    .catalog-navigation{

        gap:8px;

    }

    .catalog-navigation a{

        padding:9px 16px;

        font-size:13px;

    }

    .product-content{

        padding:20px;

    }

    .product-content h3{

        font-size:22px;

    }

    .product-thumb{

        min-height:220px;

    }

    .product-show{

        padding:60px 0;

    }

    .product-show-info h1{

        font-size:42px;

    }

    .product-show-info h2{

        font-size:20px;

    }

    .product-show-summary{

        font-size:16px;

    }

    .product-show-image img{

        max-width:260px;

    }

    .product-show-actions{

        flex-direction:column;

    }

    .product-show-actions a{

        width:100%;

    }

    .package-option{

        width:100%;

    }

    .download-item{

        padding:16px;

    }

    .product-show-tab-content{

        padding:25px;

    }

    .related-products{

        padding:80px 0;

    }

}

@media (max-width:576px){

    .breadcrumb{

        font-size:13px;

    }

    .products-header-title h2{

        font-size:30px;

    }

    .products-header-actions{

        width:100%;

        flex-direction:column;

        align-items:flex-start;

        gap:12px;

    }

    .catalog-navigation{

        flex-direction:column;

        align-items:stretch;

    }

    .catalog-navigation a{

        justify-content:center;

    }

    .product-thumb{

        min-height:200px;

        padding:30px 20px 10px;

    }

    .product-thumb img{

        width:75%;

    }

    .product-show{

        padding:50px 0;

    }

    .product-show-info h1{

        font-size:34px;

    }

    .product-show-tabs .nav-link{

        width:100%;

    }

    .product-show-tab-content{

        padding:22px;

    }

}