/* ═══════════════════════════════════════════════
   VENDU — Styles partagés
   Utilisé par : mentions-legales, cgv, confidentialite, contact
═══════════════════════════════════════════════ */

:root{
  --ink:#f4f1ea;
  --paper:#1a1a24;
  --blood:#7c5cff;
  --blood-deep:#5a3fd4;
  --acid:#f3ff3d;
  --rule:rgba(26,26,36,.12);
  --rule-dark:rgba(244,241,234,.12);
  --card:#ffffff;
  --cream-dark:#ebe7dc;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:'Inter Tight',system-ui,sans-serif;
  font-weight:400;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* Film grain overlay */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1000;
  opacity:.08;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.container{max-width:1400px;margin:0 auto;padding:0 2rem}

/* ═══ TICKER ═══ */
.ticker{
  background:var(--blood);
  color:var(--ink);
  padding:.55rem 0;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.2);
  font-family:'Archivo Black',sans-serif;
  font-size:.75rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.ticker-track{
  display:flex;
  gap:3rem;
  white-space:nowrap;
  animation:scroll 40s linear infinite;
  width:max-content;
}
.ticker span::after{content:" ◆";color:var(--acid);margin-left:3rem}
@keyframes scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ═══ NAV ═══ */
nav{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(244,241,234,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--rule);
}
.nav-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.2rem 2rem;
  max-width:1400px;
  margin:0 auto;
}
.logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--paper);padding:0}
  .logo::after{display:none}
  .logo-svg{height:36px;width:auto;display:block}
  .logo-svg.logo-xl{height:48px}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.nav-links{
  display:flex;
  gap:2.5rem;
  list-style:none;
}
.nav-links a{
  color:var(--paper);
  text-decoration:none;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:.02em;
  position:relative;
  transition:color .2s;
}
.nav-links a:hover{color:var(--blood)}
.nav-links a::after{
  content:"";
  position:absolute;
  bottom:-4px;left:0;
  width:0;height:1px;
  background:var(--blood);
  transition:width .3s;
}
.nav-links a:hover::after{width:100%}

/* ═══ BUTTONS ═══ */
.cta-btn{
  background:var(--blood);
  color:var(--ink);
  padding:.8rem 1.5rem;
  border:none;
  font-family:'Archivo Black',sans-serif;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:all .2s;
  border:2px solid var(--blood);
}
.cta-btn:hover{
  background:var(--acid);
  color:var(--paper);
  border-color:var(--acid);
}
.cta-btn.ghost{background:transparent;border:2px solid var(--paper);color:var(--paper)}
.cta-btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

@media(max-width:768px){
  .nav-links{display:none}
}

/* ═══ PAGE HERO (simple) ═══ */
.page-hero{
  position:relative;
  padding:6rem 0 3rem;
  overflow:hidden;
  border-bottom:1px solid var(--rule);
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(124,92,255,.15), transparent 50%),
    radial-gradient(circle at 10% 90%, rgba(243,255,61,.04), transparent 50%);
  pointer-events:none;
}
.page-hero-inner{position:relative;z-index:2}
.page-hero .label{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  font-family:'Archivo Black',sans-serif;
  font-size:.75rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--blood);
  margin-bottom:1.5rem;
}
.page-hero .label::before{
  content:"";
  width:2.5rem;
  height:2px;
  background:var(--blood);
}
.page-hero h1{
  font-family:'Anton',sans-serif;
  font-size:clamp(3rem,8vw,6rem);
  line-height:.95;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
}
.page-hero h1 em{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-weight:400;
  color:var(--blood);
  text-transform:lowercase;
  letter-spacing:-.03em;
}
.page-hero .intro{
  max-width:60ch;
  font-size:1.1rem;
  color:rgba(26,26,36,.75);
  line-height:1.55;
}

/* ═══ LEGAL CONTENT ═══ */
.legal-content{
  padding:4rem 0 6rem;
  max-width:800px;
  margin:0 auto;
}
.legal-content h2{
  font-family:'Anton',sans-serif;
  font-size:2rem;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:3rem 0 1rem;
  color:var(--paper);
  padding-bottom:.5rem;
  border-bottom:2px solid var(--blood);
  display:inline-block;
}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{
  font-family:'Archivo Black',sans-serif;
  font-size:.95rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:2rem 0 .8rem;
  color:var(--blood);
}
.legal-content p{
  margin-bottom:1.2rem;
  color:rgba(26,26,36,.75);
  line-height:1.7;
  font-size:1rem;
}
.legal-content ul{
  list-style:none;
  padding:0;
  margin-bottom:1.5rem;
}
.legal-content li{
  padding:.5rem 0 .5rem 1.5rem;
  color:rgba(26,26,36,.75);
  position:relative;
  line-height:1.6;
}
.legal-content li::before{
  content:"◆";
  position:absolute;
  left:0;
  color:var(--blood);
  font-size:.7rem;
  top:.8rem;
}
.legal-content a{
  color:var(--blood);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border .2s;
}
.legal-content a:hover{border-bottom-color:var(--blood)}
.legal-content strong{color:var(--paper);font-weight:600}
.legal-content .last-update{
  display:inline-block;
  margin-top:1rem;
  padding:.4rem .8rem;
  background:rgba(124,92,255,.15);
  border-left:3px solid var(--blood);
  font-family:'Archivo Black',sans-serif;
  font-size:.7rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--blood);
}

/* ═══ CONTACT SPECIFIC ═══ */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  padding:4rem 0 6rem;
}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

.contact-info h2{
  font-family:'Anton',sans-serif;
  font-size:clamp(2rem,4vw,3rem);
  text-transform:uppercase;
  letter-spacing:-.01em;
  line-height:1;
  margin-bottom:1.5rem;
}
.contact-info h2 em{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-weight:400;
  color:var(--blood);
  text-transform:lowercase;
}
.contact-info p{
  color:rgba(26,26,36,.75);
  line-height:1.6;
  margin-bottom:2rem;
  font-size:1.05rem;
}

.contact-method{
  padding:1.5rem 0;
  border-top:1px solid var(--rule);
}
.contact-method:last-child{border-bottom:1px solid var(--rule)}
.contact-method .cm-label{
  font-family:'Archivo Black',sans-serif;
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--blood);
  margin-bottom:.4rem;
}
.contact-method .cm-value{
  font-family:'Anton',sans-serif;
  font-size:1.4rem;
  letter-spacing:-.01em;
}
.contact-method .cm-value a{
  color:var(--paper);
  text-decoration:none;
  transition:color .2s;
}
.contact-method .cm-value a:hover{color:var(--blood)}

.contact-form{
  background:var(--card);
  border:1px solid var(--rule);
  padding:2.5rem;
}
.contact-form h3{
  font-family:'Anton',sans-serif;
  font-size:1.5rem;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin-bottom:.5rem;
}
.contact-form .form-sub{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  color:rgba(26,26,36,.6);
  margin-bottom:2rem;
  font-size:.95rem;
}
.form-group{margin-bottom:1.5rem}
.form-group label{
  display:block;
  font-family:'Archivo Black',sans-serif;
  font-size:.7rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(26,26,36,.7);
  margin-bottom:.5rem;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  padding:.9rem 1rem;
  background:#ffffff;
  border:1px solid var(--rule);
  color:var(--paper);
  font-family:inherit;
  font-size:1rem;
  transition:all .2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--blood);
  background:#ffffff;
}
.form-group textarea{min-height:120px;resize:vertical}
.form-submit{
  width:100%;
  padding:1.2rem;
  background:var(--blood);
  color:var(--ink);
  border:2px solid var(--blood);
  font-family:'Archivo Black',sans-serif;
  font-size:.9rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .2s;
}
.form-submit:hover{
  background:var(--acid);
  color:var(--paper);
  border-color:var(--acid);
}

/* ═══ FOOTER ═══ */
footer{
  background:var(--cream-dark);
  color:var(--paper);
  padding:4rem 0 2rem;
  border-top:1px solid var(--rule);
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem;
  margin-bottom:3rem;
}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer-brand .logo{font-size:2rem;margin-bottom:1rem}
.footer-brand p{
  color:rgba(26,26,36,.65);
  max-width:35ch;
  font-size:.95rem;
  line-height:1.6;
}
.footer-col h4{
  font-family:'Archivo Black',sans-serif;
  font-size:.75rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--blood);
  margin-bottom:1.2rem;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.7rem}
.footer-col a{
  color:rgba(26,26,36,.65);
  text-decoration:none;
  font-size:.95rem;
  transition:color .2s;
}
.footer-col a:hover{color:var(--paper)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:2rem;
  border-top:1px solid var(--rule);
  font-size:.85rem;
  color:rgba(26,26,36,.55);
  flex-wrap:wrap;
  gap:1rem;
}
