:root{--bg:#07111f;--card:#111c2c;--card-alt:#172335;--line:rgba(255,255,255,.12);--text:#f7f9fc;--muted:#b6c5d7;--blue:#43b5ff;--blue-dark:#0874c9;--focus:#8fd2ff;--content:1380px;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.container{width:min(var(--content),calc(100% - 40px));margin-inline:auto}
.astro-topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(7,17,31,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.astro-nav{display:flex;align-items:center;gap:1rem;min-height:64px}.astro-brand{flex:0 0 auto;margin-right:auto;font-weight:900;letter-spacing:.08em;line-height:1.05;text-decoration:none}.astro-brand small{display:block;margin-top:.2rem;color:var(--blue);font-size:.62rem;letter-spacing:.16em}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-links a{padding:.58rem .68rem;border-radius:10px;text-decoration:none;font-size:.82rem;font-weight:700;white-space:nowrap}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current="page"]{background:#12365b;color:#fff}
.astro-hero-full{position:relative;width:100%;min-height:clamp(390px,30vw,465px);overflow:hidden;background-color:#07111f;background-image:linear-gradient(90deg,rgba(7,17,31,.96) 0%,rgba(7,17,31,.83) 26%,rgba(7,17,31,.42) 45%,rgba(7,17,31,.08) 65%,rgba(7,17,31,0) 100%),url("astro-banner-v11.jpg");background-position:center top;background-size:100% auto;background-repeat:no-repeat}.astro-hero-full::after{content:"";position:absolute;inset:auto 0 0;height:24%;z-index:0;background:linear-gradient(transparent,rgba(3,9,18,.58));pointer-events:none}.hero-copy{position:relative;z-index:2;width:min(780px,52vw);padding:clamp(48px,4.4vw,68px) 20px 44px max(44px,calc((100vw - var(--content))/2 + 20px))}.kicker{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}.hero-copy h1{margin:.28rem 0 1rem;font-size:clamp(3rem,4.35vw,4.7rem);line-height:1;white-space:nowrap}.hero-copy p{max-width:610px;margin:0;font-size:clamp(1rem,1.12vw,1.08rem);line-height:1.55}.astro-back-home{display:inline-flex;align-items:center;margin:0 0 1rem;padding:.62rem .82rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(7,17,31,.72);color:#fff;text-decoration:none;font-size:.86rem;font-weight:800;line-height:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.astro-back-home:hover,.astro-back-home:focus-visible{background:rgba(18,54,91,.96)}.signature{position:absolute;right:14px;bottom:10px;z-index:4;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-shadow:0 2px 8px #000}.cta{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;padding:.82rem 1rem;border:1px solid rgba(92,190,255,.55);border-radius:12px;background:linear-gradient(135deg,var(--blue-dark),#135fba);color:#fff;text-decoration:none;font-weight:800;transition:transform .18s,filter .18s}.cta:hover,.cta:focus-visible{transform:translateY(-2px);filter:brightness(1.1)}
.quick-grid,.grid2,.grid3{display:grid;gap:14px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-block:18px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{position:relative;min-width:0;overflow:hidden;padding:18px 18px 38px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.card h2,.card h3{margin:.15rem 0 .65rem;line-height:1.2}.card p{margin:.45rem 0;overflow-wrap:anywhere}.card-link{color:var(--text);text-decoration:none;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.card-link:hover,.card-link:focus-visible{transform:translateY(-3px);border-color:rgba(67,181,255,.65);box-shadow:0 12px 30px rgba(0,0,0,.22)}.card-link .go{display:inline-block;margin-top:.55rem;color:var(--focus);font-weight:800}.visual{display:grid;place-items:center;height:112px;margin:.65rem 0;overflow:hidden;border-radius:14px;background:var(--card-alt);font-size:4rem}.visual.stars{color:#fff;letter-spacing:.08em;text-shadow:0 0 10px #57bfff}.visual.stars span{color:var(--blue);font-size:2rem}.moon-disc{width:82px;height:82px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#cbd5e1 45%,#65758a 75%,#1b2737);box-shadow:inset -18px 0 25px rgba(0,0,0,.55)}.planet{width:86px;height:86px;border-radius:50%;box-shadow:inset -15px -10px 25px rgba(0,0,0,.35)}.jupiter{background:repeating-linear-gradient(0deg,#c89c6d 0 9px,#ead0a4 9px 17px,#9b6847 17px 23px)}.mars{background:radial-gradient(circle at 30% 30%,#e99862,#a33f25 58%,#542018)}.venus{background:radial-gradient(circle at 35% 30%,#fff3c6,#d6ad6f 65%,#8d6b3f)}.saturn{position:relative;z-index:1;overflow:visible;background:radial-gradient(circle at 35% 30%,#f0d99b,#d0b06b 60%,#8d7145)}.saturn::before,.saturn::after{content:"";position:absolute;left:50%;top:50%;width:128px;height:34px;border:7px solid #c7b078;border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg)}.saturn::before{z-index:-1;opacity:.9}.saturn::after{z-index:2;clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);border-color:#e1c990}.constellation-svg{width:100%;height:100%}.constellation-svg line{stroke:#5fc2ff;stroke-width:2}.constellation-svg circle{fill:#fff;filter:drop-shadow(0 0 4px #57bfff)}.info-row{display:flex;justify-content:space-between;gap:14px;padding:.62rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.info-row b{flex:0 0 auto;text-align:right}.muted{color:var(--muted)}.footer{margin-top:36px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);text-align:center}.section-title{margin:30px 0 12px}.section-title span{color:var(--blue)}.notice{padding:12px 14px;border:1px solid rgba(38,167,255,.35);border-radius:12px;background:#0d2944}.event-list a{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.07);border-radius:12px;text-decoration:none}.event-list a:hover{background:rgba(255,255,255,.045)}.datebox{padding:7px;border-radius:10px;background:#12365b;text-align:center;font-weight:900}.detail-hero{padding:32px 0 12px}.detail-hero h1{margin:.2rem 0;font-size:clamp(2rem,5vw,3.6rem)}.back{display:inline-flex;margin-top:18px;color:#9bd7ff;text-decoration:none;font-weight:800}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1100px){.nav-links{max-width:72%;overflow-x:auto;scrollbar-width:thin}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.astro-hero-full{min-height:430px;background-size:100% auto}.hero-copy{width:64%;padding:46px 24px 42px}.hero-copy h1{font-size:clamp(2.65rem,6vw,4rem);white-space:normal}}
@media(max-width:700px){.container{width:min(var(--content),calc(100% - 20px))}.astro-nav{display:block;min-height:0;padding-block:10px 8px}.astro-brand{display:inline-block;margin-bottom:8px}.nav-links{width:calc(100vw - 10px);max-width:none;margin-left:-5px;padding:0 5px 4px;overflow-x:auto}.nav-links a{padding:.48rem .6rem;font-size:.78rem}.astro-hero-full{display:flex;align-items:flex-end;min-height:0;padding-top:clamp(185px,58vw,280px);background-image:linear-gradient(180deg,rgba(7,17,31,0) 0%,rgba(7,17,31,.08) 35%,rgba(7,17,31,.93) 80%,#07111f 100%),url("astro-banner-v11.jpg");background-position:center top;background-size:100% auto}.astro-hero-full::after{display:none}.hero-copy{width:100%;padding:12px 18px 34px}.hero-copy h1{font-size:clamp(2.2rem,10vw,3.1rem)}.hero-copy p{max-width:100%;font-size:1rem}.astro-back-home{margin-bottom:.85rem;padding:.58rem .72rem;font-size:.82rem}.quick-grid,.grid2,.grid3{grid-template-columns:1fr}.card{padding-inline:16px}.event-list a{grid-template-columns:62px minmax(0,1fr)}.event-list a>:last-child{grid-column:2}.footer{margin-top:28px;font-size:.9rem}}
@media(max-width:380px){.hero-copy{padding-inline:14px}.hero-copy h1{font-size:2.15rem}.cta{width:100%;justify-content:center;text-align:center}.info-row{align-items:flex-start}}

/* V15 — nouvelle bannière sans texte, nom versionné pour contourner le cache */
.astro-hero-full{background-image:linear-gradient(90deg,rgba(7,17,31,.96) 0%,rgba(7,17,31,.83) 26%,rgba(7,17,31,.42) 45%,rgba(7,17,31,.08) 65%,rgba(7,17,31,0) 100%),url("astro-banner-v15.jpg")}
@media(max-width:700px){.astro-hero-full{background-image:linear-gradient(180deg,rgba(7,17,31,0) 0%,rgba(7,17,31,.08) 35%,rgba(7,17,31,.93) 80%,#07111f 100%),url("astro-banner-v15.jpg")}}

/* V16 — cadrage mobile adapté au nouveau panorama 4:1 */
@media(max-width:700px){
  .astro-hero-full{padding-top:25vw;align-items:flex-start;background-size:100% auto}
  .hero-copy{padding-top:18px}
  .hero-copy h1{font-size:clamp(2rem,9vw,2.75rem);line-height:1.05;overflow-wrap:anywhere}
}

/* V17 — les six entrées du menu restent visibles sur GSM */
@media(max-width:700px){
  .nav-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;padding:0;gap:6px;overflow:visible}
  .nav-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem .25rem;text-align:center;white-space:normal;line-height:1.15;font-size:clamp(.7rem,3.2vw,.82rem)}
}

/* V18 — fiches complètes des planètes, de la Lune et du Soleil */
.planet-grid,.celestial-grid{margin-top:16px}
.planet-detail-card{display:flex;flex-direction:column}
.planet-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.planet-card-heading h2{margin:0}
.visibility-badge{display:inline-flex;flex:0 0 auto;align-items:center;padding:.35rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900;line-height:1.15;text-align:center}
.visibility-badge.is-visible{background:rgba(86,223,138,.16);border:1px solid rgba(86,223,138,.45);color:#76efa3}
.visibility-badge.not-visible{background:rgba(174,189,208,.1);border:1px solid rgba(174,189,208,.28);color:#c9d3df}
.planet-detail-card .info-row{align-items:flex-start}
.planet-detail-card .info-row span{max-width:48%}
.planet-detail-card .info-row b{max-width:52%;overflow-wrap:anywhere}
.planet-status-text{margin-top:.8rem!important}
.mercure{background:radial-gradient(circle at 35% 30%,#d9d0c5,#8d8378 55%,#48423e)}
.uranus{background:radial-gradient(circle at 35% 30%,#d8ffff,#75d6dd 58%,#3f8794)}
.neptune{background:radial-gradient(circle at 35% 30%,#75a8ff,#245bc4 58%,#102c72)}
.sun-card{background:linear-gradient(145deg,#182238,#111c2c 55%,#201b17)}
.moon-visual{display:grid;place-items:center;min-height:210px;margin:.65rem 0 1rem;overflow:hidden;border-radius:14px;background:radial-gradient(circle,rgba(145,181,225,.14),rgba(23,35,53,.72) 62%,var(--card-alt))}
.moon-visual img{display:block;width:min(220px,70%);height:auto;filter:drop-shadow(0 0 16px rgba(174,207,244,.25))}
.sun-visual{display:grid;place-items:center;min-height:210px;margin:.65rem 0 1rem;overflow:hidden;border-radius:14px;background:radial-gradient(circle,rgba(255,152,34,.13),rgba(23,35,53,.72) 62%,var(--card-alt))}
.sun-visual img{display:block;width:min(220px,70%);height:auto;filter:drop-shadow(0 0 18px rgba(255,145,35,.4))}
.solar-warning{margin-top:1rem;padding:12px 14px;border:1px solid rgba(255,190,72,.45);border-radius:12px;background:rgba(255,156,36,.1);color:#ffe2a8}
.moon-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:1rem}
.moon-guide-item{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid rgba(143,210,255,.18);border-radius:12px;background:rgba(18,54,91,.3)}
.moon-guide-icon{flex:0 0 auto;font-size:1.35rem;line-height:1.2}
.moon-guide-item strong{color:#dff2ff}
.moon-guide-item p{margin:.28rem 0 0;font-size:.9rem;color:var(--muted)}
.moon-daylight{margin-top:12px!important;padding:10px 12px;border-left:3px solid var(--blue);border-radius:0 9px 9px 0;background:rgba(67,181,255,.08);color:#d9efff}

@media(max-width:1100px){.planet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .planet-grid{grid-template-columns:1fr}
  .planet-card-heading{display:block}
  .visibility-badge{margin:.35rem 0 .15rem}
  .planet-detail-card .info-row,.celestial-grid .info-row{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
  .planet-detail-card .info-row span,.planet-detail-card .info-row b{max-width:none;text-align:left}
  .celestial-grid .info-row b{text-align:left;white-space:normal;overflow-wrap:anywhere}
  .moon-guide{grid-template-columns:1fr}
}
