/* Importa a fonte Roboto Mono do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Aleo&display=swap');

* {
box-sizing: border-box;
}

html {
font-size: 100%; /* O padrão é 100%, o que equivale a 16px. Você pode aumentá-lo aqui. */
}


/* Basic Reset & Body Styles */
body {
font-family: 'Inter', sans-serif;
background-color: var(--nav-bg);
padding-top: 44px; /* Espaço para a barra de navegação fixa */
}

/* 1. CONTAINER PRINCIPAL (banner_1_img_container) */
.banner_1_img_container {
min-height: 500px;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding-top: 5rem; /* Espaçamento superior para o conteúdo */
padding-bottom: 5rem; /* Espaçamento superior para o conteúdo */
}

/* 2. CONTEÚDO (TEXTO E BOTÕES) */
.banner_1_img_content {
text-align: center;
z-index: 10; /* Garante que o conteúdo fique acima da imagem */
}

/* 3. TÍTULO (iPhone Air) */
.banner_1_img_title {
font-size: 3.5rem; /* 56px */
font-weight: 600; /* Semi-bold */
color: #1d1d1f; /* Cor escura do texto Apple */
margin-bottom: 0.5rem;
}

/* 4. TAGLINE (The thinnest...) */
.banner_1_img_tagline {
font-size: 1.5rem; /* 24px */
font-weight: 400;
color: #1d1d1f;
margin-bottom: 1.5rem;
line-height: 1.3;
}

/* 5. ÁREA DA IMAGEM (Mão e Telefone) */
.banner_1_img_image_area {
position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center bottom;
background-size: cover; /* Garante que cubra a largura, pode cortar a altura */
opacity: 0.9; /* Simula a iluminação e o contraste do original */
}

.banner_1_img_image_area.b1 {
background-image: url('images/b.png');
}

.banner_1_img_image_area.b2 {
background-image: url('images/a.jpg');
}

/* 6. ESTILOS DOS BOTÕES */
.banner_1_img_buttons {
display: flex;
gap: 1rem;
justify-content: center;
}

/* Estilo base dos links (Botões) */
.banner_1_img_button_learn_more,
.banner_1_img_button_buy {
display: inline-flex;
align-items: center;
padding: 8px 16px;
border-radius: 9999px; /* Totalmente arredondado */
font-size: 17px;
text-decoration: none;
font-weight: 400;
transition: all 0.2s ease;
}

/* Botão "Learn more" (Fundo azul sólido) */
.banner_1_img_button_learn_more {
background-color: #007aff;
color: white;
}
.banner_1_img_button_learn_more:hover {
background-color: #006ddb;
}

/* Botão "Buy" (Contorno azul) */
.banner_1_img_button_buy {
background-color: transparent;
color: #007aff;
border: 1px solid #007aff;
}
.banner_1_img_button_buy:hover {
background-color: rgba(0, 122, 255, 0.05);
}

/* Media Queries para responsividade */
@media (max-width: 640px) {
.banner_1_img_container {
min-height: 300px;
padding-top: 9rem;
padding-bottom: 9rem;	
}
.banner_1_img_title {
font-size: 2.5rem; /* Menor em mobile */
}
.banner_1_img_tagline {
font-size: 1.25rem;
}
.banner_1_img_image_area {
background-size: contain; /* Melhor para o mobile, garantindo que o telefone seja visível */
}
}

.footer_container {
background-color: #f5f5f7; /* Fundo cinza claro */
padding: 1rem 0;
color: #424245; /* Texto principal cinza escuro */
font-size: 0.75rem; /* Fonte pequena padrão */
line-height: 1.33337;
font-weight: 400;
}

.footer_divider {
border-color: #d2d2d7; /* Cor sutil do divisor */
}

.footer_disclaimer {
padding-bottom: 0.5rem;
color: #6e6e73; /* Texto de aviso um pouco mais claro */
}

.footer_heading {
font-weight: 600; /* Títulos mais grossos */
color: #1d1d1f; /* Cor do título */
font-size: 0.75rem;
margin-bottom: 0.6em;
cursor: default;
}

.footer_link {
color: #6e6e73; /* Cor dos links */
padding: 0.3em 0;
display: block;
transition: color 0.2s ease-in-out;
}

.footer_link:hover {
color: #1d1d1f; /* Efeito de hover escurecendo o link */
}

.footer_legal_section {
padding-top: 0.6em;
}

.footer_copyright_text {
color: #6e6e73;
margin-right: 20px;
}

.footer_legal_link {
border-right: 1px solid #d2d2d7;
padding-right: 10px;
margin-right: 10px;
color: #424245;
}

.footer_legal_link:last-child {
border-right: none;
}

.footer_region_link {
color: #424245;
text-decoration: underline;
white-space: nowrap;
}

/* * Layout responsivo para os links (mobile vs desktop)
*/

/* Oculta os grupos de links no mobile e usa um layout colapsável (simulado) */
@media (max-width: 768px) {
.footer_link_group {
border-bottom: 1px solid #d2d2d7;
padding: 0.7em 0;
}
.footer_link_group:last-child {
border-bottom: none;
}
.footer_heading {
/* Adiciona um ícone simples de dropdown no mobile */
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
}
}


.texto_container {
/* Fundo branco suave, semelhante ao banner original */
width: 70%;
/* Garante que o container use todo o espaço disponível, com altura definida */
min-height: 600px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding-top: 5rem; /* Espaçamento superior para o conteúdo */
margin: 0 auto;
text-align: center;
}

.texto_titulo {
font-size: 3.5rem; /* 56px */
font-weight: 600; /* Semi-bold */
color: #1d1d1f; /* Cor escura do texto Apple */
margin-bottom: 0.5rem;
}

/* 4. TAGLINE (The thinnest...) */
.texto_subtitulo {
font-size: 1.5rem; /* 24px */
font-weight: 400;
color: #1d1d1f;
margin-bottom: 1.5rem;
line-height: 1.3;
}

/* Para telas menores (smartphones até 768px) */
@media (max-width: 768px) {
.texto_container {
width: 90%;
min-height: auto; /* remove altura mínima fixa em telas pequenas */
padding-top: 3rem;
padding-bottom: 3rem;
}

.texto_titulo {
font-size: 2.5rem; /* ~40px */
}

.texto_subtitulo {
font-size: 1.2rem; /* ~19px */
margin-bottom: 1rem;
}
}


.texto_container_esquerda {
width: 70%;
min-height: 600px;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding-top: 5rem; /* Espaçamento superior para o conteúdo */
padding-left: 5rem; /* Espaçamento superior para o conteúdo */
}

@media (max-width: 760px) {
.texto_container_esquerda {
width: 90%;        /* ocupa mais da tela no mobile */
min-height: auto;  /* altura mais flexível */
padding-top: 3rem; /* menos espaço superior */
padding-left: 1rem; /* reduz margem lateral */
padding-bottom: 3rem;
}
}

.imagem_simples {
max-width: 100%;
margin: 0 auto;
display: flex;
justify-content: center; /* eixo horizontal */
}

.imagem_simples img{
width: 90%;
border-radius: 12px;
}


.banner_b_hero {
position: relative;
width: 90%;
min-height: 400px; /* altura mínima, pode mudar */
background: url("images/a.jpg") no-repeat center center/cover;
display: flex;
align-items: center;
justify-content: center;
padding: 60px 20px; /* espaço interno */
margin: 0 auto;
border-radius: 12px;	
}

.banner_b_overlay {
text-align: center;
color: white;
padding: 40px;
border-radius: 12px;
}

.banner_b_hero h1 {
font-size: 3rem;
margin-bottom: 10px;
}

.banner_b_hero h2 {
font-size: 1.5rem;
margin-bottom: 20px;
}

.banner_b_botoes {
display: flex;
gap: 15px;
justify-content: center;
}

.banner_b_btn {
display: inline-block;
padding: 12px 24px;
background: #ff4d4d;
color: white;
text-decoration: none;
border-radius: 8px;
font-weight: bold;
transition: background 0.3s;
}

.banner_b_btn:hover {
background: #e63939;
}

.banner_b_btn.banner_b_secundario {
background: transparent;
border: 2px solid white;
}

.banner_b_btn.banner_b_secundario:hover {
background: white;
color: #333;
}

        /* 1. Container do Grid */
        .grid_colunas_t_container {
            display: grid; 
            grid-template-columns: 1fr 1fr 1fr;
            gap: 20px; /* Espaçamento entre as células */
            padding: 20px;
			width: 90%;
			margin: 0 auto;
        }

        /* 2. Estilo das Células/Colunas */
        .grid_colunas_t_item {
            /* O CSS Grid garante alturas iguais por padrão. */
            background-color: black;
            color: white;
            padding: 15px;
            border-radius: 12px;
            text-align: center;
            font-size: 1.2em;
            display: flex; 
            flex-direction: column;
            justify-content: center; 
            align-items: center; 
            min-height: 500px; 
        }
        
        /* 3. Variações (Modificadores) dos Itens */
        .grid_colunas_t_item_primeiro {
        }

        .grid_colunas_t_item_segundo {
        }

        /* Estilo para conteúdo extra (Elemento) */
        .grid_colunas_t_item_terceiro {
            line-height: 1.5;
            padding: 10px;
            border-radius: 4px;
            margin-top: 10px;
        }
        
        /* 4. Responsividade */
        @media (max-width: 768px) {
            .grid_colunas_t_container {
                /* Muda para uma única coluna em telas menores que 768px */
                grid-template-columns: 1fr;
            }
        }

/* Container principal do slider */
.sliderb_container {
  position: relative;
  width: 100%;
  height: 100vh; /* ocupa toda a altura da janela */
  overflow: hidden;
}

/* Slides individuais */
.sliderb_slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  background-size: cover;
  background-position: center;
}

.sliderb_slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  background-size: cover;
  background-position: center;
  background-color: rgba(0, 0, 0, 0.4); /* camada escura */
  background-blend-mode: darken; /* mistura a cor com a imagem */
}


/* Slide ativo visível */
.sliderb_slide.active {
  opacity: 1;
}

/* Indicadores (pontos) */
.sliderb_indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.sliderb_dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background 0.3s;
}

.sliderb_dot.active {
  background: #fff;
}

.sliderb_title {
  position: absolute;
  top: 50%; /* centraliza verticalmente */
  left: 50%; /* centraliza horizontalmente */
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.5); /* deixa o texto legível sobre imagens */
  text-align: center;
  pointer-events: none; /* evita que o título interfira em cliques */


  display: flex;           /* ativa o flexbox */
  flex-direction: column;  /* coloca os elementos em coluna */
  gap: 0.5rem;   

}

.sliderb_title h1 {
  font-size: 4rem;
  font-weight: bold;
  margin: 0;
}

.sliderb_title h2 {
  font-size: 2rem; /* tamanho menor para o subtítulo */
  font-weight: normal;
  margin: 0;
}


@media (max-width: 600px) {
  .sliderb_title h1{
	font-size: 2.6rem;
  }
}


.chatj_container {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 10000;
}

/* Chat button */
.chatj_button {
background-color: #4a6ee0;
color: white;
border: none;
border-radius: 50px;
padding: 12px 20px;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
font-size: 16px;
font-weight: 500;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.3s ease;
}

.chatj_button:hover {
background-color: #3a5ed0;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* Chat window */
.chatj_window {
width: 350px;
height: 500px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: column;
overflow: hidden;
transition: all 0.3s ease;
opacity: 0;
transform: translateY(10px);
visibility: hidden;
position: fixed;
bottom: 80px; /* fica acima do botão */
right: 20px;
z-index: 1000;
}

.chatj_window--open {
opacity: 1;
transform: translateY(0);
visibility: visible;
}

/* Header */
.chatj_header {
background-color: #4a6ee0;
color: white;
padding: 16px;
display: flex;
justify-content: space-between;
align-items: center;
}

.chatj_title {
font-size: 18px;
font-weight: 600;
}

.chatj_close {
background: none;
border: none;
color: white;
font-size: 20px;
cursor: pointer;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: background-color 0.2s;
}

.chatj_close:hover {
background-color: rgba(255, 255, 255, 0.2);
}

/* Messages area */
.chatj_messages {
flex: 1;
padding: 16px;
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 12px;
background-color: #f8f9fa;
}

.chatj_message {
max-width: 80%;
padding: 12px 16px;
border-radius: 18px;
line-height: 1.4;
word-wrap: break-word;
}

.chatj_message--bot {
background-color: #e9ecef;
color: #333;
border-bottom-left-radius: 4px;
align-self: flex-start;
}

.chatj_message--user {
background-color: #4a6ee0;
color: white;
border-bottom-right-radius: 4px;
align-self: flex-end;
}

/* Bot message content styling */
.chatj_message--bot .chatj_bold {
font-weight: 600;
color: #2c3e50;
}

.chatj_message--bot .chatj_list {
margin: 8px 0;
padding-left: 20px;
}

.chatj_message--bot .chatj_list-item {
margin-bottom: 6px;
position: relative;
}

.chatj_message--bot .chatj_list-item::before {
content: "•";
position: absolute;
left: -12px;
color: #4a6ee0;
}

.chatj_message--bot .chatj_contact {
margin-top: 12px;
padding: 8px 12px;
background-color: rgba(74, 110, 224, 0.1);
border-radius: 8px;
border-left: 3px solid #4a6ee0;
}

/* Input area */
.chatj_input-area {
padding: 16px;
border-top: 1px solid #e9ecef;
display: flex;
gap: 8px;
background-color: white;
}

.chatj_input {
flex: 1;
padding: 12px 16px;
border: 1px solid #e9ecef;
border-radius: 24px;
outline: none;
font-size: 14px;
transition: border-color 0.2s;
}

.chatj_input:focus {
border-color: #4a6ee0;
}

.chatj_send {
background-color: #4a6ee0;
color: white;
border: none;
border-radius: 50%;
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background-color 0.2s;
}

.chatj_send:hover {
background-color: #3a5ed0;
}

.chatj_send:disabled {
background-color: #a0aec0;
cursor: not-allowed;
}

/* Typing indicator */
.chatj_typing {
display: flex;
gap: 4px;
padding: 12px 16px;
background-color: #e9ecef;
border-radius: 18px;
border-bottom-left-radius: 4px;
align-self: flex-start;
max-width: 80px;
}

.chatj_typing-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #6c757d;
animation: chatj_typing-animation 1.4s infinite ease-in-out;
}

.chatj_typing-dot:nth-child(1) {
animation-delay: -0.32s;
}

.chatj_typing-dot:nth-child(2) {
animation-delay: -0.16s;
}

@keyframes chatj_typing-animation {
0%, 80%, 100% {
	transform: scale(0.8);
	opacity: 0.5;
}
40% {
	transform: scale(1);
	opacity: 1;
}
}

/* Mobile responsiveness */
@media (max-width: 760px) {
  .chatj_container {
    bottom: 10px;
    right: 10px;
    left: auto; /* Remove left positioning */
  }

  .chatj_window {
    width: 90vw; /* Use viewport width */
    height: 70vh;
    max-height: 500px;
    right: 5%; /* Center it or keep it on the right */
    bottom: 80px; /* Adjust based on button position */
  }

  .chatj_button {
    width: auto; /* Don't force full width */
    justify-content: center;
    padding: 12px 20px; /* Keep original padding */
  }
}

        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
        
        /* Definir a fonte base para o corpo do documento */
        body {
            font-family: 'Inter', sans-serif;
        }

        /* Definição de cores e estilos usando o prefixo home_ (AGORA PARA FUNDO CLARO) */
        .home_bg_primary {
            background-color: #ffffff; /* Fundo Branco */
        }
        .home_text_secondary {
            color: #b8860b; /* Tom de dourado/ouro escuro para destaque em fundo claro */
        }
        .home_section_padding {
            padding: 4rem 1.5rem;
        }
        @media (min-width: 768px) {
            .home_section_padding {
                padding: 6rem 4rem;
            }
        }
        .home_container {
            max-width: 1200px;
            margin: 0 auto;
        }
        .home_motto {
            font-size: 1.875rem; /* text-3xl */
            font-weight: 600; /* font-semibold */
            margin-top: 1rem;
        }
        .home_divider {
            border-top: 1px solid rgba(0, 0, 0, 0.1); /* Divisória clara em fundo claro */
        }
		
/* Blog Container */
        /* Blog Container */
        .bloga_container {
            /*max-width: 1200px;*/
            margin: 0 auto;
            padding: 0 20px;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
            line-height: 1.6;
            color: #333;
            background-color: #f8f9fa;			
        }

        /* Header */
        .bloga_header {
            padding: 40px 0;
            text-align: center;
            border-bottom: 1px solid #eaeaea;
            margin-bottom: 40px;
        }

        .bloga_title {
            font-size: 2.5rem;
            font-weight: 700;
            color: #1a1a1a;
            margin-bottom: 10px;
        }

        .bloga_subtitle {
            font-size: 1.1rem;
            color: #666;
            max-width: 600px;
            margin: 0 auto;
        }

        /* Search Bar */
        .bloga_search_container {
            margin-bottom: 40px;
            position: relative;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        .bloga_search_input {
            width: 100%;
            padding: 15px 20px;
            font-size: 1rem;
            border: 1px solid #ddd;
            border-radius: 8px;
            background-color: white;
            transition: all 0.3s ease;
        }

        .bloga_search_input:focus {
            outline: none;
            border-color: #4a90e2;
            box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
        }

        /* Posts Grid */
        .bloga_posts_grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 30px;
            margin-bottom: 60px;
        }

        /* Post Card */
        .bloga_post_card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .bloga_post_card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }

        .bloga_post_image {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        .bloga_post_content {
            padding: 25px;
        }

        .bloga_post_category {
            display: inline-block;
            font-size: 0.8rem;
            font-weight: 600;
            color: #4a90e2;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 10px;
        }

        .bloga_post_title {
            font-size: 1.4rem;
            font-weight: 700;
            margin-bottom: 15px;
            color: #1a1a1a;
            line-height: 1.3;
        }

        .bloga_post_excerpt {
            color: #666;
            margin-bottom: 15px;
            line-height: 1.5;
            font-style: italic;
        }

        .bloga_post_full_content {
            color: #444;
            line-height: 1.6;
            margin-bottom: 20px;
        }

        .bloga_post_meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.85rem;
            color: #888;
            border-top: 1px solid #f0f0f0;
            padding-top: 15px;
        }

        .bloga_post_author {
            font-weight: 600;
        }

        .bloga_post_date {
            font-style: italic;
        }

        .bloga_post_tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 15px 0;
        }

        .bloga_post_tag {
            background: #f0f0f0;
            color: #666;
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 500;
        }

        /* No Results Message */
        .bloga_no_results {
            text-align: center;
            padding: 40px 20px;
            color: #666;
            font-size: 1.1rem;
            grid-column: 1 / -1;
        }

        /* Footer */
        .bloga_footer {
            text-align: center;
            padding: 40px 0;
            color: #888;
            border-top: 1px solid #eaeaea;
            margin-top: 40px;
        }

        /* Responsive Adjustments */
        @media (max-width: 768px) {
            .bloga_posts_grid {
                grid-template-columns: 1fr;
            }
            
            .bloga_title {
                font-size: 2rem;
            }
            
            .bloga_header {
                padding: 30px 0;
            }
        }

        @media (max-width: 480px) {
            .bloga_container {
                padding: 0 15px;
            }
            
            .bloga_post_content {
                padding: 20px;
            }
        }
		
/* ARMAZEM STYLE - VERSÃO FINAL CORRIGIDA 
   Focada em evitar conflitos e garantir margens em mobile
*/

/* 1. Reset de segurança para esta secção */
.armazem_page_container, 
.armazem_page_container * {
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased;
}

.armazem_page_container {
    font-family: 'Inter', -apple-system, sans-serif !important;
    background-color: #ffffff !important;
    width: 100% !important;
    overflow-x: hidden !important; /* Impede scroll lateral no telemóvel */
    display: block !important;
}

/* 2. Container Principal - O segredo para as margens laterais */
.armazem_container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    /* Margens de segurança para mobile: 24px em cada lado */
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* 3. Hero / Cabeçalho do Imóvel */
.armazem_hero {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #f2f2f2 !important;
}

.armazem_badge {
    display: inline-block !important;
    color: #0066cc !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

.armazem_title {
    font-size: 28px !important; /* Mobile */
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 12px 0 !important;
    color: #1d1d1f !important;
}

.armazem_subtitle {
    font-size: 18px !important;
    color: #86868b !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* 4. Galeria Responsiva */
.armazem_gallery {
    margin-top: 24px !important;
}

.armazem_gallery_grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
}

.armazem_photo_item {
    border-radius: 12px !important;
    overflow: hidden !important;
    height: 140px !important;
    background-color: #f5f5f7 !important;
}

.armazem_photo_item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.armazem_main_photo {
    grid-column: span 2 !important;
    height: 220px !important;
}

/* 5. Grelha de Conteúdo (Texto + Sidebar) */
.armazem_main_grid {
    display: flex !important;
    flex-direction: column !important; /* Mobile primeiro */
    gap: 32px !important;
    padding-top: 40px !important;
}

.armazem_section_h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}

.armazem_text {
    font-size: 16px !important;
    color: #424245 !important;
    line-height: 1.6 !important;
}

/* 6. Especificações Técnicas */
.armazem_specs_grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    margin: 32px 0 !important;
    padding: 24px 0 !important;
    border-top: 1px solid #f2f2f2 !important;
    border-bottom: 1px solid #f2f2f2 !important;
}

.armazem_label {
    display: block !important;
    font-size: 10px !important;
    color: #86868b !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
}

.armazem_value {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1d1d1f !important;
}

/* 7. Sidebar / Card de Preço */
.armazem_cta_card {
    background: #ffffff !important;
    padding: 24px !important;
    border-radius: 20px !important;
    border: 1px solid #e5e5e5 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
}

.armazem_price {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}

.armazem_btn_primary {
    display: block !important;
    background: #0071e3 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 16px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

/* 8. AJUSTES PARA DESKTOP (Ecrãs > 768px) */
@media (min-width: 768px) {
    .armazem_container {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }

    .armazem_title {
        font-size: 48px !important;
    }

    .armazem_gallery_grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 16px !important;
    }

    .armazem_photo_item {
        height: 240px !important;
    }

    .armazem_main_grid {
        flex-direction: row !important;
        display: grid !important;
        grid-template-columns: 2fr 1fr !important;
        gap: 48px !important;
    }

    .armazem_specs_grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .armazem_cta_card {
        position: sticky !important;
        top: 100px !important;
    }
}