.d-flex {
  display: flex !important;
}
.align-items-lg-center {
    align-items: center !important;
}

/* Base container style */
.project-box {
    position: relative;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.project-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
}

/* --- NEW: Static Hint Bar Styles --- */
.project-static-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(17, 17, 17, 0.65); /* Elegant semi-transparent dark bar */
    padding: 15px 20px;
    z-index: 1; /* Sits over the image but below the hover overlay */
    transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;
    backdrop-filter: blur(4px); /* Modern frosted-glass aesthetic over the image */
}

.project-icon-box {
    margin-right: 15px;
    display: flex;
    align-items: center;
}

.project-hint-title {
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Hide the static bar smoothly when hovering */
.project-box:hover .project-static-bar {
    opacity: 0;
    transform: translateY(10px); /* Smooth slight downward exit */
}

/* --- Hover Overlay Setup --- */
.project-info-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(253, 201, 0, 0.95); /* Your exact gold color #fdc900 */
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 2; /* Sits safely on the very top layer */
}

.project-overlay-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
    padding: 20px;
}

.project-info-overlay h3 {
    color: #111111;
    margin-bottom: 6px;
    font-size: 1.6rem;
    font-weight: 700;
    transform: translateY(25px); 
    transition: transform 0.4s ease-in-out;
}

.project-info-overlay .tags {
    color: #222222;
    font-size: 0.95rem;
    font-weight: 500;
    transform: translateY(25px);
    transition: transform 0.4s ease-in-out;
}

/* Reveal overlay and animate typography elements up on hover */
.project-box:hover .project-info-overlay {
    opacity: 1;
    visibility: visible;
}

.project-box:hover .project-info-overlay h3,
.project-box:hover .project-info-overlay .tags {
    transform: translateY(0);
}

/* Custom backup fallback if Bootstrap classes are overridden by your theme */
@media (min-width: 768px) {
    .row-cols-md-2 .col {
        margin-bottom: 24px; /* Matches the exact standard right-side gutter gap */
    }
}
/* Services */
.Dynamic-service-detail {
    background-color: #f6f6f6;
    padding: 45px 0;
}
.service-s2-box-grids .inner h3 span:before {
    background-color: transparent;
}
.service-s2-box-grids .grid {
    width: 33.33%;
    float: left;
    padding: 0 15px;

}
/* 1. SHARED RULES: Applies border, padding, and layout to ALL boxes at once */
.service-s2-box-grids .grid [class*="inner0"] {
    border: 2px solid #e6e6e6;
    padding: 65px 42px 60px 100px;
    width: 100%;
    
    /* Background formatting locks */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.service-s2-box-grids .grid .inner01 {
    /* Starts from localhost root -> /HTML/osmansare/... */
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('/HTML/osmansare/admin/upload/inner01.jpg');
}

.service-s2-box-grids .grid .inner02 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('/HTML/osmansare/admin/upload/inner02.jpg');
}

.service-s2-box-grids .grid .inner03 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('/HTML/osmansare/admin/upload/inner03.jpg');
}
/* 1. Strip default browser underline from the new link wrapper */
.service-s2-box-grids .journey-card-link {
    text-decoration: none;
    display: block;
    height: 100%;
}

/* 2. Style the yellow Read More button */
.service-s2-box-grids .journey-read-more {
    display: inline-block;
    margin-top: 15px;
    font-size: 13px;
    font-weight: 800;
    color: #fdc900; /* Your signature yellow */
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

/* 3. Prepare the arrow for GPU hardware acceleration */
.service-s2-box-grids .nudge-arrow {
    display: inline-block;
    transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}

/* 4. THE TRIGGER: Hovering ANYWHERE on the card slides the arrow */
.service-s2-box-grids .journey-card-link:hover .nudge-arrow {
    transform: translateX(8px); /* Slides arrow 8px to the right */
}

/* 5. BONUS POLISH: Slightly brighten the yellow when hovered */
.service-s2-box-grids .journey-card-link:hover .journey-read-more {
    color: #ffffff; /* Snaps text to crisp white on hover */
}

.projects-grid-view-section.our-team-bg {
    background-color: #f6f6f6;
    padding-bottom: 100px;
    margin-bottom: 0px;
}

.project-single-section .project-single-details {
    border: 0px solid #fdc900; 
    padding: 0px; 
    border-radius: 5px;
}

.page-title:before {
    content: "";
    background-color: rgba(0, 0, 0, 0.65);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

#loader, #success, #error {
    display: none;
    margin-top: 15px;
}
#success { color: green; }
#error { color: red; }

/* Custom Styling for the Dynamic Service Detail Page */
.dynamic-service-detail {
    background-color: #fcfcfc; /* Soft background tint to pop the content card */
    padding-top: 80px;
    padding-bottom: 80px;
}

/* Back Link styling */
.back-to-services {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #222;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    text-decoration: none;
    margin-bottom: 20px;
}

.back-to-services:hover {
    color: #fdc900; /* Matches theme button color, adjust if needed */
    transform: translateX(-5px);
}

/* Image Wrapper with sophisticated shadow and border radius */
.service-detail-img-wrapper {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    transition: transform 0.4s ease;
}

.service-detail-img-wrapper:hover {
    transform: translateY(-5px);
}

.service-main-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Right Content Area Styling */
.service-detail-content {
    padding-left: 30px;
}

@media (max-width: 767px) {
    .service-detail-content {
        padding-left: 0;
        margin-top: 40px; /* Gives separation space on mobile devices */
    }
}

.service-meta-tag {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fdc900; /* Theme highlight color */
    font-weight: 700;
    display: block;
    margin-bottom: 8px;
}

.service-title {
    font-size: 36px;
    font-weight: 700;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0 0 15px 0;
}

.service-icon {
    color: #fdc900; /* Accent color for the icon */
    font-size: 40px;
}

/* Premium Accent Divider instead of the standard thin <hr> */
.accent-line {
    width: 60px;
    height: 4px;
    background-color: #fdc900;
    margin-bottom: 25px;
    border-radius: 2px;
}

.service-description p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
}

/* about us --- HOVER GRID STYLES --- */
.hover-grid {
	position: relative;
	margin-bottom: 30px;
}

/* New wrapper to ensure images and overlays are perfectly identical in size */
.image-wrapper {
	position: relative;
	overflow: hidden;
	border-radius: 4px; /* Optional: smooth corners */
	aspect-ratio: 4 / 3; /* Forces a uniform rectangular shape for all 3 columns */
	background-color: #f8f8f8;
}

.image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* Prevents distortion, ensures the image fills the space completely */
	display: block;
	transition: transform 0.4s ease;
}

/* The transparent yellow overlay #fdc900 (253, 201, 0) */
.image-wrapper .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(253, 201, 0, 0.9); /* 90% opacity */
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 20px;
	opacity: 0; /* Hidden by default */
	transition: all 0.4s ease-in-out;
	z-index: 20;
}

/* Show the overlay and text on hover */
.image-wrapper:hover .overlay {
	opacity: 1;
}

/* Optional: slight zoom on the image when hovering */
.image-wrapper:hover img {
	transform: scale(1.05);
}

/* Text animation inside the overlay */
.image-wrapper .overlay h3,
.image-wrapper .overlay p {
	color: #222; /* Dark text contrasts best with the yellow */
	transform: translateY(20px);
	transition: all 0.4s ease-in-out;
	margin: 0;
}

.image-wrapper .overlay p {
	margin-top: 10px;
}

.image-wrapper:hover .overlay h3,
.image-wrapper:hover .overlay p {
	transform: translateY(0);
}

/* Top-Left Hover Indicator Icon */
.hover-indicator {
	position: absolute;
	top: 15px;
	left: 15px;
	background-color: #fdc900;
	color: #111;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
	box-shadow: 0 2px 6px rgba(0,0,0,0.3);
	pointer-events: none; /* Prevents it from interfering with the hover */
}

/* Hide the small indicator icon when the full overlay opens */
.image-wrapper:hover .hover-indicator {
	opacity: 0;
	transition: opacity 0.2s;
}

/* --- VERTICAL DIVIDERS --- */
@media (min-width: 768px) {
	/* Divider is now attached to hover-grid so it perfectly matches the image height */
	.col-with-divider:not(:last-child) .hover-grid::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0; /* Matches exact height of the image */
		right: -15px; /* Placed exactly in the middle of the Bootstrap gutter */
		width: 1px;
		background-color: #e0e0e0; /* Divider color */
	}
}

/* --- BLUE FEATURES SECTION STYLES --- */
.features-blue {
	padding: 80px 0;
	/* background-color: #ffffff; Clean white background */
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* First column title block */
.features-title {
	text-align: left;
	margin-bottom: 30px;
}

.features-title h2 {
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 15px;
	color: #111;
}

.feature-grid-left .more {
    color: #fdc900;
    font-weight: 600;
}

/* Feature Grid Block */
.feature-grid-left {
	text-align: left; /* Forces left alignment */
	margin-bottom: 40px;
}

/* Flexbox container to put icon and title side-by-side */
.feature-grid-left .feature-header {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

/* The light gray rounded square for the icon */
.feature-grid-left .icon-box {
	width: 60px;
	height: 60px;
	background-color: #fdc900; /* Light gray background */
	border-radius: 8px; /* Rounded corners */
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 15px;
	flex-shrink: 0; /* Prevents icon box from shrinking */
}

/* Icon sizing and color */
.feature-grid-left .icon-box i {
	/*font-size: 30px;
	width: 32px;
	height: 32px;*/
	color: #000;
}

/* Title styling */
.feature-grid-left .feature-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 900;
	color: #000;
}

/* Paragraph styling */
.feature-grid-left .details p {
	color: #444;
	line-height: 1.6;
	margin-bottom: 20px;
}

/* Yellow Primary Button */
.btn-primary-yellow {
	background-color: #fdc900; /* Your custom yellow */
	color: #111; /* Dark text for contrast */
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	transition: background-color 0.2s ease;
}

.btn-primary-yellow:hover,
.btn-primary-yellow:focus {
	background-color: #e5b600; /* Slightly darker yellow on hover */
	color: #111;
	text-decoration: none;
}

/* PROJECTS */
div.tags > a {
    color: #fdc900;
}

/* 1. Force the container into a single horizontal line */
.recent-projects-grids {
    white-space: nowrap;
    overflow-x: hidden; 
}

/* 2. Make the cards sit side-by-side */
.recent-projects-grids .grid {
    display: inline-block;
    vertical-align: top;
    width: 330px; /* <--- Adjust this number to make cards wider/narrower */
    margin-right: 25px;
    white-space: normal; /* Resets text so your titles wrap normally */
}

/* 3. Ensure the inner plugin container accepts the width */
.recent-projects-grids .mCSB_container {
    display: flex !important;
    flex-direction: row;
}

/* 1. The sliding track */
.carousel-track {
    display: flex;
    gap: 30px; /* <--- YOUR EXACT GAP BETWEEN IMAGES */
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* Smooth momentum on iOS */
    padding-bottom: 15px; /* Room for card drop-shadows */
    
    /* Hide the ugly desktop scrollbar */
    scrollbar-width: none; /* Firefox */
}

.carousel-track::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Edge */
}

/* 2. The individual project card */
.carousel-card {
    flex: 0 0 340px; /* Lock card width strictly to 340px */
    scroll-snap-align: start; /* Forces card to snap flush to the left margin */
}

.carousel-card img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
}

/* 3. The Left/Right Arrow Buttons */
.carousel-btn {
    background: #f4f4f4;
    border: 1px solid #ddd;
    color: #333;
    padding: 8px 18px;
    font-size: 18px;
    cursor: pointer;
    border-radius: 4px;
    margin-left: 6px;
    transition: all 0.2s ease;
}

.carousel-btn:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* 1. Target ALL possible Owl Carousel Next/Prev element variations */
.recent-projects .owl-nav [class*="owl-"],
.recent-projects .owl-controls .owl-buttons [class*="owl-"],
.recent-projects .owl-prev,
.recent-projects .owl-next {
    background: #fdc900 !important;
    background-color: #fdc900 !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 4px !important;
    display: inline-block !important;
    text-align: center !important;
    font-size: 12px !important;
    margin: 0 4px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    opacity: 1 !important;
}

/* 2. Hover State */
.recent-projects .owl-nav [class*="owl-"]:hover,
.recent-projects .owl-controls .owl-buttons [class*="owl-"]:hover,
.recent-projects .owl-prev:hover,
.recent-projects .owl-next:hover {
    background: #e3b400 !important;
    background-color: #e3b400 !important;
    color: #ffffff !important;
}

/* 3. Center the container regardless of version */
.recent-projects .owl-nav,
.recent-projects .owl-controls {
    margin-top: 25px !important;
    text-align: center !important;
    width: 100% !important;
}