/*
 * Ringató - high-contrast / low-vision stylesheet
 * Loaded only when the visitor explicitly enables accessibility mode.
 * It is intentionally separate from main.css.
 */
:root {
  --color-primary: #ffd600 !important;
  --color-secondary: #ffffff !important;
  --ringato-dark: #ffffff !important;
}

html {
  font-size: 120% !important;
  scroll-behavior: auto !important;
}

body {
  background: #000 !important;
  color: #fff !important;
  line-height: 1.75 !important;
  letter-spacing: .01em;
}

body,
button,
input,
select,
textarea {
  font-family: Arial, Helvetica, sans-serif !important;
}

*,
*::before,
*::after {
  text-shadow: none !important;
}

*:focus-visible {
  outline: 4px solid #ffd600 !important;
  outline-offset: 4px !important;
}

a,
a:visited {
  color: #ffd600 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}

a:hover,
a:focus {
  color: #fff !important;
}

h1, h2, h3, h4, h5, h6,
p, li, span, label, strong, small,
.section-header h2,
.ringato-section-title h3,
.ringato-section-title h2 {
  color: inherit !important;
}

.header,
.ringato-sticky-header,
.ringato-sticky-header.header-scrolled {
  background: #000 !important;
  box-shadow: 0 0 0 2px #ffd600 !important;
}

.header .logo h1,
.ringato-sticky-header .logo h1,
.ringato-sticky-header .navbar > ul > li > a,
.ringato-sticky-header .navbar a span,
.ringato-sticky-header .mobile-nav-toggle,
.ringato-sticky-header .dropdown-indicator,
.ringato-sticky-header.header-scrolled .logo h1,
.ringato-sticky-header.header-scrolled .navbar > ul > li > a,
.ringato-sticky-header.header-scrolled .navbar a span,
.ringato-sticky-header.header-scrolled .mobile-nav-toggle,
.ringato-sticky-header.header-scrolled .dropdown-indicator {
  color: #fff !important;
}

.navbar ul,
.navbar .dropdown ul,
.ringato-sticky-header .navbar .dropdown ul {
  background: #000 !important;
  border: 2px solid #ffd600 !important;
  box-shadow: none !important;
}

.ringato-sticky-header .navbar .dropdown ul li > a,
.ringato-sticky-header .navbar .dropdown ul li > a span,
.ringato-sticky-header .navbar .dropdown ul a,
.ringato-sticky-header .navbar .dropdown ul .dropdown-indicator,
.ringato-sticky-header .navbar .dropdown ul i {
  color: #fff !important;
}

.ringato-sticky-header .navbar > ul > li > a:hover,
.ringato-sticky-header .navbar > ul > li:hover > a,
.ringato-sticky-header .navbar .ringato-menu-active,
.ringato-sticky-header.header-scrolled .navbar > ul > li > a:hover {
  color: #ffd600 !important;
}

section,
.section-bg,
.ringato-search-section,
.ringato-page-main,
.footer,
.footer-content,
.footer-legal {
  background: #000 !important;
  color: #fff !important;
}

.card,
.ringato-info-card,
.ringato-search-card,
.ringato-list-card,
.ringato-article-block,
.ringato-article-callout,
.ringato-course-fact,
.ringato-bemutatkozas-switch-card,
.ringato-location-item,
.ringato-social-card,
.ringato-contact-card {
  background: #050505 !important;
  color: #fff !important;
  border: 2px solid #ffd600 !important;
  box-shadow: none !important;
}

.title-accent,
.ringato-section-title::after,
.ringato-section-title h2::after,
.ringato-section-title h3::after {
  background: #ffd600 !important;
}

.btn,
button:not(.carousel-control-prev):not(.carousel-control-next):not(.mobile-nav-toggle),
.ringato-card-btn,
.btn-get-started {
  background: #ffd600 !important;
  border: 2px solid #ffd600 !important;
  color: #000 !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.btn:hover,
button:hover,
.ringato-card-btn:hover,
.btn-get-started:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}

input,
select,
textarea,
.form-control,
.form-select {
  background: #000 !important;
  color: #fff !important;
  border: 3px solid #ffd600 !important;
  min-height: 48px;
}

input::placeholder,
textarea::placeholder {
  color: #fff !important;
  opacity: 1 !important;
}

.ringato-pill,
.badge {
  background: #ffd600 !important;
  color: #000 !important;
  border: 1px solid #fff !important;
}

.hero,
#hero,
.hero .carousel,
.hero .carousel-item,
#hero-carousel .carousel-item {
  background-image: none !important;
  background-color: #000 !important;
}

.hero::before,
.hero::after,
.hero .info::before {
  background: #000 !important;
  opacity: 1 !important;
}

.hero h2,
.hero p,
.hero span,
.hero a:not(.btn-get-started),
.hero-updates-panel,
.hero-trademark-panel {
  color: #fff !important;
}

.hero-updates-panel,
.hero-trademark-panel,
.hero-trademark-frame {
  background: #000 !important;
  border: 2px solid #ffd600 !important;
  box-shadow: none !important;
}

img {
  max-width: 100%;
}

.ringato-course-description-fade {
  display: none !important;
}

[data-ringato-readmore] {
  max-height: none !important;
  overflow: visible !important;
}

.ringato-course-readmore-wrap {
  display: none !important;
}

[data-aos] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

* {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
  scroll-behavior: auto !important;
}

.ringato-accessibility-toggle,
.ringato-accessibility-toggle:hover,
.ringato-accessibility-toggle:focus {
  background: #ffd600 !important;
  border-color: #fff !important;
}

.ringato-accessibility-dot {
  background: #000 !important;
}

@media (max-width: 1279px) {
  .navbar {
    background: #000 !important;
  }
}

/* Robust contrast guard for content cards/feature blocks.
   No yellow text is allowed to sit on a white/light background in accessibility mode. */
body.ringato-accessibility-mode main,
body.ringato-accessibility-mode main section,
body.ringato-accessibility-mode .ringato-feature-section,
body.ringato-accessibility-mode .ringato-feature-card,
body.ringato-accessibility-mode .ringato-feature-title,
body.ringato-accessibility-mode .ringato-feature-layout,
body.ringato-accessibility-mode .ringato-feature-text,
body.ringato-accessibility-mode .ringato-feature-source,
body.ringato-accessibility-mode .ringato-trademark-block,
body.ringato-accessibility-mode .ringato-trademark-feature-aside,
body.ringato-accessibility-mode .ringato-trademark-feature-logo,
body.ringato-accessibility-mode .ringato-bemutatkozas-card,
body.ringato-accessibility-mode .ringato-bemutatkozas-content,
body.ringato-accessibility-mode .ringato-course-card,
body.ringato-accessibility-mode .ringato-course-card-body,
body.ringato-accessibility-mode .ringato-contact-card,
body.ringato-accessibility-mode .ringato-social-card {
  background-color: #000 !important;
  color: #fff !important;
  background-image: none !important;
}

body.ringato-accessibility-mode .ringato-feature-card,
body.ringato-accessibility-mode .ringato-trademark-block,
body.ringato-accessibility-mode .ringato-course-card,
body.ringato-accessibility-mode .ringato-contact-card,
body.ringato-accessibility-mode .ringato-social-card {
  border-color: #ffd600 !important;
  box-shadow: none !important;
}

body.ringato-accessibility-mode main h1,
body.ringato-accessibility-mode main h2,
body.ringato-accessibility-mode main h3,
body.ringato-accessibility-mode main h4,
body.ringato-accessibility-mode main h5,
body.ringato-accessibility-mode main h6,
body.ringato-accessibility-mode main p,
body.ringato-accessibility-mode main li,
body.ringato-accessibility-mode main label,
body.ringato-accessibility-mode main strong,
body.ringato-accessibility-mode main small,
body.ringato-accessibility-mode .ringato-feature-title h3,
body.ringato-accessibility-mode .ringato-feature-kicker,
body.ringato-accessibility-mode .ringato-trademark-block h4 {
  color: #fff !important;
}

body.ringato-accessibility-mode main a:not(.btn):not(.btn-get-started):not(.ringato-card-btn) {
  color: #ffd600 !important;
}

body.ringato-accessibility-mode .ringato-feature-title .title-accent,
body.ringato-accessibility-mode .title-accent {
  background-color: #ffd600 !important;
}

/* Modal remains consistently high contrast even while accessibility mode itself is active. */
body.ringato-accessibility-mode .ringato-accessibility-modal .modal-content,
body.ringato-accessibility-mode .ringato-accessibility-modal .modal-body {
  background: #000 !important;
  color: #fff !important;
}

body.ringato-accessibility-mode .ringato-accessibility-modal-title,
body.ringato-accessibility-mode .ringato-accessibility-modal-text {
  color: #fff !important;
}

body.ringato-accessibility-mode .ringato-accessibility-modal-yes {
  background: #ffd600 !important;
  color: #000 !important;
}

body.ringato-accessibility-mode .ringato-accessibility-modal-no {
  background: #fff !important;
  color: #000 !important;
}

/* Bootstrap/light-background safety net for accessibility mode. */
body.ringato-accessibility-mode .bg-light,
body.ringato-accessibility-mode .bg-white,
body.ringato-accessibility-mode .modal-content,
body.ringato-accessibility-mode .modal-header,
body.ringato-accessibility-mode .modal-footer,
body.ringato-accessibility-mode .list-group-item,
body.ringato-accessibility-mode .accordion-item,
body.ringato-accessibility-mode .accordion-body,
body.ringato-accessibility-mode .table,
body.ringato-accessibility-mode .table > :not(caption) > * > * {
  background-color: #000 !important;
  color: #fff !important;
}

body.ringato-accessibility-mode .text-muted,
body.ringato-accessibility-mode .text-secondary,
body.ringato-accessibility-mode .text-dark {
  color: #fff !important;
}

body.ringato-accessibility-mode .bg-warning,
body.ringato-accessibility-mode .bg-warning * {
  background-color: #ffd600 !important;
  color: #000 !important;
}

/* Some legacy readonly fields contain inline white background !important.
   Inline !important wins over the stylesheet, so keep those fields readable with black text. */
body.ringato-accessibility-mode input[style*="background: #FFFFFF"],
body.ringato-accessibility-mode input[style*="background:#FFFFFF"],
body.ringato-accessibility-mode input[style*="background: #fff"],
body.ringato-accessibility-mode input[style*="background:#fff"] {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}


/* ==============================================================
   Accessibility-mode contrast fixes for home-page counters
   and interaction semantics for the social-media block.
   ============================================================== */

body.ringato-accessibility-mode #why-us,
body.ringato-accessibility-mode #why-us .ringato-stats-section,
body.ringato-accessibility-mode #why-us .counters,
body.ringato-accessibility-mode #why-us .counter-box,
body.ringato-accessibility-mode #why-us .counter-row {
  background: #000 !important;
  color: #fff !important;
  background-image: none !important;
}

body.ringato-accessibility-mode #why-us .counter-box {
  border: 3px solid #ffd600 !important;
  box-shadow: none !important;
}

body.ringato-accessibility-mode #why-us .counter-box::before {
  background: #ffd600 !important;
}

body.ringato-accessibility-mode #why-us .counter-box-link {
  color: #fff !important;
  text-decoration: none !important;
}

body.ringato-accessibility-mode #why-us .counter-icon,
body.ringato-accessibility-mode #why-us .counter-box span.purecounter {
  color: #ffd600 !important;
  text-decoration: none !important;
}

body.ringato-accessibility-mode #why-us .counter-box p {
  color: #fff !important;
  text-decoration: none !important;
}

body.ringato-accessibility-mode #why-us .counter-box:hover,
body.ringato-accessibility-mode #why-us .counter-box-link:hover .counter-box,
body.ringato-accessibility-mode #why-us .counter-box-link:focus-visible .counter-box {
  background: #111 !important;
  border-color: #fff !important;
  transform: none !important;
}

/* Static informational rows must not acquire a hover state. */
body.ringato-accessibility-mode .ringato-facebook-section .ringato-social-article-static,
body.ringato-accessibility-mode .ringato-facebook-section .ringato-social-article-static:hover,
body.ringato-accessibility-mode .ringato-facebook-section .ringato-social-article-static:focus,
body.ringato-accessibility-mode .ringato-facebook-section .ringato-social-article-static:active {
  background: #000 !important;
  color: #fff !important;
  border: 2px solid #ffd600 !important;
  border-left: 5px solid #ffd600 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Spotify remains the one interactive row, with an unmistakable high-contrast hover/focus state. */
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:hover,
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:focus-visible {
  background: #ffd600 !important;
  color: #000 !important;
  border-color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:hover i,
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:hover h4,
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:hover p,
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:focus-visible i,
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:focus-visible h4,
body.ringato-accessibility-mode .ringato-facebook-section a.ringato-social-article-link:focus-visible p {
  color: #000 !important;
}
