﻿/* =========================================
   HERO – shared by Business pages
   Matches VendorLearningSeries hero behavior
   ========================================= */

.header-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Image sizing */
.header-container picture,
.header-container picture img {
  display: block;
  width: 100%;
  height: 21rem;              /* same logical height as VendorLearningSeries */
}

.header-container picture img {
  object-fit: cover;
  object-position: 50% 71%;
}

/* Dark gradient overlay above image, below text */
.header-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.10) 0%,
    rgba(0, 0, 0, 0.35) 45%,
    rgba(0, 0, 0, 0.65) 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* Label + title block, overlaid at bottom of the image */
.header-title {
  position: absolute;
  left: 50%;
  bottom: 3.5rem;               /* distance from bottom of hero */
  transform: translateX(-50%);
  width: 100%;
  max-width: 1420px;
  padding: 0 1.75rem;

  color: #ffffff;
  font-family: "Roboto", Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 2.3rem;
  letter-spacing: 0.08em;
  line-height: 1.15;

  z-index: 2;                   /* above overlay */
}

/* Subtitle (label) – stacked above main title */
.header-title .subtitle {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  margin-bottom: 0.4rem;
}

/* Remove extra gap caused by the <br> between subtitle and title */
.header-title br {
  display: none;
}

/* Larger desktop treatment similar to UpcomingEvents hero */
@media (min-width: 1024px) {
  .header-container picture,
  .header-container picture img {
    height: 21rem;
    min-height: 420px;
  }

  .header-title {
    font-size: 3.4rem;
    margin-bottom: 3.5rem;
  }

  .header-title .subtitle {
    font-size: 1.8rem;
  }
}

/* =========================================
   INTRO SECTION
   (used on all three Business pages)
   – copied from your original layout
   ========================================= */

.intro-section {
  position: relative;
  display: flex;
  flex-direction: row;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 2.8125rem;          /* 45px */
  line-height: 3.4375rem;        /* 55px */
  letter-spacing: 0;
  vertical-align: middle;
}

.intro-content {
  line-height: 1;
  width: auto;
  flex-grow: 1;
  padding: 5rem 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  background: #ffffff;
}

.intro-content > .whitespace {
  font-family: "Inter", Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;           /* 20px */
  line-height: 1.875rem;        /* 30px */
  letter-spacing: 0;
  vertical-align: middle;
  height: 1.875rem;
}

.intro-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 2.8125rem;          /* 45px */
  line-height: 3.4375rem !important;
}

.intro-paragraph {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;             /* 24px */
  line-height: 2.375rem;         /* 38px */
  letter-spacing: 0;
  vertical-align: middle;
  margin: 0;
}

.intro-image-middle {
  display: none;
}

.intro-image {
  display: block;
  width: 36vw;
  height: auto;
  margin: 0;
  order: 0;
}

/* Tablet: stack intro image and text (original behavior) */
@media (max-width: 1050px) {
  .intro-section {
    flex-direction: column;
  }

  .intro-image {
    display: none;
  }

  .intro-image-middle {
    display: block;
    width: 100%;
    margin: 0;
    padding: 4rem 0;
  }

  .intro-content {
    padding: 6rem;
  }
}

/* Mobile layout tweaks */
@media (max-width: 767px) {
  .intro-content {
    padding: 2.5rem 1.5rem;
  }

  .intro-title {
    margin-bottom: 1.5rem;
  }

  .intro-image-middle {
    width: 100%;
    margin: 0;
    padding: 2rem 0;
  }
}

@media (max-width: 480px) {
  .intro-content {
    padding: 2rem 1.25rem;
  }

  .intro-title {
    margin-bottom: 1.25rem;
  }

  .intro-image-middle {
    padding: 1.5rem 0;
  }
}

/* =========================================
   BUSINESS RESOURCES – card grid
   (.resources-div, .resource-card, etc.)
   ========================================= */

:root {
  --resource-img-width: 247px;
  --resource-img-height: 320px;
}

/* Row of cards */
.resources-div {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem;
  justify-content: center;
  margin-block: 2rem;
}

/* Individual card */
.resource-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: calc(var(--resource-img-width) * 1.75);
  max-width: 100%;
  font-family: "Roboto", Arial, sans-serif;
}

/* Image link */
.resource-card__image-link {
  display: block;
  margin: 0 auto;
}

/* Image itself – uniform size */
.resource-card__image {
  display: block;
  width: var(--resource-img-width);
  height: var(--resource-img-height);
  object-fit: cover;
}

.resource-card__info-link {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;

  /* 75% width of the card */
  width: 75%;

  /* center it under the image */
  margin: 0.75rem auto 0;

  text-decoration: none;
  color: #000000;
}

/* Text block – left aligned, can wrap */
.resource-card__title {
  flex: 1 1 auto;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5;
}

/* Arrow – stays on the right, top-aligned */
.resource-card__arrow {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: flex-start;
  margin-top: .5rem;
}

.resource-card__arrow svg {
  width: 35px;
  height: auto;
}

/* Stack cards on narrow screens */
@media (max-width: 767px) {
  .resources-div {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  .resource-card {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .resource-card__info-link {
    width: 100%;
    margin: 0.75rem 0 0;
  }
}

/* BUSINESS RESOURCES – force 3 → 2 → 1 columns */
.resources-div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5rem;                 /* keep your existing spacing feel */
  justify-items: center;     /* center each card within its grid cell */
  margin-block: 2rem;
}

/* Let the card fill its cell, but don’t exceed your intended card width */
.resource-card {
  width: 100%;
  max-width: calc(var(--resource-img-width) * 1.75);
}

/* Tablet: 2 across */
@media (max-width: 1050px) {
  .resources-div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem;
  }
}

/* Mobile: 1 across */
@media (max-width: 767px) {
  .resources-div {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  /* Keep your existing mobile behavior for the text row */
  .resource-card__info-link {
    width: 100%;
    margin: 0.75rem 0 0;
  }
}

/* =========================================
   UNDERSTANDING THE BUSINESS PROCESS
   Tabs + content grids (info-* + .headerBP)
   ========================================= */

.info-section {
  background-color: #ffffff;
  width: 80vw;
  margin: 0 auto;
}

.info-wrapper {
  background: #ffffff;
  height: auto;
}

.info-grid {
  display: none;
  gap: 24px;
}

/* hide the radios */
.info-tab-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.info-tabs {
  background: #ffffff;
  padding: 16px 0 0;
  display: flex;
  gap: 42px;
  border-bottom: 1px #efefef solid;
}

/* Tabs themselves */
.info-tab {
  position: relative;
  border: none;
  background: none;
  padding: 0 0 18px;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #000000;
}

/* Section headings inside tab content */
.headerBP {
  font-weight: 700 !important;
}

/* ACTIVE STATE – underline + color */
#tab-program:checked ~ .info-tabs label[for="tab-program"],
#tab-cmar:checked ~ .info-tabs label[for="tab-cmar"],
#tab-working:checked ~ .info-tabs label[for="tab-working"],
#tab-doing:checked ~ .info-tabs label[for="tab-doing"],
#tab-maximizing:checked ~ .info-tabs label[for="tab-maximizing"],
#tab-payment:checked ~ .info-tabs label[for="tab-payment"] {
  color: #e51937;
  font-weight: 700;
}

#tab-program:checked ~ .info-tabs label[for="tab-program"]::after,
#tab-cmar:checked ~ .info-tabs label[for="tab-cmar"]::after,
#tab-working:checked ~ .info-tabs label[for="tab-working"]::after,
#tab-doing:checked ~ .info-tabs label[for="tab-doing"]::after,
#tab-maximizing:checked ~ .info-tabs label[for="tab-maximizing"]::after,
#tab-payment:checked ~ .info-tabs label[for="tab-payment"]::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -11px;
  width: 100%;
  height: 11px;
  background: #e51937;
  opacity: 1;
}

/* Show the matching content grid when its tab is active */
#tab-program:checked ~ .info-wrapper #info-program,
#tab-cmar:checked ~ .info-wrapper #info-cmar,
#tab-working:checked ~ .info-wrapper #info-working,
#tab-doing:checked ~ .info-wrapper #info-doing,
#tab-maximizing:checked ~ .info-wrapper #info-maximizing,
#tab-payment:checked ~ .info-wrapper #info-payment {
  display: block;
  margin: 5% 0;
  width: 100%;
}

@media (max-width: 767px) {
  .info-section {
    width: 100%;
    padding: 0 1rem;
  }

  .info-tabs {
    padding: 12px 16px 0;
    gap: 16px;
    flex-wrap: wrap;
  }

  .info-tab {
    font-size: 14px;
    padding-bottom: 12px;
  }

  .info-grid {
    gap: 16px;
  }
}
