/* ============================================================
   DEVICE MOCKUPS — Monitor & Smartphone Frames
   ============================================================ */

/* ── DESKTOP MONITOR ── */
.device-desktop {
  position: relative;
  width: 960px;
  max-width: 100%;
  flex-shrink: 0;
}

.device-desktop__frame {
  position: relative;
  background: #0c0c14;
  border: 2px solid #2a2a40;
  border-radius: 16px 16px 0 0;
  padding: 0;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(var(--theme-primary-rgb), 0.05),
    0 20px 60px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(var(--theme-primary-rgb), 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Top bezel with camera and dots */
.device-desktop__bezel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 0;
  background: linear-gradient(180deg, #18182a, #0f0f1c);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.device-desktop__bezel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2a2a40;
}

.device-desktop__bezel-dot--red { background: #ff5f57; }
.device-desktop__bezel-dot--yellow { background: #ffbd2e; }
.device-desktop__bezel-dot--green { background: #28ca42; }

.device-desktop__screen {
  width: 100%;
  height: 620px;
  overflow: hidden;
  background: var(--bg-charcoal);
  position: relative;
}

/* Monitor stand */
.device-desktop__stand {
  position: relative;
  margin: 0 auto;
  width: 100%;
}

.device-desktop__stand-neck {
  width: 80px;
  height: 30px;
  background: linear-gradient(180deg, #2a2a40, #1a1a2e);
  margin: 0 auto;
  border-radius: 0 0 4px 4px;
}

.device-desktop__stand-base {
  width: 200px;
  height: 8px;
  background: linear-gradient(180deg, #2a2a40, #1a1a2e);
  margin: 0 auto;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Glow effect under monitor */
.device-desktop__glow {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 40px;
  background: radial-gradient(ellipse, rgba(var(--theme-primary-rgb), 0.1) 0%, transparent 70%);
  filter: blur(10px);
  pointer-events: none;
}

/* ── SMARTPHONE ── */
.device-phone {
  position: relative;
  width: 340px;
  flex-shrink: 0;
}

.device-phone__frame {
  position: relative;
  background: #0c0c14;
  border: 2px solid #2a2a40;
  border-radius: 36px;
  padding: 12px;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(var(--theme-secondary-rgb), 0.05),
    0 20px 60px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(var(--theme-secondary-rgb), 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Phone notch */
.device-phone__notch {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 24px;
  background: #0c0c14;
  border-radius: 0 0 16px 16px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.device-phone__notch-camera {
  width: 8px;
  height: 8px;
  background: #1a1a2e;
  border-radius: 50%;
  border: 1px solid #2a2a40;
}

.device-phone__screen {
  width: 100%;
  height: 660px;
  overflow: hidden;
  background: var(--bg-charcoal);
  border-radius: 24px;
  position: relative;
}

/* Side buttons */
.device-phone__button-vol {
  position: absolute;
  left: -3px;
  top: 100px;
  width: 3px;
  height: 40px;
  background: #2a2a40;
  border-radius: 3px 0 0 3px;
}

.device-phone__button-power {
  position: absolute;
  right: -3px;
  top: 120px;
  width: 3px;
  height: 50px;
  background: #2a2a40;
  border-radius: 0 3px 3px 0;
}

/* Glow effect under phone */
.device-phone__glow {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 40px;
  background: radial-gradient(ellipse, rgba(var(--theme-secondary-rgb), 0.1) 0%, transparent 70%);
  filter: blur(10px);
  pointer-events: none;
}

/* ── DEVICE LABELS ── */
.device-label {
  text-align: center;
  margin-top: 24px;
  font-family: var(--font-display);
  font-size: 0.65rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--text-muted);
}

.device-label span {
  color: var(--theme-primary);
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .device-desktop {
    width: 100%;
    max-width: 700px;
  }
  .device-desktop__screen {
    height: 500px;
  }
}

@media (max-width: 768px) {
  .device-desktop { display: none; } /* Hide the monitor entirely on small screens */
  
  .device-phone {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  .device-phone__frame {
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  .device-phone__screen {
    height: 100vh;
    border-radius: 0;
  }
  /* Remove physical bezels for true app mode */
  .device-phone__notch,
  .device-phone__speaker,
  .device-phone__camera,
  .device-phone__button-power,
  .device-phone__button-vol {
    display: none;
  }
}
