.article-archive-page{background:linear-gradient(to bottom,#f1efe5 0%,#e7efed 18%,#bdd6d5 38%,#317d8b 72%,#043b53 100%) fixed!important;color:#173d49}.public-archive{width:min(1900px,calc(100% - clamp(28px,5vw,100px)));min-height:75vh;margin:auto;padding:clamp(70px,8vw,150px) 0}.public-archive__head{max-width:1050px;margin-bottom:clamp(34px,5vw,70px)}.public-archive__head h1{margin:0 0 18px;font-size:clamp(48px,6vw,110px);line-height:.95}.public-archive__head>p:last-child{max-width:760px;font-size:clamp(19px,1.35vw,28px);line-height:1.55}.archive-filters{position:sticky;top:12px;z-index:20;display:grid;grid-template-columns:minmax(250px,1.5fr) repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end;margin-bottom:20px;padding:18px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(241,239,229,.84);box-shadow:0 18px 55px rgba(4,59,83,.16);backdrop-filter:blur(12px)}.archive-filters label span{display:block;margin:0 0 5px;font-size:13px;font-weight:800}.archive-filters input,.archive-filters select,.archive-filters button{width:100%;min-height:52px;padding:10px 13px;border:1px solid #8baeb3;border-radius:9px;background:#fff;color:#173d49;font:inherit;font-size:16px}.archive-filters button{border-color:#285d69;background:#285d69;color:#fff;font-weight:800;cursor:pointer;touch-action:manipulation}.archive-results{margin:25px 0;font-size:18px}.public-article-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,34px)}.public-article-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.48);border-radius:18px;background:rgba(15,143,162,.9);box-shadow:0 22px 60px rgba(1,27,39,.23);color:#fff}.public-article-card__media{position:relative;display:grid;width:100%;aspect-ratio:16/9;place-items:center;overflow:hidden;background:#173d49}.public-article-card__media img{display:block;width:100%;height:100%;object-fit:contain;background:#102f3b}.public-article-card__media>span:first-child:not(.availability):not(.access-badge){font-size:32px;font-weight:800;letter-spacing:.18em}.availability,.access-badge{position:absolute;top:14px;padding:7px 10px;border-radius:20px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.availability{left:14px}.access-badge{right:14px}.availability--available{background:#dff2e4;color:#286142}.availability--upcoming{background:#fff0c7;color:#765612}.access-badge--public{background:rgba(255,255,255,.9);color:#286142}.access-badge--subscriber{background:#173d49;color:#fff}.public-article-card__body{display:flex;min-height:360px;flex:1;flex-direction:column;padding:clamp(22px,2vw,34px)}.public-article-card__taxonomy{margin:0 0 14px;color:#d6f0f2;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-article-card h2{margin:0 0 18px;color:#fff;font-size:clamp(25px,1.75vw,38px);line-height:1.08}.public-article-card__body>p:not(.public-article-card__taxonomy){display:-webkit-box;margin:0 0 26px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;font-size:clamp(17px,1.05vw,22px);line-height:1.55}.article-read-button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:12px;margin-top:auto;padding:12px 18px;border:2px solid rgba(255,255,255,.75);border-radius:10px;background:#173d49;color:#fff!important;font-size:17px;font-weight:900;text-decoration:none;box-shadow:0 8px 20px rgba(3,35,46,.2);touch-action:manipulation}.article-read-button:hover,.article-read-button:focus{background:#fff;color:#173d49!important}.article-read-button--disabled{border-color:rgba(255,255,255,.4);background:rgba(23,61,73,.45);color:rgba(255,255,255,.76);cursor:not-allowed}.public-article-card.is-upcoming{background:rgba(72,130,139,.82)}.archive-empty{padding:50px;border-radius:16px;background:rgba(241,239,229,.8);font-size:22px;text-align:center}@media(min-width:2200px){.public-article-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1450px){.archive-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-search{grid-column:span 2}.public-article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.archive-filters{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.archive-search{grid-column:1/-1}.public-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.public-archive{width:calc(100% - 28px);padding:50px 0}.archive-filters{grid-template-columns:1fr;padding:14px}.archive-search{grid-column:auto}.public-article-grid{grid-template-columns:1fr}.public-article-card__body{min-height:310px}.availability,.access-badge{font-size:10px}.access-badge{top:auto;right:10px;bottom:10px}}

/* Affichage pensé pour les bornes et les écrans tactiles. */
.article-archive-page .public-archive{box-sizing:border-box!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:clamp(54px,6vw,120px) clamp(20px,3.5vw,72px)!important}.article-archive-page .public-archive__head{max-width:1200px}.public-article-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(24px,2.4vw,44px)}.archive-filters{width:100%;gap:16px;padding:22px}.archive-filters label span{margin-bottom:8px;font-size:15px}.archive-filters input,.archive-filters select,.archive-filters button{min-height:62px;padding:14px 16px;border-width:2px;border-radius:12px;font-size:18px}.public-article-card__body{min-height:400px;padding:clamp(26px,2vw,38px)}.public-article-card__taxonomy{font-size:15px}.public-article-card h2{font-size:clamp(29px,1.9vw,42px)}.public-article-card__body>p:not(.public-article-card__taxonomy){font-size:clamp(19px,1.15vw,24px)}.availability,.access-badge{min-height:38px;display:flex;align-items:center;padding:8px 12px;font-size:13px}.article-read-button{min-height:68px;padding:16px 22px;border-radius:13px;font-size:20px}
@media(min-width:1500px){.public-article-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1499px){.public-article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.public-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.public-article-grid{grid-template-columns:1fr}.archive-filters input,.archive-filters select,.archive-filters button{min-height:58px}.article-read-button{min-height:62px}}
@media(pointer:coarse){.archive-filters input,.archive-filters select,.archive-filters button{min-height:70px;font-size:20px}.article-read-button{min-height:76px;font-size:22px}.public-article-card{border-radius:22px}.availability,.access-badge{min-height:44px;font-size:14px}}

/* Les informations d’état restent lisibles sans masquer l’illustration. */
.public-article-card{position:relative;transition:transform .2s ease,box-shadow .2s ease}
.public-article-card__media{display:flex;flex-wrap:wrap;align-content:flex-start;gap:0;aspect-ratio:auto;overflow:hidden;background:transparent;line-height:0}
.public-article-card__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;flex:0 0 100%;object-fit:cover;background:transparent}
.public-article-card__media .availability,.public-article-card__media .access-badge{position:static;display:flex;min-height:42px;max-width:50%;flex:1 1 50%;align-items:center;justify-content:center;border-radius:0;padding:9px 12px;text-align:center;line-height:1.25}
.public-article-card__media .availability{border-right:1px solid rgba(23,61,73,.15)}
.public-article-card__body{padding-top:clamp(34px,2.4vw,46px)}

/* Le lien du bouton couvre toute la carte pour la souris comme pour le tactile. */
.public-article-card .article-read-button::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.public-article-card:has(.article-read-button:hover),.public-article-card:has(.article-read-button:focus-visible){transform:translateY(-5px);box-shadow:0 28px 72px rgba(1,27,39,.34)}
.public-article-card:has(.article-read-button:focus-visible){outline:4px solid #fff;outline-offset:4px}
.public-article-card .article-read-button--disabled::after{display:none}
@media(max-width:650px){.public-article-card__media .availability,.public-article-card__media .access-badge{max-width:none;flex-basis:100%;font-size:12px}}
