/*
Theme Name: GeneratePress Child
Description: Child theme for GeneratePress. You can now safely customize it and not risk losing your customizations.
Author: WPMarmite
Author URI: https://wpmarmite.com
Template: generatepress
Version: 1.0
*/
/*Gutenberg friendly */
/* Option : styles de base des groupes */
.wp-block-group{
  border-radius: var(--radius);
}

/* ========== AUDAE — Tokens ========== */
:root{
  --c-blue: #067BC2;
  --c-black: #1C1A19;
  --c-brown: #3A3123;
  --c-gold: #C78A20;

  --c-bg: #ffffff;
  --c-soft: #f6f6f6;

  --font-body: "Raleway", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-heading: "Raleway", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --radius: 18px;

  --fs-base: 16px;
  --lh-base: 1.65;

  --h1: clamp(2.2rem, 3.4vw, 3.2rem);
  --h2: clamp(1.6rem, 2.4vw, 2.2rem);
  --h3: 1.25rem;
  --h4: 1.05rem;
}

/* ========== Base typo ========== */
body{
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--c-black);
}

h1,h2,h3,h4{
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin: 0 0 .55em;
}

h1{ font-size: var(--h1); }
h2{ font-size: var(--h2); }
h3{ font-size: var(--h3); }
h4{ font-size: var(--h4); }

p{ margin: 0 0 1.1em; }
a{ color: var(--c-blue); text-underline-offset: 3px; }
a:hover{ opacity: .85; }

/* Kicker / “petit titre” en or */
.kicker{
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  font-size: .85rem;
  color: var(--c-gold);
  margin: 0 0 .8rem;
}

/* Lead text (intro paragraphe) */
.lead{
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--c-brown);
  max-width: 62ch;
}

.muted{
  color: rgba(28,26,25,.7);
}

/* Liens discrets */
.link-soft{
  color: rgba(28,26,25,.75);
}

/* ========== Boutons ========== */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;

  /* le fix principal */
  line-height: 1;              /* évite le “bloc” de ligne */
  padding: 0 1.35rem;          /* on gère la hauteur via min-height */
  min-height: 56px;            /* hauteur stable, texte centré */
  white-space: nowrap;

  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .08s ease, opacity .12s ease;
    font-feature-settings: "liga" 0;
}

/* bouton gutenberg*/
.wp-block-button__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-height: 56px;
  padding: 0 1.35rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.btn:active{ transform: translateY(1px); }

.btn--primary{
  background: var(--c-blue);
  color: #fff;
}

.btn--accent{
  background: var(--c-gold);
  color: #fff;
}

.btn--ghost{
  background: transparent;
  border-color: rgba(28,26,25,.18);
  color: var(--c-black);
}

/* WP Gutenberg buttons */
.wp-block-button__link{
  border-radius: 999px;
  padding: .95rem 1.35rem;
  font-weight: 700;
  text-decoration: none;
}

/* ========== Styleguide wrapper (ne touche pas le site hors de la page) ========== */
.sg{
  padding: 48px 0;
}

.sg__wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

.sg__divider{
  border: 0;
  height: 1px;
  background: rgba(28,26,25,.12);
  margin: 34px 0;
}

.sg__section{ margin: 0 0 22px; }

.sg__row{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* Swatches */
.sg__swatches{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 800px){
  .sg__swatches{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.swatch{
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: var(--radius);
  background: var(--c-soft);
}

.swatch__chip{
  width: 44px;
  height: 44px;
  border-radius: 12px;
}

.swatch__meta{ font-size: .95rem; }

/* Cards (accompagnements) */
.cards{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1000px){
  .cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .cards{ grid-template-columns: 1fr; }
}

.card{
  background: #fff;
  border-radius: var(--radius);
  box-shadow: 0 10px 30px rgba(28,26,25,.06);
  padding: 18px 18px 16px;
}

.card__icon{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 2px solid var(--c-gold);
  display: grid;
  place-items: center;
  color: var(--c-gold);
  font-weight: 700;
  margin-bottom: 12px;
}

.card__title{
  font-size: 1.15rem;
  margin-bottom: .4rem;
}

.card__text{
  color: rgba(28,26,25,.74);
  margin-bottom: 1.2rem;
}

.card__link{
  color: var(--c-black);
  font-weight: 700;
  text-decoration: none;
}
.card__link:hover{ opacity: .8; }

/* Form */
.form{
  background: var(--c-soft);
  border-radius: var(--radius);
  padding: 18px;
}
.form__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
@media (max-width: 640px){
  .form__grid{ grid-template-columns: 1fr; }
}
input, textarea{
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(28,26,25,.18);
  padding: .75rem .85rem;
  font: inherit;
}
label{ font-weight: 700; font-size: .95rem; }


/*AJOUTS*/

.entry-header {
	text-align:center;
	margin:2%;
}

.content-area, body {
	background-color:white;
}

/* Sticky header (GP free) */
#masthead.site-header{
  position: sticky;
  top: 0;
  z-index: 9999;

  /* “flou arrière-plan” + opacité */
  background: rgba(255,255,255,.90);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);

  /* “ombre portée” */
  box-shadow: 0 10px 30px rgba(28,26,25,.08);

  /* rendu plus smooth */
  transition: box-shadow .2s ease, background-color .2s ease, backdrop-filter .2s ease;
}

/* Si WP admin bar */
body.admin-bar #masthead.site-header{
  top: 32px;
}
@media (max-width: 782px){
  body.admin-bar #masthead.site-header{ top: 46px; }
}


/*HEADER BTN+LINKEDIN*/
/* Bouton Contact dans le menu */
.main-navigation .menu-btn > a{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* taille */
  height: 40px;              /* <-- clé : fixe la hauteur */
  padding: 0 14px;           /* largeur du pill */
  line-height: 1;            /* évite le décentrage */

  margin:0 30px;

  background: var(--c-gold);
  color: #fff !important;
  border-radius: 999px;

  font-weight: 700;
  font-size: 14px;           /* petit comme sur XD */
}


.main-navigation .menu-btn > a:hover{
  opacity: .9;
}

/* --- LinkedIn menu item avec SVG --- */
/* LinkedIn menu item — SVG en background (safe) */
.main-navigation .menu-linkedin > a{
  width: 34px;
  height: 34px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0 !important;
  margin-left: 8px;

  border-radius: 6px;
  background-color: transparent;

  background-image: url("img/linkedin.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;

  font-size: 0;       /* cache le texte */
  line-height: 1;     /* neutralise GP */
}

/* hover */
.main-navigation .menu-linkedin > a:hover{
  opacity: .85;
}

/* 1) Le conteneur nav doit être transparent */
.main-navigation,
.main-navigation .inside-navigation{
  background-color: transparent !important;
}

/* 2) Les liens du menu (SAUF Contact et LinkedIn) : pas de fond */
.main-navigation .main-nav ul li:not(.menu-btn):not(.menu-linkedin) > a{
  background-color: transparent !important;
}

/* 3) Idem pour les états hover/focus/actif (GP met parfois un fond) */
.main-navigation .main-nav ul li:not(.menu-btn):not(.menu-linkedin) > a:hover,
.main-navigation .main-nav ul li:not(.menu-btn):not(.menu-linkedin) > a:focus,
.main-navigation .main-nav ul li:not(.menu-btn):not(.menu-linkedin).current-menu-item > a{
  background-color: transparent !important;
}






/* Animation d’apparition douce */
.reveal{
  opacity: 0;
  transition: opacity 1s ease !important; /* long exprès pour voir */
}

.reveal.is-visible{
  opacity: 1;
}


.alignwide{
  max-width: 1224px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull{
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/*HEADER PETIT*/
/* Transition douce */
#masthead.site-header,
#masthead.site-header .inside-header,
#masthead.site-header .main-navigation{
  transition: padding .2s ease, min-height .2s ease, transform .2s ease;
}

/* État normal (au top) */
#masthead.site-header .inside-header{
  padding-top: 18px;
  padding-bottom: 18px;
}

/* État réduit (au scroll) ~ -10% */
body.is-scrolled #masthead.site-header .inside-header{
  padding-top: 8px;     /* -2px */
  padding-bottom: 8px;  /* -2px */
}

/* Réduire légèrement le logo */
body.is-scrolled #masthead.site-header .site-logo img,
body.is-scrolled #masthead.site-header .site-logo svg{
  transform: scale(1);  /* -10% */
  transform-origin: left center;
}

/* Garder alignement des items du menu */
body.is-scrolled .main-navigation .main-nav ul li a{
  line-height: 28px; /* un poil plus petit que le 40px GP */
}

/* MAIS on ne touche pas au bouton Contact/LinkedIn (tu les gères déjà) */
body.is-scrolled .main-navigation .menu-btn > a,
body.is-scrolled .main-navigation .menu-linkedin > a{
  line-height: 1;
}

/* Transition du logo au shrink */
#masthead.site-header .site-logo img,
#masthead.site-header .site-logo svg{
  transition: transform .2s ease;
}