/*
Theme Name: FaisaSculpt
Theme URI: https://faisasculpt.fr
Author: FaisaSculpt
Author URI: https://faisasculpt.fr
Description: Thème WordPress premium, féminin et modulable pour un institut de madérothérapie, drainage lymphatique et soins du visage. Chaque section (Header, Hero, Présentation, Soins, Avantages, Avant/Après, Témoignages, Galerie, FAQ, CTA, Footer) est un composant indépendant, entièrement personnalisable depuis l'administration WordPress (Personnaliser + types de contenu dédiés), sans aucune connaissance en code.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: faisasculpt
Tags: custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, one-column

FaisaSculpt est un thème "sur-mesure" pensé pour être piloté entièrement
depuis l'administration WordPress : Personnaliseur (couleurs, polices,
contact, réseaux sociaux, textes des sections uniques) + types de contenu
dédiés (Soins, Avantages, Avant/Après, Témoignages, Galerie, FAQ) pour tout
le contenu qui doit pouvoir être ajouté/supprimé librement.

Le CSS ci-dessous ne contient que la réinitialisation de base et les
"design tokens" (variables globales). Le reste des styles est chargé par
section indépendante depuis /assets/css/ (voir functions.php).
*/

/* =========================================================
   1. DESIGN TOKENS — VARIABLES GLOBALES
   Modifier les couleurs / polices / arrondis du site = modifier
   ces variables (ou, plus simple : Personnaliser > Couleurs & Style).
   Ces valeurs par défaut sont ré-écrites dynamiquement par
   inc/customizer-css.php selon les réglages choisis dans le Personnaliseur.
   ========================================================= */
:root{
    /* Couleurs de marque */
    --fs-color-primary:      #b98461;   /* rosé-cuivré principal (boutons, accents) */
    --fs-color-primary-dark: #9c6a49;   /* variante foncée (hover) */
    --fs-color-secondary:    #d9a892;   /* rose poudré secondaire */
    --fs-color-accent:       #c48a6b;   /* accent chaleureux (icônes, liens) */
    --fs-color-text:         #4a3a32;   /* texte principal (brun doux) */
    --fs-color-text-light:   #7a685f;   /* texte secondaire / paragraphes */
    --fs-color-bg:           #ffffff;   /* fond principal */
    --fs-color-bg-soft:      #fbf3ee;   /* fond section alterné (beige rosé très clair) */
    --fs-color-bg-dark:      #3d2c24;   /* fond footer / sections foncées */
    --fs-color-border:       #ecd9cd;   /* bordures douces */
    --fs-color-white:        #ffffff;
    --fs-color-star:         #d79a5a;   /* couleur des étoiles témoignages */

    /* Typographies */
    --fs-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --fs-font-body: 'Poppins', 'Segoe UI', Helvetica, Arial, sans-serif;
    --fs-font-script: 'Great Vibes', 'Brush Script MT', cursive;

    /* Échelle typographique */
    --fs-text-base: 16px;
    --fs-text-sm: 0.9rem;
    --fs-text-lg: 1.15rem;
    --fs-h1: clamp(2.1rem, 4.5vw, 3.4rem);
    --fs-h2: clamp(1.7rem, 3.2vw, 2.5rem);
    --fs-h3: 1.3rem;

    /* Espacements */
    --fs-space-xs: 0.5rem;
    --fs-space-sm: 1rem;
    --fs-space-md: 1.75rem;
    --fs-space-lg: 3rem;
    --fs-space-xl: 5.5rem;
    --fs-container-width: 1180px;

    /* Formes */
    --fs-radius-sm: 8px;
    --fs-radius-md: 16px;
    --fs-radius-lg: 28px;
    --fs-radius-pill: 999px;

    /* Ombres */
    --fs-shadow-sm: 0 2px 10px rgba(74, 58, 50, 0.06);
    --fs-shadow-md: 0 10px 30px rgba(74, 58, 50, 0.10);
    --fs-shadow-lg: 0 20px 50px rgba(74, 58, 50, 0.14);

    /* Boutons */
    --fs-btn-radius: var(--fs-radius-pill);
}

/* =========================================================
   2. RESET DE BASE
   ========================================================= */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
    margin:0;
    font-family:var(--fs-font-body);
    font-size:var(--fs-text-base);
    line-height:1.7;
    color:var(--fs-color-text);
    background:var(--fs-color-bg);
    -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{
    font-family:var(--fs-font-heading);
    color:var(--fs-color-text);
    line-height:1.2;
    margin:0 0 var(--fs-space-sm);
    font-weight:600;
}
p{ margin:0 0 var(--fs-space-sm); }
.screen-reader-text{
    position:absolute !important;
    clip:rect(1px,1px,1px,1px);
    width:1px;height:1px;overflow:hidden;
}

/* =========================================================
   3. GABARIT COMMUN (utilisé par toutes les sections)
   ========================================================= */
.fs-container{
    width:100%;
    max-width:var(--fs-container-width);
    margin:0 auto;
    padding:0 var(--fs-space-md);
}
.fs-section{ padding:var(--fs-space-xl) 0; }
.fs-section--soft{ background:var(--fs-color-bg-soft); }
.fs-section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto var(--fs-space-lg);
}
.fs-eyebrow{
    display:inline-block;
    font-family:var(--fs-font-script);
    font-size:1.6rem;
    color:var(--fs-color-primary);
    margin-bottom:.25rem;
}
.fs-section-head h2{ font-size:var(--fs-h2); }
.fs-section-head p{ color:var(--fs-color-text-light); }

/* Boutons génériques (couleurs/rayons pilotés par les variables) */
.fs-btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.9rem 1.8rem;
    border-radius:var(--fs-btn-radius);
    font-weight:600;
    font-size:.95rem;
    letter-spacing:.02em;
    border:2px solid transparent;
    transition:all .25s ease;
    white-space:nowrap;
}
.fs-btn svg{ width:1.1em; height:1.1em; flex:none; }
.fs-btn--primary{
    background:var(--fs-color-primary);
    color:var(--fs-color-white);
    box-shadow:var(--fs-shadow-sm);
}
.fs-btn--primary:hover{
    background:var(--fs-color-primary-dark);
    transform:translateY(-2px);
    box-shadow:var(--fs-shadow-md);
}
.fs-btn--outline{
    background:transparent;
    border-color:var(--fs-color-primary);
    color:var(--fs-color-primary);
}
.fs-btn--outline:hover{
    background:var(--fs-color-primary);
    color:var(--fs-color-white);
}
.fs-btn--light{
    background:var(--fs-color-white);
    color:var(--fs-color-primary);
}
.fs-btn--light:hover{ transform:translateY(-2px); box-shadow:var(--fs-shadow-md); }

.fs-icon-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.4rem;
    height:2.4rem;
    border-radius:50%;
    background:var(--fs-color-bg-soft);
    color:var(--fs-color-primary);
    transition:all .25s ease;
    flex:none;
}
.fs-icon-btn svg{ width:1.15rem; height:1.15rem; }
.fs-icon-btn:hover{ background:var(--fs-color-primary); color:var(--fs-color-white); transform:translateY(-2px); }

/* Placeholder d'image "à remplacer" — voir inc/helpers.php */
.fs-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--fs-color-bg-soft),var(--fs-color-border));
    color:var(--fs-color-primary);
    border-radius:inherit;
    width:100%;
    height:100%;
}

/* WhatsApp flottant mobile (optionnel, voir footer-content.php) */
.fs-whatsapp-float{
    position:fixed;
    bottom:18px;
    right:18px;
    z-index:999;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--fs-shadow-lg);
}
.fs-whatsapp-float svg{ width:28px; height:28px; }

@media (max-width: 782px){
    :root{ --fs-space-xl: 3.25rem; --fs-space-lg: 2.25rem; }
}
