/* ================= HERO CHANT ================= */

/* STRUCTURE */

.hero.chant-hero{
position:relative;

min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

padding:120px 20px 0;

text-align:center;

background:linear-gradient(180deg,#ffffff,#F2FAFB);

overflow:hidden;
}

.hero-content{
max-width:700px;

display:flex;
flex-direction:column;
align-items:center;

gap:24px;

z-index:2;
}

.hero-title{
font-size:64px;
line-height:1.1;
letter-spacing:-1px;
margin:0;
color:var(--texte);
}

.hero-accent{
font-family:'Pacifico', cursive;
color:var(--bleu);
}

.hero-description{
font-size:20px;
line-height:1.6;
color:#666;
max-width:480px;
margin:0;
}

.hero.chant-hero .cta-main{
margin-top:10px;
padding:16px 34px;
}

.chant-section{
padding:100px 20px;
}

.chant-section.light{
background:#fafafa;
}

.chant-container{
max-width:1100px;
margin:auto;
display:flex;
align-items:center;
gap:50px;
}

.chant-container.reverse{
flex-direction:row-reverse;
}

.chant-text{
flex:1;
max-width:500px;
}

.chant-image{
flex:1;
}

.chant-image img{
width:100%;
border-radius:25px;
object-fit:cover;
box-shadow:0 20px 60px rgba(0,0,0,0.08);
}

/* TITRES */

.chant-text h2{
font-size:44px;
line-height:1.2;
margin-bottom:20px;
}

.chant-text h2 span{
font-style:italic;
color:var(--violet);
}

/* TEXTE */

.chant-text p{
margin-bottom:20px;
font-size:17px;
line-height:1.8;
color:#555;
}
/* ================= PRICING HERO ================= */

.chant-pricing{
padding:100px 20px;
display:flex;
justify-content:center;
}

/* GROS CONTAINER */
.pricing-wrapper{
max-width:1100px;
width:100%;
padding:80px;
border-radius:40px;

display:flex;
justify-content:space-between;
align-items:center;
gap:80px;

/* DÉGRADÉ DOUX MAIS PRÉSENT */
background:linear-gradient(
135deg,
rgba(126,202,211,0.25),
rgba(183,123,203,0.25)
);

/* profondeur */
box-shadow:0 40px 100px rgba(0,0,0,0.08);
}

/* ================= LEFT ================= */

.pricing-left{
max-width:420px;
}

.pricing-kicker{
font-size:12px;
letter-spacing:2px;
text-transform:uppercase;
color:#666;
margin-bottom:15px;
}

/* TITRE IMPACT */
.pricing-left h2{
font-size:56px;
line-height:1.1;
margin-bottom:20px;
}

.pricing-left h2 span{
font-style:italic;
}

/* TEXTE */
.pricing-desc{
font-size:17px;
color:#555;
margin-bottom:35px;
line-height:1.6;
}

/* ================= RIGHT ================= */

.pricing-right{
flex:1;
display:flex;
justify-content:center;
}

/* CARTE */
.price-card{
padding:50px 40px;
border-radius:30px;

background:white;

box-shadow:0 20px 60px rgba(0,0,0,0.08);
text-align:center;

min-width:280px;
}

/* PRIX */
.price-main{
font-size:64px; /* plus gros */
letter-spacing:-1px;
}

.price-main span{
font-size:18px;
opacity:0.6;
}

/* secondaire */
.price-secondary{
color:#666;
margin-bottom:25px;
}

/* divider */
.divider{
width:30px;
height:1px;
background:#ddd;
margin:25px auto;
}

/* localisation */
.location{
font-size:14px;
color:#777;
}

.price-card .cta-main{
margin-top:30px;
}

/* ================= CTA ================= */

.cta-main{
display:inline-block;
background:linear-gradient(135deg,#7ECAD3,#6FC3CD);
padding:16px 36px;
border-radius:40px;
color:white;
text-decoration:none;
font-weight:600;
transition:0.3s;
}

.cta-main:hover{
transform:translateY(-3px);
}

/* CTA */

.chant-cta{
padding:140px 20px;
display:flex;
justify-content:center;
align-items:center;

/* dégradé ULTRA doux */
background:linear-gradient(
135deg,
rgba(126, 202, 211, 0.15),
rgba(183, 123, 203, 0.12)
);

/* fond blanc derrière */
background-color:#fafafa;
}

/* container subtil */
.cta-box{
max-width:700px;
padding:80px 70px;
border-radius:40px;

/* BLANC légèrement teinté */
background:rgba(255,255,255,0.7);

/* flou très léger */
backdrop-filter:blur(6px);

border:1px solid rgba(0,0,0,0.04);

box-shadow:0 20px 60px rgba(0,0,0,0.04);
text-align:center;
}

/* kicker */
.cta-kicker{
font-size:12px;
letter-spacing:2px;
text-transform:uppercase;
color:#888;
margin-bottom:20px;
font-family:'Manrope', sans-serif;
}

/* titre */
.cta-box h2{
font-family:'Cormorant Garamond', serif;
font-size:44px;
line-height:1.2;
color:#2f2f2f;
margin-bottom:25px;
}

/* subtil contraste */
.cta-box h2 span{
font-style:italic;
opacity:0.8;
}

/* texte */
.cta-description{
color:#666;
font-size:17px;
margin-bottom:35px;
line-height:1.6;
}

/* CTA élégant */
.cta-link{
font-size:17px;
color:#444;
text-decoration:none;
position:relative;
}

/* underline fin */
.cta-link::after{
content:"";
position:absolute;
left:0;
bottom:-4px;
width:0%;
height:1px;
background:#444;
transition:0.3s ease;
}

.cta-link:hover::after{
width:100%;
}

/* ===== TARIFS PREMIUM ===== */

.chant-pricing{
padding:180px 20px;
display:flex;
justify-content:center;
}

.pricing-wrapper{
padding:80px 40px;
border-radius:30px;

background:linear-gradient(
180deg,
rgba(255,255,255,0.7),
rgba(255,255,255,0.4)
);

backdrop-filter:blur(10px);

border:1px solid rgba(0,0,0,0.05);

box-shadow:none;
}

.pricing-left{
max-width:600px;
}

.pricing-left h2{
font-size:52px;
line-height:1.1;
margin-bottom:20px;
}

.pricing-desc{
font-size:18px;
color:#555;
margin-bottom:40px;
}

/* carte prix */

.price-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:4px;

background:linear-gradient(
90deg,
#7ECAD3,
#B77BCB
);
}

.price-card{
background:white;
padding:50px 40px;
border-radius:24px;

border:1px solid rgba(0,0,0,0.05);

box-shadow:none;

position:relative;
overflow:hidden;
}

.price-main{
font-size:56px;
font-family:'Cormorant Garamond', serif;
margin-bottom:10px;
}

.price-secondary{
font-size:16px;
color:#777;
margin-bottom:30px;
}

.location{
font-size:14px;
color:#777;
margin-top:20px;
}

/* ===== CTA PLUS LARGE ===== */

.cta-main.large{
display:inline-block;
width:100%;
max-width:400px;
padding:18px 0;
font-size:16px;
border-radius:40px;
}

/* ================= RESPONSIVE MOBILE ================= */
 
@media (max-width:768px){
 
  /* HERO */
  .hero.chant-hero{
    padding:120px 20px 60px;
    min-height:auto;
  }
 
  .hero-title{
    font-size:38px;
    letter-spacing:-0.5px;
  }
 
  .hero-description{
    font-size:16px;
  }
 
  .hero.chant-hero .cta-main{
    width:100%;
    max-width:280px;
    text-align:center;
  }
 
  /* SECTIONS CHANT */
  .chant-section{
    padding:60px 20px;
  }
 
  .chant-container,
  .chant-container.reverse{
    flex-direction:column;
    gap:30px;
    text-align:center;
  }
 
  .chant-text{
    max-width:100%;
  }
 
  .chant-text h2{
    font-size:30px;
  }
 
  .chant-text p{
    font-size:16px;
  }
 
  .chant-image img{
    border-radius:16px;
  }
 
  /* PRICING */
  .chant-pricing{
    padding:60px 20px;
  }
 
  .pricing-wrapper{
    flex-direction:column;
    padding:36px 24px;
    gap:36px;
    border-radius:20px;
  }
 
  .pricing-left{
    max-width:100%;
    text-align:center;
  }
 
  .pricing-left h2{
    font-size:34px;
  }
 
  .pricing-desc{
    font-size:16px;
  }
 
  .pricing-right{
    width:100%;
  }
 
  .price-card{
    width:100%;
    min-width:unset;
    padding:36px 24px;
  }
 
  .price-main{
    font-size:48px;
  }
 
  .cta-main.large{
    max-width:100%;
  }
 
  /* CTA SECTION */
  .chant-cta{
    padding:60px 20px;
  }
 
  .cta-box{
    padding:40px 24px;
    border-radius:24px;
  }
 
  .cta-box h2{
    font-size:30px;
  }
 
  .cta-description{
    font-size:15px;
  }
}