/**
 * Panasweb — Sobre nosotros (about): responsive tipo app
 */

/* Tarjeta: explorar servicios (sustituye bloque de clientes) */
.panasweb-feature-services-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  text-align: left;
  padding: 8px 4px;
}

.panasweb-feature-services-cta__text {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.6;
  font-weight: 500;
  color: var(--dark-color, #0b2135);
}

.panasweb-feature-services-cta .theme-btn {
  align-self: flex-start;
}

/* Migas de pan */
@media (max-width: 991px) {
  .tv-breadcrumb-section .tv-breadcrumb-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: var(--app-radius) !important;
    padding: 20px 0;
  }

  .tv-breadcrumb-section .title-outer {
    text-align: center;
  }

  .tv-breadcrumb-section .page-title .title {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
    line-height: 1.25;
  }

  .tv-breadcrumb-section .page-breadcrumb {
    justify-content: center;
    font-size: var(--app-body);
  }

  .tv-breadcrumb-section .image-box {
    display: none;
  }
}

/* Tarjetas destacadas */
@media (max-width: 991px) {
  .tv-feature-section .tv-feature-item,
  .tv-feature-section .tv-feature-box {
    border-radius: var(--app-radius);
    padding: 18px 16px;
    text-align: center;
  }

  .tv-feature-section .tv-feature-box h2 {
    font-size: clamp(1.1rem, 4vw, 1.3rem);
    line-height: 1.35;
  }

  .tv-feature-section .tv-feature-box p {
    font-size: var(--app-body);
    line-height: 1.55;
  }

  .tv-feature-section .tv-feature-box .logo img,
  .tv-feature-section .tv-feature-box .logo.mb-40 {
    max-width: 48px;
    margin-bottom: 12px !important;
  }

  .panasweb-feature-services-cta {
    align-items: center;
    text-align: center;
    padding: 4px 0;
  }

  .panasweb-feature-services-cta__text {
    font-size: var(--app-body);
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
  }

  .panasweb-feature-services-cta .theme-btn {
    align-self: center;
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
}

/* Visual derecha — tienda online + tarjeta 10K+ */
.tv-about-section.style-3 .panasweb-about-visual {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}

.tv-about-section.style-3 .panasweb-about-visual .faq-image {
  border-radius: 20px;
  overflow: hidden;
}

.tv-about-section.style-3 .panasweb-about-visual__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 528 / 609;
  object-fit: cover;
  object-position: center;
}

.tv-about-section.style-3 .panasweb-about-visual .faq-single-card {
  right: -8px;
  bottom: -12px;
}

@media (min-width: 992px) {
  .tv-about-section.style-3 .about-right {
    align-items: flex-end !important;
  }

  .tv-about-section.style-3 .panasweb-about-visual {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Foto equipo — sección about style-3 */
.tv-about-section.style-3 .about-left .about-thumb img.panasweb-about-team-photo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center top;
}

/* Acerca de (style-3) */
@media (max-width: 991px) {
  .tv-about-section.style-3.space {
    padding-top: var(--section-space-mobile) !important;
    padding-bottom: var(--section-space-mobile) !important;
  }

  .tv-about-section.style-3 .about-left,
  .tv-about-section.style-3 .about-content-wrap,
  .tv-about-section.style-3 .about-right {
    text-align: center;
  }

  .tv-about-section.style-3 .about-thumb img {
    max-width: min(220px, 62vw);
    margin: 0 auto;
    display: block;
  }

  .tv-about-section.style-3 .panasweb-about-visual {
    max-width: min(300px, 78vw);
    margin-top: 24px;
  }

  .tv-about-section.style-3 .panasweb-about-visual .faq-single-card {
    right: 0;
    bottom: -8px;
  }

  .tv-about-section.style-3 .about-counter {
    justify-content: center;
    margin-top: 8px;
  }

  .tv-about-section.style-3 .about-content-wrap .title-wrap {
    text-align: center;
  }

  .tv-about-section.style-3 .about-content-wrap .title-wrap p {
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
    font-size: var(--app-body);
    line-height: 1.55;
  }

  .tv-about-section.style-3 .skills {
    max-width: 22rem;
    margin: 0 auto;
    text-align: left;
  }

  .tv-about-section.style-3 .skill-item .skill-title {
    font-size: var(--app-body);
  }

  .tv-about-section.style-3 .about-right {
    margin-left: 0 !important;
    margin-top: 8px;
  }

  .tv-about-section.style-3 .video-box .circle-box {
    max-width: 140px;
    margin: 0 auto;
  }

  .tv-about-section.style-3 .profile-card {
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
  }

  .tv-about-section.style-3 .profile-card .name {
    font-size: 1rem;
  }

  .tv-about-section.style-3 .profile-card .title {
    font-size: var(--app-body);
  }
}

/* Equipo */
@media (max-width: 991px) {
  .tv-team-section.style-2 .team-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: var(--app-radius) !important;
    padding-top: var(--section-space-mobile) !important;
    padding-bottom: var(--section-space-mobile) !important;
  }

  .tv-team-section.style-2 .team-inner > .bg.image {
    opacity: 1;
  }

  .tv-team-section.style-2 .team-content-wrap {
    text-align: center;
  }

  .tv-team-section.style-2 .team-btn-wrapper .array-button {
    display: none;
  }

  .tv-team-section.style-2 .team-social-wrapper {
    margin-top: 8px;
  }

  .tv-team-section.style-2 .client-social-proof {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .tv-team-section.style-2 .team-content-wrap .sec-title {
    font-size: clamp(1.35rem, 4.2vw, 1.75rem);
    line-height: 1.28;
    letter-spacing: normal;
  }

  .tv-team-section.style-2 .client-social-proof h4.text {
    font-size: 1rem;
    line-height: 1.35;
    text-align: center;
  }

  .panasweb-team-slider-shell {
    position: relative;
  }

  .panasweb-team-slider-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    transition: opacity 0.35s ease;
  }

  .panasweb-team-slider-hint.is-hidden,
  .panasweb-team-slider-shell.is-hint-dismissed .panasweb-team-slider-hint {
    opacity: 0;
    height: 0;
    margin: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .panasweb-about-team-swiper {
    overflow: hidden;
    padding-bottom: 4px;
  }

  .panasweb-team-slider-controls {
    margin-top: 14px;
  }

  .panasweb-team-swiper-nav {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    color: #0b2135;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(11, 33, 53, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
  }

  .panasweb-team-swiper-nav:hover {
    background: var(--theme-color);
    color: #fff;
  }

  .tv-team-section.style-2 .tv-team-card.style-2 {
    border-radius: var(--app-radius);
  }

  .tv-team-section.style-2 .tv-team-card .team-name {
    font-size: 1rem;
  }

  .tv-team-section.style-2 .tv-team-card .team-role {
    font-size: 0.85rem;
  }
}

@media (min-width: 992px) {
  .panasweb-team-slider-hint {
    display: none;
  }

  .panasweb-team-slider-controls {
    display: flex;
    margin-top: 18px;
  }

  .panasweb-team-slider-controls .panasweb-team-swiper-prev,
  .panasweb-team-slider-controls .panasweb-team-swiper-next {
    display: none;
  }
}

/* CTA */
@media (max-width: 991px) {
  .tv-cta-section.style-2 .cta-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: var(--app-radius) !important;
    padding: 22px 16px !important;
    text-align: center;
  }

  .tv-cta-section.style-2 .cta-left,
  .tv-cta-section.style-2 .cta-right {
    text-align: center !important;
  }

  .tv-cta-section.style-2 .cta-right .arrow {
    display: none;
  }

  .tv-cta-section.style-2 .cta-right .theme-btn {
    width: 100%;
    max-width: none;
    justify-content: center;
    margin-top: 12px;
  }
}

/* Proceso */
@media (max-width: 991px) {
  .tv-process-section.style-2 .process-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: var(--section-space-mobile) !important;
    padding-bottom: var(--section-space-mobile) !important;
    border-radius: var(--app-radius) !important;
  }

  .tv-process-section.style-2 .title-wrap {
    margin-bottom: 20px !important;
  }

  .tv-process-section.style-2 .process-box {
    padding: 16px 14px;
    text-align: center;
    border-radius: var(--app-radius);
    margin-bottom: var(--app-gap);
  }

  .tv-process-section.style-2 .process-box .process-img {
    max-width: 160px;
    margin: 0 auto 12px;
  }

  .tv-process-section.style-2 .process-box h3 {
    font-size: 1.05rem;
    line-height: 1.35;
  }

  .tv-process-section.style-2 .process-box p {
    font-size: var(--app-body);
    line-height: 1.55;
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
  }

  .tv-process-section.style-2 .process-number {
    font-size: 1.5rem;
  }
}

@media (max-width: 575px) {
  .panasweb-team-swiper-nav {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  .tv-about-section.style-3 .about-thumb img {
    max-width: min(190px, 56vw);
  }
}
