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

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 12px rgba(0,0,0,0.05) !important;
}

/* Container */
.header__container {
  min-height: 68px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* All nav links */
.header a,
.header a.link-list__link,
.header .dropdown__trigger {
  color: #2c3e50 !important;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.2px;
}
.header a:hover,
.header a.link-list__link:hover,
.header .dropdown__trigger:hover {
  color: #bf26d2 !important;
  filter: none;
}

/* Kill any flex stretch on nav blocks */
.header .header__block {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
}
.header .header__block--user { margin-left: auto !important; }
.header__content--desktop .container.header__container {
  justify-content: flex-start !important;
  gap: 4px !important;
}

/* Logo */
.header .logo__image { max-height: 44px; width: auto; }
.header .logo__text {
  font-family: 'PT Serif', Georgia, serif;
  font-size: 20px; font-weight: 700;
}

/* Nav link padding */
.header a.link-list__link { padding: 6px 12px; }
.header .dropdown__trigger { padding: 6px 12px; }

/* CTA button in header */
.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 { opacity: 0.88 !important; filter: none !important; }

/* User login */
.header .user__login a {
  color: #2c3e50 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  opacity: 0.65;
}
.header .user__login a:hover { opacity: 1; color: #bf26d2 !important; }

/* ── DROPDOWN DESKTOP ───────────────────────────────────── */
.header .dropdown__menu {
  background: #ffffff !important;
  border: 1px solid rgba(191,38,210,0.15) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12) !important;
  padding: 8px 0 !important;
  min-width: 190px;
  margin-top: 4px;
  overflow: hidden;
}
.header .dropdown__item a {
  color: #2c3e50 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  display: block;
  transition: color 0.15s, background 0.15s;
  border-left: 2px solid transparent;
}
.header .dropdown__item a:hover {
  color: #bf26d2 !important;
  background: rgba(191,38,210,0.05) !important;
  border-left-color: #bf26d2 !important;
}

/* Dropdown arrow — pure CSS, no font needed */
.dropdown__icon,
.dropdown__icon.fa,
.dropdown__icon.fa-chevron-down {
  font-family: inherit !important;
  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;
  position: relative; top: 1px;
  transition: transform 0.2s;
}
.dropdown.open .dropdown__icon,
.dropdown:hover .dropdown__icon {
  transform: rotate(180deg);
  top: -2px;
}
.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;
}

/* ── MOBILE HEADER ──────────────────────────────────────── */
.hamburger__slice { background-color: #bf26d2 !important; }

.header__content--mobile {
  background-color: #ffffff !important;
  border-top: 1px solid rgba(191,38,210,0.1) !important;
  padding: 8px 0 !important;
}

/* Mobile nav links */
.header__content--mobile .link-list__link,
.header__content--mobile a.link-list__link {
  color: #2c3e50 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 13px 20px !important;
  display: block;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}
.header__content--mobile .link-list__link:hover {
  color: #bf26d2 !important;
  background: rgba(191,38,210,0.04);
}

/* Mobile dropdown trigger */
.header__content--mobile .dropdown__trigger {
  color: #2c3e50 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 13px 20px !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  width: 100%;
}

/* Mobile dropdown sub-items */
.header__content--mobile .dropdown__menu {
  background: rgba(191,38,210,0.04) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.header__content--mobile .dropdown__item a {
  color: #555 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 11px 20px 11px 36px !important;
  border-left: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.04) !important;
}
.header__content--mobile .dropdown__item a:hover {
  color: #bf26d2 !important;
  background: rgba(191,38,210,0.06) !important;
}

/* ══ 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: #0f0a1a !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;
}
/* Hide old footer block structure — our custom HTML takes over */
.footer .footer__content { display: none !important; }
.footer .td-footer-wrap { display: block !important; }

/* ══ 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; }
p, li, td, th { font-size: 16px; }
