/*
 * WVARC Light refinement layer.
 * Theme-only structural polish for existing Gutenberg markup.
 * No content or block markup changes required.
 */

:root, .editor-styles-wrapper {
  --wvarc-light-navy: var(--wvarc-ui-text);
  --wvarc-light-blue: var(--wvarc-ui-link);
  --wvarc-light-soft-blue: var(--wvarc-ui-soft);
  --wvarc-light-gold: var(--wvarc-ui-accent);
  --wvarc-light-gray: var(--wvarc-ui-muted-surface);
  --wvarc-light-white: var(--wvarc-ui-surface);
  --wvarc-light-border: var(--wvarc-ui-border);
  --wvarc-light-shadow: 0 0.55rem 1.6rem rgba(13, 43, 94, 0.09);
  --wvarc-light-shadow-strong: 0 0.8rem 2rem rgba(13, 43, 94, 0.14);
}

/* ---------- Global rhythm and readable alignment ---------- */

.page-template-default .entry-content,
.front-page-block-content {
  background: var(--wvarc-light-white);
}

.wp-block-group.alignfull[class*="is-style-wvarc-section-"] {
  position: relative;
  border-top: 1px solid var(--wvarc-light-border);
}

.wp-block-group.alignfull[class*="is-style-wvarc-section-"] +
.wp-block-group.alignfull[class*="is-style-wvarc-section-"] {
  margin-top: 0;
}

.wp-block-group.is-style-wvarc-section-black {
  background: var(--wvarc-light-white) !important;
}

.wp-block-group.is-style-wvarc-section-navy {
  background: var(--wvarc-light-soft-blue) !important;
}

.wp-block-group.is-style-wvarc-section-gold {
  background: linear-gradient(180deg, var(--wvarc-ui-surface) 0%, var(--wvarc-ui-muted-surface) 100%) !important;
  border-top: 4px solid var(--wvarc-light-gold);
}

/* Center intentionally centered section copy without stretching lines forever. */
.wp-block-group[class*="is-style-wvarc-section-"] > .has-text-align-center,
.wp-block-group[class*="is-style-wvarc-section-"] > p.has-text-align-center {
  max-width: 62rem;
  margin-inline: auto;
}

/* Section headings get a restrained visual anchor instead of gold text. */
.wp-block-group[class*="is-style-wvarc-section-"] > h2.wp-block-heading,
.wp-block-group[class*="is-style-wvarc-section-"] > h3.wp-block-heading.has-text-align-center {
  position: relative;
}

.wp-block-group[class*="is-style-wvarc-section-"] > h2.wp-block-heading.has-text-align-center::after,
.wvarc-tech-section-heading::after {
  content: "";
  display: block;
  width: 4.5rem;
  height: 0.28rem;
  margin: 0.8rem auto 0;
  border-radius: 999px;
  background: var(--wvarc-light-gold);
}

/* Avoid duplicate decorative lines on headings that already have a framed rule. */
.wvarc-events-heading-in-grid::after,
.wvarc-club-gatherings-title::after {
  width: auto !important;
  height: 1px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* ---------- Standard page title masthead ---------- */

.entry-header.wvarc-page-masthead {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.1rem, 5vw, 3.4rem) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--wvarc-light-border) !important;
  background:
    radial-gradient(circle at 86% 22%, rgba(37, 99, 235, 0.10), transparent 19rem),
    linear-gradient(135deg, var(--wvarc-ui-surface) 0%, var(--wvarc-ui-soft) 100%) !important;
}

.entry-header.wvarc-page-masthead::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 0.35rem;
  background: linear-gradient(90deg, var(--wvarc-light-navy), var(--wvarc-light-blue) 62%, var(--wvarc-light-gold));
}

.wvarc-page-masthead-inner {
  grid-template-columns: minmax(7.5rem, 10rem) minmax(0, 1fr) !important;
  gap: clamp(1.5rem, 5vw, 3.75rem) !important;
  width: min(100% - 2rem, 66rem) !important;
}

.wvarc-page-masthead-logo {
  width: clamp(7.5rem, 13vw, 9.5rem);
  aspect-ratio: 1;
  padding: 0.7rem;
  border: 1px solid var(--wvarc-light-border);
  border-radius: 50%;
  background: var(--wvarc-light-white);
  box-shadow: var(--wvarc-light-shadow);
}

.wvarc-page-masthead-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.wvarc-page-masthead-copy {
  align-items: flex-start !important;
  justify-self: stretch !important;
  width: 100% !important;
}

.wvarc-page-masthead .wvarc-page-club-name {
  margin-bottom: 0.5rem !important;
  color: var(--wvarc-light-blue) !important;
  font-family: var(--wvarc-font-body) !important;
  font-size: clamp(0.76rem, 1.3vw, 0.9rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase;
}

.entry-header.wvarc-page-masthead h1 {
  color: var(--wvarc-light-navy) !important;
  font-family: var(--wvarc-font-heading) !important;
  font-size: clamp(2rem, 5vw, 3.65rem) !important;
  font-weight: 800 !important;
  line-height: 1.03 !important;
  text-align: left !important;
}

/* ---------- Homepage title banner ---------- */

.wvarc-home-masthead {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(37, 99, 235, 0.09), transparent 21rem),
    linear-gradient(135deg, var(--wvarc-ui-surface) 0%, var(--wvarc-ui-muted-surface) 100%) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.wvarc-home-masthead::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 0.4rem;
  background: linear-gradient(90deg, var(--wvarc-light-navy), var(--wvarc-light-blue) 62%, var(--wvarc-light-gold));
}

.wvarc-home-masthead .wp-block-image img {
  padding: 0.55rem;
  border: 1px solid var(--wvarc-light-border);
  border-radius: 50%;
  background: var(--wvarc-light-white);
  box-shadow: var(--wvarc-light-shadow);
}

.wvarc-home-masthead h1 {
  color: var(--wvarc-light-navy) !important;
  font-size: clamp(2.25rem, 5.2vw, 4.5rem);
  line-height: 1.02;
}

.wvarc-home-masthead .wvarc-home-tagline {
  margin-top: 0.7rem !important;
  color: var(--wvarc-light-blue) !important;
  font-weight: 750;
}

/* ---------- Card hierarchy ---------- */

.wp-block-columns[class*="is-style-wvarc-card-grid"] {
  align-items: stretch !important;
  gap: clamp(1rem, 2.5vw, 1.5rem) !important;
}

.wp-block-columns[class*="is-style-wvarc-card-grid"] > .wp-block-column,
.wvarc-gatherings-grid > .wp-block-column,
.wvarc-tech-card,
.card,
.post-list article {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--wvarc-light-border) !important;
  border-radius: 0.65rem !important;
  box-shadow: var(--wvarc-light-shadow) !important;
}

.wp-block-columns[class*="is-style-wvarc-card-grid"] > .wp-block-column {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(1.25rem, 2.6vw, 1.7rem) !important;
}

/* Two inherited card styles now intentionally look different. */
.wp-block-columns.is-style-wvarc-card-grid-black > .wp-block-column {
  background: var(--wvarc-light-white) !important;
  border-top: 4px solid var(--wvarc-light-navy) !important;
}

.wp-block-columns.is-style-wvarc-card-grid-navy > .wp-block-column,
.wp-block-columns.is-style-wvarc-card-grid > .wp-block-column {
  background: var(--wvarc-ui-raised) !important;
  border-top: 4px solid var(--wvarc-light-blue) !important;
}

/* On a white section, navy-card style receives a visible soft-blue surface. */
.is-style-wvarc-section-black .wp-block-columns.is-style-wvarc-card-grid-navy > .wp-block-column,
.is-style-wvarc-section-black .wp-block-columns.is-style-wvarc-card-grid > .wp-block-column {
  background: var(--wvarc-light-soft-blue) !important;
}

/* On a soft-blue section, white cards remain distinct. */
.is-style-wvarc-section-navy .wp-block-columns.is-style-wvarc-card-grid-black > .wp-block-column {
  background: var(--wvarc-light-white) !important;
}

.wp-block-columns[class*="is-style-wvarc-card-grid"] > .wp-block-column > h3:first-child {
  margin-top: 0;
}

.wp-block-columns[class*="is-style-wvarc-card-grid"] > .wp-block-column > .wp-block-buttons:last-child {
  margin-top: auto;
  padding-top: 1rem;
}

.wp-block-columns[class*="is-style-wvarc-card-grid"] > .wp-block-column p:last-of-type {
  margin-bottom: 0;
}

/* Better row separation where multiple card grids are stacked. */
.wp-block-columns[class*="is-style-wvarc-card-grid"] +
.wp-block-columns[class*="is-style-wvarc-card-grid"] {
  margin-top: 1.35rem;
}

/* Compact informational cards. */
.wvarc-tech-card__tags span {
  border-color: var(--wvarc-ui-border) !important;
  background: var(--wvarc-light-soft-blue) !important;
}

.wvarc-kc-featured-card {
  border-top: 5px solid var(--wvarc-light-gold) !important;
}

.wvarc-kc-featured-card--primary {
  box-shadow: var(--wvarc-light-shadow-strong) !important;
}

/* ---------- Links/buttons ---------- */

.wp-block-button__link,
.button,
.wvarc-event-button,
.wvarc-document-viewer__download,
.wvarc-document-viewer__arrow {
  border-radius: 0.45rem !important;
}

.wp-block-button.is-style-wvarc-action .wp-block-button__link {
  box-shadow: 0 0.22rem 0.6rem rgba(245, 158, 11, 0.18);
}

.wp-block-button.is-style-wvarc-secondary .wp-block-button__link {
  box-shadow: none;
}

/* Default Gutenberg buttons should be blue in the light theme. */
.wp-block-button:not(.is-style-wvarc-action):not(.is-style-wvarc-secondary):not(.is-style-wvarc-outline) .wp-block-button__link {
  background: var(--wvarc-ui-action) !important;
  border-color: var(--wvarc-light-blue) !important;
  color: var(--wvarc-ui-on-action) !important;
}

/* ---------- Homepage component polish ---------- */

.wvarc-repeater-band {
  border-top: 0 !important;
  border-bottom: 1px solid var(--wvarc-light-border);
  background: var(--wvarc-light-soft-blue) !important;
}

.wvarc-repeater-band h2 {
  margin-bottom: 1rem;
}

.wvarc-join-cta .wp-block-columns {
  gap: clamp(2rem, 5vw, 4rem) !important;
}

.wvarc-join-cta .wp-block-image img,
.wp-block-image.is-style-wvarc-feature-image img {
  border-color: var(--wvarc-light-border) !important;
  box-shadow: var(--wvarc-light-shadow);
}

.wvarc-home-link-columns .wp-block-column {
  min-height: 16rem !important;
}

.wvarc-home-link-columns .wp-block-column + .wp-block-column {
  border-left: 1px solid var(--wvarc-light-border);
}

.wvarc-gatherings-grid > .wp-block-column {
  background: var(--wvarc-light-white) !important;
  border-top: 4px solid var(--wvarc-light-blue) !important;
}

.wvarc-gathering-caption {
  color: var(--wvarc-light-blue) !important;
}

.wvarc-affiliate-gallery > .wp-block-image {
  padding: 0.75rem;
  border: 1px solid var(--wvarc-light-border);
  border-radius: 0.6rem;
  background: var(--wvarc-light-white);
}

/* ---------- Membership ---------- */

.wvarc-membership-hero {
  padding-block: clamp(1.75rem, 4vw, 3rem) !important;
  background: var(--wvarc-light-soft-blue) !important;
}

.wvarc-membership-hero .wp-block-image {
  margin-bottom: 0;
}

.wvarc-membership-hero img {
  border: 1px solid var(--wvarc-light-border) !important;
  border-radius: 0.75rem !important;
  box-shadow: var(--wvarc-light-shadow-strong) !important;
}

/* ---------- Image-cover cards: preserve intentional dark-overlay contrast ---------- */

.wp-block-cover.wvarc-benevolence-card {
  overflow: hidden;
  border: 1px solid rgba(13, 43, 94, 0.18);
  border-radius: 0.7rem !important;
  box-shadow: var(--wvarc-light-shadow);
}

.wp-block-cover.wvarc-benevolence-card h1,
.wp-block-cover.wvarc-benevolence-card h2,
.wp-block-cover.wvarc-benevolence-card h3,
.wp-block-cover.wvarc-benevolence-card h4 {
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.55);
}

.wp-block-cover.wvarc-benevolence-card p,
.wp-block-cover.wvarc-benevolence-card em {
  color: #FFFFFF !important;
}

.wp-block-cover.wvarc-benevolence-card a {
  color: #FFD27A !important;
  font-weight: 800;
}

/* ---------- Documents ---------- */

.wvarc-document-viewer {
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--wvarc-light-border);
  border-radius: 0.7rem;
  background: var(--wvarc-light-white);
  box-shadow: var(--wvarc-light-shadow);
}

.wvarc-document-viewer__inline-title {
  color: var(--wvarc-light-navy) !important;
}

.wvarc-document-viewer__inline-caption,
.wvarc-document-viewer__status,
.wvarc-document-viewer__controls {
  color: var(--wvarc-light-navy) !important;
}

.wvarc-document-viewer__embed {
  border-color: var(--wvarc-light-border) !important;
  background: var(--wvarc-light-gray) !important;
}

.wvarc-document-viewer.wvarc-document-viewer--minimal .wvarc-document-viewer__arrow {
  background: var(--wvarc-light-white) !important;
  border-color: var(--wvarc-light-blue) !important;
  color: var(--wvarc-light-blue) !important;
}

.wvarc-document-viewer.wvarc-document-viewer--minimal .wvarc-document-viewer__arrow:hover:not(:disabled) {
  background: var(--wvarc-ui-action) !important;
  color: var(--wvarc-ui-on-action) !important;
}

.wvarc-document-viewer.wvarc-document-viewer--minimal .wvarc-document-viewer__page-indicator {
  background: var(--wvarc-light-soft-blue) !important;
  border-color: var(--wvarc-light-border) !important;
  color: var(--wvarc-light-navy) !important;
}

/* ---------- Video presentation page ---------- */

.wvarc-page-wvarc-video-presentations .entry-content {
  background: var(--wvarc-light-gray) !important;
}

.wvarc-page-wvarc-video-presentations .entry-content > .wp-block-heading {
  color: var(--wvarc-light-navy) !important;
}

.wvarc-page-wvarc-video-presentations .entry-content > .wp-block-heading::before,
.wvarc-page-wvarc-video-presentations .entry-content > .wp-block-heading::after {
  background: var(--wvarc-light-gold) !important;
}

.wvarc-page-wvarc-video-presentations .wvarc-video-presentation {
  border-color: var(--wvarc-light-border) !important;
  background: var(--wvarc-light-white) !important;
  color: var(--wvarc-light-navy) !important;
  box-shadow: var(--wvarc-light-shadow) !important;
}

.wvarc-page-wvarc-video-presentations .wvarc-video-presentation h4 {
  color: var(--wvarc-light-navy) !important;
}

.wvarc-page-wvarc-video-presentations .wvarc-video-presentation p {
  color: var(--wvarc-light-navy) !important;
}

/* ---------- Calendar legibility ---------- */

.wvarc-calendar--month .wvarc-calendar__month-cell {
  box-shadow: inset 0 0 0 1px rgba(13, 43, 94, 0.02);
}

.wvarc-calendar--month .wvarc-calendar__month-cell.is-today {
  outline: 3px solid rgba(245, 158, 11, 0.55);
  outline-offset: -3px;
}

.wvarc-calendar--month .wvarc-calendar__event,
.wvarc-page-net-calendar .wvarc-calendar--weekly-schedule .wvarc-calendar__event {
  border-left: 4px solid var(--wvarc-light-blue) !important;
}

.wvarc-calendar__event-club {
  font-weight: 900;
}

.wvarc-calendar__modal-card {
  box-shadow: 0 1rem 3rem rgba(13, 43, 94, 0.20) !important;
}

/* ---------- Node-status surface ---------- */

.wvarc-page-node-status .wvarc-node-status-wrap {
  padding-top: clamp(1.5rem, 4vw, 3rem);
}

.wvarc-page-node-status .wvarc-site {
  box-shadow: var(--wvarc-light-shadow) !important;
}

.wvarc-page-node-status .wvarc-site__head {
  border-bottom-color: var(--wvarc-light-border) !important;
}

.wvarc-page-node-status .wvarc-talker-card {
  border-top: 3px solid var(--wvarc-light-blue) !important;
}

/* ---------- Prevent low-contrast legacy gold text on light surfaces ---------- */

.wp-block-group.is-style-wvarc-section-black > :not(.wp-block-cover) a:not(.wp-block-button__link, .wp-element-button, .wvarc-event-button, .wvarc-tech-card__action, .wvarc-document-viewer__download),
.wp-block-group.is-style-wvarc-section-navy > :not(.wp-block-cover) a:not(.wp-block-button__link, .wp-element-button, .wvarc-event-button, .wvarc-tech-card__action, .wvarc-document-viewer__download),
.wp-block-group.is-style-wvarc-section-gold > :not(.wp-block-cover) a:not(.wp-block-button__link, .wp-element-button, .wvarc-event-button, .wvarc-tech-card__action, .wvarc-document-viewer__download) {
  color: var(--wvarc-light-blue) !important;
}

.wp-block-group.is-style-wvarc-section-black > h1,
.wp-block-group.is-style-wvarc-section-black > h2,
.wp-block-group.is-style-wvarc-section-black > h3,
.wp-block-group.is-style-wvarc-section-navy > h1,
.wp-block-group.is-style-wvarc-section-navy > h2,
.wp-block-group.is-style-wvarc-section-navy > h3,
.wp-block-group.is-style-wvarc-section-gold > h1,
.wp-block-group.is-style-wvarc-section-gold > h2,
.wp-block-group.is-style-wvarc-section-gold > h3 {
  color: var(--wvarc-light-navy) !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 48rem) {
  .wvarc-page-masthead-inner {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .wvarc-page-masthead-logo {
    justify-self: center;
  }

  .wvarc-page-masthead-copy {
    align-items: center !important;
  }

  .entry-header.wvarc-page-masthead h1 {
    text-align: center !important;
  }

  .wvarc-home-link-columns .wp-block-column + .wp-block-column {
    border-left: 0;
  }

  .wp-block-columns[class*="is-style-wvarc-card-grid"] > .wp-block-column {
    min-height: 0;
  }
}

