/* ============================================================
   promotions.css — page speciale « Promotions ».
   Le calculateur apporte son propre style (/malta/prices/prices.css) :
   ici uniquement la mise en page des sections et le bloc « conditions ».
   ============================================================ */

/* Conteneur : EXACTEMENT celui du hero ling-article, sinon les sections partent
   en pleine largeur et ne s'alignent plus sur le menu ni sur le H1. */
.pm-section, .pm-empty-all, .pm-note {
    max-width: var(--ar-max, 1220px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--padding-x, 1.25rem);
    padding-right: var(--padding-x, 1.25rem);
}
.pm-section { margin-bottom: var(--space-2xl, 56px); }
.pm-h2 { margin: 0 0 10px; }
.pm-sec-intro { margin: 0 0 28px; max-width: 68ch; color: var(--color-text-light, #4b5563); }

.pm-block { margin: 0 0 40px; padding-top: 4px; }
.pm-h3 { margin: 0 0 16px; }

/* Texte a gauche, calculateur a droite ; empile sous 900px. */
.pm-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
    gap: var(--space-lg, 28px);
    align-items: start;
}
.pm-text > p { margin: 0 0 14px; }
.pm-calc { position: sticky; top: 90px; }

@media (max-width: 900px) {
    .pm-layout { grid-template-columns: 1fr; }
    .pm-calc { position: static; }
}

/* --- Conditions de l'offre : lues en base, jamais recopiees --- */
.pm-offers {
    margin: 18px 0 0;
    padding: 16px 18px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-left: 4px solid #16a34a;
    border-radius: 12px;
}
.pm-offers-title {
    margin: 0 0 10px;
    font-size: 13px; font-weight: 700; letter-spacing: .04em;
    text-transform: uppercase; color: #166534;
}
.pm-offers ul { margin: 0; padding: 0; list-style: none; }
.pm-offers li {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 2px 14px;
    align-items: baseline;
    padding: 9px 0;
    border-top: 1px dashed #bbf7d0;
}
.pm-offers li:first-child { border-top: 0; padding-top: 0; }
.pm-offer-amount { font-weight: 800; font-size: 18px; color: #15803d; font-variant-numeric: tabular-nums; }
.pm-offer-name   { font-weight: 600; color: #14532d; }
.pm-offer-cond   { grid-column: 2; font-size: 13.5px; color: #4b5563; line-height: 1.6; }

.pm-no-offer, .pm-empty-all {
    margin: 18px 0 0;
    padding: 14px 16px;
    background: var(--color-bg-light, #f9fafb);
    border: 1px solid var(--color-light-grey, #e5e7eb);
    border-radius: 12px;
    color: var(--color-text-light, #4b5563);
    font-size: 14.5px;
}
.pm-empty-all { margin: 0 0 32px; max-width: 68ch; }

.pm-note {
    margin: 0;
    font-size: 13px;
    color: var(--color-text-light, #6b7280);
    max-width: 78ch;
}

@media (max-width: 480px) {
    .pm-offers li { grid-template-columns: 1fr; }
    .pm-offer-cond { grid-column: 1; }
}

/* --- v2 : texte pleine largeur, calculateur promo centre ------------------- */
.pm-intro-text { max-width: 72ch; }
.pm-intro-text > p { margin: 0 0 14px; }
/* Le calculateur occupe toute la colonne : son bord gauche s'aligne sur les titres. */
.pm-course-calc { margin-top: 22px; }
