/* MC Optimizer - base visual de widgets Elementor.
 * Regla de diseño: defaults de baja especificidad; Elementor manda mediante {{WRAPPER}}.
 */
.mc-wa-cta-wrap,
.mc-dynamic-contact-button-wrap{display:block}

.mc-wa-cta-wrap .mc-wa-cta,
.mc-wa-cta-wrap .mc-wa-cta-preview,
.mc-dynamic-contact-button{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  min-width:0;
  padding:12px 20px;
  border:0 solid transparent;
  border-radius:12px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.mc-wa-cta-wrap .mc-wa-cta:hover,.mc-wa-cta-wrap .mc-wa-cta:focus,
.mc-dynamic-contact-button:hover,.mc-dynamic-contact-button:focus{
  background:#1ebe5d;
  color:#fff;
  text-decoration:none;
}
.mc-wa-cta-wrap .mc-wa-cta-preview,.mc-dynamic-contact-button-preview{opacity:.72;cursor:not-allowed}
.mc-wa-cta-wrap .mc-wa-cta-icon,.mc-dynamic-contact-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:currentColor;flex:0 0 auto}
.mc-wa-cta-wrap .mc-wa-cta-icon svg,.mc-dynamic-contact-icon svg{display:block;width:1.1em;height:1.1em;fill:currentColor}
.mc-wa-cta-wrap .mc-wa-cta-icon i,.mc-dynamic-contact-icon i{display:block;line-height:1}
.mc-wa-cta-wrap .mc-wa-cta-label,.mc-dynamic-contact-label{display:inline-block;min-width:0}

/* Contact lists */
.mc-contact-list{box-sizing:border-box;color:inherit}
.mc-contact-list__items{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px}
.mc-contact-list--stack .mc-contact-list__items,
.mc-contact-list--ul .mc-contact-list__items{flex-direction:column}
.mc-contact-list--ul .mc-contact-list__items{margin:0;padding:0;list-style:none}
.mc-contact-list__item{display:inline-flex;align-items:center;min-width:0}
.mc-contact-list__link,.mc-contact-list__text{display:inline-flex;align-items:center;gap:.45em;color:inherit;text-decoration:none;min-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.mc-contact-list__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto;color:currentColor}
.mc-contact-list__icon svg{display:block;width:1em;height:1em;fill:currentColor}
.mc-contact-list__separator{display:inline-flex;align-items:center;opacity:.65;padding:0 .1em}
.mc-contact-list__value{min-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit}
.mc-contact-list__placeholder{font-style:italic;color:#888}

/* Social icons - sin estilos inline que bloqueen los controles de Elementor */
.mc-elementor-social-widget.mc-social-icons{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:var(--mc-si-row-gap,0) var(--mc-si-column-gap,5px)}
.mc-elementor-social-widget.mc-social-icons .mc-si{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:calc(var(--mc-si-icon-size,25px) + (2 * var(--mc-si-padding,.5em)));
  height:calc(var(--mc-si-icon-size,25px) + (2 * var(--mc-si-padding,.5em)));
  padding:var(--mc-si-padding,.5em);
  color:#fff;
  fill:currentColor;
  background:var(--mc-si-brand,#64748b);
  border:1px solid transparent;
  border-radius:9999px;
  text-decoration:none;
  line-height:1;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.mc-elementor-social-widget.mc-social-icons .mc-si-inner{display:flex;align-items:center;justify-content:center;width:var(--mc-si-icon-size,25px);height:var(--mc-si-icon-size,25px);flex:0 0 auto}
.mc-elementor-social-widget.mc-social-icons .mc-si-inner svg,.mc-elementor-social-widget.mc-social-icons .mc-si-inner img{display:block;width:100%;height:100%;object-fit:contain;fill:currentColor}
.mc-elementor-social-widget.mc-social-icons--square .mc-si{border-radius:6px}
.mc-elementor-social-widget.mc-social-icons--monochrome .mc-si{background:#fff;color:#111;border-color:rgba(0,0,0,.14)}
.mc-elementor-social-widget.mc-social-icons--outline .mc-si{background:transparent;color:var(--mc-si-brand,#64748b);border-color:currentColor}
.mc-elementor-social-widget.mc-social-icons--brand .mc-si-instagram{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4)}
.mc-elementor-social-widget.mc-social-icons .mc-si--with-label{width:auto;height:auto;flex-direction:column;gap:6px;padding:6px 8px}
.mc-elementor-social-widget.mc-social-icons .mc-si-label{display:block;white-space:nowrap;text-align:center;line-height:1.2}
.mc-elementor-social-widget.mc-social-icons--hover-scale .mc-si:hover,.mc-elementor-social-widget.mc-social-icons--hover-scale .mc-si:focus{transform:scale(1.15)}
.mc-elementor-social-widget.mc-social-icons--hover-lift .mc-si:hover,.mc-elementor-social-widget.mc-social-icons--hover-lift .mc-si:focus{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.15)}
.mc-elementor-social-widget.mc-social-icons--hover-glow .mc-si:hover,.mc-elementor-social-widget.mc-social-icons--hover-glow .mc-si:focus{box-shadow:0 0 20px currentColor;filter:brightness(1.08)}
@keyframes mcSiFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.mc-elementor-social-widget.mc-social-icons--animate .mc-si{animation:mcSiFadeIn .45s ease-out backwards}
.mc-elementor-social-widget.mc-social-icons--animate .mc-si:nth-child(2){animation-delay:.06s}.mc-elementor-social-widget.mc-social-icons--animate .mc-si:nth-child(3){animation-delay:.12s}.mc-elementor-social-widget.mc-social-icons--animate .mc-si:nth-child(4){animation-delay:.18s}.mc-elementor-social-widget.mc-social-icons--animate .mc-si:nth-child(5){animation-delay:.24s}.mc-elementor-social-widget.mc-social-icons--animate .mc-si:nth-child(6){animation-delay:.30s}.mc-elementor-social-widget.mc-social-icons--animate .mc-si:nth-child(n+7){animation-delay:.36s}

/* Claims */
.mc-claims-form .mc-claims-section-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;background:#f4f5f6;border-left:3px solid var(--e-global-color-accent,#61ce70);margin:0}
.mc-claims-form .mc-claims-legal-note{font-size:11px;color:#888;margin:4px 0 0}
.mc-claims-form .mc-claims-submit{width:100%}
.mc-claims-form .elementor-message[hidden]{display:none}

/* Nuevo: bloque de contacto */
.mc-contact-hub{display:flex;flex-direction:column;gap:14px}
.mc-contact-hub__heading{margin:0}
.mc-contact-hub__items{display:grid;grid-template-columns:1fr;gap:10px}
.mc-contact-hub--inline .mc-contact-hub__items{display:flex;flex-wrap:wrap}
.mc-contact-hub--cards .mc-contact-hub__items{grid-template-columns:repeat(var(--mc-contact-cols,2),minmax(0,1fr))}
.mc-contact-hub__item{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:0;color:inherit;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.mc-contact-hub__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1;color:currentColor}
.mc-contact-hub__icon svg{width:1em;height:1em;display:block;fill:currentColor}
.mc-contact-hub__content{display:flex;flex-direction:column;min-width:0}
.mc-contact-hub__label{font-size:.82em;opacity:.7}
.mc-contact-hub__value{overflow-wrap:anywhere}
@media(max-width:767px){.mc-contact-hub--cards .mc-contact-hub__items{grid-template-columns:1fr}}
.mc-wa-cta-wrap .mc-wa-cta--lift:hover,.mc-wa-cta-wrap .mc-wa-cta--lift:focus{transform:translateY(-3px)}
.mc-wa-cta-wrap .mc-wa-cta--scale:hover,.mc-wa-cta-wrap .mc-wa-cta--scale:focus{transform:scale(1.03)}
.mc-dynamic-contact-button--lift:hover,.mc-dynamic-contact-button--lift:focus{transform:translateY(-3px)}
.mc-dynamic-contact-button--scale:hover,.mc-dynamic-contact-button--scale:focus{transform:scale(1.03)}
.mc-contact-list--align-left .mc-contact-list__items{justify-content:flex-start}.mc-contact-list--align-center .mc-contact-list__items{justify-content:center}.mc-contact-list--align-right .mc-contact-list__items{justify-content:flex-end}
.mc-contact-list--stack.mc-contact-list--align-left .mc-contact-list__items,.mc-contact-list--ul.mc-contact-list--align-left .mc-contact-list__items{align-items:flex-start}.mc-contact-list--stack.mc-contact-list--align-center .mc-contact-list__items,.mc-contact-list--ul.mc-contact-list--align-center .mc-contact-list__items{align-items:center}.mc-contact-list--stack.mc-contact-list--align-right .mc-contact-list__items,.mc-contact-list--ul.mc-contact-list--align-right .mc-contact-list__items{align-items:flex-end}

/* Claims: layout mínimo autocontenido. No depende del CSS del widget Form Pro. */
.mc-claims-form .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}
.mc-claims-form .elementor-field-group{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;padding-left:5px;padding-right:5px;min-width:0}
.mc-claims-form .elementor-field-label{width:100%}
.mc-claims-form .elementor-field{box-sizing:border-box;max-width:100%;width:100%}
.mc-claims-form .elementor-col-25{width:25%}.mc-claims-form .elementor-col-30{width:30%}.mc-claims-form .elementor-col-33{width:33%}.mc-claims-form .elementor-col-34{width:34%}.mc-claims-form .elementor-col-40{width:40%}.mc-claims-form .elementor-col-50{width:50%}.mc-claims-form .elementor-col-60{width:60%}.mc-claims-form .elementor-col-66{width:66%}.mc-claims-form .elementor-col-70{width:70%}.mc-claims-form .elementor-col-75{width:75%}.mc-claims-form .elementor-col-80{width:80%}.mc-claims-form .elementor-col-100{width:100%}
.mc-claims-form .e-form__buttons>div{width:100%;display:flex}.mc-claims-form .elementor-align-left{justify-content:flex-start}.mc-claims-form .elementor-align-center{justify-content:center}.mc-claims-form .elementor-align-right{justify-content:flex-end}
.mc-claims-form .mc-claims-submit{max-width:100%}
@media(max-width:767px){.mc-claims-form .elementor-field-group{width:100%}}

/* Datos de contacto: alineación coherente de tarjetas y contenido. */
.mc-contact-hub--align-left .mc-contact-hub__item{justify-content:flex-start;text-align:left}.mc-contact-hub--align-center .mc-contact-hub__item{justify-content:center;text-align:center}.mc-contact-hub--align-right .mc-contact-hub__item{justify-content:flex-end;text-align:right}

/* WhatsApp flotante para landings (v2.11.0). Los controles de Elementor mandan. */
.mc-wa-floating{
  --mc-wa-float-h-offset:20px;
  --mc-wa-float-v-offset:20px;
  position:fixed;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:60px;
  box-sizing:border-box;
  background:#25D366;
  color:#fff;
  border:0 solid transparent;
  border-radius:50%;
  text-decoration:none;
  line-height:1;
  cursor:pointer;
  z-index:9999;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.mc-wa-floating--left{left:var(--mc-wa-float-h-offset);right:auto}
.mc-wa-floating--right{right:var(--mc-wa-float-h-offset);left:auto}
.mc-wa-floating--top{top:var(--mc-wa-float-v-offset);bottom:auto}
.mc-wa-floating--bottom{bottom:var(--mc-wa-float-v-offset);top:auto}
.mc-wa-floating:hover,.mc-wa-floating:focus{background:#1ebe5d;color:#fff;text-decoration:none}
.mc-wa-floating__icon{display:inline-flex;align-items:center;justify-content:center;font-size:30px;line-height:1;color:currentColor}
.mc-wa-floating__icon svg{display:block;width:30px;height:30px;fill:currentColor}
.mc-wa-floating__icon i{display:block;line-height:1}
.mc-wa-floating--disabled{opacity:.55;cursor:not-allowed}
.mc-context-wa-wrap{width:100%}
.mc-context-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;line-height:1.2;cursor:pointer;border:0 solid transparent;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;}
.mc-context-wa-label{display:inline-block}
.mc-context-wa-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:currentColor}.mc-context-wa-icon svg{display:block;width:1em;height:1em;fill:currentColor}.mc-context-wa-icon i{font-style:normal;line-height:1}
.mc-context-wa--hover-lift:hover,.mc-context-wa--hover-lift:focus{transform:translateY(-2px)}
.mc-context-wa--hover-scale:hover,.mc-context-wa--hover-scale:focus{transform:scale(1.03)}
.mc-context-wa--disabled{opacity:.6;cursor:not-allowed}
