@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Poppins:wght@400;500;700&display=swap');

:root {
    --c-green: #2ECC71;
    --c-gold: #D4AC0D;
    --c-dark: #10201c;
    --c-text: #FDFEFE;
    --c-text-secondary: #a7b4af;
}

.lush-time-wrapper {
  width: 100%;
  max-width: auto;
  margin: 0 auto;
}

.lush-time-container {
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(135deg, #1f4037, var(--c-dark));
  background-image: linear-gradient(135deg, #1f4037, var(--c-dark)), url('https://www.transparenttextures.com/patterns/leaves.png');
  background-blend-mode: overlay;
  background-attachment: fixed;
  padding: 40px 25px;
  color: var(--c-text);
  border-radius: 12px;
  text-align: center;
}

/* Main Hero Display (Side-by-Side) */
.lush-time-hero-display {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.lush-time-digital-column {
    text-align: center;
}

.lush-time-digital-clock {
  font-family: 'Playfair Display', serif;
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 1;
  color: var(--c-green);
  letter-spacing: -2px;
  transition: font-size 0.3s ease;
}
.lush-time-separator { animation: lush-time-blink 1.5s infinite; }
@keyframes lush-time-blink { 50% { opacity: 0.3; } }

.lush-time-sub-display { font-size: 1.5rem; font-weight: 500; color: var(--c-text-secondary); margin-top: 5px; }
.lush-time-period { margin-left: 10px; }
.lush-time-date-display { font-size: 1.2rem; color: var(--c-gold); margin-top: 15px; }

/* Controls */
.lush-time-controls { display: flex; justify-content: center; margin-bottom: 40px; }
.lush-time-toggle-group { display: flex; background: rgba(0,0,0,0.2); border-radius: 10px; border: 1px solid rgba(255,255,255,0.1); padding: 5px; }
.lush-time-btn { background: transparent; border: none; color: var(--c-text-secondary); padding: 10px 25px; border-radius: 8px; font-weight: 700; cursor: pointer; transition: all 0.3s ease; }
.lush-time-btn.lush-time-active { color: var(--c-text); background: rgba(46, 204, 113, 0.2); box-shadow: 0 0 15px rgba(46, 204, 113, 0.5), inset 0 0 5px rgba(46, 204, 113, 0.3); }

/* Analog Clock */
.lush-time-analog-column { text-align: center; }
.lush-time-analog-clock { width: 280px; height: 280px; margin: 0 auto; transition: width 0.3s ease, height 0.3s ease; }
.lush-time-clock-face { width: 100%; height: 100%; border-radius: 50%; border: 2px solid rgba(255,255,255,0.15); background: rgba(0,0,0,0.1); position: relative; }
.lush-time-hour-numbers { font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--c-text-secondary); }
.lush-time-hour-number { position: absolute; width: 40px; height: 40px; line-height: 40px; text-align: center; top: 50%; left: 50%; margin: -20px; transition: transform 0.3s ease; }
.lush-time-hour-number.n3, .lush-time-hour-number.n6, .lush-time-hour-number.n9, .lush-time-hour-number.n12 { color: var(--c-text); font-weight: 700; font-size: 1.5rem; }

.lush-time-hour-number.n1 { transform: rotate(30deg) translateY(-115px) rotate(-30deg); }
.lush-time-hour-number.n2 { transform: rotate(60deg) translateY(-115px) rotate(-60deg); }
.lush-time-hour-number.n3 { transform: rotate(90deg) translateY(-115px) rotate(-90deg); }
.lush-time-hour-number.n4 { transform: rotate(120deg) translateY(-115px) rotate(-120deg); }
.lush-time-hour-number.n5 { transform: rotate(150deg) translateY(-115px) rotate(-150deg); }
.lush-time-hour-number.n6 { transform: rotate(180deg) translateY(-115px) rotate(-180deg); }
.lush-time-hour-number.n7 { transform: rotate(210deg) translateY(-115px) rotate(-210deg); }
.lush-time-hour-number.n8 { transform: rotate(240deg) translateY(-115px) rotate(-240deg); }
.lush-time-hour-number.n9 { transform: rotate(270deg) translateY(-115px) rotate(-270deg); }
.lush-time-hour-number.n10 { transform: rotate(300deg) translateY(-115px) rotate(-300deg); }
.lush-time-hour-number.n11 { transform: rotate(330deg) translateY(-115px) rotate(-330deg); }
.lush-time-hour-number.n12 { transform: rotate(0deg) translateY(-115px) rotate(0deg); }

.lush-time-hour-hand, .lush-time-minute-hand, .lush-time-second-hand { position: absolute; transform-origin: bottom center; left: 50%; bottom: 50%; border-radius: 5px; }
.lush-time-hour-hand { width: 6px; height: 70px; margin-left: -3px; background: var(--c-text); z-index: 3; }
.lush-time-minute-hand { width: 4px; height: 105px; margin-left: -2px; background: var(--c-text); z-index: 2; }
.lush-time-second-hand { width: 2px; height: 100px; margin-left: -1px; background: var(--c-green); z-index: 4; }
.lush-time-center-dot { position: absolute; width: 12px; height: 12px; background: var(--c-green); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 5; border: 2px solid var(--c-dark); }

/* View Toggles */
.lush-time-view-digital .lush-time-analog-column { display: none; }
.lush-time-view-analog .lush-time-digital-column { display: none; }

/* Info Sections */
.lush-time-info-section { margin-bottom: 40px; }
.lush-time-section-title { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; color: var(--c-gold); margin-bottom: 25px; text-align: center; }
.lush-time-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; max-width: 900px; margin: 0 auto; }
.lush-time-card { background: rgba(0,0,0,0.2); border-radius: 12px; padding: 20px; border-left: 4px solid var(--c-green); text-align: left; display: flex; align-items: center; gap: 15px; transition: all 0.3s ease; }
.lush-time-card:hover { background: rgba(0,0,0,0.3); transform: translateY(-5px); }
.lush-time-city-name { font-size: 1.2rem; font-weight: 700; flex-grow: 1; }
.lush-time-city-time { font-family: 'Poppins', monospace; font-size: 1.2rem; font-weight: 700; color: var(--c-text-secondary); }
.lush-time-card-icon { font-size: 2.5rem; color: var(--c-gold); }
.lush-time-card-label { font-size: 0.9rem; color: var(--c-text-secondary); }
.lush-time-card-value { font-size: 1.1rem; font-weight: 700; }

/* -------------------------- */
/* --- RESPONSIVE STYLES --- */
/* -------------------------- */

@media (max-width: 992px) {
    .lush-time-hero-display {
        flex-direction: column; /* Stack the columns on tablets */
        gap: 40px;
    }
}
@media (max-width: 768px) {
    .lush-time-digital-clock { font-size: 5rem; }
    .lush-time-analog-clock { width: 250px; height: 250px; }
    /* Reposition numerals for smaller clock */
    .lush-time-hour-number.n1 { transform: rotate(30deg) translateY(-100px) rotate(-30deg); }
    .lush-time-hour-number.n2 { transform: rotate(60deg) translateY(-100px) rotate(-60deg); }
    .lush-time-hour-number.n3 { transform: rotate(90deg) translateY(-100px) rotate(-90deg); }
    .lush-time-hour-number.n4 { transform: rotate(120deg) translateY(-100px) rotate(-120deg); }
    .lush-time-hour-number.n5 { transform: rotate(150deg) translateY(-100px) rotate(-150deg); }
    .lush-time-hour-number.n6 { transform: rotate(180deg) translateY(-100px) rotate(-180deg); }
    .lush-time-hour-number.n7 { transform: rotate(210deg) translateY(-100px) rotate(-210deg); }
    .lush-time-hour-number.n8 { transform: rotate(240deg) translateY(-100px) rotate(-240deg); }
    .lush-time-hour-number.n9 { transform: rotate(270deg) translateY(-100px) rotate(-270deg); }
    .lush-time-hour-number.n10 { transform: rotate(300deg) translateY(-100px) rotate(-300deg); }
    .lush-time-hour-number.n11 { transform: rotate(330deg) translateY(-100px) rotate(-330deg); }
    .lush-time-hour-number.n12 { transform: rotate(0deg) translateY(-100px) rotate(0deg); }

    .lush-time-section-title { font-size: 1.8rem; }
}
@media (max-width: 480px) {
    .lush-time-container { padding: 30px 15px; }
    .lush-time-digital-clock { font-size: 3.5rem; letter-spacing: -1px; }
    .lush-time-sub-display { font-size: 1rem; }
    .lush-time-grid { grid-template-columns: 1fr; }
    .lush-time-controls { transform: scale(0.9); }
    .lush-time-analog-clock { width: 220px; height: 220px; }
    /* Reposition numerals for smallest clock */
    .lush-time-hour-number.n1 { transform: rotate(30deg) translateY(-88px) rotate(-30deg); }
    .lush-time-hour-number.n2 { transform: rotate(60deg) translateY(-88px) rotate(-60deg); }
    .lush-time-hour-number.n3 { transform: rotate(90deg) translateY(-88px) rotate(-90deg); }
    .lush-time-hour-number.n4 { transform: rotate(120deg) translateY(-88px) rotate(-120deg); }
    .lush-time-hour-number.n5 { transform: rotate(150deg) translateY(-88px) rotate(-150deg); }
    .lush-time-hour-number.n6 { transform: rotate(180deg) translateY(-88px) rotate(-180deg); }
    .lush-time-hour-number.n7 { transform: rotate(210deg) translateY(-88px) rotate(-210deg); }
    .lush-time-hour-number.n8 { transform: rotate(240deg) translateY(-88px) rotate(-240deg); }
    .lush-time-hour-number.n9 { transform: rotate(270deg) translateY(-88px) rotate(-270deg); }
    .lush-time-hour-number.n10 { transform: rotate(300deg) translateY(-88px) rotate(-300deg); }
    .lush-time-hour-number.n11 { transform: rotate(330deg) translateY(-88px) rotate(-330deg); }
    .lush-time-hour-number.n12 { transform: rotate(0deg) translateY(-88px) rotate(0deg); }
}