/* Polices hébergées sur le site (aucun appel à Google Fonts) – SIL Open Font License */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 700;font-display:swap;src:url(../montserrat.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:300 400;font-display:swap;src:url(../montserrat-italic.woff2) format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500 600;font-display:swap;src:url(../caveat.woff2) format('woff2')}
/* Crystaluz – feuille de style partagée (maquette + template Joomla)
   Concept : nuit bleutée apaisée + crème papier, or doux en accent, une seule famille sans-serif + Caveat pour les mots-clés. */
:root{
  --nuit:#2B2E5E;          /* bleu nuit adouci (ex #171B57) */
  --nuit-profond:#1F2249;  /* pied de page */
  --or:#E8CB86;            /* or doux (ex #FED56B) */
  --or-clair:#F0D9A3;
  --or-fonce:#B39A4A;
  --bronze:#6F6129;        /* sur-titres */
  --creme:#F5F1E2;
  --blanc:#FFFFFF;
  --texte:#2B2E5E;
  --texte-doux:#4B4E74;
  --font-texte:'Montserrat','Segoe UI',Arial,sans-serif;
  --font-main:'Caveat','Segoe Script','Brush Script MT',cursive;
  color-scheme:light;
}
[hidden]{display:none!important}
img{max-width:100%}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--creme);color:var(--texte);font-family:var(--font-texte);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2{text-wrap:balance}
p,li{text-wrap:pretty}
a{color:var(--nuit)}a:hover{color:#4A4E8C}
.bg-nuit{background:linear-gradient(rgba(43,46,94,.74),rgba(43,46,94,.74)),var(--nuit) url(img/fond-nuit.webp) center/cover no-repeat}
.bg-creme{background:var(--creme) url(img/fond-creme.webp) center/cover repeat}
.nav a{color:var(--creme);text-decoration:none}
.nav a:hover,.nav a.actif{color:var(--or)}
.nav a.pill{border:1px solid var(--or);color:var(--or);border-radius:999px;padding:9px 18px}
.nav a.pill:hover{background:var(--or);color:var(--nuit)}
.btn-or{background:var(--or);color:var(--nuit);text-decoration:none}
.btn-or:hover{background:var(--or-clair);color:var(--nuit)}
.btn-ligne{color:var(--creme);text-decoration:none;border:1px solid rgba(232,203,134,.7)}
.btn-ligne:hover{background:rgba(232,203,134,.12);color:var(--or)}
.foot a{color:var(--creme);text-decoration:none}
.foot a:hover{color:var(--or)}
.faq summary{cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] .plus{transform:rotate(45deg)}
.champ:focus{outline:2px solid var(--or);outline-offset:1px}
.crumb a{color:rgba(245,241,226,.84);text-decoration:none}
.crumb a:hover{color:var(--or)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--or-fonce);outline-offset:2px}
.ck-btn{min-height:46px;padding:0 22px;border:1px solid var(--nuit);border-radius:999px;font:inherit;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ck-light{background:var(--blanc);color:var(--nuit)}
.ck-dark{background:var(--nuit);color:var(--creme)}
.ico{width:28px;height:28px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico-rond{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--creme);color:var(--bronze);border:1px solid rgba(179,154,74,.45);flex-shrink:0}
.bg-nuit .ico-rond{background:rgba(232,203,134,.08);color:var(--or);border-color:rgba(232,203,134,.4)}
.bg-creme .ico-rond{background:var(--blanc)}
.carte-lien{transition:transform .2s ease, box-shadow .2s ease}
.carte-lien:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(43,46,94,.10)}
@media (prefers-reduced-motion: reduce){.carte-lien{transition:none}.carte-lien:hover{transform:none}}
/* Barre de contact */
.topbar a{color:var(--nuit);text-decoration:none}
/* Menu mobile */
.burger{display:none;align-items:center;gap:10px;margin-top:22px;min-height:46px;padding:0 20px;border:1px solid rgba(232,203,134,.6);border-radius:999px;background:transparent;color:var(--creme);font:inherit;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.burger svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}
.cta-mobile{display:none;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
@media (max-width: 900px){
  .burger{display:inline-flex}
  .cz-top .nav{display:none!important}
  .cz-top .nav.ouvert{display:flex!important;flex-direction:column;align-items:stretch!important;width:100%;max-width:420px;gap:0!important;margin-top:12px!important}
  .cz-top .nav.ouvert a{padding:15px 8px;border-bottom:1px solid rgba(245,241,226,.14);text-align:center}
  .cz-top .nav.ouvert a.pill{margin-top:16px;border-bottom:1px solid var(--or)}
}
@media (max-width: 720px){
  section{padding-top:64px!important;padding-bottom:64px!important}
  .cz-top{min-height:0!important;padding-top:24px!important}
  .cz-top [style*="padding: 72px 0 40px"]{padding:40px 0 32px!important}
  .cz-top [style*="padding: 40px 0 100px"]{padding:28px 0 60px!important}
  .cz-top [style*="height: 110px"]{height:56px!important}
  [style*="height: 90px"]{height:48px!important}
  [style*="gap: 64px"],[style*="gap: 56px"],[style*="gap: 48px"]{gap:32px!important}
  [style*="margin-top: 72px"],[style*="margin-top: 64px"],[style*="margin-top: 56px"],[style*="margin-top: 52px"]{margin-top:36px!important}
  [style*="margin: 96px 0"]{margin:48px 0!important}
  [style*="margin: 48px 0 0"]{margin-top:28px!important}
  [style*="padding: 44px 40px"],[style*="padding: 40px 32px"],[style*="padding: 36px 32px"]{padding:28px 22px!important}
  [style*="font-size: 19px"],[style*="font-size: 18px"]{font-size:17px!important}
  .topbar{font-size:13px!important;gap:2px 14px!important;padding:10px 16px!important}
  .topbar .sep{display:none}
  footer.foot{padding-bottom:104px!important}
  .cta-mobile{display:flex}
}
#ck-reopen{min-height:38px;padding:0 16px;font-size:12px}
@media (max-width: 720px){#ck-reopen{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;left:12px!important}#cookie-banner{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}}

/* ---- Intégration Joomla ---- */
.cz-top{background:linear-gradient(rgba(43,46,94,.74),rgba(43,46,94,.74)),var(--nuit) url(img/fond-nuit.webp) top center/max(100%,1600px) auto no-repeat}
.cz-logo img{width:240px;max-width:70vw}
.home .cz-logo img{width:300px}
.home .cz-hero{min-height:620px}
.cz-hero{display:flex;flex-direction:column;align-items:center;padding:0 24px;box-sizing:border-box}
.cz-main,.cz-main .com-content-article,.cz-main .com-content-article__body{margin:0;padding:0}
.cz-main .page-header,.cz-main .article-info,.cz-main .icons{display:none}
#system-message-container{max-width:960px;margin:0 auto;padding:0 24px}
#system-message-container joomla-alert{display:block;margin:16px 0;padding:14px 18px;border-radius:4px;background:var(--creme);color:var(--nuit)}
@media (max-width: 720px){.home .cz-hero{min-height:0}}

/* v4 – mobile & lisibilité */
.cz-main img{height:auto}
.cz-main table{max-width:100%}
.cz-main a{overflow-wrap:anywhere}
.faq summary{min-height:44px}
@media (max-width: 720px){.cz-main [style*="grid-template-columns: minmax(110px, 160px) 1fr"]{grid-template-columns:1fr!important;gap:4px!important}}


/* === Accueil : 7 outils sur une seule ligne (01/10/2026) === */
@media (min-width: 1100px) {
  .cz-main [style*="minmax(200px, 1fr)"]:has(> a:nth-child(7):last-child) { grid-template-columns: repeat(7, 1fr) !important; }
  .cz-main [style*="minmax(200px, 1fr)"]:has(> a:nth-child(7):last-child) > a { padding: 32px 6px !important; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
}

/* === Dynamisme & attractivité (oct. 2026) === */
.btn-or,.btn-ligne{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.btn-or{box-shadow:0 4px 14px rgba(179,154,74,.22)}
.btn-or:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(179,154,74,.38)}
.btn-ligne:hover{transform:translateY(-2px)}
main figure{transition:transform .25s ease,box-shadow .25s ease}
main figure:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(43,46,94,.10)}
html.cz-js .cz-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
html.cz-js .cz-reveal.cz-in{opacity:1;transform:none}
.cz-sticky{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(31,34,73,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 24px rgba(0,0,0,.18);transform:translateY(-110%);transition:transform .35s ease}
.cz-sticky.on{transform:none}
.cz-sticky-in{max-width:1200px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cz-sticky img{height:34px;width:auto;display:block;mix-blend-mode:lighten}
.cz-sticky nav{display:flex;gap:26px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.cz-sticky nav a{color:var(--creme);text-decoration:none}
.cz-sticky nav a:hover,.cz-sticky nav a.actif{color:var(--or)}
.cz-s-cta{display:flex;align-items:center;gap:18px;flex-shrink:0}
.cz-s-tel{color:var(--creme);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.04em}
.cz-s-tel:hover{color:var(--or)}
.cz-sticky .btn-or{display:inline-flex;align-items:center;min-height:40px;padding:0 22px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
@media (max-width:1150px){.cz-sticky nav{display:none}}
@media (max-width:900px){.cz-sticky{display:none}}
@media (prefers-reduced-motion: reduce){html.cz-js .cz-reveal{opacity:1;transform:none;transition:none}.cz-sticky{transition:none}.btn-or:hover,.btn-ligne:hover,main figure:hover{transform:none}}
@media (min-width:901px){html{scroll-padding-top:72px}}
