/* Atlas du référentiel (lot 2, ticket G6) : styles du bundle (04-atlas.dc.html, ATLAS:13-96, styles en ligne) transcrits
   en classes, portée .atlas, pour l'accueil et /regions. Trois colonnes dès 1 100 px ; carte et liste côte à côte, fiche
   sous la liste, de 901 à 1 099 px ; mobile à 900 px et moins (celle du pré-rendu, prerendu.mjs), en CSS seulement.
   Une seule carte et une seule rangée de puces, placées par grid-template-areas. Écarts déclarés : contrastes corrigés
   (#93A3AD et #64727a en texte vers #5A6B75), cibles de 44 px (puces, lignes, boutons), aucune pastille sur la photo. */
@import url('../envies/garder.css');

.atlas{--atlas-gouttiere:var(--gutter,clamp(22px,5vw,80px));--atlas-encre:#101e26;--atlas-ambre:#92600e;--atlas-gris:#5A6B75;--atlas-filet:#d5dcdd;--atlas-papier:#f5f6f2;--atlas-marine:#132e3d;--atlas-nuit:#0d2431;--atlas-safran:#F6A72D;
  background:var(--atlas-papier);color:var(--atlas-encre);font-family:Poppins,system-ui,sans-serif;font-size:14px;line-height:1.5}
.atlas *,.atlas *::before,.atlas *::after{box-sizing:border-box}
.atlas-cadre{max-width:1600px;margin:0 auto;padding:0 var(--atlas-gouttiere) 48px}
.atlas--regions .atlas-cadre{max-width:1680px}
.atlas-interieur{border-top:1px solid var(--atlas-filet);padding-top:32px}
.atlas-racine.sc-placeholder{min-height:880px;border:0;background:transparent}
.atlas-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.atlas button{font-family:inherit}
.atlas :focus-visible{outline:3px solid var(--atlas-safran);outline-offset:2px}

/* En-tête (ATLAS:27-30) */
.atlas-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;flex-wrap:wrap;margin-bottom:34px}
.atlas-surtitre{margin:0 0 14px;font-size:10px;font-weight:600;line-height:1.6;letter-spacing:.22em;text-transform:uppercase;color:var(--atlas-ambre)}
.atlas-titre{margin:0;font-family:Cormorant,Georgia,serif;font-weight:700;font-size:clamp(50px,6vw,86px);line-height:.92;letter-spacing:-.03em;color:var(--atlas-encre)}
.atlas-toutes{display:inline-flex;align-items:center;gap:15px;min-height:44px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:11px;font-weight:600;text-decoration:none;color:var(--atlas-encre)}
.atlas-toutes:hover{color:var(--atlas-ambre)}

/* Grille : carte, liste, fiche (ATLAS:32) */
.atlas-grille{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.96fr) minmax(0,1.17fr);grid-template-rows:auto auto auto auto 1fr;
  grid-template-areas:"fil liste fiche" "carte liste fiche" "puces liste fiche" "aide liste fiche" ". liste fiche";gap:12px 28px;align-items:start}
.atlas-colonnes{display:contents}
.atlas-fil-ligne{grid-area:fil}
.atlas-carte{grid-area:carte}
.atlas-puces{grid-area:puces}
.atlas-aide{grid-area:aide}
.atlas-liste{grid-area:liste;display:flex;flex-direction:column;gap:22px;min-width:0}
.atlas-fiche{grid-area:fiche;display:flex;flex-direction:column;min-width:0;margin:0}
.atlas-rangees{grid-area:rangees}
.atlas-etroit{display:none!important}

/* Fil (ATLAS:35-41) */
.atlas-fil-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.atlas-fil{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--atlas-gris);min-width:0}
.atlas-fil-pays{min-height:44px;padding:0;border:0;background:none;font:inherit;color:var(--atlas-gris);cursor:pointer}
.atlas-fil-pays:disabled{color:var(--atlas-encre);cursor:default;opacity:1}
.atlas-fil-pays:not(:disabled):hover{color:var(--atlas-ambre)}
.atlas-fil-zone{color:var(--atlas-encre);font-weight:600;white-space:nowrap}
.atlas-retour{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid #C5CFD1;background:#fff;color:var(--atlas-encre);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}
.atlas-retour:hover{border-color:var(--atlas-marine)}

/* Carte (ATLAS:42-50) : rapport 20/21, quadrillage léger ; hors de l'arbre d'accessibilité */
.atlas-carte{position:relative;width:100%;aspect-ratio:20/21;overflow:hidden;background-color:var(--atlas-papier);
  background-image:linear-gradient(#557c8b0a 1px,transparent 1px),linear-gradient(90deg,#557c8b0a 1px,transparent 1px);background-size:32px 32px;user-select:none;-webkit-user-select:none}
.atlas-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.atlas-voisins{fill:#ECEEE8;stroke:#D5DCDD;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.atlas-terre{fill:#FBFAF5;pointer-events:none}
.atlas-contour{fill:none;stroke:#71888E;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}
.atlas-zone{fill:var(--teinte);fill-opacity:1;stroke:#FAFAF4;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;transition:fill-opacity .3s ease,fill .25s ease}
.atlas-carte.a-survol:not(.est-zoom) .atlas-zone{fill-opacity:.45}
.atlas-carte:not(.est-zoom) .atlas-zone.est-survol{fill:var(--sombre);fill-opacity:1;stroke:var(--atlas-safran);stroke-width:2}
.atlas-carte.est-zoom .atlas-zone{fill-opacity:.35}
.atlas-carte.est-zoom .atlas-zone.est-survol{fill-opacity:.6;stroke:var(--atlas-safran);stroke-width:2}
.atlas-carte.est-zoom .atlas-zone.est-courante{fill-opacity:1;cursor:default;stroke:#FAFAF4;stroke-width:1.4}
.atlas-filets{fill:none;stroke:#4F6B72;stroke-opacity:.7;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;pointer-events:none}
.atlas-carte.est-entree .atlas-filets{animation:atlas-trait .6s cubic-bezier(.4,0,.2,1) both}
.atlas-renvoi{stroke:#132E3D;stroke-opacity:.5;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.atlas-origine{fill:#132E3D;pointer-events:none}
@keyframes atlas-trait{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes atlas-fondu{from{opacity:0}to{opacity:1}}
@keyframes atlas-pose{from{opacity:0;transform:translate(-50%,-50%) translateY(-14px) scale(.7)}to{opacity:1;transform:translate(-50%,-50%)}}

/* Surcouche : noms et points (ATLAS:308-329) ; cachée pendant le zoom, puis fondue */
.atlas-surcouche{position:absolute;inset:0;pointer-events:none;transition:opacity .2s ease}
.atlas-carte.est-anime .atlas-surcouche{opacity:0;visibility:hidden;transition:none}
.atlas-carte.est-entree .atlas-nom-region,.atlas-carte.est-entree .atlas-renvoi,.atlas-carte.est-entree .atlas-origine{animation:atlas-fondu .5s .3s both}
.atlas-mer{position:absolute;transform:translate(-50%,-50%);font:italic 700 16px/1 Cormorant,Georgia,serif;color:#557E89;letter-spacing:.05em;white-space:nowrap}
.atlas-nom-zone{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:italic 700 17px/1 Cormorant,Georgia,serif;color:#193342;text-shadow:0 0 4px rgba(245,246,242,.95);pointer-events:auto;cursor:pointer;z-index:1;transition:opacity .3s ease}
.atlas-carte.a-survol:not(.est-zoom) .atlas-nom-zone{opacity:.55}
.atlas-carte .atlas-nom-zone.est-survol{opacity:1;z-index:5;padding:6px 10px;background:var(--atlas-marine);color:#fff;font:600 11px/1.2 Poppins,sans-serif;text-shadow:none;box-shadow:0 8px 20px -10px rgba(13,36,49,.5)}
.atlas-carte.est-zoom .atlas-nom-zone{opacity:.5}
.atlas-carte.est-zoom .atlas-nom-zone.est-survol{opacity:1}
.atlas-nom-region{position:absolute;transform:translate(-50%,-50%);max-width:130px;text-align:center;font:600 9px/1.25 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#455E69;text-shadow:0 0 3px #F5F6F2,0 0 3px #F5F6F2}
/* Repli des contours : les territoires en points teintés, pour lire les super-régions sans contour (spec, §8.2) */
.atlas-teinte{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--sombre);border:1px solid rgba(19,46,61,.45);pointer-events:auto;cursor:pointer;transition:opacity .3s ease,transform .2s ease}
.atlas-carte.a-survol:not(.est-zoom) .atlas-teinte{opacity:.45}
.atlas-carte .atlas-teinte.est-survol{opacity:1;transform:scale(1.35);border-color:var(--atlas-safran)}
.atlas-carte.est-zoom .atlas-teinte{opacity:.35}
.atlas-carte.est-zoom .atlas-teinte.est-survol{opacity:.8}
/* Points des territoires : plein pour une ville-pôle, anneau pour un ensemble ; halo ambre sur le territoire choisi */
.atlas-point{position:absolute;width:calc(2 * var(--r));height:calc(2 * var(--r));transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;pointer-events:auto;cursor:pointer;z-index:3;
  font:600 10px/1 Poppins,sans-serif;box-shadow:0 1px 2px rgba(13,36,49,.25);transition:background .2s ease,box-shadow .25s ease}
.atlas-point.est-pole{background:var(--atlas-marine);color:#fff;border:1.5px solid #F5F6F2}
.atlas-point.est-ensemble{background:#fff;color:var(--atlas-marine);border:2.5px solid var(--atlas-marine)}
.atlas-point.est-actif{background:var(--atlas-safran);color:var(--atlas-encre);z-index:4;box-shadow:0 0 0 9px rgba(246,167,45,.28)}
.atlas-point.est-pole.est-actif{border-color:var(--atlas-marine)}
.atlas-point.est-seul{pointer-events:none;border:1.5px solid var(--atlas-marine)}
.atlas-point.est-seul::after{display:none}
.atlas-carte.est-entree .atlas-point:not(.est-seul){animation:atlas-pose .26s calc(var(--i) * 25ms) cubic-bezier(.2,.7,.2,1) both}
.atlas-point.est-survol,.atlas-point:hover{z-index:5}
.atlas-bulle{display:none;position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:4px 9px;background:#fff;border:1px solid var(--atlas-filet);font:600 11px/1.2 Poppins,sans-serif;color:var(--atlas-encre);white-space:nowrap;pointer-events:none;z-index:6;box-shadow:0 6px 16px -10px rgba(13,36,49,.45)}
.atlas-point.est-survol .atlas-bulle,.atlas-point:hover .atlas-bulle{display:block}
.atlas-numero{position:relative;z-index:1}

/* Puces des super-régions (ATLAS:51-53) */
.atlas-puces{display:flex;flex-wrap:wrap;gap:6px}
.atlas-puce{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 11px 0 9px;border:1px solid #C5CFD1;background:transparent;color:var(--atlas-encre);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s ease,border-color .2s ease}
.atlas-puce[aria-pressed="true"]{background:var(--atlas-marine);color:#fff;border-color:var(--atlas-marine)}
.atlas-puce:not([aria-pressed="true"]):hover{border-color:var(--atlas-marine)}
.atlas-teinte-puce{display:inline-block;width:10px;height:10px;flex:none;background:var(--teinte);border:1px solid #93A3AD}
.atlas-aide{display:flex;align-items:center;gap:8px;margin:0;font-size:10px;line-height:1.6;color:var(--atlas-gris)}
.atlas-aide-point{width:7px;height:7px;flex:none;border-radius:50%;background:var(--atlas-safran)}

/* Liste et « À voir » (ATLAS:57-78) */
.atlas-bloc{display:flex;flex-direction:column}
.atlas-intertitre{margin:0 0 10px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--atlas-ambre)}
/* Les régions d'une super-région : un rang de plus dans la liste, plus discret que son intertitre. */
.atlas-region{margin:14px 0 6px;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--atlas-encre-douce,#5b6670)}
.atlas-lignes+.atlas-region{margin-top:18px}
.atlas-region:first-child{margin-top:0}
.atlas-region-lien{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.atlas-region-lien:hover,.atlas-region-lien:focus-visible{color:var(--atlas-ambre)}
.atlas-lignes{margin:0;padding:0;list-style:none;border-top:1px solid var(--atlas-filet)}
.atlas-lignes>li{border-bottom:1px solid var(--atlas-filet)}
.atlas-ligne{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;padding:5px 8px 5px 4px;border:0;background:transparent;color:var(--atlas-encre);text-align:left;cursor:pointer;transition:background .2s ease}
.atlas-ligne-lieu{grid-template-columns:minmax(0,1fr) auto}
.atlas-ligne:hover,.atlas-ligne[aria-current="true"]{background:#E8ECE7}
.atlas-repere{display:grid;place-items:center}
.atlas-repere .atlas-teinte-puce{width:12px;height:12px}
.atlas-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600}
.atlas-num.est-pole{background:var(--atlas-marine);color:#fff;border:1.5px solid var(--atlas-marine)}
.atlas-num.est-ensemble{background:#fff;color:var(--atlas-marine);border:2px solid var(--atlas-marine)}
.atlas-num.est-actif{background:var(--atlas-safran);color:var(--atlas-encre)}
.atlas-ligne-texte{display:flex;align-items:baseline;gap:4px 8px;min-width:0;flex-wrap:wrap}
.atlas-ligne-nom{font-size:13px;font-weight:600;line-height:1.3}
.atlas-ligne-petit{font-size:10.5px;color:var(--atlas-gris)}
.atlas-ligne-fleche{font-size:13px;color:var(--atlas-gris)}
.atlas-ligne[aria-current="true"] .atlas-ligne-fleche{color:var(--atlas-ambre)}
.atlas-plus{align-self:flex-start;min-height:44px;margin-top:0;padding:0;border:0;background:none;color:var(--atlas-encre);font-size:11px;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.atlas-plus:hover{color:var(--atlas-ambre)}

/* Fiche (ATLAS:80-96), sans pastille ni durée */
.atlas-photo{position:relative;margin:0;height:250px;background:#E9EDF1;overflow:hidden}
.atlas-photo img{display:block;width:100%;height:100%;object-fit:cover}
.atlas-aplat{position:absolute;inset:0;display:block;background:#E9EDF1}
.atlas-legende{position:absolute;left:14px;bottom:13px;max-width:calc(100% - 28px);padding:4px 8px;background:#f8f7eeec;font-size:10px;line-height:1.4;letter-spacing:.02em;color:var(--atlas-encre)}
.atlas-fiche-texte{display:flex;flex-direction:column;gap:6px;padding-top:22px}
.atlas-fiche-surtitre{margin:0;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--atlas-ambre)}
.atlas-fiche-titre{margin:0;font-family:Cormorant,Georgia,serif;font-weight:700;font-size:42px;line-height:1;letter-spacing:-.02em;text-wrap:balance;color:var(--atlas-encre)}
.atlas-contenu{display:flex;flex-wrap:wrap;gap:4px 0;margin:4px 0 0;padding:0;list-style:none;font-size:12px;line-height:1.7;color:#53666e}
.atlas-contenu>li{padding-right:12px;margin-right:12px;border-right:1px solid var(--atlas-filet)}
.atlas-contenu>li:last-child{border-right:0;padding-right:0;margin-right:0}
.atlas-contenu a{color:var(--atlas-encre);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.atlas-contenu a:hover{color:var(--atlas-ambre)}
.atlas-faits{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:12px 0;border-top:1px solid var(--atlas-filet);border-bottom:1px solid var(--atlas-filet);font-size:11px;color:#455e69}
.atlas-icone{font-size:19px;line-height:1;color:var(--atlas-marine)}
.atlas-nature{width:8px;height:8px;border-radius:50%;background:var(--atlas-marine)}
.atlas-nature.est-unesco{background:var(--atlas-safran)}
.atlas-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px}
.atlas-cta{display:flex;align-self:stretch;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:11px 17px;background:var(--atlas-nuit);color:#fff;font-size:11px;font-weight:600;text-decoration:none}
.atlas-cta:hover{background:var(--atlas-marine);color:#fff}
.atlas-lien{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--atlas-encre);font-size:11px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.atlas-lien:hover{color:var(--atlas-ambre)}

/* De 901 à 1 099 px : carte et liste côte à côte, fiche sous la liste */
@media (min-width:900.02px) and (max-width:1099.98px){
  .atlas-grille{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr;grid-template-areas:"fil colonnes" "carte colonnes" "puces colonnes" "aide colonnes" ". colonnes"}
  .atlas-colonnes{display:flex;flex-direction:column;gap:32px;grid-area:colonnes;min-width:0}
}

/* Mobile, 900 px et moins (spec, §5.2, §12) : puces, carte compacte, aide, rangées */
@media (max-width:900px){
  .atlas-cadre{padding-bottom:40px}
  .atlas-interieur{padding-top:29px}
  .atlas-tete{gap:18px;margin-bottom:22px}
  .atlas-titre{font-size:clamp(40px,11vw,56px)}
  .atlas-large{display:none!important}
  .atlas-etroit{display:revert!important}
  .atlas-grille{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"puces" "carte" "aide" "rangees";gap:14px}
  .atlas-puces{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--atlas-gouttiere));padding:0 var(--atlas-gouttiere)}
  .atlas-puces::-webkit-scrollbar{display:none}
  .atlas-puce{flex:none}
  .atlas-puce-pays{display:inline-flex!important}
  /* Zone de toucher de 44 px autour de chaque point (E19), en mobile seulement : ZONE_TOUCHER de carte-svg.js, qui
     écarte les points d'autant pour qu'aucune zone n'en couvre une autre. En bureau, le disque visible est la cible. */
  .atlas-point::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%}
  .atlas-carte{width:min(100%,calc(60vh * 20 / 21));width:min(100%,calc(60dvh * 20 / 21));justify-self:center}
  .atlas-aide .atlas-etroit{display:inline!important}
  .atlas-rangees{display:flex!important;flex-direction:column;gap:12px;min-width:0}
  .atlas-rangees>.atlas-intertitre{margin:18px 0 0}
  .atlas-rangee-bloc{min-width:0}
  .atlas-rangee{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--atlas-gouttiere));padding:4px var(--atlas-gouttiere) 6px;scroll-padding-left:var(--atlas-gouttiere);-webkit-overflow-scrolling:touch;outline:none}
  .atlas-rangee::-webkit-scrollbar{display:none}
  .atlas-rangee:focus-visible{box-shadow:inset 0 0 0 2px var(--atlas-safran)}
  .atlas-carte-fiche{flex:0 0 min(78vw,340px);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--atlas-filet);transition:border-color .25s,box-shadow .25s;min-width:0}
  .atlas-carte-fiche.est-actif{border-color:var(--atlas-marine);box-shadow:0 16px 30px -24px #0d2431b3}
  .atlas-carte-fiche .atlas-photo{height:auto;aspect-ratio:1.5}
  .atlas-carte-fiche .atlas-fiche-texte{flex:1;padding:16px;gap:6px}
  .atlas-carte-fiche .atlas-fiche-titre{font-size:clamp(27px,7.2vw,33px);letter-spacing:-.035em}
  .atlas-carte-fiche .atlas-actions{margin-top:auto;padding-top:12px;flex-direction:row;flex-wrap:wrap;align-items:center}
  .atlas-carte-fiche .atlas-cta{flex:1 1 100%}
  .atlas-num-carte{position:absolute;top:12px;left:12px;z-index:1;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font:600 11px Poppins,sans-serif;transition:background .2s,color .2s}
  .atlas-num-carte.est-pole{background:var(--atlas-marine);color:#fff;border:1.5px solid var(--atlas-papier)}
  .atlas-num-carte.est-ensemble{background:#fff;color:var(--atlas-marine);border:2.5px solid var(--atlas-marine)}
  .atlas-carte-fiche.est-actif .atlas-num-carte{background:var(--atlas-safran);color:var(--atlas-encre);border-color:var(--atlas-marine)}
  .atlas-rangee-pied{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
  .atlas-fleche{width:44px;height:44px;border:1px solid var(--atlas-marine);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--atlas-marine);cursor:pointer;transition:background .2s,color .2s,opacity .2s}
  .atlas-fleche svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .atlas-fleche:disabled{opacity:.3;cursor:default}
  .atlas-fleche:not(:disabled):hover{background:var(--atlas-marine);color:#fff}
  .atlas-racine.sc-placeholder{min-height:1180px}
}

@media (prefers-reduced-motion:reduce){
  .atlas *,.atlas *::before,.atlas *::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
