/* Style complémentaire — site Manon JUND (v1.0)
   Inspiré de l'ambiance de manon.jund.be : fond aubergine, titres en capitales espacées, boutons pilule à contour fin.
   Chargé après le thème grâce à l'exception validée par Arnaud le 30/10/2026. */

:root {
  --ez-fond: #3F3134;
  --ez-surface: #4A3A3E;
  --ez-texte: #F4EDE6;
  --ez-texte-doux: #D8CBC2;
  --ez-bord: #6A5459;
  --ez-primaire: #F4EDE6;
  --ez-accent: #E8A988;
  --ez-sur-accent: #3F3134;
  --ez-sur-primaire: #3F3134;
  --ez-ombre: rgb(0 0 0 / .35);
}

/* Titres : capitales très espacées, graisse normale */
h1, h2 { text-transform: uppercase; letter-spacing: .22em; font-weight: 400; line-height: 1.35; }
h1 { font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.4rem); }
h2 { font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); }
h3 { font-weight: 600; letter-spacing: .02em; }
.ez-marque { text-transform: uppercase; letter-spacing: .25em; font-weight: 400; font-size: 1rem; }
.ez-navigation a { text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; font-weight: 400; }

/* Texte un peu plus grand et aéré, comme la référence */
body { font-size: 1.1rem; line-height: 1.75; }
.ez-hero-sous-titre { font-size: 1.3rem; line-height: 1.8; }

/* Boutons pilule à contour fin */
.ez-bouton, .ez-bouton-lien {
  background: transparent; color: var(--ez-texte);
  border: 1px solid var(--ez-texte); border-radius: 999px; box-shadow: none;
  padding: .9rem 2.6rem; font-family: var(--ez-police-titres); font-weight: 400;
  text-transform: uppercase; letter-spacing: .3em; font-size: .85rem;
  transition: background .2s, color .2s;
}
.ez-bouton:hover, .ez-bouton-lien:hover { background: var(--ez-texte); color: var(--ez-fond); filter: none; }

/* Accueil, ligne 1 : le slogan, centré */
.ez-bloc-hero, .ez-bloc-hero:not(.ez-hero-avec-image) { background: var(--ez-fond); padding: calc(var(--ez-espace) * 1.6) 0 calc(var(--ez-espace) * .6); }
.ez-bloc-hero:not(.ez-hero-avec-image) h1, .ez-bloc-hero:not(.ez-hero-avec-image) h2,
.ez-bloc-hero:not(.ez-hero-avec-image) .ez-hero-sous-titre { color: var(--ez-texte); }
.ez-bloc-hero .ez-hero-texte { max-width: none; text-align: center; }
.ez-bloc-hero:not(.ez-hero-avec-image) h1 { white-space: nowrap; font-size: min(2.1rem, calc((100vw - 3.5rem) / 33)); letter-spacing: .22em; }
@media (max-width: 47.99rem) { .ez-bloc-hero:not(.ez-hero-avec-image) h1 { font-size: calc((100vw - 2.5rem) / 28); letter-spacing: .08em; } }
.ez-bloc-hero + .ez-bloc { padding-top: calc(var(--ez-espace) * .6); }

/* Accueil, ligne 2 : présentation, À propos et CV à gauche, photo à droite */
#accueil .ez-texte-image { align-items: start; gap: calc(var(--ez-espace) * 2); }
#accueil .ez-texte-image h2 { margin-top: 0; }
#accueil .ez-texte-image .ez-texte > p:first-of-type { font-size: 1.3rem; line-height: 1.8; }
#accueil .ez-texte-image p:has(> strong:only-child) { font-family: var(--ez-police-titres); text-transform: uppercase;
  letter-spacing: .22em; font-size: 1.1rem; margin-top: 2rem; margin-bottom: .5rem; }
#accueil .ez-texte-image p:has(> strong:only-child) strong { font-weight: 400; }
#accueil .ez-texte-image p:last-child { margin-top: 2rem; }
#accueil .ez-texte-image p:last-child > a:only-child { display: inline-block; text-decoration: none; color: var(--ez-texte);
  border: 1px solid var(--ez-texte); border-radius: 999px; padding: .9rem 2.6rem; font-family: var(--ez-police-titres);
  text-transform: uppercase; letter-spacing: .3em; font-size: .85rem; transition: background .2s, color .2s; }
#accueil .ez-texte-image p:last-child > a:only-child:hover { background: var(--ez-texte); color: var(--ez-fond); }
#accueil .ez-figure { margin: 0; }
/* Sur mobile : la photo juste au-dessus d'« À propos » */
@media (max-width: 47.99rem) {
  #accueil .ez-texte-image { gap: 0; }
  #accueil .ez-texte-image > .ez-texte { display: contents; }
  #accueil .ez-texte-image > .ez-texte > * { order: 3; }
  #accueil .ez-texte-image > .ez-texte > h2 { order: 1; }
  #accueil .ez-texte-image > .ez-texte > p:first-of-type { order: 1; }
  #accueil .ez-figure { order: 2; margin: 1rem 0 .5rem; }
}
#accueil .ez-figure img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--ez-rayon); }

/* Menu : rester horizontal sur grand écran (le script du moteur bascule à tort en burger) */
@media (min-width: 961px) {
  html.ez-burger .ez-bouton-menu { display: none; }
  html.ez-burger .ez-entete-ligne { flex-wrap: nowrap; }
  html.ez-burger .ez-menu { display: flex; width: auto; flex-direction: row; align-items: center; padding-bottom: 0; }
  html.ez-burger .ez-navigation > ul { flex-direction: row; }
}

/* Détails */
.ez-entete { background: var(--ez-fond); }
.ez-pied { background: #362A2D; }
.ez-etiquettes li { background: transparent; border-color: var(--ez-bord); }
.ez-etape::before { border-color: var(--ez-fond); }

/* Expériences : page qui reprend le module Parcours ; on garde un seul titre */
#experiences > .ez-titre-section { display: none; }

/* Compétences : tableau sobre, domaine à gauche, éléments à droite */
.ez-grille-competences { display: block; margin-top: 1.5rem; border-top: 1px solid var(--ez-bord); }
.ez-competence { display: grid; gap: .4rem 2rem; padding: 1.3rem 0; border-bottom: 1px solid var(--ez-bord); align-items: baseline; }
.ez-competence h3 { font-family: var(--ez-police-titres); text-transform: uppercase; letter-spacing: .2em; font-weight: 400;
  font-size: .9rem; color: var(--ez-accent); margin: 0; }
.ez-competence .ez-etiquettes { display: block; margin: 0; }
.ez-competence .ez-etiquettes li { display: inline; background: none; border: 0; padding: 0; font-size: 1.1rem; }
.ez-competence .ez-etiquettes li + li::before { content: "·"; margin: 0 .7rem; color: var(--ez-texte-doux); }
@media (min-width: 48rem) { .ez-competence { grid-template-columns: 16rem 1fr; } }

/* Contact : accroche à gauche, localisation à droite, bouton « Contactez-moi » en dessous */
#contact .ez-bloc-text .ez-texte { display: grid; gap: 1.5rem 3rem; align-items: start; max-width: none; }
#contact .ez-bloc-text .ez-texte p { margin: 0; }
#contact .ez-bloc-text .ez-texte p:first-child { font-size: 1.2rem; line-height: 1.9; }
#contact .ez-bloc-text .ez-texte p:nth-child(2) { color: var(--ez-texte-doux); border-left: 1px solid var(--ez-bord); padding-left: 1.5rem; }
@media (min-width: 64rem) {
  #contact .ez-bloc-text .ez-texte { grid-template-columns: auto minmax(14rem, 1fr); }
  #contact .ez-bloc-text .ez-texte p:first-child { white-space: nowrap; }
  #contact .ez-bloc-text .ez-texte p:last-child { grid-column: 1 / -1; }
}

/* Contact : boutons ronds à icône (LinkedIn, Instagram, e-mail, CV) */
#contact .ez-bloc-text .ez-texte p:last-child { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 1rem; }
#contact .ez-bloc-text .ez-texte p:last-child a { position: relative; display: inline-block; width: 4.5rem; height: 4.5rem;
  border: 1px solid var(--ez-texte); border-radius: 50%; color: var(--ez-texte); font-size: 0; line-height: 0;
  text-decoration: none; transition: background .2s, color .2s; }
#contact .ez-bloc-text .ez-texte p:last-child a::before { content: ""; position: absolute; inset: 0; margin: auto; width: 2rem; height: 2rem;
  background: currentColor; -webkit-mask: var(--icone) center / contain no-repeat; mask: var(--icone) center / contain no-repeat; }
#contact .ez-bloc-text .ez-texte p:last-child a:hover, #contact .ez-bloc-text .ez-texte p:last-child a:focus-visible { background: var(--ez-texte); color: var(--ez-fond); }
#contact a[href*="linkedin.com"] { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6v14H.2zM8 8h4.4v1.9h.06c.61-1.16 2.1-2.38 4.34-2.38 4.64 0 5.5 3.05 5.5 7.02V22h-4.6v-6.6c0-1.58-.03-3.6-2.2-3.6-2.2 0-2.54 1.72-2.54 3.5V22H8z'/%3E%3C/svg%3E"); }
#contact a[href*="instagram.com"] { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='5.5' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='4.3' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3Ccircle cx='17.4' cy='6.6' r='1.2'/%3E%3C/svg%3E"); }
#contact a[href^="mailto:"] { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='5' width='20' height='14' rx='1.5' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M2.5 6l9.5 7 9.5-7' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E"); }
#contact a[href$=".pdf"] { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M5 1h10l5 5v17H5zM14 2v5h5zM7.6 14.2c0 1.9 1.2 3.2 2.9 3.2 1.1 0 1.9-.5 2.4-1.3l-1.2-.7c-.3.4-.7.7-1.2.7-.9 0-1.4-.8-1.4-1.9s.5-1.9 1.4-1.9c.5 0 .9.3 1.2.7l1.2-.7c-.5-.8-1.3-1.3-2.4-1.3-1.7 0-2.9 1.3-2.9 3.2zM13.3 11.2l1.9 6.1h1.6l1.9-6.1h-1.5l-1.2 4.2-1.2-4.2z'/%3E%3C/svg%3E"); }
@media (max-width: 30rem) {
  #contact .ez-bloc-text .ez-texte p:last-child { gap: 1rem; }
  #contact .ez-bloc-text .ez-texte p:last-child a { width: 4rem; height: 4rem; }
  #contact .ez-bloc-text .ez-texte p:last-child a::before { width: 1.75rem; height: 1.75rem; }
}

/* Pied de page : nom et liens légaux seulement (pas d'adresse, d'e-mail en clair ni de réseaux, repris par les icônes de Contact) */
.ez-pied-coordonnees > p:not(.ez-pied-nom), .ez-pied-reseaux { display: none; }
.ez-pied-grille { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; }
.ez-pied-nom { color: var(--ez-texte); font-weight: 400; text-transform: uppercase; letter-spacing: .25em; }
.ez-pied-legal ul { display: flex; gap: 1.5rem; }
