/*
 * Prix dynamiques (E6) : prix du jour, bornes et réglages, événements locaux (back-office).
 * Tablette : tableau des 60 nuits ; téléphone : une carte par nuit.
 */

.pricing-lead { max-width: 64ch; }
.pricing-nav { align-self: flex-start; }

.card.pricing-summary { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .card.pricing-summary { grid-template-columns: repeat(4, 1fr); } }

/* --- Écarts et raisons --------------------------------------------------------------------- */

.pricing-delta { display: inline-block; margin-left: 4px; font-size: 0.8rem; font-weight: 650; color: var(--muted); }
.pricing-delta.is-up { color: var(--ok); }
.pricing-delta.is-down { color: var(--warn); }
.pricing-moved { color: var(--sea); }

.pricing-reasons { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 0.9rem; }
.pricing-reasons li { display: flex; justify-content: space-between; gap: var(--space-3); padding: 4px 0; border-bottom: 1px dashed var(--line); }
.pricing-reasons li:last-child { border-bottom: 0; }
.pricing-reasons__percent { flex: none; font-weight: 650; }

/* --- À valider ----------------------------------------------------------------------------- */

.pricing-pending { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.card.pricing-pending__item { display: flex; flex-direction: column; gap: var(--space-3); border-left: 4px solid var(--warn); }
.pricing-pending__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: var(--space-2); }
.pricing-pending__head p { margin: 0; }
.pricing-prices { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.pricing-prices strong { font-size: 1.15rem; }
.pricing-prices .icon { color: var(--muted); }

.pricing-decision { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.pricing-decision form { margin: 0; }
.pricing-decision .btn--small { min-height: var(--tap); }
.pricing-override__row { display: flex; gap: var(--space-2); }
.pricing-override__row input { flex: 1; min-width: 0; max-width: 10rem; }

/* --- Calendrier des 60 nuits --------------------------------------------------------------- */

.pricing-table-wrap { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.pricing-table td, .pricing-table th[scope="row"] { vertical-align: middle; }
.pricing-table th[scope="row"] { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line); font-weight: 600; white-space: nowrap; text-align: left; }
.pricing-table tr.is-weekend th[scope="row"] { color: var(--heather); }
.pricing-table tr.is-pending { background: var(--warn-soft); }
.pricing-table tr.is-closed { color: var(--muted); }
.pricing-table td { padding: var(--space-2) var(--space-3); }

.pricing-why > summary { display: inline-flex; align-items: center; min-height: var(--tap); cursor: pointer; color: var(--sea); font-weight: 600; font-size: 0.9rem; }
.pricing-why[open] { min-width: min(26rem, 80vw); }
.pricing-why[open] > summary { margin-bottom: var(--space-2); }

@media (max-width: 720px) {
  .pricing-table-wrap { background: transparent; border: 0; }
  .pricing-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pricing-table, .pricing-table tbody { display: block; }
  .pricing-table tr {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2) var(--space-3); margin-bottom: var(--space-2);
    padding: var(--space-3); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-sm);
  }
  .pricing-table tr.is-pending { background: var(--warn-soft); }
  .pricing-table th[scope="row"] { grid-column: 1 / -1; padding: 0; border: 0; }
  .pricing-table td { display: flex; flex-direction: column; gap: 2px; padding: 0; border: 0; text-align: left; }
  .pricing-table td[data-label]::before { content: attr(data-label); font-size: 0.72rem; font-weight: 650; letter-spacing: 0.05em; text-transform: uppercase; color: var(--muted); }
  .pricing-table td[data-label="Détail"] { grid-column: 1 / -1; }
  .pricing-table td[data-label="Détail"]::before { content: none; }
  .pricing-table td[colspan] { grid-column: 1 / -1; }
  .pricing-why[open] { min-width: 0; }
}

/* --- Bornes et événements ------------------------------------------------------------------ */

.pricing-threshold input { max-width: 8rem; }
.card.pricing-type h3 { font-size: 1.1rem; }

.pricing-events { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.pricing-event p { margin: 0; }
