/* GDC — proportions revues visuellement, 17 septembre 2026.
   Identité et composition XD conservées ; aucune mise à l'échelle globale. */
:root {
  --fs-hero: clamp(2.125rem, 3.35vw, 3.75rem);
  --fs-h1: clamp(1.875rem, 2.8vw, 2.75rem);
  --fs-h2: clamp(1.625rem, 2.4vw, 2.375rem);
  --fs-h3: clamp(1.25rem, 1.75vw, 1.625rem);
  --fs-body: clamp(1.0625rem, 1.3vw, 1.1875rem);
  --fs-small: clamp(.9375rem, 1.1vw, 1rem);
  --esp-m: clamp(1.5rem, 2vw, 2rem);
  --esp-l: clamp(2rem, 3.3vw, 3.5rem);
  --esp-xl: clamp(3rem, 5vw, 5rem);
  --btn-h: 3.5rem;
  --btn-px: 1.75rem;
  --gdc-contenu: 1280px;
  --gdc-max: 1440px;
}
.gdc-btn { font-size: 1.125rem; gap: .75rem; line-height: 1.25; padding-block: .75rem; }
.gdc-entete__inner { min-height: 88px; padding-inline: 40px; }
.gdc-entete__logo img { width: 220px; }
.gdc-menu a { font-size: 17px; }
.gdc-nav, .gdc-menu { gap: 32px; }
.gdc-entete__cta { min-height: 46px; font-size: 17px; padding-inline: 24px; }
.gdc-hero { min-height: clamp(480px, 66svh, 660px); padding-block: 64px; }
.gdc-hero h1.elementor-heading-title { margin-bottom: 24px; }
.gdc-hero h2.elementor-heading-title { font-size: clamp(1.375rem, 2vw, 1.875rem); font-weight: 500; margin-bottom: 36px; }
.gdc-hero__actions { gap: 20px; }
.gdc-hero__actions img { width: 26px; }
.gdc-pied__logo { width: 280px; }
.gdc-raison__icone img { width: 64px; }
@media (max-width: 1100px) {
  .gdc-entete__inner { min-height: 76px; padding-inline: 24px; }
  .gdc-entete__logo img { width: 180px; }
  .gdc-nav { gap: 24px; }
}
@media (max-width: 640px) {
  .gdc-entete__inner { min-height: 70px; padding-inline: 20px; }
  .gdc-entete__logo img { width: 160px; }
  .gdc-hero { min-height: 520px; padding-block: 48px; }
  .gdc-hero h1.elementor-heading-title { line-height: 1.15; }
  .gdc-hero h2.elementor-heading-title { font-size: 21px; line-height: 1.4; margin-bottom: 28px; }
  .gdc-hero__actions { gap: 14px; }
  .gdc-hero__actions .gdc-btn { min-height: 52px; font-size: 17px; }
}
/* Les lots de soins imposaient encore des boutons de 474 px de large. */
.gdc-hero .gdc-hero__actions .gdc-btn { min-width: 0; }
.gdc-btn img { width: 26px; height: auto; }
@media (min-width: 1101px) {
  .home .elementor .elementor-section.gdc-hero { background-position: center 62% !important; }
}
/* Formulaire : même langage visuel, champs à taille de lecture. */
.elementor-section.gdc-contact__formulaire > .elementor-container { max-width: 1040px; padding-inline: 24px; }
.gdc-formulaire { --champ-retrait: 24px; }
.gdc-formulaire .fluentform .ff-el-form-control { min-height: 56px; padding-block: 14px; font-size: 17px; }
.gdc-formulaire .fluentform .ff_input-group { min-height: 56px; }
.gdc-formulaire .fluentform textarea.ff-el-form-control { min-height: 160px; }
.gdc-formulaire .fluentform .ff-btn-submit { min-width: 220px; font-size: 18px; }
#gdc-formulaire { scroll-margin-top: 110px; }
@media (max-width: 640px) {
  .elementor-section.gdc-contact__formulaire > .elementor-container { padding-inline: 20px; }
  #gdc-formulaire { scroll-margin-top: 90px; }
}

/* Seconde passe : échelle de l’ensemble du contenu, après capture Cem 12h53. */
:root {
  --gdc-contenu: 1120px;
  --gdc-max: 1280px;
  --fs-hero: clamp(2.125rem, 3vw, 3.25rem);
  --fs-h1: clamp(1.75rem, 2.3vw, 2.125rem);
  --fs-h2: clamp(1.625rem, 2vw, 2rem);
  --fs-h3: clamp(1.25rem, 1.6vw, 1.5rem);
  --fs-body: 1.0625rem;
  --esp-m: 24px;
  --esp-l: clamp(28px, 2.5vw, 40px);
  --esp-xl: clamp(36px, 3.5vw, 56px);
  --btn-h: 50px;
}
.gdc-entete__inner { min-height: 80px; }
.gdc-entete__logo img { width: 200px; }
.gdc-hero { min-height: clamp(420px, 58svh, 560px); padding-block: 48px; }
.gdc-hero h2.elementor-heading-title { font-size: clamp(21px, 1.6vw, 26px); }
.gdc-btn { font-size: 17px; }
.gdc-bloc { padding-block: 36px; }
.gdc-bloc > .elementor-container { max-width: 1080px; gap: 56px; }
.gdc-rond img { width: min(100%, 360px); border-width: 2px; }
.gdc-bloc__titre .elementor-heading-title { margin-bottom: 20px; }
.gdc-carte { aspect-ratio: auto; height: clamp(260px, 24vw, 420px); }
.gdc-carte__label { font-size: 22px; bottom: 28px; }
.gdc-temoignage__etoiles { width: 220px; }
.gdc-temoignage__bloc { max-width: 1040px; }
.gdc-pied__logo { width: 220px; }
@media (max-width: 900px) {
  .gdc-bloc > .elementor-container { gap: 24px; }
  .gdc-rond img { width: min(100%, 300px); }
}
@media (max-width: 640px) {
  .gdc-entete__inner { min-height: 70px; }
  .gdc-entete__logo img { width: 160px; }
  .gdc-hero { min-height: 480px; }
  .gdc-bloc { padding-block: 28px; }
  .gdc-rond img { width: min(100%, 260px); }
  .gdc-carte { height: 270px; }
  .gdc-carte__label { font-size: 22px; }
}
/* Même échelle sur les hubs, fiches de soins et portrait du praticien. */
:root { --soin-visuel: 360px; }
.gdc-soin, .gdc-duo, .gdc-lotd-duo { padding-block: 36px; }
.gdc-soin > .elementor-container,
.gdc-duo > .elementor-container,
.gdc-lotd-duo > .elementor-container { max-width: 1120px; gap: 56px; align-items: center; }
.gdc-soin > .elementor-container { grid-template-columns: minmax(0,360px) minmax(0,1fr); }
.gdc-duo__media, .gdc-lotd-duo__media { flex: 0 0 360px; max-width: 360px; }
.gdc-duo__rond img, .gdc-lotd-duo__rond img,
.gdc-lote .gdc-e-portrait img { width: min(100%,360px); border-width: 2px; }
.gdc-bloc__titre .elementor-heading-title { font-size: 22px; }
.gdc-e-hero { min-height: clamp(360px,58svh,560px); }
.gdc-lotd.gdc-raisons > .elementor-container { gap: 32px; }
.gdc-lotd-cta .gdc-btn img, .gdc-btn--tel .gdc-btn__picto-tel { width: 26px; }
@media (max-width: 900px) {
  .gdc-soin > .elementor-container { grid-template-columns: minmax(0,1fr); }
  .gdc-soin > .elementor-container,
  .gdc-duo > .elementor-container,
  .gdc-lotd-duo > .elementor-container { gap: 24px; }
  .gdc-duo__media, .gdc-lotd-duo__media { flex: 0 0 auto; max-width: 100%; width: 100%; margin: 0; }
  .gdc-duo__rond img, .gdc-lotd-duo__rond img,
  .gdc-lote .gdc-e-portrait img { width: min(100%,300px); }
}
@media (max-width: 640px) {
  :root { --soin-visuel: 260px; }
  .gdc-soin, .gdc-duo, .gdc-lotd-duo { padding-block: 28px; }
  .gdc-duo__rond img, .gdc-lotd-duo__rond img,
  .gdc-lote .gdc-e-portrait img { width: min(100%,260px); }
  .gdc-lotd.gdc-raisons > .elementor-container { gap: 24px; }
}
.gdc-soin__visuel img { width: min(100%, var(--soin-visuel)); }
.gdc-temoin .gdc-temoignage__bloc { max-width: 1040px; padding-inline: var(--esp-l); }
.gdc-btn.gdc-btn img { width: 24px; height: auto; }
