/* Home 2026 — styles isolés de theme.css */

@font-face {
  font-family: 'ApfelGrotezk';
  src: url('../font/ApfelGrotezk-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'ApfelGrotezk';
  src: url('../font/ApfelGrotezk-Mittel.woff2') format('woff2');
  font-weight: 500 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'ApfelGrotezk';
  src: url('../font/ApfelGrotezk-Fett.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.home-2026 {
  --home-width: min(1200px, calc(100vw - 64px));
  --home-gap: 32px;
  --home-green: #80bc28;
  --home-ink: #080808;
  --home-body-size: 22px;
  background: #fff;
}
.home-2026 .material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 1, 'wght' 700, 'GRAD' 0, 'opsz' 24;
  flex-shrink: 0;
}
.home-2026 #content { overflow: hidden; }
.home-2026 .home-2026-frame { width: var(--home-width); margin-inline: auto; }
.home-2026 #content h1,
.home-2026 #content h2,
.home-2026 #content h3,
.home-2026-footer h2 {
  font-family: 'ApfelGrotezk', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  color: var(--home-ink);
}
.home-2026 #content p,
.home-2026-quote,
.home-2026-footer {
  font-family: 'ApfelGrotezk', Arial, sans-serif;
  font-size: var(--home-body-size);
  font-weight: 400;
  line-height: 1.32;
}
.home-2026 #content p { color: #858585; margin: 10px 0 0; }
.home-2026 a:focus-visible,
.home-2026 button:focus-visible,
.home-2026 summary:focus-visible,
.home-2026 input:focus-visible { outline: 3px solid var(--home-green); outline-offset: 5px; }

/* Seul l'encart Contact et ses pictogrammes changent dans le menu partagé. */
.home-2026 #header .nav-sm > .nav-link.btn-white {
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #000 !important;
}
.home-2026 #header .nav-sm > .nav-link .material-symbols-outlined { font-size: 16px; vertical-align: -3px; }

.home-2026-hero { overflow: hidden; position: relative; height: min(54.17vw, 1040px); min-height: 650px; }
.home-2026-hero-image { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: saturate(1.6) hue-rotate(-8deg); }
.home-2026-hero::after {
  content: ''; position: absolute; inset: auto 0 0; height: 23%;
  background: linear-gradient(transparent, #fff 93%); pointer-events: none;
}
.home-2026-hero .home-2026-frame { position: relative; height: 100%; }
.home-2026 #content .home-2026-hero-title {
  position: absolute; top: 29%; left: 12%; margin: 0;
  font-size: 42px; line-height: 1.04; letter-spacing: -0.02em;
}
.home-2026-sticker { display: table; padding: .035em .19em .075em; background: #fff; }
.home-2026-hero-title .home-2026-sticker:first-child,
.home-2026-product-signature .home-2026-sticker:first-child { color: var(--home-green); transform: rotate(-2deg); }
.home-2026-hero-title .home-2026-sticker:last-child,
.home-2026-product-signature .home-2026-sticker:last-child { position: relative; z-index: 1; background: var(--home-green); color: #fff; }
.home-2026-hero-title .home-2026-sticker:last-child { margin-left: .65em; }
.home-2026-discover { position: absolute; bottom: 6px; left: 50%; z-index: 1; transform: translateX(-50%); white-space: nowrap; }
.home-2026 .home-2026-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  padding: 10px 12px; border: 2px solid #000; border-radius: 0;
  background: #000; color: #fff; font-family: 'ApfelGrotezk', Arial, sans-serif;
  font-weight: 400; font-size: 20px; line-height: 1.15; text-transform: uppercase;
  text-decoration: none; transition: background-color .15s, color .15s;
}
.home-2026 .home-2026-cta:hover { background: #fff; color: #000; }
.home-2026 .home-2026-cta-outline { padding: 8px 10px; background: #fff; color: #000; }
.home-2026 .home-2026-cta-outline:hover { background: #000; color: #fff; }
.home-2026 .home-2026-discover .home-2026-cta { padding: 5px 10px; }
.home-2026-section { padding-top: 120px; }
.home-2026-news { padding-top: 100px; }
.home-2026-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; margin-bottom: 56px; }
.home-2026-copy { max-width: 560px; }
.home-2026 #content .home-2026-heading,
.home-2026-footer h2 { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 32px; line-height: 1.02; }
.home-2026-heading > .material-symbols-outlined,
.home-2026-footer h2 > .material-symbols-outlined { font-size: 24px; margin-top: 4px; }
.home-2026-copy > p { padding-left: 36px; }
.home-2026-section-head > .home-2026-cta { flex-shrink: 0; }

/* Les pistes débordent du cadre, mais jamais de la page. */
.home-2026-slider { width: calc(var(--home-width) + var(--home-gap)); }
.home-2026-slide { width: var(--home-width); margin-inline: calc(var(--home-gap) / 2); }
.home-2026-slider .slick-list { overflow: visible; }
.home-2026-slider .slick-track { margin-left: 0; }
.home-2026-slider:not(.slick-initialized) { display: flex; overflow: hidden; }
.home-2026-slider:not(.slick-initialized) .home-2026-slide { flex-shrink: 0; }
.home-2026-news-image { display: block; width: 100%; height: auto; aspect-ratio: 1010 / 325; object-fit: cover; }
.home-2026-news .home-2026-cta-outline { margin-top: 20px; }
.home-2026-controls { display: flex; gap: 14px; margin-top: 46px; }
.home-2026-controls button {
  display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px;
  padding: 0; border: 0; border-radius: 0; background: #888a88; color: #fff;
}
.home-2026-controls button:hover { background: #000; }
.home-2026-controls button:disabled { opacity: .4; cursor: default; }
.home-2026-controls .material-symbols-outlined { font-size: 36px; }
.home-2026-news .home-2026-controls { margin-top: 44px; }
.home-2026-product { display: block; position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #e3000b; }
.home-2026-product-image { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.65); }
.home-2026 #content .home-2026-product-title {
  position: absolute; left: 32px; top: 32px; margin: 0;
  color: #e30613; font-size: 38px; line-height: 1.02;
}
.home-2026-product-signature {
  position: absolute; right: 3%; bottom: 30%; font-family: 'ApfelGrotezk', Arial, sans-serif;
  font-weight: 700; font-size: 38px; line-height: 1.04; letter-spacing: -.02em; text-transform: uppercase;
}
.home-2026-product-signature .home-2026-sticker:last-child { margin: 0 auto; }
.home-2026-product-pack { position: absolute; bottom: 0; left: 32px; width: 16%; height: 24%; object-fit: contain; object-position: bottom left; }
.home-2026-product-logo { position: absolute; right: 3%; bottom: 4%; width: 10%; height: auto; }
.home-2026-quote { display: flex; align-items: flex-start; gap: 20px; padding-block: 135px 85px; margin-bottom: 0; color: #858585; }
.home-2026-quote .material-symbols-outlined { margin-top: -5px; font-size: 70px; color: #c6c6c6; }
.home-2026-quote p { margin: 0 !important; }

.home-2026-video { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; background: #360b06; }
.home-2026-video-image { width: 100%; height: 100%; object-fit: cover; }
.home-2026-video::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.18); }
.home-2026-video .home-2026-frame { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; }
.home-2026 #content .home-2026-video-title { color: var(--home-green); font-size: 40px; line-height: .98; margin: 0; }
.home-2026-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--home-green); }
.home-2026-play .material-symbols-outlined { font-size: 68px; }
.home-2026-video:hover .home-2026-play { background: var(--home-green); color: #fff; }
.home-2026-about { padding-top: 60px; }
.home-2026-about .home-2026-copy { max-width: 570px; }
.home-2026-about-image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.home-2026-certification { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 30px; align-items: start; padding-top: 130px; }
.home-2026-certification-logo { display: block; width: 150px; }
.home-2026-certification-logo img { width: 100%; height: auto; }
.home-2026-certification .home-2026-copy { max-width: none; }
.home-2026-certification .home-2026-copy > p { max-width: 590px; }
.home-2026-mobile-break { display: none; }
.home-2026-recipes { padding-top: 210px; padding-bottom: 64px; }
.home-2026-recipes .home-2026-section-head { align-items: center; }
.home-2026-recipes .home-2026-slide { width: calc((var(--home-width) - var(--home-gap)) / 2); }
.home-2026-recipe { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #083548; }
.home-2026-recipe > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-2026-recipe-caption { position: absolute; left: 32px; right: 24px; bottom: 30px; }
.home-2026 #content .home-2026-recipe-title { font-size: 34px; line-height: 1.08; margin: 0 0 8px; }
.home-2026-recipe-title span { background: #fff; padding: 0 .15em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.home-2026-recipe-category { display: block; color: #fff; font-family: 'ApfelGrotezk', Arial, sans-serif; font-size: 16px; text-transform: uppercase; text-shadow: 0 1px 4px #000; }

.home-2026-footer { background: #000; color: #fff; padding: 64px 0; }
.home-2026-footer-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 180px; }
.home-2026-footer details { border-bottom: 1px solid #fff; }
.home-2026-footer summary { display: flex; align-items: center; justify-content: space-between; list-style: none; padding: 0 0 16px; cursor: pointer; font-size: 20px; }
.home-2026-footer details + details summary { padding-top: 22px; }
.home-2026-footer summary::-webkit-details-marker { display: none; }
.home-2026-footer details[open] summary .material-symbols-outlined { transform: rotate(45deg); }
.home-2026-footer details p, .home-2026-footer details ul { margin: 0 0 20px; font-size: 18px; }
.home-2026-footer details ul { padding: 0; list-style: none; }
.home-2026-footer details li { margin-top: 10px; }
.home-2026-footer a { color: #fff; }
.home-2026-footer a:hover { text-decoration: underline; }
.home-2026-footer h2 { color: #fff; }
.home-2026-footer .home-2026-newsletter h2 { font-size: var(--home-body-size); line-height: 1.32; }
.home-2026-newsletter p { color: #aaa; margin: 10px 0 18px; padding-left: 36px; font-size: 20px; }
.home-2026-newsletter-fields { display: flex; gap: 18px; padding-left: 36px; }
.home-2026-newsletter input { min-width: 0; width: 100%; border: 2px solid #fff; border-radius: 0; background: #000; color: #fff; padding: 5px 8px; font-size: 18px; }
.home-2026-newsletter input::placeholder { color: #aaa; opacity: 1; text-transform: uppercase; }
.home-2026-newsletter button { border: 0; border-radius: 0; background: #fff; color: #000; display: flex; align-items: center; justify-content: center; width: 50px; flex-shrink: 0; }
.home-2026-socials { display: flex; justify-content: flex-start; gap: 24px; margin-top: 32px; }
.home-2026-socials a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.home-2026-footer .home-2026-socials a:hover { text-decoration: none; }

@media (min-width: 1400px) {
  .home-2026-products { padding-top: 160px; }
  .home-2026-products .home-2026-copy { max-width: 500px; }
}
@media (min-width: 768px) and (max-width: 1399px) {
  .home-2026 { --home-width: calc(100vw - 120px); --home-body-size: 18px; }
  .home-2026 #content .home-2026-heading, .home-2026-footer h2 { font-size: 27px; }
  .home-2026-copy { max-width: 48%; }
  .home-2026-about .home-2026-copy { max-width: 54%; }
  .home-2026 .home-2026-cta { font-size: 16px; }
  .home-2026 #content .home-2026-product-title, .home-2026-product-signature { font-size: 30px; }
  .home-2026 #content .home-2026-recipe-title { font-size: 28px; }
  .home-2026-certification { grid-template-columns: 120px minmax(0,1fr) auto; gap: 24px; }
  .home-2026-certification .home-2026-copy { max-width: none; }
  .home-2026-certification-logo { width: 120px; }
  .home-2026-footer-inner { gap: 80px; }
}
@media (max-width: 767px) {
  .home-2026-mobile-break { display: initial; }
  .home-2026 { --home-width: calc(100vw - 11.15vw); --home-gap: 5.575vw; --home-body-size: clamp(16px, 4.18vw, 24px); }
  .home-2026-hero { height: 205vw; min-height: 720px; max-height: 1300px; }
  .home-2026-hero-image { height: calc(100% + 14vw); object-position: 65% center; }
  .home-2026-hero::after { height: 19%; }
  .home-2026 #content .home-2026-hero-title { top: 19%; left: 6%; font-size: clamp(27px, 7.31vw, 48px); }
  .home-2026-discover { bottom: 0; }
  .home-2026 .home-2026-cta { padding: 9px 10px; font-size: clamp(14px, 3.49vw, 20px); gap: 3px; }
  .home-2026 .home-2026-cta .material-symbols-outlined { font-size: 1.05em; }
  .home-2026-section { padding-top: 22vw; }
  .home-2026-news { padding-top: 22vw; }
  .home-2026-section-head { display: flex; flex-direction: column; gap: 22px; margin-bottom: 9vw; }
  .home-2026-copy, .home-2026-about .home-2026-copy { max-width: none; width: 100%; }
  .home-2026 #content .home-2026-heading, .home-2026-footer h2 { font-size: clamp(23px, 5.58vw, 32px); gap: 10px; }
  .home-2026-heading > .material-symbols-outlined, .home-2026-footer h2 > .material-symbols-outlined { font-size: .72em; margin-top: .12em; }
  .home-2026-copy > p { padding-left: 0; }
  .home-2026 #content p { margin-top: 14px; }
  .home-2026-news .home-2026-cta-outline { margin-top: 14px; }
  .home-2026-controls, .home-2026-news .home-2026-controls { gap: 14px; margin-top: 6vw; }
  .home-2026-controls button { width: clamp(40px,9vw,52px); height: clamp(40px,9vw,52px); }
  .home-2026-controls .material-symbols-outlined { font-size: 32px; }
  .home-2026-product { aspect-ratio: 510 / 932; }
  .home-2026-product-image { object-position: 4% center; }
  .home-2026 #content .home-2026-product-title { top: 4%; left: 4.7%; font-size: clamp(29px, 7.66vw, 44px); }
  .home-2026-product-signature { right: 5%; bottom: 25%; font-size: clamp(24px, 6.28vw, 36px); }
  .home-2026-product-pack { left: 4.7%; width: 33%; height: 19%; }
  .home-2026-product-logo { right: 5%; bottom: 3%; width: 17%; }
  .home-2026-quote { padding-block: 25vw 10vw; gap: 12px; }
  .home-2026-quote .material-symbols-outlined { font-size: 14vw; margin-top: -8px; }
  .home-2026-video { aspect-ratio: 574 / 1140; }
  .home-2026-video-image { object-position: 50% center; }
  .home-2026 #content .home-2026-video-title { font-size: clamp(27px, 6.97vw, 40px); }
  .home-2026-play { left: auto; right: 0; transform: translateY(-50%); width: 9vw; height: 9vw; }
  .home-2026-play .material-symbols-outlined { font-size: 8vw; }
  .home-2026-about { padding-top: 10vw; }
  .home-2026-about .home-2026-section-head { gap: 24px; }
  .home-2026-about-image { aspect-ratio: 510 / 910; object-position: 50% center; }
  .home-2026-certification { position: relative; display: block; padding-top: 22vw; }
  .home-2026-certification::after { content: ''; display: block; clear: both; }
  .home-2026-certification-logo { position: absolute; right: 0; top: calc(22vw + 90px); width: 30%; }
  .home-2026-certification .home-2026-copy { display: block; }
  .home-2026-certification .home-2026-copy > p { width: 64%; }
  .home-2026-certification .home-2026-cta { margin-top: 22px; }
  .home-2026-recipes { padding-top: 22vw; padding-bottom: 12vw; }
  .home-2026-recipes .home-2026-section-head { align-items: flex-start; }
  .home-2026-recipes .home-2026-slide { width: var(--home-width); }
  .home-2026-recipe-caption { left: 5%; right: 5%; bottom: 5%; }
  .home-2026 #content .home-2026-recipe-title { font-size: clamp(24px, 5.92vw, 34px); }
  .home-2026-recipe-category { font-size: clamp(12px, 2.79vw, 16px); }
  .home-2026-footer { padding: 10vw 0; }
  .home-2026-footer-inner { display: flex; flex-direction: column; gap: 38px; }
  .home-2026-newsletter { order: -1; }
  .home-2026-newsletter p { padding-left: 0; font-size: var(--home-body-size); margin-bottom: 20px; }
  .home-2026-newsletter-fields { padding-left: 0; gap: 20px; }
  .home-2026-newsletter input { font-size: 16px; }
  .home-2026-newsletter button { width: 42px; }
  .home-2026-footer summary { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-2026 *, .home-2026 *::before, .home-2026 *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
