/*
Theme Name: Osiris Sécurité Services
Theme URI: https://example.com
Author: Osiris Sécurité Services
Author URI: https://example.com
Description: Thème WordPress sur mesure pour Osiris Sécurité Services — gardiennage, sites de luxe, bars & boîtes de nuit, sécurité événementielle.
Version: 1.0.9
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: osiris-securite
*/

:root{
  --bg-void:#0a0908;
  --bg-surface:#161310;
  --bg-surface-2:#1f1b14;
  --gold-bright:#e7c466;
  --gold-core:#c9a227;
  --gold-deep:#8a6a1e;
  --ink:#f2ecdd;
  --ink-muted:#a89d87;
  --line: rgba(201,162,39,0.18);
  --line-strong: rgba(201,162,39,0.35);
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--bg-void);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}

.display{
  font-family:'Marcellus',serif;
  font-weight:400;
  letter-spacing:0.01em;
}

.eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.22em;
  font-size:0.78rem;
  color:var(--gold-core);
}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}

a{color:inherit;text-decoration:none;}

/* ---------- Background texture ---------- */
.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:2;
  opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Nav ---------- */
header.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  padding:22px 0;
  background:linear-gradient(to bottom, rgba(10,9,8,0.92), rgba(10,9,8,0));
  transition:background .4s ease, padding .4s ease, border-color .4s ease;
  border-bottom:1px solid transparent;
}
header.site-header.scrolled{
  background:rgba(10,9,8,0.88);
  backdrop-filter:blur(10px);
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
nav.wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:-24px;
}
.brand img{
  width:42px;height:42px;
  border-radius:50%;
}
.brand-name{
  font-family:'Marcellus',serif;
  font-size:1.18rem;
  letter-spacing:0.04em;
  line-height:1.1;
}
.brand-name span{
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.62rem;
  letter-spacing:0.28em;
  color:var(--ink-muted);
  text-transform:uppercase;
  margin-top:2px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:36px;
  list-style:none;
}
.nav-links li{display:flex;}
.nav-links a{
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.92rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-muted);
  transition:color .25s;
}
.nav-links a:hover{color:var(--gold-bright);}
.nav-cta{
  border:1px solid var(--gold-core);
  color:var(--gold-bright) !important;
  padding:9px 20px;
  border-radius:2px;
  font-weight:600;
  transition:background .25s, color .25s;
}
.nav-cta:hover{
  background:var(--gold-core);
  color:var(--bg-void) !important;
}
.nav-toggle{display:none;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:140px 0 100px;
  overflow:hidden;
}
.hero-glow{
  position:absolute;
  top:18%;
  right:-6%;
  width:640px;height:640px;
  background:radial-gradient(circle, rgba(201,162,39,0.16) 0%, rgba(201,162,39,0.04) 45%, transparent 70%);
  pointer-events:none;
}
.hero-eye{
  position:absolute;
  right:-4%;
  top:50%;
  transform:translateY(-50%);
  width:min(46vw, 620px);
  opacity:0.10;
  pointer-events:none;
}
.hero-eye svg{width:100%;height:auto;}
.hero-inner{
  position:relative;
  z-index:3;
  max-width:760px;
}
.scanline{
  width:64px;
  height:1px;
  background:var(--gold-core);
  margin-bottom:26px;
  transform-origin:left;
  animation:scan-in 1.1s ease-out forwards;
}
@keyframes scan-in{
  from{width:0;}
  to{width:64px;}
}
.hero h1{
  font-size:clamp(2.6rem, 5.4vw, 4.4rem);
  line-height:1.08;
  margin-bottom:26px;
}
.hero h1 em{
  font-style:normal;
  color:var(--gold-bright);
}
.hero p.lede{
  font-size:1.12rem;
  color:var(--ink-muted);
  max-width:520px;
  margin-bottom:40px;
}
.btn-row{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 30px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.98rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:2px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.btn-primary{
  background:var(--gold-core);
  color:var(--bg-void);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px -8px rgba(201,162,39,0.55);
}
.btn-ghost{
  border:1px solid var(--line-strong);
  color:var(--ink);
}
.btn-ghost:hover{
  border-color:var(--gold-core);
  color:var(--gold-bright);
}

/* ---------- Trust strip ---------- */
.trust{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:34px 0;
}
.trust .wrap{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 20px;
  border-left:1px solid var(--line);
}
.trust-item:first-child{border-left:none;padding-left:0;}
.trust-item svg{width:26px;height:26px;flex-shrink:0;color:var(--gold-core);}
.trust-item p{
  font-size:0.86rem;
  color:var(--ink-muted);
  line-height:1.4;
}
.trust-item strong{
  display:block;
  font-family:'Marcellus',serif;
  color:var(--ink);
  font-size:0.98rem;
  font-weight:400;
}

/* ---------- Section shell ---------- */
section{padding:120px 0;}
.section-head{
  max-width:640px;
  margin-bottom:64px;
}
.section-head .eyebrow{margin-bottom:16px;display:block;}
.section-head h2{
  font-size:clamp(2rem, 3.4vw, 2.7rem);
  line-height:1.18;
}
.section-head h2 em{
  font-style:normal;
  color:var(--gold-bright);
}

/* ---------- Services ---------- */
.services-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.service-card{
  background:var(--bg-void);
  padding:42px 30px;
  transition:background .3s ease;
  position:relative;
}
.service-card:hover{background:var(--bg-surface);}
.service-card .icon{
  width:44px;height:44px;
  margin-bottom:26px;
  color:var(--gold-core);
}
.service-card h3{
  font-family:'Marcellus',serif;
  font-size:1.24rem;
  font-weight:400;
  margin-bottom:12px;
}
.service-card p{
  font-size:0.92rem;
  color:var(--ink-muted);
}
.service-card .tag{
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.72rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold-deep);
  position:absolute;
  top:38px;right:30px;
}

/* ---------- Expertise / narrative ---------- */
.expertise{
  background:var(--bg-surface);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.expertise .wrap{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:80px;
  align-items:center;
}
.expertise-text .eyebrow{margin-bottom:20px;display:block;}
.expertise-text h2{
  font-size:clamp(1.9rem,3vw,2.5rem);
  line-height:1.28;
  margin-bottom:28px;
}
.expertise-text h2 em{font-style:normal;color:var(--gold-bright);}
.expertise-text p{
  color:var(--ink-muted);
  margin-bottom:20px;
  max-width:460px;
}
.expertise-list{
  margin-top:30px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.expertise-list div{
  display:flex;
  gap:14px;
  align-items:flex-start;
  font-size:0.94rem;
  color:var(--ink);
}
.expertise-list svg{
  width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--gold-core);
}
.expertise-art{
  display:flex;
  align-items:center;
  justify-content:center;
}
.expertise-art svg{
  width:100%;
  max-width:380px;
  height:auto;
  color:var(--gold-core);
}
.draw-path{
  stroke-dasharray:1400;
  stroke-dashoffset:1400;
  transition:stroke-dashoffset 2.4s cubic-bezier(.2,.7,.2,1);
}
.draw-path.in-view{stroke-dashoffset:0;}

/* ---------- Venues ---------- */
.venues{
  padding:110px 0;
}
.venues-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:var(--line);
  border:1px solid var(--line);
}
.venue-panel{
  background:var(--bg-void);
  padding:56px 48px;
  position:relative;
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.venue-panel::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 85% 15%, rgba(201,162,39,0.10), transparent 60%);
}
.venue-panel .eyebrow{margin-bottom:14px;}
.venue-panel h3{
  font-family:'Marcellus',serif;
  font-size:1.6rem;
  font-weight:400;
  margin-bottom:14px;
  position:relative;
}
.venue-panel p{
  color:var(--ink-muted);
  font-size:0.94rem;
  max-width:400px;
  position:relative;
}

/* ---------- CTA / Contact ---------- */
.contact{
  background:var(--bg-surface);
}
.contact-shell{
  border:1px solid var(--line-strong);
  padding:70px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  position:relative;
  overflow:hidden;
}
.contact-shell::before{
  content:'';
  position:absolute;
  top:-40%;left:-10%;
  width:400px;height:400px;
  background:radial-gradient(circle, rgba(201,162,39,0.12), transparent 70%);
  pointer-events:none;
}
.contact-info h2{
  font-size:clamp(1.9rem,3vw,2.5rem);
  margin-bottom:22px;
}
.contact-info h2 em{font-style:normal;color:var(--gold-bright);}
.contact-info p{color:var(--ink-muted);max-width:400px;margin-bottom:32px;}
.contact-detail{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:22px;
}
.contact-detail svg{width:20px;height:20px;color:var(--gold-core);flex-shrink:0;margin-top:2px;}
.contact-detail strong{display:block;font-size:0.98rem;}
.contact-detail span{color:var(--ink-muted);font-size:0.88rem;}

form.osiris-form{display:flex;flex-direction:column;gap:18px;position:relative;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.osiris-form label{
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.76rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin-bottom:8px;
  display:block;
}
.osiris-form input, .osiris-form select, .osiris-form textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line-strong);
  color:var(--ink);
  padding:10px 2px;
  font-family:'Inter',sans-serif;
  font-size:0.96rem;
  outline:none;
  transition:border-color .25s;
}
.osiris-form input:focus, .osiris-form select:focus, .osiris-form textarea:focus{border-color:var(--gold-core);}
.osiris-form select option{background:var(--bg-surface);}
.osiris-form textarea{resize:vertical;min-height:70px;}
.form-submit{
  margin-top:10px;
  align-self:flex-start;
  background:var(--gold-core);
  color:var(--bg-void);
  border:none;
  padding:15px 34px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.96rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:2px;
  cursor:pointer;
  transition:transform .25s, box-shadow .25s;
}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(201,162,39,0.5);}
.form-note{
  font-size:0.82rem;
  color:var(--gold-bright);
  min-height:18px;
}

/* ---------- Footer ---------- */
footer.site-footer{
  border-top:1px solid var(--line);
  padding:60px 0 40px;
}
.footer-top{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:40px;
  margin-bottom:50px;
}
.footer-brand{display:flex;gap:14px;align-items:center;max-width:340px;}
.footer-brand img{width:46px;height:46px;border-radius:50%;flex-shrink:0;}
.footer-brand p{font-size:0.86rem;color:var(--ink-muted);margin-top:4px;}
.footer-cols{display:flex;gap:70px;flex-wrap:wrap;}
.footer-col .eyebrow{display:block;margin-bottom:16px;}
.footer-col a, .footer-col span{
  display:block;
  font-size:0.9rem;
  color:var(--ink-muted);
  margin-bottom:10px;
}
.footer-col a:hover{color:var(--gold-bright);}
.footer-bottom{
  border-top:1px solid var(--line);
  padding-top:26px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:0.78rem;
  color:var(--ink-muted);
}

::selection{background:var(--gold-core);color:var(--bg-void);}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .scanline{animation:none;width:64px;}
  .draw-path{transition:none;stroke-dashoffset:0;}
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .services-grid{grid-template-columns:1fr 1fr;}
  .trust .wrap{grid-template-columns:1fr 1fr;row-gap:24px;}
  .trust-item:nth-child(3){border-left:none;}
  .expertise .wrap{grid-template-columns:1fr;}
  .expertise-art{order:-1;margin-bottom:10px;}
  .expertise-art svg{max-width:260px;}
  .venues-grid{grid-template-columns:1fr;}
  .contact-shell{grid-template-columns:1fr;padding:44px 28px;gap:44px;}
}

@media (max-width:680px){
  .nav-links{
    position:fixed;
    top:0;right:0;
    height:100vh;
    width:min(78vw,320px);
    background:var(--bg-void);
    border-left:1px solid var(--line);
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:0 40px;
    gap:28px;
    transform:translateX(100%);
    transition:transform .35s ease;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-toggle{
    display:block;
    background:none;border:none;color:var(--ink);
    font-size:1.6rem;cursor:pointer;z-index:200;
  }
  .services-grid{grid-template-columns:1fr;}
  .trust .wrap{grid-template-columns:1fr;}
  .trust-item{border-left:none;padding:0;}
  .form-row{grid-template-columns:1fr;}
  .hero-eye{display:none;}
  .footer-top{flex-direction:column;}
  section{padding:80px 0;}
}


/* ---------- Contenu generique des pages (ex: formulaire de prise de rendez-vous) ---------- */
.page-content{
  color: var(--ink-muted);
  font-size: 1rem;
  line-height: 1.7;
}
.page-content h2, .page-content h3{
  font-family:'Marcellus',serif;
  color: var(--ink);
  font-weight:400;
  margin:34px 0 14px;
}
.page-content p{ margin-bottom:16px; }
.page-content a{ color: var(--gold-bright); text-decoration: underline; }
.page-content ul, .page-content ol{ margin:0 0 16px 20px; }
.page-content label{
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.8rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color: var(--ink-muted);
  display:block;
  margin-top:20px;
  margin-bottom:8px;
}
.page-content input[type="text"],
.page-content input[type="email"],
.page-content input[type="tel"],
.page-content input[type="date"],
.page-content input[type="search"],
.page-content select,
.page-content textarea{
  width:100%;
  max-width:520px;
  background: transparent;
  border:none;
  border-bottom:1px solid var(--line-strong);
  color: var(--ink);
  padding:10px 2px;
  font-family:'Inter',sans-serif;
  font-size:0.96rem;
  outline:none;
  border-radius:0;
  transition:border-color .25s;
}
.page-content input:focus,
.page-content select:focus,
.page-content textarea:focus{
  border-color: var(--gold-core);
}
.page-content select option{ background: var(--bg-surface); color: var(--ink); }
.page-content textarea{ min-height:100px; resize:vertical; }
.page-content button,
.page-content input[type="submit"],
.page-content input[type="button"]{
  margin-top:26px;
  display:inline-block;
  background: var(--gold-core);
  color: var(--bg-void);
  border:none;
  padding:15px 32px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.96rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:2px;
  cursor:pointer;
  transition:transform .25s, box-shadow .25s;
}
.page-content button:hover,
.page-content input[type="submit"]:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px -8px rgba(201,162,39,0.5);
}


/* ---------- Partenaires ---------- */
.partners{
  padding:100px 0 120px;
  border-top:1px solid var(--line);
}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:2px;
  background:var(--line);
  border:1px solid var(--line);
}
.partner-card{
  background:var(--bg-void);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:50px;
  min-height:220px;
}
.partner-card.partner-light{
  background:#ffffff;
}
.partner-card img{
  max-width:100%;
  max-height:130px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(0);
  transition:transform .3s ease;
}
.partner-card:hover img{
  transform:scale(1.04);
}

@media (max-width:680px){
  .partners-grid{ grid-template-columns:1fr; }
  .partner-card{ padding:36px; min-height:160px; }
}


/* ---------- Offres d'emploi ---------- */
.jobs-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:20px;
}
.job-card{
  background:var(--bg-void);
  padding:34px 28px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:background .3s ease;
}
.job-card:hover{ background:var(--bg-surface); }
.job-card .eyebrow{ font-size:0.7rem; }
.job-card h3{
  font-family:'Marcellus',serif;
  font-weight:400;
  font-size:1.15rem;
  color:var(--ink);
  margin:0;
}
.job-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.job-meta span{
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.78rem;
  letter-spacing:0.04em;
  color:var(--gold-bright);
  border:1px solid var(--line-strong);
  padding:4px 10px;
  border-radius:2px;
}
.job-desc{
  color:var(--ink-muted);
  font-size:0.9rem;
  line-height:1.6;
}

@media (max-width:980px){
  .jobs-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:680px){
  .jobs-grid{ grid-template-columns:1fr; }
}


/* ---------- Sous-menu deroulant "Prestations" ---------- */
.service-card{ scroll-margin-top:110px; }

.has-dropdown{
  position:relative;
}
.has-dropdown > a{
  display:flex;
  align-items:center;
  gap:6px;
}
.has-dropdown > a::after{
  content:'';
  width:6px;
  height:6px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  margin-top:-3px;
  transition:transform .2s ease;
}
.has-dropdown:hover > a::after{
  transform:rotate(225deg);
  margin-top:3px;
}
.dropdown-menu{
  list-style:none;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  margin-top:18px;
  min-width:220px;
  background:var(--bg-surface);
  border:1px solid var(--line-strong);
  padding:8px 0;
  opacity:0;
  visibility:hidden;
  transform:translateX(-50%) translateY(6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:50;
}
.has-dropdown:hover .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.dropdown-menu li{ display:block; }
.dropdown-menu a{
  display:block;
  padding:10px 22px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.88rem;
  letter-spacing:0.05em;
  text-transform:none;
  color:var(--ink-muted);
  white-space:nowrap;
  transition:color .2s ease, background .2s ease;
}
.dropdown-menu a:hover{
  color:var(--gold-bright);
  background:rgba(201,162,39,0.08);
}

@media (max-width:680px){
  .has-dropdown > a::after{ display:none; }
  .dropdown-menu{
    position:static;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
    border:none;
    margin-top:8px;
    padding:0 0 0 16px;
    min-width:0;
  }
  .has-dropdown.open .dropdown-menu{ display:block; }
  .dropdown-menu a{ padding:10px 0; color:var(--ink-muted); }
}


/* ---------- Inscription newsletter (pied de page) ---------- */
.newsletter-block{
  padding:50px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.newsletter-block .inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.newsletter-block h3{
  font-family:'Marcellus',serif;
  font-weight:400;
  font-size:1.3rem;
  color:var(--ink);
  margin:0 0 6px;
}
.newsletter-block p{
  color:var(--ink-muted);
  font-size:0.88rem;
  margin:0;
  max-width:360px;
}
.newsletter-signup-form{
  flex:1;
  min-width:280px;
  max-width:440px;
}
.newsletter-signup-row{
  display:flex;
  gap:0;
  border-bottom:1px solid var(--line-strong);
}
.newsletter-signup-row input[type="email"]{
  flex:1;
  background:transparent;
  border:none;
  padding:10px 4px;
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:0.94rem;
  outline:none;
}
.newsletter-signup-row button{
  background:none;
  border:none;
  color:var(--gold-bright);
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.9rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  cursor:pointer;
  padding:10px 4px;
}
.newsletter-signup-row button:hover{ color:var(--gold-core); }
.newsletter-signup-consent{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:12px;
  font-size:0.76rem;
  color:var(--ink-muted);
  cursor:pointer;
}
.newsletter-signup-consent input{ margin-top:3px; }

@media (max-width:680px){
  .newsletter-block .inner{ flex-direction:column; align-items:flex-start; }
  .newsletter-signup-form{ width:100%; max-width:none; }
}


/* ---------- Inscription newsletter ---------- */
.newsletter-signup{ max-width:420px; }
.newsletter-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.newsletter-form input[type="email"]{
  flex:1;
  min-width:180px;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line-strong);
  color:var(--ink);
  padding:10px 2px;
  font-family:'Inter',sans-serif;
  font-size:0.92rem;
  outline:none;
}
.newsletter-form input[type="email"]:focus{ border-color:var(--gold-core); }
.newsletter-form button{
  background:var(--gold-core);
  color:var(--bg-void);
  border:none;
  padding:11px 22px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.9rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:2px;
  cursor:pointer;
  transition:transform .2s ease;
}
.newsletter-form button:hover{ transform:translateY(-2px); }
.newsletter-msg{ color:var(--gold-bright); font-size:0.9rem; }
.footer-newsletter{ margin-top:18px; }


/* Newsletter embed — pas de debordement sur mobile */
.page-content iframe{max-width:100% !important;}
@media (max-width:640px){
  .page-content{overflow-x:hidden;}
  .page-content iframe{width:100% !important;border-left:0 !important;border-right:0 !important;}
}


/* --- Liens sociaux du pied de page (ajout 14/07/2026) --- */
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.footer-social__link {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  padding: 9px 15px;
  border: 1px solid var(--line, rgba(201,162,39,.18));
  border-radius: 999px;
  color: var(--ink-muted, #a89d87);
  text-decoration: none;
  font-size: .9rem;
  line-height: 1;
  white-space: nowrap;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
.footer-social__link:hover,
.footer-social__link:focus-visible {
  border-color: var(--gold-core, #c9a227);
  color: var(--gold-bright, #e7c466);
  background-color: rgba(201,162,39,.08);
}
.footer-social__link svg {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
}
.footer-social__link span {
  display: inline-block;
}


/* --- Bandeau de marque (page « À propos ») --- 14/07/2026 --- */
.brand-banner {
  display: block;
  width: 100%;
  line-height: 0;
  background: var(--bg-void, #0a0908);
  padding-top: 96px;   /* degage le header transparent */
  margin-bottom: 24px;
}
.brand-banner img {
  display: block;
  width: 100%;
  height: auto;   /* image entiere, jamais rognee */
}
@media (max-width: 900px) {
  .brand-banner { padding-top: 76px; margin-bottom: 12px; }
}
