/* ================================================================
   ORIS Barbearia — tema do fluxo do cliente
   Fonte única de estilo. Para mudar a cor de acento de um cliente,
   altere apenas --accent / --accent-hover abaixo.
   ================================================================ */

/* ---------- TOKENS (tema escuro por padrão) ---------- */
:root{
	--bg:#14110f; --surface:#1e1a17; --surface-2:#26211d; --border:#332c26;
	--text:#f4efe9; --muted:#a89f95;
	--accent:#c8992e; --accent-hover:#e0b23f; --on-accent:#1a1613;
	--wpp:#25d366;
	--shadow:0 18px 40px -22px rgba(0,0,0,.75);
	--radius:16px; --maxw:1120px;
	--font-display:"Oswald",system-ui,sans-serif;
	--font-body:"Barlow",system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme: light){
	:root:not([data-theme="dark"]){
		--bg:#f6f2ec; --surface:#ffffff; --surface-2:#f0e9df; --border:#e6ddd2;
		--text:#211c17; --muted:#6f665b;
		--accent:#9c6f16; --accent-hover:#845d10; --on-accent:#fff8ec;
		--shadow:0 16px 34px -22px rgba(60,42,20,.35);
	}
}
:root[data-theme="light"]{
	--bg:#f6f2ec; --surface:#ffffff; --surface-2:#f0e9df; --border:#e6ddd2;
	--text:#211c17; --muted:#6f665b;
	--accent:#9c6f16; --accent-hover:#845d10; --on-accent:#fff8ec;
	--shadow:0 16px 34px -22px rgba(60,42,20,.35);
}

/* ---------- BASE ---------- */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- CABEÇALHO (banner do cliente ao fundo) ---------- */
.hero{position:relative;overflow:hidden;padding:40px 20px 34px;text-align:center;border-bottom:1px solid var(--border)}
.hero::before{
	content:"";position:absolute;inset:0;z-index:0;
	background:
		linear-gradient(180deg, rgba(14,11,9,.86) 0%, rgba(14,11,9,.95) 100%),
		radial-gradient(120% 90% at 50% -10%, rgba(200,153,46,.16), transparent 60%),
		var(--hero-banner, url('img/banner.png')) center/cover no-repeat #17130f;
}
.hero>*{position:relative;z-index:1}
.brand-mark{width:104px;height:104px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#1b1613;border:2px solid var(--accent);box-shadow:var(--shadow);overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,6vw,2.9rem);letter-spacing:.06em;text-transform:uppercase;margin:0;line-height:1.02;color:#f6f1ea;text-wrap:balance;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.brand-tag{color:#e0d6c7;margin:10px 0 0;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* ---------- SEÇÃO / GRID DE SERVIÇOS ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section-head{text-align:center;padding-block:38px 22px}
.eyebrow{display:inline-block;color:var(--accent);font-weight:600;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px}
.section-title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.6rem,4.5vw,2.2rem);text-transform:uppercase;letter-spacing:.03em;margin:0}
.section-sub{color:var(--muted);margin:8px auto 0;max-width:46ch}

.grid{display:grid;gap:20px;padding-bottom:56px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}

.thumb{position:relative;aspect-ratio:4/3;width:100%;display:grid;place-items:center;background:linear-gradient(145deg,var(--surface-2),var(--surface));border-bottom:1px solid var(--border)}
.thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 50% 30%, rgba(200,153,46,.10), transparent 70%)}
.thumb-img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover}
.thumb-ph{width:58px;height:58px;color:var(--accent);opacity:.7;position:relative;z-index:1}

.card-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-title{font-family:var(--font-display);font-weight:600;font-size:1.28rem;text-transform:uppercase;letter-spacing:.02em;margin:0;line-height:1.1}
.card-desc{color:var(--muted);font-size:.94rem;margin:0;flex:1}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.price{font-family:var(--font-display);font-weight:600;font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.price small{font-size:.78rem;color:var(--muted);font-weight:500;letter-spacing:.08em}
.vazio{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px 0}

/* ---------- BOTÃO ---------- */
.btn{appearance:none;cursor:pointer;border:none;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;background:var(--accent);color:var(--on-accent);padding:11px 20px;border-radius:10px;transition:background .15s ease,transform .1s ease;white-space:nowrap;text-align:center}
.btn:hover{background:var(--accent-hover)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:3px solid var(--accent-hover);outline-offset:2px}
.btn-block{display:block;width:100%;padding:13px 20px;font-size:1rem}

/* ---------- RODAPÉ ---------- */
footer{border-top:1px solid var(--border);padding:26px 20px 34px;text-align:center;color:var(--muted);font-size:.86rem}
footer strong{color:var(--text);font-weight:600}
.footer-solto{border-top:none;margin-top:22px}

/* ---------- WHATSAPP FLUTUANTE ---------- */
.wpp{position:fixed;right:18px;bottom:20px;z-index:50;width:56px;height:56px;border-radius:50%;background:var(--wpp);display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(37,211,102,.6);transition:transform .15s ease}
.wpp:hover{transform:scale(1.06)}
.wpp svg{width:30px;height:30px}

/* ================================================================
   TELAS DE ENTRADA (telefone / nome / confirmação)
   ================================================================ */
.auth-bg{
	min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
	padding:32px 20px;position:relative;overflow:hidden;
	background:
		radial-gradient(90% 60% at 50% -10%, rgba(200,153,46,.12), transparent 60%),
		var(--bg);
}
.auth-card{
	width:100%;max-width:400px;background:var(--surface);
	border:1px solid var(--border);border-radius:20px;
	box-shadow:var(--shadow);padding:34px 28px 30px;text-align:center;
}
.auth-logo{width:92px;height:92px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:2px solid var(--accent);overflow:hidden}
.auth-logo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.auth-title{font-family:var(--font-display);font-weight:600;font-size:1.5rem;text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;line-height:1.1;text-wrap:balance}
.auth-sub{color:var(--muted);margin:0 0 22px;font-size:.96rem}
.auth-form{display:flex;flex-direction:column;gap:14px}
.field{
	width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);
	font-family:var(--font-body);font-size:1.05rem;padding:13px 15px;border-radius:11px;
	transition:border-color .15s ease, box-shadow .15s ease;text-align:center;
}
.field::placeholder{color:var(--muted)}
.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,153,46,.22)}
.auth-back{background:none;border:none;color:var(--muted);font-family:var(--font-body);font-size:.9rem;cursor:pointer;margin-top:16px;text-decoration:underline;text-underline-offset:3px}
.auth-back:hover{color:var(--text)}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ---------- ÁREA DO CLIENTE ---------- */
.topbar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
/* botão sempre no cabeçalho escuro -> fundo sólido de contraste */
.chip-link{display:inline-flex;align-items:center;gap:8px;background:#1b1613;border:1px solid var(--accent);color:#f6f1ea;padding:11px 24px;border-radius:999px;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;box-shadow:0 6px 18px -8px rgba(0,0,0,.7);transition:background .15s ease,color .15s ease}
.chip-link:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}

.area-list{display:flex;flex-direction:column;gap:16px;padding-bottom:40px}
.ag-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px}
.ag-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ag-service{font-family:var(--font-display);font-weight:600;font-size:1.2rem;text-transform:uppercase;letter-spacing:.02em}
.ag-badge{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap}
.ag-badge.aberto{background:rgba(200,153,46,.16);color:var(--accent);border:1px solid var(--accent)}
.ag-badge.concluido{background:rgba(120,160,120,.16);color:#6f9e6f;border:1px solid #4d6b4d}
.ag-badge.cancelado{background:rgba(190,120,120,.14);color:#b5726f;border:1px solid #7a4b4b}
.ag-badge.atendendo{background:rgba(140,160,200,.16);color:#6f83ab;border:1px solid #4d5c7a}
.ag-info{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:.95rem}
.ag-info b{color:var(--text);font-weight:600}
.ag-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.btn-outline{appearance:none;cursor:pointer;display:inline-block;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;background:transparent;color:var(--text);border:1px solid var(--border);padding:9px 16px;border-radius:9px;transition:border-color .15s ease,color .15s ease;text-align:center}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-danger{appearance:none;cursor:pointer;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;background:transparent;color:#b5726f;border:1px solid #7a4b4b;padding:9px 16px;border-radius:9px;transition:background .15s ease,color .15s ease}
.btn-danger:hover{background:#7a4b4b;color:#fff}
.subhead{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.9rem;margin:26px 0 6px;border-top:1px solid var(--border);padding-top:20px}
.flash{background:var(--surface-2);border:1px solid var(--accent);color:var(--text);border-radius:11px;padding:12px 16px;margin:0 0 18px;font-size:.95rem}
.area-greet{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:8px}
.area-greet h2{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:1.4rem}
.link-sair{color:var(--muted);font-size:.88rem;text-decoration:underline;text-underline-offset:3px}
.link-sair:hover{color:var(--text)}
form.inline{display:inline}

/* ---------- SELECT / LABEL (telas de agendamento) ---------- */
.form-label{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin:16px 0 6px;font-family:var(--font-body)}
.form-control{width:100%;display:block;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:1.02rem;line-height:1.2;padding:13px 42px 13px 15px;border-radius:11px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a89f95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.form-control option{background:var(--surface);color:var(--text)}
.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,153,46,.22)}

/* ---------- CHIPS DE AGENDAMENTO (profissional / dia / horário) ---------- */
.step{margin-top:22px}
.step-label{display:block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--muted);margin-bottom:10px}
.chip-group{display:flex;flex-wrap:wrap;gap:10px}
.chip{appearance:none;cursor:pointer;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:.98rem;padding:11px 16px;border-radius:12px;transition:border-color .15s ease,background .15s ease,color .15s ease;line-height:1.15}
.chip:hover{border-color:var(--accent)}
.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.chip:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}
/* dias em rolagem horizontal */
.chip-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.day-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:66px;text-align:center;flex:0 0 auto}
.day-chip .chip-dow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.day-chip .chip-date{font-family:var(--font-display);font-weight:600;font-size:1.06rem}
/* horários em grade */
.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px}
.time-grid .chip{text-align:center;font-variant-numeric:tabular-nums;padding:11px 8px}

/* ---------- MODAL (substitui alert/confirm nativos) ---------- */
.oris-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55)}
.oris-modal.open{display:flex}
.oris-modal-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:26px 24px 20px;text-align:center;animation:orisPop .16s ease}
.oris-modal-msg{color:var(--text);font-size:1.05rem;margin:0 0 20px;line-height:1.5}
.oris-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.oris-modal-actions>*{flex:1;min-width:120px}
@keyframes orisPop{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}
