.elementor-2516 .elementor-element.elementor-element-7be1606{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2516 .elementor-element.elementor-element-c848069{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:1px 1px;--row-gap:1px;--column-gap:1px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2516 .elementor-element.elementor-element-07d553b{--grid-columns:3;}.elementor-2516 .elementor-element.elementor-element-07d553b .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2516 .elementor-element.elementor-element-07d553b .e-loop-item > .elementor-section, .elementor-2516 .elementor-element.elementor-element-07d553b .e-loop-item > .elementor-section > .elementor-container, .elementor-2516 .elementor-element.elementor-element-07d553b .e-loop-item > .e-con, .elementor-2516 .elementor-element.elementor-element-07d553b .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2516 .elementor-element.elementor-element-72cec56{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2516 .elementor-element.elementor-element-fb50e53{--grid-columns:3;}.elementor-2516 .elementor-element.elementor-element-7784fda{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2516 .elementor-element.elementor-element-9d41a8b{--grid-columns:3;}.elementor-2516 .elementor-element.elementor-element-4f44dc9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2516 .elementor-element.elementor-element-f998683{--grid-columns:3;}.elementor-2516 .elementor-element.elementor-element-39f5baa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2516 .elementor-element.elementor-element-e5faec7{--grid-columns:3;}.elementor-2516 .elementor-element.elementor-element-05a5229{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2516 .elementor-element.elementor-element-701cd93{--grid-columns:3;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-2516 .elementor-element.elementor-element-07d553b{--grid-columns:2;}.elementor-2516 .elementor-element.elementor-element-fb50e53{--grid-columns:2;}.elementor-2516 .elementor-element.elementor-element-9d41a8b{--grid-columns:2;}.elementor-2516 .elementor-element.elementor-element-f998683{--grid-columns:2;}.elementor-2516 .elementor-element.elementor-element-e5faec7{--grid-columns:2;}.elementor-2516 .elementor-element.elementor-element-701cd93{--grid-columns:2;}}@media(max-width:767px){.elementor-2516 .elementor-element.elementor-element-07d553b{--grid-columns:1;}.elementor-2516 .elementor-element.elementor-element-fb50e53{--grid-columns:1;}.elementor-2516 .elementor-element.elementor-element-9d41a8b{--grid-columns:1;}.elementor-2516 .elementor-element.elementor-element-f998683{--grid-columns:1;}.elementor-2516 .elementor-element.elementor-element-e5faec7{--grid-columns:1;}.elementor-2516 .elementor-element.elementor-element-701cd93{--grid-columns:1;}}/* Start custom CSS */* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Urbanist',sans-serif; background:; overflow-x:hidden; }


/* Ola rosa inferior */
.hero-wave {
  position: absolute; bottom: -2px; left: 0; right: 0;
  pointer-events: none;
}


/* Subtítulo debajo del título */
.hero-label {
  font-size: 0.8rem; font-weight: 700; letter-spacing: 4px;
  text-transform: uppercase; color: rgba(255,255,255,0.75);
  margin-bottom: 30px;
}



/* ══════════════════════════════════════════════════════
   CONTI DAYS — "Elegante / Glossy"
   CSS adaptado a las etiquetas reales de la página
   Clases Elementor: .card · .card-content · .card-label
   .card-title · .card-info · .price-section · .price
   .original-price · .discount-badge · .discount-percent
   .discount-tag · .price-label · .dose · #lb-nav-band
   ══════════════════════════════════════════════════════ */

/* ══════════════
   HERO
   ══════════════ */
.hero {
  background: linear-gradient(145deg, #fd6082 0%, #0ba8da 100%);
  min-height: 560px;
  display: flex; align-items: center; justify-content: center;
  text-align: center; color: white;
  position: relative; overflow: hidden;
  padding: 80px 24px 100px;
}
.hero-glow {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 900px; height: 500px;
  background: radial-gradient(ellipse, rgba(253,96,130,0.18) 0%, rgba(11,168,218,0.12) 45%, transparent 75%);
  pointer-events: none;
}
.circle { position:absolute; border-radius:50%; pointer-events:none; opacity:0.06; }
.c1 { width:500px; height:500px; background:#fd6082; top:-150px; right:-100px; }
.c2 { width:350px; height:350px; background:#0ba8da; bottom:-80px; left:-60px; }
.c3 { width:180px; height:180px; background:#fd6082; bottom:60px; right:80px; opacity:0.08; }
.bubble {
  position:absolute; border-radius:50%;
  border:1px solid rgba(255,255,255,0.15);
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.12), rgba(255,255,255,0.02));
  pointer-events:none; animation:bubbleFloat linear infinite;
}
.b1 { width:80px; height:80px; left:8%; top:20%; animation-duration:9s; }
.b2 { width:50px; height:50px; right:12%; top:30%; animation-duration:7s; animation-delay:2s; }
.b3 { width:35px; height:35px; left:18%; bottom:25%; animation-duration:8s; animation-delay:1s; }
.b4 { width:60px; height:60px; right:18%; bottom:20%; animation-duration:10s; animation-delay:3s; }
.b5 { width:25px; height:25px; left:40%; top:12%; animation-duration:6s; animation-delay:0.5s; }
@keyframes bubbleFloat {
  0%   { transform:translateY(0) scale(1); opacity:0.5; }
  50%  { transform:translateY(-20px) scale(1.05); opacity:0.8; }
  100% { transform:translateY(0) scale(1); opacity:0.5; }
}
.light-line {
  position:absolute; pointer-events:none;
  width:1px; background:linear-gradient(to bottom, transparent, rgba(253,96,130,0.3), transparent);
  transform-origin:top;
}
.ll1 { height:300px; top:0; left:25%; transform:rotate(20deg); }
.ll2 { height:200px; top:0; right:22%; transform:rotate(-15deg);
  background:linear-gradient(to bottom, transparent, rgba(11,168,218,0.3), transparent); }
.hero::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0; height:70px;
  background:linear-gradient(to bottom, transparent);
}
.hero-inner {
  position:relative; z-index:2; max-width:820px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(253,96,130,0.4);
  border-radius:50px; padding:8px 22px;
  font-size:0.72rem; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:rgba(255,255,255,0.88); margin-bottom:30px;
}
.badge-dot { width:6px; height:6px; border-radius:50%; background:#fd6082; animation:dotPulse 1.8s ease-in-out infinite; }
@keyframes dotPulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.5;transform:scale(0.7);} }
.hero-pretitle {
  font-size:clamp(1rem,2.5vw,1.3rem); font-weight:300; letter-spacing:6px;
  text-transform:uppercase; color:rgba(255,255,255,0.65); margin-bottom:14px;
}
.hero-title {
  font-size:clamp(2.2rem,5vw,3.2rem); font-weight:900; text-transform:uppercase;
  letter-spacing:3px; color:white; line-height:1; margin-bottom:30px;
  text-shadow:0 0 40px rgba(11,168,218,0.5);
}
.hero-title .accent { color:#fd6082; }
.logo-wrap {
  margin-bottom:30px; position:relative;
  filter:drop-shadow(0 0 40px rgba(253,96,130,0.5)) drop-shadow(0 10px 30px rgba(253,96,130,0.3));
  animation:logoGlow 3s ease-in-out infinite;
}
@keyframes logoGlow {
  0%,100% { filter:drop-shadow(0 0 40px rgba(253,96,130,0.5)) drop-shadow(0 10px 30px rgba(253,96,130,0.3)); }
  50%      { filter:drop-shadow(0 0 60px rgba(253,96,130,0.75)) drop-shadow(0 10px 40px rgba(11,168,218,0.3)); }
}
.logo-img { width:clamp(220px,38vw,380px); height:auto; display:block; mix-blend-mode:multiply; }
.divider { display:flex; align-items:center; gap:14px; margin-bottom:22px; width:280px; }
.divider-line { flex:1; height:1px; background:linear-gradient(90deg, transparent, rgba(253,96,130,0.5)); }
.divider-line.r { background:linear-gradient(90deg, rgba(253,96,130,0.5), transparent); }
.divider-icon { font-size:16px; color:#fd6082; }
.hero-sub {
  font-size:1rem; font-weight:300; color:rgba(255,255,255,0.75); letter-spacing:0.3px;
  margin-bottom:38px; max-width:520px; line-height:1.6;
}
.hero-sub strong { color:#0ba8da; font-weight:600; }

/* ══════════════
   NAV BAND  (#lb-nav-band · .hero-nav)
   ══════════════ */
#lb-nav-band {
  background: linear-gradient(135deg, #fd6082 0%, #0ba8da 100%) !important;
  padding: 14px 24px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}
.hero-nav {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.hero-nav a {
  padding: 9px 20px !important;
  border-radius: 50px !important;
  font-family: 'Urbanist', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s !important;
  white-space: nowrap !important;
}
.hero-nav a.nb {
  background: rgba(11,168,218,0.15) !important;
  border: 1px solid rgba(11,168,218,0.5) !important;
  color: #0ba8da !important;
}
.hero-nav a.ny {
  background: rgba(253,96,130,0.12) !important;
  border: 1px solid rgba(253,96,130,0.4) !important;
  color: #fd6082 !important;
}
.hero-nav a:hover {
  background: #fd6082 !important;
  border-color: #fd6082 !important;
  color: white !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(253,96,130,0.45) !important;
}

/* ══════════════
   SECCIONES  (.category-section · .category-header)
   ══════════════ */
.category-section {
    background: rgba(167,233,249,0.12) !important;
  
  padding: 50px 24px 60px !important;
}

.category-header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding-bottom: 16px !important;
  border-bottom: 3px solid rgba(11,168,218,0.25) !important;
  position: relative !important;
  margin-bottom: 28px !important;
}
.category-header::after {
  content: '' !important;
  position: absolute !important;
  bottom: -3px !important; left: 0 !important;
  width: 70px !important; height: 3px !important;
  background: #fd6082 !important;
  border-radius: 3px !important;
}
.category-icon {
  width: 54px !important; height: 54px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #fd6082, #FDA0B2) !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; overflow: hidden !important;
  flex-shrink: 0 !important;
  box-shadow: 0 6px 20px rgba(253,96,130,0.35) !important;
}
.category-icon img {
  width: 28px !important; height: 28px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
}
.category-header h2 {
  font-family: 'Urbanist', sans-serif !important;
  color: #0ba8da !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important; padding: 0 !important;
}

/* ══════════════
   GRID  (.elementor-loop-container.elementor-grid)
   ══════════════ */
.elementor-loop-container.elementor-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  width: 100% !important;
}

/* ══════════════
   CARD  (.card)
   ══════════════ */
.card {
  background: white !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 2px solid rgba(11,168,218,0.2) !important;
  box-shadow: 0 6px 22px rgba(253,96,130,0.08) !important;
  transition: all 0.3s !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.card:hover {
  transform: translateY(-7px) !important;
  border-color: #fd6082 !important;
  box-shadow: 0 14px 36px rgba(253,96,130,0.22) !important;
}

/* Imagen de la card */
.card .elementor-widget-image { width: 100% !important; flex-shrink: 0 !important; }
.card .elementor-widget-image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}
.card.e-con {
 --padding-inline-start: 0px!important;
    --padding-inline-end: 0px!important;
    --padding-top:0px!important;
}

/* ══════════════
   BADGE DESCUENTO  (.discount-badge · .discount-percent)
   ══════════════ */
.discount-badge {
  position: absolute !important;
  top: 13px !important; right: 13px !important;
  width: 68px !important; height: 68px !important;
  min-width: 68px !important; min-height: 68px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #fd6082 0%, #FDA0B2 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 5 !important;
  box-shadow: 0 4px 16px rgba(253,96,130,0.5) !important;
  border: 3px solid white !important;
  animation: badgePop 2.8s ease-in-out infinite;
  padding: 0 !important;
}
@keyframes badgePop {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.07); }
}
/* El e-con-inner dentro del badge */
.discount-badge > .e-con-inner,
.discount-badge .e-con-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  width: 100% !important; height: 100% !important;
  padding: 0 !important;
}
/* Número de porcentaje */
.discount-percent .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: white !important;
  line-height: 1 !important;
  text-align: center !important;
  margin: 0 !important; padding: 0 !important;
}
/* Agrega el "%" y "OFF" automáticamente */
.discount-percent .elementor-heading-title::after {
  content: '%OFF' !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.85) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  line-height: 1.3 !important;
}

/* ══════════════
   CONTENIDO CARD  (.card-content · .card-label · .card-title · .card-subtitle)
   ══════════════ */
.card-content {
  padding: 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
/* wrapper interno de Elementor */
.card-content > .e-con-inner {
  padding: 20px 18px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
/* Label tipo pill */
.card-label .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  display: inline-block !important;
  background: rgba(253,160,178,0.12) !important;
  color: #fd6082 !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
  border: 1px solid rgba(253,96,130,0.25) !important;
}
/* Título principal */
.card-title h3.elementor-heading-title,
.card-title .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0ba8da !important;
  text-transform: uppercase !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;
  padding: 0 !important;
}
/* Subtítulo (Unidad Capilar, Medicina Estética, etc.) */
.card-subtitle,
.card-subtitle p {
  font-size: 11px !important;
  color: #fd6082 !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

/* ══════════════
   PRECIOS  (.card-info · .price-section · .price-with-discount
             .price-label · .original-price · .discount-tag · .price · .dose)
   ══════════════ */
/* Fila con precio a la izq. y sesiones a la der. */
.card-info {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
  margin-top: auto !important;
  border-top: 1.5px solid rgba(11,168,218,0.12) !important;
  padding-top: 12px !important;
}
/* Columna de precios */
.price-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  flex: 1 !important;
}
/* Fila "Antes · [precio tachado]" */
.price-with-discount {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
}
/* "Antes" */
.price-label .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  font-size: 16px !important;
  color: #0ba8da !important;
  font-weight: 700 !important;
  opacity: 0.55 !important;
  margin: 0 !important; padding: 0 !important;
}
/* Precio tachado */
.original-price .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  font-size: 14px !important;
  color: #0ba8da !important;
  text-decoration: line-through !important;
  opacity: 0.5 !important;
  font-weight: 500 !important;
  margin: 0 !important; padding: 0 !important;
}
/* "Ahora a" pill */
.discount-tag .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  display: inline-block !important;
  background: #0ba8da !important;
  color: white !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 20px !important;
  margin: 3px 0 2px !important;
  line-height: 1.4 !important;
}
/* Precio final (grande) */
.price .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #fd6082 !important;
  line-height: 1 !important;
  margin: 0 !important; padding: 0 !important;
}
.price .elementor-heading-title::before {
  content: 'S/ ' !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  vertical-align: top !important;
  padding-top: 5px !important;
  display: inline-block !important;
}
/* Sesiones / dosis */
.dose .elementor-heading-title {
  font-family: 'Urbanist', sans-serif !important;
  background: rgba(253,160,178,0.12) !important;
  color: #fd6082 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(253,96,130,0.2) !important;
  text-align: center !important;
  white-space: nowrap !important;
  display: block !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* ══════════════
   BOTÓN CTA  (.elementor-button)
   ══════════════ */
.card .elementor-button-wrapper { margin-top: auto !important; }
.card .elementor-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 12px 18px !important;
  background: linear-gradient(135deg, #fd6082 0%, #FDA0B2 100%) !important;
  color: white !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Urbanist', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
  box-shadow: 0 4px 14px rgba(253,96,130,0.35) !important;
}
.card .elementor-button:hover {
  background: linear-gradient(135deg, #0ba8da 0%, #A7E9F9 100%) !important;
  box-shadow: 0 6px 20px rgba(11,168,218,0.4) !important;
  color: white !important;
  transform: translateY(-2px) !important;
}

/* ══════════════
   RESPONSIVE
   ══════════════ */
@media (max-width: 900px) {
  .elementor-loop-container.elementor-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 560px) {
  .elementor-loop-container.elementor-grid {
    grid-template-columns: 1fr !important;
  }
  .category-header h2 { font-size: 1.3rem !important; }
  .price .elementor-heading-title { font-size: 28px !important; }
}

/* ══════════════
   ETIQUETA DE PROPUESTA (solo para esta preview)
   ══════════════ */
.proposal-tag {
  background: linear-gradient(135deg, #fd6082, #0ba8da);
  color: white; font-size: 0.75rem; font-weight: 800;
  letter-spacing: 2px; text-transform: uppercase;
  padding: 10px 0; text-align: center;
}

/* ══════════════
   QUICK-NAV (dentro del hero — solo preview)
   ══════════════ */
.quick-nav { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.quick-nav a {
  padding:9px 20px;
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.18);
  border-radius:50px; color:rgba(255,255,255,0.88);
  font-size:0.82rem; font-weight:600;
  text-decoration:none; transition:all 0.25s; white-space:nowrap;
}
.quick-nav a:hover {
  background:#fd6082; border-color:#fd6082; color:white;
  transform:translateY(-2px); box-shadow:0 6px 18px rgba(253,96,130,0.45);
}/* End custom CSS */