/*
Theme Name: Astra Child - Good Steward
Author: Carter Knight
Author URI: http://www.goodstewardanalytics.com
Description: Child theme for Astra, Good Steward Analytics.
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-gs
Template: astra
*/


/* ========== Vars ========== */
:root {
  --border-radius: 4px;
  /* Good Steward defaults */
  --case-study-brand: #054d3b;
  --case-study-brand-ink: #fff;
  --case-study-bg: #fff;
  --case-study-surface: #f7f7f8;
  --case-study-shadow: 0 2px 10px rgba(0,0,0,.06), 0 6px 24px rgba(0,0,0,.06);
  --case-study-gradient: linear-gradient(180deg, #fff 0%, #f1f5f9 100%);

  /* Palettes */
  --js-blue: #223C83;
  --js-red: #cf0e1b;
  --js-dark: #3A3A3A;

  --cp-grey: #334155;
  --al-red: #a81514;
  --hb-blue: #1268cf;
  --gb-blue:#00072E;
}

/* ========== Base ========== */
img {
  border-radius: var(--border-radius);
  max-width: 100%;
  height: auto;
}

/* Hide hero image on small screens */
@media only screen and (max-width: 767px) {
  .image-wrapper { display: none !important; }
}

/* Hero image sizing */
.image-wrapper img {
  width: 100%;
  max-width: 1060px;
  max-height: 800px;
}

/* Legacy container kept as-is */
.home-container {
  max-width: 1200px;
  padding: 16px 24px;
}

/* ========== Hero / Text ========== */
@media only screen and (min-width: 768px) {
  .text-content { padding-top: 48px; }
}

.text-section {
  padding: 24px 16px;
}

.text-container {
  display: flex;
  flex-direction: column-reverse;
  gap: 20px;
  max-width: 1300px;
}

.text-content {
  max-width: 650px;
  text-align: left;
}

@media (min-width: 768px) {
  .text-container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
  }
}

/* ========== Cards (Home/Services) ========== */
.card-container {
  display: flex;
  flex-direction: row;
}

.card-item {
  width: 25%;
  padding: 16px;
  margin-top: 8px;
  margin-right: 16px;
  border: 0.5px solid #d3d3d3;
  border-radius: var(--border-radius);
  transition: box-shadow 0.3s ease;
}

.card-item:hover { box-shadow: 0 4px 8px rgba(0,0,0,.2); }

@media screen and (max-width: 768px) {
  .card-container { flex-direction: column; }
  .card-item { width: 100%; }
}

/* ========== Buttons (consolidated) ========== */
.pretty-button,
.wpforms-submit,
button#wpforms-submit-63 {
  background: #536c3f !important;
}

.pretty-button:hover,
button#wpforms-submit-63:hover {
  background: #243c24 !important;
}

/* ========== Logos ========== */
.logo-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
}

.logo-title {
  font-size: 22px;
  margin-bottom: 32px;
  text-align: center;
}

.logos-container {
  display: flex;
  row-gap: 32px;
  column-gap: 12%;
  flex-wrap: wrap;
  max-width: 700px !important;
}

.logo-img {
  max-width: 25%;
  max-height: 25%;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .6;
  transition: filter .3s ease, opacity .3s ease;
}

.logo-img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* ========== Split Content ========== */
.content-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 70px;
}

.right-image img { max-width: 400px; }

@media (max-width: 768px) {
  .hide-mobile img { display: none; }
  .testimonial-box { max-width: 400px !important; }
  .content-container { flex-direction: column-reverse; }
}

/* ========== Testimonials ========== */
.testimonial-section {
  background-color: rgba(208,213,219,.31);
  padding: 40px 24px;
  border-radius: var(--border-radius);
}

.testimonial-heading {
  text-align: center;
  margin-bottom: 32px;
}

.testimonial-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.testimonial-box {
  background: #fff;
  padding: 16px;
  max-width: 280px;
  border-radius: var(--border-radius);
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
}

.testimonial-text { font-style: italic; }

.testimonial-author {
  margin-top: 10px;
  font-weight: bold;
}

.testimonial-stars {
  color: #f5c518;
  font-size: 1.2rem;
  margin-bottom: 10px;
}

/* ========== Case Study Cards ========== */
/* Theme variants */
.case-study-card.js-theme .case-study-card-bottom {
  background: linear-gradient(180deg, #fff 0%, var(--js-blue) 150%);
}
.case-study-card.al-theme .case-study-card-bottom {
  background: linear-gradient(180deg, #fff 0%, var(--al-red) 150%);
}
.case-study-card.cp-theme .case-study-card-bottom {
  background: linear-gradient(180deg, #fff 0%, var(--cp-grey) 150%);
}

.case-study-card.hb-theme .case-study-card-bottom {
  background: linear-gradient(180deg, #fff 0%, var(--hb-blue) 150%);
}

.case-study-card.gb-theme .case-study-card-bottom {
  background: linear-gradient(180deg, #fff 0%, var(--gb-blue) 150%);
}

/* Container */
.case-study-cards {
  background: var(--case-study-surface);
  padding: clamp(20px, 4vw, 48px);
}

.case-study-cards .visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  border: 0;
}

/* Grid */
.case-study-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2.5vw, 24px);
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 900px) {
  .case-study-cards-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Card */
.case-study-card {
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--case-study-bg);
  border-radius: var(--border-radius);
  box-shadow: var(--case-study-shadow);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
  min-height: 420px;
}

.case-study-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,.08), 0 16px 24px rgba(0,0,0,.08);
}

/* Media + badge */
.case-study-card-hero-wrap { position: relative; }

.case-study-card-hero {
  background-image: var(--hero);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 16 / 9;
}

.case-study-card-logo {
  position: absolute;
  left: 50%;
  bottom: -42px;
  transform: translateX(-50%);
  width: 84px; height: 84px;
  display: grid;
  place-items: center;
}

.case-study-card-logo img {
  width: 84px; height: 84px;
  object-fit: contain;
  background: #fff;
  border-radius: 50%;
  padding: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.06);
}

/* Optional media row */
.case-study-card-media {
  display: grid;
  place-items: center;
  padding: 28px 24px 8px;
  background: #fff;
}

.case-study-card-media img {
  max-width: 200px;
  max-height: 72px;
  width: auto; height: auto;
  object-fit: contain;
}

/* Bottom area */
.case-study-card-bottom {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 56px 16px 16px;
  height: 100%;
  background: var(--case-study-gradient);
}

.case-study-card-text {
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  /*-webkit-line-clamp: 3;*/
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* CTA */
.case-study-btn {
  margin-top: 8px;
  align-self: start;
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  text-decoration: none !important;
  color: var(--ast-global-color-3);
  border-radius: var(--border-radius);
  border: 2px solid var(--ast-global-color-3);
  font-weight: 600;
  line-height: 1;
  transition: filter .18s ease, transform .18s ease;
}

.case-study-btn:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  color: var(--ast-global-color-3);
}

.inner-container {
    padding: 0 16px;	
}
  
  
  