/* Pages publiques rendues par Frappe (connexion, mot de passe oublié, messages) :
   le même vocabulaire que le bureau, dans une mise en scène plus affirmée. */

body { font-family: var(--t-police-texte); color: var(--t-texte); }
h1, h2, h3, h4, h5, h6 { font-family: var(--t-police-titres); color: var(--t-terre); }
a { color: var(--t-vert-profond); }
.btn { border-radius: 8px; font-weight: 600; font-family: var(--t-police-texte); }
.btn-primary, .btn-primary:focus { background-color: var(--t-terre); border-color: var(--t-terre); color: #FFFFFF; }
.btn-primary:hover, .btn-primary:active { background-color: var(--t-terre-2) !important; border-color: var(--t-terre-2) !important; }
.form-control { border-radius: 8px; background: var(--t-sable-100); border: 1px solid transparent; }
.form-control:focus { background: #FFFFFF; border-color: var(--t-vert-profond); box-shadow: var(--t-anneau); }

/* ------------------------------------------------------------ connexion */
body[data-path="login"], body[data-path="update-password"] {
	background: var(--t-terre); min-height: 100vh; position: relative;
}
body[data-path="login"]::before, body[data-path="update-password"]::before {
	content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
	background-image: var(--t-motif); background-size: 210px 114px; opacity: .10;
	-webkit-mask-image: radial-gradient(ellipse at 80% 20%, #000 0%, transparent 65%);
	mask-image: radial-gradient(ellipse at 80% 20%, #000 0%, transparent 65%);
}
body[data-path="login"] .navbar, body[data-path="login"] .web-footer,
body[data-path="update-password"] .navbar { display: none !important; }
body[data-path="login"] .page_content, body[data-path="login"] .page-content-wrapper,
body[data-path="login"] main { position: relative; z-index: 1; }
.for-login, .for-login-with-email-link, .for-forgot, .for-signup {
	min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 32px 16px;
}
.for-login .page-card, .for-login-with-email-link .page-card, .for-forgot .page-card, .for-signup .page-card,
body[data-path="update-password"] .page-card {
	background: #FFFFFF; border: 0; border-radius: var(--t-rayon-grand); box-shadow: var(--t-ombre-flottante);
	padding: 34px 34px 28px; max-width: 420px; width: 100%; margin: 0 auto;
}
.page-card-head { border: 0; padding: 0 0 6px; text-align: center; }
.page-card-head .app-logo { height: 40px; max-height: 40px; width: auto; margin: 4px auto 18px; display: block; }
.for-login .page-card-head .app-logo, .for-login-with-email-link .page-card-head .app-logo,
.for-forgot .page-card-head .app-logo, body[data-path="update-password"] .page-card-head .app-logo {
	content: url("/assets/touta_os/marque/logo-blanc.svg"); height: 44px; max-height: 44px;
}
/* « body » devant : la feuille de connexion de Frappe est chargée après celle-ci. */
body .page-card-head h4, body .page-card-head .h4 {
	font-family: var(--t-police-titres); font-weight: 700; color: #FFFFFF; font-size: 18px; margin: 0 0 18px;
}
.page-card-head .text-muted, .page-card-head p { color: rgba(255, 255, 255, .75) !important; font-size: 13.5px; }
.page-card .page-card-body { padding: 0; }
.page-card .form-group { margin-bottom: 14px; }
.page-card .form-control { height: 44px; font-size: 15px; padding-left: 40px; }
.page-card .field-icon { left: 13px; }
.page-card .field-icon use { stroke: var(--t-gris); }
.page-card .toggle-password { color: var(--t-gris); font-size: 12.5px; }
.page-card .btn-login { height: 44px; font-size: 15px; border-radius: 10px; }
.page-card .page-card-actions { padding: 6px 0 0; }
.page-card .forgot-password-message { margin: 2px 0 0; text-align: right; font-size: 13px; }
.page-card .forgot-password-message a { color: var(--t-vert-profond); }
.page-card .login-divider { color: var(--t-gris); }
.page-card .btn-login-option, .page-card .btn-default { background: var(--t-sable-100); color: var(--t-terre); border: 0; }
.page-card .btn-login-option:hover, .page-card .btn-default:hover { background: var(--t-sable-200); }
.for-login .sign-up-message, .for-login .text-muted, .for-login p.text-muted { color: rgba(255, 255, 255, .8); }
.for-login .text-center.my-5 { color: rgba(255, 255, 255, .85); }
.for-login .text-center.my-5 .text-muted { color: rgba(255, 255, 255, .7) !important; }

/* Pied de page discret sous la carte : « TOUTA OS » et la promesse de la marque */
.for-login .page-card::after {
	content: "TOUTA OS — le pilotage des filières, de la parcelle au marché.";
	display: block; text-align: center; color: var(--t-gris); font-size: 12px; margin-top: 22px;
	font-family: var(--t-police-titres); font-weight: 600; letter-spacing: .01em;
}

/* Messages génériques de Frappe (page introuvable, accès refusé…) */
body[data-path^="message"] .page-card, .message-page .page-card,
body[data-path="404"] .page-card { border-radius: var(--t-rayon-grand); border-color: var(--t-sable-200); }

/* Aucune mention du socle technique sur les pages web (connexion, mot de passe, portails). */
.web-footer .footer-powered, .footer-powered, .web-footer .footer-logo-extension { display: none !important; }
