/*
Theme Name: SNN Elementor V2
Theme URI: https://www.syndicat-notaires.org/
Author: Syndicat National des Notaires
Description: Thème SNN compatible Elementor, avec accueil reconstruit proprement et sans reprise brute de l'ancien HTML.
Version: 2.1.0
Text Domain: snn-elementor-v2
*/
:root{
 --blue:#275C84; --blue2:#275C84; --orange:#ef4b2c; --cream:#f6f3ee;
 --ink:#17232e; --muted:#667783; --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{text-decoration:none;color:var(--blue)}
a:hover{color:var(--orange)}
img{max-width:100%;height:auto}
.snn-wrap{max-width:var(--max);margin:auto;padding:0 28px}

/* header */
.snn-header{background:#fff;border-bottom:1px solid #e1e8ec;position:relative;z-index:100}
.snn-head{min-height:116px;display:flex;align-items:center;gap:38px}
.snn-brand{display:flex;align-items:center;gap:16px;min-width:330px}
.snn-brand img{width:88px;height:88px;object-fit:contain}
.snn-brand-text{font:29px/.98 Georgia,serif;color:var(--blue)}
.snn-brand-text em{display:block;font-weight:400}
.snn-nav{margin-left:auto}
.snn-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:7px}
.snn-menu>li{position:relative}
.snn-menu>li>a{display:block;padding:47px 9px 44px;font-size:14px;font-weight:800;text-transform:uppercase;color:var(--blue2);white-space:nowrap}
.snn-menu>li>a:hover,.snn-menu>.current-menu-item>a,.snn-menu>.current-menu-ancestor>a{color:var(--orange)}
.snn-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:290px;list-style:none;margin:0;padding:8px 0;background:#fff;border-top:4px solid var(--orange);box-shadow:0 16px 40px rgba(7,52,82,.16)}
.snn-menu li:hover>.sub-menu{display:block}
.snn-menu .sub-menu a{display:block;padding:10px 18px;font-size:14px;font-weight:600;color:var(--blue2)}
.snn-menu .sub-menu a:hover{background:#f6f8f9;color:var(--orange)}
.snn-toggle{display:none;border:0;background:none;font-size:28px;color:var(--blue);cursor:pointer}

/* homepage */
.hero{background:var(--blue);color:#fff}
.hero-inner{min-height:570px;display:grid;grid-template-columns:1.45fr .55fr;align-items:center;gap:50px;padding-top:70px;padding-bottom:70px}
.kicker{color:#ffb39f;text-transform:uppercase;font-weight:900;letter-spacing:.13em;font-size:13px}
.hero h1{font:500 clamp(44px,5.8vw,78px)/1.02 Georgia,serif;margin:14px 0 18px;letter-spacing:-.025em}
.hero .lead{font-size:clamp(20px,2.1vw,29px);color:#e6eff4;max-width:780px}
.hero-stand{display:inline-block;background:var(--orange);padding:10px 18px;font-size:28px;font-weight:900;margin-top:23px}
.hero-art{display:flex;justify-content:center}
.hero-art img{width:min(290px,100%);filter:drop-shadow(0 18px 30px rgba(0,0,0,.16))}
.section{padding:74px 0}
.section.alt{background:var(--cream)}
.section-title{font:500 clamp(38px,4.2vw,58px)/1.05 Georgia,serif;color:var(--blue);margin:0 0 32px}
.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.intro-copy{font-size:21px;line-height:1.65}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;background:var(--orange);color:#fff!important;padding:14px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.btn.outline{background:transparent;color:var(--blue)!important;border:1px solid var(--blue)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid #e3e9ec;padding:27px;min-height:255px;display:flex;flex-direction:column}
.card .eyebrow{font-size:12px;color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.card h3{font:500 27px/1.12 Georgia,serif;color:var(--blue);margin:12px 0}
.card p{color:#50616e;flex:1}
.card a{font-weight:800;color:var(--orange)}
.join{background:var(--blue);color:#fff}
.join .section-title{color:#fff}
.join p{font-size:20px;color:#dfeaf0;max-width:820px}
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.partner{border:1px solid #dbe4e8;background:#fff;min-height:105px;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;font-weight:800;color:var(--blue)}

/* inner pages */
.snn-main{min-height:60vh}
.snn-content{max-width:1100px;margin:auto;padding:68px 28px 86px}
.page-title{font:500 clamp(40px,5vw,64px)/1.02 Georgia,serif;color:var(--blue);margin:0 0 30px}
.entry{font-size:18px;line-height:1.72}
.entry h2,.entry h3{font-family:Georgia,serif;color:var(--blue)}
.entry img{max-width:100%;height:auto}
.entry a{color:var(--orange)}
body.elementor-page .snn-content{max-width:none;padding:0}
body.elementor-page .page-title{display:none}

/* footer */
.snn-footer{background:var(--blue2);color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;padding-top:52px;padding-bottom:42px}
.snn-footer h3{font:500 28px Georgia,serif;margin:0 0 13px}
.snn-footer p{color:#d9e6ed}
.snn-footer a{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;padding-bottom:24px;color:#bcd0da;font-size:14px}

/* mobile */
@media(max-width:1050px){
 .snn-brand{min-width:auto}.snn-brand-text{font-size:23px}
 .snn-toggle{display:block;margin-left:auto}
 .snn-nav{display:none;position:absolute;left:0;right:0;top:116px;background:#fff;padding:12px 24px 24px;border-top:1px solid #e1e8ec}
 body.menu-open .snn-nav{display:block}
 .snn-menu{display:block}.snn-menu>li>a{padding:12px 4px}
 .snn-menu .sub-menu{display:block!important;position:static;box-shadow:none;border:0;padding-left:18px}
 .hero-inner{grid-template-columns:1fr}.hero-art{display:none}
 .cards{grid-template-columns:1fr}.partners{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .snn-wrap{padding-left:18px;padding-right:18px}
 .snn-head{min-height:90px}.snn-brand img{width:62px;height:62px}.snn-brand-text{font-size:20px}.snn-nav{top:90px}
 .hero-inner{min-height:auto;padding-top:65px;padding-bottom:65px}
 .intro-grid,.footer-grid{grid-template-columns:1fr;gap:28px}.partners{grid-template-columns:1fr}
}
