/* General Page Styling */
.service-detail-page {
    font-family: fontbook;
    margin-top: -120px;
}

.header-service-detail{
    background-image: 
        url("../../../assets/img/slicingmobile/mobile/about/pattern.png"),
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url("../../../assets/img/service2025/bgservicedetail2025.jpg");
    
    background-repeat: repeat, no-repeat, no-repeat;
    background-position: top center, center, center;
    -webkit-background-size: auto, cover, cover;
    background-size: auto, cover, cover;
}

.content-title { font-size: 36px; font-weight: bold; margin-bottom: 20px; }
.content-subtitle { font-size: 22px; font-weight: 600; margin-top: 0; margin-bottom: 15px;text-align: center;color: #B5BEBD; }
.content-desc {
    padding-left: 10vw;
    padding-right: 10vw;
    word-wrap: break-word; 
    text-align: center;
}

.content-desc *{ color: #ccc;text-align: justify;word-wrap: break-word; }

/* Header / Hero Section */
.header-service-detail .header-title-wrap-2 { 
    padding:40px;
    padding-left: 10vw;
    padding-right: 10vw;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    }

    .header-service-detail .header-title-wrap-2 a{ 
        width: 20vw;
        border-radius: 0px;
    }

.header-service-detail .header-title { font-size: 52px; }
.header-service-detail .header-desc {
     font-size: 18px !important;
      color: #ccc !important; 
      margin-top: 20px; 
      margin-bottom: 30px;
      word-wrap: break-word;
      word-break: break-all;
      height: auto;
      justify-content: center;
      align-items: center;
      align-content: center;
      text-align: center;
    }

.header-service-detail .header-desc span{
    font-size: 18px !important;
    color: #ccc !important; 
}
.header-service-detail .header-image { border-radius: 8px; }

/* Custom Button Styles */
.btn-custom-outline, .btn-custom-outline-white {
    background-color: transparent;
    border: 1px solid #888;
    color: #fff;
    padding: 12px 30px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}
.btn-custom-outline:hover, .btn-custom-outline-white:hover {
    background-color: #fff;
    color: #1f2024;
    border-color: #fff;
}
.btn-custom-outline-white { border-color: #ccc; }

/* Introduction Section */
/* .content-introduction { background-color: #f0f0f0; color: #333; }
.content-introduction .content-title { color: #111; }
.content-introduction .content-subtitle { color: #444; }
.content-introduction .content-desc { color: #555; } */

.content-introduction{
    padding-left: 10vw;
    padding-right: 10vw;
    padding-bottom: 10vh;
    padding-top: 10vh;
}

/* Detail Services Section */
.content-detail-services{

}

.service-card {
    border: 1px solid #444;
    padding: 30px;
    background-color: #FFFFFF33;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.service-icon { color: #ddd; margin-bottom: 20px; }
.service-card-title { font-size: 24px; font-weight: 600; margin-top: 0; }
.service-card-subtitle { color: #aaa; margin-bottom: 20px; }
.service-card-desc { color: #ccc; flex-grow: 1; }
.service-card .btn { margin-top: 30px; }

/* Our Client Section */
/* .content-our-clients .content-desc { max-width: 600px; } */
.client-grid {
    display: grid;
    grid-template-columns: repeat(5, 0.1fr);
    gap: 15px;
    margin-top: 40px;
    /* padding-right: 20vw; */
    justify-content: center;
}
.client-logo-wrapper {
    background-color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15vw;
    height: 10vh;
    padding: 15px;
}
.client-logo-wrapper img {
    max-height: 50px;
    width: auto;
    filter: grayscale(100%) brightness(5);
}
@media (max-width: 991px) { .client-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 767px) { .client-grid { grid-template-columns: repeat(3, 1fr); } }

/* FAQ Section */
.content-faq .panel-group .panel {
    /* background-color: transparent; */
    border: 1px solid #444;
    border-radius: 0;
}
.content-faq .panel-heading {
    padding: 0;
    border-radius: 0;
    /* background-color: #1b1d1c; */
}
.content-faq .panel-title > a {
    display: block;
    position: relative;
    padding-right: 40px;
    text-decoration: none;
    color: #B5BEBD;
}
.content-faq .panel-title > a:after {
    content: '';
    background-image: url('../../../assets/img/service2025/faq_arrow.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    width: 15px;
    height: 15px;
    
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -7.5px; /* Half of the height for perfect vertical centering */
    transition: transform 0.3s ease;
}
.content-faq .faq-item.active .panel-title > a::after {
    transform: rotate(180deg);
}

.content-faq .panel-body { border-top: 1px solid #444 !important; color: #ccc; }

.content-faq-wrapper{
    padding-bottom: 2vh;

}

.faq-item{
    padding: 1.5vw;
    margin: 1.5vw;
    border: 1px solid #FFFFFF;
}

/* Contact Form Section */
.content-contact{
    background: linear-gradient(0deg, #1B1D1C, #1B1D1C),
                linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));
}

.content-contact .form-group label {
    color: #ccc;
    font-weight: normal;
    display: block;
    margin-bottom: 8px;
}
.content-contact .form-control {
    background-color: transparent !important;
    border: 1px solid #666;
    border-radius: 0;
    color: #fff;
    box-shadow: none;
}
.content-contact .form-control:focus {
    border-color: #fff;
    box-shadow: none;
}

.recaptcha-placeholder {
    border: 1px solid #666;
    height: 78px;
    padding: 15px;
    color: #aaa;
}

.form-body{
    margin-right: 1.5vw;
    margin-left: 1.5vw;
    padding-bottom: 2vh;
}

.form-component-msg{
    margin-left: 15px;
    margin-right: 15px;
}

.form-component-msg .form-group{
    width: 100%;
    padding-right: 30px;
}

/* .form-component{
    padding: 15px;
} */


.service-panel {
    background: #FFFFFF33;

    border-color: #222;
    /* color: #fff; */
    display: flex;
    flex-direction: column;

    max-width: 25vw !important;
    transition: 0.2s all;
    margin: 1vw 1vw;
    box-shadow: 10px 10px 100px 0px #00000080;
    border-radius: 0px;
    height: 45vh;
}

.service-panel .panel-body {
    /* Allows the body to grow and fill available space */
    flex-grow: 1;
}

.service-panel .panel-heading,
.service-panel .panel-body,
.service-panel .panel-footer {
    background-color: transparent;
    border: none;
}

.service-panel .panel-title {
    color: #B5BEBD;
    font-size: 22px;
    text-align: center;
    min-height: 16vh;
    line-height: 4vh;
    display: flex;
    /* justify-content: center; */
    align-items: center;
}

.service-panel .title-body {
    margin: auto;

}

.service-panel .panel-desc {
    color: #B5BEBD;
    /* margin-top: 50px; */
    padding-left: 20px;
    padding-right: 20px;
    align-items: end;
    word-wrap: break-word;
    /* padding: 2vw; */
}

.service-panel .panel-desc *{
    color: #B5BEBD;
}

.service-panel .panel-desc li{
    margin-top: 0.5vh;
}

.service-panel ul {
    color: #B5BEBD; /* Lighter text for the list */
}

.title-body-heading{
    padding: 1vw;
}

.row-tighter-gutters {
    margin-left: 10vw !important;
    margin-right: 10vw !important;
}

.row-tighter-gutters > [class*="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}

.wrapperhome {
    /*bottom: 10rem;*/
    color: #fff;
    line-height: 30px;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 100;
    height: auto;
    padding-bottom: 40px;
}
.showcase-section .text-wrap {
    width: 100%;
}

.showcase-home ul li a:hover img{
    /*width: 120%;
    top: -10%;
    left: -10%;*/
	transform: translate(-50%, -50%) scale(1.2);
}

.showcase-home {
    margin: 0 auto;
    width: 90%;
    /*padding-bottom:20px;*/
	max-width: 1500px;
}


.showcase-section .text-wrap{
	width: 100%;
}
.showcase-home ul {
    list-style: outside none none;
    margin: 17px auto 17px;
    padding: 0;
    text-align: center;
}
.showcase-home ul li {
    display: inline-block;
    margin: 12px;
    width: 220px;
}
.showcase-home ul li div{
	height: 135px;
    overflow: hidden;
    position: relative;
    /*width: 220px;*/
}
.showcase-home ul li a img{
	width: 100%;
	/*position: relative;
	top: 0;
	left: 0;*/
	left: 50%;
    position: absolute;
    top: 50%;
	transform: translate(-50%, -50%) scale(1);
	-webkit-transform: translate(-50%, -50%) scale(1);
	-webkit-transition: all .2s ease-in-out 0s;
    -moz-transition: all .2s ease-in-out 0s;
    -o-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
}
.showcase-home ul li a{
	position: relative;
	display: block;
	-webkit-box-shadow: 10px 10px 100px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 10px 10px 100px 0px rgba(0,0,0,0.75);
	box-shadow: 10px 10px 100px 0px rgba(0,0,0,0.75);
    /*max-width: 135px;*/
}
.showcase-home ul li a:hover div:after{
	content: ' ';
	display: none;
	position: absolute;
	top: -30%;
	left: 0;
	background: rgba(0, 0, 0, 0.5) url('../img/home/see details.png') no-repeat center center;
	z-index: 10;
	width: 100%;
	padding-bottom: 100%;
}

.content-faq-wrapper .faq-answer {
        display: none;
        padding: 1.5vw;
        margin: 1.5vw;
        border: 1px solid #FFFFFF;
        color: white;
    }

    .content-faq-wrapper .faq-answer *{
        margin: 0;
    }

    .content-faq-wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Style for the select dropdown */
    .form-control {
        color: #000; /* Ensures all text is black by default */
    }

    /* Style for the initial placeholder state */
    select.placeholder {
        color: #6c757d; /* A standard placeholder color, you can change this */
    }

    select.form-control option {
        color: #000000;
    }

    select.form-control option:disabled {
        color: #000000;
    }

@media screen and (max-width: 991px) {
    .client-grid {
        grid-template-columns: repeat(4, 1fr); /* 4 columns for tablets */
        width: 100%;
        padding: 15px !important;
    }
    .client-logo-wrapper {
        width: 100%; /* Let the grid control the width */
        height: 100px;
    }
    .row-tighter-gutters {
        margin-left: 0px !important;
        margin-right: 0px !important;
    }
    .service-panel {
        max-width: none !important; /* Allow panel to fill its column */
        margin: 0 auto;
        width: 90%;
        padding-top: 5vw;
    }

    .content-desc {
        padding-left: 5vw;
        padding-right: 5vw;
    }
    
    .content-introduction .content-desc{
        text-align: justify;
        padding: 0%;
    }


    .showcase-home ul li{
        width: 85vw;
        height: 25vh;
    }

    .showcase-home ul li div {
        height: 100%;
    }

    .header-service-detail .header-title-wrap-2 a{ 
        width: 100%;
        border-radius: 0px;
    }

    .service-panel .panel-desc {
        text-align: justify;
}

.service-panel .panel-desc *{
    color: #B5BEBD;
}
    
}

/* Small screens and down (mobile phones) */
@media screen and (max-width: 767px) {
    .header-service-detail .header-title-wrap-2{
        padding-top: 100px;
        padding-bottom: 40px;
        margin-top: 40px;
    }

    .header-service-detail .header-title {
        font-size: 36px; /* Reduce heading size */
    }
    .header-service-detail .header-desc {
        font-size: 16px; /* Reduce paragraph size */
    }
    .content-title {
        font-size: 28px; /* Reduce section title size */
    }
    
    /* --- Client Grid on Mobile --- */
    .client-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for mobile is usually best */
        gap: 10px;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* --- Service Panel on Mobile --- */
    .service-panel{
        margin-bottom: 5vh;
        height: auto;
    }

    .service-panel .panel-title {
        min-height: auto; /* Remove fixed height for title */
        height: auto;
        font-size: 20px;
        padding: 4vw;
    }

    .panel-body{
        padding:0px;
    }
    
    /* --- FAQ on Mobile --- */
    .faq-item {
        margin-left: 0;
        margin-right: 0;
        padding: 3vw;
        
    }
    .content-faq-wrapper .faq-answer {
        margin: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 3vw;
        display: flex;
        align-items: center;
        display: none;
    }

    .content-faq-wrapper .faq-answer *{
        margin: 0;
    }

    .content-faq-wrapper{
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* --- Contact Form on Mobile --- */
    .form-body {
        margin-left: 0; /* Remove large side margins */
        margin-right: 0;
    }
    .form-component{
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }
    
    .form-component-msg {
        display: block;
        margin: auto;
    }
    .form-component-msg .form-group {
        padding-right: 0;
    }
    .form-group.text-right {
        text-align: center; /* Center the submit button */
    }
    .form-group.text-right .btn {
        width: 100%; /* Make button full width */
    }

    /* --- Background Images on Mobile --- */
    .content-wrapper-bg {
        background: url("../../../assets/img/slicingmobile/mobile/about/bgabout.png") no-repeat;
        transition: all 1000ms linear 0s;
        background-size: cover;
        background-position: center;
    }
}

/* Extra small screens (older phones) */
@media screen and (max-width: 480px) {
    .content-wrapper-bg {
        background: #1b1d1c url("../../../assets/img/slicingmobile/mobile/careers/bgcareers.jpg") no-repeat top center;
        background-size: cover; /* Cover is better than a fixed pixel size */
        margin-top: -120px;
        padding-top: 120px;
    }
    .client-grid {
        grid-template-columns: repeat(2, 1fr); /* Ensure 2 columns on very small screens */
    }
}

