/* Paleta Panasweb — acorde al logo (cian / azul medio / violeta / azul marino) */

:root {
  --theme-color: #2b7dd4;
  --theme-color2: #6b5bb1;
  --theme-color3: #0b2135;
  --dark-color2: #152a45;
  --dark-color3: #1e3a5c;
  --dark-color4: #0d1f33;
  --gray-color: #8e97ad;
  --gray-color2: #5c6374;
  --light-color: #f3f8fc;
  --light-color2: #e8f1fa;
  --light-color3: #eaf3fb;
  --light-color4: #c3d4ea;
  --bs-text-color1: #0b2135;
  --bs-bg-color2: #eef6fc;
  --bs-bg-color3: rgba(43, 125, 212, 0.2);
  --bs-bg-color4: #d6e8f7;
  --bs-bg-color7: rgba(107, 91, 177, 0.14);
  --bs-bg-color9: rgba(107, 91, 177, 0.2);
  --bs-bg-color11: rgba(236, 244, 252, 0.35);
  --bs-bg-color13: #253a5c;
  --bs-bg-color17: rgba(234, 240, 250, 0.55);
  --bs-bg-color18: rgba(226, 240, 252, 0.5);
  --bs-bg-color19: rgba(11, 33, 53, 0.5);
  --bs-bg-color21: #edf4fb;
  --bs-border-color2: rgba(11, 33, 53, 0.1);
  --bs-border-color8: rgba(11, 33, 53, 0.1);
  --bs-border-color9: rgba(107, 91, 177, 0.4);
  --bs-border-color10: rgba(43, 125, 212, 0.2);
}

/* Sustituye colores fijos del CSS compilado que no usan variables */
.tv-about-section.style-3 .about-right .profile-card::before {
  background-image: linear-gradient(
    0deg,
    var(--theme-color3) 0%,
    var(--theme-color3) 10%,
    rgba(43, 125, 212, 0) 58%,
    rgba(43, 125, 212, 0) 100%
  ) !important;
}

.service-box-five .theme-btn .arrow-all-2 i svg path {
  fill: var(--theme-color3) !important;
}

/* Botones Ingresar / Registrarse en cabecera */
.header-right-wrapper .outer-box {
  gap: 10px;
  flex-wrap: wrap;
}

.header-right-wrapper .panasweb-btn-ingresar,
.header-right-wrapper .panasweb-btn-registro {
  box-sizing: border-box;
  min-width: 220px;
  justify-content: center;
  align-items: center;
  padding: 12px 22px;
}

/* Ingresar: contraste legible (evita texto blanco sobre gris claro de .bg-border) */
.header-right-wrapper .panasweb-btn-ingresar.theme-btn.style2.bg-border {
  background-color: var(--theme-color3) !important;
  color: #fff !important;
  border-color: var(--theme-color3) !important;
}

.header-right-wrapper .panasweb-btn-ingresar.theme-btn.style2.bg-border:hover {
  background-color: var(--theme-color) !important;
  border-color: var(--theme-color) !important;
  color: #fff !important;
}

/* Flecha absoluta: deja hueco a la derecha para no pisar el texto */
.header-right-wrapper .panasweb-btn-registro {
  padding-right: 48px;
}

@media (max-width: 480px) {
  .header-right-wrapper .panasweb-btn-ingresar,
  .header-right-wrapper .panasweb-btn-registro {
    min-width: 0;
    flex: 1 1 auto;
  }
}

/* Icono rejilla / panel lateral junto a Registrarse: oculto en cabecera */
.header-right-wrapper .sidebar-icon {
  display: none !important;
}

/* Hero index — carrusel de banners anchos (sin franjas laterales: sin mx-30, fondo transparente) */
.panasweb-hero-index-slider {
  background: transparent;
  margin-bottom: 0;
}

.panasweb-hero-index-swiper,
.panasweb-hero-index-swiper .swiper-wrapper,
.panasweb-hero-index-swiper .swiper-slide {
  background: transparent;
}

.panasweb-hero-index-slider__inner {
  position: relative;
  line-height: 0;
}

/* Sin hueco entre hero y marquee; marquee al mismo ancho/nivel que el hero */
.panasweb-hero-index-slider + .tv-marquee-section {
  margin-top: 0;
  padding-top: 0;
}

.panasweb-hero-index-slider + .tv-marquee-section .panasweb-marquee-after-index-hero {
  margin-left: 0;
  margin-right: 0;
}

.panasweb-hero-index-slider + .tv-marquee-section .marquee-wrap.style-2 {
  margin-top: 0;
}

/* El <ul> solo tenía margin-bottom en el reset; evitamos margen superior residual y desalineación con el plugin */
.panasweb-hero-index-slider + .tv-marquee-section .marquee-wrap.style-2 > ul.marquee_mode {
  margin: 0;
  padding: 0;
}

/* Carril del plugin: sin espacio fantasma arriba del contenido */
.panasweb-hero-index-slider + .tv-marquee-section .marquee-wrap.style-2 .js-marquee {
  align-items: center;
  min-height: 0;
}

.panasweb-hero-index-swiper {
  overflow: hidden;
}

.panasweb-hero-index-slider__picture {
  display: block;
  width: 100%;
  line-height: 0;
}

.panasweb-hero-index-slider__img {
  display: block;
  width: 100%;
  height: auto;
}

.panasweb-hero-index-swiper-nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 4;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  color: #0b2135;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 16px rgba(11, 33, 53, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  transition: background 0.2s ease, color 0.2s ease;
}

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

.panasweb-hero-index-swiper-prev {
  left: 12px;
}

.panasweb-hero-index-swiper-next {
  right: 12px;
}

.panasweb-hero-index-swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 4;
}

/* Paginación Panasweb: centrada, grande y visible (hero, servicios, equipo) */
.panasweb-hero-index-swiper-pagination,
.panasweb-service-swiper-pagination,
.panasweb-team-swiper-pagination {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 24px;
  padding: 6px 0;
  box-sizing: border-box;
}

.panasweb-service-swiper-pagination,
.panasweb-team-swiper-pagination {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
}

.panasweb-hero-index-swiper-pagination .swiper-pagination-bullet,
.panasweb-service-swiper-pagination .swiper-pagination-bullet,
.panasweb-team-swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0 !important;
  opacity: 1;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.4);
  box-shadow: 0 1px 4px rgba(11, 33, 53, 0.2);
  transition: width 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.panasweb-hero-index-swiper-pagination .swiper-pagination-bullet-active,
.panasweb-service-swiper-pagination .swiper-pagination-bullet-active,
.panasweb-team-swiper-pagination .swiper-pagination-bullet-active {
  width: 36px;
  height: 12px;
  border-radius: 999px;
  border-color: #fff;
  background: #fff;
  box-shadow: 0 2px 8px rgba(11, 33, 53, 0.25);
  transform: none;
}

.panasweb-hero-index-swiper-pagination .swiper-pagination-bullet-active {
  border-color: var(--theme-color);
  background: var(--theme-color);
  box-shadow: 0 2px 10px rgba(11, 33, 53, 0.35);
}

.panasweb-service-slider-controls,
.panasweb-team-slider-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 16px;
  width: 100%;
}

.panasweb-service-slider-controls .panasweb-service-swiper-pagination,
.panasweb-team-slider-controls .panasweb-team-swiper-pagination {
  flex: 0 0 100%;
  order: -1;
  margin-bottom: 2px;
}

.panasweb-service-slider-controls .panasweb-service-swiper-prev,
.panasweb-service-slider-controls .panasweb-service-swiper-next,
.panasweb-team-slider-controls .panasweb-team-swiper-prev,
.panasweb-team-slider-controls .panasweb-team-swiper-next {
  flex-shrink: 0;
}

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

  .panasweb-hero-index-swiper-prev {
    left: 6px;
  }

  .panasweb-hero-index-swiper-next {
    right: 6px;
  }
}

/* Por qué elegirnos — iconos SEO/SEM (Font Awesome) */
.tv-choose-section.style-2 .tv-choose-right-box .feature-grid .feature-item .icon i {
  font-size: 1.65rem;
  color: var(--white-color);
  line-height: 1;
}

/* Menú usuario logueado (cabecera) */
.header-right-wrapper .panasweb-user-menu {
  position: relative;
}

.header-right-wrapper .panasweb-user-menu__trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(11, 33, 53, 0.12);
  background: #fff;
  color: var(--theme-color3);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  max-width: min(220px, 52vw);
}

.header-right-wrapper .panasweb-user-menu__trigger:hover {
  border-color: rgba(43, 125, 212, 0.35);
  box-shadow: 0 6px 20px rgba(43, 125, 212, 0.12);
}

.header-right-wrapper .panasweb-user-menu__avatar {
  display: flex;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    var(--theme-color) 0%,
    var(--theme-color2) 100%
  );
  color: #fff;
  font-size: 0.85rem;
  flex-shrink: 0;
}

.header-right-wrapper .panasweb-user-menu__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

.header-right-wrapper .panasweb-user-menu__caret {
  font-size: 0.65rem;
  opacity: 0.75;
  flex-shrink: 0;
}

.header-right-wrapper .panasweb-user-menu__dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 16px 48px rgba(11, 33, 53, 0.18);
  border: 1px solid rgba(11, 33, 53, 0.08);
  z-index: 1200;
}

.header-right-wrapper .panasweb-user-menu__dropdown li {
  margin: 0;
}

.header-right-wrapper .panasweb-user-menu__dropdown a,
.header-right-wrapper .panasweb-user-menu__dropdown button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 16px;
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--theme-color3);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
}

.header-right-wrapper .panasweb-user-menu__dropdown a:hover,
.header-right-wrapper .panasweb-user-menu__dropdown button:hover {
  background: rgba(43, 125, 212, 0.08);
  color: var(--theme-color);
}

.header-right-wrapper .panasweb-user-menu__dropdown .fa-fw {
  width: 1.1em;
  text-align: center;
  opacity: 0.85;
}

/* Acerca de (CMS) — foto orgánica más pequeña y centrada en móvil */
@media (max-width: 991px) {
  .tv-about-section.style-2 .about-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .tv-about-section.style-2 .about-left .left-img {
    max-width: min(280px, 78vw);
    margin: 0 auto 28px;
  }

  .tv-about-section.style-2 .about-left .left-img svg {
    left: 0;
    top: 0;
  }

  .tv-about-section.style-2 .about-left .about-left-shape {
    left: 50%;
    top: 22%;
    transform: translateX(-35%);
  }
}

@media (max-width: 575px) {
  .tv-about-section.style-2 .about-left .left-img {
    max-width: min(220px, 72vw);
    margin-bottom: 20px;
  }
}

/* Por qué elegirnos — imagen SEO centrada en móvil */
@media (max-width: 991px) {
  .tv-choose-section.style-2 .tv-choose-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .tv-choose-section.style-2 .choose-left-img {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }

  .tv-choose-section.style-2 .choose-left-img img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .tv-choose-section.style-2 .tv-choose-left .growth {
    position: relative;
    top: auto;
    left: auto;
    margin-top: 16px;
  }

  .tv-choose-section.style-2 .tv-choose-left .leaf-shape {
    display: none;
  }
}

/* Aliados / marcas — carrusel con logos en recuadro uniforme (CMS) */
.tv-brands-section {
  --panasweb-partner-logo-w: 200px;
  --panasweb-partner-logo-h: 64px;
}

.panasweb-partners-slider {
  position: relative;
  padding: 0 48px 36px;
}

.panasweb-partners-slider__inner {
  position: relative;
}

.panasweb-partners-swiper {
  overflow: hidden;
  padding: 8px 4px 12px;
}

.panasweb-partners-swiper .swiper-slide {
  width: var(--panasweb-partner-logo-w);
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tv-brands-section .panasweb-partners-swiper .brand-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.tv-brands-section .panasweb-partner-logo {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: var(--panasweb-partner-logo-w);
  height: var(--panasweb-partner-logo-h);
  min-width: var(--panasweb-partner-logo-w);
  min-height: var(--panasweb-partner-logo-h);
  padding: 8px 14px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 10px;
  box-shadow: 0 1px 0 rgba(11, 33, 53, 0.06);
}

.tv-brands-section .panasweb-partner-logo__img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: calc(var(--panasweb-partner-logo-w) - 28px) !important;
  max-height: calc(var(--panasweb-partner-logo-h) - 16px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.tv-brands-section .panasweb-partner-logo:hover .panasweb-partner-logo__img {
  opacity: 0.9 !important;
  transform: scale(1.03);
}

.tv-brands-section .panasweb-partners-swiper .brand-item .image.panasweb-partner-logo img:first-child,
.tv-brands-section .panasweb-partners-swiper .brand-item .image.panasweb-partner-logo img:nth-child(2) {
  position: static;
  transform: none !important;
  filter: none !important;
}

.panasweb-partners-swiper-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  color: #0b2135;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 14px rgba(11, 33, 53, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  transition: background 0.2s ease, color 0.2s ease;
}

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

.panasweb-partners-swiper-prev {
  left: 0;
}

.panasweb-partners-swiper-next {
  right: 0;
}

.panasweb-partners-swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 3;
}

.panasweb-partners-swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  opacity: 0.45;
  background: var(--theme-color);
  margin: 0 !important;
}

.panasweb-partners-swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  width: 28px;
  border-radius: 999px;
}

/* Footer index — sin logo, columnas ordenadas */
.panasweb-footer-grid {
  align-items: flex-start;
}

.panasweb-footer-contact .contact-info {
  margin-bottom: 1.25rem;
}

.panasweb-footer-contact .contact-item + .contact-item {
  margin-top: 1rem;
}

.panasweb-footer-contact .contact-item .title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
  opacity: 0.85;
}

.panasweb-footer-links li + li {
  margin-top: 0.5rem;
}

.footer-section .footer-widget .title {
  margin-bottom: 1.25rem;
}

.footer-section .footer-bottom .footer-policy {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 20px;
}

.footer-section .footer-bottom .copyright p {
  font-size: 0.875rem;
  opacity: 0.9;
}

/* Proyectos / portafolio — imágenes mismo tamaño (516×380) */
.tv-portfolio-section .box-image {
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}

.tv-portfolio-section .panasweb-project-img {
  display: block;
  width: 100%;
  aspect-ratio: 516 / 380;
  object-fit: cover;
  object-position: center center;
}

.panasweb-projects-grid .tv-portfolio-box {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.panasweb-projects-grid .tv-portfolio-box .box-content {
  flex: 1;
}

/* Admin proyectos */
.panaswp-projects-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.panaswp-project-row {
  border: 1px solid #dcdcde;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.panaswp-project-row__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #f6f7f7;
  border-bottom: 1px solid #dcdcde;
}

.panaswp-project-row__num {
  font-weight: 600;
  font-size: 0.875rem;
}

.panaswp-project-row__grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  padding: 12px;
}

@media (max-width: 767px) {
  .panaswp-project-row__grid {
    grid-template-columns: 1fr;
  }
}

.panaswp-project-row__preview {
  background: #1d2327;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 516 / 380;
  display: flex;
  align-items: center;
  justify-content: center;
}

.panaswp-project-row__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panaswp-project-row__ph {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
}

/* Responsive del inicio: ver panasweb-index-responsive.css */

/* === Títulos: evitar palabras cortadas (SplitType + columnas estrechas) === */
.sec-title,
.hero-content .title,
.title-anim,
.page-wrapper .title-wrap h2,
.page-wrapper .title-wrap h3.title {
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}

.sec-title .word,
.hero-content .title .word,
.title-anim .word {
  display: inline-block;
  white-space: nowrap;
}

.tv-feature-box h2,
.tv-feature-item h2,
.client-social-proof h4.text,
.page-wrapper h2:not(.sec-title),
.page-wrapper h3,
.page-wrapper h4.title {
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}

@media (min-width: 992px) {
  .col-lg-4 .title-wrap .sec-title,
  .col-lg-3 .title-wrap .sec-title,
  .team-content-wrap .sec-title,
  .tv-team-section .title-wrap .sec-title,
  .tv-team-section.style-2 .team-content-wrap .sec-title {
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    line-height: 1.28;
    letter-spacing: -0.01em;
  }
}

@media (max-width: 991px) {
  .page-wrapper .sec-title,
  .page-wrapper .hero-content .title,
  .page-wrapper .title-anim {
    font-size: clamp(1.15rem, 4.5vw, 1.65rem);
    line-height: 1.32;
    letter-spacing: normal;
  }

  .page-wrapper .sec-title br,
  .page-wrapper .title-wrap .sec-title br,
  .page-wrapper h2 br,
  .page-wrapper h3 br,
  .page-wrapper h4 br {
    display: block;
  }
}

/* ===== Preloader Panasweb — logo animado ===== */
.loading-screen.panasweb-preloader {
  background: radial-gradient(circle at 50% 42%, #1e3f72 0%, var(--theme-color3) 52%, #060f18 100%);
}

.panasweb-preloader__stage {
  position: relative;
  width: 168px;
  height: 168px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.panasweb-preloader__logo {
  width: 118px;
  height: auto;
  position: relative;
  z-index: 3;
  animation: panasweb-preloader-breathe 1.55s ease-in-out infinite;
  filter: drop-shadow(0 10px 28px rgba(43, 125, 212, 0.5));
  will-change: transform, opacity;
}

.panasweb-preloader__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: var(--theme-color);
  border-right-color: var(--theme-color2);
  border-bottom-color: rgba(43, 125, 212, 0.15);
  animation: panasweb-preloader-spin 1.15s linear infinite;
  opacity: 0.9;
  z-index: 1;
}

.panasweb-preloader__pulse {
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(43, 125, 212, 0.42) 0%, rgba(107, 91, 177, 0.08) 55%, transparent 72%);
  animation: panasweb-preloader-pulse 1.55s ease-in-out infinite;
  z-index: 0;
}

@keyframes panasweb-preloader-breathe {
  0%,
  100% {
    transform: scale(0.93);
    opacity: 0.86;
  }

  50% {
    transform: scale(1.07);
    opacity: 1;
  }
}

@keyframes panasweb-preloader-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes panasweb-preloader-pulse {
  0%,
  100% {
    transform: scale(0.82);
    opacity: 0.35;
  }

  50% {
    transform: scale(1.18);
    opacity: 0.78;
  }
}

@media (max-width: 500px) {
  .panasweb-preloader__stage {
    width: 140px;
    height: 140px;
  }

  .panasweb-preloader__logo {
    width: 96px;
  }

  .panasweb-preloader__pulse {
    inset: 16px;
  }
}

/* ===== Página de servicios ===== */
.panasweb-service-page__lead {
  max-width: 720px;
  color: var(--gray-color2);
  font-size: 1.05rem;
  line-height: 1.65;
}

.panasweb-service-card {
  background: var(--light-color);
  border: 1px solid var(--bs-border-color10);
  border-radius: 24px;
  padding: 36px 32px 32px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.panasweb-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(11, 33, 53, 0.08);
}

.panasweb-service-card__icon {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--bs-bg-color4);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}

.panasweb-service-card__icon img {
  width: 44px;
  height: auto;
}

.panasweb-service-card__title {
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--theme-color3);
  text-align: center;
  margin-bottom: 14px;
}

.panasweb-service-card__text {
  color: var(--gray-color2);
  text-align: center;
  margin-bottom: 20px;
  flex-grow: 0;
}

.panasweb-service-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 auto;
}

.panasweb-service-card__list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  color: var(--bs-text-color1);
  font-size: 0.95rem;
}

.panasweb-service-card__list li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  color: var(--theme-color);
  font-size: 0.75rem;
  top: 3px;
}

/* Menú móvil lateral: ocultar contacto y redes de la plantilla */
.mobile-menu-area .contact-list-one,
.mobile-menu-area .social-links {
  display: none !important;
}

/* Iconos compactos en cabecera (solo móvil/tablet) */
.panasweb-btn-icon {
  display: none;
}

/* Header móvil: menú izquierda · logo centro · ingreso/registro derecha */
@media (max-width: 1199.98px) {
  .tv-header.header-style1 .menu-area > .row > .header-right-wrapper {
    display: block !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
  }
}

@media (max-width: 991.98px) {
  .tv-header.header-style1 .menu-area > .row,
  .sticky-header .menu-area > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
  }

  .tv-header.header-style1 .menu-area > .row > .nav-outer,
  .sticky-header .menu-area > .row > .nav-menu {
    order: 1;
    flex: 0 0 auto;
  }

  .tv-header.header-style1 .menu-area > .row > .logo,
  .sticky-header .menu-area > .row > .logo {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
  }

  .tv-header.header-style1 .menu-area > .row > .header-right-wrapper,
  .sticky-header .menu-area > .row > .header-right-wrapper {
    order: 3;
    flex: 0 0 auto;
    margin-left: 0 !important;
  }

  .tv-header .nav-outer .navbar-right,
  .sticky-header .navbar-right {
    margin: 0;
    padding: 0;
  }

  .header-right-wrapper .outer-box {
    gap: 6px;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }

  .header-right-wrapper .panasweb-auth-guest-btns {
    gap: 6px;
    flex-wrap: nowrap;
  }

  .header-right-wrapper .panasweb-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
  }

  .header-right-wrapper .panasweb-btn-ingresar .link-effect,
  .header-right-wrapper .panasweb-btn-registro .link-effect {
    display: none !important;
  }

  .header-right-wrapper .panasweb-btn-ingresar,
  .header-right-wrapper .panasweb-btn-registro {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-width: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 0;
    line-height: 1;
    flex-shrink: 0;
  }

  .header-right-wrapper .panasweb-btn-registro .arrow-all {
    display: none !important;
  }

  .header-right-wrapper .panasweb-btn-registro {
    padding-right: 12px !important;
  }

  .header-right-wrapper .panasweb-user-menu__trigger {
    padding: 6px 10px;
    font-size: 0.8rem;
    max-width: 120px;
  }

  .header-right-wrapper .panasweb-user-menu__name {
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 575.98px) {
  .header-right-wrapper .panasweb-btn-ingresar,
  .header-right-wrapper .panasweb-btn-registro {
    width: 38px;
    height: 38px;
    min-width: 38px !important;
  }

  .header-right-wrapper .panasweb-btn-icon {
    font-size: 0.9rem;
  }
}
