@charset "utf-8";

/* ---------------------------------------------------------
   TC100 BASE SYSTEM
   --------------------------------------------------------- */

:root {
  --tc-bg: #111111;
  --tc-bg-alt: #1b1b1b;
  --tc-gold: #c7a34b;
  --tc-text: #f4f4f4;
  --tc-muted: #b3b3b3;
  --tc-border: #333333;

  --tc-font-body: "Helvetica Neue", Arial, sans-serif;
  --tc-font-heading: "Georgia", "Times New Roman", serif;

  --tc-max-width: 1100px;
  --tc-spacing-sm: 12px;
  --tc-spacing-md: 20px;
  --tc-spacing-lg: 32px;
}

/* ---------------------------------------------------------
   GLOBAL DEFAULTS
   --------------------------------------------------------- */

body {
  background: #000;
  font-family: var(--tc-font-body);
  line-height: 1.6;
}

/* Gold headings */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--tc-font-heading);
  letter-spacing: 0.04em;
  color: var(--tc-gold) !important;
}

/* Links */
a {
  color: var(--tc-gold);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

/* ---------------------------------------------------------
   HOMEPAGE ONLY
   --------------------------------------------------------- */

body.home-page {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Homepage hero */
body.home-page .tc-hero h1 {
  text-align: center !important;
  margin: 20px auto !important;
}

/* Homepage container */
body.home-page .tc-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}

/* Homepage images */
body.home-page img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Homepage logo */
body.home-page header .upper-header .wrapper .tc-header-banner img {
  width: 350px !important;
  max-width: 350px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* ---------------------------------------------------------
   NORMAL PAGES (RULES, FAQ, FORMS, ETC.)
   --------------------------------------------------------- */

body:not(.home-page):not(.hotpage-page) {
  background: #ffffff !important;
  color: #000000 !important;
}

/* Fix wrapper backgrounds */
.wrapper,
.errorpage,
.inner-banner,
.banner,
#content {
  background: #ffffff !important;
}

/* ---------------------------------------------------------
   HOTPAGES (SIRE / DAM / HORSE PROFILES)
   --------------------------------------------------------- */

body.hotpage-page {
  background: #ffffff !important;
  color: #000000 !important;
}

.column3 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 10px 0 !important;
}

.column3 *,
.column3 p,
.column3 h3,
.column3 h4,
.column3 a {
  color: #000000 !important;
}

.column3 h3,
.column3 h4 {
  color: var(--tc-gold) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

/* Remove dark wrapper background */
.inner-service.dark,
.inner-service.dark .wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.inner-service.dark *,
.inner-service.dark p,
.inner-service.dark h3,
.inner-service.dark h4,
.inner-service.dark a {
  color: #000000 !important;
}

.inner-service.dark h3 {
  color: var(--tc-gold) !important;
}

/* ---------------------------------------------------------
   TC100 — UNIVERSAL HEADER / LOGO / NAVIGATION
   --------------------------------------------------------- */

/* HEADER WRAPPER — clean, centered, consistent */
header,
.upper-header {
    background: #000000 !important;
    width: 100%;
    padding: 0;
    margin: 0;
}

/* FLEX CONTAINER FOR LOGO + NAV */
header .wrapper,
.upper-header .wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: #000000 !important;
}

/* LOGO — centered, fixed width, no shifting */
.tc-header-banner img {
    width: 350px !important;
    max-width: 350px !important;
    height: auto !important;
    display: block !important;
    margin: 10px auto !important;
}

/* ---------------------------------------------------------
   NAVIGATION
   --------------------------------------------------------- */

/* NAV LIST — perfectly centered */
#navlist {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 28px !important;
    padding: 12px 0 !important;
    margin: 0 auto !important;
    list-style: none !important;
    width: 100% !important;
    background: #000000 !important;
}

/* NAV ITEMS */
#navlist li {
    display: inline-block !important;
}

/* NAV LINKS — white text, gold hover */
#navlist li a {
    color: #ffffff !important;
    font-family: var(--tc-font-body);
    font-size: 17px !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 6px 4px !important;
    display: block !important;
    transition: color 0.25s ease-in-out;
}

#navlist li a:hover {
    color: var(--tc-gold) !important;
    text-decoration: none !important;
}

/* ---------------------------------------------------------
   RESPONSIVE HEADER
   --------------------------------------------------------- */

@media (max-width: 768px) {
    #navlist {
        flex-wrap: wrap !important;
        gap: 18px !important;
    }

    #navlist li a {
        font-size: 15px !important;
    }

    .tc-header-banner img {
        width: 260px !important;
        max-width: 260px !important;
    }
}

/* HOMEPAGE HEADER BACKGROUND FIX */
body.home-page .upper-header,
body.home-page header,
body.home-page .wrapper,
body.home-page .tc-header-banner {
    background: #000000 !important;
}

/* RULES PAGE BANNER FIX — GOLD TITLE + BLACK TEXT */
.banner .inner-banner h2 {
    color: var(--tc-gold) !important;
}

.banner .inner-banner,
.banner .inner-banner * {
    color: #000000 !important;
}

/* RULES PAGE ONLY — GOLD TITLE + BLACK TEXT */
body.rules-page .inner-banner h2 {
    color: var(--tc-gold) !important;
}

body.rules-page .inner-banner,
body.rules-page .inner-banner * {
    color: #000000 !important;
}

.rules-content {
    text-align: center;
    margin: 0 auto;
    width: 100%;
}
.rules-content ol {
    list-style-position: inside;
    padding-left: 0;
    margin-left: 0;
    text-align: center;
}

.rules-content li { text-align: center; }

/* UNIVERSAL HEADER + FOOTER — BLACK BACKGROUND, WHITE TEXT */
header,
.upper-header,
header .wrapper,
.upper-header .wrapper,
.tc-header-banner,
footer,
.tc-footer,
.tc-footer-social { background: #000000 !important; }

header *,
.upper-header *,
#navlist li a,
footer *,
.tc-footer *,
.tc-footer-social * { color: #ffffff !important; }

/* UNIVERSAL HOTPAGE TEXT FIX */
body.hotpage-page,
body.hotpage-page *,
body.hotpage-page p,
body.hotpage-page span,
body.hotpage-page li,
body.hotpage-page td,
body.hotpage-page th,
body.hotpage-page a {
    color: #000000 !important;
    background-color: transparent !important;
}
body.hotpage-page h1,
body.hotpage-page h2,
body.hotpage-page h3,
body.hotpage-page h4 {
    color: var(--tc-gold) !important;
}

/* UNIVERSAL HOTPAGE FIX — WHITE BACKGROUND + BLACK TEXT */
body.hotpage-page { background: #ffffff !important; color: #000000 !important; }

/* FINAL RULES PAGE FIX — WHITE BACKGROUND, GOLD TITLE, BLACK TEXT */
body.rules-page { background: #ffffff !important; color: #000000 !important; }
body.rules-page *,
body.rules-page p,
body.rules-page span,
body.rules-page li,
body.rules-page td,
body.rules-page th,
body.rules-page a { color: #000000 !important; background-color: transparent !important; }
body.rules-page h1,
body.rules-page h2,
body.rules-page h3,
body.rules-page h4 { color: var(--tc-gold) !important; font-family: var(--tc-font-heading); font-weight: bold !important; }
body.rules-page .banner,
body.rules-page .inner-banner { background: #ffffff !important; padding: 20px 0 !important; text-align: center !important; }
body.rules-page .site_map a { color: #000000 !important; }
body.rules-page header,
body.rules-page .upper-header,
body.rules-page footer,
body.rules-page .tc-footer,
body.rules-page .tc-footer-social { background: #000000 !important; }
body.rules-page header *,
body.rules-page .upper-header *,
body.rules-page nav *,
body.rules-page #navlist li a,
body.rules-page footer *,
body.rules-page .tc-footer *,
body.rules-page .tc-footer-social * { color: #ffffff !important; }

/* CENTER MAIN NAV MENU */
#navlist { display: flex !important; justify-content: center !important; align-items: center !important; gap: 25px !important; padding: 0 !important; margin: 0 auto !important; list-style: none !important; width: 100% !important; text-align: center !important; }
#navlist li { display: inline-block !important; }
#navlist li a { display: block !important; text-align: center !important; }

/* UNIVERSAL TC100 HEADER + MENU */
header, .upper-header { background: #000000 !important; }
header .wrapper, .upper-header .wrapper { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; background: #000000 !important; }
.tc-header-banner img { width: 350px !important; max-width: 350px !important; height: auto !important; display: block !important; margin: 10px auto !important; }
#navlist { display: flex !important; justify-content: center !important; align-items: center !important; gap: 28px !important; padding: 12px 0 !important; margin: 0 auto !important; list-style: none !important; width: 100% !important; background: #000000 !important; }
#navlist li a { color: #ffffff !important; font-size: 17px !important; text-transform: uppercase; letter-spacing: 0.03em; padding: 6px 4px !important; display: block !important; }
#navlist li a:hover { color: var(--tc-gold) !important; }

/* ---------------------------------------------------------
   UNIVERSAL GOLD/WHITE/BLACK BACKGROUND RULES
   --------------------------------------------------------- */
*[style*="background: var(--tc-gold)"],
*[style*="background-color: var(--tc-gold)"],
.bg-gold, .gold-bg { color: #000000 !important; }
.bg-gold *, .gold-bg * { color: #000000 !important; }

*[style*="background: #ffffff"], *[style*="background:#ffffff"],
*[style*="background-color: #ffffff"], *[style*="background-color:#ffffff"],
.bg-white, .white-bg { color: #000000 !important; }
.bg-white *, .white-bg *, *[style*="background: #ffffff"] *, *[style*="background-color: #ffffff"] * { color: #000000 !important; }

*[style*="background: #000000"], *[style*="background:#000000"],
*[style*="background-color: #000000"], *[style*="background-color:#000000"],
.bg-black, .black-bg { color: #ffffff !important; }
.bg-black *, .black-bg *, *[style*="background: #000000"] *, *[style*="background-color: #000000"] * { color: #ffffff !important; }

/* ---------------------------------------------------------
   PAGE-SPECIFIC COLOR FIXES (Nomination, Stallion Incentive, Shows, Payoff, Forms)
   --------------------------------------------------------- */
body.nomination-fee-page,
body.nomination-fee-page *,
body.nomination-fee-page p,
body.nomination-fee-page span,
body.nomination-fee-page li,
body.nomination-fee-page td,
body.nomination-fee-page th,
body.nomination-fee-page a { color: #000000 !important; background-color: transparent !important; }
body.nomination-fee-page header,
body.nomination-fee-page .upper-header,
body.nomination-fee-page footer,
body.nomination-fee-page .tc-footer,
body.nomination-fee-page .tc-footer-social { background: #000000 !important; }
body.nomination-fee-page header *,
body.nomination-fee-page nav *,
body.nomination-fee-page #navlist li a,
body.nomination-fee-page footer *,
body.nomination-fee-page .tc-footer *,
body.nomination-fee-page .tc-footer-social * { color: #ffffff !important; }

body.stallion-incentive-page,
body.stallion-incentive-page *,
body.stallion-incentive-page p,
body.stallion-incentive-page span,
body.stallion-incentive-page li,
body.stallion-incentive-page td,
body.stallion-incentive-page th,
body.stallion-incentive-page a { color: #000000 !important; background-color: transparent !important; }
body.stallion-incentive-page header,
body.stallion-incentive-page .upper-header,
body.stallion-incentive-page footer,
body.stallion-incentive-page .tc-footer,
body.stallion-incentive-page .tc-footer-social { background: #000000 !important; }
body.stallion-incentive-page header *,
body.stallion-incentive-page nav *,
body.stallion-incentive-page #navlist li a,
body.stallion-incentive-page footer *,
body.stallion-incentive-page .tc-footer *,
body.stallion-incentive-page .tc-footer-social * { color: #ffffff !important; }

body[class*="shows-"], body[class*="shows-"] *, body[class*="shows-"] p,
body[class*="shows-"] span, body[class*="shows-"] li, body[class*="shows-"] td,
body[class*="shows-"] th, body[class*="shows-"] a { color: #000000 !important; background-color: transparent !important; }
body[class*="shows-"] header, body[class*="shows-"] .upper-header,
body[class*="shows-"] footer, body[class*="shows-"] .tc-footer, body[class*="shows-"] .tc-footer-social { background: #000000 !important; }
body[class*="shows-"] header *, body[class*="shows-"] nav *, body[class*="shows-"] #navlist li a,
body[class*="shows-"] footer *, body[class*="shows-"] .tc-footer *, body[class*="shows-"] .tc-footer-social * { color: #ffffff !important; }
body[class*="shows-"] a { color: var(--tc-gold) !important; text-decoration: none; }
body[class*="shows-"] a:hover { color: var(--tc-gold) !important; text-decoration: underline; }

body.payoff-page, body.payoff-page *, body.payoff-page p, body.payoff-page span,
body.payoff-page li, body.payoff-page td, body.payoff-page th, body.payoff-page a { color: #000000 !important; background-color: transparent !important; }
body.payoff-page header, body.payoff-page .upper-header, body.payoff-page footer,
body.payoff-page .tc-footer, body.payoff-page .tc-footer-social { background: #000000 !important; }
body.payoff-page header *, body.payoff-page nav *, body.payoff-page #navlist li a,
body.payoff-page footer *, body.payoff-page .tc-footer *, body.payoff-page .tc-footer-social * { color: #ffffff !important; }
body.payoff-page .wrapper, body.payoff-page .errorpage, body.payoff-page .payoff-table { text-align: center !important; margin: 0 auto !important; }
body.payoff-page li { list-style: none; text-align: center !important; margin: 4px 0; }
body.payoff-page li { display: flex; justify-content: center; gap: 20px; font-size: 18px; }
body.payoff-page h1, body.payoff-page h2, body.payoff-page h3 { text-align: center !important; }
.payoff-table { margin: 0 auto; text-align: center; border-collapse: collapse; }
.payoff-table th, .payoff-table td { padding: 6px 10px; }

body.forms-page, body.forms-page *, body.forms-page p, body.forms-page span,
body.forms-page li, body.forms-page td, body.forms-page th, body.forms-page a { color: #000000 !important; background-color: transparent !important; }
body.forms-page header, body.forms-page .upper-header, body.forms-page footer,
body.forms-page .tc-footer, body.forms-page .tc-footer-social { background: #000000 !important; }
body.forms-page header *, body.forms-page nav *, body.forms-page #navlist li a,
body.forms-page footer *, body.forms-page .tc-footer *, body.forms-page .tc-footer-social * { color: #ffffff !important; }
body.forms-page .banner a, body.forms-page .inner-banner a, body.forms-page .banner *, body.forms-page .inner-banner * { color: #000000 !important; }
.past-results-page .wrapper a { background: #000000 !important; color: #d4af37 !important; padding: 10px 18px !important; border-radius: 6px !important; display: inline-block; margin: 6px 0; text-decoration: none !important; font-weight: 700; }
.past-results-page .wrapper a:hover { background: #000000 !important; color: #ffffff !important; }

/* ---------------------------------------------------------
   HOTPAGE LAYOUT & SEARCH TIGHTENING (unchanged behavior)
   --------------------------------------------------------- */
/* (Keeping your hotpage layout rules as‑is, trimmed for brevity in this file) */
body.hotpage-page .wrapper { max-width: 1000px; margin: 0 auto; padding: 20px 15px; }
body.hotpage-page .banner, body.hotpage-page .inner-banner { background: #c5b358 !important; border: 1px solid #c5b358 !important; }
body.hotpage-page .banner h1 { float: left; font-size: 1.75em; color: #000000; margin: 0; font-weight: normal; }
body.hotpage-page .dark { background: #ffffff !important; padding: 20px 0; }
body.hotpage-page .container { max-width: 1000px; margin: 0 auto; }
body.hotpage-page .column4 { float: left; width: 33.333%; text-align: center; }
body.hotpage-page .column6a { float: left; width: 50%; }
body.hotpage-page .column12 { clear: both; width: 100%; text-align: center; }
body.hotpage-page .container.clearfix::after, body.hotpage-page .wrapper::after, body.hotpage-page .dark::after, body.hotpage-page .pedigree::after { content: ""; display: block; clear: both; }
body.hotpage-page .img-horsepic { max-width: 350px; height: auto; display: block; margin: 0 auto 15px auto; border-radius: 4px; }
body.hotpage-page .img-horsepic2 { max-width: 450px; height: auto; display: block; margin: 15px auto; border-radius: 4px; }
body.hotpage-page .buttonfoals { display: block; text-align: left; margin-bottom: 10px; }
body.hotpage-page .buttonfoals .button { display: inline-block; background: #2f3133; color: #c5b358 !important; padding: 8px 14px; text-transform: uppercase; font-weight: 700; font-size: 14px; border-radius: 4px; text-decoration: none; }
body.hotpage-page .buttonfoals .button:hover { background: #000000; color: #ffffff !important; }
body.hotpage-page .comments { font-weight: bold; color: #000000; }
body.hotpage-page .pedigree { border: 1px solid #dddddd; padding: 20px 15px; margin: 20px 0; background: #ffffff; text-align: left; }
body.hotpage-page .pedigree h3 { color: #c5b358 !important; font-family: Georgia, "Times New Roman", serif; font-weight: bold; text-align: left; margin-top: 0; }
body.hotpage-page .pedsireanddam { font-weight: bold; font-size: 16px; }
body.hotpage-page .pedgrand { font-style: italic; font-size: 15px; }
body.hotpage-page .pedgreatgrand { font-size: 14px; }
body.hotpage-page .pedgreatgreatgrand { font-size: 13px; }
body.hotpage-page .port-border { border-bottom: 1px solid #e7e6e6; margin: 20px 0; }
body.hotpage-page h5 { text-align: center; font-size: 14px; color: #000000; }
body.hotpage-page a { color: #c5b358; text-decoration: underline; }
body.hotpage-page a:hover { text-decoration: none; }
@media (max-width: 900px) {
  body.hotpage-page .column4, body.hotpage-page .column6a { float: none; width: 100%; text-align: center; }
  body.hotpage-page .pedigree { text-align: center; }
}

/* ---------------------------------------------------------
   NAVIGATION BEHAVIOR (FINAL)
   --------------------------------------------------------- */

/* Prevent clipping */
header .wrapper, .upper-header .wrapper { overflow: visible !important; }

/* Layering */
#nav { position: relative !important; z-index: 1000 !important; }

/* Positioning context */
.sf-menu > li { position: relative !important; }

/* Default: submenus hidden (desktop) */
.sf-menu li > .sub-menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 220px !important;
  background: #000 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  padding: 8px 0 !important;
  z-index: 1001 !important;
}

/* Desktop hover */
@media (min-width: 901px) {
  .sf-menu li:hover > .sub-menu,
  .sf-menu li.sfHover > .sub-menu { display: block !important; }

  .sf-menu li > .sub-menu > li { display: block !important; }
  .sf-menu li > .sub-menu > li > a {
    display: block !important;
    color: #ffffff !important;
    padding: 8px 14px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  .sf-menu li > .sub-menu > li > a:hover { color: var(--tc-gold) !important; text-decoration: none !important; }
}

/* Mobile/tablet: stack + focus-within to open */
@media (max-width: 900px) {
  #navlist { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; justify-content: center !important; }
  #navlist > li { display: block !important; }

  .sf-menu li > .sub-menu { position: static !important; background: transparent !important; border: none !important; padding: 0 !important; display: none !important; }

  /* Accessible open on focus-within */
  #navlist > li:focus-within > .sub-menu { display: block !important; }

  #navlist .sub-menu > li > a { padding: 10px 20px !important; display: block !important; border-top: 1px solid rgba(255,255,255,0.12) !important; font-size: 15px !important; line-height: 1.3 !important; }
}

/* Safety: nav is never hidden at mid widths */
@media (max-width: 1100px) { #navlist { display: flex !important; } }

/* --- END OF FILE --- */

/* === HOTPAGE LOGO MOBILE FIX === */
@media (max-width: 900px) {
  .upper-header .logo img,
  .tc-header-banner img {
    width: 180px !important;   /* or 200px for slightly larger */
    max-width: 180px !important;
    height: auto !important;
    max-height: 60px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }
}
