.elementor-1017 .elementor-element.elementor-element-bb0d97c{--display:flex;--min-height:80vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:68px;--padding-bottom:68px;--padding-left:0px;--padding-right:0px;}.elementor-1017 .elementor-element.elementor-element-bb0d97c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;color:var( --e-global-color-primary );}.elementor-1017 .elementor-element.elementor-element-ed61477 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-weight:600;}.elementor-1017 .elementor-element.elementor-element-ac5069f{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;text-align:center;}.elementor-1017 .elementor-element.elementor-element-ac5069f .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:31px;font-weight:500;line-height:38px;color:var( --e-global-color-secondary );}.elementor-1017 .elementor-element.elementor-element-7dd1780{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-1017 .elementor-element.elementor-element-fb8bcb4{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-1017 .elementor-element.elementor-element-fb8bcb4 .elementor-share-btn{border-width:2px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1017 .elementor-element.elementor-element-bb0d97c{--width:97.508%;}}@media(max-width:1024px){.elementor-1017 .elementor-element.elementor-element-bb0d97c{--padding-top:68px;--padding-bottom:68px;--padding-left:20px;--padding-right:20px;}.elementor-1017 .elementor-element.elementor-element-ac5069f{--container-widget-width:90%;--container-widget-flex-grow:0;width:var( --container-widget-width, 90% );max-width:90%;}.elementor-1017 .elementor-element.elementor-element-7dd1780{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;} .elementor-1017 .elementor-element.elementor-element-fb8bcb4{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(max-width:767px){.elementor-1017 .elementor-element.elementor-element-bb0d97c{--padding-top:48px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;}.elementor-1017 .elementor-element.elementor-element-ed61477{text-align:left;}.elementor-1017 .elementor-element.elementor-element-ed61477 .elementor-heading-title{font-size:32px;}.elementor-1017 .elementor-element.elementor-element-ac5069f{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:left;}.elementor-1017 .elementor-element.elementor-element-ac5069f .elementor-heading-title{font-size:22px;line-height:28px;}.elementor-1017 .elementor-element.elementor-element-fb8bcb4{--alignment:center;} .elementor-1017 .elementor-element.elementor-element-fb8bcb4{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}/* Start custom CSS for html, class: .elementor-element-7dd1780 */#sleep-calculator {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  font-family: 'Inter Tight', sans-serif;
}

h1 {
  text-align: center;
  color: #ff6b35;
  font-size: 2.5rem;
  margin-bottom: 10px;
  font-weight: 300;
}

.subtitle {
  text-align: center;
  color: #666;
  font-size: 1.1rem;
  margin-bottom: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

#generator-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  flex-direction: row; /* Default: one line on desktop */
}

@media (max-width: 768px) {
  #generator-controls {
    flex-direction: column; /* Stack on mobile */
    align-items: stretch;
  }
  #generator-controls label {
    margin-bottom: 5px;
  }
  #generator-controls input[type="time"] {
    width: 100%; /* Full width on mobile */
  }
}

#generator-controls label {
  margin-bottom: 0;
  white-space: nowrap;
  color: #222;
  font-size: 1.1em;
}

#generator-controls input[type="time"] {
  width: 120px; /* Suitable for time input on desktop */
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  transition: border-color 0.3s ease;
}

#generator-controls input[type="time"]:focus {
  border-color: #007bff;
  outline: none;
}

.radio-group {
  display: flex;
  gap: 15px;
}

.radio-group label {
  margin: 0;
  white-space: nowrap;
}

.radio-group input[type="radio"] {
  margin-right: 5px;
}

#calculate {
  padding: 10px 15px;
  background-color: #F97D46;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.1s ease;
  font-size: 14px;
  white-space: nowrap;
}

#calculate:hover {
  background-color: #222;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
}

#calculate:active {
  transform: scale(0.98);
}

#output-section {
  width: 100%;
  margin-top: 20px;
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: white;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.output-card {
  background-color: #fff;
  border-left: 4px solid #F97D46;
  padding: 10px 15px;
  margin-bottom: 10px;
  border-radius: 4px;
  font-size: 1.1em;
  color: #222;
  transition: transform 0.2s ease;
}

.output-card:hover {
  transform: translateY(-2px);
}

#buttons {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

#buttons button {
  flex: 1;
  padding: 10px 15px;
  background-color: #F97D46;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.1s ease;
  font-size: 14px;
}

#buttons button:hover {
  background-color: #222;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
}

#buttons button:active {
  transform: scale(0.98);
}

#counts {
  font-size: 14px;
  color: #666;
  text-align: left;
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  #generator-controls {
    flex-direction: column;
  }
  #buttons {
    flex-direction: column;
  }
  #buttons button {
    width: 100%;
  }
  .output-card {
    font-size: 1em;
  }
}/* End custom CSS */