/* hotel-detail.css - 完整版（缩略图放大不溢出） */
.hotel-detail { width:1160px; max-width:1160px; min-width:1160px; background:#fff; border-radius:24px; box-shadow:0 12px 30px rgba(0,0,0,0.08); margin:0 auto; overflow:hidden; }
.hotel-detail .section { padding-left:20px; padding-right:20px; }
.hotel-detail .header-row { display:flex; justify-content:space-between; align-items:flex-start; padding-top:20px; padding-bottom:12px; border-bottom:1px solid #f0f0f0; }
.hotel-detail .hotel-name h1 { font-size:20px; font-weight:600; color:#1a1a1a; margin:0; }
.hotel-detail .price-area { text-align:right; }
.hotel-detail .old-price { font-size:16px; color:#9e9e9e; text-decoration:line-through; margin-right:8px; }
.hotel-detail .current-price { font-size:28px; font-weight:700; color:#e63946; }
.hotel-detail .book-btn { background:#e63946; color:white; border:none; border-radius:30px; padding:8px 20px; font-size:14px; font-weight:500; cursor:pointer; margin-left:16px; transition:background 0.2s; }
.hotel-detail .book-btn:hover { background:#c62a36; }
.hotel-detail .address-row { display:flex; justify-content:space-between; align-items:center; padding-top:14px; padding-bottom:14px; border-bottom:1px solid #f0f0f0; font-size:14px; }
.hotel-detail .address-group { display:flex; align-items:center; gap:12px; }
.hotel-detail .address { display:flex; align-items:center; gap:6px; color:#2c3e50; }
.hotel-detail .map-link { color:#1e88e5; text-decoration:none; }
.hotel-detail .gallery { padding:20px 20px 0 20px; display:flex; gap:12px; background:white; }
.hotel-detail .main-img { flex:0 0 440px; height:280px; border-radius:16px; overflow:hidden; background:#eef2f7; }
.hotel-detail .main-img img { width:100%; height:100%; object-fit:cover; }
.hotel-detail .thumb-grid { flex:1; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.hotel-detail .thumb-img { height:134px; border-radius:12px; overflow:hidden; background:#eef2f7; }
.hotel-detail .thumb-img img { width:100%; height:100%; object-fit:cover; }
.hotel-detail .bottom-two-col { display:flex; gap:40px; padding:20px; }
.hotel-detail .left-col { width:715px; flex-shrink:0; }
.hotel-detail .right-col { width:405px; flex-shrink:0; }

/* 标题宽度保护 */
.hotel-detail .section-title { 
    font-size:18px; 
    font-weight:600; 
    color:#1e2a3a; 
    margin-bottom:12px; 
    border-bottom:2px solid #e63946; 
    display:inline-block; 
    width: auto !important;
    max-width: max-content;
}
.hotel-detail .feature-tags { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.hotel-detail .tag { background:#f1f3f5; padding:6px 14px; border-radius:40px; font-size:13px; color:#2c3e50; }
.hotel-detail .three-col { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; }
.hotel-detail .col-item { font-size:14px; color:#2c3e50; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.hotel-detail .intro-text { font-size:14px; line-height:1.55; color:#4a5568; text-align:justify; }
.hotel-detail .rating-review { background:#fffef7; border:1px solid #e0d6c5; border-radius:24px; padding:18px 20px; margin-bottom:24px; }
.hotel-detail .rating-stats { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
.hotel-detail .score-number { font-size:32px; font-weight:800; color:#f5a623; }
.hotel-detail .score-text { font-size:18px; font-weight:600; color:#2d3e50; }
.hotel-detail .review-count { font-size:14px; color:#7f8c8d; background:white; padding:4px 12px; border-radius:40px; border:1px solid #e9ecef; }
.hotel-detail .review-bubble { font-size:14px; color:#2d3e50; background:white; border-radius:20px; padding:16px; border-left:4px solid #f5a623; }

/* 附近交通标题宽度保护 */
.hotel-detail .nearby-title { 
    font-size:18px; 
    font-weight:600; 
    color:#1e2a3a; 
    margin-bottom:12px; 
    border-bottom:2px solid #e63946; 
    display:inline-block; 
    width: auto !important;
    max-width: max-content;
}
.hotel-detail .nearby-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; background:#fafafc; border:1px solid #e2e8f0; border-radius:24px; padding:18px 16px; }
.hotel-detail .nearby-item { font-size:13px; color:#2c3e50; display:flex; align-items:center; gap:6px; }

/* ========== 图片悬停放大（缩略图不溢出） ========== */
.hotel-detail .main-img img,
.hotel-detail .thumb-img img {
    transition: transform 0.4s ease;
}
.hotel-detail .main-img:hover img,
.hotel-detail .thumb-img:hover img {
    transform: scale(1.08);
}
/* 不需要再单独设置 .thumb-img:hover 的 overflow，保持默认 hidden，放大图片被裁剪，不会溢出 */
.hotel-detail .main-img,
.hotel-detail .thumb-img {
    cursor: pointer;
}

@media (max-width:1180px) { 
    .hotel-detail { margin:0; width:100%; min-width:auto; } 
    .hotel-detail .bottom-two-col { flex-direction:column; } 
    .hotel-detail .left-col, .hotel-detail .right-col { width:100%; } 
    .hotel-detail .gallery { flex-direction:column; } 
    .hotel-detail .main-img { width:100%; } 
}