/* ==========================================================================
   Group Departures Page (/group-departures/) — see page-group-departures.php
   ========================================================================== */

.c-departures-hero {
    background: linear-gradient(135deg, var(--color-primary) 0%, #06402b 100%);
    color: var(--color-surface);
    text-align: center;
    padding-block: var(--space-7);
}
.c-departures-hero .c-badge--light { margin-bottom: var(--space-3); }
.c-departures-hero__title { font-family: var(--poa-font-heading); font-size: clamp(2rem,4vw,2.75rem); font-weight: 700; margin: 0 0 var(--space-3); }
.c-departures-hero__subtitle { max-width: 40rem; margin-inline: auto; color: rgba(255,255,255,.85); font-size: 1.0625rem; }

/* ---- Filter pills ---- */
.c-departures-filters { display: flex; flex-wrap: wrap; gap: .625rem; margin-bottom: var(--space-6); }
.c-departures-filters__pill {
    height: 2.5rem;
    padding-inline: 1.25rem;
    border-radius: var(--radius-pill);
    border: 1.5px solid var(--poa-color-border);
    background: var(--color-surface);
    color: var(--color-text);
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);
}
.c-departures-filters__pill:hover { border-color: var(--color-primary); color: var(--color-primary); }
.c-departures-filters__pill.is-active { background: var(--color-primary); border-color: var(--color-primary); color: #ffffff; }

/* ---- Month groups ---- */
.c-departures-month { margin-bottom: var(--space-6); }
.c-departures-month__header {
    display: flex;
    align-items: center;
    gap: .625rem;
    font-family: var(--poa-font-heading);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 var(--space-4);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--poa-color-border);
}
.c-departures-month__header .bi { color: var(--color-primary); }

.c-departures-list { display: flex; flex-direction: column; gap: var(--space-3); }

/* ---- Departure card ---- */
.c-departure-card {
    display: flex;
    flex-direction: column;
    background: var(--color-surface);
    border: 1px solid var(--poa-color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--poa-shadow-sm);
    transition: box-shadow var(--duration-normal) var(--easing-standard);
}
.c-departure-card:hover { box-shadow: var(--poa-shadow-md); }
.c-departure-card__image-wrap { width: 100%; aspect-ratio: 16 / 9; background: #e8e8e8; flex-shrink: 0; }
.c-departure-card__image { width: 100%; height: 100%; object-fit: cover; display: block; }

.c-departure-card__body { padding: var(--space-4); display: flex; flex-direction: column; gap: .625rem; flex: 1; }
.c-departure-card__badges { display: flex; flex-wrap: wrap; gap: .5rem; }

.c-departure-card__status {
    display: inline-flex;
    align-items: center;
    font-size: .75rem;
    font-weight: 700;
    border-radius: var(--radius-pill);
    padding: .25rem .75rem;
}
.c-departure-card__status--available { background: rgba(0,153,0,.12); color: var(--color-primary); }
.c-departure-card__status--low       { background: rgba(230,162,0,.14); color: #a06800; }
.c-departure-card__status--soldout   { background: rgba(220,53,69,.12); color: #c22839; }

.c-departure-card__category {
    display: inline-flex;
    align-items: center;
    font-size: .75rem;
    font-weight: 600;
    border-radius: var(--radius-pill);
    padding: .25rem .75rem;
    background: #f0f0f0;
    color: #5b5b5b;
}

.c-departure-card__title { font-size: 1.0625rem; font-weight: 700; color: var(--color-text); margin: 0; }

.c-departure-card__meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .8125rem; color: #5b5b5b; }
.c-departure-card__meta span { display: inline-flex; align-items: center; gap: .375rem; }
.c-departure-card__meta .bi { color: var(--color-primary); }

.c-departure-card__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: auto; padding-top: .375rem; }
.c-departure-card__price { font-size: .875rem; color: #5b5b5b; }
.c-departure-card__price strong { font-size: 1.125rem; color: var(--color-text); }

@media (min-width: 40em) {
    .c-departure-card { flex-direction: row; align-items: stretch; }
    .c-departure-card__image-wrap { width: 12rem; aspect-ratio: auto; }
    .c-departure-card__body { flex-direction: row; align-items: center; flex-wrap: wrap; gap: var(--space-4); }
    .c-departure-card__info { flex: 1; min-width: 14rem; display: flex; flex-direction: column; gap: .5rem; }
    .c-departure-card__footer { margin-top: 0; padding-top: 0; flex-direction: column; align-items: flex-end; gap: .5rem; }
}

/* ---- Closing CTA ---- */
.c-departures-cta {
    text-align: center;
    background: var(--color-surface);
    border: 1px dashed var(--poa-color-border);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    margin-top: var(--space-6);
}
.c-departures-cta h2 { font-family: var(--poa-font-heading); font-size: clamp(1.5rem,3vw,2rem); font-weight: 700; color: var(--color-text); margin: 0 0 var(--space-2); }
.c-departures-cta p { max-width: 34rem; margin: 0 auto var(--space-4); color: #5b5b5b; }
