/*
 * assets/prix/mas-prix.css — [E3348, 24/09/2026] Habillage des pages « Prix » (ville et pays).
 *
 * NOUVELLE feuille, chargée EN PLUS du thème (même patron que /assets/liens-cartes/mas-liens-cartes.css) :
 * AUCUNE règle existante du thème n'est modifiée (R86). Tout est préfixé `.mas-prix-` et lit les variables de
 * marque du thème (`--mas-color-*`), jamais une couleur en dur sans repli. Les composants de mise en page
 * (`.mas-section`, `.mas-container`, `.mas-card-grid`) sont ceux du thème, inchangés.
 */

.mas-prix-page .mas-prix-fil { margin: 0 0 1rem; font-size: .88rem; color: var(--mas-color-muted, #596874); }
.mas-prix-page .mas-prix-fil ol { display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin: 0; padding: 0; list-style: none; }
.mas-prix-page .mas-prix-fil li + li::before { content: "›"; margin-right: .5rem; color: var(--mas-color-muted, #596874); }
.mas-prix-page .mas-prix-fil a { color: var(--mas-color-link, #236b73); }

.mas-prix-hero h1 { margin-bottom: .6rem; }
.mas-prix-fraicheur { margin: 0 0 1.25rem; color: var(--mas-color-muted, #596874); font-size: .95rem; }
.mas-prix-enbref { max-width: 62rem; margin: 0; padding: 1.1rem 1.25rem; border-left: 5px solid var(--mas-color-coral, #E56B62); background: var(--mas-color-quiet, #eaf0f2); border-radius: 0 12px 12px 0; font-size: 1.08rem; }
.mas-prix-enbref strong.mas-prix-enbref__label { display: block; margin-bottom: .2rem; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--mas-color-coral, #E56B62); }

.mas-prix-page h2 { margin-bottom: .75rem; }
.mas-prix-page .mas-prix-intro { max-width: 62rem; color: var(--mas-color-text, #2b3740); }

/* montants : « à partir de » est un petit préfixe, jamais séparé du montant */
.mas-prix__des { display: block; font-size: .7rem; line-height: 1.1; color: var(--mas-color-muted, #596874); font-weight: 400; text-transform: none; }
.mas-prix__montant { font-weight: 700; white-space: nowrap; }
.mas-prix__indic { display: block; font-size: .78rem; font-weight: 400; color: var(--mas-color-muted, #596874); white-space: nowrap; }

/* tableau des séjours types */
.mas-prix-table-wrap { overflow-x: auto; margin: 0 0 1rem; border: 1px solid var(--mas-color-border, #d8dee4); border-radius: 12px; background: var(--mas-color-surface, #fff); }
.mas-prix-table { width: 100%; min-width: 46rem; border-collapse: collapse; font-size: .95rem; }
.mas-prix-table caption { padding: .8rem 1rem; text-align: left; font-size: .9rem; color: var(--mas-color-muted, #596874); caption-side: bottom; }
.mas-prix-table th, .mas-prix-table td { padding: .7rem .8rem; text-align: right; vertical-align: top; border-bottom: 1px solid var(--mas-color-border, #d8dee4); }
.mas-prix-table thead th { position: sticky; top: 0; background: var(--mas-color-quiet, #eaf0f2); font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; color: var(--mas-color-ink, #2b3740); }
.mas-prix-table th[scope="row"], .mas-prix-table td.mas-prix-table__ecole, .mas-prix-table thead th:first-child, .mas-prix-table thead th.mas-prix-table__ecole { text-align: left; }
.mas-prix-table tbody.mas-prix-groupe th[scope="row"] { font-weight: 700; white-space: nowrap; }
.mas-prix-table tbody.mas-prix-groupe + tbody.mas-prix-groupe tr:first-child > * { border-top: 3px solid var(--mas-color-quiet, #eaf0f2); }
.mas-prix-table td.mas-prix-table__total { background: rgba(var(--mas-color-coral-rgb, 229, 107, 98), .07); }
.mas-prix-table td.mas-prix-table__devis { text-align: center; white-space: nowrap; }

.mas-prix-btn { display: inline-block; padding: .5rem .95rem; border-radius: 999px; background: var(--mas-color-coral, #E56B62); color: var(--mas-color-surface, #fff); font-weight: 700; font-size: .88rem; text-decoration: none; border: 1px solid transparent; }
.mas-prix-btn:hover, .mas-prix-btn:focus-visible { color: var(--mas-color-surface, #fff); background: var(--mas-color-coral, #E56B62); box-shadow: 0 10px 24px rgba(var(--mas-color-coral-rgb, 229, 107, 98), .3); }
.mas-prix-btn--grand { padding: .8rem 1.4rem; font-size: 1rem; }

.mas-prix-selection { margin: 0 0 1rem; padding-left: 1.1rem; font-size: .92rem; color: var(--mas-color-text, #2b3740); }
.mas-prix-selection li { margin-bottom: .35rem; }
.mas-prix-verif { margin: 0 0 .25rem; font-size: .88rem; color: var(--mas-color-muted, #596874); }

/* compris / non compris */
.mas-prix-compris { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); margin: 1rem 0 0; }
@media (min-width: 720px) { .mas-prix-compris { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mas-prix-compris__col { padding: 1rem 1.15rem; border: 1px solid var(--mas-color-border, #d8dee4); border-radius: 12px; background: var(--mas-color-surface, #fff); }
.mas-prix-compris__col h3 { margin: 0 0 .5rem; font-size: 1rem; }
.mas-prix-compris__col ul { margin: 0; padding-left: 1.1rem; }
.mas-prix-compris__col--oui h3 { color: var(--mas-color-green, #6c8a53); }
.mas-prix-compris__col--non h3 { color: var(--mas-color-coral, #E56B62); }

/* budget */
.mas-prix-budget .mas-prix-table { min-width: 40rem; }
.mas-prix-budget__vol { margin: .2rem 0 0; font-weight: 700; }

/* cartes « ce qui fait varier le prix » */
.mas-prix-cartes { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .mas-prix-cartes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mas-prix-carte { padding: 1.15rem 1.25rem; border: 1px solid var(--mas-color-border, #d8dee4); border-radius: 14px; background: var(--mas-color-surface, #fff); }
.mas-prix-carte h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.mas-prix-carte h4 { margin: .9rem 0 .3rem; font-size: .95rem; }
.mas-prix-carte ul { margin: 0 0 .5rem; padding-left: 1.05rem; font-size: .93rem; }
.mas-prix-carte li { margin-bottom: .3rem; }
.mas-prix-carte--saison .mas-prix-saison__dates { font-size: 1.35rem; font-weight: 700; line-height: 1.25; color: var(--mas-color-ink, #2b3740); margin: 0 0 .4rem; }
.mas-prix-carte--saison .mas-prix-saison__sup { font-size: 1.05rem; font-weight: 700; color: var(--mas-color-coral, #E56B62); margin: 0 0 .35rem; }
.mas-prix-saison__exemple { margin: .8rem 0 0; padding: .7rem .85rem; background: var(--mas-color-quiet, #eaf0f2); border-radius: 10px; font-size: .93rem; }

/* en chiffres */
.mas-prix-chiffres { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .mas-prix-chiffres { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mas-prix-chiffres li { padding: 1rem; border-radius: 12px; background: var(--mas-color-surface, #fff); border: 1px solid var(--mas-color-border, #d8dee4); }
.mas-prix-chiffres__valeur { display: block; margin-top: .25rem; font-size: 1.15rem; font-weight: 700; }
.mas-prix-chiffres__label { font-size: .85rem; color: var(--mas-color-muted, #596874); }

/* bandeau devis */
.mas-prix-devis { padding: 1.5rem; border-radius: 16px; background: var(--mas-color-dark-action, #4e5b64); color: var(--mas-color-surface, #fff); display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.mas-prix-devis h2 { margin: 0 0 .35rem; color: var(--mas-color-surface, #fff); }
.mas-prix-devis p { margin: 0; max-width: 40rem; }

/* FAQ */
.mas-prix-faq details { margin-bottom: .6rem; border: 1px solid var(--mas-color-border, #d8dee4); border-radius: 12px; background: var(--mas-color-surface, #fff); }
.mas-prix-faq summary { padding: .85rem 1.1rem; font-weight: 700; cursor: pointer; }
.mas-prix-faq details > div { padding: 0 1.1rem 1rem; }
.mas-prix-faq details p { margin-bottom: .6rem; }

/* liens et note */
.mas-prix-liens { display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .mas-prix-liens { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mas-prix-liens a { display: block; padding: .8rem 1rem; border: 1px solid var(--mas-color-border, #d8dee4); border-radius: 12px; background: var(--mas-color-surface, #fff); text-decoration: none; font-weight: 600; }
.mas-prix-note { max-width: 62rem; margin: 1.5rem 0 0; font-size: .85rem; color: var(--mas-color-muted, #596874); }

/* page pays : comparatif des villes */
.mas-prix-villes { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .mas-prix-villes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .mas-prix-villes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mas-prix-ville { padding: 1.1rem 1.2rem; border: 1px solid var(--mas-color-border, #d8dee4); border-radius: 14px; background: var(--mas-color-surface, #fff); }
.mas-prix-ville h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.mas-prix-ville p { margin: 0 0 .35rem; font-size: .93rem; }

/* [E4159] ligne « promotion en cours » sous le tableau : règle NEUVE, portée par une classe qui n'existe que sur cette ligne (R86) */
.mas-prix-promo { margin: 0 0 .6rem; padding: .7rem .9rem; border-left: 4px solid var(--mas-color-green, #6c8a53); border-radius: 0 10px 10px 0; background: var(--mas-color-quiet, #eaf0f2); font-size: .92rem; color: var(--mas-color-text, #2b3740); }
