/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.0.1769458463
Updated: 2026-01-26 20:14:23

*/

/* mes modifications de thèmes */

.ast-site-header-cart-data .widgettitle {
    text-align: left;
    font-size: 1.2rem;
    padding-left: 1em;
    padding-top: 1em;
}

..brush-wave-45{
  position: relative;
  overflow: hidden;
}

/* Vague pinceau inclinee parfaitement */
.brush-wave-45::after{
  content:"";
  position:absolute;

  /* ANCRAGE EXACT */
  left: 0;
  bottom: 0;

  /* TAILLE LARGE pour couvrir la diagonale */
  width: 180%;
  height: 260px;

  /* Couleur de la section suivante */
  background: #ffffff;

  /* Masque SVG pinceau (brush wave) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200'%3E%3Cpath d='M0,120 C90,160 160,70 260,110 C360,150 430,60 520,105 C620,150 690,55 790,95 C890,135 960,45 1050,85 C1130,120 1170,70 1200,105 L1200,200 L0,200 Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  -webkit-mask-position: bottom left;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200'%3E%3Cpath d='M0,120 C90,160 160,70 260,110 C360,150 430,60 520,105 C620,150 690,55 790,95 C890,135 960,45 1050,85 C1130,120 1170,70 1200,105 L1200,200 L0,200 Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  mask-position: bottom left;

  /* INCLINAISON PRECISE */
  transform-origin: bottom left;
  transform: rotate(-45deg) translateY(40%);

  pointer-events:none;
}


/* Sécurise l'affichage du shape divider */
.diag-brush{
  position: relative !important;
}

.diag-brush .elementor-shape{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999 !important;
  pointer-events: none !important;
}

.diag-brush .elementor-shape-bottom{
  bottom: -1px !important;
  overflow: visible !important;
}

.diag-brush .elementor-shape-bottom svg{
  display: block !important;
}

/* Cache le titre WordPress (titre de page) sur toutes les pages */
.page .entry-title {
  display: none !important;
}

/* =========================
   WPForms #53 — look pro + compact (version clean)
   ========================= */

#wpforms-53{
  max-width: 900px;
}

/* Layout compact + 2 colonnes via .col-50 */
#wpforms-53 .wpforms-field-container{
  display:flex;
  flex-wrap:wrap;
  gap:14px 18px;
}

#wpforms-53 .wpforms-field{
  margin:0 !important;
  padding:0 !important;
  flex: 0 0 100%;
}

#wpforms-53 .wpforms-field.col-50{
  flex: 1 1 calc(50% - 9px);
  min-width: 240px;
}

/* Labels */
#wpforms-53 .wpforms-field-label{
  font-size:14px;
  font-weight:600;
  margin:0 0 6px !important;
  line-height:1.2;
  color:#222;
}

/* Inputs / select / textarea — style unique */
#wpforms-53 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select){
  width:100%;
  border:1px solid rgba(0,0,0,.18);
  border-radius:12px;
  background:#fff;
  padding:10px 12px;
  font-size:15px;
  line-height:1.2;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  box-sizing:border-box;
  color:#7B5BB7;                 /* même couleur que ton bouton */
  font-weight:500;
}

/* Placeholder */
#wpforms-53 :is(input, textarea)::placeholder{
  color: rgba(123, 91, 183, .45);
}

/* Focus */
#wpforms-53 :is(input, textarea, select):focus{
  outline:none;
  border-color: rgba(120, 90, 160, .55);
  box-shadow: 0 0 0 3px rgba(120, 90, 160, .15);
}

/* Textarea = 4 lignes (vrai confort) */
#wpforms-53 .wpforms-field-textarea textarea{
  min-height:120px !important;   /* ~4 lignes */
  line-height:1.4 !important;
  padding:12px 12px !important;
  resize:vertical;
}

/* Champ number : enlever les flèches (Chrome/Safari/Edge + Firefox) */
#wpforms-53 input[type="number"]{
  -moz-appearance:textfield;
  appearance:textfield;
}
#wpforms-53 input[type="number"]::-webkit-outer-spin-button,
#wpforms-53 input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Autofill (évite le jaune et garde la couleur du texte) */
#wpforms-53 :is(input, textarea):-webkit-autofill{
  -webkit-text-fill-color:#7B5BB7;
  transition: background-color 9999s ease-in-out 0s;
}

/* Bouton */
#wpforms-53 .wpforms-submit-container{
  margin-top:10px;
}

#wpforms-53 button[type="submit"]{
  border:none;
  border-radius:14px;
  padding:12px 18px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  background: linear-gradient(135deg, rgba(120,90,160,1), rgba(180,140,210,1));
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
  transition: transform .08s ease, box-shadow .2s ease, filter .2s ease;
}

#wpforms-53 button[type="submit"]:hover{
  filter:brightness(1.03);
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
#wpforms-53 button[type="submit"]:active{
  transform:translateY(1px);
}

/* Erreurs / requis */
#wpforms-53 label.wpforms-error{
  margin-top:6px;
  font-size:12px;
}
#wpforms-53 .wpforms-field-required{
  color:#d11;
}

/* Mobile : 1 colonne */
@media (max-width: 600px){
  #wpforms-53 .wpforms-field.col-50{
    flex:0 0 100%;
    min-width:0;
  }
  #wpforms-53 .wpforms-field-container{
    gap:12px;
  }
}



/*on reduit les marges */
/* ========== 1) Réduire l’espace sous le bouton (WPForms) ========== */

/* enlève le gros “vide” après le bouton */
#wpforms-53 .wpforms-submit-container{
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* certains thèmes ajoutent un margin au formulaire lui-même */
#wpforms-53{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* au cas où WPForms colle un dernier champ/clearfix avec marge */
#wpforms-53 .wpforms-field:last-of-type{
  margin-bottom: 0 !important;
}

/* ========== 2) Réduire le “blanc” sous les fleurs (section Elementor) ========== */
/* Mets ta section du bloc contact avec une classe CSS : contact-hero
   (Section > Avancé > Classes CSS) */
.contact-hero{
  padding-bottom: 1 !important;
  margin-bottom: 1 !important;
}

/* si tes colonnes ont du padding en bas */
.contact-hero > .elementor-container > .elementor-column > .elementor-widget-wrap{
  padding-bottom: 1 !important;
}

/* si tes “fleurs” sont des widgets Image dans les colonnes */
.contact-hero .elementor-widget-image{
  margin-bottom: 1 !important;
}
.contact-hero .elementor-widget-image img{
  display:block;               /* évite un mini espace “inline” */
}



/* Baisse le formulaire pour qu’il ne mange plus la vague */
.col-form-contact{
  padding-top: 50px !important;  /* ajuste 30 / 40 / 60 selon ton goût */
}

/* Fond semi-transparent pour laisser voir les fleurs derrière */
/* Colonne du formulaire en mode "glass" */
.form-glass{
  position: relative;
  overflow: hidden;
}

/* Le voile translucide */
.form-glass::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.60); /* ↓ passe à 0.50 ou 0.45 pour voir + de fleurs */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.55);
  border-radius: 18px;
  z-index: 0;
  pointer-events: none;
}




/* =========================
   GLASS + WPForms #53 (simple)
   ========================= */

/* Mets la class "form-glass" sur la COLONNE qui contient le shortcode */
.form-glass{
  position: relative;
  overflow: hidden;
  padding: 28px;
  border-radius: 22px;
  box-shadow: 0 14px 40px rgba(0,0,0,.06);
}

/* Le voile (c’est lui qui laisse voir les fleurs) */
.form-glass::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.25);   /* ← c’est ICI que tu règles */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 1;                           /* ← CRUCIAL */
  pointer-events: none;
}


/* Le contenu au-dessus du voile */
.form-glass > *{
  position: relative;
  z-index: 2;
}

/* IMPORTANT : on enlève tous les fonds "carton blanc" autour du form */
.form-glass,
.form-glass .elementor-widget-container,
.form-glass .elementor-shortcode,
.form-glass .e-con,
.form-glass .e-con-inner,
.form-glass .elementor-element-populated,
.form-glass .wpforms-container,
.form-glass .wpforms-container-full,
.form-glass form.wpforms-form,
.form-glass #wpforms-53,
.form-glass #wpforms-53 .wpforms-field-container,
.form-glass #wpforms-53 .wpforms-submit-container,
.form-glass #wpforms-53 .wpforms-field{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* On garde les champs bien lisibles */
.form-glass #wpforms-53 input,
.form-glass #wpforms-53 textarea,
.form-glass #wpforms-53 select{
  background: #fff !important;
}

/* Mobile */
@media (max-width: 768px){
  .form-glass{ padding: 18px; }
}




/* =========================
   TARIFS : CSS only (target) 
   ========================= */

/* 1) On cache tous les blocs tarifs */
.tarif-bloc{
  display: none !important;
}

/* 2) On affiche uniquement le bloc ciblé par l'ancre */
.tarif-bloc:target{
  display: block !important;
}

/* 3) Confort de scroll */
html{ scroll-behavior: smooth; }
.tarif-bloc:target{ scroll-margin-top: 120px; }

/* 4) Dans Elementor (éditeur), on ne cache pas sinon tu ne peux plus bosser */
.elementor-editor-active .tarif-bloc{
  display: block !important;
}

.tarif-bloc{
  background-color: #F3E6F5;
  border-radius: 22px;
  padding: 32px;
}



.tarif-bloc{
  background-color: #F3E6F5;
  border-radius: 22px;
  padding: 32px;
  margin-bottom: 40px; /* 👈 espace blanc sous le bloc */
}



/* =========================
   ACCUEIL : DETAILS (sans JS)
   ========================= */

/* Confort scroll */
html{ scroll-behavior: smooth; }

/* Cache tous les blocs */
.detail-bloc{
  display: none !important;
  background-color: #F3E6F5 !important;
  border-radius: 22px;
  padding: 32px;
  margin-bottom: 40px;
}

/* Affiche uniquement le bloc ciblé */
.detail-bloc:target{
  display: block !important;
  scroll-margin-top: 120px;
}

/* Dans Elementor (éditeur), on ne cache pas */
.elementor-editor-active .detail-bloc{
  display: block !important;
}


/* =========================
   Boutons : un seul "Fermer" visible (celui de la carte ouverte)
   ========================= */

/* Par défaut : on cache tous les boutons Fermer */
.accueil-cartes .btn-close{
  display: none !important;
}

/* Stress */
.accueil-cartes:has(#detail-stress:target) .btn-open-stress{ display:none !important; }
.accueil-cartes:has(#detail-stress:target) .btn-close-stress{ display:inline-block !important; }

/* Sommeil */
.accueil-cartes:has(#detail-sommeil:target) .btn-open-sommeil{ display:none !important; }
.accueil-cartes:has(#detail-sommeil:target) .btn-close-sommeil{ display:inline-block !important; }

/* Tabac */
.accueil-cartes:has(#detail-tabac:target) .btn-open-tabac{ display:none !important; }
.accueil-cartes:has(#detail-tabac:target) .btn-close-tabac{ display:inline-block !important; }

/* Équilibre */
.accueil-cartes:has(#detail-equilibre:target) .btn-open-equilibre{ display:none !important; }
.accueil-cartes:has(#detail-equilibre:target) .btn-close-equilibre{ display:inline-block !important; }

/* Trauma */
.accueil-cartes:has(#detail-trauma:target) .btn-open-trauma{ display:none !important; }
.accueil-cartes:has(#detail-trauma:target) .btn-close-trauma{ display:inline-block !important; }

/* =========================
   Boutons prise de rendez-vous
   ========================= */
.btn-itiaki { padding:0.8em; color:#ffffff; background:#c53678; border-radius:0.4em; }
.btn-itiaki:hover { background:#a7185a; color:#ffffff; }
