/* ══════════════════════════════════════════════════
   TASHINA DANCE THEME v3 — Premium Overrides
   ══════════════════════════════════════════════════ */

html, body { overflow-x: hidden; max-width: 100%; }
*, *::before, *::after { box-sizing: border-box; }

body { color: #4a5568; }
a { color: #bf26d2; }
a:hover { color: #9e1eb0; filter: none; }
h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6 { color: #1a2233; }

/* ── HEADER — light premium ── */
.header,
.header.header--standard,
.header.header--fixed,
.header.sticky {
  background-color: #ffffff !important;
  border-bottom: 1px solid rgba(191,38,210,0.1) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.header a, .header a.link-list__link, .header .dropdown__trigger { color: #2c3e50 !important; font-weight: 600; }
.header a:hover, .header a.link-list__link:hover, .header .dropdown__trigger:hover { color: #bf26d2 !important; filter: none; }
.header .btn, .header .header__block--cta .btn, .header .header__block--cta a { background-color: #bf26d2 !important; color: #ffffff !important; border: none !important; border-radius: 6px !important; font-weight: 700 !important; font-size: 13px !important; padding: 9px 20px !important; box-shadow: 0 4px 16px rgba(191,38,210,0.3) !important; }
.header .btn:hover, .header .header__block--cta .btn:hover { opacity: 0.88 !important; filter: none !important; }
.hamburger__slice { background-color: #bf26d2 !important; }
.header__content--mobile { background-color: #ffffff !important; border-top: 1px solid rgba(191,38,210,0.12) !important; }
.header__content--mobile .link-list__link { color: #2c3e50 !important; }
.header__content--mobile .link-list__link:hover { color: #bf26d2 !important; }

.header .user__login a { color: #2c3e50 !important; font-size: 13px; font-weight: 600; opacity: 0.7; }
.header .user__login a:hover { opacity: 1; }
.header__container { min-height: 68px; }
.header .logo__image { max-height: 44px; width: auto; }

/* ── Global buttons ── */
.btn, .form-btn { background-color: #bf26d2 !important; border-color: #bf26d2 !important; color: #ffffff !important; border-radius: 6px !important; font-weight: 700; box-shadow: 0 4px 14px rgba(191,38,210,0.25) !important; min-height: 44px; font-size: 16px !important; }
.btn:hover, .form-btn:hover { background-color: #9e1eb0 !important; border-color: #9e1eb0 !important; filter: none !important; }

/* ── Forms ── */
.form-control { border-radius: 6px !important; border: 1px solid rgba(191,38,210,0.25) !important; margin-top: 0 !important; font-size: 16px !important; }
.form-control:focus { border-color: #bf26d2 !important; box-shadow: 0 0 0 3px rgba(191,38,210,0.12) !important; }
.form-group label { color: #4a5568 !important; font-weight: 600; font-size: 16px !important; }
.background-dark .form-group label { color: #ffffff !important; }

/* ── FOOTER ── */
.footer { background-color: #1a1030 !important; color: rgba(255,255,255,0.5) !important; }
.footer a, .footer .link-list__link { color: rgba(255,255,255,0.45) !important; }
.footer a:hover, .footer .link-list__link:hover { color: #ffffff !important; filter: none; }
.footer .logo__text { color: #ffffff !important; font-family: 'PT Serif', Georgia, serif; font-size: 20px; font-weight: 700; }
.footer::before { content: ''; display: block; height: 1px; background: linear-gradient(90deg, transparent, rgba(191,38,210,0.5), transparent); }
.footer__content { padding-top: 60px; }
.footer__container { border-bottom: 1px solid rgba(255,255,255,0.06); padding-bottom: 40px; }
.footer a.link-list__link { font-size: 15px; opacity: 0.65; padding: 7px 0; display: block; }
.footer a.link-list__link:hover { opacity: 1; }
.copyright { color: rgba(255,255,255,0.25) !important; font-size: 13px; padding: 20px 0 28px; }
.powered-by a { color: rgba(255,255,255,0.2) !important; font-size: 11px; }

/* ── Misc ── */
.progress__inner { background-color: #bf26d2; }
.accordion .accordion-title:after { color: #bf26d2; }
.pag__link--current { color: #bf26d2 !important; }
.waiting-loader .waiting-loader__spinner-path { stroke: #bf26d2; }

/* ── Accessibility — minimum text sizes ── */
p, li, td, th { font-size: 16px; }
.form-control, input, textarea, select { font-size: 16px !important; }

/* ── Dropdown arrow fix — replace broken font icon with CSS arrow ── */
.dropdown__icon,
.dropdown__icon.fa,
.dropdown__icon.fa-chevron-down {
  font-family: inherit !important;
  font-size: 0 !important;          /* hide broken square character */
  display: inline-block;
  width: 0; height: 0;
  vertical-align: middle;
  margin-left: 6px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  position: relative;
  top: 1px;
}
/* Rotate arrow when dropdown is open */
.dropdown.open .dropdown__icon,
.dropdown:hover .dropdown__icon {
  transform: rotate(180deg);
  top: -2px;
}
/* Also fix any ::before/::after font icon squares in nav */
.link-list__link::after,
.dropdown__trigger::after {
  font-family: inherit !important;
}
/* If Kajabi uses a data-icon square anywhere in nav */
.header [data-icon],
.header .fa:not(.fa-bars):not(.fa-times) {
  font-size: 0 !important;
}
.header .fa-chevron-down {
  font-size: 0 !important;
  display: inline-block;
  width: 0; height: 0;
  vertical-align: middle;
  margin-left: 5px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
}
