/* ===== MG About + Contact ===== */
/* FIX 2026-07-27: white bands on About/Contact. Real cause (confirmed via Chrome matched-rules):
 * a leftover LIGHT theme in the Customizer "Additional CSS" + iz-sot-custom-css-preserve mu-plugin
 * loads AFTER redesign-mg and sets `.contact-page,…{background:var(--bg)!important}` where --bg=#fff.
 * Same specificity as the old bare-class rule here, but it loads later, so it won. Bump this rule to
 * `html body .contact-page` (higher specificity) so it beats the leftover !important regardless of order. */
html body .about-page,html body .contact-page,html body .about-container,html body .contact-container{background:var(--mg-base)!important;color:var(--mg-text)!important;}
.about-page .section,.about-page .section-padding,
.contact-page .contact-form-section,.contact-page .section{background:transparent!important;}
.about-page .section-dark,.about-page .section-dark-alt{background:var(--mg-panel-2)!important;}

/* headings / text / buttons shared */
.about-page .section-title,.about-page .section-subtitle,
.about-page .about-hero__title,
.contact-page .contact-hero__title,.contact-page .contact-section-title,.contact-page .home-contact__title,.contact-page .contact-hours__subtitle,.contact-page .contact-notice__title{font-family:var(--mg-head)!important;color:var(--mg-white)!important;text-transform:uppercase;letter-spacing:.02em;}
.about-page .section-lead,.about-page .about-hero__subtitle,.about-page p,.about-page li,
.contact-page p,.contact-page li,.contact-page .contact-hours__list{color:var(--mg-text)!important;}
.about-hero__overlay,.contact-hero__overlay{background:linear-gradient(180deg,rgba(9,10,12,.5),rgba(9,10,12,.8))!important;}

.about-page .btn-primary,.about-page .contact-btn--primary,
.contact-page .btn-primary,.contact-page .contact-btn--primary,.contact-page .contact-form__submit{background:var(--mg-accent)!important;background-image:none!important;border:1px solid var(--mg-accent)!important;color:#fff!important;border-radius:0!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
.about-page .btn-primary:hover,.contact-page .contact-form__submit:hover{background:var(--mg-accent-2)!important;border-color:var(--mg-accent-2)!important;}
.about-page .btn-outline,.contact-page .contact-btn--outline{background:transparent!important;border:1px solid var(--mg-hair-2)!important;color:var(--mg-text)!important;border-radius:0!important;font-family:var(--mg-head)!important;text-transform:uppercase;}
.about-page .btn-outline:hover,.contact-page .contact-btn--outline:hover{border-color:var(--mg-accent)!important;color:var(--mg-white)!important;}

/* About: team + testimonials + faq */
.about-page .team-card{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-top:3px solid var(--mg-accent)!important;border-radius:0!important;}
.about-page .team-card__name{font-family:var(--mg-head)!important;color:var(--mg-white)!important;text-transform:uppercase;}
.about-page .team-card__role{color:var(--mg-accent-2)!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
.about-page .team-card__text{color:var(--mg-text)!important;}
.about-page .testimonial-card{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-radius:0!important;color:var(--mg-text)!important;}
.about-page .testimonial-card strong,.about-page .testimonial-card b,.about-page .testimonial-card h4{color:var(--mg-white)!important;font-family:var(--mg-head)!important;}
.about-page .faq-item{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-radius:0!important;}
.about-page .faq-question{color:var(--mg-white)!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.02em;}
.about-page .faq-answer,.about-page .faq-answer *{color:var(--mg-text)!important;}

/* Contact: info + hours + notice + form */
.contact-page .contact-info__item{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-top:3px solid var(--mg-accent)!important;border-radius:0!important;}
.contact-page .contact-info__label{color:var(--mg-dim)!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
.contact-page .contact-info__value,.contact-page .contact-info__value a{color:var(--mg-text)!important;text-decoration:none;}
.contact-page .contact-info__value a:hover{color:var(--mg-accent-2)!important;}
.contact-page .contact-notice{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-left:3px solid var(--mg-accent)!important;border-radius:0!important;}
.contact-page .contact-notice__text{color:var(--mg-text)!important;}
.contact-page .contact-page-form,.contact-page .contact-form__wrapper{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-top:3px solid var(--mg-accent)!important;border-radius:0!important;}
.contact-page .contact-form__field label,.contact-page .contact-form label{color:var(--mg-dim)!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;font-size:12px;}
.contact-page input,.contact-page select,.contact-page textarea{background:var(--mg-panel-2)!important;color:var(--mg-text)!important;border:1px solid var(--mg-hair-2)!important;border-radius:0!important;}
.contact-page input:focus,.contact-page select:focus,.contact-page textarea:focus{border-color:var(--mg-accent)!important;outline:0!important;box-shadow:0 0 0 2px rgba(224,31,38,.22)!important;}
.contact-page .contact-form__note,.contact-page .contact-form__checkbox{color:var(--mg-dim)!important;}
.contact-page .dag-phone-prefix{background:var(--mg-panel)!important;color:var(--mg-text)!important;border-color:var(--mg-hair-2)!important;}
/* MESSAGE US (home-contact block) reused on Contact page */
.home-contact{background:var(--mg-base)!important;}
.home-contact__inner{background:var(--mg-panel)!important;border:1px solid var(--mg-hair)!important;border-top:3px solid var(--mg-accent)!important;border-radius:0!important;}
.home-contact__title{font-family:var(--mg-head)!important;color:var(--mg-white)!important;text-transform:uppercase;}
.home-contact__header p,.home-contact__note,.home-contact__checkbox{color:var(--mg-text)!important;}
.home-contact__field,.home-contact__row label,.home-contact label{color:var(--mg-dim)!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
.home-contact input,.home-contact select,.home-contact textarea{border-radius:0!important;}
.home-contact input:focus,.home-contact select:focus,.home-contact textarea:focus{border-color:var(--mg-accent)!important;box-shadow:0 0 0 2px rgba(224,31,38,.22)!important;outline:0!important;}
.home-contact .btn--primary,.home-contact__submit{background:var(--mg-accent)!important;background-image:none!important;border:1px solid var(--mg-accent)!important;color:#fff!important;border-radius:0!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
.home-contact .btn--primary:hover,.home-contact__submit:hover{background:var(--mg-accent-2)!important;}
/* force red primary buttons (match home specificity html body .btn.btn--primary) */
html body .btn.btn--primary,
html body .home-contact__submit,
html body .contact-form__submit{background:var(--mg-accent)!important;background-image:none!important;border:1px solid var(--mg-accent)!important;color:#fff!important;border-radius:0!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
html body .btn.btn--primary:hover,html body .home-contact__submit:hover{background:var(--mg-accent-2)!important;}
/* FIX: contact button uses single-dash .btn-primary (not BEM .btn--primary) */
html body .btn.btn-primary,
html body .btn.btn-primary.contact-form__submit,
html body .contact-form__submit.btn-primary,
html body .contact-page-form .btn-primary{background:var(--mg-accent)!important;background-image:none!important;border:1px solid var(--mg-accent)!important;color:#fff!important;border-radius:0!important;font-family:var(--mg-head)!important;text-transform:uppercase;letter-spacing:.05em;}
html body .btn.btn-primary:hover{background:var(--mg-accent-2)!important;border-color:var(--mg-accent-2)!important;}
/* fix: preserve-css leaves .contact-info grid wrapper white (shows on mobile beside cards) */
html body .contact-info,html body .contact-info__grid,html body .contact-hours,
html body .contact-form-section,html body .contact-page .section{background:transparent!important;}

/* FIX 2026-07-27: About hero read as a flat black slab (overlay too heavy over the photo).
 * Lighter-top / darker-bottom gradient reveals the image while keeping the title legible;
 * tighter vertical rhythm + a red accent bar under the title. */
html body .about-hero__bg{min-height:460px;}
html body .about-hero__overlay{background:linear-gradient(180deg,rgba(9,10,12,.28) 0%,rgba(9,10,12,.52) 52%,rgba(9,10,12,.86) 100%)!important;}
html body .about-hero__inner{padding:92px 0 84px!important;}
html body .about-hero__title{font-size:clamp(30px,2.4vw + 20px,44px)!important;line-height:1.08;margin-bottom:16px;}
html body .about-hero__title:after{content:"";display:block;width:64px;height:3px;background:var(--mg-accent);margin:18px auto 0;}
html body .about-hero__subtitle{color:var(--mg-text)!important;}

/* FIX 2026-07-27: photo+text blocks read inconsistently — section photos kept rounded corners
 * (base 10px) while every card was squared, and floated without a frame ("photo not in a block").
 * Square + hairline-frame the photos; normalise team photo aspect. */
html body .about-page .section-image img{border-radius:0!important;border:1px solid var(--mg-hair)!important;width:100%;}
html body .about-page .team-card__image img{aspect-ratio:4/5;object-fit:cover;width:100%;}

/* FIX 2026-07-28 (Pass 4): team + testimonials 2-up on wide phones / tablets (was 1-up at <=768). */
@media(min-width:520px) and (max-width:1024px){
  html body .about-page .team-grid{grid-template-columns:repeat(2,1fr)!important;}
  html body .about-page .testimonials-grid{grid-template-columns:repeat(2,1fr)!important;}
}
