/**
Theme Name: MECC Astra Child
Author: Brad Carson
Author URI: https://bradcarson.ca
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mecc-astra-child
Template: astra
*/

/* restore defaults everywhere */
.elementor-widget-text-editor .elementor-widget-container > ul {
  margin: 0;
  padding-left: 1.5em; /* typical browser default */
}

/* only remove padding for top-level lists on desktop */
@media (min-width: 1025px) {
  .elementor-widget-text-editor .elementor-widget-container > ul {
    padding-left: 0; /* align with heading */
  }
}

/* restore indentation for nested lists */
.elementor-widget-text-editor .elementor-widget-container ul ul {
  margin: 0.5em 0; /* optional vertical spacing */
  padding-left: 1.5em; /* typical browser default */
}
.elementor-widget-text-editor li {
  margin-bottom: 0.5rem;
}

/* --- service cards --- */

.svc-card {
  height: 100%;
}

.svc-card .elementor-image-box-title a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.svc-card .elementor-image-box-title,
.svc-card .elementor-image-box-title a {
  text-decoration: none !important; /* remove underline */
  border: 0 !important;
}

.svc-card h3 {
  font-size: 1.325rem;
}
.svc-card > .elementor-widget-container {
  height: 100%;
}
/* card container + baseline shadow */
.svc-card .elementor-widget-container {
  position: relative; /* needed for stretched link */
  border-radius: 5px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  background: #fff; /* ensures a solid card surface */
}

/* hover/focus effect */
.svc-card:hover .elementor-widget-container,
.svc-card:focus-within .elementor-widget-container {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14);
}

/* optional: subtle border to match your UI */
.svc-card .elementor-widget-container {
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 16px;
}

/* stretched link (full-card clickable) */
.svc-card .stretched-link {
  position: absolute;
  inset: 0;
  z-index: 5;
  /* keep it invisible to sighted users but accessible to screen readers */
  color: transparent;
  text-indent: -9999px;
  overflow: hidden;
}

/* Base card styling */
.price-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  padding: 14px;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  margin: 0 8px;
  margin-bottom: 20px;
}

/* Hover effect */
.price-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

/* Heading spacing */
.price-card h3 {
  margin-top: 0;
  margin-bottom: 4px;
}

/* Price styling */
.price-card .price {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 12px;
  color: #111;
}

/* Description spacing */
.price-card p {
  margin-top: 0;
  margin-bottom: 20px;
  color: #555;
}

/* CTA button spacing */
.price-card .elementor-button {
  /* margin-bottom: 20px; */
  width: 100%;
}
.price-card .elementor-widget-button {
  margin: 10px 0;
}

/* Divider line */
.price-card hr {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  margin: 20px 0;
}

/* Bullet list spacing */
.price-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.price-card ul li {
  margin-bottom: 10px;
  display: flex;
  align-items: start;
}

/* .price-card ul li:before {
  content: "✔";
  color: #2eb5a3; 
  font-weight: bold;
  margin-right: 10px;
} */

/* target Elementor's <a> button with your class */
.mecc-cta-button__yellow a {
  background-color: #ffd500 !important;
  color: #000 !important;
  border: 2px solid rgba(0, 0, 0, 0.2) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
  padding: 14px 28px !important;
  border-radius: 30px !important;

  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.2s ease-in-out;
}
.mecc-cta-button__yellow a:hover {
  background: #e6c200 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

/* keep visited the same (Elementor sometimes overrides) */
.mecc-cta-button__yellow a:visited {
  color: #000;
}

/* nice focus ring for a11y */
.mecc-cta-button__yellow a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}

/* .elementor-1500 .elementor-element.elementor-element-92be277 .ue_subtitle { */
#testimonials {
  background: radial-gradient(ellipse at center, #123a5a 0%, #082137 80%);
}
#testimonials .elementor-element .ue_subtitle {
  text-align: left;
}
#testimonials .ue-icon {
  float: right;
}

.r-tabs-tab a:focus {
  outline: none; /* Removes the default border */
}

.r-tabs-tab a:focus-visible {
  outline: none; /* Removes only when using mouse, keeps keyboard accessibility */
}

.mecc-btn__default a.elementor-button {
  /* background: linear-gradient(90deg, #007bff, #007bff); */
  /* transition: background 0.3s ease; */
  background-color: #1980c7;
}
.mecc-btn__default a.elementor-button:hover {
  background-image: none !important; /* cancel out old style */
  background-color: #0074cc !important; /* slightly darker blue */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
  transition: all 0.2s ease;
}

.header h1 {
  font-size: 1rem;
  font-weight: 500 !important;
  text-transform: uppercase;
}
.header h2 {
  font-size: 1.6rem;
  margin-bottom: 2rem !important;
}

#footer-links a .elementor-icon-list-text {
  font-weight: bold;
}
#footer-links a .elementor-icon-list-text:hover {
  text-decoration: underline;
  text-decoration-color: white;
}

/* RESOURCE CARDS */

/* Card base styling */
/* ===================================================================
   Resources cards: scope to this section only
   =================================================================== */

.resource-card .elementor-image-box-title a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.resource-card .elementor-image-box-title,
.resource-card .elementor-image-box-title a {
  text-decoration: none !important; /* remove underline */
  border: 0 !important;
}
.resource-card img {
  border-radius: 4px !important;
  aspect-ratio: 1;
  height: auto;
  object-fit: cover;
  /* max-height: 300px; */
}
.resource-card h3 {
  font-size: 1.325rem;
}
.resource-card > .elementor-widget-container {
  height: 100%;
}
/* card container + baseline shadow */
.resource-card .elementor-widget-container {
  position: relative; /* needed for stretched link */
  border-radius: 5px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  background: #fff; /* ensures a solid card surface */
}

/* hover/focus effect */
.resource-card:hover .elementor-widget-container,
.resource-card:focus-within .elementor-widget-container {
  /* transform: translateY(-2px); */
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14);
  border: 1px solid rgba(0, 0, 0, 0.5);
}

/* optional: subtle border to match your UI */
.resource-card .elementor-widget-container {
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 8px;
  padding-bottom: 16px;
}
.resources-grid .elementor-container {
  align-items: stretch;
} /* the row */
.resources-grid .elementor-column {
  display: flex;
} /* each column */
.resources-grid .elementor-column > .elementor-widget-wrap {
  display: flex;
  flex: 1; /* column fills the row height */
}

/* let the card fill the column */
.resource-card {
  display: flex;
} /* this is your column with card */
.resource-card .elementor-widget-image-box {
  display: flex;
  flex: 1;
  height: 100%;
}
.resource-card .elementor-widget-image-box > .elementor-widget-container {
  display: flex;
  flex-direction: column;
  flex: 1; /* card stretches to equal height */
}

/* ====== Carded EAEL Filterable Gallery (services-cards) ====== */
.services-cards .eael-filterable-gallery-item-wrap {
  padding-top: 10px;
}
.services-cards .eael-filterable-gallery-item-wrap .eael-gallery-grid-item {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  /* height: 100%; */
  height: 500px; /* force equal card heights */
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.services-cards .eael-gallery-grid-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(0, 0, 0, 0.5);
}

/* Top image */
.services-cards .gallery-item-thumbnail-wrap img {
  width: 100%;
  display: block;
  aspect-ratio: 16/9; /* match home cards */
  object-fit: cover;
}

/* Body panel */
.services-cards .gallery-item-caption-wrap {
  background: #f4f6f9; /* light panel bg like home cards */
  padding: 18px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Title + text */
.services-cards .fg-item-title {
  margin: 0;
  font-size: 1.125rem; /* ~18px */
  line-height: 1.25;
  color: #2a2f36;
}
.services-cards .fg-item-content p {
  margin: 0;
  color: #667085;
  font-size: 0.975rem;
}

/* Make links clean */
.services-cards .eael-gallery-grid-item a {
  text-decoration: none !important;
  color: inherit;
}

/* Optional: make the whole card clickable to the image link */
.services-cards .eael-gallery-grid-item {
  position: relative;
}
.services-cards .eael-gallery-grid-item > a:first-child::after {
  content: '';
  position: absolute;
  inset: 0;
}

/* Optional: filter pills (EAEL controls) */
.services-cards .eael-filter-gallery-control ul {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.services-cards .eael-filter-gallery-control li:hover {
  background: #1f9efd !important;
  border-color: #1f9efd !important;
  color: #fff !important;
}
.services-cards .eael-filter-gallery-control li {
  list-style: none;
  padding: 8px 14px;
  border-radius: 999px !important;
  border: 1px solid #d6dbe4;
  background: #fff !important;
  font-weight: 600;
  cursor: pointer;
}
.services-cards .eael-filter-gallery-control li.active {
  background: #1f9efd !important;
  border-color: #1f9efd !important;
  color: #fff;
}
.services-cards .gallery-item-caption-wrap.caption-style-card {
  padding: 16px;
}
