.service-content {
    max-width: 1200px; 
    margin: 15px; 
    background-color: #ffffff;
    border: 2px solid #7592b2; 
    border-radius: 8px;
    padding: 20px 15px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.service-content h1 { 
    text-transform: uppercase; 
    color: #204a87; 
    font-size: 1.6rem;
    margin-bottom: 25px; 
    border-bottom: 2px solid #204a87; 
    padding-bottom: 10px;
}
.service-content h2 { margin-bottom: 20px; color: #204a87; font-size: 1.4rem; }
.service-content h3 { margin-bottom: 15px; color: #333; font-size: 1.2rem; }

.service-list { list-style: none; padding-left: 0; margin-bottom: 30px; display: block; }
.service-list li { 
    position: relative; padding-left: 25px; margin-bottom: 15px; 
    color: #444; font-size: 1.1rem; 
    break-inside: avoid; page-break-inside: avoid; 
}
.service-list li::before { 
    content: "✓"; position: absolute; left: 0; 
    color: #204a87; font-weight: bold; 
}

.service-text { font-size: 1.1rem; line-height: 1.6; margin-bottom: 20px; color: #333; }

.important-note { 
    font-size: 1.15rem; font-weight: bold; color: #2c3e50; 
    background-color: #f8f9fa; padding: 20px; margin: 40px 0; 
    border-left: 5px solid #204a87; border-radius: 4px; line-height: 1.6; 
}
.divider { border-bottom: 1px dashed #ccc; margin-bottom: 40px; padding-bottom: 20px; }

.slider-container {
    position: relative; width: 100%; max-width: 900px; margin: 0 auto 20px auto;
    overflow: hidden; border-radius: 0; background: #111; aspect-ratio: 4 / 3; 
}
@supports not (aspect-ratio: 4 / 3) { .slider-container { padding-bottom: 75%; height: 0; } }
.slider-track { display: flex; transition: transform 0.4s ease-in-out; height: 100%; position: absolute; top: 0; left: 0; width: 100%; }
.slide { min-width: 100%; height: 100%; box-sizing: border-box; position: relative; display: flex; flex-direction: column; }
.slide a { flex: 1; display: flex; width: 100%; justify-content: center; align-items: center; overflow: hidden; }
.slide img { max-width: 100%; max-height: 100%; object-fit: contain; }

.slide-caption { width: 100%; background: #111; color: #fff; padding: 12px; text-align: center; font-size: 0.95rem; flex-shrink: 0; position: relative; }

.slider-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0, 0, 0, 0.5); color: #fff; border: none; width: 50px; height: 50px; border-radius: 50%; font-size: 1.8rem; cursor: pointer; z-index: 10; display: flex; justify-content: center; align-items: center; transition: background 0.3s; }
.slider-btn:hover { background: rgba(0, 0, 0, 0.9); }
.slider-btn.prev { left: 15px; } .slider-btn.next { right: 15px; }

.play-pause-btn { position: absolute; top: 15px; right: 15px; background: rgba(0, 0, 0, 0.5); color: #fff; border: 1px solid rgba(255,255,255,0.3); padding: 8px 15px; border-radius: 4px; cursor: pointer; z-index: 10; font-size: 0.95rem; transition: 0.3s; }
.play-pause-btn:hover { background: rgba(0, 0, 0, 0.9); }

.contact-box { 
    background-color: #f8f9fa; border-left: 5px solid #204a87; 
    padding: 20px; margin: 0 0 40px 0; border-radius: 4px; 
    font-size: 1.15rem; line-height: 1.8; color: #333; box-shadow: 0 2px 8px rgba(0,0,0,0.05); 
}
.contact-box p { margin-bottom: 10px; }
.contact-box a { color: #204a87; font-weight: bold; text-decoration: none; transition: color 0.3s; }
.contact-box a:hover { text-decoration: underline; }

.map-container { max-width: 630px; margin: 0 auto 15px auto; }
.map-relative { position: relative; width: 100%; cursor: pointer; }
.map-img-base, .map-img-hover { width: 100%; height: auto; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); display: block; }
.map-img-hover { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.4s ease-in-out; }
.map-relative:hover .map-img-hover, .map-relative:active .map-img-hover { opacity: 1; }
.map-hint { text-align: center; color: #666; font-style: italic; margin-bottom: 40px; font-size: 0.95rem; }

@media (min-width: 768px) {
    .service-content { 
        padding: 30px; 
        margin: 30px auto; 
        max-width: 96%; 
    } 
    .service-list { column-count: 2; column-gap: 40px; } 
    
    .slider-container { border-radius: 8px; margin-bottom: 40px; }
    .slide-caption { position: absolute; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.7); font-size: 1.05rem; }
}

@media (min-width: 992px) {
    .service-content { max-width: 1200px; } 
    .service-content h1 { font-size: 2.2rem; }
    .service-list { column-count: 3; column-gap: 50px; } 
}