/* ============================================================
   SexStudent — Custom CSS
   Nie modyfikuj theme.min.css — zmiany tutaj.
   ============================================================ */

/* ===== UJEDNOLICENIE ZIELENI (Unify #077C76 → Bootstrap #198754) ===== */
:root {
    --bs-success:             #198754;
    --bs-success-rgb:         25, 135, 84;
    --bs-btn-success-bg:      #198754;
    --bs-btn-success-color:   #fff;
    --bs-btn-success-border-color: #198754;
    --bs-btn-success-hover-bg:    #157347;
    --bs-btn-success-hover-border-color: #146c43;
    --bs-btn-success-active-bg:   #146c43;
}
.btn-success             { background-color: #198754 !important; border-color: #198754 !important; color: #fff !important; }
.btn-success:hover       { background-color: #157347 !important; border-color: #146c43 !important; }
.btn-success:focus       { background-color: #157347 !important; border-color: #146c43 !important; box-shadow: 0 0 0 .25rem rgba(25,135,84,.25) !important; }
.btn-success:active,
.btn-success.active      { background-color: #146c43 !important; border-color: #13653f !important; }
.btn-outline-success     { color: #198754 !important; border-color: #198754 !important; }
.btn-outline-success:hover { background-color: #198754 !important; color: #fff !important; }
.bg-success              { background-color: #198754 !important; }
.text-success            { color: #198754 !important; }
.border-success          { border-color: #198754 !important; }
.badge.bg-success        { background-color: #198754 !important; }
.page-item.active .page-link { background-color: #198754 !important; border-color: #198754 !important; }
.nav-link.active         { color: #198754; }

/* ===== ZMIENNE DARK MODE ===== */
:root {
    --dm-bg:         #0f172a;
    --dm-surface:    #1e293b;
    --dm-surface-2:  #263347;
    --dm-border:     #334155;
    --dm-text:       #e2e8f0;
    --dm-text-muted: #94a3b8;
    --dm-navbar-bg:  #1e293b;
    --dm-input-bg:   #1e293b;
}

/* ===== LEGACY CONTENT (BS3 z bazy danych) ===== */
.text-white h1,.text-white h2,.text-white h3,.text-white h4,
.text-white h5,.text-white h6,.text-white p,.text-white small,
.text-white .h1,.text-white .h2,.text-white .h3,.text-white .h4 { color:#fff !important; }

.legacy-content .fade { opacity:1 !important; }
.legacy-content .alert-info { background:#9b2335 !important; border-color:#7d1c2b !important; color:#fff !important; }
.legacy-content .tag-box,.legacy-content .tag-box-v2,.legacy-content .tag-box-v3,.legacy-content .tag-box-v4 { color:#555;padding:15px 20px; }
.legacy-content .text-highlights { font-weight:600; }
.legacy-content .text-highlights-green { color:#27ae60; }
.legacy-content .text-highlights-blue  { color:#2980b9; }
.legacy-content .text-highlights-red   { color:#c0392b; }
.legacy-content .color-green           { color:#27ae60; }
.legacy-content .panel-default  { margin-bottom:10px;border:1px solid #ddd;border-radius:4px; }
.legacy-content .panel-heading  { padding:10px 15px;background:#f5f5f5; }
.legacy-content .panel-body     { padding:15px; }
.legacy-content .accordion-toggle  { color:#333;text-decoration:none;display:block; }
.legacy-content .panel-collapse    { display:none; }
.legacy-content .panel-collapse.in,.legacy-content .panel-collapse.show { display:block; }
.legacy-content .btn-u { display:inline-block;padding:6px 18px;background:#9b2335;border:1px solid #7d1c2b;color:#fff !important;border-radius:4px;text-decoration:none;font-size:.875rem;cursor:pointer; }
.legacy-content .btn-u:hover { background:#7d1c2b; }
.legacy-content img.img-thumbnail { max-width:100%;width:auto;height:auto; }

/* ===== NAVBAR ICON BUTTON ===== */
.nav-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    color: #555;
    text-decoration: none;
    transition: background .15s, color .15s;
    font-size: 1.05rem;
    /* reset button defaults */
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
}
.nav-icon-btn:hover { background: rgba(0,0,0,.06); color: #212529; }
.nav-icon-btn.has-unread { color: #198754; }
.nav-icon-btn.has-unread:hover { background: rgba(25,135,84,.1); }

.nav-icon-badge {
    position: absolute;
    top: 0; right: 0;
    min-width: 17px; height: 17px;
    background: #9b2335;
    color: #fff;
    font-size: .6rem;
    font-weight: 700;
    line-height: 17px;
    text-align: center;
    border-radius: 99px;
    padding: 0 4px;
    border: 2px solid #fff;
    pointer-events: none;
}
@keyframes badge-pulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(155,35,53,.5); }
    50%      { box-shadow: 0 0 0 4px rgba(155,35,53,0); }
}
.has-unread .nav-icon-badge { animation: badge-pulse 2s ease-in-out infinite; }

/* ===== BELL DROPDOWN ===== */
.notif-dropdown {
    width: 340px;
    padding: 0;
    border-radius: .75rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.notif-dropdown .notif-header {
    padding: .75rem 1rem;
    font-weight: 600;
    font-size: .85rem;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.notif-section-title {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6c757d;
    padding: .5rem 1rem .25rem;
}
.notif-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem 1rem;
    text-decoration: none;
    color: inherit;
    transition: background .12s;
}
.notif-item:hover { background: #f8f9fa; color: inherit; }
.notif-item img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.notif-item .notif-name { font-size: .82rem; font-weight: 500; color: #212529; line-height: 1.2; }
.notif-item .notif-time { font-size: .7rem; color: #6c757d; }
.notif-footer-link {
    display: block;
    text-align: center;
    padding: .5rem;
    font-size: .75rem;
    color: #198754;
    text-decoration: none;
    border-top: 1px solid #f0f0f0;
}
.notif-footer-link:hover { background: #f8f9fa; color: #198754; }
.notif-empty {
    padding: .75rem 1rem;
    font-size: .8rem;
    color: #6c757d;
    text-align: center;
}

/* ===== DARK MODE ===== */
[data-theme="dark"] { color-scheme: dark; }
[data-theme="dark"] body { background: var(--dm-bg) !important; color: var(--dm-text); }

[data-theme="dark"] #header.navbar { background: var(--dm-navbar-bg) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .navbar-light .navbar-nav .nav-link,
[data-theme="dark"] .navbar-light .navbar-brand { color: var(--dm-text) !important; }
[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover { color: #fff !important; }
[data-theme="dark"] .dropdown-menu { background: var(--dm-surface-2); border-color: var(--dm-border); }
[data-theme="dark"] .dropdown-item { color: var(--dm-text); }
[data-theme="dark"] .dropdown-item:hover { background: var(--dm-surface); color: #fff; }
[data-theme="dark"] .dropdown-divider { border-color: var(--dm-border); }

[data-theme="dark"] .card { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; color: var(--dm-text); }
[data-theme="dark"] .card-header { background: var(--dm-surface-2) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .card-footer { background: var(--dm-surface-2) !important; border-color: var(--dm-border) !important; }

[data-theme="dark"] .text-dark  { color: var(--dm-text) !important; }
[data-theme="dark"] .text-muted { color: var(--dm-text-muted) !important; }
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6 { color: var(--dm-text); }

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select { background: var(--dm-input-bg); border-color: var(--dm-border); color: var(--dm-text); }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus { background: var(--dm-input-bg); color: var(--dm-text); border-color: #4f6f8f; box-shadow: 0 0 0 .2rem rgba(79,111,143,.25); }
[data-theme="dark"] .form-control::placeholder { color: var(--dm-text-muted); }
[data-theme="dark"] .input-group-text { background: var(--dm-surface-2); border-color: var(--dm-border); color: var(--dm-text-muted); }

[data-theme="dark"] .border,[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,[data-theme="dark"] .border-end { border-color: var(--dm-border) !important; }
[data-theme="dark"] hr { border-color: var(--dm-border); }

[data-theme="dark"] .table { color: var(--dm-text); --bs-table-bg: var(--dm-surface); border-color: var(--dm-border); }
[data-theme="dark"] .table-light { --bs-table-bg: var(--dm-surface-2); color: var(--dm-text-muted); }
[data-theme="dark"] .table-hover > tbody > tr:hover { --bs-table-hover-bg: var(--dm-surface-2); }
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) { --bs-table-striped-bg: var(--dm-surface-2); }

[data-theme="dark"] .list-group-item { background: var(--dm-surface); border-color: var(--dm-border); color: var(--dm-text); }
[data-theme="dark"] .list-group-item-action:hover { background: var(--dm-surface-2); color: #fff; }

[data-theme="dark"] .alert-light { background: var(--dm-surface-2); border-color: var(--dm-border); color: var(--dm-text); }
[data-theme="dark"] .alert-info    { background: #0c3047; border-color: #1a5a7a; color: #93d5f5; }
[data-theme="dark"] .alert-warning { background: #2d1f07; border-color: #5c3d0d; color: #f5c67a; }

[data-theme="dark"] .nav-tabs { border-color: var(--dm-border); }
[data-theme="dark"] .nav-tabs .nav-link { color: var(--dm-text-muted); }
[data-theme="dark"] .nav-tabs .nav-link.active { background: var(--dm-surface); border-color: var(--dm-border) var(--dm-border) var(--dm-surface); color: var(--dm-text); }
[data-theme="dark"] .nav-tabs .nav-link:hover { color: var(--dm-text); border-color: var(--dm-border); }

[data-theme="dark"] .bg-soft-secondary { background: var(--dm-surface-2) !important; }
[data-theme="dark"] .bg-soft-primary   { background: #1a2e4a !important; }
[data-theme="dark"] .progress { background: var(--dm-surface-2); }

[data-theme="dark"] .modal-content { background: var(--dm-surface); border-color: var(--dm-border); color: var(--dm-text); }
[data-theme="dark"] .modal-header  { border-color: var(--dm-border); }
[data-theme="dark"] .modal-footer  { border-color: var(--dm-border); }

[data-theme="dark"] .accordion-item   { background: var(--dm-surface); border-color: var(--dm-border); }
[data-theme="dark"] .accordion-button { background: var(--dm-surface-2); color: var(--dm-text); }
[data-theme="dark"] .accordion-button:not(.collapsed) { background: var(--dm-surface); color: var(--dm-text); }
[data-theme="dark"] .accordion-button::after { filter: invert(1) brightness(2); }

[data-theme="dark"] .bg-white { background: var(--dm-surface) !important; }
[data-theme="dark"] .bg-light { background: var(--dm-surface-2) !important; }

[data-theme="dark"] .page-item .page-link { background: var(--dm-surface); border-color: var(--dm-border); color: var(--dm-text-muted); }
[data-theme="dark"] .page-item.active .page-link { background: #9b2335; border-color: #7d1c2b; color: #fff; }
[data-theme="dark"] .shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.4) !important; }

[data-theme="dark"] p,
[data-theme="dark"] span:not(.badge):not([class*="text-success"]):not([class*="text-danger"]):not([class*="text-warning"]):not([class*="text-info"]):not([class*="text-primary"]),
[data-theme="dark"] li,
[data-theme="dark"] td,
[data-theme="dark"] th,
[data-theme="dark"] label,
[data-theme="dark"] .card-text,
[data-theme="dark"] .card-body,
[data-theme="dark"] small { color: var(--dm-text); }

[data-theme="dark"] .text-muted,
[data-theme="dark"] small.text-muted { color: var(--dm-text-muted) !important; }

[data-theme="dark"] textarea { background: var(--dm-input-bg) !important; color: var(--dm-text) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .message-bubble,[data-theme="dark"] [class*="message"],
[data-theme="dark"] .conversation-body { background: var(--dm-surface-2) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .profile-desc,[data-theme="dark"] .forum-body,
[data-theme="dark"] .legacy-content { color: var(--dm-text) !important; }
[data-theme="dark"] .legacy-content a { color: #7dd3fc; }
[data-theme="dark"] .icon-box,[data-theme="dark"] [class*="feature"],
[data-theme="dark"] .media-body,[data-theme="dark"] .u-info-v1,
[data-theme="dark"] .u-icon-block { color: var(--dm-text) !important; }
[data-theme="dark"] [class*="feature"] p,[data-theme="dark"] [class*="feature"] h3,
[data-theme="dark"] [class*="feature"] h4,[data-theme="dark"] [class*="feature"] span { color: var(--dm-text) !important; }

[data-theme="dark"] a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item) { color: #7dd3fc; }
[data-theme="dark"] a:not(.btn):not(.badge):not(.nav-link):not(.dropdown-item):hover { color: #bae6fd; }

/* Dark mode nav icon */
[data-theme="dark"] .nav-icon-btn { color: #94a3b8; }
[data-theme="dark"] .nav-icon-btn:hover { background: rgba(255,255,255,.08); color: #e2e8f0; }
[data-theme="dark"] .nav-icon-btn.has-unread { color: #4ade80; }
[data-theme="dark"] .nav-icon-btn.has-unread:hover { background: rgba(74,222,128,.1); }
[data-theme="dark"] .nav-icon-badge { border-color: var(--dm-navbar-bg); }

/* Dark mode bell dropdown */
[data-theme="dark"] .notif-dropdown { background: var(--dm-surface); border-color: var(--dm-border); }
[data-theme="dark"] .notif-dropdown .notif-header { border-color: var(--dm-border); color: var(--dm-text); }
[data-theme="dark"] .notif-section-title { color: var(--dm-text-muted); }
[data-theme="dark"] .notif-item:hover { background: var(--dm-surface-2); }
[data-theme="dark"] .notif-item .notif-name { color: var(--dm-text); }
[data-theme="dark"] .notif-item .notif-time { color: var(--dm-text-muted); }
[data-theme="dark"] .notif-footer-link { border-color: var(--dm-border); color: #4ade80; }
[data-theme="dark"] .notif-footer-link:hover { background: var(--dm-surface-2); }

/* Dark mode toggle pill */
#darkToggle { width:38px;height:22px;border-radius:99px;border:none;padding:0;
    background:#dee2e6;position:relative;cursor:pointer;transition:background .25s;flex-shrink:0; }
#darkToggle::after { content:'';position:absolute;top:3px;left:3px;
    width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .25s; }
[data-theme="dark"] #darkToggle { background:#334155; }
[data-theme="dark"] #darkToggle::after { transform:translateX(16px);background:#e2e8f0; }
#darkToggle .icon-sun,#darkToggle .icon-moon { font-size:.65rem;line-height:1;
    position:absolute;top:50%;transform:translateY(-50%);pointer-events:none; }
#darkToggle .icon-sun  { right:5px;color:#f59e0b; }
#darkToggle .icon-moon { left:5px;color:#fff;display:none; }
[data-theme="dark"] #darkToggle .icon-sun  { display:none; }
[data-theme="dark"] #darkToggle .icon-moon { display:block; }

/* City autocomplete dark mode */
[data-theme="dark"] #city-suggestions { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] #city-suggestions li { color: var(--dm-text); border-color: var(--dm-border) !important; }
[data-theme="dark"] #city-suggestions li:hover { background: var(--dm-surface-2) !important; }

