/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/



:root {
  --secondary: #14181f;
  --secondary-foreground: #f3f4f6;
  --ring: #6366f1;
  --ring-offset: #ffffff;
  --primary-color: #e92063; /* Cambia este color al principal de tu marca */
  --primary-foreground: #ffffff;
  --card-bg: #ffffff;
  --text-main: #1f2937;
}



.max1280 {
	max-width: 1280px;
}

.scrolled {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid rgba(220, 220, 220, 0.5);
    /*box-shadow: 0 4px 20px -4px rgba(0, 0, 0, 0.08);*/
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 50;
}


.version-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 8px 16px;

    background-color: #fce7f3; /* bg-accent */
    color: #9d174d;           /* text-accent-foreground */

    border-radius: 9999px;

    font-size: 14px;
    font-weight: 500;

    opacity: 1;
    transform: none;
}


.version-badge svg {
	width: 20px;
}


.version-badge2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 12px 24px;

    background-color: #fce7f3; /* bg-accent */
    color: #14181f;           /* text-accent-foreground */

    border-radius: 9999px;

    font-size: 18px;
	line-height: 28px;
    font-weight: 600;

    opacity: 1;
    transform: none;
}




.version-badge3 {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 12px 24px;

    background-color: #fce7f3; /* bg-accent */
    color: #e92063;           /* text-accent-foreground */

    border-radius: 9999px;

    font-size: 14px;
	line-height: 28px;
    font-weight: 600;

    opacity: 1;
    transform: none;
}


@media (max-width: 767px) {
  .version-badge2  {
    font-size: 14px;
  }
}

.version-badge2 svg {
	width: 20px;
}

/* Punto verde animado */
.version-dot {
    width: 8px;
    height: 8px;

    background-color: hsl(142, 71%, 45%);
    border-radius: 50%;

    animation: pulse 1.5s ease-in-out infinite;
}

/* Animación pulse */
@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.4);
        opacity: 0.6;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}



.custom-icon {
    width: 48px;
    height: 48px;
    background: #fde8ef;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .3s, color .3s;
}

.custom-icon svg {
    width: 24px;
    height: 24px;
}

.group:hover .custom-icon {
    background: var(--primary-color, #2563eb);
    color: #fff;
}







/* CONTENEDOR DE TABS */
.e-n-tabs-heading {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 6px;
    background-color: #f1f5f9 !important;
    border-radius: 999px;
}

/* BOTÓN BASE */
.e-n-tabs-heading .e-n-tab-title {
    padding: 10px 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #6b7280; /* text-muted */

}

.elementor-widget-n-tabs .e-n-tabs {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
}



.e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
    background-color: #FFF !important;
}

.e-n-tabs-heading .e-n-tab-title[aria-selected="false"]:hover {
    background-color: transparent !important;
}

.e-n-tabs-heading .e-n-tab-title[aria-selected="false"] .e-n-tab-title-text {
    color: #676f7e !important;
}


/* TEXTO */
.e-n-tabs-heading .e-n-tab-title-text {
    white-space: nowrap;
}

/* TAB ACTIVO */
.e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
    background-color: #ffffff; /* bg-background */
    color: #111827; /* text-foreground */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* HOVER TAB INACTIVO */
.e-n-tabs-heading .e-n-tab-title[aria-selected="false"]:hover {
    color: #111827;
}




.anual20 {
    padding: 3px 0.5rem;          /* py-0.5 px-2 */
    background-color: hsl(142, 71%, 45%);
    color: #ffffff;                    /* text-white */
    font-size: 0.75rem;                /* text-xs */
    font-weight: 600;                  /* font-semibold */
    border-radius: 9999px;             /* rounded-full */
    display: inline-block;
    line-height: 1;
    margin-left: 5px;
}






/* GRID */
.pricing-grid {
  display: grid;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* Desktop (>= 1025px) → 3 o más columnas si caben */
@media (min-width: 1025px) {
  .pricing-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

/* Tablet (≤ 1024px) → 2 columnas */
@media (max-width: 1024px) {
  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Móvil (≤ 767px) → 1 columna */
@media (max-width: 767px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }
}





/* CARD */
.pricing-card {
  position: relative;
  padding: 2rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  transition: transform .3s ease, box-shadow .3s ease;
}

.pricing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

/* FEATURED */
.pricing-card.featured {
  background: #111;
  color: #fff;
}

.pricing-card.featured p,
.pricing-card.featured li {
  color: rgba(255,255,255,0.85);
}

/* BADGE */
.badge {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: #e92063;
  color: #fff;
  padding: .4rem 1rem;
  border-radius: 999px;
  font-size: .875rem;
  font-weight: 600;
}

/* HEADER */
.pricing-header h3 {
  font-size: 1.25rem;
  margin-bottom: .5rem;
}

.pricing-header p {
  font-size: .9rem;
  opacity: .8;
}

/* PRICE */
.pricing-price {
  margin: 1.5rem 0;
}

.price {
  font-size: 2.5rem;
  font-weight: 700;
}

.period {
  margin-left: .25rem;
  opacity: .7;
}

/* FEATURES */
.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.pricing-features li {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
  font-size: .9rem;
}

.check {
  color: #6366f1;
  font-weight: bold;
}

/* BUTTONS */
.btn-primary,
.btn-secondary {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  border-radius: .75rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s ease;
}

.btn-primary {
  background: linear-gradient(90deg, #e92063cc, #e92063);
  color: #fff;
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px #e92063cc;
  color: white;
}

.btn-secondary {
  background: #fff;
  color: #111;
}

.btn-secondary:hover {
  background: #f2f2f2;
}


.e-n-tabs-heading {
    width: 345px;
    align-self: center;
}



.hero-glow {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    135deg,
    #e92063cc,
    #ec4899,
    #ec4899
  );
  opacity: 0.2;
  filter: blur(48px);
  animation: glow-scale 6s ease-in-out infinite;
  pointer-events: none;
}

/* Animación de aumento y disminución */
@keyframes glow-scale {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
  }
}







.features-grid {
  display: grid;
  gap: 12px;
  padding-top: 24px;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.8);
}

.feature-item span {
  font-size: 14px;
  line-height: 1.6;
}

.feature-icon {
  width: 32px;
  height: 32px;
  background: hsl(336, 86%, 52%, 0.2); /* válido con alpha */
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  animation: feature-pulse 3s ease-in-out infinite;
}

.feature-icon svg {
  width: 16px;
  height: 16px;
  stroke: #e92063;
}


@keyframes feature-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.1); }
  100% { transform: scale(1); }
}





.app-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;

    background: #33373d;
    color: rgba(255, 255, 255, 0.8);     /* text-background/80 */

    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    user-select: none;
}

.app-badge svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}






.quote-icon {
    margin-bottom: 16px;
}

.quote-icon svg {
    width: 40px;          /* w-10 */
    height: 40px;         /* h-10 */
    stroke: currentColor;
    stroke-width: 2;
    fill: none;
    color: #e9206333;
}




.quote-icon svg {
    opacity: 0;
    transform: translateY(6px);
    animation: fadeInQuote 0.6s ease forwards;
}

@keyframes fadeInQuote {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}






.testimonial-widget {
    display: flex;
    align-items: center;
    gap: 16px;
}

.testimonial-widget .testimonial-image {
    width: 48px;   /* w-12 */
    height: 48px;  /* h-12 */
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(99,102,241,0.2); /* ring-primary/20 */
}


.testimonial-widget .testimonial-text p {
    margin: 0;
}


.text-foreground {
    color: #14181f;
	font-family: DM Sans, system-ui, sans-serif;
	font-weight: 600;
	font-size: 15px;
    line-height: 22px;
	margin: 0 0 3px 0;
}

.text-muted-foreground {
	font-family: DM Sans, system-ui, sans-serif;
    color: #676f7e
    font-size: 12px;
    line-height: 20px;
	margin: 0 0 2px 0;
}

.text-primary {
	font-family: DM Sans, system-ui, sans-serif;
    color: #e92063;
    font-size: 12px;
    line-height: 16px;
}







/* =============================
   Estilos personalizados para nav de Swiper Elementor
============================= */
.elementor-swiper-button-prev,
.elementor-swiper-button-next {
    display: flex !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2rem; /* 8 */
    height: 2rem; /* 8 */
    border-radius: 9999px; /* fully rounded */
    background-color: #ffffff;
    color: inherit;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    cursor: pointer;
    z-index: 20;
	border: 1px solid  #e2e4e9 !important;
	color: #fff;
	transition: all 0.3s ease;
}

.elementor-swiper-button-prev {
    left: -3rem; /* equivalente a -left-12 */
}

.elementor-swiper-button-next {
    right: -3rem; /* si quieres simétrico */
}

.elementor-swiper-button-prev:hover,
.elementor-swiper-button-next:hover {
    background-color: #E92063; /* bg-primary */
    color: #ffffff; /* text-primary-foreground */
	transition: all 0.3s ease;
    
}


.elementor-swiper-button-prev:hover svg,
.elementor-swiper-button-next:hover svg{
		color: #fff;
		fill: #fff !important;
    	transition: all 0.3s ease;
}

/* Ajuste del icono SVG */
.elementor-swiper-button-prev svg,
.elementor-swiper-button-next svg {
    width: 1rem;  /* h-4 */
    height: 1rem; /* w-4 */
    pointer-events: none;
	color: #14181f;
	fill: #14181f !important;
	transition: all 0.3s ease;
}

/* Ocultar en móviles si quieres */
@media (max-width: 768px) {
    .elementor-swiper-button-prev,
    .elementor-swiper-button-next {
        display: none !important;
    }
}



#grid_eventcontrol .elementor-element.e-child {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover: sube un poco y agrega sombra */
#grid_eventcontrol .elementor-element.e-child:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
}

/* Icono dentro del elemento */
#grid_eventcontrol .elementor-element.e-child .custom-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;   /* ajustar según tamaño deseado */
    height: 50px;
    border-radius: 50%;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Hover sobre el icono */
#grid_eventcontrol .elementor-element.e-child:hover .custom-icon {
    background-color: #e92063;
	transition: all 0.3s ease;
}

#grid_eventcontrol .elementor-element.e-child:hover .custom-icon svg {
    stroke: #ffffff; /* hace que el SVG se vea blanco */
	transition: all 0.3s ease;
}


#eventcontrol_dudas details {
	border: 1px solid #e2e4e980;
	border-radius: 16px;
	box-shadow:  0 0 #0000,  0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	
	background-color: #fff;
	
}



.social-icons {
    display: flex;
    gap: 12px;
}

.social-icon {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: all .3s ease;
}

.social-icon:hover {
    transform: scale(1.1);
    box-shadow: 0 12px 30px rgba(233, 32, 99, .3);
}

.icon-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #e92063, #ff5fa2);
    opacity: 0;
    transition: opacity .3s ease;
}

.social-icon:hover .icon-bg {
    opacity: 1;
}

.icon-shine {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: 0;
}

.icon-shine::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );
    transform: skewX(-12deg);
    transition: transform .7s ease;
}

.social-icon:hover .icon-shine {
    opacity: 1;
}

.social-icon:hover .icon-shine::before {
    transform: translateX(100%);
}

.icon-svg {
    position: relative;
    z-index: 2;
    width: 20px;
    height: 20px;
    stroke: #fff;
    fill: none;
    transition: transform .3s ease;
}

.icon-svg.fill {
    fill: #fff;
    stroke: none;
}

.social-icon:hover .icon-svg {
    transform: scale(1.1) rotate(6deg);
}



.made-in {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;          /* equivalente a text-sm */
    color: rgba(255, 255, 255, 0.6); /* text-background/60 */
    line-height: 1.4;
}

.made-in .heart {
    display: inline-block;
    transform: translateY(1px);
}

.made-in .flag-mx {
    width: 20px;
    height: 20px;
    border-radius: 999px; /* rounded-full */
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.3); /* ring-background/30 */
}



.cta-contact {
    text-align: center;
    margin-top: 48px; /* mt-12 */
    opacity: 1;
}

.cta-text {
    margin-bottom: 16px; /* mb-4 */
    color: #6b7280; /* text-muted-foreground */
    font-size: 15px;
}

.cta-link {
    display: inline-flex;
    align-items: center;
    color: #E92063; /* text-primary */
    font-weight: 600;
    text-decoration: none;
    transition: text-decoration 0.2s ease, transform 0.2s ease;
}

.cta-link:hover {
    text-decoration: underline;
}


.blur-text span { 
	filter: blur(12px); 
	opacity: 0; 
	animation: blurIn 3.2s ease forwards; 
} 

@keyframes blurIn { 
	to { filter: blur(0); opacity: 1; } 
}




/* BOTÓN "ACCESO A CLIENTES" EN MENÚ */
.btn-acceso-clientes > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;

  width: 100%;
  height: 40px;
  padding: 0 1.25rem;

  border-radius: 0.75rem;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;

  color: #fff;
  background: #e92063cc;

  text-decoration: none;
  transition: all 0.3s ease;

  box-shadow: 0 10px 25px rgba(233, 32, 99, 0.25);
}

/* Hover */
.btn-acceso-clientes > a:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(233, 32, 99, 0.3);
  text-decoration: none;
}

/* Focus accesible */
.btn-acceso-clientes > a:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(233, 32, 99, 0.6);
}

/* Desactivar estilos por defecto de Elementor */
.btn-acceso-clientes > a.elementor-item::after {
  display: none;
}
.btn-acceso-clientes svg {
	width: 16px;
}


@media (min-width: 1024px) {
    .btn-acceso-clientes {
        display: none !important;
    }
}


/* GLASS MENU FIXED */
.menu-glass {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;

  background: rgba(255, 255, 255, 0.40);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);

  border-bottom: 1px solid rgba(255, 255, 255, 0.15);

  transition:
    background 0.3s ease,
    backdrop-filter 0.3s ease,
    box-shadow 0.3s ease;
}




.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .team-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

.team-card {
    position: relative;
    animation: fadeUp .7s ease forwards;
}

.card-border {
    padding: 4px;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, hsl(340 82% 52% / 0.9), hsl(-340 82% 52%) / 0.4);
}

.card-inner {
    position: relative;
    overflow: hidden; /* importante para hover */
    border-radius: 1rem;
    background: #0f0f14;
}

.card-inner img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform .5s ease, filter .5s ease;
	transform: scale(1.08);
}

.team-card:hover img {
    transform: scale(1.2);
    filter: brightness(1.1);
}

/* Overlay oculto por defecto */
.card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        hsl(340 82% 52% / 0.9),
        hsl(-340 82% 52% / 0.4),
        transparent
    );
    opacity: 0;
    transition: opacity .3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1rem;
}

/* Aparece solo al hover */
.team-card:hover .card-overlay {
    opacity: 1;
}

.card-overlay p {
    transform: translateY(16px); /* empujado hacia abajo por defecto */
    transition: transform .3s ease, opacity .3s ease;
    opacity: 0;
    margin: 0;
}

/* Texto que sube y aparece al hover */
.team-card:hover .card-overlay p {
    transform: translateY(0);
    opacity: 1;
}

.name {
    color: #fff;
    font-weight: 700;
    font-size: .9rem;
}

.role {
    color: rgba(255,255,255,.9);
    font-size: .75rem;
}

.country {
    color: rgba(255,255,255,.7);
    font-size: .7rem;
}

.badge2 {
    left: 90%;
    position: absolute;
    top: -8px;
    right: -8px;
    width: 32px;
    height: 32px;
    background: #e92063;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(124,58,237,.4);
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(24px) scale(.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, hsl(340 82% 52% / 0.2) , hsl(340 82% 52% / 0.05));
}



.iconos-empresa .icono-box {
  width: 56px;
  height: 56px;
  background: rgba(233, 32, 99, 0.1); /* bg-primary/10 */
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iconos-empresa .icono-svg {
  width: 28px;
  height: 28px;
  color: var(--primary, #e92063);
}




.btn-cv {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;

  height: 48px;
  padding: 0 2rem;
  border-radius: 0.75rem;

  background-color: #f3f4f6 !important;
  color: #14181f;

  font-size: 1rem;
  font-weight: 600;
  white-space: nowrap;

  border: none;
  cursor: pointer;

  transition:
    background-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

/* Icono */
.btn-cv .btn-icon {
  width: 16px;
  height: 16px;
  pointer-events: none;
  flex-shrink: 0;
}

/* Hover */
.btn-cv:hover {
  background-color: #f3f4f6cc;
  transform: scale(1.05);
  color: #14181f;
}

/* Focus accesible */
.btn-cv:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px var(--ring, #6366f1),
    0 0 0 4px var(--ring-offset, #ffffff);
}

/* Disabled */
.btn-cv:disabled {
  pointer-events: none;
  opacity: 0.5;
}


/* =========================
   CF7 DEMO FORM
========================= */

.cf7-demo-card {
  background: #fff;
  padding: 2rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 20px 40px rgba(0,0,0,.25);
}

@media (max-width: 750px) {
	.cf7-demo-card {
  		padding: 18px;
	}
}

.cf7-demo-card label {
	margin-bottom: 8px;
}

.cf7-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.cf7-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .cf7-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.cf7-field label {
  display: block;
  font-size: .875rem;
  font-weight: 500;
  margin-bottom: .5rem;
}

.cf7-field input,
.cf7-field textarea {
  width: 100%;
  border-radius: .5rem;
  border: 1px solid #e2e4e9;
  background: transparent;
  padding: .6rem .75rem;
  font-size: .9rem;
  color: inherit;
}

.cf7-field input:focus,
.cf7-field textarea:focus {
  outline: none;
  border-color: var(--primary, #e92063);
  box-shadow: 0 0 0 2px rgba(233,32,99,.25);
}

/* SUBMIT */

.cf7-submit-wrap {
  position: relative;
}

.cf7-submit {
  width: 100%;
  color: #fff;
  font-weight: 600;
  border: none;
}

.cf7-submit {
  border: none;
}

.btn-gradient2 p {
  padding: 0;
  margin: 0;
}



.btn-gradient2 .cf7-submit:hover , .btn-gradient2 .cf7-submit:focus {
    background: transparent !important;
}



.cf7-submit-icon {
  width: 16px;
  height: 16px;
  pointer-events: none;
}



.cf7-privacy {
  font-size: .75rem;
  opacity: .7;
  text-align: center;
  margin-top: 1rem;
}



.btn-gradient2 > p {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: row-reverse;
}






.btn-gradient2 {
  width: 100%;
  height: 48px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 0 32px 0 0;
  border: none;
  border-radius: 12px;

  font-family: inherit;
  font-size: 16px;
  font-weight: 500;

  color: #ffffff;
  background-image: linear-gradient(to right, hsl(340 82% 52%) , hsl(340 82% 52% / 0.8));

  cursor: pointer;
  white-space: nowrap;

  box-shadow:
    0 10px 25px rgba(109, 40, 217, 0.25);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

.btn-gradient2 svg {
	transform: translateY(2px);
}

/* Hover */
.btn-gradient2:hover {
  transform: translateY(-4px);
  box-shadow:
    0 14px 35px rgba(109, 40, 217, 0.3);
}

/* Focus accesible */
.btn-gradient:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 4px #6d28d9;
}

/* Disabled */
.btn-gradient2:disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* Icon */
.btn-icon {
  width: 16px;
  height: 16px;
  margin-left: 8px;
  flex-shrink: 0;
}



.decorative-blur-box {
  position: absolute;
  bottom: -1.5rem;   /* -bottom-6 */
  left: -1.5rem;     /* -left-6 */

  width: 6rem;       /* w-24 */
  height: 6rem;      /* h-24 */

  background-color: rgba(117, 59, 189, 0.2); /* bg-primary/20 */
  border-radius: 1rem; /* rounded-2xl */

  transform: rotate(12deg);
  filter: blur(4px); /* blur-sm */

  pointer-events: none;
  z-index: 0;
}


.decorative-blue-blur-circle {
  position: absolute;
  top: -1.5rem;    /* -top-6 */
  right: -1.5rem;  /* -right-6 */

  width: 8rem;     /* w-32 */
  height: 8rem;    /* h-32 */

  background-color: rgba(59, 130, 246, 0.2); /* blue-500 / 20% */
  border-radius: 9999px; /* rounded-full */

  filter: blur(4px); /* blur-sm */

  pointer-events: none;
  z-index: 0;
}








/*LISTA DE PRECIOS*/


/*ICONOS DE LISTA DE PRECIOS*/

.iconos-precio {
  margin-bottom: 1rem;
}

/* Header */
.iconos-precio__header {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Icono base */
.iconos-precio__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.iconos-precio__icon svg {
  width: 28px;
  height: 28px;
}

/* Variantes */
.iconos-precio__icon--bronce {
  background: linear-gradient(135deg, #d97706, #92400e);
}

.iconos-precio__icon--plata {
  background: linear-gradient(135deg, #94a3b8, #475569);
}

.iconos-precio__icon--oro {
  background: linear-gradient(135deg, #facc15, #f59e0b);
}

/* Títulos */
.iconos-precio__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
  color: #111;
}

.iconos-precio__title--light {
  color: #fff;
}











/* LISTADO DE LISTA DE PRECIOS */

.ud-listado {
			margin-bottom: 2rem;
		}

		.ud-listado ul {
			list-style: none;
			padding: 0;
			margin: 0;
		}

		.ud-listado li {
			display: flex;
			align-items: center;
			gap: 0.75rem;
			margin-bottom: 12px;
		}

		.ud-listado .icon {
			width: 20px;
			height: 20px;
			border-radius: 9999px;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
		}

		/* Tipo 1 y 3 */
		.ud-listado.tipo-1 .icon,
		.ud-listado.tipo-3 .icon {
			background: #e920631a;
		}

		.ud-listado.tipo-1 span,
		.ud-listado.tipo-3 span {
			color: rgba(0,0,0,0.8);
			font-size: 0.875rem;
		}

		/* Tipo 2 (destacado) */
		.ud-listado.tipo-2 .icon {
			background: var(--primary, #6366f1);
		}

		.ud-listado.tipo-2 span {
			color: rgba(255,255,255,0.9);
			font-size: 0.875rem;
		}

		.ud-listado svg {
			width: 12px;
			height: 12px;
		}





.boton-contenedor {
  width: 100%;
}

.boton-comenzar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem; /* espacio entre texto e icono */
  white-space: nowrap;
  transition: all 0.3s ease;
  outline: none;
  border: none;

  /* foco */
  box-shadow: 0 0 0 0 transparent;
}

.boton-comenzar:focus-visible {
  box-shadow: 0 0 0 2px #7f5af0, 0 0 0 4px white; /* puedes ajustar el color del ring */
}

.boton-comenzar:disabled {
  pointer-events: none;
  opacity: 0.5;
}

/* tamaño de icono si hay svg */
.boton-comenzar svg {
  pointer-events: none;
  width: 1rem; /* 16px */
  height: 1rem;
  flex-shrink: 0;
}

/* apariencia principal */
.boton-comenzar {
  background-image: linear-gradient(to right, hsl(340 82% 52%) , hsl(340 82% 52% / 0.8));
  color: #ffffff; /* text-primary-foreground */
  box-shadow: 0 8px 20px rgba(127, 90, 240, 0.25); /* shadow-lg shadow-primary/25 */
  height: 3rem; /* 12 */
  border-radius: 0.75rem; /* rounded-xl */
  padding: 0 2rem; /* px-8 */
  font-size: 1rem; /* text-base */
  font-weight: 600; /* font-semibold */
  width: 100%; /* w-full */
}

/* hover */
.boton-comenzar:hover {
  box-shadow: 0 12px 24px rgba(127, 90, 240, 0.3); /* hover:shadow-xl hover:shadow-primary/30 */
  transform: translateY(-0.25rem); /* hover:-translate-y-1 */
}






.savings-badge {
  position: absolute;
  top: -24px;   /* top-4 */
  left: -16px;  /* left-4 */
}

.savings-content {
  display: flex;
  align-items: center;
  gap: 6px; /* gap-1.5 */
  padding: 6px 12px; /* px-3 py-1.5 */
  border-radius: 9999px; /* fully rounded */
  color: hsl(142, 71%, 45%); /* bg-[hsl(142_71%_45%)] */
  font-size: 0.75rem; /* text-xs */
  font-weight: bold;
  white-space: nowrap;
}

.savings-icon {
  width: 12px;  /* w-3 */
  height: 12px; /* h-3 */
  fill: currentColor;
  flex-shrink: 0;
}







.valores-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (min-width: 768px) {
    .valores-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.valor-item-wrapper {
    position: relative;
    transition: all 700ms ease-out;
    opacity: 1;
    transform: translateY(0);
}

.valor-card {
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 300ms;
    height: 100%;
    background: var(--card-bg);
    border: 0;
}

.valor-item-wrapper:hover .valor-card {
    transform: translateY(-0.25rem);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.valor-content {
    padding: 1.5rem;
    text-align: center;
}

.valor-icon-box {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 1rem;
    border-radius: 1rem;
    background-color: #e920631a;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 300ms;
}

.valor-icon-box svg {
    width: 1.75rem;
    height: 1.75rem;
    color: #e92063;
    transition: color 300ms;
}

/* Hover effects */
.valor-item-wrapper:hover .valor-icon-box {
    background-color: #e92063;
    transform: scale(1.1);
}

.valor-item-wrapper:hover .valor-icon-box svg {
    color: var(--primary-foreground);
}

.valor-title {
    font-weight: 600;
    color: var(--text-main);
    font-size: 0.875rem;
    line-height: 1.25;
    margin: 0;
}

@media (min-width: 768px) {
    .valor-title {
        font-size: 1rem;
    }
}





/*--------------------------------------------------------------*/






/* Variables de color */
:root {
    --p-primary: #6366f1; /* Ajusta a tu color principal */
    --p-border: #e5e7eb;
    --p-card-bg: #ffffff;
    --p-text-head: #111827;
    --p-text-body: #6b7280;
}

.premium-services-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) { .premium-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .premium-services-grid { grid-template-columns: repeat(4, 1fr); } }

.premium-group {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.premium-card {
    height: 100%;
    padding: 1.5rem;
    border-radius: 1rem;
    background: var(--p-card-bg);
    border: 1px solid var(--p-border);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

/* Hover Effects */
.premium-group:hover {
    transform: translateY(-8px) scale(1.02);
}

.premium-group:hover .premium-card {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: rgba(99, 102, 241, 0.3);
}

.premium-group:hover .premium-h3 {
    color: #e92063;
}

/* Icon Styles & Gradients */
.icon-container {
    position: relative;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.premium-svg {
    width: 1.75rem;
    height: 1.75rem;
    color: white;
    position: relative;
    z-index: 10;
}

/* Background Gradients for Icons */
.from-primary { background: linear-gradient(135deg, var(--p-primary), #4f46e5); }
.from-blue    { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.from-amber   { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.from-emerald { background: linear-gradient(135deg, #10b981, #0d9488); }

/* Glow Effects */
.icon-glow-1, .icon-glow-2 {
    position: absolute;
    inset: 0;
    border-radius: 0.75rem;
    background: inherit;
    transition: transform 0.3s ease;
}

.icon-glow-1 { opacity: 0.4; transform: scale(1.1); }
.icon-glow-2 { opacity: 0.2; transform: scale(1.3); }

.premium-group:hover .icon-glow-1 { transform: scale(1.2); }

/* Typography */
.premium-h3 {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--p-text-head);
    margin-bottom: 0.75rem;
    transition: color 0.3s;
}

.premium-p {
    font-size: 0.875rem;
    color: var(--p-text-body);
    line-height: 1.6;
}

/* Progress Bar Bottom */
.premium-progress-bar {
    height: 4px;
    width: 40%;
    margin-top: 1.25rem;
    border-radius: 9999px;
    background: linear-gradient(to right, #e92063, #e92063);
}



/* ... (Mantiene tus variables y estilos de grid igual) ... */

/* Icon Styles - Añadimos una transición suave para el contenedor */
.icon-container {
    position: relative;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

/* Glow Effects - Configuración para bucle infinito sin saltos */
.icon-glow-1, .icon-glow-2 {
    position: absolute;
    inset: 0;
    border-radius: 0.75rem;
    background: inherit; /* Hereda el gradient de .from-color */
    z-index: 1;
    pointer-events: none; /* Evita interferencias con el mouse */
}

/* Primer anillo: Animación constante */
.icon-glow-1 {
    animation: aura-constant 3s linear infinite;
}

/* Segundo anillo: Desfase de tiempo para flujo continuo */
.icon-glow-2 {
    animation: aura-constant 3s linear infinite 1.5s;
}

/* Definición de la animación para que no tenga pausas */
@keyframes aura-constant {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    50% {
        opacity: 0.3;
    }
    100% {
        transform: scale(1.8); /* Expansión amplia */
        opacity: 0;
    }
}

/* Hover: El icono crece un poco, pero el aura sigue su curso */
.premium-group:hover .icon-container {
    transform: scale(1.1);
}

/* Background Gradients para los iconos (Valores concretos) */
.from-primary { background: linear-gradient(135deg, #e92063, #ba493c); }
.from-blue    { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.from-amber   { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.from-emerald { background: linear-gradient(135deg, #10b981, #0d9488); }

/* ... (Mantiene el resto de tu CSS de tipografía y tarjetas) ... */









.wp-button-container {
    text-align: center;
    padding: 40px 0;
}

.btn-whatsapp-aura {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    /* Color Verde WhatsApp basado en tu success (142 71% 45%) */
    background-color: #21b358; 
    color: #ffffff;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-family: 'DM Sans', system-ui, sans-serif;
    z-index: 1;
    transition: transform 0.3s ease;
}

/* El efecto de aura (Anillos que crecen) */
.btn-whatsapp-aura::before,
.btn-whatsapp-aura::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #21b358;
    border-radius: 50px;
    z-index: -1;
    opacity: 0.4;
}

.btn-whatsapp-aura::before {
    animation: pulse-aura 2s infinite;
}

.btn-whatsapp-aura::after {
    animation: pulse-aura 2s infinite 1s; /* Retraso para el segundo anillo */
}

@keyframes pulse-aura {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }
    100% {
        /* Se expande un 40% en ancho y 60% en alto para dar ese efecto ovalado */
        transform: scale(1.4, 1.6); 
        opacity: 0;
    }
}

.wp-subtitle {
    margin-top: 15px;
    /* Color gris basado en tu muted-foreground */
    color: #667085; 
    font-size: 0.9rem;
    font-family: 'DM Sans', system-ui, sans-serif;
}

.btn-whatsapp-aura:hover {
    transform: scale(1.05);
}






/*--------------------------------------------------------------*/








    /* El contenedor permite el scroll horizontal */
    .comparison-container { 
        width: 100%; 
        margin: 0 !important; 
        font-family: sans-serif;
        -webkit-overflow-scrolling: touch; /* Suavidad en iOS */
    	overflow: visible !important;
    	box-shadow: #e2c4ce 0px 20px 40px;
    	
    }

	.comparison-container .iconos-precio__header {
		flex-direction: column;
	}

	.comparison-container .iconos-precio__header h3{
		color: #14181f;
		font-size: 16px;
		font-weight: 700;
	}

	@media (max-width: 1000px) { 
		.comparison-container { 
        width: 100%; 
        overflow-x: auto !important; 
        margin: 0 !important; 
        font-family: sans-serif;
        -webkit-overflow-scrolling: touch; /* Suavidad en iOS */
    	
    	box-shadow: #e2c4ce 0px 20px 40px;
    	
    }
	}

    /* Forzamos el ancho mínimo de 900px */
    .comparison-table { 
		display: table !important;
        width: 100%; 
        border-collapse: collapse; 
        min-width: 800px; /* Aquí establecemos el ancho mínimo */
        table-layout: fixed; /* Ayuda a mantener las columnas proporcionales */
		margin: 0 !important;
    }

    .comparison-table th, .comparison-table td { 
        padding: 16px 12px; 
        text-align: center; 
        border-bottom: 1px solid #eee; 
    }

    /* Ajuste de anchos de columna */
    .col-feature { 
        text-align: left !important; 
        width: 350px; /* Columna de texto más ancha */
    }
    
    /* Columnas de precios/checks */
    .col-bronce, .col-plata, .col-oro {
        width: 180px;
    }

	.comparison-container  td {
        background-color: #FFF !important;
    }

	.comparison-container  .col-plata {
		background-color: #e920630d !important;
	}

	.custom-size-cv {
		min-width: 150px;
		min-height: 150px;
	}

    .category-row { background: #f9fafb; font-weight: bold; text-align: left !important; }
    .category-row td { text-align: left !important; color: #374151; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.05em; }
    .sub-item-text { padding-left: 30px !important; color: #6b7280; font-size: 0.9em; }
    
    /* Iconos */
    .icon-circle { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: auto; font-size: 14px; }
    .icon-check { background: #dcfce7; color: #166534; }
    .icon-x { background: #fee2e2; color: #991b1b; }

    /* Tooltip Mejorado */
    .tp-info-wrapper { position: relative; display: inline-block; margin-left: 8px; vertical-align: middle; }
    .tp-tooltip {
        visibility: hidden; width: 220px; background-color: #1f2937; color: #fff;
        text-align: center; border-radius: 6px; padding: 10px; position: absolute;
        z-index: 100; bottom: 135%; left: 50%; margin-left: -110px; opacity: 0;
        transition: opacity 0.3s; font-size: 12px; line-height: 1.4; pointer-events: none;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    }
    .tp-tooltip::after {
        content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px;
        border-width: 5px; border-style: solid; border-color: #1f2937 transparent transparent transparent;
    }
    .tp-info-wrapper:hover .tp-tooltip, .tp-info-wrapper button:focus + .tp-tooltip { 
        visibility: visible; 
        opacity: 1; 
    }
    .btn-info-svg { cursor: pointer; border: none; background: #e5e7eb; color: #4b5563; border-radius: 50%; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; padding: 0; outline: none; }



.udx-icon-wrapper {
    width: 64px;
    height: 64px;
    background-color: #e920631a !important; 
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}

.udx-icon-wrapper svg {
    width: 32px;
    height: 32px;
    color: var(--primary-color, #6366f1);
}



#eventcontrol-app-buttons {
    text-align: center;
}

/* BOTONES */
#eventcontrol-app-buttons .app-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

#eventcontrol-app-buttons .btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 48px;
    padding: 0 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: all .3s ease;
}

#eventcontrol-app-buttons .btn svg {
    width: 20px;
    height: 20px;
}

/* BOTÓN PRINCIPAL */
#eventcontrol-app-buttons .btn-primary {
    background: #EB3370;
    color: #fff;
    box-shadow: 0 6px 14px rgba(235,51,112,.35);
}

#eventcontrol-app-buttons .btn-primary svg {
    stroke: #fff;
    fill: none;
}

#eventcontrol-app-buttons .btn-primary:hover {
    transform: translateY(-2px);
    opacity: .9;
}

/* BOTÓN SECUNDARIO */
#eventcontrol-app-buttons .btn-secondary {
    background: #fff;
    border: 1px solid #ddd;
    color: #333;
}

#eventcontrol-app-buttons .btn-secondary:hover {
    background: #f5f5f5;
}

/* FEATURES */
#eventcontrol-app-buttons .app-features {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    font-size: 14px;
    color: #777;
}

#eventcontrol-app-buttons .feature {
    display: flex;
    align-items: center;
    gap: 8px;
}

#eventcontrol-app-buttons .feature svg {
    width: 16px;
    height: 16px;
    stroke: #EB3370;
}



/* ===== Newsletter Section ===== */

.ud-newsletter {
    padding: 4rem 1rem;
    background-color: #FEFAFC;
}

.ud-newsletter__container {
    max-width: 1200px;
    margin: 0 auto;
}

.ud-newsletter__content {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
}

.ud-newsletter__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #0f172a; /* foreground */
    margin-bottom: 1rem;
}

.ud-newsletter__text {
    color: #64748b; /* muted */
    margin-bottom: 1.5rem;
    font-size: 1rem;
}

/* ===== Form ===== */

.ud-newsletter__form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ud-newsletter__input {
    height: 2.5rem;
    width: 100%;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0;
    padding: 0 0.75rem;
    font-size: 0.95rem;
    background-color: #ffffff;
}

.ud-newsletter__input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
}

.ud-newsletter__button {
    height: 2.5rem;
    padding: 0 1.25rem;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(to right, #ED4980, #ED4986);
    box-shadow: 0 10px 20px rgba(59, 130, 246, 0.25);
    transition: all 0.3s ease;
}

.ud-newsletter__button:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(59, 130, 246, 0.3);
}

/* ===== Responsive ===== */

@media (min-width: 640px) {
    .ud-newsletter__form {
        flex-direction: row;
    }

    .ud-newsletter__input {
        flex: 1;
    }
}





.ec-testimonial-card-84732 {
	position: relative;
	background: #ffffff;
	border: 1px solid rgba(233, 32, 99, 0.25);
	border-radius: 16px;
	padding: 32px;
	transition: all .5s ease;
	overflow: hidden;
}

.ec-testimonial-card-84732:hover {
	border-color: rgba(233, 32, 99, 0.6);
	box-shadow: 0 20px 40px rgba(233, 32, 99, 0.18);
}

.ec-testimonial-card-84732 .card-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(233, 32, 99, 0.08),
		transparent
	);
	opacity: 0;
	transition: opacity .5s ease;
	border-radius: 16px;
}

.ec-testimonial-card-84732:hover .card-bg {
	opacity: 1;
}

.ec-testimonial-card-84732 .card-content {
	position: relative;
}

.ec-testimonial-card-84732 .header {
	display: flex;
	gap: 16px;
	margin-bottom: 24px;
}

.ec-testimonial-card-84732 .avatar {
	width: 64px;
	height: 64px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(233, 32, 99, 0.25);
	flex-shrink: 0;
	background: #ffffff;
}

.ec-testimonial-card-84732 .avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-testimonial-card-84732 h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
	color: #1f2937;
}

.ec-testimonial-card-84732 .location {
	font-size: 14px;
	color: rgba(233, 32, 99, 0.75);
	margin: 2px 0;
}

.ec-testimonial-card-84732 .badge {
	display: inline-block;
	margin-top: 4px;
	padding: 2px 8px;
	font-size: 12px;
	border-radius: 999px;
	background: rgba(233, 32, 99, 0.12);
	color: #E92063;
	position: relative !important;
	transform: translateX(0%) !important;
	top: 0 !important;
	left: 0 !important;
}

.ec-testimonial-card-84732 .quote {
	color: rgba(31, 41, 55, 0.75);
	font-style: italic;
	margin-bottom: 24px;
}

.ec-testimonial-card-84732 .stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.ec-testimonial-card-84732 .stat {
	text-align: center;
	
	background: #ffffff;
	border-radius: 12px;
	
	transition: transform .3s ease, box-shadow .3s ease;
}

.ec-testimonial-card-84732 .stat:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(233, 32, 99, 0.15);
}

.ec-testimonial-card-84732 .stat svg {
	width: 20px;
	height: 20px;
	stroke: #E92063;
	fill: none;
	margin-bottom: 4px;
}

.ec-testimonial-card-84732 .stat strong {
	display: block;
	font-size: 20px;
	color: #1f2937;
}

.ec-testimonial-card-84732 .stat span {
	font-size: 12px;
	color: rgba(233, 32, 99, 0.75);
}



