/* ==========================================================================
   Prêt-à-Porter Theme — Base: reset, fontes, design tokens
   Cores e tipografia extraídas do Figma "Salão CasaNoivas Prêt-à-Porter (Copy)"
   fileKey 4E4yfsPKbqXifZhfi4AEKB via mcp__figma__get_design_context.
   ========================================================================== */

/* Neue Montreal — já licenciada (copiada do casamoda-theme) */
@font-face {
    font-family: 'Neue Montreal';
    src: url('../fonts/NeueMontreal-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Neue Montreal';
    src: url('../fonts/NeueMontreal-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Neue Montreal';
    src: url('../fonts/NeueMontreal-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Neue Montreal';
    src: url('../fonts/NeueMontreal-BoldItalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Blacker Sans Text — PAGA. Arquivo ainda não recebido do cliente.
   Aponta para o nome de arquivo esperado; enquanto não existir, o navegador
   ignora o @font-face (404) e cai no fallback da pilha --pap-font-heading. */
@font-face {
    font-family: 'Blacker Sans Text';
    src: url('../fonts/BlackerSansText-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Luxurious Script — PAGA. Mesma situação acima. */
@font-face {
    font-family: 'Luxurious Script';
    src: url('../fonts/LuxuriousScript-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Cores — extraídas seção a seção do Figma (get_design_context) */
    --pap-color-red: #a1141a;
    --pap-color-red-dark: #8c1515;
    --pap-color-red-deep: #960a0a;
    --pap-color-cream: #f5f3ef;
    --pap-color-black: #1a1a1a;
    --pap-color-charcoal: #2e2d2b;
    --pap-color-white: #ffffff;

    --pap-color-text-secondary: #666666;
    --pap-color-text-muted: #555555;
    --pap-color-text-faint: #999999;
    --pap-color-text-gray: #515151;
    --pap-color-text-warm-gray: #7a7264;
    --pap-color-text-dark-gray: #424242;
    --pap-color-text-footer-muted: #a9a9a9;

    /* Tipografia — cadeia com fallback pras 2 fontes pagas ainda não recebidas */
    --pap-font-heading: 'Blacker Sans Text', 'Montserrat', 'Neue Montreal', sans-serif;
    --pap-font-script: 'Luxurious Script', 'Brush Script MT', cursive;
    --pap-font-body: 'Neue Montreal', 'Montserrat', sans-serif;

    /* Espaçamento — escala observada nos valores reais do Figma (64/86/128px
       de padding de seção, gaps de 16/24/32/40/64px) */
    --pap-space-xs: 8px;
    --pap-space-sm: 16px;
    --pap-space-md: 24px;
    --pap-space-lg: 32px;
    --pap-space-xl: 48px;
    --pap-space-2xl: 64px;
    --pap-space-3xl: 86px;
    --pap-space-4xl: 128px;

    --pap-container-max: 1280px;
    --pap-content-max: 860px;
    --pap-padding-h-desktop: 64px;
    --pap-padding-h-mobile: 24px;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--pap-font-body);
    color: var(--pap-color-black);
    background: var(--pap-color-cream);
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

.pap-section {
    position: relative;
    width: 100%;
}

/* Nav fixo */
.pap-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--pap-space-xl);
    color: var(--pap-color-white);
    mix-blend-mode: difference;
}

.pap-nav-dates,
.pap-nav-tickets {
    font-family: var(--pap-font-body);
    font-weight: 700;
    font-size: 16px;
}

.pap-nav-menu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--pap-font-heading);
    font-size: 11px;
    letter-spacing: 3.85px;
    color: inherit;
}

/* Menu overlay */
.pap-nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: var(--pap-color-cream);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.pap-nav-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.pap-nav-overlay-list {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.pap-nav-overlay-list li {
    margin: var(--pap-space-md) 0;
}

.pap-nav-overlay-list a {
    font-family: var(--pap-font-heading);
    font-size: 32px;
    color: var(--pap-color-black);
}

.pap-nav-overlay-close {
    position: absolute;
    top: var(--pap-space-xl);
    right: var(--pap-space-xl);
    background: none;
    border: none;
    font-size: 32px;
    cursor: pointer;
    color: var(--pap-color-black);
}

/* 15. Footer */
.pap-footer { background: var(--pap-color-black); padding: 72px; display: flex; gap: var(--pap-space-2xl); flex-wrap: wrap; }
.pap-footer-logo { width: 179px; height: 179px; object-fit: contain; flex-shrink: 0; }
.pap-footer-col { flex: 1 1 0; min-width: 280px; display: flex; flex-direction: column; gap: var(--pap-space-xl); }
.pap-footer-label { font-family: var(--pap-font-heading); font-size: 10px; letter-spacing: 3.8px; color: var(--pap-color-white); margin: 0; }
.pap-footer-brand { font-family: var(--pap-font-heading); font-size: 10px; color: var(--pap-color-white); margin: 12px 0 10px; }
.pap-footer-link { margin: 5px 0; }
.pap-footer-link a { font-family: var(--pap-font-heading); font-size: 10px; color: var(--pap-color-text-footer-muted); }
