/* Création Site Les Herbiers — V1.1.1 Desktop Wide Layout */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f6f9;color:#0c1b29;font:17px/1.72 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}
.site-header{min-height:92px;padding:0 clamp(28px,4vw,84px);display:flex;align-items:center;justify-content:space-between;background:rgba(5,18,29,.97);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 10px 35px #06121e20;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;flex:0 0 auto}.brand-mark{width:44px;height:44px;border:1px solid #4fe0bb55;border-radius:13px;display:grid;place-items:center;background:#123143;font-weight:900;color:#54dfbc}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy span{font-size:11px;letter-spacing:.22em;color:#68dfc0}.brand-copy strong{font-size:18px;letter-spacing:.035em;margin-top:6px;white-space:nowrap}.main-nav{display:flex;gap:clamp(16px,1.7vw,30px);align-items:center}.main-nav a{color:#cbd7e0;text-decoration:none;font-size:14px;font-weight:680;transition:.2s;white-space:nowrap}.main-nav a:hover{color:#fff}.nav-cta{background:#4dd9b5;color:#062219!important;padding:12px 20px;border-radius:999px;font-weight:850!important}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{position:relative;overflow:hidden;padding:clamp(78px,7vw,122px) clamp(28px,5vw,90px) clamp(72px,6vw,105px);background:linear-gradient(120deg,#06131f 0%,#0a2434 62%,#123b4b 100%);color:#fff}.hero:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-150px;top:-320px;background:radial-gradient(circle,#4dd9b536,transparent 68%)}.hero-inner{width:min(1540px,100%);margin:auto;position:relative}.eyebrow,.section-title span,.post-category{text-transform:uppercase;letter-spacing:.16em;color:#57dfbd;font-size:12px;font-weight:850}.hero h1{max-width:1180px;font-size:clamp(46px,4.6vw,78px);line-height:1.01;letter-spacing:-.045em;margin:17px 0 23px}.hero-sub{max-width:850px;color:#c5d3dc;font-size:clamp(18px,1.45vw,23px);margin:0 0 32px;line-height:1.55}.hero-line{width:92px;height:4px;border-radius:9px;background:#57dfbd}
.page-shell{width:min(1600px,100%);margin:0 auto;padding:clamp(40px,5vw,82px) clamp(24px,3.5vw,62px)}.content-card{width:100%;max-width:none;margin:0 auto;background:#fff;border:1px solid #e5ebef;border-radius:28px;box-shadow:0 24px 65px #1632470b;padding:clamp(42px,4.5vw,78px) clamp(42px,5.4vw,92px)}.legacy-content{font-size:18px;line-height:1.78}.legacy-content>*{max-width:100%}.legacy-content h2,.legacy-content h3,.legacy-content h4{line-height:1.13;letter-spacing:-.03em;color:#0a2131;margin-top:1.7em;margin-bottom:.62em}.legacy-content h2{font-size:clamp(32px,2.7vw,48px);max-width:1180px}.legacy-content h3{font-size:clamp(25px,2vw,34px)}.legacy-content h4{font-size:clamp(20px,1.45vw,25px)}.legacy-content p,.legacy-content li{color:#445463;max-width:1180px}.legacy-content ul,.legacy-content ol{padding-left:1.5em;max-width:1180px}.legacy-content a{color:#087d69;text-decoration-thickness:1px;text-underline-offset:4px}.legacy-content img{max-width:100%;height:auto;border-radius:20px}.legacy-content table{width:100%!important;max-width:100%!important;border-collapse:collapse;display:block;overflow:auto}.legacy-content td,.legacy-content th{padding:13px;border:1px solid #dce5ec}.legacy-content hr{border:0;border-top:1px solid #dce5ec;margin:42px 0}.legacy-content section{max-width:1180px}.legacy-content input,.legacy-content textarea,.legacy-content select{max-width:100%}
.blog-hub{width:min(1600px,100%);margin:auto;padding:clamp(52px,5vw,84px) clamp(24px,3.5vw,62px) 104px}.blog-intro{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:38px}.section-title h2{font-size:clamp(38px,3.6vw,58px);letter-spacing:-.04em;line-height:1.03;margin:9px 0}.blog-intro p{max-width:620px;color:#5a6875;font-size:17px}.featured-post{display:grid;grid-template-columns:1.2fr .8fr;background:#071a28;color:#fff;border-radius:28px;overflow:hidden;margin:34px 0 40px;min-height:430px;box-shadow:0 24px 55px #102c4014}.featured-visual,.post-visual{background:linear-gradient(135deg,#12384a,#0a2231 55%,#42cdaa);position:relative;overflow:hidden}.featured-visual{min-height:430px}.featured-visual img,.post-visual img{width:100%;height:100%;object-fit:cover;display:block}.featured-visual:after,.post-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 45%,#4fe0ba24)}.featured-copy{padding:clamp(40px,4.5vw,72px);display:flex;flex-direction:column;justify-content:center}.featured-copy h3{font-size:clamp(34px,3vw,50px);line-height:1.06;letter-spacing:-.035em;margin:13px 0 16px}.featured-copy p{color:#bccbd5;font-size:17px;line-height:1.7}.read-link{color:#59dfbd;text-decoration:none;font-weight:850}.blog-filters{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 28px}.blog-filter{border:1px solid #d9e3e9;background:#fff;padding:10px 17px;border-radius:999px;font-size:14px;font-weight:750;cursor:pointer}.blog-filter.active{background:#0b2636;color:#fff;border-color:#0b2636}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.post-card{background:#fff;border:1px solid #e1e9ee;border-radius:22px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;min-height:455px;transition:.2s;box-shadow:0 12px 30px #15344808}.post-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px #15344814}.post-visual{height:225px}.post-body{padding:28px;display:flex;flex-direction:column;flex:1}.post-card h3{font-size:clamp(21px,1.5vw,26px);line-height:1.16;letter-spacing:-.025em;margin:10px 0 13px}.post-card p{color:#61707c;font-size:15px;line-height:1.65}.post-card .read-link{margin-top:auto}.contact-box{margin-top:34px}.contact-box label{display:grid;gap:8px;margin:17px 0;font-weight:750}.contact-box input,.contact-box textarea{width:100%;padding:15px 17px;border:1px solid #cbd6df;border-radius:11px;font:inherit}.contact-box button{background:#0d8b74;color:#fff;border:0;border-radius:999px;padding:15px 26px;font-weight:850}.hp{position:absolute!important;left:-10000px!important}.site-footer{background:#06131f;color:#aebdca;padding:72px clamp(28px,5vw,92px);display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}.site-footer strong{color:#fff;font-size:21px}.site-footer a{display:block;color:#aebdca;text-decoration:none;margin:7px 0}.site-footer a:hover{color:#fff}.footer-note{max-width:540px;color:#7f919f}.empty-blog{padding:38px;border:1px dashed #ccd9e1;border-radius:18px;color:#61707c}
@media(min-width:1450px){body{font-size:18px}.page-shell,.blog-hub{width:min(1680px,94vw)}.hero-inner{width:min(1600px,90vw)}.content-card{padding-left:96px;padding-right:96px}.blog-grid{gap:30px}.post-visual{height:250px}}
@media(max-width:1180px){.main-nav{gap:14px}.main-nav a{font-size:13px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-post{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:92px;left:0;right:0;background:#06131f;padding:24px 30px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.featured-post{grid-template-columns:1fr}.featured-visual{min-height:280px}.blog-grid{grid-template-columns:1fr}.blog-intro{display:block}.site-footer{grid-template-columns:1fr}.page-shell,.blog-hub{padding-left:16px;padding-right:16px}.hero{padding-left:24px;padding-right:24px}.content-card{border-radius:18px;padding:30px 24px}.legacy-content{font-size:16px}}

/* === V1.1.2 — Legacy Content Wide Fix ===
   Important: largeurs en vw afin que la mise en page reste réellement large
   même lorsque le navigateur utilise un zoom inférieur à 100 %. */
:root{--site-wide:94vw;--reading-wide:88vw}
.hero-inner,.page-shell,.blog-hub{width:var(--site-wide)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
.page-shell{padding-left:0!important;padding-right:0!important}
.content-card{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.legacy-content{width:100%!important;max-width:none!important;min-width:0!important}
.legacy-content>*{max-width:none!important}
.legacy-content p,.legacy-content li,.legacy-content h2,.legacy-content h3,.legacy-content h4,.legacy-content ul,.legacy-content ol,.legacy-content section{max-width:none!important;width:auto!important}
.legacy-content [style*="width"],.legacy-content [style*="max-width"],.legacy-content [width]{max-width:100%!important}
.legacy-content table{width:100%!important;max-width:100%!important}

/* Lecture desktop : le texte exploite la page tout en gardant une longueur confortable. */
@media(min-width:1200px){
  .content-card{padding-left:clamp(52px,5vw,110px);padding-right:clamp(52px,5vw,110px)}
  .legacy-content{font-size:max(18px,1.02vw)}
  .legacy-content h2{font-size:max(34px,2.35vw)}
  .legacy-content h3{font-size:max(26px,1.75vw)}
  .legacy-content h4{font-size:max(21px,1.30vw)}
  .hero h1{font-size:max(48px,4.1vw)}
  .hero-sub{font-size:max(19px,1.28vw)}
  .brand-copy strong{font-size:max(18px,.95vw)}
  .main-nav a{font-size:max(14px,.76vw)}
  .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .post-card h3{font-size:max(23px,1.42vw)}
  .post-card p{font-size:max(16px,.92vw)}
}

/* Cas ultra-large / navigateur fortement dézoomé : ne jamais revenir à une colonne centrale miniature. */
@media(min-width:2200px){
  :root{--site-wide:94vw}
  .site-header{padding-left:3vw;padding-right:3vw;min-height:5.3vw}
  .brand-mark{width:2.5vw;height:2.5vw;border-radius:.75vw}
  .brand-copy span{font-size:.62vw}.brand-copy strong{font-size:1.02vw}
  .main-nav{gap:1.5vw}.main-nav a{font-size:.78vw}.nav-cta{padding:.72vw 1.25vw}
  .hero{padding:5.2vw 3vw 4.5vw}.hero h1{font-size:4vw}.hero-sub{font-size:1.25vw}.eyebrow{font-size:.72vw}
  .page-shell{padding-top:3vw;padding-bottom:4vw}
  .content-card{border-radius:1.5vw;padding:3vw 5vw}
  .legacy-content{font-size:1.03vw;line-height:1.72}
  .legacy-content h2{font-size:2.35vw}.legacy-content h3{font-size:1.75vw}.legacy-content h4{font-size:1.3vw}
  .blog-hub{padding-top:3vw;padding-bottom:5vw}.section-title h2{font-size:3vw}.blog-intro p{font-size:1vw;max-width:36vw}
  .featured-post{min-height:25vw;border-radius:1.5vw}.featured-visual{min-height:25vw}.featured-copy h3{font-size:2.6vw}.featured-copy p{font-size:1vw}
  .blog-grid{gap:1.6vw}.post-card{min-height:27vw;border-radius:1.25vw}.post-visual{height:14vw}.post-body{padding:1.6vw}.post-card h3{font-size:1.4vw}.post-card p{font-size:.9vw}
}

@media(max-width:900px){
  :root{--site-wide:100%}
  .page-shell,.blog-hub{width:100%!important;padding-left:16px!important;padding-right:16px!important}
  .hero-inner{width:100%!important}
  .legacy-content{font-size:16px!important}
}
