body {
    background-color: #f5f6f8;
    color: #2f2f2f;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
}

.navbar {
    border-bottom: 2px solid #d8dbe2 !important;
}

.navbar-brand {
    font-weight: 700;
    color: #0f4c81 !important;
}

.navbar-brand h1 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
}

.navbar-brand h4 {
    margin: 2px 0 0;
    font-size: 13px;
    font-weight: 400;
}

.legacy-admin-shell #navbar {
    min-height: 60px;
}

.legacy-admin-shell #sidebar {
    width: 190px;
}

.legacy-admin-shell .main-content {
    margin-left: 190px;
}

.legacy-admin-shell .page-content {
    padding: 12px 14px 24px;
}

.legacy-admin-shell .breadcrumbs {
    min-height: 38px;
    line-height: 38px;
    padding: 0 12px;
    background: #f8f8f8;
    border-bottom: 1px solid #e5e5e5;
}

.legacy-admin-shell .nav-list > li > a {
    font-size: 13px;
    line-height: 19px;
}

.legacy-admin-shell .nav-list > li > a > .menu-icon {
    width: 24px;
}

.btn-primary {
    background-color: #1d86c8;
    border-color: #1d86c8;
}

.btn-primary:hover {
    background-color: #176b9f;
    border-color: #176b9f;
}

.table thead th {
    background: #eef3f8;
    color: #234;
}

.card {
    border-radius: 10px;
}

.legacy-booking-wrap h2,
.legacy-booking-wrap h3 {
    color: #0f4c81;
}

.responsive-calendar .controls h4 {
    color: #0f4c81;
    font-weight: 700;
}

.responsive-calendar .day.header {
    color: #1f3553;
    font-size: 12px;
    font-weight: 600;
}

.responsive-calendar .prenotabile {
    background-color: #ffffff;
}

.responsive-calendar .nonprenotabile {
    background-color: #f3f4f7;
}

.responsive-calendar .badge-warning {
    background-color: #f0ad4e;
    color: #111;
}

.selturno, .legacy-turno-card {
    border: 1px solid #d0d8e2;
    border-radius: 8px;
    background: #fff;
}

.legacy-admin-shell .container,
.legacy-booking-wrap.container {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 10px;
    padding: 20px;
}

.footer_img {
    max-height: 28px;
    vertical-align: middle;
}

.header-wrap .pageTopCon {
    background: #1f3553;
    color: #fff;
    font-size: 12px;
}

.header-wrap .top-header-email-text,
.header-wrap .social-icons a {
    color: #fff !important;
}

.header-wrap .navbar {
    margin-bottom: 0 !important;
}

.header-wrap .navbar-nav .nav-link {
    font-weight: 600;
    color: #1f3553 !important;
}

.header-wrap .navbar-nav .nav-link:hover {
    color: #1d86c8 !important;
}

/* Compatibilit� utility class Bootstrap 5 usate nelle view Vue */
.mb-0 { margin-bottom: 0 !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 15px !important; }
.mb-4 { margin-bottom: 20px !important; }
.mt-3 { margin-top: 15px !important; }
.mt-4 { margin-top: 20px !important; }
.p-2 { padding: 8px !important; }
.py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }
.px-3 { padding-left: 12px !important; padding-right: 12px !important; }
.gap-2 { gap: 8px !important; }
.text-center { text-align: center !important; }
.text-muted { color: #777 !important; }
.fw-semibold { font-weight: 600 !important; }
.d-flex { display: flex !important; }
.justify-content-between { justify-content: space-between !important; }
.align-items-center { align-items: center !important; }
.flex-wrap { flex-wrap: wrap !important; }

.row.g-2 { margin-left: -4px; margin-right: -4px; }
.row.g-2 > [class*="col-"] { padding-left: 4px; padding-right: 4px; }

body.public-booking-page{background:#fff}.public-booking-page h2,.public-booking-page h3{color:#171717}.public-booking-page .legacy-booking-wrap.container{border:0;border-radius:0}.public-booking-page .header-wrap .pageTopCon{background:#f5f5f5;color:#333}.public-booking-page .header-wrap .top-header-email-text,.public-booking-page .header-wrap .social-icons a{color:#333!important}

.public-language-switch{display:flex;align-items:center;gap:8px;margin-left:28px;white-space:nowrap;font-size:14px}.public-language-switch a{color:#333;text-decoration:none;font-weight:400;padding:8px 2px}.public-language-switch a.active{font-weight:800}.public-language-switch a:hover{text-decoration:underline}.public-language-switch a:focus-visible{outline:2px solid #126b83;outline-offset:3px}@media(max-width:991.98px){.public-booking-page #public-navbar{order:3;flex-basis:100%}.public-language-switch{order:1;margin-left:auto;margin-right:16px}.public-booking-page .navbar-toggler{order:2}.public-booking-page .navbar-brand{max-width:calc(100% - 155px);white-space:normal}}
