/*
 * Mars Society Australia
 * elementor-overrides.css  — loaded only when Elementor is active
 *
 * These rules fine-tune Elementor's defaults to match the
 * NASA.gov aesthetic: white sections, heavy type, red circle arrows.
 */

/* ─── Reset Elementor coloured backgrounds ─── */
.elementor-section-wrap,
.elementor-section,
.elementor-column-wrap,
.elementor-widget-wrap {
  background-color: transparent;
}

/* ─── Section padding defaults ─── */
.elementor-top-section {
  padding: 52px 4px;
}

/* ─── NASA-style HERO section ─── */
/* Apply CSS class "msa-hero" to the section in Elementor → Advanced → CSS Classes */

.elementor-section.msa-hero {
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  padding-bottom: 100px !important; /* space for strip */
  position: relative;
  overflow: hidden;
}

/* Gradient overlay */
.elementor-section.msa-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, rgba(0,0,0,.72) 0%, rgba(0,0,0,.3) 55%, rgba(0,0,0,.05) 100%),
    linear-gradient(to top, rgba(0,0,0,.5) 0%, transparent 50%);
  z-index: 1;
  pointer-events: none;
}

.elementor-section.msa-hero > .elementor-container {
  position: relative;
  z-index: 2;
}

.elementor-section.msa-hero .elementor-heading-title {
  font-size: clamp(3.5rem, 7vw, 6rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -0.04em !important;
  line-height: 0.95 !important;
  text-transform: none !important;
}

.elementor-section.msa-hero .elementor-widget-text-editor p {
  font-size: 1.125rem !important;
  color: rgba(255,255,255,.88) !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

.elementor-section.msa-hero .elementor-button {
  background: #e8102a !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  padding: 14px 26px !important;
  border-radius: 3px !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  box-shadow: none !important;
}

.elementor-section.msa-hero .elementor-button:hover {
  background: #c5001f !important;
  transform: none !important;
}

/* ─── WHITE section (default) ─── */
/* Apply CSS class "msa-white" */
.elementor-section.msa-white {
  background: #ffffff !important;
}

/* ─── GREY alternate section ─── */
/* Apply CSS class "msa-grey" */
.elementor-section.msa-grey {
  background: #f5f5f5 !important;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}

/* ─── BLACK section (footer-style) ─── */
/* Apply CSS class "msa-black" */
.elementor-section.msa-black {
  background: #000000 !important;
}

.elementor-section.msa-black .elementor-heading-title {
  color: #ffffff !important;
}

.elementor-section.msa-black .elementor-widget-text-editor p {
  color: rgba(255,255,255,.7) !important;
}

/* ─── FEATURED NEWS GRID section ─── */
/* Apply CSS class "msa-news-section" */
.elementor-section.msa-news-section {
  background: #ffffff !important;
  padding: 52px 48px !important;
}

/* Posts widget override for NASA card style */
.elementor-section.msa-news-section .elementor-posts .elementor-post {
  background: #111;
  border: none;
  border-radius: 0;
  overflow: hidden;
  position: relative;
}

.elementor-section.msa-news-section .elementor-posts .elementor-post__thumbnail img {
  height: 260px;
  object-fit: cover;
  transition: transform 0.4s ease;
  filter: none;
}

.elementor-section.msa-news-section .elementor-posts .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.04);
}

.elementor-section.msa-news-section .elementor-posts .elementor-post__text {
  padding: 16px;
  background: #111;
}

.elementor-section.msa-news-section .elementor-posts .elementor-post__title a {
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.elementor-section.msa-news-section .elementor-posts .elementor-post__title a:hover {
  color: #e8102a !important;
}

.elementor-section.msa-news-section .elementor-post-info {
  font-size: 0.625rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: rgba(255,255,255,.5) !important;
}

/* ─── CALLOUT / FEATURE section ─── */
/* Apply CSS class "msa-callout" */
.elementor-section.msa-callout {
  background: #f5f5f5 !important;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}

.elementor-section.msa-callout .elementor-heading-title {
  font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
  font-weight: 900 !important;
  color: #000000 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}

.elementor-section.msa-callout .elementor-widget-text-editor p {
  color: #444444 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.elementor-section.msa-callout .elementor-button {
  background: transparent !important;
  color: #000000 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

/* ─── TOPICS / SCIENCE GRID ─── */
/* Apply CSS class "msa-topics" */
.elementor-section.msa-topics {
  background: #ffffff !important;
  padding: 52px 48px !important;
}

/* ─── Icon Box widget ─── */
.elementor-icon-box-title,
.elementor-icon-box-title a {
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  color: #000000 !important;
  text-transform: none !important;
  font-size: 1.125rem !important;
}

.elementor-icon-box-description {
  color: #444444 !important;
  font-size: 0.9375rem !important;
}

/* ─── Counter widget ─── */
.elementor-counter-number-wrapper {
  font-family: 'Inter', sans-serif !important;
  font-weight: 900 !important;
  color: #000000 !important;
  letter-spacing: -0.04em !important;
}

.elementor-counter-title {
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: #666666 !important;
}

/* ─── Divider ─── */
.elementor-divider-separator {
  border-color: #e8e8e8 !important;
}

/* ─── Alert bar (Elementor Text widget) ─── */
/* Apply class "msa-alert-bar" to section */
.elementor-section.msa-alert-bar {
  background: #ffffff !important;
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 16px 48px !important;
}

.elementor-section.msa-alert-bar .elementor-heading-title {
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  color: #000000 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}

/* ─── Nav menu widget ─── */
.elementor-nav-menu--main .elementor-item {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  color: rgba(255,255,255,.85) !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #ffffff !important;
}

.elementor-nav-menu--dropdown .elementor-item {
  background: #111 !important;
  color: rgba(255,255,255,.75) !important;
  font-size: 0.8125rem !important;
}

.elementor-nav-menu--dropdown .elementor-item:hover {
  background: #222 !important;
  color: #ffffff !important;
}

/* ─── Accordion ─── */
.elementor-accordion-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: #000000 !important;
  text-transform: none !important;
  background: #ffffff !important;
  border-color: #e8e8e8 !important;
  letter-spacing: -0.01em !important;
}

.elementor-accordion-icon { color: #e8102a !important; }

/* ─── Tabs ─── */
.elementor-tab-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  color: #666666 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

.elementor-tab-title.elementor-active {
  color: #000000 !important;
  border-color: #e8102a !important;
  border-bottom-color: #e8102a !important;
}

/* ─── Form overrides (CF7 / WPForms inside Elementor) ─── */
.elementor-widget-container .wpcf7-form input[type="text"],
.elementor-widget-container .wpcf7-form input[type="email"],
.elementor-widget-container .wpcf7-form textarea,
.elementor-widget-container .wpforms-field input,
.elementor-widget-container .wpforms-field textarea {
  background: #ffffff !important;
  border: 1.5px solid #cccccc !important;
  color: #000000 !important;
  border-radius: 3px !important;
  padding: 11px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  width: 100% !important;
}

.elementor-widget-container .wpcf7-form input:focus,
.elementor-widget-container .wpcf7-form textarea:focus {
  border-color: #e8102a !important;
  outline: none !important;
}

/* ─── Contact form submit button ─── */
.elementor-widget-container .wpcf7-submit,
.elementor-widget-container .wpforms-submit {
  background: #e8102a !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  padding: 13px 26px !important;
  border-radius: 3px !important;
  border: none !important;
  text-transform: none !important;
}

.elementor-widget-container .wpcf7-submit:hover,
.elementor-widget-container .wpforms-submit:hover {
  background: #c5001f !important;
}

/* ─── Mobile responsive ─── */
@media (max-width: 768px) {
  .elementor-top-section { padding: 32px 20px; }
  .elementor-section.msa-hero { min-height: 440px; }
  .elementor-section.msa-hero .elementor-heading-title {
    font-size: 3rem !important;
  }
  .elementor-section.msa-news-section { padding: 32px 20px !important; }
  .elementor-section.msa-topics { padding: 32px 20px !important; }
}
