/* Importação de fontes premium do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Poppins:wght@400;500;600;700&display=swap');

/* Variáveis do Design System (Identidade Visual San Gonzales) */
:root {
    /* Cores Institucionais */
    --color-primary: #6C2325;         /* Marrom institucional */
    --color-primary-hover: #541b1d;   /* Marrom escuro para foco/hover */
    --color-primary-light: rgba(108, 35, 37, 0.06); /* Destaque sutil / fundo de alerta */
    
    /* Cores de Texto */
    --color-text-dark: #101010;       /* Texto escuro principal (títulos) */
    --color-text-medium: #484848;     /* Texto médio (parágrafos e descrições) */
    --color-text-muted: #717171;      /* Texto de apoio (legendas, datas bloqueadas, Airbnb style) */
    --color-text-light: #bfbfbf;      /* Texto desabilitado ou muito claro */
    
    /* Cores de Fundo e Canvas */
    --color-bg-canvas: #ffffff;       /* Fundo geral da página (off-white institucional) */
    --color-bg-white: #ffffff;        /* Branco puro para cards, modais e formulários */
    --color-bg-hover: #f5f5f5;        /* Fundo de hover cinza sutil */
    --color-bg-active: #ebebeb;       /* Fundo de clique ou item ativo */
    
    /* Bordas e Linhas */
    --color-border: #e0e0e0;          /* Borda cinza padrão */
    --color-border-light: #dddddd88;  /* Borda translúcida suave */
    
    /* Fontes */
    --font-title: 'DM Sans', sans-serif;
    --font-body: 'Poppins', sans-serif;

    /* Escala Tipográfica (Acessível e Fluida) */
    --font-size-hero: clamp(2.25rem, 6vw + 1rem, 3.75rem);    /* Títulos Hero principais (Home) */
    --font-size-h1: clamp(1.75rem, 4vw + 1rem, 2.75rem);      /* Títulos de páginas principais */
    --font-size-h2: clamp(1.5rem, 3vw + 0.75rem, 1.75rem);    /* Títulos secundários / H2 padrão */
    --font-size-h3: clamp(1.2rem, 2vw + 0.5rem, 1.45rem);     /* Títulos de cards e subtítulos */
    --font-size-body: 1rem;                                   /* Texto corrido padrão / Parágrafos (16px) */
    --font-size-body-sm: 0.95rem;                            /* Textos menores / suporte / políticas (14px) */
    --font-size-legend: 0.8rem;                              /* Legendas e etiquetas menores (12px) */

    /* Alturas de Linha (Line Height) */
    --lh-title: 1.1;
    --lh-body: 1.5;

    --border-radius: 50px;
    --white: #fcfcfc;            
}

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

/* Base de página e suporte ao Lenis */
html {
    font-size: 100%;
    background-color: var(--color-bg-canvas);
    scrollbar-gutter: stable; /* Reserva o espaço da barra de rolagem no desktop para evitar pulos quando modais abrem */
}

html.lenis, html.lenis body {
    height: auto;
}

.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis-stopped {
    overflow: hidden;
}

.lenis-scrolling iframe {
    pointer-events: none;
}

body {
    max-width: 1920px;
    margin: 0 auto;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-dark);
    background-color: var(--color-bg-canvas);
}


/* Tipografia */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-title);
    font-weight: 600;
    line-height: 120%;
    color: var(--color-text-dark);
}

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

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

/* Prevenção de Auto-Zoom no iOS Safari (iPhone): campos de entrada com no mínimo 16px (1.1rem) */
input,
select,
textarea {
    font-size: 16px !important;
}

