/*
 * Snazzy Connect : section actualités de la page d'accueil (code court [snazzy_actus_section])
 * Développé par Snazzy Digital Agency.
 *
 * Couleurs, polices, graisses et arrondis : variables --sn-* du thème de l'espace.
 * Mise en page selon la place réelle de la section (requêtes de conteneur), du téléphone à la pleine largeur.
 * Base pensée pour le téléphone : un navigateur ancien garde une mise en page simple et lisible.
 */
.sn-home{container:snh/inline-size;--snh-g:20px;--snh-g:clamp(14px,2.4cqi,28px);display:block;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:0;color:var(--sn-text);font-family:var(--sn-bf);font-size:16px;line-height:1.5;text-align:left;-webkit-font-smoothing:antialiased}
.sn-home *,.sn-home *::before,.sn-home *::after{box-sizing:border-box}
.sn-home ul,.sn-home li{list-style:none;margin:0;padding:0;background:none;border:0}
.sn-home li::before,.sn-home li::after{content:none}
.sn-home li::marker{content:""}
.sn-home p{margin:0}
.sn-home.snh-bg-teinte{background:var(--sn-surface);border-radius:var(--sn-r)}
.sn-home .snh-in{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "body" "tools";row-gap:20px;min-width:0}
.sn-home.snh-f-carrousel .snh-in{grid-template-areas:"head" "body" "bar" "tools";row-gap:18px}
.sn-home.snh-bg-teinte .snh-in{padding:28px 18px;padding:clamp(24px,5cqi,64px) clamp(16px,4cqi,56px)}

/* en-tête : titre, flèches du carrousel, bouton vers la page actualités */
.sn-home .snh-head{grid-area:head;min-width:0}
.sn-home .snh-t{margin:0;padding:0;border:0;background:none;font-family:var(--sn-hf);font-weight:var(--sn-hw);font-style:normal;text-transform:var(--sn-hc);letter-spacing:var(--sn-ht);font-size:28px;font-size:clamp(26px,4.4cqi,44px);line-height:1.08;color:var(--sn-text);text-align:left}
.sn-home .snh-t::before,.sn-home .snh-t::after{content:none}
.sn-home .snh-tools{grid-area:tools;display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
.sn-home .snh-cta{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;margin:0;padding:12px 22px;border:0;border-radius:var(--sn-r);background:var(--sn-accent);box-shadow:none;color:var(--sn-ink);font-family:var(--sn-bf);font-size:15px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;transition:filter .15s ease,transform .15s ease}
.sn-home .snh-cta:hover,.sn-home .snh-cta:focus{color:var(--sn-ink);background:var(--sn-accent);text-decoration:none;filter:brightness(1.08)}
.sn-home .snh-cta:active{transform:translateY(1px)}
.sn-home .snh-cta span{transition:transform .15s ease}
.sn-home .snh-cta:hover span{transform:translateX(3px)}
.sn-home .snh-nav{display:flex;flex:0 0 auto;gap:8px}
.sn-home .snh-nav button{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:48px;min-width:0;height:48px;min-height:0;margin:0;padding:0;border:1px solid var(--sn-line);border-radius:var(--sn-r);background:transparent;box-shadow:none;color:var(--sn-text);font-family:var(--sn-bf);font-size:19px;font-weight:400;line-height:1;letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,opacity .15s ease}
.sn-home .snh-nav button:hover{border-color:var(--sn-text);background:transparent;color:var(--sn-text)}
.sn-home .snh-nav button[aria-disabled="true"]{opacity:.35;cursor:default;border-color:var(--sn-line)}
.sn-home .snh-cta:focus-visible,.sn-home .snh-nav button:focus-visible,.sn-home .snh-track:focus-visible{outline:2px solid var(--sn-text);outline-offset:3px}

/* liste des articles */
.sn-home .snh-grid{grid-area:body;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--snh-g);min-width:0}
.sn-home .snh-track{grid-area:body;display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:var(--snh-g);min-width:0;margin:-10px 0;padding:10px 0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sn-home .snh-track::-webkit-scrollbar{display:none}
.sn-home .snh-track>.snh-it{scroll-snap-align:start;min-width:0}
.sn-home .snh-it{display:flex;min-width:0}
.sn-home .snh-bar{grid-area:bar;position:relative;height:3px;border-radius:3px;background:var(--sn-line);overflow:hidden}
.sn-home .snh-bar span{position:absolute;top:0;left:0;bottom:0;width:var(--snh-w,50%);border-radius:inherit;background:var(--sn-text);transition:transform .25s ease,width .25s ease}

/* carte d'article : toute la carte mène à l'article (un seul lien, celui du titre) */
.sn-home .snh-card{position:relative;display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-width:0;margin:0;color:var(--sn-text)}
.sn-home .snh-media{position:relative;display:block;flex:0 0 auto;aspect-ratio:3/2;overflow:hidden;border-radius:var(--sn-r);background:var(--sn-surface)}
.sn-home .snh-img{position:absolute;top:0;left:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sn-home .snh-card:hover .snh-img{transform:scale(1.04)}
.sn-home .snh-ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:14px 16px;background:var(--sn-surface);color:var(--sn-muted);font-family:var(--sn-hf);font-weight:var(--sn-hw);font-size:17px;line-height:1.15;text-transform:var(--sn-hc);letter-spacing:var(--sn-ht)}
.sn-home .snh-body{display:flex;flex-direction:column;flex:1 1 auto;gap:8px;min-width:0;padding-top:14px}
.sn-home .snh-rub{color:var(--sn-link);font-family:var(--sn-bf);font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.sn-home .snh-h{margin:0;padding:0;border:0;background:none;color:var(--sn-text);font-family:var(--sn-hf);font-weight:var(--sn-hw);font-style:normal;text-transform:var(--sn-hc);letter-spacing:var(--sn-ht);font-size:18px;font-size:clamp(17px,2cqi,21px);line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:break-word;hyphens:auto}
.sn-home .snh-h::before,.sn-home .snh-h::after{content:none}
.sn-home .snh-a,.sn-home .snh-a:hover,.sn-home .snh-a:focus,.sn-home .snh-a:visited{color:inherit;text-decoration:none;background:none;border:0;box-shadow:none;outline:none}
.sn-home .snh-a::after{content:"";position:absolute;inset:0;z-index:2}
.sn-home .snh-card:hover .snh-a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.sn-home .snh-card:focus-within{outline:2px solid var(--sn-text);outline-offset:4px;border-radius:var(--sn-r)}
.sn-home .snh-card:focus-within:not(:has(:focus-visible)){outline:none}
.sn-home .snh-meta{margin-top:auto;padding-top:2px;color:var(--sn-muted);font-size:13px;line-height:1.4}
.sn-home .snh-ex{color:var(--sn-muted);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* design « cartes de l'espace » : le style de cartes du thème choisi */
.sn-home.snh-c-boxed .snh-card{background:var(--sn-surface);border-radius:var(--sn-r);overflow:hidden}
.sn-home.snh-c-boxed .snh-media{border-radius:0}
.sn-home.snh-c-boxed .snh-body{padding:16px 18px 18px}
.sn-home.snh-c-line .snh-card{border-top:2px solid var(--sn-text);padding-top:14px}
.sn-home.snh-c-frame .snh-card{border:1.5px solid var(--sn-text);border-radius:var(--sn-r);overflow:hidden;background:var(--sn-bg);transition:transform .18s ease,box-shadow .18s ease}
.sn-home.snh-c-frame .snh-card:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--sn-text)}
.sn-home.snh-c-frame .snh-card:hover .snh-img{transform:none}
.sn-home.snh-c-frame .snh-media{border-radius:0;border-bottom:1.5px solid var(--sn-text)}
.sn-home.snh-c-frame .snh-body{padding:16px 18px 18px}
.sn-home.snh-c-frame .snh-rub{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background:var(--sn-pop);color:var(--sn-pop-ink);font-size:11px}

/* design « titre sur la photo » */
.sn-home.snh-d-image .snh-card{justify-content:flex-end;aspect-ratio:16/11;border-radius:var(--sn-r);overflow:hidden;background:var(--sn-surface);isolation:isolate}
.sn-home.snh-d-image.snh-f-carrousel .snh-card{aspect-ratio:4/5}
.sn-home.snh-d-image .snh-media{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;z-index:-1}
.sn-home.snh-d-image .snh-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.42) 58%,rgba(0,0,0,.82) 100%)}
.sn-home.snh-d-image .snh-body{flex:0 0 auto;padding:20px 18px 18px}
.sn-home.snh-d-image .snh-rub{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background:var(--sn-accent);color:var(--sn-ink);font-size:11px}
.sn-home.snh-d-image .snh-h{color:#fff;-webkit-line-clamp:4}
.sn-home.snh-d-image .snh-meta{margin-top:0;color:rgba(255,255,255,.84)}
.sn-home.snh-d-image .snh-card.is-noimg{background:var(--sn-accent)}
.sn-home.snh-d-image .snh-card.is-noimg .snh-rub{background:var(--sn-ink);color:var(--sn-accent)}
.sn-home.snh-d-image .snh-card.is-noimg .snh-h{color:var(--sn-ink)}
.sn-home.snh-d-image .snh-card.is-noimg .snh-meta{color:var(--sn-ink);opacity:.82}

/* design « éditorial, sans photo » */
.sn-home.snh-d-texte .snh-card{border-top:2px solid var(--sn-text);padding-top:16px}
.sn-home.snh-d-texte .snh-body{gap:10px;padding-top:0}
.sn-home.snh-d-texte .snh-h{font-size:20px;font-size:clamp(19px,2.3cqi,25px);line-height:1.2;-webkit-line-clamp:4}
.sn-home.snh-d-texte .snh-card:hover .snh-a{text-decoration-thickness:2px}

/* téléphone et colonnes étroites : le premier article en grand, les suivants en lignes compactes */
@container snh (max-width:559.98px){
	.sn-home.snh-f-derniers.snh-d-cartes .snh-it+.snh-it .snh-card{flex-direction:row;align-items:stretch;gap:14px}
	.sn-home.snh-f-derniers.snh-d-cartes .snh-it+.snh-it .snh-media{flex:0 0 36%;aspect-ratio:4/3;align-self:flex-start}
	.sn-home.snh-f-derniers.snh-d-cartes .snh-it+.snh-it .snh-body{padding-top:0;gap:6px}
	.sn-home.snh-f-derniers.snh-d-cartes .snh-it+.snh-it .snh-h{font-size:16px;-webkit-line-clamp:3}
	.sn-home.snh-f-derniers.snh-d-cartes.snh-c-boxed .snh-it+.snh-it .snh-body,.sn-home.snh-f-derniers.snh-d-cartes.snh-c-frame .snh-it+.snh-it .snh-body{padding:12px 14px 12px 0}
	.sn-home.snh-f-derniers.snh-d-cartes.snh-c-boxed .snh-it+.snh-it .snh-media{align-self:stretch;aspect-ratio:auto;min-height:96px}
	.sn-home.snh-f-derniers.snh-d-cartes.snh-c-frame .snh-it+.snh-it .snh-media{align-self:stretch;aspect-ratio:auto;min-height:96px;border-bottom:0;border-right:1.5px solid var(--sn-text)}
	.sn-home.snh-f-derniers.snh-d-texte .snh-it+.snh-it .snh-ex{display:none}
	.sn-home.snh-f-derniers.snh-d-image .snh-it+.snh-it .snh-card{aspect-ratio:2/1}
	.sn-home.snh-f-derniers.snh-d-image .snh-it+.snh-it .snh-h{font-size:17px;-webkit-line-clamp:3}
}

/* colonne très étroite : défilement au doigt seulement */
@container snh (max-width:239.98px){
	.sn-home .snh-nav{display:none}
}

/* deux colonnes */
@container snh (min-width:560px){
	.sn-home .snh-in,.sn-home.snh-f-carrousel .snh-in{grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:24px;row-gap:clamp(22px,3cqi,36px);align-items:end}
	.sn-home .snh-in{grid-template-areas:"head tools" "body body"}
	.sn-home.snh-f-carrousel .snh-in{grid-template-areas:"head tools" "body body" "bar bar"}
	.sn-home .snh-cta{flex:0 0 auto;white-space:nowrap}
	.sn-home .snh-grid.snh-cols-2,.sn-home .snh-grid.snh-cols-3,.sn-home .snh-grid.snh-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.sn-home .snh-track{grid-auto-columns:calc((100% - var(--snh-g)) / 2)}
	.sn-home.snh-d-image.snh-f-derniers .snh-card{aspect-ratio:4/5}
}
@container snh (min-width:780px){
	.sn-home .snh-grid.snh-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
	.sn-home .snh-track{grid-auto-columns:calc((100% - 2 * var(--snh-g)) / 3)}
}
@container snh (min-width:920px){
	.sn-home .snh-grid.snh-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
	.sn-home.snh-d-image.snh-f-derniers .snh-grid.snh-cols-4 .snh-card{aspect-ratio:3/4}
}
@container snh (min-width:1060px){
	.sn-home .snh-track{grid-auto-columns:calc((100% - 3 * var(--snh-g)) / 4)}
	.sn-home.snh-d-image.snh-f-carrousel .snh-card{aspect-ratio:3/4}
}

@media (prefers-reduced-motion:reduce){
	.sn-home .snh-img,.sn-home .snh-cta,.sn-home .snh-cta span,.sn-home .snh-bar span,.sn-home.snh-c-frame .snh-card{transition:none}
	.sn-home .snh-card:hover .snh-img,.sn-home.snh-c-frame .snh-card:hover,.sn-home .snh-cta:hover span{transform:none}
	.sn-home.snh-c-frame .snh-card:hover{box-shadow:none}
}
@media print{.sn-home .snh-nav,.sn-home .snh-bar{display:none}.sn-home .snh-track{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}}
