/**
 * AdamsGames – site redesign (mockup 2026-07): dark header + topbar,
 * hero/stats/services/categories/brands/projects front-page sections.
 * Brand colors kept: teal #00b8b8 / #00d4d4, dark petrol.
 */

:root {
	--ag-teal: #00b8b8;
	--ag-teal-bright: #00d4d4;
	--ag-dark: #081c26;
	--ag-dark-2: #0a1e29;
	--ag-topbar-bg: #051318;
	--ag-ink: #13232e;
	--ag-gray: #78868f;
	--ag-line: #e8edf1;
	--ag-max: 1140px;
	--ag-pad: 20px;
}

body { overflow-x: hidden; overflow-x: clip; }

/* ══════════════════════ HEADER (site-wide) ══════════════════════ */

#header.header-builder { background: var(--ag-dark-2) !important; }
.header-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; background: var(--ag-dark-2) !important; }

/* Top bar row (Elementor header template, container fd12714) */
.elementor-12 .elementor-element.elementor-element-undefined-fd12714 {
	background: var(--ag-topbar-bg) !important;
	--gap: 0px 0px; --row-gap: 0px; --column-gap: 0px;
	padding: 0 !important;
	--padding-block-start: 0px;
	--padding-block-end: 0px;
	--padding-inline-start: 0px;
	--padding-inline-end: 0px;
	min-height: 0 !important;
	--min-height: 0px;
}
@media (max-width: 767px) {
	.elementor-12 .elementor-element.elementor-element-undefined-fd12714 { display: none !important; }
}
.elementor-12 .elementor-element.elementor-element-undefined-fd12714::before {
	background: none !important;
	background-image: none !important;
	background-color: transparent !important;
}
.elementor-12 .elementor-element.elementor-element-undefined-d9fb3f0 {
	min-height: 0 !important;
	--min-height: 0px;
	--gap: 0px 0px; --row-gap: 0px; --column-gap: 0px;
}
.elementor-12 .elementor-element.elementor-element-undefined-5379002 {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
}

/* Top bar content */
.ag-topbar { width: 100%; font-size: 0.75rem; line-height: 1.3; }
.ag-topbar__in {
	max-width: var(--ag-max);
	margin: 0 auto;
	padding: 8px var(--ag-pad);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 22px;
}
.ag-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: rgba(255, 255, 255, 0.82) !important;
	text-decoration: none !important;
	white-space: nowrap;
}
.ag-topbar__item .ag-ic { width: 14px; height: 14px; color: var(--ag-teal-bright); flex: none; }
a.ag-topbar__item:hover { color: #ffffff !important; }
.ag-topbar__spacer { flex: 1 1 auto; }
.ag-topbar__soc {
	width: 26px; height: 26px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff !important;
	text-decoration: none !important;
	transition: background 0.2s ease;
}
.ag-topbar__soc:hover { background: var(--ag-teal); }

/* Main menu on dark */
#header .main-menu > li.menu-item > a { color: #ffffff !important; }
#header .main-menu > li.menu-item > .arrow:before { color: rgba(255, 255, 255, 0.8) !important; }
#header .main-menu > li.menu-item.active:not(.menu-item-object-custom) > a,
#header .main-menu > li.menu-item.current-menu-item:not(.menu-item-object-custom) > a,
#header .main-menu > li.menu-item:hover > a { color: var(--ag-teal-bright) !important; background: transparent !important; }
#header .main-menu > li.menu-item-object-custom.active:not(:hover) > a { color: #ffffff !important; }
#header .menu-hover-line > li.menu-item-object-custom.active > a:before,
#header .menu-hover-underline > li.menu-item-object-custom.active > a:before { width: 0 !important; }
#header .main-menu > li.menu-item-object-custom.current-menu-item > a:after,
#header .main-menu > li.menu-item-object-custom.current_page_item > a:after,
#header .main-menu > li.menu-item-object-custom.active > a:after { display: none !important; }
#header .main-menu > li.menu-item.active > .arrow:before,
#header .main-menu > li.menu-item:hover > .arrow:before { color: var(--ag-teal-bright) !important; }
#header .menu-hover-line > li.menu-item > a:before,
#header .menu-hover-underline > li.menu-item > a:before { background-color: var(--ag-teal-bright) !important; }

/* Dropdowns */
#header .main-menu .popup { z-index: 100; }
#header .main-menu .popup .inner,
#header .main-menu ul.sub-menu {
	background: #0c2431 !important;
	border-radius: 0 0 8px 8px;
}
#header .main-menu ul.sub-menu li.menu-item > a {
	color: rgba(255, 255, 255, 0.85) !important;
	background: transparent !important;
}
#header .main-menu ul.sub-menu li.menu-item:hover > a {
	color: #ffffff !important;
	background: rgba(0, 184, 184, 0.18) !important;
}

/* CTA menu item: ΖΗΤΗΣΤΕ ΠΡΟΣΦΟΡΑ */
#header .main-menu > li.ag-nav-cta { margin-left: 10px; }
#header .elementor-element-b586061 .main-menu > li.ag-nav-cta > a,
#header .main-menu > li.ag-nav-cta > a {
	background: linear-gradient(135deg, #00d4d4 0%, #00b8b8 45%, #00a5a5 100%) !important;
	color: #ffffff !important;
	padding: 11px 20px !important;
	margin: 13px 0 !important;
	border-radius: 6px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	box-shadow: 0 3px 14px rgba(0, 184, 184, 0.35);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
#header .main-menu > li.ag-nav-cta > a:before { display: none !important; }
#header .main-menu > li.ag-nav-cta:hover > a {
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(0, 184, 184, 0.5);
}

/* Header icons (search / account / cart / burger) */
#header .search-toggle,
#header .search-toggle i,
#header .search-toggle .search-text,
#header .my-account,
#header .my-account i,
#header .mini-cart .cart-head i,
#header .mini-cart .cart-head .cart-items-text,
#header .mobile-toggle,
#header .mobile-toggle i { color: #ffffff !important; }
#header .searchform-popup .searchform { background: #ffffff; border-radius: 6px; }

/* Sticky header stays dark */
#header.sticky-header,
#header .porto-block.sticky,
.sticky-header #header,
#header.header-builder .porto-block { background-color: transparent; }
#header.header-builder,
#header.header-builder.sticky-header { background: var(--ag-dark-2) !important; }

/* Mobile nav panel */
#nav-panel { background: var(--ag-dark-2) !important; }
#nav-panel .mobile-menu li > a { color: rgba(255, 255, 255, 0.92) !important; }
#nav-panel .mobile-menu li > a:hover,
#nav-panel .mobile-menu li.active > a { color: var(--ag-teal-bright) !important; }

/* Desktop: always show the horizontal menu, hide burger/account/cart icons */
@media (min-width: 1025px) {
	#header .elementor-element-b586061 { width: 100% !important; }
	#header ul.main-menu {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 0 8px;
	}
	#header .elementor-element-167ec8d,
	#header .elementor-element-060c98f,
	#header .elementor-element-b77ba2a { display: none !important; }
}
@media (max-width: 1024px) {
	#header ul.main-menu { display: none !important; }
}

/* ══════════════════════ FRONT-PAGE SECTIONS ══════════════════════ */

/* Kill page paddings around our full-bleed sections */
.page-id-1970 .page-content { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.page-id-1970 .page-content > .elementor { margin: 0 !important; }
.page-id-1970 .main-content { padding-top: 0 !important; padding-bottom: 0 !important; }
.page-id-1970 #main { padding-top: 0 !important; }

.ag-bleed { width: 100vw; margin-left: calc(50% - 50vw); }
.ag-wrap { max-width: var(--ag-max); margin: 0 auto; padding-left: var(--ag-pad); padding-right: var(--ag-pad); }

.ag-bleed h1, .ag-bleed h2, .ag-bleed h3, .ag-bleed p, .ag-bleed figure { margin: 0; }
.ag-bleed a { text-decoration: none !important; }
.ag-ic { display: inline-block; }

/* Section heading */
.ag-h2 {
	text-align: center;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	font-weight: 800;
	color: var(--ag-ink);
	letter-spacing: 0.02em;
}
.ag-h2bar {
	display: block;
	width: 46px; height: 3px;
	border-radius: 2px;
	background: var(--ag-teal);
	margin: 12px auto 0;
}

/* Buttons */
.ag-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 26px;
	border-radius: 6px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.ag-btn--solid {
	background-color: #00b8b8;
	background-image: linear-gradient(135deg, #00d4d4 0%, #00b8b8 45%, #00a5a5 100%);
	color: #ffffff !important;
	box-shadow: 0 4px 18px rgba(0, 184, 184, 0.4);
}
.ag-btn--solid:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0, 184, 184, 0.55); color: #ffffff !important; }
.ag-btn--ghost {
	border: 1.5px solid rgba(255, 255, 255, 0.75);
	color: #ffffff !important;
	background: transparent;
}
.ag-btn--ghost:hover { background: rgba(255, 255, 255, 0.12); color: #ffffff !important; }

/* ── Hero (slideshow) ── */
.ag-hero { position: relative; background: #071820; isolation: isolate; }
.ag-hero__slides {
	position: relative;
	min-height: clamp(440px, 44vw, 540px);
	overflow: hidden;
}
.ag-hero__slide {
	position: absolute; inset: 0;
	opacity: 0;
	transition: opacity 1s ease;
	pointer-events: none;
	z-index: 0;
}
.ag-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}
.ag-hero__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	background-color: #071820;
}
.ag-hero__scrim {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(92deg,
		rgba(5, 19, 26, 0.94) 0%,
		rgba(5, 19, 26, 0.80) 38%,
		rgba(5, 19, 26, 0.45) 65%,
		rgba(5, 19, 26, 0.22) 100%);
}
.ag-hero__scrim--deep {
	background: linear-gradient(92deg,
		rgba(4, 15, 21, 0.96) 0%,
		rgba(4, 15, 21, 0.86) 40%,
		rgba(4, 15, 21, 0.66) 68%,
		rgba(4, 15, 21, 0.48) 100%);
}
.ag-hero__wrap {
	position: relative; z-index: 2;
	height: 100%;
	min-height: inherit;
	display: flex;
	align-items: center;
	padding-top: 40px;
	padding-bottom: 48px;
}
.ag-hero__content { max-width: 560px; }
.ag-hero__eyebrow {
	margin: 0 0 12px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: rgba(255, 255, 255, 0.75);
}
.ag-hero__dots {
	position: absolute;
	right: clamp(16px, 3vw, 36px);
	bottom: 16px;
	z-index: 3;
	display: flex;
	gap: 8px;
	align-items: center;
}
.ag-hero__dot {
	width: 9px; height: 9px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease;
}
.ag-hero__dot.is-active {
	background: var(--ag-teal-bright);
	transform: scale(1.25);
}
.ag-hero__dot:hover,
.ag-hero__dot:focus-visible { background: rgba(255, 255, 255, 0.85); outline: none; }
.ag-hero__title {
	font-size: clamp(2rem, 4.4vw, 3.05rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #ffffff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}
.ag-hero__title span { color: var(--ag-teal-bright); }
.ag-hero__text {
	margin: 18px 0 26px;
	max-width: 470px;
	font-size: clamp(0.95rem, 1.4vw, 1.05rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}
.ag-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* ── Stats strip ── */
.ag-stats {
	position: relative; z-index: 2;
	background: rgba(3, 12, 17, 0.6);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.ag-stats__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding-top: 22px;
	padding-bottom: 22px;
}
.ag-stat { display: flex; align-items: center; justify-content: center; gap: 14px; }
.ag-stat .ag-ic { width: 34px; height: 34px; color: var(--ag-teal-bright); flex: none; }
.ag-stat__txt strong { display: block; font-size: 1.12rem; font-weight: 800; color: #ffffff; line-height: 1.15; }
.ag-stat__txt span { display: block; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.65); }

/* ── Services (clickable cards + modal) ── */
.ag-services { background: #ffffff; padding: 56px 0 52px; }
.ag-services__grid {
	margin-top: 38px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}
.ag-svc {
	appearance: none;
	background: none;
	border: none;
	font: inherit;
	cursor: pointer;
	padding: 10px 20px 14px;
	text-align: center;
	border-left: 1px solid var(--ag-line);
	border-radius: 12px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.ag-svc:first-child { border-left: none; }
.ag-svc:hover,
.ag-svc:focus-visible { background: #f4fbfb; transform: translateY(-3px); outline: none; }
.ag-svc__circle {
	width: 92px;
	height: 92px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(0, 184, 184, 0.1);
	transition: background 0.25s ease, box-shadow 0.25s ease;
}
.ag-svc .ag-ic { width: 42px; height: 42px; color: var(--ag-teal); transition: color 0.25s ease; }
.ag-svc:hover .ag-svc__circle,
.ag-svc:focus-visible .ag-svc__circle {
	background: linear-gradient(135deg, #00d4d4 0%, #00a5a5 100%);
	box-shadow: 0 10px 24px rgba(0, 184, 184, 0.35);
}
.ag-svc:hover .ag-ic,
.ag-svc:focus-visible .ag-ic { color: #ffffff; }
.ag-svc h3 {
	margin: 16px 0 8px;
	font-size: 0.88rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--ag-ink);
}
.ag-svc p { font-size: 0.8rem; line-height: 1.55; color: var(--ag-gray); }
.ag-svc__more {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 10px;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--ag-teal);
}
.ag-svc__more::after { content: "+"; font-size: 0.9rem; line-height: 1; }

/* ── Modal (services) ── */
.ag-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.ag-modal.is-open { display: flex; }
.ag-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 19, 26, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.ag-modal__card {
	position: relative;
	z-index: 1;
	width: min(540px, 100%);
	max-height: min(84vh, 640px);
	overflow-y: auto;
	background: #ffffff;
	border-radius: 16px;
	padding: 30px 30px 26px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
	animation: agModalIn 0.22s ease;
}
@keyframes agModalIn {
	from { opacity: 0; transform: translateY(14px) scale(0.98); }
	to { opacity: 1; transform: none; }
}
.ag-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	background: #f1f5f7;
	color: #5a6a75;
	font-size: 1.05rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.ag-modal__close:hover { background: var(--ag-teal); color: #fff; }
.ag-modal__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 6px;
}
.ag-modal__head .ag-svc__circle { width: 58px; height: 58px; margin: 0; flex: none; }
.ag-modal__head .ag-ic { width: 27px; height: 27px; }
.ag-modal__head h3 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--ag-ink);
}
.ag-modal__card > p { margin: 10px 0 14px; font-size: 0.9rem; line-height: 1.65; color: #46555f; }
.ag-modal__list {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}
.ag-modal__list li {
	position: relative;
	padding-left: 27px;
	margin: 0 0 9px;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #46555f;
}
.ag-modal__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: rgba(0, 184, 184, 0.14);
}
.ag-modal__list li::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 6px;
	width: 4px;
	height: 8px;
	border-right: 2px solid #00a5a5;
	border-bottom: 2px solid #00a5a5;
	transform: rotate(40deg);
}
.ag-modal__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	padding-top: 16px;
	border-top: 1px solid var(--ag-line);
}
.ag-modal__cta .ag-btn { padding: 11px 20px; font-size: 0.76rem; }
.ag-modal__cta a:not(.ag-btn) {
	font-size: 0.84rem;
	font-weight: 700;
	color: #009a9a !important;
}
body.ag-modal-open { overflow: hidden; }

/* ── Contact form (CF7) ── */
.ag-form { max-width: 720px; }
.ag-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 18px;
}
.ag-form__field--full { grid-column: 1 / -1; }
.ag-form label {
	display: block;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: var(--ag-ink);
	margin-bottom: 6px;
}
.ag-form .wpcf7-form-control-wrap { display: block; }
.ag-form input[type="text"],
.ag-form input[type="email"],
.ag-form input[type="tel"],
.ag-form select,
.ag-form textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1.6px solid #dfe7ec;
	border-radius: 10px;
	background: #ffffff;
	font-size: 0.92rem;
	color: var(--ag-ink);
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
	box-sizing: border-box;
}
.ag-form select {
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a85' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 15px;
	padding-right: 40px;
}
.ag-form textarea { min-height: 130px; resize: vertical; }
.ag-form input:focus,
.ag-form select:focus,
.ag-form textarea:focus {
	outline: none;
	border-color: var(--ag-teal);
	box-shadow: 0 0 0 3px rgba(0, 184, 184, 0.15);
}
.ag-form input::placeholder,
.ag-form textarea::placeholder { color: #9aa6b0; }
.ag-form .wpcf7-not-valid { border-color: #e05252 !important; }
.ag-form .wpcf7-not-valid-tip {
	margin-top: 5px;
	font-size: 0.74rem;
	color: #d23f3f;
}
.ag-form__consent { margin: 4px 0 0; }
.ag-form__consent .wpcf7-list-item { margin: 0; }
.ag-form__consent label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.5;
	color: #5a6a75;
	cursor: pointer;
}
.ag-form__consent input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin-top: 2px;
	accent-color: var(--ag-teal);
	flex: none;
}
.ag-form__consent a { color: #009a9a !important; font-weight: 700; }
.ag-form__submit { margin-top: 6px; }
.ag-form__submit .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 15px 30px;
	border: none;
	border-radius: 8px;
	background-color: #00b8b8;
	background-image: linear-gradient(135deg, #00d4d4 0%, #00b8b8 45%, #00a5a5 100%);
	color: #ffffff;
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	cursor: pointer;
	box-shadow: 0 4px 18px rgba(0, 184, 184, 0.4);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ag-form__submit .wpcf7-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 26px rgba(0, 184, 184, 0.55);
}
.ag-form .wpcf7-spinner { margin: 0 0 0 12px; }
.ag-form .wpcf7-response-output {
	margin: 16px 0 0 !important;
	padding: 13px 16px !important;
	border: none !important;
	border-radius: 10px;
	font-size: 0.85rem;
	font-weight: 600;
}
.ag-form .wpcf7-form.sent .wpcf7-response-output {
	background: #e7f8ef;
	color: #12704a;
}
.ag-form .wpcf7-form.invalid .wpcf7-response-output,
.ag-form .wpcf7-form.failed .wpcf7-response-output {
	background: #fdeeee;
	color: #b03030;
}

/* ── Categories ── */
.ag-cats { background: #ffffff; padding: 20px 0 56px; }
/* Wide showcase container: services, category & venue cards break out of the 1140px column */
.ag-services .ag-wrap,
.ag-cats .ag-wrap,
.ag-venues .ag-wrap { max-width: min(1560px, 100% - 48px); }
.ag-cats__grid {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
}
.ag-cat {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--ag-line);
	box-shadow: 0 6px 22px rgba(13, 35, 49, 0.07);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ag-cat:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(13, 35, 49, 0.14); }
.ag-cat__imgbox {
	display: block;
	aspect-ratio: 4 / 5;
	background: #ffffff;
	overflow: hidden;
}
.ag-cat__imgbox img {
	width: 100%; height: 100%;
	object-fit: contain;
	padding: 5%;
	box-sizing: border-box;
	transition: transform 0.3s ease;
	display: block;
}
.ag-cat:hover .ag-cat__imgbox img { transform: scale(1.05); }
.ag-cat__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	background: var(--ag-dark-2);
	padding: 14px 16px;
	margin-top: auto;
}
.ag-cat__label { color: #ffffff; font-size: 0.88rem; font-weight: 800; letter-spacing: 0.03em; }
.ag-cat__go {
	flex: none;
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 7px;
	background: var(--ag-teal);
	color: #ffffff;
	transition: background 0.2s ease;
}
.ag-cat:hover .ag-cat__go { background: var(--ag-teal-bright); }

/* ── Brands (partner logo marquee) ── */
.ag-brands { background: #ffffff; padding: 12px 0 54px; }
.ag-brandmarquee {
	margin-top: 36px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
}
.ag-brandtrack {
	display: flex;
	width: max-content;
	animation: agMarquee 34s linear infinite;
}
.ag-brandmarquee:hover .ag-brandtrack { animation-play-state: paused; }
.ag-brandset {
	display: flex;
	align-items: center;
	gap: clamp(52px, 6.5vw, 88px);
	padding-right: clamp(52px, 6.5vw, 88px);
}
@keyframes agMarquee {
	to { transform: translateX(-50%); }
}
.ag-brandlogo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	transition: transform 0.2s ease;
}
.ag-brandlogo:hover { transform: translateY(-3px) scale(1.04); }
.ag-brandlogo img { display: block; width: auto; height: 46px; }
.ag-brandlogo--s img { height: 36px; }
.ag-brandlogo--l img { height: 54px; }
.ag-brandlogo--xl img { height: 64px; }
.ag-brandlogo--xxl img { height: 74px; }
@media (prefers-reduced-motion: reduce) {
	.ag-brandmarquee { -webkit-mask-image: none; mask-image: none; width: 100%; margin-left: 0; }
	.ag-brandtrack { animation: none; width: auto; flex-wrap: wrap; justify-content: center; }
	.ag-brandset { flex-wrap: wrap; justify-content: center; padding-right: 0; }
	.ag-brandset[aria-hidden="true"] { display: none; }
}

/* ── Venues: «Για κάθε χώρο και επιχείρηση» ── */
.ag-venues { background: #f6f8fa; padding: 54px 0 60px; }
.ag-sub {
	margin: 14px auto 0;
	max-width: 620px;
	text-align: center;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--ag-gray);
}
.ag-venues__grid {
	margin-top: 38px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 22px;
}
.ag-venue {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	overflow: hidden;
	background: #dde4e9;
	box-shadow: 0 6px 22px rgba(13, 35, 49, 0.08);
}
.ag-venue img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.ag-venue:hover img { transform: scale(1.06); }
.ag-venue figcaption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	z-index: 1;
	padding: 40px 10px 15px;
	background: linear-gradient(180deg, rgba(8, 28, 38, 0) 0%, rgba(8, 28, 38, 0.82) 78%);
	color: #ffffff;
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: center;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.ag-center { margin-top: 36px; text-align: center; }

/* ── Footer (dark) ── */
.ag-foot { background: var(--ag-dark); color: rgba(255, 255, 255, 0.78); }
.ag-foot__grid {
	display: grid;
	grid-template-columns: 1.35fr 0.9fr 1fr 1.25fr;
	gap: 40px;
	padding-top: clamp(40px, 5vw, 58px);
	padding-bottom: clamp(36px, 4vw, 50px);
}
.ag-foot__logo { display: inline-block; }
.ag-foot__logo img { display: block; width: 150px; height: auto; }
.ag-foot__desc {
	margin: 16px 0 0;
	font-size: 0.86rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
	max-width: 300px;
}
.ag-foot__soc { margin-top: 18px; display: flex; gap: 10px; }
.ag-foot__soc a {
	width: 34px; height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff !important;
	transition: background 0.2s ease, transform 0.2s ease;
}
.ag-foot__soc a:hover { background: var(--ag-teal); transform: translateY(-2px); }
.ag-foot__soc .ag-ic { width: 16px; height: 16px; }
.ag-foot h3 {
	margin: 6px 0 18px;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #ffffff;
}
.ag-foot__links { list-style: none; margin: 0; padding: 0; }
.ag-foot__links li { margin: 0 0 11px; }
.ag-foot__links a {
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 0.86rem;
	transition: color 0.15s ease, padding-left 0.15s ease;
}
.ag-foot__links a:hover { color: var(--ag-teal-bright) !important; padding-left: 3px; }
.ag-foot__ct { list-style: none; margin: 0 0 18px; padding: 0; }
.ag-foot__ct li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 12px;
	font-size: 0.86rem;
	line-height: 1.5;
}
.ag-foot__ct .ag-ic { width: 15px; height: 15px; margin-top: 2px; color: var(--ag-teal-bright); flex: none; }
.ag-foot__ct a { color: rgba(255, 255, 255, 0.85) !important; }
.ag-foot__ct a:hover { color: var(--ag-teal-bright) !important; }
.ag-foot__map {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.3);
}
.ag-foot__map iframe { display: block; width: 100%; height: 170px; border: 0; }
.ag-foot__map a {
	position: absolute;
	left: 10px; bottom: 10px;
	z-index: 2;
	padding: 6px 11px;
	border-radius: 6px;
	background: #ffffff;
	color: #008a8a !important;
	font-size: 0.72rem;
	font-weight: 700;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.ag-foot__bar {
	background: var(--ag-topbar-bg);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.ag-foot__barin {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 20px;
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 0.76rem;
	color: rgba(255, 255, 255, 0.55);
}
#footer { background: transparent !important; border-top: none !important; margin-top: 0 !important; padding: 0 !important; }
#footer .footer-bottom { display: none !important; }

/* ══════════════════════ Responsive ══════════════════════ */

@media (max-width: 991px) {
	.ag-hero__slides { min-height: 440px; }
	.ag-services__grid { grid-template-columns: repeat(3, 1fr); row-gap: 26px; }
	.ag-svc { border-left: none; }
	.ag-cats__grid { grid-template-columns: repeat(3, 1fr); }
	.ag-venues__grid { grid-template-columns: repeat(3, 1fr); }
	.ag-foot__grid { grid-template-columns: 1fr 1fr; gap: 34px; }
}

@media (max-width: 767px) {
	.ag-hero__slides { min-height: 470px; }
	.ag-hero__wrap { padding-top: 32px; padding-bottom: 36px; }
	.ag-stats__row { grid-template-columns: repeat(2, 1fr); row-gap: 18px; }
	.ag-stat { justify-content: flex-start; }
	.ag-services__grid { grid-template-columns: repeat(2, 1fr); }
	.ag-svc__circle { width: 76px; height: 76px; }
	.ag-svc .ag-ic { width: 34px; height: 34px; }
	.ag-modal { padding: 12px; align-items: flex-end; }
	.ag-modal__card { max-height: 82vh; border-radius: 16px 16px 0 0; width: 100%; }
	.ag-form__grid { grid-template-columns: 1fr; }
	.ag-form__submit .wpcf7-submit { width: 100%; }
	.ag-cats__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.ag-brandtrack { animation-duration: 26s; }
	.ag-brandlogo img { height: 34px; }
	.ag-brandlogo--s img { height: 27px; }
	.ag-brandlogo--l img { height: 40px; }
	.ag-brandlogo--xl img { height: 48px; }
	.ag-brandlogo--xxl img { height: 56px; }
	.ag-venues__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

@media (max-width: 520px) {
	.ag-services__grid { grid-template-columns: 1fr; }
	.ag-svc { padding: 8px 10px; }
	.ag-cats__grid { grid-template-columns: 1fr; }
	.ag-cat__imgbox { aspect-ratio: 16 / 11; }
	.ag-venues__grid { grid-template-columns: 1fr; }
	.ag-venue { aspect-ratio: 16 / 10; }
	.ag-foot__grid { grid-template-columns: 1fr; gap: 30px; }
	.ag-foot__barin { justify-content: center; text-align: center; }
	.ag-hero__actions .ag-btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.ag-btn, .ag-cat, .ag-cat__imgbox img, .ag-venue img, .ag-hero__slide { transition: none !important; }
}

/* ── Rental landing pages ── */
.ag-rhero .ag-shophero__wrap { padding-top: clamp(44px, 6vw, 72px); padding-bottom: clamp(44px, 6vw, 72px); }
.ag-rhero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}
.ag-rhero__chips span {
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(0, 212, 212, 0.13);
	border: 1px solid rgba(0, 212, 212, 0.4);
	color: #7eeaea;
	font-size: 0.76rem;
	font-weight: 700;
}
.ag-rental { max-width: min(1280px, 100% - 2 * var(--ag-pad)); margin: 0 auto; }
.ag-rsteps { padding: 54px 0 14px; }
.ag-rsteps__grid {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
.ag-rstep {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%);
	border: 1px solid var(--ag-line);
	border-top: 3px solid var(--ag-teal);
	border-radius: 12px;
	padding: 26px 24px 24px;
	box-shadow: 0 8px 26px rgba(13, 35, 49, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ag-rstep:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(13, 35, 49, 0.11); }
/* connector arrows between the steps (desktop) */
@media (min-width: 992px) {
	.ag-rstep:not(:last-child)::after {
		content: "\2192";
		position: absolute;
		right: -19px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 1;
		font-size: 1.2rem;
		font-weight: 700;
		color: var(--ag-teal);
		background: #ffffff;
		border: 1px solid rgba(0, 184, 184, 0.3);
		border-radius: 50%;
		width: 30px;
		height: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 3px 10px rgba(13, 35, 49, 0.1);
	}
}
.ag-rstep__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 10px;
	background: linear-gradient(135deg, #00d4d4, #00a5a5);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 800;
	box-shadow: 0 5px 15px rgba(0, 184, 184, 0.35);
}
.ag-rstep h3 {
	margin: 14px 0 8px;
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--ag-ink);
}
.ag-rstep p { margin: 0; font-size: 0.85rem; line-height: 1.6; color: var(--ag-gray); }

.ag-rcols {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 28px;
	padding: 40px 0 10px;
	align-items: stretch;
}
.ag-rcol--info {
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 14px;
	padding: 28px 28px 26px;
	box-shadow: 0 10px 34px rgba(13, 35, 49, 0.07);
}
.ag-rcol h2 {
	margin: 0 0 6px;
	font-size: 1rem;
	font-weight: 800;
	color: var(--ag-ink);
}
.ag-rcol h2::after {
	content: "";
	display: block;
	width: 38px; height: 3px;
	border-radius: 2px;
	background: var(--ag-teal);
	margin: 8px 0 16px;
}
.ag-rlist { list-style: none; margin: 0 0 28px; padding: 0; }
.ag-rlist li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 10px;
	font-size: 0.92rem;
	line-height: 1.6;
	color: #46555f;
}
.ag-rlist li::before {
	content: "";
	position: absolute;
	left: 0; top: 3px;
	width: 17px; height: 17px;
	border-radius: 50%;
	background: rgba(0, 184, 184, 0.14);
}
.ag-rlist li::after {
	content: "";
	position: absolute;
	left: 6px; top: 7px;
	width: 4px; height: 8px;
	border-right: 2px solid #00a5a5;
	border-bottom: 2px solid #00a5a5;
	transform: rotate(40deg);
}
.ag-rtags { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; }
.ag-rtags span {
	padding: 8px 14px;
	border-radius: 999px;
	background: #f2fbfb;
	border: 1px solid rgba(0, 184, 184, 0.25);
	color: #008a8a;
	font-size: 0.8rem;
	font-weight: 700;
}
.ag-rcatbtn { font-size: 0.76rem; }
.ag-rform {
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 14px;
	padding: 28px 28px 26px;
	box-shadow: 0 10px 34px rgba(13, 35, 49, 0.09);
}
.ag-rform > h2:first-child { font-size: 1.05rem; }
.ag-rform__note { margin: 0 0 20px; font-size: 0.85rem; color: var(--ag-gray); }
.ag-rform__note a { color: #009a9a !important; font-weight: 700; }
.ag-rform .ag-form { max-width: none; }

.ag-rfaq { padding: 40px 0 60px; }
.ag-rfaq__list { max-width: 780px; margin: 34px auto 0; }
.ag-rfaq__item {
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 10px;
	margin-bottom: 10px;
	overflow: hidden;
}
.ag-rfaq__item summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 44px 16px 18px;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--ag-ink);
	position: relative;
}
.ag-rfaq__item summary::-webkit-details-marker { display: none; }
.ag-rfaq__item summary::after {
	content: "+";
	position: absolute;
	right: 16px; top: 50%;
	transform: translateY(-50%);
	width: 26px; height: 26px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: #f1f5f7;
	color: #00a5a5;
	font-size: 1rem;
	font-weight: 700;
	transition: transform 0.2s ease, background 0.2s ease;
}
.ag-rfaq__item[open] summary::after {
	content: "−";
	background: var(--ag-teal);
	color: #fff;
}
.ag-rfaq__item p {
	margin: 0;
	padding: 0 18px 16px;
	font-size: 0.88rem;
	line-height: 1.65;
	color: #46555f;
}

@media (max-width: 991px) {
	.ag-rsteps__grid { grid-template-columns: 1fr; }
	.ag-rcols { grid-template-columns: 1fr; gap: 30px; }
}

/* ── Q&A hub ── */
.ag-qa { max-width: min(1280px, 100% - 2 * var(--ag-pad)); margin: 0 auto; }
.ag-qa__ask { display: flex; justify-content: center; }
.ag-qa__askcard {
	width: min(820px, 100%);
	margin-top: -34px;
	position: relative;
	z-index: 5;
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 16px;
	padding: 30px 32px 28px;
	box-shadow: 0 18px 50px rgba(13, 35, 49, 0.14);
}
.ag-qa__askcard h2 {
	margin: 0 0 6px;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--ag-ink);
}
.ag-qa__askcard h2::after {
	content: "";
	display: block;
	width: 38px; height: 3px;
	border-radius: 2px;
	background: var(--ag-teal);
	margin: 8px 0 12px;
}
.ag-qa__asknote { margin: 0 0 18px; font-size: 0.85rem; line-height: 1.6; color: var(--ag-gray); }
.ag-qa__askcard .ag-form { max-width: none; }

.ag-qa__feed { padding: 52px 0 64px; }
.ag-qa__grid {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.ag-qa__card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 12px;
	padding: 22px 22px 18px;
	box-shadow: 0 6px 22px rgba(13, 35, 49, 0.06);
	text-decoration: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.ag-qa__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(13, 35, 49, 0.12);
	border-color: rgba(0, 184, 184, 0.4);
}
.ag-qa__q {
	position: absolute;
	top: -12px;
	left: 18px;
	width: 30px; height: 30px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 8px;
	background: linear-gradient(135deg, #00d4d4, #00a5a5);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 800;
	box-shadow: 0 4px 12px rgba(0, 184, 184, 0.35);
}
.ag-qa__card h3 {
	margin: 6px 0 10px;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.4;
	color: var(--ag-ink);
}
.ag-qa__card:hover h3 { color: #008a8a; }
.ag-qa__card p {
	margin: 0 0 14px;
	font-size: 0.84rem;
	line-height: 1.6;
	color: var(--ag-gray);
	flex: 1 1 auto;
}
.ag-qa__more {
	font-size: 0.78rem;
	font-weight: 700;
	color: #009a9a;
}
@media (max-width: 991px) {
	.ag-qa__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.ag-qa__grid { grid-template-columns: 1fr; }
	.ag-qa__askcard { padding: 24px 20px; }
}

/* ── Single Q&A post ── */
.ag-qa-single__head { position: relative; padding: 6px 0 0 46px; margin: 4px 0 6px; }
.ag-qa-single__head .ag-qa__q { top: 6px; left: 0; }
h1.ag-qa-single__title {
	margin: 0 0 6px !important;
	font-size: clamp(1.35rem, 2.6vw, 1.9rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--ag-ink);
}
.ag-qa-single__meta { margin: 0; font-size: 0.8rem; color: var(--ag-gray); }
.ag-qa-single__a { margin: 22px 0 6px; }
.ag-qa-single__a span {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 6px;
	background: rgba(0, 184, 184, 0.12);
	color: #008a8a;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}
.ag-qa-single__cta {
	margin: 34px 0 10px;
	padding: 26px 28px;
	background: linear-gradient(160deg, #0a1e29 0%, #081c26 70%);
	border-radius: 14px;
	color: #fff;
}
.ag-qa-single__cta h2 { margin: 0 0 8px; font-size: 1.05rem; font-weight: 800; color: #fff; }
.ag-qa-single__cta p { margin: 0 0 16px; font-size: 0.86rem; color: rgba(255,255,255,0.75); }

/* Footer ΕΕΕΠ certification badge */
.ag-foot__eeep {
	display: inline-block;
	color: rgba(255, 255, 255, 0.75) !important;
	font-weight: 700;
	letter-spacing: 0.01em;
}
.ag-foot__eeep::before {
	content: "✓ ";
	color: var(--ag-teal-bright);
	font-weight: 800;
}

/* ══════════════════════ CONTACT PAGE (1704) ══════════════════════ */

.page-id-1704 .page-content { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.page-id-1704 .page-content > .elementor { margin: 0 !important; }
.page-id-1704 .main-content { padding-top: 0 !important; padding-bottom: 0 !important; }
.page-id-1704 #main { padding-top: 0 !important; }

.ag-ct .ag-wrap { max-width: min(1280px, 100% - 48px); }

/* ── Hero ── */
.ag-cthero { position: relative; background: #071820; isolation: isolate; }
.ag-cthero__bg {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover;
	background-position: center 72%;
	background-repeat: no-repeat;
	background-color: #071820;
	background-image: url("https://www.adamsgames.gr/wp-content/uploads/2026/07/contact-hero-truck.jpg");
}
@media (max-width: 767px) {
	.ag-cthero__bg {
		background-image: url("https://www.adamsgames.gr/wp-content/uploads/2026/07/contact-hero-truck.jpg");
		background-position: 68% 72%;
	}
}
.ag-cthero__scrim {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(92deg,
		rgba(5, 19, 26, 0.95) 0%,
		rgba(5, 19, 26, 0.84) 34%,
		rgba(5, 19, 26, 0.55) 62%,
		rgba(5, 19, 26, 0.28) 100%);
}
.ag-cthero__wrap { position: relative; z-index: 2; padding-top: 62px; padding-bottom: 70px; }
.ag-cthero__eyebrow {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 14px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: rgba(255, 255, 255, 0.8);
}
.ag-cthero__eyebrow::before {
	content: "";
	width: 28px; height: 2px;
	border-radius: 1px;
	background: var(--ag-teal-bright);
}
.ag-cthero__title {
	font-size: clamp(1.9rem, 4vw, 2.85rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #ffffff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}
.ag-cthero__text {
	margin: 16px 0 0;
	max-width: 480px;
	font-size: clamp(0.93rem, 1.3vw, 1.02rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}

/* ── Info cards ── */
.ag-ctcards { background: #ffffff; padding: 34px 0 10px; }
.ag-ctcards__grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.ag-ctcard {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 14px;
	padding: 24px 18px;
	box-shadow: 0 10px 30px rgba(8, 28, 38, 0.07);
}
.ag-ctcard__circle {
	flex: none;
	width: 58px; height: 58px;
	border-radius: 50%;
	background: #e6f7f7;
	display: flex; align-items: center; justify-content: center;
	color: var(--ag-teal);
}
.ag-ctcard .ag-ic { width: 26px; height: 26px; }
.ag-ctcard h3 {
	margin: 4px 0 8px;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: var(--ag-ink);
}
.ag-ctcard p { margin: 0; font-size: 0.84rem; line-height: 1.6; color: var(--ag-gray); }
.ag-ctcard a { color: var(--ag-gray) !important; transition: color 0.18s ease; }
.ag-ctcard a:hover { color: var(--ag-teal) !important; }

/* ── Form section ── */
.ag-ctform { background: #ffffff; padding: 54px 0 92px; }
.ag-ctform__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 52px;
	align-items: start;
}
.ag-ctform__eyebrow {
	margin: 0 0 12px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--ag-teal);
}
.ag-ctform__h2 {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--ag-ink);
}
.ag-ctform__sub {
	margin: 14px 0 32px;
	max-width: 400px;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--ag-gray);
}
.ag-ctusp { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 24px; }
.ag-ctusp li { display: flex; align-items: flex-start; gap: 16px; }
.ag-ctusp__circle {
	flex: none;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid var(--ag-line);
	box-shadow: 0 6px 18px rgba(8, 28, 38, 0.08);
	display: flex; align-items: center; justify-content: center;
	color: var(--ag-ink);
}
.ag-ctusp .ag-ic { width: 22px; height: 22px; }
.ag-ctusp h3 { margin: 4px 0 4px; font-size: 0.95rem; font-weight: 800; color: var(--ag-ink); }
.ag-ctusp p { margin: 0; font-size: 0.84rem; line-height: 1.5; color: var(--ag-gray); }
.ag-ctform__card {
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 16px;
	padding: 34px 32px 36px;
	box-shadow: 0 18px 50px rgba(8, 28, 38, 0.08);
}
.ag-ctform__card .ag-form { max-width: none; }
.ag-ctform__card .ag-form__submit .wpcf7-submit {
	width: 100%;
	background-image:
		url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E"),
		linear-gradient(135deg, #00d4d4 0%, #00b8b8 45%, #00a5a5 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: calc(50% - 122px) center, 0 0;
	background-size: 17px 17px, auto;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
	.ag-ctcards__grid { grid-template-columns: 1fr 1fr; }
	.ag-ctform__grid { grid-template-columns: 1fr; gap: 40px; }
	.ag-ctform__sub { max-width: none; }
}
@media (max-width: 600px) {
	.ag-ctcards__grid { grid-template-columns: 1fr; gap: 14px; }
	.ag-ctcard { padding: 20px 18px; }
	.ag-ctform { padding-bottom: 64px; }
	.ag-ctform__card { padding: 26px 18px 28px; }
	.ag-ctform__card .ag-form__grid { grid-template-columns: 1fr; }
	.ag-ctform__card .ag-form__submit .wpcf7-submit { background-position: calc(50% - 112px) center, 0 0; }
}

/* Mobile: centered footer */
@media(max-width:767px){
.ag-foot__grid{text-align:center}
.ag-foot__logo{margin-left:auto;margin-right:auto}
.ag-foot__soc{justify-content:center}
.ag-foot__ct li{justify-content:center}
.ag-foot__eeep{justify-content:center;text-align:center}
.ag-foot__map iframe,.ag-foot__map img{margin-left:auto;margin-right:auto}
.ag-foot__barin{flex-direction:column;align-items:center;text-align:center;gap:6px}
}

/* Rental landing: linked product list («Δημοφιλή για ενοικίαση») */
.ag-rlist--products a { color: #009a9a !important; font-weight: 600; }
.ag-rlist--products a:hover { color: var(--ag-teal); text-decoration: underline !important; }

/* ── Πρόσφατα Έργα (homepage #erga) ── */
.ag-proj { margin-top: 52px; }
.ag-proj__h {
	text-align: center;
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--ag-ink);
	margin: 0;
}
.ag-proj__bar {
	display: block;
	width: 46px; height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00d4d4, #00a5a5);
	margin: 12px auto 28px;
}
.ag-projcard {
	display: grid;
	grid-template-columns: 320px 1fr;
	max-width: 860px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid var(--ag-line);
	border-radius: 16px;
	overflow: hidden;
	cursor: pointer;
	box-shadow: 0 14px 40px rgba(8, 28, 38, 0.09);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.ag-projcard:hover, .ag-projcard:focus-visible { transform: translateY(-3px); box-shadow: 0 22px 54px rgba(8, 28, 38, 0.15); outline: none; }
.ag-projcard__media { position: relative; min-height: 280px; }
.ag-projcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; transition: transform 0.35s ease; }
.ag-projcard:hover .ag-projcard__media img { transform: scale(1.04); }
.ag-projcard__badge {
	position: absolute; top: 14px; left: 14px;
	background: rgba(5, 19, 26, 0.78);
	color: var(--ag-teal-bright);
	font-size: 0.66rem; font-weight: 800; letter-spacing: 0.12em;
	padding: 6px 12px; border-radius: 999px;
	backdrop-filter: blur(4px);
}
.ag-projcard__body { padding: 30px 32px; display: flex; flex-direction: column; justify-content: center; gap: 9px; }
.ag-projcard__eyebrow { margin: 0; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; color: #009a9a; }
.ag-projcard__t { margin: 0; font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 800; color: var(--ag-ink); letter-spacing: -0.01em; line-height: 1.25; }
.ag-projcard__sub { margin: 0; font-size: 0.94rem; line-height: 1.6; color: #5a6a75; }
.ag-projcard__loc { margin: 2px 0 0; display: flex; align-items: center; gap: 7px; font-size: 0.8rem; font-weight: 600; color: var(--ag-gray); }
.ag-projcard__loc .ag-ic { color: var(--ag-teal); flex: none; }
.ag-projcard__cta { margin-top: 10px; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.05em; color: #008a8a; display: inline-flex; align-items: center; gap: 7px; }
.ag-projcard__cta i { font-style: normal; width: 22px; height: 22px; border-radius: 50%; background: rgba(0, 184, 184, 0.12); display: inline-flex; align-items: center; justify-content: center; transition: background 0.2s ease, color 0.2s ease; }
.ag-projcard:hover .ag-projcard__cta i { background: var(--ag-teal); color: #fff; }

/* Modal variant for project lightbox */
.ag-modal__card--proj { width: min(920px, 100%); max-height: min(88vh, 780px); padding: 26px; }
.ag-projm { display: grid; grid-template-columns: 340px 1fr; gap: 26px; align-items: start; }
.ag-projm__media { position: sticky; top: 0; }
.ag-projm__view { display: none; }
.ag-projm__view.is-on { display: block; }
.ag-projm__view img, .ag-projm__view video {
	width: 100%; height: auto; max-height: 54vh; object-fit: cover;
	border-radius: 12px; display: block; background: #071820;
}
.ag-projm__thumbs { display: flex; gap: 10px; margin-top: 12px; }
.ag-projm__thumbs button {
	position: relative; width: 58px; height: 74px; padding: 0; border: 2px solid transparent;
	border-radius: 9px; overflow: hidden; cursor: pointer; background: none; opacity: 0.75;
	transition: opacity 0.18s ease, border-color 0.18s ease;
}
.ag-projm__thumbs button img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ag-projm__thumbs button.is-on, .ag-projm__thumbs button:hover { opacity: 1; border-color: var(--ag-teal); }
.ag-projm__vth span {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: rgba(5, 19, 26, 0.45); color: #fff; font-size: 1.05rem;
}
.ag-projm__txt h3 { margin: 6px 0 12px; font-size: clamp(1.15rem, 2vw, 1.4rem); font-weight: 800; color: var(--ag-ink); line-height: 1.28; }
.ag-projm__txt > p { margin: 0 0 12px; font-size: 0.93rem; line-height: 1.7; color: #46555f; }
.ag-projm__q { font-weight: 700; color: var(--ag-ink) !important; }
.ag-projm__ctas { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 4px; }
.ag-projm__plink { font-size: 0.88rem; font-weight: 700; color: #009a9a !important; }
.ag-projm__plink:hover { color: var(--ag-teal) !important; text-decoration: underline !important; }

@media (max-width: 760px) {
	.ag-projcard { grid-template-columns: 1fr; max-width: 480px; }
	.ag-projcard__media { min-height: 230px; }
	.ag-projcard__body { padding: 22px 22px 26px; }
	.ag-projm { grid-template-columns: 1fr; gap: 18px; }
	.ag-projm__view img, .ag-projm__view video { max-height: 38vh; }
	.ag-modal__card--proj { padding: 20px 18px; }
}

/* Centering fix: the generic `.ag-bleed p { margin: 0 }` rule (higher specificity
   than single-class selectors) kills `margin: auto` on centered lead paragraphs —
   re-assert them with .ag-bleed scoping. */
.ag-bleed .ag-sub { margin: 14px auto 0; }
.ag-bleed .ag-cs__lead { margin: 0 auto; }
.ag-bleed .ag-cs__areas { margin: 20px auto 0; }
.ag-bleed .ag-cs__outro { margin: 26px auto 0; }

/* TEMP: hide the video thumb in the bubble-house lightbox — the supplied clip is a
   0.13s Messages preview stub, awaiting the full video (same filename will be
   overwritten server-side; just remove this rule then). */
.ag-projm__vth { display: none; }

/* ── Rental pages: unique intro band (per-page copy) ── */
.ag-rintro { background: #ffffff; padding: clamp(34px, 4vw, 52px) 0 clamp(6px, 1vw, 12px); }
.ag-rintro__in { max-width: 860px; }
.ag-rintro__h {
	font-size: clamp(1.2rem, 2.2vw, 1.5rem);
	font-weight: 800;
	color: var(--ag-ink);
	margin: 0;
	letter-spacing: -0.01em;
	line-height: 1.3;
}
.ag-rintro__bar {
	display: block;
	width: 46px; height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00d4d4, #00a5a5);
	margin: 14px 0 20px;
}
.ag-rintro__body p { font-size: 1rem; line-height: 1.8; color: #46555f; margin: 0 0 14px; }
.ag-rintro__body p:last-child { margin-bottom: 0; }
.ag-rintro__body a { color: #009a9a; font-weight: 600; }
.ag-rintro__body a:hover { color: var(--ag-teal); text-decoration: underline; }
.ag-rintro__body em { font-style: normal; font-weight: 600; color: #2c3d47; }

/* ag-rlist product thumbnails */
.ag-rlist--products{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.ag-rlist--products li{margin:0}
.ag-rlist--products a{display:flex;flex-direction:column;gap:8px;text-decoration:none!important;line-height:1.25}
.ag-rlist__img{width:100%;height:130px;object-fit:contain;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:6px;display:block}
.ag-rlist--products a:hover .ag-rlist__img{border-color:var(--ag-teal)}
.ag-rlist__lbl{font-size:13px;display:block}
@media(max-width:520px){.ag-rlist--products{grid-template-columns:repeat(2,1fr)}.ag-rlist__img{height:110px}}

/* Guides strip (front page) — moved out of the Elementor HTML widget 2026-09-21. */
.ag-guides{background:#f5f9fb;padding:clamp(36px,4.5vw,56px) 0;border-top:1px solid #eef2f5}.ag-guides .ag-h{margin-bottom:22px}.ag-guides__row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ag-guides__row a{border:1px solid rgba(0,165,165,.35);color:#008a8a;font-weight:700;font-size:.88rem;border-radius:999px;padding:9px 18px;text-decoration:none;background:#fff;transition:background .2s,color .2s}.ag-guides__row a:hover{background:#00b8b8;color:#fff;border-color:#00b8b8}

/* ─────────────────────────────────────────────────────────────────────────
   Front-page icons.

   These were inline <svg class="ag-ic"> elements inside the Elementor HTML
   widgets. Elementor passes widget content through wp_kses when it is saved
   without the unfiltered_html capability, and kses does not allow <svg>: the
   icons were deleted outright (2026-09-21). Drawn here as CSS masks instead,
   so nothing in the editor can reach them.
   ───────────────────────────────────────────────────────────────────────── */

.ag-svc__circle::after,
.ag-cat__go::after,
.ag-stat::before,
.ag-projcard__loc::before {
	content: "";
	flex: none;
	display: block;
	-webkit-mask-image: var(--ag-ic);
	mask-image: var(--ag-ic);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* Service cards + the matching heading inside each modal. */
.ag-svc__circle::after {
	width: 34px; height: 34px;
	background-color: var(--ag-teal);
	transition: background-color 0.25s ease;
}
.ag-svc:hover .ag-svc__circle::after,
.ag-svc:focus-visible .ag-svc__circle::after { background-color: #ffffff; }
.ag-modal__head .ag-svc__circle::after { width: 27px; height: 27px; }

.ag-svc[data-ag-modal="ag-m-promitheia"] .ag-svc__circle,
#ag-m-promitheia .ag-svc__circle { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='5.8'%20r='2.9'/%3E%3Cpath%20d='M12%208.9v5.6'/%3E%3Cpath%20d='M6.6%2014.5h10.8l1.9%206H4.7z'/%3E%3Cpath%20d='M9.3%2017.6h5.4'/%3E%3C/svg%3E"); }
.ag-svc[data-ag-modal="ag-m-egkatastasi"] .ag-svc__circle,
#ag-m-egkatastasi .ag-svc__circle { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%206.5h12v10H2z'/%3E%3Cpath%20d='M14%209.8h3.7L21%2013.1v3.4h-7z'/%3E%3Ccircle%20cx='6.6'%20cy='18.4'%20r='1.8'/%3E%3Ccircle%20cx='17.2'%20cy='18.4'%20r='1.8'/%3E%3C/svg%3E"); }
.ag-svc[data-ag-modal="ag-m-texniki"] .ag-svc__circle,
#ag-m-texniki .ag-svc__circle { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2013.5v-1.3a8%208%200%200%201%2016%200v1.3'/%3E%3Crect%20x='2.2'%20y='13'%20width='4.2'%20height='6.2'%20rx='1.7'/%3E%3Crect%20x='17.6'%20y='13'%20width='4.2'%20height='6.2'%20rx='1.7'/%3E%3Cpath%20d='M19.7%2019.2v.6a2.4%202.4%200%200%201-2.4%202.4H13'/%3E%3C/svg%3E"); }
.ag-svc[data-ag-modal="ag-m-service"] .ag-svc__circle,
#ag-m-service .ag-svc__circle { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z'/%3E%3C/svg%3E"); }
.ag-svc[data-ag-modal="ag-m-enoikiaseis"] .ag-svc__circle,
#ag-m-enoikiaseis .ag-svc__circle { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='4.5'%20width='18'%20height='17'%20rx='2'/%3E%3Cpath%20d='M16%202.5v4M8%202.5v4M3%2010.5h18'/%3E%3Ccircle%20cx='12'%20cy='15.5'%20r='2.4'/%3E%3Cpath%20d='M12%2014.2v1.4l1%20.7'/%3E%3C/svg%3E"); }

/* Category tiles: the arrow in the teal square. */
.ag-cat__go::after {
	width: 17px; height: 17px;
	background-color: #ffffff;
	--ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012h13'/%3E%3Cpath%20d='M12.5%206.5%2018%2012l-5.5%205.5'/%3E%3C/svg%3E");
}

/* Hero stats strip. */
.ag-stat::before { width: 34px; height: 34px; background-color: var(--ag-teal-bright); }
.ag-stats__row .ag-stat:nth-child(1)::before { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='3'%20width='7.5'%20height='7.5'%20rx='1.2'/%3E%3Crect%20x='13.5'%20y='3'%20width='7.5'%20height='7.5'%20rx='1.2'/%3E%3Crect%20x='13.5'%20y='13.5'%20width='7.5'%20height='7.5'%20rx='1.2'/%3E%3Crect%20x='3'%20y='13.5'%20width='7.5'%20height='7.5'%20rx='1.2'/%3E%3C/svg%3E"); }
.ag-stats__row .ag-stat:nth-child(2)::before { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%206.8V12l3.4%202.1'/%3E%3C/svg%3E"); }
.ag-stats__row .ag-stat:nth-child(3)::before { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M3%2012h18'/%3E%3Cpath%20d='M12%203a13.5%2013.5%200%200%201%200%2018%2013.5%2013.5%200%200%201%200-18z'/%3E%3C/svg%3E"); }
.ag-stats__row .ag-stat:nth-child(4)::before { --ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2.5'%20y='7'%20width='19'%20height='13.5'%20rx='2'/%3E%3Cpath%20d='M15.5%2020.5V5.5a2%202%200%200%200-2-2h-3a2%202%200%200%200-2%202v15'/%3E%3Cpath%20d='M2.5%2012h19'/%3E%3C/svg%3E"); }

/* Project card location line. */
.ag-projcard__loc::before {
	width: 15px; height: 15px;
	background-color: var(--ag-teal);
	--ag-ic: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2010c0%206.4-8%2012.5-8%2012.5S4%2016.4%204%2010a8%208%200%200%201%2016%200z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.8'/%3E%3C/svg%3E");
}

/* ─────────────────────────────────────────────────────────────────────────
   News & projects — front-page block, /nea/ archive, single article.
   Added 2026-09-21 with the news section.
   ───────────────────────────────────────────────────────────────────────── */

.ag-news { margin-top: clamp(34px, 4vw, 52px); }
.ag-news__sub {
	margin: 10px auto 22px;
	max-width: 640px;
	text-align: center;
	font-size: 0.92rem;
	color: var(--ag-gray);
}
.ag-news__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 270px));
	justify-content: center;
	align-items: stretch;
}
.ag-news__more { margin-top: 26px; }

/* ── Card ── */
.ag-ncard {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #eef2f5;
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 2px 10px rgba(12, 31, 41, 0.05);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.ag-ncard:hover,
.ag-ncard:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(12, 31, 41, 0.13);
	border-color: rgba(0, 165, 165, 0.35);
}
.ag-ncard__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	background: #eef2f5;
	overflow: hidden;
}
.ag-ncard__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.ag-ncard:hover .ag-ncard__img { transform: scale(1.04); }
.ag-ncard__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(3, 12, 17, 0.82);
	color: #ffffff;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	padding: 5px 11px;
	border-radius: 999px;
	backdrop-filter: blur(3px);
}
.ag-ncard__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px 16px 16px;
}
.ag-ncard__date {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ag-teal);
	margin-bottom: 6px;
}
.ag-ncard__t {
	font-size: 0.97rem;
	font-weight: 800;
	line-height: 1.32;
	color: var(--ag-ink);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ag-ncard__x {
	margin-top: 7px;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--ag-gray);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ag-ncard__go {
	margin-top: auto;
	padding-top: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: var(--ag-teal);
}
.ag-ncard__go i {
	font-style: normal;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: rgba(0, 184, 184, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease;
}
.ag-ncard:hover .ag-ncard__go i { background: var(--ag-teal); color: #ffffff; }

/* ── /nea/ archive ── */
.ag-newsarch { padding: 8px 0 10px; }
.ag-news__grid--arch { margin-top: 26px; }
.ag-newsarch__nav {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 34px;
}
.ag-newsarch__nav a {
	min-width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	border: 1px solid rgba(0, 165, 165, 0.3);
	color: var(--ag-teal);
	font-weight: 700;
	text-decoration: none;
}
.ag-newsarch__nav a.is-on,
.ag-newsarch__nav a:hover { background: var(--ag-teal); color: #ffffff; border-color: var(--ag-teal); }

/* ── Single article ── */
.ag-article .entry-content,
.ag-article .post-content,
.ag-article .page-content { max-width: 760px; margin-left: auto; margin-right: auto; }
.ag-article .ag-newsarch,
.ag-article .ag-news__grid--arch { max-width: none; }

.ag-article__lead {
	font-size: 1.07rem;
	line-height: 1.68;
	color: var(--ag-ink);
	font-weight: 500;
	margin-bottom: 26px;
}
.ag-article__fig {
	margin: 26px 0;
}
.ag-article__fig img,
.ag-article__fig video {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
}
.ag-article__fig--video video { max-height: 70vh; width: auto; margin: 0 auto; }
.ag-article__fig figcaption {
	margin-top: 9px;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--ag-gray);
	text-align: center;
	font-style: italic;
}
.ag-article__cta { margin: 30px 0 8px; text-align: center; }

@media (max-width: 600px) {
	.ag-news__grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
	.ag-article__lead { font-size: 1rem; }
	.ag-article__fig { margin: 20px 0; }
}

/* ─────────────────────────────────────────────────────────────────────────
   Article layout.

   Porto's blog template gives a single post a right sidebar (search, recent
   posts, recent comments) and no <h1> at all — it reads like a default
   WordPress blog, not like the rest of this site. The sidebar goes, the
   content gets the full width back, and the article gets a hero with the
   title on it. 2026-09-21.
   ───────────────────────────────────────────────────────────────────────── */

.ag-article .porto-blog-sidebar { display: none !important; }
.ag-article .main-content.col-lg-9 {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
}
.ag-article #main.column2-right-sidebar { --ag-noop: 0; }
/* The theme's own featured image is replaced by the hero below. */
.ag-article .post-image.single { display: none !important; }
.ag-article article.post-large { border: 0; padding-top: 0; }
.ag-article .comment-respond,
.ag-article .post-share,
.ag-article .entry-meta,
.ag-article .post-meta { display: none !important; }

.ag-article .entry-content,
.ag-article .post-content {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.01rem;
	line-height: 1.75;
}
.ag-article .entry-content h2 {
	margin: 40px 0 12px;
	font-size: clamp(1.25rem, 2.2vw, 1.62rem);
	font-weight: 800;
	line-height: 1.26;
	color: var(--ag-ink);
}
.ag-article .entry-content p { margin-bottom: 16px; }
.ag-article .entry-content ul { margin: 0 0 18px 1.15em; }
.ag-article .entry-content ul li { margin-bottom: 9px; }
.ag-article .entry-content a { color: var(--ag-teal); font-weight: 600; }
.ag-article .entry-content a:hover { color: var(--ag-teal-bright); }

/* ── Hero ── */
.ag-arthero {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	margin: 0 0 18px;
	min-height: 300px;
	display: flex;
	align-items: flex-end;
	background: #0b1a22;
}
.ag-arthero__media { position: absolute; inset: 0; }
.ag-arthero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ag-arthero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 12, 17, 0.12) 0%, rgba(3, 12, 17, 0.55) 52%, rgba(3, 12, 17, 0.88) 100%);
}
.ag-arthero__in {
	position: relative;
	padding: 26px clamp(18px, 3vw, 38px) clamp(20px, 3vw, 30px);
	width: 100%;
}
.ag-arthero .ag-arthead__h1 { color: #ffffff; }
.ag-arthero .ag-arthead__meta { color: rgba(255, 255, 255, 0.78); }

@media (min-width: 992px) {
	.ag-arthero { min-height: 400px; }
}

.ag-arthead { margin-bottom: 18px; }
.ag-arthead__h1 {
	margin: 10px 0 8px;
	font-size: clamp(1.5rem, 3.4vw, 2.3rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--ag-ink);
}
.ag-arthead__badge {
	display: inline-block;
	background: var(--ag-teal);
	color: #ffffff;
	font-size: 0.63rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	padding: 5px 12px;
	border-radius: 999px;
}
.ag-arthead__meta {
	margin: 0;
	font-size: 0.79rem;
	font-weight: 600;
	color: var(--ag-gray);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.ag-arthead__crumbs {
	max-width: 840px;
	margin: 0 auto 16px;
	font-size: 0.76rem;
	font-weight: 600;
	color: var(--ag-gray);
	display: flex;
	gap: 7px;
	align-items: center;
}
.ag-arthead__crumbs a { color: var(--ag-teal); text-decoration: none; }
.ag-arthead__crumbs a:hover { text-decoration: underline; }

/* ── Figures: one consistent frame, so they line up down the page ── */
.ag-article__fig { margin: 26px 0; }
.ag-article__fig img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 12px;
	display: block;
	height: auto;
}
.ag-article__fig--video { text-align: center; }
.ag-article__fig--video video {
	width: auto;
	max-width: 100%;
	max-height: 560px;
	aspect-ratio: auto;
	border-radius: 12px;
	display: inline-block;
}

/* ── Read next ── */
.ag-readnext {
	max-width: 1120px;
	margin: 46px auto 0;
	padding-top: 30px;
	border-top: 1px solid #eef2f5;
}
.ag-readnext__h {
	text-align: center;
	font-size: 1.12rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	margin-bottom: 22px;
	color: var(--ag-ink);
}

@media (max-width: 600px) {
	.ag-arthero { min-height: 240px; border-radius: 12px; }
	.ag-article .entry-content { font-size: 0.97rem; }
}

.ag-arthead--arch { text-align: center; margin-bottom: 8px; }
.ag-arthead--arch .ag-arthead__crumbs { justify-content: center; }
.ag-newsarch .ag-article__lead { max-width: 660px; margin: 0 auto 8px; text-align: center; }

/* Video figures: centre the player and let it show its own duration. */
.ag-article__fig--video { display: block; text-align: center; }
.ag-article__fig--video video {
	display: block;
	margin-inline: auto;
	width: auto;
	max-width: 100%;
	max-height: 560px;
	border-radius: 12px;
	background: #0b1a22;
}

/* ─────────────────────────────────────────────────────────────────────────
   Article layout v2 — 2026-09-21.

   The first pass dropped Porto's blog sidebar and left a single narrow column
   with half the screen empty. This puts something useful in that space: a
   sticky table of contents that tracks the section being read, and a quote
   card that stays in view the whole way down. Photos go two to a row, which
   roughly halves the scroll on a picture-heavy piece.
   ───────────────────────────────────────────────────────────────────────── */

.ag-article .entry-content,
.ag-article .post-content {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.ag-artgrid {
	display: grid;
	grid-template-columns: 272px minmax(0, 1fr);
	gap: 46px;
	align-items: start;
	margin-top: 26px;
}
.ag-artmain { min-width: 0; }

@media (max-width: 1099px) {
	.ag-artgrid { grid-template-columns: 1fr; gap: 26px; }
}

/* ── Sticky rail ── */
.ag-artrail { position: sticky; top: 96px; }
@media (max-width: 1099px) {
	.ag-artrail { position: static; top: auto; }
}

.ag-toc {
	background: #f7fafb;
	border: 1px solid #eef2f5;
	border-radius: 14px;
	padding: 16px 18px;
}
.ag-toc__h {
	margin: 0 0 10px;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--ag-gray);
}
.ag-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: agtoc; }
.ag-toc__list li { margin: 0; }
.ag-toc__list a {
	display: block;
	padding: 7px 0 7px 13px;
	border-left: 2px solid #e3eaee;
	font-size: 0.82rem;
	line-height: 1.4;
	color: #56707c;
	text-decoration: none;
	transition: color 0.18s ease, border-color 0.18s ease;
}
.ag-toc__list a:hover { color: var(--ag-teal); }
.ag-toc__list a.is-on {
	color: var(--ag-teal);
	font-weight: 700;
	border-left-color: var(--ag-teal);
}

.ag-railcta {
	margin-top: 18px;
	background: linear-gradient(160deg, #0b1f2a 0%, #123241 100%);
	border-radius: 14px;
	padding: 20px 18px;
	text-align: center;
	color: #ffffff;
}
.ag-railcta__h { margin: 0 0 6px; font-size: 0.95rem; font-weight: 800; color: #ffffff; }
.ag-railcta__x { margin: 0 0 14px; font-size: 0.78rem; line-height: 1.5; color: rgba(255, 255, 255, 0.72); }
.ag-railcta .ag-btn { width: 100%; }
.ag-railcta__tel {
	display: block;
	margin-top: 10px;
	font-size: 0.86rem;
	font-weight: 800;
	color: var(--ag-teal-bright);
	text-decoration: none;
}

/* ── Reading progress ── */
.ag-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 9999;
	pointer-events: none;
	background: transparent;
}
.ag-progress span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #00d4d4, #00a5a5);
	transform: scaleX(0);
	transform-origin: 0 50%;
	will-change: transform;
}

/* ── Photos two to a row ── */
.ag-figpair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 26px 0;
}
.ag-figpair .ag-article__fig { margin: 0; }
@media (max-width: 640px) {
	.ag-figpair { grid-template-columns: 1fr; gap: 18px; }
}
.ag-article__fig img { cursor: zoom-in; }

/* ── Lightbox ── */
.ag-lbox {
	position: fixed;
	inset: 0;
	z-index: 100001;
	background: rgba(3, 12, 17, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
	opacity: 0;
	transition: opacity 0.18s ease;
}
.ag-lbox.is-open { opacity: 1; }
.ag-lbox figure { margin: 0; max-width: 1100px; width: 100%; text-align: center; }
.ag-lbox img {
	max-width: 100%;
	max-height: 80vh;
	width: auto;
	border-radius: 10px;
	display: inline-block;
}
.ag-lbox figcaption {
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.84rem;
	font-style: italic;
}
.ag-lbox__x {
	position: absolute;
	top: 18px;
	right: 20px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 1.05rem;
	cursor: pointer;
}
.ag-lbox__x:hover { background: rgba(255, 255, 255, 0.26); }

/* The hero spans the full width above the grid. */
.ag-arthero { max-width: 1180px; margin-left: auto; margin-right: auto; }
.ag-arthead__crumbs { max-width: 1180px; }

/* ToC as a disclosure: always open in the two-column layout, foldable below it. */
details.ag-toc > summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
details.ag-toc > summary::-webkit-details-marker { display: none; }
details.ag-toc > summary::after {
	content: "";
	width: 9px;
	height: 9px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	flex: none;
}
details.ag-toc[open] > summary::after { transform: rotate(-135deg); }
@media (min-width: 1100px) {
	details.ag-toc > summary { cursor: default; pointer-events: none; }
	details.ag-toc > summary::after { display: none; }
}

/* A touch more cover on the lightbox — bright photos bled through at 0.92. */
.ag-lbox { background: rgba(3, 12, 17, 0.96); backdrop-filter: blur(4px); }

/* ─────────────────────────────────────────────────────────────────────────
   Read-next tidy-up — 2026-09-21.

   Porto prints its own "Related Posts" under every article, so the page ended
   with two related blocks in a row, the theme's one unstyled and half-empty.
   Ours stays; the theme's goes. And a single remaining story is laid out wide
   rather than left sitting alone in a three-column grid.
   ───────────────────────────────────────────────────────────────────────── */

.ag-article .related-posts,
.ag-article .post-navigation,
.ag-article .author-info { display: none !important; }

.ag-readnext { max-width: 900px; }

.ag-news__grid--solo { grid-template-columns: minmax(0, 1fr); max-width: 620px; margin: 0 auto; }
@media (min-width: 620px) {
	.ag-news__grid--solo .ag-ncard {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		align-items: stretch;
	}
	.ag-news__grid--solo .ag-ncard__media { aspect-ratio: auto; height: 100%; min-height: 176px; }
	.ag-news__grid--solo .ag-ncard__body { padding: 18px 20px; }
	.ag-news__grid--solo .ag-ncard__t { font-size: 1.04rem; }
	.ag-news__grid--solo .ag-ncard__x { -webkit-line-clamp: 2; }
}

/* ─────────────────────────────────────────────────────────────────────────
   Article typography — 2026-09-21.

   The single-post template was inheriting Porto's «Open Sans», which this site
   stopped loading back in September, so every article rendered in whatever the
   system fell back to while the rest of the site ran Inter + Outfit. Same
   fonts everywhere now.
   ───────────────────────────────────────────────────────────────────────── */

.ag-article .entry-content,
.ag-article .entry-content p,
.ag-article .entry-content li,
.ag-article .ag-article__fig figcaption,
.ag-article .ag-toc,
.ag-article .ag-ncard {
	font-family: var(--ag-font-body);
}

.ag-article .entry-content h2,
.ag-article .ag-arthead__h1,
.ag-article .ag-readnext__h,
.ag-article .ag-railcta__h,
.ag-article .ag-ncard__t {
	font-family: "Outfit", "Poppins", sans-serif;
	letter-spacing: -0.005em;
}

/* ─────────────────────────────────────────────────────────────────────────
   Article type scale — 2026-09-21.

   Two things were wrong rather than one.

   1. The H2 was clamp(1.25rem, 2.2vw, 1.62rem). The middle term is tied to the
      viewport, so the same heading measured 22.5px on a 1024 screen and 26px on
      a 1440 one — the size moved around for no reason the reader can see. A
      fixed step either side of one breakpoint is predictable.

   2. The text column ran to 800px at 17px, which is about 90 characters a line.
      Comfortable reading is 65–80, so the column comes in and the figures stay
      full width.
   ───────────────────────────────────────────────────────────────────────── */

.ag-artgrid { grid-template-columns: 272px minmax(0, 720px); justify-content: center; }
@media (max-width: 1099px) {
	.ag-artgrid { grid-template-columns: minmax(0, 720px); justify-content: center; }
}

.ag-article .entry-content h2 {
	font-size: 1.45rem;
	line-height: 1.28;
	margin: 38px 0 12px;
}
@media (min-width: 768px) {
	.ag-article .entry-content h2 { font-size: 1.6rem; margin-top: 44px; }
}

.ag-arthead__h1 { font-size: 1.55rem; line-height: 1.22; }
@media (min-width: 768px) { .ag-arthead__h1 { font-size: 2.1rem; } }
@media (min-width: 1200px) { .ag-arthead__h1 { font-size: 2.35rem; } }

/* The lead paragraph is the one place a larger size earns its keep. */
.ag-article__lead { font-size: 1.08rem; line-height: 1.66; }
@media (min-width: 768px) { .ag-article__lead { font-size: 1.14rem; } }

/* Figures and the read-next block keep the full column. */
.ag-readnext { max-width: 1038px; }

/* --- Brand marquee logo sizes -------------------------------------------
   Elementor prints `.elementor img { height: auto; max-width: 100% }` in
   custom-frontend.min.css, which loads AFTER this file and has the same
   specificity (0,1,1) as `.ag-brandlogo img`. On a specificity tie the later
   sheet wins, so every logo fell back to its natural height (up to 240px) and
   the strip overflowed. One extra class puts us back in front. */
.ag-brandmarquee .ag-brandlogo img { display: block; width: auto; height: 46px; }
.ag-brandmarquee .ag-brandlogo--s img { height: 36px; }
.ag-brandmarquee .ag-brandlogo--l img { height: 54px; }
.ag-brandmarquee .ag-brandlogo--xl img { height: 64px; }
.ag-brandmarquee .ag-brandlogo--xxl img { height: 74px; }
@media (max-width: 767px) {
	.ag-brandmarquee .ag-brandlogo img { height: 34px; }
	.ag-brandmarquee .ag-brandlogo--s img { height: 27px; }
	.ag-brandmarquee .ag-brandlogo--l img { height: 40px; }
	.ag-brandmarquee .ag-brandlogo--xl img { height: 48px; }
	.ag-brandmarquee .ag-brandlogo--xxl img { height: 56px; }
}
