
/* __DESIGN_SITE__ */
/* ============================================================
   Habillage unique — sex-thueringen.de (gabarit Astro)
   Direction : chalet forestier — vert forêt sombre + lin,
   texture bois très discrète (SVG data:, ~350 octets).
   Trois zones seulement : barre latérale (desktop), bandeau +
   barre d'onglets (mobile), pied de page. Rien d'autre.
   ============================================================ */

html:not(#_){
  --foret-950:#12261a;   /* vert forêt très sombre (pied de page, accents forts) */
  --foret-800:#1c3826;   /* vert forêt (titres, liens de la barre latérale) */
  --foret-700:#2c5238;   /* vert forêt moyen (boutons, bordures) */
  --lin-100:#f6efdd;     /* lin clair (fond barre latérale / bandeau mobile) */
  --lin-200:#ece0c2;     /* lin soutenu (séparateurs sur fond clair) */
  --lin-050:#f5eedb;     /* lin très clair (texte sur fond vert) */
  --lin-muted:#ddd2b7;   /* lin atténué (texte courant du pied de page) */
  /* grain de bois : bruit fractal vert très pâle, quasi invisible */
  --bois: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.9' numOctaves='2' seed='7' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 0.09  0 0 0 0 0.2  0 0 0 0 0.12  0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23w)'/%3E%3C/svg%3E");
}

/* ================= 1. Barre latérale desktop (aside.sidebar) ================= */

html:not(#_) .sidebar-inner{
  background-color: var(--lin-100);
  background-image: var(--bois);
  background-repeat: repeat;
  padding: 22px 16px 28px;
  border-right: 3px solid var(--foret-800);
}

/* Logo en enseigne de chalet : plaquette bordée, grain de bois discret,
   apparition unique au chargement (pas d'animation infinie). */
html:not(#_) .sb-logo{
  display: flex; align-items: center; justify-content: center; gap: 10px;
  margin: 0 0 22px; padding: 14px 10px;
  background-color: var(--lin-050);
  background-image: var(--bois);
  border: 2px solid var(--foret-700);
  border-radius: 10px;
  box-shadow: 0 2px 0 var(--foret-800);
  color: var(--foret-700);
  animation: sex-th-enseigne .6s ease-out both;
}
html:not(#_) .sb-logo-text{
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700; letter-spacing: .04em;
  color: var(--foret-800);
}
@keyframes sex-th-enseigne{
  from{ opacity: 0; transform: translateY(-8px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* Nav principale : lignes façon lattes de bois, marqueur qui pousse au survol */
html:not(#_) .sb-nav{ display: flex; flex-direction: column; gap: 2px; }
html:not(#_) .sb-nav .sb-link{
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--foret-800);
  padding: 10px 12px;
  border-bottom: 1px solid var(--lin-200);
  position: relative;
  transition: color .18s ease, padding-left .18s ease;
}
html:not(#_) .sb-nav .sb-link:last-child{ border-bottom: none; }
html:not(#_) .sb-nav .sb-link::before{
  content: ''; position: absolute; left: 0; top: 50%;
  width: 3px; height: 0;
  background: var(--foret-700);
  transform: translateY(-50%);
  transition: height .18s ease;
}
html:not(#_) .sb-nav .sb-link:hover, html:not(#_) .sb-nav .sb-link:focus-visible, html:not(#_) .sb-nav .sb-link.active{
  color: var(--foret-950);
  padding-left: 18px;
}
html:not(#_) .sb-nav .sb-link:hover::before, html:not(#_) .sb-nav .sb-link:focus-visible::before, html:not(#_) .sb-nav .sb-link.active::before{ height: 60%; }

/* Bloc régional : disposition changée — le lien carte passe d'un lien nu
   tout en haut à une plaquette en pied de bloc, après la liste des villes. */
html:not(#_) .sb-section{ display: flex; flex-direction: column; margin-top: 20px; }
html:not(#_) .sb-section-title{ order: 1; }
html:not(#_) .sb-silo-list{ order: 2; }
html:not(#_) .sb-map-quick-link{ order: 3; }

html:not(#_) .sb-section-title{
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--foret-800);
  text-transform: uppercase; letter-spacing: .08em; font-size: .78rem;
  padding-bottom: 6px; margin-bottom: 8px;
  border-bottom: 2px solid var(--foret-700);
}
html:not(#_) .sb-map-quick-link{
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-top: 14px; padding: 9px 12px;
  background: var(--foret-700); color: var(--lin-050);
  border-radius: 6px;
  transition: background .18s ease, transform .18s ease;
}
html:not(#_) .sb-map-quick-link:hover{ background: var(--foret-950); transform: translateY(-1px); }

html:not(#_) .sb-silo-region{
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--foret-800); font-weight: 700;
}
html:not(#_) .sb-silo-ville{
  color: var(--foret-700);
  border-left: 2px solid var(--lin-200);
  padding-left: 10px;
  transition: color .16s ease, border-color .16s ease, transform .16s ease;
}
html:not(#_) .sb-silo-ville:hover{
  color: var(--foret-950); border-left-color: var(--foret-700);
  transform: translateX(2px);
}

/* ================= 2. Barre mobile : bandeau + onglets bas ================= */

html:not(#_) .mobile-guest-top{
  background-color: var(--lin-100);
  background-image: var(--bois);
  border-bottom: 3px solid var(--foret-800);
}
html:not(#_) .mobile-guest-brand{
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700; color: var(--foret-800);
}
html:not(#_) .mobile-guest-login{
  color: var(--foret-800);
  border: 2px solid var(--foret-700);
  border-radius: 999px; padding: 4px 14px;
}
html:not(#_) .mobile-guest-cta{
  background-color: var(--lin-050);
  border-top: 1px solid var(--lin-200);
}
html:not(#_) .mobile-guest-cta-offer, html:not(#_) .mobile-guest-cta-kw, html:not(#_) .mobile-guest-timer-label{ color: var(--foret-800); }
html:not(#_) .mobile-guest-cta-kw{ font-family: Georgia, 'Times New Roman', serif; font-weight: 700; }
html:not(#_) .mobile-guest-timer{
  background: var(--foret-700); color: var(--lin-050);
  border-radius: 6px; padding: 2px 8px; font-weight: 700;
}
html:not(#_) .mobile-guest-cta-btn{
  background: var(--foret-700); color: var(--lin-050);
  border: none; border-radius: 8px;
  min-height: 48px; font-weight: 700;
  box-shadow: 0 2px 0 var(--foret-950);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
html:not(#_) .mobile-guest-cta-btn:hover, html:not(#_) .mobile-guest-cta-btn:active{
  background: var(--foret-950);
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(18,38,26,.35);
}

html:not(#_) .bottom-bar{
  background-color: var(--lin-100);
  background-image: var(--bois);
  border-top: 3px solid var(--foret-800);
}
html:not(#_) .btab{ color: var(--foret-700); transition: color .16s ease, transform .16s ease; }
html:not(#_) .btab:hover{ color: var(--foret-800); }
html:not(#_) .btab.active{ color: var(--foret-950); transform: translateY(-2px); }
html:not(#_) .btab.active .btab-lbl{ font-weight: 700; }

/* ================= 3. Pied de page ================= */

html:not(#_) .footer-v1{
  background-color: var(--foret-950);
  background-image: var(--bois);
}
html:not(#_) .footer-inner{ padding-top: 34px; }
html:not(#_) .footer-grid{
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 28px 24px;
}
html:not(#_) .footer-col h4{
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--lin-050);
  position: relative; padding-bottom: 8px; margin-bottom: 10px;
}
html:not(#_) .footer-col h4::after{
  content: ''; position: absolute; left: 0; bottom: 0;
  height: 2px; width: 34px;
  background: var(--foret-700);
  animation: sex-th-trait .7s ease-out both;
}
@keyframes sex-th-trait{ from{ width: 0; } to{ width: 34px; } }

html:not(#_) .footer-col p, html:not(#_) .footer-col li, html:not(#_) .footer-col a{ color: var(--lin-muted); }
html:not(#_) .footer-col a{ transition: color .16s ease; }
html:not(#_) .footer-col a:hover{ color: var(--lin-050); text-decoration: underline; }

/* colonne enseigne (marque) mise en avant : bloc asymétrique un peu plus large */
html:not(#_) .footer-col:first-child{
  background-color: rgba(245,238,219,.04);
  border-left: 3px solid var(--foret-700);
  padding-left: 14px;
  border-radius: 4px;
}

html:not(#_) .footer-bottom{
  border-top: 1px solid rgba(245,238,219,.18);
  margin-top: 26px; padding-top: 14px;
  color: var(--lin-muted);
  text-align: center;
}

/* ================= 4. Mouvement réduit ================= */
@media (prefers-reduced-motion: reduce){
  html:not(#_) .sb-logo, html:not(#_) .footer-col h4::after{ animation: none !important; }
  html:not(#_) .sb-nav .sb-link, html:not(#_) .sb-nav .sb-link::before, html:not(#_) .sb-map-quick-link, html:not(#_) .sb-silo-ville, html:not(#_) .mobile-guest-cta-btn, html:not(#_) .btab{ transition: none !important; }
}

@media (prefers-reduced-motion: reduce){html:not(#_) .sidebar-inner{animation:none !important;transition:none !important;}}
html:not(#_) .sidebar-inner{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.45) transparent;}
/* __END_DESIGN_SITE__ */
