/* ===== BALTS THEME — Black & White Minimal ===== */

/* --- Base --- */
html, body {
    height: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    color: #222;
    background: #fafafa;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto 0;
    padding: 0 0 0;
}

.wrap > .container {
    padding: 70px 15px 20px;
}

/* --- Typography --- */
h1 { font-size: 24px; font-weight: 600; margin-top: 10px; margin-bottom: 20px; color: #111; }
h2 { font-size: 20px; font-weight: 600; color: #111; }
h3 { font-size: 17px; font-weight: 600; color: #111; }

a { color: #111; }
a:hover, a:focus { color: #000; text-decoration: underline; }

/* --- Navbar — black bar, white text --- */
.navbar-inverse {
    background-color: #111;
    border: none;
    border-radius: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,.12);
    min-height: 48px;
}
.navbar-inverse .navbar-brand { padding: 11px 15px; }
.navbar-inverse .navbar-brand img { height: 24px !important; }
.navbar-inverse .navbar-nav > li > a {
    color: rgba(255,255,255,.8);
    font-size: 13px;
    font-weight: 500;
    padding: 14px 14px;
    letter-spacing: 0.02em;
    transition: color .15s;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav > li.active > a {
    color: #fff;
    background: transparent;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
    background-color: #222;
    color: #fff;
}
.navbar-inverse .navbar-toggle { border-color: #444; }
.navbar-inverse .navbar-toggle .icon-bar { background-color: #ccc; }
.navbar-inverse .navbar-toggle:hover { background-color: #222; }
.navbar-inverse .navbar-collapse { border-color: #222; }

/* dropdown menus */
.navbar-inverse .dropdown-menu {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
    padding: 6px 0;
}
.navbar-inverse .dropdown-menu > li > a {
    color: #333;
    padding: 7px 20px;
    font-size: 13px;
}
.navbar-inverse .dropdown-menu > li > a:hover,
.navbar-inverse .dropdown-menu > li > a:focus,
.navbar-inverse .dropdown-menu > .active > a,
.navbar-inverse .dropdown-menu > .active > a:hover,
.navbar-inverse .dropdown-menu > .active > a:focus {
    background-color: #f5f5f5;
    color: #111;
}
.navbar-inverse .dropdown-menu .dropdown-header {
    color: #888;
    padding: 5px 20px 2px;
    font-size: 12px;
}
.navbar-inverse .dropdown-menu .divider {
    background-color: #eee;
    margin: 4px 0;
}

/* --- User avatar --- */
.user-avatar {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #fff;
    color: #111;
    text-align: center;
    line-height: 28px;
    font-size: 12px;
    font-weight: 700;
    vertical-align: middle;
}

/* --- Buttons — black primary, clean defaults --- */
.btn {
    border-radius: 4px;
    font-weight: 500;
    font-size: 13px;
    padding: 7px 16px;
    transition: all .15s ease;
    border: 1px solid transparent;
}
.btn-primary {
    background-color: #111;
    border-color: #111;
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    background-color: #333;
    border-color: #333;
    color: #fff;
}
.btn-success {
    background-color: #222;
    border-color: #222;
    color: #fff;
}
.btn-success:hover, .btn-success:focus, .btn-success:active {
    background-color: #444;
    border-color: #444;
    color: #fff;
}
.btn-warning {
    background-color: #fff;
    border-color: #ccc;
    color: #333;
}
.btn-warning:hover, .btn-warning:focus {
    background-color: #f5f5f5;
    border-color: #aaa;
    color: #111;
}
.btn-danger {
    background-color: #d9534f;
    border-color: #d9534f;
    color: #fff;
}
.btn-danger:hover, .btn-danger:focus {
    background-color: #c9302c;
    border-color: #c9302c;
}
.btn-default {
    background-color: #fff;
    border-color: #ddd;
    color: #333;
}
.btn-default:hover, .btn-default:focus {
    background-color: #f5f5f5;
    border-color: #ccc;
}
.btn-info {
    background-color: #555;
    border-color: #555;
    color: #fff;
}
.btn-info:hover, .btn-info:focus {
    background-color: #666;
    border-color: #666;
}
.btn-lg {
    padding: 10px 24px;
    font-size: 15px;
}

/* +/- quantity controls */
form button.grey[name^="minus"] {
    background-color: #ddd !important;
    border-color: #ddd !important;
    color: #999 !important;
}
/* keep +/- and input on one line */
table#prodlist td button[name^="plus"],
table#prodlist td button[name^="minus"] {
    padding: 6px 12px;
}
table#prodlist td input[type="text"][name^="product"] {
    display: inline-block;
    float: left;
}
table#prodlist td .btn + input,
table#prodlist td input + .btn {
    margin: 0;
}

/* toggle button pattern: unselected = outline black, selected = green fill */
.btn-toggle-off,
button[name^="basket"].btn-warning {
    background-color: #fff !important;
    border: 2px solid #111 !important;
    color: #111 !important;
}
.btn-toggle-off:hover,
button[name^="basket"].btn-warning:hover {
    background-color: #f5f5f5 !important;
    border-color: #111 !important;
    color: #111 !important;
}
.btn-toggle-on,
button[name^="basket"].btn-success {
    background-color: #2d6a2d !important;
    border: 2px solid #2d6a2d !important;
    color: #fff !important;
}
.btn-toggle-on:hover,
button[name^="basket"].btn-success:hover {
    background-color: #245a24 !important;
    border-color: #245a24 !important;
    color: #fff !important;
}

/* --- Tables — clean lines --- */
.table {
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
}
.table > thead > tr > th {
    background-color: #111;
    color: #fff;
    font-weight: 500;
    font-size: 13px;
    padding: 10px 12px;
    border-bottom: none;
    white-space: nowrap;
}
.table > tbody > tr > td {
    padding: 9px 12px;
    vertical-align: middle;
    border-top: 1px solid #eee;
    font-size: 13px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fcfcfc;
}
.table-striped > tbody > tr:nth-of-type(even) {
    background-color: #fff;
}
.table > tbody > tr:hover {
    background-color: #f5f5f5;
}
.table-bordered {
    border: 1px solid #e5e5e5;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
    border-color: #e5e5e5;
}

/* --- Forms --- */
.form-control {
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: none;
    font-size: 13px;
    padding: 6px 10px;
    height: 34px;
    transition: border-color .15s;
}
.form-control:focus {
    border-color: #111;
    box-shadow: 0 0 0 2px rgba(0,0,0,.06);
}
label {
    font-weight: 600;
    font-size: 13px;
    color: #333;
}

/* --- Alerts --- */
.alert {
    border-radius: 4px;
    border: none;
    font-size: 13px;
}
.alert-success {
    background-color: #f0f9f0;
    color: #2d6a2d;
    border-left: 3px solid #2d6a2d;
}
.alert-info {
    background-color: #f0f4f8;
    color: #31587a;
    border-left: 3px solid #31587a;
}
.alert-warning {
    background-color: #fef8ed;
    color: #8a6d3b;
    border-left: 3px solid #c09853;
}
.alert-danger {
    background-color: #fdf2f2;
    color: #a94442;
    border-left: 3px solid #d9534f;
}

/* --- Labels / badges --- */
.label {
    font-weight: 500;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 3px;
}
.label-default { background-color: #f5f5f5; color: #555; border: 1px solid #ccc; }
.label-warning { background-color: #fff; color: #111; border: 1px solid #111; }
.label-success { background-color: #2d6a2d; }

/* --- Panels --- */
.panel {
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: none;
}
.panel-heading {
    border-radius: 4px 4px 0 0;
}
.panel-default > .panel-heading {
    background: #f8f8f8;
    border-color: #e5e5e5;
    color: #333;
}

/* --- Wells --- */
.well {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: none;
}

/* --- Breadcrumbs --- */
.breadcrumb {
    background: transparent;
    padding: 8px 0;
    margin-bottom: 10px;
    font-size: 12px;
}
.breadcrumb > li + li::before {
    color: #999;
}
.breadcrumb > .active {
    color: #888;
}

/* --- Pagination --- */
.pagination > li > a,
.pagination > li > span {
    color: #111;
    border-color: #ddd;
    font-size: 13px;
}
.pagination > .active > a,
.pagination > .active > span {
    background-color: #111;
    border-color: #111;
    color: #fff;
}
.pagination > .active > a:hover {
    background-color: #333;
    border-color: #333;
}
.pagination > li > a:hover {
    background-color: #f5f5f5;
    color: #111;
}

/* --- Grid sorting icons --- */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
    color: rgba(255,255,255,.7);
}
a.asc:after { content: "\e151"; }
a.desc:after { content: "\e152"; }
.sort-numerical a.asc:after { content: "\e153"; }
.sort-numerical a.desc:after { content: "\e154"; }
.sort-ordinal a.asc:after { content: "\e155"; }
.sort-ordinal a.desc:after { content: "\e156"; }

.grid-view th {
    white-space: nowrap;
}
.grid-view th a {
    color: rgba(255,255,255,.9);
    text-decoration: none;
}
.grid-view th a:hover {
    color: #fff;
    text-decoration: none;
}

/* --- Misc --- */
.not-set {
    color: #c55;
    font-style: italic;
}
.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
    font-size: 12px;
}
.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #d9534f;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

.nav > li > a { padding-left: 10px; padding-right: 10px; }

div#alerts { position: fixed; width: inherit; padding-right: 30px; bottom: 0; }

table.table tbody tr.draft {
    background-color: #fef9e7;
}
table tr.bordertop td {
    border-top: 2px solid #ccc;
}
table tr td.borderright, table tr th.borderright {
    border-right: 2px solid #ccc;
}
table td.right, table th.right {
    text-align: right;
}
table td.center, table th.center {
    text-align: center;
}

/* --- Accordion (jQuery UI) — match theme --- */
.ui-widget { font-family: inherit !important; }
.ui-accordion .ui-accordion-header {
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    margin-top: 2px !important;
    padding: 8px 12px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}
.ui-accordion .ui-accordion-header:hover {
    background: #333 !important;
}
.ui-accordion .ui-accordion-header .ui-icon { display: none; }
.ui-accordion .ui-accordion-content {
    border: 1px solid #e5e5e5 !important;
    border-top: none !important;
    border-radius: 0 0 3px 3px !important;
    background: #fff !important;
}

/* --- Dropdowns in filter rows --- */
.grid-view .filters select.form-control,
.grid-view .filters input.form-control {
    font-size: 12px;
    padding: 4px 6px;
    height: 30px;
}

/* --- Status label colors for orders --- */
.label-order { background-color: #111; }

/* --- Mobile nav --- */
@media (max-width: 767px) {
    .navbar-nav { margin-left: 0 !important; }
    .navbar-nav.navbar-right {
        margin-right: 0;
        border-top: 1px solid #333;
        padding-top: 4px;
        margin-top: 4px;
    }
    .navbar-inverse .navbar-nav > li > a {
        padding: 10px 15px;
    }
    .navbar-inverse .navbar-nav .dropdown-menu {
        background-color: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
    }
    .navbar-inverse .navbar-nav .dropdown-menu > li > a {
        color: rgba(255,255,255,.7);
        padding: 8px 25px;
    }
    .navbar-inverse .navbar-nav .dropdown-menu > li > a:hover {
        color: #fff;
        background: transparent;
    }
    .navbar-inverse .navbar-nav .dropdown-menu .dropdown-header {
        color: rgba(255,255,255,.5);
        padding: 5px 25px;
    }
    .navbar-inverse .navbar-nav .dropdown-menu .divider {
        background-color: #444;
    }
    .navbar-inverse .dropdown-menu > .active > a,
    .navbar-inverse .dropdown-menu > .active > a:hover {
        background: transparent;
        color: #fff;
    }
}

/* --- Print --- */
@media print {
    .navbar, .breadcrumb, .btn { display: none !important; }
    .wrap > .container { padding-top: 0; }
}
