/* =========================================================
   HHC かんたん見積り・仮予約
   estimate.css
   スマホファースト / SWELL対応
========================================================= */

.hhc-estimate {
  --hhc-green: #36856b;
  --hhc-green-dark: #246b55;
  --hhc-green-light: #eff8f3;
  --hhc-orange: #e78a3d;
  --hhc-orange-light: #fff6eb;
  --hhc-text: #283630;
  --hhc-muted: #68766f;
  --hhc-line: #dce7e0;
  --hhc-bg: #f7faf8;

  color: var(--hhc-text);
  font-size: 15px;
  line-height: 1.75;
  width: 100%;
  max-width: 920px;
  margin: 0 auto 64px;
}

.hhc-estimate *,
.hhc-estimate *::before,
.hhc-estimate *::after {
  box-sizing: border-box;
}

.hhc-estimate :where(h2, h3, h4, h5, p) {
  margin-top: 0;
}

.hhc-estimate button,
.hhc-estimate input,
.hhc-estimate select,
.hhc-estimate textarea {
  font: inherit;
}

.hhc-estimate button,
.hhc-estimate select,
.hhc-estimate input[type="checkbox"] {
  cursor: pointer;
}

/* =========================================================
   ページ導入
========================================================= */

.hhc-estimate__header {
  padding: 28px 20px;
  margin-bottom: 28px;
  background: linear-gradient(
    145deg,
    #f0f8f3 0%,
    #ffffff 80%
  );
  border: 1px solid var(--hhc-line);
  border-radius: 18px;
}

.hhc-estimate__eyebrow {
  margin-bottom: 6px;
  color: var(--hhc-green-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.hhc-estimate__title {
  margin-bottom: 12px;
  padding: 0;
  color: var(--hhc-green-dark);
  font-size: clamp(23px, 5vw, 31px);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.02em;
  background: none;
  border: 0;
}

.hhc-estimate__title::before,
.hhc-estimate__title::after {
  display: none !important;
}

.hhc-estimate__intro {
  margin-bottom: 14px;
  font-size: 14px;
  line-height: 1.9;
}

.hhc-estimate__notice {
  margin-bottom: 0;
  padding: 11px 13px;
  color: #755323;
  background: var(--hhc-orange-light);
  border-radius: 9px;
  font-size: 12px;
  line-height: 1.7;
}

/* =========================================================
   STEP セクション
========================================================= */

.hhc-estimate__section {
  margin-bottom: 30px;
}

.hhc-estimate__section-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 17px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hhc-green);
}

.hhc-estimate__section-heading h3 {
  margin: 0;
  padding: 0;
  color: var(--hhc-text);
  background: none;
  border: 0;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.4;
}

.hhc-estimate__section-heading h3::before,
.hhc-estimate__section-heading h3::after {
  display: none !important;
}

.hhc-estimate__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 67px;
  min-height: 28px;
  padding: 4px 9px;
  color: #fff;
  background: var(--hhc-green);
  border-radius: 6px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

/* =========================================================
   カテゴリ共通
========================================================= */

.hhc-estimate__category {
  margin-bottom: 19px;
  padding: 19px 15px;
  background: #fff;
  border: 1px solid var(--hhc-line);
  border-radius: 15px;
  box-shadow: 0 3px 15px rgba(32, 77, 55, 0.035);
}

.hhc-estimate__category > h4 {
  margin: 0 0 12px;
  padding: 0 0 0 11px;
  color: var(--hhc-green-dark);
  background: none;
  border: 0;
  border-left: 4px solid var(--hhc-green);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
}

.hhc-estimate__category > h4::before,
.hhc-estimate__category > h4::after {
  display: none !important;
}

.hhc-estimate__category-note {
  margin: 0 0 15px;
  color: var(--hhc-muted);
  font-size: 12px;
  line-height: 1.8;
}

.hhc-estimate__help {
  margin: 8px 0 14px;
  color: var(--hhc-muted);
  font-size: 12px;
  line-height: 1.75;
}

/* =========================================================
   水回りサービス選択カード
========================================================= */

.hhc-estimate__service-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.hhc-estimate__service {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  margin: 0;
  padding: 13px 14px;
  background: #fff;
  border: 1px solid var(--hhc-line);
  border-radius: 11px;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.hhc-estimate__service:hover {
  border-color: var(--hhc-green);
}

.hhc-estimate__service:has(input:checked) {
  background: var(--hhc-green-light);
  border-color: var(--hhc-green);
  box-shadow: inset 0 0 0 1px var(--hhc-green);
}

.hhc-estimate__service input[type="checkbox"] {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: var(--hhc-green);
}

.hhc-estimate__service-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.hhc-estimate__service-name {
  display: block;
  color: var(--hhc-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.hhc-estimate__service-price {
  display: block;
  color: var(--hhc-green-dark);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
  white-space: nowrap;
}

/* =========================================================
   追加オプション
========================================================= */

.hhc-estimate__options {
  margin-top: 20px;
  padding-top: 17px;
  border-top: 1px dashed var(--hhc-line);
}

.hhc-estimate__options h5,
.hhc-estimate__interior-item h5 {
  margin: 0 0 9px;
  padding: 0;
  color: var(--hhc-text);
  background: none;
  border: 0;
  font-size: 15px;
  font-weight: 800;
}

.hhc-estimate__options h5::before,
.hhc-estimate__options h5::after,
.hhc-estimate__interior-item h5::before,
.hhc-estimate__interior-item h5::after {
  display: none !important;
}

.hhc-estimate__option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 8px;
  padding: 12px;
  background: var(--hhc-bg);
  border: 1px solid var(--hhc-line);
  border-radius: 9px;
  cursor: pointer;
}

.hhc-estimate__option:has(input:checked) {
  background: var(--hhc-green-light);
  border-color: var(--hhc-green);
}

.hhc-estimate__option:has(input:disabled) {
  opacity: 0.5;
  cursor: not-allowed;
}

.hhc-estimate__option input[type="checkbox"] {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin: 2px 0 0;
  accent-color: var(--hhc-green);
}

.hhc-estimate__option-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  font-size: 13px;
  line-height: 1.6;
}

.hhc-estimate__option-info strong {
  color: var(--hhc-green-dark);
  white-space: nowrap;
  font-size: 12px;
}

/* =========================================================
   台数・枚数指定
========================================================= */

.hhc-estimate__quantity-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.hhc-estimate__quantity-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
  padding: 13px 12px;
  background: var(--hhc-bg);
  border: 1px solid var(--hhc-line);
  border-radius: 10px;
}

.hhc-estimate__quantity-item > div:first-child {
  min-width: 0;
}

.hhc-estimate__quantity-item .hhc-estimate__service-price {
  margin-top: 4px;
}

.hhc-estimate__quantity-control {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  margin: 0;
  color: var(--hhc-muted);
  font-size: 12px;
  font-weight: 600;
}

.hhc-estimate__quantity-control select {
  width: 70px;
  min-width: 70px;
  height: 42px;
  padding: 5px 8px;
  color: var(--hhc-text);
  background: #fff;
  border: 1px solid #cbd9d0;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.hhc-estimate__quantity-control select:focus {
  outline: 2px solid var(--hhc-green);
  outline-offset: 2px;
}

.hhc-estimate__benefit {
  margin: 15px 0 0;
  padding: 12px;
  color: var(--hhc-green-dark);
  background: var(--hhc-green-light);
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}

/* =========================================================
   インテリア
========================================================= */

.hhc-estimate__interior {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.hhc-estimate__interior-item {
  padding: 15px;
  background: var(--hhc-bg);
  border: 1px solid var(--hhc-line);
  border-radius: 11px;
}

.hhc-estimate__interior-item h5 {
  margin-bottom: 12px;
  color: var(--hhc-green-dark);
}

.hhc-estimate__interior-item > label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 11px;
  color: var(--hhc-muted);
  font-size: 12px;
  font-weight: 700;
}

.hhc-estimate__interior-item > label:last-child {
  margin-bottom: 0;
}

.hhc-estimate__interior-item select {
  width: 100%;
  height: 44px;
  padding: 8px 12px;
  color: var(--hhc-text);
  background: #fff;
  border: 1px solid #cbd9d0;
  border-radius: 8px;
  font-size: 14px;
}

/* =========================================================
   見積りサマリー
========================================================= */

.hhc-estimate__summary {
  padding: 20px 16px;
  background: #fff;
  border: 1px solid var(--hhc-line);
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(32, 77, 55, 0.05);
}

.hhc-estimate__empty {
  margin: 0;
  padding: 19px 12px;
  color: var(--hhc-muted);
  background: var(--hhc-bg);
  border: 1px dashed var(--hhc-line);
  border-radius: 9px;
  font-size: 13px;
  text-align: center;
}

#hhc-estimate-items {
  margin-bottom: 17px;
}

#hhc-estimate-items ul,
#hhc-estimate #hhc-confirm-items ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#hhc-estimate-items li,
#hhc-estimate #hhc-confirm-items li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #edf2ee;
  font-size: 13px;
}

#hhc-estimate-items li span:last-child,
#hhc-estimate #hhc-confirm-items li span:last-child {
  white-space: nowrap;
  font-weight: 700;
}

#hhc-estimate #hhc-confirm-items li span:first-child {
  flex: 1;
  min-width: 0;
}

#hhc-estimate #hhc-confirm-items li span:last-child {
  flex-shrink: 0;
}

.hhc-estimate__summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #edf2ee;
  font-size: 14px;
}

.hhc-estimate__summary-row strong {
  font-weight: 800;
  white-space: nowrap;
}

#hhc-discount-total {
  color: var(--hhc-orange);
}

/* STEP 2・STEP 4：お得額の文字色を共通カラーで統一 */
#hhc-estimate #hhc-discount-total,
#hhc-estimate #hhc-confirm-discount {
  color: var(--hhc-orange) !important;
  font-weight: 800;
}

/* STEP 4：割引表示行の装飾（適用済み割引の案内） */
#hhc-estimate .hhc-confirm__savings-row {
  background: var(--hhc-orange-light);
  border: 1px solid #f3dfc8;
}


.hhc-estimate__summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding: 17px 14px;
  color: #fff;
  background: var(--hhc-green-dark);
  border-radius: 11px;
}

.hhc-estimate__summary-total span {
  font-size: 13px;
  font-weight: 700;
}

.hhc-estimate__summary-total strong {
  font-size: clamp(21px, 5vw, 28px);
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
}

.hhc-estimate__summary > .hhc-estimate__help {
  margin: 12px 0 0;
}

/* =========================================================
   郵便番号・出張料
========================================================= */

.hhc-estimate__postal {
  margin-top: 16px;
  padding: 18px 16px;
  background: var(--hhc-bg);
  border: 1px solid var(--hhc-line);
  border-radius: 13px;
}

.hhc-estimate__postal > label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 800;
}

#hhc-postal-code {
  display: block;
  width: 100%;
  max-width: 280px;
  height: 48px;
  padding: 10px 13px;
  color: var(--hhc-text);
  background: #fff;
  border: 1px solid #cbd9d0;
  border-radius: 9px;
  font-size: 16px;
  letter-spacing: 0.04em;
}

#hhc-postal-result {
  margin: 10px 0 0;
  color: var(--hhc-green-dark);
  font-size: 12px;
  font-weight: 700;
}

.hhc-estimate__parking-notice {
  margin: 15px 0 0;
  color: var(--hhc-muted);
  font-size: 11px;
  line-height: 1.8;
}

/* =========================================================
   カレンダー表示エリア
========================================================= */

#hhc-booking-calendar {
  min-height: 100px;
  padding: 15px;
  background: #fff;
  border: 1px solid var(--hhc-line);
  border-radius: 14px;
}

/* =========================================================
   お客様情報フォーム
========================================================= */

#hhc-estimate-form {
  padding: 20px 16px;
  background: #fff;
  border: 1px solid var(--hhc-line);
  border-radius: 15px;
}

.hhc-estimate__field {
  margin-bottom: 20px;
}

.hhc-estimate__field > label {
  display: block;
  margin-bottom: 7px;
  font-size: 14px;
  font-weight: 800;
}

.hhc-estimate__required {
  display: inline-block;
  margin-left: 5px;
  padding: 2px 6px;
  color: #b64e3a;
  background: #fff0eb;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  vertical-align: middle;
}

.hhc-estimate__field input,
.hhc-estimate__field textarea {
  display: block;
  width: 100%;
  padding: 11px 13px;
  color: var(--hhc-text);
  background: #fff;
  border: 1px solid #cbd9d0;
  border-radius: 9px;
  font-size: 16px;
  line-height: 1.6;
}

.hhc-estimate__field input {
  min-height: 48px;
}

.hhc-estimate__field textarea {
  min-height: 130px;
  resize: vertical;
}

.hhc-estimate input:focus-visible,
.hhc-estimate select:focus-visible,
.hhc-estimate textarea:focus-visible,
.hhc-estimate button:focus-visible {
  outline: 2px solid var(--hhc-green);
  outline-offset: 2px;
}

.hhc-estimate__consent {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 10px 0 22px;
  padding: 15px 12px;
  background: var(--hhc-bg);
  border: 1px solid var(--hhc-line);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.8;
  cursor: pointer;
}

.hhc-estimate__consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
  accent-color: var(--hhc-green);
}

.hhc-estimate__consent a {
  color: var(--hhc-green-dark);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================================================
   仮申込みボタン
========================================================= */

.hhc-estimate__submit {
  text-align: center;
}

#hhc-estimate-submit {
  display: block;
  width: 100%;
  min-height: 56px;
  padding: 14px 20px;
  color: #fff;
  background: var(--hhc-green);
  border: 0;
  border-radius: 11px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
  transition: background-color 0.2s ease;
}

#hhc-estimate-submit:not(:disabled):hover {
  background: var(--hhc-green-dark);
}

#hhc-estimate-submit:disabled {
  background: #a8b7ad;
  cursor: not-allowed;
  opacity: 0.8;
}

.hhc-estimate__submit p {
  margin: 11px 0 0;
  color: var(--hhc-muted);
  font-size: 12px;
}

#hhc-estimate-form-message {
  margin-top: 15px;
  font-size: 13px;
}

/* =========================================================
   タブレット・PC
========================================================= */

@media (min-width: 600px) {

  .hhc-estimate {
    font-size: 16px;
  }

  .hhc-estimate__header {
    padding: 34px 32px;
  }

  .hhc-estimate__intro {
    font-size: 15px;
  }

  .hhc-estimate__section {
    margin-bottom: 40px;
  }

  .hhc-estimate__section-heading h3 {
    font-size: 22px;
  }

  .hhc-estimate__category {
    padding: 24px;
  }

  .hhc-estimate__service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hhc-estimate__interior {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hhc-estimate__summary,
  .hhc-estimate__postal,
  #hhc-estimate-form {
    padding: 26px;
  }

  .hhc-estimate__summary-total {
    padding: 20px 22px;
  }

  .hhc-estimate__summary-total span {
    font-size: 15px;
  }

  #hhc-estimate-submit {
    max-width: 440px;
    margin: 0 auto;
  }
}

/* =========================================================
   狭いスマートフォン
========================================================= */

@media (max-width: 380px) {

  .hhc-estimate__header {
    padding: 22px 15px;
  }

  .hhc-estimate__category {
    padding: 16px 12px;
  }

  .hhc-estimate__service {
    padding: 12px 10px;
  }

  .hhc-estimate__service-name {
    font-size: 13px;
  }

  .hhc-estimate__service-price {
    font-size: 12px;
  }

  .hhc-estimate__quantity-item {
    gap: 8px;
    padding: 11px 9px;
  }

  .hhc-estimate__quantity-control select {
    width: 62px;
    min-width: 62px;
  }

  .hhc-estimate__summary-total {
    padding: 15px 11px;
  }

  .hhc-estimate__summary-total span {
    font-size: 12px;
  }

  .hhc-estimate__summary-total strong {
    font-size: 21px;
  }
}

/* =========================================================
   アニメーション抑制設定
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .hhc-estimate *,
  .hhc-estimate *::before,
  .hhc-estimate *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* =========================================================
   見積り専用ページ（固定ページ ID 1446）
   導入をコンパクト化 / モーダルなし
   JS・料金・予約ロジックには影響しない
========================================================= */

/*
 * SWELLのパンくず直下の空白：原因をDevToolsで確認済み。
 * #content.l-content.l-container[data-postid="1446"] に
 * padding-top: 64px が指定されていたため、このページだけ16pxへ。
 * 他ページで同様の空白を調整するときも #content のpaddingを確認。
 */
#content.l-content[data-postid="1446"] {
  padding-top: 16px !important;
}

/* SWELL側のページタイトルだけ非表示 */
#body_wrap.page-id-1446 .c-pageTitle {
  display: none !important;
}

/* ページ本文の開始位置 */
#body_wrap.page-id-1446 .l-mainContent__inner {
  padding-top: 6px !important;
}

/* パンくず下の余白を詰める（見積り専用ページのみ） */
#body_wrap.page-id-1446 .l-mainContent {
  margin-top: 16px !important;
  padding-top: 0 !important;
}

#body_wrap.page-id-1446 .post_content {
  margin-top: 0 !important;
}

#body_wrap.page-id-1446 #hhc-estimate {
  margin-top: 0 !important;
}

/* 旧来の大きな導入カードは表示しない */
#body_wrap.page-id-1446 #hhc-estimate .hhc-estimate__header {
  display: none !important;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard {
  margin-top: 0 !important;
}

/*
 * タイトルは進捗バーの疑似要素で表示。
 * gridによりタイトル・現在ステップ・ステップ名を横並びにする。
 * 既存の進捗テキストはJS/PHPのまま使用する。
 */
#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__progress {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  column-gap: 14px;
  row-gap: 4px;
  /* タイトルと次の見出しの間に自然な余白を確保 */
  margin: 0 0 27px !important;
  padding: 0 0 11px !important;
  border-bottom: 2px solid #dce7e0;
  color: #36856b;
  font-size: 13px;
  font-weight: 700;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__progress::before {
  content: "かんたん見積り・仮予約";
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  color: #176b50;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.45;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__progress > * {
  width: auto;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__panel {
  padding-top: 0 !important;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__panel h3 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  font-size: 20px;
  line-height: 1.45;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__panel > p {
  margin-bottom: 10px !important;
  font-size: 13px;
}

/* ジャンル選択のカードとボタンを適度にコンパクト化 */
#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__genre {
  min-height: 86px;
  padding: 13px 18px;
  gap: 5px;
}

#body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__start {
  margin-top: 12px;
  min-height: 52px;
  padding: 11px 18px;
}

@media (max-width: 767px) {
  #body_wrap.page-id-1446 .l-mainContent__inner {
    padding-top: 3px !important;
  }

  #body_wrap.page-id-1446 .l-mainContent {
    margin-top: 10px !important;
  }

  #body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__genre {
    min-height: 88px;
    padding: 13px 12px;
    gap: 5px;
  }

  #body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__start {
    min-height: 50px;
    margin-top: 12px;
  }

  /* 狭い画面ではタイトルを1行目、進捗を2行目に配置 */
  #body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__progress {
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 5px;
    margin-bottom: 23px !important;
    padding-bottom: 12px !important;
  }

  #body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__progress::before {
    grid-column: 1 / -1;
    font-size: 20px;
  }

  #body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__progress > * {
    white-space: normal;
    font-size: 12px;
  }

  #body_wrap.page-id-1446 #hhc-estimate .hhc-wizard__panel h3 {
    font-size: 19px !important;
  }
}


/* =========================================================
   ジャンル選択・STEP 1：未選択時の次へボタン
   ※有効/無効の判定は estimate.php のウィザードJSが担当
========================================================= */
#hhc-estimate .hhc-wizard__start:disabled,
#hhc-estimate [data-wizard-actions="details"] .hhc-wizard__next:disabled {
  background: #d8dfda !important;
  color: #89958d !important;
  border-color: #d8dfda !important;
  box-shadow: none !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

/* =========================================================
   スマホ：インテリア3メニューを折りたたみ式に
   PCでは従来どおりすべて表示
========================================================= */
#hhc-estimate .hhc-interior-toggle{display:none}
@media (max-width:599px){
  #hhc-estimate .hhc-estimate__interior{gap:10px}
  #hhc-estimate .hhc-estimate__interior-item{padding:0;overflow:hidden;background:#fff}
  #hhc-estimate .hhc-estimate__interior-item>h5{display:none}
  #hhc-estimate .hhc-interior-toggle{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
    width:100%;min-height:70px;text-align:left;gap:3px 12px;
    padding:15px 16px;border:0;background:#f7faf8;color:#246b55;
    cursor:pointer;border-radius:10px;
  }
  #hhc-estimate .hhc-interior-toggle__title{grid-column:1;font-size:16px;font-weight:800;line-height:1.45}
  #hhc-estimate .hhc-interior-toggle__summary{grid-column:1;color:#68766f;font-size:12px;line-height:1.5}
  #hhc-estimate .hhc-interior-toggle__chevron{grid-column:2;grid-row:1/3;font-size:25px;line-height:1;transition:transform .2s}
  #hhc-estimate .hhc-interior-open .hhc-interior-toggle__chevron{transform:rotate(180deg)}
  #hhc-estimate .hhc-interior-has-selection .hhc-interior-toggle{background:#eff8f3}
  #hhc-estimate .hhc-interior-has-selection .hhc-interior-toggle__summary{color:#246b55;font-weight:700}
  #hhc-estimate .hhc-interior-fields{display:none;padding:15px;border-top:1px solid #dce7e0}
  #hhc-estimate .hhc-interior-open .hhc-interior-fields{display:block}
  #hhc-estimate .hhc-interior-toggle:focus-visible{outline:2px solid #36856b;outline-offset:-3px}
}

/* 屋外高圧洗浄・おすすめメニュー（既存の配色・割引デザインに合わせる） */
#hhc-estimate .hhc-outdoor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#hhc-estimate .hhc-outdoor-item{border:1px solid #dce7df;border-radius:12px;padding:12px;background:#fff;min-width:0}
#hhc-estimate .hhc-outdoor-item:has(input:checked){border-color:#287951;background:#f1f9f3}
#hhc-estimate .hhc-outdoor-item .hhc-estimate__service{display:flex;align-items:center;gap:10px;cursor:pointer}
#hhc-estimate .hhc-outdoor-size{margin-top:12px}
#hhc-estimate .hhc-outdoor-size label{display:block;font-size:.9em;font-weight:600}
#hhc-estimate .hhc-outdoor-size select{display:block;width:100%;margin-top:5px;min-height:42px;border:1px solid #cddbd2;border-radius:7px;background:#fff}
#hhc-estimate .hhc-upsells{margin:20px 0;padding:18px;border:1px solid #dce7df;border-radius:12px;background:#f7fbf8}
#hhc-estimate .hhc-upsells h4{margin:0 0 12px}
#hhc-estimate .hhc-upsell__toggle{font-weight:700;cursor:pointer}
#hhc-estimate .hhc-upsell__details{margin-top:14px}
#hhc-estimate [hidden]{display:none!important}
@media(max-width:600px){#hhc-estimate .hhc-outdoor-grid{grid-template-columns:1fr}}
