/* Pages publiques : pharmacies de garde, offres d'emploi */
.bandeau-page { padding: 56px 0 40px; background: radial-gradient(800px 400px at 90% 0, rgba(242, 192, 74, .25), transparent 65%); }
.bandeau-page h1 { font-size: clamp(36px, 5vw, 60px); max-width: 18ch; }
.bandeau-page p { margin-top: 14px; font-size: 19px; color: var(--doux); max-width: 60ch; }
.filtres { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.filtres a { padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--trait); text-decoration: none; color: var(--texte); font-weight: 600; font-size: 15px; background: #fff; }
.filtres a[aria-current="page"] { background: var(--terre); border-color: var(--terre); color: #fff; }
.liste-publique { padding: 20px 0 80px; }
.liste-publique h2 { font-size: 28px; margin: 34px 0 16px; }
.cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; }
.carte { background: #fff; border: 1px solid var(--trait); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.carte h3 { font-size: 20px; }
.carte .lieu, .carte .meta { color: var(--doux); font-size: 15px; }
.carte .actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.carte .actions a { font-weight: 700; font-size: 14.5px; text-decoration: none; padding: 9px 14px; border-radius: 999px; background: var(--soleil-pale); color: var(--terre-fonce); }
.etiquette { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--teinte); color: var(--terre); font-size: 13px; font-weight: 700; }
.vide { background: #fff; border: 1px dashed var(--trait); border-radius: 18px; padding: 34px; text-align: center; color: var(--doux); }
.vide strong { display: block; color: var(--texte); font-size: 19px; margin-bottom: 8px; }
.appel-compte { margin-top: 48px; padding: 30px; border-radius: 22px; background: var(--nuit); color: #F3E5CF; display: flex; gap: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.appel-compte h2 { color: #fff; font-size: 26px; margin: 0; }
.appel-compte p { color: #DCC7A6; margin-top: 6px; }
.offre-detail { max-width: 780px; }
.offre-detail .texte { margin-top: 24px; white-space: normal; color: var(--texte); }
.offre-detail .texte p { margin: 0 0 14px; }
.fil-ariane { font-size: 14px; color: var(--doux); }
.fil-ariane a { color: var(--doux); }
@media (max-width: 560px) { .masque-mobile { display: none; } }
/* Pkanta */
.grille-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 18px; }
.vignette { text-decoration: none; color: var(--texte); display: flex; flex-direction: column; gap: 6px; }
.vignette-image { position: relative; display: block; aspect-ratio: 9 / 16; border-radius: 16px; overflow: hidden; background: var(--nuit); }
.vignette-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.vignette:hover .vignette-image img { transform: scale(1.04); }
.lecture { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 52px; height: 52px; border-radius: 50%; background: rgba(30, 19, 9, .65); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; padding-left: 4px; }
.vignette-titre { font-weight: 700; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vignette-meta { font-size: 13.5px; color: var(--doux); }
.lecture-video { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 40px; align-items: start; }
.lecture-video .fil-ariane { grid-column: 1 / -1; }
.lecteur video { width: 100%; aspect-ratio: 9 / 16; background: #000; border-radius: 20px; object-fit: contain; }
@media (max-width: 860px) { .lecture-video { grid-template-columns: 1fr; } .lecteur { max-width: 420px; } }
