/* VARIABLES */
:root {
	--accent: #FFE600;
	--primary: #FFE600;
	
	--radius: 0;

	--violet: #895CFF;
	--blue: #753EFF;
	--purple: #895CFF;
	--yellow: #F0FE53;
	--green: #c2ff00;
	--red: #FC4D00;
	--pink: #FF51A4;
	--warmup: #A9FE06;
}

/* TYPOGRAPHY */
@font-face {
	font-family: 'Right Grotesk Wide';
	src: url('../fonts/RightGrotesk-WideBold.woff2') format('woff2'),
		url('../fonts/RightGrotesk-WideBold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Right Grotesk Wide';
	src: url('../fonts/RightGrotesk-WideBlack.woff2') format('woff2'),
		url('../fonts/RightGrotesk-WideBlack.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Right Grotesk Wide';
	src: url('../fonts/RightGrotesk-WideMedium.woff2') format('woff2'),
		url('../fonts/RightGrotesk-WideMedium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Right Grotesk Wide';
	src: url('../fonts/RightGrotesk-WideRegular.woff2') format('woff2'),
		url('../fonts/RightGrotesk-WideRegular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

body {
	font-family: 'Right Grotesk Wide', sans-serif;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.3;
}

.alert-warning {
  font-family: 'Right Grotesk Wide';
}

.btn {
	border-radius: 0;
	text-transform: uppercase !important;
	padding: .6rem 1.4rem .8rem 1.4rem !important;
}

#main-menu li {
	margin-bottom: 0;
}



/* FONT STYLES */
.h-xxxl {
	font-weight: 900;
	text-transform: uppercase;
	font-size: min(11.4rem, 10vw);
}

.h-xxl, h1 {
	font-weight: 900;
	text-transform: uppercase;
	line-height: .9;
}

.h-xl, h2 {
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1;
}

.h-l, h3 {
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1;
}

.h-m, h4 {
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1;
}

.p-m {
	text-transform: none;
}

@media (max-width: 991.98px) {
	.h-xl, h2 {
		font-size: 2.5rem;
	}
}

/* HEADER */
.navbar-nav,
.header__logo {
	border-radius: 0;
}

.header__logo {
	background: transparent;
	backdrop-filter: none;
	padding: 0;
	margin-right: 1rem;
}

.header__logo:hover {
	background: transparent;
}

.navbar-toggler {
	border-radius: 0;
	padding: .8rem 1.2rem;
}

@media (max-width: 991.98px) {
	.navbar-nav .btn {
		font-weight: 900;
	}
	.header__logo img,
	.header__logo svg {
		width: 3.4rem;
		transform: translateY(3px);
	}
}

/* HOME */
.back-wrapper {
	background: linear-gradient(180deg, #5ABEF3, #B3D3DE);
	transition: background .5s ease;
}

.dark-mode .back-wrapper {
	background: linear-gradient(180deg, #00002E, #20446D);
}

.back-wrapper__video {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.back-wrapper__video video {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: .9;
}

.marquee__wrapper p {
	letter-spacing: 0.005em;
}

/* LINEUP */
.lineup .azlineup {
	border-radius: 0;
}

.btn--days {
	color: var(--black);
	background-color: var(--accent);
	padding-block: .25rem !important;
}

.lineup__content,
.lineup-home__header {
	filter: drop-shadow(0 0 16px rgba(0,0,0,.2));
}

.lineup__many-more {
	filter: drop-shadow(0 0 16px rgba(0,0,0,.6));
	opacity: 0;
}

.lineup__content-date_wrap {
	margin-bottom: var(--space-m);
}

.lineup__content-date .btn {
	background-color: var(--accent);
	padding-block: .25rem !important;
	font-size: 2rem;
}

.back-wrapper__video {
	background: #85B5C5;
}

.lineup-home__dates,
.lineup-home__header-barcelona {
	background: var(--black);
	color: var(--white);
}

.lineup__item,
.lineup__item .lineup__item-name,
.lineup__item .lineup__item-show {
	font-weight: 900;
}

.lineup__item:hover .lineup__item-name,
.lineup__item:hover .lineup__item-show {
	color: var(--black);
}

.lineup__item-container {
	padding-bottom: .3rem;
}

.lineup__item-show {
	padding-bottom: .2rem;
}

.lineup__item--sm .lineup__item-name {
	padding-bottom: .3rem;
}

@media (min-width: 991.98px) {
	.lineup__item:hover .lineup__item-container {
		background-color: var(--primary);
	}
	
	.lineup__item:hover .lineup__item-show {
		background-color: var(--primary);
	}
	
	.lineup__item--sm:hover .lineup__item-name,
	span.lineup__item:hover {
		background: var(--primary);
	} 
	.lineup__many-more {
		filter: drop-shadow(0 0 12px rgba(0,0,0,.4));
		opacity: 0;
	}
}

.lineup__item,
.lineup__item .lineup__item-name {
	line-height: .8;
}

.lineup__item:after {
	z-index: -10;
}

.back-wrapper__img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.back-wrapper__img img {
	width: 100%;
	pointer-events: none;
}

.lineup-home__dates, .lineup-home__header-barcelona {
	background: transparent;
	color: var(--white);
}

.lineup-home__logo-brunch {
	width: min(60rem,37vw);
	max-width: none;
}

.lineup-home__header-barcelona, .lineup-home__logo-estrella {
	margin-top: 3rem;
}

.lineup-home__logo-estrella {
	width: 100px;
}

.lineup__content-date .btn,
.lineup .azlineup {
	padding: 0 0 .4rem 0 !important;
	line-height: 1;
	font-weight: 900;
	pointer-events: none;
}

.lineup .azlineup p {
	font-weight: 900;
}

@media (max-width: 991.98px) {
	.lineup__content-date .btn,
	.lineup__many-more p {
		font-size: 1.15rem;
	}
	.lineup-home__header-barcelona {
		font-size: 1.3rem;
	}
	.lineup-home__logo-brunch {
		width: 70vw;
	}
	.lineup-home__logo-estrella {
		width: 65px;
		padding-bottom: 1rem;
	}
	.lineup__content-date .btn,
	.lineup .azlineup {
		padding: 0 0 0 0 !important;
	}
	.lineup__content-date a,
	.lineup__content-date span {
		font-size: 1rem;
	}
	.lineup__item-container {
		padding-bottom: 0;
	}
	
	.lineup__item-show {
		padding-bottom: 0;
		transform: translateY(0);
	}
	
	.lineup__item--sm .lineup__item-name {
		padding-bottom: 0;
	}
	
	.lineup__item {
		font-size: 1.7rem;
	}
	.lineup-home__header-barcelona, .lineup-home__logo-estrella {
		margin-top: 0;
	}
}

/* ARTIST PAGE */
.artist-header {
	position: relative;
	min-height: 80svh;
}

.single-artista .back-wrapper {
	min-height: 80svh;
}

.artist-header__content {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: var(--black);
	padding: var(--space-xs) 1.75rem var(--space-s) 1.75rem;
	display: flex;
	gap: 1rem;
}

.artist-content__data {
	background: var(--primary);
	transition: var(--transition-fast);
}

.artist-content__data:has(.artist-content__cta .btn:hover) {
	background: var(--white);
}

@media (max-width: 991.98px) {
	.artist-header__content {
		padding: var(--space-s) var(--space-s);
	}
	.artist-content__wrapper {
		padding-top: 0;
	}
}

/* SCHEDULE */
.lineup-card__metas {
	top: 0;
	left: 0;
}
.section-schedule .lineup-card .lineup-card__time {
	border-radius: 0;
}

.btn-favorite {
	top: 0;
	right: 0;
}

.btn__favorite i {
	border-radius: 0;
}

.btn__favorite i:hover {
	color: var(--black);
}

/* TICKET */
.ticket-card--vip {
	background: #2470EF;
}

.ticket-card--vip.ticket-card--active li strong,
.ticket-card--vip .ticket-card__message {
	background: color-mix(in srgb,#2470EF 75%,black)
}

/* FOOTER */
.newsletter h3 span {
	text-transform: uppercase;
	font-size: 3rem;
	line-height: .9;
	padding: .3rem 1.5rem .6rem 1rem;
}
.footer__lang {
	border-radius: 0;
	padding: 0;
}
.footer__social a {
	border-radius: 0;
}
.newsletter h3 span:last-child:after {
	z-index: -1;
}

@media (max-width: 991.98px) {
	.newsletter h3 span {
		font-size: 2rem;
		line-height: 1;
	}
	#btn-newsletter {
		width: 100%;
	}
	.newsletter h3 span:last-child:after {
		z-index: -1;
		transform: translateY(4px);
	}
	.footer__social {
		gap: 0;
	}
	.footer__social a img {
		max-height: 1.4rem;
	}
	.footer__social a {
		width: 3rem;
		height: 2.75rem;
		background: rgba(0, 0, 0, .25);
		color: white;
		filter: invert(1);
	}
	.footer__social a:hover {
		background: rgba(0, 0, 0, .25);
	}
	.footer__lang {
		transform: translateX(0);
	}
	.sponsors a.sponsors--estrella {
		width: 10rem;
	}
}

@media (max-width: 767.98px) {
	.footer__top {
		margin-bottom: 2rem;
	}
}

/* LEGAL PAGE */
.page-general .wp-content a {
	color: var(--black);
}

.page-general .wp-content p,
.page-general .wp-content li {
	font-size: 1.25rem !important;
}

.page-general .wp-content .has-medium-font-size {
	font-size: 1.5rem !important;
	font-weight: 900 !important;
}

.page-general .wp-content h1, .page-general .wp-content h2, .page-general .wp-content h3, .page-general .wp-content h4 {
	font-weight: 900;
}

/* ACCORDION */
.accordion-collapse {
	font-weight: 400;
}

.accordion-collapse a {
	background: var(--primary);
	display: inline-block;
	padding: 0 5px 5px 5px;
	line-height: 1;
}

@media (min-width: 767.98px) {
	.accordion-collapse a:hover {
		color: var(--primary);
		background: var(--black);
	}
}



/* SANT JORDI */
@font-face {
	font-family: 'ABC Gaisyr';
	src: url('../fonts/ABCGaisyr-Regular.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.page-template-page-sant-jordi {
	background-color: #F4E0E8;
	color: #34221B;
}

.page-template-page-sant-jordi .newsletter {
	background: #e0ced5;
}

.sant-jordi {
	background-color: #F4E0E8;
	padding-block: 10rem;
	position: relative;
	font-family: 'ABC Gaisyr';
}

.sant-jordi__content {
	padding-inline: 1rem;
}

@media (min-width: 1400px) {
	.sant-jordi__content {
		margin: -4rem auto 0 auto;
		max-width: 70rem;
	}
}

.sant-jordi h2 {
	font-size: clamp(16px, 3.25vw, 50px);
	text-transform: uppercase;
}

.sant-jordi p {
	font-size: clamp(12px, 2.25vw, 24px);
	text-transform: uppercase;
}

.sant-jordi:before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 30rem;
	background: linear-gradient(to top, #A69291, #F4E0E8 );
	display: none;
}

.sant-jordi__title {
	padding: 0 4vw;
	max-width: 100rem;
	margin: 0 auto;
}

.sant-jordi__intro {
	display: flex;
	gap: 2rem;
	align-items: center;
	padding: 0 4vw;
	max-width: 100rem;
	margin: -3rem auto 1rem auto;
}

.sant-jordi__intro--left,
.sant-jordi__intro--right {
	flex: 0 1 20%;
}

.sant-jordi__intro-content {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sant-jordi__intro-content p {
	margin-bottom: 0;
}

.sant-jordi__footer,
.sant-jordi-cta {
	padding: 0 4vw;
	max-width: 100rem;
	margin: 0 auto;
	text-align: center;
}

.sant-jordi-code {
	background-color: #34221B;
	color: #F4E0E8;
	padding: 1rem 3rem;
	width: fit-content;
	margin: 0 auto 2rem auto;
}

.sant-jordi-code p {
	margin: 0;
	line-height: 1;
	font-size: clamp(14px, 2.15vw, 32px);
	margin-top: .5rem;
}

.sant-jordi-code h2 {
	font-family: 'Right Grotesk Wide';
	font-size: clamp(21px, 3.25vw, 48px);
}

.home-banner--sant-jordi {
	overflow: hidden;
}

.home-banner__link img {
	transition: all .3s ease;
	display: block;
}

.home-banner__link:hover img {
	transform: scale(1.02);
}

@media (max-width: 991px) {
	.sant-jordi {
		padding-top: 6rem;
		padding-bottom: 2rem;
	}
	.sant-jordi:before {
		height: 10rem;
		display: none;
	}
	.sant-jordi__intro {
		align-items: flex-start;
		margin-top: 0;
	}
	.sant-jordi__intro-content {
		gap: 1rem;
		margin-top: 1rem;
	}
	.sant-jordi__intro--left,
	.sant-jordi__intro--right {
		flex: 0 1 30%;
		margin-top: -1rem;
	}
	.sant-jordi-code {
		padding: .5rem 2rem;
		margin: 0 auto 2rem auto;
	}
	.sant-jordi__footer {
		margin-top: 4rem;
	}
}

.pre-video {
	padding: 0;
}

.pre-video__wrapper {
	height: 70vh;
	background: black;
}

.pre-video__wrapper video {
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: center center;
}

.pre-banner {
	padding-block: 2rem;
}

.pre-banner__wrapper {
	background: #007CFC;
	color: #FFF;
	padding: 3rem;
	position: relative;
	overflow: hidden;
}

.pre-banner__flor {
	position: absolute;
	max-width: 40rem;
}

.pre-banner__flor--left {
	top: 50%;
	left: 0;
	transform: translate(-70%, -50%);
}

.pre-banner__flor--right {
	top: 50%;
	right: 0;
	left: auto;
	transform: translate(70%, -50%);
}

.pre-banner__header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

.pre-banner__header img {
	flex: 0 1 18rem;
	max-width: 18rem;
	width: 100%;
}

.pre-banner__header p {
	text-align: center;
	margin: 0;
}

.pre-banner__content {
	margin-block: 2rem;
}

.pre-banner__content h2 {
	text-align: center;
	max-width: 15ch;
	line-height: .9;
	margin: 0 auto;
}

.pre-banner__cta {
	display: flex;
	justify-content: center;
}

@media (max-width: 991px) {
	
	.pre-banner {
		padding-top: .8rem;
	}
	
	.pre-banner__flor {
		display: none;
	}
	
	.pre-banner__wrapper {
		padding: 2rem 1rem 1rem 1rem;
	}
	
	.pre-banner__header {
		flex-direction: column;
		gap: 0;
	}
	
	.pre-banner__header img {
		flex: none;
		margin-block: 1rem;
	}
	
	.pre-banner__cta a {
		width: 100%;
	}
}
