/* ===================================================================
   Stylesheet: _CSS-bprofile-AZ-Sxs-Adrenaline-Therapy.css
   Location:   /main/_CSS-bprofile-AZ-Sxs-Adrenaline-Therapy.css
   Description: Profile-specific styles for Arizona SxS Adrenaline Therapy
   =================================================================== */

/* Breadcrumb Navigation */
.rt-breadcrumb {
  font-size: 0.9rem;
  margin-bottom: 15px;
  color: #64748b;
}

.rt-breadcrumb a {
  color: #2b6cb0;
  text-decoration: none;
}

.rt-breadcrumb a:hover {
  text-decoration: underline;
}

.rt-breadcrumb span {
  color: #1a202c;
  font-weight: 600;
}

/* Badges */
.rt-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.rt-badge {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 16px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.rt-badge-cost {
  background-color: #e6f4ea;
  color: #137333;
  border: 1px solid #ceead6;
}

.rt-badge-nonprofit {
  background-color: #e8f0fe;
  color: #1a73e8;
  border: 1px solid #d2e3fc;
}

.rt-badge-geo {
  background-color: #f1f3f4;
  color: #3c4043;
  border: 1px solid #dadce0;
}

/* Company Header Layout (Logo + Info) */
.org-header-section {
  padding-top: 10px;
  padding-bottom: 10px;
}

.org-header-flex {
  display: flex;
  align-items: center;
  gap: 28px;
}

/* Logo container constrained to 50% max-width of container */
.org-logo-container {
  flex: 0 0 auto;
  width: 50%;
  max-width: 260px;
}

.org-logo-placeholder {
  width: 100%;
  min-height: 110px;
  border: 2px dashed #cbd5e1;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #94a3b8;
  background-color: #f8fafc;
  font-size: 0.85rem;
  font-weight: 600;
}

.org-logo-container img {
  width: 100%;
  height: auto;
  max-height: 120px;
  object-fit: contain;
}

.org-meta-compact {
  flex: 1 1 auto;
}

.org-name-heading {
  margin: 0 0 4px 0;
  font-size: 1.4rem;
  color: #1a202c;
}

.org-tagline {
  margin: 0 0 10px 0;
  color: #64748b;
  font-size: 0.95rem;
}

.org-quick-contacts {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.95rem;
  color: #334155;
}

.org-quick-contacts a {
  color: #2b6cb0;
  text-decoration: none;
}

.org-quick-contacts a:hover {
  text-decoration: underline;
}

.org-quick-contacts i {
  width: 18px;
  color: #64748b;
}

/* Quick Facts Grid */
.rt-grid-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 24px;
}

.rt-fact-item strong {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: #475569;
  letter-spacing: 0.5px;
}

.rt-fact-item span {
  font-size: 0.95rem;
  color: #1e293b;
}

.rt-fact-item .cost-highlight {
  font-weight: 700;
  color: #137333;
}

/* ===================================================================
   Side-by-Side: Get Involved (Left) & Reduced Video (Right)
   =================================================================== */
/* ===================================================================
   Side-by-Side: Compact CTAs (Left) & Reduced Video (Right)
   =================================================================== */
.rt-action-video-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center; /* Centers both columns vertically to match heights */
}

.rt-action-col {
  display: flex;
  flex-direction: column;
  gap: 10px; /* Reduced vertical gap between the two cards */
  justify-content: center;
}

/* Compact CTA Card overrides */
.rt-cta-compact {
  margin: 0 !important;
  padding: 10px 14px !important; /* Tight internal padding */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rt-cta-text {
  flex: 1 1 auto;
}

.rt-cta-compact h3 {
  margin: 0 0 2px 0 !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

.rt-cta-compact p {
  margin: 0 !important;
  font-size: 0.85rem !important;
  line-height: 1.3 !important;
  color: #4a5568;
}

/* Compact CTA Button */
.rt-btn-compact {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 6px 14px !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
}

.rt-video-col {
  display: flex;
  justify-content: center;
  align-items: center;
}

.rt-video-compact-box {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rt-video-compact-box .wp-video {
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto;
}

.rt-video-compact-box video {
  width: 100% !important;
  height: auto !important;
  border-radius: 6px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
  display: block;
}

/* ===================================================================
   Gallery Grid: 8-10 Landscape Images (4-5 per row)
   =================================================================== */
.rt-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 per row on desktop */
  gap: 12px;
  margin-top: 18px;
}

.rt-gallery-item {
  overflow: hidden;
  border-radius: 6px;
  background-color: #f1f5f9;
  border: 1px solid #e2e8f0;
}

.rt-gallery-item img {
  width: 100%;
  height: 135px; /* Consistent height for neat rows */
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease-in-out;
}

.rt-gallery-item img:hover {
  transform: scale(1.04);
}

/* ===================================================================
   Responsive Breakpoints
   =================================================================== */
@media (max-width: 900px) {
  .rt-gallery-grid {
    grid-template-columns: repeat(4, 1fr); /* 4 per row on tablets */
  }
}

@media (max-width: 768px) {
  .rt-action-video-row {
    grid-template-columns: 1fr; /* Stack vertically on tablet/mobile */
  }

  .rt-gallery-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 per row on phones */
  }

  .org-header-flex {
    flex-direction: column;
    align-items: flex-start;
  }

  .org-logo-container {
    width: 100%;
    max-width: 100%;
  }
}