/* ==========================================================
   LE BESTIAIRE DE FAMBETOU — v4.6 — 02/09/2026
   Compléments localisés à charger APRÈS assets/css/style.css.
   Objectif : ne pas déstabiliser la v4.4 existante.
   ========================================================== */

/* ---------- Identité desktop dans le bandeau supérieur ---------- */
.brand{gap:11px;min-width:0}
.brand-title-desktop{display:flex;flex-direction:column;justify-content:center;line-height:1;text-decoration:none;white-space:nowrap;color:var(--vert-fonce)}
.brand-title-desktop strong{font-family:var(--titre);font-size:1.34rem;font-weight:500;letter-spacing:.025em}
.brand-title-desktop span{margin-top:4px;font-family:var(--titre);font-size:.86rem;font-style:italic;letter-spacing:.045em;color:var(--gris)}
@media(max-width:760px){.brand-title-desktop{display:none!important}}
@media(min-width:761px){.brand-title-mobile{display:none!important}.brand-logo{height:48px;flex:0 0 auto}}
@media(min-width:761px) and (max-width:1180px){
  .brand-title-desktop strong{font-size:1.12rem}.brand-title-desktop span{font-size:.76rem}
  .nav-links{gap:13px!important}.nav-links a{font-size:.82rem!important;letter-spacing:.055em!important}
}

/* ---------- Liste d'espèces : note explicative alignée à gauche ---------- */
.category-head-stage .inventory-note{
  text-align:left!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- Hero : ne plus étirer indéfiniment sur écran géant ---------- */
.species-hero,
.territory-hero-panoramic{
  width:min(100%,2560px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(min-width:2561px){
  .species-hero,.territory-hero-panoramic{box-shadow:0 0 0 1px rgba(89,97,61,.08)}
}

/* ---------- Territoire : intertitres de lecture ---------- */
.territory-intro-block{max-width:900px;margin:0 auto 34px}
.territory-intro-block:last-child{margin-bottom:0}
.territory-intro-block h2{
  margin:0 0 8px!important;
  font-family:var(--titre)!important;
  font-size:clamp(1.65rem,2.8vw,2.3rem)!important;
  font-weight:500!important;
  line-height:1.05!important;
  color:var(--vert-fonce)!important;
}
.territory-intro-block p{margin-top:0}
.territory-external{margin-top:34px;text-align:center}
.territory-external a{color:var(--vert);font-weight:600;text-decoration:none}
.territory-external a:hover{text-decoration:underline}
.headphone-note{margin-top:8px!important;font-family:Candara,"Segoe UI",Arial,sans-serif!important;font-size:.95rem!important;letter-spacing:.035em;color:var(--gris)!important}

/* ---------- À propos : sceau plus présent ---------- */
.about-inline-signature img,
.about-seal img,
img[src*="sceau-rd"]{
  opacity:.92!important;
  filter:grayscale(.15) sepia(.12) saturate(.92) contrast(1.04) brightness(.98)!important;
}

/* ---------- Tampon à sec : relief plus net avec le visuel monochrome ---------- */
.species-hero::before{
  opacity:.20!important;
  filter:grayscale(1) contrast(1.65) brightness(1.08) drop-shadow(-1px -1px 0 rgba(255,255,255,.42)) drop-shadow(1px 1px 0 rgba(33,29,21,.24))!important;
  mix-blend-mode:soft-light!important;
}
.lightbox-content::after{
  filter:grayscale(1) contrast(1.6) brightness(1.18) drop-shadow(-1px -1px 0 rgba(255,255,255,.28)) drop-shadow(1px 1px 0 rgba(0,0,0,.22))!important;
}

/* ---------- UNIVERS v4.6 : trois portes verticales ---------- */
.universe-page-head{padding-bottom:18px!important}
.universe-page-head p{max-width:700px;margin-left:auto;margin-right:auto}
.universe-section{padding-top:18px!important}
.universe-grid{
  grid-template-columns:1fr!important;
  gap:18px!important;
  max-width:720px!important;
  margin:0 auto!important;
}
.universe-card{gap:7px!important;padding:8px 10px 15px!important}
.universe-label{width:min(570px,100%)!important}
.universe-copy{max-width:48ch!important;margin:0!important}
.universe-card--360 .universe-label-fallback{
  width:min(570px,100%);min-height:122px;display:grid;place-items:center;padding:18px 70px;
  border:8px solid #9b815a;outline:2px solid #5f513d;outline-offset:-5px;
  background:linear-gradient(#eee6d5,#e6dcc8);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),0 5px 12px rgba(48,43,31,.12);
  color:#4e3327;font-family:var(--titre);font-size:clamp(1.7rem,4vw,2.65rem);font-weight:600;line-height:.9;text-align:center;text-transform:uppercase;letter-spacing:.02em;
}
.universe-card--360 .universe-label-fallback small{display:block;margin-top:7px;font-family:Candara,"Segoe UI",Arial,sans-serif;font-size:.56em;letter-spacing:.10em}
@media(max-width:600px){.universe-card--360 .universe-label-fallback{min-height:88px;padding:12px 40px}}

/* ---------- Immersion 360° ---------- */
.immersions-page-head p{max-width:760px;margin-left:auto;margin-right:auto}
.immersions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.immersion-card{padding:14px;border:1px solid rgba(89,97,61,.3);background:rgba(248,242,230,.28);box-shadow:inset 0 0 0 4px rgba(242,234,220,.82)}
.immersion-card h2{margin:0 0 10px;font-family:var(--titre);font-size:1.65rem;font-weight:500;color:var(--vert-fonce)}
.immersion-preview{position:relative;display:block;width:100%;aspect-ratio:2/1;overflow:hidden;border:0;padding:0;background:#ded4c1;cursor:pointer}
.immersion-preview img{width:100%;height:100%;object-fit:cover}
.immersion-preview--empty{cursor:default;background:linear-gradient(135deg,rgba(236,226,207,.72),rgba(220,208,186,.48))}
.immersion-preview span{position:absolute;left:12px;bottom:10px;padding:5px 9px;background:rgba(242,234,220,.9);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--vert-fonce)}
.immersion-viewer-wrap{margin-top:28px;padding:12px;border:1px solid rgba(89,97,61,.35);background:rgba(248,242,230,.35)}
#panorama360{width:100%;height:min(72vh,760px);min-height:420px;background:#222}
.immersion-help{margin:12px 0 0;color:var(--gris);font-size:.92rem;text-align:center}
@media(max-width:820px){.immersions-grid{grid-template-columns:1fr}#panorama360{min-height:330px;height:56vh}}

/* ---------- L'HISTOIRE ---------- */
.history-page-head p{max-width:700px;margin-left:auto;margin-right:auto}
.history-section{padding-top:24px!important}
.history-chapter{max-width:900px;margin:0 auto 58px}
.history-chapter h2{margin:0 0 14px;font-family:var(--titre);font-size:clamp(2.1rem,4vw,3rem);font-weight:500;color:var(--vert-fonce)}
.history-lead{font-family:var(--titre);font-size:1.3rem;line-height:1.55;color:var(--vert-fonce)}
.history-dropcap::first-letter{float:left;margin:.09em .10em 0 0;font-family:var(--titre);font-size:4.2em;line-height:.72;color:var(--brun)}
.history-media-slot{min-height:170px;margin:26px 0;padding:28px;display:grid;place-items:center;border:1px dashed rgba(89,97,61,.35);color:var(--gris);text-align:center;background:rgba(248,242,230,.24)}
.roadmap{display:grid;gap:0;max-width:900px;margin:0 auto}
.roadmap-item{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:23px 0;border-top:1px solid var(--ligne)}
.roadmap-item:last-child{border-bottom:1px solid var(--ligne)}
.roadmap-date{font-family:var(--titre);font-size:1.35rem;color:var(--brun)}
.roadmap-item h3{margin:0 0 4px;font-family:var(--titre);font-size:1.55rem;font-weight:500;color:var(--vert-fonce)}
.roadmap-item p{margin:0;color:var(--gris)}
@media(max-width:650px){.roadmap-item{grid-template-columns:1fr;gap:4px}.history-dropcap::first-letter{font-size:3.5em}}

/* ---------- VOTRE AVIS / livre d'or ---------- */
.guestbook-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:48px;align-items:start}
.guestbook-entry{padding:22px 0;border-top:1px solid var(--ligne)}
.guestbook-entry:last-child{border-bottom:1px solid var(--ligne)}
.guestbook-meta{margin-bottom:7px;color:var(--gris);font-size:.86rem;letter-spacing:.04em}
.guestbook-entry p{margin:0;white-space:pre-wrap}
.guestbook-form{padding:26px;background:rgba(248,242,230,.38);border:1px solid rgba(89,97,61,.25)}
.guestbook-form label{display:block;margin:14px 0 5px;color:var(--vert-fonce);font-weight:600}
.guestbook-form input[type="text"],.guestbook-form input[type="email"],.guestbook-form textarea{width:100%;padding:11px 12px;border:1px solid rgba(89,97,61,.4);background:#f8f2e6;color:var(--texte);font:inherit}
.guestbook-form textarea{min-height:150px;resize:vertical}
.guestbook-check{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important}
.guestbook-check input{margin-top:5px}
.guestbook-submit{margin-top:18px;padding:10px 18px;border:1px solid var(--vert);background:var(--vert);color:#fff;font:inherit;cursor:pointer}
.guestbook-note{font-size:.88rem;color:var(--gris)}
.guestbook-status{margin-top:12px;min-height:1.4em;color:var(--vert-fonce)}
.guestbook-hp{position:absolute!important;left:-9999px!important}
@media(max-width:860px){.guestbook-layout{grid-template-columns:1fr}}


/* ==========================================================
   FINITIONS v4.6 — 02/09/2026
   ========================================================== */

/* Menu desktop : une seule ligne sur les écrans qui l'autorisent. */
@media(min-width:1101px){
  .site-header .container.nav{width:min(1580px,calc(100% - 34px))!important;max-width:none!important;gap:18px!important}
  .nav-links{flex-wrap:nowrap!important;gap:clamp(9px,1vw,18px)!important;white-space:nowrap!important}
  .nav-links a{font-size:clamp(.72rem,.72vw,.88rem)!important;letter-spacing:.065em!important;white-space:nowrap!important}
  .brand{flex:0 0 auto}
}
/* Entre tablette et petit portable : mieux vaut le menu repliable qu'une deuxième ligne. */
@media(min-width:761px) and (max-width:1100px){
  .nav{position:relative;min-height:64px;align-items:center!important;padding:8px 0!important}
  .menu-toggle{display:block!important;margin-left:auto}
  .nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;z-index:100;flex-direction:column!important;align-items:flex-start!important;gap:0!important;padding:10px 20px 16px;background:rgba(242,234,220,.98);border-bottom:1px solid var(--ligne);box-shadow:0 10px 20px rgba(48,43,31,.08)}
  .nav-links.open{display:flex!important}
  .nav-links a{width:100%;padding:9px 0;font-size:.9rem!important}
  .nav-links a::after{display:none!important}
}

/* Android / mobile : suppression du rectangle bleu de tap sur le meuble et ses accès. */
.categories-section a,
.cabinet-about-link,
.cabinet-speaker-link,
.category-card,
.universe-card{-webkit-tap-highlight-color:transparent}

/* UNIVERS : trois portes cohérentes, sans texte permanent. */
.universe-page-head{padding:42px 0 18px!important}
.universe-page-head h1{font-size:clamp(2.7rem,5vw,4.15rem)!important;font-weight:400!important;letter-spacing:.12em!important}
.universe-page-head p{max-width:720px!important;font-size:1.12rem!important}
.universe-section{padding-top:24px!important}
.universe-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  gap:clamp(18px,2.2vw,34px)!important;
  max-width:1320px!important;
  margin:0 auto!important;
}
.universe-card{
  position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;padding:22px 0 48px!important;text-decoration:none!important;overflow:visible!important;
}
.universe-label{
  display:block!important;width:100%!important;max-width:420px!important;height:auto!important;object-fit:contain!important;
  transition:transform .22s ease,filter .22s ease!important;
}
.universe-card:hover .universe-label,.universe-card:focus-visible .universe-label{transform:translateY(-2px);filter:brightness(.95) contrast(1.02)}
.universe-card::after{
  content:attr(data-hint);position:absolute;left:50%;bottom:9px;transform:translate(-50%,5px);width:max-content;max-width:95%;
  opacity:0;pointer-events:none;color:var(--gris);font-family:Candara,"Segoe UI",Arial,sans-serif;font-size:.88rem;letter-spacing:.025em;
  transition:opacity .18s ease,transform .18s ease;text-align:center;
}
.universe-card:hover::after,.universe-card:focus-visible::after{opacity:1;transform:translate(-50%,0)}
@media(max-width:920px){.universe-grid{grid-template-columns:1fr!important;max-width:610px!important;gap:4px!important}.universe-card{padding:16px 0 34px!important}.universe-label{max-width:560px!important}.universe-card::after{bottom:4px}}
@media(max-width:600px){.universe-page-head p{text-align:center!important}.universe-card::after{display:none}}

/* Reptiles & Amphibiens : réserve éditoriale sur la liste de travail. */
.inventory-caution{max-width:820px;margin:18px auto 0;padding:12px 16px;border-top:1px solid rgba(89,97,61,.22);border-bottom:1px solid rgba(89,97,61,.22);color:var(--gris);font-size:.93rem;line-height:1.5;text-align:left}
.inventory-caution strong{color:var(--vert-fonce)}

/* Immersion : petite barre de repérage disponible uniquement en mode ?debug360=1. */
.immersion-debug{display:none;margin:12px 0 0;padding:9px 12px;background:rgba(242,234,220,.92);border:1px solid rgba(89,97,61,.32);color:var(--vert-fonce);font-size:.9rem;text-align:center}
.immersion-debug.active{display:block}
.pnlm-hotspot-base.bestiaire-place-hotspot{width:12px;height:12px;border-radius:50%;background:rgba(242,234,220,.94);border:2px solid rgba(57,65,37,.88);box-shadow:0 1px 4px rgba(0,0,0,.28)}
.pnlm-hotspot-base.bestiaire-place-hotspot:hover{background:#fff}
