/* ================================================================
   LIFTING — couche de rafraîchissement du site Les Trois Chênes.
   Non destructive : surcharge la typo, les couleurs et les composants
   sans toucher à la structure Bootstrap, au logo, aux menus ni aux URLs.
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400..700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --lt-green-deep:#1F3B2C; --lt-green:#345C44; --lt-sage:#8DA888;
  --lt-cream:#FBF9F3; --lt-gold:#B9882E; --lt-gold-light:#E4C77A; --lt-ink:#26302a;
}

/* ---- Typographie ---- */
body{font-family:'Inter',Arial,sans-serif !important;color:var(--lt-ink);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,.titile,.navbar-brand{font-family:'Fraunces',Georgia,serif !important;letter-spacing:.1px;}
p{line-height:1.7;}

/* ---- Navbar rafraîchie ---- */
.navbar-default{background:rgba(31,59,44,.97) !important;border:none !important;box-shadow:0 2px 14px rgba(0,0,0,.12);}
.navbar-default .navbar-nav>li>a{color:#fff !important;font-weight:500;font-size:14.5px;white-space:nowrap;transition:color .15s;}
.navbar-default .navbar-nav>li>a .caret{margin-left:5px;}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li.active>a{color:var(--lt-gold-light) !important;}
/* Item de menu survolé / ouvert / courant : « pill » vert arrondi. */
.navbar-default .navbar-nav>li>a{margin:0 2px;}
.navbar-default .navbar-nav>li.active>a,.navbar-default .navbar-nav>li.open>a,
.navbar-default .navbar-nav>li.lt-courant>a,
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>li.open>a:hover,.navbar-default .navbar-nav>li.open>a:focus{
  background:var(--lt-green) !important;color:#fff !important;border-radius:20px !important;}
/* Neutralise le connecteur triangulaire lime du menu déroulant (bloc vert disgracieux). */
.navbar-nav>li>.dropdown-menu:before{display:none !important;}
/* fond clair explicite : garantit la lisibilité du texte foncé quel que soit le thème d'origine */
.navbar-default .dropdown-menu{background:#fff !important;border:none;border-radius:10px;box-shadow:0 12px 30px rgba(31,59,44,.18);padding:8px;}
.navbar-default .dropdown-menu>li>a{border-radius:7px;padding:8px 14px;color:var(--lt-green-deep) !important;background:transparent !important;font-weight:500;}
.navbar-default .dropdown-menu>li>a:hover,.navbar-default .dropdown-menu>li>a:focus{background:var(--lt-cream) !important;color:var(--lt-green) !important;}
.navbar-default .dropdown-menu .divider{background:var(--lt-line,#e3e8de);}
/* sous-titres de colonnes dans les méga-menus (ex. « Les classiques ») */
.navbar-default .dropdown-menu li.dropdown-header,.navbar-default .dropdown-menu .menu-title{color:var(--lt-gold) !important;font-weight:700;}
.navbar-brand img{max-height:48px;width:auto;}

/* Le préchargeur QueryLoader (overlay noir) reste bloqué quand les images sont
   servies en cross-origin (recette qui pointe vers les assets prod) : on le neutralise. */
#qLoverlay{display:none !important;}

/* ---- Bouton « Accès client » / identité du compte connecté, injectés dans le header ---- */
#lt-acces{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:8px 0 8px 10px;
  list-style:none;flex:0 0 auto;}
#lt-acces a.lt-acces-btn{display:inline-flex;align-items:center;gap:7px;color:#fff !important;text-decoration:none;
  font-size:13.5px;font-weight:700;padding:8px 15px;border-radius:9px;white-space:nowrap;
  border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.07);
  transition:background .15s,color .15s,border-color .15s,transform .14s;}
#lt-acces a.lt-acces-btn:hover,#lt-acces a.lt-acces-btn:focus{background:#fff;
  color:var(--lt-green-deep) !important;border-color:#fff;transform:translateY(-1px);}

/* Compte connecté : « ATLAN RECYCLAGE 006 » + bouton de déconnexion.
   Un nom long passe à la ligne (jamais de troncature ni de débordement du header). */
#lt-acces .lt-ident{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;
  flex:0 1 auto;min-width:130px;max-width:210px;padding:5px 12px;border-radius:16px;background:rgba(255,255,255,.1);}
#lt-acces .lt-ident-nom{color:#fff;font-size:13px;font-weight:700;line-height:1.25;
  white-space:normal;overflow-wrap:break-word;}
#lt-acces .lt-ident-code{color:var(--lt-green-deep);background:var(--lt-gold-light);
  font-size:12px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;}
#lt-acces a.lt-logout{color:#fff !important;text-decoration:none;font-size:12.5px;font-weight:600;
  padding:6px 12px;border-radius:8px;white-space:nowrap;border:1px solid rgba(255,255,255,.4);
  transition:background .15s,color .15s,border-color .15s;}
#lt-acces a.lt-logout:hover,#lt-acces a.lt-logout:focus{background:#fff;
  color:var(--lt-green-deep) !important;border-color:#fff;}
@media(min-width:768px){#lt-acces{margin:0 0 0 12px;}}
/* Résolutions intermédiaires : on resserre le bloc compte pour retarder le passage
   à la ligne du menu. */
@media(min-width:768px) and (max-width:1199px){
  #lt-acces .lt-ident{max-width:190px;}
  #lt-acces .lt-ident-nom{font-size:12px;}
  #lt-acces a.lt-logout{font-size:11.5px;padding:5px 9px;}
}

/* Petites résolutions : le bloc est déplacé hors du menu repliable (à gauche du
   bouton hamburger) pour rester visible sans ouvrir le menu. */
#lt-acces.lt-compte-mobile{float:right;margin:9px 8px 6px 0;max-width:calc(100% - 165px);
  gap:6px;}
#lt-acces.lt-compte-mobile .lt-ident{max-width:100%;padding:4px 10px;gap:3px 6px;}
#lt-acces.lt-compte-mobile .lt-ident-nom{font-size:12px;}
#lt-acces.lt-compte-mobile .lt-ident-code{font-size:11px;padding:1px 7px;}
#lt-acces.lt-compte-mobile a.lt-acces-btn{font-size:12.5px;padding:6px 12px;}
#lt-acces.lt-compte-mobile a.lt-logout{font-size:11.5px;padding:5px 9px;}
@media(max-width:400px){
  #lt-acces.lt-compte-mobile{max-width:calc(100% - 125px);}
  #lt-acces.lt-compte-mobile .lt-ident-nom{font-size:11.5px;}
}

/* ---- Sélecteur de langue FR / RU dans le header ---- */
#lt-lang{display:flex;align-items:center;gap:6px;padding:0 6px 0 14px;list-style:none;}
#lt-lang a{color:#fff !important;text-decoration:none;font-size:13px;font-weight:600;opacity:.75;
  display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;white-space:nowrap;}
#lt-lang a:hover,#lt-lang a.lt-actif{opacity:1;background:rgba(255,255,255,.12);}
#lt-lang a.lt-actif{color:var(--lt-gold-light) !important;}
#lt-lang .lt-flag{font-size:15px;}
#lt-lang .lt-sep{color:rgba(255,255,255,.4);}
/* variante flottante (pages sans navbar Bootstrap, ex. RU) */
#lt-lang.lt-lang-fixed{position:fixed;top:52px;right:14px;z-index:1030;display:flex;gap:6px;
  background:var(--lt-green-deep);padding:5px 10px;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.2);}
#lt-lang.lt-lang-fixed .lt-sep{color:rgba(255,255,255,.4);}

/* ---- Alignement desktop : logo + menu + bouton sur une seule ligne, centrés ---- */
@media(min-width:768px){
  .navbar-default .container{display:flex;align-items:center;flex-wrap:nowrap;}
  .navbar-default .navbar-header{float:none;flex:0 0 auto;}
  .navbar-default .navbar-brand{height:auto;display:flex;align-items:center;padding:10px 0;}
  /* wrap : quand le menu + le bloc compte ne tiennent plus sur une ligne, le bloc
     compte passe au-dessous au lieu de déborder du header. */
  .navbar-default .navbar-collapse{float:none;flex:1 1 auto;display:flex !important;
    flex-wrap:wrap;justify-content:flex-end;align-items:center;padding:0;overflow:visible;}
  .navbar-default .navbar-nav{float:none;display:flex;flex-wrap:wrap;justify-content:flex-end;
    align-items:center;margin:0;}
  .navbar-default .navbar-nav>li{float:none;}
  .navbar-default .navbar-nav>li>a{padding-top:18px !important;padding-bottom:18px !important;}
  #lt-devis-cta{margin:0 0 0 12px;display:flex;align-items:center;}
}

/* ---- Bouton « Devis en ligne » injecté dans le menu ---- */
#lt-devis-cta{margin:8px 0 8px 10px;}
#lt-devis-cta a{display:inline-flex;align-items:center;gap:7px;background:var(--lt-gold);color:var(--lt-green-deep) !important;
  padding:9px 18px;border-radius:9px;font-weight:700 !important;text-decoration:none;
  box-shadow:0 4px 12px rgba(185,136,46,.32);transition:transform .14s,box-shadow .14s;}
#lt-devis-cta a:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(185,136,46,.45);color:var(--lt-green-deep) !important;}

/* ---- Bandeau catalogues sticky (au-dessus de la ligne de flottaison) ---- */
#lt-catalogues{position:fixed;top:0;left:0;right:0;z-index:1031;background:var(--lt-gold);color:var(--lt-green-deep);
  transform:translateY(-100%);transition:transform .3s ease;box-shadow:0 3px 12px rgba(0,0,0,.14);}
#lt-catalogues.show{transform:translateY(0);}
#lt-catalogues .lt-inner{max-width:1170px;margin:0 auto;padding:8px 44px 8px 18px;position:relative;
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-weight:600;font-size:13.5px;}
#lt-catalogues a{display:inline-flex;align-items:center;gap:7px;background:var(--lt-green-deep);color:#fff !important;
  padding:7px 14px;border-radius:8px;text-decoration:none;font-size:13px;white-space:nowrap;transition:transform .12s;}
#lt-catalogues a:hover{transform:translateY(-1px);}
#lt-catalogues .lt-maj{opacity:.75;font-weight:500;font-size:12px;white-space:nowrap;}
#lt-catalogues .lt-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;
  background:transparent;border:none;color:var(--lt-green-deep);font-size:20px;line-height:1;padding:0 4px;opacity:.6;}
#lt-catalogues .lt-close:hover{opacity:1;}
/* Mobile : bandeau compact sur une seule ligne (date masquée), le JS recale la hauteur */
@media(max-width:600px){
  #lt-catalogues .lt-inner{gap:8px;padding:6px 34px 6px 12px;font-size:11.5px;
    justify-content:center;flex-wrap:nowrap;}
  #lt-catalogues .lt-title{display:none;}   /* « Catalogues : » masqué sur mobile */
  #lt-catalogues .lt-maj{display:none;}
  #lt-catalogues .lt-lbl{display:none;}     /* libellés courts : « PDF » / « Excel » */
  #lt-catalogues a{padding:6px 12px;font-size:12px;gap:5px;}
}

/* ---- Boutons génériques rafraîchis ---- */
.btn-success,.btn-primary,.button,.btn-theme{background:var(--lt-green) !important;border-color:var(--lt-green) !important;
  color:#fff !important;border-radius:9px !important;font-weight:600;box-shadow:0 4px 12px rgba(52,92,68,.22);transition:transform .14s;}
.btn-success:hover,.btn-primary:hover,.button:hover,.btn-theme:hover{transform:translateY(-2px);background:var(--lt-green-deep) !important;color:#fff !important;}

/* ---- Cartes / sections adoucies ---- */
.aboutus_area,.newsfeed_area,.single_service,.service_area,.media,.panel{border-radius:12px;}
.titile,.section_title h2{position:relative;}

/* ---- CTA « Devis en ligne » proéminent dans le hero d'accueil (au-dessus de la ligne de flottaison) ---- */
#lt-hero-cta{position:absolute;left:50%;bottom:13%;transform:translateX(-50%);z-index:40;
  display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
  background:linear-gradient(135deg,#F6A93C 0%,#E8791C 55%,#E0630F 100%);color:#fff !important;
  font-family:'Inter',sans-serif;font-weight:800;font-size:20px;letter-spacing:.3px;text-decoration:none;
  padding:18px 42px;border-radius:44px;border:2px solid rgba(255,255,255,.4);
  box-shadow:0 12px 30px rgba(224,99,15,.5);animation:lt-cta-pulse 2.2s ease-in-out infinite;
  transition:transform .16s ease, box-shadow .16s ease;}
#lt-hero-cta::after{content:"→";font-size:22px;font-weight:700;transition:transform .16s ease;}
#lt-hero-cta:hover{transform:translateX(-50%) translateY(-4px) scale(1.06);color:#fff !important;
  animation:none;box-shadow:0 20px 46px rgba(224,99,15,.75);}
#lt-hero-cta:hover::after{transform:translateX(6px);}
@keyframes lt-cta-pulse{
  0%,100%{box-shadow:0 12px 30px rgba(224,99,15,.45);}
  50%{box-shadow:0 12px 40px rgba(224,99,15,.85),0 0 0 8px rgba(246,169,60,.20);}}
@media(prefers-reduced-motion:reduce){#lt-hero-cta{animation:none;}}
/* Sur mobile, le CTA hero est masqué : le bouton flottant « Faire un devis » suffit
   et évite le chevauchement avec la légende du slider sur petit écran. */
@media(max-width:600px){#lt-hero-cta{display:none !important;}}

/* ---- CTA flottant « Devis » (mobile + rappel permanent) ---- */
#lt-float-devis{position:fixed;right:18px;bottom:18px;z-index:1030;background:var(--lt-gold);color:var(--lt-green-deep);
  padding:13px 20px;border-radius:40px;font-weight:700;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.22);
  display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:14px;transition:transform .14s;}
#lt-float-devis:hover{transform:translateY(-3px) scale(1.03);color:var(--lt-green-deep);}
/* ---- Slider d'accueil : hauteur réduite + suppression de la bande grise (margin d'origine
   qui dégageait l'ancienne navbar) ; le slider passe désormais sous la navbar fixe. ---- */
/* le fond gris #ccc codé en dur de .slider_area créait la « bande grise » : on le supprime */
#slider,.slider_area{margin:0 !important;padding:0 !important;background:transparent !important;}
#slider{position:relative !important;}
#slider #slides,#slider .slides-container,#slider .slides-container li,#slider .slides-container img{
  height:70vh !important;max-height:600px !important;min-height:380px;top:0 !important;}
#slider .slides-container img{width:100%;object-fit:cover;object-position:center;}
#slider .slides-container li{position:relative;overflow:hidden;}
/* la légende reste centrée verticalement dans la hauteur réduite */
#slider .slider_caption{top:50%;transform:translateY(-50%);}
@media(max-width:600px){
  #slider #slides,#slider .slides-container,#slider .slides-container li,#slider .slides-container img{height:66vh !important;min-height:380px;}
  /* légende ancrée SOUS le header fixe (top-anchor) pour qu'elle soit entièrement visible */
  #slider .slider_caption,#slider .slider_right_caption{top:130px !important;bottom:auto !important;left:4% !important;
    width:92% !important;transform:none !important;}
  #slider .slider_caption h2{font-size:19px !important;margin-bottom:6px !important;}
  #slider .slider_caption p{font-size:12.5px !important;padding:8px !important;}
  #slider .slider_btn{font-size:13px !important;padding:7px 12px !important;}
}

@media print{#lt-catalogues,#lt-float-devis,#lt-devis-cta{display:none !important;}}
