/* ----------------------------------------------------------------------------------------
* File          : Site-specific styles and overrides
* Loaded after  : css/rtl.css
* Scope         : anything that is not about text direction - e.g. the eyebrow label class
*                 that replaces misused <h3> tags, and background-image paths for the
*                 company's real photos (custom.css is never edited).
*                 Direction mirroring belongs in rtl.css, not here.
*                 New rules are written RTL-first with logical properties.
* ---------------------------------------------------------------------------------------- */

/************************************/
/***         Main Menu            ***/
/************************************/

/* Hide the dropdown arrows next to submenu items in the desktop menu
   (custom.css:631-638 and 680-683). The mobile menu arrows (.slicknav_arrow) stay,
   because tapping them is how submenus open on mobile. */
.main-menu ul li.submenu > a:after,
.main-menu ul li.submenu ul li.submenu > a:after{
	content: none;
}

/* No arrow circle next to the header button: drop the circle (custom.css:228-247)
   and the side margin that made room for it (rtl.css) */
.header-btn .btn-default{
	margin-inline: 0;
}

.header-btn .btn-default::before{
	content: none;
}

/* Company logo (images/united-german-logo.webp, 323x128 = 2x). The template logo was 193x50;
   this one is a bit taller so the Arabic line under "UNITED GERMAN" stays legible. */
.navbar-brand img{
	height: 64px;
	width: auto;
}

/* Footer columns (about 3 + company 2 + services 4 + contact 3): the about column got
   narrower, so its side margin goes from 90px (rtl.css:417) to 30px. Desktop only - from
   991px down rtl.css already removes it. */
@media only screen and (min-width: 992px){
	.main-footer .about-footer{
		margin-left: 30px;
	}
}

/* Copyright: short main line, then "تم التطوير بواسطة شركة zasck" a little smaller */
.footer-copyright-text .footer-copyright-main{
	font-size: 16px;
	font-weight: 500;
	color: var(--white-color);
}

.footer-copyright-text .footer-developer{
	font-size: 15px;
	color: rgba(255, 255, 255, 0.85);
	margin-top: 6px;
}

.footer-copyright-text .footer-developer a{
	color: var(--accent-color);
	font-weight: 700;
}

.footer-copyright-text .footer-developer a:hover{
	color: var(--white-color);
}

/* Footer "خدماتنا": the 8 links in 2 columns, filled column by column (1-4 on the right,
   5-8 on the left), each column as wide as its longest link so none wraps.
   From 1200px (wide desktop); below that the column is too narrow, so one column. */
@media only screen and (min-width: 1200px){
	.footer-services-links ul{
		display: grid;
		grid-template-rows: repeat(4, auto);
		grid-auto-flow: column;
		grid-auto-columns: max-content;
		align-items: start;
		column-gap: 44px;
	}

	.footer-services-links ul li{
		white-space: nowrap;
	}
}

/* Footer logo: the logo's dark parts (the Arabic line, the dot of the "i") disappear on the
   navy footer, so it sits on a white panel with the cards' radius (24px) and an even padding.
   Replaces the template sizing (custom.css:2404-2407, 5567-5569). */
.footer-logo-link{
	display: inline-block;
	background: var(--white-color);
	border-radius: 24px;
	padding: 12px;
	line-height: 0;
}

.footer-logo img{
	height: 56px;
	width: auto;
	max-width: none;
}

/* Preloader icon: the company's bug (images/united-icon.webp, 132x132 = 2x) instead of the
   template's loader.svg. The bug is green like the preloader background (custom.css:333),
   so it sits in a white circle inside the spinning ring (custom.css:339-369). */
#loading-icon{
	max-width: none;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--white-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

#loading-icon img{
	width: 58px;
	height: auto;
}

/************************************/
/***     Section Eyebrow Label    ***/
/************************************/

/* Replaces the template's ".section-title h3", which sat above the section heading and
   broke the heading order. Restyled as a light pill with a thin border (instead of the
   template's solid block, custom.css:408-432 and 464-471), with a variant per background:
   white section = light accent tint, light section = white, dark section = translucent. */
.section-title .section-eyebrow{
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6em;
	color: var(--accent-color);
	background: rgba(41, 155, 70, 0.08);
	border: 1px solid rgba(41, 155, 70, 0.22);
	border-radius: 100px;
	padding-block: 5px;
	padding-inline: 32px 16px;
	margin-bottom: 15px;
}

.section-title .section-eyebrow::before{
	content: '';
	position: absolute;
	top: 50%;
	inset-inline-start: 16px;
	transform: translateY(-50%);
	background: var(--accent-color);
	border-radius: 50%;
	width: 6px;
	height: 6px;
	box-shadow: 0 0 0 3px rgba(41, 155, 70, 0.18);
}

.light-bg-section .section-title .section-eyebrow{
	background: var(--white-color);
	border-color: rgba(41, 155, 70, 0.28);
	box-shadow: 0 4px 14px rgba(0, 47, 71, 0.06);
}

.dark-section .section-title .section-eyebrow{
	color: var(--white-color);
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.2);
}

/************************************/
/***            Hero              ***/
/************************************/

/* One even navy overlay over the whole photo (replaces the side gradient in custom.css:845
   and rtl.css), so the centered text reads clearly */
.hero::before{
	background: rgba(0, 47, 71, 0.8);
}

/* Centered content with a max width so lines don't get too long */
.hero-content.hero-content-centered{
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

/* Hero type scale, set here because custom.css:435 now has 40px for ".section-title h1",
   which made the desktop h1 smaller than the tablet one (44px at 991px) */
.hero-content-centered .section-title h1{
	font-size: 58px;
	line-height: 1.25em;
}

.hero-content-centered .section-title p{
	font-size: 20px;
	line-height: 1.7em;
}

/* Small badge above the h1: transparent with a thin border */
.hero-content .section-title .hero-badge{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6em;
	color: var(--white-color);
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 100px;
	padding: 6px 18px;
	margin-bottom: 20px;
}

.hero-content .section-title .hero-badge i{
	color: var(--accent-color);
}

/* White line under the h1 - clearly smaller than the h1 (58px), larger than the paragraph
   (20px). Selector beats ".dark-section .section-title p" and ".hero-content .section-title p" */
.hero-content .section-title .hero-tagline{
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4em;
	color: var(--white-color);
	margin-top: 15px;
}

.hero-content-centered .hero-btn{
	justify-content: center;
	margin-top: 40px;
}

/* No arrow circle next to the hero booking button: drop the circle (custom.css:228-247)
   and the side margin that made room for it (rtl.css). The header button keeps it. */
.hero-content-centered .hero-btn .btn-default{
	margin-inline: 0;
	font-size: 17px;
}

.hero-content-centered .hero-btn .btn-default::before{
	content: none;
}

/* Outline WhatsApp button: same size as .btn-default (custom.css:211-226), transparent
   with an accent border. 2px border + 15px padding = the same 50px height. */
.btn-outline-whatsapp{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1em;
	color: var(--white-color);
	background: transparent;
	border: 2px solid var(--accent-color);
	border-radius: 100px;
	padding: 15px 28px;
	transition: all 0.4s ease-in-out;
}

.btn-outline-whatsapp i{
	font-size: 20px;
}

.btn-outline-whatsapp:hover{
	color: var(--white-color);
	background: var(--accent-color);
}

/* Small light note under the buttons */
.hero-content .hero-note{
	font-size: 16px;
	line-height: 1.6em;
	color: rgba(255, 255, 255, 0.85);
	margin: 25px 0 0;
}

/************************************/
/***   Floating Contact Buttons   ***/
/************************************/

/* Fixed to the bottom-left corner on every screen size (physical left on purpose).
   Nothing else in the template is fixed there; the preloader (z-index 1000) still
   covers them while the page loads. Must be added to every page converted to RTL. */
.floating-contact{
	position: fixed;
	left: 20px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	z-index: 999;
}

.floating-contact-btn{
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	font-size: 24px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
	transition: transform 0.3s ease-in-out;
}

.floating-contact-btn:hover{
	color: var(--white-color);
	transform: scale(1.08);
}

.floating-whatsapp{
	background: #25D366;
	font-size: 28px;
}

.floating-phone{
	background: var(--primary-color);
}

/************************************/
/***      Best Services Cards     ***/
/************************************/

/* These cards list features, not services, so the title is a <p>, not a heading.
   Same look as the global heading rule (custom.css:95-105) plus custom.css:1026-1030.
   No bottom margin: the "read more" link it used to space from was removed. */
.best-service-item-content .best-service-title{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--primary-color);
	text-transform: capitalize;
	margin: 0;
}

/* Short description under each card title. The icon is aligned to the top (instead of
   centered, custom.css:974) so icons stay on one line when descriptions differ in length. */
.best-service-item{
	align-items: flex-start;
}

.best-service-item-content .best-service-desc{
	font-size: 15px;
	line-height: 1.6em;
	color: var(--text-color);
	margin: 8px 0 0;
}

/* Font Awesome icons (sharp at any size) instead of the template's thin SVG lines:
   rounded square with a light accent tint; on hover it fills with the accent color
   (the template's ::before scale effect, custom.css:996-1013) and the icon turns white. */
.best-service-item .icon-box{
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: rgba(41, 155, 70, 0.12);
}

.best-service-item .icon-box::before{
	background-color: var(--accent-color);
	border-radius: 18px;
}

.best-service-item .icon-box i{
	position: relative;
	z-index: 1;
	font-size: 26px;
	color: var(--accent-color);
	transition: color 0.4s ease-in-out;
}

.best-service-item:hover .icon-box i{
	color: var(--white-color);
}

/* 64px icon + 20px side margin (rtl.css) */
.best-service-item-content{
	width: calc(100% - 84px);
}

/* Template icons drawn in green (made for light backgrounds), shown on a green icon box */
.icon-box img.icon-to-white{
	filter: brightness(0) invert(1);
}

/************************************/
/***   Section Background Order   ***/
/************************************/

/* index.html alternates white / light sections. .our-features uses the "background"
   shorthand for its mosquito image (custom.css:1386-1391), which resets the color set by
   .light-bg-section, so the light color is restored here. */
.our-features.light-bg-section{
	background-color: var(--secondary-color);
}

/************************************/
/***     Our Services Slider      ***/
/************************************/

/* Equal-height cards with the "details" link pinned to the bottom, since the
   descriptions have different lengths. Swiper slides default to height:100%,
   which resolves to auto here, so each card was only as tall as its own text;
   height:auto lets the flex wrapper stretch every slide to the tallest one. */
.services-slider .swiper-slide{
	height: auto;
}

.services-slider .service-item{
	display: flex;
	flex-direction: column;
}

.services-slider .service-body{
	flex: 1;
	display: flex;
	flex-direction: column;
}

.services-slider .service-content{
	flex: 1;
}

/* Service icon: clean white circle with a soft shadow and an accent-colored icon,
   overlapping the photo (instead of the solid green disc with a white border,
   custom.css:1271-1305). On card hover the template's ::before scale effect fills it
   with the accent color and the icon turns white. Works for Font Awesome <i> and the
   inline rodent <svg> (fill="currentColor"). */
.services-slider .service-body .icon-box{
	width: 78px;
	height: 78px;
	background: var(--white-color);
	border: 1px solid rgba(41, 155, 70, 0.18);
	box-shadow: 0 10px 28px rgba(0, 47, 71, 0.14);
	margin-top: -72px;
}

.services-slider .service-body .icon-box::before{
	background-color: var(--accent-color);
}

.services-slider .service-body .icon-box i,
.services-slider .service-body .icon-box .icon-svg{
	position: relative;
	z-index: 1;
	color: var(--accent-color);
	transition: color 0.4s ease-in-out;
}

.services-slider .service-body .icon-box i{
	font-size: 30px;
}

.services-slider .service-body .icon-box .icon-svg{
	width: 34px;
	height: 34px;
}

.services-slider .service-item:hover .service-body .icon-box i,
.services-slider .service-item:hover .service-body .icon-box .icon-svg{
	color: var(--white-color);
}
/************************************/
/***   Section Footer Text Badge  ***/
/************************************/

/* The small green badge before the footer line (e.g. "واتساب"). The template makes it
   an inline span with equal 12px padding (custom.css:1361-1368); the final Arabic letter
   (like "ب") has a tail that reaches past its advance width toward the end side, so it
   touched the badge edge. inline-block lays the padding out properly and the end side
   gets more room. */
.section-footer-text p span{
	display: inline-block;
	font-weight: 700;
	line-height: 1.5em;
	padding-block: 3px;
	padding-inline: 12px 16px;
	border-radius: 6px;
	vertical-align: middle;
}

/************************************/
/***         Call banner          ***/
/************************************/

/* includes/call-banner.php - navy contact box, no photo. Replaced the template's
   .page-cta-box (employee photo, custom.css:1836-1913) in the services sidebar,
   "خطوات العمل" (index.php) and "لماذا تختارنا" (services/index.php). */
.call-banner{
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	background: var(--primary-color);
	border-radius: 28px;
	padding: 36px 30px;
}

/* Next to the cards in .why-choose-box (custom.css:1762-1775): same width, and the flex
   row stretches it to the cards' height; the content is centered vertically */
.call-banner-grid{
	width: calc(25% - 22.5px);
}

.call-banner-sidebar{
	width: 100%;
}

.call-banner > *{
	position: relative;
	z-index: 1;
}

/* Big faint phone in the bottom corner, cut by the edge */
.call-banner .call-banner-deco{
	position: absolute;
	z-index: 0;
	bottom: -28px;
	inset-inline-end: -22px;
	font-size: 150px;
	line-height: 1;
	color: rgba(255, 255, 255, 0.06);
	pointer-events: none;
}

.call-banner-icon{
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: rgba(41, 155, 70, 0.18);
	color: var(--accent-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin-bottom: 18px;
}

.call-banner p{
	margin: 0;
}

.call-banner .call-banner-title{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4em;
	color: var(--white-color);
}

.call-banner .call-banner-text{
	font-size: 14px;
	line-height: 1.6em;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 6px;
}

.call-banner .call-banner-label{
	font-size: 14px;
	font-weight: 600;
	color: var(--accent-color);
	margin-top: 22px;
}

.call-banner-number{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 6px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--white-color);
}

.call-banner-number:hover{
	color: var(--white-color);
}

.call-banner-number-icon{
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--accent-color);
	color: var(--white-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	transition: scale 0.3s ease-in-out;
}

.call-banner-number:hover .call-banner-number-icon,
.call-banner-number:focus-visible .call-banner-number-icon{
	scale: 1.12;
}

.call-banner .call-banner-whatsapp{
	font-size: 14px;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 18px;
}

.call-banner-whatsapp a{
	color: var(--accent-color);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.call-banner-whatsapp a:hover{
	color: var(--white-color);
}

.call-banner-whatsapp a i{
	margin-inline-end: 5px;
	font-size: 15px;
}

@media only screen and (max-width: 991px){

	/* 2 per row, like .why-choose-item (custom.css:4629) */
	.call-banner-grid{
		width: calc(50% - 15px);
	}

	.call-banner{
		padding: 30px 24px;
	}
}

@media only screen and (max-width: 767px){

	.call-banner-grid{
		width: 100%;
	}

	.call-banner{
		border-radius: 24px;
	}

	.call-banner-number{
		font-size: 22px;
	}
}

@media (prefers-reduced-motion: reduce){
	.call-banner-number-icon{
		transition: none;
	}
}

/************************************/
/***         Testimonials         ***/
/************************************/

/* Customer name was an <h3> only for the look. Same look as the global heading rule
   (custom.css:95-105) plus .author-content h3 (custom.css:2087-2091). */
.author-content .testimonial-author-name{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--primary-color);
	margin: 0;
}

/* Equal-height review cards: Swiper slides default to height:100%, which resolves to
   auto, so each card was only as tall as its own text. */
.testimonial-slider .swiper-slide{
	height: auto;
}

.testimonial-slider .testimonial-item{
	height: 100%;
}

/************************************/
/***    About Page (about.html)   ***/
/************************************/

/* Feature list takes the full width when the video box next to it is removed
   (custom.css:1115 gives it 70% to share the row with the video) */
.about-us-body .about-us-list.about-us-list-full{
	width: 100%;
}

/* Experience box number was an <h2> only for the look (and came before the section h2).
   Same look as the global heading rule (custom.css:95-105) plus custom.css:2627-2631. */
.experience-content .experience-number{
	font-size: 44px;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--white-color);
	margin-bottom: 5px;
}

/* Vision / mission: 4 icon cards (no images) in a 2x2 grid; grid-auto-rows: 1fr makes
   every card as tall as the tallest one, across both rows. */
.vision-mission-boxes.vision-mission-cards{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 1fr;
	gap: 30px;
}

.vision-mission-cards .vision-mission-item{
	width: auto;
	display: flex;
}

.vision-mission-cards .vision-mission-content{
	flex: 1;
	padding: 25px;
}

/* Icon on the navy card: soft translucent rounded square with a thin border, white icon */
.vision-mission-cards .vision-mission-icon{
	position: relative;
	z-index: 1;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	transition: all 0.4s ease-in-out;
}

.vision-mission-cards .vision-mission-icon i{
	font-size: 22px;
	color: var(--white-color);
	transition: all 0.4s ease-in-out;
}

/* On hover the card fills with the accent color (custom.css:2658-2674) */
.vision-mission-cards .vision-mission-item:hover .vision-mission-icon{
	background: var(--white-color);
	border-color: var(--white-color);
}

.vision-mission-cards .vision-mission-item:hover .vision-mission-icon i{
	color: var(--accent-color);
}

/* Values (legacy) cards: light-tinted rounded square with an accent icon instead of the
   template's solid 70px green circle (custom.css:2819-2850); on hover the template's
   ::before scale effect fills it with the accent color and the icon turns white. */
.legacy-item .icon-box{
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: rgba(41, 155, 70, 0.1);
	margin-bottom: 24px;
}

.legacy-item .icon-box::before{
	background-color: var(--accent-color);
	border-radius: 18px;
}

.legacy-item .icon-box i{
	position: relative;
	z-index: 1;
	font-size: 26px;
	color: var(--accent-color);
	transition: color 0.4s ease-in-out;
}

.legacy-item:hover .icon-box i{
	color: var(--white-color);
}

/* Guarantee box icon (Font Awesome instead of the template's icon-experience.svg) */
.experience-box .icon-box{
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.16);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
}

.experience-box .icon-box i{
	font-size: 28px;
	color: var(--white-color);
}

/* No arrow circle on the about page body buttons: drop the circle (custom.css:228-247)
   and the side margin that made room for it (rtl.css). The header button keeps it. */
.approach-button .btn-default,
.legacy-button .btn-default,
.cta-btn .btn-default{
	margin-inline: 0;
}

.approach-button .btn-default::before,
.legacy-button .btn-default::before,
.cta-btn .btn-default::before{
	content: none;
}

/************************************/
/***      أيقونات الخدمات         ***/
/***      (Service Icons)         ***/
/************************************/

/* Hand-drawn inline SVG service icons (viewBox 48, 2px round strokes, currentColor)
   in a rounded square frame. Generic class: drop <div class="service-icon"><svg>…</svg></div>
   into any .service-item. The ".duo" shape gets a light accent fill (duotone). */
.service-icon{
	position: relative;
	z-index: 1;
	width: 76px;
	height: 76px;
	border-radius: 22px;
	background: var(--secondary-color);
	border: 1px solid var(--divider-color);
	box-shadow: 0 8px 22px rgba(0, 47, 71, 0.10);
	color: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease, rotate 0.35s ease;
}

.service-icon svg{
	width: 40px;
	height: 40px;
}

.service-icon .duo{
	fill: var(--accent-color);
	fill-opacity: 0.18;
	transition: fill 0.35s ease, fill-opacity 0.35s ease;
}

/* Inside the template's service card the frame overlaps the photo, like the
   original round icon box (custom.css:1271-1286) */
.service-body .service-icon{
	margin: -66px auto 20px;
}

/* Hover: green frame, white icon, slight tilt; the card lifts.
   "rotate" / "translate" are separate CSS properties, so they don't fight the
   WOW/animate.css entrance animation, which keeps control of "transform". */
/* "Why choose us" cards use the same icon in place of the template's round icon box
   (custom.css:1794-1806) */
.why-choose-item .service-icon{
	margin-bottom: 30px;
}

.service-item:hover .service-icon,
.why-choose-item:hover .service-icon{
	background-color: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
	rotate: -8deg;
}

.service-item:hover .service-icon .duo,
.why-choose-item:hover .service-icon .duo{
	fill: var(--white-color);
	fill-opacity: 0.25;
}

.service-item:has(.service-icon),
.why-choose-item:has(.service-icon){
	transition: translate 0.35s ease;
}

.service-item:has(.service-icon):hover,
.why-choose-item:has(.service-icon):hover{
	translate: 0 -6px;
}

/* Reduced motion: keep the color change only */
@media (prefers-reduced-motion: reduce){

	.service-icon{
		transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
	}

	.service-item:hover .service-icon,
	.why-choose-item:hover .service-icon{
		rotate: none;
	}

	.service-item:has(.service-icon),
	.service-item:has(.service-icon):hover,
	.why-choose-item:has(.service-icon),
	.why-choose-item:has(.service-icon):hover{
		transition: none;
		translate: none;
	}
}

/************************************/
/***   Services Page (services)   ***/
/************************************/

/* Card titles are <h2> on services.html (main content under the page h1).
   Same look as .service-content h3 (custom.css:1317-1325). */
.service-content h2{
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 10px;
}

.service-content h2 a{
	color: inherit;
}

/* Equal-height cards with the "details" link pinned to the bottom. Grid columns
   stretch to the tallest card in the row; .service-item fills its column
   (custom.css:1245). */
.page-services .service-item{
	display: flex;
	flex-direction: column;
}

.page-services .service-body{
	flex: 1;
	display: flex;
	flex-direction: column;
}

.page-services .service-content{
	flex: 1;
}

/************************************/
/***   Service Detail Pages       ***/
/***  (cockroach-control.html …)  ***/
/************************************/

/* Sidebar list title is a <p> (not a heading). Same look as .page-catagery-list h3
   (custom.css:3163-3167) plus the global heading rule. */
.page-catagery-list .page-catagery-list-title{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--primary-color);
	text-transform: capitalize;
	margin-bottom: 30px;
}

/* Current service in the sidebar list: the template's hover state, always on
   (custom.css:3197-3236) */
.page-catagery-list ul li a.is-active{
	color: var(--white-color);
}

.page-catagery-list ul li a.is-active::before{
	filter: brightness(0) invert(1);
}

.page-catagery-list ul li a.is-active::after{
	top: 0;
	height: 100%;
}

/* "Call now" + WhatsApp buttons (under the intro and in the final CTA), same pair as
   the index.html hero: primary button without the arrow circle + outline button */
.service-cta-buttons{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 20px;
	margin-top: 30px;
}

.service-cta-buttons .btn-default{
	margin-inline: 0;
}

.service-cta-buttons .btn-default::before{
	content: none;
}

/* Outline button on a light background: primary-colored text */
.service-entry .service-cta-buttons .btn-outline-whatsapp{
	color: var(--primary-color);
}

.service-entry .service-cta-buttons .btn-outline-whatsapp:hover{
	color: var(--white-color);
}

/* Small service icon on the navy "signs" strip (custom.css:3315-3357): same drawing
   style as .service-icon, translucent frame, white strokes */
.service-icon.service-icon-sm{
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.18);
	box-shadow: none;
	color: var(--white-color);
	margin-inline-end: 16px;
}

.service-icon.service-icon-sm svg{
	width: 32px;
	height: 32px;
}

.service-icon.service-icon-sm .duo{
	fill-opacity: 0.35;
}

/* Font Awesome icon in the grey method cards (instead of the template <img>) */
.service-management-item .icon-box{
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	border-radius: 18px;
	background: var(--white-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.service-management-item .icon-box i{
	font-size: 26px;
	color: var(--accent-color);
}

/* Testimonials inside the content column: same cards as the testimonials section,
   2 per view on wide screens, 1 on mobile (slider set up in js/site.js) */
.service-testimonials{
	margin-bottom: 60px;
}

/* 1px so the card borders on the slider edges aren't clipped by Swiper's overflow:hidden */
.service-testimonials .swiper{
	padding: 1px;
}

.service-testimonials .swiper-slide{
	height: auto;
}

.service-testimonials .testimonial-item{
	height: 100%;
	padding: 30px;
}

.service-testimonials .testimonial-pagination{
	margin-top: 30px;
}

/* Final call to action at the end of the content column */
.service-final-cta{
	background: var(--primary-color);
	border-radius: 24px;
	padding: 50px 40px;
	margin-top: 60px;
	text-align: center;
}

.service-final-cta h2{
	font-size: 34px;
	color: var(--white-color);
	margin-bottom: 15px;
}

.service-final-cta p{
	font-size: 18px;
	line-height: 1.6em;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

.service-final-cta .service-cta-buttons{
	justify-content: center;
}

.service-final-cta .btn-outline-whatsapp{
	color: var(--white-color);
	border-color: var(--white-color);
}

.service-final-cta .btn-outline-whatsapp:hover{
	color: var(--primary-color);
	background: var(--white-color);
	border-color: var(--white-color);
}

/************************************/
/***  Work videos (index.php)      ***/
/************************************/

/* "من أعمالنا": YouTube Shorts slider that replaced the template's Isotope portfolio.
   Vertical 9:16 cards with the cards' radius (24px); js/site.js runs the slider and the popup. */
.work-videos-slider .swiper{
	padding: 1px;
}

.work-video-card{
	position: relative;
	display: block;
	aspect-ratio: 9 / 16;
	border-radius: 24px;
	overflow: hidden;
	background: var(--secondary-color);
	cursor: pointer;
}

.work-video-card img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Light dark shade from the bottom */
.work-video-card::after{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 47, 71, 0.55) 0%, rgba(0, 47, 71, 0) 50%);
	pointer-events: none;
}

/* No video yet: plain light card */
.work-video-card.is-placeholder{
	border: 1px solid var(--divider-color);
	cursor: default;
}

.work-video-card.is-placeholder::after{
	content: none;
}

.work-video-play{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px;
	border-radius: 50%;
	background: var(--accent-color);
	color: var(--white-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	transition: scale 0.3s ease-in-out;
}

/* The play triangle is not mirrored in RTL; nudge it to look centred */
.work-video-play i{
	margin-left: 4px;
}

a.work-video-card:hover .work-video-play,
a.work-video-card:focus-visible .work-video-play{
	scale: 1.12;
}

.work-video-title{
	font-size: 18px;
	line-height: 1.4em;
	margin: 16px 0 0;
}

/* Pagination dots: same look as the services slider (custom.css:1331-1350) */
.work-videos-pagination{
	position: relative;
	text-align: center;
	margin-top: 40px;
}

.work-videos-pagination .swiper-pagination-bullet{
	height: 10px;
	width: 10px;
	background: var(--divider-color);
	opacity: 1;
	margin: 0 3px;
	transition: all 0.4s ease-in-out;
}

.work-videos-pagination .swiper-pagination-bullet-active{
	width: 30px;
	background: var(--accent-color);
	border-radius: 12px;
}

/* All the videos fit (e.g. 4 on desktop): no dots */
.work-videos-pagination.swiper-pagination-lock{
	display: none;
}

/* YouTube button: icon instead of the arrow circle (custom.css:228-247) */
.work-videos-btn{
	margin-top: 40px;
}

.work-videos-btn .btn-default{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-inline: 0;
}

.work-videos-btn .btn-default::before{
	content: none;
}

.work-videos-btn .btn-default i{
	font-size: 20px;
}

/* Works page (video-gallery/index.php): all the videos in a grid, 4 / 3 / 2 per row */
.page-work-videos{
	padding: 100px 0;
}

.work-videos-grid{
	row-gap: 40px;
}

/* Popup: vertical 9:16 player that fits the screen height */
.mfp-shorts .mfp-iframe-holder .mfp-content{
	width: 100%;
	max-width: min(420px, calc((100vh - 100px) * 9 / 16));
}

.mfp-shorts .mfp-iframe-scaler{
	padding-top: 177.78%;
	border-radius: 16px;
	overflow: visible;
}

.mfp-shorts .mfp-iframe-scaler iframe{
	border-radius: 16px;
}

@media (prefers-reduced-motion: reduce){
	.work-video-play{
		transition: none;
	}
}

/************************************/
/***  Empty state box     ***/
/************************************/

/* Empty state box: "لا توجد مقالات حاليًا" (blog/) and the 404 page. Same card look as
   .contact-form-card (white, divider border, soft shadow, 24px radius). The two buttons
   reuse .service-cta-buttons (no arrow circle, full width stack on mobile). */
.empty-state{
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	box-shadow: 0px 0px 30px 0px #002F471A;
	border-radius: 24px;
	padding: 60px 40px;
}

.empty-state-icon{
	font-size: 64px;
	line-height: 1;
	color: var(--accent-color);
	margin-bottom: 24px;
}

.empty-state h2{
	font-size: 32px;
	margin-bottom: 16px;
}

.empty-state p{
	max-width: 560px;
	margin: 0 auto;
}

.empty-state .service-cta-buttons{
	justify-content: center;
}

.empty-state .btn-outline-whatsapp{
	color: var(--primary-color);
}

.empty-state .btn-outline-whatsapp:hover{
	color: var(--white-color);
}

/************************************/
/***  Centered page header         ***/
/************************************/

/* <div class="page-header page-header-centered parallaxie">: the service detail pages, about,
   services, works (video-gallery), contact and blog. Breadcrumb first, then the h1 (and an
   optional .page-header-subtitle), everything centered over an even overlay.
   All the sizes live here, so every centered banner is the same. */

/* Even overlay instead of the side gradient (custom.css:2482, rtl.css:452),
   so the centered text reads clearly over any part of the image */
.page-header-centered::before{
	background: rgba(0, 47, 71, 0.72);
}

.page-header-centered .page-header-box{
	text-align: center;
}

/* 34px at 390px wide, ~46px at 820px, 64px from 1440px. Overrides custom.css 60/44/26px
   (custom.css:2496, 4795, 5594). line-height 1.3 leaves room for Arabic dots and marks. */
.page-header-centered .page-header-box h1{
	font-size: clamp(34px, 22.9px + 2.86vw, 64px);
	line-height: 1.3;
	margin-bottom: 0;
	text-wrap: balance;
}

/* Line under the h1 (contact page) */
.page-header-centered .page-header-box .page-header-subtitle{
	max-width: 760px;
	font-size: 20px;
	line-height: 1.7;
	margin: 16px auto 0;
	text-wrap: balance;
}

.page-header-centered .page-header-box nav{
	margin-bottom: 20px;
}

.page-header-centered .page-header-box ol.breadcrumb{
	justify-content: center;
	align-items: center;
}

.page-header-centered .page-header-box ol li.breadcrumb-item{
	display: inline-flex;
	align-items: center;
	font-size: 17px;
	line-height: 1.4em;
	color: rgba(255, 255, 255, 0.75);
	padding-inline-start: 0;
}

/* The chevron <i> inside each item replaces Bootstrap's "/" divider */
.page-header-centered .page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
	display: none;
}

.page-header-centered .page-header-box .breadcrumb-sep{
	font-size: 11px;
	color: var(--accent-color);
	margin-inline: 10px;
}

.page-header-centered .page-header-box ol li.breadcrumb-item a{
	transition: color 0.3s ease-in-out;
}

.page-header-centered .page-header-box ol li.breadcrumb-item a:hover,
.page-header-centered .page-header-box ol li.breadcrumb-item a:focus-visible{
	color: var(--white-color);
}

.page-header-centered .page-header-box ol li.breadcrumb-item.active{
	color: var(--white-color);
	font-weight: 500;
}

/************************************/
/***  Contact Page (contact.html) ***/
/************************************/

/* Short line under the page h1 */
.page-header-box .page-header-subtitle{
	font-size: 18px;
	line-height: 1.6em;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 15px;
}

/* "تواصل معنا" circle (index.php features): inline SVG in place of the template's English
   contact-us-circle.svg; same size and rotation (custom.css:1487-1492, 4569, 5426) */
.contact-us-circle .contact-circle-svg{
	display: block;
	width: 126px;
	height: 126px;
	border-radius: 50%;
	font-family: var(--default-font);
	animation: infiniterotate 20s infinite linear;
}

@media only screen and (max-width: 991px){
	.contact-us-circle .contact-circle-svg{
		width: 100px;
		height: 100px;
	}
}

@media only screen and (max-width: 767px){
	.contact-us-circle .contact-circle-svg{
		width: 80px;
		height: 80px;
	}
}

@media (prefers-reduced-motion: reduce){
	.contact-us-circle .contact-circle-svg{
		animation: none;
	}
}

/* About page call-to-action (.cta-box): the template background was a "1920 x 768" placeholder
   (custom.css:2138) under an 80% navy layer - plain navy instead */
.cta-box{
	background-image: none;
	background-color: var(--primary-color);
}

/* WhatsApp card: Font Awesome icon in place of the template's SVG icon (custom.css:4242-4245) */
.contact-info-item .icon-box i{
	display: block;
	width: 40px;
	font-size: 38px;
	line-height: 1;
	text-align: center;
	color: var(--accent-color);
}

/* Contact info card titles are <h2>. Same look as .contact-info-content h3
   (custom.css:2251-2256). */
.contact-info-content h2{
	color: var(--white-color);
	font-size: 20px;
	text-transform: capitalize;
	margin-bottom: 5px;
}

/* Form card: centered, same card style as the service cards
   (white, divider border, soft shadow - custom.css:1242-1248, 3136-3139) */
.contact-form-card{
	max-width: 760px;
	margin: 0 auto;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	box-shadow: 0px 0px 30px 0px #002F471A;
	border-radius: 24px;
	padding: 40px;
}

.contact-form .form-label{
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 8px;
}

.contact-form .required-mark{
	color: var(--error-color);
	margin-inline-start: 2px;
}

.contact-form .optional-mark{
	font-size: 13px;
	font-weight: 400;
	color: var(--text-color);
}

/* Selects look like the other fields (custom.css:2293-2304) with the Bootstrap arrow
   kept on the end (left) side; the template padding would otherwise cover the arrow */
.contact-form .form-select{
	padding-inline-end: 46px;
	background-position: left 18px center;
	background-size: 14px 10px;
	cursor: pointer;
}

/* Mobile number is typed left-to-right and starts from the left */
.contact-form .form-control[type="tel"]{
	text-align: left;
}

/* Message box grows vertically only, so the width never changes */
.contact-form textarea.form-control{
	resize: vertical;
}

/* No arrow circle on the form's submit button only (custom.css:228-247 and the side
   margin from rtl.css); every other button keeps it */
.contact-form-actions .btn-default{
	margin-inline: 0;
}

.contact-form-actions .btn-default::before{
	content: none;
}

/* "إرسال الطلب عبر واتساب": WhatsApp icon before the text */
.contact-form-actions .btn-default{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.contact-form-actions .btn-default i{
	font-size: 20px;
}

/* Success note after WhatsApp opens: the "لم يفتح واتساب؟" fallback link under it */
.contact-form #msgSubmit .msg-whatsapp-fallback{
	display: block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 400;
	color: var(--text-color);
}

.contact-form #msgSubmit .msg-whatsapp-fallback a{
	color: var(--accent-color);
	font-weight: 700;
	text-decoration: underline;
}

.contact-form .has-error .form-control{
	border-color: var(--error-color);
}

.contact-form .help-block.with-errors ul{
	margin-top: 6px;
}

/* "This number has WhatsApp" checkbox under the mobile field */
.contact-form .whatsapp-check{
	margin-top: 10px;
}

.contact-form .whatsapp-check .form-check-label{
	font-size: 15px;
	color: var(--text-color);
	cursor: pointer;
}

.contact-form .whatsapp-check .form-check-input{
	cursor: pointer;
}

.contact-form .whatsapp-check .form-check-input:checked{
	background-color: var(--accent-color);
	border-color: var(--accent-color);
}

.contact-form .whatsapp-check .form-check-input:focus{
	border-color: var(--accent-color);
	box-shadow: 0 0 0 0.2rem rgba(41, 155, 70, 0.2);
}

/* Submit + call buttons side by side */
.contact-form-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 30px;
	margin-top: 10px;
}

/* The outline button was made for the dark hero (white text); on the white card
   the text uses the primary color */
.contact-form-card .btn-outline-whatsapp{
	color: var(--primary-color);
}

.contact-form-card .btn-outline-whatsapp:hover{
	color: var(--white-color);
}

/* Result message under the buttons, in the site colors */
.contact-form #msgSubmit{
	margin: 20px 0 0;
	font-size: 17px;
	line-height: 1.6em;
}

.contact-form #msgSubmit.text-success{
	color: var(--accent-color) !important;
}

.contact-form #msgSubmit.text-danger{
	color: var(--error-color) !important;
}

/* Contact info banner (replaced the Google Map): one short navy box, coverage on the right
   (~40%) and the 3 next steps on the left (~60%), split by a thin white line. Stacks from 991px. */
.contact-info-banner-section{
	padding: 0 0 100px;
}

.contact-info-banner{
	display: grid;
	grid-template-columns: 2fr 3fr;
	align-items: center;
	background: var(--primary-color);
	border-radius: 32px;
	padding: 36px 48px;
	color: var(--white-color);
}

.contact-info-banner p{
	margin: 0;
}

.contact-info-banner h2{
	color: var(--white-color);
	font-weight: 700;
	line-height: 1.4em;
	margin: 0;
}

/* Right part: coverage */
.contact-info-banner-coverage{
	padding-inline-end: 44px;
	border-inline-end: 1px solid rgba(255, 255, 255, 0.2);
}

.contact-info-banner-label{
	color: var(--accent-color);
	font-size: 15px;
	font-weight: 700;
}

.contact-info-banner-count{
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 6px 0 4px !important;
}

.contact-info-banner-count .count-number{
	font-size: 52px;
	font-weight: 800;
	line-height: 1.1;
	color: var(--white-color);
}

.contact-info-banner-count .count-unit{
	font-size: 20px;
	font-weight: 700;
	color: var(--accent-color);
}

.contact-info-banner-coverage h2{
	font-size: 20px;
}

.contact-info-banner-note{
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	margin-top: 8px !important;
}

.contact-info-banner-note a{
	color: var(--accent-color);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.contact-info-banner-note a:hover{
	color: var(--white-color);
}

/* Left part: next steps, a thin line joins the circles */
.contact-info-banner-steps{
	padding-inline-start: 44px;
}

.contact-info-banner-steps h2{
	font-size: 18px;
	margin-bottom: 22px;
}

.contact-info-banner-steps ol{
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.contact-info-banner-steps ol::before{
	content: '';
	position: absolute;
	top: 18px;
	inset-inline: 16.66%;
	height: 1px;
	background: rgba(255, 255, 255, 0.25);
}

.contact-info-banner-steps li{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.contact-info-banner-steps .step-number{
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 16px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-bottom: 12px;
	/* navy ring so the joining line stops short of each circle */
	box-shadow: 0 0 0 6px var(--primary-color);
}

.contact-info-banner-steps .step-title{
	font-size: 16px;
	font-weight: 700;
	color: var(--white-color);
	margin-bottom: 4px;
}

.contact-info-banner-steps .step-text{
	font-size: 14px;
	line-height: 1.5em;
	color: rgba(255, 255, 255, 0.7);
}

/* Tablet and down: the two parts stack, the divider turns horizontal */
@media only screen and (max-width: 991px){

	.contact-info-banner-section{
		padding-bottom: 50px;
	}

	.contact-info-banner{
		grid-template-columns: 1fr;
		padding: 32px 36px;
	}

	.contact-info-banner-coverage{
		padding: 0 0 26px;
		border-inline-end: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	.contact-info-banner-steps{
		padding: 26px 0 0;
	}
}

@media only screen and (max-width: 767px){

	.contact-info-banner{
		padding: 28px 22px;
		border-radius: 24px;
	}

	.contact-info-banner-count .count-number{
		font-size: 44px;
	}
}

/* Narrow phones: the steps go under each other, the circle beside the text, no joining line */
@media only screen and (max-width: 575px){

	.contact-info-banner-steps ol{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.contact-info-banner-steps ol::before{
		content: none;
	}

	.contact-info-banner-steps li{
		flex-direction: row;
		align-items: center;
		gap: 14px;
		text-align: start;
	}

	.contact-info-banner-steps .step-number{
		margin-bottom: 0;
		box-shadow: none;
	}
}

/************************************/
/***       About Us Counters      ***/
/************************************/

/* h2 -> div (a number is not a heading). Same look as the global heading rule
   (custom.css:95-105) plus .about-counter-item h2 (custom.css:1224-1227) */
.about-counter-item .about-counter-number{
	font-size: 44px;
	font-weight: 700;
	line-height: 1.2em;
	color: var(--primary-color);
	margin-bottom: 4px;
}

/************************************/
/***        Responsive css        ***/
/************************************/

@media only screen and (max-width: 991px){

	.navbar-brand img{
		height: 52px;
	}

	/* same as .our-project (custom.css:4573) */
	.page-work-videos{
		padding: 50px 0;
	}

	/* custom.css:4426-4432 */
	.section-title .section-eyebrow{
		padding-inline: 28px 14px;
	}

	.section-title .section-eyebrow::before{
		inset-inline-start: 14px;
	}

	.hero-content-centered .section-title h1{
		font-size: 44px;
	}

	.hero-content-centered .section-title p{
		font-size: 18px;
	}

	.hero-content .section-title .hero-tagline{
		font-size: 24px;
		margin-top: 10px;
	}

	/* custom.css:4464-4466 adds a bottom margin meant for the removed side image */
	.hero-content.hero-content-centered{
		margin-bottom: 0;
	}

	.hero-content-centered .hero-btn{
		margin-top: 30px;
	}

	/* custom.css:4530-4532 */
	.about-counter-item .about-counter-number{
		font-size: 34px;
	}

	/* custom.css:4825-4827 */
	.experience-content .experience-number{
		font-size: 34px;
	}

	/* custom.css:4965-4967 */
	.page-catagery-list .page-catagery-list-title{
		margin-bottom: 20px;
	}

	.service-final-cta{
		padding: 40px 30px;
	}

	.service-final-cta h2{
		font-size: 28px;
	}

	/* custom.css:4880-4888 */
	.legacy-item .icon-box{
		width: 58px;
		height: 58px;
		border-radius: 16px;
		margin-bottom: 20px;
	}

	.legacy-item .icon-box::before{
		border-radius: 16px;
	}

	.legacy-item .icon-box i{
		font-size: 24px;
	}

	.experience-box .icon-box{
		width: 56px;
		height: 56px;
		border-radius: 16px;
	}

	.experience-box .icon-box i{
		font-size: 24px;
	}

	/* custom.css:4488-4500 made the icon 50px with a 10px margin at this width */
	.best-service-item .icon-box,
	.best-service-item .icon-box::before{
		border-radius: 15px;
	}

	.best-service-item .icon-box{
		width: 54px;
		height: 54px;
	}

	.best-service-item .icon-box i{
		font-size: 22px;
	}

	.best-service-item-content{
		width: calc(100% - 64px);
	}
}

@media only screen and (max-width: 767px){

	.footer-logo-link{
		padding: 10px;
	}

	.footer-logo img{
		height: 48px;
	}

	/* custom.css:5256-5258 */
	.contact-info-item .icon-box i{
		width: 30px;
		font-size: 30px;
	}

	.empty-state{
		padding: 36px 20px;
		border-radius: 18px;
	}

	.empty-state-icon{
		font-size: 48px;
		margin-bottom: 18px;
	}

	.empty-state h2{
		font-size: 24px;
	}

	/* Works page: 2 cards per row on mobile */
	.work-videos-grid{
		row-gap: 30px;
	}

	.work-videos-grid .work-video-card{
		border-radius: 18px;
	}

	.work-videos-grid .work-video-play{
		width: 48px;
		height: 48px;
		margin: -24px 0 0 -24px;
		font-size: 16px;
	}

	.work-videos-grid .work-video-title{
		font-size: 15px;
		margin-top: 12px;
	}

	/* custom.css:5350 */
	.best-service-item-content .best-service-title{
		font-size: 18px;
	}

	.best-service-item-content .best-service-desc{
		font-size: 14px;
		margin-top: 6px;
	}

	.hero-content-centered .section-title h1{
		font-size: 32px;
	}

	.hero-content-centered .section-title p{
		font-size: 17px;
	}

	.hero-content .section-title .hero-tagline{
		font-size: 21px;
	}

	.hero-content .section-title .hero-badge,
	.hero-content .hero-note{
		font-size: 15px;
	}

	/* Buttons stack with equal outer width. Flex "stretch" respects margins, so the
	   primary pill plus its arrow circle (margin in rtl.css) match the outline button. */
	.hero-content-centered .hero-btn{
		flex-direction: column;
		align-items: stretch;
	}

	.hero-content-centered .hero-btn .btn-default{
		text-align: center;
	}

	.floating-contact{
		left: 15px;
		bottom: 15px;
	}

	.floating-contact-btn{
		width: 50px;
		height: 50px;
		font-size: 22px;
	}

	.floating-whatsapp{
		font-size: 26px;
	}

	/* custom.css:5397-5399 */
	.about-counter-item .about-counter-number{
		font-size: 24px;
	}

	/* custom.css:5534-5536 */
	.author-content .testimonial-author-name{
		font-size: 18px;
	}

	/* custom.css:5401-5403 */
	.service-content h2{
		font-size: 18px;
	}

	/* custom.css:5872-5874 */
	.contact-info-content h2{
		font-size: 18px;
	}

	/* custom.css:5714-5717 */
	.page-catagery-list .page-catagery-list-title{
		font-size: 18px;
		margin-bottom: 15px;
	}

	/* Service pages: tighter top so the "call now" button is in the first screen on
	   phones (custom.css:4951-4953 and 3252-3257) */
	.page-service-single{
		padding-top: 30px;
	}

	.page-service-single .service-featured-image img{
		aspect-ratio: 1 / 0.45;
	}

	/* Service page buttons stack full width */
	.service-cta-buttons{
		flex-direction: column;
		align-items: stretch;
	}

	.service-cta-buttons .btn-default{
		text-align: center;
	}

	.service-icon.service-icon-sm{
		width: 48px;
		height: 48px;
		border-radius: 14px;
	}

	.service-icon.service-icon-sm svg{
		width: 28px;
		height: 28px;
	}

	.service-management-item .icon-box{
		width: 52px;
		height: 52px;
		border-radius: 16px;
	}

	.service-management-item .icon-box i{
		font-size: 22px;
	}

	.service-testimonials{
		margin-bottom: 40px;
	}

	.service-testimonials .testimonial-item{
		padding: 20px;
	}

	.service-final-cta{
		padding: 30px 20px;
		border-radius: 18px;
		margin-top: 40px;
	}

	.service-final-cta h2{
		font-size: 24px;
	}

	.service-final-cta p{
		font-size: 16px;
	}

	.page-header-box .page-header-subtitle{
		font-size: 16px;
	}

	.page-header-centered .page-header-box .page-header-subtitle{
		font-size: 17px;
		margin-top: 12px;
	}

	/* custom.css:5598 sets 16px here - the centered breadcrumb stays smaller */
	.page-header-centered .page-header-box ol li.breadcrumb-item{
		font-size: 15px;
	}

	.page-header-centered .page-header-box nav{
		margin-bottom: 16px;
	}

	.contact-form-card{
		padding: 22px 18px;
		border-radius: 18px;
	}

	/* Buttons stack full width; flex "stretch" keeps the arrow circle (margin in rtl.css)
	   inside the row */
	.contact-form-actions{
		flex-direction: column;
		align-items: stretch;
	}

	.contact-form-actions .btn-default{
		text-align: center;
	}

	/* custom.css:5631-5633 */
	.experience-content .experience-number{
		font-size: 24px;
	}

	/* One card per row on mobile (custom.css:5643-5645) */
	.vision-mission-boxes.vision-mission-cards{
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: 20px;
	}

	/* custom.css:5664-5672 */
	.legacy-item .icon-box{
		width: 52px;
		height: 52px;
		border-radius: 14px;
		margin-bottom: 16px;
	}

	.legacy-item .icon-box::before{
		border-radius: 14px;
	}

	.legacy-item .icon-box i{
		font-size: 22px;
	}

	.experience-box .icon-box{
		width: 48px;
		height: 48px;
		border-radius: 14px;
	}

	.experience-box .icon-box i{
		font-size: 20px;
	}
}
