/**
 * VIPCS frontend source styles.
 */

:root {
	--vipcs-primary: #fb7e1d;
	--vipcs-secondary: #a74d0a;
	--vipcs-accent: #ffad52;
	--vipcs-background: #faf8f5;
	--vipcs-surface: #ffffff;
	--vipcs-surface-soft: #fff3e8;
	--vipcs-body-text: #50565e;
	--vipcs-heading-text: #17191d;
	--vipcs-muted-text: #777d85;
	--vipcs-border: #e7ded5;
	--vipcs-menu-text: #24282d;
	--vipcs-button-text: #ffffff;
	--vipcs-card-title: #17191d;
	--vipcs-card-description: #626971;
	--vipcs-header-bg: #ffffff;
	--vipcs-header-text: #24282d;
	--vipcs-header-active: #fb7e1d;
	--vipcs-footer-bg: #151311;
	--vipcs-footer-text: #c5bdb5;
	--vipcs-footer-heading: #ffffff;
	--vipcs-dark-background: #0f1012;
	--vipcs-dark-surface: #17191d;
	--vipcs-dark-surface-soft: #202329;
	--vipcs-dark-body-text: #d4d0cb;
	--vipcs-dark-heading-text: #f6f9ff;
	--vipcs-dark-muted-text: #aaa39c;
	--vipcs-dark-menu-text: #f0ece8;
	--vipcs-dark-button-text: #ffffff;
	--vipcs-dark-card-title: #f6f9ff;
	--vipcs-dark-card-description: #bdb6af;
	--vipcs-dark-border: #33363b;
	--vipcs-container: 1240px;
	--vipcs-base-font-size: 16px;
	--vipcs-header-radius: 999px;
	--vipcs-header-blur: 18px;
	--vipcs-heading-weight: 750;
	--vipcs-button-weight: 700;
	--vipcs-font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--vipcs-header-shadow: 0 18px 55px rgba(35, 25, 17, 0.13);
	--vipcs-dark-shadow: 0 20px 65px rgba(0, 0, 0, 0.38);
	--vipcs-radius-sm: 12px;
	--vipcs-radius-md: 20px;
	--vipcs-radius-lg: 32px;
	--vipcs-shadow: 0 24px 70px rgba(35, 25, 17, 0.1);
	--vipcs-header-offset: 112px;
	color-scheme: light;
}

html.vipcs-dark {
	--vipcs-background: var(--vipcs-dark-background);
	--vipcs-surface: var(--vipcs-dark-surface);
	--vipcs-surface-soft: var(--vipcs-dark-surface-soft);
	--vipcs-body-text: var(--vipcs-dark-body-text);
	--vipcs-heading-text: var(--vipcs-dark-heading-text);
	--vipcs-muted-text: var(--vipcs-dark-muted-text);
	--vipcs-menu-text: var(--vipcs-dark-menu-text);
	--vipcs-button-text: var(--vipcs-dark-button-text);
	--vipcs-card-title: var(--vipcs-dark-card-title);
	--vipcs-card-description: var(--vipcs-dark-card-description);
	--vipcs-border: var(--vipcs-dark-border);
	--vipcs-header-bg: var(--vipcs-dark-surface);
	--vipcs-header-text: var(--vipcs-dark-heading-text);
	--vipcs-shadow: var(--vipcs-dark-shadow);
	color-scheme: dark;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
	scroll-padding-top: var(--vipcs-header-offset);
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	margin: 0;
	min-width: 320px;
	overflow-x: hidden;
	background:
		radial-gradient(circle at 4% 12%, color-mix(in srgb, var(--vipcs-primary) 8%, transparent) 0, transparent 25rem),
		var(--vipcs-background);
	color: var(--vipcs-body-text);
	font-family: var(--vipcs-font-family);
	font-size: var(--vipcs-base-font-size);
	line-height: 1.7;
	text-rendering: optimizeLegibility;
}

body.vipcs-menu-open {
	overflow: hidden;
}

img,
video,
iframe,
svg {
	max-width: 100%;
}

img,
video {
	height: auto;
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
[type="button"],
[type="submit"] {
	cursor: pointer;
}

a {
	color: var(--vipcs-primary);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--vipcs-secondary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 0.55em;
	color: var(--vipcs-heading-text);
	font-weight: var(--vipcs-heading-weight);
	line-height: 1.12;
	letter-spacing: -0.025em;
}

p {
	margin-block: 0 1.25em;
}

ul,
ol {
	padding-inline-start: 1.25rem;
}

::selection {
	background: var(--vipcs-accent);
	color: #101828;
}

:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--vipcs-accent) 88%, white);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	position: fixed !important;
	inset-block-start: 10px;
	inset-inline-start: 10px;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 0.75rem 1rem;
	background: var(--vipcs-surface);
	color: var(--vipcs-heading-text);
	border-radius: 8px;
	box-shadow: var(--vipcs-shadow);
}

.vipcs-container {
	width: min(calc(100% - 40px), var(--vipcs-container));
	margin-inline: auto;
}

.vipcs-row {
	display: flex;
	flex-wrap: wrap;
	margin-inline: -12px;
}

[class*="vipcs-col-"] {
	width: 100%;
	padding-inline: 12px;
}

.vipcs-col-6 { width: 50%; }
.vipcs-col-4 { width: 33.3333%; }
.vipcs-col-3 { width: 25%; }

.alignwide {
	width: min(calc(100vw - 40px), calc(var(--vipcs-container) + 160px));
	max-width: none;
	margin-inline: 50%;
	transform: translateX(-50%);
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-inline: 50%;
	transform: translateX(-50%);
}

/* Header */
.vipcs-site-header {
	position: absolute;
	inset-block-start: 18px;
	inset-inline: 0;
	z-index: 1000;
	pointer-events: none;
}

.admin-bar .vipcs-site-header {
	inset-block-start: 50px;
}

.vipcs-site-header.is-sticky {
	position: fixed;
}

.vipcs-header-shell {
	display: grid;
	grid-template-columns: minmax(150px, 0.72fr) minmax(320px, 1.45fr) auto minmax(210px, 0.72fr);
	align-items: center;
	min-height: 74px;
	padding: 10px 14px 10px 22px;
	background: color-mix(in srgb, var(--vipcs-header-bg) 96%, transparent);
	color: var(--vipcs-header-text);
	border: 1px solid color-mix(in srgb, var(--vipcs-border) 76%, transparent);
	border-radius: var(--vipcs-header-radius);
	box-shadow: var(--vipcs-header-shadow);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	pointer-events: auto;
	transition: max-width 0.42s ease, width 0.42s ease, padding 0.42s ease, min-height 0.42s ease, background-color 0.42s ease, border-color 0.42s ease, border-radius 0.42s ease, box-shadow 0.42s ease;
}

.vipcs-site-header.is-scrolled .vipcs-header-shell {
	width: calc(100% - 24px);
	max-width: 1680px;
	min-height: 66px;
	padding-block: 7px;
	background: color-mix(in srgb, var(--vipcs-header-bg) 94%, transparent);
	border-color: transparent;
	border-radius: 22px;
	box-shadow: 0 14px 45px color-mix(in srgb, var(--vipcs-heading-text) 16%, transparent);
}

.vipcs-site-header--classic {
	inset-block-start: 0;
}

.admin-bar .vipcs-site-header--classic {
	inset-block-start: 32px;
}

.vipcs-site-header--classic .vipcs-header-shell {
	width: 100%;
	max-width: none;
	border-radius: 0;
	border-inline: 0;
}

.vipcs-site-header--overlay:not(.is-scrolled) .vipcs-header-shell {
	background: color-mix(in srgb, #151311 36%, transparent);
	--vipcs-header-text: #ffffff;
	--vipcs-menu-text: #ffffff;
	border-color: rgba(255, 255, 255, 0.22);
}

.vipcs-header-brand {
	min-width: 0;
}

.vipcs-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.72rem;
	max-width: min(230px, 100%);
	color: var(--vipcs-header-text);
	font-weight: 800;
	text-decoration: none;
}

.vipcs-logo__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: 45px;
	object-fit: contain;
}

.vipcs-logo__image--dark,
.vipcs-logo__image--mobile {
	display: none;
}

.vipcs-dark .vipcs-logo__image--default {
	display: none;
}

.vipcs-dark .vipcs-logo__image--dark {
	display: block;
}

.vipcs-logo__mark {
	display: grid;
	place-items: center;
	width: 42px;
	aspect-ratio: 1;
	background: linear-gradient(145deg, var(--vipcs-accent), #ffb267);
	color: #111827;
	border-radius: 13px 13px 4px;
	font-size: 1.35rem;
	box-shadow: 0 10px 30px rgba(254, 140, 38, 0.28);
}

.vipcs-logo__text {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vipcs-desktop-nav {
	justify-self: center;
}

.vipcs-menu,
.vipcs-menu ul,
.vipcs-footer-menu,
.vipcs-social-links,
.vipcs-footer-contact ul,
.vipcs-footer-bottom ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vipcs-menu--desktop {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(0.7rem, 1.6vw, 1.65rem);
}

.vipcs-menu--desktop > li {
	position: relative;
}

.vipcs-menu--desktop a {
	display: block;
	padding: 0.55rem 0.1rem;
	color: var(--vipcs-menu-text);
	font-size: 0.91rem;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.vipcs-menu--desktop > li > a::after {
	content: "";
	position: absolute;
	inset-inline: 50%;
	inset-block-end: 1px;
	height: 2px;
	background: var(--vipcs-header-active);
	border-radius: 99px;
	transition: inset 0.22s ease;
}

.vipcs-menu--desktop a:hover,
.vipcs-menu--desktop a:focus-visible,
.vipcs-menu--desktop .current-menu-item > a,
.vipcs-menu--desktop .current-menu-ancestor > a {
	color: var(--vipcs-header-active);
}

.vipcs-menu--desktop > li:hover > a::after,
.vipcs-menu--desktop > li:focus-within > a::after,
.vipcs-menu--desktop .current-menu-item > a::after {
	inset-inline: 15%;
}

.vipcs-menu--desktop .sub-menu {
	position: absolute;
	inset-block-start: calc(100% + 12px);
	inset-inline-start: -18px;
	min-width: 220px;
	padding: 10px;
	background: var(--vipcs-surface);
	border: 1px solid var(--vipcs-border);
	border-radius: 15px;
	box-shadow: var(--vipcs-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.vipcs-menu--desktop li:hover > .sub-menu,
.vipcs-menu--desktop li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.vipcs-menu--desktop .sub-menu .sub-menu {
	inset-block-start: -10px;
	inset-inline-start: calc(100% + 10px);
}

.vipcs-menu--desktop .sub-menu a {
	padding: 0.65rem 0.75rem;
	border-radius: 9px;
}

.vipcs-menu--desktop .sub-menu a:hover,
.vipcs-menu--desktop .sub-menu a:focus-visible {
	background: var(--vipcs-surface-soft);
}

.vipcs-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;
}

.vipcs-header-actions--mobile {
	display: none;
}

.vipcs-icon-button {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: color-mix(in srgb, var(--vipcs-surface-soft) 82%, transparent);
	color: var(--vipcs-header-text);
	border: 1px solid color-mix(in srgb, var(--vipcs-border) 75%, transparent);
	border-radius: 50%;
	transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.vipcs-icon-button:hover {
	background: var(--vipcs-primary);
	color: #ffffff;
	transform: translateY(-1px);
}

.vipcs-icon-button svg,
.vipcs-icon svg,
.vipcs-button svg,
.vipcs-text-link svg,
.vipcs-footer-contact-link svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vipcs-mode-toggle .vipcs-icon--moon,
.vipcs-dark .vipcs-mode-toggle .vipcs-icon--sun {
	display: none;
}

.vipcs-dark .vipcs-mode-toggle .vipcs-icon--moon {
	display: inline-flex;
}

.vipcs-button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 46px;
	padding: 0.72rem 1.25rem;
	background: var(--vipcs-primary);
	color: var(--vipcs-button-text);
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: var(--vipcs-button-weight);
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 10px 26px color-mix(in srgb, var(--vipcs-primary) 24%, transparent);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.vipcs-button:hover,
.vipcs-button:focus-visible,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--vipcs-secondary);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 14px 32px color-mix(in srgb, var(--vipcs-secondary) 30%, transparent);
}

.vipcs-button--accent,
.woocommerce a.button.vipcs-button--accent {
	background: var(--vipcs-accent);
	color: #131a27;
	box-shadow: 0 12px 28px color-mix(in srgb, var(--vipcs-accent) 30%, transparent);
}

.vipcs-button--accent:hover,
.vipcs-button--accent:focus-visible {
	background: color-mix(in srgb, var(--vipcs-accent) 82%, white);
	color: #08111f;
}

.vipcs-button--outline-light {
	background: rgba(255, 255, 255, 0.05);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.48);
	box-shadow: none;
}

.vipcs-button--outline-light:hover {
	background: #ffffff;
	color: #0b1c34;
}

/* Offcanvas */
.vipcs-offcanvas {
	position: fixed;
	inset: 0;
	z-index: 1500;
	visibility: hidden;
	pointer-events: none;
}

.vipcs-offcanvas.is-open {
	visibility: visible;
	pointer-events: auto;
}

.vipcs-offcanvas__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	background: rgba(2, 10, 23, 0.68);
	border: 0;
	opacity: 0;
	backdrop-filter: none;
	transition: opacity 0.28s ease;
}

.vipcs-offcanvas.is-open .vipcs-offcanvas__backdrop {
	opacity: 1;
}

.vipcs-offcanvas__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: min(88vw, 390px);
	padding: max(22px, env(safe-area-inset-top)) 22px max(24px, env(safe-area-inset-bottom));
	overflow-y: auto;
	background: var(--vipcs-surface);
	color: var(--vipcs-body-text);
	box-shadow: -28px 0 70px rgba(0, 0, 0, 0.22);
	transform: translateX(105%);
	transition: transform 0.32s ease;
}

[dir="rtl"] .vipcs-offcanvas__panel {
	transform: translateX(-105%);
}

.vipcs-offcanvas.is-open .vipcs-offcanvas__panel {
	transform: none;
}

.vipcs-offcanvas__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block-end: 1.1rem;
	border-block-end: 1px solid var(--vipcs-border);
}

.vipcs-offcanvas__head .vipcs-logo {
	max-width: 210px;
}

.vipcs-menu--mobile {
	padding-block: 1.25rem;
}

.vipcs-menu--mobile li {
	border-block-end: 1px solid var(--vipcs-border);
}

.vipcs-menu--mobile a {
	display: flex;
	align-items: center;
	min-height: 52px;
	color: var(--vipcs-menu-text);
	font-weight: 680;
	text-decoration: none;
}

.vipcs-menu--mobile .sub-menu {
	padding-inline-start: 1rem;
	border-inline-start: 2px solid var(--vipcs-primary);
}

.vipcs-menu--mobile .sub-menu li:last-child {
	border-block-end: 0;
}

.vipcs-mobile-actions .vipcs-button {
	width: 100%;
}

/* Main and hero */
.vipcs-site-main {
	min-height: 55vh;
}

.vipcs-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: max(720px, 100svh);
	padding-block: calc(var(--vipcs-header-offset) + 46px) 100px;
	overflow: hidden;
	background: #151311;
	color: #dbe8f8;
}

.vipcs-hero__media,
.vipcs-hero__mesh,
.vipcs-hero::after {
	position: absolute;
	inset: 0;
}

.vipcs-hero__media img,
.vipcs-hero__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vipcs-hero::after {
	content: "";
	background: linear-gradient(90deg, rgba(4, 15, 31, var(--vipcs-hero-overlay, 0.72)) 0%, rgba(5, 24, 49, 0.65) 48%, rgba(5, 19, 39, 0.48) 100%);
}

.vipcs-hero__mesh {
	z-index: 1;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		radial-gradient(circle at 82% 30%, color-mix(in srgb, var(--vipcs-accent) 25%, transparent), transparent 25rem);
	background-size: 52px 52px, 52px 52px, auto;
	mask-image: linear-gradient(to bottom, black 20%, transparent 100%);
}

.vipcs-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
}

.vipcs-hero__content {
	width: min(760px, 100%);
}

.vipcs-hero--center .vipcs-hero__content {
	margin-inline: auto;
	text-align: center;
}

.vipcs-hero h1 {
	max-width: 14ch;
	margin-block: 0.35rem 0.5rem;
	color: #ffffff;
	font-size: clamp(2.75rem, 6.7vw, 6.4rem);
	line-height: 0.98;
	text-wrap: balance;
}

.vipcs-hero--center h1 {
	margin-inline: auto;
}

.vipcs-hero__content > p {
	max-width: 62ch;
	margin-block: 1.1rem 1.8rem;
	color: #c9d8ea;
	font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.vipcs-hero--center .vipcs-hero__content > p {
	margin-inline: auto;
}

.vipcs-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-block-end: 0.7rem;
	color: var(--vipcs-primary);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.vipcs-eyebrow::before {
	content: "";
	width: 24px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

.vipcs-eyebrow--light {
	color: var(--vipcs-accent);
}

.vipcs-moving-words {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 1.35em;
	color: var(--vipcs-accent);
	font-size: clamp(1.35rem, 3.5vw, 2.65rem);
	font-weight: 780;
	line-height: 1.12;
	text-align: center;
}

.vipcs-hero--center .vipcs-moving-words {
	justify-content: center;
}

.vipcs-moving-words > span:first-child {
	display: inline-block;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.vipcs-moving-words.is-changing > span:first-child {
	opacity: 0;
	transform: translateY(8px);
}

.vipcs-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.vipcs-hero--center .vipcs-hero__actions {
	justify-content: center;
}

/* Sections and content */
.vipcs-front-content:empty {
	display: none;
}

.vipcs-front-content .vipcs-entry-content:empty {
	display: none;
}

.vipcs-section,
.vipcs-page-shell,
.vipcs-page-article {
	padding-block: clamp(70px, 9vw, 130px);
}

.vipcs-section--solutions {
	background: var(--vipcs-surface-soft);
}

.vipcs-section--inquiry {
	position: relative;
	overflow: hidden;
	background: var(--vipcs-surface);
}

.vipcs-section--inquiry::before {
	content: "";
	position: absolute;
	inset-block-start: -180px;
	inset-inline-end: -120px;
	width: 430px;
	aspect-ratio: 1;
	background: radial-gradient(circle, color-mix(in srgb, var(--vipcs-accent) 15%, transparent), transparent 68%);
	pointer-events: none;
}

.vipcs-section-heading {
	max-width: 720px;
	margin-block-end: clamp(2rem, 5vw, 4rem);
}

.vipcs-section-heading h2,
.vipcs-page-header h1 {
	font-size: clamp(2.1rem, 4.3vw, 4.4rem);
	text-wrap: balance;
}

.vipcs-section-heading > p,
.vipcs-archive-description {
	max-width: 62ch;
	color: var(--vipcs-muted-text);
	font-size: 1.06rem;
}

.vipcs-inquiry-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
	gap: clamp(2rem, 7vw, 6rem);
	align-items: start;
}

.vipcs-inquiry-slot,
.vipcs-comments-area {
	padding: clamp(1.25rem, 3vw, 2.25rem);
	background: var(--vipcs-surface);
	border: 1px solid var(--vipcs-border);
	border-radius: var(--vipcs-radius-lg);
	box-shadow: var(--vipcs-shadow);
}

.vipcs-page-shell,
.vipcs-page-article {
	padding-block-start: calc(var(--vipcs-header-offset) + 50px);
}

.vipcs-page-header {
	max-width: 880px;
	margin-block-end: clamp(2.2rem, 5vw, 4.5rem);
}

.vipcs-entry-content {
	font-size: 1.04rem;
}

.vipcs-entry-content > * {
	max-width: 820px;
	margin-inline: auto;
}

.vipcs-entry-content > .alignwide,
.vipcs-entry-content > .alignfull {
	max-width: none;
}

.vipcs-entry-content img,
.vipcs-entry-image {
	border-radius: var(--vipcs-radius-md);
}

.vipcs-entry-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.vipcs-entry-content th,
.vipcs-entry-content td {
	padding: 0.8rem 1rem;
	border: 1px solid var(--vipcs-border);
	text-align: start;
}

.vipcs-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.vipcs-post-card {
	overflow: hidden;
	background: var(--vipcs-surface);
	border: 1px solid var(--vipcs-border);
	border-radius: var(--vipcs-radius-md);
	box-shadow: 0 14px 48px color-mix(in srgb, var(--vipcs-heading-text) 7%, transparent);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.vipcs-post-card:hover {
	transform: translateY(-6px);
	border-color: color-mix(in srgb, var(--vipcs-primary) 40%, var(--vipcs-border));
	box-shadow: var(--vipcs-shadow);
}

.vipcs-entry-thumbnail {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.vipcs-entry-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.4s ease;
}

.vipcs-post-card:hover .vipcs-entry-thumbnail img {
	transform: scale(1.035);
}

.vipcs-post-card__body {
	padding: 1.35rem;
}

.vipcs-post-card h2 {
	font-size: 1.35rem;
}

.vipcs-post-card h2 a {
	color: var(--vipcs-card-title);
	text-decoration: none;
}

.vipcs-post-card__excerpt {
	color: var(--vipcs-card-description);
}

.vipcs-entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-block-end: 0.75rem;
	color: var(--vipcs-muted-text);
	font-size: 0.82rem;
}

.vipcs-entry-meta a {
	color: inherit;
}

.vipcs-text-link,
.vipcs-footer-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 750;
	text-decoration: none;
}

.vipcs-text-link svg,
.vipcs-footer-contact-link svg {
	width: 17px;
	height: 17px;
}

.vipcs-single-shell {
	max-width: 940px;
}

.vipcs-single-article > .vipcs-entry-image {
	width: 100%;
	margin-block-end: 2rem;
}

.vipcs-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: 2rem;
}

.vipcs-tags a {
	padding: 0.35rem 0.7rem;
	background: var(--vipcs-surface-soft);
	border-radius: 999px;
	text-decoration: none;
}

.post-navigation,
.posts-navigation,
.pagination {
	margin-block: 3rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding-inline: 0.65rem;
	background: var(--vipcs-surface);
	color: var(--vipcs-heading-text);
	border: 1px solid var(--vipcs-border);
	border-radius: 10px;
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--vipcs-primary);
	color: #ffffff;
	border-color: var(--vipcs-primary);
}

.vipcs-empty-state {
	padding: clamp(2rem, 5vw, 4.5rem);
	background: var(--vipcs-surface);
	border: 1px dashed color-mix(in srgb, var(--vipcs-primary) 40%, var(--vipcs-border));
	border-radius: var(--vipcs-radius-lg);
	text-align: center;
}

.vipcs-empty-state > * {
	max-width: 620px;
	margin-inline: auto;
}

/* Forms, search, and comments */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
textarea,
select {
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 0.9rem;
	background: var(--vipcs-background);
	color: var(--vipcs-body-text);
	border: 1px solid var(--vipcs-border);
	border-radius: var(--vipcs-radius-sm);
}

textarea {
	min-height: 150px;
	resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--vipcs-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--vipcs-primary) 18%, transparent);
}

label {
	color: var(--vipcs-heading-text);
	font-weight: 650;
}

.vipcs-search-form {
	display: flex;
	width: min(100%, 620px);
	gap: 0.6rem;
}

.vipcs-search-form label {
	flex: 1;
}

.vipcs-search-submit,
.form-submit input[type="submit"] {
	min-height: 48px;
	padding-inline: 1.2rem;
	background: var(--vipcs-primary);
	color: #ffffff;
	border: 0;
	border-radius: var(--vipcs-radius-sm);
	font-weight: 750;
}

.vipcs-comments-area {
	margin-block-start: 3rem;
}

.vipcs-comment-list {
	padding: 0;
	list-style: none;
}

.vipcs-comment-list .comment-body {
	margin-block: 1rem;
	padding: 1rem;
	background: var(--vipcs-background);
	border: 1px solid var(--vipcs-border);
	border-radius: var(--vipcs-radius-sm);
}

.vipcs-comment-list .children {
	list-style: none;
}

/* Error */
.vipcs-error-page {
	display: flex;
	min-height: 82vh;
	padding-block: calc(var(--vipcs-header-offset) + 80px) 100px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.vipcs-error-code {
	color: color-mix(in srgb, var(--vipcs-primary) 14%, transparent);
	font-size: clamp(7rem, 24vw, 18rem);
	font-weight: 900;
	line-height: 0.7;
}

.vipcs-error-page h1 {
	font-size: clamp(2rem, 5vw, 4rem);
}

.vipcs-error-page > p {
	max-width: 650px;
	color: var(--vipcs-muted-text);
}

.vipcs-error-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

/* Footer */
.vipcs-site-footer {
	position: relative;
	overflow: hidden;
	padding-block: clamp(70px, 9vw, 120px) 24px;
	background: var(--vipcs-footer-bg);
	color: var(--vipcs-footer-text);
}

.vipcs-footer-glow {
	position: absolute;
	inset-block-start: -180px;
	inset-inline-start: 12%;
	width: 500px;
	aspect-ratio: 1;
	background: radial-gradient(circle, color-mix(in srgb, var(--vipcs-primary) 22%, transparent), transparent 68%);
	pointer-events: none;
}

.vipcs-footer-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(260px, 1.35fr) minmax(150px, 0.7fr) minmax(230px, 1fr);
	gap: clamp(2rem, 6vw, 5.5rem);
}

.vipcs-footer-grid:has(.vipcs-footer-newsletter) {
	grid-template-columns: 1.2fr 0.65fr 0.85fr 1fr;
}

.vipcs-site-footer h2 {
	margin-block-end: 1.2rem;
	color: var(--vipcs-footer-heading);
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vipcs-site-footer .vipcs-logo {
	margin-block-end: 1.25rem;
	color: var(--vipcs-footer-heading);
}

.vipcs-footer-brand p {
	max-width: 44ch;
}

.vipcs-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.vipcs-social-links a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: var(--vipcs-footer-text);
	border: 1px solid color-mix(in srgb, var(--vipcs-footer-text) 28%, transparent);
	border-radius: 50%;
	transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.vipcs-social-links a:hover {
	background: var(--vipcs-accent);
	color: #101827;
	border-color: var(--vipcs-accent);
	transform: translateY(-2px);
}

.vipcs-footer-menu a,
.vipcs-footer-contact a,
.vipcs-footer-bottom a {
	color: var(--vipcs-footer-text);
	text-decoration: none;
}

.vipcs-footer-menu a:hover,
.vipcs-footer-contact a:hover,
.vipcs-footer-bottom a:hover {
	color: var(--vipcs-accent);
}

.vipcs-footer-menu li + li {
	margin-block-start: 0.7rem;
}

.vipcs-footer-contact li {
	margin-block-end: 0.9rem;
}

.vipcs-footer-contact li span {
	display: block;
	margin-block-end: 0.15rem;
	color: var(--vipcs-footer-heading);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vipcs-footer-contact-link {
	color: var(--vipcs-accent) !important;
}

.vipcs-newsletter-form input:not([type="submit"]) {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.16);
}

.vipcs-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-block-start: clamp(3rem, 7vw, 6rem);
	padding-block-start: 1.25rem;
	border-block-start: 1px solid color-mix(in srgb, var(--vipcs-footer-text) 18%, transparent);
	font-size: 0.88rem;
}

.vipcs-footer-bottom p {
	margin: 0;
}

.vipcs-footer-bottom ul {
	display: flex;
	gap: 1.25rem;
}

/* WooCommerce catalog presentation */
.vipcs-woocommerce {
	padding-block: calc(var(--vipcs-header-offset) + 40px) clamp(70px, 9vw, 120px);
}

.woocommerce .woocommerce-breadcrumb {
	margin-block-end: 2rem;
	color: var(--vipcs-muted-text);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--vipcs-primary);
}

.woocommerce .woocommerce-products-header__title,
.woocommerce div.product .product_title {
	font-size: clamp(2rem, 4vw, 4rem);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
	margin-block: 2.5rem 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 1rem;
	background: var(--vipcs-surface);
	border: 1px solid var(--vipcs-border);
	border-radius: var(--vipcs-radius-md);
	box-shadow: 0 14px 48px color-mix(in srgb, var(--vipcs-heading-text) 7%, transparent);
}

.woocommerce ul.products li.product a img {
	margin-block-end: 1rem;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #ffffff;
	border-radius: 14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--vipcs-card-title);
	font-size: 1.2rem;
}

.woocommerce ul.products li.product .price {
	color: var(--vipcs-primary);
	font-weight: 750;
}

.woocommerce ul.products li.product .button {
	margin-block-start: 0.75rem;
}

.woocommerce span.onsale {
	background: var(--vipcs-accent);
	color: #101827;
}

.woocommerce div.product {
	display: flow-root;
}

.woocommerce div.product div.images img {
	background: #ffffff;
	border-radius: var(--vipcs-radius-md);
}

.woocommerce div.product .summary {
	padding: clamp(1rem, 3vw, 2rem);
	background: var(--vipcs-surface);
	border: 1px solid var(--vipcs-border);
	border-radius: var(--vipcs-radius-md);
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--vipcs-card-description);
}

.woocommerce div.product .product_meta {
	display: grid;
	gap: 0.4rem;
	color: var(--vipcs-muted-text);
}

.vipcs-product-inquiry {
	margin-block-start: 1rem;
}

.woocommerce div.product .woocommerce-tabs {
	padding-block-start: 2rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: var(--vipcs-surface-soft);
	border: 1px solid var(--vipcs-border);
	border-radius: 999px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0.65rem 1rem;
	color: var(--vipcs-heading-text);
}

.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce table.shop_attributes {
	color: var(--vipcs-body-text);
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	padding: 0.75rem 1rem;
	background: var(--vipcs-surface);
	border-color: var(--vipcs-border);
	font-style: normal;
	text-align: start;
}

.woocommerce .woocommerce-ordering select {
	width: auto;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	margin: 0.2rem;
	padding: 0.75rem;
	background: var(--vipcs-surface);
	color: var(--vipcs-heading-text);
	border: 1px solid var(--vipcs-border);
	border-radius: 10px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--vipcs-primary);
	color: #ffffff;
}

.vipcs-reference-prices-hidden .price,
.vipcs-reference-prices-hidden .wc-block-components-product-price,
.vipcs-reference-prices-hidden .wc-block-grid__product-price,
.vipcs-reference-prices-hidden .wc-block-components-product-sale-badge {
	display: none !important;
}

/* Dark component refinements */
.vipcs-dark .vipcs-header-shell {
	background: color-mix(in srgb, var(--vipcs-dark-surface) 84%, transparent);
	border-color: color-mix(in srgb, var(--vipcs-dark-border) 80%, transparent);
}

.vipcs-dark .vipcs-site-header.is-scrolled .vipcs-header-shell {
	background: color-mix(in srgb, var(--vipcs-dark-surface) 96%, transparent);
	border-color: transparent;
}

.vipcs-dark .vipcs-icon-button {
	background: color-mix(in srgb, var(--vipcs-dark-surface-soft) 82%, transparent);
}

.vipcs-dark .vipcs-menu--desktop .sub-menu,
.vipcs-dark .vipcs-offcanvas__panel,
.vipcs-dark .vipcs-post-card,
.vipcs-dark .vipcs-empty-state,
.vipcs-dark .vipcs-inquiry-slot,
.vipcs-dark .vipcs-comments-area,
.vipcs-dark .woocommerce ul.products li.product,
.vipcs-dark .woocommerce div.product .summary {
	box-shadow: var(--vipcs-dark-shadow);
}

.vipcs-dark .vipcs-hero {
	background: #0d0e10;
}

/* Reveal animation progressively enabled by JS. */
.js .vipcs-animations-enabled [data-vipcs-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.65s ease, transform 0.65s ease;
}

.js .vipcs-animations-enabled [data-vipcs-reveal].is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 1120px) {
	.vipcs-header-shell {
		grid-template-columns: minmax(110px, 1fr) auto auto;
	}

	.vipcs-desktop-nav,
	.vipcs-header-actions--desktop {
		display: none;
	}

	.vipcs-header-actions--mobile {
		display: flex;
	}

	.vipcs-footer-grid,
	.vipcs-footer-grid:has(.vipcs-footer-newsletter) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.vipcs-post-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vipcs-inquiry-layout {
		grid-template-columns: 1fr;
	}

	.vipcs-col-3,
	.vipcs-col-4 {
		width: 50%;
	}
}

@media (max-width: 782px) {
	:root {
		--vipcs-header-offset: 98px;
	}

	.admin-bar .vipcs-site-header {
		inset-block-start: 64px;
	}

	.vipcs-site-header {
		inset-block-start: 12px;
	}

	.vipcs-header-shell,
	.vipcs-site-header.is-scrolled .vipcs-header-shell {
		width: min(calc(100% - 20px), var(--vipcs-container));
		min-height: 64px;
		padding: 7px 8px 7px 14px;
		border-radius: 22px;
	}

	.vipcs-logo__image {
		height: 38px;
	}

	.vipcs-logo__image--mobile {
		display: block;
	}

	.vipcs-logo__image--default,
	.vipcs-logo__image--dark {
		display: none !important;
	}

	.vipcs-hero {
		min-height: max(760px, 100svh);
		padding-block: calc(var(--vipcs-header-offset) + 70px) 118px;
	}

	.vipcs-hero::after {
		background: linear-gradient(180deg, rgba(23, 18, 14, 0.8), rgba(23, 18, 14, 0.74));
	}

	.vipcs-hero h1 {
		font-size: clamp(2.45rem, 11vw, 4.8rem);
		line-height: 1.02;
	}

	.vipcs-moving-words {
		font-size: clamp(1.25rem, 7vw, 2.2rem);
	}

	.vipcs-section,
	.vipcs-page-shell,
	.vipcs-page-article {
		padding-block: 70px;
	}

	.vipcs-page-shell,
	.vipcs-page-article {
		padding-block-start: calc(var(--vipcs-header-offset) + 38px);
	}

	.vipcs-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 620px) {
	.vipcs-container {
		width: min(calc(100% - 28px), var(--vipcs-container));
	}

	.vipcs-header-actions--mobile {
		gap: 0.35rem;
	}

	.vipcs-icon-button {
		width: 42px;
		height: 42px;
	}

	.vipcs-logo__text {
		max-width: 145px;
	}

	.vipcs-hero__actions,
	.vipcs-error-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.vipcs-hero__actions .vipcs-button,
	.vipcs-error-actions > .vipcs-button {
		width: 100%;
	}

	.vipcs-post-grid,
	.woocommerce ul.products,
	.vipcs-footer-grid,
	.vipcs-footer-grid:has(.vipcs-footer-newsletter) {
		grid-template-columns: 1fr;
	}

	.vipcs-col-3,
	.vipcs-col-4,
	.vipcs-col-6 {
		width: 100%;
	}

	.vipcs-search-form {
		flex-direction: column;
	}

	.vipcs-search-submit {
		width: 100%;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
	}

	.woocommerce .woocommerce-ordering select {
		width: 100%;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		flex-direction: column;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		width: 100%;
	}

	.vipcs-footer-bottom ul {
		flex-wrap: wrap;
	}
}

@media (max-width: 380px) {
	.vipcs-header-shell,
	.vipcs-site-header.is-scrolled .vipcs-header-shell {
		width: calc(100% - 12px);
		padding-inline-start: 10px;
	}

	.vipcs-logo__mark {
		width: 38px;
	}

	.vipcs-logo__text {
		max-width: 112px;
		font-size: 0.88rem;
	}

	.vipcs-hero {
		min-height: max(780px, 100svh);
		padding-block-start: calc(var(--vipcs-header-offset) + 80px);
	}

	.vipcs-hero h1 {
		font-size: clamp(2.2rem, 12.5vw, 3.2rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.js .vipcs-animations-enabled [data-vipcs-reveal] {
		opacity: 1;
		transform: none;
	}
}


/* Elementor-built VIPCS demo pages intentionally bypass the standard article spacing/container. */
.vipcs-page-article.vipcs-elementor-page,.vipcs-elementor-page{padding-block-start:0}.vipcs-elementor-page>.elementor{width:100%}.vipcs-elementor-page .elementor-section-wrap>.elementor-section:first-child,.vipcs-elementor-page>.elementor>.elementor-section:first-child{margin-top:0}

/* VIPCS 1.3.0 — surveillance brand mark and footer redesign. */
.vipcs-logo__mark--lens{
	position:relative;
	display:grid;
	place-items:center;
	width:48px;
	min-width:48px;
	aspect-ratio:1;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	color:currentColor;
}
.vipcs-logo__mark--lens svg{display:block;width:100%;height:100%;overflow:visible}
.vipcs-logo__mark--lens .vipcs-brand-v{fill:currentColor}
.vipcs-logo__mark--lens .vipcs-brand-ring{fill:#151311;stroke:var(--vipcs-primary);stroke-width:4}
.vipcs-logo__mark--lens .vipcs-brand-core{fill:var(--vipcs-accent)}
.vipcs-logo__wording{display:flex;min-width:0;flex-direction:column;gap:.1rem;line-height:1}
.vipcs-logo__text{font-size:1.2rem;font-weight:900;letter-spacing:.04em}
.vipcs-logo__tag{color:color-mix(in srgb,currentColor 64%,transparent);font-size:.55rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.vipcs-site-header--overlay:not(.is-scrolled) .vipcs-logo__mark--lens .vipcs-brand-ring,
.vipcs-site-footer .vipcs-logo__mark--lens .vipcs-brand-ring{fill:#151311;stroke:#ff9d3d}
.vipcs-site-footer .vipcs-logo__mark--lens .vipcs-brand-core{fill:#ffad52}

.vipcs-site-footer--surveillance{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:0;
	background:#151311;
	color:#aebed3;
}
.vipcs-site-footer--surveillance::before{content:"";position:absolute;z-index:-3;inset:0;background:linear-gradient(180deg,rgba(3,13,27,.72) 0%,rgba(3,13,27,.94) 42%,#151311 76%)}
.vipcs-footer-visual{position:absolute;z-index:-4;inset:0 0 auto 0;height:min(540px,55vw);background-image:url('../images/footer-surveillance.webp');background-size:cover;background-position:center 35%;opacity:.65;filter:none}
.vipcs-footer-gridlines{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(251,126,29,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(251,126,29,.045) 1px,transparent 1px),radial-gradient(circle at 82% 46%,rgba(251,126,29,.2),transparent 26rem);background-size:56px 56px,56px 56px,auto;mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 100%)}
.vipcs-footer-shell{position:relative;padding-block:clamp(12rem,26vw,20rem) 1.5rem}
.vipcs-footer-primary{display:grid;grid-template-columns:minmax(270px,1.1fr) minmax(320px,1fr) minmax(280px,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.vipcs-site-footer--surveillance h2{margin:0 0 1rem;color:#fff}.vipcs-site-footer--surveillance .vipcs-logo{max-width:none;margin-bottom:1.4rem;color:#fff}.vipcs-site-footer--surveillance .vipcs-logo__text{font-size:1.55rem}.vipcs-site-footer--surveillance .vipcs-logo__tag{color:#a89d94}
.vipcs-footer-kicker{max-width:28ch;margin:0 0 1rem;color:#fff;font-size:clamp(1.3rem,2.2vw,2rem);font-weight:760;line-height:1.18;letter-spacing:-.02em}.vipcs-footer-description{max-width:48ch;margin:0;color:#b6ada5;line-height:1.75}
.vipcs-footer-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.7rem}.vipcs-footer-trust>span{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:.6rem;align-items:center;padding:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(31,24,18,.58);backdrop-filter:none}.vipcs-footer-trust svg{grid-row:1/3;width:27px;height:27px;fill:none;stroke:#ff9d3d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.vipcs-footer-trust b{color:#fff;font-size:.82rem}.vipcs-footer-trust small{color:#93877d;font-size:.65rem}
.vipcs-footer-links-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem)}.vipcs-footer-nav h2,.vipcs-footer-services h2{color:#ff9d3d;font-size:.73rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.vipcs-footer-menu,.vipcs-footer-services ul{display:grid;gap:.05rem;margin:0;padding:0;list-style:none}.vipcs-footer-menu a,.vipcs-footer-services a,.vipcs-footer-services li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.62rem 0;color:#e1d9d2;border-bottom:1px solid rgba(255,255,255,.07);text-decoration:none;font-size:.93rem}.vipcs-footer-menu a:hover,.vipcs-footer-services a:hover{color:#fff}.vipcs-footer-services a span{color:#d96a12}
.vipcs-footer-action{position:relative;padding:1.5rem;border:1px solid rgba(251,126,29,.24);border-radius:26px;background:linear-gradient(145deg,rgba(55,32,17,.82),rgba(22,18,15,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 28px 60px rgba(0,0,0,.18);backdrop-filter:none}.vipcs-footer-action__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:1.2rem;border:1px solid rgba(251,126,29,.25);border-radius:16px;background:rgba(251,126,29,.1)}.vipcs-footer-action__icon svg{width:28px;height:28px;fill:none;stroke:#ff9d3d;stroke-width:1.7}.vipcs-footer-action__eyebrow{margin:0 0 .55rem;color:#ff9d3d;font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.vipcs-footer-action h2{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.1;letter-spacing:-.025em}.vipcs-footer-action>p:not(.vipcs-footer-action__eyebrow){margin:0;color:#b6ada5;line-height:1.65}.vipcs-footer-action__button{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin-top:1.35rem;padding:.88rem 1rem;border-radius:14px;background:linear-gradient(135deg,#fb7e1d,#ff9b3d);color:#fff;text-decoration:none;font-weight:800}.vipcs-footer-action__button span{font-size:1.35rem}
.vipcs-footer-contactbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:clamp(2.5rem,6vw,4.5rem);padding:1rem 0;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}.vipcs-footer-contactbar>a,.vipcs-footer-contactbar>div{display:flex;gap:.75rem;align-items:center;min-width:0;padding:.65rem .8rem;color:inherit;text-decoration:none}.vipcs-footer-contactbar__icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:rgba(251,126,29,.08);color:#ff9d3d}.vipcs-footer-contactbar__icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.vipcs-footer-contactbar span:last-child{min-width:0}.vipcs-footer-contactbar small{display:block;margin-bottom:.15rem;color:#93877d;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vipcs-footer-contactbar b{display:block;overflow:hidden;color:#eee7e1;font-size:.82rem;font-weight:650;line-height:1.35;text-overflow:ellipsis}
.vipcs-site-footer--surveillance .vipcs-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:0;border:0;color:#93877d;font-size:.8rem}.vipcs-footer-bottom__right{display:flex;align-items:center;gap:1.2rem}.vipcs-site-footer--surveillance .vipcs-footer-bottom ul{display:flex;align-items:center;gap:1rem}.vipcs-site-footer--surveillance .vipcs-footer-bottom a{color:#b5aaa1}.vipcs-site-footer--surveillance .vipcs-social-links{gap:.35rem}.vipcs-site-footer--surveillance .vipcs-social-links a{width:34px;height:34px;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03)}.vipcs-site-footer--surveillance .vipcs-social-links svg{width:16px;height:16px}

@media(max-width:1080px){.vipcs-footer-primary{grid-template-columns:1fr 1fr}.vipcs-footer-action{grid-column:1/-1}.vipcs-footer-contactbar{grid-template-columns:repeat(2,minmax(0,1fr))}.vipcs-footer-shell{padding-top:clamp(10rem,34vw,17rem)}}
@media(max-width:720px){.vipcs-logo__tag{display:none}.vipcs-logo__mark--lens{width:42px;min-width:42px}.vipcs-footer-shell{padding-top:11rem}.vipcs-footer-primary,.vipcs-footer-links-wrap{grid-template-columns:1fr}.vipcs-footer-trust{grid-template-columns:1fr}.vipcs-footer-contactbar{grid-template-columns:1fr}.vipcs-site-footer--surveillance .vipcs-footer-bottom,.vipcs-footer-bottom__right{align-items:flex-start;flex-direction:column}.vipcs-site-footer--surveillance .vipcs-footer-bottom ul{flex-wrap:wrap}.vipcs-footer-visual{height:310px;background-position:64% center}}


/* VIPCS 1.3.1 — orange brand palette, GTranslate integration and sharper catalog imagery. */
.vipcs-language-switcher{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:46px;
	min-height:44px;
	padding:4px 8px;
	border:1px solid color-mix(in srgb,var(--vipcs-border) 74%,transparent);
	border-radius:999px;
	background:color-mix(in srgb,var(--vipcs-surface) 86%,transparent);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
	line-height:1;
}
.vipcs-site-header--overlay:not(.is-scrolled) .vipcs-language-switcher{background:rgba(20,16,13,.94);border-color:rgba(255,255,255,.2)}
.vipcs-language-switcher .gtranslate_wrapper,
.vipcs-language-switcher .gt_switcher,
.vipcs-language-switcher .gt_float_switcher,
.vipcs-language-switcher .gt_switcher_wrapper,
.vipcs-language-switcher .switcher{margin:0!important;line-height:1!important}
.vipcs-language-switcher .gt_switcher_wrapper,
.vipcs-language-switcher .gt_float_switcher{position:relative!important;inset:auto!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;z-index:20!important;box-shadow:none!important}
.vipcs-language-switcher select,
.vipcs-language-switcher .gt_selector{
	min-width:92px!important;
	min-height:34px!important;
	margin:0!important;
	padding:5px 28px 5px 10px!important;
	border:0!important;
	outline:0!important;
	border-radius:999px!important;
	background-color:transparent!important;
	color:var(--vipcs-header-text)!important;
	font:inherit!important;
	font-size:.78rem!important;
	font-weight:760!important;
	box-shadow:none!important;
}
.vipcs-language-switcher .gt_switcher{width:auto!important;font-family:inherit!important;box-shadow:none!important}
.vipcs-language-switcher .gt_switcher .gt_selected,
.vipcs-language-switcher .gt_switcher .gt_selected a{
	width:auto!important;
	min-width:0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	color:var(--vipcs-header-text)!important;
	font-family:inherit!important;
	font-size:.78rem!important;
	font-weight:760!important;
}
.vipcs-language-switcher .gt_switcher .gt_selected a:after{margin-inline-start:6px!important}
.vipcs-language-switcher .gt_switcher .gt_option{
	inset-block-start:calc(100% + 10px)!important;
	inset-inline-end:0!important;
	width:180px!important;
	max-height:280px!important;
	padding:7px!important;
	border:1px solid var(--vipcs-border)!important;
	border-radius:16px!important;
	background:var(--vipcs-surface)!important;
	box-shadow:0 18px 45px rgba(35,25,17,.16)!important;
}
.vipcs-language-switcher .gt_switcher .gt_option a{
	padding:8px 10px!important;
	border-radius:10px!important;
	background:transparent!important;
	color:var(--vipcs-heading-text)!important;
	font-family:inherit!important;
	font-size:.82rem!important;
}
.vipcs-language-switcher .gt_switcher .gt_option a:hover{background:var(--vipcs-surface-soft)!important;color:var(--vipcs-primary)!important}
.vipcs-language-switcher img,
.vipcs-language-switcher .gt_flag_img{width:24px!important;height:16px!important;object-fit:cover!important;border-radius:3px!important;box-shadow:0 0 0 1px rgba(0,0,0,.08)!important}
.vipcs-language-switcher .vipcs-egypt-flag{
	display:inline-block!important;
	width:24px!important;
	height:16px!important;
	margin-inline-end:6px!important;
	border-radius:3px!important;
	background-image:var(--vipcs-egypt-flag)!important;
	background-size:cover!important;
	background-position:center!important;
	box-shadow:0 0 0 1px rgba(0,0,0,.08)!important;
	vertical-align:middle!important;
}
html.vipcs-dark .vipcs-language-switcher{background:color-mix(in srgb,var(--vipcs-dark-surface) 86%,transparent);border-color:var(--vipcs-dark-border)}
html.vipcs-dark .vipcs-language-switcher .gt_switcher .gt_option{background:var(--vipcs-dark-surface)!important;border-color:var(--vipcs-dark-border)!important}
html.vipcs-dark .vipcs-language-switcher .gt_switcher .gt_option a{color:var(--vipcs-dark-heading-text)!important}

/* Product images: render originals without browser upscaling, use containment instead of zoom/crop. */
.vipcs-product-card .vipcs-card__media{
	display:grid;
	place-items:center;
	padding:1rem;
	background:#fff;
}
.vipcs-product-card .vipcs-card__media img,
.vipcs-product-card .vipcs-product-card__image{
	display:block;
	width:auto!important;
	height:auto!important;
	max-width:92%!important;
	max-height:92%!important;
	object-fit:contain!important;
	image-rendering:auto;
	transform:none!important;
	filter:none;
	backface-visibility:hidden;
}
.vipcs-product-card:hover .vipcs-card__media img{transform:none!important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block}
.woocommerce ul.products li.product a img{
	width:auto!important;
	height:auto!important;
	max-width:100%!important;
	max-height:420px!important;
	margin-inline:auto!important;
	object-fit:contain!important;
	image-rendering:auto;
	filter:none;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image>a{display:grid;place-items:center;background:#fff;border-radius:var(--vipcs-radius-md)}
.woocommerce div.product div.images img{
	width:auto!important;
	height:auto!important;
	max-width:100%!important;
	max-height:760px!important;
	margin-inline:auto!important;
	object-fit:contain!important;
	image-rendering:auto;
}

/* Orange accents over the dark surveillance imagery. */
.elementor-widget-vipcs_hero .vipcs-hero__media:after{background:radial-gradient(circle at 80% 32%,rgba(251,126,29,.14),transparent 36%),linear-gradient(180deg,transparent 72%,rgba(18,12,8,.34) 100%)}
.vipcs-footer-gridlines{background-image:linear-gradient(rgba(251,126,29,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(251,126,29,.045) 1px,transparent 1px),radial-gradient(circle at 82% 46%,rgba(251,126,29,.18),transparent 26rem)!important}
.vipcs-site-footer--surveillance::before{background:linear-gradient(180deg,rgba(20,16,13,.68) 0%,rgba(18,15,13,.94) 42%,#151311 76%)}
.vipcs-footer-visual{filter:none}

@media(max-width:1120px){
	.vipcs-language-switcher{justify-self:end}
	.vipcs-language-switcher select,.vipcs-language-switcher .gt_selector{min-width:78px!important}
}
@media(max-width:620px){
	.vipcs-header-shell,.vipcs-site-header.is-scrolled .vipcs-header-shell{padding-inline:10px 8px}
	.vipcs-language-switcher{min-width:42px;min-height:42px;padding:3px 6px}
	.vipcs-language-switcher select,.vipcs-language-switcher .gt_selector{width:68px!important;min-width:68px!important;padding-inline:5px 18px!important;font-size:.7rem!important}
	.vipcs-language-switcher .gt_switcher .gt_selected a{font-size:0!important}
	.vipcs-language-switcher .gt_switcher .gt_selected a img{margin:0!important}
}


/* VIPCS 1.3.2 performance safety layer. */
.vipcs-language-switcher .vipcs-language-arabic{position:relative!important}
.vipcs-language-switcher .vipcs-language-arabic>img,.vipcs-language-switcher .vipcs-language-arabic .gt_flag_img{display:none!important}
.vipcs-language-switcher .vipcs-language-arabic::before{content:"";display:inline-block!important;width:24px!important;height:16px!important;margin-inline-end:6px!important;border-radius:3px!important;background-image:var(--vipcs-egypt-flag)!important;background-size:cover!important;background-position:center!important;box-shadow:0 0 0 1px rgba(0,0,0,.08)!important;vertical-align:middle!important}
.vipcs-header-shell,.vipcs-offcanvas__backdrop,.vipcs-language-switcher,.vipcs-footer-trust>span,.vipcs-footer-action{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.vipcs-footer-visual,.vipcs-product-card img,.woocommerce ul.products li.product img{filter:none!important}
@supports (content-visibility:auto){body:not(.elementor-editor-active) .vipcs-section{content-visibility:auto;contain-intrinsic-size:700px}}
@media (hover:none),(pointer:coarse){.vipcs-card:hover{transform:none!important}.vipcs-button:hover{transform:none!important}.vipcs-card__media img{transform:none!important}}
