/* ==========================================================================
   SIGN THEME — sitewide content restyle (2026-10-20)
   Matches the Website Sign / home page: Anton headlines (uppercase), Rye small
   labels, Work Sans body, black / burnt orange / cream, square buttons, hard
   borders instead of soft glows. Loaded by js/components.js on every page whose
   <html> has data-theme="sign" (the default). Pages that already carry their own
   sign styling (the home page) add class "sg-own" to <body> and are skipped.
   Delete this file (or set data-theme="classic") to revert.
   ========================================================================== */

html[data-theme="sign"] {
  --sg-black: #0b0a09; --sg-ink: #1c1712; --sg-cream: #f2ede4; --sg-paper: #f5e8d2;
  --sg-orange: #c8501a; --sg-orange2: #e2742c;
}

/* ---------- body text ---------- */
html[data-theme="sign"] body:not(.sg-own) { font-family: 'Work Sans', system-ui, sans-serif; }
html[data-theme="sign"] body:not(.sg-own) :is([style*="Manrope"], [style*="Inter,"], [style*="'Inter'"]):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *) { font-family: 'Work Sans', system-ui, sans-serif !important; }

/* ---------- headlines: Anton, uppercase ---------- */
html[data-theme="sign"] body:not(.sg-own) :is(h1, h2, h3):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *),
html[data-theme="sign"] body:not(.sg-own) :is([class$="-title"], [class*="-title "], [class$="-h"], [class$="-h2"], [class*="headline"], [class$="-name"]):not(p):not(li):not(a):not(button):not(input):not(label):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *),
html[data-theme="sign"] body:not(.sg-own) :is([style*="Libre Baskerville"], [style*="Fraunces"], [style*="Playfair"]):not(p):not(blockquote):not(q):not(li):not(figcaption):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *) {
  font-family: 'Anton', Impact, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  line-height: 1.04 !important;
}
/* italic accent words inside headlines -> straight orange (like the sign) */
html[data-theme="sign"] body:not(.sg-own) :is(h1, h2, h3, [class$="-title"], [class$="-h"], [class$="-h2"]) :is(em, i) {
  font-style: normal !important;
  font-family: inherit !important;
  color: var(--sg-orange2) !important;
  background: none !important;
  -webkit-text-fill-color: var(--sg-orange2) !important;
}

/* ---------- small labels / eyebrows: Rye ---------- */
html[data-theme="sign"] body:not(.sg-own) :is([class*="eyebrow"], [class*="kicker"], [class$="-k"]):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *) {
  font-family: 'Rye', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  font-size: max(0.82rem, 1em) !important;
  color: var(--sg-orange2) !important;
}

/* ---------- buttons: square, Anton ---------- */
html[data-theme="sign"] body:not(.sg-own) 
  :is(a[class*="btn"], button[class*="btn"], a[class*="cta"], button[class*="cta"], a[class*="button"], button[class*="button"]):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *):not(.fab-group *):not(.slot-btn):not([class*="dot"]):not([class*="arrow"]):not([class*="close"]) {
  border-radius: 4px !important;
  font-family: 'Anton', Impact, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ---------- cards, chips, pills: hard edges instead of soft rounded glows ---------- */
html[data-theme="sign"] body:not(.sg-own) :is([class*="card"], [class*="tile"], [class*="panel"], [class*="box"]):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *):not(img):not(picture):not([class*="avatar"]) {
  border-radius: 8px !important;
}
html[data-theme="sign"] body:not(.sg-own) :is([class*="chip"], [class*="pill"], [class*="badge"], [class*="tag"]):not(footer *):not(nav *):not(.may-mast *):not(.mobile-drawer *):not(.site-header-wrap *):not(.vet-ov *):not(img):not([class*="avatar"]) {
  border-radius: 4px !important;
}

/* ---------- booking widget (purchase-training etc.) ---------- */
html[data-theme="sign"] body:not(.sg-own) .date-name { font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: 0.02em; }
html[data-theme="sign"] body:not(.sg-own) .slot-btn { font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; letter-spacing: 0.04em; border-radius: 4px !important; }
html[data-theme="sign"] body:not(.sg-own) .cart-checkout { font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; letter-spacing: 0.06em; text-transform: uppercase; border-radius: 4px !important; }

/* ---------- runtime-flattened ember surfaces (classes added by js/components.js) ---------- */
html[data-theme="sign"] body:not(.sg-own) .sg-flat-card {
  background: #16120e !important; border: 2px solid rgba(242,237,228,0.16) !important; box-shadow: none !important;
}
html[data-theme="sign"] body:not(.sg-own) .sg-flat-sec { background: var(--sg-black) !important; }
html[data-theme="sign"] body:not(.sg-own) .sg-flat-btn {
  background: var(--sg-orange) !important; border: 2px solid var(--sg-orange) !important; color: #fff !important;
  box-shadow: 3px 3px 0 var(--sg-cream) !important; text-shadow: none !important; filter: none !important; animation: none !important;
}
html[data-theme="sign"] body:not(.sg-own) .sg-flat-gold {
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important;
  -webkit-text-fill-color: var(--sg-orange2) !important; color: var(--sg-orange2) !important; text-shadow: none !important; filter: none !important;
}
html[data-theme="sign"] body:not(.sg-own) .sg-flat-glow { box-shadow: none !important; text-shadow: none !important; }

/* ---------- serif display text caught at runtime (big numbers, odd headings) ---------- */
html[data-theme="sign"] body:not(.sg-own) .sg-anton {
  font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; font-style: normal !important; letter-spacing: 0.01em !important;
}
html[data-theme="sign"] body:not(.sg-own) .sg-anton.sg-up { text-transform: uppercase !important; line-height: 1.04 !important; }
html[data-theme="sign"] body:not(.sg-own) .sg-anton :is(em, i) { font-style: normal !important; color: var(--sg-orange2) !important; -webkit-text-fill-color: var(--sg-orange2) !important; }

/* popups (booking, reviews, graduates) must sit above the fixed site header + announcement strip */
html[data-theme="sign"] .mdl { z-index: 10050 !important; }
html[data-theme="sign"] body.mdl-open .site-header-wrap { visibility: hidden; }

/* ---------- VET RECOMMENDED popup (sign look) ---------- */
html[data-theme="sign"] .vet-ov { background: rgba(11,10,9,0.86) !important; backdrop-filter: none !important; z-index: 10060 !important; }
html[data-theme="sign"] .vet-md { background: var(--sg-paper) !important; color: var(--sg-ink) !important; border: 3px solid var(--sg-black) !important; border-radius: 10px !important;
  box-shadow: 10px 10px 0 var(--sg-orange) !important; font-family: 'Work Sans', system-ui, sans-serif !important; }
html[data-theme="sign"] .vet-hd { background: var(--sg-black) !important; color: var(--sg-cream); padding: 28px 28px 22px !important; border-bottom: 3px solid var(--sg-orange2); }
html[data-theme="sign"] .vet-hd::after { display: none !important; }
html[data-theme="sign"] .vet-badge { width: 56px !important; height: 56px !important; border-radius: 8px !important; background: var(--sg-orange) !important; box-shadow: 3px 3px 0 var(--sg-cream) !important; }
html[data-theme="sign"] .vet-badge svg { stroke: #fff !important; }
html[data-theme="sign"] .vet-kicker { font-family: 'Rye', Georgia, serif !important; font-weight: 400 !important; font-size: 0.95rem !important; letter-spacing: 0.06em !important; color: var(--sg-orange2) !important; }
html[data-theme="sign"] .vet-title { font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: 0.01em; line-height: 1.04 !important; color: var(--sg-cream) !important; font-size: clamp(1.7rem, 4vw, 2.2rem) !important; }
html[data-theme="sign"] .vet-title em { font-style: normal !important; background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: var(--sg-orange2) !important; -webkit-text-fill-color: var(--sg-orange2) !important; }
html[data-theme="sign"] .vet-bd p { color: #4a3e33 !important; }
html[data-theme="sign"] .vet-bd p strong { color: var(--sg-ink) !important; }
html[data-theme="sign"] .vet-welfare { background: #fffaf0 !important; border: 2px solid var(--sg-black) !important; border-left: 6px solid var(--sg-orange) !important; border-radius: 6px !important; }
html[data-theme="sign"] .vet-welfare-ico { background: var(--sg-orange) !important; box-shadow: none !important; border-radius: 6px !important; }
html[data-theme="sign"] .vet-welfare-k { font-family: 'Rye', Georgia, serif !important; font-weight: 400 !important; color: var(--sg-orange) !important; letter-spacing: 0.05em !important; }
html[data-theme="sign"] .vet-welfare-t { color: #4a3e33 !important; } html[data-theme="sign"] .vet-welfare-t strong { color: var(--sg-ink) !important; }
html[data-theme="sign"] .vet-chips span { border-radius: 4px !important; border: 2px solid var(--sg-black) !important; background: #fffaf0 !important; color: var(--sg-ink) !important;
  font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; letter-spacing: 0.05em; text-transform: uppercase; font-size: 0.8rem !important; }
html[data-theme="sign"] .vet-logos { grid-template-columns: repeat(5, minmax(0,1fr)) !important; }
html[data-theme="sign"] .vet-logos span { border-radius: 50% !important; box-shadow: 0 0 0 2px var(--sg-black) !important; }
html[data-theme="sign"] .vet-cta { border-radius: 4px !important; background: var(--sg-orange) !important; border: 2px solid var(--sg-black) !important; box-shadow: 4px 4px 0 var(--sg-black) !important;
  font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; font-size: 1.05rem !important; letter-spacing: 0.06em !important; color: #fff !important; }
html[data-theme="sign"] .vet-more { color: var(--sg-orange) !important; text-decoration: underline; text-underline-offset: 3px; }
html[data-theme="sign"] .vet-x { border-radius: 50% !important; background: var(--sg-orange) !important; border: 2px solid var(--sg-cream) !important; color: #fff !important; }

/* ---------- SNAKE REMOVAL tab + card (rattlesnake pages) ---------- */
html[data-theme="sign"] .rm-tab { background: var(--sg-black) !important; border: 2px solid var(--sg-orange2) !important; border-left: none !important; border-radius: 0 6px 6px 0 !important;
  box-shadow: 4px 4px 0 var(--sg-orange) !important; animation: none !important; font-family: 'Anton', Impact, sans-serif !important; }
html[data-theme="sign"] .rm-tab-txt { font-weight: 400 !important; letter-spacing: 0.1em !important; }
html[data-theme="sign"] .rm-card { background: var(--sg-paper) !important; color: var(--sg-ink) !important; border: 3px solid var(--sg-black) !important; border-radius: 8px !important; box-shadow: 6px 6px 0 var(--sg-orange) !important; }
html[data-theme="sign"] .rm-card-k { font-family: 'Rye', Georgia, serif !important; font-weight: 400 !important; color: var(--sg-orange) !important; letter-spacing: 0.05em !important; }
html[data-theme="sign"] .rm-card-h { font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; text-transform: uppercase; color: var(--sg-ink) !important; }
html[data-theme="sign"] .rm-card-p { color: #4a3e33 !important; }
html[data-theme="sign"] .rm-card a { border-radius: 4px !important; font-family: 'Anton', Impact, sans-serif !important; font-weight: 400 !important; letter-spacing: 0.05em; }
