/* MODAL EDAD */
.age-overlay {
  position:fixed; inset:0; z-index:500;
  background:rgba(8,42,56,.92);
  backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  padding:1.5rem;
}
.age-box {
  background:#fff; border-radius:22px;
  max-width:420px; width:100%;
  padding:2.5rem 2rem 2rem;
  text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:popIn .3s cubic-bezier(.34,1.56,.64,1);
}
.age-icon { font-size:3.5rem; margin-bottom:.8rem; }
.age-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:2.2rem; letter-spacing:2px;
  color:var(--deep); margin-bottom:.5rem;
}
.age-sub { font-size:.88rem; color:var(--muted); line-height:1.6; margin-bottom:1.8rem; }
.age-btns { display:flex; gap:.8rem; }
.age-btn {
  flex:1; padding:13px; border:none; border-radius:11px;
  font-family:'Sora',sans-serif; font-size:.9rem; font-weight:600;
  cursor:pointer; transition:all .2s;
}
.age-btn.yes { background:var(--deep); color:#fff; }
.age-btn.yes:hover { background:var(--teal); }
.age-btn.no { background:var(--light); color:var(--muted); border:1.5px solid var(--frost); }
.age-btn.no:hover { background:var(--frost); }
.age-warning {
  display:none; margin-top:1.2rem;
  background:#fff3cd; border:1px solid #ffc107;
  border-radius:9px; padding:.7rem 1rem;
  font-size:.8rem; color:#856404; line-height:1.5;
}
.age-warning.show { display:block; }

/* MODAL PROMO */
.promo-overlay {
  display:none; position:fixed; inset:0; z-index:490;
  background:rgba(8,42,56,.75);
  backdrop-filter:blur(6px);
  align-items:center; justify-content:center; padding:1.5rem;
}
.promo-overlay.open { display:flex; }
.promo-box {
  position:relative; max-width:500px; width:100%;
  border-radius:20px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:popIn .3s cubic-bezier(.34,1.56,.64,1);
}
.promo-img { width:100%; display:block; }
.promo-fallback {
  background:linear-gradient(135deg, var(--deep) 0%, var(--teal) 100%);
  padding:3rem 2rem; text-align:center; color:#fff;
}
.promo-fallback .pf-tag {
  display:inline-block;
  background:rgba(245,166,35,.25); border:1px solid rgba(245,166,35,.5);
  color:var(--gold); font-size:.65rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding:5px 14px; border-radius:20px; margin-bottom:1.2rem;
}
.promo-fallback h2 {
  font-family:'Bebas Neue',sans-serif;
  font-size:2.8rem; letter-spacing:2px; line-height:.95; margin-bottom:.8rem;
}
.promo-fallback h2 em { color:var(--gold); font-style:normal; }
.promo-fallback p { font-size:.88rem; opacity:.8; line-height:1.6; max-width:320px; margin:0 auto; }
.promo-close {
  position:absolute; top:13px; right:13px;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.95); border:none;
  cursor:pointer; font-size:1rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  color:var(--deep); transition:all .18s;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.promo-close:hover { background:#fff; transform:scale(1.08); }

/* MODAL DATOS CLIENTE */
.client-overlay {
  display:none; position:fixed; inset:0; z-index:480;
  background:rgba(8,42,56,.85); backdrop-filter:blur(8px);
  align-items:center; justify-content:center; padding:1.5rem;
}
.client-overlay.open { display:flex; }
.client-box {
  background:#fff; border-radius:22px; max-width:420px; width:100%;
  padding:2.5rem 2rem 2rem; box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:popIn .3s cubic-bezier(.34,1.56,.64,1);
}
.client-icon { font-size:3rem; text-align:center; margin-bottom:.5rem; }
.client-title {
  font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:2px;
  text-align:center; color:var(--deep); margin-bottom:.3rem;
}
.client-sub { text-align:center; font-size:.85rem; color:var(--muted); margin-bottom:1.5rem; }
.client-input {
  width:100%; padding:12px 14px; border:1.5px solid var(--frost); border-radius:9px;
  font-family:'Sora',sans-serif; font-size:.85rem; color:var(--text);
  background:var(--light); outline:none; transition:border-color .2s; margin-bottom:.75rem;
}
.client-input:focus { border-color:var(--teal); background:#fff; }
.client-error {
  display:none; background:#fff3cd; border:1px solid #ffc107; border-radius:8px;
  padding:.6rem .85rem; font-size:.78rem; color:#856404; margin-bottom:.8rem; text-align:center;
}
.client-error.show { display:block; }
.client-btns { display:flex; gap:.8rem; margin-top:.3rem; }
.client-btn {
  flex:1; padding:13px; border:none; border-radius:11px;
  font-family:'Sora',sans-serif; font-size:.9rem; font-weight:600; cursor:pointer; transition:all .2s;
}
.client-btn.confirm { background:var(--deep); color:#fff; }
.client-btn.confirm:hover { background:var(--teal); }
.client-btn.cancel { background:var(--light); color:var(--muted); border:1.5px solid var(--frost); }
.client-btn.cancel:hover { background:var(--frost); }

/* MODAL HISTORIAL */
.history-overlay {
  display:none; position:fixed; inset:0; z-index:470;
  background:rgba(8,42,56,.6); backdrop-filter:blur(8px);
  align-items:center; justify-content:center; padding:1.5rem;
}
.history-overlay.open { display:flex; }
.history-box {
  background:#fff; border-radius:20px; max-width:500px; width:100%;
  max-height:80vh; display:flex; flex-direction:column;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  animation:popIn .27s cubic-bezier(.34,1.56,.64,1);
}
.history-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.5rem; border-bottom:1px solid var(--frost);
}
.history-title { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:1px; color:var(--deep); }
.history-close {
  width:30px; height:30px; border-radius:50%; border:none;
  background:var(--light); cursor:pointer; font-size:.85rem;
  display:flex; align-items:center; justify-content:center;
  color:var(--deep); transition:background .15s;
}
.history-close:hover { background:var(--frost); }
.history-list { flex:1; overflow-y:auto; padding:1rem 1.5rem; }
.history-empty { text-align:center; color:var(--muted); padding:2rem 0; font-size:.85rem; }
.history-item {
  padding:.8rem 0; border-bottom:1px solid var(--frost);
}
.history-item:last-child { border-bottom:none; }
.history-item-date { font-size:.68rem; color:var(--teal); font-weight:600; margin-bottom:.4rem; }
.history-item-product { font-size:.78rem; color:var(--text); line-height:1.5; }
.history-item-total { font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:1px; color:var(--deep); margin-top:.35rem; }
