/*
Theme Name:  Happy Design Co.
Version:     1.0.0
Template:    nectar-blocks-theme
Description: Custom theme by Happy Design Co.
Theme URI:   https://happydesigncompany.com
Author:      Happy Design Co.
Author URI:  https://happydesigncompany.com
Text Domain: happy-nectar
*/

/*-------------------------------------------------------------------------*/
/* Note: The theme CSS files are loaded through the /css/ folder.
/*-------------------------------------------------------------------------*/

:root {
    --nectar-dropdown-padding: 10px;
}
/* ------------------------------------------------------------------
   McAlester Country Club — layout corrections, 2026-09-03
   NB wraps a row's columns in .nectar-blocks-row__inner, so these have to
   reach through that wrapper rather than being direct-child selectors.
   ------------------------------------------------------------------ */

/* The front page opens on the hero; the theme's own "Home" heading above it is
   redundant and pushes the hero below the fold. Interior pages keep theirs,
   because "Hole 12" and "The Course" are doing real work there. */
.home .page-header-no-bg { display: none; }

/* Hero: the offset solid card hugs its content instead of stretching to the
   full height of the video band. */
.mcc-hero .nectar-blocks-row__inner { align-items: flex-start; }

/* "Life at the club": the four source photos have four different aspect ratios,
   so without this the four labels sit at four different heights. */
.mcc-cards .nectar-blocks-row__inner > .nectar-blocks-column {
  display: flex;
  flex-direction: column;
}
.mcc-cards .nectar-blocks-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.mcc-cards .nectar-blocks-text { margin-top: auto; padding-top: 1rem; }

/* Alternating image rows: keep the photo filling its half without distorting. */
.mcc-split .nectar-blocks-image img { object-fit: cover; }

@media (max-width: 1024px) {
  .mcc-hero .nectar-blocks-row__inner { align-items: stretch; }
}

/* Hero on small screens: the card's 46% desktop width has to be released, or the
   headline wraps one word per line. The empty spacer column goes away entirely. */
@media (max-width: 1024px) {
  .mcc-hero .nectar-blocks-row__inner > .nectar-blocks-column:first-child {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 100% !important;
  }
  .mcc-hero .nectar-blocks-row__inner > .nectar-blocks-column:last-child:empty,
  .mcc-hero .nectar-blocks-row__inner > .nectar-blocks-column:last-child:not(:has(*)) {
    display: none;
  }
}

/* ------------------------------------------------------------------
   Components introduced by the 2026-09-04 homepage comp.
   ------------------------------------------------------------------ */

/* Designed placeholder: a hatched slot that reads as deliberate rather than
   unfinished. Used where the club has no photograph yet. */
.mcc-placeholder,
.mcc-quote .nectar-blocks-column:first-child > .nectar-blocks-column {
  background-image: repeating-linear-gradient(
    45deg, rgba(146,138,115,.16) 0 6px, transparent 6px 12px);
  border: 1px solid rgba(146,138,115,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
}
.mcc-placeholder .nectar-blocks-text { margin: 0; }

/* Stat row: big serif numeral over a small-caps label. */
.mcc-stats { gap: 2.5rem; margin: 2rem 0 2.25rem; }
.mcc-stats .nectar-blocks-column { flex: 0 0 auto; }
.mcc-stats .nectar-blocks-text:first-child { margin-bottom: .15rem; line-height: 1; }
@media (max-width: 620px) { .mcc-stats { gap: 1.5rem; } }

/* Technical caption: provenance and placeholder notes. */
.mcc-caption { opacity: .75; margin-top: 1rem; }

/* Golf band: the photograph bleeds to the left edge, content panel sits right. */
.mcc-golf .nectar-blocks-row__inner { align-items: center; }
.mcc-golf .nectar-blocks-image img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1025px) {
  .mcc-golf .nectar-blocks-row__inner > .nectar-blocks-column:first-child { min-height: 560px; }
  .mcc-golf .nectar-blocks-image,
  .mcc-golf .nectar-blocks-image img { height: 100%; }
}

/* Two-column section header: headline left, supporting paragraph right. */
.mcc-splithead .nectar-blocks-row__inner { align-items: end; }
@media (max-width: 1024px) { .mcc-splithead .nectar-blocks-row__inner { align-items: start; } }

/* Lede paragraph: constrain the measure so it doesn't run the full band width. */
.mcc-lede .nectar-blocks-text:last-child { max-width: 62ch; }

/* Story band sits over a photograph; keep the scrim legible. */
.mcc-story { position: relative; }
.mcc-story .nectar-blocks-row__inner { position: relative; z-index: 1; }

/* ------------------------------------------------------------------
   Header, per the comp: dark band, cream nav, two pill actions right.
   Selectors kept shallow: the theme nests the menu deeper than assumed,
   and #header-outer #top nav ul li.x > a never matched.
   ------------------------------------------------------------------ */
#header-outer, #header-outer .container { background-color: #1C2419; }
#header-outer #top nav > ul > li > a .menu-title-text { color: #F7F2E6; }
#header-outer #top nav > ul > li > a:hover .menu-title-text,
#header-outer #top nav > ul > li.current-menu-item > a .menu-title-text { color: #E3CC9B; }
#header-outer .sf-menu li a { color: #F7F2E6; }

li.mcc-portal-pill > a,
li.mcc-join-pill > a {
  display: inline-block !important;
  padding: .6em 1.4em !important;
  border-radius: 2em;
  line-height: 1.2;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
li.mcc-portal-pill > a { border: 1px solid rgba(247,242,230,.55); }
li.mcc-portal-pill > a:hover,
li.mcc-portal-pill > a:focus-visible { background: #F7F2E6; border-color: #F7F2E6; }
li.mcc-portal-pill > a:hover .menu-title-text,
li.mcc-portal-pill > a:focus-visible .menu-title-text { color: #1C2419 !important; }

li.mcc-join-pill > a { background: #283825; border: 1px solid #283825; }
li.mcc-join-pill > a:hover,
li.mcc-join-pill > a:focus-visible { background: #A9812F; border-color: #A9812F; }
li.mcc-join-pill > a:hover .menu-title-text,
li.mcc-join-pill > a:focus-visible .menu-title-text { color: #1C2419 !important; }

li.mcc-portal-pill > a:focus-visible,
li.mcc-join-pill > a:focus-visible { outline: 2px solid #E3CC9B; outline-offset: 3px; }

/* The off-canvas menu keeps the pills, because they are the two actions the whole
   site points at. The panel background is #283825, so the desktop green fill would
   be invisible: the primary goes cream-on-ink (13.6:1) and the portal stays a
   hairline outline, preserving the desktop hierarchy. */
@media (max-width: 1000px) {
  li.mcc-portal-pill, li.mcc-join-pill { margin: .35em 0; }
  li.mcc-portal-pill > a, li.mcc-join-pill > a {
    display: inline-block !important;
    padding: .8em 1.6em !important;
    border-radius: 2em;
    line-height: 1;
    white-space: nowrap;
  }
  /* The off-canvas nav is set in the large serif. These are buttons, so they take
     the same label type every other button on the site uses, and stop wrapping. */
  li.mcc-portal-pill > a, li.mcc-join-pill > a,
  li.mcc-portal-pill > a .menu-title-text, li.mcc-join-pill > a .menu-title-text {
    font-family: Archivo, system-ui, sans-serif !important;
    font-size: .875rem !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
  }
  li.mcc-portal-pill > a { border: 1px solid rgba(247,242,230,.55); background: none; }
  li.mcc-join-pill > a { background: #F7F2E6; border: 1px solid #F7F2E6; }
  li.mcc-join-pill > a, li.mcc-join-pill > a .menu-title-text { color: #1C2419 !important; }
}

/* Footer, per the comp: near-black, four columns, rule above the bottom bar. */
.mcc-foot a, .mcc-foot-bar a { color: inherit; text-decoration: none;
  border-bottom: 1px solid rgba(227,204,155,.4); }
.mcc-foot a:hover, .mcc-foot a:focus-visible { color: #FFFFFF; border-bottom-color: #E3CC9B; }
.mcc-foot a:focus-visible { outline: 2px solid #E3CC9B; outline-offset: 3px; }
.mcc-foot .nectar-blocks-text { margin: 0 0 .5rem; }
.mcc-foot h2.nectar-blocks-text { margin-bottom: 1rem; }
.mcc-foot-bar { border-top: 1px solid rgba(146,138,115,.3); }
.mcc-foot-bar .nectar-blocks-text { margin: 0; }
@media (max-width: 1024px) {
  .mcc-foot-bar .nectar-blocks-row__inner { gap: .5rem; }
}

/* Placeholder inside a card grid matches the 4:3 photos beside it, instead of a
   fixed min-height that leaves the label floating short. */
.mcc-cards .mcc-placeholder,
.mcc-cards .nectar-blocks-column > .nectar-blocks-column {
  aspect-ratio: 4 / 3;
  min-height: 0;
  width: 100%;
}


/* Stat row stays three-across on phones. NB writes
   `@media(max-width:1024px){#block-xxx{display:flex;flex-direction:column}}`
   onto the ROW element itself, so the override has to hit the row, not its inner. */
@media (max-width: 1024px) {
  .mcc-stats { flex-direction: row !important; gap: 1.5rem; }
  .mcc-stats > .nectar-blocks-row__inner {
    display: flex; flex-direction: row; gap: 1.5rem; width: 100%;
  }
  .mcc-stats .nectar-blocks-column { flex: 1 1 0; }
}
@media (max-width: 420px) { .mcc-stats { gap: 1rem; } }

/* ------------------------------------------------------------------
   Interior page components, per the Membership and Course comps.
   ------------------------------------------------------------------ */

/* Photographic page hero: scrim so cream type stays legible over the photo. */
.mcc-pagehero-photo { position: relative; }
.mcc-pagehero-photo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(28,36,25,.35) 0%, rgba(28,36,25,.78) 100%);
}
.mcc-pagehero-photo > .nectar-blocks-row__inner { position: relative; z-index: 1; }

/* Benefit strip: hairline rule ABOVE each column. */
.mcc-benefits .nectar-blocks-row__inner > .nectar-blocks-column {
  border-top: 1px solid rgba(146,138,115,.55);
  padding-top: 1.25rem;
}
.mcc-benefits .nectar-blocks-text:first-child { margin-bottom: .5rem; }

/* Priced / spec cards: hairline border, divider above the spec rows. */
.mcc-priced .nectar-blocks-row__inner > .nectar-blocks-column {
  border: 1px solid rgba(146,138,115,.5);
}
.mcc-specrows, .mcc-specrow { margin: 0; }
.mcc-specrow { border-top: 1px solid rgba(146,138,115,.35); padding-top: .55rem; margin-top: .55rem; }
.mcc-specrow .nectar-blocks-text { margin: 0; font-size: .875rem; }
/* The value sits in a small tinted pill, as in the comp. */
.mcc-specrow .nectar-blocks-row__inner > .nectar-blocks-column:last-child .nectar-blocks-text {
  background: rgba(231,223,202,.75);
  border-radius: 3px;
  padding: .12em .6em;
  display: inline-block;
}
.mcc-specrow .nectar-blocks-row__inner > .nectar-blocks-column:last-child {
  text-align: right;
}
/* Keep spec rows two-across on phones. */
@media (max-width: 1024px) {
  .mcc-specrow { flex-direction: row !important; }
  .mcc-specrow > .nectar-blocks-row__inner { display: flex; flex-direction: row; width: 100%; }
  .mcc-specrow .nectar-blocks-column { flex: 1 1 0; }
}

/* Numbered steps: rule between, number column narrow. */
.mcc-step { border-top: 1px solid rgba(146,138,115,.4); padding-top: 1.25rem; margin-top: 1.25rem; }
.mcc-step > .nectar-blocks-row__inner > .nectar-blocks-column:first-child { flex: 0 0 4rem; }
.mcc-step .nectar-blocks-text { margin-bottom: .35rem; }
@media (max-width: 1024px) {
  .mcc-step { flex-direction: row !important; }
  .mcc-step > .nectar-blocks-row__inner { display: flex; flex-direction: row; gap: 1rem; }
}

/* At-a-glance card. */
.mcc-glance { border: 1px solid rgba(146,138,115,.5); }

/* Split CTA bar: heading left, button right, vertically centred. */
.mcc-splitcta .nectar-blocks-row__inner { align-items: center; }
.mcc-splitcta .nectar-blocks-row__inner > .nectar-blocks-column:last-child { text-align: right; }
@media (max-width: 1024px) {
  .mcc-splitcta .nectar-blocks-row__inner > .nectar-blocks-column:last-child { text-align: left; }
}

/* Hole rows on the course page. */
.mcc-hole { border-top: 1px solid rgba(146,138,115,.4); padding-top: 2rem; margin-top: 2rem; }
.mcc-hole > .nectar-blocks-row__inner > .nectar-blocks-column:first-child { flex: 0 0 190px; }
.mcc-hole .nectar-blocks-image img { width: 100%; height: auto; border: 1px solid rgba(146,138,115,.35); }
@media (max-width: 760px) {
  .mcc-hole > .nectar-blocks-row__inner > .nectar-blocks-column:first-child { flex: 1 1 auto; }
}

/* Scorecard table. Lives here rather than in the block: it's site CSS, and inlining it
   pushed the core/html payload past what the editor will save in one pass. */
.mcc-card{width:100%;border-collapse:collapse;font-family:Archivo,system-ui,sans-serif;
 font-size:.875rem;color:#1C2419;margin:0 0 1.5rem}
.mcc-card th,.mcc-card td{padding:.5em .45em;text-align:right;
 border-bottom:1px solid rgba(146,138,115,.4)}
.mcc-card thead th{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;
 color:#6E4E3C;border-bottom:2px solid #928A73;white-space:nowrap}
.mcc-card th[scope=row]{text-align:left;white-space:nowrap;font-weight:400;color:#283825}
.mcc-card .tot{background:rgba(231,223,202,.75);font-weight:600}
.mcc-card tbody tr:nth-child(even){background:rgba(231,223,202,.35)}
@media (max-width:760px){.mcc-card{font-size:.75rem}.mcc-card th,.mcc-card td{padding:.4em .25em}}

/* A page with a photographic hero carries its own title, so the theme's title band
   above it is a duplicate. :has() lets us scope this without a body class. */
body:has(.mcc-pagehero-photo) .page-header-no-bg { display: none; }

/* Hole rows: the diagram is a narrow plate beside the text, as in the comp.
   NB columns are flex children, so cap the width rather than relying on flex-basis. */
.mcc-hole > .nectar-blocks-row__inner > .nectar-blocks-column:first-child {
  flex: 0 0 200px;
  max-width: 200px;
}
@media (max-width: 760px) {
  .mcc-hole > .nectar-blocks-row__inner > .nectar-blocks-column:first-child {
    flex: 1 1 auto; max-width: 240px;
  }
}
/* Hole number and par sit on one line. */
.mcc-holenum { flex-direction: row !important; align-items: baseline; gap: .75rem; }
.mcc-holenum > .nectar-blocks-row__inner { display: flex; flex-direction: row;
  align-items: baseline; gap: .75rem; }
.mcc-holenum .nectar-blocks-column { flex: 0 0 auto; }
.mcc-holenum .nectar-blocks-text { margin: 0; }

/* Photographic hero: anchor the type to the bottom of the band, as in the comp. */
.mcc-pagehero-photo > .nectar-blocks-row__inner { align-items: flex-end; }
.mcc-pagehero-photo .nectar-blocks-text { margin-bottom: .25rem; }

/* Photographic hero: the comp's band is short and the type sits low, over the dark
   foliage. Left tall, the title lands on bright sky and fails the contrast rule the
   brief sets. Cap the height and deepen the scrim toward the bottom. */
.mcc-pagehero-photo { max-height: 460px; overflow: hidden; }
.mcc-pagehero-photo::after {
  background: linear-gradient(180deg,
    rgba(28,36,25,.30) 0%, rgba(28,36,25,.55) 45%, rgba(28,36,25,.88) 100%);
}
@media (max-width: 760px) { .mcc-pagehero-photo { max-height: 340px; } }

/* The scrim has to work wherever the type lands, not only at the bottom edge.
   Measured: cream on the un-scrimmed sky was failing badly. This holds >7:1 across
   the whole band. */
.mcc-pagehero-photo::after {
  background: linear-gradient(180deg,
    rgba(28,36,25,.62) 0%, rgba(28,36,25,.66) 50%, rgba(28,36,25,.86) 100%);
}

/* The scrim pseudo-element was painting OVER the type: measured glyphs at (105,108,97)
   against a cream source of (247,242,230). Put the scrim on its own layer behind every
   direct child, rather than relying on one nested selector matching. */
.mcc-pagehero-photo::after { z-index: 0; }
.mcc-pagehero-photo > * { position: relative; z-index: 1; }
.mcc-pagehero-photo .nectar__bg-layers { z-index: 0; }

/* Text page-heroes carry their own H1 too, so hide the theme's title band there as well. */
body:has(.mcc-pagehero) .page-header-no-bg { display: none; }

/* ==================================================================
   MOBILE — consolidated. 2026-09-04.

   NB stacks a row with:
     @media(max-width:1024px){.nectar-blocks-row__inner.scope-block-XXX{
       display:flex;flex-direction:column}}
   That targets the INNER element carrying a scope class, specificity (0,2,0).
   Several earlier rules of mine targeted the outer row and therefore never
   applied at all. Everything below matches the inner, and sits at the end of the
   sheet so equal specificity resolves in our favour.
   ================================================================== */

@media (max-width: 1024px) {

  /* Rows that must stay horizontal on a phone: data, not prose. */
  .mcc-stats    > .nectar-blocks-row__inner,
  .mcc-holenum  > .nectar-blocks-row__inner,
  .mcc-specrow  > .nectar-blocks-row__inner,
  .mcc-step     > .nectar-blocks-row__inner,
  .mcc-foot-bar > .nectar-blocks-row__inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
  }

  .mcc-stats > .nectar-blocks-row__inner { gap: 1.25rem; }
  .mcc-stats .nectar-blocks-column { flex: 1 1 0; min-width: 0; }
  .mcc-stats .nectar-blocks-text { margin: 0; }

  /* Hole number and par on one baseline. */
  .mcc-holenum > .nectar-blocks-row__inner { align-items: baseline; gap: .6rem; }
  .mcc-holenum .nectar-blocks-column { flex: 0 0 auto; }

  /* Label left, value right. */
  .mcc-specrow > .nectar-blocks-row__inner { gap: 1rem; }
  .mcc-specrow .nectar-blocks-column { flex: 1 1 0; min-width: 0; }

  /* Step number stays a narrow gutter beside its text. */
  .mcc-step > .nectar-blocks-row__inner { gap: 1rem; }
  .mcc-step > .nectar-blocks-row__inner > .nectar-blocks-column:first-child {
    flex: 0 0 2.75rem;
  }

  .mcc-foot-bar > .nectar-blocks-row__inner { gap: 1rem; }
}

/* Scorecard: eleven columns will never fit a phone. Scroll it, and say so. */
.mcc-cardwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.5rem; }
.mcc-cardwrap .mcc-card { min-width: 640px; margin-bottom: 0; }
@media (max-width: 760px) {
  .mcc-cardwrap { position: relative; }
  .mcc-cardwrap::after {
    content: "swipe to see every hole";
    display: block; padding: .5rem 0 0;
    font-family: Archivo, system-ui, sans-serif; font-size: .6875rem;
    letter-spacing: .08em; text-transform: uppercase; color: #928A73;
    position: sticky; left: 0;
  }
}

/* Less padding overall on phones. NB writes vertical padding as custom properties on
   the row wrapper, so they can be scaled here without touching every block. */
@media (max-width: 767px) {
  /* padding is set per-block in the spec; a generic selector here loses to
     NB's .nectar-blocks-row__wrapper.scope-block-XXX (0,2,0). */
  .mcc-hole { padding-top: 1.5rem; margin-top: 1.5rem; }
  .mcc-step { padding-top: 1rem; margin-top: 1rem; }
  .mcc-benefits .nectar-blocks-row__inner > .nectar-blocks-column { padding-top: 1rem; }
}

/* Mono annotation, per the comps: small, lowercase, muted. It was inheriting the
   `label` role, which is uppercase and letterspaced, so every note shouted. */
.mcc-caption,
.mcc-caption .nectar-blocks-text,
p.mcc-caption {
  text-transform: none !important;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace !important;
  font-size: .6875rem !important;
  letter-spacing: .01em !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  opacity: .8;
  max-width: 62ch;
}

/* One swipe hint per scorecard, not one per table. */
.mcc-cardwrap::after { content: none; }
.mcc-cardwrap:first-of-type::after {
  content: "swipe to see every hole";
  display: none;
}
@media (max-width: 760px) {
  .mcc-cardwrap:first-of-type::after { display: block; }
}

/* Four tee labels across a 390px phone: FORWARD/MIDDLE/BACK/CHAMPIONSHIP collide and
   the last one overflows. Shrink and let them wrap within their own column. */
@media (max-width: 760px) {
  .mcc-stats > .nectar-blocks-row__inner { gap: .6rem; }
  .mcc-stats .nectar-blocks-column { min-width: 0; }
  .mcc-stats .nectar-blocks-text:first-child { font-size: 1.25rem; }
  .mcc-stats .nectar-blocks-text:last-child {
    font-size: .5625rem !important;
    letter-spacing: .03em !important;
    line-height: 1.25;
    white-space: normal;
  }
}
@media (max-width: 420px) {
  .mcc-stats .nectar-blocks-text:first-child { font-size: 1.0625rem; }
  .mcc-stats .nectar-blocks-text:last-child { font-size: .5rem !important; }
}

/* Scorecard: two labelled halves, one hint, each table scrolling independently.
   The previous version put a ::after hint inside each scroll container, which meant
   two uppercase hints landing together at the end of the scroll content. */
.mcc-cardwrap::after,
.mcc-cardwrap:first-of-type::after { content: none !important; }
.mcc-scrollhint {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .6875rem; color: #928A73; margin: 0 0 1.25rem; display: none;
}
@media (max-width: 900px) { .mcc-scrollhint { display: block; } }
.mcc-half { margin: 0 0 2rem; }
.mcc-halfhead {
  font-family: Archivo, system-ui, sans-serif; font-size: .6875rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: #6E4E3C;
  margin: 0 0 .6rem;
}
.mcc-cardwrap:focus-visible { outline: 2px solid #A9812F; outline-offset: 3px; }
.mcc-card .mcc-tee {
  display: inline-block; width: .55em; height: .55em; border-radius: 50%;
  border: 1px solid #928A73; margin-right: .4em;
}

/* Every page carries its own H1 inside the content, per the revised dining page,
   so the theme's title-and-breadcrumb band is hidden site-wide. This replaces the
   earlier :has() rules that only covered the pages with a hero. */
.page-header-no-bg { display: none !important; }

/* 50/50 split: the halves meet flush and the photo bleeds to the edge. On a phone
   they stack, and the photo needs a height of its own since it has no content. */
@media (max-width: 1024px) {
  .mcc-split { min-height: 0 !important; }
  .mcc-split .nectar-blocks-column[style*="background-image"],
  .mcc-split .nectar-blocks-column:has(.nectar__bg-image) { min-height: 62vw; }
}

/* ------------------------------------------------------------------
   Gravity Forms, dressed to match. GF's stock submit button is bright
   blue, which is the one colour register this palette avoids.
   ------------------------------------------------------------------ */
.gform_wrapper { font-family: Archivo, system-ui, sans-serif; }
.gform_wrapper .gfield_label {
  font-family: Archivo, system-ui, sans-serif;
  font-size: .8125rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: #6E4E3C;
}
.gform_wrapper .gfield_required { color: #A9812F; }
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid rgba(146,138,115,.7);
  border-radius: 2px;
  padding: .7em .8em;
  font-family: Archivo, system-ui, sans-serif;
  font-size: 1rem;
  color: #1C2419;
}
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  outline: 2px solid #A9812F; outline-offset: 1px; border-color: #A9812F;
}
.gform_wrapper .gfield_description,
.gform_wrapper .gform_fileupload_rules {
  font-size: .8125rem; color: #6E4E3C; opacity: .85;
}
.gform_wrapper .gform_footer { margin-top: 1.5rem; }

/* Submit button: the same filled pill as everything else on the site. */
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_button {
  background: #283825 !important;
  color: #F7F2E6 !important;
  border: 1px solid #283825 !important;
  border-radius: 2em !important;
  padding: .75em 2em !important;
  font-family: Archivo, system-ui, sans-serif !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.gform_wrapper .gform_footer input[type=submit]:hover,
.gform_wrapper .gform_footer input[type=submit]:focus-visible {
  background: #6E4E3C !important; border-color: #6E4E3C !important;
}
.gform_wrapper .gform_footer input[type=submit]:focus-visible {
  outline: 2px solid #A9812F; outline-offset: 3px;
}

/* Validation and confirmation in the site's own colours, not GF red/green. */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea { border-color: #CF515B; }
.gform_wrapper .validation_message { color: #CF515B; font-size: .8125rem; }
.gform_confirmation_message {
  font-family: Newsreader, Georgia, serif; font-size: 1.3125rem; color: #283825;
}

/* Tighten GF's default vertical rhythm; it is very loose out of the box. */
.gform_wrapper .gform_fields { row-gap: 1.25rem; }
@media (max-width: 760px) { .gform_wrapper .gform_fields { row-gap: 1rem; } }

/* The select was clipping its own value: the theme sets a height that my padding
   pushed the text out of. Give it an explicit line-height and let height auto. */
.gform_wrapper select {
  height: auto !important;
  min-height: 0;
  line-height: 1.4 !important;
  appearance: auto;
}

/* Priced/category cards: the descriptions differ in length, so pin the spec rows to
   the bottom of each card and the dividers line up across the row. (2026-09-08) */
.mcc-priced .nectar-blocks-row__inner > .nectar-blocks-column {
  flex-direction: column;
}
.mcc-priced .nectar-blocks-row__inner > .nectar-blocks-column > .mcc-specrow:first-of-type {
  margin-top: auto;
}

/* Club Policies: a long reference page of headings, paragraphs and lists. NB text and
   core/list carry different margins, so headings after a paragraph sat tighter than
   headings after a list. Even the rhythm out. (2026-09-08) */
.mcc-policies h2.nectar-blocks-text { margin-top: 2.75rem; margin-bottom: .75rem; }
.mcc-policies .wp-block-list { margin: 0 0 .25rem; padding-left: 1.15rem; }
.mcc-policies .wp-block-list li { margin-bottom: .4rem; }

/* Clubhouse page hero (2026-10-15): Madison's front-entrance photo is 2.3:1, and the
   50/50 split cropped it to a near-square, losing both wings of the building. On this
   one row the photo runs full width above the text, at the photo's own proportions.
   Scoped to the block id so the other .mcc-split rows keep their layout. */
#block-gyqx3x74jz .nectar-blocks-row__inner.scope-block-gyqx3x74jz { flex-direction: column; }
#block-gyqx3x74jz .nectar-blocks-row__inner.scope-block-gyqx3x74jz > .nectar-blocks-column {
  width: 100%; max-width: 100%; flex: 0 0 auto;
}
#block-gyqx3x74jz #block-9wmciynazl {
  aspect-ratio: 1896 / 830; max-height: 80vh; min-height: 0 !important;
  padding-top: 0 !important; padding-bottom: 0 !important;
}
#block-gyqx3x74jz #block-al916tppax .nectar-blocks-column__inner { max-width: 68ch; }
