.axaoptic-site .home-gallery {
	position: relative;
	width: min(72%, 900px, calc(70dvh * 4 / 3));
	margin-inline: auto;
}
.axaoptic-site .home-gallery-stage {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	min-height: 0;
	border: 1px solid #e6ddd4;
	border-radius: 1.35rem;
	background: #f7f2ec;
	box-shadow: 0 24px 70px rgb(23 34 44 / 12%);
	isolation: isolate;
}
.axaoptic-site .home-gallery-stage::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 32%;
	background: linear-gradient(180deg,transparent,rgb(19 38 41 / 66%));
	pointer-events: none;
	z-index: 1;
}
.axaoptic-site .home-gallery-stage-link {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	background: #f7f2ec;
	cursor: default;
}
.axaoptic-site .home-gallery-stage picture { display: block; width: 100%; height: 100%; }
.axaoptic-site .home-gallery-stage img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
	background: #f7f2ec;
	transition: opacity .28s ease, transform .65s cubic-bezier(.2,.7,.2,1);
}
.axaoptic-site .home-gallery-stage.is-changing img { opacity: 1; transform: none; }
.axaoptic-site .home-gallery.is-portrait {
	width: min(54%, 600px, calc(70dvh * 3 / 4));
}
.axaoptic-site .home-gallery-stage.is-portrait {
	aspect-ratio: 3 / 4;
}
.axaoptic-site .home-gallery-stage.is-portrait img {
	object-fit: contain;
	object-position: center center;
}
.axaoptic-site .home-gallery-nav {
	position: absolute;
	z-index: 4;
	top: 50%;
	display: grid;
	width: 1.35rem;
	height: 2.025rem;
	padding: 0;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 52%);
	border-radius: .42rem;
	background: rgb(18 34 36 / 66%);
	color: #fff;
	box-shadow: 0 6px 20px rgb(10 25 28 / 18%);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.axaoptic-site .home-gallery-nav svg { width: .61rem; height: .61rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.axaoptic-site .home-gallery-nav:hover { background: rgb(20 38 40 / 78%); border-color: rgb(255 255 255 / 72%); transform: translateY(-50%) scale(1.04); }
.axaoptic-site .home-gallery-nav:active { transform: translateY(-50%) scale(.96); }
.axaoptic-site .home-gallery-prev { left: 1rem; }
.axaoptic-site .home-gallery-next { right: 1rem; }
.axaoptic-site .home-gallery-overlay {
	position: absolute;
	z-index: 3;
	left: clamp(1rem,2.5vw,2rem);
	right: clamp(1rem,2.5vw,2rem);
	bottom: 1.35rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	color: #fff;
	pointer-events: none;
}
.axaoptic-site .home-gallery-meta { display: grid; gap: .18rem; padding: .48rem .7rem; border-radius: .55rem; background: rgb(12 28 30 / 42%); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.axaoptic-site .home-gallery-count { font-size: .68rem; font-weight: 700; letter-spacing: .12em; opacity: .82; }
.axaoptic-site .home-gallery-meta strong { max-width: 42rem; font-size: clamp(.9rem,1.5vw,1.08rem); font-weight: 650; line-height: 1.25; text-shadow: 0 1px 8px rgb(0 0 0 / 22%); }
.axaoptic-site .home-gallery-toggle {
	pointer-events: auto;
	display: grid;
	width: 1.24rem;
	height: 1.24rem;
	padding: 0;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 48%);
	border-radius: .38rem;
	background: rgb(18 34 36 / 68%);
	color: #fff;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 8px 24px rgb(10 25 28 / 18%);
	cursor: pointer;
	transition: transform .18s ease, background .18s ease;
}
.axaoptic-site .home-gallery-toggle:hover { background: rgb(20 38 40 / 78%); transform: scale(1.04); }
.axaoptic-site .home-gallery-toggle:active { transform: scale(.96); }
.axaoptic-site .home-gallery-toggle svg { width: .56rem; height: .56rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.axaoptic-site .home-gallery-toggle .gallery-icon-play { display: none; fill: currentColor; stroke: none; }
.axaoptic-site .home-gallery-toggle.is-paused .gallery-icon-pause { display: none; }
.axaoptic-site .home-gallery-toggle.is-paused .gallery-icon-play { display: block; }
.axaoptic-site .home-gallery-progress {
	position: absolute;
	z-index: 4;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: rgb(255 255 255 / 28%);
}
.axaoptic-site .home-gallery-progress span { display: block; width: 0; height: 100%; background: #fff; }
.axaoptic-site .home-gallery-thumbs { display: none !important; }
.axaoptic-site .home-gallery-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	gap: .18rem;
	padding: .55rem 0 .1rem;
}
.axaoptic-site .home-gallery-dot {
	position: relative;
	width: 1.35rem;
	height: 1.35rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
}
.axaoptic-site .home-gallery-dot::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: .34rem;
	height: .34rem;
	border-radius: 999px;
	background: #aebbb8;
	transform: translate(-50%, -50%);
	transition: width .2s ease, background .2s ease, transform .2s ease;
}
.axaoptic-site .home-gallery-dot:hover::before { background: #6f8983; transform: translate(-50%, -50%) scale(1.15); }
.axaoptic-site .home-gallery-dot.is-active::before { width: 1.05rem; background: var(--brand-red); }
.axaoptic-site .home-gallery { padding-bottom: 2.25rem; }
@media (max-width: 1100px) and (min-width: 761px) {
	.axaoptic-site .home-gallery { width: min(68%, 800px, calc(56dvh * 4 / 3)); }
}
@media (max-width: 760px) {
	.axaoptic-site .home-gallery { width: 94%; }
	/* Portrete: pastram raportul 3:4 si un cadru mai ingust pe telefon. */
	.axaoptic-site .home-gallery.is-portrait { width: min(76%, 25rem, calc(61dvh * 3 / 4)); }
	.axaoptic-site .home-gallery-stage { aspect-ratio: 4 / 3; min-height: 0; border-radius: 1rem; }
	.axaoptic-site .home-gallery-stage.is-portrait { aspect-ratio: 3 / 4; min-height: 0; border-radius: 1rem; }
	.axaoptic-site .home-gallery-stage img,
	.axaoptic-site .home-gallery-stage.is-portrait img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; min-height: 0; object-fit: contain; object-position: center; }
	.axaoptic-site .home-gallery-nav { width: 2.75rem; height: 2.75rem; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
	.axaoptic-site .home-gallery-nav::before { content: ""; position: absolute; width: 1.3rem; height: 1.85rem; border: 1px solid rgb(255 255 255 / 48%); border-radius: .42rem; background: rgb(18 34 36 / 66%); z-index: -1; }
	.axaoptic-site .home-gallery-prev { left: .2rem; }
	.axaoptic-site .home-gallery-next { right: .2rem; }
	.axaoptic-site .home-gallery-overlay { left: .75rem; right: .35rem; bottom: .35rem; }
	.axaoptic-site .home-gallery-toggle { width: 2.75rem; height: 2.75rem; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; position: relative; }
	.axaoptic-site .home-gallery-toggle::before { content: ""; position: absolute; width: 1.24rem; height: 1.24rem; border: 1px solid rgb(255 255 255 / 48%); border-radius: .38rem; background: rgb(18 34 36 / 68%); z-index: -1; }
	.axaoptic-site .home-gallery-meta { padding: .38rem .55rem; }
	.axaoptic-site .home-gallery-meta strong { max-width: 16rem; font-size: .82rem; }
	.axaoptic-site .home-gallery-count { font-size: .6rem; }
	.axaoptic-site .home-gallery-dots { gap: 0; padding-top: .35rem; }
	.axaoptic-site .home-gallery-dot { width: 2.75rem; height: 2.75rem; margin: -.72rem -.42rem; }
	.axaoptic-site .home-gallery-dot::before { width: .3rem; height: .3rem; }
	.axaoptic-site .home-gallery-dot.is-active::before { width: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
	.axaoptic-site .home-gallery-stage img,
	.axaoptic-site .home-gallery-nav,
	.axaoptic-site .home-gallery-dot { transition: none; }
}