/* ============================================================================
   Mr Splash - sitewide border-radius standard
   ----------------------------------------------------------------------------
   Owner ruling, Jordan, 2026-08-25: "i still see a lot of rounded pills fix
   please", then "can you do this across the entire website please?"

   THE STANDARD (measured off the homepage, recorded in _brand.json ->
   design_system.border_radius). Every element is one of exactly three things:

     SURFACES + CHROME + MEDIA  ->  4px    cards, panels, inputs, selects,
                                           search fields, video frames, images
     CALL-TO-ACTION BUTTONS     ->  pill   call / book / quote / submit
     AVATARS + ICON CIRCLES     ->  50%    never touched by this sheet

   ### THE :not() GUARD - READ THIS BEFORE ADDING ANY SELECTOR ###

   Every rule below carries :not(.rounded-circle):not(.card-circle):not(.rounded-pill).
   That guard is not decoration. Without it this sheet caused a live regression
   on 2026-08-25 that Jordan caught himself:

     - the homepage "Fixed Price Upfront" circles went square
     - the membership page circles (Lifetime / 20% OFF / Priority / $0*) went square
     - 48 .rounded-pill form fields across the quote forms went square

   Cause: the elements carry BOTH `.card` and `.card-circle` (or `.rounded-circle`),
   and `.form-control` with `.rounded-pill`. This sheet's `.card` rule matched
   them at (0,4,2) with !important and flattened a deliberate 50% to 4px.

   Jordan's ruling, verbatim: "anything that was already a circle should have
   stayed a circle."

   The guard EXCLUDES rather than RE-ASSERTS on purpose. Re-asserting
   `border-radius:50% !important` would have meant guessing the original value
   and would have clobbered the media queries those classes carry at mobile
   widths. Excluding leaves the original cascade completely untouched, which is
   the only way to guarantee the element renders exactly as it did before.

   `.rounded-0` is deliberately NOT in the guard: those elements were already
   being overridden to 12px by other rules before this sheet existed, so
   squaring them to 4px is the intended fix, not a regression.

   WHY AN OVERRIDE SHEET RATHER THAN EDITS TO SOURCE
   -------------------------------------------------
   The drift lives in six places at once: bootstrap.min.css, new.min.css,
   inline-extras.min.css, style.min.css, fontawesome, and ~180 rules inside
   per-page inline <style> blocks. Editing all six (two third-party, four
   minified) across a 1,838-page site that deploys by file copy with no staging,
   while twelve other sessions are live-editing pages, is a large irreversible
   change. This sheet reverts by deleting its one <link> in src/header.php.
   Folding the values into source is queued as msp-radius-fold-into-source-20260825.

   SPECIFICITY, and why the selectors look absurd
   ----------------------------------------------
   Each selector repeats its class four times behind `html body`, giving (0,4,2).
   Two earlier rounds proved it necessary, each read off the live cascade:
     - plain `.card` (0,1,0) lost to `.whyccard{...!important}` on source order.
     - `.card.card.card` (0,3,0) lost to
       `section.membership .rolodex .card{...!important}` (0,3,1) in style.min.css.
   A specificity war is a smell; it is the right trade HERE only, for the
   deploy-safety reasons above.

   Selector list DERIVED FROM MEASUREMENT: 10 page types x 2 viewports.
   Baseline 557 off-convention instances, dataset radius-baseline-2026-08-25.json.
   Regression probe: .scratch/radius-regress.cjs - run it after ANY edit here.

   NOT TOUCHED ON PURPOSE
   ----------------------
   .msp-lite-youtube__play  video play button - a media-player control mimicking
                            YouTube's own, on a thumbnail rather than page chrome.
   .ute-trust-pill          a pill by name and intent.
   .splashy-*               chat widget bubbles - a distinct UI idiom.
   ============================================================================ */

/* --- SURFACES: cards and panels --------------------------------------- */
html body .card.card.card.card:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .rcard.rcard.rcard.rcard:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .c-rc-card.c-rc-card.c-rc-card.c-rc-card:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .contact-card.contact-card.contact-card.contact-card:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .contact-form-card.contact-form-card.contact-form-card.contact-form-card:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .nbh-formcard.nbh-formcard.nbh-formcard.nbh-formcard:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .whyccard.whyccard.whyccard.whyccard:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .hf-wrap.hf-wrap.hf-wrap.hf-wrap:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .hiwb-photo.hiwb-photo.hiwb-photo.hiwb-photo:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .interestleftcard.interestleftcard.interestleftcard.interestleftcard:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .rounded-xl.rounded-xl.rounded-xl.rounded-xl:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .rounded-lg.rounded-lg.rounded-lg.rounded-lg:not(.rounded-circle):not(.card-circle):not(.rounded-pill) {
  border-radius: 4px !important;
}

/* Split-corner variants on the interest-free band: keep the joined inner edge,
   bring the outer corners onto the standard. */
html body .interest-free-section .interestleftcard.interestleftcard { border-radius: 4px 0 0 4px !important; }
html body .interest-free-section .interestleftcard + .col-6,
html body .interest-free-section .interestleftcard + .col-6 img { border-radius: 0 4px 4px 0 !important; }
@media (max-width: 767.98px) {
  html body .interest-free-section .interestleftcard.interestleftcard { border-radius: 4px 4px 0 0 !important; }
  html body .interest-free-section .interestleftcard + .col-6,
  html body .interest-free-section .interestleftcard + .col-6 img { border-radius: 0 0 4px 4px !important; }
}

/* --- CHROME: form fields, selects, search ----------------------------- */
html body .form-control.form-control.form-control.form-control:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .custom-select.custom-select.custom-select.custom-select:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .custom-file-label.custom-file-label.custom-file-label.custom-file-label:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .mhb-input.mhb-input.mhb-input.mhb-input:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .af-input.af-input.af-input.af-input:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .hf-input.hf-input.hf-input.hf-input:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .msp-mb-search.msp-mb-search.msp-mb-search.msp-mb-search:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .c-menu-search-box.c-menu-search-box.c-menu-search-box.c-menu-search-box:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .msp-inline-err.msp-inline-err.msp-inline-err.msp-inline-err:not(.rounded-circle):not(.card-circle):not(.rounded-pill) {
  border-radius: 4px !important;
}

/* --- MEDIA: video frames and images ----------------------------------- */
html body .embed-responsive-item.embed-responsive-item.embed-responsive-item.embed-responsive-item:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .msp-lite-youtube.msp-lite-youtube.msp-lite-youtube.msp-lite-youtube:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .af-mapimg.af-mapimg.af-mapimg.af-mapimg:not(.rounded-circle):not(.card-circle):not(.rounded-pill) {
  border-radius: 4px !important;
}

/* --- CALL-TO-ACTION BUTTONS: pill, matching the homepage and header ---- */
html body .af-btn.af-btn.af-btn.af-btn:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .mhb-submit.mhb-submit.mhb-submit.mhb-submit:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .btn-quote-submit.btn-quote-submit.btn-quote-submit.btn-quote-submit:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .nbh-call.nbh-call.nbh-call.nbh-call:not(.rounded-circle):not(.card-circle):not(.rounded-pill),
html body .hs-call.hs-call.hs-call.hs-call:not(.rounded-circle):not(.card-circle):not(.rounded-pill) {
  border-radius: 999px !important;
}
