/* =====================================================================
   BASE — reset, body, headings, links, tables
   Токены берутся из site-colors.css.
   Нет page-specific правил, нет лишних !important.
   ===================================================================== */

/* --- Box model --- */
*,*::before,*::after { box-sizing:border-box; }
button,input,select,textarea { font:inherit; }

/* --- Document background / text --- */
html,body,
#page,.site,.site-content,.site-main,.content-area {
  background: var(--bg);
  color: var(--text);
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* --- Links --- */
a { color: var(--accent-2); }
a:hover { color: #ffd34d; }

/* --- Rules / images --- */
hr  { border-color: var(--border); }
img { opacity: .98; }

/* --- Section/article inherit text colour --- */
:where(section,article,aside,nav,main,footer,header,
  .dag-section,.thankyou-card,.legal-article,.team-card,
  .testimonial-card,.contact-info__item,.faq-item,
  .dag-hours,.dag-notice,.dag-lead,.cyp-card,.vehicle-card,
  .inventory-card,.home-brands__item,.home-featured__card) {
  color: var(--text);
}

/* --- Headings are white --- */
:where(.section-title,.page-title,h1,h2,h3,h4,h5,h6) {
  color: #fff;
}

/* --- Tables --- */
:where(table,thead,tbody,tr,th,td) {
  border-color: var(--border);
  color: var(--text);
}
:where(th,td) { background: transparent; }

/* --- Nav hover --- */
:where(.menu a:hover,.nav a:hover,.main-navigation a:hover) {
  color: var(--accent-2);
}

/* --- Muted meta labels --- */
:where(.contact-info__label,.contact-info__meta,.contact-form__note,
  .char-counter,.pp__toc a,.legal-toc__link,.cyp-inv__subtitle,
  .home-featured__meta,.inventory-card__subtitle) {
  color: var(--muted);
}

/* --- Dark card surfaces (global components) --- */
:where(.dag-section,.dag-notice,.dag-hours,.contact-info__item,
  .testimonial-card,.team-card,.faq-item,.legal-article,.thankyou-card) {
  background: linear-gradient(180deg,#14171d 0%,#101217 100%);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
}

:where(.dag-lead,.contact-form__wrapper,.wpforms-container form,
  .wpcf7 form,.form-shell,.form-card) {
  background: linear-gradient(180deg,#15181f 0%,#101318 100%);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  color: var(--text);
}

/* --- Hero/title transparency resets
      Prevents global card rules from styling hero text blocks --- */
body.home .hero__inner,
body.home .hero__content,
body.home .hero__copy,
body.home .hero__eyebrow,
body.home .hero__eyebrow span,
body.home .hero__title,
body.home .hero__title span,
body.home .hero__subtitle,
body.home .hero__subtitle span,
body.home .section-title,
body.home .section-title span,
body.post-type-archive-car .cyp-inv__hero,
body.post-type-archive-car .cyp-inv__hero-inner,
body.post-type-archive-car .cyp-h1,
body.post-type-archive-car .cyp-h1 span,
body.post-type-archive-car .cyp-lead,
body.post-type-archive-car .cyp-lead span,
body.post-type-archive-car .cyp-inv__title,
body.post-type-archive-car .cyp-inv__title a,
body.post-type-archive-car .cyp-inv__subtitle,
body.post-type-archive-car .cyp-inv__price,
body.post-type-archive-car .cyp-inv__price-wrap,
body.post-type-archive-car .cyp-inv__price-val,
body.post-type-archive-car .cyp-inv__price-now,
body.post-type-archive-car .cyp-inv__price-was,
body.post-type-archive-car .cyp-inv__price-ask,
body.page-template-page-contact .contact-hero__content,
body.page-template-page-contact .contact-hero__title,
body.page-template-page-contact .contact-hero__subtitle,
body.page-template-page-contact .dag-contact-hero__content,
body.page-template-page-contact .dag-contact-hero__title,
body.page-template-page-contact .dag-contact-hero__subtitle,
body.page-template-page-contact .contact-banner__title,
body.page-template-page-contact .contact-banner__subtitle {
  background: transparent;
  background-image: none;
  box-shadow: none;
  border-color: transparent;
  outline: 0;
  filter: none;
  -webkit-filter: none;
  backdrop-filter: none;
}

body.home .hero__eyebrow::before,
body.home .hero__eyebrow::after,
body.home .hero__title::before,
body.home .hero__title::after,
body.home .hero__subtitle::before,
body.home .hero__subtitle::after,
body.home .section-title::before,
body.home .section-title::after,
body.post-type-archive-car .cyp-h1::before,
body.post-type-archive-car .cyp-h1::after,
body.post-type-archive-car .cyp-lead::before,
body.post-type-archive-car .cyp-lead::after,
body.post-type-archive-car .cyp-inv__title::before,
body.post-type-archive-car .cyp-inv__title::after,
body.post-type-archive-car .cyp-inv__price::before,
body.post-type-archive-car .cyp-inv__price::after,
body.page-template-page-contact .contact-hero__title::before,
body.page-template-page-contact .contact-hero__title::after,
body.page-template-page-contact .contact-hero__subtitle::before,
body.page-template-page-contact .contact-hero__subtitle::after,
body.page-template-page-contact .dag-contact-hero__title::before,
body.page-template-page-contact .dag-contact-hero__title::after,
body.page-template-page-contact .contact-banner__title::before,
body.page-template-page-contact .contact-banner__title::after {
  content: none;
  background: none;
  background-image: none;
  box-shadow: none;
  border: 0;
}

body.post-type-archive-car .cyp-inv__hero-inner,
body.page-template-page-contact .contact-hero__content,
body.page-template-page-contact .dag-contact-hero__content {
  border: 0;
  box-shadow: none;
}
