/* 
    Document   : txt
    Created on : 16/Janeiro/2026, 17:20:00
    Author     : garedesign
    Description:
        Purpose of the stylesheet follows.
*/

/* =========================
   🔧 RESET GLOBAL MODERNO
========================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
strong {
    font-weight: bold;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}
*, *:before, *:after {
    box-sizing: inherit;
}


/* =========================
   🌸 VARIÁVEIS GLOBAIS
========================= */
:root {
    --font-body: "Inter", sans-serif;
    /*--font-title: "Playfair Display", serif;*/

    /*TAMANHOS*/
    --container-max: 1360px;
    --container-max2: 1800px;
    --gutter: 1rem;

    --text-xxs: clamp(12px, 0.8rem, 13px);
    --text-xs: clamp(13px, 0.85rem, 14px);
    --text-sm: clamp(14px, 1rem + 0.1vw, 16px);
    --text-base: clamp(16px, 1.1rem + 0.2vw, 17.6px);
    --line-base: 1.6;

    /* Hero / destaques */
    --tit1: clamp(38px, 3rem + 2.6vw, 72px);   /* ~4.5rem */
    --tit2: clamp(34px, 2.6rem + 2.2vw, 62px); /* ~3.9rem */

    /* Headings principais */
    --h1: clamp(30px, 2.2rem + 1.6vw, 56px);   /* ~3.3rem */
    --h2: clamp(26px, 1.8rem + 1.3vw, 46px);   /* ~2.6rem */
    --h3: clamp(22px, 1.4rem + 1vw, 36px);    /* ~2.1rem */
    --h4: clamp(19px, 1.2rem + 0.7vw, 30px);  /* ~1.75rem */
    --h5: clamp(18px, 1.1rem + 0.5vw, 24px); /* ~1.5rem */
    --h6: clamp(16px, 1rem + 0.3vw, 20px); /* ~1.25rem */

    /*ESPAÇOS*/
    --space-xs: 0.5rem;  /* 8px */
    --space-sm: 1rem;    /* 16px */
    --space-md: 1.5rem;  /* 24px */
    --space-lg: 2.5rem;  /* 40px */
    --space-xl: 4rem;    /* 64px */
    --space-2xl: 5rem;   /* 80px */
    --space-3xl: 7.5rem; /* 120px */

    /*CORES*/
    --color-text: #25140c;
    --color-bg: #f7f5f1;
    --color-bg2: #000;
    --color-gold: #E1B768; /* Dourado*/
    --color-gold2: #b89b72;

}


/* =========================
   🧱 BASE
========================= */
html, body {
    font-size: var(--text-base);
    line-height: var(--line-base);
    color: var(--color-text);
    font-family: var(--font-body);
    background-color: var(--color-bg);
}

h1 { font-size: var(--h1); }
h2 { font-size: var(--h2); }
h3 { font-size: var(--h3); }
h4 { font-size: var(--h4); }
h5 { font-size: var(--h5); }
h6 { font-size: var(--h6); }

/* =========================
   ✍️ HEADINGS
========================= */
h1, h2, h3, h4, h5, h6 {margin-bottom: var(--space-sm); margin-top: var(--space-xs);}

/*h1 { margin-top: var(--space-xl); }
h2 { margin-top: var(--space-lg); }
h3 { margin-top: var(--space-md); }
h4 { margin-top: var(--space-sm); }
h5 { margin-top: var(--space-sm); }
h6 { margin-top: var(--space-xs); }*/

h1 + p,
h2 + p,
h3 + p {
    margin-top: var(--space-sm);
}

p {
    margin-bottom: var(--space-sm);
    line-height: 1.6;
}

/* =========================
   CORES E-COMMERCE
========================= */
.vm-product-title a,
.vm-page-title,
.product-short-description,
.vm-subcategory-title,
.vm-product-s-desc,
.product-related-categories a/*,
.product_s_desc,  
.PricebasePriceWithTax, 
.price-crossed span:last-child*/{
    color: var(--color-text) !important;
}


/* =========================
   Links
========================= */
a{
    color: var(--color-text);
    font-weight: 400;
    text-decoration: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
a:hover, a:active {
    color: var(--color-text);
    text-decoration: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


/* Estrutura INICIO */

/* Define grid areas */
.hg-header {
    grid-area: header;
}
.hg-pesq {
    grid-area: pesq;
}
.hg-main {
    grid-area: main;
}
.hg-left {
    grid-area: esq;
}
.hg-right {
    grid-area: dir;
}
.hg-footer {
    grid-area: footer;
}

.hg {
    display: grid;
    grid-template-areas:
        "header header header"
        "pesq pesq pesq"
        "esq main dir"
        "footer footer footer";

    grid-template-columns: auto 1fr auto;

    grid-template-rows:
        auto
        auto
        1fr
        auto;

    min-height: 100vh;
}

.headermaster, .hg-main{
    padding: 0 2%;
}
.hg-header{
}
.hg-pesq{
}
.hg-main{
}
.hg-left{
}
.hg-right{
}
.hg-footer{
}

/* Estrutura FIM */

.hg-main{
    position: relative;
}
.txt-master{
    width: 100%;
    max-width: var(--container-max);
    margin: 90px auto 0 auto;
    padding: 20px 1%;
}

.meio-master{
    clear: both;
}

.header2{
    max-width: var(--container-max);
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 10px 1% 10px 1%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logosite {
    display: block;
    width: 200px;
    height: 60px;
    background: url(../images/logo-b.svg) no-repeat center center;
    background-size: 180px auto;
    transition: all 0.3s;
    z-index: 2;
    position: relative;
    margin-right: 16px;
}
/* Só aplica hover em dispositivos com rato */
@media (hover: hover) and (pointer: fine) {
    .logosite:hover {
        background-size: 160px auto;
    }
}

/*### Topo Opacidade ###*/
/*.banner{
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translatez(0);
    transform: translatez(0);
}
.full-opacity{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(17, 0, 8);
    opacity: 0;
}*/

.gradient-footer{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(17,0,8,0) 30%, #110008 100%);
    z-index: 1;
}

.videotopmaster, .paginimaster{
    position: relative;
}
.videotop{
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    object-fit: cover;
}
.videotop video{
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}


/*### Slideshow CK Pag. Inicial ###*/
.slidepagini{
    height: 100vh !important;
}
.slidepagini img{
    width: auto;
    height: 100vh !important;
    object-fit: cover;
    margin: auto !important;
}
/*.cameraSlide::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg,rgba(37,20,12,0) 83%,#25140c 111.44%);
    z-index: 1;
}*/
.cameraSlide::after{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.2);
}
/*.slidepagini .camera_target{opacity: 0.8;}*/

.slidepagini .camera_caption{
    position: absolute;
    bottom: 15vh;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--container-max2);
}
.slidepagini .camera_caption > div{
    background-color: rgba(0, 0, 0, 0);
}
.slidepagini .camera_caption > div div.camera_caption_title{
    color: #ffffff;
    text-align: left;
    font-size: var(--tit1);
    text-shadow: 0 0 40px rgba(0, 0, 0, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin-bottom: 10px;
    letter-spacing: -2px;
    font-weight: normal;
}
.slidepagini .camera_caption > div div.camera_caption_title a{
    font-size: var(--text-base);
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 16px 34px;
    border-radius: 80px;
    margin-left: 2%;
    vertical-align: middle;
    letter-spacing:initial;
    border: 1px solid rgba(255, 255, 255, 0.5);
    
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
}
.camera_wrap a.camera-button{
    font-size: var(--text-base);
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    padding: 10px 40px;
    border-radius: 80px;
    margin-top: 20px;
    vertical-align: middle;
    letter-spacing:initial;
    line-height: 1;
}
.slidepagini .camera_caption > div div.camera_caption_title a:hover, .camera_wrap a.camera-button:hover{
    background-color: var(--color-bg2);
    color: #fff;
}
.slidepagini .camera_caption > div div.camera_caption_desc{
    text-align: left;
    font-size: var(--h5);
    font-weight: 300;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1);
    /*color: #e3dbcf;*/
    position: relative;
    max-width: 600px;
}

/*.slidepagini .camera_caption > div div.camera_caption_desc:before, 
.slidepagini .camera_caption > div div.camera_caption_desc:after, 
.topotextodesc:before, .topotextodesc:after{
    content: "";
    position: absolute;
    width: 50px;
    height: 5px;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    top:8px;
}
.slidepagini .camera_caption > div div.camera_caption_desc:before, .topotextodesc:before{margin-left: -60px;}
.slidepagini .camera_caption > div div.camera_caption_desc:after, .topotextodesc:after{margin-left: 10px;}*/

.slidepagini .camera_caption > div div.camera_caption_desc a{
    color:#e86f75;
}


/*### Slideshow CK OUTROS ###*/
.slidepagini-outros .camera_target{
    opacity: 0.8;
}

.slidepagini-outros .camera_caption{
    position: absolute;
    bottom: 60px;
}
.slidepagini-outros .camera_caption > div{
    background-color: rgba(0, 0, 0, 0);
}
.slidepagini-outros .camera_caption > div div.camera_caption_title{
    color: #ffffff;
    text-align: center;
    font-size: 2.5rem;
    text-transform: uppercase;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding-bottom: 5px;
    /*font-family: 'Playfair Display', serif;*/
    letter-spacing: 3px;
    font-weight: normal;
}
.slidepagini-outros .camera_caption > div div.camera_caption_desc{
    text-align: center;
    font-size: 1.1rem;
    text-transform: lowercase;
    font-weight: 300;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1);
    position: relative;
}
.slidepagini-outros .camera_caption > div div.camera_caption_desc:before,
.slidepagini-outros .camera_caption > div div.camera_caption_desc:after{
    content: "";
    position: absolute;
    width: 50px;
    height: 5px;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    top:8px;
}
.slidepagini-outros .camera_caption > div div.camera_caption_desc:before{
    margin-left: -60px;
}
.slidepagini-outros .camera_caption > div div.camera_caption_desc:after{
    margin-left: 10px;
}

.slidepagini-outros .camera_caption > div div.camera_caption_desc a{
    color:#e86f75;
}



.headermaster{
/*    background: rgba(0, 0, 0, 0.3); 
    backdrop-filter: blur(10px);*/
    background: linear-gradient(0deg,rgba(37,20,12,0) 10%,#25140c 150%);
}

/* Header - estado base */
#headermaster {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index:1;

    transition:
        transform 0.4s cubic-bezier(.4,0,.2,1),
        background 0.4s ease,
        backdrop-filter 0.4s ease,
        box-shadow 0.4s ease,
        padding 0.4s ease;
}

/* Header - escondido */
#headermaster.hide {
    transform: translateY(-100%);
}

/* Header - quando faz scroll */
#headermaster.scrolled {
    background: rgba(0,0,0,0.9);
}

/****** MENU ******/
.menu a{
    padding: 0 5px;
}
.menu a, .dj-mobile-light a{
    font-size: var(--text-base) !important;
    /*font-size: var(--h6) !important;*/
    color: white !important;
    /*color: rgba(226, 227, 228, 1) !important;*/
    font-weight: 300;
}

.menu li ul> li > a{
    color: #000 !important;
}

.menu a.active, .dj-mobileitem.active > a, .menu a:hover{
    color: var(--color-gold) !important;
}

.menu .dj-mobile-open-btn, 
.menu .dj-mobile-open-btn.active{
    background:none !important;
}
.menu .dj-mobile-open-btn span{
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    transform: scaleY(0.7);
    transition: color 0.3s ease;
    color: rgba(226, 227, 228, 1);
    /*color: rgba(198, 199, 201, 1);*/
    /*color: rgba(247, 245, 241, 1);*/
}
.menu .dj-mobile-open-btn span:hover{
    color: rgba(198, 199, 201, 1);
    background: none;
}

.dj-megamenu-modern li ul.dj-submenu > li > a:hover, .dj-megamenu-modern li ul.dj-submenu > li > a.active{
    background: none;
    border-radius: 1rem;
}
.dj-megamenu-modern li div.dj-subwrap .dj-subwrap-in{
    border-radius: 1rem;
}

.dj-megamenu-modern li a.dj-up_a{
    padding-left: 10px;
    padding-right: 20px;
}
.dj-megamenu-modern li a.dj-up_a > span.dj-drop{
    padding-right: 15px;
}


.dj-megamenu-modern li a.dj-up_a.destaque > span span.name{
    font-size: var(--text-xs);
    padding: .35em .65em;
    text-transform: uppercase;
    font-weight: 700;
    border-radius: .25em;
    background-color: rgba(255, 250, 201, 1);
    color: rgba(3, 3, 3, 1);
}

.dj-megamenu-modern li a.dj-up_a span.dj-badge, 
.dj-megamenu-modern li ul > li > a span.dj-badge, 
ul.dj-mobile-light li.dj-mobileitem > a span.dj-badge{
    font-size: var(--text-xxs);
    vertical-align: top;
    font-weight: normal;
    text-transform: none;
    margin-left: 5px !important;
}
/* reset nos badges */
.menu a .dj-badge {
    color: initial;
}

ul.dj-mobile-light ul li.dj-mobileitem > a{
    background: initial;
    border-top-color: #e4e4e4;
}

/*### FOOTER ###*/
.footer-master {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    padding: 40px 36px;
    background-color: var(--color-bg2);
    color: #fff;
    gap: 50px;
    margin-top: var(--space-3xl);
}
.footer-esq {
    flex: 3;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.footer-dir {
    flex: 1;
    display: flex;
    flex-direction: row-reverse;
    /*justify-content: flex-end;*/
    align-items: flex-end;
    gap: 20px;
}

.footer-esq1 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex: 1;
}
.footer-esq1 div:first-of-type {
    background-image: url("../images/logo-b.svg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 160px auto;
}
.footer-esq1 div:last-of-type{
    font-size: var(--tit1);
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.05em;
    color: #fff;
    flex: 1;
}

/*### FUNDO FAB ###*/
.footer-fab{
    display: flex;
}
.footer-fab-icon{
    display: flex;
}

/*### Blog Items ###*/
.item-content, .ini-secao{
    position: relative;
}
.item-content .item-title{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
    line-height: initial;
}
.item-content h1, .item-content h2, .item-content h3, .page-header{
    margin-bottom: 20px;
}



/* ==================================================
   COMPONENTES GLOBAIS REUTILIZÁVEIS
================================================== */

/* Cabeçalho de secção */
.section-header {
    max-width: 760px;
    margin: 0 auto 70px;
    text-align: center;
}

.section-subtitle {
    display: inline-block;
    margin-bottom: 15px;
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-gold2);
}

.section-header h2 {
    margin: 0 0 20px;
    font-size: var(--h2);
    font-weight: 500;
    line-height: 1.15;
    color: #1b1b1b;
}

.section-header p {
    margin: 0;
    font-size: var(--h6);
    line-height: 1.8;
    color: #666;
}

/* Texto introdutório reutilizável */
.lead {
    margin: 0 0 25px;
    font-size: 1.25rem;
    line-height: 1.8;
    color: #444;
}

/* Botão principal reutilizável */
.btn-primary {
    display: inline-block;
    padding: 16px 34px;
    background: #1b1b1b;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 999px;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: var(--color-gold2);
    color: #ffffff;
    transform: translateY(-2px);
}


/* ==========================
   SECÇÃO 2 - DESTAQUES
========================== */

.highlights .container {
    margin: 0 auto;
}

.highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.highlight-card {
    padding: 50px 35px;
    background: #ffffff;
    border-radius: 24px;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.highlight-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.10);
}

.highlight-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    margin: 0 auto 25px;
    font-size: 34px;
    background: linear-gradient(135deg, #f2ebe2, #e4d5c2);
    border-radius: 50%;
}

.highlight-card h3 {
    margin: 0 0 15px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #1b1b1b;
}

.highlight-card p {
    margin: 0;
    line-height: 1.8;
    color: #666;
}


/* ==========================
   SECÇÃO 4 — PEÇA ÚNICA
========================== */

.unique-piece {
    padding: 120px 0;
    background: #ffffff;
}

.unique-piece .container {
    margin: 0 auto;
}

.unique-piece-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

/* Imagem */
.unique-piece-image {
    position: relative;
}

.unique-piece-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.10);
}

/* Conteúdo */
.unique-piece-content {
    max-width: 560px;
}

.unique-piece-content h2 {
    margin: 0 0 25px;
    font-size: var(--h2);
    font-weight: 500;
    line-height: 1.15;
    color: #1b1b1b;
}

.unique-piece-content .lead {
    margin: 0 0 25px;
    font-size: 1.25rem;
    line-height: 1.8;
    color: #444;
}

.unique-piece-content p {
    margin: 0 0 20px;
    font-size: var(--text-sm);
    line-height: 1.9;
    color: #666;
}

/* Lista */
.unique-features {
    margin: 35px 0 40px;
    padding: 0;
    list-style: none;
}

.unique-features li {
    position: relative;
    margin-bottom: 14px;
    padding-left: 30px;
    font-size:var(--text-sm);
    color: #1b1b1b;
}

.unique-features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: var(--color-gold2);
}


/* ==========================
   SECÇÃO 5 — AMBIENTES INSPIRADORES
========================== */

.inspiring-spaces {
    padding: 120px 0;
}

.inspiring-spaces .container {
    margin: 0 auto;
}

/* Grid */
.spaces-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

/* Card */
.space-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 28px;
    aspect-ratio: 4 / 5;
    text-decoration: none;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}

.space-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.space-card:hover img {
    transform: scale(1.08);
}

/* Overlay */
.space-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 30px;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.65) 0%,
        rgba(0, 0, 0, 0.15) 15%,
        rgba(0, 0, 0, 0) 20%
    );
}

.space-title {
    color: #ffffff;
    font-weight: 600;
    line-height: 1.2;
}


/* ==========================
   SECÇÃO 7 - PERSONALIZAÇÃO
========================== */

.custom-design {
    padding: 120px 20px;
    background: #ffffff;
}

.custom-design .container {
    margin: 0 auto;
}

.custom-design-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 80px;
    align-items: center;
}

/* Conteúdo */
.custom-design-content {
    max-width: 580px;
}

.custom-design-content h2 {
    margin: 0 0 25px;
    font-size: var(--h2);
    font-weight: 500;
    line-height: 1.15;
    color: #1b1b1b;
}

.custom-design-content .lead {
    margin: 0 0 25px;
    line-height: 1.8;
    color: #444;
}

.custom-design-content p {
    margin: 0 0 20px;
    line-height: 1.9;
    color: #666;
}

/* Lista de características */
.custom-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 25px;
    margin: 40px 0;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    background: #f8f6f2;
    border-radius: 16px;
    font-size: var(--text-xs);
    font-weight: 500;
    color: #1b1b1b;
}

.feature-icon {
    font-size: 20px;
    line-height: 1;
}

/* Imagem */
.custom-design-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.10);
}


/* ==========================
   PÁGINA SOBRE NÓS
========================== */

.about-page {
    background: #ffffff;
    color: #1b1b1b;
}

/* Container */
.about-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Subtitle reutilizável */

/* HERO */
.about-hero {
    margin-top: -30px;
    padding: 120px 0;
    background: linear-gradient(
        135deg,
        #f8f6f2 0%,
        #ffffff 100%
    );
    text-align: center;
}

.about-hero h1 {
    margin: 0 0 25px;
    font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 500;
    line-height: 1.1;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.about-hero p {
    margin: 0 auto;
    max-width: 760px;
    font-size: 1.25rem;
    line-height: 1.9;
    color: #666;
}

/* INTRO */
.about-intro {
    padding: 120px 0;
}

.about-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 80px;
    align-items: center;
}

.about-content h2 {
    margin: 0 0 25px;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 500;
    line-height: 1.15;
}

.about-content p {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.9;
    color: #666;
}

.about-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.10);
}


/* VALORES */
.about-values {
    padding: 120px 0;
    background: #f8f6f2;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.value-card {
    padding: 45px 30px;
    background: #ffffff;
    border-radius: 24px;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
    transition: all 0.4s ease;
}

.value-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.10);
}

.value-icon {
    font-size: 34px;
    margin-bottom: 20px;
}

.value-card h3 {
    margin: 0 0 15px;
    font-size: 1.4rem;
    font-weight: 600;
}

.value-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #666;
}

/* CTA */
.about-cta {
    padding: 120px 0;
    background: #1b1b1b;
    text-align: center;
    color: #ffffff;
}

.about-cta h2 {
    margin: 0 0 20px;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 500;
    line-height: 1.15;
}

.about-cta p {
    margin: 0 auto 35px;
    max-width: 700px;
    font-size: 1.15rem;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.8);
}

.about-cta .btn-primary{
    background: var(--color-gold2);
}
.about-cta .btn-primary:hover{
    background: #ffffff;
    color: #1b1b1b;
}

/* Responsive */
@media (max-width: 991px) {
    .about-hero {
        padding: 110px 0 80px;
    }

    .about-intro,
    .about-values,
    .about-cta {
        padding: 90px 0;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

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

@media (max-width: 576px) {
    .about-hero {
        padding: 70px 0;
    }

    .about-intro,
    .about-values,
    .about-cta {
        padding: 70px 0;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .about-image img {
        border-radius: 20px;
    }
}


/* ==========================
   LADO DIREITO CONTACTOS
========================== */

.contact-info {
    max-width: 480px;
    margin: 110px 20px; 
    padding: 20px;
    background-color: #fff;
    border-radius: 30px;
}

/* Parágrafos */
.contact-info p {
    margin: 0 0 20px;
    /*font-size: var(--text-sm);*/
}

/* Lista */
.contact-list {
    margin: 45px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

/* Item */
.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 24px 26px;
    background: #f8f6f2;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.contact-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

/* Ícone */
.contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    font-size: 22px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

/* Texto */
.contact-text {
    flex: 1;
}

.contact-text .label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--color-gold2);
}

.contact-text a {
    color: #1b1b1b;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
}

.contact-text a:hover {
    color: var(--color-gold2);
}

.contact-text p {
    margin: 0;
    color: #555;
    line-height: 1.8;
}

/* Caixa de confiança */
.contact-note {
    padding: 28px 30px;
    background: #1b1b1b;
    color: #ffffff;
    border-radius: 24px;
}

.contact-note strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.1rem;
    font-weight: 600;
}

.contact-note p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.8;
}

/* Responsive */
@media (max-width: 980px) {
    .contact-info {
        max-width: 100%;
        margin: 0 20px;
        padding: 20px;
    }

    .contact-item {
        padding: 20px;
        gap: 15px;
    }

    .contact-icon {
        width: 46px;
        height: 46px;
        font-size: 20px;
    }

    .contact-note {
        padding: 24px;
    }
}




/* ==========================
   CTA FINAL / DESTAQUE INFERIOR
========================== */

.bottom-cta2 {
    margin-top: var(--space-3xl);
}

.bottom-cta {
    padding: 0 2%;
}

.bottom-cta .container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Caixa principal */
.bottom-cta-box {
    position: relative;
    padding: 90px 60px;
    text-align: center;
    /*border-radius: 36px;*/
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            rgba(17, 17, 17, 0.76),
            rgba(35, 35, 35, 0.76)
        ),
        url('../images/cta-background.jpg') center/cover no-repeat;
    box-shadow: 0 35px 90px rgba(0, 0, 0, 0.18);
}

/* Subtitle */
/*.section-subtitle {
    display: inline-block;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-gold2);
}*/

/* Título */
.bottom-cta-box h2 {
    margin: 0 auto 25px;
    max-width: 900px;
    color: #ffffff;
}

/* Texto */
.bottom-cta-box p {
    margin: 0 auto 40px;
    max-width: 700px;
    font-size: var(--h6);
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.82);
}

/* Botões */
.bottom-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* Botão principal */
.bottom-cta .btn-primary {
    display: inline-block;
    padding: 16px 34px;
    background: var(--color-gold2);
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 999px;
    transition: all 0.3s ease;
}

.bottom-cta .btn-primary:hover {
    background: #ffffff;
    color: #1b1b1b;
    transform: translateY(-2px);
}

/* Botão secundário */
.btn-secondary {
    display: inline-block;
    padding: 16px 34px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background: #ffffff;
    color: #1b1b1b;
    border-color: #ffffff;
    transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 991px) {
    .bottom-cta2 {
        margin-top: var(--space-xl);
    }
    
    .bottom-cta {
        padding-top: 50px;
    }

    .bottom-cta-box {
        padding: 70px 40px;
    }
}

@media (max-width: 576px) {
    .bottom-cta2 {
        margin-top: var(--space-lg);
    }
    
    .bottom-cta {
        /*padding: 70px 20px 0 20px;*/
    }

    .bottom-cta-box {
        padding: 55px 25px;
        border-radius: 22px;
    }

    .bottom-cta-buttons {
        flex-direction: column;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        text-align: center;
    }
}





/* ==================================================
   RESPONSIVE GLOBAL
================================================== */

@media (max-width: 769px) {

    /* Cabeçalhos */
    .section-header {
        margin-bottom: 50px;
    }

    /* Secção 2 */
    .highlights-grid {
        grid-template-columns: 1fr;
        gap: 25px;
        max-width: 600px;
        margin: 0 auto;
    }

    .highlight-card {
        padding: 40px 30px;
    }

    /* Secção 4 */
    .unique-piece {
        padding: 90px 0;
    }

    .unique-piece-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .unique-piece-content {
        max-width: 100%;
    }

    /* Secção 5 */
    .inspiring-spaces {
        padding: 90px 0;
    }

    .spaces-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* Secção 7 */
    .custom-design {
        padding: 90px 20px;
    }

    .custom-design-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .custom-design-content {
        max-width: 100%;
    }

    .custom-features {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {

    /* Secção 4 */
    .unique-piece {
        padding: 70px 0;
    }

    .unique-piece-image img {
        border-radius: 20px;
    }

    /* Secção 5 */
    .inspiring-spaces {
        padding: 70px 0;
    }

    .spaces-grid {
        grid-template-columns: 1fr;
    }

    .space-card {
        border-radius: 22px;
    }

    .space-overlay {
        padding: 24px;
    }

    /* Secção 7 */
    .custom-design {
        padding: 70px 20px;
    }

    .custom-design-image img {
        border-radius: 20px;
    }

    /* Botões */
    .btn-primary {
        display: block;
        width: 100%;
        text-align: center;
    }
}




/*### GTranslate ###*/
.gtranslate_wrapper .gt_switcher{
    
}

