/*
 Theme Name:   AFR 2026 — Skylar Child
 Theme URI:    https://afrcinetv.org
 Description:  Child theme Skylar pour l'Association Française des Régisseurs et Régisseuses
 Author:       Raphael Barbier Design
 Author URI:   https://raphaelbarbier.design
 Template:     skylar
 Version:      2.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  afr-child
*/

/* =====================================================
   VARIABLES
   ===================================================== */
:root {
  /* Couleurs */
  --color-red:        #C0392B;
  --color-red-dark:   #9B2335;
  --color-black:      #0D0D0D;
  --color-dark:       #181818;
  --color-dark-alt:   #222222;
  --color-white:      #FFFFFF;
  --color-off-white:  #F5F5F5;
  --color-grey:       #999999;
  --color-grey-light: #CCCCCC;
  --color-grey-dark:  #444444;

  /* Typos */
  --font-heading: 'Oswald', sans-serif;
  --font-body:    'Jost', sans-serif;

  /* Layout */
  --container-width:   1200px;
  --container-padding: 0 30px;
  --transition:        0.3s ease;
}

/* =====================================================
   RESET / BASE  (reprend skylar_child + afr-theme)
   ===================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 62.5%; scroll-behavior: smooth; }

body {
  font-family: var(--font-body) !important;
  font-size: 1.6em;
  font-weight: 300;
  line-height: 1.7;
  color: var(--color-dark);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
}

/* Youzer / BuddyPress — héritage police */
body #youzer input,
body .youzer,
body .youzer button,
body .youzer h3,
body .youzer input {
  font-family: var(--font-body) !important;
}

a {
  color: inherit;
  text-decoration: none;
  border-bottom-width: 0 !important;
  transition: color var(--transition);
}
a:hover {
  color: var(--color-red);
  transition: all ease-in-out 0.3s;
  border-bottom-width: 1px !important;
  border-bottom-style: solid;
  transition-property: color, background, border;
}
a.ubtn-link:hover,
a.aio-tooltip:hover,
a.href-img { border-bottom-width: 0 !important; }

img { max-width: 100%; height: auto; display: block; }

ul { list-style-type: circle; }

button { text-transform: uppercase; }

/* =====================================================
   TITRES
   ===================================================== */
h1 {
  font-family: var(--font-heading) !important;
  font-size: 1.8em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
h2 {
  font-size: 1.6em;
  font-weight: 300 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
h3 {
  font-size: 1.2em;
  color: #999999;
  text-transform: uppercase;
  font-weight: 400;
}
h4 {
  font-size: 0.9em;
  color: #999999;
  text-transform: uppercase;
  font-weight: 300;
}
h5 { font-size: 0.9em; color: #999999; font-weight: 300; }
h5 a { color: #999999; }

h4.textwidget { color: #fff !important; }

/* =====================================================
   LAYOUT CONTAINER
   ===================================================== */
.container {
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding: var(--container-padding);
}

/* =====================================================
   HEADER SKYLAR — correctifs spécifiques
   ===================================================== */
.admin-bar .theme-header.header-fixed:not(.header-bottom) { top: 0; }

/* Header sur la homepage : on s'assure qu'il est bien en overlay */
.home-page header.page-heading.page-heading-with-cover {
  height: 500px;
  line-height: 500px;
}

/* Bannière hero Skylar */
#fullscreen-bg video.fullscreen-bg__video {
  height: 335px !important;
  left: 0;
  top: 0;
  object-fit: cover;
  width: 100%;
  position: absolute;
  z-index: -100 !important;
  margin: 0 0 300px 0;
  border-radius: 0 0 140px 140px;
}

/* =====================================================
   NAVIGATION PRINCIPALE — sous-menus au hover
   ===================================================== */

/* Liens 1er niveau */
.theme-header .main-nav > ul > li > a,
.theme-header .nav-links > ul > li > a {
  font-family: var(--font-heading) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: color var(--transition);
}

/* Sous-menu — masque par défaut via CSS, affiche au hover */
.theme-header ul.menu li.menu-item-has-children > ul.sub-menu,
.theme-header .nav-links li.menu-item-has-children > ul.sub-menu,
#main-nav ul li.menu-item-has-children > ul.sub-menu {
  display: block !important;      /* override d'un éventuel display:none Skylar */
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--color-dark);
  border-top: 3px solid var(--color-red);
  list-style: none;
  margin: 0;
  padding: 8px 0;
  z-index: 9999;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,0.55);
}

/* Affichage au hover */
.theme-header ul.menu li.menu-item-has-children:hover > ul.sub-menu,
.theme-header .nav-links li.menu-item-has-children:hover > ul.sub-menu,
#main-nav ul li.menu-item-has-children:hover > ul.sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* Liens dans le sous-menu */
.theme-header ul.menu ul.sub-menu li a,
.theme-header .nav-links ul.sub-menu li a,
#main-nav ul ul.sub-menu li a {
  display: block;
  padding: 10px 20px;
  font-family: var(--font-body) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-white) !important;
  border-bottom: 0 !important;
  border-left: 3px solid transparent;
  transition: color var(--transition), background var(--transition), padding-left var(--transition), border-left-color var(--transition);
}
.theme-header ul.menu ul.sub-menu li a:hover,
.theme-header .nav-links ul.sub-menu li a:hover,
#main-nav ul ul.sub-menu li a:hover {
  color: var(--color-red) !important;
  background: rgba(255,255,255,0.05);
  padding-left: 26px;
  border-left-color: var(--color-red);
  border-bottom-width: 0 !important;
}

/* Bouton Mon Espace (Youzer) — style pilule rouge */
a.btn-compte,
.afr-btn-monespace {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 18px;
  background: var(--color-red);
  color: var(--color-white) !important;
  font-family: var(--font-heading) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 100px;
  border-bottom: 0 !important;
  transition: background var(--transition), transform var(--transition);
}
a.btn-compte:hover,
.afr-btn-monespace:hover {
  background: var(--color-red-dark);
  color: var(--color-white) !important;
  transform: translateY(-1px);
  border-bottom-width: 0 !important;
}
a.btn-compte svg,
.afr-btn-monespace svg { width: 14px; height: 14px; }

/* Mobile menu */
.mobile-menu .menu li { padding: 10px; }
.mobile-menu .menu > li > a {
  font-size: 16px;
  text-transform: uppercase;
  font-family: var(--font-heading) !important;
}
a.responsive-menu-item-link { text-transform: uppercase; }

/* =====================================================
   IMAGES DE PRODUCTIONS
   ===================================================== */
.wp-post-image {
  width: 198px;
  height: 264px;
  object-fit: cover;
  border-radius: 5px;
}

/* =====================================================
   PAGE HEADINGS
   ===================================================== */
.page-heading {
  margin-top: 3em !important;
  height: auto;
  line-height: 34px;
}
.page-heading-with-cover {
  margin-top: 0 !important;
  height: 300px;
  line-height: 300px;
}
.page-heading-with-cover .page-title { font-size: 3em !important; }
.page-heading .page-title {
  font-size: 1.8em;
  text-transform: uppercase;
  font-family: var(--font-heading) !important;
  font-weight: 300;
}
.page-body { padding-top: 20px !important; }

/* =====================================================
   HERO BANNER AFR
   ===================================================== */
.hero-banner {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: transform 8s ease;
}
.hero-banner:hover .hero-bg { transform: scale(1.0); }

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.15) 40%, rgba(0,0,0,0.65) 100%);
}
.hero-banner .container {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.hero-content h1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(18px, 2.2vw, 32px);
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--color-white);
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
  text-transform: uppercase;
  margin: 0;
}

/* =====================================================
   SECTION BIENVENUE
   ===================================================== */
.section-bienvenue {
  padding: 64px 0 56px;
}
.section-bienvenue .inner { max-width: 860px; }
.section-bienvenue h2 {
  font-family: var(--font-heading) !important;
  font-size: 2.2em;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-black);
  margin-bottom: 4px;
}
.section-bienvenue .subtitle {
  font-family: var(--font-body);
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-grey-dark);
  margin-bottom: 28px;
}
.section-bienvenue .entry-content,
.section-bienvenue p {
  font-size: 0.95em;
  line-height: 1.8;
  color: var(--color-dark);
  columns: 2;
  column-gap: 48px;
  margin-bottom: 24px;
}
.section-bienvenue .separator {
  width: 48px;
  height: 3px;
  background: var(--color-red);
  margin: 20px 0;
}
.link-red {
  font-family: var(--font-body);
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-red);
  border-bottom: 2px solid var(--color-red) !important;
  padding-bottom: 2px;
  transition: color var(--transition), border-color var(--transition);
}
.link-red:hover {
  color: var(--color-red-dark);
  border-color: var(--color-red-dark) !important;
}

/* =====================================================
   SECTIONS MEMBRES A L'AFFICHE
   ===================================================== */
.section-membres {
  padding: 0;
}
/* fond noir pour Cinéma */
.section-membres:not(.section-membres-tv) {
  background: var(--color-black);
}
/* fond blanc pour TV */
.section-membres-tv {
  background: var(--color-white);
}

.section-membres-header {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 48px 30px 28px;
}
.section-membres-header .label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7em;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-grey);
  margin-bottom: 8px;
}
.section-membres-header h2 {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-heading) !important;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
}
.section-membres-header .arrow-text {
  color: var(--color-red);
  display: flex;
  align-items: center;
  gap: 10px;
}
.section-membres-header .arrow { font-size: 22px; line-height: 1; }
.section-membres:not(.section-membres-tv) .section-membres-header .accent {
  color: var(--color-white);
}
.section-membres-tv .section-membres-header .accent {
  color: var(--color-black);
}

/* Films list */
.films-list {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 30px 16px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Card film */
.film-card {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.section-membres-tv .film-card {
  border-bottom-color: #e8e8e8;
}
.film-thumb {
  flex-shrink: 0;
  width: 160px;
  height: 210px;
  overflow: hidden;
}
.film-thumb img,
.film-thumb .film-thumb-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.film-thumb a:hover img { transform: scale(1.04); }

.film-info { flex: 1; padding-top: 4px; }

.film-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 18px;
}
.section-membres:not(.section-membres-tv) .film-title { color: var(--color-white); }
.section-membres-tv .film-title { color: var(--color-dark); }

.film-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px;
}
.film-meta > div { font-size: 0.85em; line-height: 1.6; }
.section-membres:not(.section-membres-tv) .film-meta { color: rgba(255,255,255,0.7); }
.section-membres-tv .film-meta { color: var(--color-grey-dark); }
.section-membres:not(.section-membres-tv) .film-meta strong { color: var(--color-white); }
.section-membres-tv .film-meta strong { color: var(--color-dark); font-weight: 700; }

.meta-separator {
  display: block;
  width: 40px;
  height: 2px;
  background: var(--color-red);
  margin: 10px 0 6px;
}

.film-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-body);
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-red) !important;
  border-bottom: 1px solid var(--color-red) !important;
  padding-bottom: 2px;
  transition: color var(--transition), border-color var(--transition);
}
.film-link:hover {
  color: var(--color-red-dark) !important;
  border-color: var(--color-red-dark) !important;
}

/* Flèche navigation (next) */
.members-nav {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 16px 30px 48px;
  display: flex;
  justify-content: flex-end;
}
.nav-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--color-red);
  border-radius: 50%;
  color: var(--color-red) !important;
  font-size: 20px;
  border-bottom: 2px solid var(--color-red) !important;
  transition: background var(--transition), color var(--transition), transform var(--transition);
}
.nav-arrow:hover {
  background: var(--color-red);
  color: var(--color-white) !important;
  transform: translateX(3px);
  border-bottom-color: var(--color-red) !important;
}

/* =====================================================
   BANNIÈRE PHOTO INTERMEDIAIRE
   ===================================================== */
.banner-image {
  width: 100%;
  height: 420px;
  overflow: hidden;
  position: relative;
}
.banner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.banner-image.has-overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.22);
  pointer-events: none;
}

/* =====================================================
   CTA J'ADHERE
   ===================================================== */
.section-cta {
  background: var(--color-red);
  padding: 0;
}
.section-cta .inner {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 26px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cta-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-family: var(--font-heading) !important;
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-white) !important;
  border-bottom: 0 !important;
  transition: gap var(--transition);
}
.cta-link svg:first-child {
  width: 38px;
  height: 38px;
  background: var(--color-white);
  border-radius: 50%;
  padding: 7px;
  fill: var(--color-red);
  flex-shrink: 0;
}
.cta-link svg:last-child {
  width: 28px;
  height: 28px;
  fill: var(--color-white);
  transition: transform var(--transition);
}
.cta-link:hover {
  color: var(--color-white) !important;
  gap: 24px;
  border-bottom-width: 0 !important;
}
.cta-link:hover svg:last-child { transform: translateX(5px); }

/* =====================================================
   FOOTER
   ===================================================== */
#site-footer {
  background: var(--color-black) !important;
  color: var(--color-white);
  padding: 0;
}

.footer-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 52px 30px 40px;
  display: grid;
  grid-template-columns: 200px 1fr 220px;
  gap: 48px;
  align-items: start;
}

/* Footer logo */
.footer-logo-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 2px solid var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading) !important;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-white);
  margin-bottom: 24px;
}

/* Newsletter */
.footer-newsletter-label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 10px;
}
.footer-newsletter-form {
  display: flex;
  gap: 0;
  margin-bottom: 16px;
}
.footer-newsletter-form input[type="email"] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.06);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 13px;
  outline: none;
  transition: border-color var(--transition);
}
.footer-newsletter-form input[type="email"]:focus { border-color: var(--color-red); }
.footer-newsletter-form button {
  padding: 8px 14px;
  background: var(--color-red);
  border: none;
  color: var(--color-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background var(--transition);
}
.footer-newsletter-form button:hover { background: var(--color-red-dark); }

/* Recherche footer */
.footer-search-label {
  display: block;
  font-family: var(--font-heading) !important;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-white);
  margin: 14px 0 6px;
}
input.search-field { width: 100%; }
.footer-logo-col .search-field {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.06);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 13px;
  outline: none;
}
.footer-logo-col .search-field:focus { border-color: var(--color-red); }

/* Partenaires footer */
.footer-partners-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.footer-partners-label {
  font-family: var(--font-body);
  font-size: 0.7em;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.footer-partner-logo {
  max-height: 44px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.7;
  transition: opacity var(--transition);
}
.footer-partner-logo:hover { opacity: 1; }

/* Footer nav col droite */
.footer-right-col { padding-top: 4px; }
.footer-menu { list-style: none; padding: 0; margin: 0; }
.footer-menu li a {
  display: block;
  font-family: var(--font-body);
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  padding: 5px 0;
  border-bottom: 0 !important;
  transition: color var(--transition);
}
.footer-menu li a:hover { color: var(--color-white); }

/* Footer widget override */
.footer-col .widget:not(:last-child),
.footer-col .widget:first-child { margin-bottom: 0; }
.footer-col .widget_media_image { display: contents; }
.footer-col .widget_media_image a { border-bottom-width: 0 !important; }

/* Footer bottom bar */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
}
.footer-bottom-inner {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 16px 30px;
  font-family: var(--font-body);
  font-size: 0.72em;
  color: rgba(255,255,255,0.38);
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}
.footer-bottom-inner a { color: rgba(255,255,255,0.38); border-bottom: 0 !important; }
.footer-bottom-inner a:hover { color: var(--color-white); }
.footer-bottom-inner strong,
.footer-bottom-inner b { color: rgba(255,255,255,0.65); font-weight: 600; }

/* =====================================================
   PAGE / ARCHIVE PRODUCTIONS
   ===================================================== */
.production-single { padding-top: 100px; }
.btn { display: inline-block; padding: 10px 24px; font-family: var(--font-body); font-size: 0.75em; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--transition); }
.btn-outline-red { border: 2px solid var(--color-red); color: var(--color-red) !important; border-bottom: 2px solid var(--color-red) !important; }
.btn-outline-red:hover { background: var(--color-red); color: var(--color-white) !important; }

.filter-link {
  font-family: var(--font-heading) !important;
  font-size: 0.7em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-grey);
  padding: 6px 14px;
  border: 1px solid var(--color-grey-dark);
  transition: all var(--transition);
  border-bottom-width: 1px !important;
}
.filter-link.active,
.filter-link:hover {
  border-color: var(--color-red) !important;
  color: var(--color-white) !important;
}
.filter-link.active { background: var(--color-red); }

/* =====================================================
   BLOG / ARCHIVE
   ===================================================== */
.blog-article-title {
  font-size: 1.2em;
  color: #363636;
  text-transform: uppercase;
  font-weight: 400;
}
.archive .standard-text { display: none; }
.archive .blog-post {
  margin-top: 20px;
  border-bottom: 1px solid #e0e0e0;
}
.blog-post .blog-post-content { display: none; }
.TitrePost p {
  text-transform: uppercase;
  margin-bottom: 5px !important;
  font-size: 14px !important;
  line-height: 21px !important;
  font-weight: 400;
}
.TitreRegion {
  margin-top: 60px !important;
  margin-bottom: 20px !important;
}
.HP-Sortie {
  font-size: 0.9em;
  color: #999999;
  font-weight: 300;
}
#blog-article-author a { color: rgba(63, 90, 113, 1); }
#blog-article-author { text-align: left; }

/* =====================================================
   WPBAKERY / VC GRID
   ===================================================== */
.vc_grid-filter.vc_grid-filter-filled-rounded.vc_grid-filter-color-blue>.vc_grid-filter-item,
.vc_grid-filter.vc_grid-filter-filled.vc_grid-filter-color-blue>.vc_grid-filter-item { background-color: #3f5a71 !important; }
.vc_grid-filter.vc_grid-filter-color-blue>.vc_grid-filter-item.vc_active,
.vc_grid-filter.vc_grid-filter-color-blue>.vc_grid-filter-item:hover { background-color: #3f5a71 !important; }
.vc_grid-filter.vc_grid-filter-filled-rounded.vc_grid-filter-color-blue>.vc_grid-filter-item,
.vc_grid-filter.vc_grid-filter-filled.vc_grid-filter-color-blue>.vc_grid-filter-item:hover { background-color: #000; }
.vc_grid-pagination .vc_grid-pagination-list>.vc_grid-active>a { opacity: 0.5; }
.vc_grid-filter.vc_grid-filter-center { text-align: center; }
.vc_grid-filter.vc_grid-filter-filled>.vc_grid-filter-item { margin: 10px; }
.vc_grid-filter.vc_grid-filter-size-lg .vc_grid-filter-item { padding: 4px 30px !important; }
.vc_grid-filter.vc_grid-filter-filled-rounded-all>.vc_grid-filter-item { border-radius: 0 !important; }
.vc_gitem_row .vc_gitem-col { padding: 0 !important; }
.vc_gitem-post-data { margin-top: 15px !important; }
.vc_gitem-post-data-source-post_excerpt { margin-top: 0 !important; }
.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-blue>li>a,
.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-blue>li>span { background-color: #3f5a71 !important; border: 0; }
.vc_grid-pagination:hover .vc_grid-pagination-list.vc_grid-pagination-color-blue>li>a:hover,
.vc_grid-pagination:hover .vc_grid-pagination-list.vc_grid-pagination-color-blue>li>span:hover { background-color: #000 !important; }
.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination_square>li>a { min-height: 28px !important; min-width: 28px !important; }
.vc_grid-pagination .vc_grid-pagination-list>li>a { font-size: 14px; line-height: 28px; opacity: 1; }
#flex-container .wpb_wrapper { display: flex !important; }
.wpb_single_image .vc_figure-caption { font-size: 1em; }
.wpb_single_image.vc_align_center { margin-bottom: 0; }
.paragrapheDoc p { margin: 0 !important; }

/* =====================================================
   YOUZER / BUDDYPRESS
   ===================================================== */
.yz-members-directory-shortcode div#yz-bp { background-color: #fff !important; }
.yz-members-directory-shortcode div#yz-members-directory:before { display: none; }
.yz-members-directory-shortcode .yz-directory-filter { display: none; }
.ListeSansPuce ul { list-style-type: none; list-style-position: inside; padding-left: 0 !important; }
.standard-text ul li { list-style-type: none; }
.aio-icon.circle { transition: all ease-in-out 0.3s; }
.aio-icon.circle:hover { background-color: #3f5a71 !important; }
iframe { border: 0; }
.activity {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  color: #363636 !important;
  line-height: 21px;
  font-size: 14px;
}
.item span.activity { display: none; }
em.bps-description { display: none; }
#sitewide-notice, #youzer div textarea, .widget.buddypress, .widget_bp_core_members_widget .item-options a, .youzer a, .youzer a.button, .youzer input, .youzer p, .youzer select, .youzer textarea, .youzer-dialog, .youzer-dialog-desc, .yz-items-list-widget, .yz-modal-actions a, .yz-modal-actions button, .yz-my-account-widget, .yz-tool-btn .yz-tool-name, .yz-tooltip:after, .yz-wp-widget, [data-yztooltip]:after { font-family: var(--font-body) !important; }
.yz-forums-forum-item .yz-forums-forum-title, .yz-forums-topic-item .yz-forums-topic-title { font-weight: 500 !important; }
.yz-bbp-freshness-content .yz-bbp-freshness-author, .yz-bbp-freshness-content .yz-bbp-freshness-author a, .yz-bbp-freshness-data .yz-bbp-freshness-time a { font-weight: 500 !important; }

/* =====================================================
   FORUM bbPress
   ===================================================== */
.bbp-search-form:before { content: 'Forum'; font-size: 25px !important; text-transform: uppercase; }
form#bbp-search-form { margin-top: 1em; }
.yz-forums-forum-item .yz-forums-forum-title { font-size: 1.2em; text-transform: uppercase; }
#bbpress-forums div.bbp-search-form { float: none; }
#bbpress-forums .bbp-forums-list .bbp-forum { display: inline-block; }
.yz-bbp-freshness-data .yz-bbp-freshness-content { display: grid; }
.yz-bbp-freshness-content .yz-bbp-freshness-author, .yz-bbp-freshness-content .yz-bbp-freshness-author a { text-align: center; }
.yz-bbp-freshness-data .yz-bbp-freshness-time a { text-align: center; color: #999999 !important; }
.yz-bbp-freshness-data .yz-bbp-freshness-time { text-align: center; }
#bbpress-forums .bbp-forums-list li { background-color: #f0f0f0; }
.yz-bbp-topic-head-meta span.bbp-author-name { color: #999999; font-weight: 400 !important; }
span.bbp-breadcrumb-current { text-transform: uppercase; }
#bbpress-forums .bbp-pagination-links a, #bbpress-forums .bbp-pagination-links span.current { line-height: 32px; }
a.yz-forums-topic-title { text-transform: uppercase !important; font-size: 1em !important; }
.yz-forums-topic-item .yz-forums-topic-meta .bbp-author-name, .yz-forums-topic-item .yz-forums-topic-meta .yz-forums-topic-author, .yz-forums-topic-item .yz-forums-topic-meta .yz-forums-topic-forum a { color: #999999; font-size: 12px; font-weight: 400; }
li.bbp-forum-info, li.bbp-topic-title { width: 50%; }
li.bbp-forum-reply-count, li.bbp-forum-topic-count, li.bbp-topic-reply-count, li.bbp-topic-voice-count { width: 15%; }
li.bbp-forum-freshness, li.bbp-topic-freshness { width: 20%; }
#bbpress-forums .yz-bbp-box .yz-bbp-box-content { padding: 35px 35px 85px 35px; }
.bbp-author-ip { display: none !important; }
#bbpress-forums .bbp-body div.bbp-reply-content, #bbpress-forums .bbp-body div.bbp-topic-content { font-size: 15px; }
#bbpress-forums div.reply, #bbpress-forums div.even, #bbpress-forums ul.even { border-bottom: 1px solid #999999; }
#bbp-search-results .wp_ulike_general_class.wp_ulike_is_not_liked { display: none; }
div#bbpress-forums { margin-top: 23px; }
.yz-forums-forum-icon, .yz-forums-topic-item .yz-forums-topic-icon { display: none !important; }

/* Forum sidebar */
#bbp_search_widget-3 .bbp-search-form:before { display: none; }
#bbp_search_widget-3 form#bbp-search-form { margin-top: 0; }
.youzer-sidebar .widget-content .widget-title:before { display: none; }
.widget-content { margin-bottom: 0 !important; }
h3.widget-title { color: #3f5a71 !important; font-weight: 300 !important; font-size: 12px !important; border-bottom: 0 !important; padding: 20px 20px 10px 20px !important; }
.widget_display_search #bbp-search-form, .widget_display_topics ul { padding: 0 20px 20px 20px; }
#bbp_topics_widget-4 span.bbp-author-avatar { display: none !important; }
.widget_display_topics li a.bbp-forum-title { color: #363636 !important; font-size: 16px; font-weight: 300; }
.widget_display_topics span.bbp-author-name { color: #999999 !important; font-size: 16px; font-weight: 300; }
.widget_display_topics li a.bbp-forum-title:hover, .widget_display_topics span.bbp-author-name:hover { color: #3f5a71 !important; }
.widget_display_topics li div { text-transform: initial; font-weight: 400; font-size: 12px; margin-bottom: 10px; line-height: 12px; padding-bottom: 10px; border-bottom: 1px solid #f0f0f0; }
.widget_display_topics li:before { display: none; }
.widget.widget_display_topics li, .widget_display_topics li { font-size: 16px; padding: 0; margin-bottom: 0; min-height: 0; color: #363636; }

/* =====================================================
   SIDEBAR
   ===================================================== */
.widgettitle { color: #3f5a71 !important; font-size: 12px !important; font-weight: 300 !important; }
.widget li a { color: #363636 !important; }
div#media_image-5 { padding-top: 0; }
div#cff, #cff.cff-fixed-height { padding: 0 0 !important; }
div#text-4 { margin-bottom: 20px; }
#rpwwt-recent-posts-widget-with-thumbnails-2 img { max-width: 80%; }

/* =====================================================
   DIVERS
   ===================================================== */
.comment-text a::after, .single-post .post-content dl a::after, .single-post .post-content p>a:not([class])::after, .single-post .post-content tr a::after { border-bottom: 0; }
#blog-article-cats, #blog-article-tags { margin-left: 10px; }
.ubtn-ctn-center { margin-bottom: 15px !important; }
.wpb_raw_html { margin-bottom: 0 !important; }
hr { margin-top: 5px; margin-bottom: 5px; }
#gallery-1 .gallery-item { text-align: left !important; }
img.image.wp-image-413.attachment-full.size-full { margin-right: 20px; }

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media screen and (max-width: 1024px) {
  .TitrePost p { font-size: 16px !important; }
  .home-page header.page-heading.page-heading-with-cover { height: 300px !important; line-height: 18 !important; }
  .page-heading-with-cover .page-title { font-size: 2em !important; }
  h5 { font-size: 1em; line-height: 21px; }
  .ubtn-ctn-center { margin-bottom: 15px !important; }
  .TitreRegion { margin-top: 30px !important; margin-bottom: 10px !important; }
  .page-heading { margin-top: 0 !important; padding-bottom: 0 !important; }
  .yz-hdr-v7 .yz-header-head { border-bottom: 0; padding: 10px 0 0 0 !important; }
  .yz-hdr-v7 .yz-usermeta { margin-top: 10px; }
  .yz-usermeta li { margin: 0 0 10px; }
  .yz-hdr-v7 .yz-usermeta li span { font-size: 12px; letter-spacing: 0; }
  .wpb_single_image.vc_align_left { text-align: center; }
  main.yz-page-main-content { display: flex !important; flex-direction: column-reverse !important; }
  .yz-wg-networks.yz-icons-full-width li, .yz-wg-networks.yz-icons-full-width li a { max-width: 100% !important; }
  .yz-widget .yz-widget-head { border: 0; }
  .yz-infobox-content { padding: 5px 10px !important; }
  .yz-widget { margin-bottom: 1px !important; }
  .yz-default-content { padding: 5px 10px !important; }
  .yz-hdr-v7 .yz-cover-content { z-index: 99; }
  .yz-mobile-nav { display: none; }
  .bps-form div { margin-right: 0; }
  .bps-form { display: block; text-align: center !important; }
  .bps-form input { width: 90%; }
  .nice-select { width: 90% !important; }
  .youzer.yz-directory .yz-page-main-content { padding: 0; }
  div#yz-members-directory { padding: 0 10px; }
  li#responsive-menu-item-2247 { display: none; }
  main.yz-page-main-content { flex-direction: column !important; }
  li.yz-bbp-forum-freshness { display: table-cell !important; }
  #bbpress-forums .bbp-body li .yz-forums-forum-item, #bbpress-forums .bbp-body li .yz-forums-topic-item, .yz-forums-forum-item .yz-forums-forum-head { text-align: left; }
  #bbpress-forums .bbp-body li.bbp-forum-reply-count, #bbpress-forums .bbp-body li.bbp-forum-topic-count, #bbpress-forums .bbp-body li.bbp-topic-voice-count, #bbpress-forums .bbp-body li.bbp-topic-reply-count, #bbpress-forums .bbp-body li.yz-bbp-freshness { display: none; }
  #bbpress-forums li.bbp-body ul.forum, #bbpress-forums li.bbp-body ul.topic { padding: 30px 10px; }
  #bbpress-forums .bbp-body li.yz-bbp-forum-freshness { padding-left: 25px; }
  .yz-forums-forum-item .yz-forums-forum-title, .yz-forums-topic-item .yz-forums-topic-title { margin-bottom: 0; }
  .bbp-header .forum-titles li { text-align: left; }
  #bbpress-forums .bbp-body li.bbp-topic-title { margin-bottom: 0; }
  #bbpress-forums .yz-bbp-box .yz-bbp-box-title, #bbpress-forums .yz-bbp-box .yz-bbp-box-content { padding: 10px; }
  div.bbp-submit-wrapper { float: inherit; }
}

@media only screen and (max-width: 1024px) {
  #yz-members-list li { width: 50% !important; float: left !important; }
}

@media (max-width: 768px) {
  .hero-banner { height: 320px; }
  .banner-image { height: 220px; }
  .hero-content h1 { font-size: 16px; }
  .section-bienvenue .entry-content,
  .section-bienvenue p { columns: 1; }
  .footer-inner { grid-template-columns: 1fr; }
  .film-card { flex-direction: column; }
  .film-thumb { width: 100%; height: 240px; }
}
