
/*==============================
    Scroll To Top
==============================*/

.scroll-top{
    position:fixed;
    right:30px;
    bottom:30px;
    width:55px;
    height:55px;
    background:#c3f842;
    color:#172000;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    font-size:24px;
    z-index:9999;

    box-shadow:0 10px 25px rgba(0,0,0,.18);

    opacity:0;
    visibility:hidden;
    transform:translateY(20px);

    transition:all .35s ease;
}

.scroll-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.scroll-top:hover{
    background:#172000;
    color:#c3f842;
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

.scroll-top i{
    line-height:1;
}

/* Mobile */

@media(max-width:768px){

.scroll-top{
    width:48px;
    height:48px;
    right:20px;
    bottom:20px;
    font-size:20px;
}

}
/* =========================================================
   Service Page — Dynamic Content Enhancements
   Extends service.css, uses the same brand palette
   (primary green #c3f842 / dark #172000)
   ========================================================= */

.sd-banner-image {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 28px;
    box-shadow: 0 12px 30px rgba(23, 32, 0, 0.12);
}

.sd-banner-image img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.sd-banner-image:hover img {
    transform: scale(1.03);
}

/* Sidebar list — nicer active/hover state */
.cv-service-list li a {
    transition: background .25s ease, color .25s ease, padding-left .25s ease;
}

.cv-service-list li a:hover {
    padding-left: 22px;
}

.cv-service-list li.active a {
    box-shadow: 0 6px 16px rgba(195, 248, 66, 0.35);
}

/* Help card phone — subtle pulse to draw attention */
.cv-help-phone {
    transition: transform .2s ease;
}
.cv-help-phone:hover {
    transform: translateY(-2px);
}

/* Content typography polish for admin-authored HTML */
.cv-service-content h2 {
    position: relative;
    padding-bottom: 10px;
}

/* .cv-service-content h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 4px;
    border-radius: 4px;
    background: var(--cv-green, #c3f842);
} */

.cv-service-content a {
    color: var(--cv-green, #c3f842);
    font-weight: 600;
    text-decoration: none !important;
    text-underline-offset: 3px;
}

.cv-service-content strong {
    color: var(--clenq-black, #172000);
}

/* Empty state (service not found) */
.sd-empty-state {
    text-align: center;
    padding: 90px 20px;
    max-width: 520px;
    margin: 0 auto;
}

.sd-empty-state i {
    font-size: 44px;
    color: #c3f842;
    margin-bottom: 18px;
}

.sd-empty-state h3 {
    font-size: 24px;
    color: #172000;
    margin: 0 0 10px;
}

.sd-empty-state p {
    color: #666;
    margin: 0 0 24px;
}

.sd-empty-btn {
    display: inline-block;
    background: #c3f842;
    color: #172000;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 30px;
    transition: background .2s ease;
}

.sd-empty-btn:hover {
    background: #a3d92a;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .sd-banner-image img { height: 260px; }
}

@media (max-width: 767px) {
    .sd-banner-image img { height: 200px; }
    .sd-empty-state { padding: 60px 16px; }
    .sd-empty-state h3 { font-size: 20px; }
}

@media (max-width: 480px) {
    .sd-banner-image { border-radius: 10px; margin-bottom: 20px; }
    .sd-banner-image img { height: 170px; }
}
