@font-face {
  font-family: 'GastonPunk';
  src: url('/wp-content/uploads/2026/10/hit-me-punk.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* GASTON V2 — feuille de styles unique du brouillon.
   À conserver dans ce fichier CSS externe. */
/* 01 — VARIABLES */
:root {
  --gt-bg: #e7e1d7;
  --gt-ink: #111;
  --gt-night: #110839;
  --gt-red: #8a312c;
  --gt-coral: #e97167;
  --gt-header-height: 83px;
  --gt-header-compact: 64px;
}
/* 02 — BASE */
html { scroll-padding-top: var(--gt-header-height); }
body { background: var(--gt-bg); }
.wp-site-blocks { background: transparent; padding: 0; }
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > main { margin-block-start: 0; }
.gt-common-main,
.gt-common-main > .wp-block-post-content {
  background: transparent;
  margin: 0;
  padding: 0;
  max-width: none;
}
/* Pendant la migration seulement : anciennes navigations dans les anciennes pages. */
.gt-common-main #gt-site-nav,
.gt-common-main nav[aria-label="Navigation principale"]:not(.gt-v2-navigation) { display: none !important; }

/* En-tête partagé : hauteur constante sur une même largeur de fenêtre. */
/* 03 — EN-TÊTE */
/* Maintenir l'en-tête complet, ligne noire comprise */
.wp-site-blocks > .wp-block-template-part:has(.gt-v2-header) {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: var(--gt-bg);
}

body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.gt-v2-header) {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.gt-v2-header) {
    top: 46px;
  }
}

@media (max-width: 600px) {
  body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.gt-v2-header) {
    top: 0;
  }
}
.gt-v2-header {
  position: relative;
  top: 0;
  z-index: 9999;
  box-sizing: border-box;
  width: 100%;
  height: var(--gt-header-height);
  min-height: var(--gt-header-height);
  margin: 0 !important;
  padding: 0 clamp(18px, 3.2vw, 63px) !important;
  gap: 22px;
  align-items: center !important;
  background: transparent !important;
  border-bottom: 2px solid var(--gt-ink);
  transition: height .2s ease, min-height .2s ease;
}

.gt-v2-header.is-scrolled {
  height: var(--gt-header-compact);
  min-height: var(--gt-header-compact);
}
.gt-v2-brand {
  flex: 1 1 auto;
  min-width: 0;
  gap: 12px !important;
  align-items: center !important;
}
.gt-v2-logo { flex: none; line-height: 0; margin: 0 !important; }
.gt-v2-logo img {
  display: block;
  height: 67px !important;
  width: 67px !important;
  max-width: none;
  object-fit: contain;
  transition: height .2s ease, width .2s ease;
}
.is-scrolled .gt-v2-logo img { height: 49px !important; width: 49px !important; }
.gt-v2-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(12px, 1.6vw, 22px);
  flex: 0 1 auto;
  margin: 0 !important;
  min-width: 0;
  color: var(--gt-ink) !important;
  font: 700 12px/1.18 Arial, Helvetica, sans-serif !important;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.gt-v2-heading-brand {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 0 1 auto;
  min-width: 0;
}
.gt-v2-title > .gt-v2-heading-page {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  text-align: right;
}

@media (max-width: 1050px) {
  .gt-v2-title > .gt-v2-heading-page {
    text-align: left;
  }
}
.gt-v2-menu-region {
  flex: none;
  margin-left: auto;
  gap: clamp(20px, 2.2vw, 38px) !important;
  align-items: center !important;
}
.gt-v2-social { margin: 0 !important; padding: 0 !important; }
.gt-v2-social .wp-social-link { background: transparent !important; color: var(--gt-ink) !important; }
.gt-v2-social .wp-social-link a { padding: 4px !important; }
.gt-v2-social svg { width: 27px; height: 27px; }
.gt-v2-navigation {
  font: 900 14px Arial, Helvetica, sans-serif;
  text-transform: uppercase;
}
.gt-v2-navigation .wp-block-navigation__container {
  align-items: center;
  gap: clamp(17px, 2vw, 34px) !important;
}
.gt-v2-navigation .wp-block-navigation-item__content {
  position: relative;
  padding: 8px 0 !important;
  color: var(--gt-ink) !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.gt-v2-navigation .wp-block-navigation-item:not(.gt-v2-contact-link) > .wp-block-navigation-item__content::after {
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--gt-red);
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .24s ease;
}
.gt-v2-navigation .wp-block-navigation-item:not(.gt-v2-contact-link) > .wp-block-navigation-item__content:hover::after,
.gt-v2-navigation .wp-block-navigation-item:not(.gt-v2-contact-link).current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.gt-v2-contact-link > .wp-block-navigation-item__content {
  padding: 18px 23px !important;
  border-radius: 7px;
  background: var(--gt-red);
  color: var(--gt-bg) !important;
}
.gt-v2-contact-link > .wp-block-navigation-item__content:hover { background: #6f2521; }
.gt-v2-navigation .wp-block-navigation__container > .wp-block-navigation-item:first-child { display: none; }

/* Titre graphique commun des pages V2. Un H2, logo décoratif indépendant. */
/* 04 — TITRES H2 */
.gt-page-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(20px, 5vw, 90px);
  width: 100%;
  box-sizing: border-box;
  padding: 20px clamp(18px, 3vw, 48px) 12px;
  background: transparent;
}
.gt-page-title__text { flex: 1 1 auto; min-width: 0; }
.gt-page-title__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  line-height: .85;
  text-transform: uppercase;
}
.gt-page-title__first {
  position: relative;
  z-index: 3;
  color: var(--gt-ink);
  font-family: Impact, "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 2.25em;
  line-height: .8;
  letter-spacing: -.04em;
  margin-left: clamp(28px, 9vw, 170px);
  margin-bottom: -.55em;
  transform: translateY(-25px) rotate(-3deg);
  transform-origin: left bottom;
}
.gt-page-title__second {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin-top: 0;
  margin-left: clamp(28px, 9vw, 170px);
  padding: 0;
  background: transparent;
  color: #a52e2c;
  font: 400 clamp(62px, 10vw, 160px)/.9 'GastonPunk', Impact, sans-serif;
  letter-spacing: -.045em;
  transform: rotate(-6deg);
  transform-origin: left center;
}
.gt-page-title__logo { flex: 0 0 clamp(130px, 15vw, 240px); }
.gt-page-title__logo img { display: block; width: 100%; height: auto; }
@media (max-width: 700px) {
  .gt-page-title { gap: 10px; padding: 24px 12px 6px; }
  .gt-page-title__second { font-size: clamp(42px, 11vw, 78px); margin-left: 20px; }
  .gt-page-title__logo { flex-basis: 24%; }
  .gt-page-title__first { margin-left: 20px; }
}

/* Tablette étroite : conserver les dimensions précédentes. */
@media (min-width:701px) and (max-width:720px) {
  .gt-page-title { padding:clamp(24px,4vw,60px) clamp(18px,3vw,48px); }
  .gt-page-title__logo { flex-basis:clamp(130px,20vw,340px); }
}

/* Page Contact V2 : lien du studio sous le logo. */
/* 05 — LIEN DU STUDIO */
.gt-studio-visual .gt-studio-link {
  display: block;
  margin-top: 10px;
  color: var(--gt-red);
  font: 700 13px/1.4 Arial, sans-serif;
  text-align: center;
  text-decoration: underline;
}

/* PIED DE PAGE */

/* 06 — FOOTER */
.gt-global-footer {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent;
}

.gt-footer-contact {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 34px clamp(22px, 3vw, 48px) 50px !important;
  background: #111;
  color: #f3ece2;
}

/* Trois colonnes : invitation à gauche, bouton centré verticalement, menu à droite. */

.gt-footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "invite button menu";
  align-items: center;
  column-gap: 40px;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
}

.gt-footer-invite {
  grid-area: invite;
  min-width: 0;
}

.gt-footer-heading {
  margin: 0 0 10px !important;
  color: #f3ece2;
  font: 900 clamp(60px, 7vw, 130px)/.9
    Impact, "Arial Narrow", sans-serif;
}

.gt-footer-invite p {
  margin: 0 !important;
  color: #f3ece2;
  font: 20px/1.5 Arial, sans-serif;
}

/* Bouton central */

.gt-footer-actions {
  grid-area: button;
  width: clamp(260px, 27vw, 410px);
  align-self: center;
  justify-content: flex-start;
  margin: 0 !important;
}

.gt-footer-actions .wp-block-button,
.gt-footer-actions .wp-block-button__link {
  box-sizing: border-box;
  width: 100%;
  text-align: center;
}

.gt-footer-button .wp-block-button__link {
  display: block;
  padding: 18px 24px;
  border-radius: 0;
  background: var(--gt-red);
  color: #f3ece2;
  font: 900 clamp(18px, 1.7vw, 28px)/1.2 Arial, sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.gt-footer-button .wp-block-button__link:hover {
  background: #6f2521;
}

/* Menu aligné à droite, étiré sur la hauteur du titre + texte */

.gt-footer-secondary {
  grid-area: menu;
  align-self: stretch;
  justify-self: end;
  margin: 0 !important;
  text-align: right;
}

.gt-footer-secondary .wp-block-navigation__container {
  height: 100%;
  min-height: 0;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 6px;
  margin: 0;
}

.gt-footer-secondary .wp-block-navigation-item__content {
  position: relative;
  color: #f3ece2;
  font: 700 clamp(17px, 1.35vw, 23px)/1.25 Arial, sans-serif;
  text-align: right;
  text-decoration: none;
  white-space: nowrap;
}

.gt-footer-secondary .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: var(--gt-red);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}

.gt-footer-secondary .wp-block-navigation-item__content:hover::after {
  transform: scaleX(1);
}

/* Coordonnées et liens légaux */

.gt-footer-meta {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px clamp(15px, 3vw, 48px) !important;
  background: var(--gt-bg);
  color: var(--gt-ink);
  text-align: center;
  font: 700 11px/1.5 Arial, sans-serif;
}

.gt-footer-meta p {
  margin: 5px 0 !important;
}

.gt-footer-meta a {
  color: inherit;
  text-decoration: underline;
}

/* Ordinateur : dimensions validées du bandeau noir. */

@media (min-width: 1051px) {
  .gt-footer-contact {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .gt-footer-heading {
    font-size: clamp(60px, 6vw, 110px);
  }
}

/* Mobile : présentation existante */

@media (max-width: 1050px) {
  .gt-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
  }

  .gt-footer-heading {
    font-size: clamp(55px, 13vw, 100px);
  }

  .gt-footer-actions {
    width: 100%;
    justify-content: stretch;
  }

  .gt-footer-button,
  .gt-footer-button .wp-block-button__link {
    width: 100%;
    text-align: center;
  }

  .gt-footer-button .wp-block-button__link {
    padding: 26px 35px;
  }

  .gt-footer-contact .gt-footer-secondary {
    display: none !important;
  }
}

/* 07 — EN-TÊTE MOBILE */
@media (max-width: 1050px) {
  :root {
    --gt-header-height: 71px;
    --gt-header-compact: 58px;
  }

  .gt-v2-header { padding: 0 12px !important; gap: 12px; }
  .gt-v2-brand { gap: 12px !important; }
  .gt-v2-logo img { height: 61px !important; width: 61px !important; }
  .is-scrolled .gt-v2-logo img { height: 48px !important; width: 48px !important; }
  .gt-v2-title { font-size: clamp(10px, 2.8vw, 12px) !important; line-height: 1.3 !important; }
  .gt-v2-heading-page {
    text-align: left;
    max-width: 28ch;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
    text-wrap: balance;
  }
  /* Le texte fixe reste dans le H1, mais s'affiche sous la ligne noire. */
  .wp-site-blocks > .wp-block-template-part:has(.gt-v2-header) { padding-bottom: 46px; }
  .gt-v2-heading-brand {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    width: 100%;
    height: 46px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    gap: 2px;
    padding: 6px 12px;
    font: 800 clamp(10px, 2.65vw, 12px)/1.3 Arial, sans-serif;
    letter-spacing: .055em;
    text-align: center;
    background: var(--gt-bg);
  }
  .gt-v2-menu-region { gap: 0 !important; }
  .gt-v2-social { display: none !important; }

  /* Retirer le trait juste au-dessus du bouton rouge */
  .gt-v2-navigation
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item:has(+ .gt-v2-contact-link) {
    border-bottom: 0;
  }


  /* Bouton à TROIS traits, volontairement indépendant du SVG à deux traits de WordPress. */
  .gt-v2-navigation .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0 !important;
    flex: none;
    border: 0;
    border-radius: 8px;
    background: var(--gt-red) !important;
    color: #fff !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container-open svg { display: none !important; }
  .gt-v2-navigation .wp-block-navigation__responsive-container-open::before {
    display: block;
    width: 27px;
    height: 21px;
    background: linear-gradient(
      to bottom,
      #fff 0, #fff 3px,
      transparent 3px, transparent 9px,
      #fff 9px, #fff 12px,
      transparent 12px, transparent 18px,
      #fff 18px, #fff 21px
    );
    content: "";
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    padding: 94px clamp(25px, 5vw, 48px) 30px !important;
    background: var(--gt-night) !important;
    color: var(--gt-bg) !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    align-items: stretch !important;
    height: 100% !important;
    width: 100%;
    padding: 0 !important;
    text-align: left !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100%;
    gap: 0 !important;
    text-align: left !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:first-child { display: flex !important; }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    justify-content: flex-start !important;
    width: 100%;
    border-bottom: 1px solid #e7e1d74a;
    text-align: left !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding: 16px 0 !important;
    color: var(--gt-bg) !important;
    font: 900 clamp(45px, 8vw, 76px)/1 Impact, "Arial Narrow", sans-serif !important;
    text-align: left !important;
    white-space: normal;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .current-menu-item .wp-block-navigation-item__content { color: var(--gt-coral) !important; }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .gt-v2-contact-link {
    margin-block: 24px;
    border: 0;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .gt-v2-contact-link .wp-block-navigation-item__content {
    padding: 20px !important;
    border-radius: 8px;
    background: var(--gt-red);
    color: var(--gt-bg) !important;
    font-size: clamp(27px, 6vw, 43px) !important;
    text-align: center !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container-close {
    position: absolute;
    top: -69px !important;
    right: 0 !important;
    padding: 11px !important;
    border-radius: 7px;
    background: var(--gt-red) !important;
    color: #fff !important;
  }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none !important; }
  /* La même navigation WordPress secondaire est déplacée dans le menu mobile ouvert. */
  .gt-v2-navigation .gt-v2-mobile-secondary {
    display: block !important;
    width: 100%;
    padding-top: 0;
    margin-top: 0;
    border-top: 0;
  }
  .gt-v2-navigation .gt-v2-mobile-secondary .wp-block-navigation__container {
    display: flex !important;
    gap: 0 !important;
    align-items: stretch !important;
  }
  .gt-v2-navigation .gt-v2-mobile-secondary .wp-block-navigation-item__content {
    padding: 9px 0 !important;
    font: 700 clamp(19px, 4vw, 25px)/1.2 Arial, sans-serif !important;
    color: var(--gt-bg) !important;
    text-transform: uppercase;
  }
}
@media (max-width: 600px) {
  body.admin-bar .gt-v2-header { top: 0; }
  .gt-v2-logo img { height: 62px !important; width: 62px !important; }
}
/* 08 — ACCESSIBILITÉ */
@media (prefers-reduced-motion: reduce) {
  .gt-v2-header, .gt-v2-logo img, .gt-v2-navigation * { transition: none !important; }
}

/* Contenu mobile : une seule marge de lecture, pas de cumul WordPress. */
@media (max-width: 720px) {
  .wp-block-post-content:has(> :is(.gt-home, .gt-gallery-page, .gt-contact-page, .gt-about-page, .gt-faq-page, .gt-care-page, .gt-legal-page, .gt-project-page)) {
    padding-inline: 0 !important;
    max-width: none !important;
    width: 100%;
  }
  .wp-block-post-content > :is(.gt-home, .gt-gallery-page, .gt-contact-page, .gt-about-page, .gt-faq-page, .gt-care-page, .gt-legal-page, .gt-project-page) {
    width: 100%;
    margin-inline: 0 !important;
    overflow-x: clip;
  }
  html { scroll-padding-top: calc(var(--gt-header-height) + 46px); }
}

/* 09 — ACCUEIL : styles limités au contenu .gt-home */
.gt-home { margin:0 !important; padding:0 !important; max-width:none !important; background:var(--gt-bg); color:var(--gt-ink); font-family:Arial,Helvetica,sans-serif; overflow:hidden; }
.gt-home *, .gt-home *::before, .gt-home *::after { box-sizing:border-box; }
.gt-home .gt-shell { width:100%; max-width:none; margin:auto; padding:0 clamp(24px,3vw,65px); }
.gt-home .gt-hero { position:relative; padding-bottom:35px; }
.gt-home .gt-kicker { margin:15px 0 7px; font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.gt-home .gt-mast { position:relative; z-index:5; max-width:760px; margin-bottom:clamp(24px,3vw,45px); }
.gt-home .gt-home-headline { margin:0; max-width:100%; color:var(--gt-ink); font:900 clamp(55px,7.4vw,102px)/.91 Impact,"Arial Black",sans-serif; letter-spacing:-.035em; }
.gt-home .gt-hero-row { display:block; white-space:nowrap; }
.gt-home .gt-red { position:relative; z-index:8; display:inline-block; color:#a52e2c; font-family:'GastonPunk',Impact,sans-serif; font-weight:400; font-size:1.14em; line-height:.73; letter-spacing:-.055em; vertical-align:-.045em; margin-left:-.065em; margin-right:-.085em; transform:rotate(-3deg) translateY(.04em); white-space:nowrap; }
.gt-home .gt-portrait { position:relative; z-index:2; display:block; margin:0 0 0 calc(-1 * clamp(24px,3vw,65px)); width:77%; height:clamp(420px,49vw,650px); }
.gt-home .gt-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.gt-home .gt-logo { position:absolute; top:0; right:clamp(8px,2.4vw,34px); z-index:9; width:clamp(125px,18vw,250px); aspect-ratio:1; pointer-events:none; transform:translateY(-2%); }
.gt-home .gt-logo img { width:100%; height:100%; object-fit:contain; filter:brightness(0); }
.gt-home .gt-artbox { position:absolute; top:30%; right:0; z-index:6; width:clamp(190px,24%,270px); max-height:320px; padding:13px 15px; background:var(--gt-red); color:#f3ece2; transform:rotate(3deg); }
.gt-home .gt-artbox small { display:block; font-size:10px; font-weight:800; letter-spacing:.06em; line-height:1.15; }
.gt-home .gt-artbox b { display:block; margin:8px 0; font:900 clamp(24px,3.1vw,45px)/.88 Impact,"Arial Black",sans-serif; }
.gt-home .gt-intro { position:relative; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:26px; padding:17px 0 4px; background:var(--gt-bg); }
.gt-home .gt-intro p { max-width:620px; margin:0; font-size:clamp(15px,1.8vw,20px); font-weight:750; line-height:1.35; }
.gt-home .gt-btn { position:relative; z-index:7; display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:18px 22px; background:var(--gt-night); color:#f7f1e8; font-size:13px; font-weight:900; text-align:center; text-decoration:none; white-space:nowrap; }
.gt-home .gt-btn:hover { background:#251967; }
.gt-home .gt-btn:focus-visible { outline:3px solid #1784d8; outline-offset:3px; }
.gt-home .gt-intro .gt-btn { margin-right:calc(-1 * clamp(24px,3vw,65px)); padding-right:clamp(28px,5vw,65px); }
.gt-home .gt-section { position:relative; padding:28px 0 45px; border-top:3px solid #111; }
.gt-home .gt-stamp { position:absolute; top:28px; right:10px; z-index:3; display:inline-flex; flex-direction:column; justify-content:space-between; gap:24px; min-width:160px; min-height:112px; margin:0; padding:13px 16px 16px; background:var(--gt-red); color:#f3ece2; box-shadow:4px 5px 0 #111; }
.gt-home .gt-stamp small { font:900 11px Arial,sans-serif; letter-spacing:.08em; }
.gt-home .gt-stamp b { font:900 clamp(22px,3vw,38px)/.9 Impact,"Arial Black",sans-serif; letter-spacing:-.01em; }
.gt-home .gt-stamp--two { transform:rotate(-4deg) translateX(9px); }
.gt-home .gt-stamp--three { transform:rotate(2deg) translateX(-8px); }
.gt-home .gt-stamp--four { transform:rotate(-6deg) translateX(9px); }
.gt-home .gt-section > .gt-page-title, .gt-home .gt-two > .gt-page-title { padding-block:18px 22px; min-height:150px; }
.gt-home .gt-home-title-tail { margin:14px 0 0; font:900 clamp(35px,5vw,70px)/1 Impact,"Arial Black",sans-serif; }
.gt-home .gt-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(2,clamp(180px,18vw,300px)); position:relative; margin:12px 0 24px; }
.gt-home .gt-shot { display:grid; place-items:center; position:relative; overflow:hidden; border:2px solid #111; background:#bbb1a5; font-weight:900; text-align:center; }
/* Cadres remplis, avec ou sans le conteneur ajouté par EWWW */
.gt-home .gt-shot > picture,
.gt-home .gt-flash-card > picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.gt-home .gt-shot img,
.gt-home .gt-flash-card img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.gt-home .gt-portrait > picture {
  display: block;
  width: 100%;
  height: 100%;
}
.gt-home .gt-shot:nth-child(1) { grid-column:1/6; grid-row:1; z-index:1; }
.gt-home .gt-shot:nth-child(2) { grid-column:8/13; grid-row:1/3; z-index:4; }
.gt-home .gt-shot:nth-child(3) { grid-column:1/10; grid-row:2; z-index:1; background:#272727; color:#f2ebe1; }
.gt-home .gt-shot:nth-child(4) { grid-column:5/9; grid-row:1/3; align-self:center; height:66%; background:#a83b37; z-index:2; transform:rotate(-2deg); }
.gt-home .gt-gallery-detail { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gt-home .gt-gallery-detail p { max-width:440px; margin:0; font-weight:700; line-height:1.3; }
.gt-home .gt-gallery-detail .gt-btn, .gt-home .gt-flash-cards + .gt-btn { margin-left:calc(-1 * clamp(14px,3vw,44px) - 8px); padding-left:clamp(29px,5vw,67px); }
.gt-home .gt-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; align-items:center; min-width:0; }
.gt-home .gt-two > div { min-width:0; }
.gt-home .gt-two p { max-width:100%; font-size:clamp(16px,1.7vw,22px); font-weight:700; line-height:1.35; overflow-wrap:break-word; }
.gt-home .gt-two .gt-home-title-tail { font-size:clamp(35px,5vw,70px); font-weight:900; line-height:1; }
.gt-home .gt-two .gt-btn { display:flex; width:calc(100% + clamp(24px,3vw,65px)); margin:18px calc(-1 * clamp(24px,3vw,65px)) 0 0; white-space:normal; }
.gt-home .gt-flash-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:12px; width:100%; max-width:1056px; margin:20px auto 28px; }
.gt-home .gt-flash-card { position:relative; display:grid; place-items:center; aspect-ratio:3/4; overflow:hidden; background:#d4cbbd; border:2px solid #111; box-shadow:4px 5px 0 #111; font-size:clamp(10px,1.3vw,16px); font-weight:900; transform:rotate(-2deg); }
.gt-home .gt-flash-card:nth-child(2) { transform:rotate(2deg) translateY(10px); }
.gt-home .gt-flash-card:nth-child(3) { transform:rotate(-1deg); }
.gt-home .gt-flash-card:nth-child(4) { transform:rotate(3deg) translateY(8px); }
@media (max-width:720px) {
  .gt-home .gt-shell { padding-inline:12px; }
  .gt-home .gt-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(70px,24%);
    column-gap:12px;
    padding-bottom:24px;
  }
  .gt-home .gt-kicker { display:none; }
  .gt-home .gt-mast { grid-column:1; grid-row:2; min-width:0; }
  .gt-home .gt-portrait { grid-column:1 / -1; grid-row:3; }
  .gt-home .gt-intro { grid-column:1 / -1; grid-row:4; }
  .gt-home .gt-mast { margin-bottom:12px; }
  .gt-home .gt-home-headline { font-size:clamp(28px,7.8vw,56px); line-height:1.03; }
  .gt-home .gt-hero-row { white-space:nowrap; }
  .gt-home .gt-hero-ending { display:block; }
  .gt-home .gt-portrait { margin-left:-12px; width:88%; height:clamp(320px,79vw,460px); }
  .gt-home .gt-portrait img { object-position:center 42%; }
  .gt-home .gt-logo {
    position:static;
    grid-column:2;
    grid-row:2;
    align-self:start;
    justify-self:end;
    width:100%;
    min-width:0;
    max-width:130px;
    transform:none;
  }
  .gt-home .gt-artbox { top:37%; right:-1%; width:38%; max-height:245px; padding:9px 10px; }
  .gt-home .gt-artbox b { font-size:clamp(21px,5.8vw,32px); }
  .gt-home .gt-intro, .gt-home .gt-gallery-detail { display:block; }
  .gt-home .gt-intro .gt-btn { margin:18px -14px 0 0; width:calc(100% + 14px); white-space:normal; }
  .gt-home .gt-gallery-detail .gt-btn { margin:15px 0 0 -14px; width:calc(100% + 14px); padding-inline:22px; white-space:normal; }
  .gt-home .gt-gallery { grid-template-rows:repeat(2,clamp(135px,39vw,230px)); margin-inline:-12px; width:calc(100% + 24px); }
  .gt-home .gt-stamp { position:relative; top:auto; right:auto; grid-column:2; grid-row:1; justify-self:end; min-width:0; width:130px; min-height:90px; margin:0; padding:9px 10px 10px; gap:6px; max-width:100%; box-shadow:3px 4px 0 #111; }
  .gt-home .gt-section { border-top:0; padding-top:22px; }
  .gt-home .gt-section::before { content:""; position:absolute; top:0; left:-12px; right:-12px; height:3px; background:#111; }
  .gt-home .gt-section:has(> .gt-stamp) { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:14px 16px; align-items:center; }
  .gt-home .gt-section:has(> .gt-stamp) > :not(.gt-stamp),
  .gt-home .gt-two > div { grid-column:1 / -1; }
  .gt-home .gt-section > .gt-page-title,
  .gt-home .gt-two > .gt-page-title { grid-column:1 !important; grid-row:1; padding:24px 0 12px; min-height:0; }
  .gt-home .gt-section .gt-page-title__first,
  .gt-home .gt-section .gt-page-title__second { margin-left:0; }
  .gt-home .gt-section .gt-page-title__first { font-size:clamp(30px,9vw,50px); }
  .gt-home .gt-section .gt-page-title__second { font-size:clamp(38px,10.5vw,64px); }
  .gt-home .gt-home-title-tail { font-size:clamp(25px,7vw,40px); }
  .gt-home .gt-section > p { margin-block:0; }
  .gt-home .gt-section > .gt-gallery { margin-block:0 10px; }
  .gt-home .gt-section > .gt-btn { justify-self:start; }
  .gt-home .gt-stamp b { font-size:clamp(19px,5.4vw,25px); }
  .gt-home .gt-two { display:contents; }
  .gt-home .gt-two > div { width:100%; }
  .gt-home .gt-two p { font-size:clamp(15px,4vw,19px); line-height:1.4; }
  .gt-home .gt-two .gt-home-title-tail { font-size:clamp(25px,7vw,40px); line-height:1; }
  .gt-home .gt-two .gt-btn { width:calc(100% + 14px); max-width:none; margin:18px -14px 0 0; }
  .gt-home .gt-flash-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; width:calc(100% + 12px); max-width:none; margin:12px -6px 22px; }
  .gt-home .gt-flash-card { font-size:10px; box-shadow:2px 3px 0 #111; position: relative; }
  .gt-home .gt-flash-cards + .gt-btn { margin-left:-14px; max-width:calc(100% + 14px); padding-left:26px; white-space:normal; }
}

/* 10 — GALERIES : miniatures existantes, indépendantes des IDs de pages */
.gt-gallery-page .gt-drive-grid {display:grid!important;columns:auto!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:clamp(42px,5vw,86px)!important;grid-auto-flow:row dense!important;gap:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 5px 22px!important;align-items:stretch!important;overflow:visible!important}
.gt-gallery-page .gt-drive-grid>.gt-drive-card {display:block!important;grid-column:span 3!important;grid-row:span 4!important;position:relative!important;inset:auto!important;top:auto!important;left:auto!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;transform:none!important;margin:0!important;padding:0!important;background:#c7baaa!important;border:2px solid #111!important;outline:5px solid #e7e1d7!important;outline-offset:0!important;box-shadow:3px 4px 0 #111!important;overflow:hidden!important;cursor:zoom-in;break-inside:auto!important;z-index:1}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(7n+2) {grid-column:span 4!important;grid-row:span 5!important;transform:translate(0,14px)!important;z-index:3}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(7n+3) {grid-column:span 2!important;grid-row:span 3!important;transform:translate(-8px,4px)!important;z-index:2}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(7n+4) {grid-column:span 3!important;grid-row:span 3!important;transform:translate(-9px,-6px)!important;z-index:4}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(7n+5) {grid-column:span 5!important;grid-row:span 3!important;z-index:2}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(7n+6) {grid-column:span 4!important;grid-row:span 4!important;transform:translate(-7px,0)!important;z-index:3}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(7n+7) {grid-column:span 3!important;grid-row:span 3!important;transform:translate(-6px,-8px)!important;z-index:4}
.gt-gallery-page .gt-drive-grid>.gt-drive-card img {display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:hover {z-index:10!important;box-shadow:5px 6px 0 #110839!important}
/* Accueil : disposition sur ordinateur */
@media (min-width: 721px) {
	  /* Retirer la marge WordPress autour de l'accueil */
  body.home .wp-block-post-content.has-global-padding:has(.gt-home) {
    padding-left: 0;
    padding-right: 0;
  }

  body.home .wp-block-post-content > .gt-home {
    width: 100%;
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .gt-home {
    --gt-home-edge: clamp(24px, 3vw, 65px);
  }

  /* Séparations jusqu'aux deux bords de la page */
  .gt-home .gt-section {
    border-top: 0;
  }

  .gt-home .gt-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(-1 * var(--gt-home-edge));
    right: calc(-1 * var(--gt-home-edge));
    height: 3px;
    background: #111;
    pointer-events: none;
  }

  /*
   * Section « Une idée / Une peau » :
   * titre à gauche, tuile puis texte à droite.
   * La tuile occupe désormais sa propre place.
   */
  .gt-home .gt-section:has(> .gt-two) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 26px;
    row-gap: 24px;
    align-items: start;
  }

  .gt-home .gt-section > .gt-two {
    display: contents;
  }

  .gt-home .gt-two > .gt-page-title {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    width: 100%;
    min-width: 0;
  }

  .gt-home .gt-two > .gt-page-title .gt-page-title__first,
  .gt-home .gt-two > .gt-page-title .gt-page-title__second {
    margin-left: 0;
  }

  .gt-home .gt-two > .gt-page-title .gt-page-title__second {
    font-size: clamp(60px, 8vw, 140px);
  }

  .gt-home .gt-section > .gt-stamp--three {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin: 0 10px 8px 0;
  }

  .gt-home .gt-two > div:not(.gt-page-title) {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
  }

  /* Boutons placés à droite : prolongement jusqu'au bord droit */
  .gt-home .gt-intro .gt-btn,
  .gt-home .gt-gallery-detail .gt-btn {
    flex-shrink: 0;
    margin-left: 0;
    margin-right: calc(-1 * var(--gt-home-edge));
    padding-left: 22px;
    padding-right: calc(22px + var(--gt-home-edge));
    white-space: normal;
  }

  .gt-home .gt-two .gt-btn {
    width: calc(100% + var(--gt-home-edge));
    max-width: none;
    margin: 18px calc(-1 * var(--gt-home-edge)) 0 0;
    padding-right: calc(22px + var(--gt-home-edge));
  }

  /* Bouton des flashs : prolongement jusqu'au bord gauche */
  .gt-home .gt-flash-cards + .gt-btn {
    margin-left: calc(-1 * var(--gt-home-edge));
    padding-left: calc(22px + var(--gt-home-edge));
  }
}
@media (max-width:720px) {
.gt-gallery-page .gt-drive-grid {grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:clamp(32px,10vw,56px)!important;padding:0 4px 16px!important;overflow:hidden!important}
.gt-gallery-page .gt-drive-grid>.gt-drive-card {grid-column:span 3!important;grid-row:span 4!important;transform:none!important;outline:3px solid #e7e1d7!important}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(5n+2) {grid-column:span 3!important;grid-row:span 5!important;transform:none!important}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(5n+3) {grid-column:span 2!important;grid-row:span 3!important;transform:none!important}
.gt-gallery-page .gt-drive-grid>.gt-drive-card:nth-child(5n+4) {grid-column:span 4!important;grid-row:span 4!important;transform:none!important}
}
.gt-gallery-page { margin:0 !important; padding:0 !important; max-width:none !important; color:var(--gt-ink); background:var(--gt-bg); font-family:Arial,Helvetica,sans-serif; }
.gt-gallery-page .gt-gallery-lead { margin:0 0 14px; padding:0 clamp(18px,3vw,48px); max-width:900px; font-size:clamp(16px,1.8vw,24px); font-weight:800; line-height:1.3; }
.gt-gallery-page .gt-gallery-actions { padding:18px clamp(18px,3vw,48px) 35px; }
.gt-gallery-page .gt-gallery-contact { display:inline-block; padding:20px 30px; min-width:270px; border:2px solid var(--gt-night); border-radius:7px; outline:5px solid var(--gt-bg); background:var(--gt-night); color:#fff; font:900 16px/1.2 Arial,sans-serif; text-align:center; text-decoration:none; }
.gt-gallery-page .gt-gallery-contact.is-floating { position:fixed; left:-13px; bottom:20px; z-index:90000; transform:translateY(calc(-1 * var(--gt-contact-lift,0px))); }
.gt-gallery-viewer { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; gap:10px; padding:50px; background:rgba(12,10,13,.96); }
.gt-gallery-viewer[hidden] { display:none; }
.gt-gallery-viewer img { max-height:calc(100dvh - 175px); max-width:calc(100vw - 180px); width:auto; height:auto; object-fit:contain; }
.gt-gallery-viewer button { border:2px solid #eee; background:#110839; color:#fff; cursor:pointer; font-size:25px; padding:8px 13px; }
.gt-gallery-viewer .close { position:absolute; top:10px; right:13px; }
.gt-gallery-viewer .gt-gallery-request { position:absolute; left:50%; bottom:56px; transform:translateX(-50%) rotate(-6deg); border:2px solid #e7e1d7; border-radius:7px; padding:13px 26px; background:#110839; color:#f3ece2; font:900 clamp(17px,2vw,25px)/1.2 Impact,"Arial Black",sans-serif; text-decoration:none; white-space:nowrap; }
.gt-gallery-viewer :focus-visible, .gt-gallery-page .gt-drive-card:focus-visible { outline:3px solid #1784d8 !important; outline-offset:3px; }
@media (max-width:720px) {
  .gt-gallery-page .gt-gallery-lead { margin-bottom:24px; }
  .gt-gallery-page .gt-gallery-contact { min-width:190px; max-width:78vw; padding:15px 22px; font-size:13px; outline-width:4px; }
  .gt-gallery-page .gt-gallery-contact.is-floating { left:-10px; bottom:12px; }
  .gt-gallery-viewer { padding:40px 4px; gap:4px; }
  .gt-gallery-viewer img { max-width:calc(100vw - 90px); max-height:calc(100dvh - 160px); }
  .gt-gallery-viewer button { padding:6px; }
  .gt-gallery-viewer .gt-gallery-request { bottom:46px; max-width:90vw; padding:11px 16px; font-size:17px; white-space:normal; text-align:center; }
}

/* 11 — CONTACT : formulaire Forminator existant et aperçu de référence */
.gt-contact-page { margin:0 !important; padding:0 !important; max-width:none !important; background:var(--gt-bg); color:var(--gt-ink); font-family:Arial,Helvetica,sans-serif; }
.gt-contact-page * { box-sizing:border-box; }
.gt-contact-page .shell { padding:0 clamp(15px,3vw,48px); }
.gt-contact-page .intro { max-width:850px; margin:0 0 14px; font-size:clamp(18px,2.1vw,28px); line-height:1.25; font-weight:900; }
.gt-contact-page .layout { display:grid; grid-template-columns:minmax(190px,.75fr) minmax(0,1.65fr); gap:clamp(20px,4vw,75px); padding-bottom:75px; }
.gt-contact-page .aside { padding-top:14px; min-width:0; }
.gt-contact-page .sticker { display:inline-block; padding:15px 20px; background:#8a312c; color:#fff; transform:rotate(-4deg); box-shadow:4px 4px 0 #111; font-size:clamp(25px,2.7vw,38px); font-weight:900; }
.gt-contact-page .aside p { max-width:290px; margin-top:36px; font-size:15px; line-height:1.6; font-weight:700; }
.gt-contact-page .gt-studio { margin-top:30px; padding:20px 18px 18px; border:1px solid #c8beb0; border-radius:7px; background:#f5eee4; text-align:center; }
.gt-contact-page .gt-studio > p { max-width:none; margin:0 0 12px; font-size:11px; letter-spacing:.08em; font-weight:900; }
.gt-contact-page .gt-studio > strong { display:block; font:900 clamp(32px,3vw,53px)/.88 Impact,"Arial Black",sans-serif; letter-spacing:-.025em; }
.gt-contact-page .gt-studio address { margin-top:19px; font-style:normal; font-size:16px; line-height:1.65; font-weight:800; }
.gt-contact-page .gt-studio address a { color:#111; text-decoration:none; font-weight:900; }
.gt-contact-page .gt-studio-visual { max-width:230px; margin:18px auto 0; }
.gt-contact-page .gt-studio-visual img { display:block; width:100%; height:auto; object-fit:contain; }
.gt-contact-page .formbox { min-width:0; padding:clamp(24px,4.2vw,54px); border:1px solid #ded8ce; border-radius:11px; background:#faf8f3; box-shadow:0 15px 35px rgba(17,8,57,.09); }
.gt-contact-page .formbox h2 { margin:0 0 10px; font:900 clamp(36px,4vw,62px)/1 Impact,"Arial Black",sans-serif; letter-spacing:-.02em; text-align:center; }
.gt-contact-page .hint { max-width:600px; margin:0 auto 32px; font-size:14px; line-height:1.6; text-align:center; color:#383838; }
.gt-contact-page .gt-flash-review { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; column-gap:22px; row-gap:5px; margin:4px 0 27px; padding:17px; border:2px solid #8a312c; border-radius:8px; background:#f5eee8; }
.gt-contact-page .gt-flash-review[hidden] { display:none; }
.gt-contact-page .gt-flash-review-title { grid-column:1/-1; font-size:12px; font-weight:900; letter-spacing:.08em; color:#8a312c; }
.gt-contact-page .gt-flash-review img { grid-column:1; grid-row:2/4; width:140px; max-height:175px; object-fit:contain; margin:0; border-radius:4px; background:#fff; }
.gt-contact-page #gt-form-flash-label { grid-column:2; grid-row:2; font-weight:800; font-size:15px; overflow-wrap:anywhere; }
.gt-contact-page .gt-reference-description { grid-column:2; grid-row:3; margin:0; font-size:13px; line-height:1.5; }
.gt-contact-page #gt-gallery-ref-hint { margin:6px 0 14px; font:400 13px/1.5 Arial,sans-serif; color:#555; }
.gt-contact-page #gt-gallery-ref-hint a { color:#8a312c; text-decoration:underline; }
.gt-contact-page .forminator-ui .forminator-label { color:#26232a !important; font:900 12px Arial,sans-serif !important; }
.gt-contact-page .forminator-ui input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .gt-contact-page .forminator-ui textarea, .gt-contact-page .forminator-ui select { background:#e9eeec !important; border-radius:5px !important; border:1px solid transparent !important; }
.gt-contact-page .forminator-ui button.forminator-button-submit { background:#8a312c !important; color:#fff !important; font-weight:900 !important; border-radius:5px !important; box-shadow:none !important; padding:16px 26px !important; }
@media (max-width:760px) {
  .gt-contact-page .intro { margin-bottom:18px; }
  .gt-contact-page .shell { padding-inline:12px; }
  .gt-contact-page .layout { grid-template-columns:minmax(0,1fr); gap:22px; }
  .gt-contact-page .aside { display:contents; }
  .gt-contact-page .gt-aside-intro { grid-row:1; padding:5px 4px 0; }
  .gt-contact-page .gt-aside-intro p { max-width:none; margin-top:18px; }
  .gt-contact-page .formbox { grid-row:2; padding:20px 12px; }
  .gt-contact-page .hint { text-align:left; }
  .gt-contact-page .gt-studio { grid-row:3; width:calc(100% - 10px); margin:10px auto 26px; }
  .gt-contact-page .gt-studio > strong { font-size:40px; }
}
@media (max-width:560px) {
  .gt-contact-page .gt-flash-review { grid-template-columns:95px minmax(0,1fr); gap:10px; }
  .gt-contact-page .gt-flash-review img { width:95px; max-height:135px; }
}


.gt-contact-page .forminator-ui .forminator-multi-upload-message,
.gt-contact-page .forminator-ui .forminator-multi-upload-message p,
.gt-contact-page .forminator-ui .forminator-multi-upload-message a{font-size:0!important}
.gt-contact-page .forminator-ui .forminator-multi-upload-message:after{content:'Glisse tes images ici ou clique pour les choisir';display:block;font:500 16px Arial,sans-serif!important;color:#111!important}
.gt-contact-page .forminator-ui .forminator-field-upload .forminator-button-upload{font-size:0!important}
.gt-contact-page .forminator-ui .forminator-field-upload .forminator-button-upload:after{content:'Choisir une photo';font:700 14px Arial,sans-serif!important}



.gt-contact-page .forminator-ui .forminator-button-upload,
.gt-contact-page .forminator-ui .forminator-field-upload .forminator-button-upload{
background:#110839!important;color:#fff!important;border-radius:5px!important;border:0!important;padding:13px 16px!important;box-shadow:none!important;cursor:pointer!important}
.gt-contact-page .forminator-ui .forminator-field-upload .forminator-button-upload:after{color:#fff!important}
.gt-contact-page .forminator-ui .forminator-multi-upload,
.gt-contact-page .forminator-ui .forminator-multi-upload-message,
.gt-contact-page .forminator-ui .forminator-multi-upload .forminator-multi-upload-message{
text-align:center!important}
.gt-contact-page .forminator-ui .forminator-multi-upload-message:after{
text-align:center!important;margin:0 auto!important;width:100%!important}
.gt-contact-page .forminator-ui .forminator-multi-upload .forminator-multi-upload-message p{
text-align:center!important}



.gt-contact-page .forminator-ui .forminator-response-message.forminator-success,
.gt-contact-page .forminator-ui .forminator-response-message.forminator-success[role="alert"],
.gt-contact-page .forminator-ui .forminator-response-message.forminator-success.forminator-show{
background:#e9eeec!important;border:2px solid #110839!important;border-left:6px solid #110839!important;color:#110839!important;border-radius:7px!important;box-shadow:none!important}
.gt-contact-page .forminator-ui .forminator-response-message.forminator-success p,
.gt-contact-page .forminator-ui .forminator-response-message.forminator-success strong,
.gt-contact-page .forminator-ui .forminator-response-message.forminator-success span,
.gt-contact-page .forminator-ui .forminator-response-message.forminator-success:before{color:#110839!important}


.gt-contact-page .forminator-ui .forminator-response-message.forminator-success { padding:18px 20px !important; font:700 15px/1.55 Arial,sans-serif !important; }

/* FAQ — Cartes translucides et questions dépliables */
.gt-faq-page {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  background: var(--gt-bg);
  color: var(--gt-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.gt-faq-page * {
  box-sizing: border-box;
}

.gt-faq-content {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 50px) 65px;
}

.gt-faq-intro {
  max-width: 850px;
  margin: 0 0 26px;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.45;
  font-weight: 800;
}

.gt-faq-list {
  display: grid;
  gap: 15px;
  counter-reset: faq;
}

.gt-faq-list details {
  counter-increment: faq;
  background: rgba(250, 248, 243, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 16px;
  box-shadow:
    0 8px 28px rgba(17, 8, 57, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  transition: background 180ms ease, box-shadow 180ms ease;
}

.gt-faq-list summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 26px;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.3;
  font-weight: 900;
}

.gt-faq-list summary::-webkit-details-marker {
  display: none;
}

.gt-faq-list summary::before {
  content: counter(faq, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--gt-red);
  color: #fff;
  box-shadow:
    0 4px 12px rgba(138, 49, 44, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  font: 900 22px/1 Impact, "Arial Black", sans-serif;
  transform: rotate(-4deg);
}

.gt-faq-list summary::after {
  content: "+";
  color: var(--gt-red);
  text-align: center;
  font-size: 30px;
  line-height: 1;
}

.gt-faq-list details[open] {
  background: rgba(255, 253, 249, 0.9);
  border-color: rgba(138, 49, 44, 0.25);
  box-shadow:
    0 12px 32px rgba(17, 8, 57, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.gt-faq-list details[open] > summary::after {
  content: "−";
}

.gt-faq-list summary:focus-visible {
  outline: 3px solid var(--gt-red);
  outline-offset: 5px;
  border-radius: 16px;
}

.gt-faq-answer {
  padding: 0 68px 24px 84px;
  font-size: 17px;
  line-height: 1.7;
}

.gt-faq-answer p {
  margin: 0;
}

.gt-faq-answer a {
  color: var(--gt-red);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gt-faq-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 35px;
  padding-top: 25px;
  border-top: 2px solid #111;
}

.gt-faq-contact p {
  margin: 0;
  font: 900 clamp(24px, 3vw, 36px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-faq-contact .gt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 17px 24px;
  background: var(--gt-red);
  color: #fff;
  border: 2px solid #111;
  box-shadow: 4px 4px 0 #111;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.gt-faq-contact .gt-btn:focus-visible {
  outline: 3px solid #111;
  outline-offset: 6px;
}

/* FAQ — Mobile */
@media (max-width: 700px) {
  .gt-faq-content {
    padding: 0 12px 45px;
  }

  .gt-faq-list summary {
    grid-template-columns: 32px minmax(0, 1fr) 22px;
    gap: 12px;
    padding: 17px 14px;
    font-size: 16px;
  }

  .gt-faq-list summary::before {
    width: 32px;
    height: 35px;
    font-size: 19px;
  }

  .gt-faq-answer {
    padding: 0 18px 20px;
    font-size: 16px;
  }

  .gt-faq-contact {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gt-faq-list details {
    transition: none;
  }
}

/* SOINS — Étapes et conseils */
.gt-care-page {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  background: var(--gt-bg);
  color: var(--gt-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.gt-care-page * {
  box-sizing: border-box;
}

.gt-care-content {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 50px) 65px;
}

.gt-care-intro {
  max-width: 900px;
  margin: 0 0 26px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
  font-weight: 700;
}

.gt-care-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: care;
}

.gt-care-card {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 26px;
  counter-increment: care;
  background: rgba(250, 248, 243, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 16px;
  box-shadow:
    0 8px 28px rgba(17, 8, 57, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.gt-care-card::before {
  content: counter(care, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 20px;
  border-radius: 10px;
  background: var(--gt-red);
  color: #fff;
  box-shadow:
    0 4px 12px rgba(138, 49, 44, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  font: 900 22px/1 Impact, "Arial Black", sans-serif;
  transform: rotate(-4deg);
}

.gt-care-card h3,
.gt-care-alert h3 {
  margin: 0 0 13px;
  font: 900 clamp(25px, 2.5vw, 34px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-care-card p,
.gt-care-alert p {
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
}

.gt-care-alert {
  margin-top: 26px;
  padding: clamp(22px, 3vw, 32px);
  background: rgba(255, 247, 242, 0.8);
  border: 1px solid rgba(138, 49, 44, 0.3);
  border-left: 5px solid var(--gt-red);
  border-radius: 16px;
  box-shadow:
    0 8px 28px rgba(17, 8, 57, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.gt-care-alert h3 {
  color: var(--gt-red);
}

.gt-care-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
  padding-top: 25px;
  border-top: 2px solid #111;
}

.gt-care-contact p {
  flex: 1 1 280px;
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 900;
}

.gt-care-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 17px 24px;
  background: var(--gt-red);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(138, 49, 44, 0.2);
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.gt-care-button:focus-visible {
  outline: 3px solid #111;
  outline-offset: 5px;
}

/* SOINS — Mobile */
@media (max-width: 700px) {
  .gt-care-content {
    padding: 0 12px 45px;
  }

  .gt-care-steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
  }

  .gt-care-card {
    padding: 22px 20px;
  }

  .gt-care-card p,
  .gt-care-alert p {
    font-size: 16px;
  }

  .gt-care-contact {
    align-items: flex-start;
    flex-direction: column;
  }

  .gt-care-contact p {
    flex: none;
  }
}

/* PAGES LÉGALES — Cartes translucides */
.gt-legal-page {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  background: var(--gt-bg);
  color: var(--gt-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.gt-legal-page * {
  box-sizing: border-box;
}

.gt-legal-content {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 50px) 65px;
}

.gt-legal-intro {
  max-width: 900px;
  margin: 0 0 26px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
  font-weight: 700;
}

.gt-legal-card {
  margin: 0 0 20px;
  padding: clamp(22px, 3vw, 34px);
  background: rgba(250, 248, 243, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 16px;
  box-shadow:
    0 8px 28px rgba(17, 8, 57, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  overflow-wrap: anywhere;
}

.gt-legal-card h3 {
  margin: 0 0 18px;
  color: var(--gt-red);
  font: 900 clamp(25px, 2.5vw, 34px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-legal-card p,
.gt-legal-card li {
  font-size: 17px;
  line-height: 1.7;
}

.gt-legal-card p {
  margin: 0 0 14px;
}

.gt-legal-card ul {
  margin: 0 0 16px;
  padding-left: 22px;
}

.gt-legal-card li + li {
  margin-top: 8px;
}

.gt-legal-card > :last-child {
  margin-bottom: 0;
}

.gt-legal-card a {
  color: var(--gt-red);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gt-legal-card a:focus-visible {
  outline: 2px solid var(--gt-red);
  outline-offset: 3px;
}

.gt-legal-date {
  margin: 25px 0 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}

@media (max-width: 700px) {
  .gt-legal-content {
    padding: 0 12px 45px;
  }

  .gt-legal-card {
    padding: 22px 20px;
  }

  .gt-legal-card p,
  .gt-legal-card li {
    font-size: 16px;
  }
}

/* QUI SUIS-JE */

.gt-about-page {
  margin: 0 !important;
  padding: 0 0 45px !important;
  max-width: none !important;
  background: var(--gt-bg);
  color: var(--gt-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.gt-about-page * {
  box-sizing: border-box;
}

/* Sections et titres */

.gt-about-section {
  margin: 0;
  padding: 10px clamp(22px, 4vw, 60px) 22px;
}

.gt-about-section + .gt-about-section {
  padding-top: 15px;
}

.gt-about-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(210px, 24vw, 310px);
  align-items: center;
  gap: clamp(20px, 3vw, 45px);
  margin-bottom: 14px;
}

.gt-about-section-head .gt-page-title {
  min-width: 0;
  padding: 20px 0 12px;
}

.gt-about-section-head .gt-page-title__first,
.gt-about-section-head .gt-page-title__second {
  margin-left: 0;
}

.gt-about-section-head .gt-page-title__second {
  font-size: clamp(48px, 6.5vw, 110px);
  overflow-wrap: anywhere;
}

/* Tuiles rouges */

.gt-about-stamp-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}

.gt-about-page .gt-about-stamp {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 310px;
  margin: 0;
  padding: 20px 22px 24px;
  background: var(--gt-red);
  color: #f3ece2;
  box-shadow: 4px 5px 0 #111;
  transform: rotate(-4deg);
}

.gt-about-page .gt-about-stamp--reverse {
  transform: rotate(3deg);
}

.gt-about-stamp small {
  font-size: 10px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: .08em;
}

.gt-about-stamp span {
  font: 900 clamp(24px, 2.5vw, 35px)/1.05
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

/* Texte continu autour des photos */

.gt-about-copy {
  display: flow-root;
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 8px;
}

/* Ces conteneurs ne coupent plus l'habillage des photos. */
.gt-about-flow {
  display: contents;
}

.gt-about-copy p,
.gt-about-end p {
  margin: 0 0 16px;
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.7;
}

.gt-about-copy strong {
  font-weight: 900;
}

.gt-about-copy .gt-about-lead {
  font-size: clamp(21px, 2.1vw, 28px);
  line-height: 1.45;
  font-weight: 800;
}

.gt-about-copy .gt-about-punch {
  margin-top: 20px;
  color: var(--gt-red);
  font: 900 clamp(26px, 2.8vw, 39px)/1.15
    Impact, "Arial Black", sans-serif;
}

/* Photos : formats naturels, léger décalage et inclinaison */

.gt-about-photo {
  position: relative;
  width: 35%;
  max-width: 360px;
  padding: 8px;
  background: #faf8f3;
  border: 1px solid rgba(17, 17, 17, .12);
  box-shadow: 0 12px 28px rgba(17, 8, 57, .17);
  shape-outside: margin-box;
}

.gt-about-photo::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -10px;
  left: calc(50% - 35px);
  width: 70px;
  height: 23px;
  background: rgba(222, 205, 175, .75);
  transform: rotate(-7deg);
  pointer-events: none;
}

.gt-about-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.gt-about-photo--left {
  float: left;
  clear: both;
  margin: 12px 35px 22px 0;
  transform: rotate(-3deg);
}

.gt-about-photo--right {
  float: right;
  clear: both;
  margin: 12px 0 22px 35px;
  transform: rotate(3deg);
}

.gt-about-photo--portrait {
  width: 26%;
  max-width: 255px;
}

/* Récompenses */

.gt-about-awards {
  display: flow-root;
  clear: both;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 2px solid #111;
}

.gt-about-awards h3 {
  margin: 0 0 20px;
  font: 900 clamp(29px, 3.5vw, 48px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

/* Photos plus petites dans les passages courts. */
.gt-about-awards .gt-about-photo--portrait {
  width: 22%;
  max-width: 210px;
}

/* Philosophie */

.gt-about-manifesto {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(23px, 4vw, 40px);
  background: rgba(250, 248, 243, .72);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 16px;
  box-shadow:
    0 8px 28px rgba(17, 8, 57, .07),
    inset 0 1px 0 rgba(255, 255, 255, .95);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.gt-about-manifesto > :last-child {
  margin-bottom: 0;
}

/* Invitation finale */

.gt-about-end {
  width: calc(100% - 44px);
  max-width: 1084px;
  margin: 12px auto 0;
  padding: clamp(25px, 4vw, 48px);
  background: var(--gt-night);
  color: #faf8f3;
  border-radius: 16px;
}

.gt-about-end h2 {
  margin: 0 0 22px;
  color: inherit;
  font: 900 clamp(30px, 4vw, 53px)/1.05
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 25px;
}

.gt-about-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 52px;
  padding: 17px 22px;
  background: var(--gt-red);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.gt-about-button--secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, .7);
}

.gt-about-button:hover {
  background: #a33b35;
  color: #fff;
}

.gt-about-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

/* Tablette */

@media (max-width: 900px) {
  .gt-about-section-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-bottom: 12px;
  }

  .gt-about-section-head > .gt-about-stamp {
    justify-self: end;
  }

  .gt-about-section-head .gt-page-title__second {
    font-size: clamp(45px, 9vw, 85px);
  }
}

/* Mobile */

@media (max-width: 700px) {
  .gt-about-section {
    padding: 4px 12px 18px;
  }

  .gt-about-section + .gt-about-section {
    padding-top: 8px;
  }

  .gt-about-section-head {
    row-gap: 0;
    margin-bottom: 12px;
  }

  .gt-about-section-head .gt-page-title {
    padding: 16px 0 6px;
  }

  .gt-about-stamp-row {
    margin-top: 4px;
    margin-bottom: 14px;
  }

  .gt-about-page .gt-about-stamp {
    max-width: 245px;
    padding: 14px 17px 18px;
    gap: 10px;
  }

  .gt-about-stamp span {
    font-size: 23px;
  }

  .gt-about-copy {
    padding: 8px 0;
  }

  .gt-about-copy p,
  .gt-about-end p {
    font-size: 16px;
    line-height: 1.65;
  }

  .gt-about-copy .gt-about-lead {
    font-size: 20px;
    line-height: 1.45;
  }

  .gt-about-photo {
    width: 60%;
    max-width: 320px;
    padding: 5px;
  }

  .gt-about-photo--left {
    float: left;
    margin: 12px 14px 18px -12px;
    transform: rotate(-2deg);
  }

  .gt-about-photo--right {
    float: right;
    margin: 12px -12px 18px 14px;
    transform: rotate(2deg);
  }

  .gt-about-photo--portrait,
  .gt-about-awards .gt-about-photo--portrait {
    width: 58%;
    max-width: 290px;
  }

  .gt-about-photo::before {
    top: -7px;
    left: calc(50% - 23px);
    width: 46px;
    height: 17px;
  }

  .gt-about-actions {
    flex-direction: column;
  }

  .gt-about-button {
    width: 100%;
  }
}

/* PRÉPARER SON PROJET DE TATOUAGE */

.gt-project-page {
  margin: 0 !important;
  padding: 0 0 45px !important;
  max-width: none !important;
  background: var(--gt-bg);
  color: var(--gt-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.gt-project-page * {
  box-sizing: border-box;
}

.gt-project-content {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px clamp(20px, 4vw, 50px) 0;
}

.gt-project-content p {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.7;
}

.gt-project-content strong {
  font-weight: 800;
}

/* Introduction */

.gt-project-intro {
  max-width: 900px;
  margin: 0 0 26px;
}

.gt-project-intro .gt-project-kicker {
  margin-bottom: 12px;
  color: var(--gt-red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.gt-project-intro h3 {
  margin: 0 0 22px;
  font: 900 clamp(29px, 3.8vw, 48px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-project-intro > :last-child {
  margin-bottom: 0;
}

/* Six étapes */

.gt-project-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 20px;
}

.gt-project-card {
  min-width: 0;
  padding: clamp(22px, 2.6vw, 32px);
  background: rgba(250, 248, 243, .72);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 16px;
  box-shadow:
    0 8px 28px rgba(17, 8, 57, .07),
    inset 0 1px 0 rgba(255, 255, 255, .95);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.gt-project-card-head {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-bottom: 21px;
}

.gt-project-number {
  display: flex;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--gt-red);
  color: #faf8f3;
  border-radius: 7px;
  box-shadow: 3px 3px 0 #111;
  font: 900 25px/1 Impact, "Arial Black", sans-serif;
  transform: rotate(-5deg);
}

.gt-project-card:nth-child(even) .gt-project-number {
  transform: rotate(4deg);
}

.gt-project-card h3 {
  min-width: 0;
  margin: 0;
  color: var(--gt-ink);
  font: 900 clamp(24px, 2.2vw, 30px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-project-card > :last-child {
  margin-bottom: 0;
}

.gt-project-highlight {
  color: var(--gt-red);
}

/* Invitation finale */

.gt-project-end {
  margin-top: 25px;
  padding: clamp(25px, 4vw, 42px);
  background: var(--gt-night);
  color: #faf8f3;
  border-radius: 16px;
}

.gt-project-end h3 {
  margin: 0 0 20px;
  color: inherit;
  font: 900 clamp(29px, 3.5vw, 43px)/1.1
    Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
}

.gt-project-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 25px;
}

.gt-project-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 52px;
  padding: 17px 22px;
  background: var(--gt-red);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.gt-project-button--secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, .7);
}

.gt-project-button:hover {
  background: #a33b35;
  color: #fff;
}

.gt-project-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

/* Mobile */

@media (max-width: 700px) {
  .gt-project-content {
    padding: 8px 12px 0;
  }

  .gt-project-content p {
    font-size: 16px;
    line-height: 1.65;
  }

  .gt-project-intro {
    margin-bottom: 22px;
  }

  .gt-project-steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .gt-project-card {
    padding: 22px 20px;
  }

  .gt-project-card-head {
    gap: 14px;
    margin-bottom: 18px;
  }

  .gt-project-number {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 23px;
  }

  .gt-project-card h3 {
    font-size: 25px;
  }

  .gt-project-actions {
    flex-direction: column;
  }

  .gt-project-button {
    width: 100%;
  }
}

/* AVIS GOOGLE — slider 508 */

/* Retirer les avatars */
.wp-gr[data-id="508"] .grw-img-wrap {
  display: none !important;
}

/* Retirer le petit logo Google de chaque tuile */
.wp-gr[data-id="508"] .grw-review-inner.rpi-logo-google::before {
  display: none !important;
}
/* Masquer la date */
.wp-gr[data-id="508"] .wp-google-time {
  display: none !important;
}

/* Centrer les étoiles sous le nom */
.wp-gr[data-id="508"] .rpi-row12-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
}

.wp-gr[data-id="508"] .rpi-stars {
  flex: 0 0 auto;
  margin-inline: auto !important;
}
/* Contour rouge autour de chaque avis */
.wp-gr[data-id="508"] .grw-review-inner {
  background: transparent !important;
  border: 2px solid #a52e2c !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
/* Avis développé au-dessus du slider */
.wp-gr.gt-review-expanded {
  position: fixed !important;
  z-index: 100000;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.wp-gr.gt-review-expanded .grw-review-inner {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  background: var(--gt-bg, #e7e1d7) !important;
  border: 2px solid #a52e2c !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .15) !important;
}

.wp-gr.gt-review-expanded .wp-google-feedback {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
}
/* Avis intégrés à l'accueil */
.gt-home .gt-home-reviews > .gt-page-title {
  min-height: 0;
  padding-block: 12px 0;
  margin-bottom: 8px;
}

.gt-home-reviews .gt-page-title__first {
  font-size: clamp(28px, 4.5vw, 64px);
  line-height: .9;
  margin-bottom: -.15em;
  transform: translateY(-6px) rotate(-3deg);
}

.gt-home-reviews .gt-page-title__second {
  font-size: clamp(42px, 8vw, 125px);
}

.gt-home .gt-home-reviews-link {
  margin: 16px 0 0;
  text-align: center;
}

.gt-home-reviews-link a {
  color: var(--gt-red);
  font-size: 14px;
  font-weight: 800;
  text-underline-offset: 4px;
}

.gt-review-close {
  display: block;
  margin: 16px auto 0;
  padding: 6px 12px;
  border: 0;
  background: transparent;
  color: #a52e2c;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
/* Boutons de contenu mobiles : prolongement jusqu'au bord correspondant. */
@media (max-width:700px) {
  .gt-about-actions > .gt-about-button,
  .gt-project-actions > .gt-project-button,
  .gt-contact-page .gt-btn {
    box-sizing:border-box;
    width:calc(100% + (100vw - 100%) / 2);
    max-width:none;
    margin-left:calc((100% - 100vw) / 2);
    margin-right:0;
    white-space:normal;
  }
  .gt-about-actions > .gt-about-button:nth-child(even),
  .gt-project-actions > .gt-project-button:nth-child(even) {
    margin-left:0;
    margin-right:calc((100% - 100vw) / 2);
  }
}

/* Avis mobiles : deux cartes lisibles, même moteur de défilement. */
@media (max-width:720px) {
  .wp-gr[data-id="508"]:not(.gt-review-expanded) .grw-review { --col:2 !important; --gap:1 !important; }
  .wp-gr[data-id="508"] { --card-star-size:16px; }
  .wp-gr[data-id="508"] .grw-review-inner { padding:12px 8px !important; }
  .wp-gr[data-id="508"] .wp-google-name { font-size:13px !important; overflow-wrap:anywhere; }
  .wp-gr[data-id="508"] .wp-google-text { font-size:13px !important; line-height:1.45 !important; }
  .gt-home .gt-home-reviews > .gt-page-title { grid-column:1 / -1 !important; padding-top:12px; }
}
.gt-home .gt-shot[role="button"], .gt-home .gt-flash-card[role="button"] { cursor:zoom-in; }
.gt-home [role="button"]:focus-visible { outline:3px solid #1784d8; outline-offset:-3px; }

.gt-global-footer a[href^="tel:"] {
  display: inline-block;
  white-space: nowrap;
}

body:has(.wp-block-navigation__responsive-container.is-menu-open)
.gt-gallery-contact {
  display: none !important;
}

.gt-about-page .gt-page-title__heading[id] {
  scroll-margin-top: 110px;
}