/*
Theme Name: Ale Akcja Soon
Text Domain: ale-akcja-soon
Description: Tymczasowa strona-zaślepka Ale Akcja: branding, formularz kontaktowy, komunikat „Zmieniamy się dla Ciebie”.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
Update URI: false
*/

:root {
	--bg: #0C0C0E;
	--card: #17171B;
	--fg: #F4F1EA;
	--accent: #CCFF33;
	--muted: #8A8A8F;
	--border: rgba(244, 241, 234, 0.08);
	--display: 'Clash Display', 'Arial Narrow', sans-serif;
	--body: 'General Sans', -apple-system, system-ui, sans-serif;
	--pad: clamp(20px, 5vw, 64px);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.aa-soon {
	margin: 0;
	min-height: 100vh;
	background: var(--bg);
	color: var(--fg);
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

body.aa-soon::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	opacity: .05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	z-index: 50;
}

.aa-glow {
	position: fixed;
	top: -30vmax;
	right: -20vmax;
	width: 70vmax;
	height: 70vmax;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(204, 255, 51, .14) 0%, rgba(204, 255, 51, 0) 60%);
	pointer-events: none;
	z-index: 0;
}

a { color: inherit; }
::selection { background: var(--accent); color: var(--bg); }

/* Top bar */
.aa-top {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 28px var(--pad);
}

.aa-logo {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(22px, 2.2vw, 28px);
	text-transform: uppercase;
	letter-spacing: -0.02em;
	text-decoration: none;
	line-height: 1;
}
.aa-logo span { color: var(--accent); }

.aa-top__mail {
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	padding: 10px 18px;
	border: 1px solid var(--border);
	border-radius: 999px;
	transition: border-color .2s, color .2s;
}
.aa-top__mail:hover { border-color: var(--accent); color: var(--accent); }

/* Hero */
.aa-main {
	position: relative;
	z-index: 2;
	padding: clamp(12px, 2.5vw, 36px) var(--pad) clamp(60px, 8vw, 120px);
	max-width: 1600px;
	margin: 0 auto;
}

.aa-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 28px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	animation: aa-rise .8s cubic-bezier(.2, .7, .2, 1) both;
}

.aa-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 0 rgba(204, 255, 51, .6);
	animation: aa-pulse 2s infinite;
}

.aa-title {
	margin: 0;
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(48px, 10vw, 168px);
	line-height: .88;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	max-width: 12ch;
	animation: aa-rise .9s .1s cubic-bezier(.2, .7, .2, 1) both;
}
.aa-title em {
	display: block;
	font-style: normal;
	color: var(--accent);
}

/* Content grid */
.aa-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(40px, 6vw, 96px);
	margin-top: clamp(48px, 7vw, 110px);
	padding-top: clamp(32px, 4vw, 48px);
	border-top: 1px solid var(--border);
	animation: aa-rise .9s .25s cubic-bezier(.2, .7, .2, 1) both;
}

.aa-copy { max-width: 560px; color: var(--muted); font-size: clamp(16px, 1.2vw, 18px); }
.aa-copy p { margin: 0 0 20px; }
.aa-lead {
	color: var(--fg);
	font-size: clamp(20px, 1.8vw, 26px);
	line-height: 1.35;
	font-weight: 500;
}

.aa-label {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
}

.aa-contact { margin-top: 44px; }
.aa-contact__mail {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
	font-family: var(--display);
	font-weight: 600;
	font-size: clamp(26px, 3.2vw, 46px);
	letter-spacing: -0.01em;
	color: var(--fg);
	text-decoration: none;
	border-bottom: 2px solid var(--accent);
	padding-bottom: 4px;
	transition: color .2s;
	word-break: break-all;
}
.aa-contact__mail span { color: var(--accent); font-size: .7em; transition: transform .2s; }
.aa-contact__mail:hover { color: var(--accent); }
.aa-contact__mail:hover span { transform: translate(3px, -3px); }

/* Form card */
.aa-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: clamp(24px, 3.5vw, 48px);
}
.aa-card__title {
	margin: 0 0 28px;
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(30px, 3vw, 44px);
	line-height: .95;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}
.aa-card__note { margin: 20px 0 0; font-size: 13px; color: var(--muted); }
.aa-card__note a { color: var(--fg); text-decoration-color: var(--accent); text-underline-offset: 3px; }

/* Fluent Forms overrides */
.aa-card .fluentform .ff-el-group { margin-bottom: 18px; }
.aa-card .fluentform .ff-el-input--label label {
	color: var(--fg);
	font-family: var(--body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .02em;
}
.aa-card .fluentform .ff-el-is-required.asterisk-right label::after { color: var(--accent); }
.aa-card .fluentform .ff-el-form-control {
	background: var(--bg);
	color: var(--fg);
	border: 1px solid rgba(244, 241, 234, .14);
	border-radius: 4px;
	padding: 14px 16px;
	font-family: var(--body);
	font-size: 16px;
	transition: border-color .2s, box-shadow .2s;
}
.aa-card .fluentform .ff-el-form-control::placeholder { color: #5c5c62; }
.aa-card .fluentform .ff-el-form-control:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(204, 255, 51, .15);
}
.aa-card .fluentform .ff-btn-submit,
.aa-card .fluentform .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style) {
	width: 100%;
	background: var(--accent) !important;
	color: var(--bg) !important;
	border: 0;
	border-radius: 4px;
	padding: 16px 24px;
	font-family: var(--body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform .15s, box-shadow .2s;
	opacity: 1;
}
.aa-card .fluentform .ff-btn-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(204, 255, 51, .25);
}
.aa-card .ff-message-success {
	background: rgba(204, 255, 51, .08);
	border: 1px solid var(--accent);
	color: var(--fg);
	border-radius: 4px;
	padding: 18px;
	box-shadow: none;
}
.aa-card .fluentform .error.text-danger { color: #ff7a7a; font-size: 13px; }

/* Ticker */
.aa-ticker {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background: var(--accent);
	color: var(--bg);
	padding: 14px 0;
	transform: rotate(-1.5deg) scale(1.03);
	margin: 0 0 56px;
}
.aa-ticker__track {
	display: flex;
	width: max-content;
	animation: aa-marquee 28s linear infinite;
}
.aa-ticker__track span {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(18px, 2vw, 26px);
	text-transform: uppercase;
	letter-spacing: -0.01em;
	white-space: nowrap;
	padding: 0 28px;
}
.aa-ticker__track span::after { content: "✱"; margin-left: 56px; font-size: .8em; }

/* Footer */
.aa-foot {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 32px;
	padding: 24px var(--pad) 32px;
	border-top: 1px solid var(--border);
	font-size: 13px;
	color: var(--muted);
}
.aa-foot p { margin: 0; }
.aa-foot__links { display: flex; gap: 24px; flex-wrap: wrap; }
.aa-foot a { text-decoration: none; }
.aa-foot a:hover { color: var(--accent); }

/* Motion */
@keyframes aa-rise {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}
@keyframes aa-pulse {
	0% { box-shadow: 0 0 0 0 rgba(204, 255, 51, .6); }
	70% { box-shadow: 0 0 0 10px rgba(204, 255, 51, 0); }
	100% { box-shadow: 0 0 0 0 rgba(204, 255, 51, 0); }
}
@keyframes aa-marquee {
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Responsive */
@media (max-width: 900px) {
	.aa-grid { grid-template-columns: 1fr; }
	.aa-top__mail { display: none; }
}
