/* =========================================================
   GLOBAL SCROLLBARS (UNCHANGED)
========================================================= */
::-webkit-scrollbar {
  width: 3px;
}
::-webkit-scrollbar-thumb {
  background-color: rgba(193, 190, 190, 0.558);
  border-radius: 10px;
}
#galleryItemsList::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}
#galleryItemsList::-webkit-scrollbar-thumb {
  background-color: #3b82f6;
  border-radius: 9999px;
  border: 2px solid transparent;
  background-clip: content-box;
}

/* =========================================================
   GOOGLE MAP INFO WINDOW (MATCHING BG THEME)
========================================================= */
.gm-style .gm-style-iw-c {
  background: radial-gradient(circle at center, #0B2A44 0%, #05101A 100%) !important;
  backdrop-filter: blur(10px);
  border-radius: 16px !important;
  border: 1.5px solid rgba(147, 197, 253, 0.3) !important;
  padding: 0 !important;
  max-width: 300px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
}
.gm-style .gm-style-iw-d { overflow: hidden !important; color: white !important; }
.gm-style .gm-style-iw-tc { display: none !important; }

/* =========================================================
   WEBVERSE FILTER PANEL & PILLS (BLUE SHADE FAMILY)
========================================================= */

/* Border Cleanup */
#webverseFilters, #webverseFilters * {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* --- THE NORMAL BUTTON (UNSELECTED) --- */
#webverseFilters ul li {
  /* Matching background shade */
  background: rgba(11, 42, 68, 0.6) !important;
  
  /* Lighter Blue Shade for text/icons as requested */
  color: #93c5fd !important; 
  
  border: 1px solid rgba(147, 197, 253, 0.15) !important;
  border-radius: 12px;
  padding: 6px 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: all 0.25s ease;
  cursor: pointer;
  list-style: none;
  font-weight: 500;
}

/* Hover State for Unselected */
#webverseFilters ul li:hover {
  background: rgba(147, 197, 253, 0.1);
  color: #ffffff !important;
  border-color: rgba(147, 197, 253, 0.4) !important;
}
#webverseFilters ul li[aria-selected="true"],
#webverseFilters .units li[aria-selected="true"],
#webverseFilters .units li.active {

  /* Noticeable hue shift (navy → blue-cyan) */
  background: linear-gradient(
    145deg,
    #1A4E82,
    #0E3A5C
  ) !important;

  /* Brighter text */
  color: #ffffff !important;
  font-weight: 600;

  /* Inner glow ring (this is key) */
  border: 1px solid rgba(147, 197, 253, 0.6) !important;

  /* Lift + soft glow */
  box-shadow:
    0 8px 20px rgba(14, 58, 92, 0.8),
    inset 0 0 0 1px rgba(191, 219, 254, 0.25) !important;

  transform: translateY(-1px);
}

/* =========================================================
   FLOOR SECTION LOGIC
========================================================= */
#webverseFilters #floor .floors {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 8px;
  max-height: 44px;
  padding: 4px 2px;
  transition: max-height 0.35s ease;
}
#webverseFilters #floor .floors::-webkit-scrollbar { display: none; }
#webverseFilters #floor.expanded .floors { flex-wrap: wrap; max-height: 500px; }

.floor-toggle {
  margin-top: 4px;
  font-size: 11px;
  color: #60a5fa;
  cursor: pointer;
  align-self: flex-end;
}

/* =========================================================
   MISC UI SECTIONS
========================================================= */
#webverseFilters #note > div { 
  border: 1px solid rgba(96, 165, 250, 0.3); 
  background: rgba(11, 42, 68, 0.4);
}

#webverseTowerLabel { display: none !important; }

/* Mobile Rotation Overlay */
.device-rotation {
  display: none;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .device-rotation { display: flex; }
}
/* 1. Prevent the white flash on all section containers */
#home, #webverse, #interior, #floorPlans, #unitPlans, #amenities, #about, #exterior, #gallery, #brochure {
    background-color: #050b18 !important; /* Matches your theme */
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s ease-out;
}

/* 2. Create a "Neat" Entrance Animation */
.section-entrance {
    animation: slideUpFade 0.7s forwards;
}

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 3. Smooth out the interior list cards */
#interiorsList li {
    background: rgba(15, 23, 42, 0.8);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Active state for Status Buttons */
.availability li.active {
    background: linear-gradient(to bottom right, rgb(2, 62, 101), rgb(62, 122, 161)) !important;
    border-color: white !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

/* Ensure Status Buttons show the active "Blue Pill" state */
#availabilityFilter ul.availability li.active {
    background: linear-gradient(145deg, #1A4E82, #0E3A5C) !important;
    color: #ffffff !important;
    font-weight: 600;
    border: 1px solid rgba(147, 197, 253, 0.6) !important;
    box-shadow: 0 8px 20px rgba(14, 58, 92, 0.8), 
                inset 0 0 0 1px rgba(191, 219, 254, 0.25) !important;
    transform: translateY(-1px);
}

/* Optional: remove the border on the dot if the whole pill is highlighted */
#availabilityFilter ul.availability li.active span {
    border: 1px solid rgba(255,255,255,0.4);
}

/* Floor Picker Grid Items */
#floorGrid li {
    height: 36px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #f3f4f6;
    color: #1f2937;
    list-style: none;
}

#floorGrid li:hover {
    background-color: #e5e7eb;
}

#floorGrid li.active {
    background-color: #0f172a; /* Dark Navy active color */
    color: white;
}

/* Scrollbar for the Floor Popup */
.popup-scrollbar::-webkit-scrollbar { width: 4px; }
.popup-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }

/* Force show class for Mobile/Touch devices */
.floor-picker-open {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Ensure SVG interaction */
#floorSvg svg * {
    pointer-events: all;
}

/* Custom Theme for the 360° View Button */
#unitPlanVirtualTourLink {
    background: rgba(0, 255, 255, 0.1) !important; /* Low opacity cyan tint */
    border: 1px solid rgba(0, 255, 255, 0.4) !important; /* Cyan border */
    color: #00FFFF !important; /* Cyan text */
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4), inset 0 0 10px rgba(0, 255, 255, 0.1);
    font-weight: 700;
    letter-spacing: 0.05em;
    transition: all 0.3s ease !important;
}

#unitPlanVirtualTourLink:hover {
    background: rgba(0, 255, 255, 0.2) !important;
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
    transform: translateY(-2px);
    border-color: #00FFFF !important;
}

/* Custom scrollbar for the details panel if content overflows */
.custom-scrollbar::-webkit-scrollbar {
    width: 4px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
}

/* Optional: Subtle entrance animation */
.panel-entrance {
    animation: slideIn 0.3s ease-out forwards;
}

@keyframes slideIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.section-entrance {
    animation: panelPop 0.3s ease-out forwards;
}

@keyframes panelPop {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

/* Fix for background blur transition */
#projectDetailsPanel.flex {
    display: flex !important;
}


/* This ensures the white background doesn't block the click events of the text buttons */
#svgTypePill, #viewTypePill {
    pointer-events: none !important;
    z-index: 5;
}

.svgTypeToggleBtn, .viewTypeToggleBtn {
    z-index: 10;
    position: relative;
    cursor: pointer;
}

.popup-scrollbar::-webkit-scrollbar{
width:3px;
}

.popup-scrollbar::-webkit-scrollbar-thumb{
background:#3b82f6;
border-radius:10px;
}

.popup-scrollbar::-webkit-scrollbar-track{
background:transparent;
}

.floor-active{
background:#111827;
color:white;
}

#unitFloorGrid li,
#unitFlatGrid li{
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
height:34px;
border-radius:6px;
background:#f3f4f6;
font-weight:600;
font-size:14px;
color:#374151;
transition:all .2s ease;
}

#unitFloorGrid li:hover,
#unitFlatGrid li:hover{
background:#e5e7eb;
}

#unitFloorGrid li.floor-active,
#unitFlatGrid li.floor-active{
background:#111827 !important;
color:white !important;
}

#unitFloorGrid li.floor-active:hover,
#unitFlatGrid li.floor-active:hover{
background:#111827 !important;
}

#unitFloorPopup::after{
    content:"";
    position:absolute;
    bottom:-8px;
    left:50%;
    transform:translateX(-50%);
    border-width:8px;
    border-style:solid;
    border-color:#ffffff transparent transparent transparent;
}

/* --- PREMIUM REFINED EXPERIENCE PANEL --- */
#experienceBottomPanel {
    background: rgba(0, 0, 0, 0.4); /* Much lighter, subtle background */
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1.5rem 2rem; /* Reduced padding for a sleeker look */
    border-radius: 20px;
    width: auto;
    min-width: 400px;
}

#timeMeter {
    position: relative;
    width: 100%;
    height: 3px; /* Very thin, high-end line */
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    cursor: pointer;
    overflow: visible !important; /* Vital for the dot to sit "on" the line */
}

#timeMeter {
    position: relative;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    cursor: pointer;
    /* CRITICAL: This allows the 14px ball to be seen on a 4px bar */
    overflow: visible !important; 
}

#timeMeterDot {
    position: absolute;
    top: 50%;
    left: 0%; /* This is updated by your JS */
    width: 14px;
    height: 14px;
    background: #ffffff;
    border-radius: 50%;
    /* Centering Logic: Moves the ball back by half its width/height */
    transform: translate(-50%, -50%); 
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    z-index: 100;
    cursor: grab;
    pointer-events: none; /* Let clicks pass through to the track for better UX */
}

/* Premium Typography for 6AM/6PM */
#experienceBottomPanel span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.6);
}