/* app-extra.css stub: legacy CI expectation satisfied. */
/* Provide minimal namespace to avoid accidental overrides. */
/* app-extra.css stub: legacy CI expectation satisfied. */

/* Minimal placeholder; remove once CI no longer expects this legacy file. */
.ci-legacy-app-extra-stub { display: contents; }

/* Cookie settings modal styles */
#cookie-settings-modal.cookie-settings-hidden {
   display: none;
}

#cookie-settings-modal {
   position: fixed;
   inset: 0;
   z-index: 3000;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   padding: 3rem 1rem;
   overflow-y: auto;
}

.cookie-settings-backdrop {
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.55);
   -webkit-backdrop-filter: blur(2px);
   backdrop-filter: blur(2px);
}

.cookie-settings-dialog {
   position: relative;
   background: var(--surface-card, #ffffff);
   color: var(--text-primary, var(--bs-dark));
   width: 100%;
   max-width: 640px;
   border-radius: 12px;
   box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
   display: flex;
   flex-direction: column;
   animation: cookieModalIn .3s ease;
}

.cookie-settings-header {
   padding: 1rem 1.25rem;
   border-bottom: 1px solid var(--bs-border-color, #dee2e6);
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.cookie-settings-body {
   padding: 1rem 1.25rem 0.5rem;
   max-height: 70vh;
   overflow-y: auto;
}

.cookie-settings-footer {
   padding: 0.75rem 1.25rem 1.25rem;
   border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.cookie-settings-close {
   background: none;
   border: none;
   font-size: 1.5rem;
   line-height: 1;
   cursor: pointer;
   color: var(--text-muted, var(--bs-secondary));
}

.cookie-settings-close:hover {
   color: var(--text-primary, var(--bs-dark));
}

.cookie-group legend {
   margin-bottom: .25rem;
}

.cookie-group p {
   margin-bottom: .5rem;
}

@media (prefers-reduced-motion: reduce) {
   .cookie-settings-dialog {
      animation: none;
   }
}

@keyframes cookieModalIn {
   from {
      opacity: 0;
      transform: translateY(10px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

[data-theme="dark"] #cookie-settings-modal .cookie-settings-dialog {
   background: var(--surface-card, #1a1f2e);
   color: var(--text-primary, #f7fafc);
}

[data-theme="dark"] #cookie-settings-modal .cookie-settings-header,
[data-theme="dark"] #cookie-settings-modal .cookie-settings-footer {
   border-color: var(--bs-border-color, #4a5568);
}

[data-theme="dark"] #cookie-settings-modal .text-muted {
   color: var(--text-muted, #a0aec0) !important;
}

/* Full-screen admin modal overlay styles */
.admin-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   z-index: 9999;
   display: flex;
   align-items: center;
   justify-content: center;
   pointer-events: auto;
}

.admin-overlay.admin-hidden {
   display: none !important;
   pointer-events: none !important;
   visibility: hidden !important;
}

.admin-backdrop {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.7);
   -webkit-backdrop-filter: blur(8px);
   backdrop-filter: blur(8px);
}

.admin-modal-container {
   position: relative;
   z-index: 10000;
   animation: 0.3s ease-out 0s 1 normal none running adminFadeIn;
}

@keyframes adminFadeIn {
   0% {
      opacity: 0;
      transform: scale(0.9);
   }

   100% {
      opacity: 1;
      transform: scale(1);
   }
}

.admin-modal-content {
   background: var(--surface-card, #ffffff);
   border-radius: 12px;
   box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 40px;
   width: 400px;
   max-width: 90vw;
   overflow: hidden;
}

.admin-modal-header {
   padding: 24px 24px 16px;
   border-bottom: 1px solid var(--bs-border-color, #dee2e6);
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.admin-modal-title {
   margin: 0;
   font-size: 1.5rem;
   font-weight: 600;
   color: var(--text-primary, var(--bs-dark));
}

.admin-close-btn {
   background: none;
   border: none;
   font-size: 24px;
   cursor: pointer;
   color: var(--text-muted, var(--bs-secondary));
   padding: 0;
   width: 32px;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 6px;
   transition: background-color .2s;
}

.admin-modal-body {
   padding: 24px;
}

.admin-form-group {
   margin-bottom: 20px;
}

.admin-form-label {
   display: block;
   margin-bottom: 8px;
   font-weight: 500;
   color: var(--text-primary, var(--bs-dark));
}

.admin-form-input {
   width: 100%;
   padding: 12px 16px;
   border: 2px solid var(--bs-border-color, #dee2e6);
   border-radius: 8px;
   font-size: 16px;
   transition: border-color .2s, box-shadow .2s;
   background: var(--bg-primary, #ffffff);
   color: var(--text-primary, var(--bs-dark));
   box-sizing: border-box;
}

.admin-error {
   background: rgba(220, 53, 69, 0.1);
   border: 1px solid rgb(220, 53, 69);
   color: rgb(114, 28, 36);
   padding: 12px;
   border-radius: 6px;
   margin-top: 12px;
   font-size: 14px;
}

.admin-modal-footer {
   padding: 16px 24px 24px;
   display: flex;
   gap: 12px;
   justify-content: flex-end;
}

.admin-btn {
   padding: 10px 20px;
   border: none;
   border-radius: 6px;
   font-weight: 500;
   cursor: pointer;
   transition: 0.2s;
   font-size: 14px;
}

.admin-btn-secondary {
   background: var(--bs-gray-100, var(--bs-light));
   color: var(--text-primary, var(--bs-dark));
}

.admin-btn-primary {
   background: var(--primary, var(--eihdah-primary));
   color: var(--text-inverse);
}

/* -------------------------------------------------------------
   Chat bubble, dark-mode navbar improvements, hero overlay
   ------------------------------------------------------------- */
.chat-bubble {
   position: fixed;
   right: max(18px, env(safe-area-inset-right));
   bottom: max(18px, env(safe-area-inset-bottom));
   z-index: 2147483000;
   width: 56px;
   height: 56px;
   border-radius: 9999px;
   background: linear-gradient(180deg, #2563eb, #1d4ed8);
   box-shadow: 0 10px 30px rgba(0, 0, 0, .45)
}

[data-theme="dark"] .chat-bubble {
   box-shadow: 0 10px 30px rgba(0, 0, 0, .65)
}

@media (max-width:420px) {
   .chat-bubble {
      right: 12px;
      bottom: 12px;
      width: 52px;
      height: 52px
   }
}

:root[data-theme="dark"] {
   --color-text-primary: #e5e7eb;
   --color-text-muted: #9ca3af;
   --color-nav-bg: #0b1220
}

[data-theme="dark"] .navbar,
[data-theme="dark"] .navbar .dropdown-menu {
   background-color: var(--color-nav-bg) !important
}

[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar .nav-link {
   color: var(--color-text-primary) !important
}

[data-theme="dark"] .navbar .nav-link:hover,
[data-theme="dark"] .navbar .nav-link:focus {
   color: #ffffff !important
}

[data-theme="dark"] .dropdown-item {
   color: var(--color-text-primary)
}

[data-theme="dark"] .dropdown-item:hover {
   background-color: rgba(255, 255, 255, .06)
}

[data-theme="dark"] .navbar-toggler,
[data-theme="dark"] .navbar-toggler-icon {
   filter: brightness(1.4)
}

.hero-visual {
   position: relative
}

.hero-visual::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: radial-gradient(120% 120% at 100% 0%, rgba(2, 6, 23, 0) 0%, rgba(2, 6, 23, .35) 50%, rgba(2, 6, 23, .6) 100%)
}

[data-theme="dark"] .hero-visual::after {
   background: radial-gradient(120% 120% at 100% 0%, rgba(2, 6, 23, 0) 0%, rgba(2, 6, 23, .45) 50%, rgba(2, 6, 23, .75) 100%)
}

.navbar-brand .brand-text {
   font-weight: 700;
   letter-spacing: .2px
}

/* Overlay hero layout */
.hero {
   position: relative;
   min-height: clamp(420px, 62vh, 720px)
}

.hero-media {
   position: relative
}

.hero-content {
   position: absolute;
   inset: 0;
   display: grid;
   place-content: center;
   text-align: center;
   padding: clamp(16px, 4vw, 48px);
   z-index: 2
}

.hero-brand {
   height: 32px;
   width: auto;
   margin: 0 auto clamp(8px, 1.4vw, 12px);
   display: block
}

.hero-title {
   margin: 0 0 clamp(10px, 2vw, 16px);
   font-size: clamp(28px, 4.6vw, 48px);
   line-height: 1.15;
   font-weight: 800;
   color: var(--color-text-primary, #e5e7eb)
}

.hero-sub {
   margin: 0 auto clamp(18px, 3vw, 28px);
   max-width: 65ch;
   font-size: clamp(15px, 1.6vw, 18px);
   line-height: 1.5;
   color: var(--color-text-muted, #9ca3af)
}

.hero-ctas {
   display: flex;
   gap: 12px;
   justify-content: center;
   flex-wrap: wrap
}

.btn {
   padding: .675rem 1rem;
   border-radius: .75rem
}

.btn-outline {
   color: var(--color-text-primary, #e5e7eb);
   border: 1px solid rgba(255, 255, 255, .25);
   background: transparent
}

.btn-outline:hover {
   background: rgba(255, 255, 255, .06)
}

.btn-primary {
   background: #1d4ed8;
   color: #fff;
   border: none
}

.btn-primary:hover {
   filter: brightness(1.1)
}

.lg-hidden {
   display: inline
}

@media (min-width:768px) {
   .lg-hidden {
      display: none
   }
}body::before{content:"CSS LIVE";position:fixed;inset:8px auto auto 8px;padding:.25rem .5rem;background:#000;color:#fff;font:12px/1.2 sans-serif;z-index:999999}
/* Debug badge disabled */
body::before{content:none !important;display:none !important}
