/*!
Theme Name: Azalea Underscore
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: azalea-underscore
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Azalea Underscore is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

html {
  scrollbar-gutter: stable;
}

html.lenis, html.lenis body {
  scrollbar-gutter: stable;
}

/* FONTS */

@font-face {
  font-family: 'Host Grotesk';
  src: url('/wp-content/themes/azalea/assets/fonts/host-grotesk/HostGrotesk-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Host Grotesk';
  src: url('/wp-content/themes/azalea/assets/fonts/host-grotesk/HostGrotesk-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/wp-content/themes/azalea/assets/fonts/space-mono/SpaceMono-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/wp-content/themes/azalea/assets/fonts/space-mono/SpaceMono-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


/* TYPOGRAPHY SCALE */

:root {
  --font-display: "Host Grotesk", sans-serif;
  --font-mono: "Space Mono", monospace;

  --text-xs: clamp(0.72rem, 0.68rem + 0.18vw, 0.82rem);
  --text-sm: clamp(0.82rem, 0.78rem + 0.22vw, 0.95rem);
  --text-base: clamp(1rem, 0.96rem + 0.25vw, 1.12rem);
  --text-md: clamp(1.15rem, 1.04rem + 0.45vw, 1.4rem);
  --text-lg: clamp(1.35rem, 1.15rem + 0.85vw, 1.85rem);
  --text-xl: clamp(2.1rem, 1.35rem + 1.8vw, 2.8rem);
  --text-2xl: clamp(2.35rem, 1.55rem + 3.6vw, 4.6rem);
  --text-hero: clamp(3rem, 1.55rem + 7vw, 8.5rem);

  --leading-tight: 0.9;
  --leading-snug: 1;
  --leading-normal: 1.2;
  --leading-relaxed: 1.45;

  --tracking-tight: -0.06em;
  --tracking-medium: -0.035em;
  --tracking-normal: -0.015em;
  
  --pink: #e6007d;
  --black: #2a2a2d;
  --white: #f4f4f4;
  --orange: #f24112;
}


@media (max-width: 575.98px) {
  :root {
	--text-xs: clamp(0.84rem, calc(0.8rem + 0.24vw), 0.95rem);
	--text-sm: clamp(0.9rem, calc(0.84rem + 0.28vw), 1rem);
	--text-base: clamp(1.08rem, calc(1rem + 0.35vw), 1.2rem);
	--text-xl: clamp(1.9rem, calc(1.35rem + 1.2vw), 2.1rem);
  }
}

/* DISPLAY / TITLES */

.t-hero {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
}

.t-display {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 400;
}

.t-title {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-medium);
  font-weight: 600;
}

.t-subtitle {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-normal);
  font-weight: 600;
}

/* BODY */

.t-lead-lg {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
}

.t-lead {
  font-family: var(--font-display);
  font-size: var(--text-md) !important;
  line-height: var(--leading-normal);
  font-weight: 400;
}

.t-lead-hero {
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  font-weight: 400;
}

@media (max-width: 991.98px) {
  .t-lead-hero {
	font-size: var(--text-base);
  }
}

.t-body {
  font-family: var(--font-display);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  font-weight: 400;
}

.t-small {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  font-weight: 400;
}

.t-caption {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  line-height: var(--leading-normal);
  font-weight: 600;
}

/* META / EVENTI / MARQUEE */

.t-meta {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 400;
}

.t-marquee {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 400;
}

.t-button {
  font-family: var(--font-display);
  font-size: clamp(0.82rem, calc(0.78rem + 0.2vw), 0.95rem);
  line-height: 1;
  letter-spacing: -0.01em;
  font-weight: 600;
}

.t-pink {
  color: var(--pink) !important;
}

.t-black {
  color: var(--black);
}

.t-white {
  color: var(--white);
}

.t-mono {
  font-family: var(--font-mono);
  letter-spacing: var(--tracking-medium);
}

a, p {
  font-family: "Host Grotesk", sans-serif;
}

.azalea-site-bg {
  background-color: #ed0677;
  min-height: 100vh;
}

/* PRELOADER */

.az-preloader {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity 0.65s ease,
    visibility 0s linear 0s;
}

body.is-page-loaded .az-preloader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.65s ease,
    visibility 0s linear 0.65s;
}

body.is-page-leaving .az-preloader {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity 0.35s ease,
    visibility 0s linear 0s;
}

.az-preloader-bg {

  background:
	radial-gradient(
	  circle at 18% 20%,
	  rgba(230, 0, 125, 0.28),
	  transparent 34%
	),
	radial-gradient(
	  circle at 82% 78%,
	  rgba(242, 65, 18, 0.22),
	  transparent 36%
	),
	rgba(255, 255, 255, 0.34);

  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
}

.az-preloader-bar span {
  animation: az-preloader-bar 1.15s ease-in-out infinite;
}

body.is-page-loading,
body.is-page-leaving {
  overflow: hidden;
}

@keyframes az-preloader-float {
  0%,
  100% {
	transform: translateY(0) scale(1);
  }

  50% {
	transform: translateY(-0.35rem) scale(1.035);
  }
}

@keyframes az-preloader-bar {
  0% {
	transform: translateX(-110%);
  }

  100% {
	transform: translateX(250%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .az-preloader-mark,
  .az-preloader-bar span {
	animation: none;
  }
}

/* HEADER */

.headerbar {
  position: fixed;
  top: 28px !important;
  right: 0;
  display: flex;
  z-index: 9999;
  padding: 1.25rem 1rem;
}

body.is-scrolled .headerbar {
  top: 0 !important;
}

.logo {
  padding: 1.25rem 1rem;
}

/* LIQUID GLASS */

.liquidGlass-wrapper {
  position: relative;
  display: flex;
  font-weight: 600;
  overflow: hidden;
  background: rgba(20, 20, 20, 0.05);
  box-shadow:
	0 6px 6px rgba(0, 0, 0, 0.1),
	0 0 20px rgba(0, 0, 0, 0.1);
  transition:
	box-shadow 0.4s cubic-bezier(0.175, 0.885, 0.32, 2.2),
	background 0.3s ease;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999rem;
  padding: 0.5rem;
  margin-bottom: 0;
}

.liquidGlass-effect {
  position: absolute;
  z-index: 0;
  inset: 0;
  backdrop-filter: blur(12px) saturate(120%) brightness(85%);
  -webkit-backdrop-filter: blur(12px) saturate(120%) brightness(85%);
  overflow: hidden;
}

.liquidGlass-tint {
  z-index: 1;
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.1);
  transition: background 0.3s ease;
  box-shadow: 0 0 10px 0 rgba(255, 255, 255, 0.15) inset;
}

.liquidGlass-shine {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  box-shadow:
	inset 2px 2px 1px 0 rgba(255, 255, 255, 0.15),
	inset -1px -1px 1px 1px rgba(255, 255, 255, 0.10);
  transition: box-shadow 0.3s ease;
}

.liquidGlass-effect,
.liquidGlass-tint,
.liquidGlass-shine {
  border-radius: inherit;
  overflow: hidden;
}

.liquidGlass-text {
  position: relative;
  z-index: 3;
  color: var(--white);
  transition: color 0.3s ease;
}

.liquidGlass-text a {
  padding: 0.33rem 1rem;
  color: inherit;
  text-decoration: none;
  font-weight: 200;
  font-size: 0.9rem;
}


/* STATO QUANDO L'HEADER È SOPRA SEZIONI CHIARE */

.headerbar.is-on-light .liquidGlass-text {
  color: rgba(245, 245, 245, 1);
}

.headerbar.is-on-light .liquidGlass-wrapper {
  background: rgba(136, 130, 130, 0.90);
  box-shadow:
	0 6px 16px rgba(0, 0, 0, 0.13),
	0 1px 3px rgba(0, 0, 0, 0.08),
	inset 0 1px 1px rgba(255, 255, 255, 0.95),
	inset 0 -1px 1px rgba(0, 0, 0, 0.10);
}

.headerbar.is-on-light .liquidGlass-effect {
  backdrop-filter: blur(16px) saturate(125%) brightness(98%);
  -webkit-backdrop-filter: blur(16px) saturate(125%) brightness(98%);

}

.headerbar.is-on-light .liquidGlass-tint {
  background: rgba(230, 230, 230, 0.28);
  box-shadow:
	inset 0 0 14px rgba(255, 255, 255, 0.45);
}

.headerbar.is-on-light .liquidGlass-shine {
  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 0.95),
	inset -1px -1px 1px rgba(0, 0, 0, 0.10),
	inset 0 0 10px rgba(255, 255, 255, 0.28);
}

/* HOVER LIQUID GLASS */

.liquidGlass-wrapper:hover {
  box-shadow:
	0 10px 24px rgba(0, 0, 0, 0.22),
	0 0 28px rgba(255, 255, 255, 0.12),
	inset 0 1px 1px rgba(255, 255, 255, 0.35),
	inset 0 -1px 1px rgba(0, 0, 0, 0.18);
}

.liquidGlass-wrapper:hover .liquidGlass-effect {
  backdrop-filter: blur(18px) saturate(145%) brightness(92%);
  -webkit-backdrop-filter: blur(18px) saturate(145%) brightness(92%);
}

.liquidGlass-wrapper:hover .liquidGlass-tint {
  background: rgba(255, 255, 255, 0.18);
  box-shadow:
	inset 0 0 18px rgba(255, 255, 255, 0.28);
}

.liquidGlass-wrapper:hover .liquidGlass-shine {
  box-shadow:
	inset 2px 2px 1px rgba(255, 255, 255, 0.35),
	inset -1px -1px 1px rgba(0, 0, 0, 0.16),
	inset 0 0 14px rgba(255, 255, 255, 0.18);
}

.liquidGlass-text a {
  position: relative;
  z-index: 4;
  display: block;
  border-radius: 999rem;
  transition:
	background 0.3s ease,
	color 0.3s ease,
	transform 0.3s ease;
}

.liquidGlass-text a:hover {
  background: rgba(255, 255, 255, 0.14);
  transform: translateY(-1px);

}

/* HOVER SU SFONDO CHIARO */

.headerbar.is-on-light .liquidGlass-wrapper:hover {
  background: rgba(120, 120, 120, 0.38);
  box-shadow:
	0 8px 22px rgba(0, 0, 0, 0.18),
	0 2px 5px rgba(0, 0, 0, 0.10),
	inset 0 1px 1px rgba(255, 255, 255, 0.85),
	inset 0 -1px 1px rgba(0, 0, 0, 0.14);
}

.headerbar.is-on-light .liquidGlass-wrapper:hover .liquidGlass-effect {
  backdrop-filter: blur(18px) saturate(135%) brightness(104%);
  -webkit-backdrop-filter: blur(18px) saturate(135%) brightness(104%);
}

.headerbar.is-on-light .liquidGlass-wrapper:hover .liquidGlass-tint {
  background: rgba(255, 255, 255, 0.22);
}

.headerbar.is-on-light .liquidGlass-wrapper:hover .liquidGlass-shine {

  box-shadow:
	inset 2px 2px 1px rgba(255, 255, 255, 0.65),
	inset -1px -1px 1px rgba(0, 0, 0, 0.12),
	inset 0 0 14px rgba(255, 255, 255, 0.22);
}

/* Stato normale delle voci su sfondo chiaro */

.headerbar.is-on-light .liquidGlass-text {
  color: rgba(245, 245, 245, 1);
  border-radius: 999rem;
  transition:
	background 0.3s ease,
	color 0.3s ease,
	box-shadow 0.3s ease,
	transform 0.3s ease;
}

/* Hover sul singolo LI, non solo sul testo */

.headerbar.is-on-light .liquidGlass-text:hover {
  color: #2a2a2d;
}

/* Forza il colore nero anche sul link interno */

.headerbar.is-on-light .liquidGlass-text:hover a {
  color: #2a2a2d;
}

/* Evita che l'hover dell'a aggiunga un altro sfondo sopra */

.headerbar.is-on-light .liquidGlass-text a:hover {
  background: transparent;
}

/* BOTTONE SPECIALE MENU */

.liquidGlass-text.liquidGlass-special .liquidGlass-wrapper {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
	0 4px 12px rgba(0, 0, 0, 0.22),
	0 0 14px rgba(255, 255, 255, 0.38),
	inset 0 1px 1px rgba(255, 255, 255, 0.95),
	inset 0 -1px 1px rgba(0, 0, 0, 0.10);
}

.liquidGlass-text.liquidGlass-special .liquidGlass-effect {
  backdrop-filter: blur(14px) saturate(110%) brightness(118%);
  -webkit-backdrop-filter: blur(14px) saturate(110%) brightness(118%);
}

.liquidGlass-text.liquidGlass-special .liquidGlass-tint {
  background: rgba(255, 255, 255, 0.72);
  box-shadow:
	inset 0 0 12px rgba(255, 255, 255, 0.65);
}

.liquidGlass-text.liquidGlass-special .liquidGlass-shine {
  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 1),
	inset -1px -1px 1px rgba(0, 0, 0, 0.10),
	inset 0 0 10px rgba(255, 255, 255, 0.38);
}

.liquidGlass-special > a > .liquidGlass-text {
  color: #2a2a2d !important;
  font-weight: 700;
}

/* Hover bottone speciale */

.liquidGlass-text.liquidGlass-special:hover .liquidGlass-wrapper {
  background: rgba(255, 255, 255, 1);
  box-shadow:
	0 6px 18px rgba(0, 0, 0, 0.28),
	0 0 18px rgba(255, 255, 255, 0.55),
	inset 0 1px 1px rgba(255, 255, 255, 1),
	inset 0 -1px 1px rgba(0, 0, 0, 0.12);
}

.liquidGlass-text.liquidGlass-special:hover .liquidGlass-effect {
  backdrop-filter: blur(16px) saturate(120%) brightness(125%);
  -webkit-backdrop-filter: blur(16px) saturate(120%) brightness(125%);
}

.liquidGlass-text.liquidGlass-special:hover .liquidGlass-tint {
  background: rgba(255, 255, 255, 0.86);
}

.liquidGlass-text.liquidGlass-special:hover .liquidGlass-shine {
  box-shadow:
	inset 2px 2px 1px rgba(255, 255, 255, 1),
	inset -1px -1px 1px rgba(0, 0, 0, 0.12),
	inset 0 0 14px rgba(255, 255, 255, 0.55);
}

.liquidGlass-special > a > .liquidGlass-text:hover a {
  color: #2a2a2d;
  transform: translateY(-1px);
}

.headerbar,
.logo-link {
  transition: top 0.25s ease;
}

.logo-link {
  display: block;
  transition: top 0.25s ease;
}

.logo {
  display: flex;
  align-items: center;
}

.logo img {
  display: block;
  width: auto;
  max-width: none;
  height: 50px;
}

@media (max-width: 991.98px) {
  .logo img {
	max-height: 40px;
  }
  
  .hero-video {
	height: calc(100svh - 68px - 2.5rem);
  }
}

/* MOBILE MENU TOGGLE */

.mobile-menu-toggle.liquidGlass-wrapper {
  position: relative;
  z-index: 1061;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 999rem;
  background: rgba(20, 20, 20, 0.26);
  color: var(--white);

  cursor: pointer;
}

.mobile-menu-toggle .liquidGlass-effect,
.mobile-menu-toggle .liquidGlass-tint,
.mobile-menu-toggle .liquidGlass-shine {
  border-radius: inherit;
}

.mobile-menu-toggle .liquidGlass-text {
  position: relative;
  z-index: 3;
}

/* Icona hamburger */

.mobile-menu-icon {
  position: relative;

  width: 1.25rem;
  height: 1rem;

  display: block;
}

.mobile-menu-icon span {
  position: absolute;
  left: 0;

  display: block;

  width: 100%;
  height: 2px;

  border-radius: 999rem;
  background: currentColor;

  transition:
	top 0.28s ease,
	transform 0.28s ease,
	opacity 0.22s ease;
}

.mobile-menu-icon span:nth-child(1) {
  top: 0;
}

.mobile-menu-icon span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}

.mobile-menu-icon span:nth-child(3) {
  top: calc(100% - 2px);
}

/* Stato aperto: hamburger diventa X */

.mobile-menu-toggle.is-open .mobile-menu-icon span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.mobile-menu-toggle.is-open .mobile-menu-icon span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.is-open .mobile-menu-icon span:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}




/* OFFCANVAS MOBILE */

.az-mobile-offcanvas {
  width: 100vw !important;
  height: auto;
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  background: rgba(255, 255, 255, 0.75);
  color: var(--pink);
  border-left: 0;
  overflow: hidden;
  z-index: 1001;
}

.az-mobile-offcanvas .offcanvas-body {
  padding: 1rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: column;
}

.mobile-menu-toggle,
.mobile-menu-toggle:focus,
.mobile-menu-toggle:active,
.mobile-menu-toggle:focus-visible {
  outline: none;
  box-shadow: none;
}

.mobile-menu-toggle.liquidGlass-wrapper:focus,
.mobile-menu-toggle.liquidGlass-wrapper:active,
.mobile-menu-toggle.liquidGlass-wrapper:focus-visible {
  outline: none;
  box-shadow:
	0 6px 6px rgba(0, 0, 0, 0.1),
	0 0 20px rgba(0, 0, 0, 0.1);
}

/* MENU MOBILE LINKS */

.az-mobile-menu-wrap {
  width: 100%;
}

.az-mobile-menu {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.az-mobile-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.az-mobile-menu a {
  position: relative;
  display: inline;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--pink);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;
  transition: background-size 0.35s ease, opacity 0.25s ease;
}

.az-mobile-menu a:hover {
  color: var(--pink);
  background-size: 100% 0.08em;
}

.az-mobile-menu li::marker {
  content: "";
}

/* RESET MENU MARKERS */

.main-menu-wrap ul,
.main-menu-wrap li,
.az-mobile-menu,
.az-mobile-menu li {
  margin: 0;
  list-style: none;
}

.main-menu-wrap li::marker,
.az-mobile-menu li::marker {
  content: "";
  font-size: 0;
}

/* TOP BUTTON */

.top-button.liquidGlass-wrapper {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1061;

  width: 3rem;
  height: 3rem;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;
  margin: 0;

  border: 0;
  border-radius: 999rem;

  background: rgba(20, 20, 20, 0.26);
  color: var(--white);

  text-decoration: none;
  cursor: pointer;
}

.top-button.liquidGlass-wrapper .liquidGlass-effect,
.top-button.liquidGlass-wrapper .liquidGlass-tint,
.top-button.liquidGlass-wrapper .liquidGlass-shine {
  border-radius: inherit;
}

.top-button.liquidGlass-wrapper .liquidGlass-text {
  position: relative;
  z-index: 3;
}

.top-button-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 1.25rem;
  height: 1.25rem;

  color: currentColor;
  font-size: 1.1rem;
  line-height: 1;
}

.top-button-icon i {
  display: block;

  transition:
	transform 0.25s ease,
	color 0.25s ease;
}

.top-button:hover {
  color: var(--white);
}

.top-button:hover .top-button-icon i {
  transform: translateY(-0.15rem);
}

.top-button,
.top-button:focus,
.top-button:active,
.top-button:focus-visible {
  outline: none;
  box-shadow: none;
}

.top-button.liquidGlass-wrapper:focus,
.top-button.liquidGlass-wrapper:active,
.top-button.liquidGlass-wrapper:focus-visible {
  outline: none;
  box-shadow:
	0 6px 6px rgba(0, 0, 0, 0.1),
	0 0 20px rgba(0, 0, 0, 0.1);
}



/* --- Sections Specific --- */

/* Marquee Top */
.ticker-wrap {
  width: 100%;
  overflow: hidden;
  color: rgb(0, 0, 0);
  letter-spacing: 0;
  white-space: nowrap;
  padding: 7px 0;
  font-family: 'Space Mono', sans-serif;
  z-index: 2000;
  height: 28px;
  background:
	linear-gradient(
	  180deg,
	  var(--white) 0%,
	  #f7f7f7 50%,
	  var(--white) 100%
	);

  box-shadow:
	inset 0 -1px 0 rgba(255, 255, 255, 0.95),
	inset 0 -8px 14px rgba(255, 255, 255, 0.55),
	inset 0 1px 3px rgba(0, 0, 0, 0.04);
}

.ticker {
  display: flex;
  width: max-content;
  animation: ticker-scroll 28s linear infinite;
  will-change: transform;
}

.ticker-content {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.ticker-content a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.ticker-content a::after {
  content: "✦";
  margin: 0 1rem;
  opacity: 1;
}

.ticker-link,
.ticker-link:link,
.ticker-link:visited,
.ticker-link:hover,
.ticker-link:active,
.ticker-link:focus {
  color: inherit;
  text-decoration: none;
}

.ticker-link:hover {
  opacity: 0.75;
}

@keyframes ticker-scroll {
  from {
	transform: translate3d(0, 0, 0);
  }

  to {
	transform: translate3d(-50%, 0, 0);
  }
}

.ticker-wrap:hover .ticker {
  animation-play-state: paused;
}

:root {
  --ticker-height: 0px;
  --header-height: 0px;
  --top-ui-height: 0px;
}

/* HOME */

/* HERO VIDEO */

.hero-video {
  position: relative;
  width: 100%;
  height: calc(100svh - 78px - 2.5rem);
  min-height: 560px;
  overflow: hidden;
  isolation: isolate;
  background: #2a2a2d;
  border-radius: 2rem;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1), 0 0 20px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.hero-video-bg {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
	radial-gradient(
	  ellipse at 50% 42%,
	  rgba(255, 255, 255, 0.08) 0%,
	  rgba(255, 255, 255, 0.02) 36%,
	  rgba(0, 0, 0, 0) 62%
	),
	linear-gradient(
	  180deg,
	  rgba(0, 0, 0, 0.14) 0%,
	  rgba(0, 0, 0, 0.20) 45%,
	  rgba(0, 0, 0, 0.82) 100%
	);
}

.hero-video-content {
  display: flex;
  flex-flow: column wrap;
  padding: 2rem;
  justify-content: end;
  z-index: 999;
  position: relative;
  color: var(--white);
  height: 100%;
  min-height: 100%;
}

.hero-video-content h1 {
  max-width: 50ch;
  min-height: 2.1em;
}

/* LOGO PNG + BACKDROP BLUR MASCHERATO */

.hero-logo-png {
  position: absolute;
  left: 50%;
  top: 42%;
  z-index: 2;
  width: min(50vw, 1200px);
  aspect-ratio: 265.01 / 179.15;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: transform 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.4);
}

/* Sfoca lo sfondo/video sotto, usando il PNG come maschera */
.hero-logo-png::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  -webkit-backdrop-filter: blur(8px) saturate(130%) brightness(160%);
  backdrop-filter: blur(8px) saturate(130%) brightness(160%);

  -webkit-mask-image: url("/wp-content/uploads/2026/06/AZ-Logo-Marchio-N.svg");
  mask-image: url("/wp-content/uploads/2026/06/AZ-Logo-Marchio-N.svg");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;
}

/* PNG nitido sopra */
.hero-logo-png img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Hover leggero */
.hero-video:hover .hero-logo-png {
  transform: translate(-50%, -50%) scale(1.025);
}

@media (max-width: 991.98px) {
  .hero-logo-png {
	width: 78vw;
	top: 27%;
  }
}

/* CARDS */

.bg-glass {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.8);
}

.bg-white {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.95);
}

.container-rounded {
  border-radius: 2rem;
  box-shadow:
    0 0 30px rgba(0, 0, 0, 0.1),
    0 0 20px rgba(0, 0, 0, 0.1);
}


/* CARD BASE */

.az-card {
  position: relative;
  overflow: hidden;

  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 2rem;

  background: rgba(255, 255, 255, 0.6);

  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);

  transform: translateZ(0);

  transition:
    transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    box-shadow 0.4s ease;
}

.az-card img {
  border-radius: 20px;
}


/* CARD IMAGE */

.card-img-wrap {
  position: relative;
}

.card-img-media {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.card-img-media img {
  display: block;
  width: 100%;
  height: auto;

  transition:
    transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.15),
    filter 0.45s ease;
}


/* STELLA PNG */

.card-star-png {
  position: absolute;
  top: 0;
  right: 2rem;
  z-index: 4;

  width: clamp(4.2rem, 6vw, 6.2rem);
  aspect-ratio: 1 / 1;

  pointer-events: none;

  transform: translateY(-50%);

  transition:
    transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.4);
}

.card-star-png::before {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 1;

  background: rgba(255, 255, 255, 0.08);

  -webkit-backdrop-filter:
    blur(12px)
    saturate(160%)
    brightness(120%);

  backdrop-filter:
    blur(12px)
    saturate(160%)
    brightness(120%);

  -webkit-mask-image:
    url("/wp-content/uploads/2026/06/AZ-Star-Mask.svg");

  mask-image:
    url("/wp-content/uploads/2026/06/AZ-Star-Mask.svg");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;
}

.card-star-png img {
  position: relative;
  z-index: 2;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}


/* CARD IMAGE LINK */

.card-img-link {
  position: relative;
  display: block;

  overflow: hidden;
  isolation: isolate;

  color: inherit;
  text-decoration: none;
}

.card-img-link img {
  display: block;
  width: 100%;
  height: auto;

  transition:
    transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.15),
    filter 0.45s ease;
}

.card-img-link::after {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;

  background:
    radial-gradient(
      ellipse at 50% 30%,
      rgba(255, 255, 255, 0.18) 0%,
      rgba(255, 255, 255, 0.04) 42%,
      rgba(230, 0, 125, 0.18) 100%
    );

  opacity: 0;

  transition: opacity 0.35s ease;
}


/* CARD TITLE LINK */

.card-title-link,
.card-title-link:link,
.card-title-link:visited {
  position: relative;
  display: inline;

  color: inherit;
  text-decoration: none;

  background-image:
    linear-gradient(
      currentColor,
      currentColor
    );

  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;

  transition:
    background-size 0.35s ease,
    opacity 0.25s ease;
}


/* ACTION LINKS: BIGLIETTI / INFO */

.card-action-link {
  position: relative;

  color: inherit;
  text-decoration: none;

  transition:
    transform 0.25s ease,
    opacity 0.25s ease,
    color 0.25s ease;
}


/* DESKTOP: HOVER CON MOUSE E TRACKPAD */

@media (hover: hover) and (pointer: fine) {

  .az-card:hover {
    z-index: 10;

    transform:
      translateY(-10px)
      scale(1.02);

    box-shadow:
      25px 25px 50px rgba(0, 0, 0, 0.08),
      -10px -10px 30px rgba(255, 255, 255, 0.9);
  }

  .az-card:hover .card-img-media img {
    transform: scale(1.05);
  }

  .az-card:hover .card-star-png {
    transform:
      translateY(-50%)
      scale(1.06);
  }

  .az-card:hover .card-img-link img {
    transform: scale(1.055);

    filter:
      saturate(115%)
      contrast(104%)
      brightness(102%);
  }

  .az-card:hover .card-img-link::after {
    opacity: 1;
  }

  .card-title-link:hover,
  .az-card:hover .card-title-link {
    color: inherit;
    background-size: 100% 0.08em;
  }

  .card-action-link:hover {
    color: var(--pink);
    transform: translateY(-1px);
  }

  .card-action-link:hover::before {
    opacity: 1;
    transform: scale(1);
  }
}


/* TOUCH: EFFETTO SOLO MENTRE IL DITO È PREMUTO */

@media (hover: none) and (pointer: coarse) {

  .az-card {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
  }

  .az-card:active {
    z-index: 10;

    transform:
      translateY(-4px)
      scale(1.01);

    box-shadow:
      12px 12px 28px rgba(0, 0, 0, 0.06),
      -6px -6px 18px rgba(255, 255, 255, 0.65);
  }

  .az-card:active .card-img-media img,
  .az-card:active .card-img-link img {
    transform: scale(1.025);
  }

  .az-card:active .card-star-png {
    transform:
      translateY(-50%)
      scale(1.03);
  }

  .az-card:active .card-img-link img {
    filter:
      saturate(108%)
      contrast(102%)
      brightness(101%);
  }

  .az-card:active .card-img-link::after {
    opacity: 1;
  }

  .az-card:active .card-title-link {
    background-size: 100% 0.08em;
  }

  .card-action-link:active {
    color: var(--pink);
    transform: translateY(-1px);
  }
}


/* MOBILE */

@media (max-width: 991.98px) {

  .az-card {
    border-radius: 1rem;
  }

  .az-card img {
    border-radius: 1rem;
  }

  .card-star-png {
    right: 1rem;
  }
}


/* ACCESSIBILITÀ */

@media (prefers-reduced-motion: reduce) {

  .az-card,
  .card-img-media img,
  .card-img-link img,
  .card-img-link::after,
  .card-star-png,
  .card-title-link,
  .card-action-link {
    transition: none;
  }
}

/* ICONS */

.az-icon,
.icon-anim {
  font-family: var(--font-display);
  font-weight: 400;
  display: inline-block;
  line-height: 1;
  font-size: 1.4em;
  transition:
	transform 0.25s ease,
	color 0.25s ease;
}

.az-icon-arrow::before {
  content: "↗";
  display: inline-block;
  line-height: 1;
}

.az-icon-arrow-down::before {
  content: "↓";
}

.az-icon-check::before {
  content: "✓";
}

.az-icon-x::before {
  content: "×";
}

.az-icon-arrow-up::before {
  content: "↑";
}

.az-icon-person::before {
  content: "👤";
}

a:hover .az-icon,
button:hover .az-icon,
.hover-trigger:hover .az-icon,
a:hover .icon-anim,
button:hover .icon-anim,
.hover-trigger:hover .icon-anim {
  transform: translate(3px, -3px);
}

.az-card:hover .card-action-link .az-icon,
.az-card:hover .card-action-link .icon-anim {
  color: var(--pink);
}

/* SLIDER */

.eventi-swiper {
  width: 100%;
}

.eventi-swiper .swiper-wrapper {
  align-items: stretch;
}

.eventi-swiper .swiper-slide {
  height: auto;
}

.eventi-swiper .az-card {
  height: 100%;
}

.eventi-swiper-nav {
  position: relative;
  z-index: 2;
}

.eventi-swiper-prev,
.eventi-swiper-next {
  width: 44px;
  height: 44px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 0;
  border-radius: 999rem;

  background: rgba(255, 255, 255, 0.55);
  color: #111;

  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);

  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 0.8),
	inset -1px -1px 1px rgba(0, 0, 0, 0.08),
	0 6px 16px rgba(0, 0, 0, 0.12);

  transition:
	transform 0.25s ease,
	background 0.25s ease,
	box-shadow 0.25s ease;
}

.eventi-swiper-prev:hover,
.eventi-swiper-next:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.8);
}

.eventi-swiper-pagination {
  width: auto !important;
  font-family: var(--font-mono, monospace);
  font-size: 0.8rem;
}

.eventi-swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  opacity: 0.35;
  background: currentColor;
}

.eventi-swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.eventi-swiper-pagination .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  margin: 0 !important;
  margin-right: 0.5rem !important;
  border-radius: 999rem;
  background: rgba(255, 255, 255, 0.42);
  opacity: 1;

  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);

  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 0.75),
	inset -1px -1px 1px rgba(0, 0, 0, 0.08),
	0 4px 10px rgba(0, 0, 0, 0.08);

  transition:
	width 0.35s ease,
	background 0.35s ease,
	box-shadow 0.35s ease,
	transform 0.35s ease;
}

.eventi-swiper-pagination .swiper-pagination-bullet-active {
  width: 2.4rem;

  background: rgba(230, 0, 125, 0.9);

  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 0.5),
	inset -1px -1px 1px rgba(0, 0, 0, 0.16),
	0 5px 14px rgba(230, 0, 125, 0.28);
}



/* LISTA EVENTI */
.list-row {
	border-bottom: 1px solid rgba(0,0,0,0.05);
	padding: 0.75rem 0;
	transition: all 0.3s ease;
	cursor: pointer;
}
.list-row:hover {
	backdrop-filter: blur(10px);
	padding-left: 15px;
	padding-right: 15px;
	box-shadow: 0 10px 20px rgba(0,0,0,0.02);
	transform: scale(1.01);
}


/* Header lista + righe evento */
.event-list-head,
.event-list-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* Colonna artista: prende tutto lo spazio disponibile */
.event-list-artist {
  flex: 1 1 auto;
  min-width: 0;
}

/* Solo nelle righe, non nell'header */
.event-list-row .event-list-artist {
  text-transform: lowercase;
}

.event-list-artist span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.12;
  padding-bottom: 0.08em;
}

/* Colonna data: larghezza minima */
.event-list-date {
  flex-basis: 10rem;
  width: 10rem;
  min-width: 10rem;
  padding-left: 0.35rem;
  padding-right: 0.15rem;
}

/* Colonna luogo: nascosta da mobile via classe Bootstrap d-none d-lg-block */
.event-list-place {
  flex: 0 0 16rem;
  min-width: 0;
  white-space: nowrap;
}

.event-list-place span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Colonna icona: sempre uguale per allineare header e righe */
.event-list-icon {
  flex: 0 0 1.5rem;
  width: 1.5rem;
  min-width: 1.5rem;
  padding-left: 0.25rem;

  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Mobile */
@media (max-width: 991.98px) {
  .event-list-head,
  .event-list-row {
	gap: 0.6rem;
  }

  .event-list-date {
	padding-left: 0.35rem;
	padding-right: 0.15rem;
  }

  .event-list-icon {
	flex-basis: 1.25rem;
	width: 1.25rem;
	min-width: 1.25rem;
  }
}

/* Desktop */
@media (min-width: 992px) {
  .event-list-head,
  .event-list-row {
	gap: 1rem;
  }

  .event-list-date {
	flex: 0 0 15rem;
	width: 15rem;
	min-width: 15rem;
  }

  .event-list-place {
	flex: 0 0 14rem;
  }

  .event-list-icon {
	flex: 0 0 1.75rem;
	width: 1.75rem;
	min-width: 1.75rem;
  }
}

/* MAIN BUTTON */

.az-button-main {
  width: 100%;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;

  padding: 1.15rem 1.5rem;
  border-radius: 999rem;

  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-transform: lowercase;

  color: var(--white);
  text-decoration: none;

  background: var(--pink);

  box-shadow: 0 10px 24px rgba(230, 0, 125, 0.22);

  transition:
	background 0.25s ease,
	border-color 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease,
	box-shadow 0.25s ease;
}

.az-button-main:hover {
  color: var(--white);
  background: #ff058d;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(242, 65, 18, 0.22);
}

.az-button-main:hover .icon-anim {
  color: var(--white);
  transform: translate(3px, -3px);
}

.az-button-main:focus-visible {
  outline: 3px solid rgba(230, 0, 125, 0.28);
  outline-offset: 4px;
}

/* COUNTDOWN */

.countdown-section {
  position: relative;
  overflow: hidden;
  color: var(--white);
}

.countdown-section h2 {
  color: var(--white);
}

/* 4 colonne numeriche + separatori */
.countdown-grid {
  display: grid;
  grid-template-columns:
	minmax(0, 1fr)
	auto
	minmax(0, 1fr)
	auto
	minmax(0, 1fr)
	auto
	minmax(0, 1fr);

  align-items: end;
  column-gap: clamp(0.4rem, 1vw, 1.25rem);
  row-gap: 1rem;

  width: 100%;
}

.countdown-item {
  min-width: 0;
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Numero largo quanto la sua colonna */
.countdown-timer {
  display: block;
  width: 100%;
  font-family: var(--font-mono);
  font-size: clamp(4rem, 17vw, 25rem);
  line-height: 0.78;
  font-weight: 600;
  letter-spacing: -0.09em;

  color: var(--white);
  text-align: center;

  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  white-space: nowrap;
}

/* Separatore */
.countdown-separator {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(4rem, 13vw, 12rem);
  line-height: 0.78;
  font-weight: 400;
  letter-spacing: -0.09em;
  color: var(--white);
  text-align: center;
  transform: translateY(-0.33em);
}

/* Etichetta sotto */
.countdown-label {
  margin-top: 1rem;
  font-family: var(--font-mono);
  font-size: clamp(0.6rem, calc(0.7rem + 0.2vw), 0.8rem);
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--white);
  text-align: center;
}

/* Link evento sotto */

.countdown-event-link,
.countdown-event-link:link,
.countdown-event-link:visited,
.countdown-event-link:hover {
  color: var(--white);
  text-decoration: none;
}

.countdown-event-link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;

  color: var(--white);

  transition: opacity 0.25s ease;
}

/* Colonna titolo */
.countdown-event-title {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 52rem;
}

/* Titolo con underline hover, mantenendo la riga animata */
.countdown-event-link h3 {
  display: inline;

  color: var(--white);
  white-space: normal;
  overflow-wrap: anywhere;

  background-image: linear-gradient(
	currentColor,
	currentColor
  );
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 100%;

  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.countdown-event-link:hover h3 {
  background-size: 100% 0.08em;
}

/* Colonna città */
.countdown-event-city {
  flex: 0 0 auto;
  max-width: 18rem;

  margin-left: auto;
  text-align: right;
}

.countdown-event-city span,
.countdown-city {
  color: var(--white);
  font-family: var(--font-mono);
  line-height: 1;
  white-space: nowrap;
}

/* Tablet */

@media (max-width: 991.98px) {
  .countdown-grid {
	column-gap: 0.55rem;
  }

  .countdown-timer,
  .countdown-separator {
	font-size: clamp(3.2rem, 16vw, 12rem);
  }
}

/* Mobile: 2 colonne, senza separatori */
@media (max-width: 575.98px) {
  .countdown-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem 1rem;
  }

  .countdown-separator {
	display: none;
  }

  .countdown-timer {
	font-size: clamp(4rem, 19vw, 9rem);
	line-height: 0.82;
  }

  .countdown-label {
	margin-top: 0.65rem;
  }

.countdown-event-link {
	display: flex;
	flex-direction: row;
	align-items: flex-start !important;
	justify-content: space-between;
	gap: 1rem;
  }
  
  .countdown-event-title {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
  }
  
  .countdown-event-city {
	flex: 0 0 auto;
	max-width: 42%;
	margin-left: auto;
	text-align: right;
  }
  
  .countdown-event-city span,
  .countdown-city {
	font-size: var(--text-sm);
	white-space: normal;
  }
}

/* PARTNERS */

.partners-section {
  position: relative;
  overflow: hidden;
  background: var(--black);
  color: var(--white);
  z-index: 2;
  margin-top: -2rem;
}

.partners-section h2 {
  color: var(--white);
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 1199px) {
  .partners-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .partners-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
  }
}

/* Card partner */

.partner-card.liquidGlass-wrapper {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  margin: 0;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.06);
  box-shadow:
	0 10px 28px rgba(0, 0, 0, 0.24),
	0 0 20px rgba(255, 255, 255, 0.06),
	inset 0 1px 1px rgba(255, 255, 255, 0.18),
	inset 0 -1px 1px rgba(0, 0, 0, 0.18);
  text-decoration: none;
  transition:
	transform 0.35s ease,
	background 0.35s ease,
	box-shadow 0.35s ease;
}

/* Layer liquid glass */

.partner-card .liquidGlass-effect,
.partner-card .liquidGlass-tint,
.partner-card .liquidGlass-shine {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.partner-card .liquidGlass-effect {
  z-index: 0;
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.partner-card .liquidGlass-tint {
  z-index: 1;
  background: rgba(255, 255, 255, 0.08);
  box-shadow:
	inset 0 0 14px rgba(255, 255, 255, 0.12);
}

.partner-card .liquidGlass-shine {
  z-index: 2;
  box-shadow:
	inset 2px 2px 1px rgba(255, 255, 255, 0.18),
	inset -1px -1px 1px rgba(0, 0, 0, 0.18),
	inset 0 0 18px rgba(255, 255, 255, 0.06);
}

/* Logo */

.partner-logo.liquidGlass-text {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-logo img {
  display: block;
  max-width: 82%;
  max-height: 72%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) saturate(0) brightness(1.25);
  opacity: 0.72;
  transition:
	transform 0.4s ease,
	filter 0.4s ease,
	opacity 0.4s ease;
}

/* Hover */

.partner-card.liquidGlass-wrapper:hover {
  transform: scale(1.045);
  background: rgba(255, 255, 255, 0.09);
  box-shadow:
	0 16px 38px rgba(0, 0, 0, 0.34),
	0 0 26px rgba(255, 255, 255, 0.10),
	inset 0 1px 1px rgba(255, 255, 255, 0.28),
	inset 0 -1px 1px rgba(0, 0, 0, 0.18);
}

.partner-card:hover .liquidGlass-effect {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.partner-card:hover .liquidGlass-tint {
  background: rgba(255, 255, 255, 0.14);
}

.partner-card:hover .liquidGlass-shine {
  box-shadow:
	inset 2px 2px 1px rgba(255, 255, 255, 0.32),
	inset -1px -1px 1px rgba(0, 0, 0, 0.18),
	inset 0 0 18px rgba(255, 255, 255, 0.12);
}

.partner-card:hover img {
  transform: scale(1.08);
  filter: grayscale(0) saturate(1.15) brightness(1);
  opacity: 1;
}

/* Mobile */

@media (max-width: 575.98px) {
  .partners-section {
	border-radius: 1.5rem;
  }

  .partner-card.liquidGlass-wrapper {
	border-radius: 1rem;
	padding: 1.1rem;
  }
}


/* NEWSLETTER */

.newsletter-section {
  position: relative;
  z-index: 1;
  margin-top: -2rem;
  background: var(--pink);
  color: #ffffff;
}

.newsletter-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
}

.newsletter-inner > .row {
  width: 100%;
}


.newsletter-form-wrap {
  width: 100%;
}

.newsletter-copy-col,
.newsletter-button-col {
  display: flex;
  flex-direction: column;
}

.newsletter-copy-col {
  justify-content: flex-end;
}

.newsletter-form-wrap {
  width: 100%;
  height: 100%;

  display: flex;
}

.az-newsletter-button {
  width: 100%;
  min-height: 100%;

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Mobile: torna ad altezza normale */
@media (max-width: 991.98px) {
  .newsletter-form-wrap {
	height: auto;
  }

  .az-newsletter-button {
	min-height: 4rem;
  }
}

/* NEWSLETTER BUTTON */

.az-newsletter-button {
  position: relative;

  width: 100%;
  min-height: 4.5rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;

  padding: 1.15rem 1.5rem;
  border-radius: 999rem;

  background: #ffffff;
  color: var(--pink);
  border: 1px solid rgba(255, 255, 255, 1);
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-transform: lowercase;
  text-decoration: none;

  transition:
	background 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease;
}

.az-newsletter-button:hover {
  background: transparent;
  color: #ffffff;
  transform: translateY(-2px);
}

/* Tablet */

@media (max-width: 991.98px) {
  .newsletter-section {
	margin-top: -1.5rem;
	border-radius: 1.5rem 1.5rem 0 0;
  }

  .newsletter-inner {
	min-height: auto;
	align-items: flex-start;
  }
}

/* Mobile */

@media (max-width: 575.98px) {

  .az-newsletter-button {
	min-height: 3.8rem;
  }
}


/* FOOTER */

.az-footer {
  position: relative;
  z-index: 1;
  color: var(--pink);
  border-radius: 2rem 2rem 0 0;
}

.az-footer-main {
  min-height: 17rem;
  row-gap: 3rem;
}

.az-footer-logo img {
  display: block;

  width: clamp(13rem, 22vw, 21rem);
  height: auto;
}

.az-footer-label {
  margin-bottom: 1rem;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--black);
}

.az-footer-brand {
  margin-bottom: 0.25rem;

  font-family: var(--font-display);
  font-size: var(--text-lg);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.03em;

  color: var(--pink);
}

.az-footer-text {
  margin-bottom: 1.4rem;
  font-family: var(--font-display);
  font-size: var(--text-base);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.03em;

  color: var(--pink);
}

.az-footer a {
  color: var(--pink);
  text-decoration: none;
}

.az-footer-menu {
  margin: 0;
  padding: 0;
}

.az-footer-menu li {
  margin: 0;
  padding: 0;
}

.az-footer-menu a {
  position: relative;
  display: inline;

  font-family: var(--font-display);
  font-size: var(--text-base);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.03em;

  color: var(--pink);
  text-decoration: none;

  background-image: linear-gradient(
	currentColor,
	currentColor
  );
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;

  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.az-footer-menu a:hover {
  color: var(--pink);
  background-size: 100% 0.08em;
}

.az-footer-text a {
  position: relative;
  display: inline;

  background-image: linear-gradient(
	currentColor,
	currentColor
  );
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 100%;

  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.az-footer-text a:hover {
  color: var(--pink);
  background-size: 100% 0.08em;
}

/* Copyright strip */

.az-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 1.55rem;
  padding: 0.25rem 0.5rem;
  background: var(--pink);
  color: #ffffff;
  font-family: var(--font-mono);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  font-size: var(--text-xs);
}

.az-footer-bottom a {
  color: #ffffff;
  text-decoration: none;

  background-image: linear-gradient(
	currentColor,
	currentColor
  );
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;

  transition: background-size 0.3s ease;
}

.az-footer-bottom a:hover {
  color: #ffffff;
  background-size: 100% 0.08em;
}

.az-footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* Mobile */

@media (max-width: 991.98px) {
  .az-footer-main {
	min-height: auto;
  }

  .az-footer-logo img {
	width: clamp(11rem, 55vw, 17rem);
  }
}

@media (max-width: 575.98px) {
  .az-footer-bottom {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.35rem;

	padding: 0.5rem;
  }
}

/* PAGE HERO GENERICA */

.page-hero {
  position: relative;
  width: 100%;
  min-height: 50vh;
  height: 50vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  background-color: #2a2a2d;
  border-radius: 2rem;
  box-shadow:
	0 0 30px rgba(0, 0, 0, 0.1),
	0 0 20px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.page-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.page-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
	linear-gradient(
	180deg,
	rgba(0, 0, 0, 0) 0%,
	rgba(0, 0, 0, 0.32) 85%,
	rgba(0, 0, 0, 0.86) 100%
	);

}

.page-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  color: var(--white);
}

.page-hero h1 {
  color: var(--white);
}

/* Mobile */

@media (max-width: 991.98px) {
  .page-hero {
	height: auto;
	min-height: 0;
	aspect-ratio: 1 / 1;
  }
}

/* ARCHIVE EVENTI */

.events-archive-section {
  position: relative;
  z-index: 0;
  margin-top: -2rem;
}

.events-month-row {
  display: grid;
  grid-template-columns: 1fr 4fr;
  gap: 1.5rem;

  padding: 2rem 0;

  border-bottom: 1px solid rgba(42, 42, 45, 0.12);
  overflow: visible;
}

.events-month-row:first-child {
  padding-top: 1rem;
}

.events-month-title-wrap {
  position: relative;
}

.events-month-title {
  position: sticky;
  top: 1.5rem;

  color: var(--pink);
}

.events-month-title > span {
  display: block;

  margin-bottom: 0.75rem;

  font-size: var(--text-xs);
  line-height: 1;
  text-transform: uppercase;

  color: var(--pink);
}

.events-month-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;

  align-items: stretch;
}

/* Card archivio orizzontale */

.event-archive-card {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) minmax(0, 3fr);
  gap: 1rem;

  align-items: stretch;

  height: auto;
  min-height: 0;

  text-decoration: none;
  border-radius: 2rem;
}

.event-archive-card-img {
  position: relative;

  width: 100%;
  min-width: 0;

  aspect-ratio: 1 / 1;

  overflow: hidden;
  border-radius: 1rem;
}

.event-archive-card-img .card-img-media {
  display: block;
  width: 100%;
}

.event-archive-card-img img {
  display: block;

  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;

  object-fit: cover;
  border-radius: 1rem;
}

.event-archive-card-content {
  min-width: 0;

  display: flex;
  flex-direction: column;
}

.event-archive-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;

  width: 100%;
}

.event-archive-date,
.event-archive-city {
  display: block;

  font-size: var(--text-sm);
  line-height: 1;
}

.event-archive-city {
  text-align: right;
  white-space: nowrap;
}

.event-archive-card-content h3 {
  line-height: 0.95;
}

.event-archive-card-content h3 a {
  overflow-wrap: anywhere;
}

.event-archive-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  margin-top: auto;
  padding-top: 1rem;
}

/* Tablet */

@media (max-width: 992px) {
  .events-archive-section,
  .events-month-row {
	overflow: visible;
  }

  .events-month-row {
	grid-template-columns: 1fr;
	gap: 1.5rem;
  }

  .events-month-title-wrap {
	position: sticky;
	top: 0;
	z-index: 20;

	align-self: flex-start;
	width: 100%;
  }

  .events-month-title {
	position: relative;
	top: 0;

	margin-left: -1rem;
	margin-right: -1rem;
	padding: 1rem;

	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;

	border-radius: 0 0 1.25rem 1.25rem;

	box-shadow: none;

	transition:
	  background 0.25s ease,
	  box-shadow 0.25s ease,
	  backdrop-filter 0.25s ease,
	  -webkit-backdrop-filter 0.25s ease;
  }

  .events-month-title-wrap.is-stuck .events-month-title {
	background: rgba(255, 255, 255, 0.88);

	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);

	box-shadow:
	  0 10px 24px rgba(0, 0, 0, 0.08),
	  inset 0 -1px 0 rgba(255, 255, 255, 0.65);
  }
}

/* Mobile */

@media (max-width: 767.98px) {
  .events-month-row {
	display: flex;
	flex-direction: column;

	padding: 2.5rem 0;
	overflow: visible;
  }

  .events-month-grid {
	grid-template-columns: 1fr;
  }

  .event-archive-card {
	grid-template-columns: 1fr 3fr;
	gap: 0.875rem;
  }

  .event-archive-card-actions {
	gap: 0.75rem;
  }

  .event-archive-meta {
	gap: 0.75rem;
  }

  .event-archive-city {
	white-space: normal;
  }
}

/* Mobile stretto: card in una colonna */

@media (max-width: 429.98px) {
  .event-archive-card {
	grid-template-columns: 1fr;
	gap: 1rem;
  }

  .event-archive-card-img {
	width: 100%;
	aspect-ratio: 1 / 1;
  }

  .event-archive-card-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
  }

  .event-archive-card-content {
	height: auto;
  }

  .event-archive-card-actions {
	margin-top: 1rem;
  }
}

/* PAGINATION ARCHIVIO EVENTI */

.az-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

.az-pagination .page-numbers {
  min-width: 44px;
  height: 44px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin: 0 0.25rem;
  padding: 0 0.8rem;

  border: 0;
  border-radius: 999rem;

  background: rgba(255, 255, 255, 0.55);
  color: #111;

  font-family: var(--font-mono);
  font-size: 0.8rem;
  line-height: 1;
  text-decoration: none;

  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);

  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 0.8),
	inset -1px -1px 1px rgba(0, 0, 0, 0.08),
	0 6px 16px rgba(0, 0, 0, 0.12);

  transition:
	transform 0.25s ease,
	background 0.25s ease,
	box-shadow 0.25s ease,
	color 0.25s ease;
}

.az-pagination a.page-numbers:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.8);
  color: #111;
}

.az-pagination .page-numbers.current {
  background: rgba(230, 0, 125, 0.9);
  color: var(--white);

  box-shadow:
	inset 1px 1px 1px rgba(255, 255, 255, 0.5),
	inset -1px -1px 1px rgba(0, 0, 0, 0.16),
	0 5px 14px rgba(230, 0, 125, 0.28);
}

.az-pagination .page-numbers.prev,
.az-pagination .page-numbers.next {
  width: 44px;
  padding: 0;

  font-family: var(--font-display);
  font-size: 1rem;
}

.az-pagination .page-numbers.dots {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  min-width: auto;
  padding: 0 0.25rem;
}

/* FILTRO EVENTI PASSATI */

.past-events-filter-link {
  width: 100%;
  min-height: 2.75rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0.65rem 1rem;

  border-radius: 999rem;

  background: rgba(230, 0, 125, 0.08);
  color: var(--pink);

  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  text-decoration: none;

  transition:
	background 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease;
}

.past-events-filter-link:hover {
  background: rgba(230, 0, 125, 0.14);
  color: var(--pink);
  transform: translateY(-1px);
}

.past-events-filter-link.is-active {
  background: var(--pink);
  color: var(--white);
}

/* AJAX EVENTI PASSATI */

.past-events-archive {
  position: relative;
}

.past-events-results {
  transition:
	opacity 0.25s ease,
	transform 0.25s ease;
}

.past-events-archive.is-loading .past-events-results {
  opacity: 0.45;
  pointer-events: none;
}

/* SINGLE EVENT */

.event-hero-tour {
  color: var(--white);
  font-size: var(--text-xs);
  line-height: 1;
  letter-spacing: 0.02em;
}

.single-event-meta-bar {
  position: relative;
  margin-top: -2rem;
}

.single-event-meta-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;

  width: 100%;
}

.single-event-date,
.single-event-city {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.single-event-city {
  text-align: right;
  align-items: flex-end;
}

.single-event-content-section,
.single-event-gallery-section {
  position: relative;
  z-index: 2;
}

.single-event-info-block {
  padding: 1.25rem 0;
  border-top: 1px solid rgba(42, 42, 45, 0.14);
}

.single-event-info-block:first-child {
  padding-top: 0;
  border-top: 0;
}

.single-event-info-block h2 {
  margin-bottom: 0.75rem;

  color: var(--black);
  font-size: var(--text-xs);
  line-height: 1;
  font-weight: 400;
}

.single-event-map {
  overflow: hidden;
  border-radius: 1.5rem;
}

.single-event-link {
  width: 100%;
  min-height: 3rem;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  padding: 0.8rem 1rem;

  border-radius: 999rem;

  background: rgba(230, 0, 125, 0.08);
  color: var(--pink);

  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.single-event-link:hover {
  color: var(--pink);
  background: rgba(230, 0, 125, 0.14);
}

.single-event-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.single-event-main-content {
  color: var(--black);
}

.single-event-text {
  margin-bottom: 2rem;
}

.single-event-text p {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
}

.single-event-accessibility {
  color: var(--black);
}

.single-event-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.single-event-gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: 1.5rem;
}

.single-event-gallery-item img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.single-event-copyright {
  color: rgba(42, 42, 45, 0.6);
  font-size: var(--text-xs);
}

/* Mobile */

@media (max-width: 991.98px) {
  .single-event-meta-inner {
	gap: 1rem;
  }

  .single-event-gallery {
	grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .single-event-meta-inner {
	flex-direction: row;
  }

  .single-event-date,
  .single-event-city {
	max-width: 50%;
  }

  .single-event-city {
	text-align: right;
  }

  .single-event-gallery {
	grid-template-columns: 1fr;
  }
}

/* SINGLE EVENT - TICKET POINTS */

.single-event-ticket-points {
  display: flex;
  flex-direction: column;
}

.single-event-ticket-point {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;

  padding: 1rem 0;

  border-bottom: 1px solid rgba(42, 42, 45, 0.12);
}

.single-event-ticket-point:first-child {
  padding-top: 0;
}

.single-event-ticket-point-main {
  min-width: 0;
}

.single-event-ticket-point-main h3 {
  line-height: 1;
}

.single-event-ticket-point-main p {
  color: var(--black);
  font-size: var(--text-xs);
  line-height: 1.1;
}

.single-event-ticket-point-contacts {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

.single-event-ticket-point-contact {
  color: var(--pink);

  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.15;
  text-decoration: none;
}

.single-event-ticket-point-contact:hover {
  color: var(--pink);
  text-decoration: underline;
}

@media (max-width: 575.98px) {
  .single-event-ticket-point {
	gap: 1rem;
  }

  .single-event-ticket-point-main {
	max-width: 58%;
  }

  .single-event-ticket-point-contacts {
	max-width: 42%;
  }

  .single-event-ticket-point-contact {
	overflow-wrap: anywhere;
  }
}

/* SINGLE EVENT - TICKETS */

.single-event-tickets {
  display: flex;
  flex-direction: column;
}

.single-event-ticket-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 1.5rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid rgba(42, 42, 45, 0.12);
}

.single-event-ticket-row:first-child {
  padding-top: 0;
}

.single-event-ticket-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.single-event-ticket-type {
  min-width: 0;
  color: var(--pink);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 600;
  overflow-wrap: anywhere;
  line-height: var(--leading-snug);
}

.single-event-ticket-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  white-space: nowrap;
}

.single-event-ticket-price strong {
  color: var(--black);
  font-family: var(--font-mono);
  font-size: var(--text-base);
  line-height: 1;
  font-weight: 400;
}

.single-event-ticket-price small, .single-event-ticket-price-disclaimer {
  color: rgba(42, 42, 45, 0.65);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
}

@media (max-width: 575.98px) {
  .single-event-ticket-row {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
  }
}

/* SINGLE EVENT - PARTNERS */

.single-event-partners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.single-event-partner {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(230, 0, 125, 0.06);
  color: var(--pink);

  text-align: center;
  text-decoration: none;

  transition:
	background 0.25s ease,
	transform 0.25s ease;
}

a.single-event-partner:hover {
  color: var(--pink);
  background: rgba(230, 0, 125, 0.12);
  transform: translateY(-1px);
}

.single-event-partner-logo {
  width: 100%;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: #ffffff;
  padding: 0.5rem;
}

.single-event-partner-logo img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
}

.single-event-partner-name {
  width: 100%;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  text-transform: uppercase;

  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  .single-event-partners {
	grid-template-columns: 1fr;
  }
}

/* SINGLE EVENT - ACCESSIBILITY */

.single-event-accessibility-block {
  margin-top: 2rem;
}

.single-event-accessibility-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.single-event-accessibility-status-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
}

.single-event-accessibility-status-card.is-available {
  background: var(--pink);
  color: var(--white);
}

.single-event-accessibility-status-card.is-not-available {
  background: rgba(42, 42, 45, 0.08);
  color: rgba(42, 42, 45, 0.65);
}

.single-event-accessibility-status-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999rem;
  font-size: 1.3rem;
  line-height: 1;
}

.single-event-accessibility-status-card.is-available .single-event-accessibility-status-icon {
  background: rgba(255, 255, 255, 0.22);
  color: var(--white);
}

.single-event-accessibility-status-card.is-not-available .single-event-accessibility-status-icon {
  background: rgba(42, 42, 45, 0.08);
  color: rgba(42, 42, 45, 0.5);
}

.single-event-accessibility-status-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  justify-content: space-between;
  height: 100%;
}

.single-event-accessibility-status-label { 
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  text-transform: uppercase;
}

.single-event-accessibility-status-value {
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: 0.95;
  font-weight: 600;
  text-transform: lowercase;
}

.single-event-accessibility-status-card.is-available .single-event-accessibility-status-value {
  color: var(--white);
}

.single-event-accessibility-status-card.is-not-available .single-event-accessibility-status-value {
  color: rgba(42, 42, 45, 0.78);
}

.single-event-accessibility-text p {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  margin-bottom: 1rem;
}

.single-event-text a, .single-event-accessibility-text a {
  color: var(--pink);
  text-decoration: none;
}

.single-event-accessibility-text a:hover {
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  .single-event-accessibility-status {
	grid-template-columns: 1fr;
  }
}

/* SINGLE EVENT - SIDEBAR STICKY */

@media (min-width: 992px) {
  .single-event-content-section,
  .single-event-content-section .row {
	overflow: visible;
  }

  .single-event-sidebar {
	position: sticky;
	top: 1.25rem;
	align-self: flex-start;
	max-height: 100dvh;
	overflow-y: auto;
	padding-right: 0.35rem;
  }
  
  .single-event-sidebar {
	scrollbar-width: thin;
  }
}

/* SINGLE EVENT - GRAVITY FORM FULL WIDTH */

.single-event-form-section {
  position: relative;
  z-index: 2;
  margin-top: -2rem;
  background: var(--pink);
}

.single-event-info-form-block {
  width: 100%;
  color: var(--white);
}

.single-event-form-inner {
  width: 100%;
}

.single-event-form-heading {
  margin-bottom: 2rem;
}

.single-event-form-heading h2 {
  margin-bottom: 0.75rem;
  color: var(--white);
  font-size: var(--text-xs);
  line-height: 1;
  font-weight: 400;
}

.single-event-form-heading p {
  margin-bottom: 0;
  color: var(--white);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
}


/* Gravity Forms - tema Orbital */

.single-event-gravity-form .gform_wrapper.gform-theme,
.single-event-gravity-form .gform_wrapper.gform-theme--orbital,
.single-event-gravity-form .gform_wrapper {
  margin: 0 !important;
  --gf-color-primary: #ffffff !important;
  --gf-color-primary-contrast: #e6007d !important;
  --gf-color-in-ctrl: rgba(255, 255, 255, 0.14) !important;
  --gf-color-in-ctrl-contrast: #ffffff !important;
  --gf-color-in-ctrl-primary: #ffffff !important;
  --gf-color-in-ctrl-primary-contrast: #e6007d !important;
  --gf-color-secondary: #ffffff !important;
  --gf-color-secondary-contrast: #e6007d !important;
  --gf-ctrl-border-color: rgba(255, 255, 255, 0.38) !important;
  --gf-ctrl-label-color-primary: #ffffff !important;
  --gf-ctrl-label-color-secondary: rgba(255, 255, 255, 0.78) !important;
  --gf-radius: 1rem !important;
}

.single-event-gravity-form .gform-body,
.single-event-gravity-form .gform_body {
  width: 100% !important;
}

.single-event-gravity-form .gform_fields {
  row-gap: 1.25rem !important;
}


/* Label principali e sub-label */

.single-event-gravity-form .gfield_label,
.single-event-gravity-form .gform-field-label,
.single-event-gravity-form legend.gfield_label {
  margin-bottom: 0.5rem !important;
  color: var(--white) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.single-event-gravity-form .gform-field-label--type-sub {
  color: rgba(255, 255, 255, 0.78) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.single-event-gravity-form .gfield_required,
.single-event-gravity-form .gfield_required_text {
  color: rgba(255, 255, 255, 0.78) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  font-weight: 400 !important;
}


/* Campi */

.single-event-gravity-form input[type="text"],
.single-event-gravity-form input[type="email"],
.single-event-gravity-form input[type="tel"],
.single-event-gravity-form input[type="url"],
.single-event-gravity-form input[type="number"],
.single-event-gravity-form textarea,
.single-event-gravity-form select {
  width: 100% !important;
  padding: 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.38) !important;
  border-radius: 0.5rem !important;
  background: rgba(255, 255, 255, 0.3) !important;
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-size: var(--text-base) !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  outline: none !important;

  transition:
	border-color 0.25s ease,
	background 0.25s ease,
	box-shadow 0.25s ease !important;
}

.single-event-gravity-form input::placeholder,
.single-event-gravity-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.65) !important;
}

.single-event-gravity-form textarea {
  min-height: 9rem !important;
  resize: vertical !important;
}

.single-event-gravity-form input:focus,
.single-event-gravity-form textarea:focus,
.single-event-gravity-form select:focus {
  border-color: rgba(255, 255, 255, 0.95) !important;
  background: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.18) !important;
}

.single-event-gravity-form select option {
  color: var(--black) !important;
}


/* Descrizioni / contatori */

.single-event-gravity-form .gfield_description,
.single-event-gravity-form .ginput_counter,
.single-event-gravity-form .gform_fileupload_rules {
  color: rgba(255, 255, 255, 0.72) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.25 !important;
}


/* Layout campi complessi: nome, email conferma, ecc. */

.single-event-gravity-form .ginput_complex,
.single-event-gravity-form .gform-grid-row {
  gap: 1rem !important;
}

.single-event-gravity-form .gform-grid-col,
.single-event-gravity-form .ginput_left,
.single-event-gravity-form .ginput_right,
.single-event-gravity-form .name_first,
.single-event-gravity-form .name_last {
  min-width: 0 !important;
}


/* Checkbox / radio */

.single-event-gravity-form .gchoice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.65rem !important;

  margin-bottom: 0.55rem !important;
}

.single-event-gravity-form input[type="checkbox"],
.single-event-gravity-form input[type="radio"] {
  accent-color: var(--white) !important;
  margin-top: 0.15rem !important;
}

.single-event-gravity-form .gchoice label {
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-size: var(--text-base) !important;
  line-height: 1.25 !important;
  text-transform: initial !important;
}


/* Turnstile */

.single-event-gravity-form .gfield--type-turnstile .gfield_label {
  display: none !important;
}

.single-event-gravity-form .ginput_container_turnstile {
  margin-top: 0.5rem !important;
}


/* Submit */

.single-event-gravity-form .gform_footer,
.single-event-gravity-form .gform-footer {
  margin-top: 2rem !important;
  padding-bottom: 0 !important;
}

.single-event-gravity-form .gform_button,
.single-event-gravity-form input[type="submit"],
.single-event-gravity-form button[type="submit"],
.single-event-gravity-form .gform-button {
  width: auto !important;
  min-height: 3.35rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem 1.6rem !important;
  border: 0 !important;
  border-radius: 999rem !important;
  background: var(--white) !important;
  color: var(--pink) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow:
	0 10px 22px rgba(42, 42, 45, 0.16),
	inset 0 1px 1px rgba(255, 255, 255, 0.85) !important;

  transition:
	background 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease,
	box-shadow 0.25s ease !important;
}

.single-event-gravity-form .gform_button:hover,
.single-event-gravity-form input[type="submit"]:hover,
.single-event-gravity-form button[type="submit"]:hover,
.single-event-gravity-form .gform-button:hover {
  background: var(--black) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
  box-shadow:
	0 14px 28px rgba(42, 42, 45, 0.22),
	inset 0 1px 1px rgba(255, 255, 255, 0.18) !important;
}


/* Errori / validazione */

.single-event-gravity-form .gform_validation_errors {
  border: 1px solid rgba(255, 255, 255, 0.38) !important;
  border-radius: 0.5rem !important;
  background: var(--white) !important;
  color: var(--pink) !important;
  box-shadow: none !important;
  padding: 1rem !important;
  margin-bottom: 1.5rem !important;
}

.single-event-gravity-form .gform_validation_errors h2 {
  color: var(--pink) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.single-event-gravity-form .gform_validation_errors .gform_validation_error_link {
  color: var(--pink) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.single-event-gravity-form .gfield_error input,
.single-event-gravity-form .gfield_error textarea,
.single-event-gravity-form .gfield_error select {
  border-color: var(--white) !important;
}

.single-event-gravity-form .validation_message,
.single-event-gravity-form .gfield_validation_message {
  margin-top: 0.5rem !important;

  color: var(--white) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.2 !important;
}


/* Mobile */

@media (max-width: 767.98px) {
  .single-event-form-section {
	margin-top: -1.5rem;
  }

  .single-event-gravity-form .ginput_complex,
  .single-event-gravity-form .gform-grid-row {
	gap: 0.9rem !important;
  }

  .single-event-gravity-form .gform_button,
  .single-event-gravity-form input[type="submit"],
  .single-event-gravity-form button[type="submit"],
  .single-event-gravity-form .gform-button {
	width: 100% !important;
  }
}

/* SINGLE EVENT - POLICY */

.single-event-policy-section {
  position: relative;
  z-index: 1;
}

.single-event-policy-block {
  width: 100%;
  padding: 2rem;
  border-radius: 2rem;

  background: rgba(42, 42, 45, 0.04);
  color: var(--black);
}

.single-event-policy-block > h2 {
  margin-bottom: 1rem;
  color: var(--pink);
  font-size: var(--text-xs);
  line-height: 1.2;
  font-weight: 400;
}

.single-event-policy-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.single-event-policy-item {
  min-width: 0;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
}

.single-event-policy-item h3 {
  margin-bottom: 0.75rem;
  color: var(--pink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  font-weight: 400;
  text-transform: uppercase;
}

.single-event-policy-item p {
  margin-bottom: 0;
  color: var(--black);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.single-event-policy-note {
  grid-column: 1 / -1;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--pink);
  color: var(--white);
}

.single-event-policy-note p {
  color: var(--white);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

@media (max-width: 767.98px) {
  .single-event-policy-block {
	padding: 1rem;
  }
  .single-event-policy-content {
	grid-template-columns: 1fr;
  }
}

/* CHI SIAMO */

.az-about-section {
  position: relative;
  overflow: hidden;
  background: var(--white);
  color: var(--black);
  margin-top: -2rem;
}

.az-about-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
	radial-gradient(
	  circle at 15% 10%,
	  rgba(230, 0, 125, 0.10),
	  transparent 28%
	),
	radial-gradient(
	  circle at 85% 80%,
	  rgba(242, 65, 18, 0.10),
	  transparent 30%
	);
  opacity: 0.85;
}

.az-about-section > .container-fluid {
  position: relative;
  z-index: 1;
}

/* Colonna testo principale */

.az-about-content p {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-medium);
  font-weight: 400;
  margin-bottom: 1.15em;
}

.az-about-content p:last-child {
  margin-bottom: 0;
}

.az-about-content a {
  color: var(--pink);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;
  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.az-about-content a:hover {
  color: var(--pink);
  background-size: 100% 0.08em;
}

/* Card laterale */

.az-info-card {
  position: sticky;
  top: 0;
  background: rgba(255, 255, 255, 0.72);
  color: var(--black);
  border: 1px solid rgba(42, 42, 45, 0.12);
  border-radius: 2rem;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow:
	0 2rem 5rem rgba(42, 42, 45, 0.08),
	inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.az-info-card > div:not(:last-child) {
  margin-bottom: 2rem !important;
}

.az-info-card h3 {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;

  color: var(--pink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: uppercase;
}

.az-info-card h4 {
  color: rgba(42, 42, 45, 0.65);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: uppercase;
}

.az-info-card p {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  font-weight: 400;
}

.az-info-card strong {
  color: var(--black);
  font-weight: 600;
}

.az-info-card a {
  color: var(--pink);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;
  border-bottom: 0;
  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.az-info-card a:hover {
  color: var(--pink);
  opacity: 1;
  background-size: 100% 0.08em;
}

/* Responsive */

@media (max-width: 991.98px) {
  .az-about-section {
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
  }

  .az-about-content p:first-of-type {
	text-indent: 0;
  }

  .az-info-card {
	position: relative;
	top: auto;
	border-radius: 1rem;
  }
}

@media (max-width: 575.98px) {
  .az-about-section {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
  }

  .az-info-card {
	border-radius: 1rem;
  }

  .az-info-card > div:not(:last-child) {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem !important;
  }
}

/* CONTATTI */

.az-contact-section {
  position: relative;
  overflow: hidden;
  color: var(--black);
  margin-top: -2rem;
}

.az-contact-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
	radial-gradient(
	  circle at 12% 20%,
	  rgba(230, 0, 125, 0.10),
	  transparent 30%
	),
	radial-gradient(
	  circle at 88% 78%,
	  rgba(242, 65, 18, 0.10),
	  transparent 32%
	);
  opacity: 0.9;
}

.az-contact-section > .row {
  position: relative;
  z-index: 1;
}

.az-section-label {
  color: var(--pink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 400;
}

.az-contact-menu-panel .az-footer-menu a,
.az-contact-menu-panel .az-footer-menu a:link,
.az-contact-menu-panel .az-footer-menu a:visited {
  color: var(--white);
}

.az-contact-menu-panel .az-footer-menu a:hover,
.az-contact-menu-panel .az-footer-menu a:focus {
  color: var(--white);
  opacity: 0.72;
}

/* Menu contatti */

.az-contact-menu-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
  border-radius: 2rem;
  background: var(--pink);
  color: var(--white);
  overflow: hidden;
}

.az-contact-menu-panel .az-section-label {
  color: var(--white);
  opacity: 0.75;
}

.az-contact-menu {
  margin-top: auto;
}

.az-contact-menu li {
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.az-contact-menu li:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.az-contact-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: 0.9;
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  text-decoration: none;
  text-transform: lowercase;

  transition:
	opacity 0.25s ease,
	transform 0.35s ease;
}

.az-contact-menu a::after {
  content: "→";
  flex: 0 0 auto;
  font-size: 0.45em;
  line-height: 1;
  transform: translateX(-0.25em);
  opacity: 0;
  transition:
	opacity 0.25s ease,
	transform 0.35s ease;
}

.az-contact-menu a:hover {
  opacity: 0.7;
  transform: translateX(0.15em);
}

.az-contact-menu a:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* Card dati contatto */

.az-contact-details {
  background: rgba(255, 255, 255, 0.78);
}

.az-contact-company h2 {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: 0.9;
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  text-transform: lowercase;
}

.az-contact-company p,
.az-contact-item p {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-medium);
  font-weight: 400;
}

.az-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(42, 42, 45, 0.12);
}

.az-contact-item {
  display: grid;
  grid-template-columns: minmax(7rem, 0.35fr) 1fr;
  gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(42, 42, 45, 0.12);
}

.az-contact-item-label {
  color: var(--pink);
  font-size: var(--text-xs);
  line-height: 1;
}

.az-contact-details a {
  color: var(--pink);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;
  transition: background-size 0.35s ease;
}

.az-contact-details a:hover {
  background-size: 100% 0.08em;
}

/* Form contatti */

.az-contact-form-card {
  border-radius: 2rem;
}

.az-contact-form-title {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  line-height: 0.95;
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
}

.az-contact-form-intro {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-medium);
  font-weight: 400;
}

.az-contact-form-wrap {
  width: 100%;
}

/* CONTACT PAGE - GRAVITY FORM / FORM STYLE ON WHITE */

.az-contact-form-wrap .gform_wrapper.gform-theme,
.az-contact-form-wrap .gform_wrapper.gform-theme--orbital,
.az-contact-form-wrap .gform_wrapper {
  margin: 0 !important;

  --gf-color-primary: var(--pink) !important;
  --gf-color-primary-contrast: var(--white) !important;

  --gf-color-in-ctrl: rgba(42, 42, 45, 0.04) !important;
  --gf-color-in-ctrl-contrast: var(--black) !important;
  --gf-color-in-ctrl-primary: var(--pink) !important;
  --gf-color-in-ctrl-primary-contrast: var(--white) !important;

  --gf-color-secondary: var(--black) !important;
  --gf-color-secondary-contrast: var(--white) !important;

  --gf-ctrl-border-color: rgba(42, 42, 45, 0.16) !important;
  --gf-ctrl-label-color-primary: var(--black) !important;
  --gf-ctrl-label-color-secondary: rgba(42, 42, 45, 0.62) !important;

  --gf-radius: 0.5rem !important;
}

.az-contact-form-wrap .gform-body,
.az-contact-form-wrap .gform_body {
  width: 100% !important;
}

.az-contact-form-wrap .gform_fields {
  row-gap: 1.25rem !important;
}

/* Label principali e sub-label */

.az-contact-form-wrap .gfield_label,
.az-contact-form-wrap .gform-field-label,
.az-contact-form-wrap legend.gfield_label {
  margin-bottom: 0.5rem !important;

  color: var(--black) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.az-contact-form-wrap .gform-field-label--type-sub {
  color: rgba(42, 42, 45, 0.62) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.az-contact-form-wrap .gfield_required,
.az-contact-form-wrap .gfield_required_text {
  color: var(--pink) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  font-weight: 400 !important;
}

/* Campi */

.az-contact-form-wrap input[type="text"],
.az-contact-form-wrap input[type="email"],
.az-contact-form-wrap input[type="tel"],
.az-contact-form-wrap input[type="url"],
.az-contact-form-wrap input[type="number"],
.az-contact-form-wrap textarea,
.az-contact-form-wrap select {
  width: 100% !important;

  padding: 1rem !important;

  border: 1px solid rgba(42, 42, 45, 0.16) !important;
  border-radius: 0.5rem !important;

  background: rgba(42, 42, 45, 0.035) !important;
  color: var(--black) !important;

  font-family: var(--font-display) !important;
  font-size: var(--text-base) !important;
  line-height: 1.2 !important;

  box-shadow: none !important;
  outline: none !important;

  transition:
	border-color 0.25s ease,
	background 0.25s ease,
	box-shadow 0.25s ease !important;
}

.az-contact-form-wrap input::placeholder,
.az-contact-form-wrap textarea::placeholder {
  color: rgba(42, 42, 45, 0.42) !important;
}

.az-contact-form-wrap textarea {
  min-height: 9rem !important;
  resize: vertical !important;
}

.az-contact-form-wrap input:focus,
.az-contact-form-wrap textarea:focus,
.az-contact-form-wrap select:focus {
  border-color: var(--pink) !important;
  background: rgba(230, 0, 125, 0.045) !important;
  box-shadow: 0 0 0 0.2rem rgba(230, 0, 125, 0.12) !important;
}

.az-contact-form-wrap select option {
  color: var(--black) !important;
}

/* Descrizioni / contatori */

.az-contact-form-wrap .gfield_description,
.az-contact-form-wrap .ginput_counter,
.az-contact-form-wrap .gform_fileupload_rules {
  color: rgba(42, 42, 45, 0.58) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.25 !important;
}

/* Layout campi complessi */

.az-contact-form-wrap .ginput_complex,
.az-contact-form-wrap .gform-grid-row {
  gap: 1rem !important;
}

.az-contact-form-wrap .gform-grid-col,
.az-contact-form-wrap .ginput_left,
.az-contact-form-wrap .ginput_right,
.az-contact-form-wrap .name_first,
.az-contact-form-wrap .name_last {
  min-width: 0 !important;
}

/* Checkbox / radio */

.az-contact-form-wrap .gchoice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.65rem !important;

  margin-bottom: 0.55rem !important;
}

.az-contact-form-wrap input[type="checkbox"],
.az-contact-form-wrap input[type="radio"] {
  accent-color: var(--pink) !important;
  margin-top: 0.15rem !important;
}

.az-contact-form-wrap .gchoice label {
  color: var(--black) !important;

  font-family: var(--font-display) !important;
  font-size: var(--text-base) !important;
  line-height: 1.25 !important;
}

/* Turnstile */

.az-contact-form-wrap .gfield--type-turnstile .gfield_label {
  display: none !important;
}

.az-contact-form-wrap .ginput_container_turnstile {
  margin-top: 0.5rem !important;
}

/* Submit */

.az-contact-form-wrap .gform_footer,
.az-contact-form-wrap .gform-footer {
  margin-top: 2rem !important;
  padding-bottom: 0 !important;
}

.az-contact-form-wrap .gform_button,
.az-contact-form-wrap input[type="submit"],
.az-contact-form-wrap button[type="submit"],
.az-contact-form-wrap .gform-button {
  width: auto !important;
  min-height: 3.35rem !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 1rem 1.6rem !important;

  border: 0 !important;
  border-radius: 999rem !important;

  background: var(--pink) !important;
  color: var(--white) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;

  cursor: pointer !important;

  box-shadow:
	0 10px 22px rgba(230, 0, 125, 0.22),
	inset 0 1px 1px rgba(255, 255, 255, 0.35) !important;

  transition:
	background 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease,
	box-shadow 0.25s ease !important;
}

.az-contact-form-wrap .gform_button:hover,
.az-contact-form-wrap input[type="submit"]:hover,
.az-contact-form-wrap button[type="submit"]:hover,
.az-contact-form-wrap .gform-button:hover {
  background: var(--black) !important;
  color: var(--white) !important;

  transform: translateY(-2px) !important;

  box-shadow:
	0 14px 28px rgba(42, 42, 45, 0.22),
	inset 0 1px 1px rgba(255, 255, 255, 0.18) !important;
}

/* Errori / validazione */

.az-contact-form-wrap .gform_validation_errors {
  padding: 1rem !important;
  margin-bottom: 1.5rem !important;

  border: 1px solid rgba(230, 0, 125, 0.28) !important;
  border-radius: 0.5rem !important;

  background: rgba(230, 0, 125, 0.06) !important;
  color: var(--pink) !important;

  box-shadow: none !important;
}

.az-contact-form-wrap .gform_validation_errors h2 {
  color: var(--pink) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.az-contact-form-wrap .gform_validation_errors .gform_validation_error_link {
  color: var(--pink) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.az-contact-form-wrap .gfield_error input,
.az-contact-form-wrap .gfield_error textarea,
.az-contact-form-wrap .gfield_error select {
  border-color: var(--pink) !important;
  background: rgba(230, 0, 125, 0.045) !important;
}

.az-contact-form-wrap .validation_message,
.az-contact-form-wrap .gfield_validation_message {
  margin-top: 0.5rem !important;

  color: var(--pink) !important;

  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  line-height: 1.2 !important;
}

/* Mobile */

@media (max-width: 767.98px) {
  .az-contact-form-wrap .ginput_complex,
  .az-contact-form-wrap .gform-grid-row {
	gap: 0.9rem !important;
  }

  .az-contact-form-wrap .gform_button,
  .az-contact-form-wrap input[type="submit"],
  .az-contact-form-wrap button[type="submit"],
  .az-contact-form-wrap .gform-button {
	width: 100% !important;
  }
}

/* Responsive */

@media (max-width: 991.98px) {
  .az-contact-menu-panel {
	min-height: auto;
	border-radius: 1rem;
	padding: 1rem;
  }

  .az-contact-menu {
	margin-top: 4rem;
  }

  .az-contact-item {
	grid-template-columns: 1fr;
	gap: 0.5rem;
  }

  .az-contact-form-card {
	border-radius: 1.5rem;
  }
}

@media (max-width: 575.98px) {
  .az-contact-menu-panel,
  .az-contact-details,
  .az-contact-form-card {
	border-radius: 1rem;
  }

  .az-contact-menu a {
	padding: 0.7rem 0;
  }

  .az-contact-company p,
  .az-contact-item p,
  .az-contact-form-intro {
	font-size: var(--text-base);
  }
}

/* PARTNER PAGE */

.az-partner-section {
  position: relative;
  overflow: hidden;
  color: var(--black);
  margin-top: -2rem;
}

.az-partner-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
	radial-gradient(
	  circle at 12% 20%,
	  rgba(230, 0, 125, 0.10),
	  transparent 30%
	),
	radial-gradient(
	  circle at 88% 78%,
	  rgba(242, 65, 18, 0.10),
	  transparent 32%
	);
  opacity: 0.9;
}

.az-partner-repeater {
  display: flex;
  flex-flow: column;
  gap: 1rem;
}

/* Gruppo partner */

.az-partner-group {
  background: rgba(255, 255, 255, 0.72);
}

.az-partner-group-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;

  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;

  border-bottom: 1px solid rgba(42, 42, 45, 0.12);
}

.az-partner-group-title {
  color: var(--pink);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  line-height: 0.95;
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
}

/* Grid quadrata */

.az-partner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.az-partner-item {
  min-width: 0;
}

/* Card singolo partner */

.az-partner-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;
  aspect-ratio: 1 / 1;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: clamp(1rem, 2.4vw, 2.5rem);

  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.8);

  background: rgba(255, 255, 255, 0.6);
  background-image: none !important;
  background-size: auto !important;
  background-position: initial !important;
  background-repeat: initial !important;

  color: var(--black);
  text-decoration: none;

  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);

  box-shadow:
	0 10px 28px rgba(42, 42, 45, 0.06),
	inset 0 1px 1px rgba(255, 255, 255, 0.72);

  will-change: transform;

  transition:
	transform 0.35s ease,
	box-shadow 0.35s ease,
	border-color 0.25s ease,
	background-color 0.25s ease,
	opacity 0.25s ease;
}

.az-partner-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;

  background:
	radial-gradient(
	  ellipse at 50% 30%,
	  rgba(255, 255, 255, 0.18) 0%,
	  rgba(255, 255, 255, 0.04) 42%,
	  rgba(230, 0, 125, 0.16) 100%
	);

  opacity: 0;
  transition: opacity 0.35s ease;
}

.az-partner-card:hover,
.az-partner-card:focus {
  transform: translateY(-4px) scale(1.02);

  border-color: rgba(230, 0, 125, 0.18);
  background-color: rgba(255, 255, 255, 0.7);
  background-image: none !important;
  background-size: auto !important;

  color: var(--black);

  box-shadow:
	0 12px 24px rgba(42, 42, 45, 0.065),
	inset 0 1px 1px rgba(255, 255, 255, 0.78);
}

.az-partner-card:hover::after,
.az-partner-card:focus::after {
  opacity: 1;
}

/* Logo / placeholder */

.az-partner-logo-wrap {
  position: relative;
  z-index: 1;

  width: 100%;
  height: 100%;

  min-height: 0;

  display: flex;
  align-items: center;
  justify-content: center;
}

.az-partner-logo-wrap img {
  display: block;

  max-width: 82%;
  max-height: 68%;

  width: auto;
  height: auto;

  object-fit: contain;

  filter: grayscale(1) saturate(0);
  opacity: 0.76;

  will-change: transform;

  transition:
	transform 0.32s ease,
	filter 0.32s ease,
	opacity 0.32s ease;
}

.az-partner-card:hover .az-partner-logo-wrap img,
.az-partner-card:focus .az-partner-logo-wrap img {
  transform: scale(1.06);
  filter: grayscale(0) saturate(1.1);
  opacity: 1;
}

.az-partner-logo-wrap-empty {
  opacity: 0.16;
}

.az-partner-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: clamp(4rem, 10vw, 7rem);
  height: clamp(4rem, 10vw, 7rem);

  border-radius: 50%;

  background: var(--pink);
  color: var(--white);

  font-family: var(--font-display);
  font-size: clamp(2.5rem, 7vw, 5rem);
  line-height: 1;
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  text-transform: lowercase;
}

/* Nome partner */

.az-partner-name {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;

  display: block;

  color: var(--pink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  letter-spacing: 0;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;

  overflow-wrap: anywhere;
}

/* Freccia link */

.az-partner-card-arrow {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 3;

  width: 2.45rem;
  height: 2.45rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 999rem;

  background: rgba(230, 0, 125, 0.08);
  color: var(--pink);

  font-size: var(--text-xs);
  line-height: 1;

  opacity: 0;
  transform: translateY(0.35rem);

  transition:
	opacity 0.25s ease,
	transform 0.25s ease,
	background 0.25s ease,
	color 0.25s ease;
}

.az-partner-card:hover .az-partner-card-arrow,
.az-partner-card:focus .az-partner-card-arrow {
  opacity: 1;
  transform: translateY(0);
  background: var(--pink);
  color: var(--white);
}

.az-partner-card:hover .az-partner-card-arrow .icon-anim,
.az-partner-card:focus .az-partner-card-arrow .icon-anim {
  color: var(--white);
  transform: translate(0, 0);
}

/* Evita sovrapposizione nome/freccia */

.az-partner-card:has(.az-partner-card-arrow) .az-partner-name {
  right: 3.75rem;
  text-align: left;
}

/* Cosa offriamo */

.az-partner-offer-content p {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-medium);
  font-weight: 400;
  margin-bottom: 1.15em;
}

.az-partner-offer-content p:last-child {
  margin-bottom: 0;
}

.az-partner-offer-content a {
  color: var(--pink);
  text-decoration: none;

  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;

  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.az-partner-offer-content a:hover {
  color: var(--pink);
  background-size: 100% 0.08em;
}

/* Responsive */

@media (min-width: 768px) {
  .az-partner-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .az-partner-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1600px) {
  .az-partner-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .az-partner-section {
	margin-top: -1.5rem;
  }

  .az-partner-group-title {
	font-size: var(--text-xl);
  }

  .az-partner-group-heading {
	display: block;
  }

  .az-partner-card {
	border-radius: 1rem;
  }
}

@media (max-width: 575.98px) {
  .az-partner-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
  }

  .az-partner-card {
	padding: 1rem;
	border-radius: 1rem;
  }

  .az-partner-logo-wrap img {
	max-width: 84%;
	max-height: 64%;
  }

  .az-partner-name {
	left: 0.75rem;
	right: 0.75rem;
	bottom: 0.75rem;
	font-size: clamp(0.62rem, 2.6vw, var(--text-xs));
  }

  .az-partner-card-arrow {
	display: none;
  }

  .az-partner-card:has(.az-partner-card-arrow) .az-partner-name {
	right: 0.75rem;
	text-align: center;
  }

  .az-partner-placeholder {
	width: clamp(3.25rem, 18vw, 5rem);
	height: clamp(3.25rem, 18vw, 5rem);
	font-size: clamp(2rem, 12vw, 3.5rem);
  }

  .az-partner-offer-content p {
	font-size: var(--text-base);
  }
}

/* PRIVACY / COOKIE POLICY PAGE */

.az-policy-section {
  position: relative;
  overflow: visible;
  color: var(--black);
  margin-top: -2rem;
}

.az-policy-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
	radial-gradient(
	  circle at 12% 16%,
	  rgba(230, 0, 125, 0.10),
	  transparent 30%
	),
	radial-gradient(
	  circle at 88% 72%,
	  rgba(242, 65, 18, 0.10),
	  transparent 32%
	);
  opacity: 0.9;
}

.az-policy-section > .row {
  position: relative;
  z-index: 1;
}

.az-policy-sidebar {
  position: sticky;
  top: 1.25rem;
}

.az-policy-owner-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;

  padding: 1rem;

  border-radius: 1rem;
  background: var(--pink);
  color: var(--white);
}

.az-policy-owner-icon {
  width: 2.75rem;
  height: 2.75rem;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 999rem;
  background: rgba(255, 255, 255, 0.18);
  color: var(--white);

  font-size: 1.1rem;
  line-height: 1;
}

.az-policy-owner-card h2 {
  margin: 0;

  color: var(--white);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  font-weight: 400;
  text-transform: uppercase;
}

.az-policy-owner-card p,
.az-policy-owner-card a {
  color: var(--white);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.az-policy-owner-card a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;
}

.az-policy-owner-card a:hover {
  color: var(--white);
  background-size: 100% 0.08em;
}

.az-policy-note {
  padding: 1rem;

  border-radius: 1rem;
  background: rgba(230, 0, 125, 0.06);
  border: 1px solid rgba(230, 0, 125, 0.12);
}

.az-policy-note p {
  color: var(--black);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

/* Content da backend */

.az-policy-entry {
  color: var(--black);
}

.az-policy-entry > *:first-child {
  margin-top: 0;
}

.az-policy-entry > *:last-child {
  margin-bottom: 0;
}

.az-policy-entry h1 {
  color: var(--pink);
  font-family: var(--font-display);
  margin-bottom: 2rem;
}

.az-policy-entry h2 {
  margin-top: 3rem;
  margin-bottom: 1.25rem;
  color: var(--pink);
  font-family: var(--font-mono);
  font-size: var(--text-md);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
}

.az-policy-entry h2:first-child {
  margin-top: 0;
}

.az-policy-entry h3 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;

  color: var(--black);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: uppercase;
}

.az-policy-entry p,
.az-policy-entry li {
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  font-weight: 400;
}

.az-policy-entry p {
  margin-bottom: 1rem;
}

.az-policy-entry ul,
.az-policy-entry ol {
  margin: 1rem 0 1.5rem;
  padding-left: 1.25rem;
}

.az-policy-entry li {
  margin-bottom: 0.5rem;
}

.az-policy-entry strong {
  color: var(--black);
  font-weight: 600;
}

.az-policy-entry a {
  color: var(--pink);
  text-decoration: none;

  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 0% 0.08em;
  background-position: 0 95%;

  transition:
	background-size 0.35s ease,
	opacity 0.25s ease;
}

.az-policy-entry a:hover {
  color: var(--pink);
  background-size: 100% 0.08em;
}

.az-policy-entry hr {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid rgba(42, 42, 45, 0.12);
  opacity: 1;
}

/* Blocchi WordPress */

.az-policy-entry .wp-block-heading {
  scroll-margin-top: 2rem;
}

.az-policy-entry .wp-block-quote {
  margin: 2rem 0;
  padding: 1.25rem;

  border-left: 0;
  border-radius: 1rem;
  background: rgba(230, 0, 125, 0.08);
}

.az-policy-entry .wp-block-quote p {
  margin-bottom: 0;
  color: var(--black);
}

.az-policy-entry .wp-block-table {
  overflow-x: auto;
}

.az-policy-entry table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.az-policy-entry th,
.az-policy-entry td {
  padding: 0.85rem;
  border-bottom: 1px solid rgba(42, 42, 45, 0.12);
  text-align: left;
  vertical-align: top;
}

.az-policy-entry th {
  color: var(--pink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.1;
  text-transform: uppercase;
  font-weight: 400;
}

/* Mobile */

@media (max-width: 991.98px) {
  .az-policy-section {
	margin-top: -1.5rem;
  }

  .az-policy-sidebar {
	position: relative;
	top: auto;
  }

  .az-policy-owner-card {
	border-radius: 1rem;
  }
}

@media (max-width: 575.98px) {
  .az-policy-owner-card {
	grid-template-columns: 1fr;
  }

  .az-policy-owner-icon {
	width: 2.5rem;
	height: 2.5rem;
  }

  .az-policy-entry h2 {
	margin-top: 2.25rem;
  }

  .az-policy-entry h3 {
	margin-top: 1.5rem;
  }
}

/* 404 PAGE */

.az-404-section {
  position: relative;
  color: var(--black);
  overflow: hidden;
}

.az-404-inner {
  position: relative;
}

.az-404-bg-mark {
  position: absolute;
  right: -0.08em;
  bottom: -0.18em;
  z-index: 0;

  color: rgba(230, 0, 125, 0.08);
  font-family: var(--font-mono);
  font-size: clamp(10rem, 34vw, 34rem);
  line-height: 0.8;
  letter-spacing: -0.12em;
  pointer-events: none;
  user-select: none;
}

.az-404-inner > .row {
  position: relative;
  z-index: 1;
}

.az-404-content {
  max-width: 62rem;
}

.az-404-title {
  max-width: 11ch;
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 600;
  text-transform: lowercase;
}

.az-404-text {
  max-width: 48rem;
  color: var(--black);
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  font-weight: 400;
}

.az-404-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.az-404-actions .az-button-main {
  width: auto;
}

.az-404-secondary-link {
  min-height: 3.35rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;

  padding: 1rem 1.4rem;
  border-radius: 999rem;

  background: rgba(230, 0, 125, 0.08);
  color: var(--pink);

  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;

  transition:
	background 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease;
}

.az-404-secondary-link:hover {
  color: var(--pink);
  background: rgba(230, 0, 125, 0.14);
  transform: translateY(-2px);
}

.az-404-card {
  position: relative;
  top: auto;
}

.az-404-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.az-404-nav a {
  min-height: 3rem;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  padding: 0.8rem 1rem;
  border-radius: 999rem;

  background: rgba(230, 0, 125, 0.08);
  color: var(--pink);

  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;

  transition:
	background 0.25s ease,
	color 0.25s ease,
	transform 0.25s ease;
}

.az-404-nav a:hover {
  color: var(--pink);
  background: rgba(230, 0, 125, 0.14);
  transform: translateY(-1px);
}

/* Mobile */

@media (max-width: 991.98px) {
  .az-404-section {
	min-height: auto;
  }

  .az-404-title {
	max-width: 10ch;
  }

  .az-404-card {
	margin-bottom: 1rem;
  }
}

@media (max-width: 575.98px) {
  .az-404-title {
	max-width: none;
	font-size: var(--text-2xl);
  }

  .az-404-text {
	font-size: var(--text-base);
  }

  .az-404-actions,
  .az-404-actions .az-button-main,
  .az-404-secondary-link {
	width: 100%;
  }

  .az-404-actions {
	align-items: stretch;
  }

  .az-404-bg-mark {
	right: -0.12em;
	bottom: 0.04em;
	font-size: clamp(8rem, 42vw, 14rem);
  }
}