/*
 * AdPilot Media – responsive.css
 * All breakpoint rules for the theme. Loaded after style.css.
 * Breakpoints: 1200 / 1100 / 1024 / 992 / 900 / 782 / 768 / 640 / 540 / 480 / 400 / 380 / 360
 */

@media (max-width: 992px) {

  .navbar-desktop-nav,
  .navbar-desktop-actions {
    display: none !important;
  }

  .navbar-mobile-controls {
    display: flex !important;
  }
}

@media (max-width: 480px) {
  .navbar-container {
    padding: 8px 14px;
  }

  .navbar-brand-name {
    font-size: 1.05rem;
  }

  .navbar-brand-badge {
    display: none;
  }

  .navbar-mobile-cta {
    padding: 6px 10px;
    font-size: 0.74rem;
  }

  .navbar-hamburger {
    width: 36px;
    height: 36px;
  }
}

@media (max-width: 480px) {
  .marquee-section {
    padding: 11px 0;
  }

  .marquee-item {
    font-size: 0.64rem;
    padding: 0 20px;
  }
}

@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .hero-text-col {
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

  .hero-headline {
    text-align: center;
  }

  .hero-headline-bar {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-desc {
    text-align: center;
    max-width: 600px;
  }

  .hero-cta-group {
    justify-content: center;
  }

  .hero-stats-grid {
    max-width: 600px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .hero-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 100%;
  }

  .hero-orbit-chips {
    display: flex;
  }

  .service-modal-features-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  .hero-main-wrapper {
    padding: 28px 14px 36px;
  }

  .hero-badge {
    font-size: 0.68rem;
    padding: 6px 14px;
    letter-spacing: 0.8px;
    margin-bottom: 16px;
  }

  .hero-headline {
    font-size: clamp(2.1rem, 9.5vw, 2.7rem);
    line-height: 1.1;
    margin-bottom: 14px;
  }

  .hero-desc {
    font-size: 0.92rem;
    line-height: 1.7;
    margin-bottom: 22px;
  }

  .hero-cta-group {
    flex-direction: column;
    width: 100%;
    gap: 10px;
    margin-bottom: 24px;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    width: 100%;
    padding: 13px 20px;
    font-size: 0.94rem;
  }

  .hero-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .hero-stat-card {
    padding: 10px 12px;
    border-radius: 12px;
  }

  .hero-stat-num {
    font-size: 1.35rem;
  }

  .hero-stat-label {
    font-size: 0.62rem;
    letter-spacing: 0.5px;
  }

  .service-modal-card {
    max-height: 92vh;
    border-radius: 20px;
  }

  .service-modal-footer {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .service-modal-cta {
    width: 100%;
    justify-content: center;
  }

  .clients-strip-wrapper {
    padding: 36px 0 28px;
  }

  .clients-strip-header {
    padding: 0 16px;
    margin-bottom: 20px;
  }
}

@media (max-width: 380px) {
  .hero-headline {
    font-size: 1.95rem;
  }

  .hero-badge {
    font-size: 0.64rem;
  }

  .hero-stat-num {
    font-size: 1.25rem;
  }
}

@media (max-width: 640px) {
  .clients-strip-section {
    padding: 28px 0;
  }

  .client-card {
    min-width: 160px;
    padding: 8px 12px;
  }

  .client-card-logo-box {
    width: 38px;
    height: 38px;
  }

  .client-card-name {
    font-size: 0.82rem;
  }
}

@media (max-width: 1100px) {
  .services-grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .services-section {
    padding: 48px 16px;
  }

  .services-grid-container {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .service-card-item {
    border-radius: 20px;
  }

  .service-card-header {
    padding: 22px 16px 18px;
  }

  .service-icon-box {
    width: 64px;
    height: 64px;
    margin-bottom: 12px;
  }

  .service-card-body {
    padding: 18px;
  }

  .service-stats-grid {
    gap: 6px;
    margin-bottom: 14px;
  }

  .service-stat-chip {
    padding: 6px 4px;
  }

  .service-stat-num {
    font-size: 0.95rem;
  }

  .service-stat-lbl {
    font-size: 0.58rem;
  }
}

@media (max-width: 480px) {
  .services-section {
    padding: 36px 12px;
  }

  .services-filters-wrap {
    gap: 6px;
    margin-bottom: 24px;
  }

  .services-filter-btn {
    padding: 6px 12px;
    font-size: 0.72rem;
  }

  .service-card-body {
    padding: 14px;
  }

  .service-point-item {
    font-size: 0.76rem;
    gap: 7px;
  }

  .service-card-cta {
    padding: 10px 14px;
    font-size: 0.82rem;
  }
}

@media (max-width: 1024px) {
  .process-grid-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .process-connector-arrow {
    display: none;
  }
}

@media (max-width: 680px) {
  .process-section-root {
    padding: 40px 14px;
  }

  .process-grid-container {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .process-card-item {
    border-radius: 20px;
    padding: 22px 16px;
  }

  .process-icon-bubble {
    width: 54px;
    height: 54px;
    margin-bottom: 14px;
  }

  .process-step-indicator {
    margin-bottom: 14px;
  }
}

@media (max-width: 1024px) {
  .about-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-cta-btn {
    align-self: flex-start;
  }
}

@media (max-width: 640px) {
  .about-section {
    padding: 40px 14px;
  }

  .about-checklist-item {
    padding: 8px 10px;
    gap: 8px;
    font-size: 0.8rem;
  }

  .about-cta-btn {
    width: 100%;
    justify-content: center;
  }

  .about-stat-mini-card {
    padding: 10px;
    gap: 8px;
  }

  .about-stat-icon-box {
    width: 34px;
    height: 34px;
  }

  .about-value-card {
    padding: 12px 14px;
    gap: 10px;
  }

  .about-value-icon {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 400px) {
  .about-stats-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 880px) {
  .cta-banner-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: center;
  }

  .cta-banner-content {
    align-items: center;
  }

  .cta-banner-badge {
    align-self: center;
  }

  .cta-banner-actions {
    flex-direction: row;
    justify-content: center;
    width: 100%;
  }

  .cta-btn-primary,
  .cta-btn-whatsapp {
    flex: 1;
    padding: 13px 18px;
  }
}

@media (max-width: 540px) {
  .cta-banner-wrapper {
    padding: 28px 16px;
    width: calc(100% - 20px);
    margin: 32px auto;
  }

  .cta-banner-actions {
    flex-direction: column;
    width: 100%;
  }

  .cta-btn-primary,
  .cta-btn-whatsapp {
    width: 100%;
  }
}

@media (max-width: 1100px) {
  .results-cases-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .platform-images-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .results-stats-bar {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .results-cases-grid {
    grid-template-columns: 1fr;
  }

  .platform-images-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .platform-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .platform-stats-chips {
    width: 100%;
  }

  .platform-chip {
    flex: 1 1 calc(33% - 6px);
  }

  .results-cta-banner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .results-cta-btn {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .results-section {
    padding: 40px 12px;
  }

  .results-stats-bar {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .results-stat-card {
    padding: 10px 8px;
    border-radius: 12px;
  }

  .results-stat-num {
    font-size: 1.25rem;
  }

  .platform-images-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .platform-img-box {
    height: 125px;
  }

  .platform-proof-footer {
    padding: 8px 10px;
  }

  .platform-proof-label {
    font-size: 0.72rem;
  }

  .results-lightbox-container {
    flex-direction: column;
  }

  .results-lightbox-nav {
    display: none;
  }
}

@media (max-width: 360px) {
  .platform-images-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .team-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
}

@media (max-width: 768px) {
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .team-filter-bar {
    gap: 6px;
  }

  .team-filter-btn {
    padding: 6px 14px;
    font-size: 0.76rem;
  }
}

@media (max-width: 480px) {
  .team-section {
    padding: 40px 12px;
  }

  .team-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .team-card {
    padding: 14px 10px;
    border-radius: 16px;
  }

  .team-avatar-box {
    width: 76px;
    height: 76px;
    border-radius: 14px;
    margin-bottom: 10px;
  }

  .team-member-name {
    font-size: 0.88rem;
  }

  .team-member-role {
    font-size: 0.65rem;
    margin-bottom: 6px;
  }

  .team-member-bio {
    font-size: 0.72rem;
    line-height: 1.4;
    margin-bottom: 8px;
  }

  .team-modal-card {
    border-radius: 20px;
  }
}

@media (max-width: 360px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1200px) {
  .reviews-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 900px) {
  .reviews-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .reviews-trust-bar {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .reviews-view-toggle {
    display: flex;
  }

  /* Grid View on Mobile */
  .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  /* If in carousel mode on mobile */
  .reviews-grid.mode-carousel {
    display: none;
  }

  .reviews-mobile-slider.mode-carousel {
    display: flex;
  }

  .reviews-dots.mode-carousel {
    display: flex;
  }
}

@media (max-width: 480px) {
  .reviews-section {
    padding: 40px 12px;
  }

  .reviews-grid {
    gap: 8px;
  }

  .reviews-card {
    border-radius: 14px;
  }

  .reviews-card-footer {
    padding: 6px 8px;
  }

  .reviews-card-tag {
    font-size: 0.58rem;
  }

  .reviews-card-verified {
    font-size: 0.56rem;
  }

  .reviews-lightbox-nav {
    display: none;
  }
}

@media (max-width: 1024px) {
  .contact-grid-wrap {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .contact-info-col {
    order: 2;
  }

  .contact-form-card {
    order: 1;
  }
}

@media (max-width: 640px) {
  .contact-section {
    padding: 40px 14px;
  }

  .contact-form-card {
    padding: 20px 16px;
    border-radius: 18px;
  }

  .contact-form-row {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 0;
  }

  .contact-info-card {
    padding: 14px;
    gap: 12px;
  }

  .contact-info-icon-box {
    width: 38px;
    height: 38px;
  }

  .contact-info-val {
    font-size: 0.88rem;
  }

  .contact-map-frame {
    height: 220px;
  }
}

@media (max-width: 400px) {
  .contact-form-card {
    padding: 18px 12px;
  }

  .contact-input,
  .contact-select,
  .contact-textarea {
    padding: 10px 12px;
    font-size: 0.88rem;
  }
}

@media (max-width: 1100px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (max-width: 600px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-bottom-bar {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
  }

  .footer-legal-links {
    justify-content: center;
    gap: 14px;
  }

  .footer-wa-float {
    width: 48px;
    height: 48px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    right: 16px;
  }
}

@media (max-width: 992px) {
  .sp-hero-container {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .sp-stats-column {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .sp-stat-item-card {
    flex: 1 1 calc(33% - 10px);
  }

  .sp-packages-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .sp-hero-section {
    padding: 40px 16px 36px;
  }

  .sp-stats-column {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .sp-stat-item-card {
    padding: 10px 8px;
  }

  .sp-stat-num {
    font-size: 1.3rem;
  }

  .sp-stat-lbl {
    font-size: 0.58rem;
  }

  .sp-packages-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .sp-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .sp-hero-btn-primary,
  .sp-hero-btn-secondary {
    justify-content: center;
  }
}

@media (max-width: 400px) {
  .sp-stats-column {
    grid-template-columns: 1fr;
  }
}

/* ---- integration breakpoints (header, drawer, perf) ---- */
@media (max-width: 782px) { body.admin-bar .navbar-header { top: 46px; } }
@media (max-width: 640px) { .adp-lb-close { top: 8px; right: 8px; transform: none; z-index: 2; background: rgba(0,0,0,.55); } }
@media (max-width: 700px) { .adp-lb-prev { left: 4px; } .adp-lb-next { right: 4px; } .adp-lb-prev, .adp-lb-next { background: rgba(0,0,0,.5); } }
@media (max-width: 992px) {
  *, *::before, *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  [class*="-orb-"], [class*="glow-blob"], .hero-orbit-ambient-aura, .hero-grid-overlay { display: none !important; }
  .navbar-header { background: rgba(3,7,18,.94); }
  [data-theme="light"] .navbar-header { background: rgba(255,255,255,.97) !important; }
}

/* ==========================================================================
   ADPILOT – RESPONSIVE INTEGRATION (header, drawer, floating buttons, page shells)
   ========================================================================== */
@media (max-width: 1180px) {
  .navbar-link { padding: 8px 9px; font-size: .86rem; }
  .navbar-nav-icon { display: none; }
  .navbar-phone span { display: none; }
}
@media (max-width: 992px) {
  .navbar-desktop-nav-wrap, .navbar-desktop-actions { display: none !important; }
  .navbar-mobile-controls { display: flex !important; margin-left: auto; }
  .navbar-container { padding: 10px 16px; }
}
@media (min-width: 993px) {
  .navbar-drawer-panel, .navbar-drawer-backdrop { display: none !important; }
}
@media (max-width: 782px) {
  .adp-float { bottom: calc(14px + env(safe-area-inset-bottom, 0px)); gap: 10px; }
  .adp-float-btn { width: 52px; height: 52px; }
  .adp-float-btn svg { width: 24px; height: 24px; }
  .adp-float-label { display: none; }
}
@media (max-width: 640px) {
  .navbar-brand-name { font-size: 1.05rem; }
  .adp-page-section { padding: 40px 16px; }
  .hero-orbit-chips-list { flex-wrap: wrap; justify-content: center; }
  .contact-form-row { grid-template-columns: 1fr !important; }
  .sp-hero-actions { flex-direction: column; align-items: stretch; }
  .sp-hero-actions a { justify-content: center; text-align: center; }
  .footer-bottom-bar { flex-wrap: wrap; justify-content: center; text-align: center; gap: 12px; }
}
@media (max-width: 480px) {
  .navbar-brand-badge { display: none; }
  .navbar-container { padding: 8px 12px; gap: 10px; }
  .navbar-hamburger { width: 40px; height: 40px; }
  .navbar-logo-wrap { width: 38px; height: 38px; }
}
@media (max-width: 380px) {
  .navbar-brand-name { font-size: .95rem; }
  .navbar-drawer-panel { width: 92vw; }
}
/* Scale the hero orbit down on small screens instead of letting it overflow */
@media (max-width: 560px) {
  .hero-orbit-container { transform: scale(.72); transform-origin: top center; margin-bottom: -120px; }
}
@media (max-width: 400px) {
  .hero-orbit-container { transform: scale(.62); margin-bottom: -170px; }
}
