/* ═══════════════════════════════════════════════════════════
   GTV Pro — 100% responsive (Xtra-style breakpoint model)
   Research only: Xtra uses desktop / tablet (≤1024) / mobile
   with full-width cols, overflow-x hidden, stacked header,
   and shorter RevSlider covers on tablet.
   Original CSS — not a copy of licensed theme source.
   ═══════════════════════════════════════════════════════════ */

/* Base fluid (all viewports) — Xtra: body/layout max-width 100%, overflow-x hidden */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html {
  overflow-x: auto;
  overflow-y: scroll; /* always allow vertical scroll */
  height: auto;
  max-height: none;
}
body.yb-client-stack,
body.gtv-mp {
  --gtv-page-max: 1180px;
  --gtv-page-gutter: 24px;
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  position: static !important;
}
/* Shared content shell — EVERY content chrome aligns to header gutters */
body.gtv-mp .gtv-pro-container,
body.gtv-mp .yb-client-nav__inner,
body.gtv-mp .gtv-pro-topbar__inner,
body.gtv-mp .gtv-pro-menubar__inner,
body.gtv-mp .gtv-pro-footer__grid,
body.gtv-mp .gtv-pro-footer__bottom,
body.gtv-mp .gtv-w3__inner,
body.gtv-mp .gtv-mp-band__cards,
body.gtv-mp .gtv-pro-footer__inner,
body.gtv-mp .yb-wrap {
  width: min(var(--gtv-page-max), calc(100% - (var(--gtv-page-gutter) * 2))) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
/* Sections full-bleed for bg only; clip horizontal bleed from transforms */
body.gtv-mp .gtv-pro-topbar,
body.gtv-mp .gtv-pro-menubar,
body.gtv-mp .gtv-pro-footer,
body.gtv-mp .gtv-pro-section,
body.gtv-mp .gtv-mp-cinema,
body.gtv-mp .gtv-mp-band,
body.gtv-mp .yb-client-content {
  max-width: 100% !important;
  box-sizing: border-box;
}
/* Do NOT set overflow on main content — it blocks page scroll */
body.gtv-mp .yb-client-content {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
/* Gambit wrappers stay full-width of section; nested container holds gutters */
body.gtv-mp .gambit_row_scroll_parent,
body.gtv-mp .gambit_row_scroll_wrapper,
body.gtv-mp .gambit_row_scroll {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
body.gtv-mp .gambit_row_scroll_parent .gtv-pro-container,
body.gtv-mp .gambit_row_scroll_wrapper .gtv-pro-container,
body.gtv-mp .gambit_row_scroll .gtv-pro-container {
  width: min(var(--gtv-page-max), calc(100% - (var(--gtv-page-gutter) * 2))) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.gtv-mp .gtv-pro-topbar__inner,
body.gtv-mp .gtv-pro-menubar__inner {
  min-width: 0;
}
/* All interactive/content chrome capped to shell */
body.gtv-mp .gtv-pro-menubar__right,
body.gtv-mp .gtv-pro-menu,
body.gtv-mp .gtv-w3__panel,
body.gtv-mp .gtv-w3__status,
body.gtv-mp .gtv-w3__tags,
body.gtv-mp .gtv-w3__actions,
body.gtv-mp .gtv-w3__stats,
body.gtv-mp .gtv-pro-grid,
body.gtv-mp .gtv-pro-feature,
body.gtv-mp .gtv-pro-heading,
body.gtv-mp .gtv-pro-cta__box,
body.gtv-mp .gtv-pro-card {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body.gtv-mp img,
body.gtv-mp video,
body.gtv-mp svg,
body.gtv-mp iframe {
  max-width: 100%;
  height: auto;
}
/* Full-bleed media only (bg video/img) may escape; UI cannot */
body.gtv-mp .gtv-w3__fx,
body.gtv-mp .gtv-mp-band__video {
  max-width: none;
  left: 0; right: 0;
}
body.gtv-mp *,
body.gtv-mp *::before,
body.gtv-mp *::after {
  box-sizing: border-box;
}

/* Touch-friendly defaults */
body.gtv-mp a,
body.gtv-mp button {
  -webkit-tap-highlight-color: transparent;
}



/* ─────────────────────────────────────────────────────────
   LAPTOP — Xtra core-laptop: tighten layout ~94% / 90%
   max-width: 1200px (between desktop and tablet)
   ───────────────────────────────────────────────────────── */
@media (max-width: 1200px) and (min-width: 1025px) {
  body.gtv-mp {
    --gtv-page-gutter: 22px;
  }
  body.gtv-mp .gtv-pro-container,
  body.gtv-mp .gtv-pro-menubar__inner,
  body.gtv-mp .gtv-pro-topbar__inner,
  body.gtv-mp .gtv-w3__inner,
  body.gtv-mp .gtv-mp-band__cards {
    width: min(1100px, calc(100% - (var(--gtv-page-gutter) * 2))) !important;
  }
  body.gtv-mp .gtv-pro-hero__grid {
    gap: 28px;
  }
  body.gtv-mp .gtv-pro-title--xl {
    font-size: clamp(2.2rem, 4vw, 3.2rem) !important;
  }
}

/* ─────────────────────────────────────────────────────────
   TABLET — Xtra core-tablet (~max 1024)
   full-width cols, stacked rows, shorter rev cover (~400px)
   ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  body.gtv-mp {
    --gtv-page-gutter: 16px;
  }


  /* Header: hamburger menu (Xtra switches mobile header) */
  body.gtv-mp .gtv-pro-nav-toggle {
    display: inline-flex !important;
  }
  body.gtv-mp .gtv-pro-menubar__right {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: #fff;
    border-bottom: 1px solid var(--gtv-pro-line, rgba(11,31,58,.1));
    box-shadow: 0 18px 40px rgba(11, 31, 58, 0.12);
    padding: 12px 16px 18px;
    z-index: 50;
  }
  body.gtv-mp .gtv-pro-menubar__right.is-open {
    display: flex !important;
  }
  body.gtv-mp .gtv-pro-menu {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
    gap: 0 !important;
  }
  body.gtv-mp .gtv-pro-menu > li > a {
    display: block !important;
    padding: 14px 12px !important;
    border-radius: 10px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 1rem !important;
  }
  body.gtv-mp .gtv-pro-menu > li > a:hover,
  body.gtv-mp .gtv-pro-menu > .current-menu-item > a {
    box-shadow: none !important;
    background: rgba(71, 215, 172, 0.12) !important;
  }
  body.gtv-mp .gtv-pro-menubar__cta {
    margin: 10px 0 0 !important;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  body.gtv-mp .gtv-pro-menubar__cta .gtv-pro-btn {
    width: 100%;
    justify-content: center;
  }
  body.gtv-mp .gtv-pro-menubar {
    position: relative;
  }
  body.gtv-mp .gtv-pro-topbar__right {
    display: none !important;
  }
  body.gtv-mp .gtv-pro-topbar__inner {
    min-height: 32px;
    font-size: 0.75rem;
  }

  /* Grids → 2 col (Xtra tablet stacks eventually) */
  body.gtv-mp .gtv-pro-grid--3,
  body.gtv-mp .gtv-pro-grid--4,
  body.gtv-mp .gtv-pro-cols-3,
  body.gtv-mp .gtv-pro-cols-4,
  body.gtv-mp .gtv-pro-steps,
  body.gtv-mp .gtv-pro-stats,
  body.gtv-mp .gtv-pro-testimonials,
  body.gtv-mp .gtv-pro-pricing {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.gtv-mp .gtv-pro-hero__grid,
  body.gtv-mp .gtv-pro-feature,
  body.gtv-mp .gtv-pro-feature--reverse,
  body.gtv-mp .gtv-pro-feature--tight,
  body.gtv-mp .gtv-pro-cta__box,
  body.gtv-mp .gtv-pro-cols-2,
  body.gtv-mp .gtv-pro-cols-1-2,
  body.gtv-mp .gtv-pro-cols-2-1 {
    grid-template-columns: 1fr !important;
  }
  body.gtv-mp .gtv-pro-feature--reverse {
    direction: ltr !important;
  }
  body.gtv-mp .gtv-pro-footer__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px;
  }

  /* Hero / multipurpose */
  body.gtv-mp .gtv-pro-hero,
  body.gtv-mp .gtv-pro-hero--photo-bg {
    padding: 36px 0 72px !important;
  }
  body.gtv-mp .gtv-pro-hero::after {
    height: 56px;
  }
  body.gtv-mp .gtv-pro-hero .gtv-pro-title,
  body.gtv-mp .gtv-pro-hero .gtv-pro-title--xl {
    max-width: none !important;
    font-size: clamp(2rem, 6vw, 3rem) !important;
  }
  body.gtv-mp .gtv-pro-proof {
    max-width: 100%;
  }

  /* Web3 hero — tablet */
  body.gtv-mp .gtv-mp-cinema.gtv-w3 {
    min-height: clamp(640px, 85vh, 860px) !important;
  }
  body.gtv-mp .gtv-w3__title {
    font-size: clamp(2.15rem, 5.5vw, 3rem) !important;
  }
  body.gtv-mp .gtv-w3__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  body.gtv-mp .gtv-w3__hud {
    inset: 0 !important;
  }

  /* Services band cards */
  body.gtv-mp .gtv-mp-band {
    clip-path: polygon(0 0, 100% 3%, 100% 100%, 0 97%);
    padding: 48px 0 80px;
    margin: 24px 0;
  }
  body.gtv-mp .gtv-mp-band__cards {
    margin-top: -48px !important;
    margin-bottom: 40px !important;
  }

  /* Photo strip 3-up */
  body.gtv-mp .gtv-pro-photo-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  /* Section headings stack */
  body.gtv-mp .gtv-pro-heading,
  body.gtv-mp .gtv-pro-section .gtv-pro-heading {
    display: block !important;
  }
  body.gtv-mp .gtv-pro-heading__sub {
    margin-top: 12px !important;
  }

  /* Center key blocks on tablet like Xtra page-title */
  body.gtv-mp .gtv-pro-heading--center,
  body.gtv-mp .gtv-pro-page-header {
    text-align: center;
  }
}

/* ─────────────────────────────────────────────────────────
   MOBILE — Xtra core-mobile (~max 768)
   single column, full-width, larger touch, center actions
   ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  body.gtv-mp {
    font-size: 15px;
    line-height: 1.5;
  }
  body.gtv-mp .gtv-pro-container,
  body.gtv-mp .gtv-pro-menubar__inner,
  body.gtv-mp .gtv-pro-topbar__inner,
  body.gtv-mp .gtv-pro-footer__grid,
  body.gtv-mp .gtv-pro-footer__bottom {
    width: calc(100% - 24px);
  }

  body.gtv-mp .gtv-pro-brand__name {
    font-size: 1rem !important;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.gtv-mp .yb-mark,
  body.gtv-mp .yb-mark--img {
    width: 34px !important;
    height: 34px !important;
  }

  /* Topbar: phone only */
  body.gtv-mp .gtv-pro-topbar__left a:nth-child(2) {
    display: none;
  }

  /* All grids single column */
  body.gtv-mp .gtv-pro-grid,
  body.gtv-mp .gtv-pro-grid--2,
  body.gtv-mp .gtv-pro-grid--3,
  body.gtv-mp .gtv-pro-grid--4,
  body.gtv-mp .gtv-pro-steps,
  body.gtv-mp .gtv-pro-stats,
  body.gtv-mp .gtv-pro-testimonials,
  body.gtv-mp .gtv-pro-pricing,
  body.gtv-mp .gtv-pro-proof,
  body.gtv-mp .gtv-pro-footer__grid,
  body.gtv-mp .gtv-pro-cols-2,
  body.gtv-mp .gtv-pro-cols-3,
  body.gtv-mp .gtv-pro-cols-4 {
    grid-template-columns: 1fr !important;
  }

  /* Actions full width */
  body.gtv-mp .gtv-pro-actions {
    flex-direction: column;
    align-items: stretch;
  }
  body.gtv-mp .gtv-pro-actions .gtv-pro-btn {
    width: 100%;
    justify-content: center;
  }

  /* Hero multipurpose light */
  body.gtv-mp .gtv-pro-hero,
  body.gtv-mp .gtv-pro-hero--photo-bg {
    padding: 28px 0 56px !important;
    text-align: left;
  }
  body.gtv-mp .gtv-pro-hero::after {
    height: 40px;
    clip-path: polygon(0 100%, 100% 100%, 100% 55%, 0 100%);
  }
  body.gtv-mp .gtv-pro-hero-photo {
    margin-top: 8px;
    aspect-ratio: 16 / 10 !important;
  }
  body.gtv-mp .gtv-pro-chip-row {
    justify-content: flex-start;
  }
  body.gtv-mp .gtv-pro-proof {
    grid-template-columns: 1fr !important;
  }

  /* Web3 hero — phone (taller fold) */
  body.gtv-mp .gtv-mp-cinema.gtv-w3 {
    min-height: clamp(620px, 88vh, 820px) !important;
  }
  body.gtv-mp .gtv-w3__inner {
    padding: 48px 0 56px !important;
    display: flex !important;
    align-items: center !important;
  }
  body.gtv-mp .gtv-w3__panel {
    padding: 18px 16px !important;
    border-radius: 14px !important;
  }
  body.gtv-mp .gtv-w3__title {
    font-size: clamp(1.9rem, 8.5vw, 2.35rem) !important;
  }
  body.gtv-mp .gtv-w3__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.gtv-mp .gtv-w3__status {
    font-size: 10px !important;
  }
  body.gtv-mp .gtv-w3__hud {
    inset: 0 !important;
  }
  body.gtv-mp .gtv-w3__corner {
    width: 16px !important;
    height: 16px !important;
  }

  /* Band */
  body.gtv-mp .gtv-mp-band {
    clip-path: none;
    border-radius: 0;
    padding: 40px 0 64px;
  }
  body.gtv-mp .gtv-mp-band__cards {
    margin-top: -36px !important;
  }
  body.gtv-mp .gtv-mp-band .gtv-pro-heading {
    text-align: center;
  }
  body.gtv-mp .gtv-mp-band .gtv-pro-heading__sub {
    margin-left: auto;
    margin-right: auto;
  }

  /* Photo strip 2-up */
  body.gtv-mp .gtv-pro-photo-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  /* Cards */
  body.gtv-mp .gtv-pro-card,
  body.gtv-mp .gtv-pro-card--media {
    border-radius: 14px !important;
  }
  body.gtv-mp .gtv-pro-card__body {
    padding: 16px 16px 18px !important;
  }

  /* Feature founder */
  body.gtv-mp .gtv-pro-feature__media--photo,
  body.gtv-mp .gtv-pro-feature__media--founder {
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
  }
  body.gtv-mp .gtv-pro-feature__media--founder {
    aspect-ratio: 1 !important;
    max-width: 320px;
    margin: 0 auto;
  }

  /* Steps / stats */
  body.gtv-mp .gtv-pro-step {
    text-align: left;
  }
  body.gtv-mp .gtv-pro-stat {
    padding: 8px 0;
  }
  body.gtv-mp .gtv-pro-stat strong {
    font-size: clamp(1.6rem, 8vw, 2.2rem) !important;
  }

  /* CTA */
  body.gtv-mp .gtv-pro-cta__box {
    padding: 24px 20px !important;
    border-radius: 16px !important;
    text-align: center;
  }
  body.gtv-mp .gtv-pro-cta__box .gtv-pro-actions {
    justify-content: center;
  }

  /* Footer */
  body.gtv-mp .gtv-pro-footer {
    padding-top: 40px !important;
  }
  body.gtv-mp .gtv-pro-footer__grid {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
  body.gtv-mp .gtv-pro-footer__brand .gtv-pro-brand {
    justify-content: center;
  }
  body.gtv-mp .gtv-pro-footer__col a {
    padding: 8px 0 !important;
  }
  body.gtv-mp .gtv-pro-footer__bottom {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }

  /* Logos wrap */
  body.gtv-mp .gtv-pro-logos {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  body.gtv-mp .gtv-pro-logos__row,
  body.gtv-mp .gtv-pro-logos__track {
    justify-content: center !important;
  }

  /* FAQ full width */
  body.gtv-mp .gtv-pro-faq {
    max-width: 100% !important;
  }

  /* Section pad reduce */
  body.gtv-mp .gtv-pro-pad-lg {
    padding: 48px 0 !important;
  }
  body.gtv-mp .gtv-pro-pad-md {
    padding: 36px 0 !important;
  }
  body.gtv-mp .gtv-pro-pad-xl {
    padding: 56px 0 !important;
  }

  /* Page content shell */
  body.gtv-mp .yb-page:not(.yb-page--pro) {
    width: calc(100% - 24px) !important;
    margin: 24px auto 48px !important;
  }
  body.gtv-mp .yb-page article h1 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
  }

  /* Contact strip stack */
  body.gtv-mp .gtv-pro-contact-strip {
    flex-direction: column;
  }
  body.gtv-mp .gtv-pro-contact-strip a {
    width: 100%;
    justify-content: center;
  }
}

/* ─────────────────────────────────────────────────────────
   SMALL PHONE — max 480 (Xtra mobile fine-tune)
   ───────────────────────────────────────────────────────── */
@media (max-width: 480px) {
  body.gtv-mp {
    --gtv-page-gutter: 14px;
  }

  body.gtv-mp .gtv-pro-photo-strip {
    grid-template-columns: 1fr 1fr !important;
  }
  body.gtv-mp .gtv-w3__tags code {
    font-size: 10px !important;
    padding: 5px 8px !important;
  }
  body.gtv-mp .gtv-pro-title--lg {
    font-size: clamp(1.55rem, 7.5vw, 2rem) !important;
  }
  body.gtv-mp input,
  body.gtv-mp textarea,
  body.gtv-mp select {
    font-size: 16px !important; /* prevent iOS zoom */
  }
}

/* ─────────────────────────────────────────────────────────
   DESKTOP+ — min 1025 (Xtra desktop file loads above this)
   ensure hamburger hidden, full menu
   ───────────────────────────────────────────────────────── */
@media (min-width: 1025px) {
  body.gtv-mp .gtv-pro-nav-toggle {
    display: none !important;
  }
  body.gtv-mp .gtv-pro-menubar__right {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
  }
  body.gtv-mp .gtv-pro-menu {
    flex-direction: row !important;
  }
}

/* Landscape phones */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  body.gtv-mp .gtv-mp-cinema.gtv-w3 {
    min-height: 100vh !important;
  }
  body.gtv-mp .gtv-w3__stats {
    display: none !important;
  }
}

/* Prefers reduced motion already handled in multipurpose.css */
/* High-DPI images stay crisp via object-fit cover */

/* Print */
@media print {
  body.gtv-mp .gtv-pro-topbar,
  body.gtv-mp .gtv-pro-nav-toggle {
    display: none !important;
  }
  body.gtv-mp .gtv-mp-cinema {
    min-height: 0 !important;
    padding: 24px 0 !important;
  }
  body.gtv-mp .gtv-mp-cinema__bg {
    animation: none !important;
    opacity: 1 !important;
  }
}

/* Image marquee must stay single-line on all breakpoints */
@media (max-width: 1024px) {
  body.gtv-mp .gtv-pro-logos--images,
  body.gtv-mp .gtv-pro-logos--images .gtv-pro-logos__track,
  body.gtv-mp .gtv-pro-logos--images .gtv-pro-logos__group {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }
  body.gtv-mp .gtv-pro-logos--images {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}
@media (max-width: 768px) {
  body.gtv-mp .gtv-pro-logos {
    flex-direction: column !important;
  }
  body.gtv-mp .gtv-pro-logos--images .gtv-pro-logos__track {
    flex-wrap: nowrap !important;
  }
}


/* Marquee track may scroll; keep chrome inside page shell */
body.gtv-mp .gtv-pro-logos--images .gtv-pro-logos__head {
  width: min(var(--gtv-page-max, 1180px), calc(100% - (var(--gtv-page-gutter, 18px) * 2)));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
body.gtv-mp .gtv-pro-logos__viewport {
  max-width: 100%;
  overflow: hidden;
}
