/* =========================================================
   GuardPro Security Theme — Main Stylesheet
   Design tokens: near-black base, burnt-orange accent, white text.
   Signature motif: radar-sweep / viewfinder-bracket, echoing the
   monitoring & surveillance side of the business.
   ========================================================= */

:root{
	color-scheme: dark;
	--gp-bg: #0b0c0e;
	--gp-surface: #17191c;
	--gp-surface-2: #1e2125;
	--gp-orange: #8a6d1f;   /* dark gold — primary accent */
	--gp-amber: #d4af37;    /* metallic gold — highlight/hover */
	--gp-white: #f5f4f1;
	--gp-muted: #9a9ea3;
	--gp-border: rgba(245,244,241,0.09);
	--gp-solid: #000000;                  /* topbar / footer background */
	--gp-header-glass: rgba(11,12,14,.78);
	--gp-header-glass-compact: rgba(11,12,14,.94);
	--gp-hero-overlay-1: rgba(11,12,14,.55);
	--gp-hero-overlay-2: rgba(11,12,14,.95);
	--gp-nav-overlay: rgba(11,12,14,.93);
	--gp-nav-text: #ffffff;

	--font-display: 'Space Grotesk', 'Segoe UI', sans-serif;
	--font-body: 'Inter', 'Segoe UI', sans-serif;
	--font-mono: 'JetBrains Mono', 'Courier New', monospace;

	--container: 1200px;
	--container-narrow: 760px;
	--radius: 10px;
	--radius-lg: 20px;
	--gp-header-h: 96px;
}

/* ---------- الوضع النهاري (Light Mode) ----------
   يُفعَّل بإضافة السمة data-theme="light" على وسم <html> عبر JS (زر
   التبديل في الرأس)، ويُحفظ اختيار الزائر في localStorage لزياراته
   القادمة. كل الألوان معرّفة كمتغيرات، فتتكيف كل عناصر الموقع تلقائياً
   دون الحاجة لأي قواعد إضافية متفرقة. */
:root[data-theme="light"]{
	color-scheme: light;
	--gp-bg: #f7f5f1;
	--gp-surface: #ffffff;
	--gp-surface-2: #efebe3;
	--gp-white: #17191c;         /* أصبح لون النص الأساسي (غامق) في الوضع النهاري */
	--gp-muted: #5b5d61;
	--gp-border: rgba(23,25,28,0.1);
	--gp-solid: #17191c;
	--gp-header-glass: rgba(247,245,241,.82);
	--gp-header-glass-compact: rgba(247,245,241,.95);
	--gp-hero-overlay-1: rgba(247,245,241,.6);
	--gp-hero-overlay-2: rgba(247,245,241,.94);
	--gp-nav-overlay: rgba(247,245,241,.97);
	--gp-nav-text: #17191c;
	/* ذهبي أغمق قليلاً في الوضع النهاري لضمان وضوح النصوص والأيقونات على خلفية فاتحة */
	--gp-orange: #7a5f14;
	--gp-amber: #9c7a12;
}

/* ---------- Reset ---------- */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; scroll-padding-top: var(--gp-header-h); }
body{
	margin: 0;
	background: var(--gp-bg);
	color: var(--gp-white);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img{ max-width: 100%; height: auto; display: block; }
a{ color: inherit; text-decoration: none; }
ul{ list-style: none; margin: 0; padding: 0; }
h1,h2,h3,h4{ font-family: var(--font-display); line-height: 1.15; margin: 0 0 .5em; font-weight: 600; }
p{ margin: 0 0 1em; color: var(--gp-muted); }
blockquote{ margin: 0; }
button{ font-family: inherit; cursor: pointer; }
input, textarea{ font-family: inherit; }

.screen-reader-text, .skip-link{
	position: absolute; left: -9999px; top: -9999px;
}
.skip-link:focus{
	left: 1rem; top: 1rem; z-index: 10000;
	background: var(--gp-orange); color: #fff; padding: .75rem 1.25rem; border-radius: var(--radius);
}

:focus-visible{ outline: 2px solid var(--gp-amber); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ---------- Layout helpers ---------- */
.gp-container{
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: 20px;
}
.gp-container--narrow{ max-width: var(--container-narrow); }
.gp-section{ padding: clamp(56px, 8vw, 110px) 0; }
.gp-section--alt{ background: linear-gradient(180deg, var(--gp-surface), var(--gp-bg)); }
.gp-section__head{ max-width: 640px; margin-bottom: clamp(32px, 5vw, 56px); }
.gp-section__head h2{ font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--gp-white); }

.gp-eyebrow{
	display: inline-block;
	font-family: var(--font-mono);
	font-size: .75rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gp-amber);
	margin-bottom: 12px;
}
.gp-eyebrow::before{ content: "// "; color: var(--gp-orange); }

/* ---------- Buttons ---------- */
.gp-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 26px;
	border-radius: 999px;
	font-weight: 600;
	font-size: .95rem;
	border: 1px solid transparent;
	transition: transform .18s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
	max-width: 100%; box-sizing: border-box;
	white-space: normal; text-align: center; line-height: 1.3;
}
.gp-btn--primary{
	background: linear-gradient(135deg, var(--gp-orange), var(--gp-amber));
	color: #fff;
	box-shadow: 0 8px 24px -8px rgba(138,109,31,.65);
}
.gp-btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px -8px rgba(138,109,31,.8); }
.gp-btn--ghost{
	background: transparent; color: var(--gp-white); border-color: var(--gp-border);
}
.gp-btn--ghost:hover{ border-color: var(--gp-amber); color: var(--gp-amber); }
.gp-btn--lg{ padding: 16px 34px; font-size: 1rem; }

/* ---------- Top utility bar ---------- */
.gp-topbar{
	/* تثبيت محلي: خلفية هذا الشريط تبقى داكنة عمداً في كلا الوضعين (كشريط
	   علامة تجارية ثابت)، لذا نُثبّت متغيرات النص هنا لتبقى فاتحة دائماً
	   بدل اتباع الوضع العام للموقع الذي قد يجعلها داكنة (غير مقروءة). */
	--gp-white: #f5f4f1;
	--gp-muted: #9a9ea3;
	--gp-amber: #d4af37;
	--gp-orange: #8a6d1f;
	background: var(--gp-solid); color: var(--gp-muted);
	font-family: var(--font-mono); font-size: .78rem;
}
.gp-topbar__row{
	display: flex; align-items: center; justify-content: space-between;
	height: 38px;
}
.gp-topbar__item{ display: inline-flex; align-items: center; gap: 6px; }
.gp-topbar__item .dashicons{ font-size: 15px; width: 15px; height: 15px; color: var(--gp-orange); }
.gp-topbar__phone{ color: var(--gp-white); font-weight: 600; }
.gp-topbar__phone:hover{ color: var(--gp-amber); }

/* ---------- Header / Nav ---------- */
.gp-header{
	position: sticky; top: 0; z-index: 500;
	border-bottom: 1px solid var(--gp-border);
}
/* التمويه الزجاجي على طبقة منفصلة (::before) بدل العنصر نفسه: backdrop-filter
   على الأب مباشرة "يحبس" أي عنصر فرعي بداخله يستخدم position:fixed ضمن
   حدوده هو فقط بدل الشاشة كاملة (هذا ما كان يكسر القائمة الجوالة سابقاً) */
.gp-header::before{
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--gp-header-glass);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	transition: background .25s ease, box-shadow .25s ease;
}
.gp-header.is-compact::before{ box-shadow: 0 12px 30px -18px rgba(0,0,0,.8); background: var(--gp-header-glass-compact); }
.gp-header__row{
	display: flex; align-items: center; justify-content: space-between;
	height: var(--gp-header-h);
	gap: 24px;
}
.gp-header__logo-text{
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; color: var(--gp-white);
}
.gp-header__logo-text .dashicons{ color: var(--gp-orange); font-size: 26px; width: 26px; height: 26px; }
.gp-header__brand{ display: flex; align-items: center; min-width: 0; flex-shrink: 0; }
.gp-header__brand .custom-logo-link{ display: flex; align-items: center; }
.custom-logo{ height: var(--gp-logo-h, 68px); max-height: var(--gp-logo-h, 68px); width: auto; max-width: min(300px, 55vw); object-fit: contain; }

.gp-nav__list{ display: flex; align-items: center; gap: 4px; }
.gp-nav__list a{
	display: block; padding: 10px 16px; border-radius: 999px;
	font-weight: 500; color: var(--gp-muted); font-size: .95rem;
	transition: color .2s ease, background .2s ease;
}
.gp-nav__list a:hover, .gp-nav__list .current-menu-item > a{
	color: var(--gp-white); background: var(--gp-surface);
}

.gp-header__actions{ display: flex; align-items: center; gap: 14px; }

/* ---------- زر التبديل بين الوضع الليلي والنهاري ---------- */
.gp-mode-toggle{
	width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
	background: transparent; border: 1px solid var(--gp-border); color: var(--gp-white);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
	transition: box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.gp-mode-toggle:hover{ border-color: var(--gp-amber); box-shadow: 0 0 18px rgba(212,175,55,.3); }
.gp-mode-toggle svg{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
/* يُظهر أيقونة الوضع الذي سيُنتقل إليه: قمر أثناء الوضع النهاري، شمس أثناء الليلي */
.gp-mode-toggle .gp-icon-moon{ display: none; }
:root[data-theme="light"] .gp-mode-toggle .gp-icon-sun{ display: none; }
:root[data-theme="light"] .gp-mode-toggle .gp-icon-moon{ display: block; }
.gp-header__cta{ display: inline-flex; }

.gp-nav-toggle{
	display: none; background: transparent; border: 1px solid var(--gp-border);
	width: 44px; height: 44px; border-radius: 10px;
	flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.gp-nav-toggle span{ width: 20px; height: 2px; background: var(--gp-white); transition: transform .25s ease, opacity .25s ease; }
.gp-nav-toggle.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.gp-nav-toggle.is-active span:nth-child(2){ opacity: 0; }
.gp-nav-toggle.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
.gp-nav__close{ display: none; }

/* ---------- Hero ---------- */
.gp-hero{
	position: relative;
	padding: clamp(90px, 16vw, 160px) 0 clamp(60px, 10vw, 100px);
	background:
		linear-gradient(180deg, var(--gp-hero-overlay-1), var(--gp-hero-overlay-2) 70%),
		var(--hero-bg, radial-gradient(120% 100% at 80% -10%, var(--gp-surface-2) 0%, var(--gp-bg) 55%)) center/cover;
	overflow: hidden;
	text-align: center;
}
.gp-hero__inner{ position: relative; z-index: 2; max-width: 820px; }
.gp-hero__title{ font-size: clamp(2.2rem, 5.2vw, 3.6rem); color: var(--gp-white); letter-spacing: -.01em; }
.gp-hero__subtitle{ font-size: clamp(1rem, 1.6vw, 1.15rem); max-width: 620px; margin-inline: auto; }
.gp-hero__actions{ display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin: 34px 0 56px; max-width: 100%; }
.gp-hero__actions .gp-btn{ flex: 0 1 auto; }

.gp-hero__scan{
	position: absolute; inset: 0; pointer-events: none; z-index: 1;
	background-image: linear-gradient(var(--gp-border) 1px, transparent 1px), linear-gradient(90deg, var(--gp-border) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: radial-gradient(60% 60% at 50% 30%, #000 0%, transparent 75%);
	-webkit-mask-image: radial-gradient(60% 60% at 50% 30%, #000 0%, transparent 75%);
}
.gp-hero__scan::after{
	content: "";
	position: absolute; left: 0; right: 0; top: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--gp-amber), transparent);
	animation: gp-scanline 5s linear infinite;
	box-shadow: 0 0 18px 2px rgba(212,175,55,.6);
}
@keyframes gp-scanline{
	0%{ top: -2%; opacity: 0; }
	10%{ opacity: 1; }
	90%{ opacity: 1; }
	100%{ top: 102%; opacity: 0; }
}

.gp-hero__stats{
	display: grid; grid-template-columns: repeat(3, 1fr);
	max-width: 620px; margin-inline: auto;
	border-top: 1px solid var(--gp-border);
	padding-top: 28px;
}
.gp-hero__stat{ display: flex; flex-direction: column; gap: 4px; }
.gp-hero__stat-number{ font-family: var(--font-mono); font-size: clamp(1.3rem, 2.4vw, 1.7rem); color: var(--gp-amber); font-weight: 600; }
.gp-hero__stat-label{ font-size: .8rem; color: var(--gp-muted); }

/* ---------- Grids & Cards ---------- */
.gp-grid{ display: grid; gap: 24px; }
.gp-grid--services{ grid-template-columns: repeat(3, 1fr); }
.gp-grid--posts{ grid-template-columns: repeat(3, 1fr); }

.gp-card{
	background: var(--gp-surface);
	border: 1px solid var(--gp-border);
	border-radius: var(--radius-lg);
	padding: 30px;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
	position: relative;
}
.gp-card:hover{ transform: translateY(-4px); border-color: rgba(138,109,31,.5); box-shadow: 0 18px 40px -22px rgba(0,0,0,.7); }
.gp-card.is-highlighted{ border-color: var(--gp-orange); background: linear-gradient(165deg, rgba(138,109,31,.14), var(--gp-surface) 55%); }

.gp-card__icon{
	display: inline-flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 14px;
	background: rgba(138,109,31,.14);
	margin-bottom: 18px;
	position: relative;
}
.gp-card__icon::before, .gp-card__icon::after{
	content: ""; position: absolute; width: 10px; height: 10px;
	border-color: var(--gp-orange); border-style: solid; opacity: .8;
}
.gp-card__icon::before{ top: -4px; left: -4px; border-width: 2px 0 0 2px; }
.gp-card__icon::after{ bottom: -4px; right: -4px; border-width: 0 2px 2px 0; }
.gp-card__icon .dashicons{ color: var(--gp-amber); font-size: 26px; width: 26px; height: 26px; }
.gp-card__icon--lg{ width: 72px; height: 72px; margin-inline: auto; }
.gp-card__icon--lg .dashicons{ font-size: 34px; width: 34px; height: 34px; }

.gp-card__title{ font-size: 1.2rem; margin-bottom: 10px; color: var(--gp-white); }
.gp-card__title a{ color: inherit; }
.gp-card__title a:hover{ color: var(--gp-amber); }
.gp-card__excerpt{ font-size: .92rem; margin-bottom: 14px; }
.gp-card__link{ font-size: .85rem; font-weight: 600; color: var(--gp-amber); display: inline-flex; align-items: center; gap: 6px; }
.gp-card__link:hover{ gap: 10px; }

.gp-card--post .gp-card__thumb{ border-radius: var(--radius); overflow: hidden; margin-bottom: 16px; aspect-ratio: 16/10; }
.gp-card--post .gp-card__thumb img{ width: 100%; height: 100%; object-fit: cover; }

.gp-card--aside{ position: sticky; top: calc(var(--gp-header-h) + 24px); text-align: center; }
.gp-card--aside h3{ color: var(--gp-white); }

/* ---------- Why section / radar signature ---------- */
.gp-why{ display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.gp-why__content h2{ color: var(--gp-white); font-size: clamp(1.8rem, 3vw, 2.3rem); }
.gp-checklist{ display: flex; flex-direction: column; gap: 14px; margin-top: 22px; }
.gp-checklist li{ display: flex; align-items: flex-start; gap: 10px; color: var(--gp-white); font-size: .96rem; }
.gp-checklist .dashicons{ color: var(--gp-amber); flex-shrink: 0; margin-top: 2px; }

.gp-why__visual{ display: flex; align-items: center; justify-content: center; }
.gp-radar{
	position: relative; width: min(320px, 80vw); aspect-ratio: 1/1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(138,109,31,.12), transparent 70%);
	display: flex; align-items: center; justify-content: center;
}
.gp-radar__ring{ position: absolute; border: 1px solid var(--gp-border); border-radius: 50%; }
.gp-radar__ring:nth-child(2){ width: 100%; height: 100%; }
.gp-radar__ring:nth-child(3){ width: 66%; height: 66%; }
.gp-radar__ring:nth-child(4){ width: 33%; height: 33%; }
.gp-radar__sweep{
	position: absolute; width: 100%; height: 100%; border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(212,175,55,.55), transparent 40%);
	animation: gp-radar-spin 4s linear infinite;
}
@keyframes gp-radar-spin{ to{ transform: rotate(360deg); } }
.gp-radar__blip{
	position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--gp-amber);
	top: 30%; left: 62%;
	box-shadow: 0 0 12px 3px rgba(212,175,55,.7);
	animation: gp-blip 2.4s ease-in-out infinite;
}
.gp-radar__blip--2{ top: 65%; left: 35%; animation-delay: 1.1s; }
@keyframes gp-blip{ 0%,100%{ opacity: .3; transform: scale(.8); } 50%{ opacity: 1; transform: scale(1.3); } }

/* ---------- Capabilities (alternating image/text rows) ---------- */
.gp-capability{
	display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px);
	align-items: center;
	padding: clamp(28px, 4vw, 48px) 0;
	border-bottom: 1px solid var(--gp-border);
}
.gp-capability:last-child{ border-bottom: none; padding-bottom: 0; }
.gp-capability--reverse{ direction: ltr; }
.gp-capability--reverse .gp-capability__media{ order: 2; }
.gp-capability--reverse .gp-capability__content{ order: 1; }
.gp-capability__media{
	border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4/3;
	background: var(--gp-surface); border: 1px solid var(--gp-border);
}
.gp-capability__media img{ width: 100%; height: 100%; object-fit: cover; }
.gp-capability__media-fallback{
	width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
	background: radial-gradient(circle, rgba(138,109,31,.16), transparent 70%);
}
.gp-capability__media-fallback .dashicons{ font-size: 64px; width: 64px; height: 64px; color: var(--gp-amber); }
.gp-capability__index{
	font-family: var(--font-mono); color: var(--gp-orange); font-size: .85rem; letter-spacing: .1em;
	display: block; margin-bottom: 10px;
}
.gp-capability__content h3{ font-size: clamp(1.3rem, 2.4vw, 1.7rem); color: var(--gp-white); margin-bottom: 12px; }
.gp-capability__content p{ font-size: .96rem; }

/* ---------- Leadership quote section ---------- */
.gp-quote{
	background: linear-gradient(120deg, var(--gp-orange), var(--gp-amber) 140%);
	padding: clamp(56px, 8vw, 90px) 0;
	text-align: center;
}
.gp-quote__inner{ max-width: 780px; }
.gp-quote .gp-eyebrow{ color: rgba(0,0,0,.55); }
.gp-quote .gp-eyebrow::before{ color: rgba(0,0,0,.4); }
.gp-quote__text{
	margin: 0 0 22px; font-family: var(--font-display); font-weight: 600;
	font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.35; color: #17130a;
}
.gp-quote__author strong{ display: block; font-size: 1.05rem; color: #17130a; }
.gp-quote__author span{ display: block; font-size: .85rem; color: rgba(23,19,10,.7); margin-top: 2px; }

/* ---------- الأقسام الحرة: هوامش مضغوطة بينها وبين الأقسام المجاورة ----------
   عدّلوا --gp-freeform-gap لتكبير/تصغير المسافة (الافتراضي صغير عمداً) */
:root{ --gp-freeform-gap: clamp(10px, 2vw, 20px); }
.gp-freeform{ padding: var(--gp-freeform-gap) 0; border-top: 0; }
.gp-freeform .gp-prose > *:first-child{ margin-top: 0; }
.gp-freeform .gp-prose > *:last-child{ margin-bottom: 0; }
/* القسم الذي يسبق القسم الحر: نقلّص هامشه السفلي */
.gp-section:has( + .gp-freeform ){ padding-bottom: var(--gp-freeform-gap); }
/* القسم الذي يلي القسم الحر: نقلّص هامشه العلوي */
.gp-freeform + .gp-section, .gp-freeform + .gp-cta, .gp-freeform + .gp-quote{ padding-top: var(--gp-freeform-gap); }
/* متصفحات قديمة بلا دعم :has — نسحب القسم الحر للأعلى بدلاً من ذلك */
@supports not selector(:has(*)){
	.gp-freeform{ margin-top: calc( clamp(56px, 8vw, 110px) * -1 + var(--gp-freeform-gap) ); }
}

/* ---------- تكيّف عناصر خاصة مع الوضع النهاري ---------- */
/* قسم الاقتباس: خلفيته ذهبية غامقة في الوضع النهاري، فالنص يصبح أبيض للوضوح */
:root[data-theme="light"] .gp-quote__text,
:root[data-theme="light"] .gp-quote__author strong{ color: #ffffff; }
:root[data-theme="light"] .gp-quote__author span{ color: rgba(255,255,255,.8); }
:root[data-theme="light"] .gp-quote .gp-eyebrow,
:root[data-theme="light"] .gp-quote .gp-eyebrow::before{ color: rgba(255,255,255,.75); }

/* شعار الوضع النهاري: صورتان (ليلي/نهاري) تُبدَّلان حسب الوضع */
.gp-logo-light{ display: none; }
:root[data-theme="light"] .gp-has-light-logo .gp-logo-dark{ display: none; }
:root[data-theme="light"] .gp-has-light-logo .gp-logo-light{ display: flex; }

/* إن لم يُرفع شعار خاص بالوضع النهاري (الشعار الحالي غالباً أبيض)، يبقى
   الرأس داكناً في الوضع النهاري أيضاً كي يبقى الشعار مقروءاً */
:root[data-theme="light"] .gp-no-light-logo .gp-header{
	--gp-white: #f5f4f1; --gp-muted: #9a9ea3; --gp-border: rgba(245,244,241,0.09);
	--gp-surface: #17191c; --gp-amber: #d4af37; --gp-orange: #8a6d1f;
	--gp-header-glass: rgba(11,12,14,.85); --gp-header-glass-compact: rgba(11,12,14,.96);
	--gp-nav-overlay: rgba(11,12,14,.94); --gp-nav-text: #ffffff;
}

/* ---------- CTA banner ---------- */
.gp-cta{
	background: linear-gradient(120deg, #150a05, var(--gp-orange) 140%);
	text-align: center;
	padding: clamp(56px, 8vw, 90px) 0;
}
.gp-cta h2{ color: #fff; font-size: clamp(1.7rem, 3vw, 2.2rem); }
.gp-cta p{ color: rgba(255,255,255,.85); max-width: 560px; margin-inline: auto 28px; }
.gp-cta .gp-btn--primary{ background: #fff; color: var(--gp-orange); box-shadow: none; }
.gp-cta .gp-btn--primary:hover{ background: var(--gp-white); }

/* ---------- Footer ---------- */
.gp-footer{
	/* تثبيت محلي مماثل للشريط العلوي — الفوتر يبقى داكناً كعلامة تجارية
	   ثابتة في كلا الوضعين، فنُثبّت ألوان النص والحدود هنا كي تبقى مقروءة */
	--gp-white: #f5f4f1;
	--gp-muted: #9a9ea3;
	--gp-border: rgba(245,244,241,0.09);
	--gp-amber: #d4af37;
	--gp-orange: #8a6d1f;
	background: var(--gp-solid); border-top: 1px solid var(--gp-border); padding-top: clamp(48px, 6vw, 72px);
}
.gp-footer__top{
	display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px;
	padding-bottom: 48px;
}
.gp-footer__col--brand p{ font-size: .9rem; margin-top: 14px; }
.footer-widget__title{ color: var(--gp-white); font-size: 1rem; margin-bottom: 18px; }
.gp-footer__links{ display: flex; flex-direction: column; gap: 10px; }
.gp-footer__links a{ font-size: .9rem; color: var(--gp-muted); }
.gp-footer__links a:hover{ color: var(--gp-amber); }
.gp-footer__contact{ display: flex; flex-direction: column; gap: 14px; }
.gp-footer__contact li{ display: flex; align-items: flex-start; gap: 10px; font-size: .88rem; color: var(--gp-muted); }
.gp-footer__contact .dashicons{ color: var(--gp-orange); flex-shrink: 0; }
.gp-footer__contact a:hover{ color: var(--gp-amber); }

.gp-footer__bottom{ border-top: 1px solid var(--gp-border); padding: 20px 0; }
.gp-footer__bottom-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.gp-footer__bottom-row p{ margin: 0; font-size: .8rem; }
.gp-footer__legal{ display: flex; gap: 18px; }
.gp-footer__legal a{ font-size: .8rem; color: var(--gp-muted); }
.gp-footer__legal a:hover{ color: var(--gp-amber); }

/* ---------- Contact form (used on the dedicated Contact page) ---------- */
.gp-form__hp{ position: absolute; left: -9999px; }
.gp-form__row{ margin-bottom: 16px; }
.gp-form__row--split{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gp-form label{ display: block; font-size: .85rem; margin-bottom: 6px; color: var(--gp-white); }
.gp-form input, .gp-form textarea{
	width: 100%; padding: 12px 14px; border-radius: 8px;
	background: var(--gp-bg); border: 1px solid var(--gp-border); color: var(--gp-white);
	font-size: .92rem;
}
.gp-form input:focus, .gp-form textarea:focus{ border-color: var(--gp-orange); }
.gp-form__submit{ width: 100%; margin-top: 6px; }
.gp-form__status{ font-size: .85rem; margin-top: 12px; min-height: 1.2em; }
.gp-form__status.is-success{ color: #4ade80; }
.gp-form__status.is-error{ color: #f87171; }

/* Note: the floating live-chat button, its popup, and the chat thread bubbles
   used to live here — they are now handled entirely by the standalone
   "GuardPro Live Chat" plugin, which injects its own self-contained markup
   and styles, so this theme no longer needs to define or maintain them. */

/* ---------- Page header / breadcrumb / prose ---------- */
.gp-page-header{ padding: clamp(60px, 10vw, 96px) 0 40px; text-align: center; border-bottom: 1px solid var(--gp-border); }
.gp-page-header h1{ font-size: clamp(1.9rem, 4vw, 2.6rem); color: var(--gp-white); }
.gp-page-header--service{ text-align: center; }
.breadcrumb{ font-size: .8rem; color: var(--gp-muted); margin-bottom: 16px; font-family: var(--font-mono); }
.breadcrumb a:hover{ color: var(--gp-amber); }

.gp-prose{ color: var(--gp-white); }
.gp-prose > *:first-child{ margin-top: 0; }
.gp-prose p{ color: var(--gp-muted); font-size: 1rem; line-height: 1.75; }
.gp-prose h1, .gp-prose h2, .gp-prose h3, .gp-prose h4{
	color: var(--gp-white); font-family: var(--font-display); margin-top: 1.6em; margin-bottom: .5em;
}
.gp-prose h2{ font-size: clamp(1.6rem, 3vw, 2.1rem); }
.gp-prose h3{ font-size: clamp(1.25rem, 2.2vw, 1.5rem); }
.gp-prose > .gp-eyebrow:first-child{ display: inline-block; }
.gp-prose a:not(.gp-btn){ color: var(--gp-amber); text-decoration: underline; text-underline-offset: 3px; }
.gp-prose img{ border-radius: var(--radius); height: auto; }
.gp-prose figure{ margin: 1.6em 0; }
.gp-prose figcaption{ color: var(--gp-muted); font-size: .85rem; margin-top: 8px; text-align: center; }
.gp-prose ul:not(.gp-checklist), .gp-prose ol{ margin: 0 0 1.4em; padding-inline-start: 1.3em; color: var(--gp-muted); }
.gp-prose li{ margin-bottom: .5em; }
.gp-prose blockquote{
	border-inline-start: 3px solid var(--gp-orange); padding-inline-start: 20px;
	margin: 1.8em 0; font-style: italic; color: var(--gp-white); font-size: 1.05rem;
}
.gp-prose hr{ border: none; border-top: 1px solid var(--gp-border); margin: 2.4em 0; }

/* أزرار محرر الكتل (Buttons block) تُعامل كأزرار الموقع تلقائياً */
.gp-prose .wp-block-button__link{
	display: inline-flex; align-items: center; justify-content: center;
	padding: 13px 26px; border-radius: 999px; font-weight: 600; font-size: .95rem;
	background: linear-gradient(135deg, var(--gp-orange), var(--gp-amber)); color: #fff !important;
	text-decoration: none !important;
}
.gp-prose .is-style-outline .wp-block-button__link{
	background: transparent; border: 1px solid var(--gp-border); color: var(--gp-white) !important;
}

/* أعمدة محرر الكتل (Columns block) تتكيف تلقائياً مع الشاشات الصغيرة */
.gp-prose .wp-block-columns{ gap: 32px; margin-bottom: 1.6em; }
@media (max-width: 600px){
	.gp-prose .wp-block-columns{ flex-wrap: wrap; }
	.gp-prose .wp-block-column{ flex-basis: 100% !important; }
}

/* بطاقات/مجموعات (Group block) تأخذ خلفية العناصر لتمييزها بصرياً */
.gp-prose .wp-block-group.has-background,
.gp-prose .wp-block-cover{ border-radius: var(--radius-lg); }
.gp-page-thumb{ border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 28px; }

.gp-service-layout{ display: grid; grid-template-columns: 2fr 1fr; gap: 48px; align-items: start; }

.gp-contact-grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; }
.gp-contact-info__list{ display: flex; flex-direction: column; gap: 20px; margin-top: 26px; }
.gp-contact-info__list li{ display: flex; gap: 14px; align-items: flex-start; }
.gp-contact-info__list .dashicons{ color: var(--gp-orange); font-size: 22px; width: 22px; height: 22px; margin-top: 2px; }
.gp-contact-info__list strong{ display: block; color: var(--gp-white); font-size: .85rem; margin-bottom: 2px; }
.gp-contact-form-wrap{ background: var(--gp-surface); border: 1px solid var(--gp-border); border-radius: var(--radius-lg); padding: 32px; }
.gp-contact-form-wrap h2{ color: var(--gp-white); font-size: 1.4rem; }

.gp-pagination{ margin-top: 40px; display: flex; justify-content: center; gap: 8px; }
.gp-pagination .page-numbers{ padding: 8px 14px; border-radius: 8px; border: 1px solid var(--gp-border); font-size: .85rem; }
.gp-pagination .page-numbers.current{ background: var(--gp-orange); border-color: var(--gp-orange); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
	.gp-grid--services{ grid-template-columns: repeat(2, 1fr); }
	.gp-grid--posts{ grid-template-columns: repeat(2, 1fr); }
	.gp-footer__top{ grid-template-columns: 1fr 1fr; }
	.gp-why{ grid-template-columns: 1fr; }
	.gp-why__visual{ order: -1; }
	.gp-service-layout{ grid-template-columns: 1fr; }
	.gp-contact-grid{ grid-template-columns: 1fr; }
	.gp-capability, .gp-capability--reverse{ grid-template-columns: 1fr; direction: ltr; }
	.gp-capability__media, .gp-capability--reverse .gp-capability__media{ order: -1; }
}

@media (max-width: 782px){
	:root{ --gp-header-h: 80px; }
	.gp-header__actions{ gap: 10px; }
	.gp-header__cta{ display: none; }
	.gp-nav-toggle{ display: inline-flex; }
	.gp-nav{
		position: fixed; inset: 0; z-index: 9999;
		background: var(--gp-nav-overlay);
		-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		padding: 90px 20px 40px;
		opacity: 0; visibility: hidden; pointer-events: none;
		transition: opacity .35s ease, visibility .35s ease;
		overflow-y: auto;
	}
	.gp-nav.is-open{ opacity: 1; visibility: visible; pointer-events: auto; }
	.gp-nav__close{
		position: absolute; top: 20px; inset-inline-end: 20px;
		width: 46px; height: 46px; border-radius: 50%;
		background: var(--gp-surface); border: 1px solid var(--gp-border); color: var(--gp-nav-text);
		font-size: 1.8rem; line-height: 1; display: flex; align-items: center; justify-content: center;
		transition: box-shadow .2s ease, background .2s ease;
	}
	.gp-nav__close:hover{ box-shadow: 0 0 20px rgba(212,175,55,.35); }
	.gp-nav__list{ flex-direction: column; align-items: center; gap: 8px; width: 100%; max-width: 420px; }
	.gp-nav__list a{
		padding: 16px 16px; font-size: clamp(1.5rem, 6vw, 1.9rem);
		font-family: var(--font-display); font-weight: 600; text-align: center; width: 100%;
		color: var(--gp-nav-text); border-radius: 12px; border: 1px solid transparent;
		transition: box-shadow .25s ease, color .25s ease, background .25s ease;
	}
	.gp-nav__list a:hover,
	.gp-nav__list .current-menu-item > a{
		color: var(--gp-amber);
		background: rgba(212,175,55,.08);
		box-shadow: 0 0 28px rgba(212,175,55,.35), inset 0 0 0 1px rgba(212,175,55,.4);
	}

	.gp-topbar__row{ font-size: .7rem; }
	.gp-hero__stats{ grid-template-columns: 1fr; gap: 18px; text-align: center; }
	.gp-grid--services, .gp-grid--posts{ grid-template-columns: 1fr; }
	.gp-footer__top{ grid-template-columns: 1fr; gap: 32px; }
	.gp-footer__bottom-row{ flex-direction: column; text-align: center; }
	.gp-form__row--split{ grid-template-columns: 1fr; }
}

@media (max-width: 480px){
	.gp-container{ padding-inline: 16px; }
	.gp-hero{ text-align: start; }
	.gp-hero__actions{ justify-content: flex-start; }
}
