/* ==========================================================================
   DEVIDA MÓVEIS - UNIVERSAL MASTER STYLE 17.0 (ULTRA-RESPONSIVE BOUTIQUE)
   ========================================================================== */

:root {
    --primary: #1b2e26;    /* Verde Alma */
    --accent: #c5a059;     /* Ouro Champagne */
    --conversion: #1e8449; /* Verde Sucesso */
    --white: #ffffff;
    --bg-lux: #f9f7f2;     /* Fundo Pergaminho */
    --radius: 12px;        /* Arredondamento Assinado */
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 1. RESET E BASE (DIRETRIZ MONTSERRAT) */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body, p, h1, h2, h3, h4, span, div, a, input, select, textarea, button {
    font-family: 'Montserrat', sans-serif !important;
}

body { background: var(--white); color: #333; line-height: 1.6; padding-top: 90px; overflow-x: hidden; }
.container { width: 90%; max-width: 1400px; margin: 0 auto; }

/* FIX DE ÍCONES FONTAWESOME 6 */
.fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands, i {
    font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important;
    display: inline-block !important; text-decoration: none !important;
}
.fa-brands { font-family: "Font Awesome 6 Brands" !important; }

/* 2. HEADER FIXO E SMART MENU */
header {
    background: rgba(27, 46, 38, 0.98); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    padding: 15px 0; width: 100%; position: fixed; top: 0; left: 0; z-index: 9999;
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}

header .container { display: flex; justify-content: space-between; align-items: center; }
.logo img { max-width: 140px; transition: var(--transition); }

.nav-menu ul { display: flex; align-items: center; list-style: none; gap: 20px; }
.nav-menu a { color: var(--white) !important; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.nav-menu a:hover { color: var(--accent) !important; }

/* Bonequinho e Botão */
.user-area-icon { margin-left: 15px; border-left: 1px solid rgba(255,255,255,0.15); padding-left: 15px; display: flex; align-items: center; gap: 8px; }
.user-area-icon i { font-size: 1.3rem; color: var(--accent); }
.user-area-icon span { font-size: 10px; color: #fff; font-weight: 700; letter-spacing: 1px; }

.btn-orcamento-gold { background: var(--accent) !important; color: var(--white) !important; padding: 10px 20px; border-radius: 4px; font-weight: 800; font-size: 10px !important; }

/* MENU MOBILE (3 RISCOS QUE VIRAM X) */
.menu-mobile-btn { width: 30px; height: 20px; cursor: pointer; display: none; flex-direction: column; justify-content: space-between; z-index: 10002; position: relative; }
.menu-mobile-btn .bar { width: 100%; height: 3px; background-color: #fff; border-radius: 10px; transition: var(--transition); }
.menu-mobile-btn.active .bar:nth-child(1) { transform: rotate(-45deg) translate(-5px, 6px); }
.menu-mobile-btn.active .bar:nth-child(2) { opacity: 0; }
.menu-mobile-btn.active .bar:nth-child(3) { transform: rotate(45deg) translate(-5px, -7px); }

/* 3. COMPONENTES DINÂMICOS (SLIDER & GRIDS) */
.ml-slider-wrapper { background-color: #ebebeb; padding: 40px 0 60px; overflow: hidden; }
.ml-slider-track { display: flex; transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1); gap: 20px; padding: 0 5%; }
.ml-slide { min-width: 85%; height: 480px; border-radius: var(--radius); overflow: hidden; box-shadow: 0 15px 35px rgba(0,0,0,0.1); }
.ml-slide-content { width: 100%; height: 100%; background-size: cover; background-position: center; display: flex; align-items: center; position: relative; }
.ml-text-area { position: relative; z-index: 10; padding-left: 60px; color: #fff; max-width: 600px; }
.ml-title { font-size: 3.2rem; font-weight: 300; line-height: 1.1; margin: 20px 0; }
.ml-title strong { color: var(--accent); font-weight: 800; font-style: italic; display: block; }

/* Dual Concept (Lado a Lado) */
.dual-concept { padding: 100px 0; background: #fff; }
.dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.concept-box { position: relative; height: 500px; overflow: hidden; border-radius: var(--radius); }
.concept-img-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); }
.concept-content { position: absolute; bottom: 0; left: 0; width: 100%; padding: 40px; background: linear-gradient(to top, rgba(27, 46, 38, 0.95) 0%, transparent 100%); color: #fff; }

/* Pilares 01-02-03 (Sincronizados) */
.brand-pillars { padding: 100px 0; background: #fff; }
.pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; }
.pillar-item { position: relative; padding-top: 30px; }
.pillar-number { position: absolute; top: -10px; left: -10px; font-size: 4.5rem; font-weight: 900; color: rgba(197, 160, 89, 0.08); line-height: 1; }

/* 4. RESPONSIVIDADE CONSOLIDADA (A MÁGICA MOBILE) */
@media screen and (max-width: 1024px) {
    .ml-slide { min-width: 90%; }
    .pillars-grid { gap: 30px; }
    .ml-title { font-size: 2.5rem; }
}

@media screen and (max-width: 768px) {
    body { padding-top: 75px; }
    .menu-mobile-btn { display: flex; }
    
    .nav-menu {
        display: none; position: absolute; top: 100%; left: 0; width: 100%;
        background: var(--primary); padding: 40px 0; z-index: 1000; border-bottom: 4px solid var(--accent);
    }
    .nav-menu ul { flex-direction: column; text-align: center; gap: 25px; }
    
    .user-area-icon { 
        margin-left: 0; border: none; padding: 20px 0; 
        border-top: 1px solid rgba(255,255,255,0.1); width: 100%; justify-content: center; 
    }
    
    /* Grids em coluna no Celular */
    .dual-grid, .pillars-grid, .budget-grid-master, .footer-grid-boutique, .portfolio-master-container, .grid-luxury { 
        grid-template-columns: 1fr !important; 
    }
    
    .ml-slide { min-width: 95%; height: 350px; }
    .ml-text-area { padding-left: 30px; }
    .ml-title { font-size: 2.2rem; }
    .concept-box { height: 400px; }
    .budget-text-side { text-align: center; margin-bottom: 40px; }
}





/* --- NAVEGAÇÃO DE CATEGORIAS --- */
.macro-nav-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 60px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    flex-wrap: wrap;
}

.macro-link {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #999;
    text-transform: uppercase;
    transition: var(--transition);
}

.macro-link.active, .macro-link:hover {
    color: var(--accent);
    border-bottom: 2px solid var(--accent);
    padding-bottom: 18px;
    margin-bottom: -20px;
}

/* --- INFO DO CARD (EMBAIXO DA FOTO) --- */
.product-card-info {
    padding: 20px 0;
    text-align: left;
}

.product-card-info h3 {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.price-tag-lux {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent);
}

.delivery-label {
    font-size: 10px;
    color: #bbb;
    display: block;
    margin-top: 5px;
}

/* --- BADGE DE ESTOQUE SOBRE A IMAGEM --- */
.badge-stock-lux {
    position: absolute;
    top: 15px; left: 15px;
    background: var(--primary);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 2px;
    z-index: 5;
    letter-spacing: 1px;
}


/* --- PADRONIZAÇÃO SIDEBAR PROJETO --- */
.category-tag-lux { font-size: 10px; text-transform: uppercase; letter-spacing: 3px; color: #bbb; font-weight: 700; margin-bottom: 10px; display: block; }
.product-title-lux { font-size: 2.5rem; font-weight: 300; color: var(--primary); margin-bottom: 30px; line-height: 1.1; }

/* Bloco de Preço e Frete */
.price-card-lux { background: var(--bg-lux); padding: 30px; border-radius: var(--radius); border-left: 4px solid var(--accent); margin-bottom: 40px; }
.price-card-lux small { color: #999; text-transform: uppercase; font-size: 10px; letter-spacing: 2px; }
.price-value-lux { font-size: 2.2rem; color: var(--primary); font-weight: 700; margin: 5px 0 15px; }

.shipping-status-lux p { font-size: 11px; color: #666; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
.shipping-status-lux i { color: var(--accent); font-size: 0.9rem; }
.shipping-status-lux a { color: var(--primary); font-weight: 700; border-bottom: 1px solid var(--accent); }

/* Lista de Diferenciais */
.description-lux h3 { font-size: 1rem; color: var(--primary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }
.specs-list-lux { list-style: none !important; padding: 0; margin-bottom: 40px; }
.specs-list-lux li { font-size: 0.9rem; color: #777; margin-bottom: 10px; display: flex; align-items: center; gap: 12px; }
.specs-list-lux i { color: var(--conversion); font-size: 0.8rem; }

/* Botões Master */
.btn-buy-lux {
    background: var(--conversion) !important; color: #fff !important;
    display: block; text-align: center; padding: 22px; border-radius: var(--radius);
    font-weight: 700; letter-spacing: 2px; margin-bottom: 20px;
    box-shadow: 0 10px 20px rgba(30, 132, 73, 0.2);
}
.btn-buy-lux:hover { transform: translateY(-3px); background: #145a32 !important; }

.btn-consultant-lux {
    display: block; text-align: center; margin-top: 30px;
    color: #999 !important; font-weight: 700; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
}

.security-badges-lux { display: flex; justify-content: center; gap: 20px; opacity: 0.5; font-size: 10px; text-transform: uppercase; }
.security-badges-lux i { color: var(--accent); }

.link-back-lux { display: block; text-align: center; margin-top: 25px; font-size: 0.7rem; color: #ccc; text-transform: uppercase; letter-spacing: 1px; }








/* ==========================================================================
   CHECKOUT CONVERSION MASTER (MARKETING DE LUXO)
   ========================================================================== */
.checkout-header-clean { background: #fff; padding: 20px 0; border-bottom: 1px solid #eee; }
.logo-checkout { max-height: 45px; }
.secure-badge-top { font-size: 11px; color: var(--conversion); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }

.checkout-v6 { background: #f9f7f2; padding: 60px 0 100px; min-height: 100vh; }
.grid-checkout-conversion { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: stretch; }

/* Lado do Valor (Esquerdo) */
.card-white-lux { background: #fff; padding: 50px; border-radius: var(--radius); box-shadow: var(--shadow); height: 100%; display: flex; flex-direction: column; }
.tag-exclusive { background: var(--accent); color: #fff; font-size: 9px; padding: 6px 15px; border-radius: 20px; text-transform: uppercase; font-weight: 800; }
.card-white-lux h1 { font-size: 2rem; color: var(--primary); margin: 25px 0; font-weight: 300; }

/* Miniatura Boutique */
.product-miniature { width: 100%; height: 220px; background: #fdfcf9; border: 1px solid #f1ece1; margin-bottom: 35px; border-radius: 8px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-miniature img { max-height: 90%; max-width: 90%; object-fit: contain; }

.marketing-list { margin-bottom: 40px; }
.m-item { display: flex; gap: 15px; margin-bottom: 20px; align-items: center; }
.m-item i { color: var(--accent); font-size: 1.2rem; }
.m-item p { font-size: 13px; color: #666; line-height: 1.4; }

.final-investment { border-top: 1px solid #f0f0f0; padding-top: 30px; margin-top: auto; }
.price-display { font-size: 2.8rem; font-weight: 700; color: var(--primary); }

.checkout-testimonial { margin-top: 40px; font-style: italic; color: #999; font-size: 13px; border-left: 3px solid var(--accent); padding-left: 20px; }

/* Lado da Ação (Direito) */
.payment-card-lux { background: #fff; padding: 50px; border-radius: var(--radius); border: 1px solid #eee; height: 100%; }
.form-intro h3 { font-size: 1.2rem; color: var(--primary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; }
.form-intro p { font-size: 12px; color: #aaa; margin-bottom: 30px; }

/* FORÇAR BOTÃO VERDE MERCADO PAGO */
#paymentBrick_container button, 
button.mercadopago-button {
    background-color: var(--conversion) !important; /* VERDE DE CONVERSÃO */
    border-radius: 4px !important;
    height: 60px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.help-link-whatsapp { display: block; text-align: center; margin-top: 30px; color: var(--conversion) !important; font-weight: 700; font-size: 13px; }

@media screen and (max-width: 900px) {
    .grid-checkout-conversion { grid-template-columns: 1fr; }
    .checkout-info-side { order: 2; }
}





/* --- ESTILO UNIVERSAL DEVIDA 15.0 --- */
:root { --primary: #1b2e26; --accent: #c5a059; --radius: 12px; }

/* Reset de Links e Listas (Mata os pontos e o azul) */
a { text-decoration: none !important; color: inherit; }
ul { list-style: none !important; padding: 0; margin: 0; }

/* Header Minimalista (Checkout) */
.header-minimal { background: #fff; padding: 25px 0; border-bottom: 1px solid #eee; }
.flex-header { display: flex; justify-content: space-between; align-items: center; }
.secure-badge-checkout { color: #1e8449; font-weight: 700; font-size: 10px; letter-spacing: 1px; }

/* Grid de Checkout */
.checkout-wrap-v6 { background: #f9f7f2; padding: 60px 0 100px; min-height: 80vh; }
.grid-checkout-premium { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; align-items: stretch; }

/* Footer (Preto Arredondado) */
footer { 
    background: #000; color: #fff; padding: 80px 0 40px; 
    border-radius: 40px 40px 0 0; margin-top: 0; width: 100%;
}
.footer-grid-boutique { display: grid; grid-template-columns: 1.2fr 0.8fr 1fr; gap: 60px; }
.footer-list-clean li { margin-bottom: 15px; font-size: 0.9rem; opacity: 0.7; }

/* Responsividade */
@media screen and (max-width: 900px) {
    .grid-checkout-premium, .footer-grid-boutique { grid-template-columns: 1fr !important; text-align: center; }
}



/* --- AJUSTE DE TAMANHO DO LOGO NO RODAPÉ --- */
.footer-logo-lux {
    /* Altere o valor abaixo para chegar no tamanho ideal */
    /* Sugestão Boutique: entre 140px e 180px */
    max-width: 160px !important; 
    
    height: auto;
    display: block;
    margin-bottom: 25px;
    
    /* Mantém o brilho branco sobre o fundo preto */
    filter: brightness(0) invert(1); 
    
    transition: var(--transition);
}

/* Toque de luxo: uma leve opacidade para não "gritar" no fundo preto */
.footer-logo-lux {
    opacity: 0.8;
}

.footer-logo-lux:hover {
    opacity: 1;
    transform: scale(1.02);
}





/* --- RESET & ICON PROTECTION --- */
:root { --primary: #1b2e26; --accent: #c5a059; --radius: 12px; --transition: all 0.4s ease; }
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Montserrat', sans-serif !important; }
body { background: #fff; padding-top: 100px; }
a { text-decoration: none !important; color: inherit; }
.fa, .fas, .far, .fa-solid, .fa-regular, .fa-brands, i { font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; display: inline-block !important; }

/* --- HEADER & FOOTER --- */
header { background: var(--primary); padding: 15px 0; width: 100%; position: fixed; top: 0; z-index: 9999; border-bottom: 1px solid rgba(197, 160, 89, 0.2); }
footer { background: #000; color: #fff; padding: 80px 0 40px; border-radius: 40px 40px 0 0; }
.footer-logo-lux { max-width: 160px !important; filter: brightness(0) invert(1); opacity: 0.8; }
.footer-list-clean { list-style: none !important; padding: 0; }

/* --- GRIDS & CARDS --- */
.container { width: 90%; max-width: 1400px; margin: 0 auto; }
.grid-luxury { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ambiente-card img { aspect-ratio: 4/5; object-fit: cover; border-radius: var(--radius); }

/* --- CONVERSION (VERDE) --- */
.btn-buy-lux { background: #1e8449 !important; color: #fff !important; border-radius: var(--radius); font-weight: 700; text-align: center; display: block; padding: 20px; }








/* ==========================================================================
   PORTFÓLIO BOUTIQUE - GRADES SIMÉTRICAS 1:1 (PADRÃO 450px)
   ========================================================================== */

.luxury-portfolio-grid { 
    padding: 80px 0; 
    background-color: var(--bg-lux); 
}

/* Título e subtítulo centralizados com mais respiro */
.section-header-lux { 
    text-align: center; 
    margin-bottom: 50px; 
}

/* Grid Mestre: 3 colunas que respeitam o limite de 450px */
.portfolio-master-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 450px)); /* Limita a 450px */
    justify-content: center; /* Centraliza a grade no monitor */
    gap: 25px; /* Espaçamento sutil entre as molduras */
}

.portfolio-item-card {
    background: #fff;
    border-radius: var(--radius); /* 12px */
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.03);
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}

/* PADRONIZAÇÃO DAS IMAGENS: O segredo da sutileza */
.item-img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* Força o quadrado perfeito (450x450 relativo) */
    overflow: hidden;
    background: #fdfcf9;
}

.item-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Corta as sobras e mantém o centro do móvel */
    filter: brightness(0.98) contrast(1.02);
    transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Efeito de Vidro Sutil no Hover */
.item-overlay-lux {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(27, 46, 38, 0.8); /* Verde alma com transparência */
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: var(--transition);
    backdrop-filter: blur(5px); /* Desfoque de boutique */
}

.portfolio-item-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.portfolio-item-card:hover .item-overlay-lux { opacity: 1; }
.portfolio-item-card:hover img { transform: scale(1.1); }

.overlay-text h3 { 
    color: #fff; text-transform: uppercase; 
    letter-spacing: 2px; font-weight: 300; font-size: 1.1rem;
}















/* ==========================================================================
   FORMULÁRIO DE LUXO (LADO A LADO - VERSÃO MASTER)
   ========================================================================== */
.budget-section-dark {
    background-color: var(--primary); /* Verde #1b2e26 */
    padding: 100px 0;
    color: var(--white);
}

.budget-grid-master {
    display: grid;
    grid-template-columns: 1fr 1fr; /* DUAS COLUNAS NO MONITOR */
    gap: 80px;
    align-items: center;
}

/* Esquerda: Texto */
.budget-header-lux small { color: var(--accent); text-transform: uppercase; letter-spacing: 4px; font-weight: 700; font-size: 0.7rem; }
.budget-header-lux h2 { font-size: 3rem; margin: 15px 0; line-height: 1.1; font-weight: 300; }
.text-accent { color: var(--accent); font-weight: 700; font-style: italic; }

.c-info-item { display: flex; align-items: center; gap: 20px; }
.c-info-item i { font-size: 1.8rem; color: var(--accent); }

/* Direita: Formulário Arredondado (12px) */
.budget-form-container {
    background: rgba(255, 255, 255, 0.03); /* Efeito Vidro */
    padding: 50px;
    border-radius: var(--radius); /* 12px */
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    box-shadow: 0 40px 80px rgba(0,0,0,0.2);
}

.input-row label {
    display: block; font-size: 0.65rem; text-transform: uppercase; 
    letter-spacing: 2px; font-weight: 700; color: var(--accent);
    margin-bottom: 10px;
}

.budget-form-container input,
.budget-form-container select,
.budget-form-container textarea {
    width: 100%; background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 18px; color: #fff; margin-bottom: 25px;
    border-radius: 6px; outline: none; transition: var(--transition);
}

.budget-form-container input:focus, .budget-form-container select:focus {
    border-color: var(--accent);
    background: rgba(255, 255, 255, 0.08);
}

/* Correção para visibilidade das opções do select */
.budget-form-container select option { background: var(--primary); color: #fff; }

.btn-submit-gold {
    width: 100%; background: var(--accent); color: var(--white) !important;
    border: none; padding: 22px; border-radius: 6px;
    font-weight: 700; text-transform: uppercase; letter-spacing: 2px;
    cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 15px;
}

.btn-submit-gold:hover { background: #b08e4d; transform: translateY(-3px); }

/* Responsividade Mobile */
@media screen and (max-width: 768px) {
    .budget-grid-master { grid-template-columns: 1fr; text-align: center; }
    .c-info-item { justify-content: center; }
    .budget-form-container { padding: 30px 20px; }
}








/* 1. DEFINIÇÃO DA DIRETRIZ */
:root {
    --radius: 12px; /* O padrão de garbo da Devida Móveis */
}

/* 2. APLICAÇÃO EM CARDS E MOLDURAS (HOME E PORTFÓLIO) */
.ambiente-card, 
.product-card-store, 
.portfolio-item-card, 
.concept-box,
.luxury-frame,
.luxury-frame-v2,
.main-image-lux {
    border-radius: var(--radius) !important;
    overflow: hidden; /* Garante que a imagem não 'escape' da borda */
}

/* 3. PADRONIZAÇÃO DAS IMAGENS INTERNAS */
.ambiente-img-wrapper img, 
.product-img img, 
.main-image-lux img,
.thumb-item {
    border-radius: var(--radius) !important;
}

/* 4. BOTÕES DE ALTA CONVERSÃO (MAIS CHARME NO CLIQUE) */
.btn-main, 
.btn-gold-lux, 
.btn-buy-lux, 
.btn-submit-gold, 
.btn-orcamento-gold,
.v2-btn-login {
    border-radius: var(--radius) !important;
}

/* 5. FORMULÁRIO E INPUTS (EXPERIÊNCIA DE PREENCHIMENTO) */
.budget-form-container,
.payment-card-pro,
.card-white-lux,
.card-status-lux,
.box-content-lux,
input, 
select, 
textarea {
    border-radius: var(--radius) !important;
}

/* 6. TOQUE FINAL: RODAPÉ */
footer {
    border-radius: 40px 40px 0 0; /* O arredondamento maior no topo que combinamos */
}









/* ==========================================================================
   REFINAMENTO DO FORMULÁRIO E TRANSIÇÃO DE RODAPÉ
   ========================================================================== */

/* 1. Arredondamento do Container do Formulário */
.budget-form-container {
    background: rgba(255, 255, 255, 0.03);
    padding: 50px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    
    /* APLICAÇÃO DO RAIO DE 12PX */
    border-radius: var(--radius) !important; 
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.2);
}

/* 2. Arredondamento dos Campos Internos (Inputs, Select, Textarea) */
.budget-form-container input, 
.budget-form-container select, 
.budget-form-container textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 18px;
    color: #fff;
    margin-bottom: 25px;
    outline: none;
    transition: var(--transition);
    
    /* Arredondamento interno para combinar com o container */
    border-radius: 8px !important; 
}

/* 3. Arredondamento do Botão de Envio */
.btn-submit-gold {
    width: 100%;
    background-color: var(--accent);
    color: var(--white) !important;
    border: none;
    padding: 22px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    
    /* Botão com o mesmo raio de 12px para simetria total */
    border-radius: var(--radius) !important; 
}

/* --- CORREÇÃO DA FRESTA BRANCA ENTRE VERDE E PRETO --- */
.budget-section-dark {
    background-color: var(--primary);
    padding: 100px 0;
    margin-bottom: -2px; /* Força o encaixe perfeito com o rodapé */
    display: block;
    width: 100%;
}

footer {
    background-color: #000;
    border-radius: 40px 40px 0 0;
    margin-top: 0; /* Remove qualquer espaço vindo de cima */
    position: relative;
    z-index: 10;
}






/* --- REDUÇÃO E CONTROLE DE IMAGENS --- */

/* No Sobre Nós: Trava a imagem lateral */
.sobre-img-frame {
    max-width: 500px; /* Limita a largura da foto */
    margin-left: auto;
}

.img-wrapper-lux img {
    width: 100%;
    height: 450px; /* Altura fixa e elegante */
    object-fit: cover;
    border-radius: var(--radius);
}

/* No Portfólio: Trava a grade 3x3 */
.grid-luxury {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas lado a lado */
    gap: 30px;
    margin-top: 50px;
}

.ambiente-card {
    max-height: 450px; /* Impede que o card fique gigante para baixo */
    overflow: hidden;
}

.ambiente-img-wrapper {
    aspect-ratio: 1 / 1; /* Força a imagem a ser um quadrado perfeito (tipo Instagram) */
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius);
}

.ambiente-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Stats no Sobre Nós */
.stats-mini {
    margin-top: 30px;
    display: flex;
    gap: 20px;
    font-size: 0.8rem;
    color: #999;
}
.stats-mini strong { color: var(--accent); }

/* Ajuste de Respiro do Header */
.page-header-boutique {
    padding: 100px 0 60px; /* Reduzi o tamanho do banner de título */
}









/* --- TRAVA DE MOLDURA BOUTIQUE (450px) --- */
.portfolio-master-container {
    display: grid;
    /* Força 3 colunas, mas cada uma nunca passa de 450px */
    grid-template-columns: repeat(auto-fit, minmax(300px, 450px)); 
    justify-content: center; /* Centraliza a grade no monitor */
    gap: 30px;
    margin-top: 60px;
}

.item-img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* Transforma qualquer foto em quadrado perfeito */
    overflow: hidden;
    background: #fdfcf9;
    border-radius: var(--radius); /* 12px */
}

.item-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Preenchimento total inteligente */
    filter: brightness(0.98) contrast(1.02);
    transition: transform 1s ease;
}

.portfolio-item-card:hover img {
    transform: scale(1.08); /* Zoom sutil no móvel */
}

/* CTA Final de Página */
.glass-card-cta {
    background: var(--primary);
    padding: 60px;
    text-align: center;
    color: #fff;
    border-radius: var(--radius);
    margin: 80px 0;
}