/*
Theme Name: I Love Montreux Riviera
Description: Thème léger avec page d'accueil complète, agenda, annuaire, partenaires, mobile/iPad.
Version: 8.0.4
Author: I Love Montreux
Text Domain: ilove-montreux
*/
:root{--red:#e63946;--blue:#003b6f;--blue2:#0066cc;--dark:#182230;--muted:#5b6675;--light:#f5f8fb}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--dark);background:#fff;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit}.container{width:min(1180px,92vw);margin:0 auto}
.topbar{background:#003b6f;color:#fff;font-size:13px}.topbar .container{display:flex;justify-content:space-between;padding:8px 0}.topbar a{color:#fff;text-decoration:none;margin-left:14px}
.header{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08);position:sticky;top:0;z-index:90}.head-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}.brand{display:flex;align-items:center;gap:16px;text-decoration:none}.badge{width:92px;height:92px;border-radius:50%;background:linear-gradient(#e30613 0 49%,#003b6f 49%);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;line-height:1.05;border:5px solid #fff;box-shadow:0 0 0 2px #e6eaf0}.badge span{font-size:13px}.brand-title{font-weight:900;color:#d42d35;font-size:28px;line-height:1}.brand-title b{display:block;color:#003b6f;font-size:32px}.brand-title small{display:block;color:#003b6f;letter-spacing:9px;font-size:15px;margin-top:5px}.tagline{border-left:1px solid #dde5ef;padding-left:28px;color:#485566;font-size:19px;max-width:330px}.search{flex:1;max-width:330px}.search input{width:100%;padding:16px;border:1px solid #d8e0ea;border-radius:8px}.btn{display:inline-block;background:var(--red);color:#fff!important;border:0;border-radius:8px;padding:13px 22px;text-decoration:none;font-weight:800;cursor:pointer}.btn.blue{background:var(--blue)}.btn.outline{background:transparent;border:2px solid #fff;color:#fff!important}.navwrap{border-top:1px solid #e7edf3}.nav{display:flex;align-items:center;gap:32px;padding:16px 0}.nav a{text-decoration:none;font-weight:800}.menu-toggle{display:none;background:#003b6f;color:#fff;border:0;border-radius:8px;padding:12px 16px;font-weight:800}
.hero{min-height:560px;background:linear-gradient(90deg,rgba(0,59,111,.78),rgba(0,59,111,.18)),url('assets/hero-riviera.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-inner{max-width:680px}.hero h1{font-size:62px;line-height:1.05;margin:0 0 20px}.hero p{font-size:23px;margin:0 0 28px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.section{padding:54px 0}.section.alt{background:var(--light)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section h2{font-size:30px;margin:0;color:#101828}.underline:after{content:"";display:block;width:64px;height:4px;background:var(--red);margin-top:10px}
.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid #edf1f5;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden}.card-img{height:170px;background:#d9e8f5;display:flex;align-items:center;justify-content:center;color:#003b6f;font-weight:900}.card-body{padding:20px}.card h3{margin:0 0 8px;font-size:20px}.card p{color:var(--muted);margin:0 0 14px}
.event{background:#fff;border-left:5px solid var(--red);border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.date{font-weight:900;color:var(--red);font-size:18px}.annuaire-box{background:#003b6f;color:#fff;border-radius:18px;padding:28px}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cat{background:#fff;color:#003b6f;border-radius:10px;padding:14px;text-align:center;font-weight:800}
.business-card{text-align:center}.business-card .logo-box{height:120px;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px}.logo-placeholder{font-size:42px;font-weight:900;color:#003b6f}.partners{background:#fff;border-top:1px solid #e7edf3;border-bottom:1px solid #e7edf3;overflow:hidden;padding:24px 0}.partners h2{font-size:25px;margin:0 0 18px}.track{display:flex;gap:50px;width:max-content;animation:scroll 36s linear infinite}.partner-name{white-space:nowrap;border:1px solid #e2e8f0;border-radius:12px;min-width:180px;text-align:center;padding:18px 24px;font-weight:900;color:#003b6f;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.05)}@keyframes scroll{to{transform:translateX(-50%)}}
.form{max-width:760px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.form label{display:block;font-weight:800;margin-bottom:14px}.form input,.form textarea{width:100%;padding:13px;border:1px solid #ccd6e0;border-radius:10px;margin-top:6px}.notice{background:#e8f7ed;border-left:4px solid #2eaf5d;padding:14px;border-radius:8px;margin:15px 0}
.footer{background:#003b6f;color:#fff;padding:42px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.footer a{color:#fff;text-decoration:none}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:24px;padding-top:18px;font-size:13px}.floating{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;flex-direction:column;gap:10px}.floating a{background:#25D366;color:#fff;text-decoration:none;border-radius:999px;padding:13px 16px;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.25)}.floating .contact{background:var(--red)}
@media(max-width:1024px){.head-main{flex-wrap:wrap}.tagline{display:none}.hero{min-height:500px}.hero h1{font-size:48px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar{display:none}.badge{width:64px;height:64px}.brand-title{font-size:20px}.brand-title b{font-size:23px}.brand-title small{letter-spacing:5px}.search{display:none}.menu-toggle{display:block}.nav{display:none;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid #eef2f6}.hero{text-align:center;min-height:470px;background-position:center}.hero-inner{margin:auto}.hero h1{font-size:36px}.hero p{font-size:18px}.hero-actions{justify-content:center}.section{padding:38px 0}.section-head{display:block}.grid-3,.grid-4{grid-template-columns:1fr}.cat-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.floating{right:12px;bottom:12px}.floating a{font-size:13px;padding:10px 13px}}

/* v3.0 assets and contact updates */
.logo-img{width:92px;height:92px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #e6eaf0}
.partner-logo{white-space:nowrap;border:1px solid #e2e8f0;border-radius:12px;min-width:190px;height:96px;display:flex;align-items:center;justify-content:center;padding:12px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.partner-logo img{max-height:72px;max-width:165px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:.2s}
.partner-logo:hover img{filter:none;opacity:1}
.wa-icon{width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex!important;align-items:center;justify-content:center;text-decoration:none;font-weight:900;font-size:18px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.phone-link{font-weight:800;color:#003b6f;text-decoration:none}
@media(max-width:760px){.logo-img{width:64px;height:64px}.partner-logo{min-width:155px;height:78px}.partner-logo img{max-height:56px;max-width:135px}}


/* v3.1 WordPress menu support */
.nav ul,.nav-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:32px}
.nav li{margin:0;padding:0}
.nav li a{text-decoration:none;font-weight:800}
.nav .sub-menu{display:none;position:absolute;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:10px;border-radius:10px;gap:0;min-width:220px}
.nav li{position:relative}
.nav li:hover>.sub-menu{display:block}
.nav .sub-menu li a{display:block;padding:10px 12px;white-space:nowrap}
@media(max-width:760px){
  .nav ul,.nav-menu{display:block}
  .nav .sub-menu{position:static;display:block;box-shadow:none;padding-left:14px}
}


/* v3.2 menu amélioré + accordéon mobile + WhatsApp logo */
.navwrap{background:#fff;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6}
.nav{display:flex;align-items:center;gap:10px;padding:12px 0}
.nav > a,
.nav-menu > li > a,
.nav ul > li > a{
  display:block;
  padding:12px 16px;
  border-radius:999px;
  color:#152033;
  text-decoration:none;
  font-weight:850;
  transition:all .2s ease;
}
.nav > a:hover,
.nav-menu > li > a:hover,
.nav ul > li > a:hover,
.nav .current-menu-item > a{
  background:#003b6f;
  color:#fff;
  box-shadow:0 8px 18px rgba(0,59,111,.18);
}
.nav-menu{width:100%}
.nav li.menu-item-has-children > a:after{
  content:"▾";
  font-size:11px;
  margin-left:8px;
}
.nav .sub-menu{
  border:1px solid #edf1f6;
  border-radius:14px;
}
.mobile-accordion-toggle{display:none}

.wa-icon{
  width:56px!important;
  height:56px!important;
  border-radius:50%;
  background:#25D366!important;
  color:#fff!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.wa-icon svg{width:30px;height:30px;display:block;fill:#fff}

.home-events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.home-event-card{
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.07);
  overflow:hidden;
  border:1px solid #edf1f6;
}
.home-event-date{
  background:#e63946;
  color:#fff;
  font-weight:900;
  padding:12px 16px;
  display:flex;
  gap:10px;
  align-items:center;
}
.home-event-body{padding:18px}
.home-event-body h3{margin:0 0 8px;font-size:20px;color:#101828}
.home-event-meta{color:#5b6675;font-weight:700;margin-bottom:10px}
.home-event-empty{background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(0,0,0,.06)}

@media(max-width:1024px){
  .home-events-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .navwrap{position:relative}
  .nav{
    display:none;
    padding:8px 0 14px;
    gap:0;
    flex-direction:column;
    align-items:stretch;
  }
  .nav.open{display:flex}
  .nav ul,.nav-menu{display:block;width:100%}
  .nav li{border-bottom:1px solid #edf1f6}
  .nav > a,
  .nav-menu > li > a,
  .nav ul > li > a{
    border-radius:10px;
    padding:14px 16px;
    margin:2px 0;
    background:#f7f9fc;
  }
  .nav li.menu-item-has-children{position:relative}
  .nav li.menu-item-has-children > a{padding-right:52px}
  .mobile-accordion-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:8px;
    top:6px;
    width:38px;
    height:38px;
    border:0;
    border-radius:10px;
    background:#003b6f;
    color:#fff;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
  }
  .nav .sub-menu{
    display:none!important;
    position:static;
    box-shadow:none;
    border:0;
    border-radius:0;
    padding:0 0 8px 14px;
    background:#fff;
  }
  .nav li.open > .sub-menu{display:block!important}
  .nav li.open > .mobile-accordion-toggle{background:#e63946}
  .home-events-grid{grid-template-columns:1fr}
}


/* v3.3 - Blocs Shopping / Manger / Dormir / Visiter */
.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.experience-card{
  position:relative;
  min-height:260px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  text-decoration:none;
  color:#fff;
  background:#003b6f;
  isolation:isolate;
}
.experience-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,59,111,.78));
  z-index:1;
}
.experience-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.experience-card:hover img{transform:scale(1.08)}
.experience-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:24px;
}
.experience-icon{font-size:34px;margin-bottom:8px}
.experience-content h3{font-size:26px;margin:0 0 8px;color:#fff}
.experience-content p{margin:0 0 16px;color:rgba(255,255,255,.9)}
.experience-pill{
  display:inline-block;
  background:#e63946;
  color:#fff;
  padding:9px 15px;
  border-radius:999px;
  font-weight:900;
  font-size:14px;
}
@media(max-width:1024px){.experience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.experience-grid{grid-template-columns:1fr}.experience-card{min-height:230px}}

/* v3.4 - Téléphone header + liens annuaire */
.phone-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:#003b6f!important;
  text-decoration:none;
  white-space:nowrap;
}
.phone-link svg{
  width:19px;
  height:19px;
  fill:#e63946;
  flex:0 0 auto;
}
@media(max-width:760px){
  .phone-link{
    font-size:14px;
    width:100%;
    justify-content:center;
    padding:8px 0;
  }
}


/* v3.5 - Premium visual refresh */
body{
  background:#f6f8fb;
}
.topbar{
  background:linear-gradient(90deg,#002f5d,#004b86);
  letter-spacing:.2px;
}
.header{
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(0,59,111,.08);
}
.head-main{
  padding:22px 0;
}
.logo-img{
  box-shadow:0 12px 30px rgba(0,59,111,.16),0 0 0 6px #fff;
}
.brand-title{
  letter-spacing:-.5px;
}
.tagline{
  font-size:18px;
  line-height:1.45;
  color:#344054;
  max-width:420px;
}
.search{
  display:none!important;
}
.phone-link{
  background:#f3f7fb;
  border:1px solid #dbe7f3;
  border-radius:999px;
  padding:12px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.phone-link:hover{
  background:#fff;
  box-shadow:0 8px 22px rgba(0,59,111,.12);
}
.header .btn{
  border-radius:14px;
  padding:15px 24px;
  box-shadow:0 12px 24px rgba(230,57,70,.22);
}
.navwrap{
  background:linear-gradient(90deg,#ffffff,#f7fbff);
}
.nav{
  justify-content:center;
}
.nav > a,
.nav-menu > li > a,
.nav ul > li > a{
  font-size:16px;
  letter-spacing:.1px;
  padding:13px 20px;
}
.hero{
  min-height:620px;
  background:
    linear-gradient(90deg,rgba(0,38,76,.82),rgba(0,69,122,.42),rgba(0,0,0,.15)),
    url('assets/hero-riviera.jpg') center/cover no-repeat;
}
.hero-inner{
  background:rgba(0,45,85,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  padding:46px;
  backdrop-filter:blur(2px);
}
.hero h1{
  font-size:68px;
  text-shadow:0 8px 30px rgba(0,0,0,.32);
}
.hero p{
  max-width:780px;
  text-shadow:0 4px 18px rgba(0,0,0,.25);
}
.hero .btn{
  border-radius:14px;
  padding:16px 28px;
  box-shadow:0 14px 30px rgba(0,0,0,.22);
}
.section{
  padding:68px 0;
}
.section.alt{
  background:linear-gradient(180deg,#f7fbff,#eef5fb);
}
.section h2{
  letter-spacing:-.5px;
}
.card,.event,.annuaire-box,.business-card,.home-event-card{
  border-radius:22px;
  box-shadow:0 18px 45px rgba(16,42,67,.08);
}
.card{
  transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 55px rgba(16,42,67,.14);
}
.experience-card{
  border-radius:26px;
  min-height:300px;
  box-shadow:0 22px 55px rgba(0,59,111,.18);
}
.experience-content{
  padding:30px;
}
.experience-pill,.btn{
  letter-spacing:.2px;
}
.annuaire-box{
  background:linear-gradient(135deg,#003b6f,#0066cc);
  padding:34px;
}
.cat{
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.partners{
  background:#fff;
}
.partner-logo{
  border-radius:18px;
}
.footer{
  background:linear-gradient(135deg,#002f5d,#003b6f 55%,#002541);
}
.floating{
  right:22px;
  bottom:22px;
}
.floating .contact{
  border-radius:999px;
  box-shadow:0 14px 34px rgba(230,57,70,.28);
}
.wa-icon{
  box-shadow:0 14px 34px rgba(37,211,102,.35)!important;
}

/* tablette */
@media(max-width:1024px){
  .head-main{
    gap:18px;
  }
  .tagline{
    order:3;
    width:100%;
    max-width:none;
    border-left:0;
    padding-left:0;
    text-align:center;
  }
  .phone-link{
    padding:10px 14px;
  }
  .hero h1{font-size:52px}
  .hero-inner{padding:36px}
}

/* mobile */
@media(max-width:760px){
  .head-main{
    justify-content:center;
    text-align:center;
  }
  .brand{
    width:100%;
    justify-content:center;
  }
  .tagline{
    font-size:15px;
    margin-top:4px;
  }
  .phone-link{
    width:auto;
    justify-content:center;
    font-size:15px;
    margin:0 auto;
  }
  .header .btn{
    width:auto;
  }
  .menu-toggle{
    width:100%;
    border-radius:14px;
    margin-top:6px;
  }
  .hero{
    min-height:560px;
  }
  .hero-inner{
    padding:28px 20px;
    border-radius:22px;
  }
  .hero h1{
    font-size:38px;
  }
  .hero p{
    font-size:18px;
  }
  .hero .btn{
    width:100%;
    text-align:center;
  }
}

/* v4.0 - Boutique WooCommerce + blocs premium */
.shop-menu-btn{background:#e63946!important;color:#fff!important;box-shadow:0 10px 24px rgba(230,57,70,.25)!important}
.shop-menu-btn:hover{background:#c92f3b!important;color:#fff!important}
.shop-menu-btn:before{content:"🛒";margin-right:7px}
.shop-highlight{background:linear-gradient(135deg,#003b6f,#0066cc);color:#fff;border-radius:28px;padding:38px;display:grid;grid-template-columns:1.4fr .8fr;gap:30px;align-items:center;box-shadow:0 24px 60px rgba(0,59,111,.18)}
.shop-highlight h2{color:#fff;font-size:34px;margin:0 0 12px}
.shop-highlight p{color:rgba(255,255,255,.9);font-size:18px;margin:0 0 22px}
.shop-badge{display:inline-block;background:#e63946;color:#fff;padding:8px 14px;border-radius:999px;font-weight:900;margin-bottom:14px}
.shop-visual{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:26px;text-align:center;font-size:78px}
.social-strip{display:flex;gap:12px;flex-wrap:wrap}
.social-strip a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#003b6f;text-decoration:none;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.newsletter-premium{background:#fff;border-radius:28px;padding:34px;box-shadow:0 18px 45px rgba(16,42,67,.08);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.newsletter-premium input{padding:15px;border:1px solid #d8e0ea;border-radius:14px;min-width:280px}
@media(max-width:760px){.shop-highlight{grid-template-columns:1fr;padding:28px;text-align:center}.newsletter-premium{grid-template-columns:1fr}.newsletter-premium input{min-width:0;width:100%}}

/* v4.1 - Bouton Boutique séparé à droite du menu */
.navwrap .container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.nav{
  flex:1;
  justify-content:center;
}
.header-shop-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#e63946;
  color:#fff!important;
  text-decoration:none;
  border-radius:999px;
  padding:13px 22px;
  font-weight:900;
  box-shadow:0 12px 28px rgba(230,57,70,.28);
  white-space:nowrap;
}
.header-shop-button:hover{
  background:#c92f3b;
  color:#fff!important;
  transform:translateY(-1px);
}
@media(max-width:760px){
  .navwrap .container{
    display:block;
  }
  .header-shop-button{
    width:100%;
    justify-content:center;
    margin:12px 0 14px;
  }
}


/* v4.2 Premium - boutique goodies + UX premium */
:root{
  --gold:#d7a83f;
  --premium-shadow:0 24px 70px rgba(0,59,111,.16);
}
.header{
  border-bottom:1px solid rgba(0,59,111,.10);
}
.navwrap .container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.nav{flex:1;justify-content:center}
.header-shop-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(135deg,#e63946,#c92f3b);
  color:#fff!important;
  text-decoration:none;
  border-radius:999px;
  padding:13px 22px;
  font-weight:900;
  box-shadow:0 14px 32px rgba(230,57,70,.30);
  white-space:nowrap;
  transition:.22s ease;
}
.header-shop-button:hover{
  transform:translateY(-2px);
  color:#fff!important;
  box-shadow:0 18px 40px rgba(230,57,70,.40);
}
.hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:90px;
  background:linear-gradient(180deg,transparent,#f6f8fb);
  pointer-events:none;
}
.hero{position:relative}
.shop-highlight{
  grid-template-columns:1.05fr .95fr;
  overflow:hidden;
  position:relative;
}
.shop-highlight:before{
  content:"";
  position:absolute;
  top:-80px;
  right:-80px;
  width:240px;
  height:240px;
  background:radial-gradient(circle,rgba(215,168,63,.45),transparent 65%);
}
.shop-highlight h2{
  font-size:40px;
  letter-spacing:-.7px;
}
.shop-badge{
  background:linear-gradient(135deg,#d7a83f,#f0c96a);
  color:#082b4f;
}
.shop-visual{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  font-size:0!important;
  position:relative;
  z-index:1;
}
.shop-goodies{
  width:100%;
  height:auto;
  display:block;
  border-radius:24px;
  box-shadow:0 22px 55px rgba(0,0,0,.28);
  border:8px solid rgba(255,255,255,.22);
  transform:rotate(1deg);
}
.premium-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:-28px;
  position:relative;
  z-index:3;
}
.kpi-card{
  background:#fff;
  border:1px solid #e7edf3;
  border-radius:20px;
  padding:22px;
  box-shadow:var(--premium-shadow);
  text-align:center;
}
.kpi-card strong{
  display:block;
  color:#003b6f;
  font-size:26px;
  line-height:1;
}
.kpi-card span{
  display:block;
  color:#5b6675;
  margin-top:7px;
  font-weight:800;
}
.home-cta-band{
  background:linear-gradient(135deg,#fff,#f4f8fc);
  border:1px solid #e5edf5;
  border-radius:28px;
  padding:34px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  box-shadow:0 18px 45px rgba(16,42,67,.08);
}
.home-cta-band h2{margin:0 0 8px;color:#003b6f}
.home-cta-band p{margin:0;color:#5b6675}
.footer .social-strip a{
  color:#003b6f;
}
@media(max-width:1024px){
  .premium-kpis{grid-template-columns:repeat(2,1fr);margin-top:20px}
  .shop-highlight{grid-template-columns:1fr}
  .shop-goodies{transform:none}
}
@media(max-width:760px){
  .navwrap .container{display:block}
  .header-shop-button{width:100%;justify-content:center;margin:12px 0 14px}
  .premium-kpis{grid-template-columns:1fr}
  .home-cta-band{grid-template-columns:1fr;text-align:center}
  .shop-highlight h2{font-size:32px}
}


/* v4.3 - 4 commerces annuaire mis en avant */
.directory-featured{
  background:linear-gradient(180deg,#ffffff,#f6f9fc);
}
.directory-featured-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.directory-featured-card{
  background:#fff;
  border:1px solid #e7edf3;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(16,42,67,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.directory-featured-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(16,42,67,.15);
}
.directory-logo{
  height:145px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:#f7fafc;
}
.directory-logo img{
  max-width:100%;
  max-height:105px;
  object-fit:contain;
}
.directory-logo-placeholder{
  width:78px;
  height:78px;
  border-radius:50%;
  background:linear-gradient(135deg,#003b6f,#0066cc);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:900;
}
.directory-card-body{
  padding:20px;
}
.directory-card-body h3{
  margin:0 0 8px;
  color:#101828;
  font-size:20px;
}
.directory-card-body p{
  color:#5b6675;
  margin:0 0 16px;
}
.directory-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.directory-tag{
  background:#eef5fb;
  color:#003b6f;
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
}
@media(max-width:1024px){
  .directory-featured-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .directory-featured-grid{grid-template-columns:1fr}
}


/* =========================================================
   v4.5 - Nouveau design premium logo dégradé + couverture
   ========================================================= */
:root{
  --red:#ff1d25;
  --pink:#ec2f8f;
  --blue:#0076df;
  --cyan:#22c8e8;
  --navy:#003b6f;
  --gradient-brand:linear-gradient(135deg,#ff1d25 0%,#ec2f8f 42%,#0076df 72%,#22c8e8 100%);
  --gradient-brand-soft:linear-gradient(135deg,rgba(255,29,37,.95),rgba(236,47,143,.88),rgba(0,118,223,.90),rgba(34,200,232,.88));
  --premium-shadow:0 24px 70px rgba(0,59,111,.16);
}

body{
  background:#f7fbff;
}

.topbar{
  background:var(--gradient-brand);
}

.header{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid rgba(0,59,111,.08);
  box-shadow:0 12px 34px rgba(0,59,111,.08);
}

.logo-img{
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 16px 38px rgba(0,118,223,.20),0 0 0 6px #fff;
}

.brand-title{
  background:var(--gradient-brand);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  letter-spacing:-.6px;
}

.brand-title b,
.brand-title small{
  color:transparent!important;
}

.tagline{
  color:#344054;
  font-weight:650;
}

.search{display:none!important}

.phone-link{
  background:#fff;
  border:1px solid rgba(0,118,223,.18);
  border-radius:999px;
  padding:12px 18px;
  box-shadow:0 10px 28px rgba(0,118,223,.10);
}

.phone-link svg{
  fill:#ec2f8f!important;
}

.header .btn,
.btn{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f)!important;
  border-radius:999px;
  box-shadow:0 14px 34px rgba(236,47,143,.26);
}

.btn.blue{
  background:linear-gradient(135deg,#003b6f,#0076df)!important;
}

.header-shop-button,
.shop-menu-btn{
  background:var(--gradient-brand)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 16px 38px rgba(236,47,143,.30)!important;
}

.navwrap{
  background:linear-gradient(90deg,#ffffff,#f8fbff);
  border-top:1px solid #edf3fa;
  border-bottom:1px solid #edf3fa;
}

.nav > a,
.nav-menu > li > a,
.nav ul > li > a{
  border-radius:999px;
  transition:.22s ease;
}

.nav > a:hover,
.nav-menu > li > a:hover,
.nav ul > li > a:hover,
.nav .current-menu-item > a{
  background:var(--gradient-brand)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(0,118,223,.20);
}

.hero{
  min-height:650px;
  background:
    linear-gradient(90deg,rgba(0,35,72,.68),rgba(236,47,143,.20),rgba(34,200,232,.12)),
    url('assets/hero-riviera.jpg') center/cover no-repeat!important;
  position:relative;
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 30%,rgba(255,29,37,.30),transparent 35%),
             radial-gradient(circle at 60% 20%,rgba(236,47,143,.22),transparent 32%),
             radial-gradient(circle at 90% 70%,rgba(34,200,232,.25),transparent 38%);
  pointer-events:none;
}

.hero-inner{
  position:relative;
  z-index:1;
  max-width:780px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-radius:34px;
  padding:48px;
  backdrop-filter:blur(5px);
  box-shadow:0 30px 90px rgba(0,0,0,.18);
}

.hero h1{
  font-size:68px;
  line-height:1.02;
  text-shadow:0 12px 34px rgba(0,0,0,.32);
}

.hero p{
  max-width:720px;
  text-shadow:0 8px 22px rgba(0,0,0,.22);
}

.hero .btn{
  padding:16px 28px;
}

.experience-card{
  border-radius:30px;
  box-shadow:0 24px 70px rgba(0,59,111,.16);
}

.experience-card:before{
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,59,111,.55),rgba(236,47,143,.45));
}

.experience-pill{
  background:var(--gradient-brand)!important;
  box-shadow:0 10px 28px rgba(236,47,143,.25);
}

.card,.event,.home-event-card,.directory-featured-card,.kpi-card,.seo-local-block,.newsletter-premium,.home-cta-band{
  border-radius:28px!important;
  box-shadow:var(--premium-shadow)!important;
}

.section h2,
.section-head h2{
  letter-spacing:-.6px;
}

.underline:after{
  background:var(--gradient-brand)!important;
  width:82px;
  border-radius:999px;
}

.shop-highlight{
  background:var(--gradient-brand)!important;
  border-radius:34px;
  box-shadow:0 30px 90px rgba(0,118,223,.18);
}

.shop-highlight h2{
  font-size:42px;
}

.shop-badge{
  background:#fff!important;
  color:#ec2f8f!important;
}

.shop-visual{
  background:transparent!important;
  border:0!important;
  padding:0!important;
}

.shop-goodies{
  border-radius:28px;
  border:8px solid rgba(255,255,255,.26);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}

.branding-gondoles{
  background:#fff;
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--premium-shadow);
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:0;
}

.branding-gondoles img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.branding-gondoles-content{
  padding:42px;
}

.branding-gondoles-content h2{
  margin-top:0;
  color:#003b6f;
  font-size:36px;
}

.branding-gondoles-content p{
  color:#5b6675;
  font-size:18px;
}

.partner-logo:hover{
  border-color:rgba(236,47,143,.35);
  box-shadow:0 18px 40px rgba(0,118,223,.13);
}

.footer{
  background:linear-gradient(135deg,#002a5a,#003b6f 45%,#0076df 100%)!important;
}

.wa-icon{
  background:#25D366!important;
}

.floating .contact{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f)!important;
}

@media(max-width:1024px){
  .hero{min-height:590px}
  .hero h1{font-size:52px}
  .hero-inner{padding:38px}
  .branding-gondoles{grid-template-columns:1fr}
}

@media(max-width:760px){
  .hero{min-height:560px;text-align:center}
  .hero-inner{padding:28px 20px;border-radius:26px}
  .hero h1{font-size:38px}
  .hero .btn{width:100%;text-align:center}
  .branding-gondoles-content{padding:28px}
  .branding-gondoles-content h2{font-size:28px}
}


/* =========================================================
   v5.0 Ultra Premium - I Love Montreux Riviera
   ========================================================= */
:root{
  --red:#ff1d25;
  --pink:#ec2f8f;
  --violet:#7957f2;
  --blue:#0076df;
  --cyan:#22c8e8;
  --navy:#003b6f;
  --brand-gradient:linear-gradient(135deg,#ff1d25 0%,#ec2f8f 38%,#7957f2 58%,#0076df 78%,#22c8e8 100%);
  --brand-shadow:0 24px 70px rgba(0,118,223,.18);
}

body{background:#f7fbff}
.topbar{background:var(--brand-gradient)!important}
.header{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px) saturate(180%);
  border-bottom:1px solid rgba(0,118,223,.10);
  box-shadow:0 16px 45px rgba(0,59,111,.08);
}
.logo-img{box-shadow:0 16px 40px rgba(0,118,223,.22),0 0 0 7px #fff}
.brand-title{
  background:var(--brand-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
}
.brand-title b,.brand-title small{color:transparent!important}
.search{display:none!important}
.phone-link{
  background:#fff;
  border:1px solid rgba(0,118,223,.18);
  border-radius:999px;
  padding:12px 18px;
  box-shadow:0 12px 30px rgba(0,118,223,.12);
}
.phone-link svg{fill:#ec2f8f!important}
.btn,.header .btn{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 14px 34px rgba(236,47,143,.26);
}
.btn.blue{background:linear-gradient(135deg,#003b6f,#0076df)!important}
.header-shop-button{
  background:var(--brand-gradient)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 18px 40px rgba(236,47,143,.32)!important;
}
.navwrap{
  background:linear-gradient(90deg,#fff,#f7fbff);
  border-top:1px solid #edf3fa;
  border-bottom:1px solid #edf3fa;
}
.nav > a,.nav-menu > li > a,.nav ul > li > a{
  border-radius:999px;
  font-weight:900;
}
.nav > a:hover,.nav-menu > li > a:hover,.nav ul > li > a:hover,.nav .current-menu-item > a{
  background:var(--brand-gradient)!important;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(0,118,223,.20);
}
.hero{
  min-height:720px!important;
  background:
    linear-gradient(90deg,rgba(0,35,72,.34),rgba(236,47,143,.16),rgba(34,200,232,.10)),
    url('assets/hero-riviera.jpg') center/cover no-repeat!important;
  display:flex;
  align-items:center;
  position:relative;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 20%,rgba(236,47,143,.28),transparent 32%),
             linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,59,111,.20));
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:1;
  max-width:900px!important;
  margin:0 auto;
  text-align:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.hero-kicker{
  display:block;
  color:#fff;
  font-size:58px;
  font-family:Georgia,serif;
  font-style:italic;
  line-height:1;
  text-shadow:0 10px 34px rgba(0,0,0,.32);
  margin-bottom:12px;
}
.hero h1{
  font-size:108px!important;
  line-height:.95!important;
  margin:0 0 18px!important;
  letter-spacing:1px;
  text-shadow:0 12px 34px rgba(0,0,0,.34);
}
.hero p{
  font-size:34px!important;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
  margin:0 auto 30px!important;
}
.hero-actions{justify-content:center}
.hero .btn{
  padding:17px 34px!important;
  font-size:18px;
  border-radius:999px!important;
}
.hero .btn.outline{
  background:rgba(255,255,255,.12)!important;
  border:2px solid rgba(255,255,255,.88)!important;
  color:#fff!important;
  backdrop-filter:blur(8px);
}
.section{padding:76px 0}
.section.alt{background:linear-gradient(180deg,#f7fbff,#eef7ff)}
.underline:after{
  background:var(--brand-gradient)!important;
  width:92px!important;
  height:5px!important;
  border-radius:999px;
}
.card,.event,.home-event-card,.directory-featured-card,.kpi-card,.seo-local-block,.newsletter-premium,.home-cta-band,.contact-form-premium,.contact-info-card{
  border-radius:30px!important;
  box-shadow:var(--brand-shadow)!important;
}
.experience-card{
  border-radius:32px!important;
  box-shadow:0 28px 75px rgba(0,59,111,.18)!important;
}
.experience-card:before{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,59,111,.48),rgba(236,47,143,.42))!important;
}
.experience-pill{background:var(--brand-gradient)!important}
.shop-highlight{
  background:var(--brand-gradient)!important;
  border-radius:36px!important;
  box-shadow:0 32px 95px rgba(0,118,223,.20)!important;
}
.shop-badge{
  background:#fff!important;
  color:#ec2f8f!important;
}
.shop-visual{background:transparent!important;border:0!important;padding:0!important}
.shop-goodies{
  border-radius:28px;
  border:8px solid rgba(255,255,255,.28);
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.v5-breaking{
  background:var(--brand-gradient);
  color:#fff;
  padding:12px 0;
  font-weight:900;
  overflow:hidden;
}
.v5-breaking span{display:inline-block;white-space:nowrap;animation:v5marquee 22s linear infinite}
@keyframes v5marquee{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.v5-map-weather{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
}
.v5-panel{
  background:#fff;
  border-radius:30px;
  padding:30px;
  box-shadow:var(--brand-shadow);
}
.v5-map{
  min-height:310px;
  border-radius:24px;
  background:linear-gradient(135deg,#dff8ff,#eaf5ff);
  position:relative;
  overflow:hidden;
}
.v5-map:before{
  content:"Montreux • Vevey • La Tour-de-Peilz • Villeneuve";
  position:absolute;
  inset:auto 24px 24px 24px;
  background:rgba(255,255,255,.86);
  border-radius:18px;
  padding:18px;
  font-weight:900;
  color:#003b6f;
}
.v5-map:after{
  content:"📍";
  position:absolute;
  left:55%;
  top:42%;
  font-size:54px;
}
.v5-weather{
  background:var(--brand-gradient);
  color:#fff;
  border-radius:24px;
  padding:28px;
}
.v5-weather h3{margin-top:0;color:#fff}
.footer{background:linear-gradient(135deg,#002a5a,#003b6f 45%,#0076df 100%)!important}
@media(max-width:1024px){
  .hero{min-height:650px!important}
  .hero h1{font-size:72px!important}
  .hero-kicker{font-size:42px}
  .hero p{font-size:26px!important}
  .v5-map-weather{grid-template-columns:1fr}
}
@media(max-width:760px){
  .hero{min-height:590px!important}
  .hero h1{font-size:46px!important}
  .hero-kicker{font-size:34px}
  .hero p{font-size:21px!important}
  .hero .btn{width:100%;text-align:center}
  .section{padding:48px 0}
}


/* v5.1 - Corrections logo + hero photo propre */
.logo-img{
  width:96px;
  height:96px;
  border-radius:50%;
  object-fit:cover;
}
.brand{
  overflow:hidden;
}
.hero{
  background:
    linear-gradient(90deg,rgba(0,35,72,.38),rgba(0,118,223,.10),rgba(236,47,143,.08)),
    url('assets/hero-riviera.jpg') center/cover no-repeat!important;
}
.hero:before{
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,59,111,.12))!important;
}
.hero-inner{
  max-width:900px!important;
}
.hero-kicker,
.hero h1,
.hero p{
  color:#fff!important;
}
@media(max-width:760px){
  .logo-img{width:72px;height:72px}
}


/* =========================================================
   v5.2 Correctif Premium : header centré + logo réparé
   ========================================================= */
:root{
  --red:#ff1d25;
  --pink:#ec2f8f;
  --violet:#8d5cf6;
  --blue:#0076df;
  --cyan:#22c8e8;
  --navy:#003b6f;
  --brand-gradient:linear-gradient(135deg,#ff1d25 0%,#ec2f8f 38%,#8d5cf6 58%,#0076df 78%,#22c8e8 100%);
}

body{
  background:#f7fbff!important;
  overflow-x:hidden;
}

.container{
  width:min(1180px,92vw)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.topbar{
  background:var(--brand-gradient)!important;
  color:#fff!important;
}
.topbar-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.topbar a{
  color:#fff!important;
  text-decoration:none;
  margin-left:16px;
}

.header{
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(18px) saturate(170%);
  border-bottom:1px solid rgba(0,118,223,.10);
  box-shadow:0 16px 45px rgba(0,59,111,.08);
}

.head-main{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:34px!important;
  padding:22px 0!important;
}

.brand{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  text-decoration:none!important;
  min-width:0!important;
  overflow:visible!important;
}

.logo-img{
  display:block!important;
  width:104px!important;
  height:104px!important;
  min-width:104px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  box-shadow:0 16px 40px rgba(0,118,223,.22),0 0 0 7px #fff!important;
}

.brand-title{
  display:block!important;
  min-width:260px!important;
  line-height:1!important;
  background:var(--brand-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  font-weight:950!important;
  letter-spacing:-.5px!important;
}

.brand-title span{
  display:block!important;
  font-size:25px!important;
  color:transparent!important;
}
.brand-title b{
  display:block!important;
  font-size:34px!important;
  color:transparent!important;
}
.brand-title small{
  display:block!important;
  color:transparent!important;
  font-size:16px!important;
  letter-spacing:9px!important;
  margin-top:6px!important;
}

.tagline{
  max-width:460px!important;
  color:#25364d!important;
  font-weight:800!important;
  font-size:19px!important;
  line-height:1.45!important;
  border-left:1px solid #dde8f3!important;
  padding-left:30px!important;
}

.header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  white-space:nowrap!important;
}

.phone-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  background:#fff!important;
  border:1px solid rgba(0,118,223,.18)!important;
  border-radius:999px!important;
  padding:13px 18px!important;
  box-shadow:0 12px 30px rgba(0,118,223,.12)!important;
  font-weight:950!important;
  color:#003b6f!important;
  text-decoration:none!important;
}
.phone-link svg{
  width:20px!important;
  height:20px!important;
  fill:#ec2f8f!important;
}

.btn,
.contact-main{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 14px 34px rgba(236,47,143,.26)!important;
  border:0!important;
}

.menu-toggle{
  display:none!important;
}

.navwrap{
  background:linear-gradient(90deg,#fff,#f7fbff)!important;
  border-top:1px solid #edf3fa!important;
  border-bottom:1px solid #edf3fa!important;
}

.nav-container{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}

.nav{
  flex:1!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px 0!important;
}

.nav-menu{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

.nav > a,
.nav-menu > li > a,
.nav ul > li > a{
  border-radius:999px!important;
  padding:13px 20px!important;
  font-weight:950!important;
  color:#132238!important;
  text-decoration:none!important;
}

.nav > a:hover,
.nav-menu > li > a:hover,
.nav ul > li > a:hover,
.nav .current-menu-item > a{
  background:var(--brand-gradient)!important;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(0,118,223,.20)!important;
}

.header-shop-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:var(--brand-gradient)!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:999px!important;
  padding:14px 24px!important;
  font-weight:950!important;
  box-shadow:0 18px 40px rgba(236,47,143,.32)!important;
  white-space:nowrap!important;
}

.hero{
  width:100%!important;
  min-height:690px!important;
  margin:0!important;
  background:
    linear-gradient(90deg,rgba(0,35,72,.36),rgba(0,118,223,.10),rgba(236,47,143,.08)),
    url('assets/hero-riviera.jpg') center/cover no-repeat!important;
}

.hero:before{
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,59,111,.10))!important;
}

.hero-inner{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  max-width:900px!important;
  text-align:center!important;
  margin:auto!important;
}

.hero-kicker{
  color:#fff!important;
  font-size:58px!important;
  font-family:Georgia,serif!important;
  font-style:italic!important;
  text-shadow:0 10px 34px rgba(0,0,0,.30)!important;
}

.hero h1{
  color:#fff!important;
  font-size:104px!important;
  line-height:.95!important;
  text-shadow:0 12px 34px rgba(0,0,0,.34)!important;
}

.hero p{
  color:#fff!important;
  font-size:34px!important;
  text-shadow:0 8px 28px rgba(0,0,0,.28)!important;
}

@media(max-width:1100px){
  .head-main{
    grid-template-columns:1fr!important;
    text-align:center!important;
    justify-items:center!important;
    gap:18px!important;
  }
  .brand{
    justify-content:center!important;
  }
  .tagline{
    border-left:0!important;
    padding-left:0!important;
  }
}

@media(max-width:760px){
  .topbar{display:none!important}
  .head-main{
    padding:16px 0!important;
  }
  .brand{
    flex-direction:column!important;
    gap:8px!important;
  }
  .logo-img{
    width:78px!important;
    height:78px!important;
    min-width:78px!important;
  }
  .brand-title{
    min-width:0!important;
    text-align:center!important;
  }
  .brand-title span{font-size:20px!important}
  .brand-title b{font-size:25px!important}
  .brand-title small{font-size:13px!important;letter-spacing:6px!important}
  .tagline{
    font-size:15px!important;
    max-width:300px!important;
  }
  .header-actions{
    flex-wrap:wrap!important;
    justify-content:center!important;
  }
  .phone-link{
    font-size:14px!important;
    padding:10px 14px!important;
  }
  .menu-toggle{
    display:inline-flex!important;
    background:var(--brand-gradient)!important;
    color:#fff!important;
    border:0!important;
    border-radius:999px!important;
    padding:12px 20px!important;
    font-weight:950!important;
  }
  .nav-container{
    display:block!important;
  }
  .nav{
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding:12px 0!important;
  }
  .nav.open{
    display:flex!important;
  }
  .nav-menu{
    display:block!important;
  }
  .nav > a,
  .nav-menu > li > a,
  .nav ul > li > a{
    display:block!important;
    margin:6px 0!important;
    background:#f4f8fc!important;
    text-align:center!important;
  }
  .header-shop-button{
    width:100%!important;
    margin:12px 0!important;
  }
  .hero{
    min-height:580px!important;
  }
  .hero-kicker{
    font-size:34px!important;
  }
  .hero h1{
    font-size:46px!important;
  }
  .hero p{
    font-size:21px!important;
  }
}


/* V5.3 Boutique Premium */
.goodies-premium-banner{
 background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
 border-radius:32px;
 padding:40px;
 color:#fff;
 text-align:center;
 box-shadow:0 24px 70px rgba(0,118,223,.18);
}
.goodies-premium-banner h2{color:#fff;font-size:42px}
.goodies-premium-banner .btn{
 background:#fff!important;
 color:#003b6f!important;
}


/* =========================================================
   V5.4 - Boutique Riviera avec nouvelle image goodies
   ========================================================= */
.boutique-riviera-v54{
  background:linear-gradient(180deg,#f7fbff,#ffffff);
  padding-top:20px;
}
.boutique-riviera-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:center;
  background:linear-gradient(135deg,#ff1d25 0%,#ec2f8f 38%,#8d5cf6 58%,#0076df 78%,#22c8e8 100%);
  color:#fff;
  border-radius:36px;
  padding:38px;
  box-shadow:0 32px 90px rgba(0,118,223,.22);
  overflow:hidden;
  position:relative;
}
.boutique-riviera-card:before{
  content:"";
  position:absolute;
  right:-100px;
  top:-100px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}
.boutique-riviera-text{
  position:relative;
  z-index:2;
}
.boutique-riviera-text .badge{
  display:inline-block;
  width:auto;
  height:auto;
  border-radius:999px;
  background:#fff;
  color:#ec2f8f;
  padding:9px 15px;
  font-weight:950;
  box-shadow:none;
  border:0;
  margin-bottom:16px;
}
.boutique-riviera-text h2{
  color:#fff;
  font-size:42px;
  line-height:1.05;
  margin:0 0 14px;
}
.boutique-riviera-text p{
  color:rgba(255,255,255,.93);
  font-size:18px;
  margin:0 0 22px;
}
.goodies-list{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
}
.goodies-list li{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  padding:8px 12px;
  font-weight:850;
}
.boutique-riviera-image{
  position:relative;
  z-index:2;
}
.boutique-riviera-image a{
  display:block;
}
.boutique-riviera-image img{
  width:100%;
  display:block;
  border-radius:28px;
  border:8px solid rgba(255,255,255,.28);
  box-shadow:0 28px 75px rgba(0,0,0,.28);
  transition:transform .28s ease;
}
.boutique-riviera-image a:hover img{
  transform:scale(1.025);
}
.boutique-riviera-card .btn{
  background:#fff!important;
  color:#003b6f!important;
  box-shadow:0 16px 34px rgba(0,0,0,.16)!important;
}
@media(max-width:1024px){
  .boutique-riviera-card{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .boutique-riviera-card{
    padding:26px;
    border-radius:28px;
    text-align:center;
  }
  .boutique-riviera-text h2{
    font-size:31px;
  }
  .goodies-list{
    justify-content:center;
  }
}


/* =========================================================
   V5.5 - Traduction automatique multilingue
   ========================================================= */
.language-switcher{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.language-switcher .lang-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff!important;
  text-decoration:none;
  font-weight:950;
  border:1px solid rgba(255,255,255,.28);
  transition:.2s ease;
}
.language-switcher .lang-btn:hover{
  background:#fff;
  color:#003b6f!important;
}
.header-language{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:8px;
}
.header-language .lang-btn{
  background:#f4f8fc;
  color:#003b6f!important;
  border:1px solid #dce8f3;
  border-radius:999px;
  padding:8px 11px;
  font-weight:950;
  text-decoration:none;
  font-size:13px;
}
.header-language .lang-btn:hover{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
  color:#fff!important;
}
.goog-te-banner-frame,
.skiptranslate iframe{
  display:none!important;
}
body{
  top:0!important;
}
#google_translate_element,
.goog-te-gadget{
  font-size:0!important;
}
.goog-te-gadget span,
.goog-te-gadget img{
  display:none!important;
}
.goog-te-combo{
  max-width:100%;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid #dce8f3;
  background:#fff;
  color:#003b6f;
  font-weight:900;
}
.translation-note{
  background:#fff;
  border:1px solid #e7edf3;
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 34px rgba(0,59,111,.08);
  margin:18px 0;
}
@media(max-width:760px){
  .header-language{
    width:100%;
    justify-content:center;
    margin:8px 0 0;
  }
  .language-switcher{
    justify-content:center;
  }
}


/* =========================================================
   V5.6 Premium Correctif Header + Langue déroulante
   ========================================================= */

/* Supprime le bloc descriptif central */
.tagline{
  display:none!important;
}

/* Header plus compact et équilibré */
.head-main{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:18px 0!important;
}

.brand{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  flex:0 0 auto!important;
  overflow:visible!important;
}

.logo-img{
  width:105px!important;
  height:105px!important;
  min-width:105px!important;
  object-fit:cover!important;
  border-radius:50%!important;
}

.brand-title{
  min-width:260px!important;
}

.header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}

/* Langue : un seul menu déroulant */
.language-switcher{
  position:relative!important;
  display:inline-block!important;
}

.lang-dropdown-toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#f4f8fc!important;
  color:#003b6f!important;
  border:1px solid #dce8f3!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  font-weight:950!important;
  cursor:pointer!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(0,59,111,.08);
}

.lang-dropdown-menu{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  min-width:155px!important;
  background:#fff!important;
  border:1px solid #dce8f3!important;
  border-radius:16px!important;
  box-shadow:0 18px 45px rgba(0,59,111,.14)!important;
  padding:8px!important;
  z-index:99999!important;
}

.language-switcher.open .lang-dropdown-menu{
  display:block!important;
}

.lang-dropdown-menu .lang-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#003b6f!important;
  border:0!important;
  text-decoration:none!important;
  font-weight:950!important;
}

.lang-dropdown-menu .lang-btn:hover{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;
  color:#fff!important;
}

/* Masquer anciens boutons de langue s'il en reste */
.header-actions > .lang-btn,
.topbar .lang-btn{
  display:none!important;
}

@media(max-width:1100px){
  .head-main{
    flex-wrap:wrap!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .header-actions{
    width:100%!important;
    justify-content:center!important;
    margin-left:0!important;
  }
}

@media(max-width:760px){
  .logo-img{
    width:78px!important;
    height:78px!important;
    min-width:78px!important;
  }
  .brand{
    flex-direction:column!important;
    gap:8px!important;
  }
  .brand-title{
    min-width:0!important;
  }
  .header-actions{
    flex-wrap:wrap!important;
  }
  .language-switcher{
    margin-top:4px!important;
  }
  .lang-dropdown-menu{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
}


/* =========================================================
   V5.7 Finale - Correctif téléchargement + header propre
   ========================================================= */
.tagline{display:none!important}
.header-actions{display:flex!important;align-items:center!important;gap:14px!important}
.language-switcher .lang-btn[data-lang="es"],
.language-switcher .lang-btn[data-lang="pt"]{display:none!important}
.lang-dropdown-toggle{white-space:nowrap}


/* =========================================================
   V5.8 - Multilingue propre avec TranslatePress
   ========================================================= */

/* On supprime visuellement les anciens restes Google Translate */
#google_translate_element,
.goog-te-banner-frame,
.skiptranslate iframe,
.goog-te-gadget{
  display:none!important;
}
body{
  top:0!important;
}

/* Sélecteur langue propre */
.tp-language-switcher,
.trp-language-switcher,
.header-language{
  display:inline-flex!important;
  align-items:center!important;
}

.trp-language-switcher > div{
  border:0!important;
  background:transparent!important;
  padding:0!important;
}

.trp-language-switcher a,
.header-language .lang-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  background:#f4f8fc!important;
  color:#003b6f!important;
  border:1px solid #dce8f3!important;
  font-weight:950!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(0,59,111,.08);
}

.trp-language-switcher a:hover,
.header-language .lang-link:hover{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;
  color:#fff!important;
}

.lang-dropdown-toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#f4f8fc!important;
  color:#003b6f!important;
  border:1px solid #dce8f3!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  font-weight:950!important;
  cursor:pointer!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(0,59,111,.08);
}

.lang-dropdown-menu{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  min-width:165px!important;
  background:#fff!important;
  border:1px solid #dce8f3!important;
  border-radius:16px!important;
  box-shadow:0 18px 45px rgba(0,59,111,.14)!important;
  padding:8px!important;
  z-index:99999!important;
}
.language-switcher.open .lang-dropdown-menu{display:block!important}

.lang-dropdown-menu .lang-btn{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#003b6f!important;
  text-decoration:none!important;
  font-weight:950!important;
}
.lang-dropdown-menu .lang-btn:hover{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;
  color:#fff!important;
}

@media(max-width:760px){
  .lang-dropdown-menu{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
}


/* =========================================================
   V5.9 - Intégration GTranslate
   ========================================================= */
.gtranslate-wrapper,
.gt_switcher_wrapper,
.gt_selector,
.header-language{
  display:inline-flex!important;
  align-items:center!important;
}

.gtranslate-wrapper select,
.gt_selector,
.header-language select{
  border:1px solid #dce8f3!important;
  border-radius:999px!important;
  background:#f4f8fc!important;
  color:#003b6f!important;
  padding:10px 14px!important;
  font-weight:950!important;
  box-shadow:0 8px 22px rgba(0,59,111,.08);
  max-width:170px;
}

.gtranslate-wrapper a,
.gt_switcher a{
  font-weight:950!important;
  text-decoration:none!important;
}

@media(max-width:760px){
  .gtranslate-wrapper,
  .header-language{
    justify-content:center!important;
    width:100%!important;
  }
}


/* =========================================================
   V6.0 Prestige - Nouvelle image principale bateau Montreux
   ========================================================= */

:root{
  --ilm-red:#ff1d25;
  --ilm-pink:#ec2f8f;
  --ilm-violet:#8d5cf6;
  --ilm-blue:#0076df;
  --ilm-cyan:#22c8e8;
  --ilm-navy:#003b6f;
  --ilm-gradient:linear-gradient(135deg,#ff1d25 0%,#ec2f8f 35%,#8d5cf6 55%,#0076df 78%,#22c8e8 100%);
  --ilm-soft-shadow:0 22px 60px rgba(0,59,111,.14);
}

/* Fond général plus premium */
body{
  background:
    radial-gradient(circle at top left,rgba(236,47,143,.08),transparent 32%),
    radial-gradient(circle at top right,rgba(34,200,232,.10),transparent 32%),
    #f7fbff!important;
}

/* Header plus élégant */
.header{
  border-bottom:1px solid rgba(0,118,223,.10)!important;
  box-shadow:0 18px 50px rgba(0,59,111,.08)!important;
}

.navwrap{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px) saturate(160%);
}

.nav > a,
.nav-menu > li > a,
.nav ul > li > a{
  position:relative;
  overflow:hidden;
}

.nav > a:hover,
.nav-menu > li > a:hover,
.nav ul > li > a:hover,
.nav .current-menu-item > a{
  background:var(--ilm-gradient)!important;
}

/* Hero V6 */
.hero{
  min-height:760px!important;
  background:
    linear-gradient(90deg,rgba(0,25,55,.38),rgba(0,118,223,.10),rgba(236,47,143,.06)),
    url('assets/hero-riviera.jpg') center/cover no-repeat!important;
  position:relative!important;
  overflow:hidden!important;
}

.hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 22% 30%,rgba(236,47,143,.20),transparent 34%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,55,105,.20))!important;
  pointer-events:none!important;
}

.hero:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:120px!important;
  background:linear-gradient(180deg,transparent,#f7fbff 78%)!important;
  pointer-events:none!important;
}

.hero-inner{
  position:relative!important;
  z-index:2!important;
  text-align:left!important;
  max-width:1180px!important;
  margin:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-top:40px!important;
}

.hero-kicker{
  display:block!important;
  color:#fff!important;
  font-size:58px!important;
  font-family:Georgia,serif!important;
  font-style:italic!important;
  text-shadow:0 12px 38px rgba(0,0,0,.34)!important;
  margin-bottom:12px!important;
}

.hero h1{
  color:#fff!important;
  font-size:108px!important;
  line-height:.92!important;
  letter-spacing:1px!important;
  margin:0 0 18px!important;
  text-shadow:0 16px 46px rgba(0,0,0,.38)!important;
}

.hero p{
  color:#fff!important;
  font-size:33px!important;
  font-weight:850!important;
  text-shadow:0 10px 30px rgba(0,0,0,.30)!important;
  margin-bottom:32px!important;
}

.hero-actions{
  display:flex!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}

.hero .btn{
  padding:17px 34px!important;
  font-size:18px!important;
  border-radius:999px!important;
}

.hero .btn.outline{
  background:rgba(255,255,255,.14)!important;
  border:2px solid rgba(255,255,255,.86)!important;
  color:#fff!important;
  backdrop-filter:blur(10px);
}

/* Bloc recherche premium sous le hero */
.hero-search-v6{
  position:relative;
  z-index:5;
  margin-top:-72px;
}

.hero-search-card{
  background:#fff;
  border-radius:26px;
  box-shadow:0 26px 75px rgba(0,59,111,.16);
  padding:18px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:12px;
  border:1px solid #e6eef6;
}

.hero-search-card input,
.hero-search-card select{
  border:1px solid #dce8f3;
  border-radius:18px;
  padding:16px 18px;
  font-size:16px;
  background:#f8fbff;
  color:#25364d;
}

.hero-search-card button{
  border:0;
  border-radius:18px;
  padding:16px 26px;
  background:var(--ilm-gradient);
  color:#fff;
  font-weight:950;
  box-shadow:0 14px 34px rgba(236,47,143,.25);
}

/* Cartes plus premium */
.card,
.event,
.home-event-card,
.directory-featured-card,
.kpi-card,
.seo-local-block,
.newsletter-premium,
.home-cta-band,
.contact-form-premium,
.contact-info-card,
.v5-panel{
  border-radius:32px!important;
  box-shadow:var(--ilm-soft-shadow)!important;
  border:1px solid rgba(0,118,223,.08)!important;
}

.section h2,
.section-head h2{
  letter-spacing:-.8px;
}

.underline:after{
  background:var(--ilm-gradient)!important;
  width:96px!important;
  height:5px!important;
  border-radius:999px!important;
}

/* Découvrir la Riviera avec effet luxe */
.experience-card{
  min-height:315px!important;
  border-radius:34px!important;
  box-shadow:0 28px 80px rgba(0,59,111,.18)!important;
}

.experience-card:before{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,59,111,.52),rgba(236,47,143,.42))!important;
}

.experience-content h3{
  font-size:30px!important;
}

.experience-pill{
  background:var(--ilm-gradient)!important;
}

/* Boutique Goodies plus élégante */
.boutique-riviera-card,
.shop-highlight,
.goodies-premium-banner{
  background:var(--ilm-gradient)!important;
  border-radius:38px!important;
  box-shadow:0 34px 95px rgba(0,118,223,.22)!important;
}

.boutique-riviera-image img,
.shop-goodies{
  border-radius:30px!important;
  border:8px solid rgba(255,255,255,.30)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.26)!important;
}

/* Footer prestige */
.footer{
  background:linear-gradient(135deg,#002a5a 0%,#003b6f 45%,#0076df 100%)!important;
}

/* Responsive */
@media(max-width:1024px){
  .hero{
    min-height:660px!important;
  }
  .hero-inner{
    text-align:center!important;
  }
  .hero h1{
    font-size:72px!important;
  }
  .hero-kicker{
    font-size:44px!important;
  }
  .hero p{
    font-size:26px!important;
  }
  .hero-actions{
    justify-content:center!important;
  }
  .hero-search-card{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .hero{
    min-height:590px!important;
  }
  .hero h1{
    font-size:46px!important;
  }
  .hero-kicker{
    font-size:33px!important;
  }
  .hero p{
    font-size:21px!important;
  }
  .hero .btn{
    width:100%!important;
    text-align:center!important;
  }
  .hero-search-v6{
    margin-top:24px;
  }
  .hero-search-card{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V6.1 Prestige - À la une avec Montreux de nuit
   ========================================================= */

.home-news-section{
  position:relative;
  background:
    linear-gradient(135deg,rgba(0,24,55,.84),rgba(0,65,118,.62),rgba(236,47,143,.26)),
    url('assets/montreux-night-a-la-une.jpg') center/cover no-repeat!important;
  padding:100px 0!important;
  overflow:hidden;
}

.home-news-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%,rgba(236,47,143,.30),transparent 32%),
    radial-gradient(circle at 84% 76%,rgba(34,200,232,.22),transparent 36%);
  pointer-events:none;
}

.home-news-section .container{
  position:relative;
  z-index:2;
}

.home-news-section .section-head h2,
.home-news-section .section-head p{
  color:#fff!important;
}

.home-news-section .section-head{
  align-items:flex-end;
}

.home-news-section .card,
.home-news-section article,
.home-news-section .news-card{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  backdrop-filter:blur(14px) saturate(160%);
  color:#fff!important;
  box-shadow:0 26px 75px rgba(0,0,0,.22)!important;
}

.home-news-section .card h3,
.home-news-section article h3,
.home-news-section .news-card h3,
.home-news-section .card a,
.home-news-section article a{
  color:#fff!important;
}

.home-news-section .card p,
.home-news-section article p{
  color:rgba(255,255,255,.88)!important;
}

.home-news-section .btn,
.home-news-section .btn.blue{
  background:#fff!important;
  color:#003b6f!important;
}

.prestige-counter-band{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.prestige-counter{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(12px);
  border-radius:22px;
  padding:22px;
  color:#fff;
  text-align:center;
}

.prestige-counter strong{
  display:block;
  font-size:32px;
  line-height:1;
}

.prestige-counter span{
  display:block;
  margin-top:8px;
  font-weight:850;
  color:rgba(255,255,255,.88);
}

.discover-alt-band{
  background:#fff;
  border-radius:34px;
  padding:34px;
  box-shadow:0 24px 70px rgba(0,59,111,.13);
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
}

.discover-alt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.discover-alt-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
  color:#fff;
  text-decoration:none;
  font-weight:950;
  box-shadow:0 12px 28px rgba(0,118,223,.18);
}

@media(max-width:900px){
  .prestige-counter-band{
    grid-template-columns:repeat(2,1fr);
  }
  .discover-alt-band{
    grid-template-columns:1fr;
    text-align:center;
  }
  .discover-alt-actions{
    justify-content:center;
  }
}

@media(max-width:560px){
  .prestige-counter-band{
    grid-template-columns:1fr;
  }
  .home-news-section{
    padding:64px 0!important;
  }
}


/* =========================================================
   V6.2 Riviera Prestige - Agenda Riviera Montreux Jazz
   ========================================================= */

.agenda-riviera-section{
  position:relative;
  background:
    linear-gradient(135deg,rgba(0,18,46,.88),rgba(0,55,105,.74),rgba(236,47,143,.32)),
    url('assets/agenda-riviera-jazz.jpg') center/cover no-repeat!important;
  background-attachment:fixed;
  padding:100px 0!important;
  overflow:hidden;
}

.agenda-riviera-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 24%,rgba(236,47,143,.34),transparent 34%),
    radial-gradient(circle at 78% 78%,rgba(34,200,232,.20),transparent 38%);
  pointer-events:none;
}

.agenda-riviera-section .container{
  position:relative;
  z-index:2;
}

.agenda-riviera-section .section-head h2,
.agenda-riviera-section .section-head p{
  color:#fff!important;
}

.agenda-riviera-section .section-head{
  align-items:flex-end;
}

.agenda-riviera-section .event,
.agenda-riviera-section .home-event-card,
.agenda-riviera-section article,
.agenda-riviera-card{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  backdrop-filter:blur(15px) saturate(160%);
  color:#fff!important;
  box-shadow:0 28px 75px rgba(0,0,0,.24)!important;
  border-radius:30px!important;
}

.agenda-riviera-section h3,
.agenda-riviera-section article h3,
.agenda-riviera-section a{
  color:#fff!important;
}

.agenda-riviera-section p,
.agenda-riviera-section .meta{
  color:rgba(255,255,255,.88)!important;
}

.agenda-riviera-section .btn,
.agenda-riviera-section .btn.blue{
  background:#fff!important;
  color:#003b6f!important;
}

.agenda-riviera-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.agenda-date-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:10px 13px;
  border-radius:18px;
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
  color:#fff;
  font-weight:950;
  margin-bottom:12px;
  box-shadow:0 14px 34px rgba(236,47,143,.28);
}

.agenda-riviera-intro{
  max-width:760px;
  margin-bottom:28px;
  color:rgba(255,255,255,.92);
  font-size:18px;
}

@media(max-width:900px){
  .agenda-riviera-section{
    background-attachment:scroll;
    padding:70px 0!important;
  }
  .agenda-riviera-section .section-head{
    display:block;
  }
  .agenda-riviera-actions{
    margin-top:18px;
  }
}


/* V7.0 Destination Portal */
.riviera-live-bar{
 background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
 color:#fff;
 border-radius:24px;
 padding:18px 24px;
 margin:24px auto;
 box-shadow:0 20px 50px rgba(0,118,223,.20);
}
.riviera-live-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:16px;
 text-align:center;
}
.riviera-live-grid strong{
 display:block;
 font-size:28px;
}
@media(max-width:768px){
 .riviera-live-grid{grid-template-columns:repeat(2,1fr);}
}


/* =========================================================
   V7.1 - Shopping Riviera derrière 4 commerces à découvrir
   ========================================================= */
.directory-featured,
.commerces-home,
.featured-businesses,
.section-directory-featured{
  position:relative;
  background:
    linear-gradient(135deg,rgba(6,47,95,.58),rgba(0,118,223,.42),rgba(236,47,143,.20)),
    url('assets/riviera-shopping-premium.jpg') center/cover no-repeat!important;
  padding:96px 0!important;
  overflow:hidden;
}

.directory-featured:before,
.commerces-home:before,
.featured-businesses:before,
.section-directory-featured:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(236,47,143,.26),transparent 32%),
    radial-gradient(circle at 82% 78%,rgba(34,200,232,.22),transparent 38%);
  pointer-events:none;
}

.directory-featured .container,
.commerces-home .container,
.featured-businesses .container,
.section-directory-featured .container{
  position:relative;
  z-index:2;
}

.directory-featured .section-head h2,
.directory-featured .section-head p,
.commerces-home .section-head h2,
.commerces-home .section-head p,
.featured-businesses .section-head h2,
.featured-businesses .section-head p,
.section-directory-featured .section-head h2,
.section-directory-featured .section-head p{
  color:#fff!important;
}

.directory-featured-card,
.commerce-card,
.featured-business-card{
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 28px 75px rgba(0,0,0,.22)!important;
  color:#fff!important;
}

.directory-featured-card h3,
.directory-featured-card p,
.commerce-card h3,
.commerce-card p,
.featured-business-card h3,
.featured-business-card p{
  color:#fff!important;
}

.directory-logo{
  background:rgba(255,255,255,.82)!important;
  border-radius:22px;
  margin:16px;
}

.directory-card-body .btn,
.directory-featured .btn,
.commerces-home .btn,
.featured-businesses .btn{
  background:#fff!important;
  color:#003b6f!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)!important;
}

@media(max-width:760px){
  .directory-featured,
  .commerces-home,
  .featured-businesses,
  .section-directory-featured{
    background-attachment:scroll!important;
    padding:64px 0!important;
  }
}


/* =========================================================
   V7.2 - Fond bureau Riviera derrière Entreprises à la une
   ========================================================= */
.entreprises-a-la-une-section,
.featured-companies-section,
.home-featured-companies,
.section-entreprises-a-la-une{
  position:relative;
  background:
    linear-gradient(135deg,rgba(0,25,55,.72),rgba(0,80,140,.54),rgba(236,47,143,.18)),
    url('assets/entreprises-a-la-une-bureau.jpg') center/cover no-repeat!important;
  padding:96px 0!important;
  overflow:hidden;
}

.entreprises-a-la-une-section:before,
.featured-companies-section:before,
.home-featured-companies:before,
.section-entreprises-a-la-une:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%,rgba(34,200,232,.22),transparent 34%),
    radial-gradient(circle at 82% 78%,rgba(236,47,143,.22),transparent 38%);
  pointer-events:none;
}

.entreprises-a-la-une-section .container,
.featured-companies-section .container,
.home-featured-companies .container,
.section-entreprises-a-la-une .container{
  position:relative;
  z-index:2;
}

.entreprises-a-la-une-section .section-head h2,
.entreprises-a-la-une-section .section-head p,
.featured-companies-section .section-head h2,
.featured-companies-section .section-head p,
.home-featured-companies .section-head h2,
.home-featured-companies .section-head p,
.section-entreprises-a-la-une .section-head h2,
.section-entreprises-a-la-une .section-head p{
  color:#fff!important;
}

.entreprises-a-la-une-section .card,
.entreprises-a-la-une-section article,
.featured-companies-section .card,
.featured-companies-section article,
.home-featured-companies .card,
.home-featured-companies article,
.section-entreprises-a-la-une .card,
.section-entreprises-a-la-une article{
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 28px 75px rgba(0,0,0,.22)!important;
  color:#fff!important;
  border-radius:30px!important;
}

.entreprises-a-la-une-section .card h3,
.entreprises-a-la-une-section article h3,
.entreprises-a-la-une-section .card p,
.entreprises-a-la-une-section article p,
.featured-companies-section .card h3,
.featured-companies-section article h3,
.featured-companies-section .card p,
.featured-companies-section article p,
.home-featured-companies .card h3,
.home-featured-companies article h3,
.home-featured-companies .card p,
.home-featured-companies article p,
.section-entreprises-a-la-une .card h3,
.section-entreprises-a-la-une article h3,
.section-entreprises-a-la-une .card p,
.section-entreprises-a-la-une article p{
  color:#fff!important;
}

.entreprises-a-la-une-section .btn,
.featured-companies-section .btn,
.home-featured-companies .btn,
.section-entreprises-a-la-une .btn{
  background:#fff!important;
  color:#003b6f!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)!important;
}

@media(max-width:760px){
  .entreprises-a-la-une-section,
  .featured-companies-section,
  .home-featured-companies,
  .section-entreprises-a-la-une{
    padding:64px 0!important;
  }
}

/* V7.3 - Page Agenda Premium */
.agenda-page-hero{position:relative;min-height:430px;display:flex;align-items:center;background:linear-gradient(135deg,rgba(0,18,46,.82),rgba(0,55,105,.66),rgba(236,47,143,.32)),url('assets/agenda-riviera-jazz.jpg') center/cover no-repeat;overflow:hidden}
.agenda-page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 24%,rgba(236,47,143,.32),transparent 34%),radial-gradient(circle at 80% 80%,rgba(34,200,232,.22),transparent 38%);pointer-events:none}
.agenda-page-hero .container{position:relative;z-index:2}
.agenda-hero-card{max-width:820px;padding:44px;border-radius:34px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(14px) saturate(160%);box-shadow:0 30px 90px rgba(0,0,0,.25);color:#fff}
.agenda-hero-card .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);font-weight:950;margin-bottom:18px}
.agenda-hero-card h1{color:#fff;font-size:64px;line-height:1;margin:0 0 16px;letter-spacing:-1px}
.agenda-hero-card p{color:rgba(255,255,255,.92);font-size:21px;margin:0 0 24px}
.agenda-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.agenda-hero-actions .btn{background:#fff!important;color:#003b6f!important}
.agenda-hero-actions .btn.alt{background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;color:#fff!important}
.agenda-premium-wrap{background:radial-gradient(circle at top left,rgba(236,47,143,.08),transparent 32%),radial-gradient(circle at top right,rgba(34,200,232,.10),transparent 32%),#f7fbff;padding:70px 0}
.agenda-filter-bar{background:#fff;border:1px solid #e5edf5;border-radius:26px;box-shadow:0 22px 60px rgba(0,59,111,.12);padding:18px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;margin-bottom:34px}
.agenda-filter-bar input,.agenda-filter-bar select{width:100%;border:1px solid #dce8f3;background:#f8fbff;border-radius:18px;padding:15px 17px;font-size:16px}
.agenda-filter-bar button{border:0;border-radius:18px;padding:15px 24px;background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);color:#fff;font-weight:950;box-shadow:0 14px 34px rgba(236,47,143,.24)}
.agenda-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.agenda-card-premium{position:relative;overflow:hidden;background:#fff;border:1px solid #e5edf5;border-radius:30px;box-shadow:0 24px 70px rgba(0,59,111,.13);transition:transform .25s ease,box-shadow .25s ease}
.agenda-card-premium:hover{transform:translateY(-6px);box-shadow:0 34px 90px rgba(0,59,111,.20)}
.agenda-card-image{height:210px;background:linear-gradient(135deg,rgba(0,59,111,.28),rgba(236,47,143,.12)),url('assets/agenda-riviera-jazz.jpg') center/cover no-repeat}
.agenda-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.agenda-card-body{padding:24px}
.agenda-date-badge{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:10px 14px;border-radius:18px;background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);color:#fff;font-weight:950;box-shadow:0 14px 34px rgba(236,47,143,.24);margin-top:-54px;position:relative;z-index:2;margin-bottom:14px}
.agenda-card-body h2,.agenda-card-body h3{font-size:23px;line-height:1.15;margin:0 0 12px;color:#102033}
.agenda-card-body p{color:#5b6675;margin:0 0 18px}
.agenda-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.agenda-meta span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef6fc;color:#003b6f;font-size:12px;font-weight:900}
.agenda-empty{background:#fff;border-radius:26px;padding:34px;box-shadow:0 18px 45px rgba(0,59,111,.10);text-align:center}
@media(max-width:1024px){.agenda-grid-premium{grid-template-columns:repeat(2,1fr)}.agenda-hero-card h1{font-size:50px}}
@media(max-width:720px){.agenda-page-hero{min-height:380px}.agenda-hero-card{padding:28px}.agenda-hero-card h1{font-size:38px}.agenda-filter-bar{grid-template-columns:1fr}.agenda-grid-premium{grid-template-columns:1fr}}


/* =========================================================
   V7.5 - Entreprises + Annuaire Professionnel Premium
   ========================================================= */

.business-page-hero,
.directory-page-hero{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(135deg,rgba(0,18,46,.82),rgba(0,55,105,.62),rgba(236,47,143,.24)),
    url('assets/annuaire-entreprises-riviera.jpg') center/cover no-repeat;
  overflow:hidden;
}

.business-page-hero:before,
.directory-page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 24%,rgba(236,47,143,.30),transparent 34%),
    radial-gradient(circle at 82% 80%,rgba(34,200,232,.22),transparent 38%);
  pointer-events:none;
}

.business-page-hero .container,
.directory-page-hero .container{
  position:relative;
  z-index:2;
}

.business-hero-card,
.directory-hero-card{
  max-width:850px;
  padding:44px;
  border-radius:34px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  color:#fff;
}

.business-hero-card .eyebrow,
.directory-hero-card .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  font-weight:950;
  margin-bottom:18px;
}

.business-hero-card h1,
.directory-hero-card h1{
  color:#fff;
  font-size:62px;
  line-height:1;
  margin:0 0 16px;
  letter-spacing:-1px;
}

.business-hero-card p,
.directory-hero-card p{
  color:rgba(255,255,255,.92);
  font-size:21px;
  margin:0 0 24px;
}

.business-premium-wrap,
.directory-premium-wrap{
  background:
    radial-gradient(circle at top left,rgba(236,47,143,.08),transparent 32%),
    radial-gradient(circle at top right,rgba(34,200,232,.10),transparent 32%),
    #f7fbff;
  padding:70px 0;
}

.business-search-bar,
.directory-search-bar{
  background:#fff;
  border:1px solid #e5edf5;
  border-radius:26px;
  box-shadow:0 22px 60px rgba(0,59,111,.12);
  padding:18px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr auto;
  gap:12px;
  margin-bottom:34px;
}

.business-search-bar input,
.business-search-bar select,
.directory-search-bar input,
.directory-search-bar select{
  width:100%;
  border:1px solid #dce8f3;
  background:#f8fbff;
  border-radius:18px;
  padding:15px 17px;
  font-size:16px;
}

.business-search-bar button,
.directory-search-bar button{
  border:0;
  border-radius:18px;
  padding:15px 24px;
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
  color:#fff;
  font-weight:950;
  box-shadow:0 14px 34px rgba(236,47,143,.24);
}

.business-stats,
.directory-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:36px;
}

.business-stat,
.directory-stat{
  background:#fff;
  border:1px solid #e5edf5;
  border-radius:24px;
  padding:22px;
  text-align:center;
  box-shadow:0 18px 45px rgba(0,59,111,.10);
}

.business-stat strong,
.directory-stat strong{
  display:block;
  font-size:32px;
  line-height:1;
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.business-stat span,
.directory-stat span{
  display:block;
  margin-top:8px;
  color:#5b6675;
  font-weight:850;
}

.business-grid-premium,
.directory-grid-premium{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.business-card-premium,
.directory-card-premium{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #e5edf5;
  border-radius:30px;
  box-shadow:0 24px 70px rgba(0,59,111,.13);
  transition:transform .25s ease, box-shadow .25s ease;
}

.business-card-premium:hover,
.directory-card-premium:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 90px rgba(0,59,111,.20);
}

.business-card-image,
.directory-card-image{
  height:190px;
  background:
    linear-gradient(135deg,rgba(0,59,111,.35),rgba(236,47,143,.15)),
    url('assets/annuaire-entreprises-riviera.jpg') center/cover no-repeat;
}

.business-card-image img,
.directory-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.business-card-body,
.directory-card-body{
  padding:24px;
}

.business-logo-badge,
.directory-logo-badge{
  width:76px;
  height:76px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e5edf5;
  box-shadow:0 16px 36px rgba(0,59,111,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:-58px;
  margin-bottom:14px;
  position:relative;
  z-index:2;
  overflow:hidden;
}

.business-logo-badge img,
.directory-logo-badge img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}

.business-card-body h2,
.business-card-body h3,
.directory-card-body h2,
.directory-card-body h3{
  font-size:23px;
  line-height:1.15;
  margin:0 0 12px;
  color:#102033;
}

.business-card-body p,
.directory-card-body p{
  color:#5b6675;
  margin:0 0 18px;
}

.business-meta,
.directory-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}

.business-meta span,
.directory-meta span{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#eef6fc;
  color:#003b6f;
  font-size:12px;
  font-weight:900;
}

.directory-contact-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.directory-contact-row a{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background:#f4f8fc;
  color:#003b6f;
  font-weight:900;
  text-decoration:none;
  font-size:13px;
}

.business-empty,
.directory-empty{
  background:#fff;
  border-radius:26px;
  padding:34px;
  box-shadow:0 18px 45px rgba(0,59,111,.10);
  text-align:center;
}

@media(max-width:1024px){
  .business-grid-premium,
  .directory-grid-premium{grid-template-columns:repeat(2,1fr)}
  .business-search-bar,
  .directory-search-bar{grid-template-columns:1fr 1fr}
  .business-hero-card h1,
  .directory-hero-card h1{font-size:50px}
}

@media(max-width:720px){
  .business-page-hero,
  .directory-page-hero{min-height:380px}
  .business-hero-card,
  .directory-hero-card{padding:28px}
  .business-hero-card h1,
  .directory-hero-card h1{font-size:38px}
  .business-search-bar,
  .directory-search-bar{grid-template-columns:1fr}
  .business-grid-premium,
  .directory-grid-premium{grid-template-columns:1fr}
  .business-stats,
  .directory-stats{grid-template-columns:1fr 1fr}
}


/* V7.6 Contact Premium */
.contact-page-hero{
min-height:420px;
background:linear-gradient(135deg,rgba(0,18,46,.82),rgba(0,55,105,.66),rgba(236,47,143,.28));
border-radius:0 0 40px 40px;
}
.contact-premium-card{
background:rgba(255,255,255,.92);
border-radius:30px;
box-shadow:0 25px 80px rgba(0,59,111,.15);
}


/* =========================================================
   V7.7 - Contact Ultra Premium + header mobile allégé
   ========================================================= */

/* Contact page vraie refonte */
.contact-page-hero{
  position:relative!important;
  min-height:430px!important;
  display:flex!important;
  align-items:center!important;
  background:
    linear-gradient(135deg,rgba(0,18,46,.82),rgba(0,55,105,.62),rgba(236,47,143,.28)),
    url('assets/contact-riviera-premium.jpg') center/cover no-repeat!important;
  overflow:hidden!important;
  border-radius:0!important;
}

.contact-page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 24%,rgba(236,47,143,.30),transparent 34%),
    radial-gradient(circle at 82% 80%,rgba(34,200,232,.22),transparent 38%);
  pointer-events:none;
}

.contact-page-hero .container{
  position:relative;
  z-index:2;
}

.contact-hero-card{
  max-width:850px;
  padding:44px;
  border-radius:34px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  color:#fff;
}

.contact-hero-card .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  font-weight:950;
  margin-bottom:18px;
}

.contact-hero-card h1{
  color:#fff;
  font-size:62px;
  line-height:1;
  margin:0 0 16px;
  letter-spacing:-1px;
}

.contact-hero-card p{
  color:rgba(255,255,255,.92);
  font-size:21px;
  margin:0 0 24px;
}

.contact-page-wrap{
  background:
    radial-gradient(circle at top left,rgba(236,47,143,.08),transparent 32%),
    radial-gradient(circle at top right,rgba(34,200,232,.10),transparent 32%),
    #f7fbff;
  padding:70px 0;
}

.contact-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:34px;
}

.contact-quick-card{
  background:#fff;
  border:1px solid #e5edf5;
  border-radius:26px;
  padding:24px;
  box-shadow:0 20px 55px rgba(0,59,111,.11);
}

.contact-quick-card strong{
  display:block;
  color:#102033;
  font-size:20px;
  margin-bottom:8px;
}

.contact-quick-card a,
.contact-quick-card span{
  color:#003b6f;
  font-weight:850;
  text-decoration:none;
}

.contact-layout-premium{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:28px;
  align-items:start;
}

.contact-form-premium{
  background:#fff!important;
  border:1px solid #e5edf5!important;
  border-radius:32px!important;
  padding:30px!important;
  box-shadow:0 24px 70px rgba(0,59,111,.13)!important;
}

.contact-form-premium .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.contact-form-premium .full{
  grid-column:1/-1;
}

.contact-form-premium label{
  display:block;
  font-weight:900;
  color:#102033;
  margin-bottom:7px;
}

.contact-form-premium input,
.contact-form-premium select,
.contact-form-premium textarea{
  width:100%!important;
  border:1px solid #dce8f3!important;
  background:#f8fbff!important;
  border-radius:16px!important;
  padding:14px 16px!important;
  font-size:16px!important;
  box-sizing:border-box!important;
}

.contact-form-premium textarea{
  min-height:150px!important;
}

.contact-info-premium{
  display:grid;
  gap:18px;
}

.contact-info-card,
.contact-map-card,
.contact-faq-card{
  background:#fff!important;
  border:1px solid #e5edf5!important;
  border-radius:30px!important;
  padding:26px!important;
  box-shadow:0 24px 70px rgba(0,59,111,.13)!important;
}

.contact-map-placeholder{
  min-height:230px;
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(0,118,223,.18),rgba(236,47,143,.12)),
    url('assets/contact-riviera-premium.jpg') center/cover no-repeat;
  display:flex;
  align-items:flex-end;
  padding:18px;
  color:#fff;
  font-weight:950;
  box-shadow:inset 0 -80px 90px rgba(0,35,75,.38);
}

/* Mobile header allégé */
@media(max-width:760px){
  .topbar{
    display:none!important;
  }

  .header{
    box-shadow:0 8px 28px rgba(0,59,111,.08)!important;
  }

  .head-main{
    padding:12px 0!important;
    gap:10px!important;
  }

  .brand{
    flex-direction:row!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
  }

  .logo-img{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    box-shadow:0 10px 28px rgba(0,118,223,.16),0 0 0 4px #fff!important;
  }

  .brand-title{
    min-width:0!important;
    text-align:left!important;
    line-height:.95!important;
  }

  .brand-title span{
    font-size:18px!important;
  }

  .brand-title b{
    font-size:23px!important;
  }

  .brand-title small{
    font-size:11px!important;
    letter-spacing:5px!important;
  }

  .header-actions{
    width:100%!important;
    justify-content:center!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }

  .phone-link{
    padding:9px 12px!important;
    font-size:14px!important;
  }

  .contact-main{
    padding:10px 18px!important;
    font-size:14px!important;
  }

  .header-language,
  .gtranslate-wrapper{
    width:auto!important;
    margin:0!important;
  }

  .gtranslate-wrapper select,
  .gt_selector,
  .header-language select{
    max-width:120px!important;
    padding:8px 10px!important;
    font-size:13px!important;
  }

  .menu-toggle{
    display:flex!important;
    width:92vw!important;
    justify-content:center!important;
    margin:10px auto 0!important;
    padding:13px 18px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;
    color:#fff!important;
    border:0!important;
    font-weight:950!important;
  }

  .navwrap{
    padding:0!important;
  }

  .header-shop-button{
    width:92vw!important;
    margin:12px auto!important;
    padding:14px 18px!important;
  }

  .contact-page-hero{
    min-height:360px!important;
  }

  .contact-hero-card{
    padding:28px!important;
    border-radius:26px!important;
  }

  .contact-hero-card h1{
    font-size:38px!important;
  }

  .contact-hero-card p{
    font-size:18px!important;
  }

  .contact-quick-grid{
    grid-template-columns:1fr!important;
  }

  .contact-layout-premium{
    grid-template-columns:1fr!important;
  }

  .contact-form-premium .form-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V7.8 - Harmonisation Entreprises + Agenda comme Contact/Annuaire
   ========================================================= */

.ilm-premium-archive-hero{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  overflow:hidden;
  margin:0;
}

.ilm-premium-archive-hero.agenda{
  background:
    linear-gradient(135deg,rgba(0,18,46,.84),rgba(0,55,105,.66),rgba(236,47,143,.32)),
    url('assets/agenda-riviera-jazz.jpg') center/cover no-repeat;
}

.ilm-premium-archive-hero.entreprises{
  background:
    linear-gradient(135deg,rgba(0,18,46,.82),rgba(0,55,105,.62),rgba(236,47,143,.24)),
    url('assets/annuaire-entreprises-riviera.jpg') center/cover no-repeat;
}

.ilm-premium-archive-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 24%,rgba(236,47,143,.32),transparent 34%),
    radial-gradient(circle at 82% 80%,rgba(34,200,232,.22),transparent 38%);
  pointer-events:none;
}

.ilm-premium-archive-hero .container{
  position:relative;
  z-index:2;
}

.ilm-premium-archive-card{
  max-width:880px;
  padding:44px;
  border-radius:34px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  color:#fff;
}

.ilm-premium-archive-card .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  font-weight:950;
  margin-bottom:18px;
}

.ilm-premium-archive-card h1{
  color:#fff;
  font-size:62px;
  line-height:1;
  margin:0 0 16px;
  letter-spacing:-1px;
}

.ilm-premium-archive-card p{
  color:rgba(255,255,255,.92);
  font-size:21px;
  margin:0 0 24px;
}

.ilm-premium-archive-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.ilm-premium-archive-actions .btn{
  background:#fff!important;
  color:#003b6f!important;
}

.ilm-premium-archive-actions .btn.alt{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;
  color:#fff!important;
}

/* Donne un style premium aux contenus existants The Events Calendar */
.tribe-common,
.tribe-events,
.tribe-events-view{
  background:
    radial-gradient(circle at top left,rgba(236,47,143,.08),transparent 32%),
    radial-gradient(circle at top right,rgba(34,200,232,.10),transparent 32%),
    #f7fbff!important;
  padding-top:44px!important;
  padding-bottom:70px!important;
}

.tribe-common .tribe-common-l-container{
  max-width:1180px!important;
}

.tribe-events-header,
.tribe-events-calendar-list__event-row,
.tribe-events-calendar-day__event,
.tribe-events-calendar-month__day{
  border-radius:28px!important;
}

.tribe-events-c-search,
.tribe-events-header__events-bar{
  background:#fff!important;
  border:1px solid #e5edf5!important;
  border-radius:26px!important;
  box-shadow:0 22px 60px rgba(0,59,111,.12)!important;
  padding:14px!important;
}

.tribe-events-calendar-list__event-row{
  background:#fff!important;
  border:1px solid #e5edf5!important;
  box-shadow:0 22px 60px rgba(0,59,111,.10)!important;
  padding:20px!important;
  margin-bottom:24px!important;
}

.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button{
  background:linear-gradient(135deg,#ff1d25,#ec2f8f,#0076df,#22c8e8)!important;
  border-radius:14px!important;
  color:#fff!important;
  font-weight:950!important;
}

/* Entreprises existantes : transforme les cartes/blocs simples */
body.post-type-archive-entreprise main,
body.post-type-archive-business main,
body.page-id main,
body.page-template-page-entreprises main{
  background:
    radial-gradient(circle at top left,rgba(236,47,143,.08),transparent 32%),
    radial-gradient(circle at top right,rgba(34,200,232,.10),transparent 32%),
    #f7fbff;
}

body.post-type-archive-entreprise .card,
body.post-type-archive-business .card,
body.post-type-archive-entreprise article,
body.post-type-archive-business article,
body.page-template-page-entreprises article{
  border-radius:30px!important;
  box-shadow:0 24px 70px rgba(0,59,111,.13)!important;
  border:1px solid #e5edf5!important;
}

/* Masquer les titres WordPress basiques directement sous hero si besoin */
.ilm-premium-archive-hero + .page-header,
.ilm-premium-archive-hero + header.page-header,
.ilm-premium-archive-hero + .entry-header{
  display:none!important;
}

@media(max-width:760px){
  .ilm-premium-archive-hero{
    min-height:360px;
  }
  .ilm-premium-archive-card{
    padding:28px;
    border-radius:26px;
  }
  .ilm-premium-archive-card h1{
    font-size:38px;
  }
  .ilm-premium-archive-card p{
    font-size:18px;
  }
}


/* =========================================================
   V7.9 - Correctif pages Agenda / Entreprises + emplacements premium
   ========================================================= */

/* Empêche les pages de commencer collées sous le menu */
body.page-template-page-entreprises main,
body.page-template-page-events main,
body.post-type-archive-tribe_events main,
body.post-type-archive-entreprise main{
  background:#f7fbff;
}

/* Hero visible et plus haut de gamme */
.ilm-premium-archive-hero{
  margin-top:0!important;
  border-bottom:1px solid rgba(255,255,255,.18);
}

/* Recherche et zones de contenu mieux placées */
.business-premium-wrap,
.directory-premium-wrap,
.agenda-premium-wrap{
  padding-top:72px!important;
}

.business-search-bar,
.directory-search-bar,
.agenda-filter-bar{
  margin-top:-108px!important;
  position:relative!important;
  z-index:8!important;
  border-radius:30px!important;
  padding:22px!important;
}

/* Sur mobile, éviter les chevauchements */
@media(max-width:760px){
  .business-search-bar,
  .directory-search-bar,
  .agenda-filter-bar{
    margin-top:0!important;
  }
}

/* Cards événements / entreprises plus premium */
.agenda-card-premium,
.business-card-premium,
.directory-card-premium,
.partner-logo-card,
.logo-card,
.partners-logo-card{
  border-radius:32px!important;
  box-shadow:0 26px 80px rgba(0,59,111,.14)!important;
  border:1px solid rgba(0,118,223,.10)!important;
}

/* Les emplacements / logos partenaires mieux espacés */
.partners,
.partners-section,
.logo-carousel,
.partner-logos,
.entreprises-partenaires{
  padding:70px 0!important;
  background:
    radial-gradient(circle at top left,rgba(236,47,143,.06),transparent 32%),
    radial-gradient(circle at bottom right,rgba(34,200,232,.07),transparent 32%),
    #fff!important;
}

.partners .grid,
.partner-logos,
.logo-carousel-track,
.logos-row,
.marquee-track{
  gap:22px!important;
  align-items:center!important;
}

.partner-logo-card,
.logo-card,
.partners-logo-card,
.partner-logos a,
.logo-carousel a,
.marquee-track a{
  background:#fff!important;
  border:1px solid #e7edf5!important;
  border-radius:24px!important;
  min-height:120px!important;
  padding:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 18px 48px rgba(0,59,111,.10)!important;
  transition:transform .25s ease, box-shadow .25s ease!important;
}

.partner-logo-card:hover,
.logo-card:hover,
.partners-logo-card:hover,
.partner-logos a:hover,
.logo-carousel a:hover,
.marquee-track a:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 28px 70px rgba(0,59,111,.16)!important;
}

.partner-logo-card img,
.logo-card img,
.partners-logo-card img,
.partner-logos img,
.logo-carousel img,
.marquee-track img{
  max-height:78px!important;
  max-width:180px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:.98!important;
}

/* Améliore les blocs textes simples comme Domiswiss */
.entry-content > h1:first-child,
.page-content > h1:first-child,
main > .container > h1:first-child{
  background:#fff!important;
  border-radius:30px!important;
  padding:28px 34px!important;
  box-shadow:0 22px 60px rgba(0,59,111,.11)!important;
  border:1px solid #e7edf5!important;
  margin-bottom:24px!important;
}

.entry-content,
.page-content{
  font-size:17px;
  line-height:1.65;
}

/* Bloc d'introduction premium */
.premium-intro-box{
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:30px;
  padding:28px 34px;
  box-shadow:0 22px 60px rgba(0,59,111,.11);
  margin-bottom:34px;
}

.premium-intro-box h2,
.premium-intro-box h1{
  margin-top:0;
}

/* The Events Calendar : plus compact et élégant */
.tribe-events-calendar-list__event-row{
  align-items:center!important;
}

.tribe-events-calendar-list__event-featured-image-wrapper img{
  border-radius:22px!important;
}

.tribe-events-calendar-list__event-title a{
  color:#102033!important;
  font-weight:950!important;
}

.tribe-events-calendar-list__event-description{
  color:#5b6675!important;
}

/* Header desktop mieux aligné */
.head-main{
  max-width:1180px;
  margin-left:auto!important;
  margin-right:auto!important;
}

.navwrap .container,
.header .container{
  max-width:1180px!important;
}

/* Mobile : header très allégé */
@media(max-width:760px){
  .brand-title small{
    display:none!important;
  }
  .head-main{
    padding:10px 0!important;
  }
  .logo-img{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
  }
  .brand-title span{
    font-size:16px!important;
  }
  .brand-title b{
    font-size:20px!important;
  }
  .phone-link{
    padding:8px 11px!important;
  }
  .contact-main{
    padding:9px 16px!important;
  }
}


/* V7.9.2 - MétéoSuisse + carte satellite Riviera */
.ilm-weather-map-section{
  padding-top:34px;
}
.ilm-weather-map-head{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-end;
  margin-bottom:22px;
}
.ilm-weather-map-head p{
  margin:8px 0 0;
  color:#5b6675;
}
.ilm-weather-map-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);
  gap:24px;
  align-items:stretch;
}
.ilm-weather-card,
.ilm-riviera-map-card{
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:30px;
  padding:24px;
  box-shadow:0 24px 70px rgba(0,59,111,.12);
  overflow:hidden;
}
.ilm-weather-card h3,
.ilm-riviera-map-card h3{
  margin:0 0 18px;
  color:#102033;
}
.ilm-weather-intro{
  margin:0 0 16px;
  color:#5b6675;
}
.ilm-meteosuisse-actions{
  margin-bottom:16px;
}
.ilm-meteosuisse-frame{
  position:relative;
  min-height:390px;
  border-radius:24px;
  overflow:hidden;
  background:#eef3f9;
  border:1px solid #edf2f8;
}
.ilm-meteosuisse-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.ilm-weather-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(96px,1fr));
  gap:12px;
}
.ilm-weather-day{
  border:1px solid #edf2f8;
  border-radius:20px;
  padding:14px 10px;
  text-align:center;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}
.ilm-weather-date{
  display:block;
  font-weight:800;
  color:#102033;
  font-size:13px;
  margin-bottom:7px;
}
.ilm-weather-icon{
  display:block;
  font-size:30px;
  line-height:1;
  margin-bottom:9px;
}
.ilm-weather-day strong{
  display:block;
  font-size:17px;
  color:#003b6f;
  margin-bottom:6px;
}
.ilm-weather-day small{
  display:block;
  color:#5b6675;
  line-height:1.35;
}
.ilm-weather-source{
  margin:14px 0 0;
  color:#7b8794;
  font-size:13px;
}
.ilm-weather-empty{
  padding:18px;
  border-radius:18px;
  background:#f8fbff;
  color:#5b6675;
}
.ilm-riviera-map-frame{
  position:relative;
  min-height:390px;
  border-radius:24px;
  overflow:hidden;
  background:#eef3f9;
}
.ilm-riviera-map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:980px){
  .ilm-weather-map-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ilm-weather-map-grid{
    grid-template-columns:1fr;
  }
  .ilm-weather-days{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .ilm-weather-card,
  .ilm-riviera-map-card{
    padding:18px;
    border-radius:24px;
  }
  .ilm-weather-days{
    grid-template-columns:1fr;
  }
  .ilm-riviera-map-frame{
    min-height:310px;
  }
}


/* V7.9.3 - bloc bas de page météo MétéoSuisse + carte satellite */
.ilm-bottom-live-section{padding:64px 0;background:linear-gradient(135deg,#eef9ff 0%,#ffffff 52%,#fff7fb 100%);position:relative;z-index:1}
.ilm-bottom-live-section .container{max-width:1180px;margin:0 auto;padding:0 22px}
.ilm-bottom-live-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}
.ilm-bottom-live-head h2{margin:4px 0 8px;font-size:clamp(28px,4vw,44px);line-height:1.05}
.ilm-bottom-live-head p{max-width:760px;margin:0;color:#4b6272;font-size:17px}
.ilm-bottom-live-grid{display:grid;grid-template-columns:0.95fr 1.35fr;gap:24px;align-items:stretch}
.ilm-bottom-live-card{background:#fff;border:1px solid rgba(17,66,96,.12);border-radius:28px;box-shadow:0 22px 60px rgba(8,51,78,.12);overflow:hidden}
.ilm-bottom-weather-card{padding:28px;display:flex;flex-direction:column;gap:18px}
.ilm-bottom-weather-card h3,.ilm-bottom-map-card h3{margin:0;font-size:24px;color:#08334e}
.ilm-bottom-weather-card p{margin:0;color:#526b7b;line-height:1.6}
.ilm-weather-source-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#e9f5ff;color:#07568a;padding:8px 12px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.ilm-weather-days{display:grid;gap:10px;margin:6px 0}
.ilm-weather-day{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(8,51,78,.1);border-radius:16px;padding:12px 14px;background:#f8fcff;color:#17364a;font-weight:700}
.ilm-weather-day span:last-child{color:#607789;font-weight:600;text-align:right}
.ilm-bottom-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.ilm-bottom-actions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.ilm-bottom-map-card{padding:0}
.ilm-bottom-map-card h3{padding:24px 24px 0}
.ilm-bottom-map-frame{height:430px;margin:18px 18px 18px;border-radius:22px;overflow:hidden;background:#dbe9ef;border:1px solid rgba(8,51,78,.12)}
.ilm-bottom-map-frame iframe{display:block;width:100%;height:100%;border:0}
.ilm-map-fallback{padding:0 24px 24px;color:#526b7b;font-size:14px}
@media(max-width:900px){.ilm-bottom-live-head{display:block}.ilm-bottom-live-grid{grid-template-columns:1fr}.ilm-bottom-map-frame{height:360px}}
@media(max-width:560px){.ilm-bottom-live-section{padding:42px 0}.ilm-bottom-weather-card{padding:22px}.ilm-bottom-map-frame{height:300px;margin:14px}.ilm-bottom-actions .btn{width:100%}}


/* V7.9.7 - Espace client / Login */
.header-login-button:before{content:""!important;margin:0!important}
.header-login-button{background:linear-gradient(135deg,#e60046,#0057ff)!important;color:#fff!important}
.ilm-client-area{padding:70px 0;background:linear-gradient(135deg,#f7fbff 0%,#fff 55%,#fff4f8 100%)}
.ilm-client-area .container{max-width:1120px;margin:0 auto;padding:0 22px}
.ilm-client-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.ilm-client-card{background:#fff;border-radius:30px;padding:34px;box-shadow:0 22px 60px rgba(6,38,75,.12);border:1px solid rgba(6,38,75,.08)}
.ilm-client-card h1,.ilm-client-card h2{margin:0 0 14px;color:#07172f;line-height:1.1}
.ilm-client-card h1{font-size:clamp(34px,5vw,56px)}
.ilm-client-card h2{font-size:28px}
.ilm-client-card p{color:#526072;line-height:1.65;font-size:17px}
.ilm-client-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ilm-client-badges span{display:inline-flex;border-radius:999px;padding:10px 14px;background:#eef6ff;color:#005b97;font-weight:800}
.ilm-login-panel{background:linear-gradient(135deg,#e60046,#7928ca,#0077ff);color:#fff;border-radius:30px;padding:34px;box-shadow:0 24px 60px rgba(0,87,255,.18)}
.ilm-login-panel h2,.ilm-login-panel p{color:#fff}
.ilm-login-panel form{margin-top:18px}
.ilm-login-panel label{font-weight:800;color:#fff}
.ilm-login-panel input[type=text],.ilm-login-panel input[type=password],.ilm-login-panel input[type=email]{width:100%;border:0;border-radius:16px;padding:14px 16px;margin:6px 0 14px;background:#fff;color:#111}
.ilm-login-panel input[type=submit],.ilm-client-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 20px;background:#07172f;color:#fff!important;text-decoration:none!important;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.ilm-client-btn.secondary{background:#fff;color:#07172f!important}
.ilm-register-box{margin-top:18px;padding:18px;border-radius:22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}
.ilm-client-grid{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ilm-client-small{background:#fff;border-radius:24px;padding:24px;border:1px solid rgba(6,38,75,.08);box-shadow:0 14px 40px rgba(6,38,75,.08)}
.ilm-client-small strong{display:block;font-size:18px;color:#07172f;margin-bottom:6px}
.ilm-client-small span{color:#526072;line-height:1.5}
@media(max-width:900px){.ilm-client-hero,.ilm-client-grid{grid-template-columns:1fr}.ilm-client-area{padding:44px 0}.ilm-client-card,.ilm-login-panel{padding:26px}}


/* V7.9.8 - Page d'enregistrement visible */
.ilm-register-page{padding:55px 0;background:linear-gradient(180deg,#fff,#f3f8ff)}
.ilm-register-wrap{max-width:760px;margin:0 auto;background:#fff;border-radius:30px;padding:32px;box-shadow:0 18px 55px rgba(0,87,255,.13)}
.ilm-register-wrap h1{margin-top:0;font-size:clamp(30px,5vw,48px)}
.ilm-register-form label{display:block;font-weight:900;margin:14px 0 6px;color:#07172f}
.ilm-register-form input[type=text],.ilm-register-form input[type=email],.ilm-register-form input[type=password]{width:100%;border:1px solid #e1e8f5;border-radius:16px;padding:14px 16px;background:#f8fbff;color:#111;font-size:16px}
.ilm-register-form button,.ilm-register-form input[type=submit]{margin-top:18px;border:0;border-radius:999px;padding:14px 24px;background:linear-gradient(135deg,#e60046,#0057ff);color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(0,87,255,.22)}
.ilm-register-note{margin-top:16px;padding:14px 16px;border-radius:16px;background:#eef7ff;color:#07172f}
.ilm-register-error{margin-top:16px;padding:14px 16px;border-radius:16px;background:#fff2f2;color:#b00020;font-weight:800}
.ilm-register-success{margin-top:16px;padding:14px 16px;border-radius:16px;background:#effaf0;color:#0b6b20;font-weight:800}


/* V7.9.9 - Automatisation client/agenda/annuaire */
.ilm-auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:30px 0}.ilm-auto-card,.ilm-auto-box{background:#fff;border-radius:26px;padding:24px;box-shadow:0 18px 45px rgba(10,30,70,.10);border:1px solid rgba(0,0,0,.06)}.ilm-auto-card img{width:100%;height:180px;object-fit:cover;border-radius:20px;margin-bottom:15px}.ilm-auto-date{display:inline-block;color:#e91e63;margin-bottom:8px}.ilm-auto-form{max-width:820px;margin:30px auto;background:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(10,30,70,.10)}.ilm-auto-form label{display:block;font-weight:800;margin:14px 0 6px}.ilm-auto-form input,.ilm-auto-form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #dbe3ef;font-size:16px}.ilm-client-small ul{margin:12px 0 0 18px;padding:0}.ilm-client-small li{margin:8px 0}
