/* =====================================================
MOBILE & TABLET OVERRIDES (≤768px) – CORREGIDO
===================================================== */

@media (max-width: 768px) {

  /* ================= ROOT / BODY ================= */

  html,
  body {
    width: 100%;
    overflow-x: hidden;
  }

  body.with-scroll-form {
    padding-bottom: 0 !important;
  }

  /* ================= GLOBAL ================= */

  .section {
    padding: 56px 0;
  }

  h2 {
    font-size: 28px;
    line-height: 1.25;
  }

  p {
    font-size: 15px;
  }

  /* ================= NAV ================= */

  .nav-directv .container,
  .notification-bar .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .notification-bar p {
    font-size: 14px;
  }

  .nav-directv .nav-link {
    padding-top: 20px;
    padding-bottom: 15px;
}

/* ================= NOTIFICATION MOBILE ================= */

  .notification-bar {
    padding: 20px 0; 
  }

  .noti-buttons {
    flex-direction: column;
    gap: 16px;
  }

  .noti-btn {
    width: 100%;
    padding: 15px 0;   
    height: auto;      
    font-size: 15px;   
  }

    .noti-content {
    flex-direction: column;
    align-items: stretch;
  }

  .close-noti {
    position: static;
    transform: none;
    margin-top: 16px;
    width: 100%;
    text-align: center;
    font-size: 18px;
  }

  /* ================= HERO / CAROUSEL ================= */

  .hero-section,
  .carousel-item {
    height: min(100vh, 100svh);
    width: 100%;
    overflow: hidden;
  }

  .hero-content {
    position: relative;
    max-width: 100%;
    margin: 0 auto;               
    padding: 0 20px;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

    transform: none;              
  }

  .hero-content h1 {
    font-size: 1.9rem;
    line-height: 1.25;
    margin-bottom: 16px;
  }

  .btn-hero-cta {
    position: static;
    padding: 12px 32px;
    font-size: 14px;
    margin-top: 16px;
  }

  /* Ocultar texto extra en slide 3 */
  .carousel-item:nth-child(3) .hero-subtitle,
  .carousel-item:nth-child(3) .hero-benefits {
    display: none !important;
  }

  /* ================= TITULOS ================= */

  .title-section,
  .dgo-box h2,
  .video-text h2,
  .feature-card h2,
  .contact-section h2 {
    font-size: 28px;
  }

  /* ================= CTA CONTACTO ================= */

  .cta-contacto {
    padding: 64px 20px;
  }

  .cta-contacto h2 {
    text-align: center;
    font-size: 29px;
  }

  .cta-contacto p {
    text-align: center;
    font-size: 15px;
  }

  .cta-input-group {
    flex-wrap: wrap;
    border-radius: 20px;
  }

  .cta-btn {
    width: 100%;
    margin-top: 8px;
  }

  /* ================= SERVICIOS ================= */

  .servicio-box {
    height: 78px;
    border-radius: 16px;
    gap: 8px;
  }

  .servicio-box i {
    font-size: 20px;
  }

  .servicio-box span {
    font-size: 12px;
  }

  /* ================= PLANES ================= */

  .planes-section {
    padding: 56px 0;
  }

  .planes-header {
    padding: 0 12px;
  }

  .plan-card {
    max-width: 100%;
    padding: 22px;
    border-radius: 20px;
  }

  .plan-title {
    font-size: 20px;
  }

  .plan-price {
    font-size: 28px;
  }

  .plan-price span {
    display: block;
    margin-top: 4px;
  }

  .btn-contratar {
    font-size: 15px;
  }

  /* ================= VIDEO ================= */

  .video-box {
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
  }

  .video-text,
  .video-media {
    width: 100%;
  }

  .video-text {
    padding: 32px 24px;
    text-align: center;
    align-items: center;
  }

  /* ================= FAQ ================= */

  .faq-title {
    font-size: 28px;
    text-align: center;
  }

  .faq-items {
    padding: 0 16px;
  }

  /* ================= CONTACTO ================= */

  .contact-section .col-lg-6.text-center {
    text-align: center !important;
    padding: 20px;
  }

  .contact-form {
    padding: 28px 22px;
  }

  /* ================= FEATURE ================= */

  .feature-card {
    padding: 40px 24px;
    text-align: center;
  }

  /* ================= SCROLL FORM ================= */

  .scroll-form {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

}

/* Tablet */
@media (max-width: 1199px) {
  .banner-desktop { display: none; }
  .banner-tablet { display: block; }
}

/* Mobile */
@media (max-width: 767px) {
  .banner-tablet { display: none; }
  .banner-mobile { display: block; }
}