/*
Theme Name: FioreVita Astra Child Final
Theme URI: https://fiorevita.ch/
Description: Thème enfant Astra premium pour FioreVita.
Author: OpenAI
Template: astra
Version: 1.0.0
Text Domain: fiorevita-astra-child-final
*/

:root{
  --fv-sage:#8FA08D;
  --fv-sage-dark:#738070;
  --fv-cream:#F7F2EC;
  --fv-sand:#E8DED2;
  --fv-text:#3B3836;
  --fv-gold:#C8A770;
  --fv-white:#FFFFFF;
  --fv-shadow:0 12px 30px rgba(59,56,54,.08);
  --fv-radius:18px;
}

body{
  color:var(--fv-text);
}

h1,h2,h3,h4,h5,h6,
.entry-title,
.site-title{
  letter-spacing:.01em;
}

.site-header-primary-section-left .custom-logo-link img{
  max-height:96px;
}

.fv-hero{
  background:linear-gradient(rgba(59,56,54,.28), rgba(59,56,54,.28)), url('../assets/fiorevita-homepage-premium.png') center/cover no-repeat;
  border-radius: 0 0 28px 28px;
  padding: 110px 24px;
  color:#fff;
  text-align:center;
  overflow:hidden;
}

.fv-hero h1{
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  color:#fff;
  margin-bottom:10px;
}

.fv-hero p{
  max-width:760px;
  margin:0 auto 22px;
  font-size:1.1rem;
}

.fv-grid{
  display:grid;
  gap:28px;
}
.fv-grid-3{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.fv-grid-2{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
@media(max-width:921px){
  .fv-grid-3,.fv-grid-2{grid-template-columns:1fr;}
  .fv-hero{padding:82px 18px;}
}

.fv-card{
  background:var(--fv-white);
  border:1px solid rgba(59,56,54,.08);
  border-radius:var(--fv-radius);
  box-shadow:var(--fv-shadow);
  padding:28px;
  height:100%;
}

.fv-card h3{
  margin-top:0;
}

.fv-section{
  padding: 24px 0;
}

.fv-section-title{
  text-align:center;
  margin-bottom:26px;
}

.fv-kicker{
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--fv-gold);
  font-size:.82rem;
  margin-bottom:10px;
  font-weight:700;
}

.fv-btn,
.wp-block-button__link,
.fv-booking-button a{
  background:var(--fv-sage);
  color:#fff !important;
  border-radius:10px;
  padding:14px 24px;
  display:inline-block;
  text-decoration:none;
  font-weight:700;
  box-shadow:var(--fv-shadow);
}

.fv-btn.alt{
  background:#fff;
  color:var(--fv-text) !important;
}

.fv-pricing{
  list-style:none;
  margin:16px 0 0;
  padding:0;
}
.fv-pricing li{
  padding:8px 0;
  border-bottom:1px solid rgba(59,56,54,.08);
}

.fv-benefits{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  text-align:center;
}
@media(max-width:921px){
  .fv-benefits{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media(max-width:544px){
  .fv-benefits{grid-template-columns:1fr;}
}

.fv-benefit{
  padding:20px;
  border-radius:var(--fv-radius);
  background:rgba(255,255,255,.7);
  border:1px solid rgba(59,56,54,.08);
}

.fv-review{
  font-style:italic;
}
.fv-stars{
  color:var(--fv-gold);
  letter-spacing:.18em;
  font-size:1.1rem;
}

.fv-banner{
  background:linear-gradient(180deg, rgba(247,242,236,.92), rgba(232,222,210,.96));
  padding:42px 24px;
  border-radius:var(--fv-radius);
  text-align:center;
  box-shadow:var(--fv-shadow);
}

.fv-muted{
  color:#6d6762;
}

footer .ast-builder-layout-element,
.site-footer{
  font-size:.95rem;
}

/* Gutenberg spacing polish */
.wp-block-group.is-style-fv-section,
.wp-block-cover.is-style-fv-section{
  border-radius:var(--fv-radius);
  overflow:hidden;
}

