/* accueil.css — « La Une », carte de France, fil des villes, pages Enseignes / Villes / Recherche / Confirmation (agent B, 23/10/2026) */

/* ============ HÉROS ============ */
.acc-une{position:relative;background:var(--papier);overflow:hidden}
.acc-une__in{align-items:stretch}
.acc-texte{grid-column:1/8;padding-block:26px 28px;position:relative;z-index:2;min-width:0}
.acc-carte{grid-column:8/13;position:relative;min-width:0;margin-right:calc(-1 * max(var(--gouttiere), (100vw - 1320px) / 2));display:flex;align-items:center;justify-content:center;padding:16px 44px 12px 8%}
.acc-carte::before{content:"";position:absolute;inset:0;background:var(--gazette);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);z-index:0}
.acc-carte>*{position:relative;z-index:1}

.acc-h1{font-size:clamp(46px,6.5vw,94px);line-height:1;letter-spacing:-.015em;margin:0 0 16px;text-wrap:balance}
.acc-h1>span{display:block}
.acc-chapo{font-size:20px;line-height:1.45;margin:0 0 18px;max-width:34em}

/* recherche : bon à découper */
.acc-rech{position:relative;margin-top:38px;max-width:760px}
.acc-rech__tab{position:absolute;left:-2px;top:-24px;background:var(--encre);color:var(--papier);font:800 11px/24px var(--f-texte);letter-spacing:.14em;text-transform:uppercase;padding:0 12px;z-index:1}
.acc-rech .rech{max-width:none;box-shadow:6px 6px 0 var(--encre)}
.acc-rech .rech__c{padding-block:9px 7px}
.acc-rech .rech .btn{min-height:66px;font-size:16px}
.acc-freq{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin:20px 0 0;font-size:14px;color:var(--plomb)}
.acc-freq span{font:800 11px/1.4 var(--f-texte);letter-spacing:.12em;text-transform:uppercase}
.acc-freq a{color:var(--plomb);text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:2px;text-underline-offset:3px;padding-block:3px}
.acc-freq a:hover{color:var(--encre);background:var(--jaune)}

/* chiffres en colonnes de journal */
.acc-chiffres{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;margin:24px 0 0;padding:0;border-top:3px solid var(--encre)}
.acc-chiffres>div{padding:10px 28px 0 0;margin-right:28px;border-right:1px solid var(--encre)}
.acc-chiffres>div:last-child{border-right:0;margin-right:0}
.acc-chiffres dd{margin:0;display:flex;flex-direction:column}
.acc-chiffres b{font:700 clamp(36px,4vw,52px)/1 var(--f-titre);letter-spacing:-.01em}
.acc-chiffres span{font:500 13px/1.3 var(--f-texte);color:var(--plomb);margin-top:2px}

/* ============ CARTE DE FRANCE ============ */
.cf{margin:0;width:100%;max-width:640px}
.cf__carte{position:relative;aspect-ratio:598/586;width:100%}
.cf__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
.cf__papier{fill:var(--papier)}
.cf__grain{fill:var(--plomb);fill-opacity:.35}
.cf__contour{fill:none;stroke:var(--encre);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cf__v{cursor:pointer;outline:none}
.cf__pt{fill:var(--encre);stroke:var(--papier);stroke-width:1;transition:fill .15s}
.cf__hit{fill:transparent}
.cf__v:hover .cf__pt,.cf__v:focus-visible .cf__pt,.cf__v.is-allume .cf__pt,.cf__v.is-actif .cf__pt{fill:var(--jaune);stroke:var(--encre);stroke-width:1.6}
.cf__v:focus-visible .cf__hit{stroke:var(--encre);stroke-width:2;fill:rgba(255,194,26,.25)}
.cf__feu,.cf__cercle{fill:none;stroke:var(--jaune);stroke-width:7;stroke-linecap:round;pointer-events:none}
.cf__feu path,.cf__cercle path{fill:none;stroke:inherit;stroke-width:inherit;stroke-dasharray:1;stroke-dashoffset:1}
.cf__feu{opacity:0}
.cf__feu.is-on{opacity:1}
.cf__feu.is-on path{animation:cf-trace .5s cubic-bezier(.6,0,.3,1) both}
.cf__cercle--actif path{stroke-dashoffset:0}
@keyframes cf-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.cf__fixes{display:none}
.cf__etiq{position:absolute;z-index:3;transform:translate(16px,-50%);background:var(--encre);color:var(--papier);border-left:4px solid var(--jaune);padding:5px 10px 5px 8px;font:600 13px/1.25 var(--f-texte);white-space:nowrap;pointer-events:none;box-shadow:3px 3px 0 rgba(21,19,14,.25)}
.cf__etiq[hidden]{display:none!important}
.cf__etiq--g{transform:translate(calc(-100% - 16px),-50%)}
.cf__etiq--fixe{display:none}
.cf__etiq b{font:700 17px/1 var(--f-titre);color:var(--jaune);margin-left:4px}
.cf__dom{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cf__dom a,.cf__dom-v{display:flex;flex-direction:column;border:1px solid var(--encre);background:var(--papier);padding:5px 8px;text-decoration:none;min-height:44px;justify-content:center}
.cf__dom b{font:700 16px/1.05 var(--f-titre)}
.cf__dom span{font:500 11px/1.3 var(--f-texte);color:var(--plomb)}
.cf__dom a:hover{background:var(--jaune);box-shadow:3px 3px 0 var(--encre)}
.cf__leg{margin:10px 0 0;font:500 12px/1.4 var(--f-texte);color:var(--plomb)}
.cf--mini{max-width:380px}
.cf--mini .cf__v:hover .cf__pt{stroke-width:1.4}

/* reduced-motion : état statique, 5 villes allumées avec leur étiquette */
@media (prefers-reduced-motion:reduce){
  .cf__fixes{display:block}
  .cf__fixes .cf__cercle path{stroke-dashoffset:0}
  .cf__v--fixe .cf__pt{fill:var(--jaune);stroke:var(--encre);stroke-width:1.6}
  .cf__etiq--fixe{display:block}
  .cf__pt{transition:none}
}

/* ============ FIL DES VILLES ============ */
.fv{background:var(--encre);color:var(--papier);overflow:hidden;border-block:3px solid var(--jaune)}
.fv__in{display:flex;align-items:center;min-height:64px;max-width:100%}
.fv__titre{flex:none;margin:0;padding:0 22px 0 max(var(--gouttiere),calc((100vw - 1320px) / 2));font:800 12px/1.2 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--jaune);white-space:nowrap}
.fv__vue{flex:1;min-width:0;overflow:hidden;display:flex;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.fv__piste{flex:none;display:flex;align-items:center;list-style:none;margin:0;padding:0;min-width:max-content;animation:fv-defile 80s linear infinite}
.fv__piste li{flex:none;display:flex;align-items:center}
.fv__piste li::after{content:"";width:6px;height:6px;background:var(--jaune);margin:0 22px}
.fv__piste a{display:inline-flex;align-items:baseline;gap:9px;text-decoration:none;padding-block:16px;font:800 15px/1 var(--f-texte);color:var(--papier)}
.fv__piste a small{font:500 12px/1 var(--f-texte);color:var(--gazette)}
.fv__n{font:700 26px/1 var(--f-titre);color:var(--jaune);font-variant-numeric:tabular-nums}
.fv__piste a:hover .fv__v{text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:3px;text-underline-offset:4px}
@keyframes fv-defile{to{transform:translateX(-100%)}}
.fv:hover .fv__piste,.fv:focus-within .fv__piste,.fv.is-pause .fv__piste,.fv.is-cache .fv__piste{animation-play-state:paused}
.fv__pause{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 max(var(--gouttiere),calc((100vw - 1320px) / 2)) 0 18px;padding:0 14px;background:transparent;color:var(--papier);border:1.5px solid var(--papier);font:700 13px/1 var(--f-texte)}
.fv__pause:hover{background:var(--jaune);color:var(--encre);border-color:var(--jaune)}
.fv__pause .ic{width:16px;height:16px}
.fv__tous{display:none;flex:none;margin:0 max(var(--gouttiere),calc((100vw - 1320px) / 2)) 0 18px;color:var(--jaune)!important;font:700 14px/1 var(--f-texte);white-space:nowrap;align-items:center;gap:8px;min-height:44px}
@media (prefers-reduced-motion:reduce){
  .fv__piste{animation:none}
  .fv__piste--bis,.fv__pause{display:none}
  .fv__vue{overflow:hidden}
  .fv__tous{display:inline-flex}
}

/* ============ SECTIONS ============ */
.acc-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.acc-tete h2{margin:0;max-width:20em}
.acc-lien{display:inline-flex;align-items:center;gap:8px;font:800 15px/1 var(--f-texte);text-decoration:none;border-bottom:3px solid var(--jaune);padding-block:10px 6px;min-height:44px}
.acc-lien:hover{background:var(--jaune)}
.acc-lien .ic{width:18px;height:18px}

.acc-ens__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:3px solid var(--encre);border-left:1px solid var(--encre)}
.acc-ens__g li{border-right:1px solid var(--encre);border-bottom:1px solid var(--encre)}
.acc-ens__t{display:flex;flex-direction:column;justify-content:space-between;gap:14px;height:100%;min-height:150px;padding:22px 18px 14px;text-decoration:none;background:var(--papier);transition:background .15s,transform .15s,box-shadow .15s;position:relative}
.acc-ens__t:hover,.acc-ens__t:focus-visible{background:var(--jaune);z-index:2;transform:translate(-3px,-3px);box-shadow:var(--ombre-decalee)}
.acc-ens__logo{display:flex;align-items:center;min-height:48px}
.acc-ens__logo .marque img{max-width:100%;max-height:44px;object-fit:contain;object-position:left}
.acc-ens__n{font-size:13px;color:var(--plomb);line-height:1.35}
.acc-ens__t:hover .acc-ens__n{color:var(--encre)}
.acc-ens__n b{font:700 20px/1 var(--f-titre);color:var(--encre)}
.acc-ens__note{margin:14px 0 0}

.acc-etapes__l{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.acc-etapes__l li{padding:0 32px 0 0;margin-right:32px;border-right:1px solid var(--encre);position:relative}
.acc-etapes__l li:last-child{border-right:0;margin-right:0}
.acc-etapes__num{display:block;font:700 96px/.9 var(--f-titre);color:var(--encre);margin-bottom:10px}
.acc-etapes__l li:nth-child(2) .acc-etapes__num{text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:10px;text-underline-offset:-2px}
.acc-etapes__l h3{font-size:28px;margin-bottom:8px}
.acc-etapes__l p{margin:0;color:var(--plomb);max-width:26em}
.acc-etapes+.demande{margin-top:0}

.acc-rubs{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:0;border-top:3px solid var(--encre);border-bottom:1px solid var(--encre)}
.acc-rubs li{border-right:1px solid var(--encre)}
.acc-rubs li:last-child{border-right:0}
.acc-rubs a{display:block;padding:12px 20px;min-height:44px;font:700 20px/1.2 var(--f-titre);text-decoration:none}
.acc-rubs a:hover{background:var(--jaune)}
.acc-journal__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px var(--gouttiere)}
.acc-journal__g .art{display:flex;flex-direction:column;gap:14px;min-width:0}
.acc-journal__g .art h3{font-size:26px;margin:0 0 8px}
.acc-journal__g .art h3 a{text-decoration:none}
.acc-journal__g .art h3 a:hover{text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:4px}
.acc-journal__g .art p{margin:0;color:var(--plomb);font-size:15px}

.acc-mentions{padding-block:22px;border-top:1px solid var(--encre)}
.acc-mentions__in{display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;align-items:center;font-size:14px}
.acc-mentions p{margin:0}
.acc-mentions a{font-weight:700}

/* ============ PAGES ENSEIGNES / VILLES / RECHERCHE / CONFIRMATION ============ */
.pg-ens__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid var(--encre);border-left:1px solid var(--encre)}
.pg-ens__g li{border-right:1px solid var(--encre);border-bottom:1px solid var(--encre)}
.pg-ens__g .acc-ens__t{min-height:176px}
.pg-ens__g .acc-ens__logo{min-height:56px}
.pg-ens__nom{font:700 22px/1.1 var(--f-titre)}
.pg-ens__autres{margin-top:48px}

.pg-villes{padding-block:0;background:var(--gazette);border-bottom:3px double var(--encre);overflow:hidden}
.pg-villes h1 .feutre--cercle{left:-6%;top:-16%;width:112%;height:136%}
.pg-villes__carte{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 var(--gouttiere);align-items:center}
.pg-villes__t{padding-block:40px;position:relative;z-index:1}
.pg-villes__t h1{font-size:clamp(42px,5.4vw,76px);margin:0 0 14px}
.pg-villes__c{margin-right:calc(-1 * max(var(--gouttiere), (100vw - 1320px) / 2));padding:18px 0 14px 4%;display:flex;justify-content:center}
.pg-villes__c .cf{max-width:620px}
.pg-dep__g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.pg-dep__g a{display:flex;flex-direction:column;justify-content:space-between;min-height:84px;padding:10px 12px;border:1px solid var(--encre);background:var(--papier);text-decoration:none;position:relative}
.pg-dep__g a::before{content:"";position:absolute;right:-1px;top:-1px;width:12px;height:12px;background:var(--gazette);border-left:1px solid var(--encre);border-bottom:1px solid var(--encre)}
.pg-dep__code{font:700 26px/1 var(--f-titre);color:var(--plomb);font-variant-numeric:tabular-nums}
.pg-dep__nom{font:700 15px/1.15 var(--f-texte)}
.pg-dep__n{font-size:12px;color:var(--plomb)}
.pg-dep__g a:hover,.pg-dep__g a:focus-visible{background:var(--jaune);box-shadow:var(--ombre-decalee);transform:translate(-2px,-2px);z-index:2}
.pg-dep__g a:hover .pg-dep__code,.pg-dep__g a:hover .pg-dep__n{color:var(--encre)}

.pg-rech__tete{padding-block:34px 30px;border-bottom:3px double var(--encre)}
.pg-rech__tete .acc-rech{margin-top:26px}
.pg-rech__sum{font:600 16px/1.4 var(--f-texte);margin:0 0 18px}
.pg-rech__sum b{font:700 28px/1 var(--f-titre)}
.pg-rech__vide{border:2px solid var(--encre);padding:28px;background:var(--gazette);max-width:46em}
.pg-rech__vide h2{font-size:34px}
.pg-rech__sug{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

.pg-ok{padding-block:56px 88px;min-height:520px}
.pg-ok__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.pg-ok__tampon{display:inline-block;transform:rotate(-5deg);border:6px double var(--valide);color:var(--valide);padding:14px 26px 10px;font:700 clamp(40px,6vw,72px)/.95 var(--f-titre);text-transform:uppercase;letter-spacing:.01em;margin:18px 0 40px 8px;background:rgba(29,107,59,.05);animation:ok-tampon .45s cubic-bezier(.3,1.6,.5,1) both}
@keyframes ok-tampon{from{transform:rotate(-5deg) scale(1.9);opacity:0}to{transform:rotate(-5deg) scale(1);opacity:1}}
.pg-ok__recap{margin:0;border-top:3px solid var(--encre);padding:0}
.pg-ok__recap>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--encre)}
.pg-ok__recap dt{font:800 11px/1.6 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--plomb)}
.pg-ok__recap dd{margin:0;font-weight:700;text-align:right}
.pg-ok__code{font:700 30px/1 var(--f-titre);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.pg-ok__suite{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media (prefers-reduced-motion:reduce){.pg-ok__tampon{animation:none}}

/* ============ TABLETTE ============ */
@media (max-width:1180px){
  .acc-ens__g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pg-dep__g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pg-ens__g{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1023px){
  .acc-texte{grid-column:1/-1}
  .acc-carte{grid-column:1/-1;margin-right:calc(-1 * var(--gouttiere));margin-left:calc(-1 * var(--gouttiere));padding:20px var(--gouttiere)}
  .acc-carte::before{clip-path:none}
  .acc-journal__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-villes__carte{grid-template-columns:1fr}
  .pg-villes__c{margin:0 calc(-1 * var(--gouttiere));padding:10px var(--gouttiere) 16px}
}

/* ============ MOBILE 390 × 844 ============ */
@media (max-width:767px){
  .acc-texte{padding-block:20px 8px}
  .acc-h1{font-size:clamp(42px,13.4vw,56px);line-height:1}
  .acc-h1>span{display:inline}
  .acc-chapo{font-size:17px}
  .acc-rech{margin-top:40px}
  .acc-rech .rech{box-shadow:4px 4px 0 var(--encre)}
  .acc-rech .rech .btn{min-height:56px}
  .acc-chiffres{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}
  .acc-chiffres>div{margin:0;padding:12px 0 12px 0;border-right:0;border-bottom:1px solid var(--encre)}
  .acc-chiffres>div:nth-child(odd){border-right:1px solid var(--encre);padding-right:12px}
  .acc-chiffres>div:nth-child(even){padding-left:16px}
  .acc-chiffres>div:nth-child(n+3){border-bottom:0}
  .acc-carte{padding:16px var(--gouttiere) 10px}
  .cf__etiq{font-size:12px;padding:4px 8px 4px 7px}
  .cf__dom{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fv__in{min-height:56px}
  .fv__titre{display:none}
  .fv__vue{margin-left:var(--gouttiere)}
  .fv__pause{margin-inline:12px var(--gouttiere);padding:0 10px}
  .fv__pause span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .acc-ens__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acc-ens__t{min-height:128px;padding:16px 12px 10px}
  .acc-etapes__l{grid-template-columns:1fr;margin-top:22px}
  .acc-etapes__l li{border-right:0;margin:0;padding:18px 0;border-bottom:1px solid var(--encre)}
  .acc-etapes__l li:last-child{border-bottom:0}
  .acc-etapes__num{font-size:64px}
  .acc-etapes__l h3{font-size:24px}
  .acc-journal__g{grid-template-columns:1fr}
  .acc-rubs{flex-direction:column}
  .acc-rubs li{border-right:0;border-bottom:1px solid var(--encre)}
  .acc-rubs li:last-child{border-bottom:0}
  .acc-mentions__in{flex-direction:column;align-items:flex-start}
  .pg-ens__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-dep__g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-villes__t{padding-block:24px 8px}
  .pg-ok{padding-block:32px 48px}
  .pg-ok__g{grid-template-columns:1fr;gap:28px}
}
