:root { --ebc-accent: #e5202e; }

/* ---- Formulario base (footer y popup) ---- */
.ebc-form { max-width: 480px; color: #f4f4f5; }
.ebc-title {
  font-size: 1.35rem; line-height: 1.2; font-weight: 800;
  margin: 0 0 .35em; letter-spacing: -.01em; color: #fff;
}
.ebc-sub { font-size: .9rem; line-height: 1.45; margin: 0 0 1em; opacity: .82; }
.ebc-sub strong { color: var(--ebc-accent); }

.ebc-row { display: flex; gap: 8px; flex-wrap: wrap; }
.ebc-email {
  flex: 1 1 200px; min-width: 0;
  padding: 13px 15px; font-size: .95rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 9px; background: rgba(255,255,255,.06); color: #fff;
  outline: none; transition: border-color .15s;
}
.ebc-email::placeholder { color: rgba(255,255,255,.45); }
.ebc-email:focus { border-color: var(--ebc-accent); }
.ebc-btn {
  padding: 13px 20px; font-size: .92rem; font-weight: 700;
  border: 0; border-radius: 9px; cursor: pointer; white-space: nowrap;
  background: var(--ebc-accent); color: #fff;
  transition: filter .15s, transform .05s;
}
.ebc-btn:hover { filter: brightness(1.08); }
.ebc-btn:active { transform: translateY(1px); }
.ebc-btn[disabled] { opacity: .6; cursor: default; }

.ebc-consent {
  display: flex; gap: 8px; align-items: flex-start;
  margin-top: 11px; font-size: .74rem; line-height: 1.4; opacity: .78;
}
.ebc-consent input { margin-top: 2px; accent-color: var(--ebc-accent); }
.ebc-consent a { color: var(--ebc-accent); text-decoration: underline; }

.ebc-feedback { font-size: .82rem; margin-top: 10px; min-height: 1em; }
.ebc-feedback.is-error { color: #ff6b6b; }
.ebc-feedback.is-ok { color: #4ade80; }

/* Código de cupón entregado */
.ebc-code {
  margin-top: 12px; padding: 14px; text-align: center;
  border: 1px dashed var(--ebc-accent); border-radius: 10px;
  background: rgba(229,32,46,.08);
}
.ebc-code b {
  display: inline-block; font-size: 1.3rem; letter-spacing: .12em;
  font-weight: 800; color: #fff; cursor: pointer; user-select: all;
}
.ebc-code small { display: block; margin-top: 6px; opacity: .75; font-size: .74rem; }

/* ---- Popup ---- */
.ebc-overlay {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center; padding: 20px;
  background: rgba(6,6,8,.72); backdrop-filter: blur(3px);
  opacity: 0; transition: opacity .25s;
}
.ebc-overlay.is-open { opacity: 1; }
.ebc-modal {
  position: relative; width: 100%; max-width: 440px;
  background: #131318; border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px; box-shadow: 0 24px 70px rgba(0,0,0,.55);
  transform: translateY(12px) scale(.98); transition: transform .25s;
}
.ebc-overlay.is-open .ebc-modal { transform: none; }
.ebc-modal-in { padding: 30px 28px 26px; }
.ebc-form--big .ebc-title { font-size: 1.7rem; }

/* Imagen de cabecera del popup */
.ebc-modal--img { overflow: hidden; }
.ebc-modal-img {
  height: 190px; width: 100%;
  background-size: cover; background-position: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ebc-modal--img .ebc-modal-in { padding-top: 24px; }
.ebc-close {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; padding: 0;
  font-size: 20px; line-height: 1; font-weight: 400;
  background: rgba(0,0,0,.55); border: 0; border-radius: 50%;
  color: #fff; cursor: pointer;
  transition: background .15s, transform .1s;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.ebc-close:hover { background: rgba(0,0,0,.8); transform: scale(1.06); }
.ebc-modal--img .ebc-close { background: rgba(0,0,0,.55); color: #fff; }

@media (max-width: 480px) {
  .ebc-modal-in { padding: 26px 20px 22px; }
  .ebc-form--big .ebc-title { font-size: 1.4rem; }
}
