/* ===============================================
# integration-fixes.css — 実装側の修正はここに書く
# ※原本（ページ別CSS・common.css）は編集しない
=============================================== */

/* ===============================================
# 横スクロール対策（落とし穴1）
# ※スクロールバーの領域を常に確保して、100vw のカルーセルのはみ出しを消す
=============================================== */
html {
  scrollbar-gutter: stable;
}


/* ===============================================
# WebP配信への差し替え（CSSから参照している2件）
# ※原本と同じメディアクエリで background-image だけを上書きする
=============================================== */
@media (min-width: 1200px) {
  .b001-fv__inner::before {
    background-image: url("/assets/media/family-ecocute-v6-furnished.webp");
  }
}

:is(.b002-page #hero, .repair-hero-scope).b002-repair-hero {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.66) 48%, rgba(255, 255, 255, 0.28) 100%),
    url("/assets/media/b002-hero-washroom-background.webp");
}

@media (max-width: 767px) {
  :is(.b002-page #hero, .repair-hero-scope).b002-repair-hero {
    background-image: linear-gradient(rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.6)),
      url("/assets/media/b002-hero-washroom-background.webp");
  }
}

/* ===============================================
# 追従CTAの下余白（g002.css だけ --fixed-cta-height を見ている）
=============================================== */
body:has(#legacy-fixed-cta) {
  --fixed-cta-height: var(--fixed-cta-clearance, 18rem);
}

/* ===============================================
# コラムのカード：見出し・説明文を3行で切る（スマホの見出しは4行）
=============================================== */
.column-card :is(h3, p) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (max-width: 767px) {
  .column-card h3 {
    -webkit-line-clamp: 4;
  }
}

/* ===============================================
# E001：別タブで開くテキストリンクのアイコン
# ※E001 に限る
=============================================== */
.e001-page .text-link[target="_blank"] .material-symbols-outlined.text-link__icon {
  font-size: 1rem;
  position: relative;
  top: 2px;
}

/* ===============================================
# 商品カード：廃盤のバッジ・価格はお問い合わせ（G001）
# ※デザイン待ちの仮。バッジの形は受領物の訴求バッジのまま、色だけ足す
=============================================== */
.product-appeal-badge--discontinued,
.lineup-filterable .product-appeal-badge--discontinued {
  background: var(--color-text-muted);
}

.product-card[hidden] {
  display: none !important;
}

.product-card .price-summary__result--inquiry,
.lineup-filterable .product-card .price-summary__result--inquiry {
  font-family: inherit;
  font-size: 1.25rem;
  white-space: normal;
}

/* ===============================================
# 商品詳細：価格の無い機種・関連商品のリンク（G001）
# ※プロトタイプに無い形。デザイン待ちの仮
=============================================== */
.g002-page .g002-price-panel--approved .lineup-filterable .price-summary__result--inquiry {
  font-family: inherit;
  font-size: 1.5rem;
  white-space: normal;
}

.compact-product-card {
  position: relative;
}

.compact-product-card__link {
  color: inherit;
  text-decoration: none;
}

.compact-product-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.compact-product-card__price .compact-product-card__result--inquiry {
  font-size: 1.125rem;
}

/* ===============================================
# 商品ラインナップの操作部（TOP・エコキュート。G001）
# ※data-product-filter-* のある操作部（プロトタイプの版）だけに効かせる
=============================================== */
.lineup-more[data-product-filter-more] {
  position: relative;
  padding-inline: 2.5rem;
  text-align: center;
}

.lineup-more[data-product-filter-more]::after {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 18px;
  height: 18px;
  margin-left: 0;
  border: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 9 7 7 7-7' fill='none' stroke='%23006b45' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
}

[data-product-filter-controls] select:not([multiple]):not([size]),
[data-product-filter-controls] select[size="1"]:not([multiple]) {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 3.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 9 7 7 7-7' fill='none' stroke='%23006b45' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right 16px center;
}

:root [data-product-filter-controls] select:not([multiple]):not([size]) {
  padding-right: 2rem;
  background-size: 18px 18px;
  background-position: right 8px center;
}

/* ===============================================
# E001：確認画面の「送信する」「入力内容を修正する」の間隔
=============================================== */
.e001-page .e001-confirm-actions {
  display: grid;
  gap: var(--space-md);
}

/* ===============================================
# 商品詳細：詳しい特長の画像の横並びと表
# ※ミズテック様の product.css の div.flex・div.table-scroll に合わせる
=============================================== */
.g002-page .product-overview__details {
  min-width: 0;
}

.g002-page .product-overview__feature-source div.flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.g002-page .product-overview__feature-source div.flex > * {
  width: 48%;
}

.g002-page .product-overview__feature-source div.flex._three > * {
  width: 32%;
}

.g002-page .product-overview__feature-source div.table-scroll table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  background-color: #fff;
}

.g002-page .product-overview__feature-source div.table-scroll :is(th, td) {
  padding: 15px 10px;
  border: 1px solid #ddd;
}

.g002-page .product-overview__feature-source div.table-scroll :is(th, td):first-child {
  border-left: 0;
}

.g002-page .product-overview__feature-source div.table-scroll :is(th, td):last-child {
  border-right: 0;
}

.g002-page .product-overview__feature-source div.table-scroll th {
  width: 15em;
  background-color: #f5f5f5;
  font-weight: normal;
  text-align: left;
}

@media (max-width: 767px) {
  .g002-page .product-overview__feature-source div.table-scroll {
    overflow-x: scroll;
  }

  .g002-page .product-overview__feature-source div.table-scroll table {
    width: 1000px;
  }
}
