/* ==================== Service Page ==================== */

/* Page Banner */
.page-banner { position: relative; height: 280px; overflow: hidden; }
.page-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.page-banner-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.35); }
.page-banner h1 { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 44px; font-weight: 600; letter-spacing: 1px; margin: 0; }

/* Breadcrumb */
.breadcrumb-bar { background: #f2f2f2; padding: 14px 0; font-size: 14px; color: #666; }
.breadcrumb-bar .container { max-width: 1500px; margin: 0 auto; }
.breadcrumb-bar a { color: #666; transition: color 0.3s; }
.breadcrumb-bar a:hover { color: #4c4c4c; }
.breadcrumb-label { margin-right: 8px; }
.breadcrumb-sep { margin: 0 8px; }
.breadcrumb-current { color: #4c4c4c; }

/* Main Layout */
.service-wrap { padding: 45px 0 0; }
.service-wrap .container { max-width: 1500px; margin: 0 auto; }

/* Intro: anchor nav + teal box */
.service-intro { display: flex; align-items: stretch; gap: 0; }
.anchor-nav { flex: 0 0 28%; display: flex; flex-direction: column; background: #f5f5f5; }
.anchor-link { display: block; padding: 18px 22px; font-size: 15px; color: #333; text-decoration: none; border-bottom: 1px solid #e5e5e5; transition: all 0.3s; }
.anchor-link:last-child { border-bottom: none; }
.anchor-link:hover, .anchor-link.active { background: #4c4c4c; color: #fff; }

.service-intro-box { flex: 1; background: #4c4c4c; color: #fff; padding: 40px 45px; }
.service-intro-box h2 { font-size: 34px; font-weight: 600; margin: 0 0 20px; }
.service-intro-box p { font-size: 15px; line-height: 1.9; margin: 0 0 18px; opacity: 0.95; }
.service-intro-box p:last-child { margin-bottom: 0; }

/* Wide Factory Image */
.wide-image { margin: 45px 0; }
.wide-image img { width: 100%; display: block; }

/* Service Sections */
.service-section { padding: 45px 0; scroll-margin-top: 20px; }
.service-section .container { max-width: 1500px; margin: 0 auto; }
.service-section.gray { background: #f5f5f5; }
.service-section h2 { font-size: 26px; font-weight: 600; color: #222; margin: 0 0 15px; }
.section-text { font-size: 15px; line-height: 1.9; color: #555; margin: 0 0 15px; }

/* Split Row (image + text) */
.split-row { display: flex; gap: 35px; align-items: center; }
.split-media { flex: 0 0 46%; }
.split-media img { width: 100%; display: block; }
.split-content { flex: 1; min-width: 0; }
.split-content h2 { font-size: 24px; margin-bottom: 15px; }
.split-content p { font-size: 15px; line-height: 1.9; color: #555; margin: 0 0 15px; }
.split-content p:last-child { margin-bottom: 0; }
.split-row.reverse .split-media { order: 2; }
.split-row.reverse .split-content { order: 1; }

/* Drawing Grid (3 cards) */
.drawing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top: 35px; }
.drawing-card { border: 1px solid #eee; background: #fff; overflow: hidden; transition: box-shadow 0.3s; }
.drawing-card:hover { box-shadow: 0 5px 18px rgba(0,0,0,0.1); }
.drawing-card img { width: 100%; display: block; }

/* Inspection Grid (2 groups) */
.inspect-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 30px; }
.inspect-item { text-align: center; }
.inspect-imgs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 15px; }
.inspect-imgs img { width: 100%; height: 260px; object-fit: cover; display: block; background: #fff; }
.inspect-item h4 { font-size: 16px; font-weight: 600; color: #333; margin: 0; }

/* Maintenance Grid (3 images) */
.maint-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.maint-grid img { width: 100%; height: 280px; object-fit: cover; display: block; }

/* Smooth anchor scroll */
html { scroll-behavior: smooth; }

/* ==================== Responsive ==================== */
@media (max-width: 1024px) {
    .service-intro { flex-direction: column; }
    .anchor-nav { flex: unset; flex-direction: row; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .anchor-nav::-webkit-scrollbar { display: none; }
    .anchor-link { white-space: nowrap; padding: 14px 18px; border-bottom: none; border-right: 1px solid #e5e5e5; font-size: 14px; }
    .anchor-link:last-child { border-right: none; }
    .split-row { gap: 25px; }
    .maint-grid img, .inspect-imgs img { height: 200px; }
}

@media (max-width: 768px) {
    .page-banner { height: 180px; }
    .page-banner h1 { font-size: 30px; }
    .service-wrap { padding-top: 25px; }
    .service-intro-box { padding: 25px 20px; }
    .service-intro-box h2 { font-size: 26px; }
    .wide-image { margin: 25px 0; }
    .service-section { padding: 30px 0; scroll-margin-top: 15px; }
    .service-section h2 { font-size: 21px; }
    .split-row, .split-row.reverse { flex-direction: column; gap: 15px; align-items: stretch; }
    .split-media { flex: unset; }
    .split-row.reverse .split-media { order: 0; }
    .split-row.reverse .split-content { order: 0; }
    .split-content h2 { font-size: 20px; }
    .drawing-grid { grid-template-columns: 1fr; gap: 15px; margin-top: 20px; }
    .inspect-grid { grid-template-columns: 1fr; gap: 25px; margin-top: 20px; }
    .inspect-imgs img { height: 160px; }
    .maint-grid { grid-template-columns: 1fr; gap: 15px; margin-top: 20px; }
    .maint-grid img { height: 210px; }
}
