/* blog/static/blog/css/sleep_calculator.css */
/* Стили калькулятора сна (переменные берутся из main.css) */

.calc-sleep-container {
   background: var(--bg-primary);
   padding: 1.5rem;
   border-radius: 12px;
   box-shadow: var(--shadow-medium);
   max-width: 420px;
   margin: 1.5rem auto;
   border: 1px solid var(--border-color);
}

.calc-sleep-title {
   text-align: center;
   color: var(--text-primary);
   margin-bottom: 1.2rem;
   font-size: 1.4rem;
   font-weight: 700;
   background: var(--gradient-primary);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
}

.calc-sleep-title::before {
   content: "🌙 ";
   -webkit-text-fill-color: initial;
}

.calc-sleep-section {
   margin-bottom: 1.5rem;
   padding: 1.2rem;
   background: var(--bg-accent);
   border-radius: 10px;
   transition: all 0.3s ease;
}

.calc-sleep-section:hover {
   box-shadow: var(--shadow-light);
   transform: translateY(-2px);
}

.calc-sleep-subtitle {
   text-align: center;
   color: var(--text-secondary);
   margin-bottom: 0.8rem;
   font-size: 0.9rem;
   font-weight: 500;
   line-height: 1.5;
}

.calc-sleep-input-group {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 0.4rem;
   margin-bottom: 0.8rem;
}

.calc-sleep-input-group .separator {
   font-size: 1.4rem;
   font-weight: 700;
   color: var(--text-light);
}

.calc-sleep-input-group select {
   font-size: 1.3rem;
   padding: 0.5rem 0.7rem;
   border: 2px solid var(--border-color);
   border-radius: 10px;
   background: var(--bg-primary);
   color: var(--text-primary);
   font-weight: 600;
   cursor: pointer;
   transition: all 0.3s ease;
   box-shadow: var(--shadow-light);
}

.calc-sleep-input-group select:hover {
   border-color: var(--primary-light);
   box-shadow: var(--shadow-medium);
}

.calc-sleep-input-group select:focus {
   outline: none;
   border-color: var(--primary-color);
   box-shadow: 0 0 0 3px rgba(107, 70, 193, 0.1);
}

.calc-sleep-button {
   display: block;
   width: 100%;
   padding: 0.7rem 1.2rem;
   margin: 0.8rem 0;
   background: var(--gradient-primary);
   color: white;
   border: none;
   border-radius: 50px;
   cursor: pointer;
   font-size: 0.95rem;
   font-weight: 600;
   transition: all 0.3s ease;
   box-shadow: var(--shadow-medium);
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.calc-sleep-button:hover {
   transform: translateY(-2px);
   box-shadow: var(--shadow-heavy);
}

.calc-sleep-button:active {
   transform: translateY(0);
}

.calc-sleep-result {
   margin-top: 1.2rem;
   text-align: center;
   font-size: 0.9rem;
   color: var(--text-secondary);
   font-weight: 500;
   padding: 1rem;
   background: var(--bg-primary);
   border-radius: 10px;
   /* Скрываем блок по умолчанию */
   display: none;
}

/* Показываем блок только когда есть результат */
.calc-sleep-result.show {
   display: block;
}

.calc-sleep-time {
   font-weight: 700;
   color: var(--primary-color);
   margin: 0.4rem 0;
   font-size: 1.3rem;
   padding: 0.5rem;
   background: rgba(107, 70, 193, 0.05);
   border-radius: 8px;
   border-left: 4px solid var(--primary-color);
   transition: all 0.3s ease;
}

.calc-sleep-time:hover {
   background: rgba(107, 70, 193, 0.1);
   transform: translateX(5px);
}

.calc-sleep-divider {
   border: none;
   height: 2px;
   background: linear-gradient(90deg, 
       transparent, 
       var(--border-color) 20%, 
       var(--border-color) 80%, 
       transparent
   );
   margin: 2rem 0;
}

/* Адаптивность */
@media (max-width: 768px) {
   .calc-sleep-container {
       padding: 1.5rem;
       margin: 1rem auto;
       max-width: 450px;
   }

   .calc-sleep-title {
       font-size: 1.6rem;
   }

   .calc-sleep-section {
       padding: 1.2rem;
   }

   .calc-sleep-subtitle {
       font-size: 0.95rem;
   }

   .calc-sleep-input-group select {
       font-size: 1.4rem;
       padding: 0.5rem 0.7rem;
   }

   .calc-sleep-button {
       font-size: 1rem;
       padding: 0.8rem 1.2rem;
   }

   .calc-sleep-time {
       font-size: 1.4rem;
   }
}

@media (max-width: 480px) {
   .calc-sleep-container {
       padding: 1.2rem;
       max-width: 100%;
   }

   .calc-sleep-title {
       font-size: 1.4rem;
       margin-bottom: 1rem;
   }

   .calc-sleep-section {
       padding: 1rem;
       margin-bottom: 1.5rem;
   }

   .calc-sleep-subtitle {
       font-size: 0.9rem;
   }

   .calc-sleep-input-group {
       gap: 0.3rem;
   }

   .calc-sleep-input-group select {
       font-size: 1.3rem;
       padding: 0.5rem 0.6rem;
   }

   .calc-sleep-input-group .separator {
       font-size: 1.5rem;
   }

   .calc-sleep-button {
       font-size: 0.95rem;
       padding: 0.75rem 1rem;
   }

   .calc-sleep-time {
       font-size: 1.3rem;
       padding: 0.5rem;
   }

   .calc-sleep-result {
       font-size: 0.95rem;
       padding: 1rem;
   }
}