/* Camiblog - décodeur météo (chargée sur /decoder-meteo) */
.meteo-page .page-section-header { background: linear-gradient(120deg, #17285e, #2b709d); }
.meteo-decoder { margin: 1.25rem 0; padding: 1.25rem; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.meteo-decoder h2 { margin-top: 0; }
.meteo-fetch-row, .meteo-input-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.meteo-fetch-row { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.meteo-input-label { flex: 0 0 100%; color: var(--muted); font-size: .85rem; font-weight: 600; }
.meteo-input, .meteo-icao-input { padding: .6rem .8rem; border: 1px solid var(--border); border-radius: 6px; font-family: Consolas, Monaco, monospace; font-size: .95rem; text-transform: uppercase; }
.meteo-input { flex: 1 1 320px; }
.meteo-icao-input { flex: 0 0 7rem; width: 7rem; }
.meteo-fetch-status { flex: 1 1 260px; color: var(--muted); font-size: .85rem; }
.meteo-fetch-status.is-success { color: #176246; }
.meteo-fetch-status.is-warning { color: #8a6200; }
.meteo-fetch-status.is-error { color: #842029; }
.meteo-fetch-row button:disabled { cursor: wait; opacity: .65; }
.meteo-tabs { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1.25rem 0 0; border-bottom: 1px solid var(--border); }
.meteo-tab { padding: .75rem 1rem; border: 1px solid transparent; border-bottom: 0; border-radius: 7px 7px 0 0; background: transparent; color: var(--muted); font: inherit; font-weight: 700; cursor: pointer; }
.meteo-tab:hover, .meteo-tab:focus-visible, .meteo-tab.is-active { border-color: var(--border); background: #fff; color: var(--navy); outline: none; }
.meteo-panel { display: none; padding-top: 1.25rem; }
.meteo-panel.is-active { display: block; }

.meteo-results { margin-top: 1rem; }
.metar-airport { margin: 0 0 .5rem; padding: .5rem .75rem; border-left: 4px solid var(--blue-light); background: #f4f8fb; color: var(--navy); font-size: .92rem; }
.metar-airport strong { font-weight: 700; }
.metar-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.metar-table caption { padding: .4rem 0; color: var(--navy); font-weight: 700; text-align: left; }
.metar-table th { padding: .5rem .6rem; background: var(--blue-light); color: var(--navy); text-align: left; }
.metar-table td { padding: .45rem .6rem; border-bottom: 1px solid #e3e8ef; vertical-align: top; }
.metar-token { font-family: Consolas, Monaco, monospace; font-weight: 700; color: var(--navy); white-space: nowrap; }
.metar-unknown td { color: var(--muted); font-style: italic; }
.metar-error { padding: .75rem 1rem; border-left: 4px solid #d79b00; background: #fff8df; color: #644e00; }
.meteo-ref-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.meteo-page h2 { margin-top: 1.75rem; color: var(--navy); font-size: 1.25rem; }
.meteo-page code { padding: .1rem .35rem; border-radius: 4px; background: var(--blue-light); font-family: Consolas, Monaco, monospace; font-size: .9em; }
.metar-remarks-guide { margin: 1.75rem 0; padding: 1.25rem; border: 1px solid var(--border); border-radius: 10px; background: linear-gradient(145deg, #f8fcff, #edf6fb); }
.metar-remarks-guide header h2 { margin: .25rem 0 .6rem; }
.metar-remarks-guide > p { color: #31546a; }
.metar-message-parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: .65rem; margin: 1rem 0 1.25rem; }
.metar-message-parts > div { padding: .8rem; border: 1px solid #cfe0eb; border-radius: 8px; background: #fff; }
.metar-message-parts strong { display: inline-block; margin-bottom: .4rem; padding: .15rem .5rem; border-radius: 4px; background: var(--navy); color: #fff; font-family: Consolas, Monaco, monospace; font-size: .8rem; }
.metar-message-parts span { display: block; margin-bottom: .4rem; color: var(--muted); font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.metar-message-parts code { display: block; padding: .45rem .6rem; overflow-wrap: anywhere; }
.metar-reading-levels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.metar-reading-levels article { padding: 1rem; border: 1px solid #cfe0eb; border-radius: 8px; background: #fff; }
.metar-reading-levels h3 { margin: 0 0 .45rem; color: var(--navy); font-size: 1.05rem; }
.metar-reading-levels p { margin: 0 0 .6rem; color: var(--muted); }
.metar-reading-levels ul { margin: 0; padding-left: 1.2rem; }
.metar-remarks-note { margin-top: 1rem; padding: .8rem 1rem; border-left: 4px solid #d79b00; border-radius: 0 7px 7px 0; background: #fff8df; color: #644e00; }
