/**
 * Costa Platform — Destination Master Template 1.0
 * Camada transversal de padronização visual para todas as seções do destino.
 */

:root {
    --cst-destination-container: 1480px;
    --cst-destination-gutter: clamp(16px, 3vw, 32px);
    --cst-destination-section-y: clamp(56px, 7vw, 96px);
    --cst-destination-heading-max: 900px;
    --cst-destination-reading-max: 780px;
    --cst-destination-card-radius: 18px;
    --cst-destination-card-border: rgba(6, 43, 87, 0.10);
    --cst-destination-card-shadow: 0 14px 40px rgba(6, 43, 87, 0.08);
    --cst-destination-surface: #ffffff;
    --cst-destination-surface-alt: #f7f9fc;
    --cst-destination-ink: #062b57;
    --cst-destination-muted: #5f6f82;
    --cst-destination-accent: #c9a646;
}

:is(
    .cst-destination-overview,
    .cst-destination-useful-info,
    .cst-destination-guide,
    .cst-destination-things-to-do,
    .cst-destination-attractions,
    .cst-destination-gastronomy,
    .cst-destination-where-to-stay,
    .cst-destination-services,
    .cst-destination-transfers,
    .cst-destination-final-cta
) {
    box-sizing: border-box;
    isolation: isolate;
}

:is(
    .cst-destination-overview__inner,
    .cst-destination-useful-info__inner,
    .cst-destination-guide__inner,
    .cst-destination-things-to-do__inner,
    .cst-destination-attractions__inner,
    .cst-destination-gastronomy__inner,
    .cst-destination-where-to-stay__inner,
    .cst-destination-services__inner,
    .cst-destination-transfers__inner,
    .cst-destination-final-cta__inner
) {
    box-sizing: border-box;
    width: min(100%, calc(var(--cst-destination-container) + (var(--cst-destination-gutter) * 2)));
    margin-inline: auto;
    padding-inline: var(--cst-destination-gutter);
}

:is(
    .cst-destination-useful-info__header,
    .cst-destination-guide__header,
    .cst-destination-things-to-do__header,
    .cst-destination-attractions__header,
    .cst-destination-gastronomy__header,
    .cst-destination-where-to-stay__header,
    .cst-destination-services__header,
    .cst-destination-transfers__header
) {
    width: min(100%, var(--cst-destination-heading-max));
    margin-inline: auto;
    text-align: center;
}

:is(
    .cst-destination-useful-info__eyebrow,
    .cst-destination-guide__eyebrow,
    .cst-destination-things-to-do__eyebrow,
    .cst-destination-attractions__eyebrow,
    .cst-destination-gastronomy__eyebrow,
    .cst-destination-where-to-stay__eyebrow,
    .cst-destination-services__eyebrow,
    .cst-destination-transfers__eyebrow
) {
    color: var(--cst-destination-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

:is(
    .cst-destination-useful-info__title,
    .cst-destination-guide__title,
    .cst-destination-things-to-do__title,
    .cst-destination-attractions__title,
    .cst-destination-gastronomy__title,
    .cst-destination-where-to-stay__title,
    .cst-destination-services__title,
    .cst-destination-transfers__title
) {
    color: var(--cst-destination-ink);
    text-wrap: balance;
}

:is(
    .cst-destination-useful-info__description,
    .cst-destination-guide__description,
    .cst-destination-things-to-do__description,
    .cst-destination-attractions__description,
    .cst-destination-gastronomy__description,
    .cst-destination-where-to-stay__description,
    .cst-destination-services__description,
    .cst-destination-transfers__description
) {
    max-width: var(--cst-destination-reading-max);
    margin-inline: auto;
    color: var(--cst-destination-muted);
    line-height: 1.7;
    text-wrap: pretty;
}

:is(
    .cst-destination-useful-info,
    .cst-destination-guide,
    .cst-destination-things-to-do,
    .cst-destination-attractions,
    .cst-destination-gastronomy,
    .cst-destination-where-to-stay,
    .cst-destination-services
) :is(article, [class*="__card"], [class*="-card"]) {
    box-sizing: border-box;
}

:is(
    .cst-destination-useful-info,
    .cst-destination-guide,
    .cst-destination-things-to-do,
    .cst-destination-attractions,
    .cst-destination-gastronomy,
    .cst-destination-where-to-stay,
    .cst-destination-services
) :is(button, .button, [class*="__button"], [class*="__action"]) {
    min-height: 44px;
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .cst-destination-overview,
        .cst-destination-useful-info,
        .cst-destination-guide,
        .cst-destination-things-to-do,
        .cst-destination-attractions,
        .cst-destination-gastronomy,
        .cst-destination-where-to-stay,
        .cst-destination-services,
        .cst-destination-final-cta
    ) *,
    :is(
        .cst-destination-overview,
        .cst-destination-useful-info,
        .cst-destination-guide,
        .cst-destination-things-to-do,
        .cst-destination-attractions,
        .cst-destination-gastronomy,
        .cst-destination-where-to-stay,
        .cst-destination-services,
        .cst-destination-final-cta
    ) *::before,
    :is(
        .cst-destination-overview,
        .cst-destination-useful-info,
        .cst-destination-guide,
        .cst-destination-things-to-do,
        .cst-destination-attractions,
        .cst-destination-gastronomy,
        .cst-destination-where-to-stay,
        .cst-destination-services,
        .cst-destination-final-cta
    ) *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 767px) {
    :root {
        --cst-destination-section-y: 48px;
    }

    :is(
        .cst-destination-useful-info__header,
        .cst-destination-guide__header,
        .cst-destination-things-to-do__header,
        .cst-destination-attractions__header,
        .cst-destination-gastronomy__header,
        .cst-destination-where-to-stay__header,
        .cst-destination-services__header,
        .cst-destination-transfers__header
    ) {
        text-align: left;
    }

    :is(
        .cst-destination-useful-info__description,
        .cst-destination-guide__description,
        .cst-destination-things-to-do__description,
        .cst-destination-attractions__description,
        .cst-destination-gastronomy__description,
        .cst-destination-where-to-stay__description,
        .cst-destination-services__description,
        .cst-destination-transfers__description
    ) {
        margin-inline: 0;
    }
}
