/* Georgia Blood & Cancer — brand overrides + page components.
   Loaded after style.css (Premier Hematology's stylesheet, copied verbatim). */
:root {
  --purple:        #6E52A0;   /* GBC ribbon purple #7C5FA9, deepened for AA contrast on buttons */
  --purple-deep:   #4A3570;
  --purple-hover:  #5D438C;
  --lavender-chip: #ECE5F7;
  --lavender-bg:   #F5F1FB;
}

.gbc-logo { height: 52px; width: auto; display: block; }
.gbc-logo--footer { height: 46px; }
.util-bar__phone { color: inherit; }
.gbc-footer-addr { color: var(--footer-subtle); font-size: 13px; line-height: 1.6; margin-top: 8px; }
.gbc-footer-addr a { color: #fff; text-decoration: underline; }

/* Sections */
.gbc-section { padding: 72px 0; }
.gbc-section--tint { background: var(--lavender-bg); }
.gbc-eyebrow { color: var(--purple); font-size: 17px; margin-bottom: 10px; }
.gbc-h2 { font-family: 'Newsreader', serif; font-weight: 500; font-size: 36px; line-height: 1.15; letter-spacing: -0.015em; color: var(--ink); margin-bottom: 20px; }
.gbc-h3 { font-family: 'Newsreader', serif; font-weight: 500; font-size: 22px; color: var(--ink); margin: 0 0 8px; }
.gbc-p { font-size: 16.5px; line-height: 1.75; color: var(--body); margin-bottom: 16px; }
.gbc-p:last-child { margin-bottom: 0; }
.gbc-link { color: var(--purple); font-weight: 600; }
.gbc-link:hover { text-decoration: underline; }
.gbc-label { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-label); margin: 14px 0 4px; }
.gbc-label:first-child { margin-top: 0; }
.gbc-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 24px; }
.gbc-btn-ghost { background: transparent; color: var(--purple); box-shadow: inset 0 0 0 2px var(--purple); }
.gbc-btn-ghost:hover { background: var(--lavender-chip); }

/* Grids */
.gbc-grid { display: grid; gap: 22px; margin-top: 28px; }
.gbc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.gbc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.gbc-grid--4 { grid-template-columns: repeat(4, 1fr); }
.gbc-card { text-decoration: none; color: inherit; display: block; }
.gbc-tile { padding: 26px 26px 24px; overflow-wrap: anywhere; }
.gbc-cols-2 { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.gbc-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.gbc-chips span { background: #fff; border: 1px solid var(--border-card); border-radius: 999px; padding: 8px 16px; font-size: 14.5px; color: var(--body-alt); }
.gbc-section--tint .gbc-chips span { background: #fff; }

/* Split image/text */
.gbc-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.gbc-split__img { width: 100%; height: 400px; object-fit: cover; border-radius: 18px; }

/* FAQ */
.gbc-faqs { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.gbc-faq { background: #fff; border: 1px solid var(--border-card); border-radius: 14px; padding: 18px 22px; }
.gbc-faq summary { cursor: pointer; font-weight: 600; color: var(--ink); font-size: 16.5px; list-style: none; position: relative; padding-right: 28px; }
.gbc-faq summary::-webkit-details-marker { display: none; }
.gbc-faq summary::after { content: "+"; position: absolute; right: 0; top: -2px; font-size: 22px; color: var(--purple); }
.gbc-faq[open] summary::after { content: "–"; }
.gbc-faq__a { padding-top: 12px; font-size: 16px; line-height: 1.7; color: var(--body); }

/* Visit card + map */
.gbc-visit { display: grid; grid-template-columns: 1fr 1.3fr; gap: 22px; margin-top: 8px; }
.gbc-visit__info { padding: 28px; }
.gbc-map { width: 100%; min-height: 320px; border: 0; border-radius: 18px; }

/* Form beside copy */
.gbc-formsplit { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: start; }
.gbc-formsplit .form-card { padding: 32px; }
.form-card select, .form-card input[type="date"] { width: 100%; }

/* Team */
.gbc-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 28px; }
.gbc-team__card { padding: 0; overflow: hidden; text-decoration: none; color: inherit; display: block; }
.gbc-team__card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gbc-team__body { padding: 18px 20px 20px; }
.gbc-team__name { font-family: 'Newsreader', serif; font-size: 21px; color: var(--ink); }
.gbc-team__role { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--purple); margin-top: 4px; }

/* Article */
.gbc-article { padding: 56px 0 72px; }
.gbc-article h2 { font-family: 'Newsreader', serif; font-weight: 500; font-size: 30px; color: var(--ink); margin: 36px 0 14px; }
.gbc-article h3, .gbc-article h4 { font-family: 'Newsreader', serif; font-weight: 500; font-size: 22px; color: var(--ink); margin: 26px 0 10px; }
.gbc-article p, .gbc-article li { font-size: 17px; line-height: 1.8; color: var(--body); }
.gbc-article p { margin-bottom: 16px; }
.gbc-article ul { padding-left: 22px; margin: 0 0 18px; }
.gbc-article li { margin-bottom: 6px; }
.gbc-article__meta { font-size: 14px; color: var(--muted-label); margin-bottom: 8px; }
.gbc-callout { background: var(--lavender-bg); border-radius: 16px; padding: 24px 26px; margin: 34px 0 0; }
.gbc-callout p { margin-bottom: 12px; }

@media (max-width: 900px) {
  .gbc-section { padding: 52px 0; }
  .gbc-h2 { font-size: 29px; }
  .gbc-grid--3, .gbc-grid--4, .gbc-team { grid-template-columns: repeat(2, 1fr); }
  .gbc-split, .gbc-formsplit, .gbc-visit { grid-template-columns: 1fr; gap: 28px; }
  .gbc-split__img { height: 260px; }
}
@media (max-width: 600px) {
  .gbc-grid--2, .gbc-grid--3, .gbc-grid--4, .gbc-cols-2 { grid-template-columns: 1fr; }
  .gbc-team { grid-template-columns: 1fr 1fr; gap: 14px; }
  .gbc-logo { height: 42px; }
  .container--md, .container--sm { padding: 0 16px; }
}
