/* WhatsApp Corporativo 1.0.2 — estilos encapsulados, sin recursos externos. */
.wacorp {
  --wacorp-primary: #08765e;
  --wacorp-primary-hover: #05654f;
  --wacorp-ink: #20382f;
  --wacorp-muted: #697f77;
  --wacorp-line: #e2ebe7;
  --wacorp-surface: #fff;
  box-sizing: border-box;
  position: relative;
  color: var(--wacorp-ink);
  font-family: inherit;
  font-size: 14px;
}
.wacorp *, .wacorp *::before, .wacorp *::after { box-sizing: border-box; }

/* El tema no debe limitarlo al ancho del botón anterior (360px). */
.wacorp.wacorp--product {
  display: block;
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
  flex: 0 0 100%;
  margin: 18px 0 23px;
  clear: both;
  isolation: isolate;
}
.wacorp .wacorp__trigger {
  appearance: none; -webkit-appearance: none;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  width: 100% !important;
  max-width: none;
  margin: 0 !important;
  padding: 13px 16px !important;
  border: 1px solid var(--wacorp-primary) !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--wacorp-primary) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  box-shadow: 0 5px 15px rgba(2, 72, 53, .13) !important;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.wacorp.wacorp--product .wacorp__trigger { min-height: 94px; }
.wacorp .wacorp__trigger:hover,
.wacorp .wacorp__trigger:active {
  color: #fff !important;
  background: var(--wacorp-primary-hover) !important;
  border-color: var(--wacorp-primary-hover) !important;
  box-shadow: 0 8px 22px rgba(2, 72, 53, .20) !important;
}
.wacorp .wacorp__trigger:focus-visible,
.wacorp .wacorp__contact:focus-visible { outline: 3px solid #79d5b7 !important; outline-offset: 3px; }

/* Cabecera corporativa semejante al diseño de referencia. */
.wacorp__profile {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.94);
  background: rgba(255,255,255,.35);
  padding: 3px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.16);
}
.wacorp__profile-inner {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  color: #164f75 !important;
  background: #f8fcfc;
  font-size: 27px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: -.04em;
}
.wacorp__copy { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; gap: 2px; }
.wacorp .wacorp__eyebrow,
.wacorp .wacorp__subtitle,
.wacorp .wacorp__title {
  display: block;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
}
.wacorp .wacorp__eyebrow { font-size: 12px !important; line-height: 1.2 !important; font-weight: 450 !important; opacity: .97; }
.wacorp .wacorp__title { font-size: 17px !important; line-height: 1.2 !important; font-weight: 750 !important; }
.wacorp .wacorp__subtitle { font-size: 12.5px !important; line-height: 1.32 !important; font-weight: 400 !important; opacity: .94; }
.wacorp__chevron { display: block; flex: 0 0 18px; width: 18px; height: 18px; margin-left: auto; opacity: .95; transition: transform .2s ease; }
.wacorp__trigger[aria-expanded="true"] .wacorp__chevron { transform: rotate(180deg); }

/* Panel abre en el flujo de la ficha para no tapar precio o compra. */
.wacorp .wacorp__panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--wacorp-line);
  border-radius: 15px;
  background: var(--wacorp-surface);
  color: var(--wacorp-ink);
  text-align: left;
  box-shadow: 0 16px 35px rgba(12, 48, 34, .14);
  z-index: 9999;
}
.wacorp.wacorp--product .wacorp__panel {
  position: relative;
  top: auto;
  left: auto;
  width: 100% !important;
  max-width: none;
  margin-top: 10px;
}
.wacorp .wacorp__panel[hidden] { display: none !important; }
.wacorp__panel-heading { display: flex; gap: 10px; padding: 10px 12px 14px; border-bottom: 1px solid var(--wacorp-line); }
.wacorp .wacorp__panel-heading strong { display: block; font-size: 14px; line-height: 1.35; font-weight: 750; color: #18382b; }
.wacorp .wacorp__panel-heading span { display: block; padding-top: 3px; font-size: 12px; line-height: 1.4; color: var(--wacorp-muted); }
.wacorp .wacorp__contacts { list-style: none !important; padding: 6px 0 2px !important; margin: 0 !important; }
.wacorp .wacorp__contacts li { display: block !important; list-style: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.wacorp .wacorp__contact {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
  padding: 12px !important;
  margin: 2px 0;
  border: 1px solid transparent !important;
  border-radius: 11px;
  color: var(--wacorp-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background .18s ease, border-color .18s ease;
}
.wacorp .wacorp__contact:hover { color: var(--wacorp-ink) !important; background: #f0f8f4 !important; border-color: #dcebe4 !important; }
.wacorp__avatar { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: #e6f3ed; color: #067459; font-weight: 750; font-size: 12px; }
.wacorp__contact-info { display: block; flex: 1 1 auto; min-width: 0; }
.wacorp .wacorp__contact-info strong { display: block; color: #1c372d; font-size: 13.5px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
.wacorp .wacorp__contact-info > span { display: block; color: var(--wacorp-muted); font-size: 12.5px; line-height: 1.4; margin-top: 3px; }
.wacorp__outbound { display: block; flex: 0 0 18px; width: 18px; height: 18px; color: #5b8f78; }
.wacorp__footer { border-top: 1px solid var(--wacorp-line); padding: 11px 8px 3px; color: #788a80; text-align: center; font-size: 11px; }

/* Botón flotante independiente en todo el sitio. */
.wacorp.wacorp--floating { position: fixed; bottom: max(24px, env(safe-area-inset-bottom)); z-index: 999990; width: auto; }
.wacorp.wacorp--floating.wacorp--right { right: 24px; }
.wacorp.wacorp--floating.wacorp--left { left: 24px; }
.wacorp.wacorp--floating .wacorp__trigger {
  width: auto !important;
  min-width: 125px;
  min-height: 54px;
  padding: 12px 18px !important;
  gap: 9px;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 9px 29px rgba(5, 85, 64, .25) !important;
}
.wacorp.wacorp--floating .wacorp__trigger:hover { transform: translateY(-2px); }
.wacorp__logo { display: grid; place-items: center; flex: 0 0 auto; }
.wacorp__logo svg { display: block; width: 25px; height: 25px; }
.wacorp__trigger-text { white-space: nowrap; }
.wacorp.wacorp--floating .wacorp__chevron { width: 15px; height: 15px; margin-left: 4px; }
.wacorp.wacorp--floating .wacorp__panel { top: auto; bottom: calc(100% + 12px); width: min(355px, calc(100vw - 30px)); }
.wacorp.wacorp--floating.wacorp--right .wacorp__panel { left: auto; right: 0; }
.wacorp.wacorp--floating.wacorp--left .wacorp__panel { left: 0; right: auto; }

@media (max-width: 767px) {
  .wacorp.wacorp--product { margin: 16px 0 20px; }
  .wacorp.wacorp--product .wacorp__trigger { min-height: 85px; padding: 12px !important; gap: 11px; }
  .wacorp__profile { width: 54px; height: 54px; flex-basis: 54px; }
  .wacorp__profile-inner { font-size: 23px; }
  .wacorp .wacorp__eyebrow { font-size: 11px !important; }
  .wacorp .wacorp__title { font-size: 15.5px !important; }
  .wacorp .wacorp__subtitle { font-size: 11.5px !important; }
  .wacorp.wacorp--floating { bottom: max(18px, env(safe-area-inset-bottom)); }
  .wacorp.wacorp--floating.wacorp--right { right: 16px; }
  .wacorp.wacorp--floating.wacorp--left { left: 16px; }
  /* Dejar margen respecto a las barras de compra móviles habituales de WoodMart. */
  body.single-product .wacorp.wacorp--floating { bottom: max(78px, calc(env(safe-area-inset-bottom) + 78px)); }
  .wacorp.wacorp--floating .wacorp__trigger { width: 55px !important; min-width: 55px; height: 55px; min-height: 55px; padding: 12px !important; justify-content: center; }
  .wacorp.wacorp--floating .wacorp__trigger-text,
  .wacorp.wacorp--floating .wacorp__chevron { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .wacorp *, .wacorp *::before, .wacorp *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
