@import url('./styles-base.css');
@import url('./styles-footer.css');
@import url('./styles-course-programme.css');
@import url('./styles-course-detail.css');
@import url('./styles-course-english.css');
@import url('./styles-estonian-language.css');
@import url('./styles-course-dock.css');
@import url('./styles-course-carousel.css');
@import url('./styles-course-finder.css');
@import url('./styles-course-child-carer.css');
@import url('./styles-course-support.css');
@import url('./styles-course-care.css');
@import url('./styles-course-labour.css');
@import url('./styles-course-entrepreneur.css');
@import url('./styles-course-motion.css');
@import url('./styles-course-law-basics.css');
@import url('./styles-course-cleaning.css');
@import url('./styles-course-cook.css');
@import url('./styles-responsive.css');
@import url('./styles-admin.css');
@import url('./styles-about-history.css');
@import url('./styles-team.css');
@import url('./styles-new-project.css');
@import url('./styles-gallery.css');
@import url('./styles-schedule.css');
@import url('./styles-schedule-highlight.css');
@import url('./styles-contact.css');
@import url('./styles-regulations.css');
@import url('./styles-quality.css');
@import url('./styles-course-teachers.css');
@import url('./styles-download-modal.css');
@import url('./styles-site-text-editor.css');

/* Reliable country flags for the language switcher. These CSS flags remain visible even when emoji flags are not rendered by the browser. */
.sici-flag {
  display: inline-block;
  width: 1.35rem;
  height: 0.9rem;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
  vertical-align: middle;
}

.sici-flag-et {
  background: linear-gradient(to bottom, #0072ce 0 33.33%, #000 33.33% 66.66%, #fff 66.66%);
}

.sici-flag-ru {
  background: linear-gradient(to bottom, #fff 0 33.33%, #0039a6 33.33% 66.66%, #d52b1e 66.66%);
}

.sici-flag-en {
  /* Crisp, classic Union Jack built as a vector so it stays recognizable at small sizes. */
  background-color: #012169;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0h8l52 26v4h-8L0 4zM60 0h-8L0 26v4h8L60 4z' fill='%23fff'/%3E%3Cpath d='M0 0h4l56 28v2h-4L0 2zM60 0h-4L0 28v2h4L60 2z' fill='%23c8102e'/%3E%3Cpath d='M24 0h12v9h24v12H36v9H24v-9H0V9h24z' fill='%23fff'/%3E%3Cpath d='M27 0h6v12h27v6H33v12h-6V18H0v-6h27z' fill='%23c8102e'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#languageToggleBtn .sici-flag {
  width: 1.2rem;
  height: 0.8rem;
}

/* Main navigation: simple, direct, and visibly interactive. */
.sici-main-nav a {
  position: relative;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.8rem;
  color: #fff !important;
  border-radius: 0.7rem;
  transition: color 180ms ease, background-color 180ms ease;
}

.sici-main-nav a::after {
  content: "";
  position: absolute;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.25rem;
  height: 2px;
  background: #f7931e;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
}

.sici-main-nav a:hover,
.sici-main-nav a:focus-visible {
  color: #f7931e !important;
  background: rgba(255, 255, 255, 0.08);
  outline: none;
}

.sici-main-nav a:hover::after,
.sici-main-nav a:focus-visible::after {
  transform: scaleX(1);
}

/* All available languages stay visible as flag-only controls. */
.sici-header-languages,
.sici-mobile-language-options {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.sici-header-language,
.sici-mobile-language-options .sici-header-language {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0.65rem;
  background: transparent;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.sici-header-language:hover,
.sici-header-language:focus-visible,
.sici-header-language.is-selected {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.55);
  outline: none;
  transform: translateY(-1px);
}

.sici-header-language.is-selected {
  box-shadow: 0 0 0 2px rgba(247, 147, 30, 0.45);
}

.sici-mobile-language-title {
  margin: 0 0 0.5rem;
  color: rgba(255,255,255,.72);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 1023px) {
  .sici-header-languages { display: none; }
}

/* About submenu: visible and keyboard accessible without hiding the main link. */
.sici-nav-group { position: relative; }
.sici-nav-group > summary,
.sici-mobile-nav-group > summary {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  padding: .55rem .8rem;
  color: #fff;
  border-radius: .7rem;
  cursor: pointer;
  list-style: none;
  position: relative;
}
.sici-nav-group > summary::-webkit-details-marker,
.sici-mobile-nav-group > summary::-webkit-details-marker { display: none; }
.sici-nav-group > summary::after {
  content: "";
  position: absolute;
  left: .8rem;
  right: .8rem;
  bottom: .25rem;
  height: 2px;
  background: #f7931e;
  transform: scaleX(0);
  transition: transform 180ms ease;
}
.sici-nav-group:hover > summary,
.sici-nav-group > summary:focus-visible { color: #f7931e; background: rgba(255,255,255,.08); outline: none; }
.sici-nav-group:hover > summary::after,
.sici-nav-group > summary:focus-visible::after { transform: scaleX(1); }
.sici-nav-submenu { position: absolute; top: calc(100% + .35rem); left: 0; min-width: 12rem; padding: .45rem; background: #131c4d; border: 1px solid rgba(255,255,255,.16); border-radius: .9rem; box-shadow: 0 14px 28px rgba(0,0,0,.25); }
.sici-nav-submenu a { display: flex !important; width: 100%; }
.sici-mobile-nav-group { display: block; border-bottom: 1px solid rgba(255,255,255,.1); }
.sici-mobile-nav-group > summary { width: 100%; justify-content: space-between; padding: .9rem 1rem; }
.sici-mobile-nav-group > summary::after { content: "+"; font-size: 1.2rem; color: #f7931e; }
.sici-mobile-nav-group[open] > summary::after { content: "−"; }
.sici-mobile-submenu { padding: 0 0 .45rem 1rem; }
.sici-mobile-submenu a { padding-left: 1.25rem !important; font-size: .92rem; color: rgba(255,255,255,.82) !important; }

/* Keep the current page visible while the next locale catalog loads. A white
   full-page mask looked like a one-second flash on real devices. The requested
   language gets a quiet border instead; controls stay usable so a later choice
   can replace an in-flight request. */
body.sici-language-switching,
body.sici-language-switching .sici-header-language {
  cursor: progress;
}

html[data-language-pending="et"] .sici-header-language[data-lang="et"],
html[data-language-pending="ru"] .sici-header-language[data-lang="ru"],
html[data-language-pending="en"] .sici-header-language[data-lang="en"] {
  border-color: #f7931e;
  box-shadow: 0 0 0 2px rgba(247, 147, 30, 0.35);
}

/* Keep the registration callout exactly aligned with the constrained homepage sections above. */
.registration-callout-shell {
  box-sizing: border-box;
  width: min(100%, 80rem);
  max-width: none;
}

@media (max-width: 767px) {
  .registration-callout-shell {
    width: calc(100% - 1rem);
  }
}

/* Optional content blocks supplied by the Firebase page editor. */
.cms-page-intro,
.cms-page-body {
  max-width: 860px;
  margin: 1rem auto;
  padding: 0 1.25rem;
  color: #667089;
  line-height: 1.7;
  white-space: pre-line;
}
.cms-page-body {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e6e9f2;
}
