/* =========================================================================
   practical.css — Onglet « Pratique » : repères, convertisseur, lexique
   ========================================================================= */
.prac-head { text-align: center; max-width: 52ch; margin: 0 auto 2.6rem; }
.prac-head__kicker { text-transform: uppercase; letter-spacing: .26em; font-size: .74rem; font-weight: 600; color: var(--accent); }
.prac-head__title { font-size: clamp(2rem, 4.5vw, 3rem); margin: .5rem 0 .6rem; }
.prac-head__lead { font-family: var(--serif); font-style: italic; font-size: 1.2rem; color: var(--ink-soft); }

/* Repères express */
.prac-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; margin-bottom: 2.2rem; }
.fact { display: flex; gap: .8rem; align-items: flex-start; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-md); padding: 1rem 1.1rem; box-shadow: var(--shadow-sm); }
.fact__icon { font-size: 1.5rem; line-height: 1.1; flex: none; }
.fact__label { display: block; font-size: .95rem; margin-bottom: .15rem; }
.fact__value { margin: 0; font-size: .85rem; color: var(--ink-soft); line-height: 1.45; }

/* Deux colonnes : convertisseur + lexique */
.prac-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin-bottom: 1rem; }
.prac-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.6rem; box-shadow: var(--shadow-sm); }
.prac-card__title { font-size: 1.3rem; margin-bottom: 1.1rem; }

/* Convertisseur lei ↔ euro */
.conv-card { background: linear-gradient(160deg, #fff, var(--paper-2)); }
.conv__pair { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: .8rem; }
.conv__cell { display: flex; flex-direction: column; gap: .35rem; }
.conv__cur { font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; color: var(--ink-faint); font-weight: 600; }
.conv__field {
  font-family: var(--serif); font-size: 1.9rem; font-weight: 600; color: var(--ink);
  width: 100%; padding: .55rem .7rem; background: var(--paper);
  border: 1px solid var(--line-strong); border-radius: var(--r-sm);
}
.conv__field:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(154,59,38,.14); }
.conv__swap { font-size: 1.3rem; color: var(--accent); padding-bottom: .8rem; }
.conv__rate { font-size: .8rem; color: var(--ink-faint); margin: .8rem 0 1rem; }
.conv__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.conv__chip {
  display: inline-flex; align-items: center; gap: .45rem;
  border: 1px solid var(--line-strong); background: var(--card);
  border-radius: 999px; padding: .35rem .75rem; font-size: .8rem; color: var(--ink-soft);
  transition: .15s;
}
.conv__chip strong { color: var(--accent); font-weight: 700; }
.conv__chip:hover { border-color: var(--accent); background: #fbf1e9; }

/* Lexique */
.lex-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1.4rem; }
.lex { display: flex; flex-direction: column; border-left: 2px solid var(--gold); padding-left: .7rem; }
.lex__ro { font-family: var(--serif); font-size: 1.08rem; font-weight: 600; color: var(--accent-dk); }
.lex__fr { font-size: .85rem; color: var(--ink); }
.lex__say { font-size: .74rem; color: var(--ink-faint); font-style: italic; }

/* Météo d'octobre */
.climate-card { margin-bottom: 1.6rem; }
.climate-bands { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 1.3rem; }
.cband { border: 1px solid var(--line); border-radius: var(--r-md); padding: .9rem 1rem; background: var(--paper); }
.cband__zone { display: block; font-family: var(--sans); font-weight: 700; font-size: .8rem; color: var(--ink); }
.cband__temps { display: flex; gap: .9rem; margin: .45rem 0 .35rem; font-size: .9rem; font-weight: 600; }
.cband__day { color: var(--accent); }
.cband__night { color: var(--forest); }
.cband__note { margin: 0; font-size: .78rem; color: var(--ink-soft); line-height: 1.4; }
.climate-facts { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; }
.climate-facts li { font-size: .84rem; color: var(--ink-soft); line-height: 1.45; }
.climate-facts li::marker { color: var(--gold); content: "❉ "; }

/* Liste de bagages */
.packing-card { margin-bottom: 1.6rem; }
.packing__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.packing__head .prac-card__title { margin-bottom: 0; }
.packing__count { font-family: var(--sans); font-weight: 700; font-size: .82rem; color: var(--forest); background: var(--paper-2); border-radius: 999px; padding: .25rem .7rem; white-space: nowrap; }
.packing__lead { font-size: .85rem; color: var(--ink-soft); margin: .6rem 0 1.3rem; max-width: 60ch; }
.pk-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem 1.8rem; }
.pk-group__title { font-family: var(--sans); font-size: .92rem; font-weight: 700; color: var(--accent-dk); margin-bottom: .6rem; }
.pk-group__items { display: grid; gap: .15rem; }
.pk { display: flex; align-items: baseline; gap: .55rem; padding: .32rem .4rem; border-radius: var(--r-sm); cursor: pointer; transition: background .18s ease; }
.pk:hover { background: var(--paper-2); }
.pk__box { flex: none; width: 1rem; height: 1rem; accent-color: var(--forest); margin-top: .12rem; }
.pk__t { font-size: .88rem; color: var(--ink); }
.pk__why { font-size: .74rem; color: var(--ink-faint); font-style: italic; }
.pk__why::before { content: "— "; }
.pk.is-checked .pk__t { text-decoration: line-through; color: var(--ink-faint); }
.pk.is-checked { opacity: .72; }

@media (max-width: 760px) {
  .prac-cols { grid-template-columns: 1fr; }
  .lex-grid { grid-template-columns: 1fr; }
  .conv__field { font-size: 1.5rem; }
  .pk-groups { grid-template-columns: 1fr; }
}
