/* 
  コンポーネント特有のスタイルを記載
  コンポーネント名_component の形式でクラス名を付与する
*/

.header_component {
  background-color: var(--color-shiun-sumika);
  display: flex;
  align-items: center;

  .title {
    font-size: 22px;
    margin-left: 12px;
  }
}

.footer_component {
  width: 100%;
  background-color: var(--color-tsukimura-temari);
  color: white;
  text-align: center;
  padding: 5px 0;

  .text {
    font-size: 14px;
  }
}

.title_component {
  margin-block: 0 10px;
}

.sidebar_component {
  background-color: var(--color-katsuragi-lilja);

  .title {
    font-size: 16px;
    font-weight: bold;
    padding: 5px 0;
    text-align: center;
  }

  .birthday_info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    overflow: hidden;
  }

  .name {
    flex-grow: 1;
  }

  .born_on_date {
    flex-shrink: 0;
    width: 50px;
    margin-right: 5px;
  }

  .birthday_list {
    margin: 0 5px;
  }
}

.flash_component {
  .messages {
    border-radius: 5px;
    padding: 16px 24px;
    margin: 16px 0px;
  }

  .messages.notice {
    background-color: var(--color-tsukimura-temari);
    color: white;
    border: solid 1px var(--color-shinosawa-hiro);
  }

  .messages.alert {
    background-color: var(--color-himesaki-rinami);
    border: solid 1px var(--color-hanami-saki);
  }
}

.link_component {
  color: var(--color-shinosawa-hiro);
  text-decoration: underline;
}
