/* The article cards' calls to action (« Lire le guide », « Voir nos articles sur … ») and the list of a hub's other
   articles (« Tous nos articles sur ce sujet »). Added by scripts/clean_pages.mjs; the values are the site's own: the
   brand periwinkle of its buttons (--e-global-color-a07b781, #849BFF), its navy text (--e-global-color-585c903,
   #2F327D), the Nunito Sans / DM Sans faces, the 1.6875rem radius of the Prime Profs block's button and the light
   periwinkle ground (#849BFF1A) of the site's panels. */

/* --- the articles section of a hub or a category: tighter spacing (the Elementor values were 6rem above the section and
   4rem under its title) and a wider intro (65 characters a line instead of 50) --------------------------------------- */
.e-con.pp-articles { --padding-top: 3.5rem !important; }
.pp-articles .why-title.elementor-widget-heading { margin-bottom: 1.5rem !important; }
.pp-articles > .e-con-inner > .elementor-widget-text-editor:not(.pp-all-articles),
.pp-articles > .elementor-widget-text-editor:not(.pp-all-articles) {
  max-width: 65ch !important;
  padding-bottom: 2rem !important;
}
@media (max-width: 1100px) {
  .e-con.pp-articles { --padding-top: 2.5rem !important; }
}
@media (max-width: 767px) {
  .e-con.pp-articles { --padding-top: 2rem !important; }
  .pp-articles .why-title.elementor-widget-heading { margin-bottom: 1rem !important; }
  .pp-articles > .e-con-inner > .elementor-widget-text-editor:not(.pp-all-articles),
  .pp-articles > .elementor-widget-text-editor:not(.pp-all-articles) { padding-bottom: 1.5rem !important; }
}

/* --- in a card ---------------------------------------------------------------------------------------------------- */
.pp-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.25rem;
  margin-top: 1rem;
}
.pp-card-cta {
  display: inline-flex;
  align-items: center;
  font-family: "Nunito Sans", sans-serif;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.25rem;
  color: #fff;
  background-color: var(--e-global-color-a07b781, #849BFF);
  border: 1px solid var(--e-global-color-a07b781, #849BFF);
  border-radius: 1.6875rem;
  padding: .5rem 1.5rem;
  text-decoration: none;
  transition: background-color .2s, color .2s;
}
.pp-card-cta:hover,
.pp-card-cta:focus-visible {
  color: var(--e-global-color-a07b781, #849BFF);
  background-color: #fff;
}
.pp-card-more {
  font-family: "DM Sans", sans-serif;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.25rem;
  color: var(--e-global-color-585c903, #2F327D);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s, color .2s;
}
.pp-card-more::after { content: " →"; }
.pp-card-more:hover,
.pp-card-more:focus-visible {
  color: var(--e-global-color-a07b781, #849BFF);
  border-bottom-color: currentColor;
}

/* --- the hub's other articles: the last row of the cards' grid, in the look of the subject tiles of
   /blog/matieres-scolaires/ (« Dans quelle matière souhaitez-vous progresser ? »): a white panel with the 60px radius
   and the periwinkle shadow, pill tiles on the #D0D9FF → #D9C6FF gradient, an icon, the title, the round arrow, and the
   2px inset outline on hover. ---------------------------------------------------------------------------------- */
.e-con.pp-more-list {
  --width: 100%;
  --flex-direction: column;
  --align-items: stretch;
  --gap: 2rem;
  --padding-top: 2.375rem;
  --padding-bottom: 2.5rem;
  --padding-left: 2.5rem;
  --padding-right: 2.5rem;
  box-sizing: border-box;
  max-width: 100%;
  margin: 3rem auto 0;
  background-color: #fff;
  border-radius: 60px;
  box-shadow: 0 -29px 50px 0 rgb(132 155 255 / .15);
}
.pp-more-list .pp-more-tiles { width: 100%; text-align: left; }
.pp-more-list .pp-more-title {
  margin: 0 0 2rem;
  font-family: "DM Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--e-global-color-585c903, #2F327D);
  text-wrap: balance;
}
.pp-more-list .pp-more-title span {
  font-family: "Caveat", cursive;
  font-size: 2.5rem;
  font-weight: 400;
  color: var(--e-global-color-a07b781, #849BFF);
}
.pp-more-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
  gap: 2.5rem 1.25rem;
}
.pp-more-list li { min-width: 0; }
.pp-more-list .pp-tile {
  box-sizing: border-box;
  height: 100%;
  min-height: 4.875rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1.5rem;
  border-radius: 96rem;
  background-image: linear-gradient(180deg, #D0D9FF99 0%, #D9C6FF33 100%);
  box-shadow: inset 0 0 0 0 #fff0;
  color: var(--e-global-color-a07b781, #849BFF);
  text-decoration: none;
  transition: box-shadow .3s ease;
}
.pp-more-list .pp-tile:hover { box-shadow: inset 0 0 0 2px var(--e-global-color-a07b781, #849BFF); }
.pp-more-list .pp-tile-icon,
.pp-more-list .pp-tile-arrow { flex: none; display: inline-flex; }
.pp-more-list .pp-tile-icon svg { width: 1.875rem; height: 1.875rem; }
.pp-more-list .pp-tile-arrow svg { width: 1.75rem; height: 1.75rem; }
.pp-more-list .pp-tile-title {
  flex: 1;
  min-width: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: var(--e-global-color-585c903, #2F327D);
  text-align: center;
  overflow-wrap: anywhere;
}
@media (max-width: 1100px) {
  .e-con.pp-more-list { --padding-top: 2rem; --padding-bottom: 2rem; --padding-left: 1.25rem; --padding-right: 1.25rem; --gap: 1.25rem; border-radius: 30px; }
  .pp-more-list ul { gap: 1rem; }
}
@media (max-width: 767px) {
  .pp-more-list .pp-more-title { font-size: 1.25rem; margin-bottom: 1.25rem; }
  .pp-more-list .pp-more-title span { font-size: 1.75rem; }
  .pp-more-list .pp-tile { padding: .75rem 1.125rem; min-height: 4rem; }
  .pp-more-list .pp-tile-title { font-size: .9375rem; }
}

.pp-card-cta:focus-visible,
.pp-card-more:focus-visible,
.pp-more-list a:focus-visible {
  outline: 2px solid var(--e-global-color-585c903, #2F327D);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .pp-card-cta, .pp-card-more, .pp-more-list .pp-tile { transition: none; }
}

/* --- the Prime Profs block's text: two paragraphs, the proofs as checked pills, the Money Page sentence ------------- */
.elementor-widget-text-editor.pp-cta-text { color: var(--e-global-color-585c903, #2F327D) !important; }
.pp-cta-text p { margin: 0 !important; }
.pp-cta-text p + p { margin-top: .875rem !important; }
.pp-cta-text .pp-proofs {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .625rem;
}
.pp-cta-text .pp-proofs li {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  border-radius: 96rem;
  background-color: #fff;
  box-shadow: 0 4px 14px rgb(132 155 255 / .18);
  font-family: "DM Sans", sans-serif;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--e-global-color-585c903, #2F327D);
}
.pp-cta-text .pp-proofs svg { flex: none; color: var(--e-global-color-a07b781, #849BFF); }
.pp-cta-text .pp-money { margin-top: 1.25rem !important; font-size: .95em; }
.pp-cta-text .pp-money a { color: var(--e-global-color-585c903, #2F327D); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .pp-cta-text .pp-proofs { gap: .5rem; }
  .pp-cta-text .pp-proofs li { font-size: .875rem; padding: .4375rem .875rem; }
}
@media (min-width: 1101px) {
  .elementor-widget-text-editor.pp-cta-text { font-size: 1.2rem !important; line-height: 1.6 !important; --container-widget-width: 48ch !important; width: 48ch !important; max-width: 48ch !important; }
}

/* --- the article cards of the blog home, the hubs and the categories (scripts/clean_pages.mjs articleGrid): a grid of
   cards, the first ones shown, the others at each « Voir plus d'articles » --------------------------------------------- */
.pp-all-articles { width: min(100%, 80rem) !important; max-width: 80rem !important; align-self: center !important; --container-widget-width: min(100%, 80rem); margin-inline: auto; }
.pp-agrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.pp-acard { display: flex; flex-direction: column; overflow: hidden; border-radius: 2rem; background: #F3F5FF; box-shadow: 0 10px 30px rgb(132 155 255 / .10); transition: transform .25s ease, box-shadow .25s ease; }
.pp-acard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgb(132 155 255 / .20); }
.pp-agrid > [class*="pp-c"] { display: none; }
.pp-acard-img { position: relative; display: block; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #849BFF, #2F327D) center / cover no-repeat; }
.pp-acard-chips { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; flex-wrap: wrap; gap: .375rem; }
.pp-acard-chip.pp-acard-hub { background: #ea9db0; color: var(--e-global-color-585c903, #2F327D); }
.pp-acard-chip { padding: .3rem .8rem; border-radius: 96rem; background: var(--e-global-color-a07b781, #849BFF); color: #fff; font: 600 .75rem/1.2 "DM Sans", sans-serif; text-transform: uppercase; }
.pp-acard-body { display: flex; flex: 1; flex-direction: column; gap: .5rem; padding: .875rem 1.5rem 1rem; }
.pp-acard-title { margin: 0; font: 700 1.125rem/1.35 "DM Sans", sans-serif; }
.pp-acard-title a { color: var(--e-global-color-585c903, #2F327D); text-decoration: none; }
.pp-acard-title a:hover { color: var(--e-global-color-a07b781, #849BFF); }
.pp-acard-meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin: 0; font: 500 .875rem/1.4 "Nunito Sans", sans-serif; color: var(--e-global-color-a07b781, #849BFF); }
.pp-acard .pp-card-actions { margin-top: auto; padding-top: .375rem; }
.pp-amore { display: flex; justify-content: center; margin-top: 2.5rem; }
.pp-more-btn { display: none; align-items: center; cursor: pointer; padding: .75rem 2rem; border-radius: 96rem; border: 1px solid var(--e-global-color-a07b781, #849BFF); color: var(--e-global-color-a07b781, #849BFF); background: #fff; font: 600 1rem/1.25 "Nunito Sans", sans-serif; transition: background-color .2s, color .2s; }
.pp-more-btn.pp-l1 { display: inline-flex; }
.pp-more-btn:hover { background: var(--e-global-color-a07b781, #849BFF); color: #fff; }
@media (max-width: 1100px) { .pp-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; } }
@media (max-width: 767px) { .pp-agrid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .pp-acard { transition: none; } .pp-acard:hover { transform: none; } }
/* the chips keep their colours whatever the page's own styles for spans */
.pp-agrid .pp-acard-chip { background-color: var(--e-global-color-a07b781, #849BFF) !important; color: #fff !important; }
.pp-agrid .pp-acard-chip.pp-acard-hub { background-color: #fff !important; color: var(--e-global-color-585c903, #2F327D) !important; }

/* --- the Prime Profs block of the hubs and categories (user, 2026-11-03): the site's look kept (periwinkle gradient,
   uppercase navy title, the teacher on the right), compact like the blog home's band ----------------------------- */
.e-con.pp-band > .e-con-inner > .e-con:first-child,
.e-con.pp-band > .e-con:first-child { --padding-top: 2.25rem !important; --padding-bottom: 2rem !important; --gap: .875rem !important; }
.pp-band .elementor-widget-heading .elementor-heading-title { font-size: clamp(1.5rem, 2.4vw, 2.25rem) !important; line-height: 1.15 !important; text-wrap: balance; }
.pp-band .elementor-widget-text-editor.pp-cta-text { font-size: 1.0625rem !important; line-height: 1.6 !important; }
.pp-band .pp-cta-text .pp-proofs { margin-top: 1rem; }
.pp-band .elementor-widget-image { align-self: flex-end !important; }
.pp-band .elementor-widget-image img { max-height: 22rem; width: auto; object-fit: contain; display: block; }
@media (max-width: 1100px) {
  .e-con.pp-band > .e-con-inner > .e-con:first-child,
  .e-con.pp-band > .e-con:first-child { --padding-top: 1.75rem !important; --padding-bottom: 1.75rem !important; }
}

/* hubs and categories (user's choice, 2026-11-03: « centré compact »): the block centred on its lavender gradient, no
   picture — the title, the text at reading width, the proofs in one row, the button */
.e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
.e-con.pp-band-centre > .e-con:first-child {
  --flex-direction: column !important; --align-items: center !important; --justify-content: center !important;
  --padding-top: 2.75rem !important; --padding-bottom: 2.75rem !important; --padding-left: 2rem !important; --padding-right: 2rem !important;
  text-align: center; max-width: none; width: 90% !important; --width: 90% !important; margin-inline: auto !important;
}
.pp-band-centre .e-con { --align-items: center !important; align-items: center !important; text-align: center; width: 100% !important; --width: 100% !important; }
.pp-band-centre .elementor-widget-image { display: none !important; }
.pp-band-centre .elementor-widget-heading,
.pp-band-centre .elementor-widget-heading .elementor-heading-title { text-align: center !important; margin-inline: auto; max-width: 44rem; }
.pp-band-centre .elementor-widget-text-editor.pp-cta-text { text-align: center; margin-inline: auto !important; --container-widget-width: 42rem !important; width: 100% !important; max-width: 42rem !important; }
.pp-band-centre .pp-cta-text .pp-proofs { justify-content: center; }
.pp-band-centre .elementor-widget-button { align-self: center !important; text-align: center; margin-inline: auto; }
@media (max-width: 767px) {
  .e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
  .e-con.pp-band-centre > .e-con:first-child { --padding-top: 1.75rem !important; --padding-bottom: 1.75rem !important; --padding-left: 1.25rem !important; --padding-right: 1.25rem !important; }
}

/* the centred block, refined (2026-11-03): sentence-case title (easier to read than capitals), the problem in grey and
   the answer in navy, the three proofs on one row, a button that says it goes somewhere, a soft frame and two light
   shapes for depth; the line the theme drew under the block is gone */
.e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
.e-con.pp-band-centre > .e-con:first-child {
  position: relative; overflow: hidden;
  background-image: 
    radial-gradient(circle at 94% 92%, rgba(217, 198, 255, 0.208) 0 9.5rem, transparent 9.55rem),
    linear-gradient(180deg, #C3CCFF 0%, #E6E9FF 55%, #FFFFFF 100%) !important;
  border: 1px solid rgb(132 155 255 / .25);
  box-shadow: 0 24px 60px rgb(132 155 255 / .18);
  border-radius: 2.5rem !important;
  --gap: 1.125rem !important;
}
.pp-band-centre { border: 0 !important; }
.pp-band-centre::after, .pp-band-centre > .e-con-inner::after { display: none !important; }
.pp-band-centre .elementor-widget-heading .elementor-heading-title {
  text-transform: none !important; font-size: clamp(1.75rem, 3vw, 2.5rem) !important; line-height: 1.15 !important;
  letter-spacing: -.02em !important; color: var(--e-global-color-585c903, #2F327D) !important;
}
.pp-band-centre .pp-cta-text p:first-child { color: #5B5D7E; }
.pp-band-centre .pp-cta-text p + p { color: var(--e-global-color-585c903, #2F327D); font-weight: 600; }
.pp-band-centre .elementor-widget-text-editor.pp-cta-text { --container-widget-width: 46rem !important; max-width: 46rem !important; }
.pp-band-centre .pp-cta-text .pp-proofs { flex-wrap: wrap; gap: .5rem .625rem; margin-top: 1.25rem !important; }
.pp-band-centre .pp-cta-text .pp-proofs li { box-shadow: 0 6px 16px rgb(47 50 125 / .08); }
.pp-band-centre .elementor-widget-button .elementor-button {
  border-radius: 96rem !important; padding: 1rem 2.25rem !important; font-size: 1.0625rem !important;
  background-color: var(--e-global-color-a07b781, #849BFF) !important; color: #fff !important;
  box-shadow: 0 12px 28px rgb(132 155 255 / .40); transition: transform .2s ease, box-shadow .2s ease, background-color .2s;
}
.pp-band-centre .elementor-widget-button .elementor-button .elementor-button-text::after { content: " "; }
.pp-band-centre .elementor-widget-button .elementor-button:hover { transform: translateY(-2px); background-color: #849BFF !important; box-shadow: 0 16px 34px rgba(132, 155, 255, 0.34); }
.pp-band-centre .elementor-widget-button .elementor-button:focus-visible { outline: 3px solid var(--e-global-color-585c903, #2F327D); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .pp-band-centre .elementor-widget-button .elementor-button { transition: none; } .pp-band-centre .elementor-widget-button .elementor-button:hover { transform: none; } }
@media (max-width: 767px) { .e-con.pp-band-centre > .e-con-inner > .e-con:first-child, .e-con.pp-band-centre > .e-con:first-child { border-radius: 1.75rem !important; } }

/* the button's arrow (user, 2026-11-03): the site's own hand-drawn arrow, outside the button on its right, pointing at
   it — as next to the FAQ's « Contactez-nous » button */
.pp-band-centre .elementor-widget-button .elementor-button .elementor-button-text::after { content: none !important; }
.pp-band-centre .elementor-widget-button { position: relative; overflow: visible !important; }
.pp-band-centre .elementor-widget-button::after {
  content: ""; position: absolute; left: 100%; top: 30%; width: 123px; height: 85px; margin-left: .75rem; transform: translateY(-50%);
  background: url("https://www.primeprofs.fr/wp-content/uploads/2026/01/arrow.svg") center / contain no-repeat; pointer-events: none;
}
@media (max-width: 767px) { .pp-band-centre .elementor-widget-button::after { display: none; } }
/* the block's width follows the FAQ's box under it (90% of the page, 16px gutters under 1025px, full width on a phone) */
@media (max-width: 924px) { .e-con.pp-band-centre > .e-con-inner > .e-con:first-child, .e-con.pp-band-centre > .e-con:first-child { width: 90% !important; --width: 90% !important; } }
@media (max-width: 767px) { .e-con.pp-band-centre > .e-con-inner > .e-con:first-child, .e-con.pp-band-centre > .e-con:first-child { width: 100% !important; --width: 100% !important; } }
@media (max-width: 924px) { .e-con.pp-band-centre { --padding-left: 16px !important; --padding-right: 16px !important; } }
/* a little lower (user, 2026-11-03): less padding and space between the parts */
.e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
.e-con.pp-band-centre > .e-con:first-child { --padding-top: 2rem !important; --padding-bottom: 2rem !important; --gap: 0.55rem !important; }
.pp-band-centre .pp-cta-text p + p { margin-top: .5rem !important; }
.pp-band-centre .pp-cta-text .pp-proofs { margin-top: .875rem !important; }
.pp-band-centre .elementor-widget-button .elementor-button { padding: .775rem 1rem !important; }
@media (max-width: 767px) { .e-con.pp-band-centre > .e-con-inner > .e-con:first-child, .e-con.pp-band-centre > .e-con:first-child { --padding-top: 1.5rem !important; --padding-bottom: 1.5rem !important; } }
/* on wide screens the FAQ's box stops at 1440px: the block too */
.e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
.e-con.pp-band-centre > .e-con:first-child { max-width: 1440px !important; }
/* content aligned left, not centred (user, 2026-11-03) */
.e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
.e-con.pp-band-centre > .e-con:first-child { --align-items: flex-start !important; text-align: left !important; --padding-left: 3rem !important; --padding-right: 3rem !important; }
.pp-band-centre .e-con { --align-items: flex-start !important; align-items: flex-start !important; text-align: left !important; }
.pp-band-centre .elementor-widget-heading,
.pp-band-centre .elementor-widget-heading .elementor-heading-title { text-align: left !important; margin-inline: 0 !important; }
.pp-band-centre .elementor-widget-text-editor.pp-cta-text { text-align: left !important; margin-inline: 0 !important; }
.pp-band-centre .pp-cta-text .pp-proofs { justify-content: flex-start !important; }
.pp-band-centre .elementor-widget-button { align-self: flex-start !important; text-align: left !important; margin-inline: 0 !important; }
@media (max-width: 767px) { .e-con.pp-band-centre > .e-con-inner > .e-con:first-child, .e-con.pp-band-centre > .e-con:first-child { --padding-left: 1.25rem !important; --padding-right: 1.25rem !important; } }
/* the teacher's picture back, in the empty space on the right (user, 2026-11-03): anchored to the bottom right of the
   panel; the text keeps its column on the left. Hidden on phones and tablets, where there is no room beside the text. */
@media (min-width: 1100px) {
  .pp-band-centre .elementor-widget-image { display: block !important; position: absolute !important; right: 3rem; bottom: 0; width: auto !important; max-width: 38% !important; margin: 0 !important; z-index: 1; }
  .pp-band-centre .elementor-widget-image img { display: block; max-height: 22rem !important; width: auto; object-fit: contain; }
  .pp-band-centre .elementor-widget-heading,
  .pp-band-centre .elementor-widget-text-editor.pp-cta-text { max-width: min(46rem, 58%) !important; }
}
/* the picture larger (user, 2026-11-03) */
@media (min-width: 1105px) {
  .pp-band-centre .elementor-widget-image { max-width: 52% !important; right: 1rem; }
  .pp-band-centre .elementor-widget-image img { max-height: 50rem !important; }
}
/* less space between the block and the FAQ under it (user, 2026-11-03): 96px → 48px (32px on a phone) */
.e-con.pp-band-centre { --padding-bottom: 3rem !important; }
@media (max-width: 767px) { .e-con.pp-band-centre { --padding-bottom: 2rem !important; } }
/* the « Explorez d'autres… » tiles of a hub: the grid kept an empty second row (2 rows declared, 3 tiles) — about 335px of
   blank space above the Prime Profs block; rows now as tall as their tiles */
.e-con.matiere { --e-con-grid-template-rows: auto !important; grid-template-rows: auto !important; }
/* the Prime Profs block: 48px above it (was 96px), no border (user, 2026-11-03) */
.e-con.pp-band-centre { --padding-top: 3rem !important; }
@media (max-width: 767px) { .e-con.pp-band-centre { --padding-top: 2rem !important; } }
.e-con.pp-band-centre > .e-con-inner > .e-con:first-child,
.e-con.pp-band-centre > .e-con:first-child { border: 0 !important; }
/* the FAQ, tighter (user, 2026-11-03): its panel 60px/56px → 40px/48px, each question 89px → about 60px high (the round
   arrow 56px → 32px, 16px → 12px above and below) */
.e-con.e-grid:has(.eael-accordion-header) { --padding-top: 2.5rem !important; --padding-bottom: 2.5rem !important; --padding-left: 3rem !important; --padding-right: 3rem !important; padding: 2.5rem 3rem !important; }
.eael-accordion-header.elementor-tab-title { padding-top: .75rem !important; padding-bottom: .75rem !important; }
.eael-accordion-header .fa-toggle,
.eael-accordion-header .fa-toggle svg { height: 2rem !important; width: auto; max-height: 2rem; }
@media (max-width: 767px) { .e-con.e-grid:has(.eael-accordion-header) { padding: 1.75rem 1.25rem !important; } }
.eael-accordion-header.elementor-tab-title { display: flex !important; align-items: center !important; justify-content: space-between; gap: 1rem; }
.eael-accordion-header .fa-toggle { flex: none; display: inline-flex !important; align-items: center; order: 2; }
.eael-accordion-header.elementor-tab-title { gap: .5rem; }
.eael-accordion-header > :not(.fa-toggle) { flex: 1 1 auto; min-width: 0; max-width: none !important; }
.eael-accordion-header .fa-toggle { padding-left: 0 !important; }
/* the hub chip of the article cards: the gradient of its category's tile on the blog home (the same values), over white
   as on the home (user, 2026-11-03); text in navy */
.pp-agrid .pp-acard-chip.pp-acard-hub { color: var(--e-global-color-585c903, #2F327D) !important; background-color: #fff !important; }
.pp-agrid .pp-acard-hub.pp-cat-reussite-scolaire { background-image: linear-gradient(180deg, #738FFF33 14%, #4690D400 100%) !important; }
.pp-agrid .pp-acard-hub.pp-cat-examens { background-image: linear-gradient(-90deg, rgb(110 191 244 / .044) 24%, rgb(255 177 242 / .2) 68%) !important; }
.pp-agrid .pp-acard-hub.pp-cat-ia-apprentissage { background-image: linear-gradient(180deg, #00A1FF33 0%, #6EBFF438 77%) !important; }
.pp-agrid .pp-acard-hub.pp-cat-matieres-scolaires { background-image: linear-gradient(90deg, #9F66FF33 0%, #4690D405 100%) !important; }
.pp-agrid .pp-acard-hub.pp-cat-langues { background-image: linear-gradient(90deg, #73FFAD30 6%, #6EBFF438 91%) !important; }
.pp-agrid .pp-acard-hub.pp-cat-orientation-parcours { background-image: linear-gradient(-120deg, #F3FF8633 0%, #6EBFF438 85%) !important; }
/* the hub chip: one soft, plain colour per hub, no gradient (user, 2026-11-03) — set by clean_pages.mjs hubColor (--hub-bg) */
.pp-agrid .pp-acard-chip.pp-acard-hub[class*="pp-cat-"] { background: var(--hub-bg, #f25386b9) !important; color: #fff !important; }
/* phones: the tiles section and the articles section of the categories and hubs keep a 16px margin on each side, as
   the Prime Profs block and the FAQ do (user, 2026-11-03) */
@media (max-width: 767px) {
  .e-con.elementor-element-77b3d013, .e-con.pp-articles { --padding-left: 16px !important; --padding-right: 16px !important; }
}
/* phones: the same 16px on the hubs' « Explorez d'autres… » section (d0b2575, 278c66f on Bac général), the subjects
   section of Matières scolaires (39deaeb) and the categories section of the blog home (580d0dfd) */
@media (max-width: 767px) {
  .e-con.elementor-element-d0b2575, .e-con.elementor-element-278c66f, .e-con.elementor-element-39deaeb, .e-con.elementor-element-580d0dfd { --padding-left: 16px !important; --padding-right: 16px !important; }
}
