/* ============================================================
MOBILE URUGUAY
============================================================ */

@media (max-width:1024px) {
  :root { --nav-h:56px; --pad-x:18px; --tel-strip-h:54px; }

  .wrap    { padding:0 var(--pad-x); }
  .section { padding:52px 0; }

  /* ── NAV ── */
  .nav {
    padding:0 var(--pad-x);
    background:rgba(10,21,37,.97) !important;
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(1,115,174,.2);
  }
  .nav__links,
  .nav__ctas { display:none !important; }

  .nav__burger {
    display:flex !important;
    flex-direction:column;
    gap:5px;
    padding:8px;
    z-index:10001;
    margin-left:auto;
  }
  .nav__burger span {
    display:block;
    width:22px; height:2px;
    background:var(--dtv-white);
    border-radius:2px;
  }
  .nav.open .nav__burger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav.open .nav__burger span:nth-child(2) { opacity:0; }
  .nav.open .nav__burger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

  .nav__drawer { padding:16px var(--pad-x) 24px; gap:0; }
  .nav__drawer a {
    font-size:1rem !important;
    font-weight:700 !important;
    padding:12px 0 !important;
    border-bottom:1px solid rgba(1,115,174,.12) !important;
  }

  .nav__logo img { height:34px !important; }
  .pm-logo { width:120px;}

  /* ── FRANJA DE TELÉFONOS — fija debajo del header, siempre visible ── */
  .tel-strip {
    display:flex;
    position:fixed;
    top:var(--nav-h);
    left:0; right:0;
    height:var(--tel-strip-h);
    background:rgba(8,18,32,.97);
    border-bottom:1px solid rgba(1,115,174,.25);
    z-index:9000;
  }
  .tel-strip__item {
    flex:1 1 50%;
    display:flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--font-dtv);
    transition:background .2s;
  }
  .tel-strip__item:active { background:rgba(255,255,255,.06); }
  .tel-strip__item--sales { border-right:1px solid rgba(255,255,255,.1); }
  .tel-strip__item i { font-size:.9rem; flex-shrink:0; }
  .tel-strip__item--sales i { color:var(--dtv-yellow); }
  .tel-strip__item--support i { color:var(--dtv-blue-light); }
  .tel-strip__label {
    display:flex;
    flex-direction:column;
    line-height:1.2;
    min-width:0;
  }
  .tel-strip__label small {
    font-size:8px;
    font-weight:600;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:rgba(255,255,255,.5);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .tel-strip__label strong {
    font-size:12px;
    font-weight:700;
    color:var(--dtv-white);
    white-space:nowrap;
  }

  /* ── HERO ── */
  .hero {
    /* La franja es fixed: el hero se corre él mismo nav + franja */
    margin-top:calc(var(--nav-h) + var(--tel-strip-h)) !important;
    height:calc(100svh - var(--nav-h) - var(--tel-strip-h)) !important;
    min-height:560px !important;
    padding-top:0 !important;
  }
  .hero__viewport,
  .hero__track { height:100% !important; }

  /* Imágenes mobile del carousel Uruguay */
  .slide-1 { background-image:url('../img/carousel/slide-01-mobile.jpg'); background-position:60% 20% !important; }
  .slide-2 { background-image:url('../img/carousel/slide-02-mobile.jpg'); background-position:55% 15% !important; }
  .slide-3 { background-image:url('../img/carousel/slide-03-mobile.jpg'); background-position:50% 20% !important; }

  .hero__bg::after {
    background:linear-gradient(
      175deg,
      rgba(0,0,0,.6) 0%,
      rgba(0,0,0,.45) 40%,
      rgba(0,0,0,.2) 70%,
      rgba(0,0,0,.08) 100%
    ) !important;
  }

  /* Contenido hero */
  .hero__content {
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
    align-items:flex-start !important;
    padding:20px var(--pad-x) 0 !important;
  }
  .hero__left {
    max-width:100% !important;
    width:100% !important;
  }

  /* Eyebrow y h1 */
  .hero__eyebrow { margin-bottom:10px !important; font-size:.62rem !important; }
  .hero__h1 { font-size:clamp(1.7rem, 7.5vw, 2.6rem) !important; margin-bottom:10px !important; }
  .hero__sub { font-size:.82rem !important; margin-bottom:16px !important; line-height:1.55 !important; }

  /* ── CTAs hero ── */
  .hero__direct-ctas {
    margin-top: 10px !important;
    display:flex !important;
    flex-direction:row !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    width:100% !important;
  }

  .hero__cta-call,
  .hero__cta-wa {
    flex:1 1 0 !important;
    min-width:0 !important;
    padding:10px 10px !important;
    border-radius:8px !important;
    gap:7px !important;
    min-height:48px !important;
    max-height:52px !important;
    align-items:center !important;
  }

  .hero__cta-call i,
  .hero__cta-wa i { font-size:.85rem !important; flex-shrink:0 !important; }

  .hero__cta-call span,
  .hero__cta-wa span {
    font-size: .90rem !important;
    display:flex !important;
    flex-direction:column !important;
    line-height:1.15 !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .hero__cta-call small,
  .hero__cta-wa small {
    font-size:.48rem !important;
    letter-spacing:.08em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    opacity:.75 !important;
  }

  .hero__cta-call span > *:last-child,
  .hero__cta-wa span > *:last-child {
    font-size:.72rem !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* ── Precio promo (slides 2 y 3) ── */
  .hero-price { margin-bottom:14px !important; }
  .hero-price--boxed { padding:12px 16px !important; }
  .hero-price__plan { font-size:.72rem !important; margin-bottom:6px !important; }
  .hero-price__label { font-size:.6rem !important; }
  .hero-price__now { font-size:clamp(2rem, 9vw, 2.6rem) !important; }
  .hero-price__suffix { font-size:.62rem !important; }
  .promo-card__included {
    padding:8px 12px !important;
    gap:8px !important;
  }
  .app-icon { height:40px !important; }

  /* Flechas */
  .hero__arrow { width:30px !important; height:30px !important; font-size:9px !important; }
  .hero__arrow--prev { left:6px !important; }
  .hero__arrow--next { right:6px !important; }
  .hero__scroll { display:none !important; }

  /* ── SERVICIOS ── */
  .services__row { grid-template-columns:repeat(3,1fr); }
  .svc { padding:24px 12px; gap:10px; }
  .svc__icon { width:40px; height:40px; font-size:.85rem; }
  .svc__name { font-size:.65rem; }

  /* ── PLANES ── */
  .plans { padding:52px 0; }
  .plans__header {
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin-bottom:18px;
  }
  .plans-grid.active { grid-template-columns:1fr !important; }
  .plan-card:hover { transform:none; }

  /* ── DSPORTS ── */
  .dsports__inner { grid-template-columns:1fr !important; }
  .dsports__info {
    border-right:none !important;
    border-bottom:1px solid rgba(1,115,174,.2);
    padding:36px var(--pad-x);
  }
  .dsports__img-side { padding:20px var(--pad-x); }

  /* ── DGO ── */
  .dgo__inner { grid-template-columns:1fr !important; gap:24px; }
  .dgo__visual { order:2; }
  .dgo__content { order:1; }
  .dgo__btn { width:100%; min-height:48px; justify-content:center; }

  /* ── CTA STRIP ── */
  .cta-strip { padding:36px 0; }
  .cta-strip__inner {
    flex-direction:column;
    align-items:center;
    gap:14px;
    text-align:center;
  }
  .cta-strip__copy { font-size:clamp(1.1rem, 4.5vw, 1.5rem); }
  .cta-strip__right {
    flex-direction:row !important;
    align-items:stretch;
    gap:8px;
    width:100%;
    max-width:360px;
  }
  .cta-strip__btn {
    flex:1 1 0 !important;
    padding:10px 12px !important;
    min-height:48px !important;
    justify-content:center;
    gap:7px !important;
  }
  .cta-strip__btn i { font-size:.9rem !important; }
  .cta-strip__btn small { font-size:.46rem !important; }
  .cta-strip__btn span > *:last-child { font-size:.8rem !important; }

  /* ── FAQ ── */
  .faq { padding:52px 0; }
  .faq__inner { grid-template-columns:1fr !important; gap:24px; }
  .faq-q { font-size:.88rem; padding:18px 0; }

  /* ── CONTACTO ── */
  .contacto { padding:52px 0; }
  .contacto__inner { grid-template-columns:1fr !important; gap:32px; }
  .contact-channels { gap:8px; margin-top:16px; }
  .ch { padding:12px 14px; gap:12px; min-height:56px; }
  .ch:hover { transform:none; }
  .ch__icon { width:44px; height:44px; font-size:1rem; }
  .ch__val { font-size:.95rem !important; }
  .cf-row { grid-template-columns:1fr !important; gap:12px; }
  .cf-submit { width:100%; min-height:48px; align-self:stretch; }

  /* ── FOOTER ── */
  .footer { padding:40px 0 20px; }
  .footer__top { flex-wrap:wrap; gap:20px; margin-bottom:24px; }

  /* ── MODAL ── */
  .pm-box { flex-direction:column; max-width:400px; }
  .pm-right { flex:auto; padding:28px 18px 24px; }
  .pm-plans { grid-template-columns:1fr 1fr; gap:8px; }
  .pm-plan__price { font-size:1.5rem; }
  .pm-left { padding:28px 18px 24px; }
}

/* ── FLOATING CONTACT BUTTONS ── */
@media (max-width:1024px) {
  .fab-stack { bottom:calc(16px + env(safe-area-inset-bottom)) !important; right:16px; gap:10px; }
  .fab-btn { padding:5px 14px 5px 5px; }
  .fab-btn__icon { width:34px; height:34px; font-size:.95rem; }
  .fab-btn__label { font-size:.74rem; }
  .fab-menu { width:220px; bottom:calc(100% + 8px); }
  .fab-menu a { font-size:13px !important; padding:9px 8px; }
}

@media (max-width:480px) {
  .fab-btn__label { display:none; }
  .fab-btn { padding:5px; }
  .fab-menu { width:200px; }
}

/* ── Extra small ── */
@media (max-width:640px) {
  .services__row { grid-template-columns:repeat(2,1fr); }
  .footer__top { flex-direction:column; }
  .footer__bottom { flex-direction:column; align-items:flex-start; }

  .hero__cta-call small,
  .hero__cta-wa small {
    font-size:.38rem !important;
  }
  .hero__cta-call span > *:last-child,
  .hero__cta-wa span > *:last-child {
    font-size:.55rem !important;
  }
}