/* ========================================
   YFST Site-Wide Dark Theme
   Matches homepage design: dark navy + gold
   ======================================== */

:root {
  --yfst-bg: #0f1a2e;
  --yfst-bg-deep: #0a1220;
  --yfst-bg-light: #162038;
  --yfst-bg-mid: #1a2744;
  --yfst-surface: #1e2d4a;
  --yfst-gold: #d4a034;
  --yfst-gold-light: #e0b44a;
  --yfst-gold-dark: #c9922c;
  --yfst-white: #ffffff;
  --yfst-text: #e8e4dc;
  --yfst-text-secondary: #a0a8b8;
  --yfst-text-muted: #6b7a94;
  --yfst-border: rgba(255, 255, 255, 0.08);
  --yfst-border-light: rgba(255, 255, 255, 0.12);
  --yfst-cream: #f5f2ed;
}

/* ========================================
   GLOBAL
   ======================================== */
body,
html {
  background-color: var(--yfst-bg) !important;
  color: var(--yfst-text) !important;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
}

a {
  color: var(--yfst-gold) !important;
  transition: color 0.3s ease;
}
a:hover,
a:focus {
  color: var(--yfst-gold-light) !important;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.woocommerce-products-header__title {
  font-family: 'Fraunces', Georgia, serif !important;
  color: var(--yfst-white) !important;
}

p, li, td, th, dd, dt, span, label, div {
  color: var(--yfst-text);
}

/* ========================================
   ASTRA HEADER / NAV
   ======================================== */
.ast-primary-header,
.ast-main-header-wrap,
.ast-primary-header-bar,
.site-header,
header.site-header,
.main-header-bar {
  background-color: var(--yfst-bg-deep) !important;
  border-bottom: 1px solid var(--yfst-border) !important;
  box-shadow: none !important;
}

.ast-header-break-point .ast-mobile-header-wrap .ast-primary-header-bar,
.ast-mobile-header-wrap,
.ast-mobile-header-content {
  background-color: var(--yfst-bg-deep) !important;
}

/* Nav links */
.main-header-menu a,
.ast-header-menu a,
.ast-nav-menu a,
.main-navigation a,
.ast-builder-menu a,
.ast-header-break-point .ast-builder-menu a {
  color: var(--yfst-text) !important;
  font-family: 'DM Sans', sans-serif !important;
}
.main-header-menu a:hover,
.ast-header-menu a:hover,
.ast-nav-menu a:hover,
.ast-builder-menu a:hover {
  color: var(--yfst-gold) !important;
}

/* Site title */
.site-title a,
.ast-site-identity a,
.site-branding a {
  color: var(--yfst-white) !important;
}

/* Mobile menu toggle */
.ast-mobile-menu-trigger-minimal,
.ast-button-wrap .ast-mobile-menu-trigger-minimal,
.menu-toggle {
  color: var(--yfst-white) !important;
}

/* ========================================
   MAIN CONTENT AREA
   ======================================== */
#content,
.site-content,
#primary,
.content-area,
.ast-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-woocommerce-container,
.ast-separate-container .no-results,
.ast-separate-container .ast-archive-description {
  background-color: var(--yfst-bg) !important;
}

/* Widen content area to match nav width */
.ast-container,
.site-content .ast-container {
  max-width: 1238px !important;
  width: 100% !important;
  padding-left: clamp(1.25rem, 5vw, 2.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 2.5rem) !important;
}

/* Full width single posts — no sidebar */
.ast-separate-container #primary,
.ast-separate-container .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* Blog post / page cards */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
  background-color: var(--yfst-bg-light) !important;
  border: 1px solid var(--yfst-border) !important;
  border-radius: 0.5rem;
  padding: 2.5rem 3rem !important;
  max-width: 100% !important;
}

/* Entry content */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content td,
.ast-comment-content,
.comment-content {
  color: var(--yfst-text) !important;
}

/* Entry meta */
.entry-meta,
.entry-meta a,
.entry-meta span,
.cat-links,
.cat-links a,
.posted-on,
.posted-on a,
.byline,
.byline a,
.comments-link a,
.ast-blog-single-element.ast-taxonomy-container a {
  color: var(--yfst-text-muted) !important;
}
.entry-meta a:hover,
.cat-links a:hover {
  color: var(--yfst-gold) !important;
}

/* Post navigation */
.post-navigation,
.ast-pagination,
.nav-links {
  border-color: var(--yfst-border) !important;
}
.post-navigation a,
.ast-pagination a,
.nav-links a {
  color: var(--yfst-gold) !important;
}

/* ========================================
   SIDEBAR
   ======================================== */
.sidebar-main,
#secondary,
.widget-area {
  background-color: var(--yfst-bg) !important;
}

.widget,
.widget-area .widget {
  background-color: var(--yfst-bg-light) !important;
  border: 1px solid var(--yfst-border) !important;
  border-radius: 0.5rem;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.widget-title,
.widget .widget-title {
  color: var(--yfst-white) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  border-bottom: 1px solid var(--yfst-border) !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1rem !important;
}

.widget a {
  color: var(--yfst-gold) !important;
}

/* ========================================
   BUTTONS
   ======================================== */
.ast-button,
.button,
button,
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.ast-custom-button {
  background-color: var(--yfst-gold) !important;
  color: var(--yfst-bg-deep) !important;
  border: none !important;
  border-radius: 0.5rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.ast-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background-color: var(--yfst-gold-light) !important;
  color: var(--yfst-bg-deep) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(212, 160, 52, 0.3) !important;
}

/* Outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--yfst-gold) !important;
  border: 2px solid var(--yfst-gold) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--yfst-gold) !important;
  color: var(--yfst-bg-deep) !important;
}

/* ========================================
   FORMS / INPUTS
   ======================================== */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
  background-color: var(--yfst-bg-light) !important;
  color: var(--yfst-text) !important;
  border: 1px solid var(--yfst-border-light) !important;
  border-radius: 0.5rem !important;
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--yfst-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(212, 160, 52, 0.2) !important;
}

::placeholder {
  color: var(--yfst-text-muted) !important;
}

/* ========================================
   WOOCOMMERCE
   ======================================== */
.woocommerce .products,
.woocommerce-page .products {
  background-color: transparent !important;
}

/* Product cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background-color: var(--yfst-bg-light) !important;
  border: 1px solid var(--yfst-border) !important;
  border-radius: 0.5rem !important;
  padding: 1rem !important;
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--yfst-gold) !important;
  transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  color: var(--yfst-white) !important;
  font-family: 'Fraunces', Georgia, serif !important;
}

.woocommerce ul.products li.product .price,
.woocommerce .price {
  color: var(--yfst-gold) !important;
  font-weight: 700 !important;
}

/* Cart */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
  background-color: var(--yfst-bg-light) !important;
  border-color: var(--yfst-border) !important;
}
.woocommerce table.shop_table th {
  color: var(--yfst-white) !important;
  background-color: var(--yfst-bg-mid) !important;
  border-color: var(--yfst-border) !important;
}
.woocommerce table.shop_table td {
  color: var(--yfst-text) !important;
  border-color: var(--yfst-border) !important;
}

/* Cart totals */
.woocommerce .cart-collaterals,
.woocommerce .cart_totals,
.woocommerce .cart_totals h2,
.woocommerce .cart_totals table,
.woocommerce .cart_totals th,
.woocommerce .cart_totals td,
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  background-color: var(--yfst-bg-light) !important;
  color: var(--yfst-text) !important;
  border-color: var(--yfst-border) !important;
}

.woocommerce .cart-collaterals {
  border: 1px solid var(--yfst-border) !important;
  border-radius: 0.5rem !important;
  padding: 1.5rem !important;
}

.woocommerce .cart_totals h2 {
  color: var(--yfst-white) !important;
  font-family: 'Fraunces', Georgia, serif !important;
}

.woocommerce .cart_totals .amount,
.woocommerce .cart_totals bdi {
  color: var(--yfst-gold) !important;
}

.woocommerce .cart_totals table tr th,
.woocommerce .cart_totals table tr td,
.woocommerce .cart_totals table,
.woocommerce .cart_totals table tbody,
.woocommerce .cart_totals table tr {
  background-color: var(--yfst-bg) !important;
}

/* Notices */
.woocommerce-info,
.woocommerce-message {
  background-color: var(--yfst-bg-light) !important;
  color: var(--yfst-text) !important;
  border-top-color: var(--yfst-gold) !important;
}
.woocommerce-info::before,
.woocommerce-message::before {
  color: var(--yfst-gold) !important;
}
.woocommerce-error {
  background-color: var(--yfst-bg-light) !important;
  color: #e57373 !important;
  border-top-color: #e57373 !important;
}

/* ========================================
   NAVBAR CTA FIX — must beat global a{color} rule
   ======================================== */
header.yfst-navbar a.yfst-nav-cta,
header.yfst-navbar a.yfst-nav-cta:link,
header.yfst-navbar a.yfst-nav-cta:visited,
header.yfst-navbar a.yfst-nav-cta:hover,
header.yfst-navbar a.yfst-nav-cta:focus,
header.yfst-navbar a.yfst-nav-cta:active {
  color: #0a1220 !important;
}
.yfst-mobile-nav a.yfst-nav-cta-mobile,
.yfst-mobile-nav a.yfst-nav-cta-mobile:link,
.yfst-mobile-nav a.yfst-nav-cta-mobile:visited,
.yfst-mobile-nav a.yfst-nav-cta-mobile:hover {
  color: #0a1220 !important;
}

/* ========================================
   EVENTBRITE / EVENTS
   ======================================== */

/* Event card container */
.eaw-events-list,
.eventbrite-widget,
.tribe-events,
.tribe-events-calendar {
  background-color: transparent !important;
  border: none !important;
}

/* Individual event cards */
.eaw-event-item,
.eaw-events-list > div {
  background-color: var(--yfst-bg-light) !important;
  color: var(--yfst-text) !important;
  border: 1px solid var(--yfst-border-light) !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

.eaw-event-item:hover {
  border-color: var(--yfst-gold) !important;
  transform: translateY(-2px);
}

/* Thumbnail */
.eaw-thumb-wrap {
  border-radius: 0.75rem 0.75rem 0 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.eaw-thumb-wrap img,
.eaw-thumb,
.eaw-img img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Content area */
.eaw-content-wrap {
  padding: 1.5rem 1.75rem !important;
  background-color: #ffffff !important;
}

/* Calendar date badge */
.eaw-calendar-date {
  background-color: var(--yfst-gold) !important;
  color: var(--yfst-bg-deep) !important;
  border-radius: 0.5rem !important;
  padding: 4px 10px !important;
  font-weight: 700 !important;
  display: inline-block !important;
}

.eaw-calendar-date-month {
  color: var(--yfst-bg-deep) !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
}

.eaw-calendar-date-day {
  color: var(--yfst-bg-deep) !important;
  font-weight: 700 !important;
  font-size: 1.3rem !important;
  line-height: 1.2 !important;
}

/* Event title */
.eaw-title,
.eaw-title a {
  color: #0f1a2e !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 1.1rem !important;
}

.eaw-title a:hover {
  color: var(--yfst-gold-dark) !important;
}

/* Time */
.eaw-time,
.eaw-time.published {
  color: #6b7a94 !important;
  font-size: 0.9rem !important;
}

/* Buttons area */
.eaw-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 1rem !important;
  gap: 0.75rem !important;
}

/* Details button */
button.eaw-button-details,
.eaw-buttons button.eaw-button-details {
  background: transparent !important;
  color: #0f1a2e !important;
  border: 1px solid rgba(15, 26, 46, 0.2) !important;
  border-radius: 0.5rem !important;
  padding: 8px 16px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

button.eaw-button-details:hover {
  border-color: #0f1a2e !important;
  background: rgba(15, 26, 46, 0.05) !important;
  color: #0f1a2e !important;
}

/* Content block text */
.eaw-content-block {
  padding: 0.5rem 0 !important;
}

.eaw-content-block h3,
.eaw-content-block .eaw-title {
  margin-bottom: 0.25rem !important;
}

/* Horizontal rules in events page */
.entry-content hr,
.page hr {
  border-color: var(--yfst-border) !important;
  opacity: 0.5;
}

/* Register / Book button — navy blue to match site background */
.wfea-button,
.wfea-button.button,
a.wfea-button,
a.wfea-button.button,
.eaw-booknow a,
.eaw-booknow a:link,
.eaw-booknow a:visited,
.eaw-booknow .wfea-button,
.eaw-booknow .button,
.eaw-buttons a.wfea-button,
.eaw-buttons a.button,
.eaw-buttons .wfea-button.button,
a.wfea-button[aria-label],
.wfea-button.book-now__link {
  background-color: #0f1a2e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.5rem !important;
  padding: 8px 20px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  width: auto !important;
  text-align: center !important;
}

.wfea-button:hover,
a.wfea-button:hover,
.eaw-booknow a:hover,
.eaw-booknow .wfea-button:hover,
.eaw-buttons a.wfea-button:hover,
a.wfea-button[aria-label]:hover {
  background-color: #1a2744 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(15, 26, 46, 0.4) !important;
  opacity: 1 !important;
}

/* Card details expandable area */
.eaw-card-details,
.eaw-summary {
  background-color: var(--yfst-bg-mid) !important;
  color: var(--yfst-text) !important;
  border: 1px solid var(--yfst-border) !important;
  border-radius: 0.5rem !important;
  padding: 1rem !important;
}

/* Separators / hr inside events */
.eaw-events-list hr,
.eaw-event-item hr {
  border-color: var(--yfst-border) !important;
}

/* ========================================
   FOOTER
   ======================================== */
.site-footer,
.ast-footer,
footer,
.ast-small-footer,
.ast-footer-overlay,
.below-footer-bar,
.ast-builder-footer-grid-columns,
.site-below-footer-wrap,
.site-primary-footer-wrap,
.site-above-footer-wrap {
  background-color: var(--yfst-bg-deep) !important;
  color: var(--yfst-text-muted) !important;
  border-top: 1px solid var(--yfst-border) !important;
}

.site-footer a,
.ast-footer a,
footer a,
.ast-small-footer a {
  color: var(--yfst-text-secondary) !important;
}
.site-footer a:hover,
footer a:hover {
  color: var(--yfst-gold) !important;
}

.ast-footer-copyright,
.ast-footer .ast-builder-html-element {
  color: var(--yfst-text-muted) !important;
}

/* ========================================
   COMMENTS
   ======================================== */
.comments-area,
.comment-respond {
  background-color: var(--yfst-bg-light) !important;
  border: 1px solid var(--yfst-border) !important;
  border-radius: 0.5rem !important;
  padding: 2rem !important;
}

.comment-author,
.comment-author a {
  color: var(--yfst-white) !important;
}

.comment-metadata a {
  color: var(--yfst-text-muted) !important;
}

/* ========================================
   BREADCRUMBS
   ======================================== */
.ast-breadcrumbs,
.trail-items a,
.trail-items span {
  color: var(--yfst-text-muted) !important;
}
.trail-items a:hover {
  color: var(--yfst-gold) !important;
}

/* ========================================
   SCROLL / MISC
   ======================================== */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--yfst-bg-deep);
}
::-webkit-scrollbar-thumb {
  background: var(--yfst-bg-mid);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--yfst-gold);
}

/* Block separator */
hr,
.wp-block-separator {
  border-color: var(--yfst-border) !important;
}

/* Images */
.entry-content img {
  border-radius: 0.5rem;
}

/* Search */
.search-form {
  background-color: var(--yfst-bg-light) !important;
}

/* Tables */
table, th, td {
  border-color: var(--yfst-border) !important;
}
th {
  background-color: var(--yfst-bg-mid) !important;
  color: var(--yfst-white) !important;
}

/* 404 / No results */
.no-results,
.not-found {
  background-color: var(--yfst-bg-light) !important;
  color: var(--yfst-text) !important;
}
