/*
Theme Name: Groowble
Theme URI: https://groowble.com
Author: Groowble
Author URI: https://groowble.com
Description: Thème WordPress sur mesure pour Groowble — app familiale de gestion de tâches et récompenses gamifiée pour enfants.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: groowble
*/

/* ============================
   BASE / RESET
   ============================ */
body {
  font-family: 'Poppins', sans-serif;
  color: #2D2A4A;
  background: #F4F5F9;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Nunito', sans-serif;
}

a {
  color: #6A5AE0;
  transition: color 0.2s;
}

a:hover {
  color: #5a4bd0;
}

.hero-gradient {
  background: linear-gradient(135deg, #EDE9FB 0%, #F4F5F9 50%, #FFF7E0 100%);
}

/* WordPress menu reset */
.nav-menu { list-style: none; margin: 0; padding: 0; }
.nav-menu li { display: inline-block; }
.footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-menu li { display: block; }

/* ============================
   PAGINATION
   ============================ */
.page-numbers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.page-numbers li { display: inline-flex; }
.page-numbers a,
.page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  transition: all 0.2s;
}
.page-numbers a {
  background: #FFFFFF;
  color: #2D2A4A;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.page-numbers a:hover {
  background: #6A5AE0;
  color: #FFFFFF;
}
.page-numbers .current {
  background: #6A5AE0;
  color: #FFFFFF;
  box-shadow: 0 4px 14px rgba(106,90,224,0.3);
}

/* ============================
   PARAGRAPH
   ============================ */
.wp-block-paragraph {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  color: #2D2A4A;
}

/* ============================
   HEADINGS
   ============================ */
.wp-block-heading {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  color: #2D2A4A;
  line-height: 1.3;
}

/* ============================
   IMAGE
   ============================ */
.wp-block-image {
  margin: 2rem 0;
}

.prose .wp-block-image img {
  border-radius: 1.5rem;
  box-shadow: 0 4px 20px rgba(106, 90, 224, 0.08);
}

.wp-block-image figcaption {
  font-family: 'Poppins', sans-serif;
  font-size: 0.85rem;
  color: rgba(45, 42, 74, 0.5);
  text-align: center;
  margin-top: 0.75rem;
}

/* Style arrondi */
.prose .wp-block-image.is-style-rounded img {
  border-radius: 9999px;
}

/* ============================
   GALLERY
   ============================ */
.wp-block-gallery {
  margin: 2rem 0;
  gap: 1rem !important;
}

.prose .wp-block-gallery .wp-block-image img {
  border-radius: 1rem;
}

.wp-block-gallery figcaption {
  font-family: 'Poppins', sans-serif;
  font-size: 0.8rem;
  background: linear-gradient(transparent, rgba(45, 42, 74, 0.7));
  padding: 0.75rem 1rem;
}

.prose .wp-block-gallery figcaption {
  border-radius: 0 0 1rem 1rem;
}

/* ============================
   LIST (ul / ol)
   ============================ */
.wp-block-list {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  color: #2D2A4A;
  padding-left: 1.5rem;
  margin: 1.5rem 0;
}

.wp-block-list li {
  margin-bottom: 0.5rem;
}

.wp-block-list li::marker {
  color: #6A5AE0;
}

/* ============================
   CITATION / BLOCKQUOTE
   ============================ */
blockquote,
.wp-block-quote {
  position: relative;
  background: linear-gradient(135deg, rgba(106,90,224,0.06) 0%, rgba(255,184,0,0.04) 100%);
  border: none;
  border-left: 4px solid #6A5AE0;
  border-radius: 0 1.5rem 1.5rem 0;
  padding: 2rem 2.5rem 2rem 2rem;
  margin: 2.5rem 0;
  font-family: 'Poppins', sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #2D2A4A;
  font-style: italic;
  box-shadow: 0 4px 20px rgba(106,90,224,0.08);
}

blockquote::before,
.wp-block-quote::before {
  content: '\201C';
  position: absolute;
  top: -0.3rem;
  left: 1.2rem;
  font-family: 'Nunito', sans-serif;
  font-size: 4rem;
  font-style: normal;
  font-weight: 800;
  color: #6A5AE0;
  opacity: 0.2;
  line-height: 1;
}

blockquote p,
.wp-block-quote p {
  margin: 0 0 0.75rem 0;
  position: relative;
  z-index: 1;
}

blockquote p:last-of-type,
.wp-block-quote p:last-of-type {
  margin-bottom: 0;
}

blockquote cite,
.wp-block-quote cite,
.wp-block-quote__citation {
  display: block;
  margin-top: 1.25rem;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  font-style: normal;
  color: #6A5AE0;
}

blockquote cite::before,
.wp-block-quote cite::before,
.wp-block-quote__citation::before {
  content: '— ';
}

/* Citation style "large" (Gutenberg) */
.wp-block-quote.is-style-large,
.wp-block-quote.is-large {
  border-left-width: 4px;
  padding: 2.5rem 3rem 2.5rem 2.5rem;
  border-radius: 0 2rem 2rem 0;
}

.wp-block-quote.is-style-large p,
.wp-block-quote.is-large p {
  font-size: 1.35rem;
  line-height: 1.7;
}

/* ============================
   PULLQUOTE
   ============================ */
.wp-block-pullquote {
  border: none;
  padding: 2.5rem;
  margin: 3rem 0;
  text-align: center;
  background: linear-gradient(135deg, rgba(106,90,224,0.08) 0%, rgba(255,184,0,0.06) 100%);
  border-radius: 2rem;
  box-shadow: 0 8px 30px rgba(106,90,224,0.1);
}

.wp-block-pullquote blockquote {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  box-shadow: none;
}

.wp-block-pullquote blockquote::before {
  position: static;
  display: block;
  font-size: 5rem;
  margin-bottom: -1.5rem;
  opacity: 0.15;
}

.wp-block-pullquote p {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
}

.wp-block-pullquote cite,
.wp-block-pullquote .wp-block-pullquote__citation {
  color: #6A5AE0;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: none;
}

/* ============================
   TABLE
   ============================ */
.wp-block-table {
  margin: 2rem 0;
  overflow: hidden;
  border-radius: 1.25rem;
  box-shadow: 0 2px 12px rgba(106, 90, 224, 0.06);
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
}

.wp-block-table thead {
  background: #6A5AE0;
  color: #FFFFFF;
}

.wp-block-table thead th {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  padding: 1rem 1.25rem;
  text-align: left;
  border: none;
}

.wp-block-table tbody td {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(106, 90, 224, 0.08);
  background: #FFFFFF;
  color: #2D2A4A;
}

.wp-block-table tbody tr:last-child td {
  border-bottom: none;
}

.wp-block-table tbody tr:hover td {
  background: rgba(106, 90, 224, 0.03);
}

/* Striped style */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) td {
  background: rgba(106, 90, 224, 0.03);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(even) td {
  background: #FFFFFF;
}

.wp-block-table figcaption {
  font-family: 'Poppins', sans-serif;
  font-size: 0.85rem;
  color: rgba(45, 42, 74, 0.5);
  text-align: center;
  padding: 0.75rem;
}

/* ============================
   CODE
   ============================ */
.wp-block-code {
  background: #2D2A4A;
  color: #E8E6F0;
  border-radius: 1.25rem;
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  overflow-x: auto;
  box-shadow: 0 4px 20px rgba(45, 42, 74, 0.15);
  border: none;
}

.wp-block-code code {
  font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 0.875rem;
  line-height: 1.7;
  color: inherit;
  background: none;
  padding: 0;
}

/* Inline code */
:not(pre) > code {
  font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 0.85em;
  background: rgba(106, 90, 224, 0.08);
  color: #6A5AE0;
  padding: 0.15em 0.4em;
  border-radius: 0.375rem;
}

/* ============================
   PREFORMATTED
   ============================ */
.wp-block-preformatted {
  background: #2D2A4A;
  color: #E8E6F0;
  border-radius: 1.25rem;
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 0.875rem;
  line-height: 1.7;
  overflow-x: auto;
  border: none;
}

/* ============================
   VERSE
   ============================ */
.wp-block-verse {
  font-family: 'Poppins', sans-serif;
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.8;
  color: rgba(45, 42, 74, 0.8);
  background: linear-gradient(135deg, rgba(106,90,224,0.04) 0%, rgba(255,184,0,0.03) 100%);
  border-left: 3px solid #FFB800;
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  border-radius: 0 1rem 1rem 0;
}

/* ============================
   SEPARATOR
   ============================ */
.wp-block-separator {
  border: none;
  margin: 3rem auto;
  opacity: 1;
}

.wp-block-separator:not(.is-style-dots):not(.is-style-wide) {
  width: 6rem;
  height: 4px;
  background: linear-gradient(90deg, #6A5AE0, #FFB800);
  border-radius: 9999px;
}

.wp-block-separator.is-style-wide {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(106,90,224,0.2), transparent);
}

.wp-block-separator.is-style-dots {
  background: none;
  text-align: center;
}

.wp-block-separator.is-style-dots::before {
  content: '···';
  font-size: 1.5rem;
  letter-spacing: 1rem;
  color: #6A5AE0;
}

/* ============================
   SPACER (no styling needed, just clean margin)
   ============================ */

/* ============================
   COLUMNS
   ============================ */
.wp-block-columns {
  margin: 2rem 0;
  gap: 2rem !important;
}

/* Colonnes en carte uniquement dans le contexte prose (page.php) */
.prose .wp-block-column {
  background: #FFFFFF;
  border-radius: 1.5rem;
  padding: 2rem;
  box-shadow: 0 2px 12px rgba(106, 90, 224, 0.06);
  transition: box-shadow 0.2s, transform 0.2s;
}

.prose .wp-block-column:hover {
  box-shadow: 0 8px 30px rgba(106, 90, 224, 0.1);
  transform: translateY(-2px);
}

/* ============================
   GROUP
   ============================ */
.prose .wp-block-group {
  margin: 2rem 0;
}

.prose .wp-block-group.has-background {
  border-radius: 1.5rem;
  padding: 2rem;
}

/* ============================
   COVER
   ============================ */
.wp-block-cover {
  overflow: hidden;
  margin: 2.5rem 0;
  min-height: 350px;
}

.prose .wp-block-cover {
  border-radius: 2rem;
}

.wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
}

.wp-block-cover__inner-container h2,
.wp-block-cover__inner-container h3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
}

.wp-block-cover__inner-container p {
  font-family: 'Poppins', sans-serif;
}

/* ============================
   MEDIA & TEXT
   ============================ */
.wp-block-media-text {
  margin: 2.5rem 0;
  background: #FFFFFF;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(106, 90, 224, 0.06);
}

.prose .wp-block-media-text {
  border-radius: 2rem;
}

.wp-block-media-text .wp-block-media-text__media img {
  border-radius: 0;
}

.wp-block-media-text .wp-block-media-text__content {
  padding: 2rem 2.5rem;
}

.wp-block-media-text .wp-block-media-text__content h2,
.wp-block-media-text .wp-block-media-text__content h3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  color: #2D2A4A;
}

.wp-block-media-text .wp-block-media-text__content p {
  font-family: 'Poppins', sans-serif;
  color: rgba(45, 42, 74, 0.7);
  line-height: 1.7;
}

/* ============================
   BOUTON (WordPress natif)
   ============================ */
.wp-block-button__link {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.625rem 1.5rem;
  border-radius: 9999px;
  background: #6A5AE0;
  color: #FFFFFF;
  text-decoration: none;
  transition: all 0.2s;
  box-shadow: 0 4px 14px rgba(106, 90, 224, 0.25);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.wp-block-button__link:hover {
  background: #5a4bd0;
  color: #FFFFFF;
  box-shadow: 0 6px 20px rgba(106, 90, 224, 0.35);
}

/* Style outline */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: #6A5AE0;
  border: 2px solid #6A5AE0;
  box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #6A5AE0;
  color: #FFFFFF;
}

/* Buttons group */
.wp-block-buttons {
  margin: 1.5rem 0;
  gap: 1rem;
}

/* ============================
   FILE
   ============================ */
.wp-block-file {
  margin: 1.5rem 0;
  background: #FFFFFF;
  border: 1px solid rgba(106, 90, 224, 0.12);
  border-radius: 1rem;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  box-shadow: 0 2px 8px rgba(106, 90, 224, 0.06);
}

.wp-block-file a:not(.wp-block-file__button) {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  color: #2D2A4A;
  text-decoration: none;
}

.wp-block-file a:not(.wp-block-file__button):hover {
  color: #6A5AE0;
}

.wp-block-file .wp-block-file__button {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  background: #6A5AE0;
  color: #FFFFFF;
  border-radius: 9999px;
  padding: 0.5rem 1.25rem;
  text-decoration: none;
  transition: background 0.2s;
}

.wp-block-file .wp-block-file__button:hover {
  background: #5a4bd0;
}

/* ============================
   VIDEO
   ============================ */
.wp-block-video {
  margin: 2rem 0;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(106, 90, 224, 0.1);
}

.prose .wp-block-video {
  border-radius: 1.5rem;
}

.wp-block-video video {
  display: block;
  width: 100%;
}

.prose .wp-block-video video {
  border-radius: 1.5rem;
}

.wp-block-video figcaption {
  font-family: 'Poppins', sans-serif;
  font-size: 0.85rem;
  color: rgba(45, 42, 74, 0.5);
  text-align: center;
  padding: 0.75rem;
}

/* ============================
   AUDIO
   ============================ */
.wp-block-audio {
  margin: 2rem 0;
  background: #FFFFFF;
  border-radius: 1.25rem;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 2px 12px rgba(106, 90, 224, 0.06);
  border: 1px solid rgba(106, 90, 224, 0.08);
}

.wp-block-audio audio {
  width: 100%;
}

.wp-block-audio figcaption {
  font-family: 'Poppins', sans-serif;
  font-size: 0.85rem;
  color: rgba(45, 42, 74, 0.5);
  text-align: center;
  margin-top: 0.5rem;
}

/* ============================
   EMBED (YouTube, Vimeo, etc.)
   ============================ */
.wp-block-embed {
  margin: 2.5rem 0;
}

.wp-block-embed .wp-block-embed__wrapper {
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(106, 90, 224, 0.1);
}

.prose .wp-block-embed .wp-block-embed__wrapper {
  border-radius: 1.5rem;
}

.wp-block-embed .wp-block-embed__wrapper iframe {
  display: block;
}

.prose .wp-block-embed .wp-block-embed__wrapper iframe {
  border-radius: 1.5rem;
}

.wp-block-embed figcaption {
  font-family: 'Poppins', sans-serif;
  font-size: 0.85rem;
  color: rgba(45, 42, 74, 0.5);
  text-align: center;
  margin-top: 0.75rem;
}

/* ============================
   SEARCH
   ============================ */
.wp-block-search {
  margin: 2rem 0;
}

.wp-block-search .wp-block-search__label {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  color: #2D2A4A;
  margin-bottom: 0.5rem;
}

.wp-block-search .wp-block-search__input {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  padding: 0.75rem 1.25rem;
  border: 2px solid rgba(106, 90, 224, 0.15);
  border-radius: 9999px;
  background: #FFFFFF;
  color: #2D2A4A;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
}

.wp-block-search .wp-block-search__input:focus {
  border-color: #6A5AE0;
  box-shadow: 0 0 0 3px rgba(106, 90, 224, 0.1);
}

.wp-block-search .wp-block-search__button {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  background: #6A5AE0;
  color: #FFFFFF;
  border: none;
  border-radius: 9999px;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: background 0.2s;
}

.wp-block-search .wp-block-search__button:hover {
  background: #5a4bd0;
}

/* ============================
   LATEST POSTS
   ============================ */
.wp-block-latest-posts {
  list-style: none;
  padding: 0;
  margin: 2rem 0;
}

.wp-block-latest-posts li {
  margin-bottom: 1.5rem;
}

.wp-block-latest-posts li a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #2D2A4A;
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-latest-posts li a:hover {
  color: #6A5AE0;
}

.wp-block-latest-posts__post-date {
  font-family: 'Poppins', sans-serif;
  font-size: 0.8rem;
  color: rgba(45, 42, 74, 0.5);
  display: block;
  margin-top: 0.25rem;
}

.wp-block-latest-posts__post-excerpt {
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  color: rgba(45, 42, 74, 0.65);
  line-height: 1.6;
  margin-top: 0.5rem;
}

.wp-block-latest-posts__featured-image img {
  border-radius: 1rem;
  box-shadow: 0 2px 10px rgba(106, 90, 224, 0.06);
}

/* Grid layout */
.wp-block-latest-posts.is-grid {
  display: grid;
  gap: 1.5rem;
}

.wp-block-latest-posts.is-grid li {
  background: #FFFFFF;
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 2px 12px rgba(106, 90, 224, 0.06);
  transition: box-shadow 0.2s, transform 0.2s;
  margin-bottom: 0;
}

.wp-block-latest-posts.is-grid li:hover {
  box-shadow: 0 8px 30px rgba(106, 90, 224, 0.1);
  transform: translateY(-2px);
}

/* ============================
   LATEST COMMENTS
   ============================ */
.wp-block-latest-comments {
  list-style: none;
  padding: 0;
  margin: 2rem 0;
}

.wp-block-latest-comments__comment {
  background: #FFFFFF;
  border-radius: 1.25rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 2px 8px rgba(106, 90, 224, 0.06);
  border: 1px solid rgba(106, 90, 224, 0.06);
}

.wp-block-latest-comments__comment-meta {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #2D2A4A;
  margin-bottom: 0.25rem;
}

.wp-block-latest-comments__comment-meta a {
  color: #6A5AE0;
  text-decoration: none;
}

.wp-block-latest-comments__comment-date {
  font-family: 'Poppins', sans-serif;
  font-size: 0.8rem;
  color: rgba(45, 42, 74, 0.5);
}

.wp-block-latest-comments__comment-excerpt p {
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  color: rgba(45, 42, 74, 0.7);
  line-height: 1.6;
  margin: 0.5rem 0 0;
}

.wp-block-latest-comments__comment-avatar {
  border-radius: 9999px;
}

/* ============================
   CATEGORIES
   ============================ */
.wp-block-categories {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.wp-block-categories li {
  margin-bottom: 0.5rem;
}

.wp-block-categories li a {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  color: #2D2A4A;
  text-decoration: none;
  padding: 0.5rem 0;
  display: inline-block;
  transition: color 0.2s;
}

.wp-block-categories li a:hover {
  color: #6A5AE0;
}

/* Dropdown */
.wp-block-categories select {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  padding: 0.75rem 1.25rem;
  border: 2px solid rgba(106, 90, 224, 0.15);
  border-radius: 9999px;
  background: #FFFFFF;
  color: #2D2A4A;
  outline: none;
  cursor: pointer;
}

.wp-block-categories select:focus {
  border-color: #6A5AE0;
}

/* ============================
   TAG CLOUD
   ============================ */
.wp-block-tag-cloud {
  margin: 1.5rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.wp-block-tag-cloud a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  background: #FFFFFF;
  color: #2D2A4A;
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  text-decoration: none;
  border: 1px solid rgba(106, 90, 224, 0.12);
  transition: all 0.2s;
  box-shadow: 0 1px 4px rgba(106, 90, 224, 0.04);
}

.wp-block-tag-cloud a:hover {
  background: #6A5AE0;
  color: #FFFFFF;
  border-color: #6A5AE0;
  box-shadow: 0 4px 14px rgba(106, 90, 224, 0.25);
}

/* ============================
   ARCHIVES
   ============================ */
.wp-block-archives {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.wp-block-archives li {
  margin-bottom: 0.5rem;
}

.wp-block-archives li a {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  color: #2D2A4A;
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-archives li a:hover {
  color: #6A5AE0;
}

.wp-block-archives select {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  padding: 0.75rem 1.25rem;
  border: 2px solid rgba(106, 90, 224, 0.15);
  border-radius: 9999px;
  background: #FFFFFF;
  color: #2D2A4A;
  outline: none;
}

/* ============================
   CALENDAR
   ============================ */
.wp-block-calendar {
  margin: 2rem 0;
}

.wp-block-calendar table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  background: #FFFFFF;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(106, 90, 224, 0.06);
}

.wp-block-calendar table caption {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  color: #2D2A4A;
  padding: 1rem;
  caption-side: top;
}

.wp-block-calendar thead th {
  background: #6A5AE0;
  color: #FFFFFF;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.75rem 0.5rem;
  text-align: center;
}

.wp-block-calendar tbody td {
  padding: 0.625rem;
  text-align: center;
  border: 1px solid rgba(106, 90, 224, 0.06);
}

.wp-block-calendar tbody td a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: #6A5AE0;
  color: #FFFFFF;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 700;
}

.wp-block-calendar tbody td#today {
  background: rgba(106, 90, 224, 0.06);
  font-weight: 700;
}

.wp-block-calendar nav {
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 1rem;
}

.wp-block-calendar nav a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  color: #6A5AE0;
  text-decoration: none;
}

/* ============================
   SOCIAL LINKS
   ============================ */
.wp-block-social-links {
  margin: 1.5rem 0;
  gap: 0.5rem;
}

.wp-block-social-links .wp-social-link {
  background: #6A5AE0 !important;
  border-radius: 9999px !important;
  transition: all 0.2s;
}

.wp-block-social-links .wp-social-link:hover {
  background: #5a4bd0 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(106, 90, 224, 0.3);
}

/* Pill style */
.wp-block-social-links.is-style-pill-shape .wp-social-link {
  border-radius: 9999px !important;
}

/* Logos only */
.wp-block-social-links.is-style-logos-only .wp-social-link {
  background: transparent !important;
  color: #6A5AE0;
}

.wp-block-social-links.is-style-logos-only .wp-social-link:hover {
  color: #5a4bd0;
  background: transparent !important;
  box-shadow: none;
}

/* ============================
   NAVIGATION
   ============================ */
.wp-block-navigation a {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-navigation a:hover {
  color: #6A5AE0;
}

.wp-block-navigation .wp-block-navigation__submenu-container {
  background: #FFFFFF;
  border-radius: 1rem;
  box-shadow: 0 8px 30px rgba(106, 90, 224, 0.12);
  border: 1px solid rgba(106, 90, 224, 0.08);
  padding: 0.5rem;
  min-width: 12rem;
}

.wp-block-navigation .wp-block-navigation__submenu-container a {
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
}

.wp-block-navigation .wp-block-navigation__submenu-container a:hover {
  background: rgba(106, 90, 224, 0.06);
}

/* ============================
   PAGE LIST
   ============================ */
.wp-block-page-list {
  list-style: none;
  padding: 0;
}

.wp-block-page-list li {
  margin-bottom: 0.5rem;
}

.wp-block-page-list a {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  color: #2D2A4A;
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-page-list a:hover {
  color: #6A5AE0;
}

/* ============================
   SITE TITLE / TAGLINE / LOGO
   ============================ */
.wp-block-site-title a {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  color: #2D2A4A;
  text-decoration: none;
}

.wp-block-site-tagline {
  font-family: 'Poppins', sans-serif;
  color: rgba(45, 42, 74, 0.6);
}

/* ============================
   QUERY LOOP / POST TEMPLATE
   ============================ */
.wp-block-post-template {
  margin: 2rem 0;
}

.wp-block-post-template li {
  background: #FFFFFF;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(106, 90, 224, 0.06);
  transition: box-shadow 0.2s, transform 0.2s;
}

.wp-block-post-template li:hover {
  box-shadow: 0 8px 30px rgba(106, 90, 224, 0.1);
  transform: translateY(-2px);
}

.wp-block-post-featured-image img {
  border-radius: 1rem;
}

.wp-block-post-title a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  color: #2D2A4A;
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-post-title a:hover {
  color: #6A5AE0;
}

.wp-block-post-date {
  font-family: 'Poppins', sans-serif;
  font-size: 0.8rem;
  color: rgba(45, 42, 74, 0.5);
}

.wp-block-post-excerpt {
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  color: rgba(45, 42, 74, 0.65);
  line-height: 1.6;
}

.wp-block-post-terms a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  background: rgba(106, 90, 224, 0.08);
  color: #6A5AE0;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  text-decoration: none;
  transition: all 0.2s;
}

.wp-block-post-terms a:hover {
  background: #6A5AE0;
  color: #FFFFFF;
}

/* ============================
   QUERY PAGINATION
   ============================ */
.wp-block-query-pagination {
  margin: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.wp-block-query-pagination a,
.wp-block-query-pagination span {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: #2D2A4A;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background: #FFFFFF;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  transition: all 0.2s;
}

.wp-block-query-pagination a:hover {
  background: #6A5AE0;
  color: #FFFFFF;
}

/* ============================
   COMMENTS (Comment form & list)
   ============================ */
.wp-block-comments,
.wp-block-post-comments-form {
  margin: 2rem 0;
}

.wp-block-post-comments-form textarea,
.wp-block-post-comments-form input[type="text"],
.wp-block-post-comments-form input[type="email"],
.wp-block-post-comments-form input[type="url"] {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  padding: 0.75rem 1.25rem;
  border: 2px solid rgba(106, 90, 224, 0.15);
  border-radius: 1rem;
  background: #FFFFFF;
  color: #2D2A4A;
  outline: none;
  width: 100%;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.wp-block-post-comments-form textarea:focus,
.wp-block-post-comments-form input:focus {
  border-color: #6A5AE0;
  box-shadow: 0 0 0 3px rgba(106, 90, 224, 0.1);
}

.wp-block-post-comments-form label {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #2D2A4A;
}

.wp-block-post-comments-form input[type="submit"] {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  background: #6A5AE0;
  color: #FFFFFF;
  border: none;
  border-radius: 9999px;
  padding: 0.75rem 2rem;
  cursor: pointer;
  transition: background 0.2s;
  box-shadow: 0 4px 14px rgba(106, 90, 224, 0.25);
}

.wp-block-post-comments-form input[type="submit"]:hover {
  background: #5a4bd0;
}

/* ============================
   DETAILS / FAQ (accordéon natif)
   ============================ */
.wp-block-details {
  background: #FFFFFF;
  border: 1px solid rgba(106, 90, 224, 0.12);
  border-radius: 1.25rem;
  padding: 0;
  margin-bottom: 0.75rem;
  box-shadow: 0 2px 8px rgba(106, 90, 224, 0.06);
  transition: all 0.2s;
  overflow: hidden;
}

.wp-block-details:hover {
  border-color: rgba(106, 90, 224, 0.25);
  box-shadow: 0 4px 16px rgba(106, 90, 224, 0.1);
}

.wp-block-details[open] {
  border-color: #6A5AE0;
  box-shadow: 0 4px 20px rgba(106, 90, 224, 0.12);
}

.wp-block-details summary {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #2D2A4A;
  padding: 1.25rem 1.5rem;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  transition: color 0.2s;
}

.wp-block-details summary:hover {
  color: #6A5AE0;
}

.wp-block-details[open] summary {
  color: #6A5AE0;
  border-bottom: 1px solid rgba(106, 90, 224, 0.1);
}

/* Flèche custom */
.wp-block-details summary::-webkit-details-marker {
  display: none;
}

.wp-block-details summary::after {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s;
  flex-shrink: 0;
}

.wp-block-details[open] summary::after {
  transform: rotate(-135deg);
}

/* Contenu de la réponse */
.wp-block-details > :not(summary) {
  padding: 0 1.5rem;
}

.wp-block-details > :not(summary):last-child {
  padding-bottom: 1.25rem;
}

.wp-block-details p {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(45, 42, 74, 0.7);
  margin: 0.75rem 0 0;
}

/* ============================
   ACCORDION (WordPress natif)
   ============================ */
.wp-block-accordion {
  margin: 1.5rem 0;
}

.wp-block-accordion-item {
  background: #FFFFFF;
  border: 1px solid rgba(106, 90, 224, 0.12);
  border-radius: 1.25rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 2px 8px rgba(106, 90, 224, 0.06);
  transition: all 0.2s;
  overflow: hidden;
}

.wp-block-accordion-item:hover {
  border-color: rgba(106, 90, 224, 0.25);
  box-shadow: 0 4px 16px rgba(106, 90, 224, 0.1);
}

.wp-block-accordion-item.is-open {
  border-color: #6A5AE0;
  box-shadow: 0 4px 20px rgba(106, 90, 224, 0.12);
}

.wp-block-accordion-heading {
  margin: 0;
}

.wp-block-accordion-heading__toggle {
  width: 100%;
  background: none;
  border: none;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #2D2A4A;
  padding: 1.25rem 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  transition: color 0.2s;
  text-align: left;
}

.wp-block-accordion-heading__toggle:hover {
  color: #6A5AE0;
}

.is-open .wp-block-accordion-heading__toggle {
  color: #6A5AE0;
  border-bottom: 1px solid rgba(106, 90, 224, 0.1);
}

.wp-block-accordion-heading__toggle-icon {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  color: currentColor;
  transition: transform 0.2s;
  flex-shrink: 0;
}

.is-open .wp-block-accordion-heading__toggle-icon {
  transform: rotate(45deg);
}

.wp-block-accordion-panel {
  padding: 0 1.5rem;
}

.wp-block-accordion-panel p {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(45, 42, 74, 0.7);
  margin: 0.75rem 0;
}

.wp-block-accordion-panel p:last-child {
  margin-bottom: 1.25rem;
}

.wp-block-accordion-panel a {
  color: #6A5AE0;
  text-decoration: underline;
}

.wp-block-accordion-panel a:hover {
  color: #5a4bd0;
}

/* ============================
   Rank Math FAQ bloc
   ============================ */
.rank-math-faq-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.rank-math-faq-list .rank-math-list-item {
  background: #FFFFFF;
  border: 1px solid rgba(106, 90, 224, 0.12);
  border-radius: 1.25rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 2px 8px rgba(106, 90, 224, 0.06);
}

.rank-math-faq-list .rank-math-question {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #2D2A4A;
  margin-bottom: 0.5rem;
}

.rank-math-faq-list .rank-math-answer {
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(45, 42, 74, 0.7);
}

/* ============================
   Bloc Témoignage / Reviews
   ============================ */
#reviews,
.groowble-review {
  background: linear-gradient(135deg, #6A5AE0 0%, #4A3ABF 100%) !important;
  padding: 4rem 2rem;
  position: relative;
  overflow: hidden;
}

#reviews::before,
.groowble-review::before {
  content: '\201C';
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Nunito', sans-serif;
  font-size: 10rem;
  font-weight: 800;
  color: rgba(255,255,255,0.06);
  line-height: 1;
  pointer-events: none;
}

#reviews .wp-block-group__inner-container,
.groowble-review .wp-block-group__inner-container {
  max-width: 42rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* Avatar */
#reviews .wp-block-image figure,
.groowble-review .wp-block-image figure {
  margin: 0 auto 1.5rem;
  display: flex;
  justify-content: center;
}

#reviews .wp-block-image img,
.groowble-review .wp-block-image img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 9999px;
  border: 3px solid rgba(255,255,255,0.3);
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
  object-fit: cover;
}

/* Texte du témoignage */
#reviews p,
.groowble-review p {
  color: #FFFFFF;
  font-family: 'Poppins', sans-serif;
}

#reviews p:not(:last-child),
.groowble-review p:not(:last-child) {
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 400;
  font-style: italic;
  opacity: 0.95;
  margin-bottom: 1.5rem;
}

/* Nom de l'auteur */
#reviews p:last-child,
.groowble-review p:last-child {
  font-size: 0.9rem;
  opacity: 0.7;
  margin-bottom: 0;
}

#reviews p:last-child strong,
.groowble-review p:last-child strong {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  color: #FFB800;
  opacity: 1;
}

/* ============================
   FORMS (generic WP forms)
   ============================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
  font-family: 'Poppins', sans-serif;
}

/* ============================
   NOTICE / MESSAGE blocks
   ============================ */
.wp-block-group.has-background p {
  font-family: 'Poppins', sans-serif;
}

/* ============================
   Override Astra leftover classes
   ============================ */
[class*="has-ast-global-color"][class*="background-color"] {
  background-color: transparent !important;
}

/* ============================
   RTL SUPPORT
   ============================ */
html[dir="rtl"] .wp-block-list {
  padding-left: 0;
  padding-right: 1.5rem;
}

html[dir="rtl"] blockquote,
html[dir="rtl"] .wp-block-quote {
  border-left: none;
  border-right: 4px solid #6A5AE0;
  border-radius: 1.5rem 0 0 1.5rem;
}

html[dir="rtl"] blockquote::before,
html[dir="rtl"] .wp-block-quote::before {
  left: auto;
  right: 1.2rem;
}

html[dir="rtl"] .wp-block-quote.is-style-large,
html[dir="rtl"] .wp-block-quote.is-large {
  border-left-width: 0;
  border-right-width: 4px;
  border-radius: 2rem 0 0 2rem;
}

html[dir="rtl"] .wp-block-verse {
  border-left: none;
  border-right: 3px solid #FFB800;
  border-radius: 1rem 0 0 1rem;
}

html[dir="rtl"] .wp-block-table thead th {
  text-align: right;
}

html[dir="rtl"] blockquote cite::before,
html[dir="rtl"] .wp-block-quote cite::before,
html[dir="rtl"] .wp-block-quote__citation::before {
  content: ' —';
}

html[dir="rtl"] body {
  text-align: right;
}
