/* Preproste prilagoditve teme za lokalno uporabo.
   Dodajte ali prilagodite barve, pisave ali druge preglasitve tukaj.
*/
:root {
  --bs-body-bg: #ffffff;
  --bs-body-color: #212529;
}

/* Primer: make .navbar darker slightly */
.navbar {
  background-color: rgba(33, 37, 41, 0.95) !important;
}

/* Centralized page header style used across user pages and home */
.user-page-header{
  background: linear-gradient(135deg,#e6fbf6 0%,#d1f2ea 50%,#bfe9dd 100%);
  color:#064e3b;
  padding:1.5rem 0;
  /* Avoid forcing page width wider than viewport: remove negative horizontal margins */
  margin: 0 0 1.5rem 0;
  border-radius:0 0 12px 12px;
  text-align:center;
  box-sizing: border-box;
  overflow-x: hidden; /* safeguard against accidental horizontal overflow from children */
}
.user-page-header h3{margin:0;font-weight:600;font-size:1.6rem}
.user-page-header .subtitle{opacity:.9;margin-top:.25rem;color:#075f47}

/* Additional normalized header spacing and typography moved from inline styles in index.php */
.user-page-header .container { display: flex; flex-direction: column; justify-content: center; align-items: center; }
/* Prevent layout shift when vertical scrollbar appears + nicer thin scrollbars */
html { scrollbar-gutter: stable; }
body { scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.22) transparent; }
:root { --scrollbar-thumb: rgba(0,0,0,0.22); --scrollbar-thumb-hover: rgba(0,0,0,0.32); --scrollbar-width: 0px; }
::-webkit-scrollbar { width: var(--scrollbar-width); height: var(--scrollbar-width); }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background-color: var(--scrollbar-thumb); border-radius: 6px; border: 1px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background-color: var(--scrollbar-thumb-hover); }

/* Cross-browser: hide scrollbars but keep scrolling functional */
/* Firefox */
body::-webkit-scrollbar { display: none; } /* fallback for some browsers */
body { scrollbar-width: none; }

/* WebKit/Blink */
::-webkit-scrollbar { width: 0; height: 0; }

/* IE/Edge legacy */
html { -ms-overflow-style: none; }



/* Admin reports header moved from inline styles in index.php
   Keeps visual parity with original inline rules but centralizes them
   so multiple admin pages reuse the same styling. */
.admin-reports-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 2rem 0;
  margin: 0 0 1.5rem 0;
  border-radius: 0 0 15px 15px;
  text-align: center;
  box-sizing: border-box;
}
.admin-reports-header h3 {
  margin: 0;
  font-weight: 300;
  font-size: 2rem;
}
.admin-reports-header .subtitle {
  opacity: 0.9;
  margin-top: 0.5rem;
}


/* Admin queue list styles moved from inline styles in index.php 
   Centralized so admin fragments and JS-updated fragments pick up the same rules */
.admin-queue .form-check-input.ad-select {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  background-color: #ffffff !important;
  border: 1px solid #333 !important;
  accent-color: #0d6efd;
  box-shadow: none !important;
}

.batch-actions-bar {
  display: none;
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

@media (max-width: 767.98px) {
  .batch-actions-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 11050 !important;
  }
}

.admin-queue .admin-queue-img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  max-height: 260px;
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}
.admin-queue .card-footer .btn-group {
  display: flex;
  flex-wrap: nowrap;
  gap: .25rem;
  align-items: center;
}

.admin-queue .btn-group.w-100 > .btn {
  flex: 0 0 auto;
}

.admin-queue .card-footer .btn-group .btn,
.admin-queue .card-footer .btn-group .btn:disabled {
  white-space: nowrap;
  min-width: 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: .45rem;
  padding-right: .45rem;
  border: 1px solid #000 !important;
  box-shadow: none !important;
}
.admin-queue .card-footer .btn .bi { font-size: 1rem; line-height: 1; }
.admin-queue .card-title a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 576px) {
  .admin-queue .card-text { -webkit-line-clamp: 3; line-clamp: 3; }
  .admin-queue .card-subtitle { font-size: .95rem; }
}

/* Empty state for admin queue (moved from inline styles in index.php) */
.no-admin-queue{text-align:center;padding:2.5rem 1.5rem;background:white;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06);} 

/* Heart icon helper: avoid white square highlight used previously via inline styles.
   Keep a visible focus ring for keyboard users for accessibility. */
.heart-icon {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: inline-block;
}
.heart-icon:focus, .heart-icon:focus-visible {
  outline: 2px solid rgba(0,0,0,0.12);
  outline-offset: 2px;
  border-radius: 0.14rem;
}
.btn-favorite .heart-icon {
  /* ensure size/line-height matches other icons */
  line-height: 1;
}

/* Visually hide ARIA live region but keep it accessible to screen readers */
#aria-live-region {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.no-admin-queue .icon{font-size:3.2rem;color:#4ecdc4;margin-bottom:0.75rem;} 
.no-admin-queue h4{margin-bottom:.5rem;color:#55606a;} 
.no-admin-queue p{margin-bottom:0;color:#6c757d}

/* Payment cards styles moved from inline echoes in index.php */
.cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.payment-card { border: 1px solid #e2e6ea; border-radius: 14px; overflow: hidden; transition: box-shadow .25s ease, transform .25s ease; background: #ffffff; }
.payment-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,0.08); }
.payment-header { background: linear-gradient(135deg, #e0e7ef 0%, #d4dde6 100%); color: #2f3944; padding: 0.85rem 1.15rem; border: none; }
.payment-header .ad-title { color: #243039; text-decoration: none; font-weight: 600; }
.payment-header .ad-title:hover { color: #111; text-decoration: underline; }
.payment-body { padding: 0.9rem 1.15rem; background: #fcfcfd; }
.payment-info { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.payment-ref { background: #f3f5f7; padding: .55rem .7rem; border-radius: 8px; border-left: 3px solid #b8c2cc; }
.payment-meta { color: #607180; font-size: .85rem; }
.payment-footer { background: #f4f6f8; padding: .6rem 1.1rem; border: none; display: flex; justify-content: space-between; align-items: center; }
.btn-pay-action { border-radius: 22px; padding: 0.4rem 1.05rem; font-weight: 600; transition: all 0.22s ease; font-size: .85rem; }
.btn-confirm { background: linear-gradient(135deg, #5d6e84 0%, #4d5a66 100%); border: none; color: #fff; }
.btn-confirm:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(77,90,102,0.35); color: #fff; }
.btn-cancel { background: linear-gradient(135deg, #b45858 0%, #a24a4a 100%); border: none; color: #fff; }
.btn-cancel:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(164,74,74,0.35); color: #fff; }
.icon-btn { width: 42px; padding: 0.25rem 0.4rem; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 767.98px) { .filters-row .col-md-1.d-grid { display: flex !important; justify-content: flex-end !important; } }

/* Common utilities moved from inline attributes */
.mb-thumb { aspect-ratio: 4/3; }
.top-left-overlay { top: 0.5rem; left: 0.5rem; z-index: 10; }
.overlay-bottom-right { position: absolute; bottom: 0.5rem; right: 0.5rem; }
.copy-id-badge { cursor: pointer; user-select: none; }
.img-hidden-opacity { opacity: 0; }
.bi-lg { font-size: 2rem; }
.z-5 { z-index: 5; }
.search-suggestions { top: 100%; left: 0; z-index: 11012; display: none; }
.load-more-trigger { height: 50px; }
.modal-custom-bg { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
.modal-header-custom { background-color: var(--bs-primary-bg-subtle); color: var(--bs-primary-text); }
.card-max-900 { max-width: 900px; }
.upload-overlay { max-width:520px; width:90%; background:#fff; padding:20px; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,0.3); text-align:left; }
.upload-overlay .upload-avatar { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.upload-overlay .upload-avatar .avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(90deg,#4f46e5,#06b6d4); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; }
.upload-overlay .upload-bar { height:10px; background:#f1f5f9; border-radius:8px; overflow:hidden; margin-bottom:8px; }
.upload-overlay-bar { height:10px; width:0%; background:#10b981; }
.card-max-1100 { max-width:1100px; }

/* Additional utilities for previously inline styles */
.cursor-pointer { cursor: pointer; }
.modal-rounded-hidden { border: none; border-radius: 15px; overflow: hidden; }
.modal-header-alert { background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%); border: none; }
.modal-body-padding { padding: 2rem; }
.modal-footer-no-border { border: none; padding: 1rem 2rem 2rem; }
.btn-report-action { border-radius: 25px; padding: 0.75rem 2rem; }
.gap-1rem { gap: 1rem; }
.avatar-wrapper { position:relative; width:32px; height:32px; }
.avatar-circle { width:32px; height:32px; text-align:center; line-height:32px; font-size:1.2em; }
.online-dot { position:absolute; right:-2px; bottom:-2px; width:10px; height:10px; border-radius:50%; background:#28a745; border:2px solid #fff; display:inline-block; }
.message-preview-nowrap { white-space: pre-wrap; margin-top:4px; }
.conversation-vh-wrapper { display:flex; flex-direction:column; min-height:calc(100vh - 260px); }
.card-min-h-0 { min-height:0; }
.chat-window-overflow { overflow:auto; }
.sticky-footer-bottom { position:sticky; bottom:0; z-index:5; }
.max-width-900 { max-width: 900px; }
.display-inline { display:inline; }
.display-inline-block { display:inline-block; }
.object-fit-cover { object-fit: cover; }
.text-decoration-none { text-decoration: none !important; }

/* Filter buttons (left column) - moved from inline <style> in index.php */
#admin-queue-filters .queue-filter-btn { transition: all .15s ease-in-out; border-radius: .5rem; padding: .45rem .65rem; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-height: 2.6rem; }
#admin-queue-filters .queue-filter-btn .btn-label { display: inline-block; width: 100%; line-height: 1; }
#admin-queue-filters .queue-filter-btn[data-status="approved"] { border-color: #198754; color: #198754; }
#admin-queue-filters .queue-filter-btn[data-status="approved"]:hover,
#admin-queue-filters .queue-filter-btn.active[data-status="approved"] { background-color: #198754; color: #fff; }
#admin-queue-filters .queue-filter-btn[data-status="pending"] { border-color: #fd7e14; color: #fd7e14; }
#admin-queue-filters .queue-filter-btn[data-status="pending"]:hover,
#admin-queue-filters .queue-filter-btn.active[data-status="pending"] { background-color: #fd7e14; color: #fff; }
#admin-queue-filters .queue-filter-btn[data-status="rejected"] { border-color: #dc3545; color: #dc3545; }
#admin-queue-filters .queue-filter-btn[data-status="rejected"]:hover,
#admin-queue-filters .queue-filter-btn.active[data-status="rejected"] { background-color: #dc3545; color: #fff; }
#admin-queue-filters .queue-filter-btn[data-status="featured"] { border-color: #6f42c1; color: #6f42c1; }
#admin-queue-filters .queue-filter-btn[data-status="featured"]:hover,
#admin-queue-filters .queue-filter-btn.active[data-status="featured"] { background-color: #6f42c1; color: #fff; }
#admin-queue-filters .queue-filter-btn[data-status="all"] { border-color: #6c757d; color: #6c757d; }
#admin-queue-filters .queue-filter-btn[data-status="all"]:hover,
#admin-queue-filters .queue-filter-btn.active[data-status="all"] { background-color: #6c757d; color: #fff; }

/* batch actions bar */
.batch-actions-bar {
  display: none;
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

@media (max-width: 767.98px) {
  .batch-actions-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 11050 !important;
  }
}

/* small tweak to admin queue button groups */
.admin-queue .btn-group.w-100 > .btn { flex: 1 1 0; border-radius: .5rem; min-width: 0; display: inline-flex; align-items: center; justify-content: center; padding-left: .45rem; padding-right: .45rem; min-height: 2.6rem; box-sizing: border-box; }
.admin-queue .card-footer .btn-group .btn,
.admin-queue .card-footer .btn-group .btn:disabled { white-space: nowrap; box-shadow: none !important; border-width: 1px; }
.admin-queue .btn-featured-toggle { padding: .35rem; }


