/* ARCAVIUM — Informations publiques V1.6.2, écrans et contrôles dessinés en code uniquement.
   AUCUNE image de fond ni balise image, aucun fichier graphique requis.
   Styles isolés .aip-* : coque, page bleue et autres modules inchangés. */
.aip-host{--aip-navy:#191363;--aip-blue:#095387;--aip-red:#b33539;--aip-orange:#ef9022;--aip-green:#15844b;--aip-cyan:#2caadb;--aip-grey:#747474;position:relative;z-index:2147482000;font-family:Arial,Helvetica,sans-serif}
.aip-host *{box-sizing:border-box}
.aip-host button,.aip-host input{font:inherit}
.aip-host button{cursor:pointer}
.aip-host button:disabled{cursor:default;opacity:.55}
.aip-screen{position:fixed;inset:0;z-index:2147482002;background:#fff;display:flex;align-items:center;justify-content:center;overflow:auto;color:var(--aip-navy)}
.aip-artboard{position:relative;aspect-ratio:1774/864;width:min(100vw,205.32vh);max-height:100vh;background:#fff;overflow:hidden;margin:auto;flex-shrink:0;isolation:isolate}
/* Symbole ARCAVIUM : lignes géométriques CSS, sans raster ni fichier SVG. */
.aip-emblem{display:block;position:absolute;width:14%;aspect-ratio:1/1;opacity:.75;filter:drop-shadow(0 13px 9px #adb5bf26);pointer-events:none}
.aip-emblem::before{content:"";position:absolute;left:10%;top:1%;width:80%;height:67%;clip-path:polygon(1% 3%,100% 3%,63% 78%,50% 100%,38% 78%);background:linear-gradient(175deg,#fafafa,#fff 28%,#d6dde1 50%,#fff 66%)}
.aip-emblem::after{content:"";position:absolute;left:26%;top:12%;width:48%;height:44%;background:#fff;clip-path:polygon(0 0,100% 0,51% 95%)}
.aip-emblem-core{position:absolute;left:41%;top:39%;width:18%;height:47%;background:#fff;clip-path:polygon(0 0,100% 0,50% 100%);z-index:1;filter:drop-shadow(0 -2px 3px #ccc)}
/* Page 2 : introduction aux territoires, proche de la composition fournie */
.aip-selection-head{position:absolute;top:3.2%;left:45.7%;color:var(--aip-navy);font-size:clamp(13px,1.85vw,36px);white-space:nowrap;font-weight:400;z-index:3}
.aip-giant-year{position:absolute;left:-1%;top:8%;color:#e6e6e6;letter-spacing:-.082em;line-height:.94;font-size:min(46.8vw,95vh);font-family:Arial,Helvetica,sans-serif;font-weight:600;white-space:nowrap;user-select:none;z-index:0}
.aip-selection-watermark{top:30%;left:45.5%;width:16%;opacity:.47}
.aip-selection-mission{position:absolute;left:14.15%;top:40%;width:44%;margin:0;white-space:pre-line;color:#19135e;font-size:clamp(11px,1.2vw,22px);line-height:1.48;letter-spacing:.1em;z-index:2;font-weight:400}
.aip-season-panel{position:absolute;right:.1%;top:31.45%;width:27.7%;height:33.7%;border:1.5px solid #25206d;border-radius:32px;background:#e6e6e6f5;z-index:2;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;padding:1.2% 1.6%;gap:3%}
.aip-season-item{min-width:0;display:flex;flex-direction:column;align-items:center;position:relative}
.aip-season-year{align-self:flex-start;color:#fff;font-size:clamp(20px,3.85vw,72px);letter-spacing:-.045em;font-weight:400;line-height:1.15}
.aip-season-label{color:#19135e;font-size:clamp(9px,.9vw,18px);line-height:1.3;white-space:nowrap}
.aip-season-future .aip-season-label{color:#494949}
.aip-season-arrow{position:absolute;right:1.4%;top:47%;color:#969696;font-size:clamp(14px,2.3vw,37px)}
/* Silhouettes de territoires dessinées directement en CSS. */
.aip-france{display:inline-block;width:85px;height:100px;aspect-ratio:0.84;position:relative;flex-shrink:0;background:var(--aip-navy);clip-path:polygon(51% 0,56% 10%,65% 10%,63% 17%,74% 23%,70% 32%,79% 39%,76% 48%,87% 54%,83% 64%,92% 71%,80% 79%,79% 88%,64% 94%,54% 100%,42% 94%,36% 90%,24% 91%,14% 84%,12% 73%,3% 69%,10% 53%,8% 43%,18% 37%,18% 29%,27% 29%,32% 21%,38% 22%,43% 12%)}
.aip-france::after{content:"";position:absolute;inset:8px;background:var(--aip-cyan);clip-path:inherit}
.aip-shape-cvl{margin-top:5%;height:clamp(45px,9.5vw,174px);width:auto;transform:rotate(-10deg);background:#15baff}
.aip-shape-cvl::after{background:#171262;inset:2px}
.aip-shape-pdl{margin-top:5%;height:clamp(45px,9.5vw,174px);width:auto;transform:rotate(18deg);background:#18b9e5}
.aip-shape-pdl::after{background:#d9d9d9;inset:2px}
.aip-locator{position:absolute;left:74.9%;top:66.9%;width:18.4%;display:flex;flex-direction:column;gap:5px;z-index:7}
.aip-locator-label{font-size:clamp(11px,1.3vw,23px);font-weight:700;white-space:nowrap;text-align:left}
.aip-locator-input{width:100%;height:clamp(30px,2.1vw,42px);border:1.5px solid #793661;background:#fff;color:var(--aip-navy);padding:4px 10px;font-size:clamp(11px,.9vw,17px)!important;outline-offset:2px}
.aip-locator-input:focus{outline:2px solid #17549d}
.aip-locator-results{position:absolute;top:100%;left:0;right:0;max-height:218px;overflow:auto;border:1px solid #c0c0c0;background:#fff;box-shadow:0 7px 23px #0004;z-index:9}
.aip-locator-results[hidden]{display:none}
.aip-suggestion{display:block;text-align:left;width:100%;background:#fff;color:#1a235e;border:0;border-bottom:1px solid #eee;padding:7px 9px;font-size:13px!important}
.aip-suggestion:hover,.aip-suggestion:focus{background:#e4efff}
.aip-locator-status{font-size:12px;min-height:12px;background:#fff}
.aip-selection-next{background:var(--aip-navy);color:#fff;padding:8px 12px;border:0;align-self:flex-end;font-size:13px!important;letter-spacing:.05em}
.aip-selection-region{position:absolute;bottom:15.65%;left:1.05%;font-size:clamp(16px,2.55vw,45px);color:var(--aip-navy);white-space:nowrap;max-width:72%;overflow:hidden;text-overflow:ellipsis;z-index:3;font-weight:400}
.aip-sponsors{position:absolute;left:0;right:0;bottom:0;height:14.6%;background:#1b1567;display:flex;align-items:center;justify-content:space-around;gap:.9%;padding:0 1.2%;z-index:3;overflow:hidden;color:#fff}
.aip-sponsor{display:inline-flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(7px,1.3vw,24px);letter-spacing:-.05em;line-height:1.1;white-space:nowrap;min-width:0;max-width:13%;filter:drop-shadow(0 0 .4px white);font-stretch:condensed}
.aip-logo-64{border:double 4px #fff;border-radius:50%;width:5.3vw;min-width:30px;aspect-ratio:1;font-size:clamp(15px,2.2vw,39px);font-weight:200}
.aip-logo-modex,.aip-logo-basti,.aip-logo-premier{font-weight:800;transform:scaleX(.8);-webkit-text-stroke:.7px #fff;color:transparent}
.aip-logo-script{font-family:Georgia,serif;font-style:italic;transform:rotate(-8deg)}
.aip-logo-ring{border:2px solid white;border-radius:50%;width:4vw;min-width:25px;aspect-ratio:1;font-family:Georgia,serif;font-style:italic}
.aip-logo-ineo{letter-spacing:.18em;font-weight:200}
.aip-logo-b{font-family:Georgia,serif;font-size:clamp(28px,5vw,80px);font-style:italic;border:1px solid white;border-radius:50%;width:5vw;max-width:7%;aspect-ratio:1}
.aip-logo-forest{font-size:clamp(6px,1.25vw,22px);white-space:normal;-webkit-text-stroke:.35px white;color:transparent}
.aip-logo-cbl{border:1px solid white;border-radius:2px;padding:2px 4px;font-weight:800;-webkit-text-stroke:.5px white;color:transparent}
.aip-logo-schm{font-size:clamp(7px,1.35vw,23px);letter-spacing:.08em}
/* Page 3 : programme, progression et information publique */
.aip-intro-brand{position:absolute;left:1.4%;top:2.3%;display:flex;flex-direction:column;line-height:.97;z-index:2}
.aip-intro-brand-name{font-size:clamp(27px,3.25vw,61px);font-weight:400;letter-spacing:-.045em}
.aip-intro-brand-country{font-size:clamp(17px,1.85vw,35px);font-weight:400}
.aip-intro-season{position:absolute;left:1.05%;top:14.75%;display:flex;align-items:center;gap:1.1%;width:27%;height:15%;z-index:2}
.aip-intro-france{height:99%;width:auto;background:var(--aip-navy)}
.aip-intro-france::after{display:none}
.aip-intro-season-text{display:flex;gap:6px;align-items:center;color:#a9a9c3}
.aip-intro-season-kicker{font-size:clamp(8px,.72vw,14px);writing-mode:vertical-rl;transform:rotate(180deg);color:#bbbbd0;white-space:nowrap;font-weight:200}
.aip-intro-season-title{font-size:clamp(13px,1.8vw,32px);font-weight:200;line-height:1.29;letter-spacing:.025em;white-space:pre-line;color:#b1b1c4}
.aip-intro-watermark{top:9%;left:43.8%;width:15%;height:25%;opacity:.5}
.aip-intro-angle{position:absolute;right:0;top:0;width:14%;height:85.5%;pointer-events:none;z-index:0}
.aip-intro-angle svg{display:block;width:100%;height:100%;overflow:visible}
.aip-intro-dynamic{position:absolute;left:18.45%;top:37.15%;width:68%;height:31%;z-index:2;color:var(--aip-navy);background:transparent;padding:0;display:flex;flex-direction:column;align-items:stretch}
.aip-intro-dynamic>.aip-three-steps{width:99%;flex:0 0 auto}
.aip-intro-commune{font-size:clamp(19px,2.7vw,50px);font-weight:400;line-height:1;margin:1.8% 0 .4%;max-width:74%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--aip-navy)}
.aip-intro-red{background:var(--aip-red);color:#fff;font-size:clamp(10px,1.1vw,20px);font-weight:bold;line-height:1.4;padding:2px 12px;width:73%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aip-intro-red[data-step='finance']{background:var(--aip-green)}
.aip-intro-red[data-step='instruction'],.aip-intro-red[data-step='transmis']{background:#d38b21}
.aip-intro-red[data-step='transition']{background:var(--aip-cyan)}
.aip-intro-statement{font-size:clamp(11px,1.21vw,22px);font-weight:700;line-height:1.37;margin:1.1% 0 0;max-width:72%;color:#111}
.aip-intro-caption{font-size:clamp(10px,.94vw,18px);color:#145292;margin:.2% 0 0}
.aip-intro-info{position:absolute;right:0;top:16%;width:25%;display:flex;flex-direction:column;align-items:flex-start;z-index:3}
.aip-info-big{font-size:clamp(26px,4.5vw,83px);font-weight:200;color:#05528a;letter-spacing:-.07em;line-height:1}
.aip-info-blue{background:#06538d;color:white;font-size:clamp(17px,2.42vw,45px);letter-spacing:.02em;padding:0 7px;line-height:1.25}
.aip-info-views{color:#20588c;font-size:clamp(10px,.94vw,18px);margin:7px 0 0 7px;white-space:nowrap}
.aip-info-count{color:#264d86;font-size:clamp(20px,2.2vw,42px);margin:1px 0 0 14%;line-height:1}
.aip-into-lu{position:absolute;right:1.7%;top:40.8%;height:13%;min-width:7%;border:0;background:#fff;color:var(--aip-navy);font-size:clamp(14px,1.85vw,34px)!important;z-index:4}
.aip-into-lu:focus-visible{outline:3px solid #094985}
.aip-region-footer{position:absolute;bottom:0;left:0;width:100%;height:14.6%;display:flex;align-items:center;justify-content:center;gap:2%;background:#1b1567;color:#36b9e6;font-size:clamp(13px,2.15vw,39px);font-weight:600;white-space:nowrap;text-transform:uppercase}
.aip-region-map{height:75%;width:auto;background:#2bb7e4;transform:rotate(-10deg)}
.aip-region-map::after{background:#2e9dda;inset:3px}
/* Toujours SIX éléments : bulle, barre, bulle, barre, bulle, barre. */
.aip-three-steps{display:flex;align-items:center;width:100%;height:46px;gap:0;min-width:0}
.aip-step-number{position:relative;z-index:2;flex:0 0 46px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;color:#fff;background:#505050;font-size:27px;line-height:1}
.aip-step-number[data-active='true']{background:#ed9123}
.aip-three-steps[data-step='aucun'] .aip-step-number:first-child,.aip-three-steps[data-step='refus_conclusif'] .aip-step-number[data-active='true']{background:#b33539}
.aip-three-steps[data-step='finance'] .aip-step-number[data-active='true']{background:#15844b}
.aip-three-steps[data-step='transition'] .aip-step-number:first-child{background:#20aed3}
.aip-step-segment{flex:1 1 0;min-width:0;height:9px;background:#575757;position:relative}
.aip-three-steps[data-step='finance'] .aip-step-segment{background:#15844b}
.aip-three-steps[data-step='transmis'] .aip-step-segment[data-after='1'],.aip-three-steps[data-step='instruction'] .aip-step-segment[data-after='1']{background:#ee9126}
.aip-three-steps[data-step='refus_conclusif'] .aip-step-segment{background:#b33539}
/* Bande inférieure inspirée de la capture, conservée sous le site existant. */
.aip-detail[hidden]{display:none!important}
.aip-ribbon{position:fixed;z-index:2147482001;left:0;right:0;bottom:0;width:100%;height:48px;display:flex;padding:0;background:#272727;color:#fff;border:1px solid #555;text-align:left;gap:0;overflow:hidden}
.aip-ribbon-primary{flex:0 0 53%;min-width:0;display:flex;flex-direction:column}
.aip-ribbon-upper{display:flex;height:50%;width:100%;overflow:hidden}
.aip-ribbon-title{flex:1;min-width:0;background:#b13235;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:clamp(9px,.9vw,14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 5px;letter-spacing:.03em}
.aip-ribbon-status{flex:0 0 18%;white-space:nowrap;text-align:center;display:flex;align-items:center;justify-content:center;font-size:clamp(8px,.72vw,12px);font-weight:800;background:#f39118;color:#fff}
.aip-ribbon-status[data-step='finance']{background:#15844b}.aip-ribbon-status[data-step='refus_conclusif']{background:#b23336}.aip-ribbon-status[data-step='aucun']{background:#777}
.aip-ribbon-message{height:50%;background:#fff;color:#2d2d2d;font-size:clamp(9px,.9vw,13px);display:flex;align-items:center;padding:1px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aip-ribbon-right{flex:1;min-width:0;display:grid;grid-template-rows:repeat(4,1fr);background:#292929;overflow:hidden}
.aip-ribbon-progress,.aip-ribbon-band{display:flex;align-items:center;gap:4px;height:12px;margin:0;padding:0 3px}
.aip-ribbon-name,.aip-ribbon-band-label{flex:0 0 17%;min-width:0;color:#e49320;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(7px,.8vw,11px);font-weight:700;text-align:right}
.aip-ribbon-progress .aip-three-steps{height:12px;flex:1}.aip-ribbon-progress .aip-step-number{height:14px;width:14px;flex-basis:14px;font-size:9px;border:1px solid #222}.aip-ribbon-progress .aip-step-segment{height:5px}
.aip-ribbon-bar{flex:1;min-width:0;background:#666;height:5px;display:block;overflow:hidden}.aip-ribbon-fill{display:block;height:100%;background:#f39118;width:0}
.aip-ribbon-bar[data-status='orange_partiel'] .aip-ribbon-fill{width:38%}.aip-ribbon-bar[data-status='orange_avance'] .aip-ribbon-fill{width:78%}.aip-ribbon-bar[data-status='rouge'] .aip-ribbon-fill{width:100%;background:#b23438}.aip-ribbon-bar[data-status='vert'] .aip-ribbon-fill{width:100%;background:#15844b}
.aip-ribbon-up{flex:0 0 20px;font-size:20px;display:flex;justify-content:center;align-items:center;color:#dc414b}
.aip-detail{position:fixed;z-index:2147482000;left:0;right:0;bottom:48px;max-height:70dvh;overflow:auto;background:#fff;color:#131e38;border-top:3px solid #191260;box-shadow:0 -12px 35px #0004;padding:16px max(14px,calc((100vw - 1300px)/2));font-size:13px}
.aip-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.aip-detail-head h2{margin:0 auto 0 0;font-size:17px}.aip-detail-head button{padding:8px;border:1px solid #bababa;background:#fff;color:#191260}
.aip-detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aip-detail-pane{border:1px solid #ddd;padding:13px;min-width:0}.aip-detail-pane h2{font-size:16px;color:#191260;margin:0 0 12px}.aip-detail-pane h3{font-size:13px;margin:14px 0 7px}.aip-detail-pane p{line-height:1.4}.aip-detail-status{font-weight:700}.aip-detail-band{display:flex;gap:16px;align-items:center;margin:10px 0}.aip-detail-band strong{flex:0 0 40%;font-size:12px}.aip-detail-muted{color:#667085;font-size:12px}
@media(max-width:750px){
 .aip-artboard{width:100vw;max-height:none;min-height:100dvh;aspect-ratio:auto;overflow:auto}
 .aip-giant-year{font-size:60vw;top:12%;left:-4%}.aip-selection-head{top:3%;left:31%;font-size:19px}
 .aip-selection-mission{left:6%;top:27%;width:88%;font-size:clamp(10px,2.35vw,15px);line-height:1.4;letter-spacing:.06em;background:#ffffffb8}
 .aip-selection-watermark{top:17%;left:46%;width:31%}
 .aip-season-panel{left:6%;right:auto;top:47%;width:88%;height:21%;border-radius:20px;padding:4%}
 .aip-season-year{font-size:40px}.aip-season-label{font-size:12px}.aip-shape-cvl,.aip-shape-pdl{height:90px;margin-top:0}
 .aip-locator{left:6%;top:71%;width:88%;padding:8px;background:#fffffff2}
 .aip-locator-label{font-size:17px;white-space:normal}.aip-locator-input{height:38px;font-size:14px!important}
 .aip-selection-region{bottom:auto;top:43%;font-size:13px;left:6%;max-width:90%;white-space:normal}
 .aip-sponsors{height:13%;flex-wrap:wrap;gap:4px;padding:7px 9px}.aip-sponsor{font-size:11px;max-width:20%}.aip-logo-64{width:32px;font-size:16px}.aip-logo-b{width:38px;font-size:22px}.aip-logo-ring{width:33px}
 .aip-intro-brand{left:4%;top:3%}.aip-intro-brand-name{font-size:32px}.aip-intro-brand-country{font-size:18px}
 .aip-intro-season{left:4%;top:16%;width:80%;height:12%}.aip-intro-france{height:90%}.aip-intro-season-title{font-size:18px}.aip-intro-season-kicker{font-size:10px}
 .aip-intro-watermark{top:14%;left:54%;width:38%}
 .aip-intro-angle{right:0;top:32%;height:49%;width:13%}
 .aip-intro-dynamic{top:36%;left:5%;width:89%;height:auto;min-height:33%}
 .aip-intro-commune{font-size:clamp(22px,6.6vw,38px);margin:18px 0 8px;max-width:94%}
 .aip-intro-red{font-size:clamp(11px,2.8vw,15px);width:96%;white-space:normal;line-height:1.25}
 .aip-intro-statement{font-size:14px;max-width:95%;line-height:1.3;margin-top:10px}.aip-intro-caption{font-size:12px}
 .aip-intro-info{position:static;width:auto;flex-direction:row;align-items:baseline;gap:5px;margin-top:10px}
 .aip-info-big{font-size:28px}.aip-info-blue{font-size:20px;padding:2px 5px}.aip-info-views{margin:0;font-size:10px}.aip-info-count{margin:0;font-size:15px}
 .aip-into-lu{top:73%;right:7%;background:#fff;border:1px solid #191260;font-size:18px!important;height:39px;min-width:22%}
 .aip-region-footer{height:13%;font-size:clamp(12px,3.2vw,22px);white-space:normal;padding:0 10px;text-align:center}.aip-region-map{height:70%}
 .aip-three-steps{height:31px}.aip-step-number{width:31px;flex-basis:31px;height:31px;font-size:20px}.aip-step-segment{height:6px}
 .aip-ribbon{height:82px;flex-wrap:wrap}.aip-ribbon-primary{flex-basis:100%;height:39px}.aip-ribbon-right{height:42px;flex:1}.aip-ribbon-up{height:42px}.aip-ribbon-title{font-size:9px}.aip-ribbon-status{font-size:8px}.aip-ribbon-message{font-size:10px}.aip-ribbon-name,.aip-ribbon-band-label{flex-basis:23%;font-size:8px}.aip-detail{bottom:82px;max-height:65dvh}.aip-detail-cols{grid-template-columns:1fr}
 .aip-ribbon-progress .aip-three-steps{height:12px}.aip-ribbon-progress .aip-step-number{width:14px;flex-basis:14px;height:14px;font-size:9px}.aip-ribbon-progress .aip-step-segment{height:5px}
}
@media(max-width:380px){.aip-season-panel{top:46%;height:21%}.aip-locator{top:69%}.aip-into-lu{top:75%}.aip-intro-dynamic{top:34%}}

/* V1.3 — mise en conformité de l'affichage et des interactions. */
.aip-intro-soon{font-size:clamp(11px,1.21vw,22px);font-weight:700;line-height:1.25;color:#111;margin:0;max-width:72%}
/* Lorsque la première étape est rouge, la barre qui suit l'est également. */
.aip-three-steps[data-step='aucun'] .aip-step-segment[data-after='1']{background:var(--aip-red)}
.aip-three-steps[data-step='transition'] .aip-step-segment[data-after='1']{background:var(--aip-cyan)}
.aip-ribbon-message{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;line-height:1.02;overflow:hidden;}
.aip-ribbon-message>span{max-width:100%;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.aip-ribbon-soon{font-weight:600}
/* La ligne principale conserve 3 bulles mais domine les barres secondaires. */
.aip-ribbon-right{display:flex;flex-direction:column;grid-template-rows:none;justify-content:space-between;gap:0;padding:1px 1px 1px 0}
.aip-ribbon-progress{flex:0 0 23px;height:23px;min-height:23px}
.aip-ribbon-band{flex:1 1 0;min-height:7px;height:auto}
.aip-ribbon-progress .aip-three-steps{height:23px}
.aip-ribbon-progress .aip-step-number{height:21px;width:21px;flex-basis:21px;font-size:13px;border:1px solid #292929}
.aip-ribbon-progress .aip-step-segment{height:8px}
.aip-ribbon-bar{height:6px}
.aip-ribbon-name{font-size:clamp(8px,.81vw,12px);color:#f7f7f7}
.aip-ribbon-band-label{font-size:clamp(7px,.77vw,11px)}
/* Le volet blanc se déplie UNIQUEMENT au-dessus du bloc gauche. La zone droite ne bouge pas. */
.aip-detail{left:0;right:auto;bottom:48px;width:53%;max-height:min(48dvh,245px);min-height:136px;overflow:auto;overflow-x:hidden;background:#fff;color:#151515;border:1px solid #b8b8b8;border-bottom:0;box-shadow:none;padding:10px 14px 26px;z-index:2147482000;text-align:center;display:flex;align-items:stretch;justify-content:center}
.aip-public-message{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:6px}
.aip-public-message p{margin:0;font-size:clamp(11px,1.04vw,17px);line-height:1.2}
.aip-public-headline{font-weight:750;color:#131313}
.aip-public-message .aip-public-date{text-align:right;font-style:italic;font-weight:400;color:#282828;font-size:clamp(10px,.95vw,16px)}
.aip-public-message .aip-public-summary{font-weight:700;color:#a25a22;font-size:clamp(11px,1.1vw,18px);line-height:1.3}
.aip-public-message .aip-public-status{text-align:right;color:#345d95;font-weight:500;font-size:clamp(10px,.9vw,15px)}
.aip-detail-pointer{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:64px;height:21px;background:#ce1d37;clip-path:polygon(50% 0%,100% 100%,0 100%);pointer-events:none}
@media(max-width:750px){
 .aip-intro-soon{font-size:14px;max-width:95%}
 .aip-ribbon-right{height:42px}
 .aip-ribbon-progress{height:20px;min-height:20px;flex-basis:20px}
 .aip-ribbon-progress .aip-three-steps{height:20px}
 .aip-ribbon-progress .aip-step-number{height:19px;width:19px;flex-basis:19px;font-size:12px}
 .aip-ribbon-progress .aip-step-segment{height:7px}
 .aip-ribbon-name{font-size:8px}
 .aip-detail{bottom:82px;width:100%;max-height:43dvh;min-height:128px;padding:9px 12px 24px}
 .aip-public-message p{font-size:clamp(10px,2.7vw,14px)}
 .aip-public-message .aip-public-date,.aip-public-message .aip-public-status{font-size:clamp(10px,2.5vw,13px)}
 .aip-public-message .aip-public-summary{font-size:clamp(10px,2.7vw,14px)}
 .aip-detail-pointer{width:46px;height:17px}
}
/* Ajustement des libellés : les noms réels doivent rester lisibles. */
.aip-ribbon-progress,.aip-ribbon-band{line-height:1}
.aip-ribbon-progress{flex-basis:20px;min-height:20px;height:20px}
.aip-ribbon-progress .aip-three-steps{height:20px}
.aip-ribbon-progress .aip-step-number{height:20px;width:20px;flex-basis:20px;font-size:12px}
.aip-ribbon-name,.aip-ribbon-band-label{flex:0 0 27%;line-height:1;letter-spacing:-.015em}
.aip-ribbon-band-label{font-size:clamp(7px,.69vw,9px)}
.aip-ribbon-name{font-size:clamp(8px,.75vw,11px)}
.aip-ribbon-band[data-status='vert'] .aip-ribbon-band-label{color:#1ba454}
.aip-ribbon-band[data-status='rouge'] .aip-ribbon-band-label{color:#e45757}
.aip-ribbon-band[data-status='gris'] .aip-ribbon-band-label{color:#c2a46b}
@media(max-width:750px){
 .aip-ribbon-progress{flex-basis:20px;min-height:20px;height:20px}
 .aip-ribbon-band-label{font-size:7px}
 .aip-ribbon-name{font-size:7px}
 .aip-ribbon-title{white-space:normal;line-height:1.05;font-size:7.2px;letter-spacing:0;overflow:hidden;text-overflow:clip;text-align:center}
}


/* V1.4 — bande basse et états des dossiers : correctifs ciblés.
   Desktop : barres rouge/blanc de même hauteur ; une seule ligne sur fond blanc.
   Sur petits écrans, le texte peut revenir à la ligne pour rester accessible. */
.aip-ribbon-upper,.aip-ribbon-message{flex:0 0 50%;height:50%}
.aip-ribbon-title{font-weight:700}
.aip-ribbon-message{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0 7px;font-weight:600;line-height:1.12;letter-spacing:-.015em}
.aip-ribbon-message .aip-ribbon-one-line{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip;display:block}
.aip-ribbon-status{background:#f39118}
.aip-ribbon-right{gap:3px}
.aip-ribbon-name,.aip-ribbon-band-label{flex:0 0 27%;letter-spacing:0;text-align:right}
.aip-ribbon-band-label{font-weight:750}
@media (min-width:751px){
  .aip-ribbon{height:66px}
  .aip-ribbon-title{font-size:clamp(11px,.95vw,15px)}
  .aip-ribbon-message{font-size:clamp(9px,.88vw,13px)}
  .aip-ribbon-primary{height:66px}
  .aip-ribbon-right{padding:3px 3px 3px 0;gap:3px}
  .aip-ribbon-progress{height:24px;min-height:24px;flex:0 0 24px}
  .aip-ribbon-progress .aip-three-steps{height:24px}
  .aip-ribbon-progress .aip-step-number{height:23px;width:23px;flex-basis:23px;font-size:13px}
  .aip-ribbon-progress .aip-step-segment{height:8px}
  .aip-ribbon-band{height:15px;min-height:15px;flex:1 1 0;gap:6px}
  .aip-ribbon-band-label{font-size:clamp(9px,.81vw,12px)}
  .aip-ribbon-name{font-size:clamp(9px,.83vw,12px)}
  .aip-ribbon-bar{height:6px}
  .aip-detail{bottom:66px}
}
@media (min-width:751px) and (max-width:1050px){
  .aip-ribbon-message{font-size:clamp(8px,.9vw,10px)}
  .aip-ribbon-title{font-size:clamp(9px,.91vw,12px)}
}
@media(max-width:750px){
  .aip-ribbon{height:106px}
  .aip-ribbon-primary{height:51px;flex-basis:100%}
  .aip-ribbon-upper,.aip-ribbon-message{height:50%;flex:0 0 50%}
  .aip-ribbon-title{font-size:clamp(9px,2.2vw,13px)}
  .aip-ribbon-message{font-size:clamp(9px,2.45vw,11px);line-height:1.15;padding:1px 5px}
  .aip-ribbon-message .aip-ribbon-one-line{white-space:normal;overflow:visible;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}
  .aip-ribbon-right{height:54px;gap:2px;padding:1px 1px 1px 0}
  .aip-ribbon-progress{height:23px;min-height:23px;flex:0 0 23px}
  .aip-ribbon-progress .aip-three-steps{height:23px}
  .aip-ribbon-progress .aip-step-number{height:21px;width:21px;flex-basis:21px;font-size:12px}
  .aip-ribbon-progress .aip-step-segment{height:7px}
  .aip-ribbon-band{min-height:13px;height:13px;gap:4px}
  .aip-ribbon-name,.aip-ribbon-band-label{flex:0 0 30%;font-size:clamp(8px,1.9vw,10px)}
  .aip-ribbon-bar{height:5px}
  .aip-detail{bottom:106px}
}

/* V1.5 — corrections de conformité sur les six annotations magenta. */
/* Le label LU attire l'attention avant la validation ; pas d'animation pour les mouvements réduits. */
@keyframes aipLuNotice{0%,100%{opacity:1}50%{opacity:.33}}
.aip-into-lu{animation:aipLuNotice 1.55s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.aip-into-lu{animation:none}}
/* Alignement à gauche de l'intitulé de la commune ; zones de hauteur identique conservées. */
.aip-ribbon-title{justify-content:flex-start;text-align:left;padding-left:12px}
/* Les commandes ont chacune leur action, sans imbriquer de boutons. */
.aip-ribbon{overflow:visible;cursor:pointer}
.aip-ribbon-more{position:absolute;z-index:3;left:58%;bottom:100%;width:176px;height:29px;border:1px solid #40404b;border-bottom:0;border-radius:25px 25px 0 0;background:#62626f;color:#fff;font-size:12px!important;font-weight:700;letter-spacing:.02em;text-align:center;padding:4px 12px;cursor:pointer}
.aip-ribbon-more:hover,.aip-ribbon-more:focus-visible{background:#343c66;outline-offset:2px}
/* La flèche rouge est placée AU BORD du volet gauche, plus à droite du bandeau. */
.aip-ribbon-up{position:absolute;z-index:4;left:calc(53% - 53px);top:8px;right:auto;bottom:auto;width:48px;height:25px;padding:0;flex:none;display:block;border:0;background:transparent;color:transparent;cursor:pointer}
.aip-ribbon-up::before{content:"";position:absolute;inset:1px 2px 0;background:#ce1d37;clip-path:polygon(50% 0%,100% 100%,0 100%)}
.aip-ribbon[data-open='true'] .aip-ribbon-up::before{clip-path:polygon(0 0,100% 0,50% 100%)}
.aip-ribbon-up:focus-visible{outline:2px solid #1b166b;outline-offset:2px}
/* Page « EN SAVOIR PLUS » — écran indépendant remontant du bas, sans API ni image. */
.aip-more-page{position:fixed;inset:0;z-index:2147482005;background:#fff;color:#1b1666;display:flex;flex-direction:column;transform:translateY(101%);transition:transform .55s cubic-bezier(.22,.85,.27,1);overflow:auto;box-shadow:0 -10px 35px #0003}
.aip-more-page.aip-more-open{transform:translateY(0)}
.aip-more-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(16px,5vw,80px);border-bottom:1px solid #d9d9e3}
.aip-more-title{font-weight:400;font-size:clamp(25px,3.4vw,55px);margin:0;letter-spacing:.04em}
.aip-more-close{border:1px solid #1b1666;background:#fff;color:#1b1666;padding:9px 17px;font-size:clamp(13px,1.1vw,18px)!important;cursor:pointer}
.aip-more-close:hover,.aip-more-close:focus-visible{background:#f0f0f8}
.aip-more-content{max-width:1100px;width:100%;margin:0 auto;padding:clamp(24px,7vh,75px) clamp(18px,4vw,60px)}
.aip-more-placeholder{font-size:clamp(14px,1.2vw,19px);color:#686878}
@media(prefers-reduced-motion:reduce){.aip-more-page{transition:none}}
@media(max-width:750px){
 .aip-ribbon-title{padding-left:7px}
 .aip-ribbon-more{left:calc(50% - 74px);width:148px;height:26px;font-size:10px!important}
 .aip-ribbon-up{left:auto;right:10px;top:3px;width:40px;height:20px}
}

/* Dessiner la ligne de flèche au-dessus du bouton LU pour empêcher tout trou au sommet. */
.aip-intro-angle{z-index:5;pointer-events:none}

/* V1.6 : conformité PDF « En savoir plus » ; aucun raster ajouté. */
.aip-selection-region{text-transform:uppercase}
/* La flèche du volet blanc doit être visible sur la zone blanche, non sur la zone rouge. */
.aip-ribbon-up{top:calc(50% + 2px);height:23px}
.aip-ribbon-up::before{background:#c9172f}
.aip-more-page{font-family:Arial,Helvetica,sans-serif}
.aip-more-head{padding:8px clamp(15px,2vw,35px);min-height:55px;border-bottom:0}
.aip-more-title{font-size:clamp(15px,1.4vw,22px);color:#1b1666;font-weight:700}
.aip-more-content{max-width:none;flex:1;width:100%;padding:0 clamp(12px,1.4vw,25px) 15px;display:flex;flex-direction:column;gap:13px}
.aip-more-top{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:center;min-height:70px}
.aip-more-progress{display:flex;flex-direction:column;gap:6px;max-width:620px}
.aip-more-progress-row{display:flex;align-items:center;gap:10px;min-height:14px}
.aip-more-prog-name{flex:0 0 135px;text-align:right;font-weight:700;font-size:clamp(10px,1vw,17px);color:#1b1666;line-height:1}
.aip-more-progress-row .aip-ribbon-bar{height:6px;flex:1;background:#aaa}
.aip-more-progress-row .aip-three-steps{height:24px;flex:1}
.aip-more-progress-row .aip-step-number{width:24px;height:24px;flex-basis:24px;font-size:13px}
.aip-more-progress-row .aip-step-segment{height:5px}
.aip-more-quote{font-family:Georgia,serif;font-size:clamp(12px,1vw,18px);line-height:1.48;color:#1b1666;margin:4px}
.aip-more-cols{display:grid;grid-template-columns:29% 41% 27%;gap:1.5%;flex:1;min-height:0;align-items:start}
.aip-more-current{overflow-y:auto;max-height:min(62vh,720px);padding:0 12px 8px 5px}
.aip-more-yellow-title{margin:0 auto 8px 10px;background:#f6d200;color:#2c4c81;border-radius:10px;font-size:clamp(17px,1.65vw,27px);display:inline-block;padding:8px 25px}
.aip-more-entity{border-bottom:2px solid #e5e5e5;padding:12px 0;display:flex;flex-direction:column;gap:5px;color:#344c79}
.aip-more-entity h3{margin:0;color:#304875;font-size:clamp(14px,1.1vw,19px);text-transform:uppercase}
.aip-more-entity p{font-size:clamp(11px,.87vw,15px);margin:0;line-height:1.3}
.aip-more-entity .aip-more-kind{font-size:clamp(10px,.75vw,13px);color:#868686}
.aip-more-entity .aip-more-public{font-weight:700;color:#171717}
.aip-more-entity .aip-more-status{color:#435974;font-weight:650}
.aip-more-entity .aip-more-funded{color:#108c43}
.aip-more-entity .aip-more-deadline{font-weight:700;background:#f2f5f9;padding:3px;border-radius:3px}
.aip-more-empty{font-size:14px;color:#344c79;padding:15px}
.aip-more-impact{background:#191460;border-radius:28px;padding:clamp(20px,2vw,35px);color:white;display:flex;flex-direction:column;gap:11px;font-family:Georgia,serif;line-height:1.38}
.aip-more-impact h2{font-family:Arial,sans-serif;font-size:clamp(20px,2vw,32px);font-weight:500;color:white;margin:0}
.aip-more-impact p{margin:0;font-size:clamp(12px,1.03vw,18px)}
.aip-more-impact .aip-more-impact-intro{font-size:clamp(17px,1.7vw,28px);font-family:Arial,sans-serif;font-weight:200;color:#48599c}
.aip-more-impact .aip-more-impact-highlight{color:#14a7e3;font-size:clamp(15px,1.35vw,22px)}
.aip-more-did{background:#f7ce00;color:#0e0e0e;border-radius:26px;padding:clamp(17px,1.6vw,30px);line-height:1.32;overflow:hidden}
.aip-more-did h2{font-size:clamp(19px,2vw,33px);font-weight:400;margin:0 0 10px}
.aip-more-did p{font-size:clamp(13px,1.14vw,19px);margin:0}
.aip-more-bottom{background:#2c4b7f;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:stretch;color:#fff;padding:14px clamp(20px,3vw,50px);min-height:105px}
.aip-more-bottom-side{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;text-align:center}
.aip-more-bottom-side p{margin:0;font-size:clamp(13px,1.3vw,21px)}
.aip-more-yellow-action{background:#f6d200;border:0;border-radius:30px;color:#27487f;font-size:clamp(14px,1.3vw,21px)!important;font-family:Georgia,serif;font-weight:700;padding:9px 20px;width:85%;cursor:pointer}
.aip-more-yellow-action:hover,.aip-more-yellow-action:focus-visible{background:#ffdf28;outline:2px solid white}
.aip-engagement-mask{position:fixed;inset:0;background:#101a3aa8;z-index:2147482010;display:flex;align-items:center;justify-content:center;padding:16px}
.aip-engagement-card{background:white;color:#16165b;border-radius:12px;max-width:500px;width:100%;padding:26px;box-shadow:0 12px 50px #0006}
.aip-engagement-card h2{margin:0 0 12px;font-size:24px}
.aip-engagement-card p{font-size:14px}
.aip-engagement-form{display:flex;flex-direction:column;gap:12px}
.aip-engagement-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:14px}
.aip-engagement-form input{width:100%;border:1px solid #717181;padding:11px;font-size:16px}
.aip-engagement-form .aip-engagement-privacy{font-size:12px;color:#56566f}
.aip-engagement-result{color:#154877;min-height:17px}
.aip-engagement-actions{display:flex;gap:12px;justify-content:flex-end}
.aip-engagement-actions button{padding:10px 14px;font-size:13px!important;cursor:pointer}
.aip-engagement-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.aip-more-cols{grid-template-columns:1fr 1fr}.aip-more-did{grid-column:1 / -1}.aip-more-content{overflow:visible}.aip-more-top{grid-template-columns:1fr}.aip-more-current{max-height:none}}
@media(max-width:600px){.aip-more-cols{grid-template-columns:1fr}.aip-more-did{grid-column:auto}.aip-more-bottom{grid-template-columns:1fr}.aip-more-prog-name{flex-basis:95px;font-size:10px}.aip-more-head{padding:8px}.aip-more-bottom-side{gap:8px}.aip-ribbon-up{top:calc(25% + 2px)}}

/* V1.6.2 — Trois colonnes égales et de même hauteur à largeur ordinateur. */
.aip-more-head{min-height:28px;padding:4px clamp(12px,1.4vw,25px);display:flex;justify-content:flex-end;align-items:center}
.aip-more-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.7vw,30px);align-items:stretch}
.aip-more-cols>section{min-width:0;height:100%;min-height:0}
.aip-more-current{max-height:none;overflow-y:auto;overscroll-behavior:contain}
.aip-more-impact,.aip-more-did{height:100%;align-self:stretch}
/* L'égalité des colonnes ne doit pas imposer des textes tronqués sur téléphone. */
@media(max-width:900px){.aip-more-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.aip-more-did{grid-column:1/-1}.aip-more-cols>section{height:auto}.aip-more-current{overflow-y:visible}}
@media(max-width:600px){.aip-more-cols{grid-template-columns:1fr}.aip-more-did{grid-column:auto}.aip-more-impact,.aip-more-did{height:auto}}

/* V1.6.5 — conformité des 3 vues au stade dépôt/instruction.
   Scopé au module public, pas de changement au parcours non prospecté.
   Une ligne rouge de non-participation + une seconde orange pour l'action.
*/
.aip-intro-deposited{height:36%;}
.aip-intro-deposited .aip-intro-commune{margin-bottom:.55%;}
.aip-intro-public-red{background:#b33539;color:#fff;display:flex;align-items:center;justify-content:flex-end;text-align:right;font-size:clamp(10px,1.05vw,19px);line-height:1.3;font-weight:800;white-space:nowrap;min-height:22px;width:74%;padding:2px 10px;letter-spacing:-.01em;}
.aip-intro-orange-label{background:#f0921f;color:white;display:flex;align-items:center;justify-content:center;text-align:center;align-self:flex-start;margin-left:5.5%;font-weight:800;font-size:clamp(10px,1.05vw,19px);line-height:1.3;white-space:nowrap;max-width:70%;min-height:24px;padding:3px 11px;}
.aip-intro-remise{font-size:clamp(11px,1.15vw,21px);font-weight:750;line-height:1.3;color:#151515;text-align:center;max-width:74%;margin:1.3% 0 .1%;text-wrap:pretty;}
.aip-intro-current-status{font-size:clamp(10px,.9vw,17px);font-weight:500;text-align:right;max-width:74%;color:#245581;margin:.5% 0 0;}
.aip-intro-deposited .aip-intro-soon{font-size:clamp(10px,.93vw,17px);font-weight:600;color:#2b4562;margin:.4% 0 0;max-width:74%;text-align:center}
.aip-intro-deposited .aip-intro-info{top:23%;}
/* La bulle 1, et non la 2, représente le dépôt. Instruction = seconde bulle.
   L'état initial demeure rouge ; les financements vérifiés demeurent verts. */
.aip-three-steps[data-step='transmis'] .aip-step-number:nth-of-type(1){background:#ed9123}
.aip-ribbon-status{flex:0 0 24%;font-size:clamp(8px,.7vw,12px);}
.aip-ribbon-status[data-step='transmis']{background:#e98919;}
.aip-ribbon-status[data-step='instruction']{background:#e98919;}
.aip-ribbon-message .aip-ribbon-one-line{font-weight:550;}
/* Fiches détaillées : icône et hiérarchie fidèles à la planche, sans données inventées. */
.aip-more-entity{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:9px;align-items:start;}
.aip-more-entity-icon{font-size:21px;line-height:32px;width:33px;height:33px;border-radius:7px;background:#eef3f8;color:#5e789d;text-align:center;font-family:Georgia,serif;display:block;}
.aip-more-entity-content{min-width:0;display:flex;flex-direction:column;gap:5px;}
.aip-more-entity-content h3{font-weight:800;font-size:clamp(15px,1.2vw,20px);}
.aip-more-entity .aip-more-transmitted{color:#3a4f71;}
.aip-more-entity .aip-more-status{font-weight:750;}
.aip-more-entity .aip-more-deadline{font-weight:700;}
@media(max-width:750px){
 .aip-intro-deposited{height:auto;min-height:33%;}
 .aip-intro-public-red{max-width:100%;width:96%;min-height:22px;white-space:normal;font-size:clamp(9px,2.3vw,13px);}
 .aip-intro-orange-label{margin:4px 0 0 3%;max-width:93%;white-space:normal;min-height:22px;font-size:clamp(9px,2.25vw,12px);padding:3px 5px;}
 .aip-intro-remise{max-width:96%;font-size:clamp(11px,2.5vw,15px);text-align:left;}
 .aip-intro-current-status{max-width:96%;font-size:clamp(10px,2.25vw,13px);}
 .aip-intro-deposited .aip-intro-soon{max-width:96%;font-size:clamp(10px,2.2vw,13px);}
 .aip-intro-deposited .aip-intro-info{position:static;}
 .aip-more-entity{grid-template-columns:30px minmax(0,1fr);gap:7px;}
 .aip-more-entity-icon{width:28px;height:28px;line-height:28px;font-size:18px;}
 .aip-ribbon-status{flex-basis:26%;font-size:8px;}
}

/* ARCAVIUM V1.6.6 — retouches strictement graphiques des états dépôt/instruction.
   Aucun changement des états initiaux, refus et financement. */
@media (min-width:751px){
  /* L'extrémité droite des bandeaux et du texte de remise coïncide (maquette).
     La zone INFO PUBLIQUE reste libre à droite du bloc. */
  .aip-intro-deposited .aip-intro-public-red{width:74%;max-width:74%;box-sizing:border-box;}
  .aip-ribbon-message{font-size:clamp(8px,.66vw,10px);}
  .aip-intro-deposited .aip-intro-orange-label{
    box-sizing:border-box;align-self:flex-end;margin:0 26% 0 0;
    max-width:74%;width:max-content;justify-content:center;
  }
  .aip-intro-deposited .aip-intro-remise{
    box-sizing:border-box;width:74%;max-width:74%;text-align:right;margin:1.3% 0 .1%;
  }
}
/* Le panneau blanc réserve une zone exclusive à la flèche rouge.
   Ne touche pas au rectangle orange ni à la largeur rouge. */
.aip-ribbon-message{box-sizing:border-box;padding-right:clamp(59px,4.6vw,76px);}
.aip-ribbon-message .aip-ribbon-one-line{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;}
/* Texte DOSSIER TRANSMIS plus lisible ; rectangle orange inchangé. */
.aip-ribbon-status[data-step='transmis']{font-size:clamp(10px,.91vw,14px);letter-spacing:.005em;}
/* Encadré J-XX compact et date grise sur sa droite, comme la planche. */
.aip-more-deadline-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:4px;max-width:100%;}
.aip-more-entity .aip-more-days{
  display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
  background:#edf3f8;color:#536a88;border-radius:4px;
  padding:4px 7px;font-size:clamp(11px,.85vw,14px);line-height:1.1;font-weight:800;
}
.aip-more-entity .aip-more-instruction-date{
  color:#80838a;font-size:clamp(10px,.78vw,13px);font-weight:400;line-height:1.2;
}
@media(max-width:750px){
  /* Ne pas imposer l'alignement desktop sur un écran étroit. */
  .aip-intro-deposited .aip-intro-orange-label{align-self:flex-start;margin:4px 0 0 3%;max-width:93%;}
  .aip-intro-deposited .aip-intro-remise{text-align:left;max-width:96%;}
  .aip-ribbon-message{padding-right:50px;}
  .aip-ribbon-status[data-step='transmis']{font-size:clamp(9px,2.2vw,12px);}
  .aip-more-entity .aip-more-instruction-date{font-size:11px;}
}


/* V1.6.7 — Bandeau lisible à deux lignes, sans modification de sa hauteur.
   La zone du bouton triangulaire demeure strictement réservée. */
.aip-ribbon-message{
  box-sizing:border-box;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  padding:1px clamp(55px,4.4vw,67px) 1px 8px;
  font-size:clamp(10.5px,.83vw,12.5px);
  line-height:1.18;
  min-width:0;
  overflow:hidden;
}
.aip-ribbon-message .aip-ribbon-one-line{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  overflow-wrap:break-word;
  max-width:100%;
  min-width:0;
  font-weight:600;
}
@media(max-width:1050px) and (min-width:751px){
  .aip-ribbon-message{font-size:10.3px;line-height:1.16;padding-right:55px;}
}
@media(max-width:750px){
  .aip-ribbon-message{font-size:clamp(9.5px,2.6vw,11.5px);line-height:1.13;padding:1px 48px 1px 7px;}
  .aip-ribbon-message .aip-ribbon-one-line{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;white-space:normal;}
}

/* Version compacte du même fait métier pour largeur mobile. */
.aip-ribbon-message .aip-ribbon-mobile{display:none;}
@media(max-width:750px){
 .aip-ribbon-message .aip-ribbon-desktop{display:none;}
 .aip-ribbon-message .aip-ribbon-mobile{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;}
}

/* V1.6.10 — alignement à droite, coupure métier après les bénéficiaires.
   Ne s’applique qu'aux dossiers déposés/en instruction et au panneau déplié. */
.aip-intro-deposited .aip-intro-remise{text-align:right;}
.aip-remise-first,.aip-remise-second{display:block;width:100%;text-align:right;line-height:inherit;}
.aip-ribbon-message{text-align:right;justify-content:flex-end;}
.aip-ribbon-message .aip-ribbon-one-line{text-align:right;width:100%;}
.aip-ribbon-message .aip-ribbon-desktop.aip-ribbon-one-line{display:block;}
.aip-public-headline .aip-remise-first,.aip-public-headline .aip-remise-second{text-align:right;}
.aip-public-headline:has(.aip-remise-first){text-align:right;}
@media (max-width:750px){
 .aip-intro-deposited .aip-intro-remise{text-align:right;max-width:96%;}
 .aip-ribbon-message .aip-ribbon-desktop.aip-ribbon-one-line{display:none;}
 .aip-ribbon-message .aip-ribbon-mobile{display:-webkit-box;text-align:right;}
}

/* V1.6.11 — instruction : 2e bulle et 2e tiers orange ; 3e gris.
   Cette règle agit sur les trois affichages via .aip-three-steps.
   Dépôt, état initial, refus et financement restent inchangés. */
.aip-three-steps[data-step='instruction'] .aip-step-segment[data-after='2']{background:#ee9126}
/* Texte d'instruction plus présent dans le rectangle existant, sans changer largeur ou hauteur. */
.aip-ribbon-status[data-step='instruction']{
  font-size:clamp(9.5px,.98vw,14px);
  letter-spacing:-.035em;
  line-height:1.06;
  text-align:center;
  font-family:'Arial Narrow',Arial,sans-serif;
  font-stretch:condensed;
}
@media(max-width:750px){
 .aip-ribbon-status[data-step='instruction']{
   font-size:clamp(7.5px,1.9vw,10px);
   letter-spacing:-.04em;
   white-space:normal;
   line-height:1.05;
   padding:0 1px;
 }
}

/* ARCAVIUM V1.6.12 — ouverture financée : traitement strictement distinct.
   Les autres états et toutes les hauteurs de bandeau restent inchangés. */
.aip-intro-red[data-step='finance']{
  background:#07558b; color:#fff; width:74%; max-width:74%;
  white-space:normal; text-overflow:clip; text-align:right;
  font-size:clamp(10px,1.1vw,18px);line-height:1.24;min-height:24px;
}
.aip-intro-funded .aip-intro-finance-statement{
  color:#111;width:74%;max-width:74%;margin-top:1%;
  text-align:right;line-height:1.35;overflow-wrap:break-word;
}
.aip-intro-funded .aip-finance-first,.aip-intro-funded .aip-finance-second,
.aip-ribbon-finance-message .aip-finance-first,.aip-ribbon-finance-message .aip-finance-second,
.aip-public-message .aip-finance-first,.aip-public-message .aip-finance-second{
  display:block; width:100%; text-align:right;
}
.aip-ribbon-upper[data-step='finance'] .aip-ribbon-title{
  background:#07558b;color:white;flex:1 1 100%;width:100%;
  justify-content:flex-start;text-align:left;font-weight:800;
}
.aip-ribbon-finance-message .aip-ribbon-one-line{
  display:block;text-align:right;font-weight:650;
  white-space:normal;line-height:1.15;
}
.aip-ribbon-finance-message .aip-finance-first,
.aip-ribbon-finance-message .aip-finance-second{
  white-space:normal;overflow-wrap:break-word;
}
.aip-public-message:has(.aip-finance-first){gap:8px}
.aip-public-message:has(.aip-finance-first) .aip-public-headline{
  color:#07558b;font-weight:850;line-height:1.25;text-align:right;
}
.aip-public-message:has(.aip-finance-first) .aip-public-summary{
  color:#171717;font-weight:700;text-align:right;line-height:1.35;
}
@media(max-width:750px){
  .aip-intro-red[data-step='finance']{width:96%;max-width:96%;font-size:clamp(11px,2.6vw,15px)}
  .aip-intro-funded .aip-intro-finance-statement{width:96%;max-width:96%;font-size:clamp(12px,2.65vw,16px)}
  .aip-ribbon-upper[data-step='finance'] .aip-ribbon-title{font-size:clamp(8px,2.2vw,12px);white-space:normal}
  .aip-ribbon-finance-message{font-size:clamp(8px,2.25vw,11px);padding-right:48px}
  .aip-ribbon-finance-message .aip-ribbon-one-line{display:block!important;-webkit-line-clamp:unset;line-clamp:unset;line-height:1.09}
}

/* V1.6.13 — État neutre uniquement : deux lignes exactes dans le bandeau blanc.
   Les autres états et dimensions du bandeau ne sont pas modifiés. */
.aip-ribbon-message.aip-ribbon-neutral-message .aip-ribbon-one-line{
  display:block!important;white-space:normal;overflow:visible;
  -webkit-line-clamp:unset;line-clamp:unset;
  text-align:right;line-height:1.11;font-weight:600;
}
.aip-ribbon-neutral-line{display:block;width:100%;text-align:right;white-space:nowrap;}
@media(max-width:750px){
  .aip-ribbon-message.aip-ribbon-neutral-message{font-size:clamp(7px,2.05vw,10px);line-height:1.1;}
}


/* ARCAVIUM SITE V1.6.18 — UNIQUEMENT EPCI refusé publiquement -> mairie annoncée AVANT dépôt.
   La base reste exactement V1.6.13, réellement référencée en V1.6.17.
   Aucun style global et aucune modification des autres scénarios. */
.aip-intro-relais-mairie .aip-intro-commune{
  display:block;visibility:visible;opacity:1;flex:0 0 auto;
  max-width:74%;width:74%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--aip-navy,#191260);font-size:clamp(19px,2.7vw,42px);
  line-height:1.04;margin:1.35% 0 .55%;font-weight:400;
}
.aip-intro-relais-mairie .aip-intro-public-red{
  box-sizing:border-box;width:74%;max-width:74%;min-height:20px;
  padding:2px 8px;justify-content:flex-end;font-size:clamp(10px,.95vw,15px);
  font-weight:800;line-height:1.2;white-space:nowrap;
}
.aip-intro-relais-mairie .aip-intro-orange-label{
  box-sizing:border-box;width:max-content;max-width:74%;min-height:21px;
  align-self:flex-end;margin:0 26% 0 0;padding:2px 7px;
  font-size:clamp(10px,.94vw,15px);line-height:1.16;white-space:nowrap;
  text-align:right;font-weight:800;
}
.aip-intro-relais-mairie .aip-intro-relais-refus{
  width:74%;max-width:74%;margin:1.0% 0 0;padding:0;
  color:#171717;font-size:clamp(10px,.99vw,15px);line-height:1.22;
  font-weight:800;text-align:right;overflow-wrap:break-word;
}
.aip-intro-relais-mairie .aip-intro-relais-date{
  width:74%;max-width:74%;margin:.3% 0 0;padding:0;
  color:#333;font-size:clamp(9px,.86vw,13px);line-height:1.15;
  font-weight:400;font-style:italic;text-align:right;
}
.aip-intro-relais-mairie .aip-intro-relais-annonce{
  width:74%;max-width:74%;margin:1.2% 0 0;padding:0;
  color:#20aed3;font-size:clamp(10px,1.03vw,16px);line-height:1.2;
  font-weight:800;text-align:right;overflow-wrap:break-word;
}
.aip-intro-relais-mairie .aip-intro-current-status{
  width:74%;max-width:74%;margin:.6% 0 0;padding:0;text-align:right;
  color:#245581;font-size:clamp(9px,.84vw,13px);font-weight:500;
}
.aip-intro-relais-mairie .aip-intro-info{top:16%;}
/* Badge et ligne blanche : ne jamais appliquer au parcours mairie -> EPCI. */
.aip-ribbon[data-relais-mairie='oui'] .aip-ribbon-status[data-step='transition']{
  background:#20aed3;color:#fff;
  font-size:clamp(11px,1vw,16px);font-weight:850;letter-spacing:.025em;
  flex-basis:21%;min-width:80px;
}
.aip-ribbon[data-relais-mairie='oui'] .aip-ribbon-relais-message .aip-ribbon-one-line{
  display:block!important;color:#20aed3;font-weight:850!important;
  text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.aip-public-message.aip-public-relais-mairie .aip-public-summary{
  color:#20aed3;font-weight:800;text-align:right;overflow-wrap:break-word;
}
.aip-public-message.aip-public-relais-mairie .aip-public-status{color:#245581;}
/* Ne tronquer aucune des quatre rangées. Les limites ne s'appliquent QUE
   quand l'EPCI refusant est le niveau secondaire sous la mairie. */
.aip-ribbon-right[data-relais-mairie='oui']{
  display:flex;flex-direction:column;box-sizing:border-box;
  height:100%;min-height:0;justify-content:flex-start;
  gap:2px;padding:2px 3px 2px 0;overflow:hidden;
}
.aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-progress{
  flex:0 0 20px;height:20px;min-height:0;
}
.aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-progress .aip-three-steps{height:20px;}
.aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-progress .aip-step-number{
  height:19px;width:19px;flex-basis:19px;font-size:12px;
}
.aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-band{
  flex:1 1 0;height:auto;min-height:0;gap:4px;
}
.aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-bar{height:5px;}
@media(max-width:750px){
  .aip-intro-relais-mairie .aip-intro-commune{
    width:96%;max-width:96%;font-size:clamp(21px,6.4vw,38px);margin:9px 0 5px;
  }
  .aip-intro-relais-mairie .aip-intro-public-red{width:96%;max-width:96%;white-space:normal;font-size:clamp(9px,2.15vw,13px);}
  .aip-intro-relais-mairie .aip-intro-orange-label{
    max-width:96%;align-self:flex-end;margin:2px 4% 0 0;
    white-space:normal;font-size:clamp(9px,2.15vw,12px);padding:3px 5px;
  }
  .aip-intro-relais-mairie .aip-intro-relais-refus,
  .aip-intro-relais-mairie .aip-intro-relais-date,
  .aip-intro-relais-mairie .aip-intro-relais-annonce,
  .aip-intro-relais-mairie .aip-intro-current-status{
    width:96%;max-width:96%;font-size:clamp(10px,2.3vw,14px);line-height:1.2;
  }
  .aip-intro-relais-mairie .aip-intro-info{position:static;margin-top:6px;}
  .aip-ribbon[data-relais-mairie='oui'] .aip-ribbon-status[data-step='transition']{
    flex-basis:24%;min-width:70px;font-size:clamp(10px,2.4vw,13px);
  }
  .aip-ribbon[data-relais-mairie='oui'] .aip-ribbon-relais-message .aip-ribbon-one-line{
    font-size:clamp(9px,2.35vw,12px);white-space:normal;
  }
  .aip-ribbon-right[data-relais-mairie='oui']{
    height:54px;gap:1px;padding:1px 1px 1px 0;
  }
  .aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-progress{
    flex:0 0 17px;min-height:0;height:17px;
  }
  .aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-progress .aip-three-steps{height:17px;}
  .aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-progress .aip-step-number{
    height:16px;width:16px;flex-basis:16px;font-size:10px;
  }
  .aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-band{flex:1 1 0;height:auto;min-height:0;}
  .aip-ribbon-right[data-relais-mairie='oui'] .aip-ribbon-bar{height:4px;}
}

/* Correctif V1.6.20 — réserver réellement la place du bandeau fixe.
   Les pages ordinaires défilent jusqu'au-dessus du bandeau ; la coque à iframe
   calcule sa hauteur utile pour que les boutons ne soient jamais occultés. */
body:has(.aip-ribbon){--aip-reserved-space:66px;box-sizing:border-box}
body:has(.aip-ribbon):not(.arcavium-home-shell){padding-bottom:calc(var(--aip-reserved-space) + env(safe-area-inset-bottom,0px))!important}
body.arcavium-home-shell:has(.aip-ribbon) .pro-profile-shell,
body.arcavium-home-shell:has(.aip-ribbon) .pro-profile-layout{min-height:0;height:calc(100dvh - var(--aip-reserved-space))}
body.arcavium-home-shell:has(.aip-ribbon) .pro-sidebar{min-height:0;max-height:calc(100dvh - var(--aip-reserved-space));overflow-y:auto}
body.arcavium-home-shell:has(.aip-ribbon) .pro-workspace{height:calc(100dvh - var(--aip-reserved-space));min-height:0}
@media(max-width:750px){
  body:has(.aip-ribbon){--aip-reserved-space:106px}
  body.arcavium-home-shell:has(.aip-ribbon) .pro-sidebar{max-height:none;overflow:visible}
  body.arcavium-home-shell:has(.aip-ribbon) .pro-profile-layout{height:calc(100dvh - var(--aip-reserved-space));display:flex;flex-direction:column}
  body.arcavium-home-shell:has(.aip-ribbon) .pro-workspace{flex:1;min-height:0;height:auto}
  body.arcavium-home-shell:has(.aip-ribbon) .shell-content{height:100%;min-height:0}
}

/* Historique public : une narration commune, sans ligne autonome d'interlocuteur. */
.aip-story,.aip-public-story-line{margin:.2em 0;line-height:1.35;overflow-wrap:anywhere}
.aip-intro-public-story .aip-story-negative,.aip-intro-public-story .aip-story-proposal{font-weight:700;color:#222;text-align:center}
.aip-intro-public-story .aip-story-refusal{font-style:italic;color:#333;text-align:center}
.aip-intro-public-story .aip-story-future{color:#1973a6;text-align:center}
.aip-intro-public-story .aip-story-conclusion{font-weight:800;color:#c4252d;text-align:center;font-size:clamp(12px,1.4vw,17px)}
.aip-public-story .aip-public-story-line-negative,.aip-public-story .aip-public-story-line-proposal{font-weight:700;color:#1b2935}
.aip-public-story .aip-public-story-line-refusal{font-style:italic}
.aip-public-story .aip-public-story-line-future{color:#1973a6}
.aip-public-story .aip-public-story-line-conclusion{font-weight:800;color:#c4252d}
.aip-ribbon-double-refusal .aip-ribbon-one-line{color:#b62531;font-weight:750}
.aip-more-entity-refusal{font-style:italic}
.aip-more-entity-negative{font-weight:650}
@media(max-width:600px){.aip-intro-public-story .aip-story{font-size:clamp(10px,2.2vw,13px)}.aip-intro-public-story .aip-story-conclusion{font-size:clamp(11px,2.6vw,15px)}}

/* Le relais EPCI ne devient jamais bleu, ni orange avant le premier dépôt. */
.aip-three-steps[data-step='relais_epci'] .aip-step-number:first-child{background:#b33539}
.aip-three-steps[data-step='relais_epci'] .aip-step-segment[data-after='1']{background:#b33539}

.aip-more-final-conclusion{font-size:clamp(12px,1vw,16px);font-weight:800;color:#bb2431;line-height:1.5;margin:1.2rem 0;overflow-wrap:anywhere}

/* L’annonce de la mairie après refus public EPCI est une transition bleu ciel, jamais un dépôt orange. */
.aip-intro-public-story[data-step="transition"] .aip-intro-orange-label{background:#20aed3;color:#fff}


/* ARCAVIUM V1.6.24 — 29/10/2026. RESTAURATION VISUELLE CIBLÉE.
   Le récit de refus V1.6.23 réutilise les styles du relais, dont les bandes
   sont trop basses et les paragraphes recentrés. Réaligner uniquement ce récit,
   sans changer les données, l'Administration, ni ÉTAT ACTUEL. */
.aip-intro-public-story .aip-intro-public-red{
  min-height:clamp(30px,2.3vw,39px);
  padding:4px 10px;
  font-size:clamp(12px,1.13vw,19px);
  line-height:1.25;
  justify-content:flex-end;
  text-align:right;
}
.aip-intro-public-story .aip-intro-orange-label{
  min-height:clamp(27px,2.05vw,35px);
  padding:4px 10px;
  font-size:clamp(11px,1.04vw,18px);
  justify-content:flex-end;
  text-align:right;
}
.aip-intro-public-story .aip-story{
  box-sizing:border-box;
  width:74%;max-width:74%;
  margin:.3% 0 0;
  padding:0;
  font-size:clamp(11px,1.03vw,17px);
  line-height:1.3;
  overflow-wrap:break-word;
  text-align:right;
}
.aip-intro-public-story .aip-story-negative,
.aip-intro-public-story .aip-story-proposal{
  text-align:right;
  color:#171717;
  font-weight:800;
}
.aip-intro-public-story .aip-story-refusal{
  text-align:right;
  color:#333;
  font-style:italic;
  font-weight:400;
}
.aip-intro-public-story .aip-story-future{
  text-align:right;
  color:#1973a6;
  font-weight:800; /* « À défaut… » doit être EN GRAS. */
}
.aip-intro-public-story .aip-story-conclusion{
  text-align:center;  /* conclusion rouge : maquette de double refus */
  font-weight:800;
  color:#c4252d;
  font-size:clamp(12px,1.12vw,18px);
  line-height:1.3;
  margin-top:.9%;
}
@media(max-width:750px){
  .aip-intro-public-story .aip-intro-public-red{
    width:96%;max-width:96%;min-height:28px;
    font-size:clamp(10px,2.3vw,15px);
    white-space:normal;
  }
  .aip-intro-public-story .aip-intro-orange-label{
    min-height:26px;font-size:clamp(10px,2.35vw,14px);
  }
  .aip-intro-public-story .aip-story{
    width:96%;max-width:96%;
    font-size:clamp(10px,2.45vw,15px);
    text-align:right;
  }
  .aip-intro-public-story .aip-story-conclusion{
    font-size:clamp(11px,2.7vw,16px);
    text-align:center;
  }
}

/* RUBAN GLOBAL, COMMUN À TOUTES LES PAGES : blanc AU-DESSUS, couleur EN DESSOUS.
   Les contenus et les autres zones restent inchangés ; la variation de hauteur
   ne concerne que la MOITIÉ GAUCHE et ne provoque aucune nouvelle requête API. */
.aip-ribbon{
  --aip-halfwhite:33px;
  --aip-panel-bottom:33px;
}
.aip-ribbon-primary{flex-direction:column-reverse}
.aip-ribbon-upper,.aip-ribbon-message{flex:0 0 50%;height:50%}
/* Le triangle repose à la jonction blanc/couleur. */
.aip-ribbon-up{
  top:calc(var(--aip-halfwhite) - 23px);
  height:23px;
}
.aip-ribbon[data-open='true'] .aip-ribbon-up{
  left:calc(26.5% - 24px);
  right:auto;
}
/* Une seule forme blanche : le panneau EXISTANT recouvre la petite bande
   blanche lorsqu'il est ouvert, la barre colorée reste à sa place en bas. */
.aip-ribbon>.aip-detail{
  position:absolute;
  left:0;right:auto;
  bottom:var(--aip-panel-bottom);
  width:53%;
  z-index:2;
  border-bottom:0;
  padding-bottom:35px; /* réserve le bas au triangle */
}
.aip-ribbon>.aip-detail .aip-detail-pointer{display:none}
.aip-ribbon .aip-ribbon-up{z-index:4}
/* Conserver le FOND BLANC sur toute la demi-bande, même en ouverture.
   On masque uniquement l'information compacte déjà reprise dans le panneau. */
.aip-ribbon[data-open='true'] .aip-ribbon-message{visibility:visible;background:#fff}
.aip-ribbon[data-open='true'] .aip-ribbon-message>*{visibility:hidden}
/* Un seul triangle interactif : jamais de deuxième pointe dans le panneau. */
.aip-host .aip-detail-pointer{display:none!important}
/* Indicateur de focus accessible sans l'encadré bleu parasite. */
.aip-ribbon-up:focus-visible{outline:none}
.aip-ribbon-up:focus-visible::before{filter:drop-shadow(0 0 2px #1b166b)}
@media(max-width:750px){
  .aip-ribbon{
    --aip-halfwhite:25.5px;
    --aip-panel-bottom:80.5px;
  }
  .aip-ribbon>.aip-detail{width:100%;max-height:43dvh}
  .aip-ribbon[data-open='true'] .aip-ribbon-up{left:calc(50% - 20px);right:auto}
  .aip-ribbon-up{top:calc(var(--aip-halfwhite) - 21px);height:21px}
}
@media(max-width:600px){
  /* La valeur historique top:calc(25% + 2px) correspondait à l'ordre inverse. */
  .aip-ribbon-up{top:calc(var(--aip-halfwhite) - 21px)}
}
/* Les deux captures utilisateur montrent un triangle orienté vers le haut
   dans les deux états ; seule sa position (droite / centre) varie. */
.aip-ribbon[data-open='true'] .aip-ribbon-up::before{
  clip-path:polygon(50% 0%,100% 100%,0 100%);
}

/* V1.6.25 : correction unique du raccord blanc/couleur et de la pointe, sans nouvelle disposition. */

/* ARCAVIUM V1.6.26 — le parcours mairie après refus EPCI a quatre lignes
   (mairie principale + EPCI + département + région). Sur V1.6.25,
   la somme des hauteurs minimales et des espacements dépassait le ruban,
   et overflow:hidden coupait la Région. Uniquement le cas data-rows=4.
   Aucun état métier ni contenu ne change. */
@media(min-width:751px){
  .aip-ribbon-right[data-rows="4"]{gap:1px;padding:2px 3px 2px 0}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress{flex:0 0 20px;height:20px;min-height:20px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress .aip-three-steps{height:20px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress .aip-step-number{height:19px;width:19px;flex-basis:19px;font-size:11px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress .aip-step-segment{height:7px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-band{flex:0 0 12px;min-height:12px;height:12px}
}
@media(max-width:750px){
  .aip-ribbon-right[data-rows="4"]{gap:1px;padding:1px 1px 1px 0}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress{flex:0 0 18px;height:18px;min-height:18px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress .aip-three-steps{height:18px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress .aip-step-number{height:17px;width:17px;flex-basis:17px;font-size:10px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-progress .aip-step-segment{height:6px}
  .aip-ribbon-right[data-rows="4"] .aip-ribbon-band{flex:0 0 10px;min-height:10px;height:10px}
}

/* V23.6 — seule la campagne régionale passée; autres états intacts. */
.aip-ribbon[data-regional-season='terminee'] .aip-ribbon-primary{background:#af3437}
.aip-ribbon[data-regional-season='terminee'] .aip-ribbon-upper{flex:1 1 100%;height:100%}
.aip-ribbon[data-regional-season='terminee'] .aip-ribbon-title{background:#af3437;color:#fff;font-size:clamp(10px,1.3vw,20px);font-weight:600;white-space:normal;line-height:1.1;text-align:center;justify-content:center;padding:3px 12px;letter-spacing:0;text-transform:none}
.aip-ribbon[data-regional-season='terminee'] .aip-ribbon-message{display:none}
.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-upper{order:0}
.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-message{order:1}
.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-title{background:#006da9;color:#fff;text-align:right;justify-content:flex-end;font-style:italic;padding-right:14px;font-size:clamp(9px,.92vw,15px)}
.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-message{background:#fff;color:#222;font-size:clamp(8px,.87vw,13px);font-weight:800;text-align:right;justify-content:flex-end}
.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-finance-message .aip-finance-first{font-weight:800;text-align:right}
@media(max-width:750px){.aip-ribbon[data-regional-season='terminee'] .aip-ribbon-title{font-size:clamp(9px,2.2vw,13px)}.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-title{white-space:normal;font-size:9px}.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-message{font-size:9px}}
.aip-ribbon[data-regional-season='reinscrite'] .aip-ribbon-primary{flex-direction:column}
