/* ==========================================================================
   B&B Foulards — tema demo "boutique moderna scura"
   Skinning CSS su classi Bootstrap 3 esistenti: nessuna struttura HTML
   o logica applicativa viene modificata da questo file.
   ========================================================================== */

:root {
    --bg: #0f0c0a;
    --bg-elevated: #17130f;
    --bg-card: #1d1811;
    --bg-card-hover: #241d15;
    --border: #372c1f;
    --border-soft: #2a2218;
    --gold: #c9a15a;
    --gold-soft: #e8cd94;
    --copper: #b8733a;
    --text: #f3ede0;
    --text-muted: #b4a891;
    --text-faint: #7d7361;
    --success: #5fb98a;
    --danger: #e0645f;
    --radius: 12px;
    --radius-sm: 8px;
    --shadow-lg: 0 20px 50px rgba(0, 0, 0, .55);
    --shadow-sm: 0 4px 14px rgba(0, 0, 0, .35);
    --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-body: 'Inter', 'Segoe UI', Helvetica, Arial, sans-serif;
}

html, body {
    background: var(--bg) !important;
    color: var(--text) !important;
    font-family: var(--font-body);
    letter-spacing: .01em;
}

body {
    background-image:
        radial-gradient(ellipse at top, rgba(201, 161, 90, .08), transparent 55%),
        linear-gradient(180deg, var(--bg) 0%, #0b0908 100%) !important;
    min-height: 100vh;
}

::selection { background: var(--gold); color: #1a1512; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-elevated); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

h1, h2, h3, h4, h5, .navbar-brand {
    font-family: var(--font-display);
    color: var(--gold-soft) !important;
    font-weight: 700;
    letter-spacing: .01em;
}

h2 { border-bottom: 1px solid var(--border-soft); padding-bottom: .5rem; margin-bottom: 1.25rem; }

a { color: var(--gold-soft); transition: color .15s ease; }
a:hover, a:focus { color: var(--gold); text-decoration: none; }

hr { border-top: 1px solid var(--border-soft); }

/* ---------- Navbar / menu principale ---------- */

.navbar-default {
    background: linear-gradient(180deg, #1c1712 0%, #14100c 100%) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-sm);
    padding: 4px 10px;
}

.navbar-default .navbar-header .navbar-toggle {
    border-color: var(--border);
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: var(--gold);
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: var(--bg-card-hover);
}

.navbar-default .navbar-nav > li > a {
    color: var(--text) !important;
    font-weight: 600;
    padding: 14px 18px;
    transition: color .15s ease;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a {
    color: var(--gold-soft) !important;
    background: transparent !important;
}

.dropdown-menu {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--shadow-lg) !important;
    padding: 8px !important;
    max-height: 80vh;
    overflow-y: auto;
}
.dropdown-menu > li > a {
    color: var(--text) !important;
    border-radius: 6px;
    padding: 9px 14px !important;
    font-size: 13.5px;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background: var(--bg-card-hover) !important;
    color: var(--gold-soft) !important;
    padding-left: 20px !important;
}
.dropdown-menu > li > a[style*="background-color:red"],
.dropdown-menu > li > a[style*="background-color: red"] {
    background: linear-gradient(90deg, #7a2320, #a3312c) !important;
    color: #ffe9e6 !important;
    font-weight: 600;
}

/* ---------- Contenitori / card ---------- */

.container { padding-top: 10px; }

.panel, .well, .form-group > .row,
div[align="center"] {
    background: var(--bg-card);
}

.well {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-sm);
}

.panel {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}
.panel-default > .panel-heading,
.panel-heading {
    background: linear-gradient(180deg, #241d15, #1c1712) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 14px 18px;
}
.panel-heading h1, .panel-heading h2, .panel-heading h3, .panel-heading h4 {
    font-size: 16px !important;
}
.panel-body { padding: 18px; }

/* Div/tabelle legacy con sfondo bianco/grigio inline (layout a colonne fai-da-te) */
div[style*="background-color:white"],
div[style*="background-color: white"],
div[style*="background-color:#fff" i],
div[style*="background-color: #fff" i] {
    background: var(--bg-card) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-sm);
}

/* ---------- Tabelle ---------- */

table.table, table#tabella, table.sortable {
    background: var(--bg-card);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

/* Tabelle "nude" senza classi Bootstrap (form label/input, liste semplici) */
table:not(.stampa):not(.table) {
    border-collapse: collapse;
}
table:not(.stampa):not(.table) td,
table:not(.stampa):not(.table) th {
    padding: 7px 10px;
    color: var(--text);
}
table:not(.stampa):not(.table) label {
    margin-bottom: 0;
}

.table > thead > tr > th {
    background: linear-gradient(180deg, #241d15, #1c1712);
    color: var(--gold-soft);
    border-bottom: 1px solid var(--border) !important;
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: 12px;
    padding: 12px 10px;
}

.table > tbody > tr > td {
    border-top: 1px solid var(--border-soft) !important;
    color: var(--text);
    padding: 10px;
    vertical-align: middle;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--bg-elevated);
}
.table-hover > tbody > tr:hover {
    background-color: var(--bg-card-hover) !important;
    transition: background-color .15s ease;
}

tr#reso, tr.restituzione {
    background-color: rgba(224, 100, 95, .18) !important;
}

/* Tabelle costruite a mano con id="intestazione"/"bianco"/"azzurrino" (cassa, fatture, ordini, resi, fidelity) */
table:has(#intestazione) {
    border-collapse: collapse;
    background: var(--bg-card);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    width: 100%;
}
tr#intestazione, tr[id="intestazione"] {
    background: linear-gradient(180deg, #241d15, #1c1712) !important;
}
tr#intestazione td, tr[id="intestazione"] td {
    color: var(--gold-soft) !important;
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .02em;
    padding: 12px 10px !important;
    border-bottom: 1px solid var(--border) !important;
}
tr#bianco, tr[id="bianco"] { background: var(--bg-card) !important; }
tr#azzurrino, tr[id="azzurrino"] { background: var(--bg-elevated) !important; }
tr#bianco td, tr#azzurrino td, tr[id="bianco"] td, tr[id="azzurrino"] td {
    color: var(--text) !important;
    padding: 8px 10px !important;
    border-top: 1px solid var(--border-soft) !important;
}
tr#bianco:hover, tr#azzurrino:hover, tr[id="bianco"]:hover, tr[id="azzurrino"]:hover {
    background: var(--bg-card-hover) !important;
    transition: background-color .15s ease;
}

/* ---------- Form / input ---------- */

.form-control, input[type="text"], input[type="password"], input[type="number"], select, textarea {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: none !important;
}
.form-control:focus, input:focus, select:focus, textarea:focus {
    border-color: var(--gold) !important;
    box-shadow: 0 0 0 3px rgba(201, 161, 90, .18) !important;
}
.form-control::placeholder { color: var(--text-faint) !important; }

label { color: var(--text-muted); font-weight: 600; }

/* ---------- Bottoni ---------- */

.btn { border-radius: var(--radius-sm); font-weight: 600; letter-spacing: .01em; transition: transform .1s ease, box-shadow .15s ease; }
.btn:active { transform: translateY(1px); }

.btn-info, .btn-primary,
input[type="submit"].btn-info, input[type="submit"].btn-primary {
    background: linear-gradient(135deg, var(--gold) 0%, var(--copper) 100%) !important;
    border: none !important;
    color: #1a1310 !important;
    box-shadow: 0 6px 18px rgba(201, 161, 90, .25);
}
.btn-info:hover, .btn-primary:hover {
    box-shadow: 0 8px 24px rgba(201, 161, 90, .4);
    filter: brightness(1.06);
}

.btn-default {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}
.btn-default:hover { background: var(--bg-card-hover) !important; border-color: var(--gold); }

.btn-danger { background: linear-gradient(135deg, #d9534f, #a3312c) !important; border: none !important; }
.btn-success { background: linear-gradient(135deg, #5fb98a, #2f7a56) !important; border: none !important; }

/* Pulsanti "grezzi" senza classi Bootstrap (input/button legacy) */
input[type="submit"]:not([class*="btn"]),
input[type="button"]:not([class*="btn"]),
button:not([class*="btn"]) {
    background: linear-gradient(135deg, var(--gold) 0%, var(--copper) 100%) !important;
    border: none !important;
    color: #1a1310 !important;
    font-weight: 600;
    letter-spacing: .01em;
    border-radius: var(--radius-sm);
    padding: 8px 18px;
    box-shadow: 0 6px 18px rgba(201, 161, 90, .25);
    transition: filter .15s ease, transform .1s ease;
}
input[type="submit"]:not([class*="btn"]):hover,
input[type="button"]:not([class*="btn"]):hover,
button:not([class*="btn"]):hover {
    filter: brightness(1.06);
}
input[type="submit"]:not([class*="btn"]):active,
input[type="button"]:not([class*="btn"]):active,
button:not([class*="btn"]):active {
    transform: translateY(1px);
}

/* Link usati come pulsanti (onclick, senza href, o dentro form legacy) */
a[onclick] {
    display: inline-block;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    color: var(--text) !important;
    border-radius: var(--radius-sm);
    padding: 6px 14px;
    font-weight: 600;
    font-size: 13px;
}
a[onclick]:hover {
    background: var(--bg-card-hover);
    border-color: var(--gold);
}

/* ---------- Alert / label ---------- */

.alert { border-radius: var(--radius-sm); border: 1px solid var(--border); font-weight: 600; }
.alert-success {
    background: rgba(95, 185, 138, .15) !important;
    color: var(--success) !important;
    border-color: rgba(95, 185, 138, .4) !important;
}
.alert-danger {
    background: rgba(224, 100, 95, .15) !important;
    color: var(--danger) !important;
    border-color: rgba(224, 100, 95, .4) !important;
}
.alert-info {
    background: rgba(201, 161, 90, .15) !important;
    color: var(--gold-soft) !important;
    border-color: var(--border) !important;
}
.label { border-radius: 5px; }

/* ---------- Pagina di login (index.php / login.php) ---------- */

body.login-page,
body[style*="gFlorian2016"] {
    position: relative;
}
body[style*="gFlorian2016"]::before {
    content: "";
    position: fixed;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 8, 6, .82), rgba(10, 8, 6, .93));
    z-index: 0;
}
body[style*="gFlorian2016"] > * { position: relative; z-index: 1; }

body[style*="gFlorian2016"] .form-group {
    background: rgba(23, 19, 15, .85);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 32px 28px;
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(6px);
}

body[style*="gFlorian2016"] img.img-responsive {
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .6));
    max-width: 320px;
    margin: 0 auto;
}

/* ---------- Pannello laterale "Bimbo" (assistente, a scomparsa) ---------- */

#menu_laterale_dx {
    background-color: var(--bg-card) !important;
    border: 2px solid var(--gold) !important;
    color: var(--text) !important;
    box-shadow: var(--shadow-lg) !important;
}
#menu_laterale_dx h1, #menu_laterale_dx h3, #menu_laterale_dx h5 {
    color: var(--gold-soft) !important;
}

/* ---------- Tabelle "grezze" con sfondo bianco inline (statistiche, report) ---------- */

table[style*="background-color:white"],
table[style*="background-color: white"] {
    background-color: var(--bg-card) !important;
    color: var(--text) !important;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    border-collapse: separate;
}
table[style*="background-color:white"] td,
table[style*="background-color: white"] td {
    color: var(--text) !important;
    padding: 8px 10px;
    border-top: 1px solid var(--border-soft);
}
tr[style*="background-color:cyan"],
tr[style*="background-color: cyan"] {
    background: linear-gradient(180deg, #241d15, #1c1712) !important;
    color: var(--gold-soft) !important;
}
tr[style*="background-color:cyan"] td,
tr[style*="background-color: cyan"] td {
    color: var(--gold-soft) !important;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .02em;
    padding: 10px !important;
}
tr[style*="background-color:lightgreen"],
tr[style*="background-color: lightgreen"] {
    background: linear-gradient(180deg, #241d15, #1c1712) !important;
    color: var(--gold-soft) !important;
}
tr[style*="background-color:lightgreen"] td,
tr[style*="background-color: lightgreen"] td {
    color: var(--gold-soft) !important;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .02em;
    padding: 10px !important;
    border-bottom: 1px solid var(--border) !important;
}

/* ---------- Tabelle legacy con attributo bgcolor (es. amministrazione permessi) ---------- */

tr[bgcolor="#99CCCC"] {
    background: linear-gradient(180deg, #241d15, #1c1712) !important;
    color: var(--gold-soft) !important;
}
tr[bgcolor="#99CCCC"] td {
    color: var(--gold-soft) !important;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .02em;
}
tr[bgcolor="#CCFFCC"],
tr[bgcolor="#FFFFFF"] {
    background: var(--bg-card) !important;
    color: var(--text) !important;
}
tr[bgcolor="#CCFFCC"] td,
tr[bgcolor="#FFFFFF"] td {
    color: var(--text) !important;
    border-top: 1px solid var(--border-soft);
}

