/* Global overrides for all template pages */
@import url("./cse-theme.css");

/* Accueil : .ticker (même rendu que #tntc_newsTicker.jt-ticker) */
.ticker {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  height: 50px;
  width: 100%;
}

.ticker-label {
  background: var(--cse-ticker-dark);
  color: var(--cse-ticker-on-dark);
  font: 700 1.1rem "Plus Jakarta Sans", sans-serif;
  padding: 0 1rem;
  height: 100%;
  display: grid;
  place-items: center;
}

.ticker-track {
  background: var(--cse-ticker-accent);
  color: var(--cse-ticker-on-accent);
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding-inline: 0.75rem;
  font-weight: 700;
  min-width: 0;
  height: 50px;
  border-bottom: 1px solid var(--cse-border-strong);
}

.ticker-prefix {
  background: var(--cse-ticker-dark);
  color: var(--cse-ticker-on-dark);
  border-radius: 5px;
  padding: 0.2rem 0.45rem;
  font: 700 0.8rem "Roboto", "Plus Jakarta Sans", sans-serif;
  flex: 0 0 auto;
}

.ticker-message {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 50px;
  font: 700 0.95rem "Roboto", "Plus Jakarta Sans", sans-serif;
  min-width: 0;
  flex: 1 1 auto;
  color: var(--cse-ticker-on-accent);
}

.ticker-nav {
  height: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--cse-ticker-dark);
  border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.ticker-nav button {
  width: 34px;
  border: 0;
  background: transparent;
  color: #eee;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}

.ticker-nav button + button {
  border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.ticker-nav button:hover {
  color: var(--cse-ticker-on-dark);
}

/* Export WP/Elementor : ancien bandeau « À la une » hors BD — un seul bandeau dynamique (BD) */
#tntc_newsTicker.ent_wrapper {
  display: none !important;
}

/* Shared custom ticker (same spirit as accueil-repro) */
#tntc_newsTicker.jt-ticker {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  width: 100%;
  height: 50px !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 0 !important;
  background: var(--jt-ticker-yellow) !important;
}

#tntc_newsTicker.jt-ticker .jt-ticker-label {
  background: var(--jt-ticker-dark);
  color: var(--jt-ticker-yellow);
  font: 700 1.1rem "Plus Jakarta Sans", sans-serif;
  display: grid;
  place-items: center;
  padding: 0 1rem;
  height: 100%;
  white-space: nowrap;
}

#tntc_newsTicker.jt-ticker .jt-ticker-track {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding-inline: .75rem;
  background: var(--jt-ticker-yellow);
  height: 50px;
  border-bottom: 1px solid var(--cse-border-strong);
}

#tntc_newsTicker.jt-ticker .jt-ticker-prefix {
  display: inline-flex;
  align-items: center;
  background: var(--jt-ticker-dark);
  color: var(--jt-ticker-yellow);
  border-radius: 5px;
  font: 700 .8rem "Roboto", "Plus Jakarta Sans", sans-serif;
  padding: .2rem .45rem;
  white-space: nowrap;
}

#tntc_newsTicker.jt-ticker .jt-ticker-link {
  color: var(--cse-ticker-on-accent);
  text-decoration: none;
  min-width: 0;
  flex: 1;
}

#tntc_newsTicker.jt-ticker .jt-ticker-message {
  display: block;
  font: 700 .95rem "Roboto", "Plus Jakarta Sans", sans-serif;
  line-height: 50px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tntc_newsTicker.jt-ticker .jt-ticker-nav {
  height: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--cse-ticker-dark);
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

#tntc_newsTicker.jt-ticker .jt-ticker-nav button {
  border: 0;
  background: transparent;
  color: #eee;
  width: 34px;
  cursor: pointer;
  font-size: 1.3rem;
  font-family: Arial, sans-serif;
  font-weight: 700;
  line-height: 1;
}

#tntc_newsTicker.jt-ticker .jt-ticker-nav button + button {
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

#tntc_newsTicker.jt-ticker .jt-ticker-nav button:hover {
  color: var(--cse-ticker-on-dark);
}

html, body {
  overflow-x: hidden;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
}

/* Compact top ticker */
#tntc_newsTicker.ent_wrapper {
  height: 42px !important;
}

#tntc_newsTicker .ent_label,
#tntc_newsTicker .ent_navigation {
  padding: 10px !important;
}

#tntc_newsTicker .ent_label {
  background: var(--jt-ticker-dark) !important;
}

#tntc_newsTicker .ent_label span {
  color: var(--jt-ticker-yellow) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

#tntc_newsTicker .ent_news_wrapper {
  background: var(--jt-ticker-yellow) !important;
  height: 42px !important;
}

#tntc_newsTicker .ent_news_container .ent_news,
#tntc_newsTicker .ent_news_container .ent_news .ent_news_url {
  height: 42px !important;
}

#tntc_newsTicker .ent_news_container .ent_news_url {
  padding: 0 10px !important;
}

#tntc_newsTicker .ent_news_url .ent_heading,
#tntc_newsTicker .ent_news_url .ent_date,
#tntc_newsTicker .ent_news_url .ent_prefix {
  font-size: 13px !important;
}

#tntc_newsTicker .ent_navigation {
  background: var(--jt-ticker-dark) !important;
}

/* Hide duplicated "A la une" label rendered in right navigation */
#tntc_newsTicker .ent_navigation .ent_label,
#tntc_newsTicker .ent_navigation .ent_label span {
  display: none !important;
}

/* Some exports render a second top-level label block; keep only first one */
#tntc_newsTicker > .ent_label ~ .ent_label {
  display: none !important;
}

/* Keep only one ticker structure block when plugin duplicates nodes */
#tntc_newsTicker > .ent_label:not(:first-of-type),
#tntc_newsTicker > .ent_news_wrapper:not(:first-of-type),
#tntc_newsTicker > .ent_navigation:not(:first-of-type) {
  display: none !important;
}

/* Header/navbar compact look */
.elementor-148 .elementor-element.elementor-element-1b0215b5,
.elementor-148 .elementor-element.elementor-element-1b0215b5:not(.elementor-motion-effects-element-type-background),
.elementor-148 .elementor-element.elementor-element-1b0215b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-148 .elementor-element.elementor-element-2dbe946,
.elementor-148 .elementor-element.elementor-element-2dbe946:not(.elementor-motion-effects-element-type-background),
.elementor-148 .elementor-element.elementor-element-2dbe946 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background: var(--cse-gradient-header) !important;
  background-color: var(--cse-green-600) !important;
  box-shadow: var(--cse-shadow-sm);
}

.elementor-148 .elementor-element.elementor-element-3de3fdc .elementor-menu-toggle,
.elementor-148 .elementor-element.elementor-element-3de3fdc .elementor-menu-toggle svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.elementor-148 .elementor-element.elementor-element-358238ce,
.elementor-148 .elementor-element.elementor-element-d83ffdf,
.elementor-148 .elementor-element.elementor-element-6fdf3570,
.elementor-148 .elementor-element.elementor-element-3a12f1d7,
.elementor-148 .elementor-element.elementor-element-181f03ac {
  background: transparent !important;
  background-color: transparent !important;
}

/* Menu principal : liens visibles sur fond vert */
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item:hover,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item:focus {
  color: var(--cse-green-200) !important;
  fill: var(--cse-green-200) !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--cse-green-200) !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item .sub-arrow svg,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item .sub-arrow svg {
  fill: #ffffff !important;
}

.elementor-148 .elementor-element.elementor-element-358238ce,
.elementor-148 .elementor-element.elementor-element-d83ffdf {
  min-height: 52px;
}

.elementor-148 .elementor-element.elementor-element-2aaac4b img,
.elementor-148 .elementor-element.elementor-element-b5f8509 img {
  width: auto !important;
  height: clamp(44px, 5.2vw, 62px) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block;
}

/* Normalize any logo instance in header clones/widgets */
.elementor-148 .elementor-widget-theme-site-logo img,
.elementor-148 .custom-logo-link img,
.elementor-location-header .elementor-widget-theme-site-logo img {
  width: auto !important;
  height: clamp(44px, 5.2vw, 62px) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

/* Footer logo normalization */
.elementor-147 .elementor-widget-theme-site-logo img,
.elementor-location-footer .elementor-widget-theme-site-logo img {
  width: auto !important;
  height: clamp(56px, 8vw, 92px) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item {
  font-size: 14px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  color: #ffffff !important;
}

/* Keep a single submenu arrow (some exports render duplicates) */
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .elementor-item .sub-arrow ~ .sub-arrow {
  display: none !important;
}

.elementor-148 .elementor-element.elementor-element-468b7724 {
  --e-nav-menu-horizontal-menu-item-margin: 10px !important;
}

/* Match submenu look with accueil style */
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
  background: #fff !important;
  border-radius: 0 0 7px 7px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .12) !important;
  padding: .25rem 0 !important;
  min-width: 230px !important;
  overflow: hidden;
}

.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li > a,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li > .elementor-sub-item {
  display: flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: .65rem .75rem !important;
  color: var(--cse-text) !important;
  text-decoration: none !important;
  font: 500 .9rem "Plus Jakarta Sans", sans-serif !important;
  background: transparent !important;
}

.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li + li > a,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li + li > .elementor-sub-item {
  border-top: 1px dotted var(--cse-border) !important;
}

.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li > a:hover,
.elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li > .elementor-sub-item:hover {
  background: var(--cse-green-600) !important;
  color: var(--cse-text-inverse) !important;
}

/* Desktop nav stability: prevent stuck-open submenu on some exported pages */
@media (min-width: 1025px) {
  .elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
  .elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu {
    display: block !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.elementor-148 .elementor-element.elementor-element-17a96668 .elementor-button,
.elementor-148 .elementor-element.elementor-element-85d084c .elementor-button {
  background: var(--cse-green-500) !important;
  border-radius: 8px !important;
  padding: 9px 14px !important;
  font-size: 13px !important;
}

.elementor-148 .elementor-element.elementor-element-17a96668 .elementor-button:hover,
.elementor-148 .elementor-element.elementor-element-85d084c .elementor-button:hover {
  background: var(--cse-green-400) !important;
}

/* Footer consistency */
.elementor-147 .elementor-element.elementor-element-33bdf982 {
  background: var(--cse-gradient-footer) !important;
}

/* ---------- Cross-page visual finish ---------- */
.elementor .elementor-widget-heading .elementor-heading-title {
  text-wrap: balance;
}

.elementor .elementor-widget-button .elementor-button {
  border-radius: 9px !important;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

.elementor .elementor-widget-button .elementor-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, .15);
}

.elementor .elementor-widget-image img {
  border-radius: 10px;
}

.elementor .elementor-widget-social-icons .elementor-social-icon {
  transition: transform .2s ease !important;
}

.elementor .elementor-widget-social-icons .elementor-social-icon:hover {
  transform: translateY(-2px);
}

.elementor .elementor-widget-posts .elementor-post__card {
  border-radius: 14px !important;
  overflow: hidden !important;
}

.elementor .elementor-widget-posts .elementor-post__thumbnail img {
  transition: transform .35s ease !important;
}

.elementor .elementor-widget-posts .elementor-post__card:hover .elementor-post__thumbnail img {
  transform: scale(1.03) !important;
}

.elementor .elementor-widget-form .elementor-field,
.elementor .elementor-widget-form .elementor-field-textual,
.elementor .elementor-widget-form .elementor-select-wrapper select {
  border-radius: 10px !important;
}

.elementor .elementor-widget-form .elementor-button[type="submit"] {
  border-radius: 10px !important;
}

.elementor .elementor-widget-google_maps iframe,
.elementor .elementor-widget-google_maps .elementor-custom-embed {
  border-radius: 12px !important;
}

/* Tables (wpDataTables/simple table) across pages */
.wpDataTableContainerSimpleTable,
.wpDataTablesWrapper {
  border-radius: 12px !important;
  overflow: auto;
  box-shadow: var(--cse-shadow);
  -webkit-overflow-scrolling: touch;
}

.wpdtSimpleTable td,
.wpDataTable td,
.wpDataTable th {
  line-height: 1.35 !important;
}

.elementor-147 .elementor-element.elementor-element-305ae3c9 {
  border-top-color: var(--jt-orange) !important;
}

.elementor-147 .elementor-element.elementor-element-161a30f4 .elementor-button[type="submit"] {
  background-color: var(--jt-green) !important;
}

/* Responsive tune */
@media (max-width: 1024px) {
  #tntc_newsTicker.ent_wrapper {
    height: 38px !important;
  }

  #tntc_newsTicker .ent_news_wrapper,
  #tntc_newsTicker .ent_news_container .ent_news,
  #tntc_newsTicker .ent_news_container .ent_news .ent_news_url {
    height: 38px !important;
  }

  .elementor-148 .elementor-element.elementor-element-468b7724 {
    --nav-menu-icon-size: 24px !important;
  }

  .elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--dropdown .elementor-item {
    font-size: 14px !important;
  }

  .elementor-148 .elementor-element.elementor-element-468b7724 .elementor-nav-menu--dropdown .sub-menu {
    border-radius: 6px !important;
    box-shadow: none !important;
    margin-top: .35rem !important;
  }

  /* Generic two-column section collapse for tablet */
  .elementor .e-con.e-flex {
    --gap: 14px 14px;
  }

  .elementor .elementor-widget-posts .elementor-post__title,
  .elementor .elementor-widget-posts .elementor-post__title a {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  .elementor .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(23px, 4.8vw, 38px) !important;
    line-height: 1.2 !important;
  }

  .elementor .elementor-widget-text-editor {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 767px) {
  #tntc_newsTicker.jt-ticker {
    grid-template-columns: auto 1fr;
    height: 42px !important;
  }

  #tntc_newsTicker.jt-ticker .jt-ticker-label {
    font-size: 1rem;
    padding: 0 .7rem;
  }

  #tntc_newsTicker.jt-ticker .jt-ticker-track {
    padding: 0 .5rem;
    gap: 6px;
    height: 42px;
  }

  #tntc_newsTicker.jt-ticker .jt-ticker-prefix {
    font-size: 11px;
    padding: 3px 5px;
  }

  #tntc_newsTicker.jt-ticker .jt-ticker-message {
    font-size: .84rem;
    line-height: 42px;
  }

  #tntc_newsTicker.jt-ticker .jt-ticker-nav {
    display: none;
  }

  #tntc_newsTicker .ent_label {
    padding: 9px 8px !important;
  }

  #tntc_newsTicker .ent_label span {
    font-size: 18px !important;
  }

  #tntc_newsTicker .ent_news_url .ent_heading,
  #tntc_newsTicker .ent_news_url .ent_date,
  #tntc_newsTicker .ent_news_url .ent_prefix {
    font-size: 12px !important;
  }

  .elementor-148 .elementor-element.elementor-element-2aaac4b img,
  .elementor-148 .elementor-element.elementor-element-b5f8509 img {
    width: auto !important;
    height: clamp(38px, 11vw, 52px) !important;
  }

  .elementor-148 .elementor-widget-theme-site-logo img,
  .elementor-148 .custom-logo-link img,
  .elementor-location-header .elementor-widget-theme-site-logo img {
    width: auto !important;
    height: clamp(38px, 11vw, 52px) !important;
  }

  .elementor-147 .elementor-widget-theme-site-logo img,
  .elementor-location-footer .elementor-widget-theme-site-logo img {
    width: auto !important;
    height: clamp(50px, 16vw, 78px) !important;
  }

  .elementor .elementor-widget-posts .elementor-post__title,
  .elementor .elementor-widget-posts .elementor-post__title a {
    font-size: 18px !important;
    line-height: 1.28 !important;
  }

  .elementor .elementor-widget-posts .elementor-post__meta-data {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .elementor .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(20px, 7.2vw, 30px) !important;
  }

  .elementor .elementor-widget-text-editor {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  .elementor .elementor-widget-form .elementor-field-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor .elementor-widget-form .elementor-form-fields-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .wpdtSimpleTable,
  .wpDataTable {
    min-width: 640px;
  }

  .wpdtSimpleTable td,
  .wpDataTable td,
  .wpDataTable th {
    font-size: 12.5px !important;
    padding: 8px !important;
  }
}

/* Page-specific polish: Actualites (213) + Vie scolaire (215) */
.elementor-213 .elementor-widget-posts .elementor-post__card,
.elementor-215 .elementor-widget-posts .elementor-post__card {
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

.elementor-213 .elementor-widget-posts .elementor-post__card:hover,
.elementor-215 .elementor-widget-posts .elementor-post__card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.14) !important;
}

.elementor-213 .elementor-widget-posts .elementor-post__thumbnail img,
.elementor-215 .elementor-widget-posts .elementor-post__thumbnail img {
  transition: transform .45s ease !important;
}

.elementor-213 .elementor-widget-posts .elementor-post__card:hover .elementor-post__thumbnail img,
.elementor-215 .elementor-widget-posts .elementor-post__card:hover .elementor-post__thumbnail img {
  transform: scale(1.04) !important;
}

.elementor-213 .elementor-widget-posts .elementor-post__title,
.elementor-213 .elementor-widget-posts .elementor-post__title a,
.elementor-215 .elementor-widget-posts .elementor-post__title,
.elementor-215 .elementor-widget-posts .elementor-post__title a {
  font-size: 31px !important;
  line-height: 1.3 !important;
}

.elementor-213 .elementor-widget-posts .elementor-post__read-more,
.elementor-215 .elementor-widget-posts .elementor-post__read-more {
  color: var(--jt-green) !important;
  font-weight: 600 !important;
}

/* Headings/body copy rhythm */
.elementor-213 h1, .elementor-213 h2, .elementor-213 h3,
.elementor-215 h1, .elementor-215 h2, .elementor-215 h3 {
  letter-spacing: -.2px;
}

/* Safer responsive defaults for all pages */
@media (max-width: 1200px) {
  .elementor-widget-posts .elementor-post__title,
  .elementor-widget-posts .elementor-post__title a {
    font-size: 26px !important;
  }
}

@media (max-width: 1024px) {
  .elementor-widget-posts .elementor-post__title,
  .elementor-widget-posts .elementor-post__title a {
    font-size: 21px !important;
  }

  .elementor-widget-posts .elementor-post__meta-data {
    font-size: 13px !important;
  }
}

@media (max-width: 767px) {
  .elementor-widget-posts .elementor-post__title,
  .elementor-widget-posts .elementor-post__title a {
    font-size: 18px !important;
    line-height: 1.28 !important;
  }

  .elementor-widget-posts .elementor-post__read-more {
    font-size: 13px !important;
  }

  .elementor-widget-posts .elementor-post__meta-data {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
}

/* ---------- Contact page (211) ---------- */
.elementor-211 .elementor-widget-form .elementor-field {
  border-radius: 10px !important;
}

.elementor-211 .elementor-widget-form .elementor-button {
  background: var(--jt-green) !important;
  border-radius: 10px !important;
}

.elementor-211 .elementor-widget-google_maps iframe,
.elementor-211 .elementor-widget-google_maps .elementor-custom-embed {
  border-radius: 12px !important;
  overflow: hidden;
}

.elementor-211 .elementor-widget-icon-list .elementor-icon-list-item {
  margin-bottom: 8px;
}

/* ---------- Scolarite page (219) ---------- */
.elementor-219 .elementor-widget-heading .elementor-heading-title {
  letter-spacing: -.2px;
}

.elementor-219 .wpdt-c {
  text-align: center !important;
}

.elementor-219 .wpDataTableContainerSimpleTable {
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .08);
}

.elementor-219 .wpdtSimpleTable td {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* ---------- Fournitures (223) + Manuels (225) ---------- */
.elementor-223 .wpdt-c,
.elementor-225 .wpdt-c {
  text-align: center !important;
}

.elementor-223 .wpDataTableContainerSimpleTable,
.elementor-225 .wpDataTableContainerSimpleTable {
  border-radius: 12px !important;
  overflow: auto;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .08);
  -webkit-overflow-scrolling: touch;
}

.elementor-223 .wpdtSimpleTable,
.elementor-225 .wpdtSimpleTable {
  width: 100% !important;
  min-width: 820px;
}

.elementor-223 .wpdtSimpleTable td,
.elementor-225 .wpdtSimpleTable td {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.elementor-223 .elementor-widget-button .elementor-button,
.elementor-225 .elementor-widget-button .elementor-button {
  background: var(--jt-green) !important;
}

/* ---------- Responsive lock for target pages ---------- */
@media (max-width: 1024px) {
  .elementor-211 .elementor-widget-heading .elementor-heading-title,
  .elementor-219 .elementor-widget-heading .elementor-heading-title,
  .elementor-223 .elementor-widget-heading .elementor-heading-title,
  .elementor-225 .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(24px, 4.6vw, 34px) !important;
  }

  .elementor-211 .elementor-widget-form,
  .elementor-219 .elementor-widget-form,
  .elementor-223 .elementor-widget-form,
  .elementor-225 .elementor-widget-form {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .elementor-211 .elementor-widget-form .elementor-form-fields-wrapper {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .elementor-211 .elementor-widget-form .elementor-field-group,
  .elementor-147 .elementor-widget-form .elementor-field-group {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .elementor-219 .wpdtSimpleTable td,
  .elementor-223 .wpdtSimpleTable td,
  .elementor-225 .wpdtSimpleTable td {
    font-size: 12.5px !important;
    padding: 8px !important;
  }

  .elementor-223 .wpdtSimpleTable,
  .elementor-225 .wpdtSimpleTable {
    min-width: 650px;
  }
}

/* Menu mobile : shared/mobile-nav.css + shared/mobile-nav.js (chargés dans footer.php) */
@import url("./mobile-nav.css");

/* ---------- Bandeau hero (pages internes) : texte sur image — pas le header/footer ---------- */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .e-con-inner,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .e-con.e-child,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .elementor-widget-container {
  background: transparent !important;
  background-color: transparent !important;
}

.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(10, 46, 28, 0.45);
}

.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .rank-math-breadcrumb,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .rank-math-breadcrumb a,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .rank-math-breadcrumb .last {
  color: #ffffff !important;
}

.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-parent[data-settings*="background_background"] .rank-math-breadcrumb a:hover {
  color: var(--cse-green-200) !important;
}

/* ---------- Hero banner backgrounds — local fallback for external URLs ---------- */
/* These containers use 97ad4e... from collegejeantabi.org (page-title hero banner) */
.elementor-element-787f0be:not(.elementor-motion-effects-element-type-background),
.elementor-element-787f0be > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-03da1ff:not(.elementor-motion-effects-element-type-background),
.elementor-element-03da1ff > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-ccb0f13:not(.elementor-motion-effects-element-type-background),
.elementor-element-ccb0f13 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-74aef9f:not(.elementor-motion-effects-element-type-background),
.elementor-element-74aef9f > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-20a5aa4:not(.elementor-motion-effects-element-type-background),
.elementor-element-20a5aa4 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-b58acde:not(.elementor-motion-effects-element-type-background),
.elementor-element-b58acde > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-42fa29c:not(.elementor-motion-effects-element-type-background),
.elementor-element-42fa29c > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-f9d2c4a:not(.elementor-motion-effects-element-type-background),
.elementor-element-f9d2c4a > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-8d764b6:not(.elementor-motion-effects-element-type-background),
.elementor-element-8d764b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-50a1031:not(.elementor-motion-effects-element-type-background),
.elementor-element-50a1031 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-59e34a9:not(.elementor-motion-effects-element-type-background),
.elementor-element-59e34a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-2e4e763:not(.elementor-motion-effects-element-type-background),
.elementor-element-2e4e763 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("../elements/img/WhatsApp%20Image%202026-04-21%20at%2015.49.05.jpeg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* ---------- CTA/Enrollment section backgrounds — local overrides ---------- */
/* These containers use b0dd8f... from collegejeantabi.org (same photo as accueil hero).
   Replaced with a distinct local school photo so these pages look different from accueil. */
.elementor-element-2cdddd1:not(.elementor-motion-effects-element-type-background),
.elementor-element-2cdddd1 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-2eef05e:not(.elementor-motion-effects-element-type-background),
.elementor-element-2eef05e > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-74ea5fc:not(.elementor-motion-effects-element-type-background),
.elementor-element-74ea5fc > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-f4413cc:not(.elementor-motion-effects-element-type-background),
.elementor-element-f4413cc > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-57a4a69:not(.elementor-motion-effects-element-type-background),
.elementor-element-57a4a69 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-0a6a2dd:not(.elementor-motion-effects-element-type-background),
.elementor-element-0a6a2dd > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-225e570:not(.elementor-motion-effects-element-type-background),
.elementor-element-225e570 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-3118193:not(.elementor-motion-effects-element-type-background),
.elementor-element-3118193 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-4581e83:not(.elementor-motion-effects-element-type-background),
.elementor-element-4581e83 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("../elements/img/WhatsApp%20Image%202026-04-21%20at%2015.41.25.jpeg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
