/**
 * All-Overview pages (shared)
 * Used by: All Solutions, All Services, All Products
 *
 * @package PalC_Theme
 */

.aov-page { background: #fff; }
.aov-page .container { max-width: 1240px; }

/* ── Hero ── */
.aov-hero {
	background: #0f172a;
	color: #fff;
	padding: 5.2rem 0 3.5rem;
	position: relative;
	overflow: hidden;
}
.aov-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(30, 64, 175, .15) 1px, transparent 1px), linear-gradient(90deg, rgba(30, 64, 175, .15) 1px, transparent 1px);
	background-size: 60px 60px;
	opacity: .55;
}
.aov-hero .container { position: relative; z-index: 1; }
.aov-hero-inner { text-align: center; }
.aov-badge {
	display: inline-flex;
	padding: .35rem .8rem;
	border-radius: 999px;
	border: 1px solid #2563eb;
	color: #93c5fd;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.aov-title { font-size: clamp(2rem, 4vw, 4rem); line-height: 1.04; margin: .9rem 0 1rem; }
.aov-title em {
	font-style: normal;
	background: linear-gradient(135deg, #93c5fd, #5eead4);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.aov-sub { max-width: 850px; margin: 0 auto; color: rgba(255, 255, 255, .75); line-height: 1.75; }
.aov-pill-row { margin-top: 1.35rem; display: flex; gap: .55rem; flex-wrap: wrap; justify-content: center; }
.aov-pill-row a {
	display: inline-flex;
	padding: .48rem .85rem;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none;
	color: #cbd5e1;
	border: 1px solid rgba(148, 163, 184, .28);
	background: rgba(30, 64, 175, .25);
	transition: background .2s;
}
.aov-pill-row a:hover { background: rgba(30, 64, 175, .45); }
.aov-hero-cards { margin-top: 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; text-align: left; }
.aov-hero-card {
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(148, 163, 184, .28);
	border-radius: 12px;
	padding: 1rem;
	transition: border-color .2s, background .2s;
}
.aov-hero-card:hover {
	border-color: rgba(37, 99, 235, .45);
	background: rgba(255, 255, 255, .07);
}
.aov-hero-card span.aov-card-tag {
	display: inline-flex;
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: .2rem .48rem;
	border-radius: 999px;
	margin-bottom: .6rem;
}
.aov-hero-card h3 { margin: 0 0 .4rem; color: #fff; font-size: 1.15rem; line-height: 1.2; }
.aov-hero-card p { margin: 0; color: rgba(226, 232, 240, .84); font-size: .82rem; line-height: 1.58; }

.aov-hero-card.c1 .aov-card-tag { background: rgba(30, 64, 175, .35); color: #93c5fd; }
.aov-hero-card.c2 .aov-card-tag { background: rgba(15, 118, 110, .35); color: #5eead4; }
.aov-hero-card.c3 .aov-card-tag { background: rgba(124, 58, 237, .35); color: #c4b5fd; }
.aov-hero-card.c4 .aov-card-tag { background: rgba(217, 119, 6, .35); color: #fde68a; }
.aov-hero-card.c5 .aov-card-tag { background: rgba(225, 29, 72, .35); color: #fda4af; }
.aov-hero-card.c6 .aov-card-tag { background: rgba(13, 148, 136, .35); color: #99f6e4; }

/* ── Intro ── */
.aov-intro { padding: 3rem 0; background: #f8fafc; }
.aov-intro p { max-width: 1120px; margin: 0 auto; text-align: center; font-size: 1.05rem; color: #667085; line-height: 1.82; }

/* ── Item sections ── */
.aov-item { padding: 3.1rem 0; }
.aov-item:nth-of-type(even) { background: #f8fafc; }
.aov-kicker { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #2563eb; font-weight: 800; margin: 0; }
.aov-item-head h2 { margin: .45rem 0 .5rem; color: #062a72; font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1.12; }
.aov-item-head p.aov-item-sub { margin: 0 0 1.2rem; color: #667085; line-height: 1.7; max-width: 820px; }
.aov-item-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; align-items: start; }
.aov-cap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.aov-cap-grid article { border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; padding: 1rem; }
.aov-cap-grid h3 { margin: 0 0 .45rem; color: #0b2f78; font-size: 1.1rem; }
.aov-cap-grid p { margin: 0; color: #667085; line-height: 1.65; font-size: .88rem; }

.aov-highlights {
	background: linear-gradient(160deg, #071e58 0%, #182235 55%, #090f1c 100%);
	color: #dbeafe;
	border: 1px solid rgba(147, 197, 253, .28);
	border-radius: 16px;
	padding: 1.15rem;
}
.aov-highlights-title { margin: 0 0 .75rem; color: #93c5fd; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.aov-highlights ul { margin: 0; padding-left: 1.2rem; display: grid; gap: .55rem; list-style: none; }
.aov-highlights li { color: rgba(219, 234, 254, .84); font-size: .84rem; line-height: 1.55; padding-left: .2rem; position: relative; }
.aov-highlights li:before { content: "→"; position: absolute; left: -1rem; color: #93c5fd; }
.aov-highlights li strong { color: #fff; }
.aov-item-cta { margin-top: 1rem; }

/* ── Comparison table ── */
.aov-compare { padding: 3.4rem 0; background: radial-gradient(circle at 4% 98%, rgba(37, 99, 235, 0.2), transparent 20%), radial-gradient(circle at 94% 10%, rgba(37, 99, 235, 0.24), transparent 48%), #020a1d; color: #fff; }
.aov-compare h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.4rem); text-align: center; }
.aov-compare > .container > p { margin: .6rem auto 1.35rem; max-width: 760px; color: rgba(255, 255, 255, .68); text-align: center; }
.aov-table-wrap { overflow-x: auto; }
.aov-table { width: 100%; min-width: 780px; border-collapse: collapse; border: 1px solid rgba(148, 163, 184, .3); border-radius: 12px; overflow: hidden; }
.aov-table th, .aov-table td { padding: .8rem .9rem; border-bottom: 1px solid rgba(148, 163, 184, .18); font-size: .82rem; }
.aov-table th { color: #e2e8f0; background: rgba(30, 64, 175, .24); text-align: left; }
.aov-table td { color: rgba(226, 232, 240, .85); }
.aov-table td:first-child { width: 18%; text-transform: uppercase; font-size: .68rem; color: #93c5fd; letter-spacing: .06em; font-weight: 700; }
.aov-table tbody tr:last-child td { border-bottom: 0; }

/* ── Contact / CTA grid ── */
.aov-contact { padding: 3.2rem 0; background: #f8fafc; }
.aov-contact h2 { margin: .45rem 0 .6rem; color: #062a72; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.aov-contact-sub { max-width: 760px; color: #667085; line-height: 1.72; }
.aov-contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.aov-contact-grid article { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 1rem; display: grid; gap: .45rem; align-content: space-between; }
.aov-contact-grid article span { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: #2563eb; font-weight: 800; }
.aov-contact-grid article h3 { margin: 0; color: #0b2f78; font-size: 1.18rem; line-height: 1.2; }
.aov-contact-grid article p { margin: 0 0 .3rem; color: #667085; font-size: .86rem; line-height: 1.58; }

/* ── Cross-links ── */
.aov-cross { padding: 3rem 0; }
.aov-cross h2 { margin: 0 0 .7rem; color: #062a72; font-size: clamp(1.4rem, 2.8vw, 2rem); text-align: center; }
.aov-cross-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.aov-cross-card { border: 1px solid #e5e7eb; border-radius: 12px; padding: 1.1rem; background: #fff; display: flex; flex-direction: column; gap: .5rem; }
.aov-cross-card h3 { margin: 0; color: #0b2f78; font-size: 1.12rem; }
.aov-cross-card p { margin: 0; color: #667085; font-size: .84rem; line-height: 1.6; flex: 1; }
.aov-cross-card a.btn { align-self: flex-start; margin-top: .3rem; }

/* ── Shared blocks ── */
.aov-shared-block .case-studies-carousel,
.aov-shared-block .partners,
.aov-shared-block .partners-section { margin-top: 0; }
.aov-shared-block { padding: 0; }

/* ── Responsive ── */
@media (max-width: 1100px) {
	.aov-hero-cards { grid-template-columns: 1fr 1fr; }
	.aov-item-grid { grid-template-columns: 1fr; }
	.aov-contact-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
	.aov-hero { padding: 6.3rem 0 2.5rem; }
	.aov-cap-grid,
	.aov-contact-grid,
	.aov-hero-cards,
	.aov-cross-grid { grid-template-columns: 1fr; }
	.aov-contact-sub { max-width: none; }
}
