/* ZifaFit — accueil 3D haut de gamme */

:root{
  --zf-green:#76ad35;
  --zf-green-deep:#174d24;
  --zf-green-bright:#9bda4e;
  --zf-black:#050806;
  --zf-white:#ffffff;
}

.premium-hero{
  position:relative;
  min-height:880px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#050806;
}

.premium-hero-bg{
  position:absolute;
  inset:-4%;
  z-index:-4;
  background:
    url("zifafit-hero-3d-clean.png") center/cover no-repeat;
  transform:scale(1.04);
  filter:saturate(1.05) contrast(1.06);
  animation:premiumZoom 18s ease-in-out infinite alternate;
}

.premium-hero-vignette{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.07),transparent 25%),
    linear-gradient(180deg,rgba(3,7,4,.22),rgba(3,7,4,.58) 58%,rgba(3,7,4,.92));
  box-shadow:inset 0 -120px 130px rgba(0,0,0,.55);
}

.premium-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 25%,transparent 75%,rgba(0,0,0,.24));
  pointer-events:none;
}

.premium-hero-content{
  position:relative;
  z-index:2;
  width:min(1180px,94vw);
  margin:auto;
  padding:390px 24px 105px;
  text-align:center;
  color:var(--zf-white);
}

.premium-logo-wrap{
  position:relative;
  width:max-content;
  margin:0 auto 18px;
  animation:premiumFloat 5s ease-in-out infinite;
}

.premium-logo-wrap::before{
  content:"";
  position:absolute;
  inset:18% 10% 8%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(122,190,57,.34),transparent 68%);
  filter:blur(18px);
}

.premium-logo{
  display:block;
  width:clamp(230px,23vw,380px);
  height:auto;
  filter:
    drop-shadow(0 22px 28px rgba(0,0,0,.55))
    drop-shadow(0 0 18px rgba(123,190,57,.18));
}

.premium-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 20px;
  padding:10px 20px;
  border:1px solid rgba(179,222,126,.34);
  border-radius:999px;
  background:rgba(8,13,9,.43);
  color:#f3f7ef;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 14px 26px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
  font-size:.83rem;
  font-weight:900;
  letter-spacing:.18em;
}

.premium-title{
  max-width:1100px;
  margin:0 auto;
  font-size:clamp(3rem,6.4vw,6.5rem);
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.premium-title span{
  display:block;
  text-shadow:
    0 2px 0 rgba(255,255,255,.16),
    0 12px 28px rgba(0,0,0,.62);
}

.premium-title span:first-child{
  color:#fff;
}

.premium-title span:last-child{
  margin-top:6px;
  background:linear-gradient(180deg,#b5ec6e 0%,#76ad35 46%,#39731e 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.45));
}

.premium-intro{
  display:inline-block;
  max-width:780px;
  margin:24px auto 34px;
  padding:12px 24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(7,12,8,.44);
  color:#edf3e9;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 16px 28px rgba(0,0,0,.20);
  backdrop-filter:blur(8px);
  font-size:clamp(1rem,1.6vw,1.28rem);
  line-height:1.5;
}

.premium-home-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:15px;
  width:min(1260px,100%);
  margin:0 auto;
}

.premium-button{
  position:relative;
  overflow:hidden;
  min-height:56px;
  padding:13px 25px;
  border:1px solid rgba(180,224,128,.52);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(24,35,26,.74),rgba(7,13,9,.86));
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 15px 26px rgba(0,0,0,.30),
    0 0 0 1px rgba(113,166,53,.10);
  backdrop-filter:blur(10px);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.premium-button::before{
  content:"";
  position:absolute;
  top:-120%;
  left:-30%;
  width:34%;
  height:340%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transform:rotate(24deg);
  transition:left .6s ease;
}

.premium-button:hover{
  transform:translateY(-5px);
  border-color:rgba(186,236,122,.88);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 22px 36px rgba(0,0,0,.42),
    0 0 24px rgba(112,173,51,.20);
}

.premium-button:hover::before{
  left:120%;
}

.premium-button-main{
  border-color:#82c03c;
  background:linear-gradient(180deg,#6da72c,#3d7517);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 18px 34px rgba(27,67,14,.45);
}

.premium-button-follow{
  border-color:rgba(200,235,157,.44);
  background:linear-gradient(180deg,rgba(26,45,29,.82),rgba(7,13,9,.91));
  color:#fff;
}

.premium-scroll{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:32px auto 0;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(8,14,9,.45);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 15px 28px rgba(0,0,0,.32);
  backdrop-filter:blur(8px);
  text-decoration:none;
  font-size:2rem;
  animation:premiumBounce 2.5s ease-in-out infinite;
}

.premium-leaves{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}

.leaf{
  position:absolute;
  display:block;
  width:18px;
  height:34px;
  border-radius:90% 10% 90% 10%;
  background:linear-gradient(145deg,#9ee34e,#356e1b);
  opacity:.46;
  filter:blur(.25px) drop-shadow(0 8px 5px rgba(0,0,0,.28));
  animation:leafFall linear infinite;
}

.leaf-1{left:7%;animation-duration:12s;animation-delay:-2s;transform:rotate(25deg)}
.leaf-2{left:29%;width:14px;height:26px;animation-duration:15s;animation-delay:-8s}
.leaf-3{left:56%;width:21px;height:38px;animation-duration:13s;animation-delay:-5s}
.leaf-4{left:77%;width:12px;height:24px;animation-duration:16s;animation-delay:-11s}
.leaf-5{left:91%;width:17px;height:31px;animation-duration:14s;animation-delay:-4s}

@keyframes premiumZoom{
  from{transform:scale(1.04) translate3d(0,0,0)}
  to{transform:scale(1.10) translate3d(0,-1.5%,0)}
}

@keyframes premiumFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

@keyframes premiumBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(8px)}
}

@keyframes leafFall{
  0%{transform:translate3d(-20px,-80px,0) rotate(0deg);opacity:0}
  15%{opacity:.5}
  100%{transform:translate3d(120px,1050px,0) rotate(620deg);opacity:0}
}

@media(max-width:850px){
  .premium-hero{min-height:860px}
  .premium-hero-content{padding-top:105px}
  .premium-home-actions{
    display:grid;
    grid-template-columns:1fr;
    width:min(430px,100%);
  }
  .premium-button{
    width:100%;
    box-sizing:border-box;
  }
  .premium-title{
    font-size:clamp(2.75rem,10vw,4.8rem);
  }
}

@media(prefers-reduced-motion:reduce){
  .premium-hero-bg,
  .premium-logo-wrap,
  .premium-scroll,
  .leaf{
    animation:none!important;
  }
}


/* Ajustements pour le nouveau décor 3D sans texte intégré */
.premium-logo-wrap{display:none !important;}
.premium-hero-vignette{
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.03),transparent 24%),
    linear-gradient(180deg,rgba(3,7,4,.02) 0%,rgba(3,7,4,.10) 36%,rgba(3,7,4,.72) 70%,rgba(3,7,4,.94) 100%);
}
.premium-kicker{margin-bottom:16px;}
.premium-title{font-size:clamp(2.8rem,5.6vw,5.7rem);}
.premium-intro{margin-top:20px;margin-bottom:26px;}
@media (max-width: 820px){
  .premium-hero{min-height:820px;}
  .premium-hero-content{padding:330px 18px 80px;}
  .premium-title{font-size:clamp(2.35rem,10vw,4.1rem);line-height:1;}
  .premium-kicker{font-size:.68rem;letter-spacing:.12em;padding:9px 14px;}
}
@media (max-width: 520px){
  .premium-hero{min-height:780px;}
  .premium-hero-bg{background-position:50% center;}
  .premium-hero-content{padding:300px 14px 62px;}
  .premium-intro{border-radius:22px;padding:10px 15px;}
  .premium-home-actions{gap:10px;}
  .premium-button{width:100%;min-height:50px;}
}

/* ===== Barre de navigation sombre intégrée au Hero ===== */
.site-header{
  position:absolute;
  top:18px;
  left:50%;
  z-index:50;
  width:min(94vw,1640px);
  min-height:62px;
  padding:10px 22px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(8,14,9,.82),rgba(4,8,5,.68));
  box-shadow:0 18px 45px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(14px) saturate(1.12);
  -webkit-backdrop-filter:blur(14px) saturate(1.12);
}

.site-header .brand{
  color:#f5f8f2;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}

.site-header nav{
  align-items:center;
}

.site-header nav a{
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 10px rgba(0,0,0,.45);
  transition:color .2s ease,background .2s ease,transform .2s ease;
}

.site-header nav a:hover{
  color:#b7ed72;
  transform:translateY(-1px);
}

.site-header nav a[href="#interet"]{
  padding:9px 17px;
  border:1px solid rgba(151,211,77,.66);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(79,132,30,.96),rgba(48,93,18,.96));
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px rgba(20,62,12,.32);
}

@media(max-width:800px){
  .site-header{
    top:10px;
    width:calc(100% - 20px);
    min-height:54px;
    padding:8px 16px;
  }
  .site-header .brand{font-size:1.22rem}
}


/* ===== Cartes accueil : illustrations 3D ZifaFit ===== */
.discover-card {
  overflow: hidden;
}

.discover-card .card-icon.card-icon-3d {
  width: 100% !important;
  height: 165px !important;
  margin: 0 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}

.discover-card .card-icon.card-icon-3d img {
  display: block !important;
  width: auto !important;
  max-width: 94% !important;
  height: 155px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 15px 14px rgba(36, 71, 18, .20));
  transition: transform .28s ease, filter .28s ease;
}

.discover-card:hover .card-icon.card-icon-3d img {
  transform: translateY(-5px) scale(1.035);
  filter: drop-shadow(0 20px 18px rgba(36, 71, 18, .27));
}

.discover-card .number {
  z-index: 3;
}

@media (max-width: 800px) {
  .discover-card .card-icon.card-icon-3d {
    height: 145px !important;
  }

  .discover-card .card-icon.card-icon-3d img {
    height: 138px !important;
  }
}
