/* Qubtiva · 29 Ekim Cumhuriyet Bayramı — tüm kurallar html.q29-on altında */

:root {
	--q29-red: #e30a17;
	--q29-red-2: #c4070f;
	--q29-red-3: #8f050c;
	--q29-red-4: #5c040a;
	--q29-flag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -30000 90000 60000'%3E%3Cpath fill='%23e30a17' d='m0-30000h90000v60000H0z'/%3E%3Cpath fill='%23fff' d='m41750 0 13568-4408-8386 11541V-7133l8386 11541zm925 8021a15000 15000 0 1 1 0-16042 12000 12000 0 1 0 0 16042z'/%3E%3C/svg%3E");
}

.q29-banner,
.q29-splash {
	display: none;
}

/* ------------------------------------------------------------ Tema renkleri */

html.q29-on {
	--wd-primary-color: var(--q29-red);
	--wd-alternative-color: var(--q29-red-2);
	--btn-accented-bgcolor: var(--q29-red);
	--btn-accented-bgcolor-hover: var(--q29-red-2);
	--btn-accented-brd-color: var(--q29-red);
	scrollbar-color: var(--q29-red) #fff;
}

html.q29-on [class*="elementor-kit-"] {
	--e-global-color-primary: var(--q29-red);
	--e-global-color-secondary: var(--q29-red-3);
}

/* Sohbet balonu eklentisi kendi değişkenlerini kullanıyor */
html.q29-on #qubtiva-chatbot {
	--qbt-primary: var(--q29-red) !important;
	--qbt-primary-dark: var(--q29-red-3) !important;
	--qbt-primary-hover: var(--q29-red-2) !important;
}

/* Sitedeki yeşil gradyan butonlar */
html.q29-on .btn-color-primary {
	background: linear-gradient(135deg, #ff3b45 0%, var(--q29-red) 55%, var(--q29-red-3) 100%) !important;
	border-color: transparent !important;
}

html.q29-on .btn-color-primary:hover {
	background: linear-gradient(135deg, var(--q29-red-3) 0%, var(--q29-red) 55%, #ff3b45 100%) !important;
}

html.q29-on ::selection {
	background: var(--q29-red);
	color: #fff;
}

/* ------------------------------------------------------------------ Başlık */

html.q29-on .whb-header,
html.q29-on .whb-header .whb-general-header,
html.q29-on .whb-header .whb-header-bottom {
	background-color: var(--q29-red) !important;
	background-image: linear-gradient(180deg, #ea1622 0%, var(--q29-red) 55%, var(--q29-red-2) 100%) !important;
	border-color: transparent !important;
}

html.q29-on .whb-header .whb-top-bar {
	background: var(--q29-red-3) !important;
	background-image: none !important;
}

html.q29-on .whb-header .wd-logo img {
	filter: brightness(0) invert(1);
}

html.q29-on .whb-general-header .wd-nav > li > a,
html.q29-on .whb-general-header .wd-tools-element > a,
html.q29-on .whb-general-header .wd-tools-icon,
html.q29-on .whb-general-header .wd-tools-text,
html.q29-on .whb-general-header .amount,
html.q29-on .whb-general-header .wd-header-text,
html.q29-on .whb-header-bottom .wd-nav > li > a,
html.q29-on .whb-header-bottom .wd-tools-element > a {
	color: #fff !important;
}

html.q29-on .whb-general-header .wd-nav > li > a:hover,
html.q29-on .whb-general-header .wd-tools-element > a:hover {
	color: rgba(255, 255, 255, .78) !important;
}

html.q29-on .whb-general-header .wd-nav > li > a::after {
	background-color: #fff !important;
}

html.q29-on .whb-header .wd-tools-count {
	background: #fff !important;
	color: var(--q29-red) !important;
}

html.q29-on .wd-toolbar .wd-tools-count {
	background: var(--q29-red) !important;
	color: #fff !important;
}

/* ------------------------------------------------------------ Sayfa gövdesi */

html.q29-home .main-page-wrapper {
	background-color: #fff5f5 !important;
}

/* Lacivert footer kutusu ve görselli footer kırmızıya döner */
html.q29-on .elementor-element-c31d02e {
	background: linear-gradient(160deg, var(--q29-red-2), var(--q29-red-4)) !important;
}

html.q29-on .wd-footer {
	position: relative;
	isolation: isolate;
}

html.q29-on .wd-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(200, 8, 18, .86), rgba(92, 4, 10, .94));
}

html.q29-home .elementor-element-2672800 {
	background-color: #fde3e4 !important;
}

/* -------------------------------------------------------------- Tebrik bandı */

html.q29-on .q29-banner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 2.4vw, 28px);
	min-height: 52px;
	padding: 4px 16px;
	overflow: hidden;
	background: linear-gradient(90deg, var(--q29-red-3), var(--q29-red) 30%, var(--q29-red) 70%, var(--q29-red-3));
	color: #fff;
	text-align: center;
	line-height: 1.25;
}

html.q29-on .q29-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .22) 50%, transparent 65%);
	transform: translateX(-100%);
	animation: q29-shine 5s ease-in-out 1.2s infinite;
}

.q29-banner__text strong {
	display: block;
	font-size: clamp(14px, 1.6vw, 17px);
	font-weight: 700;
	letter-spacing: .02em;
	color: #fff;
}

.q29-banner__sub {
	display: block;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .85;
}

.q29-flag--banner {
	flex: none;
	width: 72px;
	height: 44px;
}

@media (max-width: 600px) {
	html.q29-on .q29-banner {
		min-height: 46px;
		gap: 8px;
		padding: 4px 8px;
	}
	.q29-flag--banner {
		width: 56px;
		height: 36px;
	}
	.q29-banner__text strong {
		font-size: 13px;
	}
	.q29-banner__sub {
		font-size: 10px;
		letter-spacing: .08em;
	}
}

@media (max-width: 380px) {
	.q29-flag--banner + .q29-banner__text + .q29-flag--banner {
		display: none;
	}
}

/* ----------------------------------------------------------- Açılış ekranı */

html.q29-on .q29-splash {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	overflow: auto;
	background: radial-gradient(ellipse at 50% 30%, #f0202c 0%, var(--q29-red) 30%, var(--q29-red-3) 75%, var(--q29-red-4) 100%);
	color: #fff;
	text-align: center;
	opacity: 0;
	transition: opacity .5s ease, transform .6s ease;
}

html.q29-on .q29-splash[hidden] {
	display: none;
}

html.q29-on .q29-splash.is-open {
	opacity: 1;
}

html.q29-on .q29-splash.is-closing {
	opacity: 0;
	transform: scale(1.04);
}

html.q29-lock,
html.q29-lock body {
	overflow: hidden !important;
}

.q29-splash__rays {
	position: absolute;
	left: 50%;
	top: 34%;
	width: 220vmax;
	height: 220vmax;
	margin: -110vmax 0 0 -110vmax;
	background: repeating-conic-gradient(rgba(255, 255, 255, .045) 0 6deg, transparent 6deg 18deg);
	animation: q29-spin 80s linear infinite;
	pointer-events: none;
}

.q29-splash__inner {
	position: relative;
	max-width: 760px;
	margin: auto;
}

.q29-splash__inner > * {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .7s ease, transform .7s ease;
}

.q29-splash.is-open .q29-splash__inner > * {
	opacity: 1;
	transform: none;
}

.q29-splash.is-open .q29-splash__inner > :nth-child(2) { transition-delay: .25s; }
.q29-splash.is-open .q29-splash__inner > :nth-child(3) { transition-delay: .4s; }
.q29-splash.is-open .q29-splash__inner > :nth-child(4) { transition-delay: .6s; }
.q29-splash.is-open .q29-splash__inner > :nth-child(5),
.q29-splash.is-open .q29-splash__inner > :nth-child(6) { transition-delay: .8s; }

.q29-flag--splash {
	display: block;
	width: min(520px, 78vw, 62vh);
	height: auto;
	aspect-ratio: 52 / 42;
	margin: 0 auto 4px;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .35));
}

.q29-splash__kicker {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .4em;
	color: rgba(255, 255, 255, .85);
}

.q29-splash .q29-splash__title {
	margin: 0 0 18px;
	font-family: var(--wd-title-font, inherit);
	font-size: clamp(26px, 5vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	text-wrap: balance;
	color: #fff;
	text-shadow: 0 3px 18px rgba(0, 0, 0, .25);
}

.q29-splash__title span {
	display: inline-block;
	padding: 0 .12em;
	font-size: 1.25em;
}

.q29-splash__quote {
	max-width: 600px;
	margin: 0 auto 26px;
	padding: 0;
	border: 0;
	font-size: clamp(14px, 1.7vw, 17px);
	font-style: italic;
	line-height: 1.6;
	color: rgba(255, 255, 255, .92);
	background: none;
}

.q29-splash__quote::before,
.q29-splash__quote::after {
	display: none;
}

.q29-splash__quote cite {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #fff;
}

.q29-splash .q29-splash__close {
	min-height: 46px;
	padding: 0 34px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--q29-red);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: none;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .25);
	transition: transform .2s ease, box-shadow .2s ease;
}

.q29-splash .q29-splash__close:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(0, 0, 0, .3);
}

.q29-splash .q29-splash__close:focus-visible {
	outline: 3px solid rgba(255, 255, 255, .7);
	outline-offset: 3px;
}

.q29-splash__timer {
	width: 140px;
	height: 3px;
	margin: 18px auto 0;
	border-radius: 3px;
	background: rgba(255, 255, 255, .25);
	overflow: hidden;
}

.q29-splash__timer i {
	display: block;
	height: 100%;
	width: 100%;
	background: #fff;
	transform-origin: 0 50%;
	transform: scaleX(0);
}

.q29-splash.is-open .q29-splash__timer i {
	animation: q29-timer var(--q29-splash-ms, 8000ms) linear forwards;
}

.q29-confetti {
	position: fixed;
	inset: 0;
	z-index: 2147483001;
	pointer-events: none;
}

/* -------------------------------------------------------------- Animasyon */


@keyframes q29-shine {
	0%   { transform: translateX(-100%); }
	45%, 100% { transform: translateX(100%); }
}

@keyframes q29-spin {
	to { transform: rotate(360deg); }
}

@keyframes q29-timer {
	to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
	html.q29-on .q29-banner::after,
	.q29-splash__rays,
	.q29-splash.is-open .q29-splash__timer i {
		animation: none !important;
	}
	.q29-splash__inner > * {
		transition: none !important;
	}
}
