@font-face {
  font-family: "Nunito";
  src: url("../../fonts/Nunito-Regular.woff2") format("woff2"), url("../../fonts/Nunito-Regular.woff") format("woff"), url("../../fonts/Nunito-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: "Nunito";
  src: url("../../fonts/Nunito-SemiBold.woff2") format("woff2"), url("../../fonts/Nunito-SemiBold.woff") format("woff"), url("../../fonts/Nunito-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal; }

html {
  box-sizing: border-box;
  height: 100%;
  background-color: #f8f9fa;
  text-size-adjust: none;
  -webkit-text-size-adjust: none; }

html,
input,
button {
  font-family: Nunito, "Open Sans", Helvetica, Arial, sans-serif; }

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

/* Dark mode styles */
html[data-theme="dark"] {
  background-color: #050C2D;
}

html[data-theme="dark"] .page:before {
  background-image: linear-gradient(160deg, #050C2D 0%, #040B2C 50%, #1D2349 100%);
  background-color: #050C2D;
}

html[data-theme="dark"] .content__large-text {
  color: #fff;
}

html[data-theme="dark"] .time-view__title {
  color: #FFDD88;
}

html[data-theme="dark"] .time-view__text {
  color: #fff;
}

html[data-theme="dark"] .time-list {
  color: #fff;
}

html[data-theme="dark"] .time-list__item {
  background-color: #202646;
  border-color: #1C2248;
  box-shadow: 0px 2px 8px -4px rgba(5, 12, 45, 0.2);
}

html[data-theme="dark"] .time-list__item:after {
  color: #FFDD88;
}

html[data-theme="dark"] .time-list__item_suggested {
  background-color: #1D2349;
  border-color: #FFDD88;
}

html[data-theme="dark"] .button {
  background-color: #E1D9A8;
  color: #000;
  border-color: #B1A873;
}

html[data-theme="dark"] .button:hover,
html[data-theme="dark"] .button.focus-visible {
  background-color: #ebe5c1;
}

html[data-theme="dark"] .time-picker {
  border-color: #B1A873;
  background-color: rgba(15, 21, 56, 0.99);
}

html[data-theme="dark"] .time-picker:before {
  border-top-color: #1C2248;
  border-bottom-color: #1C2248;
}

html[data-theme="dark"] .time-picker:after {
  box-shadow: inset 0px 5px 8px -3px rgba(3, 6, 23, 0.3);
}

html[data-theme="dark"] .time-picker .highlight {
  background-color: #0F1538;
}

html[data-theme="dark"] .select-wrap {
  color: #ddd;
}

html[data-theme="dark"] .select-wrap:before {
  background-image: linear-gradient(to bottom, rgba(15, 21, 56, 0.85), rgba(15, 21, 56, 0));
}

html[data-theme="dark"] .select-wrap:after {
  background-image: linear-gradient(to top, rgba(15, 21, 56, 0.85), rgba(15, 21, 56, 0));
}

html[data-theme="dark"] .select-wrap .select-options {
  color: #545973;
}

html[data-theme="dark"] .highlight {
  box-shadow: 0px 5px 8px -3px rgba(3, 6, 23, 0.3);
}

.page {
  padding-top: 0.8em;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: stretch; }
  .page:before {
    content: "";
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-image: linear-gradient(160deg, #f8f9fa 0%, #e9ecef 50%, #dee2e6 100%);
    background-color: #f8f9fa;
    z-index: -1; }
  .page:after {
    content: "";
    position: relative;
    display: block; }
  .page__header {
    justify-self: center;
    margin-bottom: 1.75em;
    margin-top: auto; }
  @media screen and (min-width: 970px) {
    .page__header {
      margin-bottom: 2.25em; }
    .page:after {
      content: none; } }

.header {
  padding: 0 1em;
  text-align: center; }
  .header__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 970px;
    margin: 0 auto;
    padding: 0 1em; }
  .header__logo {
    width: 100%;
    max-width: 20.3em;
    outline: none; }
  @media screen and (min-width: 970px) {
    .header__logo {
      max-width: 33em;
      filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0));
      transition: filter 0.3s; }
      .header__logo.focus-visible {
        filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
        transition: filter 0.1s; } }

.header__nav {
  display: none; /* Hidden on mobile by default */
}

@media screen and (min-width: 970px) {
  .header__nav {
    display: flex;
    gap: 2em;
    align-items: center;
  }
  .header__nav a {
    color: #495057;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
  }
  .header__nav a:hover {
    color: #6f42c1;
  }
  html[data-theme="dark"] .header__nav a {
    color: #e2e8f0;
  }
}
.theme-toggle {
  background: #fff;
  border: 2px solid #6f42c1;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }

.mobile-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
}

.mobile-nav-toggle .icon-bar {
  display: block;
  width: 25px;
  height: 3px;
  background-color: #6f42c1;
  margin: 5px 0;
  transition: all 0.3s ease-in-out;
}

html[data-theme="dark"] .mobile-nav-toggle .icon-bar {
  background-color: #FFDD88;
}

@media screen and (max-width: 969px) {
  .header__nav {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 250px;
    height: 100%;
    background-color: #fff;
    box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    flex-direction: column;
    padding-top: 60px;
    gap: 1em;
    z-index: 1000;
  }
  html[data-theme="dark"] .header__nav {
    background-color: #1D2349;
  }
  .header__nav.active {
    display: flex;
  }
  .mobile-nav-toggle {
    display: block;
  }
}

.theme-toggle:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }

.theme-toggle__icon {
  width: 20px;
  height: 20px;
  fill: #6f42c1;
  transition: opacity 0.3s ease; }

.theme-toggle__icon--moon {
  opacity: 0;
  position: absolute; }

html[data-theme="dark"] .theme-toggle {
  background-color: #202646;
  border-color: #FFDD88;
}

html[data-theme="dark"] .theme-toggle__icon {
  fill: #FFDD88;
}

html[data-theme="dark"] .theme-toggle__icon--sun {
  opacity: 0;
}

html[data-theme="dark"] .theme-toggle__icon--moon {
  opacity: 1;
}

.content {
  position: relative;
  width: 100%;
  max-width: 970px;
  min-width: 300px;
  margin: 0 auto auto; }
  .content__large-text {
    font-size: 1.25em;
    line-height: 1.4em;
    text-align: center;
    color: #495057;
    margin-bottom: 0.625em; }
  .content__main-wrapper {
    line-height: 1.4em;
    text-align: center;
    color: #495057;
    margin-bottom: 0.625em; }
  .content__button {
    margin-left: auto;
    margin-right: auto; }
  .content__time-picker {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
    max-width: 22em; }
  @media screen and (min-width: 970px) {
    .content__large-text {
      font-size: 1.5em; } }

.calculator-wrapper {
  position: relative;
}

.content-section {
  pointer-events: auto;
  padding: 0 1em 2em;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transform: translateY(0) translateZ(0);
  width: 100%;
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out; }
  .content-section_hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(2em); }
  .content-section_prevent {
    pointer-events: none; }
  .content-section:not(:first-child) {
    position: absolute;
    top: 0; }

.time-view {
  line-height: 1.4;
  text-align: center; }
  .time-view__title {
    color: #6f42c1;
    font-size: 1.375em;
    font-weight: 600;
    line-height: 1;
    margin-bottom: .5em; }
  .time-view__text {
    color: #495057;
    font-size: 0.875em; }
    .time-view__text_mb {
      margin-bottom: 1.75em; }
    .time-view__text_hidden {
      display: none; }
  .time-view__list {
    margin-bottom: .5em; }
  @media screen and (min-width: 350px) {
    .time-view__title {
      font-size: 1.5em; }
    .time-view__text {
      font-size: 1em; }
      .time-view__text_mb {
        margin-bottom: 1em; } }
  @media screen and (min-width: 970px) {
    .time-view__title {
      font-size: 1.75em; }
    .time-view__text {
      font-size: 1.5em; }
    .time-view__list {
      margin-bottom: .5em; } }

.policy-content {
  max-width: 800px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 2em;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.07);
  text-align: left;
}

html[data-theme="dark"] .policy-content {
  background-color: rgba(29, 35, 73, 0.8);
}

.policy-content h1 {
  color: #6f42c1;
  font-size: 2em;
  margin-bottom: 1em;
  text-align: center;
}

html[data-theme="dark"] .policy-content h1 {
  color: #FFDD88;
}

.policy-content h2 {
  color: #495057;
  font-size: 1.5em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

html[data-theme="dark"] .policy-content h2 {
  color: #e2e8f0;
}

.policy-content p, .policy-content li {
  color: #495057;
  line-height: 1.7;
  margin-bottom: 1em;
}

html[data-theme="dark"] .policy-content p, html[data-theme="dark"] .policy-content li {
  color: #e2e8f0;
}

.blog-list-container {
  display: grid;
  gap: 1.5em;
  padding: 0;
  list-style-type: none;
}

.blog-post-card {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 1.5em 2em;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.07);
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  text-align: left;
}

html[data-theme="dark"] .blog-post-card {
  background-color: rgba(29, 35, 73, 0.9);
}

.blog-post-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.post-card-title {
  font-size: 1.5em;
  margin-bottom: 0.5em;
}

.post-card-title a {
  text-decoration: none;
  color: #6f42c1;
}

html[data-theme="dark"] .post-card-title a {
  color: #FFDD88;
}

.post-card-excerpt {
  color: #495057;
  margin-bottom: 1em;
  line-height: 1.6;
}

html[data-theme="dark"] .post-card-excerpt {
  color: #e2e8f0;
}

.post-card-readmore {
  font-weight: 600;
  color: #6f42c1;
  text-decoration: none;
  display: inline-block;
}

.time-list {
  display: flex;
  flex-wrap: wrap;
  color: #495057;
  list-style: none;
  justify-content: space-between;
  width: 100%;
  max-width: 31em;
  margin-left: auto;
  margin-right: auto; }
  .time-list__text {
    white-space: nowrap;
    font-weight: 600;
    line-height: 0.8; }
  .time-list__item {
    border-radius: 6px;
    background-color: #ffffff;
    width: calc(50% - .285em);
    font-size: 1em;
    box-shadow: 0px 2px 8px -4px rgba(0, 0, 0, 0.1);
    height: 2.42em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: .57em;
    border: 1px solid #dee2e6; }
    .time-list__item:after {
      content: none;
      color: #6f42c1;
      font-size: .5em;
      text-transform: uppercase;
      font-weight: 600;
      letter-spacing: 0.04em;
      line-height: .9; }
    .time-list__item_suggested {
      justify-content: space-between;
      flex-direction: column;
      height: auto;
      padding: .65em;
      font-size: 1.125em;
      background-color: #f8f9fa;
      border: 2px solid #6f42c1; }
      .time-list__item_suggested .time-list__text {
        margin-bottom: .35em; }
      .time-list__item_suggested:after {
        content: "suggested"; }
  @media screen and (min-width: 350px) {
    .time-list__item {
      width: calc(25% - .55em); }
      .time-list__item:after {
        margin-top: 0.15em; }
      .time-list__item_suggested {
        flex-direction: row;
        height: 2.15em;
        padding: 0 .5em;
        width: calc(50% - .325em); }
        .time-list__item_suggested .time-list__text {
          margin-bottom: 0; } }
  @media screen and (min-width: 970px) {
    .time-list__item {
      font-size: 1.25em;
      height: 2.4em;
      margin-bottom: .8em;
      width: calc(25% - .75em); }
      .time-list__item_suggested {
        width: calc(50% - .4em);
        font-size: 1.5em;
        height: 2em; } }

.logo {
  display: inline-block;
  vertical-align: top; }
  .logo__image {
    display: inline-block;
    vertical-align: top;
    width: 100%; }

.button {
  background: none;
  outline: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  background-color: #6f42c1;
  color: #fff;
  font-size: 1.125em;
  height: 2.22em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1em;
  width: 16em;
  max-width: 100%;
  border-radius: 4px;
  border: 1px solid #5a32a3;
  box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s; }
  .button__text {
    position: relative;
    margin-right: .75em;
    letter-spacing: 0.04em;
    white-space: nowrap; }
  .button__icon {
    position: relative;
    fill: currentColor;
    flex-shrink: 0; }
  .button_mb {
    margin-bottom: 2em; }
  @media screen and (min-width: 970px) {
    .button {
      font-size: 1.375em; }
      .button.focus-visible, .button:hover {
        background-color: #5a32a3;
        transition: background-color 0.1s; }
      .button__icon {
        width: 1.22em;
        height: 1em; }
        .button__icon_sun {
          width: 1.2em;
          height: 1.2em; }
      .button_mb {
        margin-bottom: 1.75em; } }

.page__footer {
  text-align: center;
  padding: 2rem 1rem;
  margin-top: auto;
}

.footer-links {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
}

.footer-links a {
  color: #6c757d;
  text-decoration: none;
  transition: color 0.2s;
}

.footer-links a:hover {
  color: #6f42c1;
  text-decoration: underline;
}

html[data-theme="dark"] .footer-links a:hover {
  color: #FFDD88;
}

.copyright {
  color: #adb5bd;
  font-size: 0.9em;
}
.select-wrap {
  position: relative;
  height: 100%;
  text-align: center;
  overflow: hidden;
  font-size: 20px;
  color: #6c757d; }
  .select-wrap:before, .select-wrap:after {
    position: absolute;
    z-index: 1;
    display: block;
    content: '';
    width: 100%;
    height: 30%; }
  .select-wrap:before {
    top: 0;
    background-image: linear-gradient(to bottom, rgba(248, 249, 250, 0.85), rgba(248, 249, 250, 0)); }
  .select-wrap:after {
    bottom: 0;
    background-image: linear-gradient(to top, rgba(248, 249, 250, 0.85), rgba(248, 249, 250, 0)); }
  .select-wrap .select-options {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0;
    margin: 0 auto;
    display: block;
    transform-style: preserve-3d;
    -ms-transform-style: none;
    transform: translateZ(-150px) rotateX(0deg);
    -ms-transform: none;
    -webkit-font-smoothing: subpixel-antialiased;
    color: #6c757d;
    will-change: transform;
    list-style: none; }
    .select-wrap .select-options .select-option {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 50px;
      will-change: visibility;
      -webkit-font-smoothing: subpixel-antialiased; }
      .select-wrap .select-options .select-option:nth-child(1) {
        transform: rotateX(0deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(2) {
        transform: rotateX(-18deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(3) {
        transform: rotateX(-36deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(4) {
        transform: rotateX(-54deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(5) {
        transform: rotateX(-72deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(6) {
        transform: rotateX(-90deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(7) {
        transform: rotateX(-108deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(8) {
        transform: rotateX(-126deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(9) {
        transform: rotateX(-144deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(10) {
        transform: rotateX(-162deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(11) {
        transform: rotateX(-180deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(12) {
        transform: rotateX(-198deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(13) {
        transform: rotateX(-216deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(14) {
        transform: rotateX(-234deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(15) {
        transform: rotateX(-252deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(16) {
        transform: rotateX(-270deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(17) {
        transform: rotateX(-288deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(18) {
        transform: rotateX(-306deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(19) {
        transform: rotateX(-324deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(20) {
        transform: rotateX(-342deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(21) {
        transform: rotateX(-360deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(22) {
        transform: rotateX(-378deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(23) {
        transform: rotateX(-396deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(24) {
        transform: rotateX(-414deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(25) {
        transform: rotateX(-432deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(26) {
        transform: rotateX(-450deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(27) {
        transform: rotateX(-468deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(28) {
        transform: rotateX(-486deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(29) {
        transform: rotateX(-504deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(30) {
        transform: rotateX(-522deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(31) {
        transform: rotateX(-540deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(32) {
        transform: rotateX(-558deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(33) {
        transform: rotateX(-576deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(34) {
        transform: rotateX(-594deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(35) {
        transform: rotateX(-612deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(36) {
        transform: rotateX(-630deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(37) {
        transform: rotateX(-648deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(38) {
        transform: rotateX(-666deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(39) {
        transform: rotateX(-684deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(40) {
        transform: rotateX(-702deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(41) {
        transform: rotateX(-720deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(42) {
        transform: rotateX(-738deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(43) {
        transform: rotateX(-756deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(44) {
        transform: rotateX(-774deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(45) {
        transform: rotateX(-792deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(46) {
        transform: rotateX(-810deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(47) {
        transform: rotateX(-828deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(48) {
        transform: rotateX(-846deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(49) {
        transform: rotateX(-864deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(50) {
        transform: rotateX(-882deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(51) {
        transform: rotateX(-900deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(52) {
        transform: rotateX(-918deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(53) {
        transform: rotateX(-936deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(54) {
        transform: rotateX(-954deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(55) {
        transform: rotateX(-972deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(56) {
        transform: rotateX(-990deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(57) {
        transform: rotateX(-1008deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(58) {
        transform: rotateX(-1026deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(59) {
        transform: rotateX(-1044deg) translateZ(150px); }
      .select-wrap .select-options .select-option:nth-child(60) {
        transform: rotateX(-1062deg) translateZ(150px); }

.highlight {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  width: 100%;
  overflow: hidden;
  box-shadow: 0px 5px 8px -3px rgba(0, 0, 0, 0.1); }

.highlight-list {
  position: absolute;
  width: 100%;
  list-style: none; }

/* time */
.time-picker {
  position: relative;
  perspective: 2000px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  height: 10em;
  border: 1px solid #6f42c1;
  border-radius: 13px;
  background-color: rgba(255, 255, 255, 0.99);
  overflow: hidden; }
  .time-picker:before {
    content: '';
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;
    margin-top: -1em;
    height: 2em;
    width: 100%;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    pointer-events: none; }
  .time-picker:after {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    box-shadow: inset 0px 5px 8px -3px rgba(0, 0, 0, 0.1); }
  .time-picker > div {
    flex: 1; }
  .time-picker .select-wrap {
    font-size: 1.125em;
    cursor: ns-resize; }
  .time-picker .highlight {
    font-size: 1.375em;
    font-weight: 600;
    background-color: #f8f9fa; }
  .time-picker__inner_pl .highlight-item {
    padding-left: 2.55em; }
  .time-picker__inner_pl .select-option {
    padding-left: 3.5em; }
  .time-picker__inner_pr .highlight-item {
    padding-right: 2.55em; }
  .time-picker__inner_pr .select-option {
    padding-right: 3.5em; }

/* Ad Container Styles */
.ad-container {
  width: 100%;
  max-width: 100%;
  margin: 1rem auto;
  text-align: center;
  overflow: hidden;
  background: transparent;
}

/* Header Banner Ad - Responsive Banner */
.ad-container--header-banner {
  width: 100%;
  max-width: 728px;
  margin: 0 auto 2em;
  text-align: center;
  padding: 0.5rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Desktop sizing for header banner */
@media screen and (min-width: 800px) {
  .ad-container--header-banner {
    height: 90px;
  }
}

.ad-container--header {
  margin: 0 auto 1rem;
  padding: 0.5rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.ad-container--top-content {
  margin: 2rem auto;
  padding: 1rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.ad-container--middle-content {
  margin: 2rem auto;
  padding: 1rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.ad-container--bottom-content {
  margin: 2rem auto;
  padding: 1rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.ad-container--footer {
  margin: 2rem auto 0;
  padding: 1rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Dark mode styles for ad containers */
html[data-theme="dark"] .ad-container--header-banner {
  background: linear-gradient(135deg, #1D2349 0%, #0F1538 100%);
  box-shadow: 0 2px 8px rgba(5, 12, 45, 0.3);
}

html[data-theme="dark"] .ad-container--header {
  background: linear-gradient(135deg, #1D2349 0%, #0F1538 100%);
  box-shadow: 0 2px 8px rgba(5, 12, 45, 0.3);
}

html[data-theme="dark"] .ad-container--top-content,
html[data-theme="dark"] .ad-container--middle-content,
html[data-theme="dark"] .ad-container--bottom-content {
  background: linear-gradient(135deg, #202646 0%, #1D2349 100%);
  box-shadow: 0 4px 16px rgba(5, 12, 45, 0.2);
}

html[data-theme="dark"] .ad-container--footer {
  background: linear-gradient(135deg, #1D2349 0%, #0F1538 100%);
  box-shadow: 0 2px 8px rgba(5, 12, 45, 0.3);
}

/* Responsive ad container adjustments */
@media (max-width: 768px) {
  .ad-container {
    margin: 0.5rem auto;
    padding: 0.5rem;
  }
  
  .ad-container--header {
    margin: 0 auto 0.5rem;
    border-radius: 6px;
  }
  
  .ad-container--top-content,
  .ad-container--middle-content,
  .ad-container--bottom-content {
    margin: 1rem auto;
    border-radius: 8px;
  }
  
  .ad-container--footer {
    margin: 1rem auto 0;
    border-radius: 6px;
  }
}

@media (max-width: 480px) {
  .ad-container {
    margin: 0.25rem auto;
    padding: 0.25rem;
  }
  
  .ad-container--top-content,
  .ad-container--middle-content,
  .ad-container--bottom-content {
    margin: 0.5rem auto;
  }
}

/* Ensure ads are responsive and don't overflow */
.ad-container ins {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* Ad loading states */
.ad-container:empty::before {
  content: '';
  display: block;
  width: 100%;
  height: 90px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 8px;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Dark mode loading state */
html[data-theme="dark"] .ad-container:empty::before {
  background: linear-gradient(90deg, #2a2f4a 25%, #1d2349 50%, #2a2f4a 75%);
}

.ad-slot {
  width: 100%;
  max-width: 728px; /* Standard leaderboard ad size */
  min-height: 90px; /* Common ad height */
  margin: 2em auto;
  padding: 1em;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

html[data-theme="dark"] .ad-slot {
  background-color: rgba(29, 35, 73, 0.5);
}

/* Placeholder text for when ads are not loaded */
.ad-slot::before {
  content: "Advertisement";
  color: #adb5bd;
  font-family: Nunito, "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 0.9em;
}

/* Social Share Buttons */
.share-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.share-btn:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .share-buttons {
    flex-direction: column;
  }
  .share-btn {
    width: 100%;
    justify-content: center;
  }
}
