/* Techniforet – page d'accueil (maquette « Maquette_Page d'accueil.png »). */

/* Pleine largeur : neutralise le conteneur de page Astra sur l'accueil. */
.home .site-content>.ast-container{max-width:none;padding:0;display:block}
.home #primary{margin:0;padding:0;width:100%}
.home .site-main>article,.home .ast-article-single{padding:0 !important;margin:0 !important;background:transparent !important;border:0;box-shadow:none}
.home .entry-content>.tf-home{margin:0}
.home .entry-content{margin:0 !important}
.home .entry-content>p:empty{display:none}

.tf-home{font-family:var(--tf-font-text);color:var(--tf-ink);background:var(--tf-bg);overflow-x:clip}
.tf-home *,.tf-home *::before,.tf-home *::after{box-sizing:border-box}
.tf-home ul{list-style:none;margin:0;padding:0}
.tf-home a{text-decoration:none}
.tf-home :focus-visible{outline:3px solid var(--tf-green-2);outline-offset:3px;border-radius:6px}
.tf-home img{max-width:100%}

.tf-kicker{margin:0 0 10px;font-family:var(--tf-font-title);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--tf-green-2);display:flex;align-items:center;gap:14px}
.tf-kicker--light{color:#fff}
.tf-kicker--grey{color:var(--tf-muted)}
.tf-kicker--gold{color:#d9b779}
.tf-h2{font-family:var(--tf-font-title);font-weight:700;font-size:clamp(26px,2.6vw,36px);line-height:1.15;margin:0;color:var(--tf-ink)}
.tf-h2--xl{font-size:clamp(30px,3.3vw,46px)}
.tf-home #tf-map-title{font-size:40px}
.tf-hl{color:var(--tf-green)}
.tf-hl-light{color:#a6d98f}

.tf-btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.6em;border-radius:999px;font-family:var(--tf-font-title);font-weight:600;font-size:16px;line-height:1.2;border:1.5px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.tf-btn--green{background:var(--tf-green);color:#fff !important;border-color:#2f7a4c}
.tf-btn--green:hover{background:#174a2f}
.tf-btn--ghost{background:rgba(20,28,24,.25);color:#fff !important;border-color:rgba(255,255,255,.85)}
.tf-btn--ghost:hover{background:rgba(255,255,255,.15)}
.tf-btn .tf-ico--arrow{margin-left:.1em}

/* ---------- Bannière ---------- */
.tf-hero{position:relative;min-height:clamp(440px,35vw,600px);display:flex;align-items:center;color:#fff;isolation:isolate;background:#1c2a20;overflow:hidden}
.tf-hero__bg{position:absolute;inset:0;display:block;z-index:-2;overflow:hidden}
.tf-home .tf-hero .tf-hero__bg img{position:absolute;inset:0;display:block;width:100% !important;height:100% !important;max-width:none !important;margin:0 !important;z-index:-2;object-fit:cover;object-position:50% 35%}
.tf-hero__bg img{object-fit:cover;object-position:50% 35%}
.tf-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,20,14,.6) 0%,rgba(10,20,14,.42) 34%,rgba(10,20,14,.08) 60%,rgba(10,20,14,0) 78%)}
.tf-hero__inner{width:100%;padding-top:56px;padding-bottom:60px}
.tf-hero__inner>*{max-width:640px}
.tf-hero .tf-kicker{margin-bottom:14px;letter-spacing:.24em}
.tf-hero__title{font-family:var(--tf-font-title);font-weight:700;font-size:clamp(32px,3.6vw,54px);line-height:1.1;margin:0 0 16px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35);max-width:none !important}
.tf-hero__lead{font-size:clamp(15px,1.2vw,18px);font-weight:500;line-height:1.5;margin:0 0 24px;color:#fff;max-width:580px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.tf-hero__search{position:relative;display:flex;align-items:center;background:#fff;border-radius:999px;padding:5px 5px 5px 22px;box-shadow:0 10px 30px rgba(0,0,0,.28);max-width:620px;margin-bottom:22px}
.tf-hero__search>.tf-ico{color:var(--tf-ink);font-size:20px}
.tf-hero__search input{flex:1;min-width:0;border:0 !important;background:transparent !important;box-shadow:none !important;padding:13px 14px !important;font:inherit;font-size:15px;color:var(--tf-ink);outline:0}
.tf-hero__search input::placeholder{color:#6b746f}
.tf-hero__search button{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:0;padding:0;background:var(--tf-green);color:#fff;display:grid;place-items:center;font-size:20px;cursor:pointer}
.tf-hero__search button:hover{background:#174a2f}
.tf-hero__search:focus-within{outline:3px solid #a6d98f;outline-offset:3px}
.tf-hero__actions{display:flex;flex-wrap:wrap;gap:14px;max-width:none}
.tf-hero .tf-btn--green{border-color:#5fae7a}
.tf-hero .tf-btn--ghost{background:rgba(10,20,14,.18);border-color:#fff}
.tf-hero__place{position:absolute;right:max(24px,calc((100vw - 1240px)/2 + 24px));bottom:26px;margin:0;display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.3;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.tf-hero__place .tf-ico{font-size:20px;margin-top:1px}
.tf-hero__place .tf-ico circle{fill:rgba(0,0,0,.4)}
.tf-hero__place strong{display:block;font-weight:600}
.tf-hero__place small{display:block;font-size:12.5px;opacity:.9}

/* ---------- Univers ---------- */
.tf-univers{padding:24px 0 30px;background:var(--tf-bg)}
.tf-univers__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.tf-ucard a{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:0;border-radius:10px;overflow:hidden;color:var(--tf-ink);box-shadow:0 1px 3px rgba(41,50,56,.06),0 6px 18px rgba(41,50,56,.07);transition:transform .2s,box-shadow .2s}
.tf-ucard a:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(41,50,56,.12)}
.tf-home .tf-ucard__img{display:block;width:100%;aspect-ratio:7/4;height:auto;object-fit:cover;margin:0}
.tf-ucard__icon{position:absolute;left:14px;top:-31px;width:62px;height:62px;border-radius:50%;background:#e7efe5;border:4px solid #fff;color:#1F5A3A;display:grid;place-items:center;font-size:30px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.tf-ucard__body{position:relative;display:flex;flex-direction:column;flex:1;padding:40px 20px 22px}
.tf-home .tf-ucard__title{font-family:var(--tf-font-title);font-size:17px;font-weight:700;margin:0 0 8px;padding:0;color:var(--tf-ink);line-height:1.25}
.tf-ucard__text{font-size:14px;line-height:1.5;color:var(--tf-muted);padding-right:30px}
.tf-ucard__arrow{position:absolute;right:18px;bottom:22px;color:var(--tf-ink);font-size:18px;line-height:1}
.tf-ucard a:hover .tf-ucard__arrow{color:var(--tf-green)}

/* ---------- Carte ---------- */
.tf-mapsec{position:relative;padding:18px 0 28px;background:#f1efe3 url("../../uploads/techniforet-accueil/mapsec-fond2.webp") center bottom/cover no-repeat;overflow:hidden}
@media (max-width:860px){.tf-mapsec{background-image:url("../../uploads/techniforet-accueil/mapsec-fond2-1000.webp")}}
.tf-mapsec__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.15fr) minmax(260px,.8fr);gap:32px;align-items:center}
.tf-mapsec__badge{display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;border-radius:50%;border:2px solid var(--tf-green-2);background:#fff;letter-spacing:0;overflow:hidden}
.tf-home .tf-mapsec__badge img{display:block;width:40px !important;height:40px !important;max-width:none !important;margin:0 !important;object-fit:contain}
.tf-mapsec__intro .tf-kicker{color:var(--tf-ink)}
.tf-mapsec__kick{white-space:nowrap;letter-spacing:.13em;font-size:11.5px;line-height:1.4}
.tf-mapsec__intro .tf-kicker{gap:10px}
.tf-mapsec .tf-mapsec__badge{width:48px;height:48px}
.tf-home .tf-mapsec__badge img{width:34px !important;height:34px !important}
.tf-mapsec__lead{font-size:17px;line-height:1.55;margin:16px 0 26px;color:var(--tf-ink);max-width:44ch}
.tf-map{position:relative}
.tf-map__svg{display:block;width:100%;height:auto;max-height:430px;overflow:visible}
.tf-map__region{stroke:none;transition:filter .2s}
.tf-map__region:hover{filter:brightness(.96)}
.tf-map__pin{fill:#183f2c;stroke:#0e281b;stroke-width:.6;transition:fill .2s}
.tf-map__pin-tree{fill:#183f2c;transition:fill .2s}
.tf-map__marker{cursor:pointer;transition:opacity .2s}
.tf-map__marker:hover .tf-map__pin,.tf-map__marker:focus .tf-map__pin,.tf-map__marker.is-active .tf-map__pin{fill:var(--tf-wood)}
.tf-map__marker:hover .tf-map__pin-tree,.tf-map__marker:focus .tf-map__pin-tree,.tf-map__marker.is-active .tf-map__pin-tree{fill:var(--tf-wood)}
.tf-map__marker:focus{outline:none}
.tf-map__marker:focus-visible .tf-map__pin{stroke:#ffd27a;stroke-width:3}
.tf-map__marker.is-hidden{opacity:0;pointer-events:none}
.tf-mapsec__panel{background:#fff;border:1px solid #e6e8e2;border-radius:12px;padding:18px 16px;box-shadow:0 12px 32px rgba(41,50,56,.10);display:flex;flex-direction:column;gap:12px}
.tf-mapsec__grid>.tf-mapsec__panel .tf-mapsec__count,.tf-mapsec__grid>.tf-mapsec__panel .tf-mapsec__list,.tf-mapsec__grid>.tf-mapsec__panel .tf-mapsec__note{display:none}
.tf-mapsec__grid>.tf-mapsec__panel .tf-field--select{background:#f5f6f2;border-color:transparent;min-height:52px}
.tf-field{display:flex;align-items:center;gap:10px;background:#f6f7f5;border:1px solid var(--tf-line);border-radius:10px;padding:0 12px;min-height:48px;font-size:14px;color:var(--tf-ink);position:relative}
.tf-field--search{background:#fff;border-color:#d8ddd6}
.tf-field .tf-ico{color:var(--tf-green);font-size:18px}
.tf-field--search .tf-ico{color:var(--tf-ink)}
.tf-field input,.tf-field select{flex:1;min-width:0;border:0 !important;background:transparent !important;box-shadow:none !important;font:inherit;color:var(--tf-ink);padding:12px 0 !important;height:auto !important;outline:0}
.tf-field__label{flex:0 0 auto;font-weight:500}
.tf-field select{text-align:right;appearance:none;-webkit-appearance:none;padding-right:22px !important;cursor:pointer;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23293238' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right center/16px no-repeat !important}
.tf-field:focus-within{border-color:var(--tf-green-2);box-shadow:0 0 0 3px rgba(62,122,75,.2)}
.tf-mapsec__count{margin:4px 0 0;font-family:var(--tf-font-title);font-weight:600;font-size:13px;color:var(--tf-green)}
.tf-mapsec__list{max-height:176px;overflow:auto;border-top:1px solid var(--tf-line);margin:0 -6px !important;padding:4px 6px !important;scrollbar-width:thin}
.tf-mapsec__list li.is-hidden{display:none}
.tf-mapsec__list a{display:block;padding:8px 8px;border-radius:8px;color:var(--tf-ink);font-size:14px;line-height:1.3}
.tf-mapsec__list a span{display:block;font-size:12.5px;color:var(--tf-muted)}
.tf-mapsec__list a:hover,.tf-mapsec__list li.is-active a{background:#eef4ee;color:var(--tf-green)}
.tf-mapsec__note{margin:0;font-size:12px;color:var(--tf-muted)}
.tf-mapsec__empty{font-size:14px;color:var(--tf-muted);padding:8px}

.tf-mapdlg{width:min(1100px,94vw);max-height:92vh;border:0;border-radius:16px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.35);background:var(--tf-bg);color:var(--tf-ink)}
.tf-mapdlg::backdrop{background:rgba(20,28,24,.6)}
.tf-mapdlg__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tf-line);background:#fff}
.tf-mapdlg__close{width:42px;height:42px;border-radius:50%;border:1px solid var(--tf-line);background:#fff;color:var(--tf-ink);display:grid;place-items:center;font-size:20px;cursor:pointer;padding:0}
.tf-mapdlg__body{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;padding:20px;max-height:calc(92vh - 76px);overflow:auto}
.tf-mapdlg__body .tf-map__svg{max-height:70vh}
.tf-mapdlg__body .tf-mapsec__panel{align-self:start}
.tf-mapdlg__body .tf-mapsec__list{max-height:46vh}

/* ---------- Sections éditoriales ---------- */
.tf-essences{background:#fff;padding:48px 0 40px}
.tf-essences .tf-kicker{color:#5f8a70;letter-spacing:.24em;font-size:11.5px;margin-bottom:8px}
.tf-articles{background:#fff;padding:20px 0 48px}
.tf-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.tf-morelink{display:inline-flex;align-items:center;gap:.5em;color:var(--tf-green-2) !important;font-weight:500;font-size:15px;white-space:nowrap}
.tf-morelink:hover{color:var(--tf-green) !important;text-decoration:underline !important}

.tf-essences__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.tf-ecard{background:#fff;border:1px solid #e6e8e3;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(41,50,56,.04),0 6px 16px rgba(41,50,56,.06);transition:transform .2s,box-shadow .2s}
.tf-ecard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(41,50,56,.12)}
.tf-home .tf-ecard img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;margin:0}
.tf-ecard__body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.tf-home .tf-ecard__title{font-family:var(--tf-font-title);font-size:16px;font-weight:700;line-height:1.25;margin:0;padding:0;color:var(--tf-ink)}
.tf-home .tf-ecard__latin{margin:3px 0 16px;font-style:italic;font-size:13.5px;color:#7a837e}
.tf-ecard__facts{display:flex;flex-direction:column;gap:11px;margin:0 0 20px !important;flex:1}
.tf-ecard__facts li{display:flex;gap:10px;align-items:center;font-size:13.5px;line-height:1.35;color:#6b746f}
.tf-ecard__facts b{font-weight:600;color:var(--tf-ink)}
.tf-ecard__facts .tf-ico{font-size:18px;margin:0}
.tf-ecard__link{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:14.5px;color:var(--tf-green) !important;text-decoration:underline !important;text-decoration-thickness:1.5px !important;text-underline-offset:4px}
.tf-ecard__link:hover{color:#174a2f !important}
.tf-essences .tf-h2{font-size:clamp(26px,2.3vw,32px)}
.tf-essences .tf-morelink{font-size:13.5px}
.tf-ecard__body{padding:16px 16px 20px 18px}
.tf-home .tf-ecard__title{font-size:14.5px;line-height:1.25}
.tf-home .tf-ecard__latin{margin:2px 0 14px;font-size:11.5px;color:#7a837e}
.tf-ecard__facts{gap:9px;margin:0 0 22px !important}
.tf-ecard__facts li{gap:9px;font-size:12px;line-height:1.3}
.tf-ecard__facts .tf-ico{font-size:15px}
.tf-ecard__facts li:nth-child(2) b{font-weight:400;color:inherit}
.tf-ecard:nth-child(even) .tf-ico--heart path:first-child{fill:#d9a03f}
.tf-ecard__link{font-size:12.5px;gap:.6em}

.tf-articles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tf-acard{position:relative;background:#fff;border:1px solid #e6e8e3;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(41,50,56,.04),0 6px 16px rgba(41,50,56,.06);transition:box-shadow .2s,transform .2s}
.tf-acard:hover{box-shadow:0 10px 26px rgba(41,50,56,.12);transform:translateY(-3px)}
.tf-acard__media{position:relative;aspect-ratio:16/5;background:var(--tf-beige);overflow:hidden}
.tf-home .tf-acard__media img{display:block;width:100%;height:100% !important;object-fit:cover;margin:0}
.tf-acard__badge{position:absolute;left:14px;top:14px;background:#1f7a45;color:#fff;border:1.5px solid rgba(255,255,255,.55);font-family:var(--tf-font-title);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:6px 12px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.tf-acard__body{padding:14px 22px 20px;display:flex;flex-direction:column;flex:1}
.tf-acard__date{font-size:12.5px;color:#7a837e}
.tf-home .tf-acard__title{font-family:var(--tf-font-title);font-size:17.5px;font-weight:700;line-height:1.32;margin:3px 0 10px;padding:0}
.tf-acard__title a{color:var(--tf-ink)}
.tf-acard__title a::after{content:"";position:absolute;inset:0;border-radius:10px}
.tf-acard__title a:focus-visible{outline:none}
.tf-acard:focus-within{outline:3px solid var(--tf-green-2);outline-offset:3px}
.tf-acard__excerpt{font-size:14px;line-height:1.6;color:#5b6560;margin:0 0 14px;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tf-acard__link{display:inline-flex;align-items:center;gap:.5em;color:var(--tf-green);font-weight:600;font-size:15px}
.tf-acard:hover .tf-acard__link{text-decoration:underline;text-underline-offset:3px}

/* ---------- Lettre d'information ---------- */
.tf-news{position:relative;color:#fff;background:#163f2a url("../../uploads/techniforet-accueil/newsletter-bg2.webp") center/cover no-repeat;isolation:isolate}
.tf-news__inner{display:grid;grid-template-columns:auto 1fr minmax(340px,470px);gap:26px;align-items:center;padding-top:28px;padding-bottom:28px}
.tf-news__icon{width:76px;height:76px;border-radius:50%;background:#1f5a3a;border:2px solid rgba(166,217,143,.6);box-shadow:0 0 0 5px rgba(31,90,58,.35);display:grid;place-items:center;font-size:38px;color:#fff}
.tf-news .tf-kicker{margin-bottom:6px;font-size:12px;letter-spacing:.24em}
.tf-home .tf-news__title{font-family:var(--tf-font-title);font-weight:700;font-size:24px;line-height:1.2;margin:0 0 6px;padding:0;color:#fff}
.tf-news__text p:last-child{margin:0;font-size:13px;color:#eef3ef}
.tf-news__form{display:flex;align-items:stretch;width:100%;max-width:470px;justify-self:end;height:56px;background:#fff;border:1.5px solid #dfe3df;border-radius:999px;padding:4px;position:relative;box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 1px 3px rgba(0,0,0,.07)}
.tf-news__form input[type=email]{flex:1;min-width:0;height:auto !important;border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 22px !important;font:inherit;font-size:15px;color:var(--tf-ink);outline:0}
.tf-news__form input[type=email]::placeholder{color:#7b827e;opacity:1}
.tf-news__form button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-width:142px;margin:0;background:linear-gradient(180deg,#24873f,#16703a);color:#fff;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);border-radius:999px;padding:0 24px;font-family:var(--tf-font-title);font-weight:600;font-size:16px;line-height:1;cursor:pointer;white-space:nowrap;transition:filter .2s}
.tf-news__form button:hover{filter:brightness(.9)}
.tf-news__form button .tf-ico{font-size:18px}
.tf-news__form:focus-within{outline:3px solid #a6d98f;outline-offset:3px}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
	.tf-univers__grid{grid-template-columns:repeat(3,1fr)}
	.tf-essences__grid{grid-template-columns:repeat(3,1fr)}
	.tf-mapsec__grid{grid-template-columns:1fr 1fr}
	.tf-mapsec__intro{grid-column:1/-1}
	.tf-news__inner{grid-template-columns:auto 1fr}
	.tf-news__form{grid-column:1/-1;margin-bottom:0;justify-self:start}
}
@media (max-width:860px){
	.tf-univers__grid{grid-template-columns:repeat(2,1fr)}
	.tf-articles__grid{grid-template-columns:1fr 1fr}
	.tf-mapsec__grid{grid-template-columns:1fr}
	.tf-mapdlg__body{grid-template-columns:1fr}
	.tf-hero__place{display:none}
}
@media (max-width:600px){
	.tf-wrap{padding:0 16px}
	.tf-hero{min-height:0}
	.tf-hero__br{display:none}
	.tf-hero__inner{padding-top:44px;padding-bottom:44px}
	.tf-hero__search{padding-left:16px}
	.tf-hero__search>.tf-ico{display:none}
	.tf-hero__actions .tf-btn{width:100%;justify-content:center}
	.tf-univers__grid{grid-template-columns:1fr}
	.tf-essences__grid{grid-template-columns:repeat(2,1fr);gap:12px}
	.tf-ecard__body{padding:12px}
	.tf-ecard__facts li{font-size:12.5px}
	.tf-articles__grid{grid-template-columns:1fr}
	.tf-news__inner{grid-template-columns:1fr;text-align:left;padding-top:44px;padding-bottom:44px}
	.tf-news__icon{width:60px;height:60px;font-size:26px}
	.tf-news__form{border-radius:16px;flex-direction:column;align-items:stretch;padding:8px;height:auto;max-width:none}
	.tf-news__form input[type=email]{padding:12px 14px !important;margin-bottom:10px !important}
	.tf-news__form button{padding:13px 24px}
	.tf-news__form button{justify-content:center}
	.tf-news__form{margin-bottom:0}
}
@media (max-width:380px){
	.tf-essences__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
	.tf-home *{transition:none !important;scroll-behavior:auto !important}
}
