/*
 Theme Name:   Femmes d'Alger - Divi Child
 Theme URI:    https://femmesdalger.org
 Description:  Divi Child Theme for Femmes d'Alger et d'Ailleurs
 Author:       SAMI KHODIR
 Author URI:   https://femmesdalger.org
 Template:     Divi
 Version:      1.0.0
 Text Domain:  femmes-dalger
*/

/* =============================================
   GOOGLE FONTS IMPORT — must stay here, immediately
   after the theme header comment, before any rule
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

body, h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif !important;
}

/* =============================================
   BRAND TOKENS
   ============================================= */
:root {
  --color-primary:       #2A9D8F;
  --color-primary-dark:  #1B7A6E;
  --color-primary-light: #3BBFB0;
  --color-accent:        #E9C46A;
  --color-bg-light:      #F0F4F5;
  --color-bg-white:      #FFFFFF;
  --color-text-dark:     #2C2C2C;
  --color-text-mid:      #555555;
  --color-text-light:    #888888;
  --color-footer-bg:     #1B7A6E;
  --color-footer-text:   #FFFFFF;

  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body:    'Nunito', 'Helvetica Neue', sans-serif;

  --radius-btn:  50px;
  --radius-card: 12px;
  --shadow-card: 0 4px 24px rgba(42,157,143,0.10);
  --transition:  0.3s ease;
}

/* =============================================
   GLOBAL RESETS & BASE
   ============================================= */
body {
  font-family: var(--font-body) !important;
  color: var(--color-text-dark) !important;
  background-color: var(--color-bg-white) !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) !important;
  color: var(--color-text-dark) !important;
}

p, li, .et_pb_text {
  font-family: var(--font-body) !important;
  line-height: 1.75 !important;
}

a {
  color: var(--color-primary) !important;
  transition: color var(--transition) !important;
}
a:hover {
  color: var(--color-primary-dark) !important;
}

/* =============================================
   HEADER & NAVIGATION
   ============================================= */

/* =============================================
   LOGO SIZE
   ============================================= */
#logo img,
#main-header .logo_container img,
#main-header #logo img {
  max-height: 55px !important;
  height: 55px !important;
  width: auto !important;
  transition: height var(--transition) !important;
}

/* Sticky header — slightly smaller */
.et-fixed-header #logo img,
.et-fixed-header .logo_container img {
  max-height: 42px !important;
  height: 42px !important;
}

/* Header container height to match */
#main-header .container,
#main-header #et-top-navigation {
  min-height: 70px !important;
}

#main-header,
.et-fixed-header {
  background-color: var(--color-bg-white) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
}

#main-header .nav ul li a,
.et-fixed-header .nav ul li a {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  color: var(--color-text-dark) !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: color var(--transition) !important;
}

#main-header .nav ul li a:hover,
.et-fixed-header .nav ul li a:hover {
  color: var(--color-primary) !important;
}

/* Header CTA Button */
.header-cta-btn a,
.et_pb_button.header-cta {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--radius-btn) !important;
  padding: 10px 28px !important;
  font-weight: 700 !important;
  transition: background var(--transition) !important;
}
.header-cta-btn a:hover,
.et_pb_button.header-cta:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* =============================================
   BUTTONS — GLOBAL
   ============================================= */
.et_pb_button,
a.et_pb_button {
  border-radius: var(--radius-btn) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  transition: all var(--transition) !important;
  padding: 14px 32px !important;
}

/* Primary button */
.et_pb_button.btn-primary,
.et_pb_promo .et_pb_button {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}
.et_pb_button.btn-primary:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* Outline button */
.et_pb_button.btn-outline {
  background-color: transparent !important;
  border: 2px solid var(--color-primary) !important;
  color: var(--color-primary) !important;
}
.et_pb_button.btn-outline:hover {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}

/* =============================================
   SECTIONS — BACKGROUND HELPERS
   ============================================= */
.section-light {
  background-color: var(--color-bg-light) !important;
}
.section-teal {
  background-color: var(--color-primary) !important;
}
.section-dark {
  background-color: var(--color-footer-bg) !important;
}
.section-white {
  background-color: var(--color-bg-white) !important;
}

/* =============================================
   HERO / FULLWIDTH SLIDER
   ============================================= */

/* Ensure hero fills the viewport properly */
.et_pb_fullwidth_slider,
.et_pb_slider {
  min-height: 85vh !important;
}

.et_pb_fullwidth_slider .et_pb_slide,
.et_pb_slider .et_pb_slide {
  min-height: 85vh !important;
}

/* Remove green overlay — let the background image show clean */
.et_pb_slide .et_pb_slide_overlay_container,
.et_pb_fullwidth_slider .et_pb_slide_overlay_container {
  background: rgba(0,0,0,0.35) !important;
}

/* Description container — left-aligned, not crammed in center */
.et_pb_slider .et_pb_slide_description,
.et_pb_fullwidth_slider .et_pb_slide_description {
  text-align: left !important;
  max-width: 700px !important;
  padding: 0 60px !important;
}

/* Hero title */
.et_pb_slider .et_pb_slide_description .et_pb_slide_title,
.et_pb_fullwidth_slider .et_pb_slide_description .et_pb_slide_title {
  font-family: var(--font-heading) !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.4) !important;
  margin-bottom: 20px !important;
  max-width: 100% !important;
  width: auto !important;
}

/* Hero subtitle paragraph */
.et_pb_slider .et_pb_slide_description p,
.et_pb_fullwidth_slider .et_pb_slide_description p {
  font-family: var(--font-body) !important;
  color: rgba(255,255,255,0.95) !important;
  font-size: 1.15rem !important;
  line-height: 1.7 !important;
  max-width: 560px !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3) !important;
  margin-bottom: 28px !important;
}

/* Hero CTA button */
.et_pb_slider .et_pb_slide_description .et_pb_button,
.et_pb_fullwidth_slider .et_pb_slide_description .et_pb_button {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--radius-btn) !important;
  font-weight: 700 !important;
  padding: 14px 36px !important;
  font-size: 15px !important;
  margin-top: 0 !important;
  display: inline-block !important;
}

.et_pb_slider .et_pb_slide_description .et_pb_button:hover,
.et_pb_fullwidth_slider .et_pb_slide_description .et_pb_button:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* Fix Divi's default centering on the container */
.et_pb_slider .et_pb_container,
.et_pb_fullwidth_slider .et_pb_container {
  text-align: left !important;
}

/* =============================================
   SECTION HEADINGS — CENTERED STYLE
   ============================================= */
.section-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  color: var(--color-text-dark) !important;
  text-align: center !important;
  margin-bottom: 8px !important;
}

.section-subtitle {
  font-family: var(--font-body) !important;
  color: var(--color-text-mid) !important;
  text-align: center !important;
  font-size: 1rem !important;
  max-width: 560px !important;
  margin: 0 auto 40px auto !important;
}

/* Decorative underline accent */
.section-title-wrap::after {
  content: '';
  display: block;
  width: 56px;
  height: 3px;
  background: var(--color-primary);
  margin: 12px auto 0 auto;
  border-radius: 2px;
}

/* =============================================
   CARDS — PROGRAMS / EVENTS
   ============================================= */
.et_pb_blurb,
.et_pb_column .et_pb_blurb_container {
  background-color: var(--color-bg-white) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
  padding: 28px 24px !important;
  transition: transform var(--transition), box-shadow var(--transition) !important;
}

.et_pb_blurb:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(42,157,143,0.16) !important;
}

.et_pb_blurb .et_pb_main_blurb_image img {
  border-radius: 8px !important;
}

.et_pb_blurb_title {
  font-family: var(--font-heading) !important;
  font-size: 1.2rem !important;
  color: var(--color-text-dark) !important;
}

/* =============================================
   EVENT CARDS (Blog / Portfolio modules)
   ============================================= */
.et_pb_post,
.et_pb_portfolio_item {
  border-radius: var(--radius-card) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-card) !important;
  transition: transform var(--transition), box-shadow var(--transition) !important;
}

.et_pb_post:hover,
.et_pb_portfolio_item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(42,157,143,0.18) !important;
}

/* Event date badge */
.et_pb_post .post-meta,
.event-date-badge {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  padding: 4px 12px !important;
}

/* Read more / S'inscrire button on cards */
.et_pb_post .more-link,
.et_pb_post a.et_pb_button {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--radius-btn) !important;
  font-size: 0.85rem !important;
  padding: 8px 20px !important;
}

/* =============================================
   STATS / COUNTER SECTION
   ============================================= */
.et_pb_counter_amount,
.et_pb_number_counter .title {
  color: var(--color-primary) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
}

.et_pb_number_counter .percent {
  color: var(--color-primary) !important;
}

.et_pb_counter_container {
  background-color: rgba(42,157,143,0.08) !important;
  border-radius: var(--radius-card) !important;
  padding: 20px !important;
}

/* =============================================
   IMPACT / ICON LIST SECTION
   ============================================= */
.impact-card {
  background-color: var(--color-bg-white) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
  padding: 32px 28px !important;
}

.impact-icon {
  color: var(--color-primary) !important;
  font-size: 2rem !important;
  margin-bottom: 12px !important;
}

/* =============================================
   CONTACT FORM
   ============================================= */
.et_pb_contact_form_container input,
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select {
  border: 1.5px solid #D0DFE0 !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  padding: 12px 16px !important;
  transition: border-color var(--transition) !important;
  background-color: var(--color-bg-white) !important;
}

.et_pb_contact_form_container input:focus,
.et_pb_contact_form_container textarea:focus {
  border-color: var(--color-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(42,157,143,0.12) !important;
}

.et_pb_contact_submit {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--radius-btn) !important;
  font-weight: 700 !important;
  padding: 14px 36px !important;
  transition: background var(--transition) !important;
}

.et_pb_contact_submit:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* =============================================
   NEWSLETTER SECTION
   ============================================= */
.newsletter-section {
  background-color: var(--color-bg-light) !important;
  border-radius: var(--radius-card) !important;
  padding: 40px 32px !important;
}

.newsletter-section input[type="email"],
.newsletter-section input[type="text"] {
  border: 1.5px solid #D0DFE0 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-family: var(--font-body) !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}

.newsletter-section .et_pb_button {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  width: 100% !important;
  border-radius: 8px !important;
}

/* =============================================
   FOOTER — GLASSMORPHISM STYLE
   ============================================= */

/* Outer footer wrapper — gradient background */
#main-footer {
  background: linear-gradient(135deg, #009688 0%, #007a6e 100%) !important;
  padding: 40px 20px !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Subtle radial glow behind glass */
#main-footer::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.08) 0%, transparent 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Glass pill container wrapping all footer content */
#main-footer .et_pb_row,
#main-footer .et_pb_section > .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
}

/* The glass container effect applied to the footer section itself */
.fda-footer-glass {
  background: rgba(255,255,255,0.12) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25) !important;
  position: relative !important;
  z-index: 2 !important;
}

.fda-footer-glass::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), transparent) !important;
  pointer-events: none !important;
}

/* ââ Brand name in footer ââ */
#main-footer .fda-brand-name,
#main-footer .et_pb_text .fda-brand-name {
  font-family: 'Montserrat', 'Playfair Display', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.15 !important;
  letter-spacing: -0.5px !important;
}

#main-footer .fda-brand-name .fda-highlight {
  color: #FFD700 !important;
}

#main-footer .fda-tagline {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  color: rgba(255,255,255,0.85) !important;
  margin-top: 8px !important;
  line-height: 1.6 !important;
}

/* ââ Section titles with underline accent ââ */
#main-footer h3,
#main-footer h4,
#main-footer .et_pb_widget_area h4,
#main-footer .et_pb_text h3 {
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 20px !important;
  position: relative !important;
  display: inline-block !important;
}

#main-footer h3::after,
#main-footer h4::after,
#main-footer .et_pb_text h3::after {
  content: '' !important;
  position: absolute !important;
  bottom: -6px !important;
  left: 0 !important;
  width: 40px !important;
  height: 3px !important;
  background: #fff !important;
  border-radius: 2px !important;
}

/* ââ Body text & links ââ */
#main-footer p,
#main-footer li,
#main-footer span,
#main-footer .et_pb_text p,
#main-footer .et_pb_text li {
  font-family: var(--font-body) !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
}

#main-footer a,
#main-footer .et_pb_text a,
#main-footer .et_pb_widget_area a {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  transition: all var(--transition) !important;
}

#main-footer a:hover,
#main-footer .et_pb_text a:hover {
  color: #fff !important;
  padding-left: 5px !important;
}

/* ââ Contact items with icons ââ */
#main-footer .fda-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  color: rgba(255,255,255,0.85) !important;
}

#main-footer .fda-contact-item i {
  color: #fff !important;
  font-size: 16px !important;
  margin-top: 3px !important;
  min-width: 18px !important;
}

/* ââ Social buttons ââ */
#main-footer .et-social-icons a,
#main-footer .fda-social-btn {
  width: 45px !important;
  height: 45px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 18px !important;
  text-decoration: none !important;
  transition: all var(--transition) !important;
  margin-right: 10px !important;
}

#main-footer .et-social-icons a:hover,
#main-footer .fda-social-btn:hover {
  transform: translateY(-3px) !important;
  background: rgba(255,255,255,0.25) !important;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
  padding-left: 0 !important;
}

/* ââ Newsletter inputs inside footer ââ */
#main-footer input[type="email"],
#main-footer input[type="text"],
#main-footer .et_pb_newsletter_form input {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  padding: 12px 18px !important;
  width: 100% !important;
  margin-bottom: 10px !important;
  transition: all var(--transition) !important;
}

#main-footer input[type="email"]::placeholder,
#main-footer input[type="text"]::placeholder {
  color: rgba(255,255,255,0.6) !important;
}

#main-footer input[type="email"]:focus,
#main-footer input[type="text"]:focus {
  background: rgba(255,255,255,0.2) !important;
  border-color: #fff !important;
  outline: none !important;
}

#main-footer .et_pb_newsletter_button,
#main-footer input[type="submit"],
#main-footer button[type="submit"] {
  background: #fff !important;
  color: #009688 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 12px 20px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: all var(--transition) !important;
}

#main-footer .et_pb_newsletter_button:hover,
#main-footer input[type="submit"]:hover,
#main-footer button[type="submit"]:hover {
  background: #f0f0f0 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
}

/* ââ Divider line between header and columns ââ */
#main-footer .fda-footer-divider {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  margin: 0 0 28px 0 !important;
}

/* ââ Bottom copyright bar ââ */
#footer-bottom,
#main-footer .fda-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  padding-top: 20px !important;
  margin-top: 20px !important;
  background: transparent !important;
}

#footer-bottom p,
#footer-bottom a,
#main-footer .fda-footer-bottom p,
#main-footer .fda-footer-bottom a {
  color: rgba(255,255,255,0.75) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
}

#footer-bottom a:hover,
#main-footer .fda-footer-bottom a:hover {
  color: #FFD700 !important;
  padding-left: 0 !important;
}

/* ââ Map embed inside footer ââ */
#main-footer .fda-map-embed {
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
  margin-top: 20px !important;
}

#main-footer .fda-map-embed iframe {
  width: 100% !important;
  height: 200px !important;
  border: none !important;
  display: block !important;
}

/* ââ Responsive ââ */
@media (max-width: 980px) {
  #main-footer .fda-brand-name {
    font-size: 26px !important;
  }
}

@media (max-width: 767px) {
  #main-footer {
    padding: 30px 15px !important;
  }
  #main-footer .fda-brand-name {
    font-size: 22px !important;
  }
  #main-footer .fda-map-embed iframe {
    height: 160px !important;
  }
}

/* =============================================
   LANGUAGE SWITCHER (WPML / TranslatePress)
   ============================================= */
.wpml-ls-legacy-list-horizontal,
.trp-language-switcher {
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

.wpml-ls-legacy-list-horizontal a,
.trp-language-switcher a {
  color: var(--color-text-dark) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  transition: all var(--transition) !important;
}

.wpml-ls-legacy-list-horizontal a:hover,
.trp-language-switcher a:hover,
.wpml-ls-legacy-list-horizontal .wpml-ls-current-language a {
  color: var(--color-primary) !important;
  background-color: rgba(42,157,143,0.08) !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 980px) {
  .et_pb_slider .et_pb_slide_description .et_pb_slide_title,
  .et_pb_fullwidth_slider .et_pb_slide_description .et_pb_slide_title {
    font-size: 2rem !important;
  }

  .et_pb_slider .et_pb_slide_description,
  .et_pb_fullwidth_slider .et_pb_slide_description {
    padding: 0 30px !important;
  }

  #main-header {
    background-color: var(--color-bg-white) !important;
  }
}

@media (max-width: 480px) {
  .et_pb_slider .et_pb_slide_description,
  .et_pb_fullwidth_slider .et_pb_slide_description {
    padding: 0 20px !important;
    text-align: center !important;
  }

  .et_pb_slider .et_pb_slide_description .et_pb_slide_title,
  .et_pb_fullwidth_slider .et_pb_slide_description .et_pb_slide_title {
    font-size: 1.7rem !important;
  }
}

@media (max-width: 767px) {
  .et_pb_blurb,
  .et_pb_column .et_pb_blurb_container {
    padding: 20px 16px !important;
  }

  .section-title {
    font-size: 1.5rem !important;
  }
}

/* =============================================
   FOOTER H3 — disable global ::after underline
   (footer uses border-bottom instead)
   ============================================= */
#main-footer h3::after,
footer#main-footer h3::after {
  display: none !important;
  content: none !important;
}

/* =============================================
   THE EVENTS CALENDAR — FULL BRAND OVERRIDE
   ============================================= */

/* ââ Wrapper ââ */
#fda-calendar-wrapper,
.tribe-events-calendar,
.tribe-events {
  font-family: var(--font-body) !important;
}

/* ââ Main calendar container ââ */
.tribe-events-calendar {
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(42,157,143,0.10) !important;
  background: #fff !important;
}

/* ââ Calendar header bar (month navigation) ââ */
.tribe-events-calendar thead th,
.tribe-events-calendar .tribe-events-calendar-header,
#tribe-events-header,
.tribe-events-header {
  background: linear-gradient(135deg, #2A9D8F, #1B7A6E) !important;
  color: #fff !important;
  border: none !important;
}

.tribe-events-calendar thead th {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding: 14px 10px !important;
  border: none !important;
  border-right: 1px solid rgba(255,255,255,0.15) !important;
}

/* Month/Year title */
.tribe-events-calendar .tribe-events-page-title,
#tribe-events-bar .tribe-bar-date-filter,
.tribe-events-title,
h2.tribe-events-page-title {
  font-family: var(--font-heading) !important;
  color: var(--color-text-dark) !important;
  font-size: 1.8rem !important;
}

/* Prev/Next navigation arrows */
.tribe-events-nav-pagination a,
.tribe-events-nav-pagination span,
.tribe-events-calendar-month__header-mobile-prev,
.tribe-events-calendar-month__header-mobile-next,
.tribe-events .tribe-common-c-btn-border,
a.tribe-events-nav-previous,
a.tribe-events-nav-next {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  transition: background var(--transition) !important;
}

a.tribe-events-nav-previous:hover,
a.tribe-events-nav-next:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* ââ Calendar grid cells ââ */
.tribe-events-calendar td {
  border: 1px solid #e8f0f0 !important;
  min-height: 100px !important;
  vertical-align: top !important;
  padding: 8px !important;
  transition: background var(--transition) !important;
}

.tribe-events-calendar td:hover {
  background-color: rgba(42,157,143,0.04) !important;
}

/* Today's date highlight */
.tribe-events-calendar td.tribe-events-present,
.tribe-events-calendar .tribe-events-calendar__day--current {
  background-color: rgba(42,157,143,0.08) !important;
  border-color: var(--color-primary) !important;
}

/* Day number */
.tribe-events-calendar td .tribe-events-calendar__day-cell--mobile-head,
.tribe-events-calendar td div[class*="tribe-date"] a,
.tribe-events-calendar .tribe-event-schedule-details,
.tribe-events-calendar .tribe-events-calendar__day-cell a {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  color: var(--color-text-dark) !important;
  font-size: 13px !important;
}

/* Days from other months */
.tribe-events-calendar td.tribe-events-othermonth {
  background-color: #fafafa !important;
  opacity: 0.6 !important;
}

/* ââ Event pills inside calendar cells ââ */
.tribe-events-calendar .tribe-events-calendar__day-grid-cell article,
.tribe-events-calendar .tribe-event,
.tribe-events-calendar .tribe-events-calendar__day-grid-cell .tribe-event,
.tribe-events-calendar td .tribe-event-url,
.tribe-events-calendar td a.url {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
  margin-bottom: 3px !important;
  display: block !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: background var(--transition) !important;
  line-height: 1.6 !important;
}

.tribe-events-calendar td a.url:hover,
.tribe-events-calendar .tribe-event:hover {
  background-color: var(--color-primary-dark) !important;
}

/* Multi-day event stripe */
.tribe-events-calendar .tribe-events-calendar__day-cell .tribe-event-featured {
  background-color: var(--color-accent) !important;
  color: var(--color-text-dark) !important;
}

/* ââ Events bar (filter/search bar) ââ */
#tribe-events-bar,
.tribe-events-bar {
  background-color: #F0F4F5 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin-bottom: 24px !important;
  border: none !important;
}

#tribe-bar-form input,
#tribe-bar-form select,
.tribe-events-bar input,
.tribe-events-bar select {
  border: 1.5px solid #D0DFE0 !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}

#tribe-bar-form input:focus,
.tribe-events-bar input:focus {
  border-color: var(--color-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(42,157,143,0.12) !important;
}

#tribe-bar-submit,
.tribe-events-bar button[type="submit"],
.tribe-common-c-btn {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
}

/* ââ Single event page ââ */
.tribe-events-single .tribe-events-single-section,
.single-tribe_events .tribe-events-single {
  font-family: var(--font-body) !important;
  color: var(--color-text-dark) !important;
}

.tribe-events-single h1.tribe-events-single-event-title,
.single-tribe_events h1 {
  font-family: var(--font-heading) !important;
  color: var(--color-text-dark) !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}

/* Event meta (date, time, location) */
.tribe-events-schedule,
.tribe-venue,
.tribe-events-single-section .tribe-events-divider,
dd.tribe-venue,
.tribe-events-meta-group {
  font-family: var(--font-body) !important;
  color: var(--color-text-mid) !important;
  font-size: 0.95rem !important;
}

.tribe-events-schedule abbr {
  color: var(--color-primary) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important;
}

/* Event featured image */
.tribe-events-single .tribe-events-single-section img,
.single-tribe_events .tribe-events-single img.tribe-events-event-meta {
  border-radius: 12px !important;
  box-shadow: var(--shadow-card) !important;
}

/* Register / RSVP button on single event */
.tribe-events-single .tribe-events-button,
.tribe-tickets .tribe-common-c-btn,
.single-tribe_events a.tribe-events-button {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--radius-btn) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  transition: background var(--transition) !important;
}

.single-tribe_events a.tribe-events-button:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
}

/* ââ Events list view (below calendar) ââ */
.fda-events-list .tribe-events-loop .tribe-event-schedule-details,
.tribe-events-loop .tribe-events-schedule {
  color: var(--color-primary) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
}

.tribe-events-loop .tribe-event-url,
.tribe-events-loop h2.tribe-events-list-event-title a {
  font-family: var(--font-heading) !important;
  color: var(--color-text-dark) !important;
  font-size: 1.3rem !important;
  text-decoration: none !important;
}

.tribe-events-loop h2.tribe-events-list-event-title a:hover {
  color: var(--color-primary) !important;
}

/* Event cards in list */
.tribe-events-loop article.type-tribe_events {
  background: #fff !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  border: none !important;
  transition: transform var(--transition), box-shadow var(--transition) !important;
}

.tribe-events-loop article.type-tribe_events:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(42,157,143,0.16) !important;
}

/* Category badge */
.tribe-events-loop .tribe-events-calendar__day-cell .tribe-event-categories,
.tribe-events-loop .tribe-event-categories a {
  background-color: rgba(42,157,143,0.10) !important;
  color: var(--color-primary) !important;
  border-radius: 50px !important;
  padding: 3px 12px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ââ View toggle (month / list / day) ââ */
.tribe-events-viewbar,
#tribe-events-bar .tribe-bar-views {
  font-family: var(--font-body) !important;
}

.tribe-events-viewbar a,
.tribe-bar-views-inner a {
  color: var(--color-primary) !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  padding: 6px 14px !important;
  transition: all var(--transition) !important;
}

.tribe-events-viewbar a:hover,
.tribe-bar-views-inner a.tribe-bar-active {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}

/* ââ New v6 (block-based) TEC overrides ââ */
.tribe-events .tribe-events-calendar-month__calendar-event {
  background-color: var(--color-primary) !important;
  border-radius: 6px !important;
  color: #fff !important;
}

.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

.tribe-events .tribe-events-calendar-month__day--current
  .tribe-events-calendar-month__day-date {
  color: var(--color-primary) !important;
  font-weight: 700 !important;
}

.tribe-events .tribe-events-calendar-month__day--current
  .tribe-events-calendar-month__day-date-daynum {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.tribe-events .tribe-common-c-btn-border,
.tribe-events .tribe-common-c-btn {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
  border-radius: 50px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
}

.tribe-events .tribe-common-c-btn-border:hover,
.tribe-events .tribe-common-c-btn:hover {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}

/* Month header row background */
.tribe-events .tribe-events-calendar-month__header {
  background: linear-gradient(135deg, #2A9D8F, #1B7A6E) !important;
  border-radius: 12px 12px 0 0 !important;
}

.tribe-events .tribe-events-calendar-month__header-column {
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Navigation buttons */
.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next {
  background-color: var(--color-primary) !important;
  border-radius: 50px !important;
  color: #fff !important;
  padding: 8px 20px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  transition: background var(--transition) !important;
}

.tribe-events .tribe-events-c-nav__prev:hover,
.tribe-events .tribe-events-c-nav__next:hover {
  background-color: var(--color-primary-dark) !important;
}

/* ââ Responsive calendar ââ */
@media (max-width: 767px) {
  .tribe-events-calendar td {
    min-height: 60px !important;
    padding: 4px !important;
  }

  .tribe-events-calendar thead th {
    font-size: 11px !important;
    padding: 10px 4px !important;
  }

  .tribe-events-loop article.type-tribe_events {
    padding: 16px !important;
  }
}