/* ── Font override: Poppins throughout ── */
:root {
  --eston-font: 'Poppins', sans-serif;
  --eston-font-two: 'Poppins', sans-serif;
  --eston-base: #FF1400; /* brand red override */
}

/* ── Hero right strip: push apart to prevent overlap ── */
.main-slider-two__social-box { top: 160px !important; right: 40px !important; overflow: visible; align-items: center; transform-origin: right center; }
.main-slider-two__contact-info { bottom: 160px !important; right: 40px !important; overflow: visible; white-space: nowrap; transform-origin: right center; }
.main-slider-two__contact-info a { font-size: 12px; }
.main-slider-two__social { margin-top: 0; }
/* Allow hero buttons to wrap on smaller screens */
.main-slider-two__btn-box { flex-wrap: wrap; gap: 10px; }
.main-slider-two__btn-two { margin-left: 0 !important; }

/* ── Footer bottom links: side by side, separated by |, not bold ── */
.site-footer-two__bottom-list { display: flex !important; align-items: center; gap: 0; }
.site-footer-two__bottom-list li { display: flex; align-items: center; }
.site-footer-two__bottom-list li + li::before { content: '|'; color: #ffff00; margin: 0 10px; font-weight: 400; }
.site-footer-two__bottom-list li a { font-weight: 400 !important; }

/* ── Counter icon: override absolute positioning so the badge centres properly ── */
.counter-one__icon { display: flex; justify-content: center; width: 100%; }
.counter-one__shape-1 { position: relative; top: auto; left: auto; transform: none; }
/* Centre the four stat items within the row */
.counter-one__count-list { justify-content: center; }


.counter-rotating-label {
  position: relative;
  overflow: hidden;
  height: 1.4em;
}
.counter-rotating-label span {
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  animation: counterRotate 6s infinite;
}
.counter-rotating-label span:nth-child(2) {
  animation-delay: -3s;
}
@keyframes counterRotate {
  0%, 40%  { opacity: 1; transform: translateY(0); }
  50%, 90% { opacity: 0; transform: translateY(-1.4em); }
  100%     { opacity: 1; transform: translateY(0); }
}

/* ── Services-two font icons ── */
.services-two__single { text-align: center; display: flex; flex-direction: column; align-items: center; }
.services-two__list li { align-items: flex-start; padding-top: 45px; }
.services-two__icon--font {
  display: flex !important;
  align-items: flex-end;
  justify-content: center;
  height: 72px;
  margin-bottom: 8px;
}
.services-two__icon--font span {
  font-size: 60px;
  color: var(--eston-black);
  transition: color 0.4s ease;
  display: block;
  line-height: 1;
}
/* Make the outline theater icon visually match the solid FA icons */
.services-two__icon--font .icon-theater {
  -webkit-text-stroke: 4px currentColor;
}
.services-two__icon--rotated {
  transform: rotate(90deg);
  display: inline-block !important;
}
.services-two__list li:hover .services-two__icon--font span {
  color: #fff;
}

/* ── Services circles: shrink to fit on small phones ── */
@media (max-width: 480px) {
  .services-two__list li {
    width: min(88vw, 300px) !important;
    height: min(88vw, 300px) !important;
    padding: 30px !important;
    align-items: center !important;
    padding-top: 30px !important;
  }
  .services-two__title {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin-top: 20px !important;
    margin-bottom: 12px !important;
  }
  .services-two__text {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .services-two__icon--font {
    height: 52px !important;
  }
  .services-two__icon--font span {
    font-size: 44px !important;
  }
}


.main-slider-two__bg,
.page-header__bg {
  filter: grayscale(1);
  transition: filter 0.5s ease;
}
.item:hover .main-slider-two__bg { filter: none; }
.page-header:hover .page-header__bg { filter: none; }

.about-three__img img,
.about-three__img-2 img,
.about-three__img-3 img,
.faq-one__img img,
.faq-one__img-2 img {
  filter: grayscale(1);
  transition: filter 0.5s ease;
  display: block;
  width: 100%;
}
.about-three__img:hover img,
.about-three__img-2:hover img,
.about-three__img-3:hover img,
.faq-one__img:hover img,
.faq-one__img-2:hover img { filter: none; }

/* ── Sliding text — black background, yellow text ── */
.sliding-text-three { background: #1a1a1a !important; }
.sliding-text-three .sliding-text__list a {
  color: #ffff00 !important;
  -webkit-text-stroke: 0 !important;
}

/* ── Contact form phone field — match existing input styling exactly ── */
.contact-one__input-box input[type="tel"] {
  height: 60px;
  width: 100%;
  border: none;
  background-color: var(--eston-white);
  padding-left: 30px;
  padding-right: 75px;
  outline: none;
  font-size: 14px;
  color: var(--eston-gray);
  display: block;
  font-weight: 400;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
}
.contact-one__input-box input[type="tel"]:focus {
  outline: none;
  box-shadow: none;
}


.main-menu-three__nav-sidebar-icon .icon-dots-menu {
  color: var(--eston-base);
  transition: color 0.3s ease;
}
.main-menu-three__nav-sidebar-icon:hover .icon-dots-menu {
  color: #ffff00;
}


.site-footer-two__bottom-list a { color: #ffff00 !important; }
.site-footer-two__bottom-list a:hover { color: #fff !important; }
.classes-section { padding: 100px 0; background: #1a1a1a; }
.classes-section .section-title__tagline { color: #ffff00; }
.classes-section .section-title__title { color: #ffff00; }
.classes-section .section-title__title-box p {
  color: #aaa;
  position: static;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  margin-top: 8px;
}
.classes-section__card-title { color: #ffff00 !important; }

.classes-section__card {
  background: #111;
  border-left: 4px solid var(--eston-base);
  padding: 40px 36px;
  height: 100%;
  margin-bottom: 30px;
}
.classes-section__card-title {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
}
.classes-section__card-subtitle {
  color: var(--eston-base);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 16px;
}
.classes-section__card-text {
  color: #aaa;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 14px;
}
.classes-section__location {
  margin: 22px 0;
  padding-top: 20px;
  border-top: 1px solid #2a2a2a;
}
.classes-section__location-title {
  color: var(--eston-base);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}
.classes-section__times {
  color: #ccc;
  padding-left: 18px;
  margin-bottom: 8px;
  font-size: 14px;
}
.classes-section__times li { margin-bottom: 4px; }
.classes-section__term {
  color: #666;
  font-size: 12.5px;
  font-style: italic;
}
.classes-section__btns {
  margin-top: 28px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.classes-section__card--payg {
  height: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-left-color: #ffff00;
}
.classes-section__card--payg .classes-section__card-text { max-width: 760px; margin-bottom: 0; }
.classes-section__card--payg .classes-section__btn { flex-shrink: 0; border: 0; }

body.payg-modal-open,
body.exit-modal-open { overflow: hidden; }
.payg-modal[hidden] { display: none; }
.payg-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.payg-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.82); }
.payg-modal__panel {
  position: relative;
  width: min(620px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  background: #111;
  border-top: 4px solid #ffff00;
  padding: 42px;
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.5);
}
.payg-modal__close {
  position: absolute;
  top: 12px;
  right: 15px;
  border: 0;
  background: transparent;
  color: #aaa;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.payg-modal__close:hover { color: #fff; }
.payg-modal__eyebrow { color: var(--eston-base); font-size: 12px; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; }
.payg-modal__title { color: #ffff00; font-size: 28px; margin-bottom: 24px; }
.payg-modal__prices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #333;
  margin-bottom: 22px;
}
.payg-modal__prices div { padding: 18px 14px; border-right: 1px solid #333; }
.payg-modal__prices div:last-child { border-right: 0; }
.payg-modal__prices strong,
.payg-modal__prices span { display: block; }
.payg-modal__prices strong { color: #fff; font-size: 18px; }
.payg-modal__prices span { color: #888; font-size: 11px; line-height: 1.45; margin-top: 4px; }
.payg-modal__text { color: #aaa; margin-bottom: 22px; }
.payg-modal__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.payg-modal__actions .thm-btn { flex: 1; justify-content: center; min-width: 220px; }

/* Exit-intent modal — white theme */
#exitIntentModal .payg-modal__panel { background: #fff; border-top-color: var(--eston-base); }
#exitIntentModal .payg-modal__close { color: #999; border: 0; outline: none; box-shadow: none; }
#exitIntentModal .payg-modal__close:hover { color: #111; }
#exitIntentModal .payg-modal__title { color: #111; }
#exitIntentModal .payg-modal__text { color: #555; }
#exitIntentModal .trial-form { background: #f7f7f7; border-left-color: var(--eston-base); }
#exitIntentModal .trial-form__label { color: #333; }
#exitIntentModal .trial-form__input { background: #fff; border-color: #ddd; color: #111; }
#exitIntentModal .trial-form__radio-label { color: #444; }
#exitIntentModal .trial-form__radio-label input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #000;
  background: #fff;
  accent-color: initial;
}
#exitIntentModal .trial-form__radio-label input[type="radio"]:checked {
  background: #ffff00;
}

/* ── Trial Registration Section ── */
.trial-section {
  padding: 100px 0;
  background: #111;
}
.trial-section .section-title__tagline { color: #ffff00; }
.trial-section .section-title__title   { color: #ffff00; }
.trial-section__intro {
  color: #aaa;
  font-size: 15px;
  line-height: 1.7;
  margin-top: 8px;
}
.trial-section__form-wrap {
  background: #1a1a1a;
  border-left: 4px solid var(--eston-base);
  padding: 44px 40px;
  margin-top: 40px;
}
.trial-form__group {
  margin-bottom: 26px;
}
.trial-form__label {
  display: block;
  color: #ccc;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
}
.trial-form__req { color: var(--eston-base); }
.trial-form__note {
  color: #666;
  font-size: 12px;
  font-weight: 400;
}
.trial-form__input,
.trial-form__textarea {
  width: 100%;
  background: #111;
  border: 1px solid #2a2a2a;
  color: #ccc;
  font-size: 14px;
  font-family: var(--eston-font);
  padding: 14px 18px;
  outline: none;
  transition: border-color 0.3s;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
.trial-form__input:focus,
.trial-form__textarea:focus {
  border-color: var(--eston-base);
}
.trial-form__textarea { resize: vertical; }
.trial-form__radio-group,
.trial-form__checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trial-form__radio-label,
.trial-form__checkbox-label {
  color: #aaa;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}
.trial-form__radio-label input,
.trial-form__checkbox-label input {
  accent-color: var(--eston-base);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.trial-form__checkbox-label--sold { color: #666; cursor: not-allowed; }
.trial-form__checkbox-label--sold span {
  background: #555;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 7px;
  text-transform: uppercase;
}
.trial-form__submit-wrap { margin-top: 10px; }
.trial-form__btn { width: 100%; justify-content: center; }
.trial-form__result { margin-top: 20px; }
.trial-form__result .success { color: #4caf50; font-size: 15px; }
.trial-form__result .error   { color: var(--eston-base); font-size: 15px; }

/* Payment confirmation block */
.trial-section__payment { margin-top: 10px; }
.trial-section__payment-inner {
  background: #111;
  border: 2px solid var(--eston-base);
  padding: 40px;
  text-align: center;
}
.trial-section__payment-title {
  color: #ffff00;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
}
.trial-section__payment-text {
  color: #aaa;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 28px;
}
.trial-section__payment-btn { display: inline-flex; }

@media (max-width: 575px) {
  .classes-section__card--payg { align-items: flex-start; flex-direction: column; }
  .payg-modal__panel { padding: 38px 22px 24px; }
  .payg-modal__prices { grid-template-columns: 1fr; }
  .payg-modal__prices div { border-right: 0; border-bottom: 1px solid #333; }
  .payg-modal__prices div:last-child { border-bottom: 0; }
  .payg-modal__actions { flex-direction: column; }
  .payg-modal__actions .thm-btn { width: 100%; min-width: 0; }
  .trial-section__form-wrap { padding: 30px 20px; }
  .trial-section__payment-inner { padding: 30px 20px; }
}

