/* ==========================================================================
   Hero v2: video + nuotraukų koliažas, lipdukai, plaukiojantys burbulai fone.
   ========================================================================== */

/* ---------- Burbulai fone ---------- */
.av-bubbles { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; margin: 0 !important; max-width: none !important; }
.av-bubbles span { position: absolute; display: block; border-radius: 50%; will-change: transform; }

/* Didelės švelnios spalvų dėmės – lėtai plaukioja. */
.av-bubbles span:nth-child(-n+6) { filter: blur(2px); animation: av-drift 22s ease-in-out infinite alternate; }
.av-bubbles span:nth-child(1) { width: 260px; height: 260px; left: -70px; top: 8%;   background: radial-gradient(circle at 35% 35%, rgba(123, 176, 67, .34), rgba(123, 176, 67, 0) 70%); animation-duration: 24s; }
.av-bubbles span:nth-child(2) { width: 180px; height: 180px; left: 38%;  top: -50px; background: radial-gradient(circle at 35% 35%, rgba(91, 191, 211, .3), rgba(91, 191, 211, 0) 70%); animation-duration: 19s; animation-delay: -6s; }
.av-bubbles span:nth-child(3) { width: 320px; height: 320px; right: -90px; top: -60px; background: radial-gradient(circle at 40% 40%, rgba(246, 195, 67, .45), rgba(246, 195, 67, 0) 70%); animation-duration: 27s; animation-delay: -3s; }
.av-bubbles span:nth-child(4) { width: 220px; height: 220px; left: 12%;  bottom: -60px; background: radial-gradient(circle at 40% 40%, rgba(214, 51, 126, .2), rgba(214, 51, 126, 0) 70%); animation-duration: 21s; animation-delay: -11s; }
.av-bubbles span:nth-child(5) { width: 150px; height: 150px; left: 52%;  bottom: 12%;  background: radial-gradient(circle at 40% 40%, rgba(196, 143, 216, .3), rgba(196, 143, 216, 0) 70%); animation-duration: 18s; animation-delay: -8s; }
.av-bubbles span:nth-child(6) { width: 200px; height: 200px; right: 6%;  bottom: -40px; background: radial-gradient(circle at 40% 40%, rgba(226, 96, 58, .2), rgba(226, 96, 58, 0) 70%); animation-duration: 25s; animation-delay: -14s; }

/* Maži „muilo burbulai“ – kyla aukštyn. */
.av-bubbles span:nth-child(n+7) {
	bottom: -60px; width: 28px; height: 28px;
	background: radial-gradient(circle at 30% 28%, rgba(255, 255, 255, .95) 0 12%, rgba(255, 255, 255, .15) 24%, rgba(255, 255, 255, 0) 60%);
	border: 2px solid rgba(255, 255, 255, .85);
	box-shadow: inset -3px -4px 8px rgba(91, 191, 211, .25), inset 3px 3px 6px rgba(214, 51, 126, .12), 0 2px 8px rgba(59, 42, 30, .06);
	opacity: 0; animation: av-rise 16s linear infinite;
}
.av-bubbles span:nth-child(7)  { left: 8%;  width: 22px; height: 22px; animation-duration: 17s; }
.av-bubbles span:nth-child(8)  { left: 27%; width: 34px; height: 34px; animation-duration: 21s; animation-delay: -7s; }
.av-bubbles span:nth-child(9)  { left: 46%; width: 18px; height: 18px; animation-duration: 15s; animation-delay: -3s; }
.av-bubbles span:nth-child(10) { left: 63%; width: 26px; height: 26px; animation-duration: 19s; animation-delay: -12s; }
.av-bubbles span:nth-child(11) { left: 81%; width: 38px; height: 38px; animation-duration: 23s; animation-delay: -5s; }
.av-bubbles span:nth-child(12) { left: 93%; width: 20px; height: 20px; animation-duration: 18s; animation-delay: -15s; }

@keyframes av-drift {
	0%   { transform: translate(0, 0) scale(1); }
	50%  { transform: translate(40px, -30px) scale(1.08); }
	100% { transform: translate(-30px, 25px) scale(.95); }
}
@keyframes av-rise {
	0%   { transform: translate(0, 0); opacity: 0; }
	10%  { opacity: .9; }
	50%  { transform: translate(18px, -45vh); }
	85%  { opacity: .7; }
	100% { transform: translate(-12px, -95vh); opacity: 0; }
}

/* ---------- Koliažas ---------- */
.av-hero__media { position: relative; min-height: 560px; align-items: center; }
.av-hero__media > * { margin-block: 0 !important; }
.av-hero__video { z-index: 2; width: min(320px, 70vw) !important; }
.av-hero__video::before, .av-hero__video::after { display: none; }
.av-hero__video video { box-shadow: 0 30px 60px -20px rgba(59, 42, 30, .35), 0 0 0 1px rgba(59, 42, 30, .04); }

.av-hero .av-hero__pic { position: absolute; margin: 0 !important; z-index: 1; }
.av-hero .av-hero__pic img {
	display: block; width: 100%; height: 100%; object-fit: cover;
	border: 6px solid #fff; border-radius: 22px;
	box-shadow: 0 22px 44px -18px rgba(59, 42, 30, .4);
}
.av-hero .av-hero__pic--a { width: 200px; aspect-ratio: 3 / 4; left: -13%; top: 13%; --r: -8deg; transform: rotate(var(--r)); animation: av-float 7s ease-in-out infinite; }
.av-hero .av-hero__pic--b { width: 230px; aspect-ratio: 4 / 3; right: -13%; bottom: 4%; z-index: 3; --r: 6deg; transform: rotate(var(--r)); animation: av-float 8s ease-in-out -3s infinite; }

.av-hero .av-hero__chip {
	position: absolute; z-index: 4; margin: 0 !important; max-width: none !important;
	padding: 10px 16px; border-radius: 999px; background: #fff; white-space: nowrap;
	font-family: var(--av-font-head); font-weight: 700; font-size: .98rem !important; line-height: 1.2; color: var(--av-brown);
	box-shadow: 0 14px 30px -12px rgba(59, 42, 30, .35);
	animation: av-float 6s ease-in-out -1s infinite;
}
.av-hero .av-hero__chip--a { right: -8%; top: 5%; --r: 4deg; transform: rotate(var(--r)); }
.av-hero .av-hero__chip--b { left: -12%; bottom: 9%; --r: -4deg; transform: rotate(var(--r)); animation-delay: -4s; }
.av-hero__chip--a::after, .av-hero__chip--b::after {
	content: ""; position: absolute; inset: -3px; z-index: -2; border-radius: inherit;
	background: linear-gradient(90deg, #7BB043, #F6C343, #D6337E, #5BBFD3); opacity: .9;
}
.av-hero__chip--a, .av-hero__chip--b { isolation: isolate; }
.av-hero__chip--a::before, .av-hero__chip--b::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: #fff; }

@keyframes av-float {
	0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); }
	50%      { transform: translateY(-10px) rotate(var(--r, 0deg)); }
}

/* Planšetė */
@media (max-width: 1100px) {
	.av-hero .av-hero__pic--a { width: 150px; left: -8%; }
	.av-hero .av-hero__pic--b { width: 180px; right: -8%; }
	.av-hero .av-hero__chip--a { right: -4%; }
	.av-hero .av-hero__chip--b { left: -6%; }
}

/* Telefonas: koliažas po tekstu */
@media (max-width: 781px) {
	.av-hero__media { min-height: 0; padding: 30px 0 20px; }
	.av-hero__video { width: min(250px, 62vw) !important; }
	.av-hero .av-hero__pic--a { width: 30vw; left: 0; top: 14%; }
	.av-hero .av-hero__pic--b { width: 38vw; right: 0; bottom: 6%; }
	.av-hero .av-hero__pic img { border-width: 4px; border-radius: 16px; }
	.av-hero .av-hero__chip { font-size: .85rem !important; padding: 8px 12px; }
	.av-hero .av-hero__chip--a { right: 2%; top: 2%; }
	.av-hero .av-hero__chip--b { left: 2%; bottom: 2%; }
	.av-bubbles span:nth-child(1), .av-bubbles span:nth-child(3) { width: 180px; height: 180px; }
}

@media (prefers-reduced-motion: reduce) {
	.av-bubbles span, .av-hero .av-hero__pic, .av-hero .av-hero__chip { animation: none !important; }
	.av-bubbles span:nth-child(n+7) { display: none; }
}

/* ==========================================================================
   Antraštė planšetėje ir telefone: pavadinimas šalia logotipo, skambučio mygtukas, „Rezervuoti“.
   ========================================================================== */
.av-header__brand, .av-header__call, .av-header__cta-short { display: none; }

@media (max-width: 1024px) {
	.av-header__inner { gap: 12px; }
	.av-header__brand {
		display: flex; flex-direction: column; justify-content: center; margin-right: auto; min-width: 0;
		text-decoration: none; line-height: 1.05;
	}
	.av-header__brand-name {
		font-family: var(--av-font-head); font-weight: 800; font-size: 1.3rem; color: var(--av-purple);
		white-space: nowrap;
	}
	.av-header__brand-sub {
		margin-top: 3px; font-family: var(--av-font-body); font-weight: 800; font-size: .66rem;
		letter-spacing: .08em; text-transform: uppercase; color: var(--av-coral); white-space: nowrap;
	}
	.av-burger { margin-left: 0; }

	.av-header__call {
		display: inline-flex; flex: none; align-items: center; justify-content: center;
		width: 48px; height: 48px; border-radius: 14px;
		background: var(--av-yellow-50, #FFF7E0); color: var(--av-coral-600);
		box-shadow: inset 0 0 0 2px rgba(246, 195, 67, .55);
		transition: transform .2s, background .2s;
	}
	.av-header__call:hover { background: var(--av-yellow); color: var(--av-ink); transform: translateY(-1px); }
	.av-header__call svg { width: 20px; height: 20px; }

	.av-header__cta { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 18px; }
	.av-header__cta-long { display: none; }
	.av-header__cta-short { display: inline-flex; align-items: center; gap: 8px; }
	.av-header__cta-short svg { width: 18px; height: 18px; }
}

/* Telefone „Rezervuoti“ jau yra apatinėje juostoje. */
@media (max-width: 599px) {
	.av-header__cta { display: none; }
	.av-header__brand-name { font-size: 1.15rem; }
	.av-header__brand-city { display: none; }
}
@media (max-width: 359px) {
	.av-header__brand-sub { display: none; }
}

/* ==========================================================================
   Tarpai prieš ir po „Laukiame Jūsų studijoje“ juostos.
   ========================================================================== */
.av-content > *:last-child { margin-bottom: 0 !important; }
.av-page { padding-bottom: clamp(32px, 4vw, 56px); }
.av-cta { padding-bottom: 0; }
.av-footer { margin-top: clamp(20px, 3vw, 36px); }

/* Spalvotos (tint) sekcijos: mažesni vidiniai tarpai, be paskutinio bloko apatinio tarpo. */
.wp-block-group.is-style-tint:not(.alignfull) { padding-top: clamp(28px, 3.6vw, 52px) !important; padding-bottom: clamp(28px, 3.6vw, 52px) !important; }
.wp-block-group.is-style-tint > :last-child { margin-bottom: 0 !important; }
.wp-block-group.is-style-tint > :first-child { margin-top: 0 !important; }
