﻿@charset "UTF-8";

/* ==========================================================================
   CUISINE RESPONSIVE SOURCE OF TRUTH
   Scope: services/cuisine.php only (body.service-page.is-cuisine)
   Goal: mobile + tablet only. Desktop styles stay untouched.
   ========================================================================== */

/*
  Fix position:fixed sur cuisine.php.
  services.css impose display:block sur body.service-page, ce qui combined
  avec position:relative (styles.css) déclenche un bug Samsung Internet /
  vieux Chrome Android : le body devient containing block au lieu du viewport.
  position:static retire ce rôle au body sans affecter la mise en page.
*/
body.service-page.is-cuisine {
  position: static !important;
}

@keyframes kmgCuisineLogoSpinSettle {
  0% {
    transform: rotate(-280deg) scale(0.62);
    opacity: 0;
  }
  68% {
    transform: rotate(10deg) scale(1.08);
    opacity: 1;
  }
  100% {
    transform: rotate(0deg) scale(1);
    opacity: 1;
  }
}

@media (max-width: 1023px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 148px);
    --kmg-cuisine-logo-size: clamp(182px, 26vw, 232px);
    --kmg-cuisine-hero-gap-after-logo: clamp(16px, 2.2vh, 28px);
    --kmg-cuisine-hero-pad-top: calc(
      var(--kmg-cuisine-logo-top) + var(--kmg-cuisine-logo-size) + var(--kmg-cuisine-hero-gap-after-logo)
    );
    --kmg-cuisine-headline-size: clamp(1.85rem, 4.9vw, 2.7rem);
    --kmg-cuisine-subline-size: clamp(0.95rem, 2.2vw, 1.08rem);
    --kmg-cuisine-btn-size: 1rem;
    --kmg-cuisine-btn-pad: 12px 30px;
    overflow: visible !important;
  }

  body.service-page.is-cuisine .kmg-page,
  body.service-page.is-cuisine .kmg-page section,
  body.service-page.is-cuisine .kmg-page .kmg-container {
    max-width: 100% !important;
    overflow-x: clip;
  }

  body.service-page.is-cuisine.kmg-burger-only header .navbar {
    display: none !important;
  }

  body.service-page.is-cuisine.kmg-burger-only .kmg-burger {
    display: inline-flex !important;
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    left: 12px !important;
    right: auto !important;
    z-index: 12040 !important;
  }

  body.service-page.is-cuisine .kmg-hero.full,
  body.service-page.is-cuisine section.kmg-hero.full {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }

  body.service-page.is-cuisine .kmg-logo-hero {
    position: absolute !important;
    top: var(--kmg-cuisine-logo-top) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    z-index: 7 !important;
    opacity: 1 !important;
    /* Tue l'animation fadeInLogo du parent — le spin est sur l'enfant img, pas ici */
    animation: none !important;
  }

  body.service-page.is-cuisine .kmg-logo-hero img {
    width: var(--kmg-cuisine-logo-size) !important;
    max-width: var(--kmg-cuisine-logo-size) !important;
    height: auto !important;
    transform-origin: center center !important;
    animation: kmgCuisineLogoSpinSettle 1.25s cubic-bezier(0.2, 0.86, 0.22, 1) 1 both !important;
  }

  body.service-page.is-cuisine .kmg-hero__inner {
    /* top: 0 est la correction racine : sans ça, le bloc est ancré bottom:0 avec
       height:auto → padding-top n'a aucun effet visuel sur la position du contenu.
       Avec top:0 + bottom:0 + height:auto, le bloc couvre tout le hero et
       padding-top repousse correctement le h1 sous le logo. */
    top: 0 !important;
    justify-content: flex-start !important;
    text-align: center !important;
    padding-top: var(--kmg-cuisine-hero-pad-top) !important;
    padding-right: clamp(16px, 3.6vw, 30px) !important;
    padding-left: clamp(16px, 3.6vw, 30px) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
    gap: clamp(10px, 1.8vh, 16px) !important;
    z-index: 8 !important;
  }

  body.service-page.is-cuisine .kmg-headline {
    width: auto !important;
    max-width: min(92vw, 760px) !important;
    margin: 0 auto !important;
    white-space: normal !important;
    overflow: visible !important;
    border-right: 0 !important;
    animation: none !important;
    font-size: var(--kmg-cuisine-headline-size) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.service-page.is-cuisine .kmg-subline {
    max-width: min(88vw, 760px) !important;
    margin: 0 auto 10px !important;
    opacity: 1 !important;
    animation: none !important;
    font-size: var(--kmg-cuisine-subline-size) !important;
    line-height: 1.3 !important;
  }

  body.service-page.is-cuisine .kmg-hero .kmg-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 0 !important;
    transform: none !important;
    padding: var(--kmg-cuisine-btn-pad) !important;
    font-size: var(--kmg-cuisine-btn-size) !important;
    line-height: 1.1 !important;
    min-height: 44px;
  }

  body.service-page.is-cuisine #kmg-intro-media {
    padding-top: clamp(48px, 8vw, 80px) !important;
    padding-bottom: clamp(28px, 5vw, 48px) !important;
  }

  body.service-page.is-cuisine #kmg-intro-media .kmg-container,
  body.service-page.is-cuisine .kmg-container {
    padding-left: clamp(14px, 3vw, 24px) !important;
    padding-right: clamp(14px, 3vw, 24px) !important;
  }

  body.service-page.is-cuisine .kmg-intro-text {
    margin-bottom: clamp(28px, 5vw, 44px) !important;
  }

  body.service-page.is-cuisine .kmg-intro-title {
    font-size: clamp(1.45rem, 3.7vw, 2.2rem) !important;
    line-height: 1.22 !important;
  }

  body.service-page.is-cuisine .kmg-intro-paragraph {
    font-size: clamp(1rem, 2.15vw, 1.24rem) !important;
    line-height: 1.58 !important;
  }

  body.service-page.is-cuisine .kmg-strip,
  body.service-page.is-cuisine .kmg-strip:nth-child(3) {
    grid-template-columns: 1fr !important;
    gap: clamp(14px, 2.5vw, 22px) !important;
    margin-bottom: clamp(28px, 4.4vw, 44px) !important;
    padding: clamp(20px, 3.2vw, 30px) 0 !important;
  }

  body.service-page.is-cuisine .kmg-strip:not(:last-child) {
    padding-bottom: clamp(20px, 3.2vw, 30px) !important;
  }

  body.service-page.is-cuisine .kmg-strip__media {
    order: 0 !important;
    width: 100% !important;
    height: clamp(220px, 44vw, 360px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 14px !important;
  }

  body.service-page.is-cuisine .kmg-strip__content {
    text-align: left !important;
  }

  body.service-page.is-cuisine .kmg-strip__content h2,
  body.service-page.is-cuisine .kmg-strip__content h3 {
    font-size: clamp(1.2rem, 3vw, 1.62rem) !important;
    line-height: 1.3 !important;
  }

  body.service-page.is-cuisine .kmg-strip__content p {
    font-size: clamp(0.96rem, 2.2vw, 1.12rem) !important;
    line-height: 1.56 !important;
  }

  body.service-page.is-cuisine .kmg-btn-strip {
    min-height: 44px;
    padding: 12px 24px !important;
    font-size: clamp(0.88rem, 2vw, 1rem) !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-grid-2,
  body.service-page.is-cuisine .kmg-method .kmg-cards-visual,
  body.service-page.is-cuisine #types-de-cuisine .kmg-cards-visual {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(16px, 2.6vw, 24px) !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__title,
  body.service-page.is-cuisine #types-de-cuisine .kmg-vcard__title {
    font-size: clamp(1.06rem, 2.25vw, 1.36rem) !important;
    line-height: 1.3 !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard p {
    font-size: clamp(0.94rem, 2vw, 1.06rem) !important;
    line-height: 1.55 !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__img {
    aspect-ratio: 16 / 10;
  }

  body.service-page.is-cuisine .cta-wrapper {
    margin-top: clamp(22px, 4vw, 34px) !important;
  }

  body.service-page.is-cuisine #cta-devis {
    width: min(100%, 340px);
    text-align: center;
  }

  body.service-page.is-cuisine #types-de-cuisine,
  body.service-page.is-cuisine #kmg-method,
  body.service-page.is-cuisine section {
    min-height: auto !important;
  }

  body.service-page.is-cuisine footer {
    padding: 16px 14px 14px !important;
  }

  body.service-page.is-cuisine footer .footer-content {
    padding: 0 10px !important;
    gap: 8px !important;
  }

  body.service-page.is-cuisine footer .footer-logo img {
    max-width: 92px !important;
  }

  body.service-page.is-cuisine footer .footer-title-container::before,
  body.service-page.is-cuisine footer .footer-title-container::after {
    margin: 0 12px !important;
  }

  body.service-page.is-cuisine footer .footer-title {
    font-size: clamp(1.2rem, 3.8vw, 1.65rem) !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  body.service-page.is-cuisine footer .footer-social a img {
    width: 28px !important;
    height: 28px !important;
  }

  body.service-page.is-cuisine footer .footer-nav ul {
    gap: 4px 8px !important;
    justify-content: center !important;
  }

  body.service-page.is-cuisine footer .footer-nav ul li {
    margin: 0 8px !important;
  }

  body.service-page.is-cuisine footer .footer-nav ul li a {
    font-size: clamp(0.8rem, 2.1vw, 0.94rem) !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  body.service-page.is-cuisine footer .footer-copyright p,
  body.service-page.is-cuisine footer .footer-copyright a {
    font-size: clamp(0.7rem, 1.9vw, 0.82rem) !important;
    line-height: 1.28 !important;
  }
}

/* Tablet portrait and landscape <= 1024px */
@media (min-width: 821px) and (max-width: 1023px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 138px);
    --kmg-cuisine-logo-size: clamp(194px, 22vw, 246px);
    --kmg-cuisine-headline-size: clamp(2rem, 4.2vw, 2.8rem);
    --kmg-cuisine-subline-size: clamp(0.96rem, 1.8vw, 1.1rem);
  }
}

/* Fold 4 unfolded / narrow tablet portrait */
@media (min-width: 560px) and (max-width: 820px) and (orientation: portrait) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 136px);
    --kmg-cuisine-logo-size: clamp(182px, 32vw, 214px);
    --kmg-cuisine-headline-size: clamp(1.88rem, 5.8vw, 2.35rem);
    --kmg-cuisine-subline-size: clamp(0.92rem, 2.45vw, 1.02rem);
  }

  /* Méthode déplié : images agrandies bord-à-bord, texte aéré */
  body.service-page.is-cuisine .kmg-method {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-cards-visual {
    gap: 18px !important;
    width: 94% !important;
    margin: 0 auto !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard {
    padding: 0 0 16px !important;
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__img {
    width: 100% !important;
    height: clamp(180px, 32vw, 240px) !important;
    aspect-ratio: unset !important;
    margin: 0 0 14px !important;
    border-radius: 10px 10px 0 0 !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__title {
    font-size: clamp(1.05rem, 2.4vw, 1.3rem) !important;
    line-height: 1.3 !important;
    margin: 0 0 10px !important;
    padding: 0 14px !important;
    text-align: center !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard p,
  body.service-page.is-cuisine .kmg-method .kmg-vcard__p {
    font-size: clamp(0.92rem, 2vw, 1.05rem) !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 14px !important;
  }
}

/* Large phones + Fold screens (390–559px) */
@media (min-width: 390px) and (max-width: 559px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 154px);
    --kmg-cuisine-logo-size: clamp(168px, 44vw, 206px);
    --kmg-cuisine-headline-size: clamp(1.6rem, 8.7vw, 2.05rem);
    --kmg-cuisine-subline-size: clamp(0.88rem, 4.15vw, 0.98rem);
    --kmg-cuisine-btn-pad: 11px 26px;
  }

  /* Méthode : 2×2 compact au lieu d'une colonne verticale */
  body.service-page.is-cuisine .kmg-method {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-grid-2,
  body.service-page.is-cuisine .kmg-method .kmg-cards-visual {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 94% !important;
    margin: 0 auto !important;
  }

  body.service-page.is-cuisine #types-de-cuisine .kmg-cards-visual {
    grid-template-columns: 1fr !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard {
    padding: 0 0 12px !important;   /* image bord-à-bord, padding bas seulement */
    min-height: auto !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;  /* image prend toute la largeur */
    justify-content: flex-start !important;
    overflow: hidden !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__img {
    width: 100% !important;
    height: clamp(150px, 46vw, 205px) !important;  /* beaucoup plus grand */
    aspect-ratio: unset !important;
    margin: 0 0 10px !important;
    border-radius: 8px 8px 0 0 !important;  /* coins arrondis en haut seulement */
    flex-shrink: 0 !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard__title {
    font-size: clamp(0.88rem, 3.5vw, 1.1rem) !important;
    line-height: 1.25 !important;
    margin: 0 0 6px !important;
    padding: 0 10px !important;
    text-align: center !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-vcard p,
  body.service-page.is-cuisine .kmg-method .kmg-vcard__p {
    font-size: clamp(0.78rem, 2.9vw, 0.92rem) !important;
    line-height: 1.45 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 10px !important;
  }

  body.service-page.is-cuisine .kmg-strip__media {
    height: clamp(210px, 56vw, 300px) !important;
  }

  body.service-page.is-cuisine footer .footer-title-container::before,
  body.service-page.is-cuisine footer .footer-title-container::after {
    display: none !important;
  }

  body.service-page.is-cuisine footer .footer-title {
    font-size: clamp(1.1rem, 4.8vw, 1.35rem) !important;
  }

  body.service-page.is-cuisine footer .footer-nav ul li {
    margin: 0 6px !important;
  }

  body.service-page.is-cuisine footer .footer-nav ul li a {
    font-size: clamp(0.76rem, 3.3vw, 0.86rem) !important;
  }
}

/* iPhone portrait tuning */
@media (min-width: 390px) and (max-width: 430px) and (orientation: portrait) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 164px);
    --kmg-cuisine-logo-size: clamp(182px, 52vw, 220px);
  }

}

/* Small phones */
@media (max-width: 389px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 146px);
    --kmg-cuisine-logo-size: clamp(154px, 50vw, 192px);
    --kmg-cuisine-headline-size: clamp(1.46rem, 9.8vw, 1.86rem);
    --kmg-cuisine-subline-size: clamp(0.82rem, 4.4vw, 0.92rem);
    --kmg-cuisine-btn-pad: 10px 22px;
    --kmg-cuisine-btn-size: 0.94rem;
  }

  body.service-page.is-cuisine.kmg-burger-only .kmg-burger {
    width: 42px !important;
    height: 42px !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-grid-2,
  body.service-page.is-cuisine .kmg-method .kmg-cards-visual,
  body.service-page.is-cuisine #types-de-cuisine .kmg-cards-visual {
    grid-template-columns: 1fr !important;
  }

  body.service-page.is-cuisine .kmg-strip__media {
    height: clamp(190px, 58vw, 250px) !important;
  }

  body.service-page.is-cuisine footer {
    padding: 12px 10px !important;
  }

  body.service-page.is-cuisine footer .footer-logo img {
    max-width: 74px !important;
  }

  body.service-page.is-cuisine footer .footer-title {
    font-size: clamp(1rem, 5.3vw, 1.22rem) !important;
  }

  body.service-page.is-cuisine footer .footer-social a img {
    width: 24px !important;
    height: 24px !important;
  }

  body.service-page.is-cuisine footer .footer-nav ul li a {
    font-size: clamp(0.7rem, 3.5vw, 0.8rem) !important;
  }

  body.service-page.is-cuisine footer .footer-copyright p,
  body.service-page.is-cuisine footer .footer-copyright a {
    font-size: clamp(0.62rem, 3vw, 0.72rem) !important;
  }
}

/* Folded Fold 4 portrait */
@media (max-width: 340px) and (orientation: portrait) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 136px);
    --kmg-cuisine-logo-size: clamp(188px, 64vw, 222px);
    --kmg-cuisine-hero-gap-after-logo: clamp(4px, 0.8vh, 8px);
    /* Pas de --kmg-cuisine-hero-pad-top explicite : la formule de base
       (logo-top + logo-size + gap) calcule correctement maintenant que
       .kmg-hero__inner a top:0 et couvre tout le hero */
    --kmg-cuisine-headline-size: clamp(1.38rem, 9.3vw, 1.72rem);
    --kmg-cuisine-subline-size: clamp(0.78rem, 4vw, 0.88rem);
    --kmg-cuisine-btn-size: 0.88rem;
    --kmg-cuisine-btn-pad: 9px 18px;
  }

}

/* Landscape phones and compact tablets */
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 560px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 68px);
    --kmg-cuisine-logo-size: clamp(118px, 14vw, 152px);
    --kmg-cuisine-hero-gap-after-logo: clamp(10px, 1.2vh, 16px);
    --kmg-cuisine-headline-size: clamp(1.2rem, 3.2vw, 1.82rem);
    --kmg-cuisine-subline-size: clamp(0.76rem, 1.75vw, 0.94rem);
    --kmg-cuisine-btn-size: 0.88rem;
    --kmg-cuisine-btn-pad: 8px 20px;
  }

  body.service-page.is-cuisine .kmg-hero__inner {
    padding-bottom: 10px !important;
  }

  body.service-page.is-cuisine .kmg-method .kmg-grid-2,
  body.service-page.is-cuisine .kmg-method .kmg-cards-visual,
  body.service-page.is-cuisine #types-de-cuisine .kmg-cards-visual {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.service-page.is-cuisine .kmg-strip__media {
    height: clamp(180px, 32vw, 240px) !important;
  }
}

@media (max-width: 1023px) and (prefers-reduced-motion: reduce) {
  body.service-page.is-cuisine .kmg-logo-hero img {
    animation: none !important;
  }
}

/* Final lock: ticker + burger must stay fixed on cuisine responsive */
@media (max-width: 1023px) {
  body.service-page.is-cuisine.kmg-burger-only .kmg-burger {
    display: inline-flex !important;
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    left: 12px !important;
    right: auto !important;
  }
}

/* ==========================================================================
   BURGER ZONE ÉTENDUE — 1024px-1366px (cuisine uniquement)
   Pas de navbar desktop : burger + logo centré + stack vertical propre.
   La navbar desktop reprend à partir de 1367px (géré par services.css).
   ========================================================================== */
@media (min-width: 1024px) and (max-width: 1366px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 116px);
    --kmg-cuisine-logo-size: clamp(192px, 16vw, 228px);
    --kmg-cuisine-hero-gap-after-logo: clamp(22px, 2.8vh, 38px);
    --kmg-cuisine-hero-pad-top: calc(
      var(--kmg-cuisine-logo-top) + var(--kmg-cuisine-logo-size) + var(--kmg-cuisine-hero-gap-after-logo)
    );
    --kmg-cuisine-headline-size: clamp(2.2rem, 3.5vw, 3.2rem);
    --kmg-cuisine-subline-size: clamp(1.1rem, 1.85vw, 1.55rem);
    --kmg-cuisine-btn-size: 1.1rem;
    --kmg-cuisine-btn-pad: 14px 40px;
  }

  /* Ticker : remonté à 72px (burger bottom ≈ 60px + 12px gap) */
  body.service-page.is-cuisine .kmg-phone-hero {
    top: 72px !important;
  }

  /* Masquer la navbar desktop et le CTA Contactez-nous */
  body.service-page.is-cuisine header .navbar,
  body.service-page.is-cuisine header nav.navbar {
    display: none !important;
  }

  /* Afficher le burger */
  body.service-page.is-cuisine.kmg-burger-only .kmg-burger {
    display: inline-flex !important;
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 14px) !important;
    left: 14px !important;
    right: auto !important;
    width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 12040 !important;
  }

  body.service-page.is-cuisine.kmg-burger-only .kmg-burger-overlay,
  body.service-page.is-cuisine.kmg-burger-only .kmg-burger-panel {
    display: block !important;
  }

  /* Hero */
  body.service-page.is-cuisine .kmg-hero.full,
  body.service-page.is-cuisine section.kmg-hero.full {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }

  /* Logo : centré horizontalement, sous le ticker (ticker bottom ≈ 140px) */
  body.service-page.is-cuisine .kmg-logo-hero {
    position: absolute !important;
    top: var(--kmg-cuisine-logo-top) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    z-index: 7 !important;
    opacity: 1 !important;
    animation: none !important;
  }

  body.service-page.is-cuisine .kmg-logo-hero img {
    width: var(--kmg-cuisine-logo-size) !important;
    max-width: var(--kmg-cuisine-logo-size) !important;
    height: auto !important;
    transform-origin: center center !important;
    animation: kmgCuisineLogoSpinSettle 1.25s cubic-bezier(0.2, 0.86, 0.22, 1) 1 both !important;
  }

  /* Hero inner : stack centré sous le logo */
  body.service-page.is-cuisine .kmg-hero__inner {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
    padding-top: var(--kmg-cuisine-hero-pad-top) !important;
    padding-right: clamp(24px, 4vw, 64px) !important;
    padding-left: clamp(24px, 4vw, 64px) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px) !important;
    gap: clamp(12px, 2vh, 22px) !important;
    z-index: 8 !important;
    transform: none !important;
  }

  body.service-page.is-cuisine .kmg-headline {
    width: auto !important;
    max-width: min(80vw, 940px) !important;
    margin: 0 auto !important;
    white-space: normal !important;
    overflow: visible !important;
    border-right: 0 !important;
    animation: none !important;
    font-size: var(--kmg-cuisine-headline-size) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.service-page.is-cuisine .kmg-subline {
    max-width: min(72vw, 860px) !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    animation: none !important;
    font-size: var(--kmg-cuisine-subline-size) !important;
    line-height: 1.35 !important;
  }

  body.service-page.is-cuisine .kmg-hero .kmg-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
    transform: none !important;
    padding: var(--kmg-cuisine-btn-pad) !important;
    font-size: var(--kmg-cuisine-btn-size) !important;
    line-height: 1.1 !important;
    min-height: 48px !important;
  }
}

/* ==========================================================================
   DESKTOP TRANSITION — 1367px-1439px (cuisine uniquement)
   Annule right:-75px de services.css ligne ~1466 + fixe la largeur du btn
   ========================================================================== */
@media (min-width: 1367px) and (max-width: 1439px) {
  /* Logo : valeurs stables, pas de conflit avec les blocs génériques services.css */
  body.service-page.is-cuisine .kmg-logo-hero {
    top: 142px !important;
    left: 124px !important;
    right: auto !important;
    transform: none !important;
  }

  /* btn-contact : position fixed → jamais coupé par right:-75px du bloc générique */
  body.service-page.is-cuisine header .navbar ul li.only-desktop,
  body.service-page.is-cuisine.kmg-contact-left header .navbar ul li.only-desktop {
    position: fixed !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 12120 !important;
  }

  /* btn-contact : 130px suffit pour "Contactez-nous" à 16px (~119px calculé) */
  body.service-page.is-cuisine header .navbar .btn-contact {
    width: 130px !important;
    height: 64px !important;
  }

  body.service-page.is-cuisine header .navbar .btn-contact span {
    font-size: 16px !important;
    white-space: nowrap !important;
  }
}

/* Ajustements grands laptops 1200-1366px */
@media (min-width: 1200px) and (max-width: 1366px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 152px);
    --kmg-cuisine-logo-size: clamp(208px, 16.5vw, 240px);
    --kmg-cuisine-headline-size: clamp(2.5rem, 3.8vw, 3.4rem);
    --kmg-cuisine-subline-size: clamp(1.2rem, 2vw, 1.6rem);
    --kmg-cuisine-btn-pad: 16px 48px;
  }
}
/* Ajustement laptops peu hauts */
@media (min-width: 1024px) and (max-width: 1366px) and (max-height: 600px) {
  body.service-page.is-cuisine {
    --kmg-cuisine-logo-top: calc(env(safe-area-inset-top, 0px) + 108px);
    --kmg-cuisine-logo-size: clamp(155px, 14vw, 190px);
    --kmg-cuisine-hero-gap-after-logo: clamp(35px, 4vh, 60px);    
    --kmg-cuisine-headline-size: clamp(1.7rem, 3vw, 2.3rem);
    --kmg-cuisine-subline-size: clamp(0.85rem, 1.5vw, 1.05rem);
    --kmg-cuisine-btn-size: 0.9rem;
    --kmg-cuisine-btn-pad: 10px 32px;
  }

  body.service-page.is-cuisine .kmg-phone-hero {
    top: 58px !important;
  }

  body.service-page.is-cuisine .kmg-hero__inner {
  gap: clamp(20px, 3vh, 35px) !important;    
  padding-bottom: 10px !important;
  }

  body.service-page.is-cuisine .kmg-hero .kmg-btn {
    min-height: 40px !important;
    margin-top: 10px !important;
  }
}