/* site.css de la maquette v8 : socle v4 puis ajouts v7/v8, concatenes a l'integration
   (l'@import relatif de la maquette pointait vers /v4/, absent du vrai site). */

/* ==========================================================================
   Grangers Recrutement : v4 site.css
   Feuille partagée du site multi-pages : logo or (footer), état actif du menu,
   FAQ dépliables, formulaire de contact. Charge APRÈS les CSS de la v1.
   ========================================================================== */

:root{--font-display:'Playfair Display', Georgia, 'Times New Roman', serif;}

.footer__logo-gold{
  width:128px;height:128px;margin-bottom:1rem;
  background:url("data:image/webp;base64,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") left center / contain no-repeat;
}

.nav__list a[aria-current="page"]{color:var(--gold-deep)}
.nav__list a[aria-current="page"]::after{width:100%}

.faq{max-width:820px;margin:2.6rem auto 0}
.faq-item{border-bottom:1px solid var(--grey-line)}
.faq-item summary{
  cursor:pointer;list-style:none;padding:1.15rem .2rem;
  font-family:var(--font-display);font-size:1.15rem;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--gold-deep);font-size:1.6rem;line-height:1;font-family:var(--font-sans);transition:transform var(--t-fast)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 .2rem 1.15rem;color:var(--muted);max-width:none;margin:0}

.form{background:#fff;border:1px solid var(--grey-line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:var(--shadow-sm)}
.form__grid{display:grid;gap:1.1rem}
@media (min-width:640px){.form__grid{grid-template-columns:1fr 1fr}}
.form__field{display:flex;flex-direction:column;gap:.4rem}
.form__field--full{grid-column:1/-1}
.form__field label{font-size:.9rem;font-weight:600;color:var(--slate)}
.form__field input,.form__field select,.form__field textarea{
  font:inherit;color:var(--ink);background:var(--cream);
  border:1px solid var(--grey-line);border-radius:10px;padding:.72rem .85rem;width:100%;
}
.form__field input:focus,.form__field select:focus,.form__field textarea:focus{outline:none;border-color:var(--gold);background:#fff}
.form__field textarea{min-height:120px;resize:vertical}
.form__consent{grid-column:1/-1;display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--slate)}
.form__consent input{margin-top:.25rem;flex-shrink:0}
.form__actions{grid-column:1/-1;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.form__note{font-size:.85rem;color:var(--grey)}

.credit-num{font-family:var(--font-display);font-size:clamp(4rem,3rem+6vw,7rem);line-height:1;color:#fff}
.credit-num .u{color:var(--gold-soft)}

/* ==========================================================================
   Grangers Recrutement : v7 site.css (« prête pour Content »)
   Visuel identique à la v6 approuvée (or sobre #B8943F en base, jaune vif
   #E8C21E réservé aux CTA principaux, charbon pour les sections foncées).
   Ajouts v7 : styles des pages engendrées (liste et offre), badge « En vedette »,
   conteneurs Connect (formulaires, offres en vedette).
   ========================================================================== */

/* ---------- Couleur tertiaire : jaune d'impact pour les CTA ---------- */
:root{
  --cta:#E8C21E;
  --cta-hover:#D3AE14;
}
.btn--gold.btn--lg,
.btn--cta{--btn-bg:var(--cta);--btn-fg:var(--ink)}
.btn--gold.btn--lg:hover,
.btn--cta:hover{--btn-bg:var(--cta-hover);--btn-fg:var(--ink)}

/* ---------- En-tête deux lignes (desktop) ---------- */
@media (min-width:1024px){
  .site-header{--header-h:126px}
  .site-header__inner{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:"brand cta" "brand menu";
    align-items:center;column-gap:1.5rem;row-gap:.45rem;
  }
  .brand{grid-area:brand;align-self:center}
  .brand img{height:84px}
  .nav{display:contents}
  .nav__cta{grid-area:cta;justify-self:end;align-self:center;gap:1.1rem}
  .nav__list{grid-area:menu;justify-self:end;align-self:center;gap:2rem}
  .nav__list a{white-space:nowrap}
  .nav__cta .nav__lang{padding:2px 10px}
  .nav__cta .btn{padding:2px 12px;font-size:.88rem}
}

/* ---------- Mobile ---------- */
@media (max-width:559px){
  .sectors__grid{grid-template-columns:1fr}
}

/* ---------- Footer : logotype or (filtre, sans contrainte CORS) ---------- */
.footer__brand .footer__logo-gold{
  display:block;width:210px;height:94px;margin-bottom:1.1rem;
  background:url("../img/logo-grangers.webp") left center / contain no-repeat; /* chemin relatif : vaut pour /v7/assets/css/ comme pour /assets/css/ */
  -webkit-mask:none;mask:none;
  filter:brightness(0) saturate(100%) invert(58%) sepia(58%) saturate(462%) hue-rotate(6deg) brightness(93%) contrast(87%);
}

/* ---------- Bloc « Un besoin dans un autre secteur ? » ---------- */
.inline-cta{
  margin-top:3.2rem;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem 2rem;
  background:linear-gradient(180deg,#fff,var(--gold-tint));
  border:1px solid var(--grey-line);border-left:4px solid var(--gold);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem,3vw,2.2rem) clamp(1.5rem,3vw,2.6rem);
  box-shadow:var(--shadow-sm);
}
.inline-cta__txt{flex:1 1 340px}
.inline-cta h3{font-size:1.5rem}
.inline-cta p{margin-top:.5rem;color:var(--muted);font-size:1rem;max-width:56ch}
.inline-cta .btn{flex:0 0 auto}

/* ---------- Section expérience : image + carte flottante ---------- */
.section--dark .split__media .float-stat{background:rgba(255,255,255,.96)}
.section--dark .split__media .float-stat b{font-size:2.2rem;color:var(--gold-deep)}
.section--dark .split__media .float-stat span{max-width:22ch;line-height:1.35}

/* ---------- Section écosystème centrée ---------- */
.eco .section-head p:last-child{margin-top:1.2rem}
.eco .link-arrow{justify-content:center}

/* ==========================================================================
   CONNECT : conteneurs
   ========================================================================== */
/* Formulaires Connect Forms : le conteneur est vide dans la source, loader.js
   le remplit. Le <noscript> voisin porte le repli. */
.cf-form{margin-top:1.6rem}
.cf-form:empty + noscript{display:block}
/* Offres en vedette (accueil) : le conteneur est rempli à chaque build par
   scripts/engendrer.mjs. À zéro offre, la section porte `hidden` dans la source
   et le conteneur reste vide : la règle :has() en est le filet. */
.section--vedette:has(#offres-en-vedette:empty){display:none}
/* `hidden` doit l'emporter sur les display des composants (.jobs__filters est
   en flex, .liste-item aussi) : filtres non branchés, offres filtrées, vedette vide. */
.section--vedette[hidden],.jobs__filters[hidden],.liste-item[hidden]{display:none}

/* ==========================================================================
   PAGES ENGENDRÉES : liste des offres (gabarit/liste.html)
   Classes émises par scripts/engendrer.mjs : .liste-nombre, .liste-vide,
   .liste-offres-items, .liste-item, .liste-lieu. Le div [data-pratcom-jobs]
   entoure la liste déjà rendue.
   ========================================================================== */
.liste-nombre{margin-top:.8rem;color:var(--muted);font-size:var(--fs-200);letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.liste-vide{margin-top:2rem;padding:1.6rem;background:#fff;border:1px dashed var(--grey-line);border-radius:var(--radius);color:var(--muted);text-align:center}
.liste-offres-items{margin-top:2rem;display:grid;gap:1rem}
@media (min-width:760px){.liste-offres-items{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.liste-offres-items{grid-template-columns:1fr 1fr 1fr}}
.liste-item{
  position:relative;display:flex;flex-direction:column;gap:.5rem;
  background:#fff;border:1px solid var(--grey-line);border-radius:var(--radius);
  padding:1.4rem 1.4rem 1.2rem;
  transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);
}
.liste-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.liste-item > a{font-family:var(--font-display);font-size:1.18rem;line-height:1.25;color:var(--ink);font-weight:560}
.liste-item > a::after{content:"";position:absolute;inset:0}   /* toute la carte est cliquable */
.liste-item > a:hover{color:var(--gold-deep)}
.liste-lieu{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--slate)}
.liste-lieu::before{content:"";width:14px;height:14px;flex-shrink:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M12 21s-7-5.2-7-11a7 7 0 0 1 14 0c0 5.8-7 11-7 11Z'/><circle cx='12' cy='10' r='2.5'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M12 21s-7-5.2-7-11a7 7 0 0 1 14 0c0 5.8-7 11-7 11Z'/><circle cx='12' cy='10' r='2.5'/></svg>") center/contain no-repeat;
  color:var(--gold-deep)}

/* Badge « En vedette ». Le générateur trie les offres mises en avant en premier
   mais n'émet pas encore de repère : deux accroches sont prêtes, à retenir dans
   la mission de code : la classe .liste-item--vedette sur le <li>, ou l'attribut
   data-vedette. Le libellé vit dans libelles.json (clé à créer : liste_vedette). */
.liste-item--vedette,
.liste-item[data-vedette]{border-color:var(--gold);background:linear-gradient(180deg,#fff,var(--gold-tint))}
.badge-vedette{
  display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;
  font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);background:var(--cta);padding:.3rem .6rem;border-radius:7px;
}
.badge-vedette::before{content:"\2605";font-size:.8rem}

/* ==========================================================================
   PAGES ENGENDRÉES : page d'une offre (gabarit/offre.html)
   Classes émises : .offre-titre, .offre-lieu, .offre-details (dl), .offre-description,
   .offre-candidature, .offre-retour.
   ========================================================================== */
.offre-head{padding-top:calc(var(--header-h) + 2.4rem)}
.offre-titre{font-size:var(--fs-600);margin-top:.6rem}
.offre-lieu{margin-top:.6rem;color:var(--slate);display:inline-flex;align-items:center;gap:.45rem}
.offre-lieu:empty{display:none}
.offre-grid{display:grid;gap:2.4rem;margin-top:2.4rem}
@media (min-width:920px){.offre-grid{grid-template-columns:1.2fr .8fr;align-items:start}}
.offre-details{
  display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.2rem;
  background:#fff;border:1px solid var(--grey-line);border-radius:var(--radius-lg);
  padding:1.4rem 1.5rem;font-size:.95rem;
}
.offre-details dt{color:var(--grey);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;align-self:baseline}
.offre-details dd{color:var(--ink);margin:0}
.offre-description{max-width:68ch}
.offre-description p{margin-top:1rem;color:var(--ink)}
.offre-description p:first-child{margin-top:0}
.offre-description ul,.offre-description ol{margin:1rem 0 0 1.2rem;list-style:disc}
.offre-description li{margin-top:.35rem}
.offre-candidature{margin-top:1.8rem}
.offre-candidature a{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:1.05rem 2rem;font-weight:600;font-size:var(--fs-400);border-radius:999px;
  background:var(--cta);color:var(--ink);transition:transform var(--t-fast),background var(--t-fast);
}
.offre-candidature a:hover{background:var(--cta-hover);transform:translateY(-2px)}
.offre-retour{margin-top:2.4rem}
.offre-retour a{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--gold-deep)}
.offre-retour a::before{content:"\2190"}

/* ---------- Listes à crochets (candidats) : le crochet est du décor, en CSS ---------- */
.pole__list li{position:relative;padding-left:1.55rem}
.pole__list li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;background:var(--gold);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'><path d='m5 12 5 5L20 7'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'><path d='m5 12 5 5L20 7'/></svg>") center/contain no-repeat}

/* ==========================================================================
   PAGE LÉGALE : politique de confidentialité
   ========================================================================== */
.legal__maj{margin-top:1rem;font-size:.9rem;color:var(--muted)}
.legal__corps{max-width:760px}
.legal__bloc + .legal__bloc{margin-top:2.4rem;padding-top:2.4rem;border-top:1px solid var(--grey-line)}
.legal__bloc h2{font-size:var(--fs-500)}
.legal__bloc p{margin-top:.9rem;color:var(--ink)}
.legal__bloc ul{margin:.9rem 0 0 1.2rem;list-style:disc}
.legal__bloc li{margin-top:.4rem}
.legal__bloc a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}

/* ==========================================================================
   LISTE DES OFFRES : état vide statique (gabarit/liste.html)
   Le générateur émet <p class="liste-vide"> quand il n'y a aucune offre ; le
   bloc .liste-vide-cta qui suit le div [data-pratcom-jobs] n'apparaît qu'alors.
   ========================================================================== */
.liste-vide{max-width:660px;margin-left:auto;margin-right:auto;font-size:1.05rem}
.liste-vide-cta{display:none;max-width:660px;margin:1.2rem auto 0;text-align:center}
[data-pratcom-jobs]:has(.liste-vide) + .liste-vide-cta{display:block}
.liste-vide-cta p{color:var(--muted)}
.liste-vide-cta .btn{margin-top:1rem}
