/* 安心・安全のお約束ページ用、開閉できるカード(Figma: accordion-policy)
 * タイポグラフィは htdocs/lite/css/guest/typography.css のトークンを参照する
 * (title: guest/card-title sp14px/pc16px, desc: guest/text sp14px/pc16px)
 * 幅: Figmaはsp/pcどちらもコンポーネント全体で353px固定(h1-hgroupと同じ理由でmax-widthで頭打ちにする)。 */
.guest-accordion-policy {
  box-sizing: border-box;
  width: 100%;
  max-width: 353px;
  /* Figmaのpadding 8pxには内側配置のborder 2pxが含まれるため、CSS側では差し引く */
  padding: 6px;
  border: 2px solid var(--guest-color-border-white);
  border-radius: 12px;
  /* Figma effect style "card"。トークンには無い値のため生のrgbaのまま */
  box-shadow: 0 0 16px rgba(248, 150, 65, 0.2);
  /* Figma style "gradation/pale-orange" */
  background: linear-gradient(165deg, var(--guest-color-border-white) 7.1429%, var(--guest-color-background-pale-orange) 92.857%);
  overflow: hidden;
}

.guest-accordion-policy__head {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  width: 100%;
  padding: 0 36px 0 0;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.guest-accordion-policy__thumb {
  flex-shrink: 0;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 8px;
  object-fit: contain;
  /* Figma上もトークンではない仮の灰色プレースホルダー。実画像未指定時のdiv用 */
  background: #d9d9d9;
}

img.guest-accordion-policy__thumb {
  background: transparent;
}

.guest-accordion-policy__title {
  flex: 1 0 0;
  min-width: 1px;
  margin: 0;
  font-family: var(--guest-font-family);
  font-size: var(--guest-font-size-sm);
  font-weight: var(--guest-font-weight-bold);
  line-height: var(--guest-line-height-heading);
  color: var(--guest-color-text-default);
  word-break: break-word;
}

.guest-accordion-policy__icon {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 24px;
  height: 24px;
  /* guestのセマンティックトークンに該当が無いためプリミティブ(color/orange/700)を直接参照 */
  color: var(--color-orange-700);
  transform: translateY(-50%) rotate(90deg);
}

.guest-accordion-policy--open .guest-accordion-policy__icon {
  transform: translateY(-50%) rotate(-90deg);
}

.guest-accordion-policy__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
}

.guest-accordion-policy__desc {
  margin: 8px 0 0;
  font-family: var(--guest-font-family);
  font-size: var(--guest-font-size-sm);
  font-weight: var(--guest-font-weight-regular);
  line-height: var(--guest-line-height-body);
  color: var(--guest-color-text-default);
}

@media (min-width: 768px) {
  .guest-accordion-policy {
    /* Figmaのpadding 12pxから内側配置のborder 2pxを差し引く */
    padding: 10px;
  }

  .guest-accordion-policy__title {
    font-size: var(--guest-font-size-base);
  }

  .guest-accordion-policy__desc {
    font-size: var(--guest-font-size-base);
  }
}
