/* UniGames navigation: one selection language, adapted to city, formula and
 * content tabs. Existing Webflow tabs and pricing calculations remain owners
 * of their state; this stylesheet only presents the controls and their focus. */
.w-tab-menu.ug-tabs {
  --ug-tab-ink: #17333d;
  --ug-tab-blue: #0878b0;
  --ug-tab-line: #d6e3e6;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
  gap: 6px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 auto 28px;
  padding: 5px;
  border: 1px solid var(--ug-tab-line);
  border-radius: 12px;
  background: #f4f8f9;
  font-family: Inter, sans-serif;
  box-shadow: none;
}

.w-tab-menu.ug-tabs::before,
.w-tab-menu.ug-tabs::after { display: none; }

.ug-tabs.w-tab-menu > .w-tab-link {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  min-height: 48px;
  max-width: none;
  margin: 0;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ug-tab-ink);
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  box-shadow: none;
  transition: none;
  -webkit-tap-highlight-color: #cce8f3;
}

.ug-tabs.w-tab-menu > .w-tab-link :is(div, p, h3) {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: normal;
}

.ug-tabs.w-tab-menu > .w-tab-link p { margin: 0; }
.ug-tabs.w-tab-menu > .w-tab-link:hover { background: #e3eef2; }
.ug-tabs.w-tab-menu > .w-tab-link.w--current {
  background: #fff;
  border-color: #a6c8d5;
  color: #07628f;
}
.ug-tabs.w-tab-menu > .w-tab-link.w--current::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--ug-tab-blue);
}
.ug-tabs.w-tab-menu > .w-tab-link:focus-visible,
.ug-tabs.w-tab-menu > .w-tab-link[data-wf-focus-visible] {
  outline: 2px solid #0878b0;
  outline-offset: 3px;
  z-index: 1;
}

.w-tab-menu.ug-tabs--cities {
  width: min(100%, 550px);
  margin-bottom: 32px;
}
.ug-tabs--cities.w-tab-menu > .w-tab-link.w--current {
  border-color: #0878b0;
  background: #0878b0;
  color: #fff;
}
.ug-tabs--cities.w-tab-menu > .w-tab-link.w--current::after { background: #91e2c9; }

.w-tab-menu.ug-tabs--formulas { margin-bottom: 22px; }
.w-tab-menu.ug-tabs--partners { gap: 6px; padding: 8px; }
.ug-tabs--partners.w-tab-menu > .w-tab-link { flex: 1 1 170px; font-size: 14px; }
.ug-tabs :is(.tab-link-loader, .tab-progress-bar-base) { display: none; }
.ug-tabs :is(.tab-link-inner, .tab-link-inner-wrapper, .tab-link-content, .tab-link-text) { width: 100%; gap: 0; }

.ug-tabs--details.w-tab-menu > .w-tab-link { align-items: flex-start; text-align: left; }
.ug-tabs--details.w-tab-menu > .w-tab-link .paragraph-small-27 {
  margin-top: 6px;
  color: #49616a;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}
.w-tab-menu.ug-tabs--details { margin-top: 24px; }

/* Photo selectors originally used a whole paragraph and an empty progress
 * track as tabs. JS keeps the paragraph outside two clearly named controls. */
.w-tab-menu.ug-tabs--photos:not([data-ug-ready]) { border: 0; padding: 0; background: none; }
.w-tab-menu.ug-tabs--photos[data-ug-ready] { width: min(100%, 300px); margin: 12px 0 0; }
.ug-tabs-intro { color: #49616a; font-family: Inter, sans-serif; font-size: 15px; line-height: 1.65; }
.ug-tabs-intro p { color: inherit; font-size: inherit; line-height: inherit; }

/* Location tabs keep their useful addresses, instead of squeezing them into
 * a horizontal strip. The duplicate logos are decorative here. */
.w-tab-menu.ug-tabs--locations { flex-direction: column; align-self: start; }
.ug-tabs--locations.w-tab-menu > .w-tab-link { flex: 0 0 auto; height: auto; align-items: flex-start; justify-content: flex-start; text-align: left; padding: 16px; }
.ug-tabs--locations > .w-tab-link > img { display: none; }
.ug-tabs--locations .contact11_text-wrapper { width: 100%; min-width: 0; }
.ug-tabs--locations.w-tab-menu > .w-tab-link h3 { margin: 0 0 6px; font-size: 17px; font-weight: 700; }
.ug-tabs--locations.w-tab-menu > .w-tab-link p { font-size: 13px; font-weight: 400; color: #49616a; line-height: 1.5; }
.ug-location-link { align-self: flex-start; padding-block: 12px; color: #07628f; text-underline-offset: 3px; }
.ug-location-link:focus-visible { outline: 2px solid #0878b0; outline-offset: 3px; }

/* Keep the booking tabs within the viewport, including the legacy tablet
 * min-width on their surrounding gallery container. */
#tabPrices, #tabPrices > .w-tab-content { width: 100%; min-width: 0; max-width: 100%; }
#tabPrices > .w-tab-content > .w-tab-pane,
#tabPrices .container-large-6,
#tabPrices :is(.column-small-3, .column-x-small-2) { min-width: 0; max-width: 100%; }
#tabPrices .ug-tabs--formulas { scroll-margin-top: 105px; }
#tabPrices .ug-tabs--formulas + .w-tab-content { margin-top: 0; }
#tabPrices .pricing-direct-classique { padding-top: 0; }

.ug-period-enhancement[hidden] { display: none; }
.cf-pricing-toggle-header-wrapper-11.ug-period-ready { display: block; width: 100%; }
.ug-period-ready > :is(.cf-pricing-header-wrapper-12, .cf-toggle-row-12) { display: none !important; }
.ug-period-enhancement { font-family: Inter, sans-serif; color: #17333d; }
.ug-period {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.ug-period legend { margin-bottom: 12px; padding: 0; color: #17333d; font-size: 17px; font-weight: 700; line-height: 1.4; }
.ug-period-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ug-period-choice {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 78px;
  margin: 0;
  padding: 16px;
  border: 1px solid #cbdce2;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.ug-period-choice:hover { border-color: #0878b0; background: #f4fafd; }
.ug-period-choice:has(input:checked) { border-color: #0878b0; background: #eef7fc; }
.ug-period-choice:focus-within { outline: 2px solid #0878b0; outline-offset: 3px; }
.ug-period-choice input { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: #0878b0; }
.ug-period-choice strong { display: block; font-size: 15px; font-weight: 650; line-height: 1.4; }
.ug-period-choice small { display: block; margin-top: 4px; color: #49616a; font-size: 13px; font-weight: 400; line-height: 1.45; }
.ug-period-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; }
.ug-student-offer { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; border-radius: 8px; background: #edf8f1; color: #245d47; }
.ug-student-offer > strong { flex: 0 0 auto; font-size: 20px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ug-student-offer span { font-size: 12px; line-height: 1.45; }
.ug-student-offer b { display: block; font-size: 13px; font-weight: 600; }
.ug-period-status { flex: 0 0 auto; margin: 0; color: #49616a; font-size: 12px; line-height: 1.5; }
.ug-period-ready + .cf-pricing-box-wrapper-11 { margin-top: 24px; }

@media (max-width: 991px) {
  .w-tab-menu.ug-tabs { gap: 5px; }
  .ug-tabs.w-tab-menu > .w-tab-link { padding: 12px; }
  .ug-tabs--details.w-tab-menu > .w-tab-link { flex-basis: calc(50% - 5px); }
  .contact11_tabs:has(> .ug-tabs--locations) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
  .ug-tabs.w-tab-menu > .w-tab-link { font-size: 14px; padding: 12px 10px; }
  .ug-tabs--formulas.w-tab-menu > .w-tab-link { flex-basis: calc(50% - 5px); }
  .ug-tabs--topics.w-tab-menu > .w-tab-link { flex-basis: 120px; }
  .ug-tabs--partners.w-tab-menu > .w-tab-link { flex-basis: calc(50% - 6px); font-size: 13px; }
  .ug-tabs--details.w-tab-menu > .w-tab-link { flex-basis: 100%; }
  .ug-period-choices { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .ug-period-choice { min-height: 74px; padding: 14px; }
  .ug-period-meta { flex-direction: column; align-items: stretch; gap: 10px; }
  .ug-period-status { text-align: right; }
  #tabPrices .cf-features-4-tabs-wrapper-3 { width: 100%; }
}
