/* Gabarits génériques Hollymotion : page, article, liste d'articles, recherche, 404, catégories Portfolio.
   S'appuie sur hollymotion.css (variables) et archives-v1/archive.css (largeur, liste, pagination). */

/* Contenu éditorial (politique de confidentialité, articles sans modèle dédié) */
.hm-generique-contenu{max-width:760px;color:var(--hm-texte-2,#BEC5D9);font-family:var(--hm-police-texte,sans-serif);font-size:17px;line-height:1.7}
.hm-generique-contenu>*:first-child{margin-top:0}
.hm-generique-contenu h2,.hm-generique-contenu h3,.hm-generique-contenu h4{color:var(--hm-texte,#F3EFE7);font-family:var(--hm-police-titre,sans-serif);font-weight:300;line-height:1.2;margin:2em 0 .6em}
.hm-generique-contenu h2{font-size:clamp(24px,3vw,32px)}
.hm-generique-contenu h3{font-size:clamp(20px,2.4vw,24px)}
.hm-generique-contenu a{color:var(--hm-accent,#FFD166);text-underline-offset:.2em}
.hm-generique-contenu a:hover,.hm-generique-contenu a:focus-visible{color:var(--hm-or,#F59E00)}
.hm-generique-contenu ul,.hm-generique-contenu ol{padding-left:1.3em}
.hm-generique-contenu li{margin:.35em 0}
.hm-generique-contenu img{border-radius:var(--hm-rayon-carte,12px)}
.hm-generique-contenu table{width:100%;border-collapse:collapse}
.hm-generique-contenu th,.hm-generique-contenu td{padding:10px;border-bottom:1px solid var(--hm-ligne,rgba(255,255,255,.16));text-align:left}
.hm-generique-date{display:block;margin:0 0 clamp(20px,3vw,32px);color:var(--hm-texte-2,#BEC5D9);font-size:var(--hm-t-petit,14px)}

/* 404 et recherche */
.hm-404-texte{max-width:640px;color:var(--hm-texte-2,#BEC5D9);font-size:17px;line-height:1.7}
.hm-recherche{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(24px,4vw,40px) 0}
.hm-recherche label{flex:1 1 260px}
.hm-recherche input[type=search]{width:100%;min-height:48px;padding:0 18px;border:1px solid var(--hm-verre-bord,rgba(170,185,250,.38));border-radius:999px;background:rgba(255,255,255,.04);color:var(--hm-texte,#F3EFE7);font:inherit}
.hm-recherche input[type=search]:focus-visible{outline:2px solid var(--hm-accent,#FFD166);outline-offset:2px}
.hm-bouton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--hm-btn-fond,#FFD166);color:var(--hm-btn-texte,#182056);font-family:var(--hm-police-texte,sans-serif);font-weight:500;text-decoration:none;cursor:pointer}
.hm-bouton:hover,.hm-bouton:focus-visible{background:var(--hm-or,#F59E00);color:var(--hm-btn-texte,#182056)}
.hm-bouton:focus-visible{outline:2px solid var(--hm-accent,#FFD166);outline-offset:3px}
.hm-liste-vide{color:var(--hm-texte-2,#BEC5D9)}

/* Catégories Portfolio : grille de cartes, reprise de la page Projets */
.hm-portfolio-grille{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hm-e-7,48px) var(--hm-e-5,24px)}
.hm-portfolio-carte{margin:0;padding:0;transition:opacity .4s ease}
.hm-portfolio-carte a{display:grid;gap:var(--hm-e-3,12px);color:var(--hm-texte,#F3EFE7);text-decoration:none}
.hm-portfolio-vignette{display:block;overflow:hidden;aspect-ratio:16/9;border-radius:var(--hm-rayon-carte,12px);border:1px solid var(--hm-verre-bord,rgba(170,185,250,.38));background:var(--hm-ardoise,#182056);box-shadow:var(--hm-verre-ombre,none)}
.hm-portfolio-vignette img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.hm-portfolio-nom{margin:0;padding:0 var(--hm-e-2,8px);font-family:var(--hm-police-titre,sans-serif);font-weight:300;font-size:var(--hm-t-3,22px);line-height:1.18;color:inherit;text-wrap:balance;transition:color .25s ease}
.hm-portfolio-grille:hover .hm-portfolio-carte{opacity:.7}
.hm-portfolio-grille .hm-portfolio-carte:hover,.hm-portfolio-grille .hm-portfolio-carte:focus-within{opacity:1}
.hm-portfolio-carte a:hover img,.hm-portfolio-carte a:focus-visible img{transform:scale(1.04)}
.hm-portfolio-carte a:hover .hm-portfolio-nom{color:var(--hm-accent,#FFD166)}
.hm-portfolio-carte a:focus-visible{outline:2px solid var(--hm-accent,#FFD166);outline-offset:8px;border-radius:var(--hm-rayon-carte,12px)}
@media(max-width:1023px){.hm-portfolio-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hm-portfolio-grille{grid-template-columns:1fr}.hm-portfolio-grille:hover .hm-portfolio-carte{opacity:1}}
@media(prefers-reduced-motion:reduce){.hm-portfolio-vignette img,.hm-portfolio-carte{transition:none}}
