/* =====================================================================
   SP画面下部 追従お問い合わせバー（c-float-contact／Figma 76:16764）
   窓口をLINEに一本化。LINE 1カードを画面下部に固定。SP（≤1200px）のみ表示。
   背景・カードはグローバルヘッダーのSP連絡カード（c-spnav__contact）と
   同一意匠：黄土色60% ＋ 紙テクスチャ15%乗算、白カード＋淡い影。
   ===================================================================== */
.c-float-contact {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90; /* ヘッダー（100）より下・本文より上 */
  padding: 0 var(--space-8); /* Figma px-8：左右に余白を残して上端の角丸を見せる */
  pointer-events: none; /* バー外側（px-8の透明余白）はクリック透過 */
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* バー本体（黄土色の紙地・上端のみ角丸・上向きの淡い影）。 */
.c-float-contact__body {
  position: relative;
  display: flex;
  gap: var(--space-12);
  padding: var(--space-12);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background-color: color-mix(in srgb, var(--color-ochre) 60%, var(--color-white));
  box-shadow: 0 calc(var(--space-4) * -1) var(--space-12) rgba(95, 77, 62, 0.18); /* Figma drop-shadow（上向き）*/
  pointer-events: auto;
}

/* 紙テクスチャ（c-spnavと同一素材）を 15%・乗算で重ねる。 */
.c-float-contact__body::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: url("../../images/common/spnav-bg.webp");
  background-repeat: repeat;
  background-position: top left;
  background-size: 750.7px 709.4px;
  opacity: 0.15;
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* 白カード（アイコン＋テキスト）。c-spnav__contact-card と同一。 */
.c-float-contact__card {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  border-radius: var(--radius-sm);
  background-color: var(--color-white);
  box-shadow: var(--shadow-card);
  color: var(--color-brown-text);
  overflow: hidden;
  text-decoration: none;
  transition: filter 0.2s ease;
}
.c-float-contact__card:hover,
.c-float-contact__card:focus-visible { filter: brightness(0.97); }

/* アイコン枠：Figma p-20 で 40px アイコンを囲む（カード高さ＝メール枠の 80×71 と一致）。 */
.c-float-contact__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-20);
}
.c-float-contact__icon img { display: block; width: var(--space-40); height: auto; }

.c-float-contact__text {
  font-size: var(--font-size-h5);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-snug);
}

/* フッター到達時（JS）・SPメニュー展開時は下にスライドして隠す。 */
.c-float-contact.is-hidden,
.is-nav-locked .c-float-contact {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

/* PC（≥1201px）では非表示（ヘッダーのSP連絡カードと同じ境界）。 */
@media (min-width: 1201px) {
  .c-float-contact { display: none; }
}
