/* Lions Club Maasland — design layer over the static Elementor copy.
   Only looks (colours, type, spacing, shapes); no content. Loaded last on every page
   (server.js), so it wins over the Elementor/Astra CSS without touching those files.
   Colours follow the Lions brand: navy/blue + gold. */

:root {
  --lc-navy: #0b2a5b;
  --lc-navy-deep: #071d40;
  --lc-blue: #00338d;
  --lc-gold: #ebb700;
  --lc-gold-soft: #f7e7a8;
  --lc-ink: #1d2433;
  --lc-text: #4a5262;
  --lc-line: #e3e7ee;
  --lc-soft: #f4f6fa;
  --lc-cream: #fbf7ee;
  --lc-radius: 14px;
  --lc-shadow: 0 1px 2px rgba(11, 42, 91, .06), 0 12px 32px -12px rgba(11, 42, 91, .22);
  --lc-shadow-lift: 0 2px 4px rgba(11, 42, 91, .08), 0 22px 44px -16px rgba(11, 42, 91, .32);
  --lc-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --lc-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Type ---------- */

body,
.elementor-widget-text-editor,
.elementor-image-box-description,
.elementor-button,
.wpforms-form,
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form button,
.site-footer {
  font-family: var(--lc-sans) !important;
}
body { color: var(--lc-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.elementor-heading-title,
.elementor-image-box-title,
.entry-title {
  font-family: var(--lc-sans) !important;
  letter-spacing: -.01em;
}
/* Page and section titles: classic serif, navy */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.entry-title {
  font-family: var(--lc-serif) !important;
  font-weight: 600 !important;
  letter-spacing: -.005em;
  color: var(--lc-navy) !important;
}
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title,
.elementor-image-box-title {
  color: var(--lc-navy) !important;
}

/* Long Dutch words (Evenementencommissie) break at a syllable, not mid-letter */
.elementor-heading-title { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: normal; word-break: normal; }

.elementor-widget-text-editor {
  color: var(--lc-text) !important;
  line-height: 1.75 !important;
}
.elementor-widget-text-editor strong,
.elementor-widget-text-editor b { color: var(--lc-ink); }

::selection { background: var(--lc-gold-soft); color: var(--lc-navy); }

/* ---------- Header ---------- */

.elementor-element-7de05543 {
  background: #fff !important;
  box-shadow: 0 1px 0 var(--lc-line), 0 8px 24px -18px rgba(11, 42, 91, .35);
}
.elementskit-navbar-nav > li > a {
  font-family: var(--lc-sans) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  color: var(--lc-navy) !important;
  position: relative;
}
@media (min-width: 1025px) {
  .elementskit-navbar-nav > li > a::after {
    content: "";
    position: absolute;
    left: 15px; right: 15px; bottom: 22px;
    height: 2px;
    background: var(--lc-gold);
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
  }
  .elementskit-navbar-nav > li > a:hover::after { transform: scaleX(1); }
}
.elementskit-navbar-nav > li > a:hover { color: var(--lc-blue) !important; }
.elementor-element-7de05543 .elementor-social-icon,
.elementor-element-7de05543 .ekit_social_media a { transition: transform .2s ease, color .2s ease; }
.elementor-element-7de05543 .ekit_social_media a:hover { transform: translateY(-1px); }

/* ---------- Buttons ---------- */

.elementor-button {
  background: var(--lc-blue) !important;
  color: #fff !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  border-radius: 999px !important;
  padding: 15px 30px !important;
  box-shadow: 0 10px 22px -10px rgba(0, 51, 141, .6);
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.elementor-button:hover,
.elementor-button:focus-visible {
  background: var(--lc-navy) !important;
  box-shadow: 0 14px 28px -12px rgba(11, 42, 91, .7), inset 0 -2px 0 var(--lc-gold);
}
.elementor-button:focus-visible { outline: 3px solid var(--lc-gold); outline-offset: 3px; }

/* ---------- Dividers: short gold rule ---------- */

.elementor-widget-divider { --divider-color: var(--lc-gold) !important; --divider-border-width: 3px !important; }
.elementor-widget-divider .elementor-divider-separator {
  width: 56px !important;
  border-top-color: var(--lc-gold) !important;
  border-top-width: 3px !important;
  border-radius: 3px;
}
.elementor-widget-divider.elementor-widget-divider--view-line .elementor-divider { justify-content: inherit; }

/* ---------- Images & media ---------- */

.elementor-widget-image img,
.elementor-image-carousel img,
.elementor-widget-google_maps iframe,
.elementor-gallery-item,
.elementor-image-gallery img {
  border-radius: var(--lc-radius);
}
.elementor-widget-google_maps iframe,
.elementor-widget-google_maps .elementor-custom-embed { border-radius: var(--lc-radius); box-shadow: var(--lc-shadow); }
.elementor-widget-google_maps .elementor-widget-container { border-radius: var(--lc-radius); overflow: hidden; }

/* Header logo and footer logo stay square */
.elementor-element-7de05543 img { border-radius: 0 !important; }

/* ---------- Home: hero ---------- */

.elementor-element-66b0d76a > .elementor-background-overlay {
  background: linear-gradient(180deg, rgba(7, 29, 64, .35) 0%, rgba(7, 29, 64, .45) 55%, rgba(7, 29, 64, .7) 100%) !important;
  opacity: 1 !important;
}
.elementor-element-66b0d76a h1.elementor-heading-title {
  color: #fff !important;
  font-size: clamp(40px, 5.4vw, 72px) !important;
  line-height: 1.08 !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}
.elementor-element-66b0d76a h2.elementor-heading-title {
  color: var(--lc-gold-soft) !important;
  font-family: var(--lc-sans) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: .42em !important;
  text-transform: uppercase;
}
.elementor-element-66b0d76a .elementor-shape-fill { fill: #f4f6fa !important; opacity: .9; }

/* ---------- Home: Over ons ---------- */

.elementor-element-5ab2228a .elementor-widget-image img { box-shadow: var(--lc-shadow-lift); }
.elementor-element-5ab2228a .elementor-widget-text-editor { font-size: 16px !important; }

/* Photo bands between sections: tinted in the club colours */
.elementor-element-2357ed63,
.elementor-element-acdf9cb { position: relative; }
.elementor-element-2357ed63::after,
.elementor-element-acdf9cb::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(7, 29, 64, .78), rgba(0, 51, 141, .45));
  pointer-events: none;
}

/* ---------- Home: Ledenlijst ---------- */

.elementor-element-d8bf5d0 { background-color: var(--lc-cream) !important; }
.elementor-element-d8bf5d0 > .elementor-background-overlay { background-color: var(--lc-cream) !important; }
.elementor-element-6380fec5 > .elementor-shape-top .elementor-shape-fill { fill: var(--lc-cream) !important; }
.elementor-element-d8bf5d0 .elementor-widget-text-editor { color: var(--lc-ink) !important; line-height: 1.9 !important; }

/* ---------- Home: Agenda ---------- */

.elementor-element-6380fec5 .elementor-widget-image img {
  background: #fff;
  padding: 18px;
  border: 1px solid var(--lc-line);
  box-shadow: var(--lc-shadow);
}
.elementor-element-6380fec5 h2.elementor-heading-title:not(.elementor-size-xl):not(.elementor-size-large) { color: var(--lc-ink) !important; }

/* ---------- Home: Evenementen ---------- */

.elementor-element-105e2af0 .elementor-widget-image img { box-shadow: var(--lc-shadow-lift); }
:is(.elementor-element-7f99246, .elementor-element-2365e71) .elementor-icon { color: var(--lc-blue) !important; }
:is(.elementor-element-7f99246, .elementor-element-2365e71) .elementor-icon svg { fill: var(--lc-blue) !important; }
:is(.elementor-element-7f99246, .elementor-element-2365e71) .elementor-widget-text-editor { color: var(--lc-ink) !important; line-height: 1.5 !important; }

/* ---------- Home: Sociale doelen (navy instead of red) ---------- */

.elementor-element-e310ce2,
.elementor-element-2e9a82d,
.elementor-element-7479649,
.elementor-element-61bf783,
.elementor-element-87f5934,
.elementor-element-1d17714,
.elementor-element-8a2392f,
.elementor-element-f407ccf {
  background-color: var(--lc-navy) !important;
}
.elementor-element-f407ccf { padding-bottom: 60px !important; }
.elementor-element-a9207c1 > .elementor-shape-bottom .elementor-shape-fill { fill: var(--lc-navy) !important; }
.elementor-element-e310ce2 h2.elementor-heading-title { color: #fff !important; }
.elementor-element-e310ce2 h2.elementor-heading-title::after {
  content: "";
  display: block;
  width: 56px; height: 3px;
  margin: 18px auto 0;
  border-radius: 3px;
  background: var(--lc-gold);
}
:is(.elementor-element-2e9a82d, .elementor-element-7479649, .elementor-element-61bf783, .elementor-element-87f5934,
    .elementor-element-1d17714, .elementor-element-8a2392f, .elementor-element-f407ccf) .elementor-widget-image img {
  background: #fff;
  padding: 10px;
  border-radius: 12px;
  box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .55);
  transition: transform .25s ease;
}
:is(.elementor-element-2e9a82d, .elementor-element-7479649, .elementor-element-61bf783, .elementor-element-87f5934,
    .elementor-element-1d17714, .elementor-element-8a2392f, .elementor-element-f407ccf) .elementor-widget-image a:hover img { transform: translateY(-3px); }
:is(.elementor-element-2e9a82d, .elementor-element-7479649, .elementor-element-61bf783, .elementor-element-87f5934,
    .elementor-element-1d17714, .elementor-element-8a2392f, .elementor-element-f407ccf) .elementor-widget-text-editor a {
  color: #fff !important;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none !important;
  background-image: linear-gradient(var(--lc-gold), var(--lc-gold));
  background-size: 0 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  padding-bottom: 3px;
  transition: background-size .3s ease, color .2s ease;
}
:is(.elementor-element-2e9a82d, .elementor-element-7479649, .elementor-element-61bf783, .elementor-element-87f5934,
    .elementor-element-1d17714, .elementor-element-8a2392f, .elementor-element-f407ccf) .elementor-widget-text-editor a:hover {
  color: var(--lc-gold-soft) !important;
  background-size: 100% 2px;
}

/* ---------- Galerij (carousel) ---------- */

.elementor-image-carousel-wrapper { border-radius: var(--lc-radius); }
.elementor-element-ddca574 .elementor-image-carousel img { box-shadow: var(--lc-shadow); }
.swiper-pagination-bullet { background: var(--lc-navy) !important; opacity: .22 !important; transition: opacity .2s, transform .2s; }
.swiper-pagination-bullet-active { background: var(--lc-gold) !important; opacity: 1 !important; transform: scale(1.25); }
.elementor-swiper-button { color: var(--lc-navy) !important; }
.elementor-swiper-button svg { fill: var(--lc-navy) !important; }

/* ---------- Social media cards ---------- */

.elementor-element-745c2ae6 { background-color: var(--lc-soft) !important; }
.eael-elements-flip-box-container,
.eael-elements-flip-box-front-container,
.eael-elements-flip-box-rear-container { border-radius: 18px !important; }
.eael-elements-flip-box-container { box-shadow: var(--lc-shadow); transition: box-shadow .3s ease, transform .3s ease; }
.eael-elements-flip-box-container:hover { box-shadow: var(--lc-shadow-lift); transform: translateY(-3px); }
.eael-elements-flip-box-heading { font-family: var(--lc-sans) !important; font-weight: 600 !important; letter-spacing: .02em; }

/* ---------- Contact ---------- */

.elementor-element-85ddb6a { background-color: var(--lc-cream) !important; }
.elementor-element-2e4e28d1 > .elementor-shape-top { display: none; }

.wpforms-container .wpforms-field-label { color: var(--lc-ink) !important; font-weight: 600 !important; font-size: 14px !important; }
.wpforms-container .wpforms-field-sublabel { color: var(--lc-text) !important; font-size: 12px !important; }
.wpforms-container .wpforms-required-label { color: #c2410c !important; }
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container textarea {
  background: #fff !important;
  border: 1px solid #d5dbe5 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  min-height: 46px;
  box-shadow: 0 1px 2px rgba(11, 42, 91, .04) inset;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.wpforms-container input:focus,
.wpforms-container textarea:focus {
  outline: none !important;
  border-color: var(--lc-blue) !important;
  box-shadow: 0 0 0 4px rgba(235, 183, 0, .28) !important;
}
.wpforms-container .wpforms-submit,
.wpforms-container button[type=submit] {
  background: var(--lc-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 34px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  height: auto !important;
  cursor: pointer;
  box-shadow: 0 10px 22px -10px rgba(0, 51, 141, .6);
  transition: background-color .2s ease, transform .2s ease;
}
.wpforms-container .wpforms-submit:hover,
.wpforms-container button[type=submit]:hover { background: var(--lc-navy) !important; transform: translateY(-1px); }

/* ---------- Home footer block (navy) ---------- */

.elementor-element-2e4e28d1 {
  background-color: var(--lc-navy) !important;
  background-image: none !important;
  padding: 72px 0 56px !important;
}
.elementor-element-2e4e28d1 .elementor-image-box-title,
.elementor-element-2e4e28d1 .elementor-image-box-title a,
.elementor-element-2e4e28d1 .elementor-heading-title,
.elementor-element-2e4e28d1 .elementor-heading-title a {
  color: var(--lc-gold) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  text-decoration: none !important;
}
.elementor-element-2e4e28d1 .elementor-image-box-description,
.elementor-element-2e4e28d1 .elementor-widget-text-editor,
.elementor-element-2e4e28d1 p { color: rgba(255, 255, 255, .78) !important; }
.elementor-element-2e4e28d1 a:hover { color: #fff !important; }
.elementor-element-2e4e28d1 .elementor-widget-image img { border-radius: 16px; background: #fff; padding: 8px; }
.elementor-element-2e4e28d1 .elementor-social-icon {
  background: rgba(255, 255, 255, .1) !important;
  border-radius: 10px !important;
  transition: background-color .2s ease, transform .2s ease;
}
.elementor-element-2e4e28d1 .elementor-social-icon i { color: #fff !important; }
.elementor-element-2e4e28d1 .elementor-social-icon svg { fill: #fff !important; }
.elementor-element-2e4e28d1 .elementor-social-icon:hover { background: var(--lc-gold) !important; transform: translateY(-2px); }
.elementor-element-2e4e28d1 .elementor-social-icon:hover i { color: var(--lc-navy) !important; }

/* ---------- Site footer (copyright, every page) ---------- */

.site-footer .site-below-footer-wrap {
  background: var(--lc-navy-deep) !important;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
}
.site-footer .site-below-footer-wrap,
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright * { color: rgba(255, 255, 255, .6) !important; font-size: 13px; letter-spacing: .02em; }
.site-footer .ast-footer-copyright a:hover { color: var(--lc-gold) !important; }

/* ---------- Doelstellingen ---------- */


body:not(.home) h3.elementor-heading-title { color: var(--lc-blue) !important; }

/* ---------- Ledenlijst page ---------- */

body:not(.home) .elementor-widget-image-box .elementor-image-box-img img { border-radius: 16px; box-shadow: var(--lc-shadow); }

/* ---------- Mobile ---------- */

@media (max-width: 1024px) {
  .elementskit-menu-hamburger {
    border: 1px solid var(--lc-line) !important;
    border-radius: 10px !important;
    padding: 9px 10px !important;
  }
  .elementskit-menu-hamburger .elementskit-menu-hamburger-icon { background-color: var(--lc-navy) !important; }
  .elementskit-menu-container { background: #fff !important; box-shadow: 0 0 40px rgba(7, 29, 64, .25); }
  .elementskit-navbar-nav > li > a {
    font-size: 14px !important;
    padding: 16px 22px !important;
    border-bottom: 1px solid var(--lc-line);
  }
  .elementskit-navbar-nav > li > a:hover,
  .elementskit-navbar-nav > li > a.active { color: var(--lc-blue) !important; box-shadow: inset 3px 0 0 var(--lc-gold); }
  .elementskit-menu-close {
    border: 1px solid var(--lc-line) !important;
    border-radius: 10px !important;
    color: var(--lc-navy) !important;
  }
  .elementskit-menu-overlay { background-color: rgba(7, 29, 64, .45) !important; }
}
@media (max-width: 767px) {
  /* The gallery has dozens of photos: the dots wrap over the photo; arrows and swipe remain. */
  .elementor-element-ddca574 .swiper-pagination { display: none; }
  .elementor-element-66b0d76a h2.elementor-heading-title { letter-spacing: .3em !important; font-size: 13px !important; }
}

/* ---------- Motion preference ---------- */

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
