/* Ny brand-loader (fabelaktige funn) */
.loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 250, 240, 0.95); /* lys kremtone */
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.loading-container.active {
  opacity: 1;
  pointer-events: auto;
}

/* Logo som spinner */
.loader-logo {
  width: 100px;
  height: 100px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Tekst under logo */
.loader-text {
  margin-top: 1rem;
  font-size: 1.2rem;
  color: #f29c1f;
  font-weight: bold;
  animation: pulseText 1.5s ease-in-out infinite;
}

@keyframes pulseText {
  0%,
  100% {
    opacity: 0.9;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

/* 🚀 Dashboard live data flash effect */
.dashboard-flash {
  animation: dashboardValueUpdate 0.5s ease-in-out;
}

@keyframes dashboardValueUpdate {
  0% {
    background-color: rgba(13, 110, 253, 0.2);
    transform: scale(1);
  }
  50% {
    background-color: rgba(13, 110, 253, 0.4);
    transform: scale(1.1);
  }
  100% {
    background-color: transparent;
    transform: scale(1);
  }
}
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
  }
}

/* Prikk-animasjon */
.loader-dots::after {
  content: "";
  animation: dots 1.2s steps(4, end) infinite;
}

@keyframes dots {
  0%,
  20% {
    content: "";
  }
  40% {
    content: ".";
  }
  60% {
    content: "..";
  }
  80%,
  100% {
    content: "...";
  }
}

/* End of loader */

/* Loading state på knapper */
.btn-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.7;
}

/* Spinner på knappen */
.btn-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -1.25rem;
  margin-left: -1.25rem;
  border: 3px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spinner 0.6s linear infinite, pulse 1.5s ease-in-out infinite;
  z-index: 2;
}

/* Spinner rotasjon */
@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}

/* Pulse-effekt */
@keyframes pulse {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}
/* Auction Card Styling */
.auction-card {
  border: 2px solid #f29c1f !important; /* Brand border + viktig */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: var(--bs-card-bg);
  position: relative;
  overflow: hidden;
}

/* Tydelig bunnstripe */
.auction-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px; /* Juster tykkelsen her hvis du vil ha bredere */
  background-color: #f29c1f;
}

/* Hover-effekt */
.auction-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0.5rem 1rem rgba(242, 156, 31, 0.5);
}

/* Placeholder image styling */
.auction-card img {
  object-fit: contain;
  background-color: #fff5e6;
  padding: 10px;
}

/* FontAwesome ikon farge */
.auction-card i {
  color: #d86f34;
}

/* Brand farge for tekst (tid igjen + antall bud + høyeste bud) */
.text-1ore {
  color: #f29c1f !important;
}

/* Image wrapper: fast bredde + høyde */
.image-wrapper {
  width: 100%;
  aspect-ratio: 1 / 1; /* Kvadratisk boks */
  background-color: #fff5e6; /* Bakgrunnsfargen fra før */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 10px;
  border-top-left-radius: var(--bs-border-radius-lg);
  border-top-right-radius: var(--bs-border-radius-lg);
}

/* Bildet inni wrapper */
.image-inside {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* Dark mode: Make image wrapper background darker and less bright */
[data-bs-theme="dark"] .image-wrapper {
  background-color: #2a2f38; /* Much darker background for dark mode */
}

/* Kategori-kort-stil */
.category-card {
  border: 1px solid #f29c1f;
  background-color: var(--bs-card-bg);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  color: var(--bs-body-color);
}

.category-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.5rem 1rem rgba(242, 156, 31, 0.3);
  text-decoration: none;
}

/* Ikon-farge for kategorier */
.category-card i {
  color: #d86f34;
  flex-shrink: 0;
}

.category-card span {
  font-size: 0.875rem;
  line-height: 1.2;
  white-space: normal;
  word-break: break-word;
}

.category-box {
  border: 2px solid #f7d27d !important;
  background-color: var(--bs-card-bg);
  padding: 1.5rem;
}

.filter-box {
  border: 2px solid #f7d27d;
  border-radius: var(--bs-border-radius-lg);
  background-color: var(--bs-card-bg);
  padding: 1.5rem;
}
.filter-box,
.category-box {
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
}

.hero-text-shadow {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.breadcrumb-tight {
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
  padding-top: 0.25rem !important;
}

.offcanvas-body .nav-link:active {
  background-color: rgba(
    242,
    156,
    31,
    0.15
  ); /* Brandfarge i lett transparent */
}

.btn-1ore {
  background-color: #f29c1f !important;
  border-color: #f29c1f !important;
  color: #fff !important;
}
.btn-1ore:hover,
.btn-1ore:focus {
  background-color: #d88700 !important;
  border-color: #d88700 !important;
  color: #fff !important;
}
.form-check-input:checked {
  background-color: #f29c1f;
  border-color: #f29c1f;
}

/* Gjør switch-bakgrunn oransje når aktivert */
.form-switch .form-check-input:checked {
  background-color: #f29c1f !important;
  border-color: #f29c1f !important;
}

/* For ekstra tydelighet på slider-knappen (dotten) */
.form-switch .form-check-input:checked:focus {
  box-shadow: 0 0 0 0.2rem rgba(242, 156, 31, 0.25);
}
/* Lys kremet brand-bakgrunn */
.bg-1ore-light {
  background-color: #fffaf0; /* Svært lys krem-tone, inspirert av #f29c1f */
}

.btn-1ore-contrast {
  background-color: #b85c00; /* Mørkere enn #f29c1f */
  border-color: #b85c00;
  color: #fff;
}

.btn-1ore-contrast:hover {
  background-color: #8a4600;
  border-color: #8a4600;
  color: #fff;
}

/* Mer diskret aktiv nav-pill med oransje ramme */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #fff !important;
  color: #f29c1f !important;
  border: 2px solid #f29c1f !important;
  font-weight: 600;
}
.nav-pills .nav-link {
  color: var(--bs-body-color);
  border: 2px solid transparent;
  font-weight: 500;
  transition: border 0.15s, color 0.15s, background 0.15s;
}
.nav-pills .nav-link:hover {
  border: 2px solid #f29c1f;
  color: #d88700;
  background: #fffaf0;
}
/* FOOTER STYLING */
.footer-1ore-bg {
  background-color: #fff7e6; /* Lys brand-farget bakgrunn i light mode */
  border-top: 2px solid #f29c1f; /* Brand-farge topp-border */
}

/* Dark mode: bakgrunn = samme som siden */
[data-bs-theme="dark"] .footer-1ore-bg {
  background-color: var(--bs-body-bg);
}

/* Lenker */
.footer-1ore-bg a {
  color: var(--bs-body-color); /* Følger Bootstrap-farger */
  text-decoration: none;
}

.footer-1ore-bg a:hover {
  color: #f29c1f; /* Brand hover */
}

section[id] {
  scroll-margin-top: 80px; /* juster til headerens faktiske høyde */
}

/* For auskjonskort ved ny data */
@keyframes cardHighlight {
  0% {
    background-color: #fffbe6;
  } /* lys gul */
  50% {
    background-color: #fff3c4;
  } /* litt sterkere */
  100% {
    background-color: transparent;
  }
}

.card-highlighted {
  animation: cardHighlight 1.5s ease-out;
}

@keyframes productFlash {
  0% {
    background-color: #fffbe6;
  } /* samme som kortene */
  50% {
    background-color: #fff3c4;
  }
  100% {
    background-color: transparent;
  }
}

.inline-flash {
  animation: productFlash 1.2s ease-out;
}

/* ===== AUCTION MENU CARDS ===== */
/* Status färg-indikatorer upptill på meny-korten */
.status-indicator {
  border-top-left-radius: var(--bs-border-radius-lg);
  border-top-right-radius: var(--bs-border-radius-lg);
  height: 4px;
  z-index: 2;
}

.status-leading { 
  background: linear-gradient(90deg, #0dcaf0, #0d6efd); 
}

.status-won { 
  background: linear-gradient(90deg, #198754, #20c997); 
}

.status-outbid { 
  background: linear-gradient(90deg, #ffc107, #fd7e14); 
}

.status-lost { 
  background: linear-gradient(90deg, #dc3545, #e74c3c); 
}

.status-following { 
  background: linear-gradient(90deg, #6c757d, #adb5bd); 
}

.status-upcoming { 
  background: linear-gradient(90deg, #0d6efd, #6610f2); 
}

/* Specifik styling för meny-kort - arv från vanliga auction cards */
#auctionsMenuCardsContainer .auction-card {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#auctionsMenuCardsContainer .auction-card:hover {
  transform: translateY(-2px);
}

/* Säkerställ att bilder visas korrekt i menyn */
#auctionsMenuCardsContainer .image-wrapper {
  height: 140px; /* Lite mindre än normala 200px men större än 100px */
}

/* Legacy support för gamla menu images */
.auction-menu-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  background: #fff;
  display: block;
}

/* ===== DYNAMIC BANNER SYSTEM ===== */
/* Banners with reduced height (75px vs 90px) and softened colors */
.dynamic-banner-swiper {
  border: none;
  box-shadow: none;
  position: relative;
  min-height: 75px; /* Redusert fra 90px (ca. 17% reduksjon) */
}

.dynamic-banner-swiper .swiper-slide {
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  height: auto;
  min-height: 75px; /* Redusert fra 90px */
}

.dynamic-banner-swiper .swiper-slide-active {
  opacity: 1;
}

.dynamic-banner-swiper .swiper-slide > div {
  min-height: 75px; /* Redusert fra 90px */
}

.theme-banner {
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  min-height: 75px; /* Konsistent med dynamic-banner høyde */
  margin-top: 10px; /* Avstand fra navbar */
}

/* Apply color softening to fallback banners (without swiper) */
.theme-banner > div:not(.swiper-wrapper)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.15); /* Samme dempende overlay */
  pointer-events: none;
  z-index: 1;
}

.theme-banner .container {
  position: relative;
  z-index: 2;
}

/* Modern gradient backgrounds for different banner types */
.bg-warning {
  background: linear-gradient(
    135deg,
    #f59e0b 0%,
    #f97316 50%,
    #fbbf24 100%
  ) !important;
  position: relative;
}

.bg-primary {
  background: linear-gradient(
    135deg,
    #3b82f6 0%,
    #6366f1 50%,
    #8b5cf6 100%
  ) !important;
  position: relative;
}

.bg-success {
  background: linear-gradient(
    135deg,
    #10b981 0%,
    #059669 50%,
    #34d399 100%
  ) !important;
  position: relative;
}

.bg-danger {
  background: linear-gradient(
    135deg,
    #ef4444 0%,
    #dc2626 50%,
    #f87171 100%
  ) !important;
  position: relative;
}

.bg-info {
  background: linear-gradient(
    135deg,
    #06b6d4 0%,
    #0891b2 50%,
    #67e8f9 100%
  ) !important;
  position: relative;
}

/* Subtle pattern overlay for texture and color dampening */
.theme-banner .swiper-slide > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(
      circle at 20% 80%,
      rgba(255, 255, 255, 0.15) 0%, /* Økt fra 0.1 til 0.15 for mer dempning */
      transparent 50%
    ),
    radial-gradient(
      circle at 80% 20%,
      rgba(255, 255, 255, 0.15) 0%, /* Økt fra 0.1 til 0.15 */
      transparent 50%
    );
  pointer-events: none;
}

/* Enhanced banner content styling */
.banner-content {
  position: relative;
  z-index: 2;
  padding: 1.5rem 0; /* Redusert fra 2rem */
  min-height: 75px; /* Redusert fra 90px */
  display: flex;
  align-items: center;
}

/* Banner content wrapper - gir innholdet mindre bredde så navknappene ikke overlapper */
.banner-content-wrapper {
  margin: 0 80px; /* Plass til navknappene på sidene */
}

/* Responsive adjustments for banner content wrapper */
@media (max-width: 992px) {
  .banner-content-wrapper {
    margin: 0 60px; /* Mindre margin på tablets */
  }
}

@media (max-width: 576px) {
  .banner-content-wrapper {
    margin: 0 20px; /* Minimal margin på mobil */
  }
}

.banner-icon {
  font-size: 1.75rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-right: 1rem;
  z-index: 5;
  position: relative;
}

.banner-text {
  font-size: 1.2rem;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.banner-cta {
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(4px);
  font-weight: 600;
  padding: 0.7rem 1.5rem;
  border-radius: 50px;
  transition: all 0.3s ease;
  font-size: 0.95rem;
}

.banner-cta:hover {
  background: rgba(255, 255, 255, 0.95);
  color: #1f2937 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Navigation arrows - better positioning and z-index */
.banner-nav-prev,
.banner-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 15;
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #374151;
  font-size: 1.3rem;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.banner-nav-prev:hover,
.banner-nav-next:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.25);
  color: #1f2937;
}

.banner-nav-prev {
  left: 20px;
}

.banner-nav-next {
  right: 20px;
}

/* Pagination dots */
.banner-pagination {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 10px;
}

.banner-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  opacity: 1;
  transition: all 0.3s ease;
  cursor: pointer;
}

.banner-pagination .swiper-pagination-bullet-active {
  background: rgba(255, 255, 255, 0.9);
  transform: scale(1.4);
}

/* Animation keyframes */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.banner-content {
  animation: fadeInUp 0.6s ease-out;
}

/* Enhanced focus states for accessibility */
.banner-nav-prev:focus,
.banner-nav-next:focus,
.swiper-pagination-bullet:focus {
  outline: 3px solid #3b82f6;
  outline-offset: 2px;
}

/* Loading state for banners */
.banner-loading {
  background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .dynamic-banner-swiper .d-none.d-md-inline-block {
    display: none !important;
  }

  .banner-nav-prev,
  .banner-nav-next {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }

  .banner-nav-prev {
    left: 15px;
  }

  .banner-nav-next {
    right: 15px;
  }

  .banner-content {
    padding: 1.5rem 0;
  }

  .banner-text {
    font-size: 1.05rem;
  }

  .banner-icon {
    font-size: 1.5rem;
    margin-right: 0.75rem;
  }
}

/* Hide navigation on very small screens */
@media (max-width: 480px) {
  .banner-nav-prev,
  .banner-nav-next {
    display: none;
  }

  .banner-content {
    padding: 1.25rem 0;
  }
}

/* Smooth animations */
.theme-banner * {
  transition: all 0.3s ease;
}
/* ===== END DYNAMIC BANNER SYSTEM ===== */

/* ===== BREADCRUMB HEADER BOX STYLING ===== */
/* Elegant box that combines breadcrumbs, counter, mobile button and dropdown */
.breadcrumb-header-box {
  background-color: var(--bs-card-bg);
  border: 2px solid #f7d27d;
  border-radius: var(--bs-border-radius-lg);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
}

.breadcrumb-header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.breadcrumb-left-section {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  flex: 1;
}

.breadcrumb-right-section {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* Breadcrumb styling inside the box */
.breadcrumb-header-box .breadcrumb {
  margin-bottom: 0;
  background: none;
  padding: 0;
}

.breadcrumb-header-box .breadcrumb-item > a {
  color: #6c757d;
  text-decoration: none;
  transition: color 0.2s ease;
}

.breadcrumb-header-box .breadcrumb-item > a:hover {
  color: #f29c1f;
}

.breadcrumb-header-box .breadcrumb-item.active {
  color: #f29c1f;
}

/* Results counter styling */
.results-counter {
  color: #6c757d;
  font-size: 0.9rem;
  white-space: nowrap;
}

.results-counter .fw-semibold {
  color: #f29c1f;
}

/* Mobile responsiveness */
@media (max-width: 991.98px) {
  .breadcrumb-header-box {
    padding: 0.875rem 1rem;
  }
  
  .breadcrumb-header-content {
    gap: 0.75rem;
  }
  
  .breadcrumb-left-section {
    gap: 0.75rem;
  }
  
  .breadcrumb-right-section {
    gap: 0.5rem;
  }
}

@media (max-width: 767.98px) {
  .breadcrumb-header-box {
    padding: 0.75rem;
  }
  
  .breadcrumb-header-content {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  
  .breadcrumb-left-section {
    justify-content: space-between;
    gap: 0.5rem;
  }
  
  .breadcrumb-right-section {
    justify-content: space-between;
    width: 100%;
  }
}

/* ===== CHOICES.JS STYLING ===== */
/* Add 1øre branding and mobile flexbox layout for Cartzilla's Choices.js */

/* Main container flexbox properties - critical for mobile layout */
.breadcrumb-header-box .choices {
  flex: 2 !important;
  min-width: 120px !important;
  width: auto !important;
}

.breadcrumb-header-box .choices__inner {
  border-color: #f7d27d;
  min-height: 38px !important;
}

.breadcrumb-header-box .choices.is-focused .choices__inner {
  border-color: #f29c1f;
  box-shadow: 0 0 0 0.2rem rgba(242, 156, 31, 0.25);
}

.breadcrumb-header-box .choices__item--choice.is-highlighted {
  background-color: #fff5e6;
  color: #f29c1f;
}

/* Mobile specific sizing to match Bootstrap flex classes */
@media (max-width: 767.98px) {
  .breadcrumb-header-box .choices {
    flex: 2 !important;
    min-width: 120px !important;
    max-width: none !important;
  }
  
  /* Ensure the category button stays smaller */
  .breadcrumb-right-section .btn {
    flex: 1 !important;
    min-width: 0 !important;
  }
}

/* Desktop specific sizing for wider dropdown */
@media (min-width: 768px) {
  .breadcrumb-header-box .choices {
    flex: 1 !important;
    min-width: 200px !important;
    max-width: 300px !important;
  }
  
  /* Category button can be wider on desktop */
  .breadcrumb-right-section .btn {
    flex: 0 0 auto !important;
    min-width: 120px !important;
  }
}

/* ===== FORM-SELECT STYLING FOR BREADCRUMB HEADER ===== */
/* Enhanced styling for standard form-select dropdowns in the header box */
.breadcrumb-header-box .form-select.custom-header-select {
  min-width: 200px !important;
  /* Override Cartzilla defaults with 1øre styling */
  border: 1px solid #cad0d9 !important;
  border-radius: 0.5rem !important;
  background-color: #fff !important;
  font-size: 0.875rem !important;
  color: #4b5563 !important;
  padding: 0.53rem 2.25rem 0.53rem 1rem !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
  
  /* Keep Cartzilla's dropdown arrow but make it orange */
  --cz-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f29c1f' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-image: var(--cz-form-select-bg-img), var(--cz-form-select-bg-icon, none) !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 15px 11px !important;
}

.breadcrumb-header-box .form-select.custom-header-select:focus,
.breadcrumb-header-box .form-select.custom-header-select:hover {
  border-color: #f29c1f !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(242, 156, 31, 0.25) !important;
  outline: 0 !important;
}

/* Mobile responsiveness for form-select */
@media (max-width: 767.98px) {
  .breadcrumb-header-box .form-select.custom-header-select {
    min-width: 120px !important;
    flex: 1 !important;
  }
}

/* ===== DROPDOWN MENU STYLING ===== */
/* Style the actual dropdown options that appear when clicking */
.breadcrumb-header-box .form-select.custom-header-select option {
  background-color: #fff !important;
  color: #333 !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.875rem !important;
  border: none !important;
  border-radius: 0 !important;
}

.breadcrumb-header-box .form-select.custom-header-select option:hover,
.breadcrumb-header-box .form-select.custom-header-select option:focus {
  background-color: #fff5e6 !important;
  color: #f29c1f !important;
}

.breadcrumb-header-box .form-select.custom-header-select option:checked,
.breadcrumb-header-box .form-select.custom-header-select option:selected {
  background-color: #f29c1f !important;
  color: #fff !important;
  font-weight: 500 !important;
}

/* Alternative approach for better cross-browser dropdown styling */
@supports (-webkit-appearance: none) {
  .breadcrumb-header-box .form-select.custom-header-select {
    /* Enhanced dropdown appearance for WebKit browsers */
    background-color: #fff !important;
    background-image: var(--cz-form-select-bg-img), 
                      linear-gradient(to bottom, #fff 0%, #f8f9fa 100%) !important;
  }
  
  .breadcrumb-header-box .form-select.custom-header-select:focus {
    background-image: var(--cz-form-select-bg-img), 
                      linear-gradient(to bottom, #fffbf5 0%, #fff5e6 100%) !important;
  }
}

/* ===== END BREADCRUMB HEADER BOX STYLING ===== */

/* ===== NAVBAR FIXES ===== */
/* Fix navbar height to properly contain logo and add 1øre styling */
.navbar {
  min-height: 72px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  box-shadow: 0 2px 8px rgba(242, 156, 31, 0.1) !important;
}

/* Ensure navbar container inherits background properly */
.navbar .container {
  background: inherit;
  position: relative;
  z-index: 1;
}

/* Move logo up slightly to compensate for reduced navbar height */
.navbar-brand {
  margin-top: -0.25rem;
}

/* Fix navbar nav-link hover/focus states for dark mode */
.navbar .nav-link.rounded:hover,
.navbar .nav-link.rounded:focus {
  background-color: rgba(242, 156, 31, 0.1) !important; /* Brand color background */
  color: var(--cz-nav-link-hover-color) !important;
}

/* Dark mode specific navbar nav-link fixes */
[data-bs-theme="dark"] .navbar .nav-link.rounded:hover,
[data-bs-theme="dark"] .navbar .nav-link.rounded:focus {
  background-color: rgba(242, 156, 31, 0.15) !important; /* Slightly more visible in dark */
  color: #ffffff !important; /* White text for contrast */
}

/* Ensure dropdown toggles also follow the same pattern */
.navbar .nav-link.dropdown-toggle.rounded:hover,
.navbar .nav-link.dropdown-toggle.rounded:focus {
  background-color: rgba(242, 156, 31, 0.1) !important;
}

[data-bs-theme="dark"] .navbar .nav-link.dropdown-toggle.rounded:hover,
[data-bs-theme="dark"] .navbar .nav-link.dropdown-toggle.rounded:focus {
  background-color: rgba(242, 156, 31, 0.15) !important;
  color: #ffffff !important;
}

/* Ensure proper spacing after navbar */
.navbar + * {
  margin-top: 0 !important;
}

/* Add bottom border to navbar using brand color */
.navbar.sticky-top {
  border-bottom: var(--cz-border-width) solid #f29c1f;
}

/* ===== END NAVBAR FIXES ===== */

/* ===== TOAST IMPROVEMENTS - BRAND COLORS & SIZING ===== */

/* Toast container - högre z-index och bättre position */
#toastContainer {
  top: 20px !important;
  z-index: 1100 !important;
  max-width: 450px !important;
}

/* Toast styling med brand colors */
.toast {
  --cz-toast-max-width: 450px !important;
  min-width: 400px !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  border: 2px solid #f29c1f !important; /* Brand border */
}

/* Toast styling */
.toast.show {
  opacity: 1 !important;
  display: block !important;
}

/* Toast header med brand colors */
.toast-header {
  background-color: #f29c1f !important; /* Brand background */
  color: white !important;
  border-bottom: none !important;
  padding: 1rem !important; /* Större padding */
}

/* Error toast - röd header istället för brand orange */
.error-toast .toast-header {
  background-color: #dc3545 !important; /* Bootstrap red för errors */
}

/* Warning toast - behåll orange men mörkare nyans */
.warning-toast .toast-header {
  background-color: #fd7e14 !important; /* Bootstrap orange för warnings */
}

/* Success toast - grön header för bättre kontrast med grön ikon */
.success-toast .toast-header {
  background-color: #28a745 !important; /* Grön header för success */
}

.toast-header .fw-semibold {
  font-size: 1.1rem !important; /* Större titel */
  font-weight: 600 !important;
}

.toast-header .text-body-secondary {
  color: rgba(255, 255, 255, 0.8) !important; /* Ljusare tid på brand bakgrund */
}

/* STÖRRE OCH TYDLIGARE STÄNG-KNAPP */
.toast-header .btn-close {
  filter: brightness(0) invert(1) !important; /* Vit close-knapp */
  width: 1.5rem !important; /* Större bredd */
  height: 1.5rem !important; /* Större höjd */
  font-size: 1.2rem !important; /* Större X */
  opacity: 0.9 !important; /* Mer synlig */
  margin: 0 !important; /* Ta bort margin */
  padding: 0.5rem !important; /* Mer klickyta */
}

.toast-header .btn-close:hover {
  opacity: 1 !important; /* Full opacity vid hover */
  transform: scale(1.1) !important; /* Lite större vid hover */
}

/* Toast body - större text och padding */
.toast-body {
  padding: 1.2rem !important; /* Större padding */
  font-size: 1rem !important; /* Större text */
  line-height: 1.5 !important; /* Bättre radavstånd */
  background-color: #fff !important;
}

/* Toast icons med brand colors */
.toast-header .ci-check-circle {
  color: white !important; /* Vit success-ikon på grön bakgrund */
}

.toast-header .ci-bell {
  color: white !important; /* Vit ikon på brand bakgrund */
}

.toast-header .ci-info-circle {
  color: white !important; /* Vit info-ikon */
}

/* Confirm toast styling */
#confirmToastContainer {
  min-width: 450px !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  border: 2px solid #f29c1f !important;
}

#confirmToastContainer .toast-header {
  background-color: #f29c1f !important;
  color: white !important;
}

#confirmToastContainer .btn-primary {
  background-color: #f29c1f !important;
  border-color: #f29c1f !important;
}

#confirmToastContainer .btn-secondary {
  background-color: #495057 !important; /* Mörkare grå istället för ljusgrå */
  border-color: #495057 !important;
  color: white !important;
}

#confirmToastContainer .btn-secondary:hover {
  background-color: #343a40 !important; /* Ännu mörkare vid hover */
  border-color: #343a40 !important;
}

/* ===== PHOTOSWIPE BRAND CUSTOMIZATION ===== */

/* PhotoSwipe Button Styling - Brand Colors */
.pswp__button {
  background-color: rgba(242, 156, 31, 0.3) !important; /* Increased opacity for better contrast */
  border: 2px solid #f29c1f !important; /* Brand border */
  border-radius: 8px !important; /* Rounded corners */
  color: #f29c1f !important; /* Brand color for icons */
  transition: all 0.3s ease !important;
  backdrop-filter: blur(2px) !important; /* Add blur for better separation */
}

.pswp__button:hover {
  background-color: rgba(242, 156, 31, 0.5) !important; /* More opaque on hover */
  border-color: #d4831a !important; /* Darker border on hover */
  color: #d4831a !important;
  transform: scale(1.05) !important; /* Slight scale on hover */
}

.pswp__button:active {
  background-color: rgba(242, 156, 31, 0.6) !important; /* Even more opaque when pressed */
  transform: scale(0.95) !important; /* Press effect */
}

/* Close Button (X) */
.pswp__button--close {
  background-color: rgba(242, 156, 31, 0.4) !important; /* More visible for important close button */
  border: 2px solid #f29c1f !important;
}

/* Zoom In/Out Buttons */
.pswp__button--zoom,
.pswp__button--zoom-out {
  background-color: rgba(242, 156, 31, 0.3) !important;
  border: 2px solid #f29c1f !important;
}

/* Arrow Navigation Buttons */
.pswp__button--arrow {
  background-color: rgba(242, 156, 31, 0.3) !important;
  border: 2px solid #f29c1f !important;
  width: 50px !important; /* Make arrows bigger */
  height: 50px !important;
}

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background-color: rgba(242, 156, 31, 0.3) !important;
  border: 2px solid #f29c1f !important;
}

/* Counter Text (e.g., "1 of 5") */
.pswp__counter {
  background-color: rgba(242, 156, 31, 0.4) !important; /* More opaque for readability */
  border: 2px solid #f29c1f !important;
  border-radius: 20px !important;
  color: #f29c1f !important;
  font-weight: bold !important;
  padding: 4px 12px !important;
  font-size: 14px !important;
  backdrop-filter: blur(2px) !important; /* Add blur for text readability */
}

/* Loading indicator */
.pswp__preloader {
  color: #f29c1f !important;
}

/* Make buttons more visible on mobile */
@media (max-width: 768px) {
  .pswp__button {
    background-color: rgba(242, 156, 31, 0.4) !important; /* Even more visible on mobile */
    border-width: 3px !important; /* Thicker border */
    min-width: 44px !important; /* Touch-friendly size */
    min-height: 44px !important;
  }
  
  .pswp__button--arrow {
    width: 55px !important;
    height: 55px !important;
  }
}

/* Dark mode adjustments */
[data-bs-theme="dark"] .pswp__button {
  background-color: rgba(242, 156, 31, 0.4) !important; /* More opaque in dark mode */
  border-color: #f29c1f !important;
  color: #f29c1f !important;
}

[data-bs-theme="dark"] .pswp__counter {
  background-color: rgba(242, 156, 31, 0.5) !important; /* More opaque for dark mode readability */
  color: #f29c1f !important;
}

/* ===== END PHOTOSWIPE CUSTOMIZATION ===== */

/* ===== PRODUCT PAGE DESCRIPTION FADE FIX ===== */

/* Fix description fade gradient for dark/light theme compatibility */
#descriptionFade {
  background: linear-gradient(to bottom, transparent, var(--cz-body-bg)) !important;
}

/* Product description toggle button styling */
#viewProductDescriptionToggle {
  text-decoration: none !important;
}

#viewProductDescriptionToggle:hover {
  text-decoration: underline !important;
}

/* Ensure proper fade in both themes */
[data-bs-theme="light"] #descriptionFade {
  background: linear-gradient(to bottom, transparent, #fff) !important;
}

[data-bs-theme="dark"] #descriptionFade {
  background: linear-gradient(to bottom, transparent, var(--cz-dark-bg, #181d25)) !important;
}

/* ===== END PRODUCT PAGE FIXES ===== */

/* ===== MYPAGES NAVIGATION CARDS ===== */

/* Navigation cards styling */
.nav-card-btn {
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    background-color: #fff !important;
    border: 1px solid #e9ecef !important;
}

.nav-card-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    border-color: #f29c1f !important;
}

.nav-card-btn.active {
    background-color: #fffaf0 !important; /* Lys krem-tone som brukes andre steder */
    border: 2px solid #f29c1f !important; /* Brand orange border */
}

.nav-card-btn.active i,
.nav-card-btn.active .h6,
.nav-card-btn.active .fs-xs {
    color: #f29c1f !important; /* Brand orange tekst */
}

.nav-card-btn:not(.active) i,
.nav-card-btn:not(.active) .h6,
.nav-card-btn:not(.active) .fs-xs {
    color: #6c757d !important; /* Standard muted gray */
}

.nav-active-indicator {
    height: 4px;
    background: linear-gradient(90deg, #f29c1f, #e6941c); /* Brand orange gradient */
    border-radius: 2px 2px 0 0;
}

.nav-card-btn.active .nav-active-indicator {
    display: block !important;
}

/* Content sections */
.content-section {
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== END MYPAGES NAVIGATION CARDS ===== */

/* ===== BOOTSTRAP SORTING DROPDOWN STYLING ===== */
/* Make Bootstrap dropdown look like form-select */
.sorting-dropdown-btn {
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    color: #495057;
    font-size: 1rem;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    border-radius: 0.375rem;
    font-weight: 400;
    line-height: 1.5;
    appearance: none;
    min-width: 200px; /* Increased minimum width for longer text */
}

.sorting-dropdown-btn:focus,
.sorting-dropdown-btn:focus-visible {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    background-color: #fff;
    color: #495057;
    outline: 0;
}

.sorting-dropdown-btn:hover {
    background-color: #f8f9fa;
    border-color: #ced4da;
    color: #495057;
}

.sorting-dropdown-btn:active,
.sorting-dropdown-btn.show {
    background-color: #e9ecef;
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* Remove default Bootstrap dropdown arrow */
.sorting-dropdown-btn::after {
    display: none;
}

.sorting-dropdown-btn .dropdown-text {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: block;
    width: calc(100% - 2.5rem); /* More space for text - account for padding and arrow */
    font-size: 1rem;
    line-height: 1.5;
}

/* Responsive dropdown container */
@media (min-width: 768px) {
    .dropdown.flex-grow-1 {
        min-width: 220px !important; /* Much wider for desktop */
        max-width: 220px; /* Lock width to prevent changing */
    }
    
    .sorting-dropdown-btn {
        min-width: 220px;
        max-width: 220px; /* Fixed width for consistent appearance */
    }
}

@media (max-width: 767px) {
    .dropdown.flex-grow-1 {
        min-width: 215px !important; /* Increased by 25px - good balance */
        max-width: 215px;
    }
    
    .sorting-dropdown-btn {
        min-width: 215px;
        max-width: 215px;
        font-size: 0.9rem;
    }
}

/* Style dropdown menu */
.sorting-dropdown-btn + .dropdown-menu {
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    padding: 0.5rem 0;
    margin: 0.125rem 0 0;
    min-width: 100%;
}

.sorting-dropdown-btn + .dropdown-menu .dropdown-item {
    padding: 0.375rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #212529;
    text-decoration: none;
    background-color: transparent;
    border: 0;
    display: block;
    width: 100%;
    clear: both;
    font-weight: 400;
    white-space: nowrap;
}

.sorting-dropdown-btn + .dropdown-menu .dropdown-item:hover,
.sorting-dropdown-btn + .dropdown-menu .dropdown-item:focus {
    background-color: #e9ecef;
    color: #1e2125;
}

.sorting-dropdown-btn + .dropdown-menu .dropdown-item.active {
    background-color: #0d6efd;
    color: #fff;
}

.sorting-dropdown-btn + .dropdown-menu .dropdown-item.active:hover,
.sorting-dropdown-btn + .dropdown-menu .dropdown-item.active:focus {
    background-color: #0b5ed7;
    color: #fff;
}

/* ===== END BOOTSTRAP SORTING DROPDOWN STYLING ===== */

/* ===== CHECKOUT PROGRESS INDICATOR STYLING ===== */
.checkout-progress {
    margin-bottom: 1rem;
}

.checkout-steps {
    position: relative;
    padding: 0;
    margin: 0;
}

.checkout-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
}

.checkout-step-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #e9ecef;
    border: 2px solid #dee2e6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    font-size: 14px;
    transition: all 0.3s ease;
}

.checkout-step.active .checkout-step-circle {
    background-color: #198754;
    border-color: #198754;
    color: white;
}

.checkout-step.completed .checkout-step-circle {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: white;
}

.checkout-step-label {
    font-size: 11px;
    margin-top: 0.5rem;
    text-align: center;
    color: #6c757d;
    font-weight: 500;
}

.checkout-step.active .checkout-step-label {
    color: #198754;
    font-weight: 600;
}

.checkout-step.completed .checkout-step-label {
    color: #0d6efd;
    font-weight: 600;
}

.checkout-progress-line {
    flex: 1;
    height: 2px;
    background-color: #dee2e6;
    margin: 0 8px;
    position: relative;
    top: -20px;
    z-index: 1;
    transition: background-color 0.3s ease;
}

.checkout-progress-line.completed {
    background-color: #0d6efd;
}

/* Responsive adjustments for checkout progress */
@media (max-width: 576px) {
    .checkout-step-circle {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
    
    .checkout-step-label {
        font-size: 10px;
    }
    
    .checkout-progress-line {
        margin: 0 4px;
        top: -16px;
    }
}
/* ===== END CHECKOUT PROGRESS INDICATOR STYLING ===== */

/* ===== CHECKOUT DELIVERY SELECTION STYLING ===== */

/* Step content containers */
.checkout-step-content {
    width: 100%;
}

/* Delivery option cards */
.delivery-option-radio:checked + label .card-body {
    background-color: rgba(25, 135, 84, 0.1) !important;
    border-color: #198754 !important;
}

.delivery-option-radio:checked + label {
    cursor: pointer;
}

.delivery-option-radio + label {
    cursor: pointer;
    transition: all 0.2s ease;
}

.delivery-option-radio + label:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1) !important;
}

/* Delivery totals display */
#checkoutDeliveryTotalsDisplay {
    border: 1px solid rgba(0, 0, 0, 0.125);
    background-color: #f8f9fa;
}

/* Delivery method info */
#checkoutDeliveryMethodInfo {
    padding: 0.75rem;
    background-color: rgba(13, 110, 253, 0.1);
    border-radius: 0.375rem;
    border-left: 4px solid #0d6efd;
}

/* Responsive adjustments for delivery selection */
@media (max-width: 768px) {
    .checkout-step-content .col-md-6 {
        margin-bottom: 1rem;
    }
    
    #checkoutDeliveryTotalsDisplay {
        margin-top: 1.5rem;
    }
}

/* ===== END CHECKOUT DELIVERY SELECTION STYLING ===== */

/* ===== WAREHOUSE PRINT OPTIMIZATION ===== */
/**
 * Print optimization for warehouse expedition lists
 * Part of 1øre Warehouse Module - DataTables print optimization
 */

@media print {
  /* Hide unnecessary elements during print */
  .navbar,
  .sidebar,
  .btn,
  .card-header,
  .dt-buttons,
  .dataTables_filter,
  .dataTables_length,
  .dataTables_paginate,
  .dataTables_info,
  .pagination,
  .modal-header,
  .modal-footer,
  .no-print {
    display: none !important;
  }
  
  /* Optimize layout for print */
  body {
    font-size: 12pt !important;
    line-height: 1.3 !important;
    color: #000 !important;
    background: white !important;
  }
  
  .container,
  .container-fluid {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .card {
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
  }
  
  .card-body {
    padding: 0 !important;
  }
  
  /* Print header */
  .print-header {
    display: block !important;
    text-align: center;
    margin-bottom: 20pt;
    border-bottom: 2pt solid #333;
    padding-bottom: 10pt;
  }
  
  .print-header h1 {
    font-size: 18pt !important;
    margin: 0 !important;
    font-weight: bold;
  }
  
  .print-header .print-date {
    font-size: 10pt;
    color: #666;
    margin-top: 5pt;
  }
  
  /* Optimize table for print */
  .table {
    font-size: 10pt !important;
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 0 !important;
  }
  
  .table th,
  .table td {
    border: 1pt solid #333 !important;
    padding: 4pt 6pt !important;
    vertical-align: top !important;
  }
  
  .table th {
    background-color: #f0f0f0 !important;
    font-weight: bold !important;
    text-align: center !important;
  }
  
  /* Hide checkbox column in print */
  .table th:first-child,
  .table td:first-child {
    display: none !important;
  }
  
  /* Hide actions column in print */
  .table th:last-child,
  .table td:last-child {
    display: none !important;
  }
  
  /* Optimize column widths for warehouse shipping tables */
  #warehouseShippingTable th:nth-child(2), 
  #warehouseShippingTable td:nth-child(2) {
    width: 10% !important;
    white-space: nowrap !important;
  }
  
  #warehouseShippingTable th:nth-child(3), 
  #warehouseShippingTable td:nth-child(3) {
    width: 25% !important;
  }
  
  #warehouseShippingTable th:nth-child(4), 
  #warehouseShippingTable td:nth-child(4) {
    width: 25% !important;
  }
  
  #warehouseShippingTable th:nth-child(5), 
  #warehouseShippingTable td:nth-child(5) {
    width: 15% !important;
  }
  
  #warehouseShippingTable th:nth-child(6), 
  #warehouseShippingTable td:nth-child(6) {
    width: 30% !important;
  }
  
  #warehouseShippingTable th:nth-child(7), 
  #warehouseShippingTable td:nth-child(7) {
    width: 10% !important;
    text-align: center !important;
  }
  
  #warehouseShippingTable th:nth-child(8), 
  #warehouseShippingTable td:nth-child(8) {
    width: 12% !important;
    white-space: nowrap !important;
  }
  
  /* Page breaks */
  .page-break {
    page-break-before: always !important;
  }
  
  .avoid-break {
    page-break-inside: avoid !important;
  }
  
  /* Print footer */
  .print-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 8pt;
    color: #666;
    border-top: 1pt solid #333;
    padding-top: 5pt;
  }
  
  /* Status badges optimization */
  .badge {
    background-color: transparent !important;
    color: #000 !important;
    border: 1pt solid #333 !important;
    padding: 2pt 4pt !important;
    font-size: 8pt !important;
  }
  
  /* Remove DataTables wrapper styling */
  .dataTables_wrapper {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Optimize for A4 landscape */
  @page {
    size: A4 landscape;
    margin: 1cm;
  }
}

/* Print preview modal styling */
.print-preview {
  background: white;
  padding: 20px;
  font-family: 'Times New Roman', serif;
}

.print-preview .print-header {
  text-align: center;
  margin-bottom: 20px;
  border-bottom: 2px solid #333;
  padding-bottom: 10px;
}

.print-preview .print-header h1 {
  font-size: 24px;
  margin: 0;
  font-weight: bold;
}

.print-preview .print-date {
  font-size: 12px;
  color: #666;
  margin-top: 5px;
}

.print-preview .table {
  font-size: 11px;
  border-collapse: collapse;
  width: 100%;
}

.print-preview .table th,
.print-preview .table td {
  border: 1px solid #333;
  padding: 5px 8px;
  vertical-align: top;
}

.print-preview .table th {
  background-color: #f0f0f0;
  font-weight: bold;
  text-align: center;
}

/* Hide elements that shouldn't appear in print preview */
.print-preview .btn,
.print-preview .checkbox-column,
.print-preview .actions-column {
  display: none;
}

/* ===== WAREHOUSE COMPACT STYLING ===== */
/* Make warehouse pages more compact to match admin pages */
.warehouse-compact {
    font-size: 0.875rem;
}

.warehouse-compact .card-body {
    padding: 0.75rem;
}

.warehouse-compact .form-control,
.warehouse-compact .form-select {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
}

.warehouse-compact .btn {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
}

.warehouse-compact .btn-sm {
    font-size: 0.8125rem;
    padding: 0.25rem 0.5rem;
}

.warehouse-compact table {
    font-size: 0.875rem;
}

.warehouse-compact .table th,
.warehouse-compact .table td {
    padding: 0.5rem;
    vertical-align: middle;
}

.warehouse-compact .nav-tabs .nav-link {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
}

.warehouse-compact .badge {
    font-size: 0.75rem;
}

.warehouse-compact h1, .warehouse-compact h2, .warehouse-compact h3,
.warehouse-compact h4, .warehouse-compact h5, .warehouse-compact h6 {
    font-size: calc(1rem + 0.25vw);
}

.warehouse-compact .card-title {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.warehouse-compact .alert {
    font-size: 0.875rem;
    padding: 0.75rem;
}

/* ===== END WAREHOUSE COMPACT STYLING ===== */

/* ===== END WAREHOUSE PRINT OPTIMIZATION ===== */

/* ===== COOKIE CONSENT BANNER STYLING ===== */

/* Main banner container - sticky at bottom */
.cookie-consent-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    border-top: 3px solid #f29c1f;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 1040;
    animation: slideUpBanner 0.5s ease-out;
}

@keyframes slideUpBanner {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Cookie icon subtle bounce */
.cookie-consent-banner .fa-cookie-bite {
    animation: cookieBounce 2s ease-in-out infinite;
}

@keyframes cookieBounce {
    0%, 100% {
        transform: rotate(0deg) scale(1);
    }
    50% {
        transform: rotate(-5deg) scale(1.05);
    }
}

/* Text styling */
.cookie-consent-banner .text-1ore {
    color: #f29c1f;
    font-weight: 600;
}

.cookie-consent-banner .text-1ore:hover {
    color: #d86f34;
    text-decoration: underline !important;
}

/* Primary button (Godta alle) - 1øre branded */
.cookie-consent-banner .btn-1ore {
    background: linear-gradient(135deg, #f29c1f 0%, #d86f34 100%);
    border: none;
    color: white;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
    transition: all 0.2s ease;
}

.cookie-consent-banner .btn-1ore:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(242, 156, 31, 0.4);
    background: linear-gradient(135deg, #d86f34 0%, #f29c1f 100%);
    color: white;
}

.cookie-consent-banner .btn-1ore:active,
.cookie-consent-banner .btn-1ore:focus {
    background: linear-gradient(135deg, #f29c1f 0%, #d86f34 100%);
    color: white;
    box-shadow: 0 0 0 0.25rem rgba(242, 156, 31, 0.25);
}

/* Secondary button (Kun nødvendige) - smaller and subtle */
.cookie-consent-banner .btn-outline-secondary {
    border-color: #adb5bd;
    color: #6c757d;
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    transition: all 0.2s ease;
}

.cookie-consent-banner .btn-outline-secondary:hover {
    background-color: #6c757d;
    border-color: #6c757d;
    color: white;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .cookie-consent-banner .row {
        text-align: center;
    }
    
    .cookie-consent-banner .d-flex.gap-2 {
        flex-direction: column;
    }
    
    .cookie-consent-banner .btn {
        width: 100%;
    }
    
    .cookie-consent-banner .btn-sm {
        font-size: 0.875rem;
    }
}

@media (max-width: 576px) {
    .cookie-consent-banner {
        border-top-width: 2px;
    }
    
    .cookie-consent-banner .fa-cookie-bite {
        font-size: 1.25rem !important;
    }
    
    .cookie-consent-banner p {
        font-size: 0.95rem;
    }
    
    .cookie-consent-banner small {
        font-size: 0.8rem;
    }
}

/* ===== END COOKIE CONSENT BANNER STYLING ===== */

/* ===== ADMIN ECONOMY HUB STYLING ===== */
/* Follows naming convention: [module][Action][Target] = adminEconomy* */

.adminEconomyTitle {
    font-size: 1.6rem;
    font-weight: 600;
}

.adminEconomySubtitle {
    font-size: 0.9rem;
}

.adminEconomyPeriodBadge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    font-size: 0.85rem;
}

.adminEconomyPeriodBadge .label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 500;
    color: #6c757d;
}

.adminEconomyPeriodBadge .value {
    font-weight: 600;
    color: #111827;
}

.adminEconomyOverviewCard {
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
}

.adminEconomyOverviewIcon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: linear-gradient(135deg, #111827, #374151);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 0.9rem;
}

.adminEconomyOverviewTitle {
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.adminEconomyOverviewSubtitle {
    font-size: 0.9rem;
}

.adminEconomyStatCard {
    padding: 0.9rem 1rem;
    border-radius: 0.9rem;
    text-align: left;
    border: 1px solid rgba(148, 163, 184, 0.35);
}

.adminEconomyStatLabel {
    font-size: 0.75rem;
    font-weight: 500;
    color: #6c757d;
    margin-bottom: 0.25rem;
}

.adminEconomyStatValue {
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 0.1rem;
}

.adminEconomyStatMeta {
    font-size: 0.75rem;
    color: #6c757d;
}

.adminEconomyKpiLabel {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6c757d;
    margin-bottom: 0.3rem;
}

.adminEconomyKpiValue {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 0.1rem;
}

.adminEconomyKpiMeta {
    font-size: 0.75rem;
    color: #6c757d;
}

.adminEconomyKpiRow .card {
    border-radius: 0.9rem;
    border-width: 1px;
}

.adminEconomyKpiRow .card-body {
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
}

.adminEconomyKpiRow .btn {
    font-size: 0.75rem;
}
/* ===== END ADMIN ECONOMY HUB STYLING ===== */
