/* ==========================================================================
   Tema Medianet (child di Twenty-One) - restyling dell'area clienti WHMCS.
   I colori arrivano dalle impostazioni di Media CMS (variabili --mc-*);
   i valori qui sotto sono usati solo se il modulo non è attivo.
   ========================================================================== */
:root {
    --mc-primary: #16306b;
    --mc-accent: #f26b1d;
    --mc-dark: #0b1733;
    --mc-text: #1f2937;
    --mc-light: #f3f6fb;
    --mc-radius: 14px;
    --mc-font-h: 'Sora', system-ui, sans-serif;
    --mc-font-b: 'Inter', system-ui, sans-serif;
}

body, .primary-bg-color { font-family: var(--mc-font-b); color: var(--mc-text); background-color: var(--mc-light); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--mc-font-h); letter-spacing: -.015em; color: var(--mc-text); }
a { color: var(--mc-primary); }
a:hover { color: color-mix(in srgb, var(--mc-primary) 75%, #000); }

/* Corpo pagina */
#main-body { background: var(--mc-light); padding: 40px 0 64px; }
.master-breadcrumb { background: #fff; border-bottom: 1px solid color-mix(in srgb, var(--mc-primary) 10%, #fff); }
.master-breadcrumb .breadcrumb { background: transparent; margin: 0; padding: 12px 0; font-size: 13.5px; }
.master-breadcrumb .breadcrumb a { color: var(--mc-primary); }

/* Menu area clienti (utenti loggati, desktop) */
.header { box-shadow: none; }
.header .main-navbar-wrapper { background: #fff; border-bottom: 1px solid color-mix(in srgb, var(--mc-primary) 10%, #fff); padding: 0; }
.header .main-navbar-wrapper .navbar-nav .nav-link { color: var(--mc-text); font-weight: 600; font-size: 14px; padding: 14px 14px; }
.header .main-navbar-wrapper .navbar-nav .nav-link:hover,
.header .main-navbar-wrapper .navbar-nav .active > .nav-link { color: var(--mc-primary); }
.header .main-navbar-wrapper .dropdown-menu { border: 1px solid color-mix(in srgb, var(--mc-primary) 12%, #fff); border-radius: var(--mc-radius); box-shadow: 0 20px 48px rgba(11, 23, 51, .14); padding: 8px; }
.header .main-navbar-wrapper .dropdown-item { border-radius: 8px; padding: 8px 12px; }
.header .main-navbar-wrapper .dropdown-item:hover, .header .main-navbar-wrapper .dropdown-item:focus { background: var(--mc-light); color: var(--mc-primary); }

/* Pulsanti */
.btn { border-radius: 999px; font-weight: 600; padding-left: 1.15rem; padding-right: 1.15rem; transition: background-color .15s, border-color .15s, box-shadow .15s, transform .15s; }
.btn-sm { padding-left: .8rem; padding-right: .8rem; }
.btn-primary, .btn-primary:not(:disabled):not(.disabled):active { background-color: var(--mc-primary); border-color: var(--mc-primary); }
.btn-primary:hover, .btn-primary:focus { background-color: color-mix(in srgb, var(--mc-primary) 85%, #000); border-color: color-mix(in srgb, var(--mc-primary) 85%, #000); }
.btn-success, .btn-success:not(:disabled):not(.disabled):active { background-color: var(--mc-accent); border-color: var(--mc-accent); }
.btn-success:hover, .btn-success:focus { background-color: color-mix(in srgb, var(--mc-accent) 88%, #000); border-color: color-mix(in srgb, var(--mc-accent) 88%, #000); }
.btn-outline-primary { color: var(--mc-primary); border-color: var(--mc-primary); }
.btn-outline-primary:hover { background-color: var(--mc-primary); border-color: var(--mc-primary); }
.btn-default, .btn-light { background: #fff; border-color: color-mix(in srgb, var(--mc-primary) 18%, #fff); color: var(--mc-text); }
.btn:focus, .btn.focus { box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--mc-primary) 25%, transparent); }

/* Schede e riquadri */
.card { border: 1px solid color-mix(in srgb, var(--mc-primary) 10%, #fff); border-radius: var(--mc-radius); box-shadow: 0 1px 2px rgba(11, 23, 51, .04); }
.card-header { background: #fff; border-bottom-color: color-mix(in srgb, var(--mc-primary) 10%, #fff); border-radius: var(--mc-radius) var(--mc-radius) 0 0 !important; }
.card-header .card-title, .card-title { font-family: var(--mc-font-h); font-weight: 700; }
.card-footer { background: #fff; border-top-color: color-mix(in srgb, var(--mc-primary) 10%, #fff); }
.primary-content > .card, .primary-content .card { overflow: hidden; }

/* Barra laterale */
.sidebar .card { border-radius: var(--mc-radius); overflow: hidden; }
.sidebar .list-group-item { border-color: color-mix(in srgb, var(--mc-primary) 8%, #fff); font-size: 14px; }
.sidebar .list-group-item.active, .sidebar .list-group-item.active:hover { background-color: var(--mc-primary); border-color: var(--mc-primary); color: #fff; }
.sidebar .list-group-item:hover { background: var(--mc-light); }

/* Dashboard cliente */
.tiles .tile { border-radius: var(--mc-radius); }
.tiles .tile .stat { font-family: var(--mc-font-h); color: var(--mc-primary); }
.tiles .tile .highlight { background-color: var(--mc-accent) !important; }
.client-home-cards .card-header { font-weight: 700; }

/* Moduli */
.form-control, .custom-select { border-radius: 10px; border-color: color-mix(in srgb, var(--mc-primary) 18%, #fff); min-height: calc(1.5em + .9rem + 2px); }
.form-control:focus, .custom-select:focus { border-color: var(--mc-primary); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--mc-primary) 18%, transparent); }
.input-group > .form-control:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .input-group-append > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text { border-top-right-radius: 0; border-bottom-right-radius: 0; }

/* Tabelle e badge */
.table thead th { border-top: 0; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; color: color-mix(in srgb, var(--mc-text) 60%, #fff); }
.dataTables_wrapper .table-list { border-radius: var(--mc-radius); overflow: hidden; }
.badge { border-radius: 999px; font-weight: 600; padding: .35em .7em; }
.label-success, .badge-success { background-color: #16a34a; }
.alert { border-radius: var(--mc-radius); }
.page-item.active .page-link { background-color: var(--mc-primary); border-color: var(--mc-primary); }
.page-link { color: var(--mc-primary); }
.nav-tabs .nav-link.active { color: var(--mc-primary); }

/* Login e registrazione */
.login-form, .logincontainer { border-radius: var(--mc-radius); }

/* Home di riserva (modulo non attivo) */
.mcms-home-fallback { background: #fff; border-radius: var(--mc-radius); }
