/**
 * Doces Miminhos — Presentes (redesign v2.56, mobile-first)
 * Página leve de ocasiões. Cards editoriais → Coleção pré-filtrada.
 * Paleta: #F9EFDC fundo · #7A5A4F texto · #DCB278 dourado · #D26B4B CTA
 *
 * Regras-chave:
 * - Cartões sem aspect-ratio: a altura segue o conteúdo (min-height),
 *   nunca altura fixa + overflow que corta o texto.
 * - Overlay ::after garante contraste do texto branco (WCAG AA).
 */

.presentes-page {
    background: #F9EFDC;
    min-height: 70vh;
    padding: 0 1.25rem 4rem;
}

/* ── Hero compacto ───────────────────────────────────────────── */

.presentes-header {
    max-width: 640px;
    margin: 0 auto;
    padding: 2.5rem 0 1.75rem;
    text-align: center;
}

.presentes-header__label {
    font-family: var(--font-sans);
    text-transform: uppercase;
    letter-spacing: .28em;
    font-size: .7rem;
    color: #DCB278;
    margin: 0 0 .7rem;
}

.presentes-header__title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 7vw, 3rem);
    line-height: 1.05;
    color: #7A5A4F;
    margin: 0 0 .6rem;
    font-weight: 400;
}

.presentes-header__sub {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.6;
    color: #7A5A4F;
    opacity: .85;
    margin: 0 auto;
    max-width: 36ch;
}

.presentes-header__sub p { margin: 0; }

/* ── Pills de atalho (ocasiões populares) ────────────────────── */

.presentes-pills {
    display: flex;
    gap: .6rem;
    max-width: 1180px;
    margin: 0 auto 2rem;
    padding: .25rem;
    overflow-x: auto;
    scrollbar-width: none;               /* Firefox */
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
}

.presentes-pills::-webkit-scrollbar { display: none; } /* Chrome/Safari */

.presentes-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 44px;                    /* touch target */
    padding: 11px 20px;
    border: 1px solid rgba(122, 90, 79, .35);
    border-radius: 999px;
    font-family: var(--font-sans);
    font-size: .9rem;
    color: #7A5A4F;
    text-decoration: none;
    white-space: nowrap;
    scroll-snap-align: start;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.presentes-pill:hover,
.presentes-pill:focus-visible {
    background: #7A5A4F;
    color: #F9EFDC;
    border-color: #7A5A4F;
    outline: none;
}

@media (min-width: 640px) {
    .presentes-pills {
        justify-content: center;
        flex-wrap: wrap;
        overflow: visible;
    }
}

/* ── Grelha de ocasiões ──────────────────────────────────────── */

.presentes-grid {
    display: grid;
    grid-template-columns: 1fr;          /* mobile: 1 coluna */
    gap: 1rem;
    max-width: 1180px;
    margin: 0 auto;
}

@media (min-width: 640px) {
    .presentes-grid { grid-template-columns: repeat(2, 1fr); gap: 1.1rem; }
}

@media (min-width: 1024px) {
    .presentes-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
}

/* ── Card de ocasião ─────────────────────────────────────────── */

.presente-oca {
    position: relative;
    min-height: 150px;                   /* altura mínima; cresce com o conteúdo */
    overflow: hidden;                    /* só p/ o border-radius + zoom da foto */
    border-radius: var(--cor-radius, 14px);
    display: flex;
    align-items: flex-end;
    isolation: isolate;
    text-decoration: none;
    background-size: cover;
    background-position: center;
}

.presente-oca:focus-visible {
    outline: 3px solid #D26B4B;
    outline-offset: 2px;
}

/* Imagem de fundo (se a thumbnail do termo estiver definida) */
.presente-oca__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .6s ease;
    z-index: 0;
}

.presente-oca:hover .presente-oca__bg { transform: scale(1.05); }

/* Placeholders de gradiente (enquanto não há foto) — tons da marca */
.presente-oca--1  { background: linear-gradient(165deg, #F3E2CC 0%, #DCB278 100%); }
.presente-oca--2  { background: linear-gradient(165deg, #EAD9C6 0%, #C99C7A 100%); }
.presente-oca--3  { background: linear-gradient(165deg, #E8DCC8 0%, #CBB089 100%); }
.presente-oca--4  { background: linear-gradient(165deg, #E2C9B8 0%, #A86E54 100%); }
.presente-oca--5  { background: linear-gradient(165deg, #F0E2D0 0%, #D26B4B 100%); }
.presente-oca--6  { background: linear-gradient(165deg, #F5E7D4 0%, #C98F6A 100%); }
.presente-oca--7  { background: linear-gradient(165deg, #E7D3BE 0%, #B07F5E 100%); }
.presente-oca--8  { background: linear-gradient(165deg, #EFE0CB 0%, #8C6657 100%); }
.presente-oca--9  { background: linear-gradient(165deg, #F2E4D2 0%, #DCB278 100%); }
.presente-oca--10 { background: linear-gradient(165deg, #E9D6C2 0%, #BD8A5F 100%); }

/* Overlay de contraste: escurece o topo → garante texto branco legível
   mesmo sobre a zona clara dos gradientes (#F0E2D0). */
.presente-oca::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(46, 30, 24, .60), rgba(46, 30, 24, .18));
    z-index: 1;
    pointer-events: none;
}

/* Overlay dourado no hover */
.presente-oca__overlay {
    position: absolute;
    inset: 0;
    background: #DCB278;
    opacity: 0;
    z-index: 2;
    mix-blend-mode: multiply;
    transition: opacity .35s ease;
    pointer-events: none;
}

.presente-oca:hover .presente-oca__overlay { opacity: .3; }

/* Conteúdo do card */
.presente-oca__content {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 1.1rem 1.15rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    color: #FFFFFF;
}

.presente-oca__subtitle {
    font-family: var(--font-serif);
    font-size: 1.55rem;
    line-height: 1.1;
    font-weight: 400;
}

.presente-oca__frase {
    font-family: var(--font-sans);
    font-size: .88rem;
    line-height: 1.45;
    font-style: italic;
    opacity: .95;
}

.presente-oca__cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .55rem;
    font-family: var(--font-sans);
    font-size: .72rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #FFFFFF;
}

.presente-oca__cta svg { transition: transform .3s ease; }

.presente-oca:hover .presente-oca__cta svg { transform: translateX(4px); }

/* ── Cartão destaque "A seguir" ──────────────────────────────── */

.presente-oca--destaque {
    min-height: 230px;
}

.presente-oca--destaque .presente-oca__subtitle {
    font-size: 2rem;
}

@media (min-width: 1024px) {
    .presente-oca--destaque {
        grid-column: 1 / -1;             /* largura total no desktop */
        min-height: 260px;
    }
    .presente-oca--destaque .presente-oca__subtitle {
        font-size: 2.4rem;
    }
}

.presente-oca__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #D26B4B;
    color: #F9EFDC;
    border-radius: 999px;
    font-family: var(--font-sans);
    font-size: .72rem;
    letter-spacing: .04em;
    font-weight: 600;
}

/* ── Nota de fecho ───────────────────────────────────────────── */

.presentes-footnote {
    text-align: center;
    margin: 3rem auto 0;
    font-family: var(--font-sans);
    font-size: .9rem;
    color: #7A5A4F;
}

.presentes-footnote a {
    color: #D26B4B;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.presentes-footnote a:hover { color: #DCB278; }
