/*--------------------------------------------------------------
# Brand Override - Dapto Leagues Club
--------------------------------------------------------------*/

/* Brand Colors */
:root {
  --royal: #0F2142;
  --canary: #F5CC29;
  --penny: #A69157;
  --stone: #E3D9C7;
  --white: #ffffff;
  --text-dark: #070f1d;
  --text-grey: #666666;
}

/* Global Typography Override - Less aggressive */
body,
html {
  font-family: 'DM Sans', sans-serif;
  color: var(--text-dark);
}

/* Brand-specific spacing utilities */
.brand-spacing-sm {
  margin-bottom: 0.5rem !important;
}

.brand-spacing-md {
  margin-bottom: 1rem !important;
}

.brand-spacing-lg {
  margin-bottom: 2rem !important;
}

/* Brand-specific border utilities */
.border-brand-royal {
  border-color: var(--royal) !important;
}

.border-brand-canary {
  border-color: var(--canary) !important;
}

.border-brand-penny {
  border-color: var(--penny) !important;
}

.logo .logo-img img {
  aspect-ratio: 1538 / 777 !important;
  max-height: 80px !important;
}

/* Brand background utility classes with dynamic text/heading color */
.bg-white {
  background-color: var(--white) !important;
}

.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.bg-white p, .bg-white span:not(.btn):not([class*="btn"]), .bg-white em, .bg-white strong {
  color: var(--royal) !important;
}

.bg-royal {
  background-color: var(--royal) !important;
}

.bg-royal h1, .bg-royal h2, .bg-royal h3, .bg-royal h4, .bg-royal h5, .bg-royal h6 {
  color: var(--canary) !important;
}

.bg-royal p, .bg-royal span:not(.btn):not([class*="btn"]), .bg-royal em, .bg-royal strong {
  color: var(--white) !important;
}

.bg-canary {
  background-color: var(--canary) !important;
}

.bg-canary h1, .bg-canary h2, .bg-canary h3, .bg-canary h4, .bg-canary h5, .bg-canary h6,
.bg-canary p, .bg-canary span:not(.btn):not([class*="btn"]), .bg-canary em, .bg-canary strong {
  color: var(--royal) !important;
}

.bg-penny {
  background-color: var(--penny) !important;
}

.bg-penny h1, .bg-penny h2, .bg-penny h3, .bg-penny h4, .bg-penny h5, .bg-penny h6,
.bg-penny p, .bg-penny span:not(.btn):not([class*="btn"]), .bg-penny em, .bg-penny strong {
  color: var(--royal) !important;
}

.bg-stone {
  background-color: var(--stone) !important;
}

.bg-stone h1, .bg-stone h2, .bg-stone h3, .bg-stone h4, .bg-stone h5, .bg-stone h6,
.bg-stone p, .bg-stone span:not(.btn):not([class*="btn"]), .bg-stone em, .bg-stone strong {
  color: var(--royal) !important;
}

.bg-grey {
  background-color: #666666 !important;
}

.bg-grey h1, .bg-grey h2, .bg-grey h3, .bg-grey h4, .bg-grey h5, .bg-grey h6 {
  color: var(--canary) !important;
}

.bg-grey p, .bg-grey span:not(.btn):not([class*="btn"]), .bg-grey em, .bg-grey strong {
  color: var(--white) !important;
}

/* Brand Color Utility Classes - Kept for future use */
.bg-royal,
.bg-royal * {
  background-color: var(--royal) !important;
}

.bg-canary,
.bg-canary * {
  background-color: var(--canary) !important;
}

.bg-stone,
.bg-stone * {
  background-color: var(--stone) !important;
}

.bg-penny,
.bg-penny * {
  background-color: var(--penny) !important;
}

/* Text Color Utilities */
.text-royal {
  color: var(--royal) !important;
}

.text-canary,
.text-canary * {
  color: var(--canary) !important;
}

.text-stone {
  color: var(--stone) !important;
}

.text-penny {
  color: var(--penny) !important;
}

.text-white {
  color: var(--white) !important;
}

/* Heading Typography - Less aggressive */
h1,
.h1,
.title-primary,
.welcome-content-sec h1.no-border {
  font-family: 'Potomac', serif;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--royal);
  line-height: 1.2;
}

h2,
.h2,
.title-secondary {
  font-family: 'Feature Deck Condensed', sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  color: var(--royal);
  line-height: 1.3;
}

h3,
.h3,
h4,
.h4,
.information-sec-wrap h3 {
  font-family: 'Feature Deck Condensed', sans-serif;
  font-weight: 400;
  color: var(--canary);
  line-height: 1.3;
}

h5,
.h5,
h6,
.h6 {
  font-family: 'Feature Deck Condensed', sans-serif;
  font-weight: 400;
  color: var(--canary);
  line-height: 1.3;
}

/* Override paragraph styling - Less aggressive */
p,
ol li, ul li {
  font-family: 'DM Sans', sans-serif;
  color: var(--text-dark);
}

p strong {
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
}

.information-sec-wrap ol li,
.information-sec-wrap ul li,
.information-sec-wrap span {
  font-family: 'DM Sans', sans-serif;
  color: var(--white);
}

/* Existing font color classes - Work with ACF system */
.blue-font {
  color: var(--royal) !important;
}

.blue-font h1, .blue-font h2, .blue-font h3, .blue-font h4, .blue-font h5, .blue-font h6 {
  color: var(--royal) !important;
}

.blue-font p, .blue-font strong, .blue-font span, .blue-font em {
  color: var(--royal) !important;
}

.white-font {
  color: var(--white) !important;
}

.white-font h1, .white-font h2, .white-font h3, .white-font h4, .white-font h5, .white-font h6 {
  color: var(--white) !important;
}

.white-font p, .white-font strong, .white-font span, .white-font em {
  color: var(--white) !important;
}

/* Border classes for ACF system */
.border-blue h1:before,
.border-blue h1:after,
.border-blue h2:before,
.border-blue h2:after {
  background-color: var(--royal) !important;
}

.border-white h1:before,
.border-white h1:after,
.border-white h2:before,
.border-white h2:after {
  background-color: var(--white) !important;
}

/* Header styling override */
.header-top {
  background-color: var(--royal) !important;
}

.header-top-btn a:hover,
.header-top-btn a:focus {
  background: var(--canary) !important;
  color: var(--royal) !important;
}

/* Footer override */
footer {
  background-color: var(--royal) !important;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
  color: var(--white) !important;
}

footer p,
footer a,
.header-top-btn a {
  color: var(--white) !important;
}

.footer-social ul li a:hover {
  background-color: var(--canary) !important;
}

.footer-menu ul li a:hover {
  color: var(--canary) !important;
}

/* Button Styles Override */
.btn-primary,
.navy-blue-btn {
  background-color: var(--royal) !important;
  border-color: var(--royal) !important;
  color: var(--white) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.btn-primary:hover,
.navy-blue-btn:hover,
.btn-primary:focus,
.navy-blue-btn:focus {
  background-color: var(--canary) !important;
  border-color: var(--canary) !important;
  color: var(--royal) !important;
}

.yellow-bg-btn,
.gform_footer .gform_button.button,
.gform_body .gform_page_footer input[type="button"] {
  background-color: var(--canary) !important;
  border-color: var(--canary) !important;
  color: var(--royal) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.yellow-bg-btn:hover,
.yellow-bg-btn:focus {
  background-color: var(--royal) !important;
  border-color: var(--canary) !important;
  color: var(--white) !important;
}

.gform_footer .gform_button.button:hover,
.gform_footer .gform_button.button:focus {
  background-color: var(--royal) !important;
  border-color: var(--canary) !important;
  color: var(--white) !important;
}

.btn-secondary {
  background-color: transparent !important;
  border: 0.125rem solid var(--royal) !important;
  color: var(--royal) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--royal) !important;
  border-color: var(--royal) !important;
  color: var(--white) !important;
}

.white-btn {
  background-color: transparent !important;
  border: 0.125rem solid var(--white) !important;
  color: var(--white) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.white-btn:hover,
.white-btn:focus {
  background-color: var(--white) !important;
  border-color: var(--white) !important;
  color: var(--royal) !important;
}

.btn, .goback-btn, .gform_footer .gform_button.button, .gform_body .gform_page_footer input[type="button"] {
  border-radius: 2.5rem;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

/* Navigation override */
.main-navigation,
.main-header-wrap ul li a {
  font-family: 'DM Sans', sans-serif !important;
}

.main-navigation a,
.main-header-wrap ul li a {
  color: var(--royal) !important;
  font-weight: 500 !important;
}

.main-navigation a:hover,
.main-header-wrap ul li a:hover,
.main-header-wrap ul li a:focus {
  color: var(--canary) !important;
}

.main-header-wrap ul li.current-menu-item a,
.main-header-wrap ul li.current_page_parent a,
.main-header-wrap ul li ul.sub-menu li.current-menu-item a {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
}

/* Sub-menu styling override */
.main-header-wrap ul li ul.sub-menu li a {
  border-bottom: 1px solid var(--stone) !important;
  padding: 10px !important;
  line-height: 1.6 !important;
  font-size: 1rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 400 !important;
  color: var(--royal) !important;
}

.main-header-wrap ul li ul.sub-menu li a:hover,
.main-header-wrap ul li ul.sub-menu li a:focus {
  color: var(--canary) !important;
}

/* Global link styles - Less aggressive */
a {
  color: var(--royal);
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  transition: all 0.3s ease;
}

a:hover,
a:focus {
  color: var(--canary);
}

/* Form inputs override */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="search"],
select,
textarea {
  font-family: 'DM Sans', sans-serif !important;
  border: 0.0625rem solid var(--stone) !important;
  color: var(--royal) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
  border-color: var(--canary) !important;
  outline: none !important;
  box-shadow: 0 0 0 0.125rem rgba(245, 204, 41, 0.2) !important;
}

/* Search form overrides */
.search-form {
  background-color: var(--royal) !important;
}

.search-form input[type="submit"] {
  background-color: var(--canary) !important;
  color: var(--royal) !important;
}

.header-search .search-form {
  background-color: var(--royal) !important;
}

.header-search .search-form input[type="submit"] {
  background-color: var(--canary) !important;
  color: var(--royal) !important;
}

/* News section overrides */
.news-sec .banner-btn .yellow-bg-btn:hover,
.news-sec .banner-btn .yellow-bg-btn:focus {
  background: var(--white) !important;
  color: var(--royal) !important;
}

/* Contact form overrides */
.get-touch-wrap p a {
  color: var(--canary) !important;
}

.get-touch-wrap p a:hover {
  color: var(--white) !important;
}

.get-touch-wrap p strong {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
  color: var(--canary) !important;
}

.get-touch-wrap .wpcf7-form ul li label {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 400 !important;
}

.get-touch-wrap .wpcf7-form ul li input,
.get-touch-wrap .wpcf7-form ul li textarea {
  font-family: 'DM Sans', sans-serif !important;
  color: var(--royal) !important;
}

.get-touch-wrap .wpcf7-form ul li input[type="submit"] {
  font-family: 'DM Sans', sans-serif !important;
  background-color: var(--canary) !important;
  color: var(--royal) !important;
}

.get-touch-wrap .wpcf7-form ul li input[type="submit"]:hover,
.get-touch-wrap .wpcf7-form ul li input[type="submit"]:focus {
  background: var(--white) !important;
  color: var(--royal) !important;
}



/* Font Family Utilities */
.font-primary {
  font-family: 'Potomac', serif !important;
}

.font-secondary {
  font-family: 'Feature Deck Condensed', sans-serif !important;
}

.font-body {
  font-family: 'DM Sans', sans-serif !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.font-light {
  font-weight: 300 !important;
}

.font-regular {
  font-weight: 400 !important;
}

.font-medium {
  font-weight: 500 !important;
}

.font-bold {
  font-weight: 700 !important;
}

/* Responsive Typography */
@media (max-width: 768px) {
  h1, .h1, .title-primary {
    font-size: 3rem !important;
  }

  h2, .h2, .title-secondary {
    font-size: 2rem !important;
  }

  h3, .h3, h4, .h4 {
    font-size: 1.5rem !important;
  }
}

@media (min-width: 769px) {
  h1, .h1, .title-primary {
    font-size: 4rem !important;
  }

  h2, .h2, .title-secondary {
    font-size: 2.5rem !important;
  }

  h3, .h3 {
    font-size: 2rem !important;
  }

  h4, .h4 {
    font-size: 1.5rem !important;
  }
}

@media (min-width: 1024px) {
  h1, .h1, .title-primary {
    font-size: 4rem !important;
  }

  h2, .h2, .title-secondary {
    font-size: 3rem !important;
  }
}

/* Additional brand-specific overrides */
/* Ensure all headings follow brand guidelines */
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1rem !important;
}

/* Brand-specific button variations */
.btn-brand-primary {
  background-color: var(--royal) !important;
  border-color: var(--royal) !important;
  color: var(--white) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
}

.btn-brand-primary:hover,
.btn-brand-primary:focus {
  background-color: var(--canary) !important;
  border-color: var(--canary) !important;
  color: var(--royal) !important;
}

/* Brand-specific section backgrounds */
.bg-brand-stone {
  background-color: var(--stone) !important;
}

.bg-brand-penny {
  background-color: var(--penny) !important;
}

/* Enhanced typography utilities */
.title-brand-primary {
  font-family: 'Potomac', serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: var(--royal) !important;
  line-height: 1.2 !important;
}

.title-brand-secondary {
  font-family: 'Feature Deck Condensed', sans-serif !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  color: var(--royal) !important;
  line-height: 1.3 !important;
}

.title-brand-accent {
  font-family: 'Feature Deck Condensed', sans-serif !important;
  font-weight: 400 !important;
  color: var(--canary) !important;
  line-height: 1.3 !important;
}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
  border-radius: 1rem !important;
  background: var(--stone) !important;
}

.page-template-the-mill .header-top,
.page-template-the-mill footer {
  background-color: #0B2816 !important;
}

.page-template-the-mill h1, .page-template-the-mill h2, .page-template-the-mill h3, .page-template-the-mill h4, .page-template-the-mill h5, .page-template-the-mill h6 {
  color: var(--royal) !important;
}

.page-template-the-mill .footer-menu *, .page-template-the-mill .footer-contact * {
  color: var(--white) !important;
}