/* =========================================
   DESIGN SYSTEM
========================================= */

:root {

    --white:
        #ffffff;

    --off-white:
        #f7f6f2;

    --surface:
        #f1f0ec;

    --surface-2:
        #ebe9e3;

    --black:
        #111111;

    --graphite:
        #2a2a2a;

    --gray:
        #707070;

    --gray-light:
        #a3a3a3;

    --border:
        #dfded9;

    --gold:
        #c5a166;

    --gold-soft:
        #dbc49c;

    --container:
        1320px;

    --header-height:
        76px;
}


/* =========================================
   RESET
========================================= */

* {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    margin: 0;

    background:
        var(--white);

    color:
        var(--black);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    font-size: 16px;

    line-height: 1.6;

    -webkit-font-smoothing:
        antialiased;
}


a {
    color: inherit;

    text-decoration: none;
}


img {
    display: block;

    max-width: 100%;
}


.container {

    max-width:
        var(--container);
}


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

.site-header {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    z-index: 1040;

    height:
        var(--header-height);

    display: flex;

    align-items: center;

    background:
        #0e0e0e;

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.18
        );

    backdrop-filter:
        blur(18px);

    transition:
        box-shadow
        220ms ease,
        background
        220ms ease;
}


.site-header.is-scrolled {

    background:
        #0a0a0a;

    box-shadow:
        0 10px 35px
        rgba(
            0,
            0,
            0,
            0.22
        );
}


.site-header-container {

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 35px;
}


/* MARCA */

.site-brand {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    height:
        var(--header-height);

    overflow: hidden;
}


.site-brand-logo {

    display: block;

    width: auto;

    height: 100px;

    max-width: 250px;

    object-fit: contain;

    object-position:
        left center;

    /*
     * A logo já tem fundo preto e letras brancas.
     * Sem filtro: preserva o branco original.
     * O modo screen faz o preto da imagem se integrar
     * ao preto do header sem apagar as letras.
     */
    filter:
        none;

    mix-blend-mode:
        screen;
}


/* NAV */

.site-nav {

    align-items: center;

    justify-content: center;

    gap: 27px;

    margin-left: auto;
}


.site-nav-link {

    position: relative;

    display: flex;

    align-items: center;

    height:
        var(--header-height);

    color:
        var(--gold-soft);

    font-size: 13px;

    transition:
        color
        180ms ease;
}


.site-nav-link:hover {

    color:
        #f0d39e;
}


/* DROPDOWN */

.site-nav-dropdown {

    position: relative;
}


.site-dropdown-panel {

    position: absolute;

    top:
        calc(
            var(--header-height)
            - 7px
        );

    left: -25px;

    min-width: 235px;

    padding: 20px;

    visibility: hidden;

    opacity: 0;

    transform:
        translateY(10px);

    background:
        rgba(
            18,
            18,
            18,
            0.99
        );

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.22
        );

    border-radius: 14px;

    box-shadow:
        0 20px 50px
        rgba(
            0,
            0,
            0,
            0.08
        );

    backdrop-filter:
        blur(20px);

    transition:
        180ms ease;
}


.site-nav-dropdown:hover
.site-dropdown-panel {

    visibility: visible;

    opacity: 1;

    transform:
        translateY(0);
}


.site-dropdown-label {

    margin-bottom:
        12px;

    padding-bottom:
        10px;

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    color:
        var(--gold);

    font-size: 10px;

    font-weight: 700;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;
}


.site-dropdown-panel a {

    display: block;

    padding:
        7px
        0;

    color:
        #d8c6a5;

    font-size: 13px;

    transition:
        150ms ease;
}


.site-dropdown-panel a:hover {

    color:
        #f0d39e;

    transform:
        translateX(3px);
}


.site-dropdown-panel
.site-dropdown-all {

    margin-top:
        10px;

    padding-top:
        13px;

    border-top:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    color:
        var(--gold-soft);

    font-weight: 600;
}


/* WHATSAPP */

.header-whatsapp {

    min-height: 44px;

    padding:
        0
        20px;

    display: inline-flex;

    align-items: center;

    gap: 9px;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.55
        );

    border-radius:
        999px;

    color:
        var(--gold-soft);

    font-size: 12px;

    transition:
        180ms ease;
}


.header-whatsapp:hover {

    background:
        var(--gold);

    color:
        var(--black);

    border-color:
        var(--gold);

    transform:
        translateY(-1px);
}


.whatsapp-dot {

    width: 8px;

    height: 8px;

    border-radius:
        50%;

    background:
        var(--gold);
}


/* MOBILE BUTTON */

.site-menu-button {

    width: 42px;

    height: 42px;

    padding: 0;

    border: 0;

    background:
        transparent;

    display: flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    justify-content:
        center;

    gap: 7px;
}


.site-menu-button span {

    display: block;

    height: 1px;

    background:
        var(--gold-soft);
}


.site-menu-button
span:first-child {

    width: 25px;
}


.site-menu-button
span:last-child {

    width: 18px;
}


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

.site-mobile-menu {

    width:
        min(
            88vw,
            390px
        );

    background:
        #0e0e0e;

    color:
        var(--gold-soft);
}


.site-mobile-menu
.offcanvas-header {

    padding:
        25px;

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.18
        );
}

.site-mobile-menu
.btn-close {

    filter:
        invert(1)
        sepia(1)
        saturate(3)
        hue-rotate(350deg)
        brightness(0.95);
}


.site-mobile-menu
.offcanvas-body {

    padding:
        25px;

    display: flex;

    flex-direction:
        column;
}


.site-mobile-title {

    color:
        var(--gold-soft);

    font-size: 12px;

    font-weight: 700;

    letter-spacing:
        0.14em;
}


.mobile-nav {

    display: flex;

    flex-direction:
        column;

    gap: 5px;
}


.mobile-nav > a,
.mobile-category-title {

    display: block;

    padding:
        10px
        0;

    color:
        var(--gold-soft);

    font-size: 20px;

    font-weight: 500;
}


.mobile-category {

    padding:
        8px
        0;

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );
}


.mobile-subcategories {

    display: flex;

    flex-wrap: wrap;

    gap:
        6px
        14px;

    padding:
        5px
        0
        10px;
}


.mobile-subcategories a {

    color:
        #bba77f;

    font-size: 13px;
}


.mobile-contact {

    margin-top: auto;

    padding-top:
        35px;
}


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

.hero-section {

    position: relative;

    min-height:
        760px;

    margin-top:
        var(--header-height);

    overflow: hidden;

    display: flex;

    align-items: center;

    background:
        var(--off-white);
}


.hero-background {

    position: absolute;

    inset: 0;

    background-color:
        #0e0e0e;

    background-image:

        linear-gradient(
            90deg,
            rgba(
                14,
                14,
                14,
                0.93
            )
            0%,

            rgba(
                14,
                14,
                14,
                0.84
            )
            25%,

            rgba(
                14,
                14,
                14,
                0.52
            )
            52%,

            rgba(
                14,
                14,
                14,
                0.16
            )
            72%,

            rgba(
                14,
                14,
                14,
                0.02
            )
            100%
        ),

        url(
            '/assets/img/hero-escritorio.jpg'
        );

    background-size:
        cover;

    background-position:
        center;

    transform:
        scale(1.02);
}


.hero-content {

    position: relative;

    z-index: 2;

    width: 100%;

    padding-top:
        85px;

    padding-bottom:
        85px;
}


.hero-inner {

    max-width:
        690px;
}


.eyebrow {

    margin-bottom:
        24px;

    color:
        var(--gold);

    font-size: 11px;

    font-weight: 600;

    letter-spacing:
        0.24em;

    text-transform:
        uppercase;
}


.hero-title {

    margin: 0;

    color:
        var(--white);

    font-size:
        clamp(
            58px,
            6vw,
            91px
        );

    font-weight: 300;

    line-height: 0.92;

    letter-spacing:
        -0.065em;
}


.hero-title
.hero-highlight {

    display: block;

    color:
        var(--gold);

    font-weight: 300;
}


.hero-description {

    max-width:
        600px;

    margin:
        36px
        0;

    color:
        rgba(
            255,
            255,
            255,
            0.72
        );

    font-size: 17px;

    line-height: 1.7;
}


.hero-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;
}


.hero-actions
.btn-site-dark {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        var(--black);
}


.hero-actions
.btn-site-dark:hover {

    border-color:
        var(--gold-soft);

    background:
        var(--gold-soft);

    color:
        var(--black);
}


.hero-actions
.btn-site-light {

    border-color:
        rgba(
            255,
            255,
            255,
            0.28
        );

    background:
        rgba(
            255,
            255,
            255,
            0.10
        );

    color:
        var(--white);
}


.hero-actions
.btn-site-light:hover {

    border-color:
        var(--white);

    background:
        var(--white);

    color:
        var(--black);
}


/* =========================================
   BUTTONS
========================================= */

.btn-site-dark {

    min-height: 52px;

    padding:
        0
        25px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    border:
        1px solid
        var(--black);

    border-radius:
        999px;

    background:
        var(--black);

    color:
        var(--white);

    font-size: 13px;

    transition:
        180ms ease;
}


.btn-site-dark:hover {

    background:
        var(--graphite);

    color:
        var(--white);

    transform:
        translateY(-2px);
}


.btn-site-light {

    min-height: 52px;

    padding:
        0
        25px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        rgba(
            0,
            0,
            0,
            0.14
        );

    border-radius:
        999px;

    background:
        rgba(
            255,
            255,
            255,
            0.55
        );

    color:
        var(--black);

    font-size: 13px;

    backdrop-filter:
        blur(12px);

    transition:
        180ms ease;
}


.btn-site-light:hover {

    background:
        var(--white);

    color:
        var(--black);

    transform:
        translateY(-2px);
}


/* =========================================
   SEÇÕES
========================================= */

.site-section {

    padding:
        120px
        0;
}


.site-section-soft {

    background:
        var(--off-white);
}


.section-heading {

    max-width:
        720px;

    margin-bottom:
        55px;
}


.section-eyebrow {

    display: block;

    margin-bottom:
        14px;

    color:
        var(--gold);

    font-size: 10px;

    font-weight: 700;

    letter-spacing:
        0.22em;

    text-transform:
        uppercase;
}


.section-title {

    margin: 0;

    font-size:
        clamp(
            42px,
            5vw,
            68px
        );

    font-weight: 300;

    line-height: 1.02;

    letter-spacing:
        -0.055em;
}


/* =========================================
   CATEGORIAS
========================================= */

.catalog-grid {

    display: grid;

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

    gap: 20px;
}


.catalog-card {

    position: relative;

    min-height:
        570px;

    overflow: hidden;

    border-radius:
        20px;

    background:
        var(--surface);

    transform-style:
        preserve-3d;
}


.catalog-card-media {

    position: absolute;

    inset: 0;
}


.catalog-card-media img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform
        650ms
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        );
}


.catalog-card:hover
.catalog-card-media img {

    transform:
        scale(1.045);
}


.catalog-card-placeholder {

    width: 100%;

    height: 100%;

    background:

        radial-gradient(
            circle at 80% 20%,
            rgba(
                197,
                161,
                102,
                0.22
            ),
            transparent
            35%
        ),

        linear-gradient(
            135deg,
            #eeeeea,
            #dcd9d0
        );
}


.catalog-card-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent
            40%,
            rgba(
                0,
                0,
                0,
                0.60
            )
            100%
        );
}


.catalog-card-content {

    position: absolute;

    left: 35px;

    right: 35px;

    bottom: 35px;

    z-index: 2;

    color:
        var(--white);
}


.catalog-card-content h3 {

    margin-bottom:
        8px;

    font-size:
        clamp(
            30px,
            3vw,
            44px
        );

    font-weight: 400;

    letter-spacing:
        -0.045em;
}


.catalog-card-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-size: 12px;

    opacity: 0.84;
}


/* =========================================
   SUBCATEGORIAS
========================================= */

.subcategory-scroll {

    display: grid;

    grid-auto-flow:
        column;

    grid-auto-columns:
        minmax(
            220px,
            1fr
        );

    gap: 14px;

    overflow-x: auto;

    padding-bottom:
        10px;

    scrollbar-width:
        none;
}


.subcategory-scroll::-webkit-scrollbar {

    display: none;
}


.subcategory-card {

    display: block;

    min-width: 0;
}


.subcategory-image {

    height: 260px;

    overflow: hidden;

    border-radius:
        14px;

    background:
        var(--surface);
}


.subcategory-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform
        450ms ease;
}


.subcategory-card:hover
.subcategory-image img {

    transform:
        scale(1.04);
}


.subcategory-placeholder {

    width: 100%;

    height: 100%;

    background:
        linear-gradient(
            135deg,
            #efeee9,
            #dad8d1
        );
}


.subcategory-name {

    margin-top:
        14px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    font-size: 15px;
}


/* =========================================
   PRODUTOS
========================================= */

.products-grid {

    display: grid;

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

    gap:
        35px
        18px;
}


.product-card {

    display: block;

    min-width: 0;

    transform-style:
        preserve-3d;
}


.product-card-image {

    position: relative;

    aspect-ratio:
        1 / 1.12;

    overflow: hidden;

    border-radius:
        14px;

    background:
        var(--surface);
}


.product-card-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform
        500ms ease;
}


.product-card:hover
.product-card-image img {

    transform:
        scale(1.035);
}


.product-card-arrow {

    position: absolute;

    right: 16px;

    bottom: 16px;

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            0.90
        );

    backdrop-filter:
        blur(10px);

    transform:
        translateY(8px);

    opacity: 0;

    transition:
        180ms ease;
}


.product-card:hover
.product-card-arrow {

    opacity: 1;

    transform:
        translateY(0);
}


.product-card-info {

    padding:
        16px
        2px;
}


.product-meta {

    margin-bottom:
        5px;

    color:
        var(--gray);

    font-size: 11px;

    text-transform:
        uppercase;

    letter-spacing:
        0.10em;
}


.product-card-title {

    margin-bottom:
        8px;

    font-size: 18px;

    font-weight: 500;
}


.product-price {

    color:
        var(--gray);

    font-size: 13px;
}


/* =========================================
   QUEM SOMOS
========================================= */

.about-layout {

    display: grid;

    grid-template-columns:
        1.05fr
        0.95fr;

    gap: 90px;

    align-items: center;
}


.about-photo {

    min-height:
        650px;

    border-radius:
        20px;

    background-color:
        #e5e2dc;

    background-image:
        url(
            '/assets/img/loja-ponto-do-escritorio.jpg'
        );

    background-size:
        cover;

    background-position:
        center;
}


.about-content {

    max-width:
        520px;
}


.about-text {

    margin-top:
        30px;

    color:
        var(--gray);

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================
   VALORES
========================================= */

.values-grid {

    display: grid;

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

    border-top:
        1px solid
        var(--border);
}


.value-item {

    padding:
        40px
        35px
        20px;

    border-right:
        1px solid
        var(--border);
}


.value-item:last-child {

    border-right: 0;
}


.value-number {

    display: block;

    margin-bottom:
        55px;

    color:
        var(--gold);

    font-size: 12px;
}


.value-item h3 {

    font-size: 24px;

    font-weight: 400;
}


.value-item p {

    max-width:
        330px;

    color:
        var(--gray);

    font-size: 14px;
}


/* =========================================
   CONTATO
========================================= */

.contact-grid {

    display: grid;

    grid-template-columns:
        0.8fr
        1.2fr;

    gap: 75px;

    align-items: stretch;
}


.contact-content {

    padding:
        25px
        0;
}


.contact-details {

    margin:
        35px
        0;

    color:
        var(--gray);
}


.contact-map {

    min-height:
        480px;

    overflow: hidden;

    border-radius:
        18px;

    background:
        var(--surface);

    display: flex;

    align-items: center;

    justify-content: center;
}


.contact-map iframe {

    width: 100%;

    height: 100%;

    min-height:
        480px;

    border: 0;
}


.map-placeholder {

    color:
        var(--gray);

    text-align: center;
}


/* =========================================
   CTA
========================================= */

.site-cta {

    padding:
        110px
        0;

    background:
        var(--black);

    color:
        var(--white);
}


.cta-inner {

    max-width:
        900px;

    margin: auto;

    text-align: center;
}


.cta-inner h2 {

    margin-bottom:
        25px;

    font-size:
        clamp(
            44px,
            6vw,
            75px
        );

    font-weight: 300;

    line-height: 1.02;

    letter-spacing:
        -0.055em;
}


.cta-inner p {

    margin:
        0 auto
        35px;

    max-width:
        560px;

    color:
        #a6a6a6;
}


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

.site-footer {

    padding:
        85px
        0
        30px;

    background:
        #0e0e0e;

    color:
        var(--white);
}


.footer-brand {

    display: flex;

    align-items: center;

    gap: 15px;
}


.footer-brand img {

    width: 52px;

    height: 52px;

    padding: 5px;

    object-fit: contain;

    background:
        var(--white);

    border-radius: 8px;
}


.footer-brand strong {

    font-size: 13px;

    letter-spacing:
        0.12em;
}


.footer-description {

    max-width:
        420px;

    margin-top:
        25px;

    color:
        #8e8e8e;

    font-size: 14px;
}


.footer-title {

    display: block;

    margin-bottom:
        18px;

    color:
        #747474;

    font-size: 10px;

    font-weight: 700;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.footer-links {

    display: flex;

    flex-direction:
        column;

    gap: 9px;
}


.footer-links a {

    color:
        #c6c6c6;

    font-size: 13px;
}


.footer-links a:hover {

    color:
        var(--white);
}


.footer-address {

    color:
        #c2c2c2;

    font-size: 13px;
}


.footer-bottom {

    margin-top:
        70px;

    padding-top:
        25px;

    border-top:
        1px solid
        #262626;

    display: flex;

    justify-content:
        space-between;

    gap: 20px;

    color:
        #656565;

    font-size: 11px;
}


/* =========================================
   REVEAL / UNLUMEN INSPIRED
========================================= */

.reveal {

    opacity: 0;

    transform:
        translateY(25px);

    transition:

        opacity
        700ms
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        ),

        transform
        700ms
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        );
}


.reveal.is-visible {

    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================
   RESPONSIVO
========================================= */

@media (
    max-width: 1199px
) {

    .hero-section {

        min-height:
            690px;
    }


    .catalog-card {

        min-height:
            490px;
    }


    .about-layout {

        gap: 50px;
    }

}


@media (
    max-width: 991px
) {

    :root {

        --header-height:
            68px;
    }


    .site-brand-logo {

        height: 58px;

        max-width: 155px;
    }


    .hero-section {

        min-height:
            680px;
    }


    .hero-background {

        background-image:

            linear-gradient(
                90deg,
                rgba(
                    14,
                    14,
                    14,
                    0.94
                )
                0%,

                rgba(
                    14,
                    14,
                    14,
                    0.83
                )
                68%,

                rgba(
                    14,
                    14,
                    14,
                    0.58
                )
                100%
            ),

            url(
                '/assets/img/hero-escritorio.jpg'
            );
    }


    .catalog-grid {

        grid-template-columns:
            1fr;
    }


    .catalog-card {

        min-height:
            500px;
    }


    .products-grid {

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


    .about-layout {

        grid-template-columns:
            1fr;

        gap: 50px;
    }


    .about-photo {

        min-height:
            520px;
    }


    .contact-grid {

        grid-template-columns:
            1fr;
    }

}


@media (
    max-width: 767px
) {

    .site-brand-logo {

        height: 54px;

        max-width: 145px;
    }


    .site-section {

        padding:
            85px
            0;
    }


    .hero-section {

        min-height:
            650px;
    }


    .hero-content {

        padding:
            65px
            0;
    }


    .hero-title {

        font-size:
            clamp(
                50px,
                14vw,
                70px
            );
    }


    .hero-description {

        font-size:
            15px;
    }


    .section-heading {

        margin-bottom:
            35px;
    }


    .section-title {

        font-size:
            43px;
    }


    .catalog-card {

        min-height:
            430px;
    }


    .catalog-card-content {

        left: 25px;

        right: 25px;

        bottom: 25px;
    }


    .products-grid {

        grid-template-columns:
            1fr;

        gap: 30px;
    }


    .values-grid {

        grid-template-columns:
            1fr;
    }


    .value-item {

        border-right: 0;

        border-bottom:
            1px solid
            var(--border);
    }


    .value-number {

        margin-bottom:
            25px;
    }


    .about-photo {

        min-height:
            420px;
    }


    .site-cta {

        padding:
            80px
            0;
    }


    .footer-bottom {

        flex-direction:
            column;
    }

}


@media (
    prefers-reduced-motion:
    reduce
) {

    *,
    *::before,
    *::after {

        scroll-behavior:
            auto !important;

        transition-duration:
            0.01ms !important;

        animation-duration:
            0.01ms !important;
    }

}
/* =========================================
   HEADER - MONTE SEU ESCRITÓRIO
========================================= */

.site-nav-project {

    position: relative;

    min-height: 36px;

    padding:
        0 14px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.68
        );

    border-radius:
        999px;

    color:
        var(--gold-soft);

    font-size:
        11px;

    font-weight: 600;

    white-space: nowrap;

    transition:
        180ms ease;
}


.site-nav-project:hover {

    color:
        var(--black);

    background:
        var(--gold);

    border-color:
        var(--gold);

    transform:
        translateY(-1px);
}


.site-nav-project-dot {

    width: 6px;

    height: 6px;

    border-radius:
        50%;

    background:
        var(--gold);
}


/* MOBILE */

.mobile-builder-link {

    margin:
        5px
        0
        14px;

    padding:
        18px !important;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.35
        );

    border-radius:
        14px;

    background:
        #171717;
}


.mobile-builder-link span {

    display: block;

    color:
        var(--gold-soft);

    font-size:
        17px;

    font-weight: 500;
}


.mobile-builder-link small {

    display: block;

    margin-top:
        3px;

    color:
        var(--gold);

    font-size:
        11px;
}


/* =========================================
   HOME - MONTE SEU ESCRITÓRIO
========================================= */

.office-builder-highlight {

    padding:
        105px
        0;

    background:
        #ffffff;
}


.builder-home-card {

    overflow: hidden;

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

    border-radius:
        24px;

    background:
        #f6f4ef;
}


.builder-home-content {

    min-height:
        580px;

    padding:
        clamp(
            45px,
            6vw,
            85px
        );

    display: flex;

    flex-direction:
        column;

    justify-content:
        center;
}


.builder-home-title {

    max-width:
        520px;

    margin:
        0
        0
        27px;

    font-size:
        clamp(
            48px,
            5vw,
            72px
        );

    font-weight: 300;

    line-height:
        0.98;

    letter-spacing:
        -0.055em;
}


.builder-home-content p {

    max-width:
        510px;

    margin-bottom:
        32px;

    color:
        var(--gray);

    font-size:
        15px;

    line-height:
        1.75;
}


.builder-home-preview {

    height: 100%;

    min-height:
        580px;

    padding:
        clamp(
            45px,
            6vw,
            75px
        );

    display: flex;

    flex-direction:
        column;

    justify-content:
        center;

    background:
        var(--black);

    color:
        var(--white);
}


.builder-preview-label {

    margin-bottom:
        40px;

    color:
        #7f7f7f;

    font-size:
        10px;

    font-weight: 700;

    letter-spacing:
        0.18em;
}


.builder-preview-step {

    display: flex;

    align-items: center;

    gap: 24px;
}


.builder-preview-step > span {

    width: 45px;

    height: 45px;

    flex:
        0 0
        45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        #3c3c3c;

    border-radius:
        50%;

    color:
        var(--gold);

    font-size:
        11px;
}


.builder-preview-step strong {

    display: block;

    font-size:
        18px;

    font-weight: 400;
}


.builder-preview-step small {

    display: block;

    margin-top:
        3px;

    color:
        #777;

    font-size:
        12px;
}


.builder-preview-line {

    width: 1px;

    height: 40px;

    margin:
        8px
        0
        8px
        22px;

    background:
        #393939;
}


.builder-preview-result {

    margin-top:
        38px;

    padding-top:
        25px;

    border-top:
        1px solid
        #343434;

    display: flex;

    justify-content:
        space-between;

    gap: 20px;

    color:
        #808080;

    font-size:
        12px;
}


.builder-preview-result strong {

    color:
        var(--white);

    font-weight: 500;
}


/* =========================================
   MONTE SEU ESCRITÓRIO - HERO
========================================= */

.builder-page-hero {

    margin-top:
        var(--header-height);

    padding:
        115px
        0
        90px;

    background:
        var(--off-white);

    border-bottom:
        1px solid
        var(--border);
}


.builder-page-hero-inner {

    max-width:
        850px;
}


.builder-page-hero h1 {

    margin:
        0
        0
        30px;

    font-size:
        clamp(
            58px,
            7vw,
            98px
        );

    font-weight:
        300;

    line-height:
        0.95;

    letter-spacing:
        -0.065em;
}


.builder-page-hero p {

    max-width:
        650px;

    margin: 0;

    color:
        var(--gray);

    font-size:
        17px;

    line-height:
        1.7;
}


.builder-page-section {

    padding:
        80px
        0
        120px;

    background:
        #ffffff;
}


/* =========================================
   TIMELINE
========================================= */

.project-timeline {

    position: relative;

    max-width:
        950px;

    margin:
        0
        auto
        90px;

    display: grid;

    grid-template-columns:
        repeat(
            4,
            1fr
        );
}


.project-timeline::before {

    content:
        "";

    position: absolute;

    top: 18px;

    left: 12.5%;

    right: 12.5%;

    height: 1px;

    background:
        var(--border);
}


.project-timeline-progress {

    position: absolute;

    top: 18px;

    left: 12.5%;

    width: 75%;

    height: 1px;

    overflow: hidden;
}


.project-timeline-progress span {

    display: block;

    width: 0;

    height: 100%;

    background:
        var(--gold);

    transition:
        width
        450ms
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        );
}


.project-timeline-step {

    position: relative;

    z-index: 2;

    padding: 0;

    border: 0;

    background:
        transparent;

    display: flex;

    flex-direction:
        column;

    align-items: center;

    gap: 10px;

    color:
        #999;
}


.project-timeline-step > span {

    width: 37px;

    height: 37px;

    display: flex;

    align-items: center;

    justify-content: center;

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

    border-radius:
        50%;

    background:
        #ffffff;

    font-size:
        10px;

    transition:
        200ms ease;
}


.project-timeline-step strong {

    font-size:
        12px;

    font-weight:
        500;
}


.project-timeline-step.active {

    color:
        var(--black);
}


.project-timeline-step.active > span {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        #ffffff;
}


.project-timeline-step.completed > span {

    border-color:
        var(--gold);

    color:
        var(--gold);
}


/* =========================================
   PANELS
========================================= */

.builder-step-panel {

    display: none;

    animation:
        builderFade
        350ms ease;
}


.builder-step-panel.active {

    display: block;
}


@keyframes builderFade {

    from {

        opacity: 0;

        transform:
            translateY(10px);
    }

    to {

        opacity: 1;

        transform:
            translateY(0);
    }
}


.builder-step-heading {

    margin-bottom:
        45px;

    display: flex;

    justify-content:
        space-between;

    gap: 30px;
}


.builder-step-heading span {

    display: block;

    margin-bottom:
        10px;

    color:
        var(--gold);

    font-size:
        10px;

    font-weight: 700;

    letter-spacing:
        0.16em;
}


.builder-step-heading h2 {

    margin:
        0
        0
        13px;

    font-size:
        clamp(
            38px,
            5vw,
            58px
        );

    font-weight: 300;

    letter-spacing:
        -0.05em;
}


.builder-step-heading p {

    max-width:
        580px;

    margin: 0;

    color:
        var(--gray);
}


/* =========================================
   PRODUTOS DO BUILDER
========================================= */

.builder-products-grid {

    display: grid;

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

    gap: 18px;
}


.builder-product-card {

    overflow: hidden;

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

    border-radius:
        15px;

    background:
        #ffffff;

    transition:
        border-color
        180ms ease,
        transform
        180ms ease,
        box-shadow
        180ms ease;
}


.builder-product-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 15px 35px
        rgba(
            0,
            0,
            0,
            0.05
        );
}


.builder-product-card.selected {

    border-color:
        var(--gold);

    box-shadow:
        0 0 0 1px
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.builder-product-image {

    aspect-ratio:
        1 / 0.88;

    overflow: hidden;

    background:
        var(--surface);
}


.builder-product-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;
}


.builder-product-placeholder {

    width: 100%;

    height: 100%;

    background:
        linear-gradient(
            135deg,
            #efeee9,
            #dad8d1
        );
}


.builder-product-content {

    padding:
        20px;
}


.builder-product-meta {

    margin-bottom:
        6px;

    color:
        var(--gray);

    font-size:
        9px;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


.builder-product-content h3 {

    min-height:
        48px;

    margin:
        0
        0
        20px;

    font-size:
        18px;

    font-weight:
        500;

    line-height:
        1.35;
}


/* QUANTIDADE */

.builder-quantity {

    height: 45px;

    display: grid;

    grid-template-columns:
        45px
        1fr
        45px;

    overflow: hidden;

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

    border-radius:
        999px;
}


.builder-quantity button {

    border: 0;

    background:
        transparent;

    color:
        var(--black);

    font-size:
        19px;
}


.builder-quantity button:hover {

    background:
        var(--off-white);
}


.builder-quantity input {

    width: 100%;

    border: 0;

    border-left:
        1px solid
        var(--border);

    border-right:
        1px solid
        var(--border);

    outline: 0;

    text-align: center;

    font-size:
        13px;

    appearance:
        textfield;

    -moz-appearance:
        textfield;
}


.builder-quantity input::-webkit-inner-spin-button,
.builder-quantity input::-webkit-outer-spin-button {

    appearance:
        none;

    -webkit-appearance:
        none;

    margin: 0;
}


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

.builder-navigation {

    margin-top:
        55px;

    padding-top:
        30px;

    border-top:
        1px solid
        var(--border);

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 20px;
}


.builder-navigation > div {

    display: flex;

    gap: 12px;
}


.builder-skip,
.builder-back {

    min-height:
        48px;

    padding:
        0
        18px;

    border: 0;

    background:
        transparent;

    color:
        var(--gray);

    font-size:
        12px;
}


.builder-skip:hover,
.builder-back:hover {

    color:
        var(--black);
}


/* =========================================
   EMPTY
========================================= */

.builder-empty {

    padding:
        70px
        25px;

    border:
        1px dashed
        var(--border);

    border-radius:
        16px;

    text-align: center;

    background:
        var(--off-white);
}


.builder-empty > span {

    color:
        var(--gold);

    font-size:
        10px;

    letter-spacing:
        0.15em;
}


.builder-empty h3 {

    margin:
        12px
        0
        8px;

    font-size:
        25px;

    font-weight:
        400;
}


.builder-empty p {

    margin: 0;

    color:
        var(--gray);
}


/* =========================================
   REVIEW
========================================= */

.builder-review-layout {

    display: grid;

    grid-template-columns:
        minmax(
            0,
            1.25fr
        )
        minmax(
            320px,
            0.75fr
        );

    gap: 60px;
}


.builder-summary {

    border-top:
        1px solid
        var(--border);
}


.builder-summary-group {

    padding:
        25px
        0;

    border-bottom:
        1px solid
        var(--border);
}


.builder-summary-group h3 {

    margin-bottom:
        18px;

    color:
        var(--gold);

    font-size:
        11px;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.builder-summary-item {

    padding:
        7px
        0;

    display: flex;

    justify-content:
        space-between;

    gap: 30px;

    color:
        #4b4b4b;

    font-size:
        14px;
}


.builder-summary-item strong {

    color:
        var(--black);

    font-weight:
        500;

    white-space:
        nowrap;
}


.builder-summary-empty {

    padding:
        35px
        0;

    color:
        var(--gray);
}


.builder-summary-empty strong {

    display: block;

    margin-bottom:
        7px;

    color:
        var(--black);
}


.builder-final-card {

    padding:
        35px;

    border-radius:
        19px;

    background:
        var(--off-white);

    align-self:
        start;
}


.builder-final-card h3 {

    margin-bottom:
        15px;

    font-size:
        31px;

    font-weight:
        300;

    letter-spacing:
        -0.04em;
}


.builder-final-card > p {

    color:
        var(--gray);

    font-size:
        13px;

    line-height:
        1.7;
}


.builder-notes {

    margin:
        25px
        0;

    padding:
        15px;

    resize:
        vertical;

    border-color:
        var(--border);

    border-radius:
        12px;

    background:
        #ffffff;

    font-size:
        13px;
}


/* =========================================
   WHATSAPP BUILDER
========================================= */

.builder-whatsapp-button {

    width: 100%;

    min-height:
        55px;

    padding:
        0
        20px;

    border: 0;

    border-radius:
        999px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    background:
        #25d366;

    color:
        #ffffff;

    font-size:
        13px;

    font-weight:
        600;

    transition:
        180ms ease;
}


.builder-whatsapp-button:hover {

    background:
        #1dbb59;

    transform:
        translateY(-2px);

    box-shadow:
        0 12px 30px
        rgba(
            37,
            211,
            102,
            0.22
        );
}


.builder-whatsapp-button svg {

    width: 20px;

    height: 20px;
}


.builder-final-note {

    display: block;

    margin-top:
        12px;

    color:
        #999;

    text-align: center;

    font-size:
        10px;
}


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

.footer-whatsapp-button {

    margin-top:
        22px;

    min-height:
        46px;

    padding:
        0
        19px;

    display: inline-flex;

    align-items: center;

    gap: 9px;

    border-radius:
        999px;

    background:
        #25d366;

    color:
        #ffffff;

    font-size:
        12px;

    font-weight:
        600;

    transition:
        180ms ease;
}


.footer-whatsapp-button:hover {

    background:
        #1dbb59;

    color:
        #ffffff;

    transform:
        translateY(-2px);
}


.footer-whatsapp-button svg {

    width: 18px;

    height: 18px;
}


/* =========================================
   WHATSAPP FLUTUANTE
========================================= */

.floating-whatsapp {

    position: fixed;

    right: 22px;

    bottom: 22px;

    left: auto;

    z-index: 1035;

    width: 56px;

    height: 56px;

    min-height: 56px;

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        #25d366;

    color:
        #ffffff;

    box-shadow:
        0 12px 35px
        rgba(
            0,
            0,
            0,
            0.18
        );

    transition:
        200ms
        cubic-bezier(
            .2,
            .7,
            .2,
            1
        );
}


.floating-whatsapp svg {

    width: 26px;

    height: 26px;
}


.floating-whatsapp span {

    display: none;
}


.floating-whatsapp:hover {

    color:
        #ffffff;

    background:
        #1dbb59;

    transform:
        translateY(-4px)
        scale(1.04);

    box-shadow:
        0 17px 40px
        rgba(
            37,
            211,
            102,
            0.30
        );
}


/* =========================================
   RESPONSIVO BUILDER
========================================= */

@media (
    max-width: 991px
) {

    .builder-home-content,
    .builder-home-preview {

        min-height:
            auto;
    }


    .builder-home-preview {

        padding:
            50px
            35px;
    }


    .builder-products-grid {

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


    .builder-review-layout {

        grid-template-columns:
            1fr;

        gap:
            45px;
    }

}


@media (
    max-width: 767px
) {

    .office-builder-highlight {

        padding:
            75px
            0;
    }


    .builder-home-card {

        border-radius:
            17px;
    }


    .builder-home-content {

        padding:
            45px
            25px;
    }


    .builder-home-title {

        font-size:
            47px;
    }


    .builder-page-hero {

        padding:
            80px
            0
            65px;
    }


    .builder-page-hero h1 {

        font-size:
            55px;
    }


    .builder-page-section {

        padding:
            60px
            0
            90px;
    }


    .project-timeline {

        margin-bottom:
            60px;
    }


    .project-timeline-step strong {

        font-size:
            9px;
    }


    .project-timeline-step > span {

        width:
            34px;

        height:
            34px;
    }


    .project-timeline::before,
    .project-timeline-progress {

        top:
            16px;
    }


    .builder-products-grid {

        grid-template-columns:
            1fr;
    }


    .builder-step-heading h2 {

        font-size:
            40px;
    }


    .builder-navigation {

        align-items:
            stretch;

        flex-direction:
            column-reverse;
    }


    .builder-navigation > div {

        width: 100%;

        display: grid;

        grid-template-columns:
            1fr
            1fr;
    }


    .builder-navigation
    .btn-site-dark {

        width: 100%;
    }


    .builder-final-card {

        padding:
            27px
            22px;
    }


    .floating-whatsapp {

        right:
            15px;

        bottom:
            15px;

        left:
            auto;

        width:
            54px;

        height:
            54px;

        min-height:
            54px;

        padding: 0;

        justify-content:
            center;
    }


    .floating-whatsapp span {

        display: none;
    }


    .floating-whatsapp svg {

        width:
            25px;

        height:
            25px;
    }

}

/* =========================================
   CATEGORY PAGE
========================================= */

.category-page-hero {
    margin-top: var(--header-height);
    padding: 72px 0 64px;
    background: var(--off-white);
    border-bottom: 1px solid var(--border);
}

.category-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: 64px;
    align-items: center;
}

.category-page-hero-no-image {
    grid-template-columns: minmax(0, 780px);
}

.category-page-heading {
    min-width: 0;
    padding: 18px 0;
}

.category-breadcrumb {
    margin-bottom: 34px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #999;
    font-size: 11px;
}

.category-breadcrumb a {
    transition: color 160ms ease;
}

.category-breadcrumb a:hover {
    color: var(--black);
}

.category-breadcrumb strong {
    color: #777;
    font-weight: 500;
}

.category-page-heading h1 {
    max-width: 650px;
    margin: 0 0 24px;
    font-size: clamp(52px, 6vw, 82px);
    font-weight: 300;
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.category-page-heading > p {
    max-width: 560px;
    margin: 0;
    color: var(--gray);
    font-size: 15px;
    line-height: 1.75;
}

.category-product-count {
    margin-top: 28px;
    color: #999;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.category-page-hero-image {
    width: 100%;
    height: 430px;
    overflow: hidden;
    border-radius: 18px;
    background: #f4f3ef;
}

.category-page-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 700ms cubic-bezier(.2, .7, .2, 1);
}

.category-page-hero-image:hover img {
    transform: scale(1.02);
}


/* =========================================
   CATEGORY PRODUCTS
========================================= */

.category-products-section {
    padding: 72px 0 115px;
    background: #fff;
}


/* =========================================
   CATEGORY FILTERS
========================================= */

.category-filter-wrapper {
    margin-bottom: 72px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.category-filter-heading {
    flex: 0 0 auto;
}

.category-filter-heading span {
    display: block;
    margin-bottom: 3px;
    color: #999;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.category-filter-heading strong {
    color: var(--black);
    font-size: 13px;
    font-weight: 500;
}

.category-filter-scroll {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 0;
    scrollbar-width: none;
}

.category-filter-scroll::-webkit-scrollbar {
    display: none;
}

.category-filter-chip {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--border);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #737373;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
    transition: color 180ms ease,
                border-color 180ms ease,
                background 180ms ease,
                transform 180ms ease;
}

.category-filter-chip:hover {
    color: var(--black);
    border-color: #aaa;
    transform: translateY(-1px);
}

.category-filter-chip.active {
    background: var(--black);
    border-color: var(--black);
    color: #fff;
}


/* =========================================
   CATEGORY RESULTS
========================================= */

.category-results-heading {
    margin-bottom: 34px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.category-results-heading h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 47px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.045em;
}

.category-results-count {
    padding-bottom: 4px;
    color: #999;
    font-size: 11px;
}


/* =========================================
   CATEGORY PRODUCT GRID
========================================= */

.category-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 46px 20px;
    align-items: start;
}

.category-product-card {
    min-width: 0;
    display: block;
    color: inherit;
}

.category-product-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.06;
    overflow: hidden;
    border-radius: 14px;
    background: #f7f7f5;
}

.category-product-media img {
    width: 100%;
    height: 100%;
    padding: 22px;
    object-fit: contain;
    object-position: center;
    transition: transform 500ms cubic-bezier(.2, .7, .2, 1);
}

.category-product-card:hover .category-product-media img {
    transform: scale(1.035);
}

.category-product-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #f2f1ed, #dedbd4);
}

.category-product-featured {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    min-height: 28px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--black);
    backdrop-filter: blur(10px);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.category-product-arrow {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: var(--black);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(10px);
    opacity: 0;
    transform: translateY(7px);
    transition: opacity 180ms ease,
                transform 180ms ease,
                background 180ms ease;
}

.category-product-card:hover .category-product-arrow {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================
   CATEGORY PRODUCT INFO
========================================= */

.category-product-info {
    padding: 15px 2px 0;
}

.category-product-meta {
    margin-bottom: 6px;
    color: #999;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.category-product-name-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.category-product-name-row h3 {
    min-width: 0;
    max-width: 72%;
    margin: 0;
    color: var(--black);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.35;
}

.category-product-name-row > span {
    flex: 0 0 auto;
    padding-top: 2px;
    color: var(--gray);
    font-size: 12px;
    white-space: nowrap;
}


/* =========================================
   CATEGORY EMPTY STATE
========================================= */

.category-empty-state {
    max-width: 700px;
    margin: 35px auto 0;
    padding: 75px 32px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--off-white);
    text-align: center;
}

.category-empty-state h2 {
    max-width: 520px;
    margin: 0 auto 18px;
    font-size: clamp(35px, 5vw, 50px);
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.category-empty-state p {
    max-width: 500px;
    margin: 0 auto 30px;
    color: var(--gray);
}


/* =========================================
   CATEGORY BUILDER CTA
========================================= */

.category-builder-cta {
    padding: 20px 0 100px;
    background: #fff;
}

.category-builder-inner {
    padding: 52px 58px;
    border-radius: 20px;
    background: var(--off-white);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 45px;
}

.category-builder-inner > div {
    max-width: 700px;
}

.category-builder-inner h2 {
    margin: 0 0 14px;
    font-size: clamp(36px, 5vw, 53px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.05em;
}

.category-builder-inner p {
    max-width: 580px;
    margin: 0;
    color: var(--gray);
    font-size: 14px;
}


/* =========================================
   CATEGORY 404
========================================= */

.category-not-found {
    min-height: 75vh;
    margin-top: var(--header-height);
    padding: 100px 0;
    display: flex;
    align-items: center;
    background: var(--off-white);
}

.category-not-found-inner {
    max-width: 700px;
}

.category-not-found h1 {
    margin: 0 0 25px;
    font-size: clamp(50px, 7vw, 80px);
    font-weight: 300;
    line-height: 0.98;
    letter-spacing: -0.06em;
}

.category-not-found p {
    max-width: 500px;
    margin-bottom: 30px;
    color: var(--gray);
}


/* =========================================
   CATEGORY RESPONSIVE
========================================= */

@media (max-width: 991.98px) {

    .category-page-hero {
        padding: 58px 0;
    }

    .category-page-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .category-page-hero-no-image {
        grid-template-columns: 1fr;
    }

    .category-page-hero-image {
        height: 420px;
    }

    .category-filter-wrapper {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .category-filter-scroll {
        width: 100%;
        justify-content: flex-start;
    }

    .category-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-builder-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}


@media (max-width: 767.98px) {

    .category-page-hero {
        padding: 48px 0;
    }

    .category-breadcrumb {
        margin-bottom: 26px;
    }

    .category-page-heading {
        padding: 4px 0;
    }

    .category-page-heading h1 {
        font-size: clamp(48px, 14vw, 60px);
    }

    .category-page-heading > p {
        font-size: 14px;
    }

    .category-page-hero-image {
        height: 330px;
        border-radius: 14px;
    }

    .category-products-section {
        padding: 52px 0 82px;
    }

    .category-filter-wrapper {
        margin-bottom: 55px;
    }

    .category-results-heading {
        margin-bottom: 28px;
    }

    .category-products-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .category-product-media {
        aspect-ratio: 1 / 0.92;
    }

    .category-product-media img {
        padding: 18px;
    }

    .category-product-arrow {
        opacity: 1;
        transform: none;
    }

    .category-builder-cta {
        padding-bottom: 74px;
    }

    .category-builder-inner {
        padding: 38px 24px;
    }
}

/* =========================================
   PRODUCT PAGE
========================================= */

.product-page {
    margin-top: var(--header-height);
    padding: 44px 0 105px;
    background: #fff;
}

.product-breadcrumb {
    margin-bottom: 34px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #999;
    font-size: 11px;
}

.product-breadcrumb a {
    transition: color 160ms ease;
}

.product-breadcrumb a:hover {
    color: var(--black);
}

.product-breadcrumb strong {
    color: #777;
    font-weight: 500;
}

.product-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
    gap: 70px;
    align-items: start;
}


/* =========================================
   PRODUCT GALLERY
========================================= */

.product-gallery {
    min-width: 0;
}

.product-carousel {
    position: relative;
}

.product-main-image {
    width: 100%;
    aspect-ratio: 1 / 1.04;
    min-height: 610px;
    padding: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 20px;
    background: #f7f7f5;
}

.product-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.product-main-placeholder {
    color: #999;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-gallery-control {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.94);
    color: var(--black);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    transition: transform 180ms ease,
                background 180ms ease;
}

.product-gallery-control:hover {
    background: #fff;
    transform: translateY(-2px);
}

.product-gallery-prev {
    left: 18px;
}

.product-gallery-next {
    right: 18px;
}

.product-thumbnails {
    margin-top: 14px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 88px;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
}

.product-thumbnails::-webkit-scrollbar {
    display: none;
}

.product-thumbnail {
    width: 88px;
    height: 88px;
    padding: 7px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #f8f8f6;
    opacity: 0.62;
    transition: opacity 180ms ease,
                border-color 180ms ease,
                transform 180ms ease;
}

.product-thumbnail:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.product-thumbnail.active {
    opacity: 1;
    border-color: var(--black);
}

.product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* =========================================
   PRODUCT DETAIL
========================================= */

.product-detail {
    min-width: 0;
}

.product-detail-inner {
    position: sticky;
    top: calc(var(--header-height) + 32px);
    padding: 28px 0 0;
}

.product-detail-category {
    margin-bottom: 18px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.product-detail-category span {
    margin: 0 5px;
    color: #c8c8c8;
}

.product-detail-title {
    max-width: 620px;
    margin: 0 0 24px;
    font-size: clamp(45px, 5vw, 68px);
    font-weight: 300;
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.product-detail-short {
    max-width: 560px;
    margin: 0 0 34px;
    color: var(--gray);
    font-size: 15px;
    line-height: 1.75;
}

.product-detail-price {
    margin: 0 0 31px;
    padding: 24px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.product-detail-price span {
    display: block;
    margin-bottom: 3px;
    color: #999;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-detail-price strong {
    display: block;
    color: var(--black);
    font-size: 27px;
    font-weight: 400;
    letter-spacing: -0.03em;
}

.product-detail-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-whatsapp-button {
    min-height: 55px;
    padding: 0 22px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #25d366;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    transition: background 180ms ease,
                transform 180ms ease,
                box-shadow 180ms ease;
}

.product-whatsapp-button:hover {
    color: #fff;
    background: #1dbb59;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(37, 211, 102, 0.19);
}

.product-whatsapp-button svg {
    width: 20px;
    height: 20px;
}

.product-project-button {
    min-height: 51px;
    padding: 0 22px;
    border: 1px solid var(--border);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--black);
    background: #fff;
    font-size: 12px;
    transition: border-color 180ms ease,
                background 180ms ease,
                transform 180ms ease;
}

.product-project-button:hover {
    color: var(--black);
    border-color: #aaa;
    background: var(--off-white);
    transform: translateY(-1px);
}

.product-detail-note {
    margin-top: 22px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #999;
    font-size: 11px;
}

.product-detail-note span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
}


/* =========================================
   PRODUCT INFO SECTION
========================================= */

.product-info-section {
    padding: 105px 0;
    background: var(--off-white);
}

.product-info-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
    gap: 95px;
    align-items: start;
}

.product-description h2 {
    max-width: 650px;
    margin: 0 0 30px;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.05em;
}

.product-description-text {
    max-width: 700px;
    color: var(--gray);
    font-size: 15px;
    line-height: 1.9;
}

.product-features-list {
    border-top: 1px solid var(--border);
}

.product-feature-item {
    padding: 19px 0;
    border-bottom: 1px solid var(--border);
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}

.product-feature-item > span {
    color: var(--gold);
    font-size: 10px;
    font-weight: 600;
}

.product-feature-item p {
    margin: 0;
    color: #4d4d4d;
    font-size: 14px;
    line-height: 1.55;
}


/* =========================================
   PRODUCT PROJECT CTA
========================================= */

.product-project-cta {
    padding: 90px 0;
    background: var(--black);
    color: #fff;
}

.product-project-cta-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
}

.product-project-cta-inner > div {
    max-width: 760px;
}

.product-project-cta-inner h2 {
    margin: 0 0 17px;
    font-size: clamp(42px, 5vw, 63px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.05em;
}

.product-project-cta-inner p {
    max-width: 590px;
    margin: 0;
    color: #989898;
    font-size: 14px;
}


/* =========================================
   RELATED PRODUCTS
========================================= */

.product-related-section {
    padding: 105px 0 120px;
    background: #fff;
}

.product-related-heading {
    margin-bottom: 42px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}

.product-related-heading h2 {
    margin: 0;
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.045em;
}

.product-related-heading > a {
    color: var(--gray);
    font-size: 12px;
    transition: color 160ms ease;
}

.product-related-heading > a:hover {
    color: var(--black);
}

.product-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.related-product-card {
    min-width: 0;
}

.related-product-media {
    position: relative;
    aspect-ratio: 1 / 1.05;
    overflow: hidden;
    border-radius: 14px;
    background: #f7f7f5;
}

.related-product-media img {
    width: 100%;
    height: 100%;
    padding: 18px;
    object-fit: contain;
    transition: transform 500ms cubic-bezier(.2, .7, .2, 1);
}

.related-product-card:hover .related-product-media img {
    transform: scale(1.035);
}

.related-product-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #f2f1ed, #dedbd4);
}

.related-product-media > span {
    position: absolute;
    right: 13px;
    bottom: 13px;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95);
    color: var(--black);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
    opacity: 0;
    transform: translateY(6px);
    transition: 180ms ease;
}

.related-product-card:hover .related-product-media > span {
    opacity: 1;
    transform: translateY(0);
}

.related-product-info {
    padding: 14px 2px 0;
}

.related-product-info small {
    display: block;
    margin-bottom: 5px;
    color: #999;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.related-product-info h3 {
    margin: 0 0 6px;
    color: var(--black);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.related-product-info p {
    margin: 0;
    color: var(--gray);
    font-size: 12px;
}


/* =========================================
   PRODUCT 404
========================================= */

.product-not-found {
    min-height: 75vh;
    margin-top: var(--header-height);
    padding: 100px 0;
    display: flex;
    align-items: center;
    background: var(--off-white);
}

.product-not-found-inner {
    max-width: 700px;
}

.product-not-found h1 {
    margin: 0 0 25px;
    font-size: clamp(50px, 7vw, 80px);
    font-weight: 300;
    line-height: 0.98;
    letter-spacing: -0.06em;
}

.product-not-found p {
    max-width: 500px;
    margin-bottom: 30px;
    color: var(--gray);
}


/* =========================================
   PRODUCT RESPONSIVE
========================================= */

@media (max-width: 1199.98px) {

    .product-main-grid {
        gap: 45px;
    }

    .product-main-image {
        min-height: 540px;
    }

    .product-info-grid {
        gap: 65px;
    }

    .product-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 991.98px) {

    .product-page {
        padding-top: 35px;
    }

    .product-main-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .product-main-image {
        min-height: 0;
        aspect-ratio: 1 / 0.92;
    }

    .product-detail-inner {
        position: static;
        padding-top: 0;
    }

    .product-info-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .product-project-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 767.98px) {

    .product-page {
        padding: 28px 0 75px;
    }

    .product-breadcrumb {
        margin-bottom: 25px;
        font-size: 10px;
    }

    .product-main-grid {
        gap: 34px;
    }

    .product-main-image {
        aspect-ratio: 1 / 1;
        padding: 22px;
        border-radius: 14px;
    }

    .product-gallery-control {
        width: 40px;
        height: 40px;
        margin-top: -20px;
    }

    .product-gallery-prev {
        left: 10px;
    }

    .product-gallery-next {
        right: 10px;
    }

    .product-thumbnails {
        grid-auto-columns: 72px;
    }

    .product-thumbnail {
        width: 72px;
        height: 72px;
    }

    .product-detail-title {
        font-size: clamp(43px, 13vw, 57px);
    }

    .product-detail-short {
        font-size: 14px;
    }

    .product-info-section {
        padding: 75px 0;
    }

    .product-info-grid {
        gap: 50px;
    }

    .product-description h2 {
        font-size: 43px;
    }

    .product-project-cta {
        padding: 72px 0;
    }

    .product-project-cta-inner h2 {
        font-size: 43px;
    }

    .product-related-section {
        padding: 80px 0 95px;
    }

    .product-related-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .product-related-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .related-product-media {
        aspect-ratio: 1 / 0.92;
    }

    .related-product-media > span {
        opacity: 1;
        transform: none;
    }
}

/* =========================================
   DARK GOLD THEME - SITE INTEIRO
   Preto + branco + dourado
========================================= */

:root {

    --off-white:
        #121212;

    --surface:
        #171717;

    --surface-2:
        #1d1d1d;

    --graphite:
        #202020;

    --gray:
        #a7a7a7;

    --gray-light:
        #7f7f7f;

    --border:
        rgba(
            197,
            161,
            102,
            0.18
        );
}


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

html,
body {

    background:
        #0b0b0b;

    color:
        #f4f1eb;
}


body {

    color:
        #f4f1eb;
}


::selection {

    background:
        var(--gold);

    color:
        #0b0b0b;
}


/* =========================================
   BOTÕES GERAIS
========================================= */

.btn-site-dark {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        #0d0d0d;
}


.btn-site-dark:hover {

    border-color:
        var(--gold-soft);

    background:
        var(--gold-soft);

    color:
        #0d0d0d;
}


.btn-site-light {

    border-color:
        rgba(
            197,
            161,
            102,
            0.48
        );

    background:
        rgba(
            197,
            161,
            102,
            0.06
        );

    color:
        #f4f1eb;
}


.btn-site-light:hover {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        #0d0d0d;
}


/* =========================================
   SEÇÕES GERAIS
========================================= */

.site-section,
.office-builder-highlight,
.category-products-section,
.category-builder-cta,
.product-page,
.product-related-section {

    background:
        #0b0b0b;
}


.site-section-soft,
.product-info-section {

    background:
        #121212;
}


.section-title,
.builder-home-title,
.builder-page-hero h1,
.builder-step-heading h2,
.category-page-heading h1,
.category-results-heading h2,
.category-empty-state h2,
.category-builder-inner h2,
.product-detail-title,
.product-description h2,
.product-project-cta-inner h2,
.product-related-heading h2,
.product-not-found h1,
.category-not-found h1 {

    color:
        #f5f2ec;
}


.section-eyebrow,
.eyebrow {

    color:
        var(--gold);
}


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

.site-header {

    background:
        #0b0b0b;
}


.site-header.is-scrolled {

    background:
        #080808;
}


.site-dropdown-panel {

    background:
        #101010;

    box-shadow:
        0 22px 55px
        rgba(
            0,
            0,
            0,
            0.38
        );
}


.mobile-contact
.btn-dark {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        #0d0d0d;
}


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

.hero-section {

    background:
        #0b0b0b;
}


.hero-description {

    color:
        rgba(
            255,
            255,
            255,
            0.72
        );
}


/* =========================================
   HOME - CATEGORIAS
========================================= */

.catalog-card {

    background:
        #151515;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.12
        );
}


.catalog-card-placeholder {

    background:

        radial-gradient(
            circle at 80% 20%,
            rgba(
                197,
                161,
                102,
                0.15
            ),
            transparent
            35%
        ),

        linear-gradient(
            135deg,
            #181818,
            #0e0e0e
        );
}


.catalog-card-overlay {

    background:
        linear-gradient(
            180deg,
            rgba(
                0,
                0,
                0,
                0.05
            )
            25%,
            rgba(
                0,
                0,
                0,
                0.84
            )
            100%
        );
}


.catalog-card-content {

    color:
        #ffffff;
}


.catalog-card-link {

    color:
        var(--gold-soft);

    opacity:
        1;
}


/* =========================================
   HOME - SUBCATEGORIAS
========================================= */

.subcategory-card {

    color:
        #f4f1eb;
}


.subcategory-image {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.12
        );

    background:
        #151515;
}


.subcategory-placeholder {

    background:
        linear-gradient(
            135deg,
            #1b1b1b,
            #0f0f0f
        );
}


.subcategory-name {

    color:
        #f4f1eb;
}


.subcategory-name span:last-child {

    color:
        var(--gold);
}


/* =========================================
   HOME - PRODUTOS
========================================= */

.product-card {

    color:
        #f4f1eb;
}


.product-card-image {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.12
        );

    background:
        #151515;
}


.product-card-arrow {

    background:
        rgba(
            13,
            13,
            13,
            0.90
        );

    color:
        var(--gold);

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.28
        );
}


.product-meta {

    color:
        #8f8f8f;
}


.product-card-title {

    color:
        #f4f1eb;
}


.product-price {

    color:
        var(--gold-soft);
}


/* =========================================
   QUEM SOMOS
========================================= */

.about-photo {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );

    background-color:
        #151515;
}


.about-text {

    color:
        #aaa7a1;
}


/* =========================================
   VALORES
========================================= */

.values-grid {

    border-top-color:
        rgba(
            197,
            161,
            102,
            0.20
        );
}


.value-item {

    border-right-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.value-item h3 {

    color:
        #f4f1eb;
}


.value-item p {

    color:
        #9b9994;
}


/* =========================================
   CONTATO
========================================= */

.contact-content {

    color:
        #f4f1eb;
}


.contact-details {

    color:
        #aaa7a1;
}


.contact-map {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );

    background:
        #151515;
}


.map-placeholder {

    color:
        #929292;
}


/* =========================================
   CTA
========================================= */

.site-cta {

    background:
        #080808;

    border-top:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.cta-inner h2 {

    color:
        #ffffff;
}


.cta-inner p {

    color:
        #9d9d9d;
}


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

.site-footer {

    background:
        #060606;

    border-top:
        1px solid
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.footer-brand strong {

    color:
        #ffffff;
}


.footer-brand img {

    background:
        #111111;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.22
        );
}


.footer-description {

    color:
        #969696;
}


.footer-title {

    color:
        var(--gold);
}


.footer-links a,
.footer-address {

    color:
        #b7b3ac;
}


.footer-links a:hover {

    color:
        var(--gold-soft);
}


.footer-bottom {

    border-top-color:
        rgba(
            197,
            161,
            102,
            0.13
        );

    color:
        #77736d;
}


/* =========================================
   HOME - MONTE SEU ESCRITÓRIO
========================================= */

.office-builder-highlight {

    background:
        #0b0b0b;
}


.builder-home-card {

    border-color:
        rgba(
            197,
            161,
            102,
            0.22
        );

    background:
        #121212;

    box-shadow:
        0 30px 80px
        rgba(
            0,
            0,
            0,
            0.18
        );
}


.builder-home-content {

    background:
        #121212;
}


.builder-home-title {

    color:
        #f5f2ec;
}


.builder-home-content p {

    color:
        #a9a59e;
}


.builder-home-preview {

    background:
        #080808;

    color:
        #ffffff;
}


.builder-preview-label {

    color:
        var(--gold);
}


.builder-preview-step > span {

    border-color:
        rgba(
            197,
            161,
            102,
            0.34
        );

    color:
        var(--gold);
}


.builder-preview-step strong {

    color:
        #ffffff;
}


.builder-preview-step small {

    color:
        #8e8e8e;
}


.builder-preview-line,
.builder-preview-result {

    border-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.builder-preview-line {

    background:
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.builder-preview-result {

    color:
        #8e8e8e;
}


/* =========================================
   MONTE SEU ESCRITÓRIO - PÁGINA
========================================= */

.builder-page-hero {

    background:
        #0d0d0d;

    border-bottom-color:
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.builder-page-hero p {

    color:
        #aaa7a1;
}


.builder-page-section {

    background:
        #0b0b0b;
}


.project-timeline::before {

    background:
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.project-timeline-step {

    color:
        #858585;
}


.project-timeline-step > span {

    border-color:
        rgba(
            197,
            161,
            102,
            0.24
        );

    background:
        #101010;

    color:
        #9b9b9b;
}


.project-timeline-step.active {

    color:
        #ffffff;
}


.project-timeline-step.active > span {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        #0d0d0d;
}


.project-timeline-step.completed > span {

    border-color:
        var(--gold);

    color:
        var(--gold);

    background:
        #101010;
}


.builder-step-heading h2 {

    color:
        #f5f2ec;
}


.builder-step-heading p {

    color:
        #aaa7a1;
}


.builder-product-card {

    border-color:
        rgba(
            197,
            161,
            102,
            0.16
        );

    background:
        #121212;

    color:
        #f4f1eb;
}


.builder-product-card:hover {

    box-shadow:
        0 18px 38px
        rgba(
            0,
            0,
            0,
            0.32
        );
}


.builder-product-card.selected {

    border-color:
        var(--gold);

    box-shadow:
        0 0 0 1px
        rgba(
            197,
            161,
            102,
            0.28
        );
}


.builder-product-image {

    background:
        #181818;
}


.builder-product-placeholder {

    background:
        linear-gradient(
            135deg,
            #1c1c1c,
            #101010
        );
}


.builder-product-meta {

    color:
        #8e8e8e;
}


.builder-product-content h3 {

    color:
        #f4f1eb;
}


.builder-quantity {

    border-color:
        rgba(
            197,
            161,
            102,
            0.24
        );

    background:
        #0e0e0e;
}


.builder-quantity button {

    color:
        var(--gold-soft);
}


.builder-quantity button:hover {

    background:
        #1a1a1a;
}


.builder-quantity input {

    border-left-color:
        rgba(
            197,
            161,
            102,
            0.20
        );

    border-right-color:
        rgba(
            197,
            161,
            102,
            0.20
        );

    background:
        #0e0e0e;

    color:
        #ffffff;
}


.builder-navigation {

    border-top-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.builder-skip,
.builder-back {

    color:
        #9c9c9c;
}


.builder-skip:hover,
.builder-back:hover {

    color:
        var(--gold-soft);
}


.builder-empty {

    border-color:
        rgba(
            197,
            161,
            102,
            0.25
        );

    background:
        #121212;
}


.builder-empty h3 {

    color:
        #ffffff;
}


.builder-empty p {

    color:
        #999;
}


.builder-summary,
.builder-summary-group {

    border-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.builder-summary-item {

    color:
        #b8b5af;
}


.builder-summary-item strong {

    color:
        #ffffff;
}


.builder-summary-empty {

    color:
        #999;
}


.builder-summary-empty strong {

    color:
        #ffffff;
}


.builder-final-card {

    background:
        #141414;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.builder-final-card h3 {

    color:
        #ffffff;
}


.builder-final-card > p {

    color:
        #aaa7a1;
}


.builder-notes {

    border-color:
        rgba(
            197,
            161,
            102,
            0.22
        );

    background:
        #0d0d0d;

    color:
        #ffffff;
}


.builder-notes::placeholder {

    color:
        #757575;
}


/* =========================================
   CATEGORY PAGE
========================================= */

.category-page-hero {

    background:
        #0d0d0d;

    border-bottom-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.category-breadcrumb {

    color:
        #828282;
}


.category-breadcrumb a {

    color:
        #a7a7a7;
}


.category-breadcrumb a:hover {

    color:
        var(--gold-soft);
}


.category-breadcrumb strong {

    color:
        var(--gold);
}


.category-page-heading > p {

    color:
        #aaa7a1;
}


.category-product-count {

    color:
        var(--gold-soft);
}


.category-page-hero-image {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );

    background:
        #161616;
}


.category-filter-wrapper {

    border-bottom-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.category-filter-heading span {

    color:
        var(--gold);
}


.category-filter-heading strong {

    color:
        #f4f1eb;
}


.category-filter-chip {

    border-color:
        rgba(
            197,
            161,
            102,
            0.24
        );

    background:
        #101010;

    color:
        #b8b5af;
}


.category-filter-chip:hover {

    border-color:
        var(--gold);

    color:
        var(--gold-soft);
}


.category-filter-chip.active {

    border-color:
        var(--gold);

    background:
        var(--gold);

    color:
        #0d0d0d;
}


.category-results-count {

    color:
        #858585;
}


.category-product-card {

    color:
        #f4f1eb;
}


.category-product-media {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.12
        );

    background:
        #151515;
}


.category-product-placeholder {

    background:
        linear-gradient(
            135deg,
            #1b1b1b,
            #0f0f0f
        );
}


.category-product-featured {

    background:
        var(--gold);

    color:
        #0d0d0d;
}


.category-product-arrow {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.26
        );

    background:
        rgba(
            12,
            12,
            12,
            0.92
        );

    color:
        var(--gold);
}


.category-product-meta {

    color:
        #858585;
}


.category-product-name-row h3 {

    color:
        #f4f1eb;
}


.category-product-name-row > span {

    color:
        var(--gold-soft);
}


.category-empty-state {

    border-color:
        rgba(
            197,
            161,
            102,
            0.18
        );

    background:
        #121212;
}


.category-empty-state p {

    color:
        #aaa7a1;
}


.category-builder-inner {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.18
        );

    background:
        #121212;
}


.category-builder-inner p {

    color:
        #aaa7a1;
}


.category-not-found {

    background:
        #0b0b0b;
}


.category-not-found p {

    color:
        #aaa7a1;
}


/* =========================================
   PRODUCT PAGE
========================================= */

.product-page {

    background:
        #0b0b0b;
}


.product-breadcrumb {

    color:
        #7f7f7f;
}


.product-breadcrumb a {

    color:
        #a8a8a8;
}


.product-breadcrumb a:hover {

    color:
        var(--gold-soft);
}


.product-breadcrumb strong {

    color:
        var(--gold);
}


.product-main-image {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.13
        );

    background:
        #151515;
}


.product-main-placeholder {

    color:
        #858585;
}


.product-gallery-control {

    border-color:
        rgba(
            197,
            161,
            102,
            0.28
        );

    background:
        rgba(
            10,
            10,
            10,
            0.92
        );

    color:
        var(--gold);
}


.product-gallery-control:hover {

    background:
        var(--gold);

    color:
        #0d0d0d;
}


.product-thumbnail {

    border-color:
        rgba(
            197,
            161,
            102,
            0.16
        );

    background:
        #151515;
}


.product-thumbnail.active {

    border-color:
        var(--gold);
}


.product-detail-category {

    color:
        var(--gold);
}


.product-detail-category span {

    color:
        #5d5d5d;
}


.product-detail-title {

    color:
        #f5f2ec;
}


.product-detail-short {

    color:
        #aaa7a1;
}


.product-detail-price {

    border-top-color:
        rgba(
            197,
            161,
            102,
            0.16
        );

    border-bottom-color:
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.product-detail-price span {

    color:
        #8e8e8e;
}


.product-detail-price strong {

    color:
        var(--gold-soft);
}


.product-project-button {

    border-color:
        rgba(
            197,
            161,
            102,
            0.32
        );

    background:
        #101010;

    color:
        #f4f1eb;
}


.product-project-button:hover {

    border-color:
        var(--gold);

    background:
        rgba(
            197,
            161,
            102,
            0.10
        );

    color:
        var(--gold-soft);
}


.product-detail-note {

    color:
        #929292;
}


.product-info-section {

    background:
        #121212;
}


.product-description-text {

    color:
        #aaa7a1;
}


.product-features-list,
.product-feature-item {

    border-color:
        rgba(
            197,
            161,
            102,
            0.15
        );
}


.product-feature-item p {

    color:
        #b5b1aa;
}


.product-project-cta {

    background:
        #080808;

    border-top:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.product-project-cta-inner p {

    color:
        #999;
}


.product-related-section {

    background:
        #0b0b0b;
}


.product-related-heading > a {

    color:
        var(--gold-soft);
}


.product-related-heading > a:hover {

    color:
        var(--gold);
}


.related-product-media {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.12
        );

    background:
        #151515;
}


.related-product-placeholder {

    background:
        linear-gradient(
            135deg,
            #1b1b1b,
            #0f0f0f
        );
}


.related-product-media > span {

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.25
        );

    background:
        rgba(
            10,
            10,
            10,
            0.92
        );

    color:
        var(--gold);
}


.related-product-info small {

    color:
        #858585;
}


.related-product-info h3 {

    color:
        #f4f1eb;
}


.related-product-info p {

    color:
        var(--gold-soft);
}


.product-not-found {

    background:
        #0b0b0b;
}


.product-not-found p {

    color:
        #aaa7a1;
}


/* =========================================
   WHATSAPP
   Mantido verde para reconhecimento da marca
========================================= */

.product-whatsapp-button,
.builder-whatsapp-button,
.footer-whatsapp-button,
.floating-whatsapp {

    color:
        #ffffff;
}


/* =========================================
   INPUTS / ACESSIBILIDADE
========================================= */

input,
textarea,
select {

    color-scheme:
        dark;
}


/* =========================================
   RESPONSIVO - AJUSTES DARK
========================================= */

@media (
    max-width: 767px
) {

    .value-item {

        border-bottom-color:
            rgba(
                197,
                161,
                102,
                0.16
            );
    }


    .builder-home-card,
    .category-builder-inner,
    .builder-final-card {

        box-shadow:
            none;
    }

}

/* =========================================
   PUBLIC - MODELOS / LINHAS
========================================= */

.category-models-section {

    margin:
        0
        0
        78px;
}


.category-models-heading {

    margin-bottom:
        30px;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        25px;
}


.category-models-heading h2 {

    margin: 0;

    color:
        #f5f2ec;

    font-size:
        clamp(
            32px,
            4vw,
            46px
        );

    font-weight:
        300;

    line-height:
        1;

    letter-spacing:
        -0.045em;
}


.category-model-clear {

    padding-bottom:
        4px;

    color:
        var(--gold-soft);

    font-size:
        12px;

    transition:
        color
        160ms ease;
}


.category-model-clear:hover {

    color:
        var(--gold);
}


.category-models-grid {

    display:
        grid;

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

    gap:
        16px;
}


.category-model-card {

    min-width: 0;

    overflow:
        hidden;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.15
        );

    border-radius:
        16px;

    background:
        #121212;

    transition:
        transform
        180ms ease,
        border-color
        180ms ease,
        box-shadow
        180ms ease;
}


.category-model-card:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(
            197,
            161,
            102,
            0.48
        );

    box-shadow:
        0 18px 40px
        rgba(
            0,
            0,
            0,
            0.24
        );
}


.category-model-card.active {

    border-color:
        var(--gold);

    box-shadow:
        0 0 0 1px
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.category-model-media {

    aspect-ratio:
        1 / 0.72;

    overflow:
        hidden;

    background:
        #181818;
}


.category-model-media img {

    width:
        100%;

    height:
        100%;

    padding:
        14px;

    object-fit:
        contain;

    transition:
        transform
        420ms ease;
}


.category-model-card:hover
.category-model-media img {

    transform:
        scale(1.035);
}


.category-model-placeholder {

    width:
        100%;

    height:
        100%;

    background:
        radial-gradient(
            circle at 75% 25%,
            rgba(
                197,
                161,
                102,
                0.17
            ),
            transparent
            34%
        ),
        linear-gradient(
            135deg,
            #1c1c1c,
            #0f0f0f
        );
}


.category-model-info {

    padding:
        18px;
}


.category-model-info small {

    display:
        block;

    margin-bottom:
        5px;

    color:
        var(--gold);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


.category-model-info strong {

    display:
        block;

    color:
        #ffffff;

    font-size:
        18px;

    font-weight:
        500;

    line-height:
        1.3;
}


.category-model-info p {

    display:
        -webkit-box;

    margin:
        9px
        0
        13px;

    overflow:
        hidden;

    color:
        #92908b;

    font-size:
        12px;

    line-height:
        1.55;


    -webkit-box-orient:
        vertical;
}


.category-model-info > span {

    color:
        var(--gold-soft);

    font-size:
        11px;
}


/* =========================================
   PRODUCT - GALERIA POR VARIAÇÃO
========================================= */

.product-variant-stage {

    position:
        relative;
}


.product-variant-prev,
.product-variant-next {

    display:
        none;
}


.product-variant-thumbnails:empty {

    display:
        none;
}


/* =========================================
   PRODUCT - CORES
========================================= */

.product-color-selector {

    margin:
        0
        0
        30px;

    padding:
        22px
        0;

    border-top:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.product-color-heading {

    margin-bottom:
        15px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;
}


.product-color-heading > span {

    color:
        #888;

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.13em;
}


.product-color-heading strong {

    color:
        var(--gold-soft);

    font-size:
        12px;

    font-weight:
        500;
}


.product-color-swatches {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;
}


.product-color-swatch {

    position:
        relative;

    width:
        42px;

    height:
        42px;

    padding: 4px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.15
        );

    border-radius:
        50%;

    background:
        #111;

    transition:
        transform
        160ms ease,
        border-color
        160ms ease,
        box-shadow
        160ms ease;
}


.product-color-swatch:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(
            197,
            161,
            102,
            0.55
        );
}


.product-color-swatch.active {

    border-color:
        var(--gold);

    box-shadow:
        0 0 0 2px
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.product-color-swatch > span {

    display:
        block;

    width:
        100%;

    height:
        100%;

    border-radius:
        50%;

    background:
        var(--swatch-color);

    box-shadow:
        inset
        0
        0
        0
        1px
        rgba(
            255,
            255,
            255,
            0.16
        );
}


.product-color-swatch.active::after {

    content:
        "";

    position:
        absolute;

    right:
        -2px;

    bottom:
        -2px;

    width:
        13px;

    height:
        13px;

    border:
        2px solid
        #0b0b0b;

    border-radius:
        50%;

    background:
        var(--gold);
}


/* =========================================
   RESPONSIVO - MODELOS / CORES
========================================= */

@media (
    max-width: 1199px
) {

    .category-models-grid {

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

}


@media (
    max-width: 991px
) {

    .category-models-grid {

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

}


@media (
    max-width: 767px
) {

    .category-models-section {

        margin-bottom:
            58px;
    }


    .category-models-heading {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;
    }


    .category-models-grid {

        grid-template-columns:
            1fr;
    }


    .category-model-media {

        aspect-ratio:
            1 / 0.62;
    }


    .product-color-selector {

        margin-bottom:
            25px;

        padding:
            19px
            0;
    }


    .product-color-swatch {

        width:
            39px;

        height:
            39px;
    }

}

/* =========================================
   HOME - LINHAS DE CADEIRAS
   Cards pequenos, quadrados e lado a lado
========================================= */

.site-section-soft .subcategory-scroll {

    display: grid;

    grid-auto-flow:
        column;

    grid-auto-columns:
        230px;

    justify-content:
        start;

    gap:
        18px;

    overflow-x:
        auto;

    overflow-y:
        hidden;

    padding:
        2px
        2px
        14px;

    scroll-snap-type:
        x proximity;

    scrollbar-width:
        none;
}


.site-section-soft .subcategory-scroll::-webkit-scrollbar {

    display:
        none;
}


.site-section-soft .subcategory-card {

    width:
        230px;

    min-width:
        230px;

    display:
        block;

    scroll-snap-align:
        start;
}


.site-section-soft .subcategory-image {

    width:
        230px;

    height:
        230px;

    aspect-ratio:
        1 / 1;

    overflow:
        hidden;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );

    border-radius:
        14px;

    background:
        #151515;
}


.site-section-soft .subcategory-image img {

    width:
        100%;

    height:
        100%;

    padding:
        0;

    object-fit:
        contain;

    object-position:
        center;

    transition:
        transform
        420ms ease;
}


.site-section-soft .subcategory-card:hover
.subcategory-image img {

    transform:
        scale(1.035);
}


.site-section-soft .subcategory-name {

    margin-top:
        13px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    color:
        #f4f1eb;

    font-size:
        14px;
}


.site-section-soft .subcategory-name
span:first-child {

    min-width:
        0;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.site-section-soft .subcategory-name
span:last-child {

    flex:
        0 0 auto;

    color:
        var(--gold);
}


/* TABLET */

@media (
    max-width: 991px
) {

    .site-section-soft .subcategory-scroll {

        grid-auto-columns:
            210px;

        gap:
            15px;
    }


    .site-section-soft .subcategory-card,
    .site-section-soft .subcategory-image {

        width:
            210px;

        min-width:
            210px;
    }


    .site-section-soft .subcategory-image {

        height:
            210px;
    }

}


/* MOBILE */

@media (
    max-width: 767px
) {

    .site-section-soft .subcategory-scroll {

        grid-auto-columns:
            168px;

        gap:
            13px;

        margin-right:
            -12px;

        padding-right:
            12px;
    }


    .site-section-soft .subcategory-card,
    .site-section-soft .subcategory-image {

        width:
            168px;

        min-width:
            168px;
    }


    .site-section-soft .subcategory-image {

        height:
            168px;

        border-radius:
            12px;
    }


    .site-section-soft .subcategory-name {

        margin-top:
            10px;

        font-size:
            13px;
    }

}

/* =========================================
   V17 - FUNDOS BRANCOS PARA FOTOS
   Garante branco mesmo quando o arquivo
   possuir transparência.
========================================= */

.builder-product-image,
.product-main-image,
.product-thumbnail,
.category-product-media,
.related-product-media,
.category-model-media,
.site-section-soft .subcategory-image,
.product-card-image {

    background:
        #ffffff !important;
}


/* Linhas / modelos da Home */

.site-section-soft
.subcategory-image img {

    object-fit:
        contain;

    background:
        #ffffff;
}


/* Página de categoria */

.category-product-media img,
.related-product-media img,
.category-model-media img,
.product-card-image img {

    object-fit:
        contain;

    background:
        #ffffff;
}


/* Página de produto */

.product-main-image img,
.product-thumbnail img {

    object-fit:
        contain;

    background:
        #ffffff;
}



/* =========================================
   V17 - MONTE SEU ESCRITÓRIO
   Imagem inteira, menor e centralizada
========================================= */

.builder-product-image {

    position:
        relative;

    aspect-ratio:
        1 / 0.82;

    padding:
        26px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    overflow:
        hidden;

    background:
        #ffffff !important;
}


.builder-product-image img {

    width:
        100%;

    height:
        100%;

    max-width:
        100%;

    max-height:
        100%;

    object-fit:
        contain !important;

    object-position:
        center;

    background:
        #ffffff;
}


.builder-product-placeholder {

    width:
        100%;

    height:
        100%;

    border-radius:
        10px;

    background:
        linear-gradient(
            135deg,
            #f7f7f5,
            #eceae4
        );
}



/* =========================================
   V17 - CORES NO BUILDER
========================================= */

.builder-product-card {

    display:
        flex;

    flex-direction:
        column;
}


.builder-product-content {

    flex:
        1;

    display:
        flex;

    flex-direction:
        column;
}


.builder-product-colors {

    margin:
        -2px
        0
        20px;

    padding:
        16px
        0;

    border-top:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.14
        );
}


.builder-product-color-heading {

    margin-bottom:
        11px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;
}


.builder-product-color-heading > span {

    color:
        #858585;

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.13em;
}


.builder-product-color-heading strong {

    color:
        var(--gold-soft);

    font-size:
        11px;

    font-weight:
        500;
}


.builder-color-swatches {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        9px;
}


.builder-color-swatch {

    position:
        relative;

    width:
        36px;

    height:
        36px;

    padding:
        4px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.16
        );

    border-radius:
        50%;

    background:
        #0e0e0e;

    transition:
        transform
        160ms ease,
        border-color
        160ms ease,
        box-shadow
        160ms ease;
}


.builder-color-swatch:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(
            197,
            161,
            102,
            0.58
        );
}


.builder-color-swatch.active {

    border-color:
        var(--gold);

    box-shadow:
        0
        0
        0
        2px
        rgba(
            197,
            161,
            102,
            0.18
        );
}


.builder-color-swatch > span {

    display:
        block;

    width:
        100%;

    height:
        100%;

    border-radius:
        50%;

    background:
        var(
            --builder-swatch-color
        );

    box-shadow:
        inset
        0
        0
        0
        1px
        rgba(
            255,
            255,
            255,
            0.20
        );
}


.builder-color-swatch.active::after {

    content:
        "";

    position:
        absolute;

    right:
        -2px;

    bottom:
        -2px;

    width:
        11px;

    height:
        11px;

    border:
        2px solid
        #121212;

    border-radius:
        50%;

    background:
        var(--gold);
}


.builder-product-content
.builder-quantity {

    margin-top:
        auto;
}



/* =========================================
   V17 - RESUMO COM COR
========================================= */

.builder-summary-item > span {

    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;
}


.builder-summary-item > span b {

    color:
        #f4f1eb;

    font-weight:
        500;
}


.builder-summary-item > span small {

    color:
        var(--gold-soft);

    font-size:
        11px;
}



/* =========================================
   V17 - RESPONSIVO BUILDER
========================================= */

@media (
    max-width: 767px
) {

    .builder-product-image {

        aspect-ratio:
            1 / 0.88;

        padding:
            22px;
    }


    .builder-color-swatch {

        width:
            34px;

        height:
            34px;
    }

}

/* =========================================
   CORREÇÃO - HERO DE CATEGORIA / MODELO
========================================= */

.category-page-hero-image {

    background:
        #ffffff !important;

    padding:
        24px;

}


.category-page-hero-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        contain !important;

    object-position:
        center;

    background:
        #ffffff !important;

}

/* =========================================
   QUEM SOMOS - VÍDEO
========================================= */

#quem-somos .about-photo {

    width: 100%;

    height: 600px;

    min-height: 600px;

    overflow: hidden;

    border-radius: 20px;

    background: #111111;

}


#quem-somos .about-photo video {

    width: 100% !important;

    height: 100% !important;

    min-height: 0 !important;

    display: block;

    object-fit: cover !important;

    /*
     * Mantém o enquadramento puxado
     * para a parte inferior do vídeo.
     */
    object-position: center 25%;

}


/* TABLET */

@media (
    max-width: 991px
) {

    #quem-somos .about-photo {

        height: 520px;

        min-height: 520px;

    }

}


/* MOBILE */

@media (
    max-width: 767px
) {

    #quem-somos .about-photo {

        height: 410px;

        min-height: 410px;

        border-radius: 15px;

    }

}
/* =========================================
   MONTE SEU ESCRITÓRIO - LINHAS / MODELOS
   Cole este bloco NO FINAL do style.css atual
========================================= */

.builder-lines-view[hidden],
.builder-line-products-view[hidden],
.builder-product-card[hidden],
.builder-line-empty[hidden] {

    display:
        none !important;
}


.builder-lines-grid {

    display:
        grid;

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

    gap:
        18px;
}


.builder-line-card {

    width:
        100%;

    min-width:
        0;

    padding:
        0;

    overflow:
        hidden;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    border-radius:
        16px;

    background:
        #121212;

    color:
        #f4f1eb;

    text-align:
        left;

    cursor:
        pointer;

    transition:
        transform
        180ms ease,
        border-color
        180ms ease,
        box-shadow
        180ms ease;
}


.builder-line-card:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(
            197,
            161,
            102,
            0.55
        );

    box-shadow:
        0
        18px
        40px
        rgba(
            0,
            0,
            0,
            0.28
        );
}


.builder-line-image {

    width:
        100%;

    aspect-ratio:
        1 / 0.82;

    padding:
        22px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    overflow:
        hidden;

    background:
        #ffffff;
}


.builder-line-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        contain;

    object-position:
        center;

    transition:
        transform
        380ms ease;
}


.builder-line-card:hover
.builder-line-image img {

    transform:
        scale(1.035);
}


.builder-line-placeholder {

    width:
        100%;

    height:
        100%;

    border-radius:
        10px;

    background:
        linear-gradient(
            135deg,
            #f5f5f2,
            #e8e6df
        );
}


.builder-line-content {

    padding:
        20px;
}


.builder-line-content > small {

    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--gold);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.14em;
}


.builder-line-name-row {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;
}


.builder-line-name-row strong {

    min-width:
        0;

    color:
        #f5f2ec;

    font-size:
        20px;

    font-weight:
        500;

    line-height:
        1.25;
}


.builder-line-name-row span {

    flex:
        0 0
        auto;

    color:
        var(--gold);

    font-size:
        18px;
}


.builder-line-content p {

    margin:
        8px
        0
        0;

    color:
        #8f8c86;

    font-size:
        11px;
}


/* =========================================
   CABEÇALHO DOS PRODUTOS DA LINHA
========================================= */

.builder-line-products-toolbar {

    margin-bottom:
        32px;

    padding-bottom:
        22px;

    border-bottom:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        25px;
}


.builder-line-products-toolbar > div {

    text-align:
        right;
}


.builder-line-products-toolbar small {

    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--gold);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.14em;
}


.builder-line-products-toolbar strong {

    display:
        block;

    color:
        #f5f2ec;

    font-size:
        24px;

    font-weight:
        400;
}


.builder-line-back {

    min-height:
        44px;

    padding:
        0
        18px;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.32
        );

    border-radius:
        999px;

    background:
        #101010;

    color:
        var(--gold-soft);

    font-size:
        11px;

    transition:
        180ms ease;
}


.builder-line-back:hover {

    border-color:
        var(--gold);

    background:
        rgba(
            197,
            161,
            102,
            0.10
        );

    color:
        var(--gold);
}


/* =========================================
   LINHA SEM PRODUTOS
========================================= */

.builder-line-empty {

    padding:
        65px
        25px;

    border:
        1px dashed
        rgba(
            197,
            161,
            102,
            0.24
        );

    border-radius:
        16px;

    background:
        #121212;

    text-align:
        center;
}


.builder-line-empty > span {

    color:
        var(--gold);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.14em;
}


.builder-line-empty h3 {

    max-width:
        520px;

    margin:
        12px
        auto
        8px;

    color:
        #f5f2ec;

    font-size:
        28px;

    font-weight:
        400;
}


.builder-line-empty p {

    margin:
        0;

    color:
        #98958f;
}


/* =========================================
   RESPONSIVO
========================================= */

@media (
    max-width: 1199px
) {

    .builder-lines-grid {

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

}


@media (
    max-width: 991px
) {

    .builder-lines-grid {

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

}


@media (
    max-width: 767px
) {

    .builder-lines-grid {

        grid-template-columns:
            1fr;
    }


    .builder-line-image {

        aspect-ratio:
            1 / 0.72;

        padding:
            20px;
    }


    .builder-line-products-toolbar {

        align-items:
            flex-start;

        flex-direction:
            column-reverse;

        gap:
            15px;
    }


    .builder-line-products-toolbar > div {

        text-align:
            left;
    }


    .builder-line-back {

        width:
            100%;
    }

}
/* =========================================
   V5 - PREVIEW FINAL DO MONTE SEU ESCRITÓRIO
   Cole este bloco NO FINAL do style.css
========================================= */

.builder-summary-products {

    display:
        grid;

    gap:
        14px;
}


.builder-summary-product {

    overflow:
        hidden;

    border:
        1px solid
        rgba(
            197,
            161,
            102,
            0.16
        );

    border-radius:
        16px;

    background:
        #121212;

    display:
        grid;

    grid-template-columns:
        150px
        minmax(
            0,
            1fr
        );
}


.builder-summary-product-image {

    min-height:
        145px;

    padding:
        14px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        #ffffff;
}


.builder-summary-product-image img {

    width:
        100%;

    height:
        100%;

    max-height:
        135px;

    object-fit:
        contain;

    object-position:
        center;
}


.builder-summary-product-info {

    min-width:
        0;

    padding:
        20px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;
}


.builder-summary-product-info > small {

    margin-bottom:
        5px;

    color:
        var(--gold);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;
}


.builder-summary-product-info > strong {

    color:
        #f5f2ec;

    font-size:
        18px;

    font-weight:
        500;

    line-height:
        1.3;
}


.builder-summary-product-meta {

    margin-top:
        13px;

    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        center;

    gap:
        9px
        16px;

    color:
        #aaa7a1;

    font-size:
        11px;
}


.builder-summary-color {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;
}


.builder-summary-color i {

    width:
        15px;

    height:
        15px;

    flex:
        0 0
        15px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.28
        );

    border-radius:
        50%;

    box-shadow:
        0
        0
        0
        2px
        rgba(
            197,
            161,
            102,
            0.16
        );
}


.builder-summary-quantity {

    color:
        var(--gold-soft);

    font-weight:
        600;
}


@media (
    max-width: 767px
) {

    .builder-summary-product {

        grid-template-columns:
            105px
            minmax(
                0,
                1fr
            );
    }


    .builder-summary-product-image {

        min-height:
            120px;

        padding:
            10px;
    }


    .builder-summary-product-image img {

        max-height:
            110px;
    }


    .builder-summary-product-info {

        padding:
            15px;
    }


    .builder-summary-product-info > strong {

        font-size:
            15px;
    }

}
