/* ihinseiri.css - 遺品整理ページ用（既存base/cleaningを壊さず最小追加） */

.hero-ihinseiri .hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: center;
}
@media (max-width: 980px){
  .hero-ihinseiri .hero-grid{ grid-template-columns: 1fr; }
}

.section{ padding: 34px 0; }
.section-head{ margin-bottom: 14px; }
.section-head .muted{ line-height: 1.85; }

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 980px){
  .split{ grid-template-columns: 1fr; }
}

.media-frame{
  border-radius: 18px;
  overflow: hidden;
}
.media-frame img{
  width:100%;
  display:block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.media-frame.small img{ aspect-ratio: 4 / 3; }

.bullets{
  margin: 14px 0 0;
  padding-left: 18px;
}
.note{
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted);
}

.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 980px){
  .cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .cards{ grid-template-columns: 1fr; }
}
.card-media img{
  width:100%;
  display:block;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin-bottom: 10px;
}

.subhead{ margin-top: 18px; }

.price-grid{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px 12px;
}
@media (max-width: 600px){
  .price-grid{ grid-template-columns: 1fr; }
}
.price-row{
  display:flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.7);
}

.case-list{ display:flex; flex-direction: column; gap: 14px; margin-top: 14px; }
.case-grid{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 980px){
  .case-grid{ grid-template-columns: 1fr; }
}
.case-media img{
  width:100%;
  display:block;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.meta{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 10px;
}
@media (max-width: 720px){
  .meta{ grid-template-columns: 1fr; }
}
.meta div{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(255,255,255,.7);
}
.meta dt{ font-size: 12px; color: var(--muted); }
.meta dd{ margin: 0; font-weight: 700; }

.flow-grid{
  display:grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
@media (max-width: 1100px){
  .flow-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px){
  .flow-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .flow-grid{ grid-template-columns: 1fr; }
}
.flow-media img{
  width:100%;
  display:block;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin-bottom: 10px;
}

.faq details{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px 14px;
  background: rgba(255,255,255,.7);
  margin: 10px 0;
}
.faq summary{ cursor: pointer; font-weight: 700; }
.faq p{ margin: 10px 0 0; line-height: 1.8; color: var(--muted); }

/* CTAは既存の印象を壊さず微調整のみ */
.cta .cta-inner{
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}
@media (max-width: 980px){
  .cta .cta-inner{ flex-direction: column; align-items: flex-start; }
}
.cta-side{ width: min(420px, 100%); }

/* 画像が無い場合でも崩れない最低限 */
img{ background: rgba(0,0,0,.03); }


/* ---- Fix: base.css の .hero (flex) と競合するため、遺品整理ページの HERO だけ block に戻す ---- */
.hero.hero-ihinseiri{display:block;}
