/*
 * Aurevia Shared Demo System
 * Common full-width, modern spacing and micro-interactions for all 10 demos.
 * Loaded before per-demo demo.css so individual kits can override.
 */

/* Full-width foundation */
html, body { overflow-x: hidden; }

.elementor-section-wrap,
[data-elementor-id],
.elementor-widget-wrap,
.elementor-top-section,
.elementor-section {
	max-width: 100% !important;
	width: 100% !important;
}

/* Sadece header içindeki konteynerlar hariç diğerlerini %100 yap */
:is(.elementor-section-wrap, [data-elementor-id]) > .e-con:not(.av-kit-template) {
	--width: 100%;
	--content-width: 100%;
}

.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100% !important;
}

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

/* Demo header / footer kit common polish */
.av-kit-template {
	position: relative;
	z-index: 100;
}

.av-kit-template .avw-site-branding {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.av-kit-template .avw-site-mark {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 12px;
	background: var(--av-accent, #6c5ce7);
	color: #fff;
	font-size: 1.15rem;
	font-weight: 800;
	flex: none;
}

.av-kit-template .avw-template-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.2vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.av-kit-template .avw-template-nav a {
	position: relative;
	display: inline-block;
	color: inherit;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-decoration: none;
	padding: 6px 0;
}

.av-kit-template .avw-template-nav a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.25s ease;
}

.av-kit-template .avw-template-nav a:hover::after,
.av-kit-template .avw-template-nav a:focus::after {
	transform: scaleX(1);
	transform-origin: left;
}

.av-kit-template .avw-dual-button .avw-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 0.82rem;
	line-height: 1;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.av-kit-template .avw-dual-button .avw-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(23, 32, 51, 0.16);
}

.av-kit-template .avw-notice {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	color: inherit;
}

.av-kit-template .avw-notice i svg,
.av-kit-template .avw-notice i {
	width: 16px;
	height: 16px;
}

/* Header buttons / cart / search */
.av-header-tools,
.av-kit-template .av-header-tools {
	display: flex;
	align-items: center;
	gap: 12px;
}

.av-header-icon {
	display: inline-grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 50%;
	background: rgba(23, 32, 51, 0.04);
	color: inherit;
	transition: background 0.2s ease, transform 0.2s ease;
}

.av-header-icon:hover {
	background: rgba(23, 32, 51, 0.08);
	transform: translateY(-2px);
}

.av-header-icon svg {
	width: 20px;
	height: 20px;
}

/* Sticky kit headers */
[class*="header-primary"],
[class*="header-minimal"],
[class*="header-editorial"] {
	position: sticky;
	top: 0;
	z-index: 100;
}

/* Footer kit common polish */
[class*="footer-primary"],
[class*="footer-navigation"],
[class*="footer-editorial"],
[class*="footer-minimal"] {
	position: relative;
}

[class*="footer"] .avw-social-icons a {
	display: inline-grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: inherit;
	transition: transform 0.2s ease, background 0.2s ease;
}

[class*="footer"] .avw-social-icons a:hover {
	transform: translateY(-3px);
	background: rgba(255, 255, 255, 0.2);
}

[class*="footer"] .avw-social-icons a svg {
	width: 18px;
	height: 18px;
}

/* Module micro-interactions */
.av18-auto-inventory article,
.av18-food-browser article,
.av18-beauty-treatments article,
.av18-poke-menu article,
.av18-directory article,
.avi-property-listings article,
.avi-hotel-rooms article,
.avi-course-catalog article,
.avi-corporate-leadership figure,
.avi-shop-collections a,
.avw-icon-box,
.avw-pricing,
.avw-quote,
.avw-feature,
.avw-team-grid figure,
.avw-portfolio figure,
.avw-query-grid article {
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.av18-auto-inventory article:hover,
.av18-food-browser article:hover,
.av18-beauty-treatments article:hover,
.av18-poke-menu article:hover,
.av18-directory article:hover,
.avi-property-listings article:hover,
.avi-hotel-rooms article:hover,
.avi-course-catalog article:hover,
.avi-corporate-leadership figure:hover,
.avi-shop-collections a:hover,
.avw-icon-box:hover,
.avw-pricing:hover,
.avw-quote:hover,
.avw-feature:hover,
.avw-team-grid figure:hover,
.avw-portfolio figure:hover,
.avw-query-grid article:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 70px rgba(23, 32, 51, 0.13);
}

/* Buttons inside modules */
.avx-creative-button,
.avx-saas-primary,
.avx-corporate-button,
.avx-hotel-book,
.avx-property-button,
.avx-medical-primary,
.avx-shop-button,
.avx-legal-button,
.avx-education-primary,
.avx-intake-button,
.avi-plan-button,
.av18-auto-hero form button,
.av18-resto-hero a,
.av18-food-hero button,
.av18-beauty-hero a,
.av18-poke-hero a,
.av18-resto-reservation button,
.av18-food-browser figure button,
.av18-poke-menu figure button,
.av18-beauty-booking button,
.av18-directory article a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 13px 22px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 0.85rem;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
	cursor: pointer;
}

.avx-creative-button:hover,
.avx-saas-primary:hover,
.avx-corporate-button:hover,
.avx-hotel-book:hover,
.avx-property-button:hover,
.avx-medical-primary:hover,
.avx-shop-button:hover,
.avx-legal-button:hover,
.avx-education-primary:hover,
.avx-intake-button:hover,
.avi-plan-button:hover,
.av18-auto-hero form button:hover,
.av18-resto-hero a:hover,
.av18-food-hero button:hover,
.av18-beauty-hero a:hover,
.av18-poke-hero a:hover,
.av18-resto-reservation button:hover,
.av18-food-browser figure button:hover,
.av18-poke-menu figure button:hover,
.av18-beauty-booking button:hover,
.av18-directory article a:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(23, 32, 51, 0.18);
}

/* Images */
.av18-auto-hero > img,
.av18-resto-hero > img,
.av18-food-hero figure > *:first-child,
.av18-beauty-hero figure > *:first-child,
.av18-poke-hero figure > *:first-child,
.av18-directory figure > *:first-child,
.avi-property-listings figure > *:first-child,
.avi-hotel-rooms figure > *:first-child,
.avi-course-catalog article,
.avi-corporate-leadership figure,
.avi-shop-collections a,
.avw-hero-visual img,
.avw-team-grid img,
.avw-portfolio img,
.avw-editorial-gallery figure img,
.avw-query-grid img {
	border-radius: 16px;
	object-fit: cover;
}

/* Mobile menu button */
.av-sector-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 8px 14px;
	border: 1px solid currentColor;
	background: transparent;
	color: inherit;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.av-sector-menu-toggle::before {
	content: '';
	width: 16px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 5px 0 currentColor, 0 -5px 0 currentColor;
}

@media (max-width: 820px) {
	.av-sector-menu-toggle { display: inline-flex; }
	.av-kit-template .avw-template-nav {
		display: none;
		width: 100%;
		order: 5;
	}
	.is-menu-open .avw-template-nav { display: block; }
	.av-kit-template .avw-template-nav ul { flex-direction: column; gap: 0; }
	.av-kit-template .avw-template-nav li { padding: 10px 0; }
}
