/* ==========================================================================
   Design System & Variáveis (Inspirado no Mozilla Acorn e baseado em #415472)
   ========================================================================== */
:root {
    /* Paleta baseada em #415472 */
    --color-primary: #415472;
    --color-primary-dark: #2d3b52;
    --color-primary-light: #eff3f8;
    --color-accent: #ff6b6b;
    
    /* Cores de suporte Acorn (mínimas, alto contraste, limpas) */
    --color-bg: #ffffff;
    --color-text-main: #1a202c;
    --color-text-muted: #5a6a85;
    --color-border: #e2e8f0;
    
    /* Tipografia e Raios (Diretrizes Acorn) */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --radius-sm: 4px;
    --radius-md: 8px;
    --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Reset básico */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-sans);
    background-color: var(--color-bg);
    color: var(--color-text-main);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

/* ==========================================================================
   Componentes Reutilizáveis (Botões e Badges ao estilo Acorn)
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.2rem;
    font-size: 0.9rem;
    font-weight: 500;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    transition: var(--transition);
}

.btn-primary {
    background-color: var(--color-primary);
    color: white;
}

.btn-primary:hover {
    background-color: var(--color-primary-dark);
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-text-main);
}

.btn-secondary:hover {
    background-color: var(--color-primary-light);
}

.btn-outline {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn-outline:hover {
    background-color: var(--color-primary-light);
}

.badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background-color: var(--color-primary-light);
    color: var(--color-primary);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
}

/* ==========================================================================
   HEADER REPLICADO DO SITE MAMF FINANCEIRO (DIMENSÕES EXATAS – APENAS REVELAR)
   ========================================================================== */
.acorn-header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--acorn-grey-20, #E0E0E6);
    z-index: 1000;
    transition: all 0.3s ease;
}

.acorn-header-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 24px; 
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/* Estilização discreta para a logo em PNG */
.acorn-logo-img {
    height: 24px;       /* Altura sutil e equivalente à caixa de texto/badge */
    width: auto;        /* Mantém as proporções originais da imagem sem distorcer */
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;  /* Pequeno espaçamento opcional antes do texto em negrito */
}

/* Garante que o container flex continue alinhando perfeitamente a imagem */
.acorn-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    line-height: 1;
}
/* Lado Esquerdo: Branding */
.acorn-brand-group {
    display: flex;
    align-items: center;
    gap: 16px;
}

.acorn-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    line-height: 1;
}

.acorn-logo strong {
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--color-primary, #415472);
}

.acorn-logo .logo-subtext {
    font-size: 1.15rem;
    color: var(--acorn-ink-70, #5B5B66);
    font-weight: 400;
}

.acorn-divider {
    width: 1px;
    height: 24px;
    background-color: var(--acorn-grey-20, #E0E0E6);
}

.acorn-version-badge {
    font-size: 0.72rem;
    font-weight: 600;
    background-color: var(--acorn-grey-10, #F9F9FB);
    color: var(--color-primary, #415472);
    padding: 4px 8px;
    border-radius: var(--acorn-radius-sm, 4px);
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    letter-spacing: 0.05em;
    line-height: 1;
}
.acorn-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}
@media (max-width: 968px) {
    .acorn-container {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* Lado Direito: Links e Ferramentas */
.acorn-nav-wrapper {
    display: flex;
    align-items: center;
    gap: 32px;
}

.acorn-nav-list {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
}

.acorn-nav-link {
    display: block;
    padding: 8px 16px;
    color: var(--acorn-ink-70, #5B5B66);
    font-size: 0.92rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: var(--acorn-radius-md, 8px);
    transition: all 0.2s ease;
}

.acorn-nav-link:hover, .acorn-nav-link.active {
    background-color: var(--acorn-grey-10, #F9F9FB);
    color: var(--color-primary, #415472);
}

/* Caixa de Ferramentas (Toolbar Isolada para o Botão) */
.acorn-toolbar {
    display: flex;
    align-items: center;
    border-left: 1px solid var(--acorn-grey-20, #E0E0E6);
    padding-left: 20px; /* Levemente expandido para dar respiro ao botão */
}

/* BOTÃO DESTAQUE PRINCIPAL */
.acorn-btn-revelar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--color-primary, #415472);
    color: #ffffff;
    border: 1px solid transparent;
    padding: 8px 20px; /* Aumentado padding horizontal para robustez visual */
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    border-radius: var(--acorn-radius-md, 8px);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(65, 84, 114, 0.15);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.acorn-btn-revelar:hover {
    background-color: #2d3b52;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(65, 84, 114, 0.25);
}

.acorn-btn-revelar:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(65, 84, 114, 0.15);
}

/* Menu Hambúrguer Mobile */
.acorn-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 22px;
    height: 16px;
    background: transparent;
    border: none;
    cursor: pointer;
}

.acorn-menu-toggle span {
    width: 100%;
    height: 2px;
    background-color: var(--acorn-ink-90, #15141A);
    transition: all 0.2s ease;
}

@media (max-width: 992px) {
    .acorn-nav-wrapper {
        display: none;
    }
    .acorn-menu-toggle {
        display: flex;
    }
}

.phone-link-seo {
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    color: #1a1a1a;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s ease;
}

.phone-link-seo:hover {
    color: #415472; /* Tom azul sutil de destaque */
    text-decoration: underline;
}

/* ==========================================================================
   PÁGINA DE CONTATO MINIMALISTA (INTEGRADA COM WEB3FORMS)
   ========================================================================== */

.contact-page-container {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 130px 20px 60px 20px;
    box-sizing: border-box;
}

.contact-grid-wrapper {
    display: flex;
    gap: 50px;
    width: 100%;
    align-items: flex-start;
}

/* Coluna de Texto Institucional */
.contact-info-column {
    flex: 1;
}

.contact-pre-title {
    font-family: -apple-system, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #415472;
    display: block;
    margin-bottom: 8px;
}

.contact-main-title {
    font-family: -apple-system, sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin: 0 0 16px 0;
    letter-spacing: -0.5px;
}

.contact-editorial-text {
    font-family: -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #555555;
    margin: 0 0 24px 0;
}

.contact-inline-divider {
    border: none;
    border-top: 1px dashed #ced4da;
    margin: 24px 0;
}

/* Blocos de Detalhe de Atendimento */
.contact-details-block {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.detail-item strong {
    font-family: -apple-system, sans-serif;
    font-size: 0.9rem;
    color: #1a1a1a;
    display: block;
    margin-bottom: 4px;
}

.detail-item p {
    font-family: -apple-system, sans-serif;
    font-size: 0.92rem;
    color: #666666;
    margin: 0;
    line-height: 1.4;
}

/* Coluna do Formulário */
.contact-form-column {
    flex: 1.1;
    width: 100%;
}

.contact-card-box {
    background-color: #f7f8fa;
    border: 1px solid #eef0f3;
    border-radius: 6px;
    padding: 30px;
    box-sizing: border-box;
}

.contact-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.contact-form-group label {
    font-family: -apple-system, sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a1a1a;
}

.contact-form-group input, 
.contact-form-group textarea {
    font-family: -apple-system, sans-serif;
    padding: 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 0.92rem;
    background-color: #ffffff;
    box-sizing: border-box;
    width: 100%;
    transition: border-color 0.15s ease;
}

.contact-form-group input:focus, 
.contact-form-group textarea:focus {
    outline: none;
    border-color: #415472;
}

.contact-form-group textarea {
    resize: vertical; /* Permite esticar apenas para baixo */
}

/* Botão de Envio */
.contact-btn-submit {
    width: 100%;
    background-color: #1a1a1a;
    color: #ffffff;
    border: none;
    padding: 14px;
    font-family: -apple-system, sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    margin-top: 8px;
}

.contact-btn-submit:hover { background-color: #333333; }
.contact-btn-submit:disabled { background-color: #999999; cursor: not-allowed; }

/* Banners Internos de Status (AJAX) */
.contact-status-banner {
    padding: 12px;
    border-radius: 4px;
    font-family: -apple-system, sans-serif;
    font-size: 0.88rem;
    margin-bottom: 16px;
    line-height: 1.4;
}
.success-light { background-color: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.error-light { background-color: #ffebee; color: #c62828; border: 1px solid #ffcdd2; }

/* ==========================================================================
   RESPONSIVIDADE DA PÁGINA DE CONTATO
   ========================================================================== */
@media (max-width: 820px) {
    .contact-grid-wrapper {
        flex-direction: column;
        gap: 32px;
    }
    
    .contact-main-title {
        font-size: 1.8rem;
    }
    
    .contact-page-container {
        padding: 100px 16px 40px 16px;
    }

    .contact-card-box {
        padding: 20px;
    }
}

/* ==========================================================================
   Hero Section (Estrutura em blocos assimétricos da Kodak)
   ========================================================================== */
.hero-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 2rem;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.hero-content h1 {
    font-size: 2.75rem;
    line-height: 1.15;
    margin-bottom: 1.5rem;
    letter-spacing: -0.03em;
}

.hero-content p {
    color: var(--color-text-muted);
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
}

.hero-image-placeholder {
    width: 100%;
    height: 400px;
    background-color: var(--color-primary-light);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    font-weight: 500;
}

/* ==========================================================================
   ESTILIZAÇÃO DO CONTAINER E DA IMAGEM HERO REAL
   ========================================================================== */
.hero-image-container {
    flex: 1;
    min-width: 300px;
    height: 400px; /* Mantém a proporção de altura do design anterior */
    border-radius: var(--acorn-radius-md, 8px);
    overflow: hidden; /* Garante que a imagem não saia das bordas arredondadas */
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    box-shadow: 0 4px 12px rgba(21, 20, 26, 0.03);
}

.hero-image-real {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta e enquadra a foto perfeitamente sem achatar */
    object-position: center; /* Centraliza o foco da imagem */
    display: block;
    transition: transform 0.5s ease; /* Efeito sutil ao passar o mouse */
}

.hero-image-container:hover .hero-image-real {
    transform: scale(1.02); /* Leve aproximação elegante no hover */
}

/* Ajuste responsivo para telas menores */
@media (max-width: 768px) {
    .hero-section {
        display: flex;
        flex-direction: column-reverse; /* Joga a imagem para cima do texto no mobile */
        gap: 32px;
    }
    
    .hero-image-container {
        height: 250px; /* Reduz a altura do banner em telas de smartphones */
    }
}
/* ==========================================================================
   ACORN COMPONENT: MINIMALIST SHIPPING NOTICE
   ========================================================================== */

.lab-shipping-notice {
    max-width: var(--content-width, 900px);
    padding: 0 15px;
}

.notice-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    background-color: var(--color-bg-alt, #fcfbfa); /* Tom neutro suave */
    border: 1px solid var(--color-border, #121212);
    border-radius: var(--acorn-radius-md, 8px);
    padding: 20px;
    box-shadow: 2px 2px 0px var(--color-border, #121212);
}

.notice-content {
    flex: 1 1 500px;
}

.notice-tag {
    font-family: var(--font-mono, monospace);
    font-size: 0.7rem;
    font-weight: bold;
    color: var(--color-text-muted, #666);
    letter-spacing: 1px;
    display: block;
    margin-bottom: 6px;
}

.notice-text {
    font-family: var(--font-body), sans-serif;
    font-size: 0.95rem;
    line-height: 1.4;
    color: var(--color-text, #121212);
    margin: 0 !important;
}

/* Botão discreto com alto contraste garantido no padrão Acorn */
.btn-notice-link {
    display: inline-block;
    font-family: var(--font-heading), sans-serif;
    font-weight: bold;
    font-size: 0.85rem;
    
    /* Força cores sólidas para não herdar fundos apagados */
    color: #ffffff !important; 
    background-color: #121212 !important;
    
    text-decoration: none !important;
    padding: 10px 18px;
    border: 1px solid #121212 !important;
    white-space: nowrap;
    opacity: 1 !important; /* Garante que nenhuma opacidade residual o apague */
    transition: background-color 0.1s ease;
}

/* Efeito de hover limpo */
.btn-notice-link:hover {
    background-color: #333333 !important;
    color: #ffffff !important;
}.btn-notice-link {
    display: inline-block;
    font-family: var(--font-heading), sans-serif;
    font-weight: bold;
    font-size: 0.85rem;
    color: var(--color-bg, #fbf9f5) !important;
    background-color: var(--color-border, #121212);
    text-decoration: none !important;
    padding: 10px 18px;
    border: 1px solid var(--color-border, #121212);
    white-space: nowrap;
    transition: background-color 0.1s ease;
}

.btn-notice-link:hover {
    background-color: var(--color-text-muted, #444);
}

/* Regra de Impressão (Garantia de sumir no papel) */
@media print {
    .lab-shipping-notice,
    .no-print {
        display: none !important;
    }
}

/* Responsividade para telas menores */
@media (max-width: 600px) {
    .notice-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }
    .btn-notice-link {
        width: 100%;
        text-align: center;
    }
    .notice-content {
    flex: 1 1 0;
}
}
/* ==========================================================================
   Feed / Grid de Posts (Visual Substack clean)
   ========================================================================== */
.feed-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 2rem;
    border-top: 1px solid var(--color-border);
}

.section-header {
    margin-bottom: 3rem;
}

.section-header h2 {
    font-size: 1.85rem;
    margin-bottom: 0.5rem;
}

.section-header p {
    color: var(--color-text-muted);
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}

.post-card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: var(--transition);
}

.post-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-primary);
    box-shadow: 0 10px 20px rgba(65, 84, 114, 0.05);
}

.post-thumb {
    height: 180px;
    background-color: var(--color-primary-light);
    opacity: 0.7;
}

.post-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.post-meta {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-bottom: 0.5rem;
}

.post-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.post-title a:hover {
    color: var(--color-primary);
}

.post-excerpt {
    color: var(--color-text-muted);
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
    flex-grow: 1;
}

.post-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
    border-top: 1px solid var(--color-border);
    padding-top: 1rem;
    color: var(--color-text-muted);
}

.like-count {
    cursor: pointer;
    padding: 0.2rem 0.5rem;
    border-radius: var(--radius-sm);
    transition: var(--transition);
}

.like-count:hover {
    background-color: #ffeef0;
    color: var(--color-accent);
}

/* ==========================================================================
   ACORN COMPONENT: MINIMALIST GOOGLE MAPS INTEGRATION
   ========================================================================== */

.lab-google-maps-section {
    padding: 50px 0;
    background-color: var(--color-bg, #fbf9f5);
    border-top: 1px solid var(--color-border, #121212);
}

.maps-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
}

/* Informações do lado esquerdo */
.maps-info {
    flex: 1 1 300px;
}

.maps-tag {
    font-family: var(--font-mono, monospace);
    font-size: 0.7rem;
    font-weight: bold;
    color: var(--color-text-muted, #666);
    letter-spacing: 1px;
    display: block;
    margin-bottom: 8px;
}

.maps-meta-link {
    margin-top: 15px;
}

.maps-meta-link a {
    font-family: var(--font-heading), sans-serif;
    font-size: 0.85rem;
    font-weight: bold;
    color: var(--color-border, #121212) !important;
    text-decoration: underline !important;
}

.maps-meta-link a:hover {
    color: var(--color-text-muted, #555) !important;
}

/* Container do Mapa (Lado Direito) */
.maps-frame-container {
    flex: 1 1 450px;
    height: 300px;
    border: 1px solid var(--color-border, #121212);
    box-shadow: 3px 3px 0px var(--color-border, #121212);
    background-color: #e5e3df; /* Cor de fundo neutra enquanto o mapa carrega */
    overflow: hidden;
    position: relative;
}

/* O TRUQUE VISUAL: Deixa o Google Maps em preto e branco / sépia */
.maps-frame-container iframe {
    filter: grayscale(1) contrast(1.1) sepia(0.15);
    transition: filter 0.3s ease;
}

/* Quando o usuário passa o mouse, o mapa ganha um pouco de cor para facilitar a navegação */
.maps-frame-container iframe:hover {
    filter: grayscale(0.4) contrast(1) sepia(0);
}

/* Ajuste de responsividade */
@media (max-width: 768px) {
    .maps-frame-container {
        height: 220px;
    }
}

/* ==========================================================================
   Newsletter Bar (Acorn Call-to-Action)
   ========================================================================== */
.newsletter-bar {
    background-color: var(--color-primary-dark);
    color: white;
    padding: 4rem 2rem;
}

.newsletter-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.newsletter-text h3 {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}

.newsletter-text p {
    color: #a0aec0;
}

.newsletter-form {
    display: flex;
    gap: 0.5rem;
    width: 100%;
    max-width: 450px;
}

.newsletter-form input {
    flex-grow: 1;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    font-size: 0.95rem;
}

.newsletter-form input:focus {
    outline: none;
    border-color: var(--color-accent);
}

/* ==========================================================================
   Footer (Rodapé Corporativo Kodak)
   ========================================================================== */
.site-footer {
    background-color: var(--color-bg);
    border-top: 1px solid var(--color-border);
    padding: 4rem 2rem 2rem;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 4rem;
    margin-bottom: 3rem;
}

.footer-brand p {
    margin-top: 1rem;
    color: var(--color-text-muted);
    max-width: 300px;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.footer-col h4 {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-primary);
    margin-bottom: 1.25rem;
}

.footer-col ul {
    list-style: none;
}

.footer-col li {
    margin-bottom: 0.75rem;
}

.footer-col a {
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.footer-col a:hover {
    color: var(--color-text-main);
}

.footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
    font-size: 0.85rem;
    color: var(--color-text-muted);
    text-align: center;
}

/* ==========================================================================
   Responsividade / Mobile Quirks
   ========================================================================== */
@media (max-width: 968px) {
    .hero-grid, .footer-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .newsletter-container {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .newsletter-form {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .main-nav {
        display: none; /* Em um cenário real, isso viraria um drawer acionado via JS */
    }
    
    .menu-toggle {
        display: block;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
    }
}
/* Novas regras para o Feed Dinâmico */
.loading-status {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem;
    color: var(--color-text-muted);
    font-weight: 500;
}

.post-thumb img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

/* Garante que o link do título use a cor correta */
.post-title a {
    color: var(--color-text-main);
}
.post-title a:hover {
    color: var(--color-primary);
}
/* ==========================================================================
   PÁGINA DE PRODUTO MINIMALISTA SEM SERIFA
   ========================================================================== */

.product-page-container {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 120px 20px 60px 20px;
    box-sizing: border-box;
}

/* Grade que divide Foto e Informações de Compra */
.product-grid-wrapper {
    display: flex;
    gap: 40px;
    width: 100%;
    align-items: flex-start;
}

/* Coluna da Imagem */
.product-image-column {
    flex: 1;
    position: sticky;
    top: 100px; /* Gruda a imagem na tela enquanto o cliente rola o texto */
}

.product-image-box {
    width: 100%;
    aspect-ratio: 1 / 1; /* Caixa perfeitamente quadrada */
    background-color: #f7f8fa;
    border: 1px dashed #ced4da;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.image-placeholder-icon { font-size: 3rem; }
.image-placeholder-text { font-family: -apple-system, sans-serif; font-size: 0.88rem; color: #666666; }

/* Coluna de Informações */
.product-info-column {
    flex: 1.2;
    display: flex;
    flex-direction: column;
}

.product-category-tag {
    font-family: -apple-system, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #415472;
    margin-bottom: 8px;
}

.product-main-title {
    font-family: -apple-system, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 12px;
}

.product-price-box {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.price-value {
    font-family: -apple-system, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
}

.price-stock-status {
    font-family: -apple-system, sans-serif;
    font-size: 0.85rem;
    color: #2e7d32;
    font-weight: 600;
}

/* Seções de Texto da Coluna */
.product-description-section h2 {
    font-family: -apple-system, sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
}

.product-description-section p {
    font-family: -apple-system, sans-serif;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #333333;
    margin-bottom: 14px;
}

/* Caixa do Formulário de Compra */
.product-purchase-box {
    background-color: #f7f8fa;
    border: 1px solid #eef0f3;
    border-radius: 6px;
    padding: 24px;
    margin-top: 20px;
}

.product-purchase-box h3 {
    font-family: -apple-system, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 4px;
}

.purchase-box-subtitle {
    font-family: -apple-system, sans-serif;
    font-size: 0.85rem;
    color: #666666;
    margin-bottom: 16px;
    line-height: 1.4;
}

/* Elementos do Form Interno */
.product-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}

.product-form-row {
    display: flex;
    gap: 12px;
}

.flex-2 { flex: 2; }
.flex-1 { flex: 1; }

.product-form-group label {
    font-family: -apple-system, sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a1a1a;
}

.product-form-group input {
    font-family: -apple-system, sans-serif;
    padding: 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 0.9rem;
    background-color: #ffffff;
    box-sizing: border-box;
    width: 100%;
}

.product-form-group input:focus {
    outline: none;
    border-color: #415472;
}

.product-btn-submit {
    width: 100%;
    background-color: #1a1a1a;
    color: #ffffff;
    border: none;
    padding: 12px;
    font-family: -apple-system, sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.product-btn-submit:hover { background-color: #333333; }
.product-btn-submit:disabled { background-color: #999999; cursor: not-allowed; }

/* Banners de Resposta AJAX */
.form-status-banner {
    padding: 12px;
    border-radius: 4px;
    font-family: -apple-system, sans-serif;
    font-size: 0.88rem;
    margin-bottom: 14px;
    text-align: center;
}
.success-banner { background-color: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.error-banner { background-color: #ffebee; color: #c62828; border: 1px solid #ffcdd2; }

/* Seção Inferior: Fabricante & FAQ */
.product-extra-details {
    margin-top: 40px;
}

.manufacturer-section h2, .product-faq-section h2 {
    font-family: -apple-system, sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 14px;
}

.manufacturer-section p {
    font-family: -apple-system, sans-serif;
    font-size: 0.98rem;
    line-height: 1.6;
    color: #333333;
}

.faq-item {
    margin-bottom: 20px;
}

.faq-item h3 {
    font-family: -apple-system, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.faq-item p {
    font-family: -apple-system, sans-serif;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #555555;
    margin: 0;
}

/* Responsividade Completa para Mobile */
@media (max-width: 768px) {
    .product-grid-wrapper {
        flex-direction: column;
        gap: 24px;
    }
    .product-image-column {
        position: relative;
        top: 0;
        width: 100%;
    }
    .product-page-container {
        padding: 90px 16px 40px 16px;
    }
}
/* ==========================================================================
   CARDS DE PRODUTO MINIMALISTAS PARA A PÁGINA INICIAL
   ========================================================================== */

/* Grade de Produtos - Alinhada ao comportamento do site */
.product-index-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    margin-top: 24px;
    box-sizing: border-box;
}

/* Estrutura Base do Card */
.product-mini-card {
    background-color: #f7f8fa;
    border: 1px solid #eef0f3;
    border-radius: 6px;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
    display: flex;
    flex-direction: column;
}

/* Link invisível que envelopa o card inteiro para melhor usabilidade */
.product-card-link-wrapper {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Efeito de Destaque Sutil no Hover */
.product-mini-card:hover {
    background-color: #ffffff;
    border-color: #415472; /* Tom de azul do lab */
    transform: translateY(-2px);
}

/* Área Quadrada para Imagem */
.product-card-image-box {
    width: 100%;
    aspect-ratio: 4 / 3; /* Proporção retangular limpa */
    background-color: #eef0f3;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
}

.product-mini-card:hover .product-card-image-box {
    background-color: #f7f8fa; /* Suaviza o fundo da foto no hover */
}

.product-card-icon {
    font-size: 2rem;
    opacity: 0.7;
}

/* Bloco de Textos Internos */
.product-card-details {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Força o rodapé do card a alinhar embaixo */
}

.product-card-tag {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #415472;
    margin-bottom: 6px;
}

.product-card-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.product-card-description {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.85rem;
    color: #666666;
    line-height: 1.4;
    margin: 0 0 16px 0;
}

/* Rodapé Interno do Card (Preço e Ação) */
.product-card-footer {
    margin-top: auto; /* Empurra para a base */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px dashed #eef0f3;
}

.product-card-price {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a1a1a;
}

.product-card-action {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: #415472;
    transition: color 0.15s ease;
}

.product-mini-card:hover .product-card-action {
    color: #1a1a1a;
    text-decoration: underline;
}

/* ==========================================================================
   RESPONSIVIDADE DA GRADE DE PRODUTOS
   ========================================================================== */
@media (max-width: 900px) {
    .product-index-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colunas em tablets */
        gap: 16px;
    }
}

@media (max-width: 600px) {
    .product-index-grid {
        grid-template-columns: 1fr; /* 1 coluna inteira no celular */
        gap: 16px;
    }
    
    .product-card-image-box {
        aspect-ratio: 16 / 9; /* Imagem mais horizontal no mobile para economizar rolagem */
    }
}
/* ==========================================================================
   SEÇÃO DE SERVIÇOS E COMBOS (CARROSSEL MINIMALISTA)
   ========================================================================== */
.services-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 24px;
    border-top: 1px solid var(--acorn-grey-20, #E0E0E6);
}

.services-section .section-header {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-bottom: 40px;
}

/* Controles de navegação do Slide */
.carousel-controls {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.control-btn {
    width: 40px;
    height: 40px;
    border-radius: var(--acorn-radius-md, 8px);
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    background-color: #ffffff;
    cursor: pointer;
    font-size: 1.1rem;
    color: var(--acorn-ink-70, #5B5B66);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.control-btn:hover {
    background-color: var(--acorn-grey-10, #F9F9FB);
    color: var(--color-primary, #415472);
    border-color: var(--color-primary, #415472);
}

/* Wrapper do Slide Mecânico */
.carousel-wrapper {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; /* Oculta barra no Firefox */
    padding: 12px 4px;
    scroll-behavior: smooth;
}

.carousel-wrapper::-webkit-scrollbar {
    display: none; /* Oculta barra no Chrome/Safari */
}

/* CARD PADRÃO MINIMALISTA */
.service-card {
    flex: 0 0 calc(33.333% - 16px); /* Exibe 3 cards por padrão em telas grandes */
    min-width: 300px;
    scroll-snap-align: start;
    background-color: #ffffff;
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    border-radius: var(--acorn-radius-md, 8px);
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(21, 20, 26, 0.05);
    border-color: var(--acorn-grey-30, #8F8F9D);
}

.card-type {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--acorn-ink-70, #5B5B66);
    margin-bottom: 12px;
}

.service-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--acorn-ink-90, #15141A);
    margin-bottom: 16px;
    line-height: 1.2;
}

.service-price {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--color-primary, #415472);
    margin-bottom: 16px;
    display: flex;
    align-items: baseline;
}

.price-unit {
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--acorn-ink-70, #5B5B66);
    margin-left: 4px;
}

.service-description {
    font-size: 0.92rem;
    color: var(--acorn-ink-70, #5B5B66);
    margin-bottom: 24px;
    line-height: 1.5;
    flex-grow: 1;
}

.service-features {
    list-style: none;
    margin-bottom: 32px;
    border-top: 1px solid var(--acorn-grey-20, #E0E0E6);
    padding-top: 20px;
}

.service-features li {
    font-size: 0.88rem;
    color: var(--acorn-ink-90, #15141A);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.service-features li::before {
    content: "✓";
    color: var(--color-primary, #415472);
    font-weight: bold;
}

/* BOTÃO DE CONTATO (ESTILO ACORN OUTLINE) */
.service-cta {
    display: block;
    text-align: center;
    padding: 12px;
    border: 1px solid var(--color-primary, #415472);
    color: var(--color-primary, #415472);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    border-radius: var(--acorn-radius-md, 8px);
    transition: all 0.2s ease;
}

.service-cta:hover {
    background-color: rgba(65, 84, 114, 0.05);
}

/* VARIAÇÃO: CARD COMBO (Inspirado no tom #415472) */
.combo-card {
    border-color: var(--color-primary, #415472);
    background-color: var(--acorn-grey-10, #F9F9FB);
}

.font-highlight {
    color: var(--color-primary, #415472);
}

.btn-combo {
    background-color: var(--color-primary, #415472);
    color: #ffffff;
}

.btn-combo:hover {
    background-color: #2d3b52;
}

/* VARIAÇÃO: COMBO PREMIUM DARK STYLE */
.combo-card-premium {
    background-color: #2d3b52;
    border-color: #2d3b52;
    color: #ffffff;
}

.combo-card-premium .service-title,
.combo-card-premium .service-price,
.combo-card-premium .service-features li {
    color: #ffffff;
}

.combo-card-premium .service-features li::before {
    color: #ffffff;
}

.combo-card-premium .price-unit,
.combo-card-premium .service-description {
    color: #cbd5e1;
}

.btn-premium {
    background-color: #ffffff;
    color: #2d3b52;
    border-color: #ffffff;
}

.btn-premium:hover {
    background-color: var(--acorn-grey-10, #F9F9FB);
}

/* RESPONSIVIDADE E EXIBIÇÃO EM VIEWPORT MOBILE */
@media (max-width: 1024px) {
    .service-card {
        flex: 0 0 calc(50% - 12px); /* 2 cards por slide */
    }
}

@media (max-width: 680px) {
    .service-card {
        flex: 0 0 100%; /* 1 card por slide (foco total no snap-scroll) */
    }
    .services-section .section-header {
        align-items: flex-start;
    }
}
/* ==========================================================================
   ESTILOS EDITORIAIS MINIMALISTAS (SEM SERIFA) - HISTÓRIA DO LAB
   ========================================================================== */

.editorial-container {
    background-color: #ffffff;
    padding: 120px 20px 80px 20px;
    min-height: 80vh;
    display: flex;
    justify-content: center;
}

.editorial-article {
    max-width: 680px;
    width: 100%;
}

/* Meta dados do topo */
.article-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: #666666;
    margin-bottom: 12px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.article-category {
    color: #415472;
    font-weight: 600;
}

/* Títulos Sem Serifa */
.article-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 2.4rem;
    line-height: 1.25;
    color: #1a1a1a;
    margin-bottom: 14px;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.article-subtitle {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #555555;
    margin-bottom: 24px;
    font-weight: 400;
}

/* Bloco do Autor */
.article-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}

.author-avatar {
    width: 44px;
    height: 44px;
    background-color: #f7f8fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    border: 1px solid #eef0f3;
}

.author-details {
    display: flex;
    flex-direction: column;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 0.88rem;
}

.author-details strong {
    color: #1a1a1a;
    font-weight: 600;
}

.author-details span {
    color: #666666;
}

.editorial-divider {
    border: 0;
    border-top: 1px solid #eef0f3;
    margin: 32px 0;
}

/* Corpo do Texto Otimizado Sem Serifa */
.article-content {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.05rem; /* Ajustado para fontes lineares ficarem harmônicas */
    line-height: 1.7;
    color: #242424;
    letter-spacing: -0.1px;
}

.article-content p {
    margin-bottom: 22px;
}

/* Letra Capitular Sem Serifa (Moderna) */
.article-content p.dropcap::first-letter {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 3.8rem;
    float: left;
    margin-top: 2px;
    margin-right: 10px;
    line-height: 0.85;
    font-weight: 800;
    color: #1a1a1a;
}

/* Títulos Intermediários */
.article-content h2 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-top: 38px;
    margin-bottom: 14px;
    letter-spacing: -0.3px;
}

/* Citações Sem Serifa e Minimalistas */
.article-content blockquote {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.15rem;
    font-style: normal; /* Remove o itálico para manter o aspecto corporativo limpo */
    line-height: 1.6;
    color: #444444;
    border-left: 3.5px solid #1a1a1a;
    padding-left: 20px;
    margin: 32px 0;
    font-weight: 500;
}

/* Imagens/Figuras */
.article-image-box {
    margin: 36px 0;
    text-align: center;
}

.placeholder-image {
    width: 100%;
    height: 240px;
    background-color: #f7f8fa;
    border: 1px dashed #ced4da;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
}

.article-image-box figcaption {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 0.85rem;
    color: #666666;
    margin-top: 10px;
}

/* Bloco de Conversão */
.article-footer-cta {
    background-color: #f7f8fa;
    border: 1px solid #eef0f3;
    border-radius: 8px;
    padding: 32px;
    text-align: center;
    margin-top: 40px;
}

.article-footer-cta h3 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.3rem;
    color: #1a1a1a;
    margin-bottom: 8px;
    font-weight: 700;
}

.article-footer-cta p {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 0.92rem;
    color: #555555;
    margin-bottom: 20px;
}

.editorial-btn {
    display: inline-block;
    background-color: #1a1a1a;
    color: #ffffff !important;
    text-decoration: none;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    padding: 12px 24px;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 20px;
    transition: background-color 0.2s ease;
}

.editorial-btn:hover {
    background-color: #333333;
}

/* Responsividade */
@media (max-width: 728px) {
    .article-title {
        font-size: 1.85rem;
    }
    .editorial-container {
        padding: 90px 16px 40px 16px;
    }
}

/* ==========================================================================
   INTEGRAÇÃO DE PROJETOS COMPATÍVEIS COM O CONTAINER DE PUBLICAÇÕES
   ========================================================================== */

/* Lista de Cards empilhados ocupando exatamente 100% do bloco de posts */
.projects-list-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    margin-top: 24px; /* Separação harmônica abaixo do cabeçalho */
}

/* Card Horizontal Minimalista */
.project-horizontal-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background-color: #f7f8fa;
    border: 1px solid #eef0f3;
    border-radius: 6px;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
    gap: 24px;
    box-sizing: border-box; /* Garante que as bordas não quebrem o tamanho */
}

.project-horizontal-card:hover {
    background-color: #ffffff;
    border-color: #415472;
    transform: translateY(-1px);
}

/* Elementos de Categoria (Badges) */
.project-badge-wrapper {
    flex-shrink: 0;
    min-width: 90px;
}

.project-type-badge {
    display: inline-block;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 4px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.project-type-badge.type-oficina { background-color: #e8f5e9; color: #2e7d32; }
.project-type-badge.type-curso { background-color: #e3f2fd; color: #1565c0; }
.project-type-badge.type-coletivo { background-color: #f3e5f5; color: #6a1b9a; }

/* Bloco Central com Textos */
.project-main-details {
    flex: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.project-name {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

.project-institution {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.88rem;
    color: #555555;
}

/* Espaço da Data e Link de Ação */
.project-meta-info {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 240px;
}

.project-period {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.88rem;
    color: #666666;
    white-space: nowrap;
}

.project-link-action {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    color: #415472;
    text-decoration: none;
    transition: color 0.15s ease;
    white-space: nowrap;
}

.project-link-action:hover {
    color: #1a1a1a;
    text-decoration: underline;
}

/* Tratamento Responsivo para Telas Menores */
@media (max-width: 768px) {
    .project-horizontal-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 16px;
    }

    .project-badge-wrapper {
        min-width: auto;
        width: auto;
    }

    .project-main-details {
        width: 100%;
    }

    .project-meta-info {
        width: 100%;
        min-width: auto;
        border-top: 1px dashed #eef0f3;
        padding-top: 10px;
        flex-direction: row;
        justify-content: space-between;
    }
}

/* Estilo para listas dentro do texto da Wiki */
.article-content ul {
    margin-bottom: 22px;
    padding-left: 24px;
}

.article-content li {
    margin-bottom: 8px;
}

/* Caixa de destaque focada em capturar respostas da IA (SGE) */
.wiki-highlight-answer {
    background-color: #f7f8fa;
    border: 1px solid #eef0f3;
    border-left: 4px solid #415472; /* Tarja com a cor do lab */
    padding: 16px 20px;
    border-radius: 0 6px 6px 0;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #1a1a1a !important;
    margin-bottom: 32px;
}

.wiki-highlight-answer strong {
    display: inline-block;
    font-size: 1.05rem;
    margin-bottom: 6px;
    color: #415472;
}

/* ==========================================================================
   ESTILOS ADICIONAIS PARA O ÍNDICE DA WIKI (MINIMALISTA)
   ========================================================================== */

.wiki-index-grid {
    display: flex;
    flex-direction: column;
    gap: 40px; /* Separação generosa entre os blocos de assunto */
    width: 100%;
    margin-top: 24px;
}

.wiki-category-block {
    display: flex;
    flex-direction: column;
}

.wiki-category-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: -0.2px;
}

.cat-icon {
    font-size: 1.1rem;
    opacity: 0.8;
}

/* Listagem de Links da Wiki */
.wiki-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wiki-links-list li {
    padding: 14px 0;
    border-bottom: 1px solid #eef0f3;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wiki-links-list li:last-child {
    border-bottom: none; /* Remove a linha do último item da categoria */
}

/* O Link do Artigo */
.wiki-links-list li a {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 1.05rem;
    color: #415472; /* Tom de azul do lab */
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s ease;
    display: inline-block;
    width: fit-content;
}

.wiki-links-list li a:hover {
    color: #1a1a1a;
    text-decoration: underline;
}

/* Descrição auxiliar do artigo (Abaixo do link) */
.wiki-link-desc {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 0.88rem;
    color: #666666;
    margin: 0;
    line-height: 1.4;
}

/* Ajustes finos para Mobile */
@media (max-width: 728px) {
    .wiki-index-grid {
        gap: 32px;
    }
    .wiki-category-title {
        font-size: 1.15rem;
    }
    .wiki-links-list li a {
        font-size: 1rem;
    }
}

/* ==========================================================================
   ESTILOS DA PÁGINA DE FORMULÁRIO / FICHA DE ENVIO ANALÓGICA
   ========================================================================== */
.form-page-container {
    padding: 40px 24px;
    background-color: var(--acorn-grey-10, #F9F9FB);
    min-height: calc(100vh - 70px);
    display: flex;
    justify-content: center;
}

.form-card {
    background-color: #ffffff;
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    border-radius: var(--acorn-radius-md, 8px);
    width: 100%;
    max-width: 850px;
    padding: 40px;
    box-shadow: 0 4px 12px rgba(21, 20, 26, 0.02);
}

.print-form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--color-primary, #415472);
    padding-bottom: 20px;
    margin-bottom: 32px;
}

.print-title-group h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--acorn-ink-90, #15141A);
    letter-spacing: -0.02em;
}

.print-title-group p {
    font-size: 0.9rem;
    color: var(--acorn-ink-70, #5B5B66);
    margin-top: 4px;
}

.print-lab-brand {
    text-align: right;
    display: flex;
    flex-direction: column;
}

.print-lab-brand strong {
    color: var(--color-primary, #415472);
    font-size: 1.2rem;
}

.print-lab-brand span {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--acorn-ink-70, #5B5B66);
}

/* Blocos de seções internos */
.form-section-block {
    margin-bottom: 36px;
}

.block-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-primary, #415472);
    margin-bottom: 16px;
    border-bottom: 1px solid var(--acorn-grey-20, #E0E0E6);
    padding-bottom: 8px;
}

.block-subtitle {
    font-size: 0.88rem;
    color: var(--acorn-ink-70, #5B5B66);
    margin-bottom: 16px;
}

/* Sistema de Grids para Inputs do cliente */
.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.form-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-bottom: 16px; }

.input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.input-group label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--acorn-ink-90, #15141A);
}

.input-group input {
    padding: 10px 12px;
    border: 1px solid var(--acorn-grey-30, #8F8F9D);
    border-radius: var(--acorn-radius-sm, 4px);
    font-family: inherit;
    font-size: 0.9rem;
    color: var(--acorn-ink-90, #15141A);
}

.input-group input:focus {
    border-color: var(--color-primary, #415472);
    outline: none;
}

/* Tabela Seletora de Rolos de Filmes */
.film-selection-table {
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    border-radius: var(--acorn-radius-sm, 4px);
    background-color: var(--acorn-grey-10, #F9F9FB);
}

.film-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--acorn-grey-20, #E0E0E6);
}

.film-row:last-child { border-bottom: none; }

.film-info { display: flex; flex-direction: column; gap: 4px; }
.film-info strong { font-size: 0.95rem; color: var(--acorn-ink-90, #15141A); }
.film-info span { font-size: 0.85rem; color: var(--acorn-ink-70, #5B5B66); }

.qty-selector { display: flex; align-items: center; gap: 8px; }
.qty-selector label { font-size: 0.85rem; font-weight: 600; }
.qty-input {
    width: 60px;
    padding: 6px;
    text-align: center;
    border: 1px solid var(--acorn-grey-30, #8F8F9D);
    border-radius: var(--acorn-radius-sm, 4px);
    font-weight: 600;
}

/* Cards de Opcionais (Checkboxes) */
.addons-grid { display: flex; flex-direction: column; gap: 12px; }
.checkbox-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    border-radius: var(--acorn-radius-sm, 4px);
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.2s ease;
}
.checkbox-card:hover { background-color: var(--acorn-grey-10, #F9F9FB); }
.checkbox-card input[type="checkbox"] { margin-top: 3px; width: 16px; height: 16px; }
.checkbox-content { display: flex; flex-direction: column; gap: 2px; }
.checkbox-content strong { font-size: 0.9rem; color: var(--acorn-ink-90, #15141A); }
.checkbox-content span { font-size: 0.82rem; color: var(--acorn-ink-70, #5B5B66); }

/* Rodapé do Caixa */
.form-summary-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    border-top: 2px dashed var(--acorn-grey-20, #E0E0E6);
    padding-top: 24px;
}

.total-box { display: flex; flex-direction: column; }
.total-box span { font-size: 0.9rem; color: var(--acorn-ink-70, #5B5B66); }
.total-box strong { font-size: 1.8rem; color: var(--color-primary, #415472); font-weight: 700; }

.action-buttons { display: flex; gap: 12px; }

.btn-primary-action, .btn-secondary-action {
    padding: 12px 24px;
    border-radius: var(--acorn-radius-md, 8px);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.btn-primary-action {
    background-color: var(--color-primary, #415472);
    color: #ffffff;
    border: 1px solid transparent;
}
.btn-primary-action:hover { background-color: #2d3b52; }

.btn-secondary-action {
    background-color: #ffffff;
    border: 1px solid var(--acorn-grey-30, #8F8F9D);
    color: var(--acorn-ink-90, #15141A);
}
.btn-secondary-action:hover { background-color: var(--acorn-grey-10, #F9F9FB); }

.print-footer-notice {
    display: none; /* Só aparece na folha de impressão */
    font-size: 0.78rem;
    text-align: center;
    color: var(--acorn-ink-70, #5B5B66);
    margin-top: 30px;
}

/* Responsividade Mobile do Form */
@media (max-width: 768px) {
    .form-grid-2, .form-grid-3 { grid-template-columns: 1fr; gap: 14px; }
    .form-summary-footer { flex-direction: column; align-items: flex-start; gap: 20px; }
    .action-buttons { width: 100%; }
    .btn-primary-action, .btn-secondary-action { flex: 1; text-align: center; justify-content: center; }
    .form-card { padding: 20px; }
}

/* ESTRUTURA PARA AGRAMAÇÃO COMPACTA DO CLIENTE (WEB) */
.compact-client-row {
    display: flex;
    gap: 20px;
    margin-bottom: 16px;
}

.compact-client-row .input-group {
    flex: 1;
}

/* Responsividade Básica na Web para Telas de Smartphone */
@media (max-width: 650px) {
    .compact-client-row {
        flex-direction: column;
        gap: 12px;
        margin-bottom: 0;
    }
}

/* ==========================================================================
   BLOCO DE IMPRESSÃO - REVISADO E DRÁSTICAMENTE COMPACTADO PARA 1 PÁGINA A4
   ========================================================================== */
@media print {
    @page {
        size: A4;
        margin: 5mm 8mm; /* Margem física mínima no papel */
    }

    .no-print, .acorn-header, .action-buttons, .instructions-card {
        display: none !important;
    }
    
    body {
        background-color: #ffffff !important;
        color: #000000 !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 10pt; /* Reduz ligeiramente a escala da fonte global */
    }

    .form-page-container { padding: 0 !important; margin: 0 !important; }
    .form-card { padding: 0 !important; border: none !important; box-shadow: none !important; }
    
    /* Compactação Extrema do Topo */
    .print-form-header {
        margin-bottom: 8px !important;
        padding-bottom: 4px !important;
        border-bottom: 1.5px solid #000000 !important;
    }
    .print-title-group h2 { font-size: 13pt !important; margin: 0; }
    .print-title-group p { font-size: 8pt !important; margin: 2px 0 0 0; }
    .print-lab-brand strong { font-size: 11pt !important; }

    /* Redução drástica de respiros entre seções */
    .form-section-block {
        margin-bottom: 6px !important; 
    }

    .block-title {
        font-size: 9.5pt !important;
        margin-bottom: 4px !important;
        padding-bottom: 1px !important;
        border-bottom: 1px solid #000000 !important;
    }
    
    .block-subtitle { display: none !important; } /* Oculta descrições óbvias no papel */

    /* AGRUPAMENTO HORIZONTAL DAS INFORMAÇÕES DO CLIENTE NO PAPEL */
    .compact-client-row {
        display: flex !important;
        flex-direction: row !important;
        gap: 16px !important;
        margin-bottom: 4px !important;
    }
    
    .last-address-group {
        margin-top: 4px !important;
    }

    .input-group label {
        font-size: 7.5pt !important;
        font-weight: bold;
    }
    
    .input-group input, .form-select-custom {
        border: none !important;
        border-bottom: 1px solid #000000 !important;
        border-radius: 0 !important;
        padding: 1px 0 !important;
        font-size: 9pt !important;
        background: transparent !important;
        appearance: none;
    }

    /* Linhas Dinâmicas de Filmes */
    .film-row-qty-only { padding: 2px 0 !important; }
    .film-iso-row {
        padding: 4px 8px !important;
        margin-bottom: 3px !important;
        border: 1px solid #000000 !important;
        flex-direction: row !important;
    }
    .film-number-label { font-size: 8.5pt !important; }
    .film-iso-inputs-group { max-width: 65% !important; gap: 8px !important; }
    .tech-group.model-group input { width: 130px !important; }
    .tech-group.small-tech input { width: 50px !important; }
    .film-iso-colors-group { gap: 8px !important; }
    .checkbox-status-inline { font-size: 7pt !important; }

    /* Caixa de Aviso de Descarte e Rodapé de Valores */
    .negatives-warning-box {
        padding: 6px 8px !important;
        font-size: 7.5pt !important;
        margin-bottom: 6px !important;
        border: 1px solid #000000 !important;
        border-left: 3px solid #000000 !important;
    }

    .form-summary-footer {
        margin-top: 8px !important;
        padding-top: 4px !important;
        border-top: 1px dashed #000000 !important;
    }
    .total-box strong { font-size: 13pt !important; }
    .print-footer-notice { font-size: 7pt !important; margin-top: 4px !important; }
}
/* Seletor de Combo Superior */
.form-select-custom {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--acorn-grey-30, #8F8F9D);
    border-radius: var(--acorn-radius-sm, 4px);
    background-color: #ffffff;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--acorn-ink-90, #15141A);
    cursor: pointer;
    font-weight: 500;
}
.form-select-custom:focus {
    border-color: var(--color-primary, #415472);
    outline: none;
}

/* Nova Tabela Estruturada de Filmes + ISOs */
.film-row-complex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid var(--acorn-grey-20, #E0E0E6);
    gap: 20px;
}
.film-row-complex:last-child { border-bottom: none; }

.film-main-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.film-main-info strong { font-size: 0.95rem; color: var(--acorn-ink-90, #15141A); }
.film-main-info span { font-size: 0.85rem; color: var(--acorn-ink-70, #5B5B66); }

.film-technical-inputs {
    display: flex;
    gap: 16px;
    align-items: flex-end;
}

.tech-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.tech-group label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--acorn-ink-70, #5B5B66);
    text-transform: uppercase;
}
.tech-group input[type="text"] {
    width: 130px;
    padding: 8px 10px;
    border: 1px solid var(--acorn-grey-30, #8F8F9D);
    border-radius: var(--acorn-radius-sm, 4px);
    font-size: 0.88rem;
}
.tech-group input:focus {
    border-color: var(--color-primary, #415472);
    outline: none;
}

/* Responsividade para o bloco complexo em Mobile */
@media (max-width: 768px) {
    .film-row-complex {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .film-technical-inputs {
        width: 100%;
        justify-content: space-between;
    }
    .tech-group input[type="text"] {
        width: 100%;
    }
}

/* Ajuste na impressão para manter as caixas de ISO legíveis */
@media print {
    .form-select-custom {
        border: none !important;
        appearance: none;
        font-weight: bold;
        padding: 0;
    }
    .tech-group input[type="text"] {
        border: none !important;
        border-bottom: 1px solid #000000 !important;
        border-radius: 0 !important;
        padding: 2px 0 !important;
    }
}
/* Container de empilhamento vertical do formulário */
.form-wrapper-stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 850px;
}

/* CARD DE INSTRUÇÕES DE ENVIO (EXCLUSIVO WEB) */
.instructions-card {
    background-color: #ffffff;
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    border-radius: var(--acorn-radius-md, 8px);
    padding: 32px;
    box-shadow: 0 4px 12px rgba(21, 20, 26, 0.02);
}

.instructions-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-primary, #415472);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.instructions-list {
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.instructions-list li {
    font-size: 0.92rem;
    color: var(--acorn-ink-90, #15141A);
    line-height: 1.6;
}

.instructions-list strong {
    color: var(--color-primary, #415472);
}

/* Caixa de endereço destacada */
.address-box {
    margin-top: 12px;
    background-color: var(--acorn-grey-10, #F9F9FB);
    border-left: 3px solid var(--color-primary, #415472);
    padding: 16px;
    border-radius: 0 var(--acorn-radius-sm, 4px) var(--acorn-radius-sm, 4px) 0;
    font-family: monospace;
    font-size: 0.9rem;
    color: var(--acorn-ink-90, #15141A);
    line-height: 1.5;
}
/* Layout da linha superior de quantidade */
.film-row-qty-only {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
}

/* CONTAINER DE FILMES DINÂMICOS */
.dynamic-films-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.film-iso-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--acorn-grey-10, #F9F9FB);
    border: 1px solid var(--acorn-grey-20, #E0E0E6);
    border-radius: var(--acorn-radius-sm, 4px);
    padding: 12px 16px;
}

.film-number-label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-primary, #415472);
}

.film-iso-colors-group,
.film-iso-inputs-group {
    display: flex;
    gap: 16px;
}

/* Responsividade Mobile para as linhas geradas */
@media (max-width: 600px) {
    .film-iso-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .film-iso-inputs-group {
        width: 100%;
        justify-content: space-between;
    }
    .film-iso-inputs-group .tech-group {
        flex: 1;
    }
}

/* REGRAS DE IMPRESSÃO - GARANTINDO PAGINAÇÃO ÚNICA COMPACTA */
@media print {
    .film-row-qty-only {
        padding: 4px 0 !important;
    }
    .film-iso-row {
        padding: 6px 10px !important;
        margin-bottom: 4px !important;
        background-color: #ffffff !important;
        border: 1px solid #000000 !important;
        flex-direction: row !important;
    }
    .film-iso-inputs-group {
        gap: 20px !important;
    }
    .film-iso-inputs-group .tech-group input {
        width: 140px !important;
        border-bottom: 1px solid #000000 !important;
    }
}
/* Checkboxes em linha para Status do Filme (Vencido e Rebobinado) */
.film-iso-colors-group {
    display: flex;
    gap: 16px;
    align-items: center;
}

.checkbox-status-inline {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--acorn-ink-90, #15141A);
    cursor: pointer;
    font-weight: 500;
}
.checkbox-status-inline input[type="checkbox"] {
    accent-color: var(--color-primary, #415472);
    width: 15px;
    height: 15px;
    cursor: pointer;
}

/* Caixa de Aviso de Descarte de Negativos (Estilo Alerta Compacto) */
.negatives-warning-box {
    background-color: #FFF9E6;
    border: 1px solid #FFE0B2;
    border-left: 4px solid var(--acorn-yellow-50, #FFBD4F);
    border-radius: var(--acorn-radius-sm, 4px);
    padding: 14px 16px;
    font-size: 0.84rem;
    color: #664D03;
    line-height: 1.5;
    margin-bottom: 20px;
    text-align: left;
    width: 100%;
}

/* Ajustes finos para a Impressão em Página Única A4 */
@media print {
    .film-iso-colors-group {
        gap: 12px !important;
    }
    .checkbox-status-inline {
        font-size: 7.5pt !important;
    }
    .checkbox-status-inline input[type="checkbox"] {
        width: 11px !important;
        height: 11px !important;
        border: 1px solid #000000 !important;
    }
    .negatives-warning-box {
        background-color: transparent !important;
        border: 1px solid #000000 !important;
        border-left: 3px solid #000000 !important;
        color: #000000 !important;
        padding: 8px !important;
        font-size: 7.5pt !important;
        margin-bottom: 10px !important;
    }
    #taxNoticeDisplay {
        font-size: 7pt !important;
        color: #000000 !important;
    }
}
/* Ajuste de proporção para os campos técnicos */
.film-iso-inputs-group {
    display: flex;
    gap: 16px;
    flex: 1;
    max-width: 65%; /* Limita o tamanho para sobrar espaço para os checkboxes */
}

.tech-group.model-group {
    flex: 2; /* O campo de modelo do filme ganha o dobro de espaço horizontal */
}

.tech-group.small-tech {
    flex: 1;
}

/* Responsividade Mobile para telas pequenas */
@media (max-width: 768px) {
    .film-iso-inputs-group {
        max-width: 100%;
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }
}

/* REGRAS DE IMPRESSÃO - GARANTINDO PAGINAÇÃO ÚNICA A4 COMPACTA */
@media print {
    .film-iso-inputs-group {
        max-width: 70% !important;
        gap: 12px !important;
    }
    
    .tech-group.model-group input {
        width: 160px !important; /* Tamanho fixo ideal para o papel */
        border-bottom: 1px solid #000000 !important;
    }

    .tech-group.small-tech input {
        width: 80px !important; /* ISO nominal e exposto ficam mais estreitos no papel */
        border-bottom: 1px solid #000000 !important;
    }
}
/* Layout adaptável para acomodar os dois botões primários na tela */
.action-buttons {
    display: flex;
    gap: 12px;
    width: 100%;
    justify-content: flex-end;
}

.submit-email-btn {
    background-color: #2e7d32 !important; /* Cor verde profissional para envio */
    color: #ffffff !important;
    border: none;
    cursor: pointer;
}

.submit-email-btn:hover {
    background-color: #1b5e20 !important; /* Escurece levemente no hover */
}

@media (max-width: 600px) {
    .action-buttons {
        flex-direction: column;
    }
}
@media print {
    /* ... suas regras anteriores de impressão ... */
    #formStatusMessage {
        display: none !important; /* Evita que o aviso verde saia impresso no papel */
    }
}

/* ==========================================================================
   LIVRO ÁLBUM INTERATIVO 3D (CLIQUE DIRETO NAS PÁGINAS)
   ========================================================================== */

/* Cenário Tridimensional e Centralização do Livro */
.kodak-book-container {
    width: 100%;
    max-width: 520px;
    margin: 60px auto;
    perspective: 1800px; /* Profundidade do efeito */
    position: relative;
}

.kodak-book-container input[type="radio"] {
    display: none; /* Oculta os seletores completamente */
}

/* Caixa estrutural do livro */
.kodak-book-body {
    width: 100%;
    height: 650px;
    position: relative;
    transform-style: preserve-3d;
}

/* Definição Básica de cada Folha */
.book-page {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fce181; /* Amarelo Kodak em todas as folhas */
    border: 2px solid #121212;
    box-shadow: 6px 6px 0px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
    
    /* Eixo de rotação fixo à esquerda (Lombada do álbum) */
    transform-origin: left center;
    transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1), z-index 0.7s;
    backface-visibility: hidden;
}

/* Pilha Padrão de Camadas */
.book-cover { z-index: 4 !important; background-color: #f7d136 !important; }
.page-1 { z-index: 3; }
.page-2 { z-index: 2; }
.page-3 { z-index: 1; backface-visibility: visible; } /* Última página não some por trás */

/* Zonas de clique Invisíveis em cima das folhas */
.click-zone {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%; /* Metade da página para cada comando */
    cursor: pointer;
    z-index: 10;
}
.prev-zone { left: 0; }  /* Lado esquerdo volta */
.next-zone { right: 0; } /* Lado direito avança */

/* ==========================================================================
   LÓGICA TRIDIMENSIONAL DE VIRADA DE PÁGINAS
   ========================================================================== */

/* ESTADO 0: Tudo fechado na capa */
#goto-cover:checked ~ .kodak-book-body .book-page { transform: rotateY(0deg); }

/* ESTADO 1: Capa aberta */
#goto-page1:checked ~ .kodak-book-body .book-cover { transform: rotateY(-180deg); z-index: 0 !important; }
#goto-page1:checked ~ .kodak-book-body .page-1 { transform: rotateY(0deg); z-index: 3; }
#goto-page1:checked ~ .kodak-book-body .page-2,
#goto-page1:checked ~ .kodak-book-body .page-3 { transform: rotateY(0deg); }

/* ESTADO 2: Página 1 aberta (Revela Página 2) */
#goto-page2:checked ~ .kodak-book-body .book-cover,
#goto-page2:checked ~ .kodak-book-body .page-1 { transform: rotateY(-180deg); z-index: 0 !important; }
#goto-page2:checked ~ .kodak-book-body .page-2 { transform: rotateY(0deg); z-index: 3; }
#goto-page2:checked ~ .kodak-book-body .page-3 { transform: rotateY(0deg); }

/* ESTADO 3: Página 2 aberta (Revela Página 3 - Final) */
#goto-page3:checked ~ .kodak-book-body .book-cover,
#goto-page3:checked ~ .kodak-book-body .page-1,
#goto-page3:checked ~ .kodak-book-body .page-2 { transform: rotateY(-180deg); z-index: 0 !important; }
#goto-page3:checked ~ .kodak-book-body .page-3 { transform: rotateY(0deg); z-index: 3; }

/* ==========================================================================
   ELEMENTOS DE MAQUETAGEM INTERNA DO ÁLBUM
   ========================================================================== */
.kodak-cover-design {
    width: 100%;
    height: 100%;
    border: 3px double #121212;
    padding: 25px 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.kodak-yellow-stripe { text-align: center; width: 100%; }
.cover-brand { font-family: var(--font-heading) !important; font-size: 2.4rem; font-weight: 900; color: #121212; display: block; }
.cover-red-box { background-color: #d71920; color: #ffffff !important; font-family: var(--font-heading) !important; font-weight: 900; font-size: 0.8rem; padding: 4px 15px; display: inline-block; margin-top: 5px; border: 1px solid #121212; }
.cover-lab-label { background-color: #fbf9f5; border: 2px solid #121212; width: 95%; padding: 15px; box-shadow: 4px 4px 0px #121212; }
.label-title { font-family: var(--font-heading) !important; font-size: 0.85rem; font-weight: 900; display: block; border-bottom: 1px solid #121212; padding-bottom: 5px; margin-bottom: 10px; }
.label-lines p { font-size: 0.9rem !important; margin-bottom: 6px !important; border-bottom: 1px dashed #c5bfae; padding-bottom: 2px; }
.handwritten { font-family: 'Courier New', Courier, monospace !important; color: #1d3557; font-weight: bold; font-style: italic; }
.cover-hint { font-family: var(--font-heading) !important; font-size: 0.8rem; font-weight: 900; color: #121212; }

/* Molduras de Fotos Reveladas */
.photo-print-frame {
    background-color: #fbf9f5;
    border: 1px solid #c5bfae;
    padding: 15px 15px 35px 15px;
    position: relative;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.1);
    width: 95%;
}
.photo-print-frame img {
    width: 100% !important;
    height: 290px !important;
    object-fit: cover;
    border: 1px solid #121212 !important;
    filter: grayscale(1) contrast(1.1) !important;
}
.photo-date-stamp { position: absolute; bottom: 42px; right: 25px; color: #ff6600; font-family: monospace !important; font-weight: bold; font-size: 1rem; letter-spacing: 2px; }
.photo-album-caption { margin-top: 15px; font-family: var(--font-body) !important; font-size: 1.05rem; font-style: italic; color: #121212; text-align: center !important; }

/* Cantoneiras */
.photo-corner { position: absolute; width: 14px; height: 14px; border: 2px solid #121212; background-color: #2d4263; }
.photo-corner.top-left     { top: 10px; left: 10px; border-right: none; border-bottom: none; }
.photo-corner.top-right    { top: 10px; right: 10px; border-left: none; border-bottom: none; }
.photo-corner.bottom-left  { bottom: 28px; left: 10px; border-right: none; border-top: none; }
.photo-corner.bottom-right { bottom: 28px; right: 10px; border-left: none; border-top: none; }
/* ==========================================================================
   CONFIGURAÇÃO DA CAPA SÓ COM IMAGEM
   ========================================================================== */

/* Garante que a capa de imagem se posiciona no topo da pilha */
.book-cover-img {
    z-index: 4 !important;
    padding: 0 !important; /* Remove o espaçamento interno para a imagem colar nas bordas */
    background: #121212;
    overflow: hidden;
    transform-origin: left center;
    transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1), z-index 0.7s;
    backface-visibility: hidden;
}

/* Força a imagem a cobrir 100% do espaço do livrinho */
.cover-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover; /* Recorta e ajusta a imagem automaticamente ao retângulo */
    display: block;
    border: none !important;
}

/* ==========================================================================
   AÇÕES DE ANIMAÇÃO DA NOVA CAPA
   ========================================================================== */

/* Capa fechada */
#goto-cover:checked ~ .kodak-book-body .book-cover-img { 
    transform: rotateY(0deg); 
    z-index: 4 !important;
}

/* Capa aberta (Gira 180 graus para a esquerda) */
#goto-page1:checked ~ .kodak-book-body .book-cover-img,
#goto-page2:checked ~ .kodak-book-body .book-cover-img,
#goto-page3:checked ~ .kodak-book-body .book-cover-img { 
    transform: rotateY(-180deg); 
    z-index: 0 !important; 
}