/* 大維洗衣聯盟 — 模板之外的補充樣式 */

/* 內頁 banner 標題改用 h1（語意正確），沿用模板 h2 外觀但調整為中文適用字級 */
.hero-section.banner .hero-text h1 {
    font-size: 52px;
    font-weight: 800;
    padding-bottom: 10px;
    line-height: 1.25;
}
.heading h1 {
    font-weight: 800;
    padding-bottom: 30px;
}

/* 門市資訊區塊 */
.store-info p {
    margin-bottom: 0.6rem;
}
.store-info .sec-btn {
    margin: 0 0.5rem 0.75rem 0;
}
.store-photo img {
    width: 100%;
    height: auto;
    border-radius: 24px;
}

@media (max-width: 991px) {
    .hero-section.banner .hero-text h1 { font-size: 42px; }
}
@media (max-width: 767px) {
    .hero-section.banner .hero-text h1 { font-size: 32px; }
}

/* --- 照片比例統一 ---------------------------------------------------------
   門市／服務卡片的照片一律以 410:290 呈現，超出部分裁切置中。
   之後換上任何尺寸的實拍照都不會跑版，不需要事先裁圖。            */
.blog-img figure {
    margin: 0;
    aspect-ratio: 410 / 290;
    overflow: hidden;
    border-radius: 24px;
}
.blog-img figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 門市頁上方的大圖 */
.store-photo figure {
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
}
.store-photo figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 0;
}

/* 內頁 banner 大圖也統一比例 */
.banner .hero-img img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

/* --- 價格表 --------------------------------------------------------------- */
.price-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 0 34px;
    border-radius: 16px;
    border: 1px solid #e6ebe3;
}
.price-table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    background: #fff;
    font-size: 16px;
}
.price-table caption {
    caption-side: top;
    text-align: left;
    font-weight: 800;
    font-size: 19px;
    padding: 16px 20px 12px;
    color: #222;
}
.price-table thead th {
    background: #8cc63f;
    color: #fff;
    font-weight: 700;
    padding: 12px 14px;
    text-align: center;
    white-space: nowrap;
}
.price-table thead th:first-child {
    text-align: left;
    min-width: 150px;
}
.price-table tbody th {
    font-weight: 600;
    text-align: left;
    padding: 12px 14px;
    white-space: nowrap;
    color: #222;
}
.price-table tbody td {
    text-align: center;
    padding: 12px 14px;
    white-space: nowrap;
}
.price-table tbody tr:nth-child(even) {
    background: #f7faf4;
}
.price-table tbody tr + tr th,
.price-table tbody tr + tr td {
    border-top: 1px solid #eef2ea;
}
.price-table .na {
    color: #aab4a2;
}

.price-notes {
    background: #f7faf4;
    border-left: 4px solid #8cc63f;
    border-radius: 8px;
    padding: 18px 22px;
    margin: 8px 0 24px;
}
.price-notes p { margin: 0 0 8px; font-weight: 600; }
.price-notes ul { margin: 0; padding-left: 20px; }
.price-notes li { margin-bottom: 4px; }

@media (max-width: 575px) {
    .price-table { font-size: 15px; }
    .price-table caption { font-size: 17px; }
}

/* --- 文章內文 ------------------------------------------------------------- */
.post-body h2 {
    font-size: 26px;
    font-weight: 800;
    margin: 40px 0 14px;
    line-height: 1.4;
}
.post-body h2:first-child { margin-top: 0; }
.post-body p {
    line-height: 1.95;
    margin-bottom: 18px;
}
.post-body ul {
    margin: 0 0 22px;
    padding-left: 22px;
}
.post-body li {
    line-height: 1.9;
    margin-bottom: 10px;
}
.post-body strong { font-weight: 800; }
.post-body .price-table-wrap { margin-top: 8px; }

/* 文字型比較表：長句子要換行，不能沿用價格表的 nowrap */
.price-table.compare tbody th,
.price-table.compare tbody td {
    white-space: normal;
    line-height: 1.7;
    vertical-align: top;
    min-width: 150px;
}
.price-table.compare tbody th { min-width: 110px; }
