/* Lumika Themes — WordPress / Elementor glue (kept apart from main.css so the design system stays in sync with the HTML prototype) */

/* Admin bar offsets for the sticky header and full-screen mobile menu */
.admin-bar .lm-header { top: 32px; }
.admin-bar .lm-mobile-menu { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .lm-header { top: 46px; }
  .admin-bar .lm-mobile-menu { top: 46px; }
}
@media (max-width: 600px) { .admin-bar .lm-header { top: 0; } }

/* Logo fallback when no logo is uploaded */
.lm-header__brand-text { font-family: var(--lm-font-serif); font-weight: 600; font-size: 20px; color: var(--lm-navy-900); }

/* Elementor: let Lumika sections run edge to edge with no wrapper spacing */
.lm-page .elementor-widget:not(:last-child) { margin-block-end: 0; }
.lm-page .elementor-widget-container { margin: 0; padding: 0; }
.lm-page .elementor-section.elementor-section-boxed > .elementor-container,
.lm-page .e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }

/* Elementor resets `.elementor img { height:auto }` (same specificity as our rules, loaded later) — restore full-height images */
.lm-page .lm-portrait img,
.lm-page .lm-avatar img,
.lm-page img.lm-page-hero__bg,
.lm-page img.lm-cta__bg,
.lm-page img.lm-hero__media,
.lm-page img.lm-hero__poster { height: 100%; }

/* Widget layout hooks (replace inline styles of the prototype so Elementor controls can override them) */
.lm-seats__grid { margin-top: 56px; }
.lm-mission__values { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.lm-mission__link { margin-top: 28px; }
.lm-mission__note { margin-top: 40px; }

.lm-story__grid { margin-top: 56px; }
.lm-story__link { margin-top: 40px; }

/* CEO / Treasury: join the section above, optional flipped layout */
.lm-ceo-section { padding-top: 0; }
.lm-ceo-section--right .lm-ceo { flex-direction: row-reverse; }
.lm-ceo-section--color .lm-portrait img { filter: none; }
.lm-treasury-section--left .lm-treasury { flex-direction: row-reverse; }
.lm-treasury-section--plain .lm-treasury__media img { filter: none; }
.lm-treasury__link { margin-top: 28px; }

/* CPT widgets */
.lm-recs-list__intro { margin-bottom: 48px; }
.lm-board__title { margin-bottom: clamp(40px, 5vw, 64px); }
.lm-advisory--color .lm-portrait img { filter: none; }
.lm-partners--color .lm-partner-cells img { filter: none; opacity: 1; }
.lm-partner-list__title { margin-bottom: 48px; }
.lm-partner__name { font-size: clamp(26px, 1vw + 22px, 34px); }
.lm-partner__desc p + p { margin-top: 12px; }
.lm-partner__inv { color: var(--lm-ink); }
.lm-partner__site { margin-top: 16px; }

/* Pages / articles / contact / legal */
.lm-values__grid { margin-top: 56px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.lm-values__note { margin-top: 48px; }
.lm-era-nav-section { padding-bottom: 0; }
.lm-era__years + .lm-split-content__title { margin-top: 12px; }
.lm-articles__grid { margin-top: 48px; gap: 40px 28px; }
.lm-article-list .lm-articles__grid, .lm-articles .lm-articles__grid { margin-top: 48px; }
.lm-article__ph { display: block; width: 100%; aspect-ratio: 3 / 2; background: var(--lm-surface); }
.lm-article-detail__img { width: 100%; height: auto; border-radius: var(--lm-radius); }
.lm-article-detail__about { margin-top: 20px; }
.lm-member-card__name { margin: 0; font-family: var(--lm-font-serif); font-weight: 600; font-size: 19px; color: var(--lm-navy-900); }
.lm-pagination { margin-top: 56px; }
.lm-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; margin-right: 6px; border: 1px solid var(--lm-line-2); border-radius: var(--lm-radius-sm); color: var(--lm-navy-900); text-decoration: none; }
.lm-pagination .page-numbers.current, .lm-pagination a.page-numbers:hover { border-color: var(--lm-brand-700); color: var(--lm-brand-700); }
.lm-contact__offices { margin-top: 32px; }
.lm-form-panel__title { font-size: clamp(24px, 1vw + 20px, 32px); }
.lm-legal--no-toc { grid-template-columns: minmax(0, 1fr); }

/* Contact Form 7 inside .lm-form */
.lm-form .wpcf7-form { display: grid; gap: 20px; }
.lm-form .wpcf7-form-control-wrap { display: block; }
.lm-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 14px; color: #B3261E; }
.lm-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.lm-form .wpcf7-acceptance input { width: 20px; height: 20px; margin: 1px 12px 0 0; accent-color: var(--lm-brand-700); vertical-align: top; }
.lm-form .wpcf7-submit { border: 1px solid transparent; }
.lm-form .wpcf7-spinner { display: none; }
.lm-form .wpcf7-response-output { margin: 0 !important; padding: 16px 18px !important; border: 0 !important; border-radius: var(--lm-radius-sm); background: var(--lm-brand-50); color: var(--lm-navy-900); font-size: 15px; }
.lm-form .wpcf7 form.invalid .wpcf7-response-output, .lm-form .wpcf7 form.failed .wpcf7-response-output { background: #FDECEA; }
.lm-form .wpcf7 form:not(.sent):not(.invalid):not(.failed):not(.unaccepted):not(.spam) .wpcf7-response-output { display: none; }

/* About the CEO / Treasury pages */
.lm-profile__prose { margin-top: 28px; }
.lm-profile--color .lm-portrait img { filter: none; }
.lm-profile .lm-portrait { max-width: 360px; }
.lm-profile .lm-inline-actions { margin-top: 20px; }
.lm-icon-cards__grid { margin-top: 48px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.lm-icon-cards .lm-card .lm-h3 { margin-top: 20px; }
.lm-icon-cards .lm-body a { color: var(--lm-brand-700); }
.lm-treasury-props__text { margin-top: 32px; }

/* Home hero: poster sits under the video; optional poster-only on mobile */
.lm-hero__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
@media (max-width: 767px) { .lm-hero--no-video-mobile video.lm-hero__media { display: none; } }

/* Default content (non-Elementor pages) */
.lm-default { padding: var(--lm-pad-y) var(--lm-pad-x); }
