/* Agendamento online — herda cores/fontes do tema via variáveis --ap-*. */
.ap-pub {
	font-family: var(--ap-font, inherit);
	color: var(--ap-text, inherit);
	max-width: 560px;
	margin: 0 auto;
	padding: 24px;
	border: 1px solid var(--ap-border, #e2e8f0);
	border-radius: var(--ap-radius, 12px);
	background: var(--ap-bg, #fff);
}
.ap-pub-title { margin: 0 0 6px; color: var(--ap-primary, inherit); }
.ap-pub-intro { margin: 0 0 18px; opacity: .8; font-size: .95em; }
.ap-pub-field { margin-bottom: 14px; }
.ap-pub-field label { display: block; font-weight: 600; margin-bottom: 5px; font-size: .9em; }
.ap-pub-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 13px;
	border: 1px solid var(--ap-border, #cbd5e0);
	border-radius: 8px;
	font: inherit;
	background: #fff;
	color: inherit;
}
.ap-pub-field input:focus {
	outline: none;
	border-color: var(--ap-primary, #2b6cb0);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--ap-primary, #2b6cb0) 30%, transparent);
}
.ap-pub-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 520px) { .ap-pub-row { grid-template-columns: 1fr; } }
.ap-pub-btn {
	display: inline-block;
	width: 100%;
	margin-top: 8px;
	padding: 13px 20px;
	border: none;
	border-radius: 8px;
	background: var(--ap-primary, #2b6cb0);
	color: var(--ap-primary-contrast, #fff);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.ap-pub-btn:hover { filter: brightness(.94); }
.ap-pub-btn[disabled] { opacity: .6; cursor: not-allowed; }
.ap-pub-msg { padding: 12px 14px; border-radius: 8px; margin-bottom: 16px; font-size: .95em; }
.ap-pub-msg.ok { background: #f0fff4; border: 1px solid #9ae6b4; color: #22543d; }
.ap-pub-msg.err { background: #fff5f5; border: 1px solid #feb2b2; color: #742a2a; }
