/* Shared responsive layout: UK and RU, including the UK advertising site. */
html {
  max-width: 100%;
  overflow-x: clip;
}
body {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
@supports not (overflow: clip) {
  html, body { overflow-x: hidden; }
}
main, section, header, footer, .wrap { min-width: 0; }
.wrap {
  width: min(1200px, calc(100% - 96px));
  max-width: calc(100% - 32px);
  margin-inline: auto;
}
.wrap.turning-inner { max-width: 920px; }
.hero, .scannable-desires, .result-layout, .author, .offer, .faq,
.reviews, .course-flow, .legal-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.result-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.author { grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); }
.offer { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.faq, .reviews, .course-flow { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.legal-layout { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.lessons, .stakes-list, .format-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hero > *, .scannable-desires > *, .result-layout > *, .author > *,
.offer > *, .faq > *, .reviews > *, .course-flow > *, .legal-layout > *,
.lessons > *, .stakes-list > *, .format-steps > *, .program-heading > *,
.reviews-intro > *, .course-flow-steps > li > *, .header > * {
  min-width: 0;
}
main { overflow-wrap: anywhere; }
.hero-offer { grid-template-columns: auto minmax(0, 1fr); }
.price-pair { flex-wrap: wrap; }
.course-flow-steps > li { grid-template-columns: 48px minmax(0, 1fr); }
summary > strong, .faq summary > :not(.disclosure-arrow) { min-width: 0; }
.button { max-width: 100%; }
.button > span { flex: 0 0 auto; }
.review-carousel, .review-track { min-width: 0; max-width: 100%; }
.real-reviews .review-track { contain: inline-size; }
.footer { flex-wrap: wrap; }
.review-dialog-head > div { min-width: 0; overflow-wrap: anywhere; }
.review-dialog-tools > div { min-width: 0; flex-wrap: wrap; }

/* Equal viewport insets center the dock without a translated, oversized box. */
.sticky-buy.purchase-dock {
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  width: auto;
  max-width: 500px;
  min-width: 0;
  margin-inline: auto;
  transform: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 20px;
  padding: 12px 18px;
}
.purchase-dock .dock-price { min-width: 0; }
.purchase-dock .button {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 13px 18px;
  gap: 14px;
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .wrap { width: calc(100% - 64px); }
}
@media (max-width: 1024px) {
  .hero.wrap, .author.wrap, .scannable-desires,
  .result-layout, .faq.wrap, .course-flow.wrap, .legal-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .hero-visual {
    width: min(560px, calc(100% - 24px));
    height: 560px;
    min-height: 0;
    margin-inline: auto;
  }
  .author-photo { width: min(560px, calc(100% - 24px)); margin-inline: auto; }
  .author-photo img { height: 560px; }
  .author-copy { max-width: 820px; }
  .lessons { grid-template-columns: minmax(0, 1fr); }
  .lesson h3 { min-height: 0; }
  .lesson, .lesson:nth-child(2) { margin-top: 0; }
  .hero .hero-lead, .hero .course-name, .result-intro,
  .course-flow-intro > p:last-child { max-width: 100%; }
  .real-reviews .reviews-intro, .program-heading { display: block; }
  .real-reviews .reviews-intro > p:last-child, .program-heading > p {
    max-width: 100%; margin-top: 22px;
  }
  .faq-list, .desire-spoilers { margin-top: 0; }
  .offer-copy { padding: 36px 24px; }
}
@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .hero.wrap, .author.wrap { gap: 28px; }
  .hero-visual { height: 440px; }
  .author-photo img { height: 440px; }
  .stakes-list, .format-steps, .offer {
    grid-template-columns: minmax(0, 1fr);
  }
  .scannable-desires .desire-spoilers, .faq-list { margin-top: 28px; }
  .course-flow-steps > li { grid-template-columns: 42px minmax(0, 1fr); }
  .sticky-buy.purchase-dock { padding: 10px 12px; gap: 12px; }
  .purchase-dock .button { font-size: 20px; padding-inline: 14px; gap: 10px; }
}
@media (max-width: 380px) {
  .wrap { width: calc(100% - 32px); }
  .hero-offer { grid-template-columns: minmax(0, 1fr); }
  .discount-badge { max-width: 100%; }
  .price-pair { gap: 10px 16px; }
  .purchase-dock .button { font-size: 18px; }
  .purchase-dock .dock-price strong { font-size: 25px; }
  .course-flow-steps > li { grid-template-columns: 38px minmax(0, 1fr); }
}

/* Keep the page-language selector in the first-screen header on both routes. */
.magic-sky .header{height:auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.magic-sky .header .header-tools{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-basis:auto;margin-left:auto}
.header-language{margin:0;flex-shrink:0}
.header-language a{font-size:18px;min-height:44px;padding:8px 12px}
@media(max-width:760px){
 .magic-sky .header{padding-block:12px;gap:10px 16px}
 .magic-sky .header .course-signature{flex:1 1 220px;min-width:0}
 .magic-sky .header .header-tools{flex:0 0 auto;margin-left:auto}
 .magic-sky .header .header-tools nav{display:none}
}
