/*
Theme Name: Lynx Optique — Kadence enfant
Theme URI: https://lynx-solarci.com
Description: Thème enfant Kadence de Lynx Optique Solarci (charte 2026, barre mobile, données structurées). Réalisé par WIA.DIGITAL.
Author: WIA.DIGITAL
Author URI: https://wia.digital
Template: kadence
Version: 1.3.6
Text Domain: lynx-kadence-child
*/

/* ===== Charte Lynx 2026 ===== */
:root{
  --lynx-bleu:#4E74BF;      /* Bleu Lynx — couleur de marque */
  --lynx-nuit:#162646;      /* Bleu nuit — fonds sombres */
  --lynx-blanc:#FFFFFF;
  --lynx-voile:#E9EFFA;     /* Bleu voile — blocs clairs */
  --lynx-noir:#000000;
  --lynx-gris:#6E6E6E;      /* Gris verre — légendes */
  --lynx-bleu-clair:#8BA6DC;/* sur-titres sur fond nuit */
}
body{color:var(--lynx-nuit);font-family:'Inter',Arial,sans-serif;line-height:1.6}
h1,h2,h3,.entry-title,.wp-block-heading{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600;letter-spacing:.02em;color:var(--lynx-nuit)}
.lynx-nuit h1,.lynx-nuit h2,.lynx-nuit h3,.lynx-nuit p,.lynx-nuit li{color:#fff}
.lynx-nuit{background:var(--lynx-nuit);color:#fff}
.lynx-voile{background:var(--lynx-voile)}
.lynx-bleu{background:var(--lynx-bleu);color:#fff}.lynx-bleu h2,.lynx-bleu p{color:#fff}
h4,h5,h6{font-family:'Inter',Arial,sans-serif;font-weight:600}

/* Sur-titre : rappel du logo (MAJUSCULES interlettrées) — ajouter la classe CSS « lynx-surtitre » au module Texte */
.lynx-surtitre,.lynx-surtitre p{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.25em;color:var(--lynx-bleu);margin-bottom:.6em}
.lynx-nuit .lynx-surtitre,.lynx-nuit .lynx-surtitre p{color:var(--lynx-bleu-clair)}

/* Filet sous titre — classe « lynx-filet » sur le module Titre */
.lynx-filet:after{content:"";display:block;width:180px;height:3px;background:var(--lynx-bleu);margin-top:18px}
.lynx-filet.centre:after{margin-left:auto;margin-right:auto}

/* Boutons (bloc Boutons : classe « lynx-plein » ou « lynx-contour » sur le bouton) */
.wp-block-button__link{border-radius:2px;letter-spacing:.06em;font-family:'Inter',Arial,sans-serif;font-weight:600;padding:.9em 1.6em;transition:background .2s,color .2s,border-color .2s}
.lynx-plein .wp-block-button__link{background:var(--lynx-bleu);color:#fff;border:2px solid var(--lynx-bleu)}
.lynx-plein .wp-block-button__link:hover{background:var(--lynx-nuit);border-color:var(--lynx-nuit);color:#fff}
.lynx-contour .wp-block-button__link{background:transparent;color:inherit;border:2px solid currentColor}
.lynx-contour .wp-block-button__link:hover{background:var(--lynx-bleu);border-color:var(--lynx-bleu);color:#fff}

/* Sections pleine largeur : bloc Groupe avec la classe « lynx-section » */
.lynx-section{padding:clamp(48px,7vw,96px) 20px}
.lynx-section > *{max-width:1140px;margin-left:auto;margin-right:auto}
.lynx-heros{min-height:78vh;display:flex;flex-direction:column;justify-content:center}
.lynx-cartes .wp-block-column{background:#fff;padding:28px;box-shadow:0 8px 24px rgba(22,38,70,.08);border-top:3px solid var(--lynx-bleu)}
.lynx-voile .lynx-cartes .wp-block-column{background:#fff}
details.lynx-bascule{border-bottom:1px solid var(--lynx-voile);padding:14px 0}
details.lynx-bascule summary{cursor:pointer;font-weight:600;color:var(--lynx-nuit)}
.lynx-nuit details.lynx-bascule summary{color:#fff}

/* Grille de logos de marques : niveaux de gris, couleur au survol — classe « lynx-logos » sur la section ou la galerie */
.lynx-logos img{filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.lynx-logos a:hover img,.lynx-logos img:hover{filter:none;opacity:1}

/* Cartes magasins — classe « lynx-carte-magasin » sur les colonnes */
.lynx-carte-magasin{border-top:3px solid var(--lynx-bleu);background:#fff;padding:28px!important;box-shadow:0 8px 24px rgba(22,38,70,.08)}

/* Filigrane œil — classe « lynx-filigrane » sur une section (fichier oeil-lynx-bleu.svg téléversé dans les médias) */
.lynx-filigrane{position:relative;overflow:hidden}
.lynx-filigrane:before{content:"";position:absolute;right:-180px;top:50%;width:700px;height:700px;transform:translateY(-50%);background:url(images/oeil-lynx-bleu.svg) center/contain no-repeat;opacity:.08;pointer-events:none}

/* Mention collection (pages marques) */
.lynx-mention{font-size:13px;color:var(--lynx-gris)}

/* ===== Barre mobile fixe : Appeler · WhatsApp · Itinéraire ===== */
.lynx-barre{display:none}
@media (max-width:980px){
  .lynx-barre{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;background:var(--lynx-nuit);box-shadow:0 -4px 16px rgba(0,0,0,.18);padding-bottom:env(safe-area-inset-bottom)}
  .lynx-barre a,.lynx-barre button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;color:#fff;font:600 12px/1 'Inter',Arial,sans-serif;letter-spacing:.04em;text-decoration:none;background:none;border:0;border-right:1px solid rgba(255,255,255,.12);cursor:pointer}
  .lynx-barre > :last-child{border-right:0}
  .lynx-barre svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8}
  body{padding-bottom:64px}
  .lynx-appel{position:fixed;left:12px;right:12px;bottom:76px;z-index:100000;background:#fff;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:8px;display:none}
  .lynx-appel.ouvert{display:block}
  .lynx-appel a{display:block;padding:14px 12px;color:var(--lynx-nuit);font:600 15px 'Inter',Arial,sans-serif;text-decoration:none;border-bottom:1px solid var(--lynx-voile)}
  .lynx-appel a:last-child{border-bottom:0}
  .lynx-appel small{display:block;color:var(--lynx-gris);font-weight:400;font-size:12px;margin-top:2px}
}

/* Grille de logos */
.lynx-grille-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px;margin:32px 0}
.lynx-grille-logos a{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--lynx-voile);aspect-ratio:1/1;padding:14px;transition:border-color .2s,box-shadow .2s}
.lynx-grille-logos a:hover{border-color:var(--lynx-bleu);box-shadow:0 6px 18px rgba(22,38,70,.10)}
.lynx-grille-logos img{max-width:100%;height:auto}
@media (max-width:600px){.lynx-grille-logos{grid-template-columns:repeat(3,1fr);gap:10px}}

/* Contenu pleine largeur sur Kadence */
.content-container.site-container{max-width:none;padding:0}
.entry-content-wrap{padding:0!important}
.entry.single-entry{box-shadow:none}
.has-text-align-center{text-align:center}
.wp-block-embed iframe{width:100%}

/* Pied de page Lynx */
.lynx-pied{background:var(--lynx-nuit);color:#cfd8ea;padding:56px 20px 24px;font-size:15px}
.lynx-pied .lynx-pied-in{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px}
.lynx-pied h3{color:#fff;font-size:20px;margin:0 0 12px}
.lynx-pied a{color:#fff;text-decoration:none}.lynx-pied a:hover{color:var(--lynx-bleu-clair)}
.lynx-pied ul{list-style:none;margin:0;padding:0}.lynx-pied li{margin:0 0 6px}
.lynx-pied .lynx-bas{max-width:1140px;margin:40px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:13px}
@media (max-width:900px){.lynx-pied .lynx-pied-in{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.lynx-pied .lynx-pied-in{grid-template-columns:1fr}}

/* En-tête : logo seul, taille lisible */
.site-branding .site-title-wrap{display:none}
.site-branding a.brand img.custom-logo,.site-branding img{width:230px;max-width:58vw;height:auto;max-height:none}
@media (max-width:1024px){.site-branding img{width:180px}}
.main-navigation .primary-menu-container > ul > li.menu-item > a{font-family:'Inter',Arial,sans-serif;font-weight:600;letter-spacing:.04em}
.main-navigation .primary-menu-container > ul > li.current-menu-item > a{color:var(--lynx-bleu)}

/* =================== v1.3 — rendu vivant =================== */
:root{--lynx-rayon:14px;--lynx-ombre:0 14px 40px rgba(22,38,70,.12);--lynx-ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}

/* Images arrondies, zoom doux au survol */
.entry-content .wp-block-image img,.entry-content .wp-block-gallery img{border-radius:var(--lynx-rayon)}
.entry-content .wp-block-image,.entry-content .wp-block-gallery figure.wp-block-image{overflow:hidden;border-radius:var(--lynx-rayon)}
.entry-content .wp-block-image img,.entry-content .wp-block-gallery img{transition:transform .9s var(--lynx-ease),filter .6s}
.entry-content .wp-block-image:hover img,.entry-content .wp-block-gallery figure:hover img{transform:scale(1.05)}
.entry-content .wp-block-columns .wp-block-image{box-shadow:var(--lynx-ombre)}
.entry-content .wp-block-gallery{gap:14px!important}
.entry-content .wp-block-gallery figure{cursor:zoom-in}
.wp-block-embed iframe{border-radius:var(--lynx-rayon)}
iframe[src*="google.com/maps"]{border-radius:var(--lynx-rayon)!important;box-shadow:var(--lynx-ombre)}

/* Cartes : arrondi + soulèvement */
.lynx-cartes .wp-block-column{border-radius:var(--lynx-rayon);transition:transform .4s var(--lynx-ease),box-shadow .4s}
.lynx-cartes .wp-block-column:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(22,38,70,.16)}
.lynx-section .wp-block-columns .wp-block-column h3 a{text-decoration:none;color:inherit;background:linear-gradient(var(--lynx-bleu),var(--lynx-bleu)) 0 100%/0 2px no-repeat;transition:background-size .35s}
.lynx-section .wp-block-columns .wp-block-column h3 a:hover{background-size:100% 2px}

/* Boutons : soulèvement */
.wp-block-button__link{border-radius:40px!important;transition:transform .25s var(--lynx-ease),box-shadow .25s,background .25s,color .25s,border-color .25s}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(78,116,191,.35)}

/* Logos */
.lynx-grille-logos a{border-radius:var(--lynx-rayon)}
.lynx-grille-logos a:hover{transform:translateY(-4px)}
.lynx-grille-logos a{transition:transform .35s var(--lynx-ease),border-color .2s,box-shadow .2s}
.lynx-defile{overflow:hidden;position:relative;margin:36px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lynx-defile .lynx-piste{display:flex;gap:22px;width:max-content;animation:lynx-defile 45s linear infinite}
.lynx-defile:hover .lynx-piste{animation-play-state:paused}
.lynx-defile a{flex:0 0 150px;height:150px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--lynx-voile);border-radius:var(--lynx-rayon);padding:16px}
.lynx-defile img{max-width:100%;max-height:100%;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.lynx-defile a:hover img{filter:none;opacity:1}
@keyframes lynx-defile{to{transform:translateX(-50%)}}

/* En-têtes avec image de fond (image posée par functions.php) */
.lynx-heros,.lynx-hero-img{position:relative;overflow:hidden;isolation:isolate}
.lynx-hero-img{min-height:62vh;display:flex;flex-direction:column;justify-content:center}
.lynx-heros::after,.lynx-hero-img::after{content:"";position:absolute;inset:-4%;z-index:-2;background:var(--lynx-hero) center/cover no-repeat;animation:lynx-kenburns 22s ease-in-out infinite alternate}
.lynx-heros::before,.lynx-hero-img::before{z-index:-1!important;opacity:1!important;inset:0!important;width:auto!important;height:auto!important;transform:none!important;right:0!important;top:0!important;background:linear-gradient(100deg,rgba(22,38,70,.94) 0%,rgba(22,38,70,.78) 45%,rgba(22,38,70,.25) 100%)!important}
.lynx-hero-img,.lynx-hero-img h1,.lynx-hero-img p{color:#fff}
.lynx-hero-img .lynx-surtitre,.lynx-hero-img .lynx-surtitre p{color:var(--lynx-bleu-clair)}
.lynx-hero-img .wp-block-image{box-shadow:0 20px 60px rgba(0,0,0,.35)}
.lynx-hero-img .lynx-contour .wp-block-button__link{color:#fff}
@keyframes lynx-kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-1.5%,-1%)}}
.lynx-heros,.lynx-hero-img{clip-path:polygon(0 0,100% 0,100% calc(100% - 46px),50% 100%,0 calc(100% - 46px))}
.lynx-heros h1,.lynx-hero-img h1{font-size:clamp(34px,5.2vw,64px);line-height:1.08;max-width:820px}
.lynx-heros > *{animation:lynx-monte .9s var(--lynx-ease) both}
.lynx-heros > *:nth-child(2){animation-delay:.12s}.lynx-heros > *:nth-child(3){animation-delay:.24s}.lynx-heros > *:nth-child(4){animation-delay:.36s}

/* Bandeau chiffres */
.lynx-chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.lynx-chiffres .n{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:clamp(44px,6vw,72px);color:var(--lynx-bleu);line-height:1}
.lynx-chiffres .l{font-family:'Inter',Arial,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--lynx-gris);margin-top:8px}
@media (max-width:700px){.lynx-chiffres{grid-template-columns:repeat(2,1fr)}}

/* Apparition au défilement */
.lynx-js .lynx-revele{opacity:0;transform:translateY(28px);transition:opacity .9s var(--lynx-ease),transform .9s var(--lynx-ease)}
.lynx-js .lynx-revele.lynx-vu{opacity:1;transform:none}
@keyframes lynx-monte{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* En-tête collant */
#masthead{position:sticky;top:0;z-index:999;transition:box-shadow .3s,background .3s}
.admin-bar #masthead{top:32px}
body.lynx-defile-page #masthead{box-shadow:0 6px 24px rgba(22,38,70,.10);background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px)}

/* Visionneuse photos */
.lynx-lb{position:fixed;inset:0;z-index:100001;background:rgba(10,18,34,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.lynx-lb.ouvert{opacity:1;pointer-events:auto}
.lynx-lb img{max-width:92vw;max-height:84vh;border-radius:var(--lynx-rayon);box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.96);transition:transform .35s var(--lynx-ease)}
.lynx-lb.ouvert img{transform:none}
.lynx-lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:52px;height:52px;border-radius:50%;font-size:26px;cursor:pointer}
.lynx-lb .f{top:20px;right:20px}.lynx-lb .p{left:20px}.lynx-lb .s{right:20px}
.lynx-lb .c{position:absolute;bottom:22px;color:#cfd8ea;font:13px Inter,Arial,sans-serif}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.lynx-js .lynx-revele{opacity:1;transform:none}}
.lynx-hero-marque .wp-block-image{background:#fff;padding:34px;max-width:420px;margin:auto}
.lynx-hero-marque .wp-block-image img{border-radius:0}
.lynx-hero-marque .wp-block-image:hover img{transform:none}

/* portraits : sujet à droite */
.home .lynx-heros::after,.page-id-0 .x{background-position:70% 30%}
.lynx-hero-img::after{background-position:65% 35%}

/* v1.3.2 — photos d'en-tête nettes : à droite, à leur taille, fondu vers le bleu nuit */
.lynx-heros,.lynx-hero-img{background:var(--lynx-nuit)!important}
.lynx-heros::after,.lynx-hero-img::after{inset:0 0 0 auto!important;width:min(52%,760px)!important;background-size:cover!important;background-position:center 30%!important;animation:lynx-kenburns 24s ease-in-out infinite alternate}
.lynx-heros::before,.lynx-hero-img::before{background:linear-gradient(90deg,var(--lynx-nuit) 0%,var(--lynx-nuit) 46%,rgba(22,38,70,.55) 62%,rgba(22,38,70,.05) 100%)!important}
@media (max-width:900px){
  .lynx-heros::after,.lynx-hero-img::after{width:100%!important;opacity:.35}
  .lynx-heros::before,.lynx-hero-img::before{background:linear-gradient(180deg,rgba(22,38,70,.75),rgba(22,38,70,.95))!important}
}
.lynx-hero-marque::after{width:min(40%,560px)!important}
/* v1.3.3 — en-tête des pages marques : photo pleine largeur très atténuée */
.lynx-hero-marque::after{width:100%!important;inset:0!important;opacity:.22;filter:blur(2px) saturate(1.1)}
.lynx-hero-marque::before{background:linear-gradient(120deg,rgba(22,38,70,.92),rgba(22,38,70,.82))!important}

/* v1.3.4 — pied de page */
.lynx-appel{display:none}
.site-footer,.site-footer .site-container{max-width:none!important;padding-left:0!important;padding-right:0!important;overflow:hidden}
.site-footer .site-footer-wrap > .site-bottom-footer-wrap,.site-footer .site-footer-row-container:empty{display:none}
.lynx-pied{width:100%;box-sizing:border-box;position:relative;overflow:hidden;padding:72px 24px 28px;background:radial-gradient(1200px 400px at 85% -10%,rgba(78,116,191,.28),transparent 60%),var(--lynx-nuit)}
.lynx-pied:before{content:"";position:absolute;right:-120px;bottom:-160px;width:520px;height:520px;background:url(images/oeil-lynx-bleu.svg) center/contain no-repeat;opacity:.06;pointer-events:none}
.lynx-pied .lynx-pied-in{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:40px;box-sizing:border-box;position:relative}
.lynx-pied .lynx-pied-in > div{min-width:0}
.lynx-pied h3{font-size:22px;padding-bottom:10px;margin-bottom:14px;position:relative}
.lynx-pied h3:after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--lynx-bleu)}
.lynx-pied p{line-height:1.75;margin:0 0 10px}
.lynx-pied a[href^="tel:"]{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:40px;font-weight:600;transition:background .25s,border-color .25s}
.lynx-pied a[href^="tel:"]:hover{background:var(--lynx-bleu);border-color:var(--lynx-bleu);color:#fff}
.lynx-pied ul li a{position:relative;padding-left:16px}
.lynx-pied ul li a:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:var(--lynx-bleu)}
.lynx-pied .lynx-reseaux{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lynx-pied .lynx-reseaux a{padding:7px 12px;border-radius:40px;background:rgba(255,255,255,.08);font-size:13px;transition:background .25s}
.lynx-pied .lynx-reseaux a:hover{background:var(--lynx-bleu)}
.lynx-pied .lynx-bas{box-sizing:border-box;color:#9fb0cf}
.lynx-pied .lynx-bas a{color:#cfd8ea}
@media (max-width:980px){.lynx-pied .lynx-pied-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:600px){.lynx-pied .lynx-pied-in{grid-template-columns:minmax(0,1fr);gap:28px}.lynx-pied .lynx-bas{flex-direction:column}}
