/* Only Rinnai product details load this stylesheet; catalog covers stay unchanged. */
.rinnai-publication .product-wrap { max-width:1440px; }
.rinnai-publication .product-layout { grid-template-columns:minmax(220px,.72fr) minmax(260px,.88fr) minmax(360px,1.25fr); gap:24px; align-items:start; }
.rinnai-publication .gallery { position:static; min-width:0; }
.rinnai-publication .product-info { min-width:0; padding-top:24px; container-type:inline-size; }
.rinnai-publication .product-info h1 { font-size:clamp(36px,3.8vw,58px); }
.rinnai-publication .fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rinnai-publication .field { min-width:0; }
.rinnai-publication .result strong { font-size:clamp(24px,6.6cqw,36px); }
@container (max-width:440px) {
  .rinnai-publication .fields, .rinnai-publication .result { grid-template-columns:minmax(0,1fr); }
}

.rinnai-availability { margin:22px 0; padding:22px; border:1px solid #b9cbd1; border-top:5px solid #527b8b; border-radius:18px; background:var(--surface-rose); box-shadow:0 12px 30px #483b3520; }
.rinnai-availability h2 { margin:0 0 16px; color:#403733; font-size:23px; line-height:1.2; letter-spacing:-.025em; }
.availability-options { display:grid; grid-template-columns:1fr 1.2fr; gap:10px; }
.availability-options > div { display:flex; flex-direction:column; justify-content:center; gap:9px; min-width:0; padding:16px 14px; border-radius:12px; }
.availability-ready { background:#e8f1f6; color:#30596a; border:1px solid #c5d9e3; }
.availability-order { background:#f5e7ef; color:#763957; border:1px solid #e4bfd2; }
.availability-options span { font-size:15px; font-weight:750; line-height:1.35; }
.availability-options strong { display:block; font-size:clamp(22px,2.2vw,28px); line-height:1.15; letter-spacing:-.03em; }
.availability-options small { font-size:14px; line-height:1.35; }
.availability-same-price { display:flex; align-items:center; justify-content:center; gap:10px; margin:14px 0 0; padding:13px 12px; border-radius:10px; background:#48413f; color:#fff; font-size:16px; font-weight:800; line-height:1.4; text-align:center; }
.availability-swatches { display:inline-flex; flex:none; align-items:center; }
.availability-swatches i { width:18px; height:18px; border:1px solid #fff9; border-radius:50%; }
.availability-swatches i + i { margin-left:-3px; }
.swatch-white { background:#fff; }
.swatch-black { background:#181818; }
.swatch-gray { background:#a9abad; }
.availability-current { margin:14px 0 0; padding-top:12px; border-top:1px solid #e1d9d4; color:#544742; font-size:15px; font-weight:650; line-height:1.5; }

.rinnai-technical-panel { margin-top:0; min-width:0; }
.rinnai-technical-card { position:relative; display:flex; flex-direction:column; justify-content:center; gap:12px; min-height:180px; padding:25px; border:1px solid #68544a; border-radius:14px; background:#4a3931; color:#fff; text-decoration:none; box-shadow:0 10px 24px #4a393125; }
.rinnai-technical-card:hover { background:#5c4438; }
.rinnai-technical-card:focus-visible { outline:3px solid #527b8b; outline-offset:4px; }
.technical-card-kicker { padding-right:35px; color:#edc8b4; font-size:14px; font-weight:750; line-height:1.35; }
.rinnai-technical-card strong { font-size:clamp(23px,2.6vw,30px); font-weight:850; line-height:1.15; letter-spacing:-.025em; }
.technical-card-caption { color:#f1ded4; font-size:15px; line-height:1.4; }
.technical-card-arrow { position:absolute; top:18px; right:22px; color:#edc8b4; font-size:30px; line-height:1; }
.rinnai-quick-specs { margin-top:16px; padding:22px; border:1px solid #dfc7bc; border-radius:14px; background:var(--surface-rose); }
.rinnai-quick-specs summary { cursor:pointer; color:#4a3931; font-size:22px; font-weight:850; line-height:1.25; }
.rinnai-quick-specs .spec-list { margin-top:15px; padding-left:20px; font-size:16px; line-height:1.6; }
.rinnai-quick-specs .spec-list li + li { margin-top:7px; }
.rinnai-publication .product-contact-section { margin-top:38px; padding-top:30px; border-top:2px solid #bda095; }

@media (max-width:1100px) {
  .rinnai-publication .product-layout { grid-template-columns:minmax(260px,.85fr) minmax(340px,1.15fr); grid-template-areas:"photo info" "tech info"; row-gap:22px; }
  .rinnai-publication .gallery { grid-area:photo; }
  .rinnai-publication .product-info { grid-area:info; }
  .rinnai-technical-panel { grid-area:tech; }
}
@media (max-width:900px) {
  .rinnai-publication .product-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"photo" "info" "tech"; }
}
@media (max-width:420px) {
  .rinnai-availability { padding:17px; }
  .availability-options { grid-template-columns:1fr; }
  .availability-options > div { padding:14px; }
  .availability-same-price { flex-wrap:wrap; }
  .rinnai-technical-card { padding:22px; }
}
