/* =====================================================================
   AtlasFarmacie (farmacia.atlasmedica.*) - grafica 2026 allineata alla cartella Atlas:
   Noto Sans, card bianche arrotondate, bottoni a pillola #009CDE, campi arrotondati, tabelle grigie.
   Caricato DOPO css/styles.css (template Lumino) da include/layout/header.php: solo stile, nessun id/classe cambiato.
   ===================================================================== */
body {
	background: #F1F3F4;
	color: #202124;
	font-family: 'Noto Sans', 'Segoe UI', Roboto, Arial, sans-serif;
	font-size: 14px;
	padding-top: 64px;
}
h1, h2, h3, h4, h5, h6, .panel-heading, .btn, .form-control, .navbar-brand, .sidebar ul.nav li a {
	font-family: 'Noto Sans', 'Segoe UI', Roboto, Arial, sans-serif;
}
a { color: #0B6FB0; }
a:hover, a:focus { color: #0B4F7A; }

/* ---- barra in alto ---- */
.navbar-custom {
	background: #FFF;
	border-bottom: 1px solid #DADCE0;
	box-shadow: 0 1px 6px rgba(32, 33, 36, .08);
	min-height: 56px;
}
.navbar-custom .navbar-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 16px;
	color: #0B4F7A;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: .2px;
	text-transform: none;
}
.navbar-custom .navbar-brand span { color: #009CDE; font-weight: 800; }
.navbar-custom .navbar-brand::before {
	content: '';
	flex: 0 0 30px;
	height: 30px;
	border-radius: 8px;
	background: #009CDE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z'/%3E%3C/svg%3E") no-repeat center / 18px;
}
.navbar-toggle .icon-bar { background: #5F6368; }

/* ---- menu laterale ---- */
.sidebar {
	background: #FFF;
	border-right: 1px solid #DADCE0;
	box-shadow: none;
	padding-top: 6px;
}
.profile-sidebar { padding: 18px 16px 12px; }
.profile-usertitle-name { color: #202124; font-weight: 700; }
.profile-usertitle-status { color: #5F6368; font-size: 12px; text-transform: none; }
.sidebar ul.nav li a {
	margin: 2px 10px;
	padding: 10px 14px;
	border-radius: 10px;
	color: #3C4043;
	font-size: 14px;
	font-weight: 500;
}
.sidebar ul.nav li a em { color: #5F6368; width: 22px; }
.sidebar ul.nav a:hover { background: #EEF6FC !important; color: #0B57D0 !important; }
.sidebar ul.nav .active a, .sidebar ul.nav .active > a:hover {
	background: #E1EEFA !important;
	color: #0B4F7A !important;
	font-weight: 700;
}
.sidebar ul.nav .active a em { color: #009CDE !important; }
.main { padding-top: 18px; }
.divider { border-color: #E8EAED; }

/* ---- card (pannelli) ---- */
.panel {
	border: 1px solid #DADCE0;
	border-radius: 14px;
	background: #FFF;
	box-shadow: 0 4px 14px rgba(32, 33, 36, .08);
	overflow: hidden;
}
.panel-default > .panel-heading, .panel-heading {
	background: #FFF;
	border-bottom: 1px solid #E8EAED;
	color: #0B4F7A;
	font-size: 15px;
	font-weight: 700;
	padding: 14px 18px;
}
.panel-body { padding: 16px 18px; }
.panel .panel { box-shadow: none; border-radius: 10px; }

/* ---- campi ---- */
.form-control {
	height: 42px;
	border: 1px solid #C9CDD2;
	border-radius: 10px;
	box-shadow: none;
	color: #202124;
	font-size: 14px;
}
textarea.form-control { height: auto; }
.form-control:focus {
	border-color: #009CDE;
	box-shadow: 0 0 0 3px rgba(0, 156, 222, .18);
}
label { color: #3C4043; font-weight: 600; font-size: 13px; }

/* ---- bottoni a pillola ---- */
.btn {
	border-radius: 20px !important;
	padding: 9px 20px;
	font-size: 14px;
	font-weight: 600;
	border-width: 1px;
	box-shadow: none;
	transition: background-color .15s, box-shadow .15s;
}
.btn-primary, .btn-info {
	background: #009CDE !important;
	border-color: #009CDE !important;
	color: #FFF !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-info:hover, .btn-info:focus {
	background: #0088C2 !important;
	border-color: #0088C2 !important;
	box-shadow: 0 2px 6px rgba(0, 156, 222, .35);
}
.btn-default {
	background: #FFF !important;
	border-color: #009CDE !important;
	color: #0B6FB0 !important;
}
.btn-default:hover { background: #EEF6FC !important; }
.btn-success { background: #188038 !important; border-color: #188038 !important; }
.btn-danger { background: #FDF1F0 !important; border-color: #F4C7C3 !important; color: #B3261E !important; }

/* ---- tabelle ---- */
.table > thead > tr > th, .fixed-table-container thead th {
	background: #F1F3F4;
	border-bottom: 1px solid #DADCE0 !important;
	color: #3C4043;
	font-size: 12.5px;
	font-weight: 700;
}
.table > tbody > tr:nth-child(even) > td { background: #FAFBFC; }
.table > tbody > tr:hover > td { background: #EEF6FC; }
.table > tbody > tr > td { border-top: 1px solid #F1F3F4; vertical-align: middle; }

/* ---- avvisi ---- */
.alert { border-radius: 10px; border: 0; }
.alert-info { background: #E8F0FE; color: #174EA6; }
.alert-warning { background: #FEF7E0; color: #5E4A00; }
.alert-danger { background: #FCE8E6; color: #8C1D18; }
.alert-success { background: #E6F4EA; color: #0D652D; }

/* =====================================================================
   pagina di accesso (login.php): spiegazione a sinistra, card di accesso / registrazione a destra
   ===================================================================== */
.af-login {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
	max-width: 1180px;
	margin: 26px auto 40px;
	padding: 0 16px;
}
.af-intro { flex: 1 1 420px; min-width: 300px; padding-top: 6px; }
.af-card { flex: 0 1 470px; min-width: 300px; }
.af-card .login-panel { margin-top: 0; }
.af-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 14px;
	background: #E1EEFA;
	color: #0B4F7A;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .4px;
}
.af-intro h1 {
	margin: 14px 0 10px;
	color: #0B2A3C;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.25;
}
.af-intro .af-sub { color: #3C4043; font-size: 16px; line-height: 1.6; margin-bottom: 22px; }
.af-punti { display: grid; gap: 12px; }
.af-punto {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 16px;
	background: #FFF;
	border: 1px solid #DADCE0;
	border-radius: 14px;
}
.af-ico {
	display: grid;
	place-items: center;
	flex: 0 0 40px;
	height: 40px;
	border-radius: 50%;
	background: #E1EEFA;
	color: #009CDE;
	font-size: 18px;
}
.af-punto b { display: block; color: #202124; font-size: 15px; margin-bottom: 2px; }
.af-punto span { color: #5F6368; font-size: 13.5px; line-height: 1.5; }
.af-nota { margin-top: 18px; color: #5F6368; font-size: 12.5px; line-height: 1.55; }

/* schede Accesso / Registrazione */
.af-card .login-panel > .panel-heading {
	border-bottom: 0;
	border-radius: 0;
	padding: 14px 0;
	text-align: center;
	font-size: 15px;
}
.af-card .login-panel > .panel-heading[style*="#5cb0ff"] { background: #009CDE !important; color: #FFF !important; }
.af-card .login-panel > .panel-heading[style*="#d4d2d8"] { background: #F1F3F4 !important; color: #5F6368 !important; }
.af-card .login-panel > .panel-heading[style*="#d4d2d8"]:hover { background: #E8EAED !important; color: #202124 !important; }
.af-card .login-panel .btn { margin-top: 6px; }
.af-card #rif_normativa p, .af-card #rif_normativa li { color: #5F6368; line-height: 1.5; }
.arrow-down { border-radius: 8px; }

@media (max-width: 760px) {
	.af-intro h1 { font-size: 24px; }
	.af-card .login-panel .btn { width: 100%; float: none !important; margin-top: 8px; }
}

/* rifiniture pagina di accesso */
.af-ico .fa, .af-badge .fa { color: #009CDE; font-size: 18px; line-height: 1; }
.af-badge .fa { font-size: 13px; }
.af-card fieldset > a.btn { display: block; width: 100%; float: none !important; margin-top: 10px; text-align: center; }
.af-card fieldset > a.btn[style*="float"] { background: #FFF !important; border-color: #009CDE !important; color: #0B6FB0 !important; }
.af-card fieldset > a.btn[style*="float"]:hover { background: #EEF6FC !important; box-shadow: none; }
.af-card fieldset > .col-md-12 { float: none; padding: 0; margin: 4px 0 6px; }
.af-card fieldset > .col-md-12 > .panel { margin-bottom: 4px; box-shadow: none; border-radius: 10px; }
.af-card fieldset > .col-md-12 > .panel > .panel-heading { position: relative; padding: 10px 46px 10px 14px; background: #F8F9FA; color: #3C4043; font-size: 12px; }
.af-card .arrow-down { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 8px; background-color: #009CDE; }
/* freccia apri/chiudi dei riferimenti normativi, ridisegnata per il riquadro da 30px */
.af-card .arrow-down { float: none; }
.af-card .arrow-down:before { display: none; }
.af-card .arrow-down:after { width: 9px; height: 9px; top: 8px; right: 10px; background: none; border-right: 2.5px solid #FFF; border-bottom: 2.5px solid #FFF; border-radius: 0; transform: rotate(45deg); }
.af-card .arrow-down.active:after { top: 12px; transform: rotate(-135deg); }

/* ---- pagine interne ---- */
body { overflow-x: hidden; }
body > .row { margin-left: 0; margin-right: 0; }
body > .row, body > .col-md-12 { padding-left: 16px; padding-right: 16px; }
h1.page-header {
	margin: 10px 0 16px;
	padding: 0 0 8px;
	border-bottom: 2px solid #009CDE;
	color: #0B4F7A;
	font-size: 22px;
	font-weight: 700;
}
.col-md-12 > .panel { margin-bottom: 16px; }
/* freccia "riferimenti normativi" anche nelle pagine interne */
.panel-heading { position: relative; }
.panel-heading > .arrow-down { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); float: none; width: 30px; height: 30px; border-radius: 8px; background-color: #009CDE; }
.panel-heading > .arrow-down:before { display: none; }
.panel-heading > .arrow-down:after { width: 9px; height: 9px; top: 8px; right: 10px; background: none; border-right: 2.5px solid #FFF; border-bottom: 2.5px solid #FFF; border-radius: 0; transform: rotate(45deg); }
.panel-heading > .arrow-down.active:after { top: 12px; transform: rotate(-135deg); }
.panel-heading b[style*="12px"] { color: #3C4043; }
/* registrazione dentro la card di accesso: niente pannelli annidati, campi a tutta larghezza */
.af-card #id_scheda_reg .panel-body .row { margin: 0; }
.af-card #id_scheda_reg .panel-body .col-lg-12, .af-card #id_scheda_reg .panel-body .col-md-12 { padding: 0; }
.af-card #id_scheda_reg .panel-body .panel { border: 0; box-shadow: none; border-radius: 0; }
.af-card #id_scheda_reg .panel-body .panel-body { padding: 0; }
.af-card #id_scheda_reg h1.page-header { font-size: 17px; margin-top: 0; }

/* logo nella barra (images/logo_atlasfarmacie.png, sorgente vettoriale logo_atlasfarmacie.svg) */
.navbar-custom .navbar-brand::before { display: none; }
.navbar-custom .navbar-brand .af-logo { display: block; height: 40px; width: auto; }

/* =====================================================================
   modulo dati farmacia / registrazione (homepage.php)
   ===================================================================== */
.af-reg { max-width: 760px; }
.af-card .af-reg { max-width: none; }
.af-reg-intro { margin: -4px 0 14px; color: #5F6368; font-size: 13px; line-height: 1.5; }
.af-reg-intro .fa, .af-reg .fa-asterisk { color: #D93025 !important; font-size: 8px; vertical-align: super; }
.af-reg-errore { margin: 0 0 14px; padding: 10px 14px; border-radius: 10px; background: #FCE8E6; color: #8C1D18; font-size: 13.5px; }
.af-card #id_show_errors_reg { margin: 0 0 6px; padding: 10px 14px; border-radius: 10px; background: #FCE8E6; color: #8C1D18 !important; font-size: 13.5px; text-align: left !important; }
.af-reg-sez { margin: 0 0 18px; padding: 16px 16px 4px; border: 1px solid #E8EAED; border-radius: 12px; background: #FFF; }
.af-reg-tit { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: #0B4F7A; font-size: 15px; font-weight: 700; }
.af-reg-tit span { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 50%; background: #009CDE; color: #FFF; font-size: 13px; }
.af-reg-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.af-reg .form-group { margin-bottom: 14px; }
.af-reg label { margin-bottom: 5px; }
.af-reg-nota { margin: 0 0 12px; color: #5F6368; font-size: 13px; line-height: 1.5; }
.af-reg-nota a { font-weight: 600; white-space: nowrap; }
.af-reg-regole { margin: -6px 0 12px; font-size: 12.5px; line-height: 1.7; }
/* scelta del metodo di verifica */
.af-reg-scelta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.af-reg-opz { display: flex !important; gap: 10px; align-items: flex-start; margin: 0 !important; padding: 12px; border: 1.5px solid #DADCE0; border-radius: 12px; cursor: pointer; font-weight: 400 !important; }
.af-reg-opz input { margin-top: 3px; accent-color: #009CDE; }
.af-reg-opz b { display: block; color: #202124; font-size: 13.5px; }
.af-reg-opz small { color: #5F6368; font-size: 12px; }
.af-reg-opz:has(input:checked) { border-color: #009CDE; background: #F3F8FE; }
.af-reg-box { padding: 12px 12px 0; margin-bottom: 12px; border-radius: 12px; background: #F8F9FA; }
/* consensi: testo + due bottoni a scelta */
.af-reg-cons { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; padding: 10px 0; border-top: 1px solid #F1F3F4; }
.af-reg-cons-txt { flex: 1 1 260px; color: #3C4043; font-size: 13.5px; line-height: 1.45; }
.af-reg-cons-opz { display: flex; gap: 6px; flex: 0 0 auto; }
.af-reg-cons-opz label { margin: 0 !important; cursor: pointer; font-weight: 400 !important; }
.af-reg-cons-opz input { position: absolute; opacity: 0; pointer-events: none; }
.af-reg-cons-opz span { display: inline-block; padding: 5px 12px; border: 1.5px solid #DADCE0; border-radius: 16px; color: #3C4043; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.af-reg-cons-opz input[value="1"]:checked + span { border-color: #188038; background: #E6F4EA; color: #0D652D; }
.af-reg-cons-opz input[value="0"]:checked + span { border-color: #D93025; background: #FCE8E6; color: #8C1D18; }
.af-reg-cons-opz input:focus-visible + span { box-shadow: 0 0 0 3px rgba(0, 156, 222, .25); }
.af-reg-tutti { display: inline-block; margin: 6px 0 12px; font-size: 13px; font-weight: 600; cursor: pointer; }
.af-reg-invia { width: 100%; height: 46px; font-size: 15px !important; }
/* errori sotto il campo */
.af-reg-campo-err .form-control { border-color: #D93025 !important; box-shadow: 0 0 0 3px rgba(217, 48, 37, .12) !important; }
.af-reg-campo-err.af-reg-cons { margin: 0 -8px; padding: 10px 8px; border-radius: 10px; background: #FEF4F3; }
.af-reg-msg { width: 100%; margin-top: 5px; color: #B3261E; font-size: 12.5px; font-weight: 600; }
.af-reg-msg .fa { color: #B3261E !important; font-size: 13px !important; vertical-align: baseline; }
@media (max-width: 560px) { .af-reg-2col, .af-reg-scelta { grid-template-columns: 1fr; } }
/* invito alla registrazione nel testo della pagina di accesso */
.af-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 22px; }
.af-cta-btn { display: inline-flex; align-items: center; gap: 9px; padding: 13px 26px; border-radius: 26px; background: #009CDE; color: #FFF !important; font-size: 16px; font-weight: 700; text-decoration: none !important; cursor: pointer; box-shadow: 0 4px 12px rgba(0, 156, 222, .35); transition: background-color .15s, transform .15s; }
.af-cta-btn:hover { background: #0088C2; transform: translateY(-1px); }
.af-cta-btn .fa { font-size: 17px; }
.af-cta span { color: #5F6368; font-size: 13px; }
/* portale gratuito: in evidenza */
.af-badge.af-gratis { margin-left: 6px; background: #E6F4EA; color: #0D652D; }
.af-badge.af-gratis .fa { color: #188038 !important; }
.af-gratis-txt { padding: 0 6px; border-radius: 6px; background: #E6F4EA; color: #0D652D; font-weight: 700; }
