/* Importer des polices élégantes et mystiques depuis Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Lora:ital,wght@0,400;0,500;1,400&display=swap');

/* Styles Généraux */
body {
font-family: 'Lora', Georgia, serif; /* Police de texte littéraire et douce */
margin: 0;
padding: 0;
box-sizing: border-box;
background-color: #faf6f0; /* Beige sable très doux et apaisant */
color: #4a3e3d; /* Texte marron/taupe très doux pour les yeux */
line-height: 1.8;
}

/* En-tête / Navigation */
header {
background-color: #ffffff; /* Fond blanc lumineux */
color: #4a3e3d;
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 50px;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 15px rgba(143, 122, 102, 0.05); /* Ombre très légère */
border-bottom: 1px solid #eae1d4;
}

header.logo {
font-family: 'Cinzel', serif; /* Police style grimoire / cartes de tarot */
font-size: 1.4rem;
font-weight: 600;
color: #c5a880; /* Or brossé délicat */
letter-spacing: 1px;
}

nav a {
color: #6e5d5c;
text-decoration: none;
margin-left: 25px;
font-weight: 500;
font-size: 0.95rem;
transition: color 0.3s ease;
}

nav a:hover {
color: #c5a880; /* Or brossé au survol */
}

/* Section d'accueil (Hero) */
.hero {
/* Superposition d'un voile beige lumineux sur une magnifique image florale zen */
background: linear-gradient(rgba(250, 246, 240, 0.85), rgba(250, 246, 240, 0.85)),
url('https://images.unsplash.com/photo-1518531933037-91b2f5f229cc?q=80&w=1200') no-repeat center center/cover;
height: 70vh;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
color: #4a3e3d;
padding: 0 20px;
border-bottom: 1px solid #eae1d4;
}

.hero h1 {
font-family: 'Cinzel', serif;
font-size: 3rem;
margin-bottom: 20px;
color: #8f7a66; /* Doré/Taupe mat */
letter-spacing: 2px;
}

.hero p {
font-size: 1.2rem;
max-width: 650px;
margin: 0 auto 35px auto;
font-style: italic;
color: #6e5d5c;
}

/* Boutons */
.btn {
background-color: #c5a880; /* Or brossé */
color: #ffffff;
padding: 14px 35px;
border: none;
text-decoration: none;
font-family: 'Cinzel', serif;
font-size: 0.85rem;
font-weight: bold;
letter-spacing: 1px;
border-radius: 30px;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(197, 168, 128, 0.2);
display: inline-block;
}

.btn:hover {
background-color: #8f7a66;
box-shadow: 0 6px 15px rgba(143, 122, 102, 0.3);
transform: translateY(-2px); /* Léger effet de lévitation au survol */
}

/* Sections Prestations & Contact */
#services, #contact {
padding: 90px 20px;
max-width: 1100px;
margin: 0 auto;
text-align: center;
}

h2 {
font-family: 'Cinzel', serif;
color: #8f7a66;
font-size: 2.2rem;
margin-bottom: 15px;
letter-spacing: 1px;
}

/* Grille de cartes */
.services-grid {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
margin-top: 50px;
}

/* Cartes effet verre poli ("Glassmorphism" doux et lumineux) */
.card {
background: rgba(255, 255, 255, 0.65);
backdrop-filter: blur(10px); /* Effet flou sous la carte */
-webkit-backdrop-filter: blur(10px);
padding: 45px 30px;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(143, 122, 102, 0.04);
width: 280px;
border: 1px solid rgba(255, 255, 255, 0.8);
border-top: 4px solid #c5a880; /* Fine bordure supérieure dorée */
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 35px rgba(143, 122, 102, 0.1);
}

.card h3 {
font-family: 'Cinzel', serif;
color: #8f7a66;
font-size: 1.25rem;
margin-bottom: 15px;
}

.card p {
font-size: 0.95rem;
color: #6e5d5c;
}

/* Formulaire de Contact */
form {
display: flex;
flex-direction: column;
max-width: 500px;
margin: 40px auto 0 auto;
gap: 20px;
}

form input, form textarea {
padding: 16px;
border: 1px solid #eae1d4;
background-color: #ffffff;
border-radius: 8px;
font-size: 0.95rem;
font-family: 'Lora', Georgia, serif;
color: #4a3e3d;
transition: border 0.3s ease;
}

form input:focus, form textarea:focus {
outline: none;
border: 1px solid #c5a880; /* La bordure s'illumine en doré au clic */
}

/* Pied de page */
footer {
background-color: #f3eae0; /* Rappel beige un peu plus chaud */
color: #8f7a66;
text-align: center;
padding: 35px;
margin-top: 80px;
border-top: 1px solid #eae1d4;
font-family: 'Lora', Georgia, serif;
font-size: 0.9rem;
}

.hidden {
display: none;
}

.success-message {
color: #8f7a66;
margin-top: 20px;
font-weight: bold;
font-style: italic;
}
/* Style pour l'affichage des Tarifs */
.tarif {
font-family: 'Cinzel', serif;
font-size: 1.6rem;
color: #c5a880; /* Superbe Or brossé */
font-weight: bold;
margin: 10px 0;
}
.duree {
font-family: 'Lora', Georgia, serif;
font-size: 0.9rem;
color: #6e5d5c;
font-weight: normal;
}