/*------------------------------------------------------------------
[Table of contents]

1. Schedule Table
2. Schedule Grid
3. Schedule Album
4. Schedule Stream Image
-------------------------------------------------------------------*/
/**
 * 1. Schedule Table
 */
.struninntwitch-schedule-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--struninntwitch-border-color);
  border-left: 6px solid var(--struninntwitch-global-primary-color);
  table-layout: fixed;

  & + {
    .struninntwitch-schedule-table {
      margin-top: 10px;
    }

    .struninntwitch-button-wrap {
      margin-top: 50px;
    }
  }

  tr {
    &:first-child {
      td {
        padding-top: 28px;
      }
    }

    &:last-child {
      td {
        padding-bottom: 28px;
      }
    }
  }

  td {
    padding: 12px 16px;
    background-color: var(--struninntwitch-box-background-color);
    vertical-align: top;

    &:first-child {
      padding-left: 32px;
    }

    &:nth-last-child(2) {
      width: 45%;
    }

    &:last-child {
      width: 92px;
      padding-right: 32px;
    }

    & > {
      p {
        margin: 0;
      }
    }

    .struninntwitch-schedule-table-day,
    .struninntwitch-schedule-table-date,
    .struninntwitch-schedule-table-time,
    .struninntwitch-schedule-table-timezone,
    .struninntwitch-schedule-table-subtitle {
      color: var(--struninntwitch-text-primary-color);
    }

    .struninntwitch-schedule-table-day,
    .struninntwitch-schedule-table-time,
    .struninntwitch-schedule-table-title {
      font-size: 16px;
    }

    .struninntwitch-schedule-table-date,
    .struninntwitch-schedule-table-timezone,
    .struninntwitch-schedule-table-subtitle {
      font-size: 14px;
    }

    .struninntwitch-schedule-table-day,
    .struninntwitch-schedule-table-time,
    .struninntwitch-schedule-table-title {
      font-weight: 700;
    }

    .struninntwitch-schedule-table-day,
    .struninntwitch-schedule-table-time {
      color: var(--struninntwitch-text-bold-color);
    }

    .struninntwitch-schedule-table-day {
      strong {
        color: var(--struninntwitch-global-primary-color);
        font-weight: 700;
        text-transform: capitalize;
      }
    }

    .struninntwitch-schedule-table-title {
      color: var(--struninntwitch-global-primary-color);
    }

    img {
      display: block;
    }
  }
}

/**
 * 2. Schedule Grid
 */
.struninntwitch-schedule-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, (700 / 1420) * 100%);
  align-items: stretch;

  .struninntwitch-schedule-segment {
    display: flex;
    padding: 32px 32px 32px 0;
    border: 1px solid var(--struninntwitch-border-color);
    border-left: 6px solid var(--struninntwitch-global-primary-color);
    background-color: var(--struninntwitch-box-background-color);

    p {
      margin: 0;
    }
  }

  .struninntwitch-schedule-segment-date {
    width: 108px;
    text-align: center;
    flex-shrink: 0;

    .struninntwitch-schedule-segment-day-name,
    .struninntwitch-schedule-segment-day-number,
    .struninntwitch-schedule-segment-month-name {
      font-weight: 700;
      line-height: 1;
    }

    .struninntwitch-schedule-segment-day-number,
    .struninntwitch-schedule-segment-month-name {
      color: var(--struninntwitch-text-primary-color);
    }

    .struninntwitch-schedule-segment-day-name,
    .struninntwitch-schedule-segment-month-name {
      font-size: 12px;
      text-transform: uppercase;
    }

    .struninntwitch-schedule-segment-day-name {
      color: var(--struninntwitch-global-primary-color);
    }

    .struninntwitch-schedule-segment-day-number {
      margin-top: 6px;
      color: var(--struninntwitch-text-bold-color);
      font-size: 36px;
    }

    .struninntwitch-schedule-segment-month-name {
      margin-top: 4px;
    }
  }

  .struninntwitch-schedule-segment-items {
    margin-left: (54 / 700) * 100%;

    .struninntwitch-schedule-segment-item {
      margin-bottom: 40px;

      &:last-child {
        margin-bottom: 0;
      }
    }
  }

  .struninntwitch-schedule-segment-item {
    display: flex;
    // set to image height
    min-height: 59px;
  }

  .struninntwitch-schedule-segment-image {
    margin-right: 32px;
    flex-shrink: 0;

    img {
      display: block;
    }
  }

  .struninntwitch-schedule-segment-subtitle,
  .struninntwitch-schedule-segment-time {
    color: var(--struninntwitch-text-primary-color);
    font-size: 14px;
  }

  .struninntwitch-schedule-segment-title {
    color: var(--struninntwitch-global-primary-color);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.125;
  }

  .struninntwitch-schedule-segment-subtitle {
    margin-top: 2px;
  }

  .struninntwitch-schedule-segment-time {
    margin-top: 4px;

    strong {
      color: var(--struninntwitch-text-bold-color);
      font-weight: 700;
    }
  }
}

/**
 * 3. Schedule Album
 */
.struninntwitch-schedule-album {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, (700 / 1420) * 100%);
  align-items: stretch;

  .struninntwitch-schedule-card {
    padding: 26px 16px;
    border: 1px solid var(--struninntwitch-border-color);
    border-top: 6px solid var(--struninntwitch-global-primary-color);
    background-color: var(--struninntwitch-box-background-color);

    p {
      margin: 0;
    }
  }

  .struninntwitch-schedule-card-items {
    margin-top: 32px;
  }

  .struninntwitch-schedule-card-item {
    display: flex;
    margin-bottom: 28px;

    &:last-child {
      margin-bottom: 0;
    }
  }

  .struninntwitch-schedule-card-date,
  .struninntwitch-schedule-card-subtitle,
  .struninntwitch-schedule-card-time {
    color: var(--struninntwitch-text-primary-color);
  }

  .struninntwitch-schedule-card-title,
  .struninntwitch-schedule-card-subtitle,
  .struninntwitch-schedule-card-time {
    font-size: 14px;
  }

  .struninntwitch-schedule-card-date,
  .struninntwitch-schedule-card-title {
    font-weight: 700;
  }

  .struninntwitch-schedule-card-date {
    color: var(--struninntwitch-text-bold-color);
    font-size: 16px;

    strong {
      color: var(--struninntwitch-global-primary-color);
      font-weight: 700;
    }
  }

  .struninntwitch-schedule-card-image {
    flex-shrink: 0;
    margin-right: 14px;

    img {
      display: block;
    }
  }

  .struninntwitch-schedule-stream-image {
    width: 30px;
    height: 40px;

    &::before {
      width: 20px;
      height: 22px;
      content: url('data:image/svg+xml;utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22Small_Twitch_Glitch%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%0A%09%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2220px%22%20height%3D%2222px%22%20viewBox%3D%220%200%2020%2022%22%20enable-background%3D%22new%200%200%2020%2022%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20id%3D%22Base_Color%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23FFFFFF%22%20d%3D%22M3.929%2C1.031h15v9.625L12.5%2C16.844H3.929V1.031z%22%0A%09%2F%3E%0A%3Cg%20id%3D%22Top_Icon%22%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20d%3D%22M4.167%2C0L0%2C3.928l0.004%2C13.947h4.998L5%2C22l4.287-4.125h3.569L19.996%2C11L20%2C0H4.167z%20M18.568%2C9.625l-3.57%2C4.125h-3.57%0A%09%09%09L8.572%2C16.5v-2.75h-3.57V1.375h13.566V9.625z%20M15.714%2C4.135h-1.428V8.93h1.428V4.135z%20M10.71%2C4.135H9.282V8.93h1.428V4.135z%22%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E');
    }
  }

  .struninntwitch-schedule-card-title {
    color: var(--struninntwitch-global-primary-color);
    line-height: 1.125;
  }

  .struninntwitch-schedule-card-subtitle {
    margin-top: 2px;
  }

  .struninntwitch-schedule-card-time {
    margin-top: 4px;

    strong {
      color: var(--struninntwitch-text-bold-color);
      font-weight: 700;
    }
  }
}

/**
 * 4. Schedule Stream Image
 */
.struninntwitch-schedule-stream-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 59px;
  background-color: var(--struninntwitch-global-primary-color);

  &::before {
    // 20x22 for 30x40 container
    width: 28px;
    height: 32px;
    content: url('data:image/svg+xml;utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22Twitch_Glitch%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%0A%09%20y%3D%220px%22%20width%3D%2228px%22%20height%3D%2232px%22%20viewBox%3D%220%200%2028%2032%22%20enable-background%3D%22new%200%200%2028%2032%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20id%3D%22Base_Color%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23FFFFFF%22%20d%3D%22M5.5%2C1.5h21v14l-9%2C9h-12V1.5z%22%2F%3E%0A%3Cg%20id%3D%22Top_Icon%22%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20d%3D%22M5.834%2C0L0%2C5.714L0.006%2C26h6.997L7%2C32l6.001-6h4.997l9.996-10L28%2C0H5.834z%20M25.995%2C14l-4.998%2C6h-4.998l-3.998%2C4v-4H7.003%0A%09%09%09V2h18.992V14z%20M22%2C6.014h-2v6.974h2V6.014z%20M14.994%2C6.014h-1.999v6.974h1.999V6.014z%22%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E');
  }
}