/* ============================================================
   Offres & Concours — Charte V6
   Archive + Single + carte commerciale avec valeur en gros.
   ============================================================ */

/* Couleurs spécifiques par type d'offre — palette V6 + 1 accent vert */
.offres-page {
    --offre-concours: #fdf6b7;
    --offre-promotion: var(--turquoise);
    --offre-cadeau: #c5e8c5;
    --offre-bon: var(--cyan);
}

/* ───────────── PAGE HEADER ───────────── */
.offres-page .page-header {
    padding: 80px 60px 50px;
    background: var(--white);
    text-align: center;
}
.offres-page .page-header h1 {
    font-size: 72px; font-weight: 900; letter-spacing: -2px;
    color: var(--ink); margin-bottom: 16px;
}
.offres-page .page-header h1 .serif { color: var(--turquoise); }
.offres-page .page-header .lead {
    font-size: 18px; color: var(--ink); opacity: 0.78;
    max-width: 640px; margin: 0 auto; line-height: 1.6;
}
.offres-page .page-header .eyebrow {
    font-size: 12px; letter-spacing: 5px; font-weight: 700;
    color: var(--grey); margin-bottom: 18px; text-transform: uppercase;
}

/* ───────────── FILTRES TYPE ───────────── */
.offres-page .filters-bar {
    padding: 28px 60px;
    background: var(--white);
    border-bottom: 1px solid var(--grey-light);
}
.offres-page .filters-wrap {
    max-width: 1320px; margin: 0 auto;
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.offres-page .filters-label {
    font-size: 11px; letter-spacing: 3px; font-weight: 700;
    color: var(--grey); text-transform: uppercase; margin-right: 6px;
}
.offres-page .filter-pill {
    display: inline-block;
    padding: 8px 18px; border-radius: 100px;
    font-size: 13px; font-weight: 600;
    background: var(--grey-light); color: var(--ink);
    text-decoration: none; transition: all 0.2s; cursor: pointer;
}
.offres-page .filter-pill:hover { background: var(--cyan); }
.offres-page .filter-pill.active { background: var(--ink); color: var(--white); }

/* ───────────── GRID OFFRES ───────────── */
.offres-page .offres-list {
    padding: 60px 60px;
    background: var(--grey-light);
}
.offres-page .offres-list .container { padding: 0; max-width: 1320px; }
.offres-page .offres-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
}

/* La card commerciale */
.offre-card {
    display: flex; flex-direction: column;
    background: var(--white);
    border-radius: 16px; overflow: hidden;
    text-decoration: none; color: inherit;
    box-shadow: 0 2px 8px rgba(54, 61, 67, 0.06);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s;
    position: relative;
}
.offre-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.10);
}

/* Bandeau valeur en haut (le truc qui accroche) */
.offre-card__hero {
    position: relative;
    padding: 36px 24px 28px;
    background: var(--cyan);
    text-align: center;
    overflow: hidden;
}
.offre-card[data-type="concours"] .offre-card__hero { background: var(--offre-concours); }
.offre-card[data-type="promotion"] .offre-card__hero { background: var(--offre-promotion); }
.offre-card[data-type="cadeau-de-bienvenue"] .offre-card__hero { background: var(--offre-cadeau); }
.offre-card[data-type="bons-cadeaux"] .offre-card__hero { background: var(--offre-bon); }
.offre-card[data-type="promotion"] .offre-card__valeur { color: var(--white); }
.offre-card[data-type="promotion"] .offre-card__valeur-complement { color: rgba(255,255,255,0.85); }

.offre-card__type-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 100px;
    background: rgba(54, 61, 67, 0.08);
    font-size: 10px; letter-spacing: 2px; font-weight: 800;
    color: var(--ink); text-transform: uppercase;
    margin-bottom: 16px;
}
.offre-card[data-type="promotion"] .offre-card__type-badge {
    background: rgba(255,255,255,0.25); color: var(--white);
}
.offre-card__valeur {
    font-family: 'Lato', sans-serif; font-weight: 900;
    font-size: 56px; line-height: 1; letter-spacing: -2px;
    color: var(--ink); margin-bottom: 4px;
}
.offre-card__valeur-complement {
    font-family: 'DM Serif Display', serif; font-style: italic;
    font-size: 18px; color: var(--ink); opacity: 0.85;
}

/* Compte à rebours (si date_fin renseignée et future) */
.offre-card__countdown {
    position: absolute; top: 14px; right: 14px;
    padding: 6px 12px; border-radius: 100px;
    background: rgba(54, 61, 67, 0.85); color: var(--white);
    font-size: 11px; font-weight: 700; letter-spacing: 1px;
}
.offre-card[data-type="promotion"] .offre-card__countdown {
    background: rgba(255,255,255,0.2);
}
.offre-card__countdown--urgent {
    background: #e07a75; color: var(--white);
    animation: malley-pulse-soft 2s ease-in-out infinite;
}
@keyframes malley-pulse-soft {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.offre-card__body {
    padding: 24px 24px 28px;
    flex: 1; display: flex; flex-direction: column;
}
.offre-card__title {
    font-size: 20px; font-weight: 800; color: var(--ink);
    line-height: 1.25; margin-bottom: 10px; letter-spacing: -0.5px;
}
.offre-card__accroche {
    font-size: 14px; color: var(--ink); opacity: 0.72;
    line-height: 1.55; margin-bottom: 18px; flex: 1;
}
.offre-card__cta {
    align-self: flex-start;
    padding: 10px 22px; border-radius: 100px;
    background: var(--ink); color: var(--white);
    font-size: 13px; font-weight: 700; letter-spacing: 0.3px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}
.offre-card:hover .offre-card__cta { background: var(--turquoise); transform: translateX(2px); }

/* Empty state */
.offres-page .offres-empty {
    text-align: center; padding: 80px 20px; color: var(--grey);
}

/* ───────────── SINGLE OFFRE ───────────── */
.single-offre-v6 .offre-hero {
    padding: 80px 60px 50px;
    text-align: center;
    background: var(--cyan);
    position: relative; overflow: hidden;
}
.single-offre-v6[data-type="concours"] .offre-hero { background: var(--offre-concours, #fdf6b7); }
.single-offre-v6[data-type="promotion"] .offre-hero { background: var(--turquoise); }
.single-offre-v6[data-type="promotion"] .offre-hero .offre-hero__title,
.single-offre-v6[data-type="promotion"] .offre-hero .offre-hero__valeur,
.single-offre-v6[data-type="promotion"] .offre-hero .offre-hero__valeur-complement,
.single-offre-v6[data-type="promotion"] .offre-hero .offre-hero__tagline { color: var(--white); }
.single-offre-v6[data-type="cadeau-de-bienvenue"] .offre-hero { background: #c5e8c5; }
.single-offre-v6[data-type="bons-cadeaux"] .offre-hero { background: var(--cyan); }

.single-offre-v6 .offre-hero .container { max-width: 800px; margin: 0 auto; }
.single-offre-v6 .offre-hero__type-badge {
    display: inline-block;
    padding: 6px 16px; border-radius: 100px;
    background: rgba(54, 61, 67, 0.10);
    font-size: 11px; letter-spacing: 3px; font-weight: 800;
    color: var(--ink); text-transform: uppercase;
    margin-bottom: 22px;
}
.single-offre-v6[data-type="promotion"] .offre-hero__type-badge {
    background: rgba(255,255,255,0.25); color: var(--white);
}
.single-offre-v6 .offre-hero__valeur {
    font-family: 'Lato', sans-serif; font-weight: 900;
    font-size: 96px; line-height: 1; letter-spacing: -4px;
    color: var(--ink); margin-bottom: 8px;
}
.single-offre-v6 .offre-hero__valeur-complement {
    font-family: 'DM Serif Display', serif; font-style: italic;
    font-size: 28px; color: var(--ink); opacity: 0.85;
    margin-bottom: 32px;
}
.single-offre-v6 .offre-hero__title {
    font-size: 44px; font-weight: 900; color: var(--ink);
    line-height: 1.05; letter-spacing: -1px; margin-bottom: 16px;
}
.single-offre-v6 .offre-hero__title .serif { color: var(--turquoise); }
.single-offre-v6 .offre-hero__tagline {
    font-family: 'DM Serif Display', serif; font-style: italic;
    font-size: 20px; opacity: 0.88; max-width: 600px; margin: 0 auto 28px;
}
.single-offre-v6 .offre-hero__dates {
    font-size: 13px; letter-spacing: 2px; font-weight: 700;
    color: var(--ink); opacity: 0.7; text-transform: uppercase;
    margin-bottom: 28px;
}
.single-offre-v6 .offre-hero__cta {
    display: inline-block; padding: 14px 32px; border-radius: 100px;
    background: var(--ink); color: var(--white);
    font-size: 15px; font-weight: 700; letter-spacing: 0.5px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}
.single-offre-v6 .offre-hero__cta:hover { background: var(--turquoise); transform: translateY(-2px); }
.single-offre-v6[data-type="promotion"] .offre-hero__cta { background: var(--white); color: var(--ink); }
.single-offre-v6[data-type="promotion"] .offre-hero__cta:hover { background: var(--yellow); }

.single-offre-v6 .offre-cover {
    aspect-ratio: 16/8;
    background: var(--grey-light);
    max-width: 1100px; margin: 0 auto 48px; border-radius: 16px; overflow: hidden;
}
.single-offre-v6 .offre-cover img { width: 100%; height: 100%; object-fit: cover; }
.single-offre-v6 .offre-body {
    max-width: 760px; margin: 0 auto;
    padding: 0 60px 50px;
    font-size: 17px; line-height: 1.75; color: var(--ink);
}
.single-offre-v6 .offre-body p { margin-bottom: 18px; opacity: 0.88; }
.single-offre-v6 .offre-body strong { color: var(--ink); opacity: 1; }
.single-offre-v6 .offre-body a { color: var(--turquoise); font-weight: 700; }

.single-offre-v6 .offre-conditions {
    max-width: 760px; margin: 0 auto 50px;
    padding: 24px 28px;
    background: var(--grey-light); border-radius: 12px;
    border-left: 4px solid var(--turquoise);
}
.single-offre-v6 .offre-conditions h3 {
    font-size: 12px; letter-spacing: 3px; font-weight: 700;
    color: var(--ink); margin-bottom: 10px; text-transform: uppercase;
}
.single-offre-v6 .offre-conditions p {
    font-size: 14px; color: var(--ink); opacity: 0.8; line-height: 1.55; margin: 0;
}

.single-offre-v6 .offre-enseigne-link {
    max-width: 760px; margin: 0 auto 50px;
    padding: 20px 28px; background: var(--cyan);
    border-radius: 12px; font-size: 15px;
}

.single-offre-v6 .offre-footer-nav {
    max-width: 1100px; margin: 0 auto;
    padding: 30px 60px 60px;
    border-top: 1px solid var(--grey-light);
    display: flex; justify-content: space-between;
}
.single-offre-v6 .offre-footer-nav a {
    color: var(--ink); text-decoration: none; font-weight: 700;
}
.single-offre-v6 .offre-footer-nav a:hover { color: var(--turquoise); }

/* ───────────── SECTION HOME "Le centre vous gâte" ───────────── */
.home-v6 .offres-mise-en-avant {
    padding: 80px 60px;
    background: var(--turquoise-soft);
}
.home-v6 .offres-mise-en-avant .offres-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    max-width: 1320px; margin: 40px auto 32px;
}
.home-v6 .offres-mise-en-avant .section-cta {
    text-align: center;
}

/* ───────────── RESPONSIVE ───────────── */
@media (max-width: 768px) {
    .offres-page .page-header { padding: 60px 24px 40px; }
    .offres-page .page-header h1 { font-size: 44px; }
    .offres-page .filters-bar { padding: 20px 24px; }
    .offres-page .offres-list { padding: 40px 24px; }
    .offres-page .offres-grid { grid-template-columns: 1fr; gap: 18px; }
    .offre-card__valeur { font-size: 44px; }
    .single-offre-v6 .offre-hero { padding: 50px 24px 40px; }
    .single-offre-v6 .offre-hero__valeur { font-size: 64px; }
    .single-offre-v6 .offre-hero__title { font-size: 30px; }
    .single-offre-v6 .offre-body { padding: 0 24px 40px; font-size: 16px; }
    .home-v6 .offres-mise-en-avant { padding: 50px 24px; }
}
