/* Mobile behaviour for the native header and the source-faithful Wix homepage. */
@media screen and (max-width: 959px) {

  /* Protect Header from expanding offscreen */
  .site-header {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .site-header__inner {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .site-nav {
    align-items: flex-start !important;
    padding: clamp(180px, 23vh, 260px) 24px 80px !important;
    background: #000 !important;
  }

  .site-nav__list {
    width: 100% !important;
    max-width: 620px !important;
  }

  .site-nav .site-nav__item {
    min-height: 62px;
    border-bottom: 0 !important;
  }

  .site-nav .site-nav__link {
    padding: 12px 0 !important;
    font-size: clamp(22px, 5vw, 36px) !important;
    font-weight: 300 !important;
    line-height: 1.15 !important;
  }

  .site-nav .submenu-toggle {
    margin-left: auto;
  }

  .site-header:has(.site-nav.is-open) .site-logo,
  .site-header:has(.site-nav.is-open) .header-social {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .agency-mobile-catalog-header { display: none; }
  .kids-mobile-hero { display: none; }
  html,
  body {
    max-width: 100%;
    overflow-x: clip !important;
  }

  /* The mirrored Wix shell pins its root to the viewport. On a narrow screen
     that leaves the rendered page tall, but the document itself only one
     viewport high, so everything below the fold becomes unreachable. */
  html:has(body.home),
  body.home {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: visible !important;
  }

  body.home #SITE_CONTAINER,
  body.home #site-root,
  body.home #masterPage,
  body.home #PAGES_CONTAINER,
  body.home #SITE_PAGES,
  body.home #SITE_PAGES_TRANSITION_GROUP {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow-y: visible !important;
  }

  /* ══════════════════════════════════════════════════════════════
     UNIVERSAL CONTAINER RESET – applies to EVERY page
     Forces all Wix structural wrappers to respect the viewport.
     ══════════════════════════════════════════════════════════════ */
  #site-root,
  #masterPage,
  #PAGES_CONTAINER,
  #SITE_PAGES,
  #SITE_PAGES_TRANSITION_GROUP,
  #SITE_CONTAINER,
  [id^="Container"],
  [id^="pageBackground_"] {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  /* Wix sections often carry min-width:980px inline – override globally */
  .wixui-section,
  .wixui-column-strip,
  .Le88gL,
  .CeUMmm {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  /* Background layers should never exceed viewport */
  .QG9w8P,
  .ROWgFb,
  .LNYVZi,
  .WnIl2C,
  .ayCf9D,
  .ktMZav,
  .V9k0ll,
  .etSQ9j,
  [id^="bgLayers_"],
  [id^="bgMedia_"] {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
  }

  /* Kids school teachers slider – allow horizontal scroll inside container */
  .teachers-slider {
    overflow-x: auto !important;
    max-width: 100vw !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Decorative layers must not swallow taps intended for hero links/images. */
  .tours-mobile__hero-shade {
    pointer-events: none;
  }

  /* Preserve the visual label size while giving narrow-screen text links a
     finger-sized hit area. */
  body.home #SITE_CONTAINER a[href],
  body.page-id-9 a[href] {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center;
  }

  body.page-id-9 button,
  body.page-id-9 [role="button"] {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  /* Model profile page – #SITE_CONTAINER still 980px because
     .has-generated-model-profile is added by JS; ensure containers
     are always capped regardless */
  .JJb9Mt,
  .pTvOx2,
  .i0StQr,
  .wH18kY {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    left: 0 !important;
    right: auto !important;
  }

  .site-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
    padding-top: env(safe-area-inset-top);
    transform: translateY(0);
    transition: transform 260ms cubic-bezier(.2,.8,.2,1), box-shadow 260ms ease;
    will-change: transform;
  }

  .site-header.site-header--hidden:not(:has(.site-nav.is-open)) {
    transform: translateY(calc(-100% - env(safe-area-inset-top))) !important;
  }

  body > #main-content,
  body > main:first-of-type {
    margin-top: var(--header-height, 110px) !important;
  }

  .site-header__inner {
    position: relative;
    display: flex !important;
    width: calc(100% - 32px);
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
  }

  .site-logo {
    position: static;
    margin: 0;
    transform: none;
  }

  .site-logo,
  .site-logo__mark {
    width: auto;
    height: 42px !important;
  }

  .site-footer a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  .wixui-button {
    min-height: 44px !important;
  }

  .journal-meta a,
  .journal-read-link,
  .journal-back,
  .post-card .text-link {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center;
  }

  body.page-id-8 .v1smN8,
  body.page-id-271 .v1smN8 {
    box-sizing: content-box !important;
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
    min-height: 6px !important;
    padding: 9px !important;
    background-clip: content-box !important;
  }

  .menu-toggle {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
  }

  form button,
  button[data-testid="buttonElement"],
  [data-hook="overlay-play-button"],
  [data-hook="next-button"] {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .site-nav {
    align-items: flex-start;
    justify-content: flex-start;
    padding: calc(104px + env(safe-area-inset-top)) 24px calc(96px + env(safe-area-inset-bottom));
    background: rgba(0, 0, 0, 0.98) !important;
  }

  .site-nav__list {
    width: 100%;
    max-width: 460px;
    margin-inline: auto;
  }

  .site-nav__link {
    min-height: 52px;
    font-size: clamp(20px, 6vw, 27px) !important;
  }

  .header-social {
    position: fixed;
    bottom: calc(24px + env(safe-area-inset-bottom));
    left: 50%;
    z-index: 1005;
    display: flex !important;
    gap: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%);
  }

  .site-header:has(.site-nav.is-open) .header-social {
    opacity: 1;
    pointer-events: auto;
  }

  .header-social a {
    width: 44px;
    height: 44px;
  }

  /*
   * Legacy pages are frozen desktop Wix compositions. Scaling each composition as
   * one unit preserves its original geometry while fitting every phone width.
   * CSS zoom participates in layout, so the following sections keep their true
   * scaled height and never overlap or create horizontal scrolling.
   */

  body.legacy-wix-page #site-root,
  body.legacy-wix-page #masterPage,
  body.legacy-wix-page #PAGES_CONTAINER,
  body.legacy-wix-page #SITE_PAGES {
    width: 1440px !important;
    min-width: 1440px !important;
    margin: 0 !important;
    grid-area: auto !important;
  }

  /* School must reflow on phones; shrinking the old 980px Wix canvas made
   * readable content and controls less than half their intended size. */
  body #SITE_CONTAINER, body.home #SITE_CONTAINER,
  body.home #site-root,
  body.home #masterPage,
  body.home #PAGES_CONTAINER,
  body.home #SITE_PAGES,
  body.home #SITE_PAGES_TRANSITION_GROUP {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    zoom: 1 !important;
  }

  body.home .mobile-actions {
    display: none;
  }

  /* Production needs a real mobile hero rather than a scaled desktop canvas. */
  body.page-id-11 #SITE_CONTAINER,
  body.page-id-11 #site-root,
  body.page-id-11 #masterPage,
  body.page-id-11 #PAGES_CONTAINER,
  body.page-id-11 #SITE_PAGES {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    grid-area: auto !important;
  }

  body.page-id-11 #pagePinnedMiddleRight-ilim0 {
    display: none !important;
  }

  body.page-id-11 #comp-m34hm7th {
    position: relative !important;
    width: 100% !important;
    min-height: calc(100dvh - 110px - 70px) !important;
    overflow: hidden !important;
  }

  body.page-id-11 [data-mesh-id="comp-m34hm7thinlineContent-gridContainer"] {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: calc(100dvh - 110px - 70px) !important;
    min-height: 620px !important;
  }

  body.page-id-11 [data-mesh-id="comp-m34hm7thinlineContent-gridContainer"] > * {
    display: none !important;
  }

  body.page-id-11 #comp-m3a8w9c2,
  body.page-id-11 #comp-m34hm7us1,
  body.page-id-11 #comp-m34hm7v5,
  body.page-id-11 #comp-m34hm7vc1 {
    display: block !important;
  }

  body.page-id-11 #comp-m3a8w9c2 {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    grid-area: auto !important;
  }

  body.page-id-11 #comp-m3a8w9c2::after {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.48);
    content: "";
  }

  body.page-id-11 #comp-m3a8w9c2 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.page-id-11 #comp-m34hm7us1,
  body.page-id-11 #comp-m34hm7v5,
  body.page-id-11 #comp-m34hm7vc1 {
    position: absolute !important;
    left: 8% !important;
    z-index: 1;
    width: 84% !important;
    height: auto !important;
    margin: 0 !important;
    color: #fff;
  }

  body.page-id-11 #comp-m34hm7us1 {
    top: 9% !important;
    max-width: 310px;
    font-size: clamp(15px, 4.2vw, 18px) !important;
    line-height: 1.55 !important;
  }

  body.page-id-11 #comp-m34hm7v5 {
    top: 40% !important;
    font-size: clamp(46px, 14vw, 64px) !important;
    line-height: 0.98 !important;
  }

  body.page-id-11 #comp-m34hm7vc1 {
    top: 70% !important;
    max-width: 320px;
    font-size: clamp(15px, 4.2vw, 18px) !important;
    line-height: 1.55 !important;
  }

  body.page-id-11 #comp-m34hm7us1 *,
  body.page-id-11 #comp-m34hm7v5 *,
  body.page-id-11 #comp-m34hm7vc1 * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  /* Kids School: reflow the hero instead of shrinking the 980px canvas. */
  body.page-id-9 #SITE_CONTAINER,
  body.page-id-9 #site-root,
  body.page-id-9 #masterPage,
  body.page-id-9 #PAGES_CONTAINER,
  body.page-id-9 #SITE_PAGES,
  body.page-id-9 #SITE_PAGES_TRANSITION_GROUP,
  body.page-id-9 #vqbm3,
  body.page-id-9 #vqbm3 > .JJb9Mt,
  body.page-id-9 #Containervqbm3,
  body.page-id-9 #comp-lnbxxq81,
  body.page-id-9 #comp-l07wrlaq,
  body.page-id-9 #comp-l07wrlbe {
    width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  body.page-id-9 #comp-lnbxxq81,
  body.page-id-9 #comp-l07wrlaq,
  body.page-id-9 #comp-l07wrlbe {
    height: min(760px, calc(100dvh - 110px)) !important;
    min-height: 650px !important;
  }

  body.page-id-9 [data-mesh-id="comp-l07wrlbeinlineContent-gridContainer"] {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    padding: 0 20px 76px;
  }

  body.page-id-9 #comp-l07wrlbr,
  body.page-id-9 #comp-l07wrlby,
  body.page-id-9 #comp-l07wrlc1,
  body.page-id-9 #comp-l1f2ook5 {
    position: relative !important;
    left: auto !important;
    width: min(100%, 340px) !important;
    height: auto !important;
    margin: 0 !important;
    align-self: center !important;
  }

  body.page-id-9 #comp-l07wrlbr {
    font-size: clamp(37px, 11vw, 53px) !important;
    line-height: 1 !important;
    text-align: center;
  }

  body.page-id-9 #comp-l07wrlby {
    font-size: 18px !important;
    text-align: center;
  }

  body.page-id-9 #comp-l07wrlbr *,
  body.page-id-9 #comp-l07wrlby * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  body.page-id-9 #comp-l07wrlc1,
  body.page-id-9 #comp-l1f2ook5 {
    min-height: 56px;
  }

  body.page-id-9 #comp-l07wrlc1 .twJknM,
  body.page-id-9 #comp-l1f2ook5 .twJknM {
    position: relative !important;
    min-height: 56px;
    border: 2px solid #fff;
    border-radius: 999px;
  }

  body.page-id-9 #comp-lnbxxq83,
  body.page-id-9 [data-mesh-id="comp-lnbxxq83inlineContent-gridContainer"] {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  body.page-id-9 #comp-lnbxxq81,
  body.page-id-9 #comp-lnbxxq83 {
    display: none !important;
  }

  body.page-id-9 .kids-mobile-hero {
    display: block;
    color: #fff;
    background: #000;
  }

  /* Intro video/text block: the imported Wix grid keeps desktop offsets and
   * justified copy on phones. Rebuild this block as a simple vertical flow. */
  body.page-id-9 #comp-lnbxxq8c,
  body.page-id-9 #comp-l07wrlh0,
  body.page-id-9 #comp-l07wrlh3 {
    position: relative !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 16px 48px !important;
    box-sizing: border-box !important;
  }

  /* Imported mesh markup leaves a 47px desktop offset on the column. */
  body.page-id-9 #comp-l07wrlh3 {
    left: -47px !important;
  }

  body.page-id-9 #comp-l07wrlh3inlineContent-gridContainer {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
    padding: 0 !important;
  }

  body.page-id-9 #comp-l07wrlh6 {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 640px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
  }

  body.page-id-9 #comp-l07wrlh6 video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.page-id-9 #comp-l07wrlhm {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 640px !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  body.page-id-9 #comp-l07wrlhm,
  body.page-id-9 #comp-l07wrlhm * {
    text-align: left !important;
    letter-spacing: normal !important;
  }

  body.page-id-9 #comp-l07wrlhk {
    position: relative !important;
    inset: auto !important;
    width: 42px !important;
    height: 5px !important;
    margin: 0 auto !important;
    flex: 0 0 auto !important;
  }

  .kids-mobile-hero__content {
    min-height: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    padding: 48px 20px 70px;
    background: #111 url("../wix/f7d0b8816aa88e9265f742dfc5359a6c.jpg") center / cover no-repeat;
  }

  .kids-mobile-hero h1 { margin: 0; font-size: clamp(38px, 11vw, 54px); font-weight: 300; text-align: center; line-height: 1; }
  .kids-mobile-hero__tagline { width: min(100%, 300px); margin: 0 0 28px; background: #000; font-size: 17px; text-align: center; letter-spacing: .5em; }
  .kids-mobile-hero__content > a { width: min(100%, 330px); min-height: 56px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 999px; color: #fff; font-size: 17px; }
  .kids-mobile-promo { padding: 36px 20px 40px; text-align: center; }
  .kids-mobile-promo > strong { display: block; margin-bottom: 22px; font-size: 27px; }
  .kids-mobile-promo p { margin: 0; font-size: 16px; line-height: 1.45; }
  .kids-mobile-promo b { color: #e21c21; }
}

@media screen and (max-width: 768px) {
  body.page-id-298 [aria-label="содержание меняется при наведении"],
  body.page-id-7 [aria-label="содержание меняется при наведении"] , body.page-id-275 [aria-label="содержание меняется при наведении"] {
    position: relative !important;
    width: min(100%, 300px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto 36px !important;
    inset: auto !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"],
  body.page-id-7 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"], body.page-id-275 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"],
  body.page-id-298 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"],
  body.page-id-7 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] , body.page-id-275 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 10px !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] .wixui-image,
  body.page-id-7 [aria-label="содержание меняется при наведении"] .wixui-image , body.page-id-275 [aria-label="содержание меняется при наведении"] .wixui-image {
    position: relative !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 271 / 443;
    margin: 0 !important;
    inset: auto !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] .wixui-image img,
  body.page-id-7 [aria-label="содержание меняется при наведении"] .wixui-image img , body.page-id-275 [aria-label="содержание меняется при наведении"] .wixui-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .gpDCD5,
  body.page-id-7 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .gpDCD5 , body.page-id-275 [aria-label="содержание меняется при наведении"] > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .gpDCD5 {
    display: none !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] .wixui-rich-text,
  body.page-id-7 [aria-label="содержание меняется при наведении"] .wixui-rich-text , body.page-id-275 [aria-label="содержание меняется при наведении"] .wixui-rich-text {
    position: relative !important;
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    inset: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"],
  body.page-id-7 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] , body.page-id-275 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] {
    position: relative !important;
    order: 3 !important;
    width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    inset: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] a,
  body.page-id-7 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] a , body.page-id-275 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] a {
    min-height: 44px !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    text-decoration: none !important;
  }

  body.page-id-298 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] a::after,
  body.page-id-7 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] a::after , body.page-id-275 [aria-label="содержание меняется при наведении"] [data-semantic-classname="button"] a::after {
    content: "Открыть профиль";
    font: 500 15px/1.2 Montserrat, sans-serif;
  }

  body.page-id-298 [id^="pagePinnedMiddleLeft-"],
  body.page-id-7 [id^="pagePinnedMiddleLeft-"] , body.page-id-275 [id^="pagePinnedMiddleLeft-"] { display: none !important; }

  body.page-id-298 .agency-mobile-catalog-header,
  body.page-id-7 .agency-mobile-catalog-header , body.page-id-275 .agency-mobile-catalog-header {
    display: block;
    padding: 30px 20px 24px;
    color: #fff;
    background: #000;
    text-align: center;
  }
  .agency-mobile-catalog-header p {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .05em;
  }
  .agency-mobile-catalog-header p span { font-weight: 300; }
  .agency-mobile-catalog-header h1 {
    margin: 0 0 20px;
    font-size: clamp(38px, 13vw, 52px);
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
  }
  .agency-mobile-catalog-header nav {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 18px;
  }
  .agency-mobile-catalog-header nav a {
    min-height: 44px;
    padding: 10px 4px;
    color: #aaa;
    font-size: 18px;
    text-decoration: none;
  }
  .agency-mobile-catalog-header nav a[aria-current="page"] {
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  .agency-mobile-catalog-header__cta {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: #fff;
    font-size: 16px;
    text-decoration: underline;
  }
}

/* The Tours page now serves the original Wix mobile layout server-side
   (template-parts/tours-mobile-wix.php) to mobile UAs, so the Wix canvas
   must stay visible on narrow screens. */
@media screen and (max-width: 768px) {
  body.page-id-12 #main-content { display: block !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; overflow: hidden !important; }
  .tours-mobile__feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 28px; }
  .tours-mobile__feature-grid span { padding: 20px 16px; border: 1px solid currentColor; font-size: 15px; line-height: 1.35; }
  .tours-mobile__details { display: grid; gap: 48px; color: #fff; background: #202020; }
  .tours-mobile__details ul { margin: 20px 0 0; padding: 0; list-style: none; }
  .tours-mobile__details li { padding: 12px 0; border-bottom: 1px solid #555; }
  .tours-mobile__villa { padding: 58px 22px; color: #fff; background: #111; }
  .tours-mobile__villa h2 { margin: 0 0 26px; font: 500 clamp(31px, 9vw, 44px)/1.06 Georgia, serif; }
  .tours-mobile__villa > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .tours-mobile__villa img { width: 100%; height: 220px; object-fit: cover; }
  .tours-mobile__payment, .tours-mobile__questions { color: #fff; background: #315250; }
  .tours-mobile__payment > a, .tours-mobile__questions > a { display: flex; min-height: 52px; margin-top: 28px; align-items: center; justify-content: center; border: 1px solid currentColor; color: inherit; font-weight: 600; text-align: center; text-decoration: none; text-transform: uppercase; }
}

@media screen and (max-width: 480px) {
  .tours-mobile__feature-grid { grid-template-columns: 1fr; }
  .tours-mobile__villa img { height: 170px; }
}

@media screen and (min-width: 960px) { .kids-mobile-hero { display: none; } }

@media screen and (max-width: 480px) {
  .site-header__inner {
    width: calc(100% - 24px);
  }

  .site-logo,
  .site-logo__mark {
    height: 38px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-nav,
  .menu-toggle__line,
  .header-social {
    transition: none !important;
  }
}

@media screen and (max-width: 959px) {

  /* Protect Header from expanding offscreen */
  .site-header {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .site-header__inner {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  /* A transformed header becomes the containing block of the fixed menu and
     limits the overlay to the header's height. Remove that containing block
     while the menu is open so navigation always fills the viewport. */
  body.menu-is-open .site-header {
    z-index: 2147483000 !important;
    transform: none !important;
    will-change: auto !important;
    overflow: visible !important;
  }

  /* The Start page centres its fixed header with left:50% + translateX(-50%).
     That transform turns the header into the containing/clipping block for
     the fixed navigation overlay, so only the first menu row remains visible
     above the hero. Reset the centring while the menu is open. */
  body.page-start.menu-is-open .site-header {
    left: 0 !important;
    right: 0 !important;
    margin-inline: auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.menu-is-open .site-nav.is-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483001 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: #000 !important;
    isolation: isolate;
  }

  body.menu-is-open .site-nav__list {
    position: relative !important;
    z-index: 1 !important;
  }

  body.menu-is-open .menu-toggle {
    position: fixed !important;
    top: calc(20px + env(safe-area-inset-top)) !important;
    right: 20px !important;
    z-index: 2147483002 !important;
  }

  .site-nav .site-nav__item.has-submenu {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  .site-nav .site-nav__submenu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .site-nav .submenu-is-open > .site-nav__submenu {
    max-height: 180px !important;
    padding: 0 0 14px 16px !important;
    overflow: visible !important;
  }

  .site-nav .site-nav__submenu li,
  .site-nav .site-nav__submenu a {
    position: static !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .site-nav .site-nav__submenu a {
    min-height: 44px;
    padding: 10px 0 !important;
    color: #fff !important;
    font-size: clamp(17px, 4.8vw, 23px) !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: left !important;
  }
}



  /* The native hero already contains the primary CTA. The Wix canvas has
     duplicate copies of the same action, so leave its editorial text but
     remove only the repeated buttons. */
  body.page-id-10 #comp-m0na5mx11,
  body.page-id-10 #comp-m0na5my51 { display: none !important; }

  body.page-id-10 #comp-m0na5myb1 { margin-top: 24px !important; }

  body.page-id-10 #SITE_CONTAINER .wixui-rich-text p {
    text-align: justify !important;
    text-align-last: left !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.5 !important;
  }
}

@media screen and (min-width: 540px) and (max-width: 768px) {
  body.has-generated-model-profile #SITE_CONTAINER [data-mesh-id$="gridContainer"]:has(> .wixui-image),
  .model-mobile-profile + #SITE_CONTAINER [data-mesh-id$="gridContainer"]:has(> .wixui-image) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 959px) {
  /* === Agency Page Mobile Overrides === */





  /* === Home Page Mobile Overrides === */
  body.home [data-mesh-id$="-gridContainer"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 0 20px !important;
  }

  /* Nested grid containers must NOT add extra padding */
  body.home [data-mesh-id$="-gridContainer"] [data-mesh-id$="-gridContainer"] {
    padding: 0 !important;
    width: 100% !important;
  }
  
  body.home [data-mesh-id$="-gridContainer"] > * {
    position: relative !important;
    left: 0 !important;
    top: auto !important;
    margin: 15px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
  }

  /* Make sure sections themselves can grow */
  body.home .wixui-section {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* The Video Hero should be full height */
  body.home #comp-lnbxxq9e {
    min-height: 100vh !important;
    padding: 0 !important;
  }

  /* Force all images to be responsive */
  body.home .wixui-image {
    width: 100% !important;
    height: auto !important;
  }
  body.home .wixui-image img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Center all rich text */
  body.home .wixui-rich-text, body.home .wixui-rich-text * {
    text-align: center !important;
    white-space: normal !important;
  }

  /* Fix the container strip for the columns */
  body.home .wixui-column-strip {
    height: auto !important;
    min-height: 0 !important;
  }
  body.home .wixui-column-strip__column {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    width: 100% !important;
  }
  
  /* Horizontal line fixes */
  body.home .wixui-horizontal-line {
    width: 100% !important;
    max-width: 200px !important;
    margin: 20px auto !important;
  }
  
  /* Specific override for the NAKED MODELS huge text to fit screen */
  body.home #comp-lnbxxq9g h1 span {
    font-size: 32px !important;
  }
  
  /* Make buttons stretch */
  body.home .wixui-button {
    width: 100% !important;
    max-width: 300px !important;
    margin: 20px auto !important;
    height: 50px !important;
  }

  /* Stack Repeaters (Grids) on Mobile */
  body.home .wixui-repeater {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    width: 100% !important;
    height: auto !important;
  }
  
  body.home .wixui-repeater__item {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
  }
  
  /* Fix the agency logo slider on home page */
  body.home .agency-mobile-catalog-header {
    display: block !important;
  }
  
  /* === DEEP RESET FOR ALL WIX COMPONENTS (Fixes cutoff text & buttons) === */
  
  /* Deep reset for all Wix components inside the main site container */
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER [id^="comp-"] {
      position: relative !important;
      left: 0 !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      transform: none !important;
      box-sizing: border-box !important;
      margin: 0 auto 10px auto !important;
  }
  
  /* Make structural components (strips, columns, repeaters, sections) flexible */
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-column-strip,
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-column-strip__column,
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-repeater,
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-repeater__item,
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-section {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      width: 100% !important;
      max-width: 100vw !important;
      height: auto !important;
      min-height: 0 !important;
      box-sizing: border-box !important;
      width: 100vw !important;
      max-width: 100vw !important;
      margin: 0 calc(50% - 50vw) !important;
  }

  /* Prevent text from overflowing */
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER  .wixui-text-box {
      margin-bottom: 20px !important;
  }
  
  .wixui-text-box textarea {
      padding: 10px 15px !important;
      font-size: 14px !important;
      height: 100px !important;
  }
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-rich-text {
      width: 100% !important;
      max-width: 100vw !important;
      height: auto !important;
      padding: 0 20px !important;
      box-sizing: border-box !important;
      text-align: center !important;
      white-space: normal !important;
  }
  
  /* Make buttons and inputs scale nicely but not stretch forever */
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-button,
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-text-box,
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-dropdown {
      width: 100% !important;
      max-width: 320px !important;
      height: 50px !important;
      margin: 10px auto !important;
  }

  /* Images should fit their containers */
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-image {
      width: 100% !important;
      max-width: 100vw !important;
      height: auto !important;
  }
  
  body:not(.page-id-298):not(.page-id-275):not(.page-id-7):not(.page-id-297):not(.page-id-11):not(.page-id-12) #SITE_CONTAINER .wixui-image img {
      position: static !important;
      width: 100% !important;
      height: auto !important;
      object-fit: contain !important;
  }

  /* Homepage hero — keep this after the deep Wix reset. The imported img is
     only a 132px LQIP; use the mirrored 1920×1280 source as the real banner. */
  body.home #comp-lnbxxq9e {
      position: relative !important;
      min-height: 100svh !important;
      padding: var(--header-height, 110px) 20px 40px !important;
      overflow: hidden !important;
      background:
        linear-gradient(180deg, rgba(0, 0, 0, .16), rgba(0, 0, 0, .56)),
        url('../d0a7f7_c76323caf3364559b9a2b5cf4d37218c~mv2.jpg') center center / cover no-repeat !important;
      box-sizing: border-box !important;
  }

  body.home #comp-lnbxxq9e #mediajfauscwg,
  body.home #comp-lnbxxq9e #img_mediajfauscwg {
      display: none !important;
  }

  body.home #comp-lnbxxq9e #comp-igqnfidc,
  body.home #comp-lnbxxq9e [data-mesh-id="comp-lnbxxq9einlineContent"],
  body.home #comp-lnbxxq9e [data-mesh-id="comp-lnbxxq9einlineContent-gridContainer"] {
      min-height: calc(100svh - var(--header-height, 110px) - 40px) !important;
      justify-content: center !important;
  }

  body.home #comp-lnbxxq9e #comp-igqnfidc {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
  }

  body.home #comp-lnbxxq9e #bgLayers_comp-igqnfidc {
      display: none !important;
  }
}

}
/* MOBILE RESPONSIVE OVERRIDES */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
body.page-id-297 #SITE_CONTAINER,
body.page-id-297 #site-root,
body.page-id-297 #masterPage,
body.page-id-297 #PAGES_CONTAINER,
body.page-id-297 .SITE_PAGES,
body.page-id-297 #SITE_PAGES_TRANSITION_GROUP,
body.page-id-297 .wH18kY,
body.page-id-297 [data-testid="inline-content"],
body.page-id-297 [data-testid="mesh-container-content"],
body.page-id-297 #l1ws6,
body.page-id-297 .l1ws6,
body.page-id-297 .JJb9Mt,
body.page-id-297 #Containerl1ws6,
body.page-id-297 .Containerl1ws6 {
        min-width: 0 !important;
        max-width: 100vw !important;
        width: 100vw !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
body.page-id-297 #comp-m0na5msw {
        min-width: 0 !important;
        max-width: 100vw !important;
        width: 100vw !important;
        margin: 0 !important;
        left: 0 !important;
    }
body.page-id-297 [data-mesh-id="comp-m0na5mswinlineContent-gridContainer"] {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 40px 20px !important;
        gap: 40px !important;
        height: auto !important;
        min-height: 100vh !important;
        box-sizing: border-box !important;
    }
    /* Video Box */
body.page-id-297 #comp-m0na5mth {
        position: relative !important;
        margin: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 500px !important;
        height: auto !important;
        aspect-ratio: 9 / 16 !important;
        grid-area: auto !important;
    }
body.page-id-297 [data-mesh-id="comp-m0na5mthinlineContent-wedge-3"] { display: none !important; }

    /* Hover Box Container */
body.page-id-297 #comp-m0na5mvh1 {
        position: relative !important;
        margin: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 500px !important;
        height: auto !important;
        grid-area: auto !important;
    }
body.page-id-297 [data-mesh-id="comp-m0na5mvh1inlineContent-gridContainer"] {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; /* Left aligned for Women/Men */
        gap: 20px !important;
        height: auto !important;
    }

    /* НАШИ МОДЕЛИ */
body.page-id-297 #comp-m0na5mvx {
        position: relative !important;
        margin: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        transform: none !important;
        align-self: flex-end !important; /* Right aligned */
        text-align: right !important;
    }
body.page-id-297 #comp-m0na5mvx p,
body.page-id-297 #comp-m0na5mvx span {
        font-size: 32px !important; /* Make it fit */
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    /* Women & Men texts */
body.page-id-297 #comp-m0na5mwf1,
body.page-id-297 #comp-m0na5mwm1 {
        position: relative !important;
        margin: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
body.page-id-297 #comp-m0na5mwf1 h3,
body.page-id-297 #comp-m0na5mwf1 span,
body.page-id-297 #comp-m0na5mwm1 h3,
body.page-id-297 #comp-m0na5mwm1 span {
        font-size: 48px !important; /* Like the screenshot */
    }

    /* Other Text/Buttons further down (СТАТЬ МОДЕЛЬЮ, АРЕНДОВАТЬ СТУДИЮ) */
body.page-id-297 #comp-m0na5mx92,
body.page-id-297 #comp-m0na5my51,
body.page-id-297 #comp-m0na5myb1 {
        position: relative !important;
        margin: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 400px !important;
        height: auto !important;
        grid-area: auto !important;
    }
body.page-id-297 #comp-m0na5mx92 .twJknM,
body.page-id-297 #comp-m0na5my51 .twJknM,
body.page-id-297 #comp-m0na5myb1 .twJknM {
        width: 100% !important;
        min-height: 60px !important;
        height: auto !important;
        padding: 10px 20px !important;
        white-space: normal !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        position: relative !important;
    }
body.page-id-297 #comp-m0na5my51 .OR4Nv8,
body.page-id-297 #comp-m0na5myb1 .OR4Nv8 {
        white-space: normal !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        position: relative !important;
    }
    
body.page-id-297 [data-mesh-id$="wedge-3"],
body.page-id-297 [data-mesh-id$="wedge-4"] { display: none !important; }
}


/* === Model Profile Image Grid (1:1 Layout) === */
@media (max-width: 959px) {
  body.has-generated-model-profile #SITE_CONTAINER [data-mesh-id$="gridContainer"]:has(> .wixui-image),
  .model-mobile-profile + #SITE_CONTAINER [data-mesh-id$="gridContainer"]:has(> .wixui-image) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 15px !important;
    width: 100% !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 40px !important;
  }
  
  /* Đảm bảo toàn bộ các thành phần cha (như Section, Mesh Container) đều bị reset chiều cao khổng lồ */
  body.has-generated-model-profile #SITE_CONTAINER .wixui-section,
  body.has-generated-model-profile #SITE_CONTAINER [data-mesh-id$="inlineContent"] {
      min-height: 0 !important;
      height: auto !important;
  }
  
  /* Reset all images to relative positioning */
  body.has-generated-model-profile #SITE_CONTAINER .wixui-image {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    grid-area: auto !important;
    aspect-ratio: 2 / 3 !important; /* Force even dimensions for the 2-column grid */
    overflow: hidden !important;
  }
  
  /* Make the hero image span both columns and have a landscape ratio */
  body.has-generated-model-profile #SITE_CONTAINER .wixui-image.is-hero-image {
    grid-column: 1 / -1 !important;
    aspect-ratio: 280 / 194 !important; /* Live site's ratio for the hero image */
  }
  
  body.has-generated-model-profile #SITE_CONTAINER .wixui-image img {
    position: relative !important;
    width: 100% !important;
    height: 100% !important; /* Force to fill container */
    object-fit: cover !important;
  }
}

/* === Hide Original Wix Header on Model Mobile Profiles === */
@media (max-width: 959px) {
  body.has-generated-model-profile [id^="pagePinnedMiddleLeft-"],
  body.has-generated-model-profile [class*="pinned-layer"] {
      display: none !important;
  }
}

/* === Style Generated Model Mobile Profile (1:1 Layout) === */
@media (max-width: 959px) {
  .model-mobile-profile {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 30px 15px 20px; /* Reduced top padding, matches live site closely */
      background: #000;
      color: #fff;
      text-align: left;
      width: 100%;
      box-sizing: border-box;
  }

  .model-mobile-profile__content {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      width: 100%;
      max-width: 100%;
      position: relative;
  }

  .model-mobile-profile h1 {
      font-size: 26px !important;
      margin: 0 0 5px 0 !important;
      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
      font-weight: 300 !important;
      text-transform: none !important;
      line-height: 1.2 !important;
      letter-spacing: 0.5px !important;
  }

  .model-mobile-profile__measurements {
      font-size: 26px !important;
      margin: 0 0 25px 0 !important;
      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
      font-weight: 300 !important;
      line-height: 1.2 !important;
      letter-spacing: 0.5px !important;
  }

  .model-mobile-profile dl {
      display: flex !important;
      flex-direction: column !important;
      gap: 3px !important;
      margin: 0 0 10px !important;
      width: 100% !important;
  }

  .model-mobile-profile dl div {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
  }

  .model-mobile-profile dt {
      font-size: 15px !important;
      opacity: 0.8 !important;
      margin: 0 !important;
      text-transform: none !important;
      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
      width: 65px !important; /* Width aligned to "Волосы:" */
      font-weight: normal !important;
  }

  .model-mobile-profile dd {
      font-size: 15px !important;
      font-weight: normal !important;
      margin: 0 !important;
      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  }

  .model-mobile-profile__cta {
      display: block !important;
      align-self: flex-end !important;
      text-align: right !important;
      color: #fff !important;
      font-size: 15px !important;
      font-weight: 300 !important;
      text-decoration: underline !important;
      text-underline-offset: 4px;
      margin-top: 15px;
      font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  }

  .model-mobile-profile__cta:hover {
      opacity: 0.8 !important;
  }
  
  /* Application Form styling (page-подбормоделей.php) */
  #comp-kpa30s0e {
      width: 100% !important;
      padding: 0 20px !important;
      box-sizing: border-box !important;
  }

  #comp-kpa30s0e .wixui-text-input__input,
  #comp-kpa30s0e .wixui-text-box__input,
  #comp-kpa30s0e .wixui-dropdown__input {
      background-color: transparent !important;
      border: 1px solid rgba(255, 255, 255, 0.6) !important;
      border-radius: 8px !important;
      color: #ffffff !important;
      font-size: 15px !important;
      height: 50px !important;
      padding: 10px 15px !important;
      box-sizing: border-box !important;
  }

  #comp-kpa30s0e .wixui-text-box__input {
      height: 120px !important;
  }

  #comp-kpa30s0e .wixui-text-input__input::placeholder,
  #comp-kpa30s0e .wixui-text-box__input::placeholder {
      color: rgba(255, 255, 255, 0.8) !important;
  }
  
  #comp-kpa30s0e .wixui-dropdown__input {
      color: rgba(255, 255, 255, 0.8) !important;
  }

  #comp-kpa30s0e .wixui-button {
      background-color: transparent !important;
      border: 1px solid #ffffff !important;
      border-radius: 25px !important;
      height: 50px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      margin-top: 10px !important;
  }

  #comp-kpa30s0e .wixui-button__label {
      color: #ffffff !important;
      font-size: 15px !important;
  }

  #comp-kpa30s0e .wixui-dropdown__icon {
      fill: #ffffff !important;
  }
  
  #comp-kpa30s0einlineContent-gridContainer {
      display: flex !important;
      flex-direction: column !important;
      gap: 15px !important;
  }
  
  #comp-kpa30s0einlineContent-gridContainer > * {
      margin: 0 !important;
      left: 0 !important;
      position: relative !important;
      grid-area: auto !important;
      width: 100% !important;
  }
}

/* Fix scroll anchor */
#programs { scroll-margin-top: 100px; }

/* Generated model profiles: keep every portrait tile in the same 2:3 frame.
   Crop only in the browser; the original media files remain untouched. */
@media (max-width: 900px) {
  body.has-generated-model-profile #main-content #SITE_CONTAINER
  [data-mesh-id$="inlineContent-gridContainer"] > .wixui-image:not(:first-of-type) {
    aspect-ratio: 2 / 3 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body.has-generated-model-profile #main-content #SITE_CONTAINER
  [data-mesh-id$="inlineContent-gridContainer"] > .wixui-image:not(:first-of-type) .apPOZK {
    height: 100% !important;
    overflow: hidden !important;
  }

  body.has-generated-model-profile #main-content #SITE_CONTAINER
  [data-mesh-id$="inlineContent-gridContainer"] > .wixui-image:not(:first-of-type) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* Kids-school hero: place the darkening gradient in the same background stack
   as the photo so it sits below the copy and CTAs. */
@media (max-width: 959px), (orientation: portrait) {
  body.page-id-9 .kids-mobile-hero__content {
    background-image:
      linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)),
      url("../wix/f7d0b8816aa88e9265f742dfc5359a6c.jpg") !important;
    background-position: center top !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
}
