/**
 * Global layout — 90% shell, section rhythm, header clearance, cards.
 *
 * @package Skavend
 */

html,
body,
#page {
	overflow-x: clip;
	max-width: 100%;
}

.site-main > section,
.skavend-premium-section {
	max-width: 100%;
}

.skavend-shell,
.home-hero__main-container,
.home-stats__inner,
.home-about__container,
.home-challenge__container,
.home-solution__container,
.capabilities-container,
.core-services__container,
.process-container,
.industries-container,
.case-studies-section .case-studies-header,
.case-studies-grid,
.tech-engineering-section__header,
.tech-engineering-section .skavend-wave-grid,
.ai-solutions-section__header,
.ai-solutions-section .skavend-wave-grid,
.sv-shell,
.in-shell,
.ap-shell,
.cp-shell,
.cap-shell,
.ins-shell {
	width: var(--shell-width, 90%) !important;
	max-width: none !important;
	margin-inline: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/*
 * Every non-hero section: 5% padding TOP and BOTTOM.
 * High specificity so page CSS cannot zero one side.
 */
.site-main > section:not(.home-hero):not(.sv-hero):not(.ap-hero):not(.in-hero):not(.cap-hero):not(.cp-hero):not(.ins-hero):not(.cs-detail__hero):not(.sk-detail__hero),
.sv-section:not(.sv-hero),
.in-section:not(.in-hero),
.ap-section:not(.ap-hero),
.cp-section:not(.cp-hero),
.cap-section:not(.cap-hero) {
	padding-top: var(--section-space, 5%) !important;
	padding-bottom: var(--section-space, 5%) !important;
}

/*
 * All heroes: header clearance + --hero-space (adjust once in variables.css).
 */
@media (max-width: 768px) {
	:root {
		--hero-space: 0.5%;
	}
}

@media (max-width: 480px) {
	:root {
		--hero-space: 0.25%;
	}
}

.site-main > .home-hero,
.home-hero,
.site-main > .sv-hero,
.site-main > .ap-hero,
.site-main > .cap-hero,
.site-main > .in-hero,
.site-main > .cp-hero,
.site-main > .ins-hero,
.site-main > .insa-hero,
.site-main > .cs-detail__hero,
.site-main > .sk-detail__hero,
.sv-hero,
.ap-hero,
.in-hero,
.cap-hero,
.cp-hero,
.ins-hero,
.insa-hero,
.cs-detail__hero,
.sk-detail__hero {
	padding-top: calc(var(--header-offset, 108px) + var(--hero-space, 1.5%)) !important;
	padding-bottom: var(--hero-space, 1.5%) !important;
}

.cta-banner-section {
	padding-top: var(--section-space, 5%) !important;
	padding-bottom: var(--section-space, 5%) !important;
}

/* Section h2 headings — hero h1 titles keep their own larger styles. */
.section-title,
.about-page .ap-section .ap-h,
.page-template-templates-about-php .ap-section .ap-h,
.sv-section .sv-h,
.in-section .in-h,
.cap-section .cap-h,
.cp-section .cp-h,
.home-about__title,
.home-challenge__title,
.home-solution__title,
.process-wave__title,
.tech-engineering-section__title,
.ai-solutions-section__title,
.cta-banner-section__title {
	font-size: var(--section-heading-size, clamp(28px, 2.5vw, 36px));
	line-height: var(--section-heading-line, 1.22);
}

.site-main {
	position: relative;
	z-index: 1;
}

/* 3 cards per row — site-wide wave grids */
.skavend-wave-grid,
.skavend-wave-grid--3,
.skavend-wave-grid--4,
.skavend-wave-grid--5,
.skavend-wave-grid--cap,
.capabilities-grid.skavend-wave-grid,
.industries-grid.skavend-wave-grid,
.tech-engineering-section__grid,
.ai-solutions-section__grid,
.tech-engineering-section__grid.skavend-wave-grid,
.ai-solutions-section__grid.skavend-wave-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
	align-items: stretch;
}

.case-studies-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

@media (max-width: 1024px) {
	.skavend-wave-grid,
	.skavend-wave-grid--3,
	.skavend-wave-grid--4,
	.skavend-wave-grid--5,
	.skavend-wave-grid--cap,
	.tech-engineering-section__grid,
	.ai-solutions-section__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 680px) {
	.skavend-wave-grid,
	.skavend-wave-grid--3,
	.skavend-wave-grid--4,
	.skavend-wave-grid--5,
	.skavend-wave-grid--cap,
	.tech-engineering-section__grid,
	.ai-solutions-section__grid,
	.case-studies-grid {
		grid-template-columns: 1fr !important;
	}
}

.skavend-icon {
	flex-shrink: 0;
}

.home-stats__icon-wrapper .skavend-icon,
.home-stats__icon {
	color: var(--icon-on-dark, #e2bd80) !important;
	stroke: currentColor !important;
}

.home-stats__icon-wrapper,
.sv-card__ico,
.sv-step__node,
.skavend-wave-card__icon,
.home-challenge__node-icon,
.home-challenge__hub-icon,
.skavend-process-glass__icon,
.skavend-process-rail__icon {
	animation: skavendIconFloat 3.4s ease-in-out infinite;
}

@keyframes skavendIconFloat {
	0%, 100% { transform: translateY(0) scale(1); }
	50% { transform: translateY(-4px) scale(1.04); }
}

.skavend-wave-card:hover,
.sv-card:hover,
.in-card:hover,
.cs-card:hover {
	transform: var(--card-lift, translateY(-8px));
	box-shadow: var(--card-shadow-hover);
}

/* Shared note text below card grids */
.skavend-cards-note {
	display: block;
	margin: 30px auto 0;
	max-width: 720px;
	text-align: center;
	font-family: var(--font-sans, 'DM Sans', sans-serif);
	font-size: 15px;
	line-height: 1.6;
	color: #5c625f;
}

/* Inner-page hero CTAs — two per row on tablet/mobile */
@media (max-width: 1100px) {
	.ap-hero__actions,
	.sv-hero__actions,
	.cap-hero__actions,
	.in-hero__actions,
	.ins-hero__actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
		max-width: 100%;
	}

	.ap-hero__actions > *,
	.sv-hero__actions > *,
	.cap-hero__actions > *,
	.in-hero__actions > *,
	.ins-hero__actions > * {
		width: 100%;
		min-width: 0;
		justify-content: center;
		text-align: center;
	}

	.ap-hero__actions .ap-btn,
	.sv-hero__actions .sv-btn,
	.cap-hero__actions .cap-btn,
	.in-hero__actions .in-btn,
	.ins-hero__actions .ins-btn {
		height: auto;
		min-height: 48px;
		padding: 12px 14px;
		font-size: 13px;
		line-height: 1.25;
	}

	.ap-hero__actions .ap-textlink {
		min-height: 48px;
		padding: 12px 14px;
		border: 1.5px solid var(--skavend-btn-ghost-border, #c19a6b);
		border-radius: 999px;
		font-size: 13px;
		line-height: 1.25;
		justify-content: center;
	}
}

@media (max-width: 380px) {
	.ap-hero__actions,
	.sv-hero__actions,
	.cap-hero__actions,
	.in-hero__actions,
	.ins-hero__actions {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-stats__icon-wrapper,
	.skavend-wave-card__icon,
	.skavend-process-rail__icon {
		animation: none;
	}
}
