@charset "utf-8";

/* *********************************** */
/*      RESETS E ESTILOS PADRAO        */
/* *********************************** */
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6{ font-size: 100%; font-weight: normal; }
ul { list-style-type: disc; list-style-position: inside; }
ol { list-style-type: decimal; list-style-position: inside; }
button, input, select, textarea{ margin: 0; }
img, embed, iframe, object, video{ height: auto; max-width: 100%; border: 0; margin: 0; padding: 0; }
audio { max-width: 100%; }
iframe { border: 0; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; text-align: left; }
html { font-size: 62.5%; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; min-width: 300px; overflow-x: hidden; text-rendering: optimizeLegibility; box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
article, aside, figure, footer, header, hgroup, section{ display: block; }
body, button, input, select, textarea{ font-family: var(--font-1); }
code, pre{ -moz-osx-font-smoothing: auto; -webkit-font-smoothing: auto; font-family: monospace; }
body { color: var(--black); background-color: white; font-size: 1.5rem; font-weight: 400; line-height: 1.5; -webkit-overflow-scrolling: touch; margin: 0;  }
a { cursor: pointer; text-decoration: none; color: inherit; }
a strong { color: currentColor; }
a:hover{ color: inherit; }
/* code { background-color: whitesmoke; color: #ff3860; font-size: 0.875em; font-weight: normal; padding: 0.25em 0.5em 0.25em; } */
hr { background-color: whitesmoke; border: none; display: block; height: .2rem; margin: 1.5rem 0; }
input[type="checkbox"], input[type="radio"] { vertical-align: baseline; }
small { font-size: 0.875em; }
span { font-style: inherit; font-weight: inherit; }
strong { font-weight: bolder; }
fieldset { border: none; }
/* pre { -webkit-overflow-scrolling: touch; background-color: whitesmoke; color: #4a4a4a; font-size: 0.875em; overflow-x: auto; padding: 1.25rem 1.5rem; white-space: pre; word-wrap: normal; } */
pre code { background-color: transparent; color: currentColor; font-size: 1em; padding: 0; }
table td, table th { text-align: left; vertical-align: middle; }

::-moz-selection { background: cornflowerblue; }
::selection { background: cornflowerblue; }

.centralizador { margin: 0 auto; }
/* Extra large screens (desktops, 4K, etc.) */
@media screen and (min-width: 1440px) {
    /* .centralizador { width: 128rem; } */
    .centralizador { width: 90%; /* max-width: 103rem; */ }
}
/* Large screens (laptops, tablets grandes) */
@media screen and (min-width: 1024px) and (max-width: 1439px) {
    .centralizador { width: 92%; /* max-width: 103rem; */ }
}
/* Medium screens (tablets, alguns laptops menores) */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .centralizador { width: 90%; }
}
/* Small screens (smartphones, dispositivos móveis) */
@media screen and (min-width: 0px) and (max-width: 767px) {
    .centralizador { width: 90%; }
}

/* CSS PROJETO */
body{ background-color: var(--white); letter-spacing: 0em; }

.swiper{ height: 100%; width: 100%; }
.swiper .swiper-button-next,
.swiper .swiper-button-prev{ width: 4.2rem; height: 4.2rem; border-radius: 50%; background-color: var(--white); box-shadow: var(--shadow-sm); transition: var(--smooth); }
.swiper .swiper-button-next:after,
.swiper .swiper-button-prev:after{ content: none; }
.swiper .swiper-button-next svg,
.swiper .swiper-button-prev svg{ font-size: 1rem; height: auto; width: auto; color: var(--base-color); transition: var(--smooth); }
.swiper .swiper-button-next:hover,
.swiper .swiper-button-prev:hover{ background-color: var(--primary); }
.swiper .swiper-button-next:hover svg,
.swiper .swiper-button-prev:hover svg{ color: var(--white); }
.swiper .swiper-pagination-bullet{ background-color: var(--white); opacity: 1; transition: var(--smooth); height: 1rem; width: 1rem; border: .1rem solid var(--base-200); }
.swiper .swiper-pagination-bullet-active{ background-color: var(--primary); width: 3rem; border-radius: .4rem; border-color: var(--primary); }

.final-tiles-gallery .tile{ border-radius: var(--radius); }
.final-tiles-gallery .tile img.item{ padding: 0; }

.title{
    h1{ 
        font-size: var(--clamp-text-md); line-height: 1; font-weight: 400;  font-family: var(--font-2);
        
        &:has(+ h2){ margin-bottom: 2rem; }
    }
    h2{ 
        font-size: var(--clamp-text-xs); line-height: 1.3; font-weight: 400; 
        
        &:has(+ h3, + h1){ margin-bottom: 2rem; }
    }
}
.text{
    p{ 
        font-size: var(--clamp-text-xs); font-weight: 300;

        b, strong{ font-weight: 600; }
    }
}
.text-edit{
    --border-color: var(--base-300);

    h1 { font-size: 3.2rem; font-weight: 700; margin: 2rem 0 1rem; line-height: 1.2; }
    h2 { font-size: 2.4rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.3; font-family: var(--font-1); }
    h3 { font-size: 2.0rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.4; font-family: var(--font-1); }
    h4 { font-size: 1.8rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.4; font-family: var(--font-1); }
    h5 { font-size: 1.6rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.5; font-family: var(--font-1); }
    h6 { font-size: 1.4rem; font-weight: 700; margin: 2.14em 0 0; text-transform: uppercase; line-height: 1.5; font-family: var(--font-1); }
    p  { font-size: 2.1rem; line-height: 1.5; margin: 1.95em 0 0; padding: 0 !important; }
    hr { border: none; border-top: 0.1rem solid var(--border-color); margin: 2.14em 0; }
    time { font-size: var(--clamp-text-xx); color: var(--base-500); display: block; margin: 0.5rem 0; }
    .share-title{ font-size: 1.1rem; font-family: var(--font-1); color: var(--base-950); margin: 1rem 0 0; text-transform: uppercase; }
    .share-list{ margin-top: .5rem; padding-left: 0; gap: calc(var(--gap) / 2); }
    .author { font-size: var(--clamp-text-xx); font-family: var(--font-1); color: var(--base-500); margin: 0.5rem 0; }
    a {
        color: var(--link-color); text-decoration: underline; transition: var(--smooth);

        &:hover { color: var(--base-950); }
    }
    strong { font-weight: 700; }
    em { font-style: italic; }
    ul, ol {
        font-size: 2.1rem; margin: 1.95em 0; padding-left: 2rem;

        li { margin-bottom: 0.5rem; }
    }
    ol { list-style: decimal; }
    ul { list-style: disc; }
    blockquote {
        font-size: 2.1rem; font-style: italic; margin: 1.95em 0 0; padding-left: 1.5rem; border-left: 0.4rem solid var(--border-color); 

        p { margin: 0; }
        cite { display: block; font-size: 1.8rem; font-family: var(--font-1); font-style: normal; margin-top: 0.5rem; color: var(--base-500); }
    }    
    table { 
        width: 100%; border-collapse: collapse; margin: 1.95em 0 0; font-size: var(--clamp-text-xx); 
    
        caption { font-size: var(--clamp-text-xx); font-family: var(--font-1); font-weight: 600; margin-bottom: 1.5rem; text-align: left; }
        th, td { padding: 0.8rem; border: 0.1rem solid var(--border-color); font-size: 1.8rem; font-family: var(--font-1); text-align: left; }
        th { background: var(--base-100); font-weight: 600; }
    }
    pre { background: var(--base-100); padding: 1.5rem; border-radius: var(--radius); overflow-x: auto; margin: 1.5rem 0; font-size: var(--clamp-text-xx); }
    code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: var(--clamp-text-xx); }
    figure { 
        margin: 2rem 0; 

        img { max-width: 100%; height: auto; border-radius: var(--radius); }
        figcaption { font-size: var(--clamp-text-xx); color: var(--base-500); font-family: var(--font-1); margin-top: 0.5rem; text-align: center; }
    }
}


.w3-breadcrumb{
    font-size: var(--clamp-text-xx); margin: 2rem 0; padding: 1rem 0; border-top: .1rem solid var(--base-200); border-bottom: .1rem solid var(--base-200);

    a{ color: var(--base-500); transition: var(--smooth); }
    a:hover{ color: var(--primary); }
    span{ color: var(--base-400); }
    li{
        &:not(:last-of-type)::after{
            content: '•';
            margin: 0 .6rem;
            color: var(--base-300);
        }
    }
}


/* HEADER ************************************************************** */
header{
    position: relative; z-index: 100;

    .top-bar{
        height: 1.5rem; background-color: var(--primary);
        
        .centralizador{
            position: relative;

            img{ position: absolute; right: 0; top: 0; height: 16rem; }

            @media screen and (min-width: 0px) and (max-width: 767px) {
                img{ right: initial; left: 50%; height: 12rem; transform: translateX(-50%); }
            }
        }
    }
    .content{
        display: flex; align-items: center; padding: 1rem 0;

        .logo svg{ height: 8rem; }
        nav{
            .btn-menu{ display: none; }
            .menu{
                display: flex; align-items: center; justify-content: flex-start;

                li{
                    margin-left: 1.5rem; position: relative;

                    a{ 
                        display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.4rem; font-weight: 500; color: var(--primary); background-color: var(--base-200); transition: var(--smooth); padding: .5rem .8rem; 
                        &:hover{ background-color: var(--primary) !important; color: var(--white); &::after{ color: var(--white) !important; } }
                    }
                    &:has(ul.submenu){
                        &>a{ 
                            padding-right: 2rem; 
                            &::after{ content: '▾'; position: absolute; right: .5rem; font-size: 1.8rem; color: var(--primary); transition: var(--smooth); }
                        }
                    }
                    &:is(.active){
                        &>a{ 
                            background-color: var(--primary); color: var(--white); 
                            &::after{ color: var(--white) !important; }
                        }
                    }
                    ul.submenu{
                        position: absolute; top: 100%; left: 0; background-color: var(--base-200); padding: .5rem 0; display: none; flex-direction: column; gap: .5rem; box-shadow: var(--shadow-sm); min-width: 20rem;

                        li{ margin-left: 0; }
                        a{ 
                            font-size: 1.2rem; padding: 1rem 1.5rem; font-weight: 600; text-transform: uppercase;
                            
                            &[title="Nylon Soft Blue"]{ background-color: var(--softblue); }
                            &[title="PGCL"]{ background-color: var(--pgcl); }
                            &[title="Polypropylene"]{ background-color: var(--poly); color: var(--white); }
                            &[title="PGA"]{ background-color: var(--pga); }
                        }
                    }
                }
            }

            @media screen and (min-width: 0px) and (max-width: 767px) {
                .btn-menu{ 
                    display: flex; align-items: center; justify-content: center; background-color: var(--primary); width: 4.2rem; height: 4.2rem; border-radius: 50%; color: var(--white); transition: var(--smooth); 
                    
                    svg{ font-size: 2.2rem; color: var(--white); }
                }
                .menu{ 
                    position: fixed; top: -100%; right: 0; height: 100dvh; display: flex; justify-content: center; background-color: var(--base-200); padding: 1rem; flex-direction: column; gap: 1rem; width: 100%; box-shadow: var(--shadow-sm); transition: var(--smooth);

                    &:is(.open){ top: 0; }
                    li{ 
                        margin-left: 0; 

                        a{ font-size: 1.8rem; padding: 1rem; font-weight: 600; text-transform: uppercase; }
                        ul.submenu{
                            position: relative; top: 0; left: 0; background-color: transparent; box-shadow: none;
                            a{ font-size: 1.6rem; }
                        }
                    }
                }
            }
        }

        @media screen and (min-width: 0px) and (max-width: 767px) {
            justify-content: space-between;

            .logo svg{ height: 5rem; }
        }
    }
}

@media screen and (min-width: 0px) and (max-width: 767px) {

}
/* HEADER ************************************************************** */



/* HOME ************************************************************** */
section.hero{
    margin-top: 2rem;

    img{ width: 100%; height: auto; }
    .centralizador{
        h1{ font-size: var(--clamp-text-lg); font-weight: 700; font-style: italic; text-align: left; color: var(--primary); }
    }
}

section.home-videos{
    margin-top: 5rem;

    .swiper{ padding-bottom: 3rem; }
    .swiper-slide{ display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 0; aspect-ratio: 9/16; }
    .swiper-slide iframe{ width: 100%; height: 100%; object-fit: cover; }
    
}
/* HOME ************************************************************** */



/* PRODUCT ************************************************************** */
section.product{
    .content{
        margin-top: 5rem;

        .main-text{
            h1{ 
                font-size: var(--clamp-text-lg); font-weight: 700; color: var(--primary); margin-bottom: 6rem; position: relative;
                
                &::after{ content: ''; display: block; width: 100%; margin-top: 1rem; border-bottom: 1rem solid; position: absolute; left: 0; margin-left: -10%; }
                &:is([data-product="softblue"])::after{ border-color: var(--softblue); }
                &:is([data-product="pgcl"])::after{ border-color: var(--pgcl); }
                &:is([data-product="polypropylene"])::after{ border-color: var(--poly); }
                &:is([data-product="pga"])::after{ border-color: var(--pga); }
            }
            p{ font-size: 1.6rem; font-weight: 400; line-height: 1.5; color: var(--primary); max-width: 90%; }
        }
        .aside{
            padding-right: 4%;
            @media screen and (min-width: 0px) and (max-width: 767px) {
                padding-right: 4%; padding-left: 4%; margin-bottom: 4rem;
            }
            
            #accordion{
                display: flex; flex-direction: column; gap: 1rem; margin-top: 5rem;

                .accordion-item{
                    .accordion-header{
                        background-color: var(--base-200); padding: 1rem; font-weight: 600; font-size: 1.8rem; position: relative; cursor: pointer;
                        
                        .arrow{ position: absolute; color: var(--white); right: 1rem; font-size: 1.4rem; transition: var(--smooth); }
                    }
                    .accordion-content{ display: none; padding: 1rem; background-color: var(--base-100); }
                }
            }
        }
    }
}

section.product-info{
    margin-bottom: 5rem; margin-top: 5rem;

    table{
        border-collapse: separate; border-spacing: .5rem;

        th{ font-size: var(--clamp-text-xs); font-weight: 600; padding: 1rem; text-align: center; line-height: 1; }
        td{ font-size: var(--clamp-text-xx); padding: 1rem; background-color: var(--base-100); }
    }
    &:is([data-product="softblue"]) th{ background-color: var(--softblue); color: var(--primary); }
    &:is([data-product="pgcl"]) th{ background-color: var(--pgcl); color: var(--primary); }
    &:is([data-product="polypropylene"]) th{ background-color: var(--poly); color: var(--white); }
    &:is([data-product="pga"]) th{ background-color: var(--pga); color: var(--primary); }
}
/* PRODUCT ************************************************************** */



/* CONTACT ************************************************************** */
section.contact{
    margin-top: 5rem; margin-bottom: 5rem;

    .txt{
        h1{ font-size: var(--clamp-text-lg); font-weight: 700; color: var(--primary); margin-bottom: 2rem; }
        p{ font-size: 1.6rem; font-weight: 400; line-height: 1.5; color: var(--primary); max-width: 90%; margin-bottom: 5rem; }
        .item .btn{ border-radius: 0 !important; }
    }
    .img{
        overflow: hidden;

        img{ width: 100%; height: 100%; object-fit: cover; }
    }
}
/* CONTACT ************************************************************** */



/* ABOUT ************************************************************** */
section.about{
    margin-top: 5rem; margin-bottom: 5rem;

    h1{ font-size: var(--clamp-text-lg); font-weight: 700; color: var(--primary); margin-bottom: 1rem; }
    h2{ font-size: var(--clamp-text-md); font-weight: 600; color: var(--base-500); margin-bottom: 3rem; }
    h3{ font-size: var(--clamp-text-xs); font-weight: 600; color: var(--primary); margin-bottom: 1rem; }
    p{ font-size: 1.6rem; font-weight: 400; line-height: 2; color: var(--primary); max-width: 90%; margin-bottom: 1em; }
    h3 + p{ margin-bottom: 5rem; }
    .img{
        overflow: hidden;

        img{ width: 100%; height: 100%; object-fit: cover; }
    }
}
/* ABOUT ************************************************************** */



/* CATALOG ************************************************************** */
section.catalog{
    margin-top: 5rem; margin-bottom: 5rem; text-align: center;

    h1{ font-size: var(--clamp-text-lg); font-weight: 700; color: var(--primary); margin-bottom: 1rem; }
    p{ font-size: 1.6rem; font-weight: 400; line-height: 2; color: var(--primary); max-width: 90%; margin-bottom: 1em; }
    .links{
        position: relative;

        &::before{ content: ''; display: block; width: 100%; height: 20rem; background-color: var(--apoio); position: absolute; z-index: -1; top: 50%; left: 0; transform: translateY(-50%); }
        img{ margin: 2rem; max-width: 30rem; box-shadow: var(--shadow-sm); transition: var(--smooth); &:hover{ transform: scale(1.03); } }

        @media screen and (min-width: 0px) and (max-width: 767px) {
            flex-direction: column; align-items: center;
        }
    }
}
/* CATALOG ************************************************************** */



/* LISTAGEM ************************************************************** */

/* LISTAGEM ************************************************************** */



/* PAD ************************************************************** */
section.pad{
    margin-top: 5rem; margin-bottom: 5rem; text-align: center;

    h1{ font-size: var(--clamp-text-lg); font-weight: 700; color: var(--primary); margin-bottom: 1rem; }
    p{ font-size: 1.6rem; font-weight: 400; line-height: 2; color: var(--primary); max-width: 100%; margin-bottom: 1em; }
    
}
/* PAD ************************************************************** */



/* ===================== FOOTER ===================== */
.w3-footer {
    background-color: #000;
    color: #fff;
    font-family: var(--font-1);
}

.footer-main {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.4fr;
    gap: var(--space-lg);
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
}

.footer-col {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

/* Brand column */
.footer-logo {
    display: inline-block;
    width: 18rem;
    transition: var(--smooth);
}
.footer-logo:hover { opacity: .75; }
.footer-logo svg { width: 100%; height: auto; display: block; }

.footer-tagline {
    font-size: 1.3rem;
    line-height: 1.6;
    color: rgba(255,255,255,.55);
    margin: 0;
}

.footer-social {
    display: flex;
    gap: .8rem;
    margin: 0;
    padding: 0;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    color: #fff;
    font-size: 1.8rem;
    transition: var(--smooth);
    text-decoration: none;
}
.footer-social-link:hover {
    background-color: #fff;
    color: #000;
    border-color: #fff;
}

/* Nav columns */
.footer-heading {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.4);
    margin: 0;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0;
    padding: 0;
}
.footer-links a {
    font-size: 1.45rem;
    color: rgba(255,255,255,.8);
    text-decoration: none;
    transition: var(--smooth);
}
.footer-links a:hover { color: #fff; padding-left: .4rem; }

/* Contact column */
.footer-address {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    font-style: normal;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.45rem;
    color: rgba(255,255,255,.8);
    text-decoration: none;
    transition: var(--smooth);
    word-break: break-all;
}
.footer-contact-item icon { font-size: 1.8rem; flex-shrink: 0; }
.footer-contact-item:hover { color: #fff; }

/* Bottom bar */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap);
    padding-top: var(--space);
    padding-bottom: var(--space);
}

.footer-copy {
    font-size: 1.3rem;
    color: rgba(255,255,255,.35);
    margin: 0;
}

.footer-legal {
    display: flex;
    gap: var(--space);
}
.footer-legal a {
    font-size: 1.3rem;
    color: rgba(255,255,255,.35);
    text-decoration: none;
    transition: var(--smooth);
}
.footer-legal a:hover { color: rgba(255,255,255,.75); }

/* Responsive */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-md);
    }
    .footer-brand { grid-column: 1 / -1; }
}

@media only screen and (max-width: 767px) {
    .footer-main {
        grid-template-columns: 1fr;
        gap: var(--space-md);
        padding-top: var(--space-md);
        padding-bottom: var(--space-md);
    }
    .footer-logo { width: 15rem; }
    .footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: .6rem;
    }
}


/* CSS PROJETO */