/*
Theme Name: Kadence Child (Peak Spine)
Theme URI: https://peakspinesports.com
Description: Child theme for Peak Spine & Sports Medicine — brand design system, custom header behavior, and footer. Built on Kadence.
Author: Onspire
Template: kadence
Version: 1.0.0
*/

:root{
  --peak-plum:#1c1c1e;        /* primary dark (soft charcoal) */
  --peak-plum-90:#2a2a2d;
  --peak-teal:#2b5672;        /* secondary */
  --peak-gold:#cc8d10;        /* accent (buttons, dark-bg text, decoration) */
  --peak-gold-text:#8c5f00;   /* darker gold for TEXT — passes WCAG AA (4.5:1) on white AND cream */
  --peak-gold-light:#dec170;  /* light accent */
  --peak-red:#e84a43;         /* CTA / alert accent */
  --peak-gray:#8f8f8f;        /* muted text */
  --peak-ink:#181818;         /* body text */
  --peak-cream:#fef6ed;       /* warm tint background */
  --peak-white:#ffffff;
}

/* Typography */
body{ font-family:'Raleway',Montserrat,sans-serif; color:var(--peak-ink); }
h1,h2,h3,h4,h5,h6,.peak-display{ font-family:'Questrial',Montserrat,sans-serif; letter-spacing:.01em; }

/* Brand utility classes used by the page blocks */
.peak-eyebrow{ font-family:'Raleway',sans-serif; text-transform:uppercase; letter-spacing:.22em; font-weight:600; color:var(--peak-gold-text); }
.has-peak-plum-color{ color:var(--peak-plum)!important; }
.has-peak-plum-background-color{ background-color:var(--peak-plum)!important; }
.has-peak-teal-color{ color:var(--peak-teal)!important; }
.has-peak-teal-background-color{ background-color:var(--peak-teal)!important; }
.has-peak-gold-color{ color:var(--peak-gold)!important; }
.has-peak-gold-background-color{ background-color:var(--peak-gold)!important; }
.has-peak-cream-background-color{ background-color:var(--peak-cream)!important; }

/* Gold divider rule used under section headings */
.peak-rule{ width:64px; height:3px; background:var(--peak-gold); border:0; margin:18px 0; }
.peak-rule.is-centered{ margin-left:auto; margin-right:auto; }

/* Top utility bar (phone + email) — sticky, stacked above the nav */
.peak-topbar{ position:sticky; top:0; z-index:1002; height:38px; display:flex; align-items:center; background:var(--peak-plum); color:#fff; font-size:.88rem; letter-spacing:.02em; }
.peak-topbar__in{ max-width:1180px; width:100%; margin:0 auto; display:flex; justify-content:flex-end; gap:1.8rem; padding:0 1.5rem; }
.peak-topbar a{ color:#fff; text-decoration:none; display:inline-flex; align-items:center; gap:.45rem; }
.peak-topbar a:hover{ color:var(--peak-gold-light); }
.peak-topbar svg{ width:14px; height:14px; fill:var(--peak-gold-light); flex:0 0 auto; }

/* Make the Kadence header sticky below the utility bar.
   NB: Kadence sets #masthead{position:absolute} via an ID selector, so we must
   match that specificity with #masthead + !important to win the cascade. */
#masthead.site-header{ position:sticky!important; top:38px!important; z-index:1001!important; transition:background .3s ease, box-shadow .3s ease; }

@media (max-width:768px){
  .peak-topbar{ position:static; height:auto; }
  .peak-topbar__in{ justify-content:center; gap:1.1rem; font-size:.8rem; padding:.45rem 1rem; flex-wrap:wrap; }
  #masthead.site-header{ top:0!important; }
}

/* Nav links dark on solid headers (inner pages + homepage once scrolled) */
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a{ color:var(--peak-plum)!important; }

/* Hero: gradient overlay darkening the top (behind the transparent nav) on top of
   the cover's flat dim, fading out by mid-hero. z-index 0 keeps it below the
   inner-container content (z-index 1) so the heading/button stay fully lit. */
.peak-hero::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(28,28,30,.65) 0%, rgba(28,28,30,.2) 32%, rgba(28,28,30,0) 58%); }

/* Dual logo: default = dark-text logo for solid headers (inner pages, scrolled
   homepage, and mobile). The transparent-over-hero state swaps to the light-text
   logo inside the desktop media query below. content:url swaps the displayed
   image regardless of the base custom_logo src. */
#masthead img.custom-logo{ content:url('https://peakspinesports.com.onspire.dev/wp-content/uploads/2026/06/peak-logo-dark-1.png'); }

/* Homepage: transparent header over the hero, solidifies on scroll (desktop only) */
@media (min-width:769px){
  body.peak-hero-page .peak-topbar{ position:fixed; left:0; right:0; top:0; }
  body.peak-hero-page #masthead.site-header{ position:fixed!important; left:0; right:0; top:38px!important; }
  /* Transparent over hero — clear the background on every header wrapper */
  body.peak-hero-page:not(.peak-scrolled) #masthead,
  body.peak-hero-page:not(.peak-scrolled) #masthead .site-header-inner-wrap,
  body.peak-hero-page:not(.peak-scrolled) #masthead .site-header-row-container-inner,
  body.peak-hero-page:not(.peak-scrolled) #masthead .site-main-header-inner-wrap{ background:transparent!important; }
  /* Nav text white while transparent over the hero */
  body.peak-hero-page:not(.peak-scrolled) #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a{ color:#ffffff!important; }
  /* Light-text logo while transparent over the hero */
  body.peak-hero-page:not(.peak-scrolled) #masthead img.custom-logo{ content:url('https://peakspinesports.com.onspire.dev/wp-content/uploads/2026/06/peak-logo-light-1.png'); }
  /* Solid white once scrolled */
  body.peak-hero-page.peak-scrolled #masthead .site-header-row-container-inner,
  body.peak-hero-page.peak-scrolled #masthead .site-main-header-inner-wrap{ background:#ffffff!important; }
  body.peak-hero-page.peak-scrolled #masthead{ box-shadow:0 2px 18px rgba(17,6,43,.12); }
  /* Interior hero pages: bias banner content below the fixed utility bar (38px) + header. */
  body.peak-hero-page:not(.home) .entry-content > .wp-block-cover:first-child{ padding-top:108px!important; }
}

/* Interior page hero banner: taller, vertically-centered content, + a darker gradient at
   the top (behind the nav) layered over the cover's flat dim. Applies on all breakpoints. */
.peak-hero-page:not(.home) .entry-content > .wp-block-cover:first-child{ min-height:520px; align-items:center; }
.peak-hero-page:not(.home) .entry-content > .wp-block-cover:first-child::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(28,28,30,.72) 0%, rgba(28,28,30,.18) 42%, rgba(28,28,30,0) 72%); }

/* ---- Custom footer (replaces Kadence's default footer) ---- */
#colophon{ display:none!important; }
.peak-footer{ background:var(--peak-plum); color:#e7e0d4; font-size:.95rem; }
.peak-footer__top{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.3fr 0.85fr 1.4fr 1.4fr; gap:2.4rem; padding:4rem 1.5rem 2.6rem; }
@media (max-width:768px){ .peak-footer__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .peak-footer__top{ grid-template-columns:1fr; } }
.peak-footer h2{ font-family:'Questrial',sans-serif; color:#fff; font-size:1.1rem; margin:0 0 1rem; letter-spacing:.03em; font-weight:400; }
.peak-footer a{ color:#e7e0d4; text-decoration:none; }
.peak-footer a:hover{ color:var(--peak-gold-light); }
.peak-footer p{ line-height:1.8; margin:.2rem 0; }
.peak-footer__logo{ width:184px; height:auto; margin-bottom:1rem; }
.peak-footer__menu{ list-style:none; padding:0; margin:0; }
.peak-footer__menu li{ margin:.45rem 0; }
.peak-footer__div{ border:0; border-top:1px solid rgba(222,193,112,.25); margin:1.1rem 0; }
.peak-footer__social{ display:flex; gap:.7rem; margin-top:1.2rem; }
.peak-footer__social a{ width:38px; height:38px; border:1px solid rgba(222,193,112,.4); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:.25s; }
.peak-footer__social a:hover{ background:var(--peak-gold); border-color:var(--peak-gold); }
.peak-footer__social svg{ width:16px; height:16px; fill:var(--peak-gold-light); transition:.25s; }
.peak-footer__social a:hover svg{ fill:var(--peak-plum); }
.peak-footer__bottom{ border-top:1px solid rgba(222,193,112,.2); }
.peak-footer__bottom-in{ max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem; padding:1.3rem 1.5rem; font-size:.85rem; }

/* ===========================================================================
   HOMEPAGE SECTIONS — moved here so each section can be its own clean
   Gutenberg block (reorderable in the editor). Markup carries no inline CSS.
   =========================================================================== */
/* Stack full-width sections flush on the homepage */
body.peak-hero-page .entry-content{ display:block; gap:0!important; }
/* Landing pages stack full-bleed sections flush — but NOT single posts, whose
   entry-content holds the actual article body (headings/paras/lists) and needs
   normal rhythm. Excluding .single restores (and the rules below expand) spacing. */
body.peak-hero-page:not(.single) .entry-content > *{ margin-top:0!important; margin-bottom:0!important; }

/* Single post body: open up the spacing between headings, paragraphs and lists */
.single .entry-content > *:first-child{ margin-top:0; }
.single .entry-content h2{ margin:2.6rem 0 1rem; }
.single .entry-content h3{ margin:2.1rem 0 .8rem; }
.single .entry-content p{ margin:0 0 1.5rem; line-height:1.85; }
.single .entry-content ul, .single .entry-content ol{ margin:0 0 1.6rem; padding-left:1.4rem; }
.single .entry-content li{ margin-bottom:.7rem; line-height:1.8; }
.single .entry-content blockquote{ margin:2rem 0; }

/* Pages are content-style-unboxed + fullwidth, so every .peak-sec spans the full
   viewport and its OWN horizontal padding is the only side gutter. A fixed value
   (e.g. 1.4rem) reads as "text running to the edge" on tablet/large-phone widths
   (~560-900px) where the screen is wide but still below the 1180px content cap.
   Use a viewport-scaled clamp so the gutter is always comfortable, and qualify the
   selector (.wp-block-group.peak-sec = 0,2,0) so no Kadence container rule wins. */
.wp-block-group.peak-sec{ padding:5rem clamp(1.5rem,5vw,3rem); }
/* Mobile/tablet: trim the tall vertical padding; the scaled side gutter carries. */
@media (max-width:768px){
  .wp-block-group.peak-sec{ padding-top:3.25rem; padding-bottom:3.25rem; }
  /* The hero cover's inner-container has no padding of its own (unlike the inner-
     page banners), so match it to the same scaled gutter. */
  .peak-hero .wp-block-cover__inner-container,
  .peak-blog-hero__in{ padding-left:clamp(1.5rem,5vw,3rem); padding-right:clamp(1.5rem,5vw,3rem); }
}
.peak-wrap{ max-width:1180px; margin:0 auto; }
.peak-center{ text-align:center; }
.peak-h2{ font-family:'Questrial',sans-serif; color:var(--peak-plum); font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.15; margin:.2rem 0 .4rem; }
.peak-lead{ color:#5d5d61; font-size:1.1rem; max-width:820px; margin:0 auto 1rem; line-height:1.75; }

/* Credentials */
.peak-creds{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:2.2rem 3rem; margin-top:2.2rem; }
.peak-creds img{ height:54px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.6; transition:.3s; }
.peak-creds img:hover{ filter:none; opacity:1; }

/* Services grid */
.peak-grid{ margin:2.6rem 0; }  /* layout handled by native Grid block layout */
.peak-tile{ position:relative; display:block; overflow:hidden; aspect-ratio:1/1; color:#fff; text-decoration:none; background:#1c1c1e; border-radius:6px; }
.peak-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.5s; opacity:.85; }
.peak-tile:hover img{ transform:scale(1.07); opacity:.6; }
.peak-tile__o{ position:absolute; inset:0; background:linear-gradient(to top,rgba(17,6,43,.9),rgba(17,6,43,.05) 70%); }
.peak-tile__t{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:1.1rem; font-family:'Questrial',sans-serif; font-size:1.1rem; text-align:left; line-height:1.2; }
.peak-tile.is-ph{ background:linear-gradient(135deg,#1c1c1e,#43434a); }

/* Providers / Leadership cards */
.peak-prov{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:2rem; margin-top:2.6rem; }
.peak-card img{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:6px; border:0; }
.peak-card h3{ font-family:'Questrial',sans-serif; color:var(--peak-plum); margin:1rem 0 .15rem; font-size:1.3rem; }
.peak-card span{ color:var(--peak-gold-text); font-weight:600; letter-spacing:.04em; font-size:.85rem; display:block; line-height:1.4; }

/* Native core-block cards (Columns + Image + Heading + Paragraph) */
.peak-prov-cols{ margin-top:2.6rem; align-items:stretch; }
/* Equal-height team cards with the "More About" button pinned to the bottom */
.peak-prov-cols .wp-block-column{ display:flex; }
.peak-prov-cols .peak-provider-card{ display:flex; flex-direction:column; height:100%; }
/* WP wraps group content in .wp-block-group__inner-container, so the flow must
   continue into it for margin-top:auto to push the button to the card bottom
   (keeps every provider's button aligned regardless of role-text length). */
.peak-prov-cols .peak-provider-card > .wp-block-group__inner-container{ display:flex; flex-direction:column; flex:1 1 auto; }
.peak-prov-cols .peak-provider-card .wp-block-buttons{ margin-top:auto; }
.peak-prov-cols .peak-card-img img{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:6px; border:0; }
.peak-prov-cols h3{ font-family:'Questrial',sans-serif; color:var(--peak-plum); margin:1rem 0 .15rem; font-size:1.3rem; }
.peak-card-role{ color:var(--peak-gold-text); font-weight:600; letter-spacing:.04em; font-size:.85rem; line-height:1.4; margin:0; }

/* Condition pages: intro two-column (text left / photo right) */
.peak-intro-cols{ gap:3rem; align-items:center; }
.peak-intro-cols .peak-lead, .peak-intro-cols p{ text-align:left; max-width:none; margin-left:0; margin-right:0; }
.peak-intro-cols .wp-block-buttons{ justify-content:flex-start; margin-top:1.4rem; }
.peak-intro-img{ margin:0; } .peak-intro-img img{ width:100%; display:block; border-radius:8px; border:0; }
/* Photos keep rounded corners but never a border line (override any theme image border) */
.peak-lead-img, .peak-lead-img img, .peak-intro-img, .peak-intro-img img,
.peak-prov-cols .peak-card-img, .peak-prov-cols .peak-card-img img, .peak-card img{ border:0!important; }
/* In-page jump from the intro "Request Appointment" button to the form section */
.peak-scroll-anchor{ display:block; scroll-margin-top:120px; }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
@media (max-width:781px){ .peak-intro-cols .peak-lead, .peak-intro-cols p{ text-align:center; } .peak-intro-cols .wp-block-buttons{ justify-content:center; } }

/* Placeholder boxes the user fills in (photo spot, contact-form spot) */
.peak-photo-slot{ aspect-ratio:4/3; background:var(--peak-cream); border:2px dashed #d8c9a8; border-radius:10px;
  display:flex; align-items:center; justify-content:center; color:#b09a6a;
  font-family:'Questrial',sans-serif; letter-spacing:.18em; text-transform:uppercase; font-size:.95rem; }
.peak-form-slot{ max-width:680px; margin:1.4rem auto 0; padding:2.2rem; background:#fff;
  border:2px dashed #d8c9a8; border-radius:10px; color:#9a8a6a; text-align:center; }

/* Condition (Services) pages: readable left-aligned Q&A article */
.peak-article{ text-align:left; }
.peak-article > .wp-block-heading.has-text-align-center{ text-align:center; }
.peak-article h3{ font-family:'Questrial',sans-serif; color:var(--peak-plum); font-size:1.4rem; margin:2.2rem 0 .5rem; }
.peak-article p{ color:#444; line-height:1.8; margin:0 0 1.1rem; }
.peak-article ul{ margin:0 0 1.3rem 1.3rem; line-height:1.8; color:#444; }
.peak-article ul li{ margin:.25rem 0; }

/* FAQ accordions (native <details>/<summary> — accessible toggles) */
.peak-article .wp-block-details{ border:1px solid #e7e0d4; border-radius:8px; margin:0 0 .8rem; background:#fff; overflow:hidden; }
.peak-article .wp-block-details summary{ cursor:pointer; list-style:none; padding:1.05rem 3rem 1.05rem 1.2rem; position:relative;
  font-family:'Questrial',sans-serif; font-size:1.15rem; color:var(--peak-plum); transition:background .2s ease; }
.peak-article .wp-block-details summary:hover{ background:var(--peak-cream); }
.peak-article .wp-block-details summary:focus-visible{ outline:2px solid var(--peak-gold-text); outline-offset:-2px; }
.peak-article .wp-block-details summary::-webkit-details-marker{ display:none; }
.peak-article .wp-block-details summary::after{ content:"+"; position:absolute; right:1.2rem; top:50%; transform:translateY(-50%);
  color:var(--peak-gold-text); font-size:1.5rem; line-height:1; }
.peak-article .wp-block-details[open] summary{ border-bottom:1px solid #f0e9dd; }
.peak-article .wp-block-details[open] summary::after{ content:"\2212"; }
.peak-article .wp-block-details > :not(summary){ padding-left:1.2rem; padding-right:1.2rem; }
.peak-article .wp-block-details > :not(summary):first-of-type{ margin-top:1rem; }
.peak-article .wp-block-details ul{ margin-bottom:1rem; }

/* Leadership: text-left / photo-right two-column layout */
.peak-lead-cols{ gap:3rem; align-items:center; }
.peak-lead-cols .peak-h2{ text-align:left; }
.peak-lead-cols .peak-rule{ margin-left:0; }
.peak-lead-cols .peak-lead{ max-width:none; margin-left:0; margin-right:0; text-align:left; }
.peak-lead-img{ margin:0; }
.peak-lead-img img{ width:100%; display:block; border-radius:8px; border:0; }
@media (max-width:781px){ .peak-lead-cols .peak-h2, .peak-lead-cols .peak-lead{ text-align:center; } .peak-lead-cols .peak-rule{ margin-left:auto; margin-right:auto; } }

/* Contact: info-left / form-right two-column row */
.peak-contact-cols{ gap:3rem; align-items:flex-start; }
.peak-contact-cols .peak-h2{ text-align:left; }
.peak-contact-cols .peak-rule{ margin-left:0; }
.peak-contact-cols .peak-lead{ max-width:none; margin-left:0; margin-right:0; text-align:left; }
.peak-contact-cols .peak-cf7{ margin-left:0; margin-right:0; max-width:none; }
@media (max-width:781px){ .peak-contact-cols .peak-h2, .peak-contact-cols .peak-lead{ text-align:center; } .peak-contact-cols .peak-rule{ margin-left:auto; margin-right:auto; } }

/* About: two copy blocks side by side under the hero (left-aligned, stack on mobile) */
.peak-about-cols{ gap:3rem; align-items:flex-start; }
.peak-about-cols .peak-h2{ text-align:left; }
.peak-about-cols .peak-lead{ max-width:none; margin-left:0; margin-right:0; text-align:left; }
.peak-about-cols .peak-rule{ margin-left:0; }
@media (max-width:781px){ .peak-about-cols{ gap:1.4rem; } .peak-about-cols .peak-h2, .peak-about-cols .peak-lead{ text-align:center; } .peak-about-cols .peak-rule{ margin-left:auto; margin-right:auto; } }

/* Click-to-play YouTube facade (loads the player only on click -> fast page speed) */
.peak-yt-cols{ margin-top:1.8rem; gap:2rem; }
.peak-yt{ position:relative; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#000; box-shadow:0 10px 30px rgba(17,6,43,.12); }
.peak-yt__btn{ position:absolute; inset:0; width:100%; height:100%; padding:0; margin:0; border:0; cursor:pointer; background:#000; display:block; }
.peak-yt__thumb{ width:100%; height:100%; object-fit:cover; display:block; opacity:.92; transition:opacity .25s ease, transform .5s ease; }
.peak-yt:hover .peak-yt__thumb{ opacity:1; transform:scale(1.04); }
.peak-yt__play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:74px; height:52px; border-radius:14px; background:rgba(28,28,30,.78); transition:background .2s ease; }
.peak-yt__play::after{ content:""; position:absolute; top:50%; left:54%; transform:translate(-50%,-50%); border-style:solid; border-width:11px 0 11px 19px; border-color:transparent transparent transparent #fff; }
.peak-yt:hover .peak-yt__play{ background:var(--peak-gold); }
.peak-yt:hover .peak-yt__play::after{ border-left-color:var(--peak-plum); }
.peak-yt__btn:focus-visible{ outline:3px solid var(--peak-gold); outline-offset:3px; }
.peak-yt__iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Reviewability widget: hide the overall-rating summary block */
.revwid-overall-rating-sum.revwid-has-content-color{ display:none !important; }

/* Location boxes: embedded office map under the hours */
.peak-loc__map{ margin-top:1.2rem; }
.peak-loc__map iframe{ width:100%; height:240px; border:0; display:block; border-radius:8px; }

/* ---- Full native conversion: covers, logo row, blog cards ---- */
.peak-creds figure{ margin:0; }
/* Kill the theme's 32px block margin on grid tiles so the vertical gap equals the
   grid column gap (otherwise rows look further apart than columns) and the last
   tile no longer stretches to fill an inflated row track. */
.peak-grid .wp-block-cover{ overflow:hidden; min-height:230px; margin:0!important; border-radius:6px; }
.peak-grid .wp-block-cover__image-background{ transition:transform .5s ease; }
.peak-grid .wp-block-cover:hover img.wp-block-cover__image-background,
.peak-grid .wp-block-cover:hover .wp-block-cover__image-background{ transform:scale(1.07); }
.peak-grid .wp-block-cover h3{ font-family:'Questrial',sans-serif; margin:0; }
.peak-grid .wp-block-cover a{ color:#fff; text-decoration:none; }
.peak-grid .wp-block-cover a:hover{ color:var(--peak-gold-light); }
.peak-tile-ph{ background:linear-gradient(135deg,#1c1c1e,#43434a); }

.peak-blog-cols{ margin-top:2.6rem; }
.peak-post-card{ background:#fff; border:1px solid #eee; border-radius:8px; overflow:hidden; box-shadow:0 8px 28px rgba(17,6,43,.07); text-align:left; height:100%; }
.peak-post-card .wp-block-image{ margin:0; }
.peak-post-card .peak-h3{ font-family:'Questrial',sans-serif; color:var(--peak-plum); font-size:1.15rem; line-height:1.3; padding:1.1rem 1.3rem 0; margin:0; }
.peak-post-card > p{ padding:.6rem 1.3rem 1.4rem; margin:0; }
.peak-post-card a{ color:var(--peak-gold-text); font-weight:700; text-decoration:none; text-transform:uppercase; letter-spacing:.04em; font-size:.85rem; }

.peak-loc-cols{ margin-top:1.2rem; }
.peak-loc{ height:100%; }

/* Gold button (palette color classes get stripped by WP, so style via className) */
.peak-btn .wp-block-button__link{ background-color:var(--peak-gold); color:var(--peak-plum); }
.peak-btn .wp-block-button__link:hover{ background-color:var(--peak-gold-light); color:var(--peak-plum); }

/* All buttons: uppercase + bold (Gutenberg buttons, Kadence header/nav buttons, generic) */
.wp-block-button__link,
.wp-element-button,
.peak-btn .wp-block-button__link,
.kb-button, .kt-button, .button, .wp-block-search__button,
header .header-button, #masthead .button{
  text-transform:uppercase!important; font-weight:700!important; letter-spacing:.06em;
}

/* Blog cards */
.peak-blog{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.6rem; margin-top:2.6rem; text-align:left; }
.peak-post{ background:#fff; border:1px solid #eee; border-radius:8px; overflow:hidden; box-shadow:0 8px 28px rgba(17,6,43,.07); }
.peak-post img{ width:100%; height:200px; object-fit:cover; display:block; }
.peak-post .pp{ padding:1.2rem 1.3rem 1.6rem; }
.peak-post h3{ font-family:'Questrial',sans-serif; color:var(--peak-plum); font-size:1.15rem; margin:0 0 .6rem; line-height:1.3; }
.peak-post a{ color:var(--peak-gold-text); font-weight:700; text-decoration:none; letter-spacing:.04em; font-size:.85rem; text-transform:uppercase; }

/* Locations */
.peak-locs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.8rem; margin-top:2.2rem; text-align:left; }
.peak-loc{ background:rgba(255,255,255,.05); border:1px solid rgba(222,193,112,.3); border-radius:8px; padding:1.8rem; }
.peak-loc h3{ font-family:'Questrial',sans-serif; color:var(--peak-gold); margin:0 0 .6rem; font-size:1.3rem; }
.peak-loc p{ color:#e7e0d4; line-height:1.7; margin:.3rem 0; }
/* Links in the dark plum locations section: white (blue default fails contrast), underlined for affordance */
.has-peak-plum-background-color a{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.has-peak-plum-background-color a:hover,
.has-peak-plum-background-color a:focus-visible{ color:var(--peak-gold-light); }

/* CTA button + parallax bands */
.peak-cta-btn{ display:inline-block; margin-top:.8rem; padding:.95rem 2.3rem; border-radius:2px; font-weight:700; letter-spacing:.14em; text-decoration:none; }
.peak-parallax{ position:relative; background-size:cover; background-position:center; background-attachment:fixed; }
.peak-parallax::before{ content:""; position:absolute; inset:0; background:rgba(17,6,43,.82); }
.peak-parallax > *{ position:relative; z-index:1; }
@supports (-webkit-touch-callout:none){ .peak-parallax{ background-attachment:scroll; } }

/* Hero marquee strip */
.peak-marquee{ width:100%; margin:0; background:#1c1c1e; overflow:hidden; padding:15px 0; border-bottom:1px solid rgba(222,193,112,.28); }
.peak-marquee__track{ display:flex; width:max-content; animation:peakmarquee 42s linear infinite; }
.peak-marquee:hover .peak-marquee__track{ animation-play-state:paused; }
.peak-marquee__group{ display:flex; align-items:center; white-space:nowrap; font-family:'Raleway',sans-serif; text-transform:uppercase; letter-spacing:.16em; font-size:.92rem; font-weight:600; color:#f3eee6; }
.peak-marquee__group > span{ padding:0 1.4rem; }
.peak-marquee__sep{ color:#dec170; font-size:1.1rem; line-height:1; }
@keyframes peakmarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .peak-marquee__track{ animation:none; justify-content:center; flex-wrap:wrap; } }

/* Physicians-education (credentials) reads as the tail of the Providers section:
   white bg, pulled up tight under the provider cards, smaller H3 heading.
   Scoped with the entry-content > selector to beat the homepage section resets. */
body.peak-hero-page .entry-content > .peak-creds-sec{ padding-top:0!important; margin-top:-2.5rem!important; }
.peak-creds-sec .peak-h2{ font-size:clamp(1.15rem,2.2vw,1.5rem); color:var(--peak-plum); margin:0 auto .4rem; max-width:760px; line-height:1.3; }
.peak-creds-sec .peak-creds{ margin-top:1.4rem; }

/* ===== 2026-06-14 batch edits ===== */

/* Mobile/tablet hamburger — Kadence renders it as an SVG with fill:currentColor,
   so the icon color is driven by `color` (not background-color). Dark by default
   (solid/inner headers); white while transparent over the hero (desktop/tablet). */
#mobile-toggle, #mobile-toggle .kadence-menu-svg{ color:var(--peak-plum); }
@media (min-width:769px){
  body.peak-hero-page:not(.peak-scrolled) #mobile-toggle,
  body.peak-hero-page:not(.peak-scrolled) #mobile-toggle .kadence-menu-svg{ color:#fff!important; }
}

/* Header "Book Online" button — compact OUTLINE button. Default (solid/scrolled
   header + inner pages) = dark outline; transparent-over-hero = white outline. */
#masthead .header-button.button{
  background:transparent!important; background-color:transparent!important;
  border:2px solid var(--peak-plum)!important; color:var(--peak-plum)!important;
  padding:.45em 1.15em!important; font-size:.78rem!important; line-height:1.4!important;
  border-radius:2px!important; box-shadow:none!important; min-height:0!important;
}
#masthead .header-button.button:hover,
#masthead .header-button.button:focus{
  background:var(--peak-plum)!important; background-color:var(--peak-plum)!important; color:#fff!important;
}
@media (min-width:769px){
  body.peak-hero-page:not(.peak-scrolled) #masthead .header-button.button{
    border-color:#fff!important; color:#fff!important;
    background:transparent!important; background-color:transparent!important;
  }
  body.peak-hero-page:not(.peak-scrolled) #masthead .header-button.button:hover,
  body.peak-hero-page:not(.peak-scrolled) #masthead .header-button.button:focus{
    background:#fff!important; background-color:#fff!important; color:var(--peak-plum)!important;
  }
}

/* Service tiles: whole card clickable (stretched link via the heading anchor) */
.peak-grid .wp-block-cover{ position:relative; }
.peak-grid .wp-block-cover__inner-container{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:1.1rem; }
.peak-grid .wp-block-cover h3{ margin:0; }
.peak-grid .wp-block-cover h3 a{ text-decoration:none; }
.peak-grid .wp-block-cover h3 a::after{ content:""; position:absolute; inset:0; z-index:3; }

/* FAQ toggles: breathing room between the last line and the container bottom */
.peak-article .wp-block-details > :not(summary):last-child{ padding-bottom:1.2rem; }

/* Homepage blog (dynamic Query Loop) — styled as cards */
.peak-blog-q .wp-block-post-template{ gap:1.6rem; margin-top:2.6rem; padding:0; }
.peak-blog-q .wp-block-post-template > li{ list-style:none; background:#fff; border:1px solid #eee; border-radius:8px; overflow:hidden; box-shadow:0 8px 28px rgba(28,28,30,.07); text-align:left; display:flex; flex-direction:column; }
.peak-blog-q .wp-block-post-featured-image{ margin:0; }
.peak-blog-q .wp-block-post-featured-image img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.peak-blog-q .wp-block-post-title{ font-family:'Questrial',sans-serif; font-size:1.15rem; line-height:1.25; margin:1rem 1.2rem .5rem; }
.peak-blog-q .wp-block-post-title a{ color:var(--peak-plum); text-decoration:none; }
.peak-blog-q .wp-block-post-title a:hover{ color:var(--peak-gold-text); }
.peak-blog-q .wp-block-read-more{ margin:auto 1.2rem 1.2rem; padding-top:.4rem; color:var(--peak-gold-text); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:.85rem; text-decoration:none; align-self:flex-start; }

/* Provider bio pages: photo + bio two-column, listing Read More */
.peak-bio-cols{ gap:3rem; }
.peak-bio-img{ margin:0; }
.peak-bio-img img{ width:100%; display:block; border-radius:8px; }
.peak-bio-cols p{ color:#444; line-height:1.8; margin:0 0 1.1rem; text-align:left; }
.peak-prov-cols h3 a{ color:var(--peak-plum); text-decoration:none; }
.peak-prov-cols h3 a:hover{ color:var(--peak-gold-text); }
.peak-readmore a{ color:var(--peak-gold-text); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:.85rem; text-decoration:none; }

/* Insurance page: network carriers as a centered 2-column chip grid */
.peak-insurance{ list-style:none; padding:0; max-width:640px; margin:1.6rem auto 0; display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem 1.4rem; text-align:left; }
.peak-insurance li{ padding:.6rem 1rem; background:#fff; border:1px solid #eee; border-radius:6px; font-weight:600; color:var(--peak-plum); }
@media (max-width:560px){ .peak-insurance{ grid-template-columns:1fr; } }

/* ===========================================================================
   2026-06-14 — nav affordance, animations, divider, blog branding, blog hero
   =========================================================================== */

/* ---- Nav: hover underline + accessible current-page state ---------------- */
/* currentColor keeps the underline white over the hero and dark on solid headers. */
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a{ position:relative; }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a::after{
  content:""; position:absolute; left:0; right:0; bottom:.35em; height:2px; background:currentColor;
  transform:scaleX(0); transform-origin:left center; transition:transform .25s ease; opacity:.9;
}
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover::after,
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:focus-visible::after{ transform:scaleX(1); }
/* Current page = persistent underline (a NON-color cue, not just a color change) */
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a::after,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a::after,
#masthead .main-navigation .primary-menu-container > ul > li.current_page_item > a::after{ transform:scaleX(1); }
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a{ font-weight:700; }

/* Mobile drawer menu: chevron affordance + current-item arrow & bold (non-color) */
#mobile-drawer .menu-item > a, .mobile-navigation li.menu-item > a{ position:relative; }
#mobile-drawer .menu-item > a::after, .mobile-navigation li.menu-item > a::after{
  content:"\203A"; margin-left:.5em; opacity:.45; transition:transform .2s ease, opacity .2s ease; display:inline-block;
}
#mobile-drawer .menu-item > a:hover::after, .mobile-navigation li.menu-item > a:hover::after{ opacity:.9; transform:translateX(3px); }
#mobile-drawer .current-menu-item > a, .mobile-navigation .current-menu-item > a,
#mobile-drawer .current-menu-ancestor > a, .mobile-navigation .current-menu-ancestor > a{ color:#fff!important; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
#mobile-drawer .current-menu-item > a::after, .mobile-navigation .current-menu-item > a::after{ opacity:1; }

/* ---- Desktop nav dropdowns: brand panel, gap below the bar, matched font, mega menu ---- */
@media (min-width:769px){
  /* Panel: brand charcoal + gold top accent, dropped clear of the nav bar */
  #masthead .header-menu-container ul.sub-menu{
    background:#1c1c1e!important; border-top:3px solid var(--peak-gold)!important;
    box-shadow:0 16px 36px rgba(0,0,0,.24)!important; border-radius:0 0 8px 8px;
    padding:.4rem 0!important; top:calc(100% + 12px)!important;
  }
  /* invisible bridge across the 12px gap so hover doesn't drop the menu */
  #masthead .header-menu-container li.menu-item-has-children > ul.sub-menu::before{
    content:""; position:absolute; top:-12px; left:0; right:0; height:12px;
  }
  /* Items: match the top-level font size (was a tiny 12px), roomier, gold hover */
  #masthead .header-menu-container ul.sub-menu li.menu-item > a{
    font-size:inherit!important; color:#fff!important; width:auto!important; min-width:200px;
    padding:.6em 1.3em!important; transition:background .2s ease, color .2s ease;
  }
  #masthead .header-menu-container ul.sub-menu li.menu-item > a:hover,
  #masthead .header-menu-container ul.sub-menu li.menu-item > a:focus{
    background:rgba(255,255,255,.07)!important; color:var(--peak-gold-light)!important;
  }
  /* Services (#menu-item-56): MEGA MENU — 3-column grid. Apply the grid layout
     ONLY in the open state (hover/focus-within); setting display on the closed
     sub-menu would override Kadence's show/hide and pin it open. */
  #masthead .header-menu-container li#menu-item-56:hover > ul.sub-menu,
  #masthead .header-menu-container li#menu-item-56:focus-within > ul.sub-menu{
    display:grid!important; grid-template-columns:repeat(3,1fr); gap:0 .4rem;
    width:max-content; max-width:min(720px,92vw); padding:.7rem .5rem!important;
  }
  #masthead .header-menu-container li#menu-item-56 > ul.sub-menu > li.menu-item{ width:100%; }
  #masthead .header-menu-container li#menu-item-56 > ul.sub-menu > li.menu-item > a{
    min-width:0; width:100%; padding:.55em 1em!important; border-radius:4px;
  }
}

/* ---- Subtle slide-up reveal (JS adds .peak-anim; reduced-motion = no class) ---- */
@media (prefers-reduced-motion:no-preference){
  .peak-anim{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
  .peak-anim.peak-in{ opacity:1; transform:none; }
}
/* ---- Hover lift on cards + buttons --------------------------------------- */
.peak-provider-card, .peak-post-card, .peak-blog-q .wp-block-post-template > li,
.loop-entry{ transition:transform .3s ease, box-shadow .3s ease; }
.peak-provider-card:hover, .peak-post-card:hover, .peak-blog-q .wp-block-post-template > li:hover,
.loop-entry:hover{ transform:translateY(-5px); box-shadow:0 14px 34px rgba(28,28,30,.12); }
.wp-block-button__link{ transition:transform .25s ease, background-color .25s ease, color .25s ease; }
.wp-block-button__link:hover{ transform:translateY(-2px); }
/* Keyboard focus ring for CTA buttons — white+dark double ring is visible on the
   gold button over both light and dark sections (content buttons had no focus style). */
.wp-block-button__link:focus-visible{ outline:2px solid transparent; outline-offset:2px;
  box-shadow:0 0 0 2px #fff, 0 0 0 5px var(--peak-plum); }

/* Hero background-video pause/play toggle (WCAG 2.2.2) */
.peak-hero__pause{ position:absolute; right:18px; bottom:18px; z-index:6; width:44px; height:44px;
  border-radius:50%; border:1px solid rgba(255,255,255,.55); background:rgba(28,28,30,.55);
  cursor:pointer; transition:background .2s ease; }
.peak-hero__pause:hover{ background:rgba(28,28,30,.8); }
.peak-hero__pause:focus-visible{ outline:3px solid var(--peak-gold); outline-offset:2px; }
.peak-hero__pause::before{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
/* playing -> show two pause bars */
.peak-hero__pause[data-playing="true"]::before{ width:12px; height:14px; border-left:4px solid #fff; border-right:4px solid #fff; }
/* paused -> show a play triangle */
.peak-hero__pause[data-playing="false"]::before{ width:0; height:0; margin-left:2px;
  border-style:solid; border-width:8px 0 8px 13px; border-color:transparent transparent transparent #fff; }

/* ---- Homepage hero: simple fade-in (title, then tagline) ----------------- */
@media (prefers-reduced-motion:no-preference){
  .peak-hero .wp-block-cover__inner-container > h1{ animation:peakHeroFade 1s ease both .2s; }
  .peak-hero .wp-block-cover__inner-container > p{ animation:peakHeroFade 1s ease both .9s; }
}
@keyframes peakHeroFade{ from{ opacity:0; } to{ opacity:1; } }

/* ---- Gold gradient divider (media 253) ----------------------------------- */
/* Bottom edge of hero banners (homepage video hero, inner-page covers, blog hero) */
.peak-hero::before,
.peak-hero-page:not(.home) .entry-content > .wp-block-cover:first-child::before,
.peak-blog-hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:9px; z-index:6; pointer-events:none;
  background:url('https://peakspinesports.com.onspire.dev/wp-content/uploads/2026/06/divider.jpg') center/100% 100% no-repeat;
}
/* Immediately above the footer */
.peak-footer::before{
  content:""; display:block; height:9px; width:100%;
  background:url('https://peakspinesports.com.onspire.dev/wp-content/uploads/2026/06/divider.jpg') center/100% 100% no-repeat;
}

/* Solid dark backdrop behind EVERY hero image (homepage video hero, inner-page
   covers, blog/single banner) so the light text stays legible if the image
   fails to load or is disabled. Uses the brand charcoal = the same tone as the
   image overlays, so it's seamless when the image is present. */
.peak-hero,
.peak-hero-page:not(.home) .entry-content > .wp-block-cover:first-child,
.peak-blog-hero{ background-color:#1c1c1e!important; }

/* ---- Blog index + single-post hero banner -------------------------------- */
.peak-blog-hero{ position:relative; width:100%; min-height:42vh; display:flex; align-items:center; justify-content:center;
  text-align:center; background-size:cover; background-position:center; overflow:hidden; }
.peak-blog-hero::before{ content:""; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(28,28,30,.78) 0%, rgba(28,28,30,.5) 45%, rgba(28,28,30,.45) 100%); }
.peak-blog-hero__in{ position:relative; z-index:1; padding:1.5rem; max-width:1180px; }
.peak-blog-hero__title{ font-family:'Questrial',sans-serif; color:#fff; margin:0; line-height:1.1;
  font-size:clamp(2rem,5vw,3.4rem); letter-spacing:.02em; }
@media (min-width:769px){ .peak-blog-hero{ min-height:46vh; padding-top:108px; } }

/* ---- Blog index + single post: brand colors, headings, meta -------------- */
/* Blog index banner shows "Blog", so hide Kadence's archive title there.
   On single posts the banner title is decorative (a <p>) and Kadence's
   entry-title stays as the real, visible H1 — branded below. */
.blog .archive-title, .blog .page-title, .archive .archive-title{ display:none!important; }
.single .entry-title{ font-family:'Questrial',sans-serif; color:var(--peak-plum); }
.blog .entry-title a, .archive .entry-title a{ font-family:'Questrial',sans-serif; color:var(--peak-plum); text-decoration:none; }
.blog .entry-title a:hover, .archive .entry-title a:hover{ color:var(--peak-gold-text); }
.entry-meta, .entry-meta a, .single .entry-meta, .blog .entry-meta{ color:#6a6a6f!important; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.entry-meta a:hover{ color:var(--peak-gold-text)!important; }
/* Byline: space between the "By" label and the author name (was "ByPeak…") */
.entry-meta .posted-by .meta-label{ margin-right:.35em; }
/* Hide the visible "updated" date (was jammed against the publish date as
   "October 1, 2025June 14, 2026"); the dateModified itemprop stays in the DOM for SEO. */
.entry-meta time.updated{ display:none; }
.single .entry-content{ color:#444; line-height:1.8; }
.single .entry-content h1, .single .entry-content h2, .single .entry-content h3,
.single .entry-content h4{ font-family:'Questrial',sans-serif; color:var(--peak-plum); }
.single .entry-content a{ color:var(--peak-gold-text); }
.single .entry-content a:hover{ color:var(--peak-gold); }
.blog .loop-entry, .archive .loop-entry{ border-radius:8px; }
.single .post-navigation a, .single .post-navigation .post-title{ color:var(--peak-plum); }
.single .post-navigation a:hover .post-title{ color:var(--peak-gold-text); }

/* Blog/single/archive use Kadence's boxed layout, which reveals the default
   page background (--global-palette8 #F7FAFC, a light blue-grey) below the
   content box. Force white so it matches the rest of the site. */
body.blog, body.single, body.archive,
body.blog .site, body.single .site, body.archive .site{ background:#ffffff!important; }
/* Blog index: drop Kadence's empty archive-hero band (our banner replaces it) */
.blog .entry-hero.post-archive-hero-section{ display:none!important; }
/* Single/archive: let the title sit on white, not Kadence's hero tint */
.single .entry-hero, .archive .entry-hero,
.single .entry-hero .hero-section-overlay, .archive .entry-hero .hero-section-overlay{ background:transparent!important; }

/* Single-post "Similar Posts" (Kadence .entry-related, alignfull): cream band
   like the rest of the site, branded title, flush to the footer.
   NB: only top/bottom margins are touched — left/right carry the full-width breakout. */
.single .entry-related{ background:var(--peak-cream)!important; padding-top:3.5rem!important;
  padding-bottom:4rem!important; margin-top:2.5rem!important; margin-bottom:0!important; }
.single #related-posts-title{ font-family:'Questrial',sans-serif; color:var(--peak-plum); }
.single .entry-related .entry-title a{ color:var(--peak-plum); text-decoration:none; }
.single .entry-related .entry-title a:hover{ color:var(--peak-gold-text); }
/* Remove the white gap between the related section and the footer */
.single #main, .single .content-area, .single .content-container.site-container{ padding-bottom:0!important; margin-bottom:0!important; }

/* ---- Comments fully removed (also closed via comment_status) ------------- */
.comments-area, #comments, .comment-respond, .single .entry-content + .comments-area{ display:none!important; }

/* ---- Contact Form 7 — branded styling (Request Appointment form) --------- */
.peak-cf7{ max-width:680px; margin:0 auto; text-align:left; }
.peak-cf7 .cf7-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:0 1.2rem; }
@media (max-width:560px){ .peak-cf7 .cf7-grid-2{ grid-template-columns:1fr; } }
.peak-cf7 p{ margin:0 0 1.1rem; }
.peak-cf7 > label, .peak-cf7 .cf7-grid-2 label{ font-weight:600; color:var(--peak-plum); font-size:.95rem; }
.peak-cf7 .cf7-q{ font-weight:600; color:var(--peak-plum); margin:0 0 .4rem; }
.peak-cf7 fieldset{ border:0; padding:0; margin:0 0 1.1rem; min-width:0; }
.peak-cf7 legend{ padding:0; font-weight:600; color:var(--peak-plum); margin-bottom:.4rem; }
.peak-cf7 .cf7-req{ color:#b3261e; font-weight:700; }                 /* aria-hidden; required conveyed via aria-required */
.peak-cf7 .cf7-required-note{ font-size:.85rem; color:#5d5d61; margin:0 0 1.2rem; }
.peak-cf7 input[type=text], .peak-cf7 input[type=email], .peak-cf7 input[type=tel],
.peak-cf7 input[type=date], .peak-cf7 textarea, .peak-cf7 select{
  width:100%; margin-top:.3rem; padding:.7rem .9rem; border:1px solid #d9d4cb; border-radius:6px;
  font-family:inherit; font-size:1rem; color:var(--peak-ink); background:#fff; box-sizing:border-box; }
.peak-cf7 textarea{ min-height:120px; resize:vertical; }
.peak-cf7 input:focus, .peak-cf7 textarea:focus, .peak-cf7 select:focus{
  outline:none; border-color:var(--peak-gold); box-shadow:0 0 0 3px rgba(204,141,16,.4); }
.peak-cf7 .wpcf7-radio{ display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin:.3rem 0 1.1rem; }
.peak-cf7 .wpcf7-list-item{ margin:0; }
.peak-cf7 .wpcf7-list-item label{ font-weight:400; display:inline-flex; align-items:center; gap:.4rem; color:var(--peak-ink); }
.peak-cf7 input[type=submit]{ background:var(--peak-gold); color:var(--peak-plum); border:0; border-radius:2px;
  padding:.9rem 2.3rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; cursor:pointer;
  transition:background .2s ease, transform .2s ease; }
.peak-cf7 input[type=submit]:hover{ background:var(--peak-gold-light); transform:translateY(-2px); }
.peak-cf7 .wpcf7-spinner{ margin:.6rem auto 0; display:block; }
/* SMS-consent acceptance checkbox: align box to the first line of wrapping text */
.peak-cf7 .cf7-consent .wpcf7-list-item{ margin:0; }
.peak-cf7 .cf7-consent label{ display:flex; align-items:flex-start; gap:.55rem; font-weight:400;
  color:var(--peak-ink); font-size:.92rem; line-height:1.5; }
.peak-cf7 .cf7-consent input[type=checkbox]{ margin-top:.25rem; flex:0 0 auto; }
