/* OnlineTours typography candidate v1, 2026-10-22.
 * Explicit opt-in: <html data-ot-type="home|hotels|radar|manager|destination|app|ai|article|office">.
 * Existing font families and brand backgrounds are retained. No vendor selectors.
 * This is a staging candidate; see the coverage and regression protocol before release.
 */
html[data-ot-type] {
  --ot-type-body: 1rem;
  --ot-type-reading: clamp(1.0625rem, 1.025rem + .16vw, 1.1875rem);
  --ot-type-lead: clamp(1.125rem, 1.05rem + .3vw, 1.375rem);
  --ot-type-h1: clamp(1.75rem, 1.35rem + 2vw, 3rem);
  --ot-type-h2: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);
  --ot-type-h3: clamp(1.25rem, 1.15rem + .5vw, 1.75rem);
  --ot-type-card: clamp(1.125rem, 1.075rem + .25vw, 1.375rem);
  --ot-type-price: clamp(1.5rem, 1.35rem + .75vw, 2rem);
  --ot-type-help: .875rem;
  --ot-type-meta: .875rem;
  --ot-type-on-orange: #24170b;
  --ot-type-link: #9a4308;
}
/* No root font-size or text-size-adjust override: browser/user defaults remain available. */
html[data-ot-type] body {font-size:var(--ot-type-body);font-weight:400;line-height:1.5;}

/* home — reviewed selectors from current public stylesheets. */
html[data-ot-type="home"] #hero .h1 { font-size:var(--ot-type-h1);line-height:1.18;font-weight:700;letter-spacing:-.02em;overflow-wrap:break-word; }
html[data-ot-type="home"] .h2{ font-size:var(--ot-type-h2);line-height:1.22;font-weight:700;letter-spacing:-.015em; }
html[data-ot-type="home"] .card__title,
html[data-ot-type="home"] .team-card__name{ font-size:var(--ot-type-card);line-height:1.35;font-weight:600;letter-spacing:normal; }
html[data-ot-type="home"] .team-card__desc,
html[data-ot-type="home"] .review-body-unique,
html[data-ot-type="home"] .faq-item summary,
html[data-ot-type="home"] .faq-content,
html[data-ot-type="home"] .search-assist__copy{ font-size:var(--ot-type-body);line-height:1.5;font-weight:400;font-style:normal; }
html[data-ot-type="home"] .hero-contact__primary,
html[data-ot-type="home"] .hero-contact__secondary-link,
html[data-ot-type="home"] .hero-contact__search-link,
html[data-ot-type="home"] .search-assist__send,
html[data-ot-type="home"] .search-assist__channel,
html[data-ot-type="home"] .pwa-bar__btn,
html[data-ot-type="home"] .ios-modal__ok,
html[data-ot-type="home"] .ios-modal__later,
html[data-ot-type="home"] #team .team-card__profile-link{ font-size:var(--ot-type-body);font-weight:600;line-height:1.35;white-space:normal; }
html[data-ot-type="home"] .small,
html[data-ot-type="home"] .pwa-bar__text,
html[data-ot-type="home"] .social-note,
html[data-ot-type="home"] .social-btn small,
html[data-ot-type="home"] .footer__chip,
html[data-ot-type="home"] .ios-modal__bullets,
html[data-ot-type="home"] .ios-modal__howto-title,
html[data-ot-type="home"] .ios-modal__howto-sub,
html[data-ot-type="home"] #hero .mini-trust__item,
html[data-ot-type="home"] #hero .mini-trust__item b{ font-size:var(--ot-type-help);line-height:1.5;letter-spacing:normal; }
html[data-ot-type="home"] .topbar__phone a,
html[data-ot-type="home"] .topbar__phoneText,
html[data-ot-type="home"] .office-call,
html[data-ot-type="home"] #footer .fc-popular a,
html[data-ot-type="home"] #footer .fc-country a,
html[data-ot-type="home"] #footer .fc-service-nav a,
html[data-ot-type="home"] #footer .fc-search label,
html[data-ot-type="home"] #footer .fc-clear,
html[data-ot-type="home"] #footer .fc-count,
html[data-ot-type="home"] .footer__link.small { font-size:var(--ot-type-meta);line-height:1.4;white-space:normal; }
html[data-ot-type="home"] .topbar__phone a,
html[data-ot-type="home"] .topbar__phoneText {font-size:var(--ot-type-meta)!important;line-height:1.4!important;}
html[data-ot-type="home"] .search-assist__send,
html[data-ot-type="home"] #searchAssistOpen,
html[data-ot-type="home"] .hero-contact__primary{color:var(--ot-type-on-orange);}
/* Shared first-party benefits component; opt-in prevents vendor iframe leakage. */
html[data-ot-type] .ot-benefits__cta {font-size:1rem;line-height:1.35;color:var(--ot-type-on-orange);white-space:normal;}
html[data-ot-type] .ot-benefits__note {font-size:.875rem;line-height:1.5;}
html[data-ot-type="home"] .topbar__phone a {height:auto!important;min-height:2.75rem;}
html[data-ot-type="home"] .topbar__phoneContent {overflow:visible;}
/* This component's original stylesheet uses !important; narrowly matched overrides
 * are required until those declarations are replaced in the component source. */
html[data-ot-type] .ot-benefits__eyebrow {font-size:.875rem!important;line-height:1.5!important;letter-spacing:normal!important;}
html[data-ot-type] .ot-benefits__title {font-size:var(--ot-type-card)!important;line-height:1.35!important;}
html[data-ot-type] .ot-benefits__offers strong {font-size:1rem!important;line-height:1.4!important;}
html[data-ot-type] .ot-benefits__conditions {font-size:.875rem!important;line-height:1.55!important;}
html[data-ot-type] .ot-benefits__cta {font-size:1rem!important;line-height:1.35!important;color:var(--ot-type-on-orange)!important;}
html[data-ot-type] .ot-benefits__cta:hover {background:#ad4512!important;color:#fff!important;}

/* Browser-audit candidate fixes. Opt-in only; retain text and interactive logic.
   These repair measured min-content expansion at 320/390 CSS px with enlarged text.
   Scrollable tabs/carousels and vendor UI are intentionally outside these rules. */
html[data-ot-type="home"] .topbar__phoneLink {height:auto!important;min-height:2.75rem!important;overflow:visible!important;}
html[data-ot-type="home"] .topbar__phoneContent {height:auto!important;overflow:visible!important;white-space:normal!important;}
html[data-ot-type="home"] .topbar__phoneText {white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;}
html[data-ot-type="home"] .h2,
html[data-ot-type="home"] .card__title,
html[data-ot-type="home"] .faq-item summary,
html[data-ot-type="home"] .review-body-unique {overflow-wrap:anywhere;}
html[data-ot-type="home"] .social-proof {max-width:100%;flex-wrap:wrap;}
html[data-ot-type="home"] .office-socials {max-width:100%;min-width:0;flex-wrap:wrap;}
html[data-ot-type="home"] .footer__grid>*,
html[data-ot-type="home"] .fc-service-nav>* {min-width:0;max-width:100%;}
html[data-ot-type="home"] .footer__link,
html[data-ot-type="home"] .footer__brand,
html[data-ot-type="home"] .footer__chip {white-space:normal;overflow-wrap:anywhere;}
html[data-ot-type="home"] .fc-service-nav p {overflow-wrap:anywhere;}
html[data-ot-type="home"] .skip-link:not(:focus){top:0;transform:translateY(-200%);}
@media(max-width:800px){
 html[data-ot-type="home"] .topbar__inner {display:flex!important;flex-wrap:wrap;height:auto!important;grid-template-columns:none!important;}
 html[data-ot-type="home"] #topbarPhone,
 html[data-ot-type="home"] .topbar__phone {flex:1 1 100%!important;width:100%!important;max-width:100%!important;grid-column:1/-1;}
 html[data-ot-type="home"] .topbar__phoneLink {width:100%!important;max-width:100%;border-radius:1.25rem;justify-content:center;}
 html[data-ot-type="home"] .topbar__phoneContent {min-width:0;max-width:100%;flex:1 1 12rem;}
 html[data-ot-type="home"] .mini-trust {grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));}
 html[data-ot-type="home"] .mini-trust__item {min-width:0;overflow-wrap:anywhere;}
 html[data-ot-type="home"] .footer__grid {grid-template-columns:minmax(0,1fr);}
 html[data-ot-type="home"] .fc-service-nav {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
 html[data-ot-type="home"] .fc-service-nav {grid-template-columns:minmax(0,1fr);}
}

/* Home hero blue add-on, 2026-10-22. Load after the frozen typography bundle.
 * Reference: live https://travelata.ru/ .index-background_tours computed CSS:
 * linear-gradient(280deg,#22ccee -10.88%,#218bff 24.67%,#218bff 100.45%).
 * This requested solid fill uses the actual dominant blue #218bff.
 * Large white H1: 3.386:1;14px eyebrow #051f36:4.939:1 on the flat blue.
 * Scope is exclusively the homepage #hero; content, layout and handlers untouched. */
html[data-ot-type="home"] #hero {
 background-color:#218bff!important;
 background-image:none!important;
}
html[data-ot-type="home"] #hero::before,
html[data-ot-type="home"] #hero::after {
 background:none!important;
 opacity:0!important;
}
html[data-ot-type="home"] #hero .h1 {
 color:#fff!important;
 background:transparent!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
 -webkit-text-fill-color:currentColor!important;
}

/* Home mobile visual repair. Keep content, links, counters and handlers intact. */
@media (max-width:800px) {
  html[data-ot-type="home"] .topbar__inner {
    display:flex !important;
    flex-wrap:wrap;
    grid-template-columns:none !important;
    align-items:center;
    gap:8px !important;
    padding:8px 12px !important;
    min-height:0;
  }
  html[data-ot-type="home"] .topbar .brand {
    flex:1 1 6.5rem;
    width:auto;
    min-width:0;
  }
  html[data-ot-type="home"] .topbar .brand__logo {
    width:100%;
    max-width:160px;
    height:auto;
    aspect-ratio:187 / 45;
  }
  html[data-ot-type="home"] #topbarPhone,
  html[data-ot-type="home"] .topbar__phone {
    flex:1.5 1 10rem !important;
    grid-column:auto;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  html[data-ot-type="home"] .topbar__phoneLink {
    padding:6px 8px !important;
    gap:6px !important;
    justify-content:center !important;
  }
  html[data-ot-type="home"] .topbar__phoneContent {
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
  }
  html[data-ot-type="home"] #hero .hero-contact__secondary {
    display:flex;
    flex-wrap:wrap;
  }
  html[data-ot-type="home"] #hero .hero-contact__secondary > a {
    flex:1 1 max-content;
    max-width:100%;
  }
}
@media (max-width:919px) {
  html[data-ot-type="home"] #hero .mini-trust__item {
    height:auto;
    min-height:0;
    padding:10px 12px;
  }
}
@media (max-width:430px) {
  html[data-ot-type="home"] .topbar__phone-ico { display:none; }
}
@media (max-width:427px) {
  html[data-ot-type="home"] #hero .mini-trust__item:last-child {
    grid-column:1 / -1;
  }
}

/* Let header items wrap at their natural width; keep the phone pill compact. */
html[data-ot-type="home"] .topbar__inner {
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
}
html[data-ot-type="home"] #topbarPhone,
html[data-ot-type="home"] .topbar__phone {
  flex:0 1 auto !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:100% !important;
}
html[data-ot-type="home"] .topbar__phoneLink {
  width:auto !important;
  max-width:100%;
}
html[data-ot-type="home"] .topbar__phoneContent {
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
}
html[data-ot-type="home"] .topbar__phoneText{
  overflow-wrap:normal;
  word-break:normal;
}
@media(min-width:801px) {
  html[data-ot-type="home"] .topbar .brand {
    flex:0 1 auto;
    min-width:0;
  }
  html[data-ot-type="home"] .topbar__nav {
    flex:0 1 auto;
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
  }
}

/* Keep the three existing trust cards in one equal-height row at every width. */
html[data-ot-type="home"] #hero .mini-trust {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  min-inline-size:0;
  inline-size:100%;
  max-inline-size:calc(100vw - 24px);
  align-items:stretch;
  grid-auto-rows:1fr;
}
html[data-ot-type="home"] #hero .mini-trust > .mini-trust__item {
  grid-column:auto !important;
  min-inline-size:0;
  max-inline-size:100%;
  block-size:auto !important;
  min-block-size:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transform:none !important;
}
html[data-ot-type="home"] #hero .mini-trust__item :is(b,span) {
  min-inline-size:0;
  max-inline-size:100%;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:374px) {
  html[data-ot-type="home"] #hero .mini-trust > .mini-trust__item {
    padding-inline:6px !important;
  }
}

/* Let the existing hero grid shrink within its container at enlarged fonts. */
html[data-ot-type="home"] #hero .hero__grid,
html[data-ot-type="home"] #hero .hero__left {
  min-inline-size:0;
}
html[data-ot-type="home"] #hero :is(.hero__left,.h1,.hero-message) {
  max-inline-size:100%;
}
html[data-ot-type="home"] #hero .hero-contact {
  grid-template-columns:minmax(0,1fr);
}
html[data-ot-type="home"] #hero :is(.hero-contact,.hero-contact__secondary,.hero-contact__links,.hero-contact a,.hero-contact a > span) {
  min-inline-size:0;
  max-inline-size:100%;
}
html[data-ot-type="home"] #hero :is(.hero-contact__primary,.hero-contact__secondary-link) {
  flex-wrap:wrap;
}
html[data-ot-type="home"] #hero :is(.hero-contact a,.hero-contact a > span) {
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Static office labels; rotation and its decorative station rows are removed. */
html[data-ot-type="home"] .topbar__officesLabel{white-space:normal;text-align:center;overflow-wrap:normal}
html[data-ot-type="home"] #hero .mini-trust__location{display:block;min-inline-size:0;max-inline-size:100%;font-size:var(--ot-type-help,.875rem);line-height:1.35;white-space:normal;overflow-wrap:normal}

/* Let enlarged text wrap within the retained social buttons. */
html[data-ot-type="home"] #socials .social-btn--primary > span:not(.social-ico) {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}
