/* =========================================================
   DJ GOVIND B — Style « sombre & cinéma »
   Aperçu réservé (admin connecté). Polices auto-hébergées.
   ========================================================= */

@font-face{font-family:'Gloock';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/gloock-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/figtree-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/figtree-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/figtree-latin-600-normal.woff2') format('woff2');}
:root{
  --gb-bg:#0a0a0c;
  --gb-bg-2:#121215;
  --gb-ivory:#f3ede0;
  --gb-text:#cfc9bd;
  --gb-muted:#8f897e;
  --gb-gold:#c9a96a;
  --gb-gold-deep:#ae8e54;
  --gb-line:rgba(201,169,106,.35);
  --gb-serif:'Gloock',Georgia,'Times New Roman',serif;
  --gb-sans:'Figtree','Helvetica Neue',Arial,sans-serif;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;}
body,
body #wrapper,
body .wrapper,
body #pusher,
body #pusher-wrap{
  background:var(--gb-bg)!important;
  color:var(--gb-text);
  font-family:var(--gb-sans);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gb-gold);color:#0a0a0c;}

body .elementor-section,
body .elementor-section .elementor-container,
body .elementor-column-wrap{background-color:transparent!important;}

/* ---------- Typographie ---------- */
body .elementor-heading-title,
body h1,body h2,body h3,body h4{
  font-family:var(--gb-serif)!important;
  font-weight:400!important;
  color:var(--gb-ivory)!important;
  letter-spacing:.015em;
  text-transform:none!important;
  text-shadow:none!important;
}
body h2.elementor-heading-title{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15;}
body h3.elementor-heading-title{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;}

body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor li,
body p,body li{
  font-family:var(--gb-sans);
  font-weight:300;
  font-size:1.05rem;
  line-height:1.8;
  color:var(--gb-text)!important;
}
body .elementor-widget-text-editor a,
body p a{color:var(--gb-gold)!important;text-decoration:none;border-bottom:1px solid var(--gb-line);}
body .elementor-widget-text-editor a:hover,
body p a:hover{color:var(--gb-ivory)!important;}

/* ---------- Séparateurs ---------- */
body .elementor-divider-separator{border-color:var(--gb-line)!important;}

/* ---------- Boutons ---------- */
body .elementor-button,
body .wpcf7-submit,
body a.button,
body button.button{
  background:transparent!important;
  color:var(--gb-gold)!important;
  border:1px solid var(--gb-gold)!important;
  border-radius:0!important;
  font-family:var(--gb-sans)!important;
  font-weight:400!important;
  font-size:1.05rem!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:16px 38px!important;
  transition:background .35s ease,color .35s ease,letter-spacing .35s ease;
}
body .elementor-button:hover,
body .wpcf7-submit:hover,
body a.button:hover,
body button.button:hover{
  background:var(--gb-gold)!important;
  color:#0a0a0c!important;
  letter-spacing:.04em;
}

/* ---------- Hero (accueil) ---------- */
body.home .elementor-element-fade775,
body.home [data-id="fade775"]{min-height:100vh;}
body.home [data-id="fade775"] .elementor-background-overlay{
  opacity:.92!important;
  background:linear-gradient(90deg,rgba(10,10,12,.88) 0%,rgba(10,10,12,.55) 45%,rgba(10,10,12,.15) 100%)!important;
}
body.home [data-id="b191952"] .elementor-heading-title{
  font-size:clamp(2.4rem,5.2vw,4.6rem);
  line-height:1.08;
  max-width:14ch;
}
body.home [data-id="05843ac"] .elementor-heading-title{
  font-family:var(--gb-sans)!important;
  font-weight:300!important;
  font-size:1.15rem;
  line-height:1.7;
  letter-spacing:.04em;
  color:var(--gb-text)!important;
  max-width:46ch;
}

/* ---------- En-tête & menu ---------- */
.sr-header .elementor-section,
.sr-header section{background:transparent!important;}
.sr-header .elementor-sticky--effects,
.sr-header .elementor-sticky--active{
  background:rgba(10,10,12,.97)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(201,169,106,.18);
}
.sr-header a,
.sr-header .elementor-item,
.sr-header [class*="menu"] a{
  font-family:var(--gb-sans)!important;
  font-weight:400!important;
  font-size:.8rem!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--gb-ivory)!important;
  transition:color .3s ease;
}
.sr-header a:hover,
.sr-header [class*="menu"] a:hover,
.sr-header .current-menu-item>a{color:var(--gb-gold)!important;}
.sr-header [class*="offcanvas"] a,
.sr-header [class*="offcanvas"] button,
.sr-header [class*="offcanvas"] span{color:var(--gb-ivory)!important;}

/* ---------- Icônes réseaux sociaux (uniformes) ---------- */
body .elementor-social-icons-wrapper{display:flex;gap:14px;align-items:center;}
body .elementor-social-icon{
  background:transparent!important;
  border:1px solid var(--gb-line)!important;
  border-radius:50%!important;
  width:44px;height:44px;
  display:inline-flex!important;align-items:center;justify-content:center;
  padding:0!important;
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
body .elementor-social-icon i,
body .elementor-social-icon svg{
  color:var(--gb-gold)!important;
  fill:var(--gb-gold)!important;
  font-size:17px!important;
  width:17px;height:17px;
  transition:color .3s ease,fill .3s ease;
}
body .elementor-social-icon:hover{
  background:var(--gb-gold)!important;
  border-color:var(--gb-gold)!important;
  transform:translateY(-2px);
}
body .elementor-social-icon:hover i,
body .elementor-social-icon:hover svg{color:#0a0a0c!important;fill:#0a0a0c!important;}

/* ---------- Photos : traitement harmonisé ---------- */
body .elementor-widget-image img,
body .esg-entry-media img,
body .eg-media-wrapper img,
body .elementor-widget-image-box img{
  filter:contrast(1.05) saturate(.88) brightness(.95);
  border-radius:2px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  transition:filter .5s ease,transform .6s ease;
}
body .elementor-widget-image img:hover,
body .esg-entry-media img:hover{filter:contrast(1.05) saturate(1) brightness(1);}
body .elementor-widget-video .elementor-wrapper{box-shadow:0 24px 60px rgba(0,0,0,.55);}

/* ---------- Avis ---------- */
body .elementor-testimonial-content{
  font-family:var(--gb-serif)!important;
  font-size:1.2rem!important;
  font-style:normal;
  line-height:1.6;
  color:var(--gb-ivory)!important;
}
body .elementor-testimonial-name{
  font-family:var(--gb-sans)!important;
  font-size:.8rem!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--gb-gold)!important;
}
body .elementor-testimonial-job{color:var(--gb-muted)!important;}
body .elementor-testimonial-wrapper{border-left:1px solid var(--gb-line);padding-left:1.5rem;}

/* ---------- Formulaire de contact ---------- */
body .wpcf7 input[type="text"],
body .wpcf7 input[type="email"],
body .wpcf7 input[type="tel"],
body .wpcf7 input[type="date"],
body .wpcf7 select,
body .wpcf7 textarea{
  background:var(--gb-bg-2)!important;
  color:var(--gb-ivory)!important;
  border:1px solid var(--gb-line)!important;
  border-radius:0!important;
  font-family:var(--gb-sans);
  font-weight:300;
  padding:14px 16px;
}
body .wpcf7 input:focus,
body .wpcf7 textarea:focus{outline:none;border-color:var(--gb-gold)!important;}
body .wpcf7 label{color:var(--gb-text);letter-spacing:.06em;}

/* ---------- Pied de page ---------- */
body footer,
body .site-footer,
body [data-elementor-type="footer"],
body .elementor-location-footer{background:#07070a!important;}
body footer .elementor-heading-title,
body [data-elementor-type="footer"] .elementor-heading-title{
  font-family:var(--gb-sans)!important;
  font-size:.72rem!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--gb-muted)!important;
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  body h2.elementor-heading-title{font-size:1.9rem;}
  body.home [data-id="b191952"] .elementor-heading-title{font-size:2.3rem;max-width:none;}
  body.home [data-id="fade775"] .elementor-background-overlay{
    background:linear-gradient(180deg,rgba(10,10,12,.55) 0%,rgba(10,10,12,.85) 100%)!important;
  }
  body .elementor-button{padding:14px 28px!important;letter-spacing:.04em;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;}
}

/* =========================================================
   Renforts de spécificité (Elementor injecte ses styles en ligne)
   ========================================================= */

/* Hero : voile cinéma + lisibilité du menu */
html body.home .elementor-3050 .elementor-element.elementor-element-fade775{position:relative;isolation:isolate;}
html body.home .elementor-3050 .elementor-element.elementor-element-fade775::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(10,10,12,.55) 0%,rgba(10,10,12,0) 22%,rgba(10,10,12,0) 62%,#0a0a0c 100%),
    linear-gradient(90deg,rgba(10,10,12,.88) 0%,rgba(10,10,12,.58) 42%,rgba(10,10,12,.12) 100%);
}
html body.home .elementor-3050 .elementor-element.elementor-element-fade775 > .elementor-container{position:relative;z-index:2;}
html body.home .elementor-3050 .elementor-element.elementor-element-fade775 > .elementor-background-overlay{opacity:0!important;}

html body.home .elementor-3050 .elementor-element.elementor-element-b191952 .elementor-heading-title{
  font-family:var(--gb-serif)!important;
  font-size:clamp(2.1rem,3.5vw,3.25rem)!important;
  font-weight:500!important;
  line-height:1.06!important;
  letter-spacing:.005em!important;
  max-width:17ch!important;
  text-shadow:none!important;
  color:var(--gb-ivory)!important;
}
html body.home .elementor-3050 .elementor-element.elementor-element-05843ac .elementor-heading-title{
  font-family:var(--gb-sans)!important;
  font-size:1.12rem!important;
  font-weight:300!important;
  line-height:1.75!important;
  letter-spacing:.03em!important;
  max-width:46ch!important;
  color:var(--gb-text)!important;
  text-shadow:none!important;
}
html body.home .elementor-3050 .elementor-element.elementor-element-0e1acdb .elementor-button{
  background:transparent!important;color:var(--gb-gold)!important;border:1px solid var(--gb-gold)!important;
  border-radius:0!important;letter-spacing:.04em!important;font-size:1.05rem!important;padding:16px 40px!important;
}
html body.home .elementor-3050 .elementor-element.elementor-element-0e1acdb .elementor-button:hover{
  background:var(--gb-gold)!important;color:#0a0a0c!important;
}

/* Icônes réseaux : ronds fins dorés, tous identiques (en-tête + pied de page) */
html body .elementor-widget-social-icons .elementor-social-icon,
html body .elementor-widget-social-icons .elementor-repeater-item-c874fcb.elementor-social-icon,
html body .elementor-element .elementor-social-icon{
  background:transparent!important;background-color:transparent!important;
  border:1px solid rgba(201,169,106,.55)!important;border-radius:50%!important;
  width:42px!important;height:42px!important;min-width:42px;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;--icon-padding:0;
}
html body .elementor-element .elementor-social-icon i,
html body .elementor-element .elementor-social-icon svg{
  color:var(--gb-gold)!important;fill:var(--gb-gold)!important;
  font-size:16px!important;width:16px!important;height:16px!important;line-height:1!important;
}
html body .elementor-element .elementor-social-icon:hover{
  background:var(--gb-gold)!important;background-color:var(--gb-gold)!important;border-color:var(--gb-gold)!important;
}
html body .elementor-element .elementor-social-icon:hover i,
html body .elementor-element .elementor-social-icon:hover svg{color:#0a0a0c!important;fill:#0a0a0c!important;}
html body .elementor-widget-social-icons .elementor-grid{gap:12px!important;display:flex!important;}

@media (max-width:767px){
  html body.home .elementor-3050 .elementor-element.elementor-element-fade775::after{
    background:linear-gradient(180deg,rgba(10,10,12,.6) 0%,rgba(10,10,12,.55) 40%,#0a0a0c 100%);
  }
  html body.home .elementor-3050 .elementor-element.elementor-element-b191952 .elementor-heading-title{font-size:2.4rem!important;max-width:none!important;}
}

html body .elementor-element .elementor-social-icon-instagram i{font-size:18px!important;}

/* ---------- Corrections pages intérieures ---------- */
html body .elementor-widget-heading .elementor-heading-title{line-height:1.2!important;}
html body .elementor-widget-heading{margin-bottom:.4rem;}
html body .elementor-widget-heading h3.elementor-heading-title,
html body .elementor-widget-heading h4.elementor-heading-title{
  font-style:normal;color:var(--gb-gold)!important;font-size:clamp(1.1rem,1.8vw,1.4rem)!important;letter-spacing:.04em;
}

/* Avis : sobres, lisibles, sans avatars colorés */
html body .elementor-testimonial-image{display:none!important;}
html body .elementor-testimonial-wrapper{border-left:none!important;padding-left:0!important;max-width:60rem;margin:0 auto;}
html body .elementor-testimonial-content{
  font-size:clamp(1.05rem,1.5vw,1.25rem)!important;line-height:1.7!important;
}
html body .elementor-testimonial-meta,
html body .elementor-testimonial-details{text-align:center;display:block;margin-top:.8rem;}
html body .elementor-testimonial-name,
html body .elementor-testimonial-job{display:block;text-align:center;}
html body .elementor-widget-testimonial{padding:1.6rem 0;}

html body .elementor-widget-testimonial *{border-left:0!important;}
html body .elementor-widget-heading h3.elementor-heading-title{margin-top:1rem!important;}
html body .elementor-widget-heading h5.elementor-heading-title,
html body .elementor-widget-heading h6.elementor-heading-title{
  font-family:var(--gb-sans)!important;font-style:normal!important;font-weight:400!important;
  font-size:.78rem!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--gb-gold)!important;
}

/* Mobile : on garde le DJ visible, le texte passe en bas du hero */
@media (max-width:767px){
  html body.home .elementor-3050 .elementor-element.elementor-element-fade775{
    background-position:57% center!important;
    padding-top:430px!important;
    padding-bottom:70px!important;
  }
  html body.home .elementor-3050 .elementor-element.elementor-element-fade775::after{
    background:linear-gradient(180deg,rgba(10,10,12,.5) 0%,rgba(10,10,12,0) 28%,rgba(10,10,12,.55) 52%,rgba(10,10,12,.92) 74%,#0a0a0c 100%)!important;
  }
  html body.home .elementor-3050 .elementor-element.elementor-element-b191952 .elementor-heading-title{text-align:left!important;font-size:2.1rem!important;}
  html body.home .elementor-3050 .elementor-element.elementor-element-05843ac .elementor-heading-title{text-align:left!important;font-size:1rem!important;}
}

@media (max-width:767px){
  html body.home .elementor-3050 .elementor-element.elementor-element-0e1acdb .elementor-button-wrapper{text-align:left!important;}
}

/* === GB HOME SECTIONS (2026-10-06) === */
html body .gb-sec{background:var(--gb-bg);padding:110px 24px;}
html body .gb-sec.gb-alt{background:var(--gb-bg-2);}
html body .gb-sec.gb-head{padding-bottom:30px;}
html body .gb-sec.gb-cols{padding-top:20px;}
html body .gb-sec > .elementor-container{max-width:1100px;margin:0 auto;}
html body .gb-sec .elementor-heading-title{font-family:var(--gb-serif);color:var(--gb-ivory);text-align:center;}
html body .gb-sec h2.elementor-heading-title::after{content:"";display:block;width:56px;height:1px;background:var(--gb-gold);margin:24px auto 0;}
html body .gb-sec h3.elementor-heading-title{color:var(--gb-gold);font-size:clamp(1.4rem,2vw,1.75rem);}
html body .gb-sec .elementor-widget-text-editor{max-width:680px;margin:18px auto 0;text-align:center;}
html body .gb-sec .elementor-widget-text-editor p{color:var(--gb-text);font-size:1.08rem;line-height:1.8;}
html body .gb-cols .elementor-column{padding:0 22px;}
html body .gb-cols .elementor-column + .elementor-column{border-left:1px solid var(--gb-line);}
html body .gb-cta .gb-btn{margin-top:34px;}
html body .gb-btn .elementor-button,
html body.home .elementor-3050 .elementor-element.elementor-element-a7b2c01 .elementor-button{
  background:transparent!important;color:var(--gb-gold)!important;border:1px solid var(--gb-gold)!important;
  border-radius:0!important;letter-spacing:.04em!important;font-size:1.05rem!important;padding:16px 40px!important;text-transform:uppercase;}
html body .gb-btn .elementor-button:hover,
html body.home .elementor-3050 .elementor-element.elementor-element-a7b2c01 .elementor-button:hover{background:var(--gb-gold)!important;color:#0a0a0c!important;}
html body.home .elementor-3050 .elementor-element.elementor-element-a7b2c01{margin-left:16px;}
html body.home .elementor-3050 .elementor-element.elementor-element-a7b2c01 .elementor-button{border-color:var(--gb-line)!important;color:var(--gb-ivory)!important;}
@media (max-width:767px){
  html body .gb-sec{padding:72px 20px;}
  html body .gb-cols .elementor-column{padding:22px 0;}
  html body .gb-cols .elementor-column + .elementor-column{border-left:0;border-top:1px solid var(--gb-line);}
  html body.home .elementor-3050 .elementor-element.elementor-element-a7b2c01{margin-left:0;margin-top:14px;}
}
/* GB LIST */
html body .gb-list .elementor-widget-text-editor ul{list-style:none;margin:28px auto 0;padding:0;max-width:620px;text-align:left;}
html body .gb-list .elementor-widget-text-editor li{color:var(--gb-text);padding:12px 0 12px 30px;border-bottom:1px solid var(--gb-line);position:relative;line-height:1.6;}
html body .gb-list .elementor-widget-text-editor li::before{content:"";position:absolute;left:4px;top:22px;width:12px;height:1px;background:var(--gb-gold);}

/* === GB RESPONSIVE (2026-10-06) === */
html,body{overflow-x:hidden;}
html body .gb-cols .elementor-widget-heading{margin-bottom:0!important;}
html body .gb-sec h3.elementor-heading-title{margin:0!important;}
html body .gb-cols .elementor-widget-text-editor{margin-top:10px!important;}
html body .gb-cols .elementor-widget-text-editor p{margin-bottom:0;}
/* Animations d'entrée coupées sur mobile/tablette : affichage immédiat, meilleur LCP */
@media (max-width:1024px){
  .elementor-invisible{visibility:visible!important;}
  .elementor-element.animated,.elementor-element .animated{animation:none!important;}
}
/* Tablette */
@media (min-width:768px) and (max-width:1024px){
  html body.home .elementor-3050 .elementor-element.elementor-element-fade775{
    background-position:62% center!important;padding:56vh 48px 80px!important;min-height:0!important;}
  html body.home .elementor-3050 .elementor-element.elementor-element-fade775::after{
    background:linear-gradient(180deg,rgba(10,10,12,.45) 0%,rgba(10,10,12,0) 30%,rgba(10,10,12,.6) 58%,rgba(10,10,12,.95) 82%,#0a0a0c 100%)!important;}
  html body.home .elementor-3050 .elementor-element-c79782b{width:100%!important;}
  html body.home .elementor-3050 .elementor-element.elementor-element-b191952{width:100%!important;max-width:100%!important;}
  html body.home .elementor-3050 .elementor-element.elementor-element-b191952 .elementor-heading-title{text-align:left!important;font-size:3.2rem!important;max-width:none!important;}
  html body.home .elementor-3050 .elementor-element.elementor-element-05843ac .elementor-heading-title{text-align:left!important;max-width:560px;}
  html body.home .elementor-3050 .elementor-element-0e1acdb .elementor-button-wrapper,
  html body.home .elementor-3050 .elementor-element-a7b2c01 .elementor-button-wrapper{text-align:left!important;}
  html body .gb-sec{padding:90px 40px;}
  html body .gb-cols .elementor-column{padding:0 16px;}
}
/* Mobile */
@media (max-width:767px){
  html body.home .elementor-3050 .elementor-element-0e1acdb,
  html body.home .elementor-3050 .elementor-element-a7b2c01{width:100%!important;max-width:100%!important;margin-left:0!important;}
  html body.home .elementor-3050 .elementor-element-0e1acdb .elementor-button,
  html body.home .elementor-3050 .elementor-element-a7b2c01 .elementor-button{width:100%;text-align:center;letter-spacing:.04em!important;padding:16px 18px!important;}
  html body.home .elementor-3050 .elementor-element-a7b2c01{margin-top:12px!important;}
  html body .gb-btn .elementor-button{width:100%;padding:16px 18px!important;}
}
/* GB MENU ICON */
html body .sr-offcanvas-toggle-icon,html body .sr-offcanvas-toggle-icon i{color:var(--gb-ivory)!important;}
html body .sr-offcanvas-toggle-icon svg,html body .sr-offcanvas-toggle-icon svg *{fill:var(--gb-ivory)!important;}
html body .sr-offcanvas-toggle-icon svg [stroke]:not([stroke="none"]){stroke:var(--gb-ivory)!important;}
/* GB SIDE GUTTERS : marges latérales minimales sur mobile/tablette */
@media (max-width:1024px){
  html body .elementor-section.elementor-top-section:not(.gb-sec):not(.elementor-element-fade775) > .elementor-container{padding-left:24px!important;padding-right:24px!important;box-sizing:border-box;}
}
@media (max-width:767px){
  html body .elementor-section.elementor-top-section:not(.gb-sec):not(.elementor-element-fade775) > .elementor-container{padding-left:20px!important;padding-right:20px!important;}
  html body .elementor-testimonial-content{font-size:1.05rem;line-height:1.75;}
}
/* GB STICKY */
html body .sr-header .elementor-sticky--active,html body .elementor-sticky--active.elementor-sticky--effects{background:rgba(10,10,12,.97)!important;backdrop-filter:blur(6px);}
