/* =========================================
   ANNA GUART – AUTRES PAGES
========================================= */
.anna-cookie-btn {
  background: linear-gradient(90deg, #ff6ec4, #c15eff);
  border-radius: 30px !important;
  padding: 10px 22px !important;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(193,94,255,0.4);
  border: none !important;
  color: white !important;
}

.rounded-gallery img,
.rounded-gallery figure,
.rounded-gallery figure img { border-radius: 25px !important; }

/* =========================================
   SUPPRESSION ESPACES THÈME FSE ET GUTENBERG
========================================= */
main.wp-block-group,
.wp-block-group.is-layout-flow {
  padding-block-start: 0 !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
}

.wp-block-post-content,
.entry-content,
.wp-block-group__inner-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

header div.wp-block-buttons.is-layout-flex {
  display: none !important;
}

.wp-block-html {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 0 !important;
}

.wp-block-post-content,
.wp-block-post-content > .wp-block-html,
.entry-content > .wp-block-html {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-post-content > * + * {
  margin-block-start: 0 !important;
}

:root {
  --wp--style--block-gap: 0px !important;
  --wp--preset--spacing--20: 0px !important;
  --wp--preset--spacing--30: 0px !important;
}

header nav ul,
header .wp-block-navigation__container {
  gap: 32px !important;
}

/* =========================================
   BREAKOUT PLEINE LARGEUR — CSS PUR
========================================= */
.ag-hero-section,
.ag-univers-section,
.ag-why-section,
.ag-gallery-section,
.ag-reviews-section,
.ag-formules-section {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

/* =========================================
   MODAL CERTIFICAT
========================================= */
#ag-cert-modal,
.ag-cert-modal {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(20,5,40,0.85) !important;
  backdrop-filter: blur(6px) !important;
  z-index: 99999 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}
#ag-cert-modal.open,
.ag-cert-modal.open { display: flex !important; }
.ag-cert-modal-inner {
  position: relative !important;
  max-width: 700px !important;
  width: 100% !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 80px rgba(0,0,0,0.4) !important;
}
.ag-cert-modal-inner img { width: 100% !important; height: auto !important; display: block !important; }
.ag-cert-close {
  position: absolute !important;
  top: 12px !important; right: 12px !important;
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.9) !important;
  border: none !important; cursor: pointer !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: #1a0a2e !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}

/* =========================================
   HERO
========================================= */
.ag-hero-section {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background-image: url('https://annaguart.fr/wp-content/uploads/2026/01/88aaaf67-dfeb-4468-a65d-afe1d2209cdb.png') !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  padding: 0 !important;
}
.ag-hero-overlay {
  position: absolute !important; inset: 0 !important; z-index: 1 !important;
  background: linear-gradient(105deg, rgba(26,10,46,0.80) 0%, rgba(26,10,46,0.50) 40%, rgba(26,10,46,0.05) 100%) !important;
}
.ag-hero-content {
  position: relative !important; z-index: 2 !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 40px 40px 60px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.ag-hero-label {
  display: inline-block !important;
  font-size: 11px !important; letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
  font-weight: 500 !important; margin-bottom: 20px !important;
}
.ag-hero-title {
  font-size: clamp(42px, 7vw, 82px) !important;
  font-weight: 800 !important; color: #ffffff !important;
  margin: 0 0 16px !important; line-height: 1.05 !important; max-width: 680px !important;
}
.ag-hero-subtitle {
  font-size: clamp(22px, 3.5vw, 36px) !important;
  font-weight: 600 !important; margin: 0 0 20px !important;
  line-height: 1.25 !important; max-width: 580px !important;
  background: linear-gradient(135deg, #ff8fbf, #caa8ff, #7fdde0) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.ag-hero-desc {
  font-size: clamp(14px, 1.8vw, 17px) !important;
  color: rgba(255,255,255,0.75) !important;
  margin: 0 0 40px !important; line-height: 1.6 !important;
  max-width: 480px !important; font-style: italic !important;
}
.ag-hero-buttons { display: flex !important; gap: 16px !important; flex-wrap: wrap !important; align-items: center !important; }
.ag-hero-btn-primary {
  display: inline-flex !important; align-items: center !important; gap: 10px !important;
  padding: 16px 36px !important; border-radius: 50px !important;
  background: linear-gradient(135deg, #ff8fbf, #c850c0) !important;
  color: white !important; font-size: 15px !important; font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 30px rgba(200,80,192,0.45) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.ag-hero-btn-primary:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 40px rgba(200,80,192,0.65) !important;
  color: white !important;
}
.ag-hero-trust { display: flex !important; gap: 12px !important; margin-top: 48px !important; flex-wrap: wrap !important; }
.ag-trust-badge {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  background: rgba(255,255,255,0.12) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 50px !important; padding: 7px 16px !important;
  font-size: 12px !important; color: rgba(255,255,255,0.85) !important; font-weight: 500 !important;
}
.ag-trust-dot {
  width: 6px !important; height: 6px !important; border-radius: 50% !important;
  background: linear-gradient(135deg, #ff8fbf, #caa8ff) !important;
  flex-shrink: 0 !important; display: inline-block !important;
}

/* =========================================
   OCCASIONS
========================================= */
.ag-univers-section { padding: 80px 20px 0px !important; background: #ffffff !important; overflow: hidden !important; }
.ag-univers-inner {
  max-width: 1100px !important; margin: 0 auto !important;
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 60px !important; align-items: center !important;
}
.ag-univers-photo-col {
  position: relative !important; display: flex !important;
  align-items: flex-end !important; justify-content: center !important;
  min-height: 520px !important;
}
.ag-univers-photo-bg {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(160deg, rgba(255,143,191,0.12) 0%, rgba(202,168,255,0.15) 50%, rgba(127,221,224,0.12) 100%) !important;
  border-radius: 32px !important; z-index: 0 !important;
}
.ag-univers-photo-col img {
  position: relative !important; z-index: 1 !important;
  width: 100% !important; max-width: 420px !important;
  height: 520px !important; object-fit: contain !important;
  object-position: bottom center !important; display: block !important;
}
.ag-univers-content-col { display: flex !important; flex-direction: column !important; gap: 28px !important; }
.ag-univers-label { font-size: 11px !important; letter-spacing: 4px !important; text-transform: uppercase !important; color: #c850c0 !important; font-weight: 500 !important; display: block !important; }
.ag-univers-title { font-size: clamp(26px, 3vw, 38px) !important; font-weight: 800 !important; color: #1a0a2e !important; margin: 0 !important; line-height: 1.2 !important; }
.ag-univers-title span { background: linear-gradient(135deg, #ff8fbf, #caa8ff, #7fdde0) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; }
.ag-univers-events { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.ag-univers-event {
  display: flex !important; align-items: center !important; gap: 10px !important;
  background: linear-gradient(135deg, rgba(255,143,191,0.08), rgba(202,168,255,0.12)) !important;
  border: 1px solid rgba(202,168,255,0.25) !important;
  border-radius: 12px !important; padding: 12px 14px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.ag-univers-event:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(180,100,200,0.1) !important; }
.ag-univers-event-icon { width: 32px !important; height: 32px !important; border-radius: 9px !important; background: linear-gradient(135deg, #ff8fbf, #caa8ff) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 15px !important; flex-shrink: 0 !important; }
.ag-univers-event-label { font-size: 13px !important; font-weight: 600 !important; color: #1a0a2e !important; line-height: 1.3 !important; }
.ag-univers-location { background: linear-gradient(135deg, rgba(255,143,191,0.08), rgba(202,168,255,0.12)) !important; border: 1px solid rgba(202,168,255,0.25) !important; border-radius: 14px !important; padding: 16px 20px !important; font-size: 14px !important; color: #444 !important; line-height: 1.6 !important; }
.ag-univers-cta {
  display: inline-flex !important; align-items: center !important; gap: 10px !important;
  padding: 15px 34px !important; border-radius: 50px !important;
  background: linear-gradient(135deg, #ff8fbf, #c850c0) !important;
  color: white !important; font-size: 15px !important; font-weight: 700 !important;
  text-decoration: none !important; box-shadow: 0 8px 30px rgba(200,80,192,0.35) !important;
  align-self: flex-start !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.ag-univers-cta:hover { transform: translateY(-3px) !important; box-shadow: 0 14px 40px rgba(200,80,192,0.5) !important; color: white !important; }

/* =========================================
   POURQUOI
========================================= */
.ag-why-section {
  padding: 50px 20px 0px !important;
  background: linear-gradient(160deg, #ff8fbf 0%, #f6a6a1 20%, #caa8ff 45%, #7fdde0 70%, #7b9dff 100%) !important;
  overflow: hidden !important;
}
.ag-why-section::before {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.70) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255,255,255,0.40) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255,255,255,0.50) 1px, transparent 1.5px) !important;
  background-size: 137px 97px, 89px 67px, 113px 79px !important;
  background-position: 23px 31px, 54px 12px, 71px 58px !important;
  pointer-events: none !important; z-index: 0 !important;
}
.ag-why-inner { position: relative !important; z-index: 1 !important; max-width: 1100px !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; gap: 20px !important; }
.ag-why-header { text-align: center !important; }
.ag-why-label { font-size: 11px !important; letter-spacing: 4px !important; text-transform: uppercase !important; color: rgba(255,255,255,0.85) !important; margin-bottom: 8px !important; display: block !important; font-weight: 500 !important; }
.ag-why-title { font-size: clamp(26px, 3.5vw, 36px) !important; font-weight: 800 !important; color: #ffffff !important; margin: 0 !important; line-height: 1.15 !important; text-shadow: 0 2px 20px rgba(80,20,120,0.2) !important; }
.ag-why-intro { background: rgba(255,255,255,0.25) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(255,255,255,0.4) !important; border-radius: 18px !important; padding: 20px 28px !important; font-size: 15px !important; color: rgba(30,10,60,0.9) !important; line-height: 1.7 !important; box-sizing: border-box !important; }
.ag-why-intro strong { color: #1a0a2e !important; }
.ag-why-row-bottom { display: grid !important; grid-template-columns: 190px 1fr !important; gap: 20px !important; align-items: stretch !important; }
.ag-why-badge-wrap { background: rgba(255,255,255,0.25) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(255,255,255,0.45) !important; border-radius: 18px !important; padding: 20px 16px !important; text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 10px !important; }
.ag-why-badge-caption { font-size: 12px !important; color: rgba(255,255,255,0.95) !important; font-weight: 700 !important; line-height: 1.4 !important; }
.ag-why-badge-caption span { display: block !important; font-size: 10px !important; font-weight: 400 !important; color: rgba(255,255,255,0.75) !important; margin-top: 2px !important; }
.ag-badge-verify { display: block !important; font-size: 11px !important; font-weight: 600 !important; color: rgba(255,255,255,0.9) !important; text-decoration: none !important; border: 1px solid rgba(255,255,255,0.5) !important; border-radius: 20px !important; padding: 5px 10px !important; background: rgba(255,255,255,0.15) !important; width: 100% !important; box-sizing: border-box !important; cursor: pointer !important; text-align: center !important; }
.ag-why-args { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
.ag-why-arg { background: rgba(255,255,255,0.25) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(255,255,255,0.4) !important; border-radius: 16px !important; padding: 16px !important; transition: all 0.3s ease !important; }
.ag-why-arg:hover { background: rgba(255,255,255,0.4) !important; transform: translateY(-3px) !important; box-shadow: 0 10px 30px rgba(100,40,160,0.1) !important; }
.ag-why-arg-icon { width: 32px !important; height: 32px !important; border-radius: 9px !important; background: rgba(255,255,255,0.5) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; margin-bottom: 10px !important; }
.ag-why-arg-title { font-size: 13px !important; font-weight: 700 !important; color: #1a0a2e !important; margin: 0 0 5px !important; line-height: 1.3 !important; }
.ag-why-arg-desc { font-size: 12px !important; color: rgba(30,10,60,0.72) !important; line-height: 1.6 !important; margin: 0 !important; }


/* =========================================
   BLOC 3.5 : GALERIE
========================================= */
.ag-gallery-section {
  background: #ffffff !important;
  padding: 80px 20px !important;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

.ag-gallery-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}

.ag-gallery-header {
  text-align: center !important;
}

.ag-gallery-label {
  font-size: 11px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #c850c0 !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 10px !important;
}

.ag-gallery-title {
  font-size: clamp(26px, 3.5vw, 36px) !important;
  font-weight: 800 !important;
  color: #1a0a2e !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.ag-gallery-carousel-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.ag-gallery-track {
  display: flex !important;
  gap: 20px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important; 
  -ms-overflow-style: none !important; 
  padding: 15px 5px !important; 
  width: 100% !important;
}

.ag-gallery-track::-webkit-scrollbar {
  display: none !important; 
}

.ag-gallery-item {
  flex: 0 0 auto !important;
  width: 280px !important; 
  height: 280px !important;
  border-radius: 24px !important; 
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(180,100,200,0.15) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  cursor: grab !important;
}

.ag-gallery-item:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 32px rgba(180,100,200,0.25) !important;
}

.ag-gallery-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; 
  pointer-events: none !important; 
}

.ag-gallery-nav {
  background: white !important;
  border: 1px solid rgba(200,80,192,0.3) !important;
  color: #c850c0 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  cursor: pointer !important;
  position: absolute !important;
  z-index: 10 !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
  transition: all 0.3s ease !important;
}

.ag-gallery-nav:hover {
  background: linear-gradient(135deg, #ff8fbf, #caa8ff) !important;
  color: white !important;
  border-color: transparent !important;
  transform: scale(1.05) !important;
}

.ag-gallery-nav.prev { left: -22px !important; }
.ag-gallery-nav.next { right: -22px !important; }


/* =========================================
   AVIS & GOOGLE BADGE
========================================= */
.ag-reviews-section {
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,0.35), transparent 40%),
    radial-gradient(circle at 70% 70%, rgba(255,255,255,0.25), transparent 45%),
    radial-gradient(circle, rgba(255,255,255,0.55) 1px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,0.35) 0.8px, transparent 2px),
    linear-gradient(160deg, #ff8fbf 0%, #f6a6a1 20%, #caa8ff 45%, #7fdde0 70%, #7b9dff 100%) !important;
  background-size: 100% 100%, 100% 100%, 180px 210px, 260px 310px, 100% 100% !important;
  background-position: 0 0, 0 0, 23px 41px, 83px 19px, 0 0 !important;
  background-repeat: no-repeat, no-repeat, repeat, repeat, no-repeat !important;
  padding: 80px 20px 40px !important;
  overflow: hidden !important;
}
.ag-reviews-header { text-align: center !important; margin-bottom: 50px !important; }
.ag-reviews-header .ag-label { font-size: 11px !important; letter-spacing: 4px !important; text-transform: uppercase !important; color: rgba(80,30,80,0.7) !important; margin-bottom: 12px !important; display: block !important; font-weight: 500 !important; }
.ag-reviews-header h2 { font-size: 36px !important; font-weight: 600 !important; color: #2a1040 !important; margin: 0 0 16px !important; line-height: 1.2 !important; }
.ag-stars-global { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; color: rgba(60,20,60,0.6) !important; font-size: 14px !important; }
.ag-stars { color: #f5a623 !important; font-size: 18px !important; letter-spacing: 2px !important; }
.ag-reviews-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important; gap: 24px !important; max-width: 850px !important; margin: 0 auto 24px !important; }
.ag-review-card { background: rgba(255,255,255,0.55) !important; backdrop-filter: blur(12px) !important; border-radius: 20px !important; padding: 32px 28px !important; border: 1px solid rgba(255,255,255,0.7) !important; box-shadow: 0 8px 32px rgba(180,100,200,0.12) !important; position: relative !important; overflow: hidden !important; transition: transform 0.3s ease, box-shadow 0.3s ease !important; }
.ag-review-card:hover { transform: translateY(-5px) !important; box-shadow: 0 16px 48px rgba(180,100,200,0.2) !important; }
.ag-review-card::before { content: '"' !important; font-size: 100px !important; color: rgba(200,100,200,0.1) !important; position: absolute !important; top: -10px !important; left: 16px !important; font-family: Georgia, serif !important; line-height: 1 !important; pointer-events: none !important; }
.ag-card-stars { color: #f5a623 !important; font-size: 16px !important; letter-spacing: 2px !important; margin-bottom: 16px !important; position: relative !important; z-index: 1 !important; }
.ag-card-text { font-size: 16px !important; line-height: 1.75 !important; color: #2a1040 !important; margin-bottom: 24px !important; font-style: italic !important; position: relative !important; z-index: 1 !important; }
.ag-card-author { display: flex !important; align-items: center !important; gap: 12px !important; }
.ag-avatar { width: 44px !important; height: 44px !important; border-radius: 50% !important; background: linear-gradient(135deg, #ff8fbf, #caa8ff) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: white !important; font-weight: 600 !important; font-size: 16px !important; flex-shrink: 0 !important; border: 2px solid rgba(255,255,255,0.6) !important; }
.ag-avatar.purple { background: linear-gradient(135deg, #caa8ff, #7b9dff) !important; }
.ag-author-name { font-weight: 600 !important; font-size: 14px !important; color: #2a1040 !important; font-style: normal !important; }
.ag-author-date { font-size: 12px !important; color: rgba(60,20,80,0.5) !important; font-style: normal !important; margin-top: 2px !important; }

/* FIX ALIGNEMENT GOOGLE BADGE */
.ag-google-badge,
.ag-google-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: normal !important;
}

.ag-google-badge {
  font-size: 11px !important;
  color: rgba(60, 20, 80, 0.45) !important;
  margin-top: 4px !important;
  font-style: normal !important;
}

div.ag-google-badge svg,
a.ag-google-link svg {
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  transform: translateY(5px) !important; /* Le centrage optique parfait */
}

.ag-review-badge { display: inline-block !important; background: rgba(255,255,255,0.6) !important; border: 1px solid rgba(200,150,255,0.4) !important; color: #8b4db8 !important; font-size: 10px !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 5px 12px !important; border-radius: 20px !important; margin-top: 16px !important; }
.ag-reviews-cta { text-align: center !important; margin-top: 0 !important; }
.ag-google-link { background: rgba(255,255,255,0.6) !important; backdrop-filter: blur(8px) !important; border: 1.5px solid rgba(255,255,255,0.8) !important; color: #6b2d9e !important; padding: 15px 36px !important; border-radius: 50px !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; box-shadow: 0 4px 20px rgba(180,100,200,0.15) !important; transition: all 0.3s ease !important; }
.ag-google-link:hover { background: rgba(255,255,255,0.85) !important; transform: translateY(-2px) !important; box-shadow: 0 8px 30px rgba(180,100,200,0.25) !important; }

/* =========================================
   FORMULES
========================================= */
.ag-formules-section { padding: 80px 20px 40px !important; background: #ffffff !important; overflow: hidden !important; }
.ag-formules-inner { max-width: 1100px !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; gap: 48px !important; }
.ag-formules-header { text-align: center !important; }
.ag-formules-label { font-size: 11px !important; letter-spacing: 4px !important; text-transform: uppercase !important; color: #c850c0 !important; font-weight: 500 !important; display: block !important; margin-bottom: 10px !important; }
.ag-formules-title { font-size: clamp(26px, 3.5vw, 38px) !important; font-weight: 800 !important; color: #1a0a2e !important; margin: 0 0 14px !important; line-height: 1.2 !important; }
.ag-formules-subtitle { font-size: 15px !important; color: #666 !important; margin: 0 auto !important; max-width: 560px !important; line-height: 1.6 !important; }
.ag-formules-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; align-items: stretch !important; }
.ag-formules-card { border-radius: 22px !important; padding: 32px 28px !important; display: flex !important; flex-direction: column !important; gap: 20px !important; border: 1px solid rgba(202,168,255,0.25) !important; background: linear-gradient(160deg, rgba(255,143,191,0.05), rgba(202,168,255,0.08)) !important; transition: all 0.3s ease !important; position: relative !important; overflow: hidden !important; }
.ag-formules-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 48px rgba(180,100,200,0.12) !important; }
.ag-formules-card.featured { background: linear-gradient(160deg, #ff8fbf 0%, #caa8ff 50%, #7fdde0 100%) !important; border: none !important; box-shadow: 0 20px 60px rgba(180,100,200,0.25) !important; }
.ag-formules-badge { position: absolute !important; top: 18px !important; right: 18px !important; background: rgba(255,255,255,0.3) !important; backdrop-filter: blur(8px) !important; color: white !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 4px 10px !important; border-radius: 20px !important; }
.ag-formules-card-icon { width: 44px !important; height: 44px !important; border-radius: 12px !important; background: rgba(202,168,255,0.2) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 22px !important; }
.ag-formules-card.featured .ag-formules-card-icon { background: rgba(255,255,255,0.25) !important; }
.ag-formules-card-title { font-size: 17px !important; font-weight: 800 !important; color: #1a0a2e !important; margin: 0 !important; }
.ag-formules-card.featured .ag-formules-card-title { color: #ffffff !important; }
.ag-formules-card-desc { font-size: 13px !important; color: #666 !important; line-height: 1.6 !important; margin: 0 !important; flex: 1 !important; }
.ag-formules-card.featured .ag-formules-card-desc { color: rgba(255,255,255,0.85) !important; }
.ag-formules-card-items { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.ag-formules-card-items li { font-size: 12.5px !important; color: #555 !important; display: flex !important; align-items: flex-start !important; gap: 8px !important; line-height: 1.5 !important; }
.ag-formules-card.featured .ag-formules-card-items li { color: rgba(255,255,255,0.9) !important; }
.ag-formules-card-items li::before { content: '✓' !important; color: #c850c0 !important; font-weight: 700 !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.ag-formules-card.featured .ag-formules-card-items li::before { color: rgba(255,255,255,0.9) !important; }
.ag-formules-card-cta { display: block !important; text-align: center !important; padding: 12px 20px !important; border-radius: 50px !important; font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; background: transparent !important; border: 2px solid rgba(202,168,255,0.5) !important; color: #6b2d9e !important; transition: all 0.3s ease !important; }
.ag-formules-card-cta:hover { background: linear-gradient(135deg, #ff8fbf, #caa8ff) !important; border-color: transparent !important; color: white !important; }
.ag-formules-card.featured .ag-formules-card-cta { background: rgba(255,255,255,0.95) !important; border: none !important; color: #6b2d9e !important; }
.ag-formules-footer { text-align: center !important; font-size: 14px !important; color: #888 !important; }
.ag-formules-footer a { color: #c850c0 !important; text-decoration: none !important; font-weight: 600 !important; }

/* =========================================
   RESPONSIVE (TOUT ÉCRAN)
========================================= */
@media (max-width: 1150px) {
  .ag-gallery-nav.prev { left: 10px !important; }
  .ag-gallery-nav.next { right: 10px !important; }
}
@media (max-width: 900px) {
  .ag-hero-section { background-attachment: scroll !important; background-position: 70% top !important; }
  .ag-univers-inner { grid-template-columns: 1fr !important; gap: 40px !important; }
  .ag-univers-photo-col { min-height: 340px !important; }
  .ag-univers-photo-col img { height: 340px !important; }
  .ag-why-row-bottom { grid-template-columns: 1fr !important; }
  .ag-formules-grid { grid-template-columns: 1fr !important; max-width: 480px !important; margin: 0 auto !important; }
}
@media (max-width: 600px) {
  .ag-hero-content { padding: 40px 24px 60px !important; }
  .ag-hero-buttons { flex-direction: column !important; align-items: stretch !important; }
  .ag-univers-events { grid-template-columns: 1fr !important; }
  .ag-why-args { grid-template-columns: 1fr !important; }
  .ag-reviews-grid { grid-template-columns: 1fr !important; }
  .ag-gallery-item { width: 240px !important; height: 240px !important; }
  .ag-gallery-nav { display: none !important; } 
}

/* Centrage global de la boîte */
.ag-google-badge,
.ag-google-link {
  display: inline-flex !important;
  align-items: center !important;
  line-height: normal !important;
}

/* Ajustement optique millimétré du logo G */
div.ag-google-badge svg,
a.ag-google-link svg {
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  /* C'est ici la magie : on le descend optiquement pour l'aligner avec les majuscules */
  transform: translateY(5px) !important; 
}

/* 1. On s'assure de garder les 4 blocs en 2 colonnes, avec un peu plus d'espace entre eux (desktop uniquement) */
@media (min-width: 601px) {
  .ag-why-args { 
    display: grid !important; 
    grid-template-columns: repeat(2, 1fr) !important; 
    gap: 20px !important; /* Espacement agrandi (était 14px) */
  }
}

/* 2. On agrandit l'intérieur du bloc pour le rendre plus massif */
.ag-why-arg { 
  background: rgba(255,255,255,0.25) !important; 
  backdrop-filter: blur(16px) !important; 
  border: 1px solid rgba(255,255,255,0.4) !important; 
  border-radius: 16px !important; 
  padding: 24px !important; /* Plus de rembourrage (était 16px) */
  transition: all 0.3s ease !important; 
}

.ag-why-arg:hover { 
  background: rgba(255,255,255,0.4) !important; 
  transform: translateY(-3px) !important; 
  box-shadow: 0 10px 30px rgba(100,40,160,0.1) !important; 
}

/* 3. On agrandit l'icône pour qu'elle soit proportionnelle au nouveau texte */
.ag-why-arg-icon { 
  width: 42px !important; /* Était 32px */
  height: 42px !important; 
  border-radius: 10px !important; 
  background: rgba(255,255,255,0.5) !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
  font-size: 20px !important; /* Était 16px */
  margin-bottom: 14px !important; 
}

/* 4. On augmente la taille du titre */
.ag-why-arg-title { 
  font-size: 16px !important; /* Était 13px */
  font-weight: 800 !important; 
  color: #1a0a2e !important; 
  margin: 0 0 8px !important; 
  line-height: 1.3 !important; 
}

/* 5. On augmente la taille de la description */
.ag-why-arg-desc { 
  font-size: 14px !important; /* Était 12px */
  color: rgba(30,10,60,0.8) !important; /* J'ai légèrement foncé le texte pour une meilleure lisibilité */
  line-height: 1.6 !important; 
  margin: 0 !important; 
}

/* Titre "Artiste certifiée" */
.ag-why-badge-caption { 
  font-size: 14px !important; /* Légèrement plus grand */
  color: #1a0a2e !important; /* Violet très foncé au lieu de blanc */
  font-weight: 800 !important; 
  line-height: 1.4 !important; 
}

/* Sous-texte "International Face Painting School" */
.ag-why-badge-caption span { 
  display: block !important; 
  font-size: 11px !important; 
  font-weight: 600 !important; /* Plus de gras pour la lisibilité */
  color: rgba(26, 10, 46, 0.75) !important; /* Violet foncé légèrement atténué */
  margin-top: 4px !important; 
}

/* Les boutons en dessous */
.ag-badge-verify { 
  display: block !important; 
  font-size: 12px !important; 
  font-weight: 700 !important; 
  color: #1a0a2e !important; /* Texte sombre */
  text-decoration: none !important; 
  border: 1px solid rgba(26, 10, 46, 0.25) !important; /* Bordure sombre semi-transparente */
  border-radius: 20px !important; 
  padding: 8px 10px !important; /* Boutons un peu plus épais */
  background: rgba(255, 255, 255, 0.6) !important; /* Fond blanc plus opaque */
  width: 100% !important; 
  box-sizing: border-box !important; 
  cursor: pointer !important; 
  text-align: center !important; 
  transition: all 0.3s ease !important;
  margin-bottom: 8px !important; /* Espace les boutons s'ils se touchent */
}

/* Petit effet au survol des boutons pour faire pro */
.ag-badge-verify:hover {
  background: #1a0a2e !important;
  color: #ffffff !important;
  border-color: #1a0a2e !important;
}

@media (min-width: 901px) {
  /* 1. On élargit un peu la colonne pour que le texte des boutons tienne sur une seule ligne */
  .ag-why-row-bottom { 
    grid-template-columns: 220px 1fr !important; /* Était à 190px */
  }
}


/* 2. On réduit très légèrement la largeur du logo pour gagner de la place en hauteur */
.ag-why-badge-wrap a[href*="openbadgepassport"] {
  width: 105px !important; /* Force la taille de l'image (au lieu de 130px) */
  margin: 0 auto !important;
}

/* 3. On resserre l'espacement général dans le bloc de gauche */
.ag-why-badge-wrap {
  gap: 12px !important; /* Un peu moins d'espace entre chaque élément */
  padding: 24px 16px !important; 
  justify-content: center !important; 
}

/* 4. On retire les marges en trop sous les boutons pour compacter la fin du bloc */
.ag-badge-verify { 
  margin-bottom: 0 !important; /* Annule l'espace qu'on avait ajouté avant */
  padding: 8px 10px !important; 
  font-size: 11px !important; /* On ajuste la taille pour que ça rentre parfaitement */
}

/* supprimer les marges du conteneur principal */
.wp-site-blocks,
.site-content,
.entry-content {
max-width: 100% !important;
padding-left: 0 !important;
padding-right: 0 !important;
margin-left: 0 !important;
margin-right: 0 !important;
}

/* permettre aux blocs de prendre toute la largeur écran */
.wp-block-group,
.wp-block-cover,
.wp-block-columns {
width: 100vw !important;
max-width: 100vw !important;
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
}

/* Fix header & footer - logo a gauche, nav a droite */
/* 1. Annuler le width:100vw sur tous les groupes DANS le header et footer */
header.wp-block-template-part .wp-block-group,
footer.wp-block-template-part .wp-block-group,
header.wp-block-template-part .wp-block-columns,
footer.wp-block-template-part .wp-block-columns {
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* 2. Le conteneur alignfull doit rester pleine largeur avec padding */
header.wp-block-template-part > .wp-block-group.alignfull,
footer.wp-block-template-part > .wp-block-group.alignfull {
  width: 100% !important;
  max-width: 100vw !important;
  overflow: hidden !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  box-sizing: border-box !important;
}
/* 3. La barre flex (alignwide) : pleine largeur du parent */
header.wp-block-template-part .wp-block-group.alignwide,
footer.wp-block-template-part .wp-block-group.alignwide,
header.wp-block-template-part .wp-block-columns.alignwide,
footer.wp-block-template-part .wp-block-columns.alignwide {
  width: 100% !important;
}
/* 4. Header : enfants flex, logo a gauche, nav a droite */
header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group,
header.wp-block-template-part .wp-block-group.alignwide > div {
  min-width: 0 !important;
  flex: 0 1 auto !important;
}
header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group:last-child,
header.wp-block-template-part .wp-block-group.alignwide > div:last-child {
  margin-left: auto !important;
}
/* 5. Footer : colonnes pleine largeur */
footer.wp-block-template-part .wp-block-columns.alignwide {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
footer.wp-block-template-part .wp-block-group.alignwide > .wp-block-group,
footer.wp-block-template-part .wp-block-group.alignwide > div {
  min-width: 0 !important;
  flex: 0 1 auto !important;
}
/* 6. Footer colonne gauche : pas de decalage */
footer.wp-block-template-part .wp-block-column {
  margin-left: 0 !important;
}
/* 7. Espacement liens footer bas */
footer.wp-block-template-part .wp-block-group.has-small-font-size > p {
  margin-right: 15px !important;
}

/* ============================================
   HEADER : modifications visuelles
   ============================================ */

/* A. Masquer le texte "Anna GuArt" (doublon du logo) */
header.wp-block-template-part .wp-block-themeisle-blocks-advanced-columns,
header.wp-block-template-part .wp-block-site-title {
  display: none !important;
}

/* B. Agrandir le logo pour compenser */
header.wp-block-template-part .wp-block-site-logo img {
  height: 70px !important;
  width: auto !important;
}

/* C. Espacement entre les liens de navigation (gap 38px) */
header.wp-block-template-part .wp-block-navigation__responsive-container-content {
  gap: 38px !important;
}

/* D. Taille des liens de navigation */
header.wp-block-template-part .wp-block-navigation-item a.wp-block-navigation-item__content {
  font-size: 16px !important;
  font-weight: 500 !important;
}

/* E. Bouton CTA "Devis" - style gradient rose-violet */
header.wp-block-template-part .wp-block-navigation-item a[href="#devis"],
header.wp-block-template-part .wp-block-navigation-item a[href*="/devis"] {
  background: linear-gradient(135deg, #ff8fbf, #c850c0) !important;
  color: #ffffff !important;
  padding: 10px 22px !important;
  border-radius: 8px !important;
  font-size: 0 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  white-space: nowrap !important;
}
header.wp-block-template-part .wp-block-navigation-item a[href="#devis"]::after,
header.wp-block-template-part .wp-block-navigation-item a[href*="/devis"]::after {
  content: "Demander un devis" !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
header.wp-block-template-part .wp-block-navigation-item a[href="#devis"]:hover,
header.wp-block-template-part .wp-block-navigation-item a[href*="/devis"]:hover {
  opacity: 0.88 !important;
  transform: translateY(-1px) !important;
}
/* F. Deplacer le bouton CTA en dernier dans la nav */
header.wp-block-template-part .wp-block-navigation-item:has(a[href="#devis"]),
header.wp-block-template-part .wp-block-navigation-item:has(a[href*="/devis"]) {
  order: 99 !important;
}

.ag-gallery-carousel-wrapper p {
  margin: 0 !important;
  padding: 0 !important;
  display: contents !important;
}

.ag-gallery-nav {
  z-index: 9999 !important;
  position: absolute !important;
  pointer-events: auto !important;
}

/* Espace entre chaque question */
.wpforms-field {
  margin-bottom: 28px;
}

/* Espace entre le label et le champ */
.wpforms-field-label {
  margin-bottom: 10px;
  font-size: 15px;
}

/* Padding intérieur des champs */
.wpforms-field input,
.wpforms-field select,
.wpforms-field textarea {
  padding: 12px 14px;
  font-size: 15px;
}

/* ============================================
   FORMULAIRE DEVIS - Aération des éléments
   ============================================ */

/* Padding interne de la carte blanche du formulaire */
#contact-form-666 {
  padding: 28px 32px 28px !important;
}

/* Barre de progression : espace sous elle */
#contact-form-666 .wp-block-jetpack-form-progress-indicator {
  margin-bottom: 20px !important;
}

/* Espace entre les champs (gap vertical) */
#contact-form-666 .wp-block-jetpack-contact-form {
  gap: 20px !important;
  row-gap: 20px !important;
}

/* Labels : plus d'espace sous eux */
#contact-form-666 .grunion-field-label,
#contact-form-666 label {
  margin-bottom: 8px !important;
  display: block !important;
}

/* Inputs et selects : padding interne confortable */
#contact-form-666 input[type="text"],
#contact-form-666 input[type="date"],
#contact-form-666 input[type="email"],
#contact-form-666 input[type="tel"],
#contact-form-666 textarea,
#contact-form-666 select,
#contact-form-666 .contact-form__select-element-wrapper {
  padding: 13px 16px !important;
  min-height: 50px !important;
}

/* Bloc de boutons : espace au-dessus */
#contact-form-666 .wp-block-buttons {
  margin-top: 12px !important;
  padding-bottom: 4px !important;
}

/* Bouton "Suivant" : ne pas coller le bord droit */
#contact-form-666 .wp-block-button {
  margin-right: 4px !important;
}
/* BOUTON SUIVANT - marges */
#contact-form-666 .wp-block-jetpack-form-step-navigation__wrapper { padding-right: 20px !important; margin-top: 20px !important; }

/* FORMULAIRE DEVIS - Hauteur uniforme des champs */
#contact-form-666 .contact-form__select-element-wrapper {
  box-sizing: border-box !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  overflow: hidden !important;
}
#contact-form-666 select {
  height: 50px !important;
  min-height: 50px !important;
  box-sizing: border-box !important;
}

/* FORMULAIRE DEVIS - Labels, espacement champs, centrage dropdown */
/* Espace label -> champ */
#contact-form-666 .grunion-field-label,
#contact-form-666 label { margin-bottom: 8px !important; display: block !important; }
/* Espace entre chaque champ */
#contact-form-666 .grunion-field-wrap { margin-bottom: 20px !important; }
/* Select centré verticalement via padding box-sizing */
#contact-form-666 .contact-form__select-element-wrapper select {
  display: block !important;
  height: 50px !important;
  padding: 13px 16px !important;
  box-sizing: border-box !important;
  line-height: normal !important;
}

/* SELECT - correction centrage "Choisissez une option" */
/* Le wrapper ne doit pas avoir de padding (il est juste un conteneur flex) */
#contact-form-666 .contact-form__select-element-wrapper {
  padding: 0 !important;
  overflow: visible !important;
}
/* Le select lui-même occupe toute la hauteur du wrapper avec son propre padding */
#contact-form-666 .contact-form__select-element-wrapper select {
  height: 50px !important;
  width: 100% !important;
  padding: 0 40px 0 16px !important;
  box-sizing: border-box !important;
  display: block !important;
  line-height: normal !important;
}

/* AVIS - alignement logos Google avec texte */

/* Espace entre les bulles et la frontière de section suivante */
.section-pourquoi {
    padding-bottom: 80px;
}

/* Espace en haut de la section Portfolio */
.section-portfolio {
    padding-top: 80px;
}
.ag-univers-section {
  padding-bottom: 40px !important;
}

/* Fix alignement carte featured - supprime le paragraphe vide qui décale l'icone */
.ag-formules-card.featured > p:empty {
  display: none !important;
  margin: 0 !important;
}