/* ══════════════════════════════════════
   PUBLIC PAGE — light premium
══════════════════════════════════════ */
.pub-page{
  min-height:100vh;
  --bg:#f5f5f9;--bg2:#ffffff;--bg3:#f0f0f5;--bg4:#e8e8f0;
  --border:rgba(0,0,0,.07);--border2:rgba(0,0,0,.10);--border3:rgba(0,0,0,.16);
  --text:#0d0d18;--text2:#52526e;--text3:#9898b2;
  --accent:#4f46e5;--accent2:#6366f1;--accent3:#818cf8;
  --abg:rgba(79,70,229,.07);--abg2:rgba(79,70,229,.12);
  --green:#16a34a;--gbg:rgba(22,163,74,.07);
  --red:#dc2626;--rbg:rgba(220,38,38,.07);
  --amber:#b45309;
  --shadow:0 1px 3px rgba(0,0,0,.07),0 2px 8px rgba(0,0,0,.04);
  --shadow2:0 4px 24px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.05);
  background:var(--bg);color:var(--text);
  -webkit-font-smoothing:antialiased;
}
.pub-hero{border-bottom:1px solid var(--border);background:linear-gradient(160deg,rgba(79,70,229,.03) 0%,transparent 50%);}
.pub-hero-bg{display:none}
.pub-hero-inner{max-width:600px;margin:0 auto;padding:36px 24px 30px;display:flex;gap:20px;align-items:flex-start;position:relative;}
.pub-logo{width:64px;height:64px;border-radius:16px;flex-shrink:0;object-fit:cover;border:1px solid var(--border2);box-shadow:0 2px 12px rgba(0,0,0,.1)}
.pub-logo-placeholder{width:64px;height:64px;border-radius:16px;flex-shrink:0;background:linear-gradient(140deg,#4f46e5,#818cf8);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:#fff;letter-spacing:-1px;box-shadow:0 2px 12px rgba(79,70,229,.2)}
.pub-biz-info{flex:1;min-width:0;padding-top:3px}
.pub-biz-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:5px}
.pub-biz-name{font-size:22px;font-weight:800;letter-spacing:-.5px;color:var(--text);line-height:1.2}
.pub-biz-desc{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:0;max-width:100%;}
.pub-biz-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.pub-detail{font-size:12px;color:var(--text3);display:inline-flex;align-items:center;gap:4px;text-decoration:none;transition:color .15s;line-height:1}
.pub-detail:hover{color:var(--text2)}
.pub-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--text3);background:var(--bg3);border:1px solid var(--border);border-radius:999px;padding:3px 10px;text-decoration:none;transition:all .15s}
.pub-badge:hover{border-color:var(--border3);color:var(--text2)}
.pub-badge-open{color:var(--green)!important;background:var(--gbg)!important;border-color:rgba(22,163,74,.22)!important;font-weight:600!important}
.pub-badge-closed{color:var(--red)!important;background:var(--rbg)!important;border-color:rgba(220,38,38,.2)!important}
.pub-hours-details{display:inline-block;line-height:1}
.pub-hours-summary{font-size:12px;color:var(--text3);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:4px;user-select:none;transition:color .15s;padding:0}
.pub-hours-summary::-webkit-details-marker{display:none}
.pub-hours-summary:hover{color:var(--text2)}
.hours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;margin-top:10px}
.hours-day{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:11px}
.hours-day .day-name{font-weight:600;color:var(--text2);margin-bottom:2px;text-transform:capitalize}
.hours-day .day-time{color:var(--accent2)}
.hours-day.closed .day-time{color:var(--text3)}
.pub-body{max-width:600px;margin:0 auto;padding:28px 24px 72px}
.pub-stepper{display:flex;align-items:center;margin-bottom:26px}
.pub-step-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.pub-step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--bg3);border:1.5px solid var(--border2);color:var(--text3);transition:all .22s cubic-bezier(.4,0,.2,1);flex-shrink:0;z-index:1;}
.pub-step-item.active .pub-step-circle{background:var(--accent);border-color:var(--accent);color:#fff;}
.pub-step-item.done .pub-step-circle{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.28);color:var(--green);}
.pub-step-label{font-size:11px;font-weight:600;color:var(--text3);letter-spacing:.2px;white-space:nowrap;transition:color .2s;text-transform:uppercase}
.pub-step-item.active .pub-step-label{color:var(--accent2)}
.pub-step-item.done .pub-step-label{color:var(--green)}
.pub-step-line{flex:1;height:1px;background:var(--border2);margin-bottom:26px;transition:background .3s;min-width:6px}
.pub-step-line.done{background:rgba(22,163,74,.3)}
.pub-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:24px 26px;box-shadow:var(--shadow2);animation:fadeUp .28s ease both}
.pub-card-title{font-size:17px;font-weight:700;letter-spacing:-.35px;margin-bottom:3px;color:var(--text)}
.pub-card-sub{font-size:14px;color:var(--text2);margin-bottom:20px;line-height:1.55}
.svc-card{display:flex;align-items:center;gap:13px;padding:13px 15px;background:var(--bg);border:1.5px solid var(--border);border-radius:11px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;margin-bottom:8px;}
.svc-card:hover{border-color:var(--border3);background:var(--bg3);transform:translateY(-1px);box-shadow:var(--shadow)}
.svc-card.sel{border-color:var(--accent);background:var(--abg);box-shadow:0 0 0 3px var(--abg);}
.svc-card-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--text3);letter-spacing:-.5px;transition:background .15s,color .15s,border-color .15s}
.svc-card.sel .svc-card-icon{background:var(--abg2);color:var(--accent);border-color:rgba(79,70,229,.2)}
.svc-card-info{flex:1;min-width:0}
.svc-card-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px;letter-spacing:-.1px}
.svc-card-meta{font-size:12px;color:var(--text3)}
.svc-card-price{font-size:15px;font-weight:700;color:var(--text2);white-space:nowrap;flex-shrink:0;letter-spacing:-.2px}
.svc-card.sel .svc-card-price{color:var(--accent)}
.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.tslot{padding:10px 4px;border:1.5px solid var(--border2);border-radius:9px;text-align:center;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);color:var(--text2);background:var(--bg3);letter-spacing:-.1px;line-height:1.2}
.tslot:hover{border-color:var(--accent);color:var(--accent);background:var(--abg);transform:translateY(-1px)}
.tslot.sel{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(79,70,229,.2)}
.tslot.taken{opacity:.3;cursor:not-allowed;pointer-events:none;text-decoration:line-through}
.tslot.off-hours{opacity:.2;cursor:not-allowed;pointer-events:none}
.summary-box{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-size:13px;margin:14px 0}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;color:var(--text2)}
.summary-row:not(:last-child){border-bottom:1px solid var(--border)}
.summary-row:last-child{font-size:14px;font-weight:700;color:var(--text);padding-top:10px}
.summary-row span:last-child{color:var(--text);font-weight:500}
.summary-row:last-child span:last-child{color:var(--accent)}
.pub-footer-bar{text-align:center;font-size:11px;color:var(--text3);padding-top:22px;border-top:1px solid var(--border);margin-top:16px;line-height:1.8;letter-spacing:.1px}
.pub-footer-bar a{color:var(--accent3);text-decoration:none;font-weight:500}
.pub-footer-bar a:hover{color:var(--accent2)}
.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}
.not-found-code{font-size:72px;font-weight:800;letter-spacing:-4px;color:var(--border3);margin-bottom:14px}

/* ══════════════════════════════════════
   PÁGINA PÚBLICA DESATIVADA
══════════════════════════════════════ */
.pub-disabled-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f9;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;}
.pub-disabled-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:48px 36px;text-align:center;max-width:360px;width:100%;box-shadow:0 4px 24px rgba(0,0,0,.07),0 1px 4px rgba(0,0,0,.04);animation:fadeUp .3s cubic-bezier(.4,0,.2,1) both;}

/* ── Responsive Booking ── */
@media(max-width:600px){
  .pub-hero-inner{padding:24px 16px 22px;gap:16px}
  .pub-logo,.pub-logo-placeholder{width:54px;height:54px;border-radius:13px;font-size:22px}
  .pub-biz-name{font-size:20px}
  .pub-body{padding:20px 14px 64px}
  .time-grid{grid-template-columns:repeat(3,1fr)}
  .pub-step-label{display:none}
  .pub-card{padding:18px 16px}
}
