/* Camiblog - accueil (chargée sur /) */
.home-metar { margin: 1.5rem 0; padding: 1.5rem; border: 1px solid #cce1ef; border-radius: 10px; background: #f6fbff; }
.home-metar-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.home-metar-heading h2 { margin: 0; color: var(--navy); font-size: clamp(1.35rem, 3vw, 1.8rem); }
.home-metar-heading .eyebrow { margin-bottom: .35rem; }
.home-metar-description { max-width: 60ch; margin: .45rem 0 0; color: var(--muted); font-size: .92rem; }
.home-metar-actions { display: flex; align-items: flex-end; flex-direction: column; gap: .55rem; }
.home-metar-toggle { padding: .45rem .85rem; border: 1px solid var(--blue); border-radius: 999px; background: #fff; color: var(--blue); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; transition: background-color .18s ease, color .18s ease; }
.home-metar-toggle:hover, .home-metar-toggle:focus-visible { background: var(--blue); color: #fff; }
.home-metar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.home-metar-grid.is-collapsed .home-metar-card:nth-child(n+4) { display: none; }
.home-metar-card { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: #fff; box-shadow: 0 5px 15px rgba(30, 74, 112, .06); }
.home-metar-card header { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: .65rem; }
.home-metar-card header strong { color: var(--navy); font-size: 1.1rem; }
.home-metar-card header span, .home-metar-card small { color: var(--muted); font-size: .78rem; }
.home-metar-raw { min-height: 3.2rem; margin: 0 0 .6rem; overflow-wrap: anywhere; color: #27384a; font-family: Consolas, Monaco, monospace; font-size: .84rem; line-height: 1.45; }
.home-metar-card-footer { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.home-metar-copy { flex: 0 0 auto; padding: .3rem .65rem; border: 1px solid var(--border); border-radius: 999px; background: var(--blue-light); color: var(--blue); font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; transition: background-color .18s ease, color .18s ease; }
.home-metar-copy:hover, .home-metar-copy:focus-visible { border-color: var(--blue); background: var(--blue); color: #fff; }
.home-metar-copy.is-copied { border-color: #16803c; background: #dcf3e4; color: #12632f; }
.home-metar-card.is-loaded { border-color: #9dd7b6; }
.home-metar-card.is-stale { border-color: #f0d9a8; background: #fffaf0; }
.home-metar-card.is-error { border-color: #efb4b4; background: #fff8f8; }
.home-metar-card.is-error .home-metar-raw { color: #842029; }
.latest-articles { margin: 1.5rem 0; padding: 1.5rem; border-radius: 12px; background: linear-gradient(135deg, #101e4a, #245d8c); color: #fff; box-shadow: 0 12px 28px rgba(19, 54, 94, .18); }
.latest-articles-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.latest-articles-heading h2 { margin: 0; color: #fff; font-size: clamp(1.4rem, 3vw, 2rem); }
.latest-articles-heading .eyebrow { margin-bottom: .35rem; }
.latest-articles-heading .text-link { margin: 0; color: #bcecff; }
.latest-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.latest-article-card { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .8rem; min-width: 0; padding: 1rem; border: 1px solid rgba(190, 231, 250, .28); border-radius: 8px; background: rgba(255, 255, 255, .08); color: #fff; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.latest-article-card:hover { background: rgba(255, 255, 255, .17); color: #fff; transform: translateY(-2px); }
.latest-article-date { color: #bcecff; font-size: .75rem; }
.latest-article-card h3 { margin: .25rem 0 .35rem; color: #fff; font-size: 1rem; line-height: 1.25; }
.latest-article-card p { display: -webkit-box; margin: 0; overflow: hidden; color: #dbeefa; font-size: .85rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
.latest-article-arrow { align-self: end; color: #8ed7f7; font-size: 1.25rem; font-weight: 700; }
.flight-hero {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 3rem clamp(1.5rem, 6vw, 5rem);
    border-radius: 14px;
    isolation: isolate;
    background: linear-gradient(105deg, rgba(12, 31, 75, .96) 0%, rgba(18, 61, 111, .86) 48%, rgba(24, 91, 143, .35) 100%), url('../images/fcami-banniere.jpg') center / cover;
    box-shadow: 0 14px 32px rgba(19, 54, 94, .2);
}
.flight-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    background: linear-gradient(90deg, rgba(8, 20, 51, .8), transparent 75%);
}
.flight-hero-content { max-width: 540px; color: #fff; }
.flight-hero h1 { margin: 0; font-size: clamp(2.1rem, 5vw, 4.2rem); line-height: 1.03; letter-spacing: -.035em; }
.flight-hero-lead { max-width: 35rem; margin: 1.25rem 0 1.75rem; color: #e8f5ff; font-size: 1.12rem; }
.flight-hero-plane { position: absolute; right: -4%; bottom: -2%; z-index: -1; width: min(65%, 720px); opacity: .78; filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .3)); }
.flight-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.flight-hero-invite { max-width: 35rem; margin: 1.5rem 0 0; padding: 0.8rem 1rem; border-left: 3px solid #7bd3f5; background: rgba(255,255,255,.08); border-radius: 0 7px 7px 0; color: #e8f5ff; font-size: .95rem; }
.flight-hero-invite a {
    display: inline-block;
    padding: 0.25rem 0.8rem;
    border: 1px solid #7bd3f5;
    border-radius: 999px;
    color: #7bd3f5;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.flight-hero-invite a:hover, .flight-hero-invite a:focus-visible {
    background: #7bd3f5;
    color: #09264b;
    text-decoration: none;
}
.flight-intro { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 1.5rem 0; padding: 1.5rem; border: 1px solid #cce1ef; border-radius: 10px; background: linear-gradient(110deg, #f6fbff, #e8f5fc); }
.flight-intro h2 { margin: 0 0 .35rem; color: var(--navy); font-size: clamp(1.35rem, 3vw, 2rem); }
.flight-intro p:last-child { max-width: 650px; margin: 0; color: var(--muted); }
.flight-status { display: flex; align-items: center; gap: .75rem; flex: 0 0 auto; padding: .75rem 1rem; border: 1px solid #b9dfd0; border-radius: 8px; background: #f2fcf7; color: #176246; }
.flight-status-link { text-decoration: none; box-shadow: 0 4px 12px rgba(23, 98, 70, .06); transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.flight-status-link:hover, .flight-status-link:focus-visible { border-color: #70b7d9; background: #eaf7fc; box-shadow: 0 7px 18px rgba(30, 74, 112, .14); transform: translateY(-2px); }
.status-light { width: .65rem; height: .65rem; border-radius: 50%; background: #27ae70; box-shadow: 0 0 0 4px rgba(39,174,112,.14); }
.flight-status strong, .flight-status small { display: block; }
.flight-status strong { font-size: .74rem; letter-spacing: .06em; }
.flight-status small { color: #4d7c6b; }
.flight-status-arrow { margin-left: .25rem; color: var(--blue); font-size: 1.15rem; transition: transform .18s ease; }
.flight-status-link:hover .flight-status-arrow, .flight-status-link:focus-visible .flight-status-arrow { transform: translateX(3px); }

.flight-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.flight-card { overflow: hidden; border: 1px solid #cfe0eb; border-radius: 10px; background: #fff; box-shadow: 0 6px 16px rgba(30, 74, 112, .08); }
.flight-card-link { display: block; color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.flight-card-link:hover { color: inherit; border-color: #70b7d9; box-shadow: 0 10px 22px rgba(30, 74, 112, .14); transform: translateY(-2px); }
.flight-card img { display: block; width: 100%; height: 150px; object-fit: cover; }
.flight-card > div, .flight-card-text { padding: 1.1rem; }
.flight-card h2 { margin: 0 0 .45rem; color: var(--navy); font-size: 1.15rem; }
.flight-card p { margin: 0; color: var(--muted); }
.flight-card .card-kicker { display: block; margin-bottom: .45rem; color: var(--blue); letter-spacing: .1em; }
.flight-card-text { display: flex; flex-direction: column; justify-content: center; background: linear-gradient(145deg, #17285e, #245d8c); color: #fff; }
.flight-card-text h2 { color: #fff; }
.flight-card-text p { color: #dbeefa; }
.flight-card-text .card-kicker { color: #8ed7f7; }
