/*
Theme Name: SVVV Club
Theme URI: https://www.svvv.org/
Author: SVVV
Description: Thème bloc léger pour le club SVVV. Contenu géré avec WordPress/Gutenberg.
Version: 1.0.3
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: svvv-club
*/
:root{--svvv-ink:#173138;--svvv-blue:#126f8c;--svvv-blue-dark:#0a5268;--svvv-teal:#1d8e87;--svvv-bg:#f3f7f6;--svvv-line:#d9e5e3;--svvv-radius:22px;}
html{scroll-behavior:smooth} body{background:var(--svvv-bg)}
a{text-underline-offset:.18em}.wp-site-blocks{min-height:100vh}
.svvv-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--svvv-line)}
.svvv-header .wp-block-navigation-item__content{text-decoration:none;font-weight:700}
.svvv-header .wp-block-site-logo img{border-radius:50%}
.svvv-card{border:1px solid var(--svvv-line);border-radius:var(--svvv-radius);overflow:hidden;background:#fff}
.svvv-card-shadow{box-shadow:0 16px 46px rgba(18,56,62,.10)}
.svvv-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800;color:var(--svvv-teal)}
.svvv-slider{position:relative;min-height:clamp(420px,60vw,650px);overflow:hidden;border-radius:28px;background:#123c48;box-shadow:0 18px 55px rgba(18,56,62,.14)}
.svvv-slider>.wp-block-image{position:absolute;inset:0;margin:0!important;opacity:0;transition:opacity .9s ease;pointer-events:none}
.svvv-slider>.wp-block-image.is-active{opacity:1;pointer-events:auto}
.svvv-slider>.wp-block-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.svvv-slider:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,34,42,.65),rgba(6,34,42,.08) 70%);pointer-events:none}
.svvv-slider-controls{position:absolute;z-index:4;right:22px;bottom:20px;display:flex;gap:8px}
.svvv-slider-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.svvv-slider-dot.is-active{background:#fff;transform:scale(1.25)}
.svvv-hero-copy{position:absolute!important;z-index:3;left:clamp(24px,6vw,72px);bottom:clamp(32px,7vw,72px);max-width:760px;color:#fff}
.svvv-docs .wp-block-file{padding:14px 0;border-bottom:1px solid var(--svvv-line)}
.svvv-docs .wp-block-file__button{border-radius:999px!important}
.svvv-news .wp-block-post{background:#fff;border:1px solid var(--svvv-line);border-radius:18px;overflow:hidden}.svvv-news .wp-block-post-featured-image{margin:0}.svvv-news .wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover}.svvv-news .wp-block-post-title,.svvv-news .wp-block-post-excerpt,.svvv-news .wp-block-post-date{padding-left:20px;padding-right:20px}.svvv-news .wp-block-post-excerpt{padding-bottom:16px}
.svvv-photo-gallery figure{border-radius:16px;overflow:hidden}.svvv-photo-gallery img{aspect-ratio:4/3;object-fit:cover}
.svvv-footer{margin-top:5rem;background:#123c48;color:#eaf7f7}.svvv-footer a{color:#eaf7f7}
@media(max-width:782px){.svvv-header{position:relative}.svvv-slider{min-height:520px}.svvv-hero-copy{right:24px}.svvv-news .wp-block-post-template{grid-template-columns:1fr!important}}

.svvv-header .wp-block-site-logo img{width:min(320px,34vw);height:auto;border-radius:0}
.svvv-nav-inscription>.wp-block-navigation-item__content{background:#93c900;color:#fff!important;border-radius:6px;padding:.62em .95em!important}
.svvv-home-signup{border-top:1px solid var(--svvv-line);border-bottom:1px solid var(--svvv-line);background:#eef7fa}
.svvv-home-signup .wp-block-button__link{font-weight:800}
.svvv-section-separator{position:relative;text-align:center;margin-top:22px;margin-bottom:32px}
.svvv-section-separator:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#b9cbd0}
.svvv-section-separator .wp-block-heading{position:relative;display:inline-block;background:var(--svvv-bg);padding:0 28px;margin:0;color:var(--svvv-blue)}
.svvv-permanent-card{height:100%;background:#fff;border:1px solid var(--svvv-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(18,56,62,.07)}
.svvv-permanent-card>.wp-block-image{margin:0}.svvv-permanent-card>.wp-block-image img{width:100%;aspect-ratio:16/10;object-fit:cover}
.svvv-permanent-card>.wp-block-group{padding:22px}.svvv-permanent-card h3{color:var(--svvv-blue)}
.svvv-info-box{background:#eef7fa;border-left:4px solid var(--svvv-blue);padding:18px 20px;border-radius:8px}
.svvv-warning-box{background:#fff6df;border-left:4px solid #d69b18;padding:18px 20px;border-radius:8px}
.svvv-access-plans img{border:1px solid var(--svvv-line);border-radius:12px}
.svvv-contact-card{background:#fff;border:1px solid var(--svvv-line);border-radius:16px;padding:22px}
@media(max-width:782px){.svvv-header .wp-block-site-logo img{width:230px;max-width:64vw}.svvv-section-separator .wp-block-heading{padding:0 14px}}

.svvv-section-separator .svvv-separator-inner{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:6px;background:var(--svvv-bg);padding:0 28px}
.svvv-section-separator .svvv-paddle-icon{display:block;width:92px;height:25px;background:url("assets/images/pagaie-pirogue.webp") center/contain no-repeat}
.svvv-section-separator .svvv-paddle-icon svg{display:none}

/* Accueil compact avec bandeau saisonnier Inscriptions */
.svvv-slider{min-height:360px!important;border-radius:0!important;box-shadow:none!important}
.svvv-slider:after{background:linear-gradient(90deg,rgba(6,34,42,.64),rgba(6,34,42,.08) 70%)}
.svvv-hero-copy{left:clamp(40px,6vw,72px)!important;bottom:50%!important;transform:translateY(50%);max-width:480px}
.svvv-hero-copy h1{font-size:clamp(2rem,4vw,3rem)!important}
.svvv-slider-controls{left:50%!important;right:auto!important;bottom:13px!important;transform:translateX(-50%)}
.svvv-slider-prev,.svvv-slider-next{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(4,49,74,.58);color:#fff;font-size:28px;cursor:pointer}
.svvv-slider-prev{left:16px}.svvv-slider-next{right:16px}
.svvv-registration-banner{background:linear-gradient(180deg,#edf8fc,#e5f3f8);border-bottom:1px solid #cfe1e8;padding:20px 0 24px}
.svvv-registration-banner .wp-block-heading{text-align:center;text-transform:uppercase;font-size:1.45rem;margin-bottom:.2rem}
.svvv-registration-subtitle{text-align:center;font-size:.78rem;color:#526b7a;margin-top:0;margin-bottom:1rem}
.svvv-registration-docs{max-width:920px;margin-inline:auto;gap:14px!important}
.svvv-registration-doc{height:100%;min-height:118px;background:#fff;border:1px solid #d4e3e9;border-radius:10px;padding:14px 10px;box-shadow:0 4px 12px rgba(7,73,105,.08);text-align:center}
.svvv-registration-doc .wp-block-heading{font-size:.84rem;text-transform:none;line-height:1.2;margin:.35rem 0}
.svvv-doc-icon{display:grid!important;place-items:center;width:40px;height:40px;margin:0 auto!important;border-radius:10px;background:#e8f6fb;color:var(--svvv-blue);font-size:.7rem;font-weight:900}
.svvv-registration-doc:nth-child(even) .svvv-doc-icon{background:#f1f8dc;color:#78a900}
.svvv-registration-doc a{text-decoration:none}
.svvv-hide-registration-banner .svvv-registration-banner{display:none!important}
@media(max-width:782px){.svvv-slider{min-height:285px!important}.svvv-hero-copy{left:52px!important;right:52px!important}.svvv-slider-prev,.svvv-slider-next{width:34px;height:34px;font-size:22px}.svvv-registration-docs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Titres décoratifs SVVV */
.svvv-ornament-title{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 1rem;max-width:760px}

.svvv-orn-paddle{width:44px;height:16px;object-fit:contain;display:block}
.svvv-orn-paddle.right{transform:scaleX(-1)}
.svvv-ornament-title h2{margin:0!important;color:var(--svvv-blue,#05689d);font-size:1.65rem!important;line-height:1.1;text-align:center;white-space:nowrap}
.svvv-registration-ornament h2{text-transform:uppercase;font-size:1.45rem!important}
.svvv-contact-access-heading{background:#f4f8fa;padding:34px 0 22px;border-top:1px solid var(--svvv-line,#dce6eb)}
@media(max-width:600px){.svvv-ornament-title{gap:7px}.svvv-orn-paddle{width:32px;height:13px}.svvv-ornament-title h2{font-size:1.3rem!important}}


/* Titres décorés : pagaies uniquement, sans traits verts */
.svvv-decorated-title{display:flex;align-items:center;justify-content:center;gap:14px}
.svvv-decorated-title .svvv-title-paddle{display:inline-flex;align-items:center;justify-content:center}
.svvv-decorated-title .svvv-title-paddle img{width:72px;height:auto;display:block}
.svvv-decorated-title .wp-block-heading{margin:0;text-align:center}
.svvv-section-separator:before,.svvv-section-separator:after{display:none!important;content:none!important}
.svvv-section-separator .svvv-separator-inner{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;flex-direction:row!important}
.svvv-section-separator .svvv-paddle-icon{width:72px!important;height:auto!important}

/* FIX FINAL TITRES DÉCORÉS WORDPRESS */
.svvv-section-separator:before,
.svvv-section-separator:after,
.svvv-decorated-title:before,
.svvv-decorated-title:after{
  display:none!important;
  content:none!important;
  background:none!important;
  border:0!important;
}
.svvv-decorated-title,
.svvv-section-separator .svvv-separator-inner{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
}
.svvv-decorated-title .wp-block-heading,
.svvv-section-separator .wp-block-heading{
  margin:0!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.svvv-decorated-title .svvv-title-paddle,
.svvv-section-separator .svvv-paddle-icon{
  width:92px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 92px!important;
}
.svvv-decorated-title .svvv-title-paddle img,
.svvv-section-separator .svvv-paddle-icon img{
  width:92px!important;
  height:auto!important;
  max-height:34px!important;
  object-fit:contain!important;
  display:block!important;
}


/* === CORRECTION VALIDÉE : titres à pagaies sans traits === */
.svvv-orn-line{display:none!important;width:0!important;height:0!important;background:none!important}
.svvv-ornament-title{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  max-width:none!important;
}
.svvv-ornament-title .svvv-orn-paddle{
  width:88px!important;
  height:32px!important;
  object-fit:contain!important;
  display:block!important;
  flex:0 0 88px!important;
}
.svvv-ornament-title .svvv-orn-paddle.right{transform:scaleX(-1)!important}
.svvv-ornament-title h2{
  margin:0!important;
  line-height:32px!important;
  white-space:nowrap!important;
}
.svvv-header .wp-block-navigation__container{
  flex-wrap:nowrap!important;
}
.svvv-header .wp-block-navigation-item__label{
  white-space:nowrap!important;
}


/* === Correctif affichage accueil 1.0.2 === */
.svvv-logo-link{display:block;line-height:0;flex:0 0 auto}
.svvv-logo-img{display:block;width:310px;max-width:31vw;height:auto}

body.home .wp-block-post-content > .wp-block-group.alignwide:first-child{
  position:relative!important;
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:first-child > .svvv-slider{
  width:100%!important;
  max-width:none!important;
  min-height:360px!important;
  margin:20px 0 0!important;
  display:block!important;
}
.svvv-slider > .wp-block-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  flex:0 0 100%!important;
  margin:0!important;
  padding:0!important;
}
.svvv-slider > .wp-block-image img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:first-child > .svvv-hero-copy{
  position:absolute!important;
  z-index:6!important;
  left:clamp(42px,6vw,82px)!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  width:min(470px,50%)!important;
  max-width:470px!important;
  margin:0!important;
  color:#fff!important;
}
.svvv-hero-copy h1,
.svvv-hero-copy p{color:#fff!important;text-shadow:0 2px 5px rgba(0,0,0,.42)}
.svvv-hero-copy h1{font-size:clamp(2rem,3vw,3rem)!important}
.svvv-slider-prev,.svvv-slider-next{display:block!important}
.svvv-slider-prev{left:14px!important}.svvv-slider-next{right:14px!important}

@media(max-width:900px){
  .svvv-logo-img{width:245px;max-width:58vw}
}
@media(max-width:782px){
  body.home .wp-block-post-content > .wp-block-group.alignwide:first-child{
    width:100%!important;
  }
  body.home .wp-block-post-content > .wp-block-group.alignwide:first-child > .svvv-slider{
    margin-top:0!important;
  }
  body.home .wp-block-post-content > .wp-block-group.alignwide:first-child > .svvv-hero-copy{
    left:52px!important;
    right:52px!important;
    width:auto!important;
    max-width:none!important;
  }
}


/* === Mise en page accueil : La vie du club / Découvrir 1.0.3 === */

/* La grande zone contenant les deux séries de cartes doit utiliser la largeur du bandeau. */
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news){
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > *{
  max-width:none!important;
  width:100%!important;
}

/* En-tête "La vie du club". */
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-group:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:22px!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-group:first-child > p{
  margin:0!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-group:first-child > p a{
  display:inline-block;
  padding:8px 13px;
  border:1px solid var(--svvv-line);
  border-radius:999px;
  background:#fff;
  color:var(--svvv-blue-dark);
  text-decoration:none;
  font-size:.9rem;
  font-weight:700;
}

/* Grille 4 cartes. */
.svvv-news{
  width:100%!important;
  max-width:none!important;
}
.svvv-news .wp-block-post-template{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.svvv-news .wp-block-post{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:390px!important;
  overflow:hidden!important;
  border:1px solid var(--svvv-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 9px 26px rgba(18,56,62,.07)!important;
}

/* Image mise en avant ou image de secours. */
.svvv-news .wp-block-post-featured-image{
  width:100%!important;
  margin:0!important;
}
.svvv-news .wp-block-post-featured-image img{
  display:block!important;
  width:100%!important;
  height:170px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.svvv-news .wp-block-post:not(:has(.wp-block-post-featured-image))::before{
  content:"";
  display:block;
  flex:0 0 170px;
  width:100%;
  height:170px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.svvv-news .wp-block-post:nth-child(1):not(:has(.wp-block-post-featured-image))::before{
  background-image:url("assets/images/pirogue-equipe-2023.jpg");
}
.svvv-news .wp-block-post:nth-child(2):not(:has(.wp-block-post-featured-image))::before{
  background-image:url("assets/images/bandeau-pirogue-mer.jpg");
}
.svvv-news .wp-block-post:nth-child(3):not(:has(.wp-block-post-featured-image))::before{
  background-image:url("assets/images/bandeau-eau-vive.jpg");
}
.svvv-news .wp-block-post:nth-child(4):not(:has(.wp-block-post-featured-image))::before{
  background-image:url("assets/images/bandeau-equipe-plage.jpg");
}

/* Texte des cartes : compact et lisible. */
.svvv-news .wp-block-post-date{
  margin:14px 18px 5px!important;
  padding:0!important;
  font-size:.78rem!important;
  color:#60737a!important;
}
.svvv-news .wp-block-post-title{
  margin:0 18px 9px!important;
  padding:0!important;
  font-size:1.18rem!important;
  line-height:1.18!important;
  font-weight:800!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto;
}
.svvv-news .wp-block-post-title a{
  color:var(--svvv-blue-dark)!important;
  text-decoration:none!important;
}
.svvv-news .wp-block-post-excerpt{
  margin:0 18px 18px!important;
  padding:0!important;
  color:#42585f!important;
  font-size:.92rem!important;
  line-height:1.45!important;
}
.svvv-news .wp-block-post-excerpt__excerpt{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.svvv-news .wp-block-post-excerpt__more-text{
  display:none!important;
}

/* Découvrir le club : respiration et cartes de même taille. */
body.home .svvv-news + .svvv-ornament-title{
  margin-top:48px!important;
  margin-bottom:24px!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-columns{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  margin:0!important;
}
body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-columns > .wp-block-column{
  margin:0!important;
}
.svvv-permanent-card{
  height:100%!important;
  border-radius:18px!important;
  box-shadow:0 9px 26px rgba(18,56,62,.07)!important;
}
.svvv-permanent-card > .wp-block-image img{
  height:170px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.svvv-permanent-card > .wp-block-group{
  padding:18px!important;
}
.svvv-permanent-card h3{
  margin-top:0!important;
  margin-bottom:9px!important;
  font-size:1.15rem!important;
  line-height:1.2!important;
}
.svvv-permanent-card h3 a{
  color:var(--svvv-blue-dark)!important;
  text-decoration:none!important;
}
.svvv-permanent-card p{
  margin:0!important;
  font-size:.92rem!important;
  line-height:1.45!important;
  color:#42585f!important;
}

/* Le titre Contact / Accès ne doit plus apparaître avant le footer. */
.svvv-contact-access-heading{display:none!important}
body.home .svvv-footer{margin-top:0!important}

@media(max-width:900px){
  .svvv-news .wp-block-post-template,
  body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:600px){
  body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-group:first-child{
    display:block!important;
    text-align:center!important;
  }
  body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-group:first-child > p{
    margin-top:14px!important;
  }
  .svvv-news .wp-block-post-template,
  body.home .wp-block-post-content > .wp-block-group.alignwide:has(.svvv-news) > .wp-block-columns{
    grid-template-columns:1fr!important;
  }
}
