/*
 * site/hero-wizual — STRUKTURA i ruch. Wygląd: css/site-hero-wizual.css.
 * Wartości: AP S03; `Kampanie reklamowe.dc.html` L241 @0–7746 (szkielet,
 * ilustracja „kampanie”), `Kompleksowa obsluga reklamowa.dc.html` L241
 * @0–8358 („hub”), `Opieka nad strona.dc.html` L234 @0–9782 („raport”);
 * `Redesign strony.dc.html` L240 @0–7188 („przed-po”), `Tworzenie stron
 * internetowych.dc.html` L240 @0–6676 („makiety”); media queries
 * `Uslugi.dc.html` L132–144 (`data-svc`: `data-hx`, `data-hub`, `data-phone`,
 * `data-float`).
 */

.s-hero-wizual {
	position: relative;
	overflow: hidden;
	padding: 0 24px;
}

.s-hero-wizual__glow {
	position: absolute;
	inset: -14%;
	pointer-events: none;
}

.s-hero-wizual__lines {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.s-hero-wizual__wrap {
	position: relative;
	z-index: 5;
	max-width: var(--pw-wrap);
	margin: 0 auto;
	padding: clamp(84px, 9.1vw, 100px) 4px clamp(48px, 7vw, 84px);
}

.s-hero-wizual__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(40px, 5vw, 64px);
	align-items: center;
	margin-top: clamp(12px, 3.64vw, 40px);
}

.s-hero-wizual__eyebrow {
	animation: heroIn 0.55s var(--pw-ease) 0.05s backwards;
}

/* Tytuł, lead i wizual bez heroIn — stoją od pierwszej klatki, bo jeden z nich
   jest elementem LCP (skin.css §4, odstępstwo od designu). */
.s-hero-wizual__title {
	max-width: 15ch;
	margin: 20px 0 0;
	text-wrap: pretty;
}

.s-hero-wizual__lead {
	max-width: 44ch;
	margin: 22px 0 0;
	text-wrap: pretty;
}

.s-hero-wizual__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
	animation: heroIn 0.55s var(--pw-ease) 0.3s backwards;
}

.s-hero-wizual__meta {
	margin: 22px 0 0;
	animation: heroIn 0.55s var(--pw-ease) 0.38s backwards;
}

.s-hero-wizual__visual {
	position: relative;
}

/* Pierwsza sekcja po hero: ciasny odstęp u góry (AP §0.1; Kampanie „Jak to
   działa”, Kompleksowa „Porównanie”, Opieka „Pokazujemy”). */
.s-hero-wizual + .s-pw-sec {
	padding-top: clamp(8px, 2vw, 24px);
}

/* --- Ilustracja „kampanie” ---------------------------------------------- */

.s-hero-wizual__ads {
	position: relative;
	max-width: 520px;
	margin: 0 auto;
	padding: 10px 0 0;
}

.s-hero-wizual__ad {
	position: relative;
	z-index: 2;
	max-width: 440px;
	padding: 22px 24px;
	border-radius: 22px;
}

.s-hero-wizual__ad-head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.s-hero-wizual__ad-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
}

.s-hero-wizual__ad-badge {
	margin-left: auto;
	padding: 3px 9px;
	border-radius: 6px;
}

.s-hero-wizual__ad-title {
	margin-top: 14px;
}

.s-hero-wizual__ad-text {
	margin-top: 6px;
}

.s-hero-wizual__ad-btns {
	display: flex;
	gap: 8px;
	margin-top: 14px;
}

.s-hero-wizual__ad-btn {
	padding: 7px 14px;
	border-radius: 100px;
}

.s-hero-wizual__alerts {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: min(330px, 88%);
	margin: -22px 0 0 auto;
}

.s-hero-wizual__alert {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 18px;
}

.s-hero-wizual__alert:nth-child(2) {
	opacity: 0.85;
}

.s-hero-wizual__alert:nth-child(3) {
	opacity: 0.65;
}

.s-hero-wizual__alert-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 12px;
}

.s-hero-wizual__alert-body {
	flex: 1;
	min-width: 0;
}

/* --- Ilustracja „hub” ---------------------------------------------------- */

.s-hero-wizual__hub {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 26px 18px;
	align-items: center;
	justify-items: center;
	margin: 0 auto;
}

.s-hero-wizual__hub-lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.s-hero-wizual__node {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px 12px 12px;
	border-radius: 20px;
}

.s-hero-wizual__node.is-top {
	grid-column: 2;
	grid-row: 1;
}

.s-hero-wizual__node.is-left {
	grid-column: 1;
	grid-row: 2;
}

.s-hero-wizual__node.is-right {
	grid-column: 3;
	grid-row: 2;
}

.s-hero-wizual__node.is-bottom {
	grid-column: 2;
	grid-row: 3;
}

.s-hero-wizual__node-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
}

.s-hero-wizual__node-title {
	white-space: nowrap;
}

.s-hero-wizual__core {
	position: relative;
	z-index: 2;
	grid-column: 2;
	grid-row: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 156px;
	height: 156px;
	border-radius: 50%;
	text-align: center;
}

.s-hero-wizual__core-sub {
	margin-top: 4px;
}

/* --- Ilustracja „raport” ------------------------------------------------- */

.s-hero-wizual__report {
	position: relative;
	padding: 24px 26px 14px;
	border-radius: 26px;
}

.s-hero-wizual__report-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 14px;
}

.s-hero-wizual__report-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
}

.s-hero-wizual__report-heading {
	min-width: 0;
}

.s-hero-wizual__report-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 0;
}

.s-hero-wizual__report-row-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 11px;
}

.s-hero-wizual__report-name {
	flex: 1;
	min-width: 0;
}

.s-hero-wizual__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 100px;
	white-space: nowrap;
}

/* --- Okno przeglądarki („przed-po”, „makiety”) ---------------------------
   `Redesign strony.dc.html` L240 @0–7188, `Tworzenie stron
   internetowych.dc.html` L240 @0–6676. */

.s-hero-wizual__window {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
}

.s-hero-wizual__window-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 14px;
}

.s-hero-wizual__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
}

.s-hero-wizual__address {
	flex: 1;
	display: flex;
	align-items: center;
	max-width: 240px;
	height: 20px;
	margin-left: 12px;
	padding: 0 10px;
	border-radius: 100px;
}

.s-hero-wizual__screen {
	position: relative;
	aspect-ratio: 16 / 10;
}

.s-hero-wizual__screen-img,
.s-hero-wizual__phone-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.s-hero-wizual__float {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px 10px 10px;
	border-radius: 100px;
	white-space: nowrap;
}

.s-hero-wizual__float-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
}

/* --- Ilustracja „przed-po” ----------------------------------------------- */

.s-hero-wizual__pp {
	position: relative;
	padding: 28px 0 26px;
}

.s-hero-wizual__old {
	position: absolute;
	top: 0;
	left: 0;
	width: 60%;
	border-radius: 14px;
	opacity: 0.8;
	transform: rotate(-5deg);
	transform-origin: top left;
}

.s-hero-wizual__tag {
	position: absolute;
	top: -13px;
	left: 18px;
	z-index: 4;
	padding: 5px 12px;
	border-radius: 100px;
}

.s-hero-wizual__old-in {
	overflow: hidden;
	border-radius: 14px;
}

.s-hero-wizual__old-bar {
	height: 24px;
}

.s-hero-wizual__old-body {
	padding: 16px 16px 20px;
}

.s-hero-wizual__old-line {
	height: 6px;
	margin-top: 6px;
}

.s-hero-wizual__old-title + .s-hero-wizual__old-line {
	margin-top: 10px;
}

.s-hero-wizual__old-line.is-w90 {
	width: 90%;
}

.s-hero-wizual__old-line.is-w76 {
	width: 76%;
}

.s-hero-wizual__old-line.is-w84 {
	width: 84%;
}

.s-hero-wizual__old-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin-top: 14px;
}

.s-hero-wizual__old-tiles > div {
	height: 44px;
}

.s-hero-wizual__old-date {
	margin-top: 12px;
}

.s-hero-wizual__new {
	position: relative;
	z-index: 2;
	margin: 70px 0 0 18%;
}

.s-hero-wizual__float.is-google {
	bottom: 0;
	left: 0;
}

/* --- Ilustracja „makiety” ------------------------------------------------ */

.s-hero-wizual__mockups {
	position: relative;
	padding: 0 8% 40px 0;
}

.s-hero-wizual__phone {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 25%;
	min-width: 104px;
	aspect-ratio: 9 / 18.5;
	overflow: hidden;
	border-radius: 24px;
}

.s-hero-wizual__phone-img {
	object-position: top left;
}

.s-hero-wizual__float.is-quote {
	top: 38%;
	left: -14px;
}

.s-hero-wizual__float.is-warranty {
	bottom: 8px;
	left: 6%;
}

/* --- Telefon ------------------------------------------------------------- */

@media (max-width: 960px) {
	.s-hero-wizual__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Hub w jednej kolumnie, bez łączników (data-svc L137). */
@media (max-width: 760px) {
	.s-hero-wizual__hub {
		grid-template-columns: 1fr;
		max-width: 420px;
	}

	.s-hero-wizual__hub > .s-hero-wizual__node,
	.s-hero-wizual__hub > .s-hero-wizual__core {
		grid-column: auto;
		grid-row: auto;
	}

	.s-hero-wizual__hub-lines {
		display: none;
	}
}

/* Telefon i plakietki makiet znikają (data-svc: `[data-phone],[data-float]`). */
@media (max-width: 560px) {
	.s-hero-wizual__phone,
	.s-hero-wizual__float {
		display: none;
	}
}

@media (max-width: 640px) {
	.s-hero-wizual {
		padding-right: 16px;
		padding-left: 16px;
	}
}
