/*
Theme Name: Tema Corporate AI GO
Theme URI: https://blisq.pt
Author: Blisq Creative
Author URI: https://blisq.pt
Description: Tema base WordPress corporate da Blisq Creative. Modular, sem dependências externas. Código transversal em /src e /modules; código de cada projeto em /inc.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, translation-ready
Text Domain: blisq
*/

/* =========================================================
    TIPOGRAFIA
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
/* =========================================================
    VARIAVEIS E RESETS
   ========================================================= */

:root {
	--white: #FFF;
	--black: #000;
	--deep-teal: #19383C;
	--warm-ivory: #F1F0EA;
	--sage: #829672;
	--dark-teal: #0D262B;
	--gray: #868686;
	--mist: #EAEFF1;
	--blue-gray: #9CA7AB;
	--dark-brown: #732512;
	--terracotta: #DB5E33;
	--muted-sage: #AEB68F;
	--forest-teal: #112A2D;
	--burnt-orange: #D1552F;
	--light-sage: #949E6C;
	--rust: #B64A27;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	position: relative;
	display: block;
	background-color: var(--warm-ivory);
}

body {
	font-family: "Archivo", sans-serif;
	position: relative;
	display: block;
	background-color: transparent;
	overflow-x: clip;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

figure {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

::selection {
	background-color: var(--deep-teal);
	color: var(--warm-ivory);
}

.block {
	display: block;
}

.none {
	display: none;
}

html.is-modal-open {
	overflow: hidden;
}

html.is-modal-open body {
	padding-right: var(--scrollbar-width, 0);
}

/* =========================================================
    GENÉRICOS
   ========================================================= */
.h2_general {
	color: var(--deep-teal);
	font-size: 38px;
	font-style: normal;
	font-weight: 800;
	line-height: 120%;
	text-wrap: balance;
}

.h2_general--light {
	color: var(--muted-sage);
}

.p_general {
	color: var(--gray);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 166%;
}

.btn_link_general {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	color: var(--gray);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 166%;
	transition: color 0.3s ease;
}

.btn_link_general::after {
	content: "";
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/arrowDiag.svg") no-repeat center / contain;
	mask: url("assets/icons/arrowDiag.svg") no-repeat center / contain;
	transition: transform 0.3s ease;
}

.btn_link_general:hover {
	color: var(--deep-teal);
}

.btn_link_general:hover::after {
	transform: translate(3px, -3px);
}

.fade_slot {
	position: relative;
	overflow: hidden;
}

.fade_slot__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	z-index: 0;
	transition: opacity 0s linear 1s;
}

.fade_slot__img.is-active {
	opacity: 1;
	z-index: 1;
	transition: opacity 1s ease;
}

/* Botão "Ver Menu" */
.btn_general {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 20px 30px;
	border-radius: 9px;
	color: var(--dark-teal);
	font-family: "Inter", sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	background-color: var(--sage);
	transition: all 0.3s ease;
	cursor: pointer;
}

.btn_general:hover {
	background-color: var(--muted-sage);
	transform: translateY(-2px);
}

.btn_general--rust {
	color: var(--warm-ivory);
	background-color: var(--rust);
}

.btn_general--rust:hover {
	background-color: var(--burnt-orange);
}

.h2_general--ivory {
	color: var(--warm-ivory);
}

.p_general--light {
	color: var(--warm-ivory);
}

/* =========================================================
    WHATSAPP FAB
   ========================================================= */
.whatsapp-fab {
	position: fixed;
	z-index: 100;
	right: 43px;
	bottom: 35px;
	width: 40px;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s ease, box-shadow .2s ease;
}

.whatsapp-fab:hover {
	transform: scale(1.08);
}

.whatsapp-fab:focus-visible {
	outline: 2px solid var(--warm-ivory);
	outline-offset: 4px;
}

.whatsapp-fab__icon {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* =========================================================
    HERO SECTION
   ========================================================= */
.hero {
	position: relative;
	background-color: var(--deep-teal);
	padding-bottom: 4.7%;
}

.liz-curved-slider {
	position: relative;
	width: 100%;
	aspect-ratio: 1920 / 722;
	overflow: hidden;
	background: transparent;
}

.liz-curved-slider::after {
	content: "";
	position: absolute;
	top: -48%;
	right: -28%;
	width: 48.385417%;
	height: auto;
	aspect-ratio: 929 / 844;
	background-image: var(--heroBg, none);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top right;
	z-index: 10;
	pointer-events: none;
}

.liz-curved-slider__group {
	position: absolute;
	left: 50%;
	top: 0;
	width: 106.9791667%;
	height: 100%;
	transform: translateX(-50%);
}

.liz-curved-slider__viewport {
	position: absolute;
	left: 1.5579357%;
	top: 10.4226045%;
	width: 96.5288705%;
	height: 78.8212785%;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
	overscroll-behavior-x: contain;
	z-index: 1;
}

.liz-curved-slider__viewport::-webkit-scrollbar {
	display: none;
}

.liz-curved-slider__track {
	display: flex;
	align-items: center;
	gap: 0.740713%;
	width: 100%;
	height: 100%;
}

.liz-curved-slider__item {
	position: relative;
	flex: 0 0 auto;
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: #111;
}

.liz-curved-slider__item--size-a {
	width: 18.918312%;
	height: 95.141480%;
}

.liz-curved-slider__item--size-b {
	width: 19.657939%;
	height: 100%;
}

.liz-curved-slider__item--size-c {
	width: 19.600992%;
	height: 83.558873%;
}

.liz-curved-slider__item--size-d {
	width: 19.430001%;
	height: 99.032652%;
}

.liz-curved-slider__item--size-a img,
.liz-curved-slider__item--size-a video {
	object-position: 47% 50%;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.liz-curved-slider__item--size-b img,
.liz-curved-slider__item--size-b video {
	object-position: 50% 50%;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.liz-curved-slider__item--size-c img,
.liz-curved-slider__item--size-c video {
	object-position: 54% 48%;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.liz-curved-slider__item--size-d img,
.liz-curved-slider__item--size-d video {
	object-position: 50% 46%;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.liz-curved-slider__ellipse {
	position: absolute;
	left: 0;
	width: 100%;
	height: 23.535%;
	border-radius: 50%;
	background: var(--deep-teal);
	z-index: 5;
	pointer-events: none;
}

.liz-curved-slider__ellipse--top {
	top: 0;
}

.liz-curved-slider__ellipse--bottom {
	top: 73.6842105%;
}

.hero__content {
	position: relative;
	margin: 0 auto;
	padding: 0 63px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: start;
	z-index: 6;
	margin-top: -10.3%;
}

.hero__badge-left {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.hero__badge-link {
	display: inline-flex;
	width: max-content;
}

.hero__badge-img {
	width: 208px;
	height: auto;
	transform: rotate(30deg);
}

.hero__center {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-top: 45px;
}

.hero__logo-img {
	width: 52px;
	height: auto;
	margin-bottom: -8px;
}

.hero__title {
	color: var(--warm-ivory);
	text-align: center;
	font-size: 80px;
	font-style: normal;
	font-weight: 800;
	line-height: 108.577%;
	margin-bottom: 13px;
	max-width: 618px;
	text-wrap: balance;
}

.hero__actions {
	display: flex;
	align-items: center;
	gap: 37px;
}

/* Botão "Contactar" */
.hero__btn-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
	color: var(--warm-ivory);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	background: transparent;
	transition: all 0.3s ease;
	cursor: pointer;
}

.hero__btn-contact:hover {
	opacity: 0.8;
}

.hero--page .hero__content {
	margin-top: 0;
	padding-top: 2%;
}

/* =========================================================
    INTRO SECTION
   ========================================================= */
.intro {
	display: flex;
	align-items: center;
	padding: 15px;
	gap: 5.4%;
}

.intro__images {
	display: flex;
	gap: 18px;
	flex: 0 0 55.3%;
}

.intro__slot {
	flex: 1;
	aspect-ratio: 25 / 33;
}

.intro__content {
	flex: 1;
	max-width: 547px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.intro__highlight {
	position: relative;
	display: inline-block;
	white-space: nowrap;
}

.intro__highlight::after {
	content: "";
	position: absolute;
	inset: -10px -18px;
	background: url("assets/images/Ellipse.svg") no-repeat center / 100% 100%;
	pointer-events: none;
}

/* =========================================================
    MENU SECTION
   ========================================================= */
.menu {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100dvh;
	padding: 108px 20px 0;
	background: var(--warm-ivory) url("assets/images/bgSection.webp") no-repeat center / cover;
}

.menu::before {
	content: "";
	position: absolute;
	left: 14.6%;
	bottom: -22%;
	width: 21.8%;
	height: 69.9%;
	background: url("assets/images/logoGreen.svg") no-repeat left bottom / contain;
	pointer-events: none;
	z-index: 0;
}

.menu::after {
	content: "";
	position: absolute;
	bottom: -6%;
	right: 23%;
	width: 11%;
	aspect-ratio: 1;
	background: url("assets/images/logoCircleOrange.webp") no-repeat center / contain;
	pointer-events: none;
	z-index: 0;
}

.menu__title,
.menu__tabs,
.menu__ticket {
	position: relative;
	z-index: 1;
}

.menu__title {
	margin-bottom: 12px;
	text-align: center;
}

.menu__title,
.menu__tabs {
	flex-shrink: 0;
}

/* Botões das categorias */
.menu__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	max-width: 875px;
	margin: 0 auto 28px;
}

.menu__tab {
	padding: 12px 14px;
	border: 0;
	border-radius: 8px;
	color: #647276;
	background-color: var(--warm-ivory);
	font-family: "Archivo", sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 108.724%;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 0.3s ease, background-color 0.3s ease;
}

.menu__tab:hover {
	background-color: #E0DED7;
}

.menu__tab[aria-selected="true"] {
	color: var(--mist);
	background-color: var(--dark-teal);
}

/* Painel (talão) */
.menu__ticket {
	display: flex;
	flex-direction: column;
	flex: 0 1 auto;
	min-height: 0;
	width: 100%;
	max-width: 670px;
	background-color: var(--dark-brown);
}

/* Bordas serrilhadas */
.menu__ticket::before,
.menu__ticket::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 12px;
	background-color: var(--dark-brown);
	-webkit-mask: url("assets/images/borderSer.svg") repeat-y left top / 14px 16px;
	mask: url("assets/images/borderSer.svg") repeat-y left top / 14px 16px;
}

.menu__ticket::before {
	left: -12px;
}

.menu__ticket::after {
	right: -12px;
	transform: scaleX(-1);
}

.menu__scroll {
	flex: 0 1 auto;
	min-height: 0;
	padding: 30px 20px;
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.menu__scroll::-webkit-scrollbar {
	display: none;
}

.menu__panel {
	padding: 30px;
	border: 1px solid var(--terracotta);
}

/* Lista */
.menu__list {
	list-style: none;
}

.menu__item {
	padding: 8px 0;
}

.menu__item:first-child {
	padding-top: 0;
}

.menu__item:last-child {
	padding-bottom: 0;
}

.menu__row {
	display: flex;
	align-items: center;
	gap: 17px;
}

.menu__name {
	color: var(--terracotta);
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 108.724%;
}

.menu__price {
	margin-left: auto;
	white-space: nowrap;
	color: var(--terracotta);
	text-align: right;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 108.724%;
}

.menu__item--extra .menu__name {
	font-weight: 300;
}

.menu__desc {
	margin-top: 8px;
	color: rgba(219, 94, 51, 0.53);
	font-size: 17px;
	font-style: normal;
	font-weight: 300;
	line-height: 108.724%;
	max-width: 90%;
}

.menu__item--photo .menu__desc {
	padding-left: 44px;
}

/* Ícone da câmara */
.menu__photo {
	flex: 0 0 auto;
	width: 27px;
	height: 22px;
	padding: 0;
	border: 0;
	background: url("assets/icons/camara.svg") no-repeat center / contain;
	cursor: pointer;
	transition: filter 0.3s ease;
}

.menu__photo:hover {
	animation: menu-photo-shake 0.4s ease;
}

@keyframes menu-photo-shake {

	0%,
	100% {
		transform: rotate(0);
	}

	25% {
		transform: rotate(-10deg);
	}

	50% {
		transform: rotate(8deg);
	}

	75% {
		transform: rotate(-5deg);
	}
}

/* Pop-up */
.menu-modal {
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	padding: 20px;
	border: 0;
	overflow: hidden;
	background-color: rgb(13 38 43 / 0.85);
}

.menu-modal[open] {
	display: grid;
	place-items: center;
}

.menu-modal__card {
	position: relative;
	max-width: 566px;
	width: 100%;
	padding: 100px 30px 30px;
	background-color: #3D1709;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	transform: rotate(1.7deg);
}

.menu-modal[open] .menu-modal__card {
	animation: menu-modal-in 0.3s ease;
}

@keyframes menu-modal-in {
	from {
		opacity: 0;
		transform: rotate(-3deg) scale(0.95);
	}
}

.menu-modal__handle {
	position: absolute;
	top: 40px;
	left: 40px;
	color: var(--burnt-orange);
	font-size: 13px;
	font-weight: 500;
	line-height: 100%;
	text-transform: uppercase;
}

.menu-modal__close {
	position: absolute;
	top: 30px;
	right: 36px;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	background: url("assets/icons/close.svg") no-repeat center / contain;
	cursor: pointer;
	transition: filter 0.3s ease;
}

.menu-modal__close:hover {
	filter: brightness(0.7);
}

.menu-modal__close:focus-visible {
	outline: 2px solid transparent;
	outline-offset: 4px;
}

.menu-modal__media {
	aspect-ratio: 153/143;
	overflow: hidden;
	background-color: var(--dark-brown);
}

.menu-modal__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* =========================================================
   	GALERIA SECTION
   ========================================================= */
.gallery {
	position: relative;
	overflow: hidden;
	padding: 136px 0 186px;
	background-color: var(--deep-teal);
}

.gallery::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 1920 / 566;
	background: url("assets/images/caffe_bar.svg") no-repeat center bottom / 100% auto;
	pointer-events: none;
	z-index: 0;
}

.gallery__title,
.gallery__slots {
	position: relative;
	z-index: 1;
}

.gallery__title {
	text-align: center;
	max-width: 685px;
	margin: 0 auto 48px;
	padding-inline: 20px;
}

.gallery__slots {
	display: flex;
	gap: 16px;
	width: 74%;
	margin: 0 auto;
}

.gallery__slot {
	flex: 1;
	aspect-ratio: 4 / 5;
}

.fade_slot__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.8s ease-in-out;
	pointer-events: none;
	z-index: 1;
}

.fade_slot__img.is-active {
	opacity: 1;
	pointer-events: auto;
}

.gallery__overlay-flex,
.gallery__overlay-grid {
	position: absolute;
	z-index: 3;
	pointer-events: none;
}

/* =========================================================
    SUNSETS SECTION
   ========================================================= */
.sunsets {
	position: relative;
	overflow: hidden;
	min-height: 91.189dvh;
	background-color: var(--dark-teal);
}

.sunsets::after {
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	width: 63.6%;
	height: 47.5%;
	background: url("assets/images/lizBGBig.svg") no-repeat right bottom / contain;
	pointer-events: none;
}

.sunsets__inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 105px 24px 34px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sunsets__title {
	width: 100%;
	max-width: 420px;
	margin: 0;
	text-align: center;
	color: var(--muted-sage);
}

/* palco dos cards */
.sunsets__stage {
	position: relative;
	width: 100%;
}

.sunsets__stage::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 120px;
	left: 31%;
	width: 11.2%;
	aspect-ratio: 1;
	transform: rotate(30deg);
	background: url("assets/images/logoCircleGreen.webp") no-repeat center / contain;
	pointer-events: none;
	z-index: 1;
}

/* card principal */
.sunsets__player-card {
	position: absolute;
	z-index: 5;
	top: 44px;
	left: 50%;
	width: 470px;
	padding: 27px 27px 50px;
	background-color: var(--dark-brown);
	box-shadow: 0 4px 8px rgba(0, 0, 0, .25);
	transform: translateX(-50%) rotate(-5.2deg);
	transform-origin: center;
}

.sunsets__video-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 393px;
	overflow: hidden;
	background-color: var(--black);
}

.sunsets__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-color: var(--black);
}

.sunsets__main-play {
	position: absolute;
	z-index: 4;
	top: 50%;
	left: 50%;
	width: 74px;
	height: 74px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .9);
	transform: translate(-50%, -50%);
	cursor: pointer;
	transition: transform .2s ease, opacity .2s ease;
}

.sunsets__main-play:hover {
	transform: translate(-50%, -50%) scale(1.08);
}

.sunsets__main-play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 53%;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 19px solid var(--dark-brown);
	transform: translate(-50%, -50%);
}

.sunsets__player-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 18px;
	color: var(--burnt-orange);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	text-transform: uppercase;
}

/* thumbnails */
.sunsets__thumb {
	position: absolute;
	z-index: 6;
	display: block;
	width: 119px;
	height: 126px;
	padding: 6px 6px 15px;
	border: 0;
	background-color: #3d1709;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .25);
	cursor: pointer;
	appearance: none;
	transform-origin: top left;
	transition: filter .2s ease, opacity .2s ease, scale .25s ease;
}

.sunsets__thumb:hover {
	filter: brightness(1.18);
	scale: 1.05;
}

.sunsets__thumb.is-active {
	filter: brightness(1.18);
}

.sunsets__thumb-image {
	position: relative;
	display: block;
	width: 100%;
	height: 99px;
	overflow: hidden;
	background-color: #21444a;
}

.sunsets__thumb-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sunsets__thumb-play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 35px;
	height: 35px;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.sunsets__thumb-play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 20px solid var(--warm-ivory);
	transform: translate(-40%, -50%);
	transition: border-left-color .2s ease;
}

.sunsets__thumb:hover .sunsets__thumb-play::before {
	border-left-color: #0D262B;
}

.sunsets__thumb-handle {
	display: block;
	padding-top: 6px;
	color: var(--burnt-orange);
	font-size: 4px;
	font-weight: 500;
	text-align: right;
	text-transform: uppercase;
}

/* posições das thumbnails */
.sunsets__thumb--1 {
	top: 21px;
	left: calc(50% - 38.4vw);
	transform: rotate(-9.37deg);
}

.sunsets__thumb--2 {
	top: 258px;
	left: calc(50% - 28.5vw);
	transform: rotate(24.29deg);
}

.sunsets__thumb--3 {
	top: 93px;
	left: calc(50% + 19.1vw);
	transform: rotate(8deg);
}

.sunsets__thumb--4 {
	top: 318px;
	left: calc(50% + 25.3vw);
	transform: rotate(-9.67deg);
}


/* =========================================================
   	BAR BANNER SECTION
   ========================================================= */
.bar-banner {
	width: 100%;
	background-color: var(--deep-teal);
}

.bar-banner__wrapper {
	width: 100%;
	aspect-ratio: 1920 / 800;
	position: relative;
	clip-path: inset(0);
}

.bar-banner__img {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	object-fit: cover;
	object-position: center 55%;
	z-index: -1;
	pointer-events: none;
}

/* =========================================================
   SECÇÃO SOBRE / LOCALIZAÇÃO
   ========================================================= */
.about {
	position: relative;
	padding: 9.6% 13.7% 12.3% 13%;
}

.about::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 45.145%;
	background: url("assets/images/bgSection.webp") repeat center;
	pointer-events: none;
	z-index: 0;
}

.about__container {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10%;
}

.about__content {
	flex: 0 0 32%;
	max-width: 452px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.about__title {
	margin-bottom: 0;
	color: var(--dark-teal);
}

.about__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.about__schedule {
	display: flex;
	flex-direction: column;
	gap: 0;
	color: var(--light-sage);
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 157%;
}

.about__schedule-item {
	margin: 0;
}

.about__media {
	flex: 0 0 58%;
	position: relative;
	width: 100%;
}

.about__image-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 111/73;
}

.about__img {
	width: 100%;
	height: 100%;
	display: block;
}

.about__film {
	position: absolute;
	z-index: 2;
	top: 64%;
	left: 32%;
	width: 28%;
	aspect-ratio: 227 / 616;
	overflow: hidden;
	background-color: var(--black);
	transform: translate(-50%, -50%) rotate(7deg);
	pointer-events: none;
}

.about__film::before,
.about__film::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 11px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
	z-index: 2;
}

.about__film::before {
	left: 0;
	background-image: url("assets/images/PseudoLeftFilme.webp");
}

.about__film::after {
	right: 0;
	background-image: url("assets/images/PseudoRightFilme.webp");
}

.about__film-track {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 0 0 15px;
	animation: about-film-roll 18s linear infinite;
	will-change: transform;
}

.about__film-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 202.76/183.43;
	object-fit: cover;
	border-radius: 6px;
	background-color: var(--black);
}

@keyframes about-film-roll {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-50%);
	}
}

/* =========================================================
    CTA SECTION
   ========================================================= */
.cta {
	position: relative;
	overflow: hidden;
	padding: 8% 24px;
	background-color: var(--deep-teal);
}

.cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("assets/images/reservAquaMark.svg") no-repeat center bottom / 100% 100%;
	pointer-events: none;
	z-index: 0;
}

.cta__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.cta__content .p_general {
	text-wrap: balance;
}

.cta__btn {
	margin-top: 10px;
}

/* =========================================================
    FOOTER
   ========================================================= */
.footer {
	position: relative;
	z-index: 101;
	display: flex;
	flex-direction: column;
	gap: 10.8vw;
	padding: 40px;
	color: var(--rust);
	background: var(--dark-brown) url("assets/images/logoFooter.svg") no-repeat left bottom / auto 100%;
}

.footer__top {
	display: grid;
	grid-template-columns: repeat(4, auto);
	justify-content: end;
	column-gap: 4.1%;
	row-gap: 17%;
	align-items: start;
}

.footer__col {
	display: flex;
	flex-direction: column;
	font-style: normal;
}

.footer__title {
	margin-bottom: 12px;
	color: var(--terracotta);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%;
	text-transform: uppercase;
}

.footer__text {
	color: rgba(219, 94, 51, 0.87);
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 166%;
	transition: color 0.3s ease;
}

a.footer__text:hover {
	color: var(--warm-ivory);
}

.footer__prefix {
	font-size: 14px;
}

.footer__legal {
	grid-column: 4;
	grid-row: 1;
	padding-top: 53px;
}

.footer__legal-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	list-style: none;
}

.footer__legal-list a {
	color: rgba(219, 94, 51, 0.87);
	font-size: 10px;
	font-style: normal;
	font-weight: 400;
	line-height: 166%;
	transition: color 0.3s ease;
}

.footer__legal-list a:hover {
	color: var(--warm-ivory);
}

.footer__social {
	grid-column: 4;
	grid-row: 2;
	display: flex;
	gap: 14px;
	list-style: none;
}

.footer__social-link {
	display: block;
	width: 26px;
	height: 26px;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: color 0.3s ease;
}

.footer__social-link:hover {
	color: var(--warm-ivory);
}

.footer__social-link--facebook {
	-webkit-mask-image: url("assets/icons/fb.svg");
	mask-image: url("assets/icons/fb.svg");
}

.footer__social-link--instagram {
	-webkit-mask-image: url("assets/icons/insta.svg");
	mask-image: url("assets/icons/insta.svg");
}

.footer__bottom {
	display: grid;
	grid-template-columns: 23.5% 54% 1fr;
	align-items: center;
}

.footer__tagline {
	grid-column: 2;
	display: flex;
	justify-content: space-between;
	color: var(--rust);
	text-align: center;
	font-size: 38px;
	font-style: normal;
	font-weight: 400;
	line-height: 86%;
	text-transform: uppercase;
	gap: 7px;
}

.footer__credit {
	grid-column: 3;
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #D7552A;
	text-align: right;
	font-family: "Red Hat Display", sans-serif;
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	line-height: 139%;
}

.footer__credit-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.footer__logo-img {
	height: auto;
	width: 36px;
	display: block;
	transition: transform 0.3s ease;
}

.footer__credit-logo:hover .footer__logo-img {
	transform: scale(1.1);
}

/* =========================================================
    COMMON PAGE
   ========================================================= */
.common-page {
	position: relative;
	background-color: var(--warm-ivory);
	padding: 80px 24px 120px;
}

.common-container {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.common-title {
	margin-bottom: 56px;
	color: var(--deep-teal);
	font-size: 44px;
	font-style: normal;
	font-weight: 800;
	line-height: 120%;
	text-wrap: balance;
}

.common-content {
	counter-reset: section;
	color: var(--gray);
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 175%;
}

.common-content>*+* {
	margin-top: 24px;
}

.common-content h2 {
	counter-increment: section;
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-top: 35px;
	color: var(--deep-teal);
	font-size: 26px;
	font-style: normal;
	font-weight: 800;
	line-height: 130%;
}

.common-content h2::before {
	content: counter(section, decimal-leading-zero) ".";
	color: var(--rust);
	font-size: 22px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	flex-shrink: 0;
}

.common-content h2:first-child {
	margin-top: 0;
}

.common-content h3 {
	margin-top: 15px;
	color: var(--deep-teal);
	font-size: 19px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%;
}

.common-content p {
	margin: 0;
}

.common-content ul {
	margin: 0;
	padding-left: 26px;
	list-style: disc;
}

.common-content li {
	margin-bottom: 6px;
}

.common-content li:last-child {
	margin-bottom: 0;
}

.common-content a {
	color: var(--rust);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.3s ease;
}

.common-content a:hover {
	color: var(--burnt-orange);
}

.common-content strong {
	color: var(--deep-teal);
	font-weight: 700;
}

.common-content table {
	width: 100%;
	margin-top: 24px;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 150%;
}

.common-content th,
.common-content td {
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(134, 134, 134, 0.2);
}

.common-content thead th {
	color: var(--warm-ivory);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background-color: var(--deep-teal);
	border-bottom: 0;
}

.common-content tbody tr:hover {
	background-color: rgba(134, 134, 134, 0.05);
}

.common-content tbody tr:last-child td {
	border-bottom: 0;
}

.common-content td {
	color: var(--gray);
}

.common-content td:first-child {
	color: var(--deep-teal);
	font-weight: 600;
}

.common-updated {
	margin-bottom: 24px;
	color: var(--gray);
	font-size: 13px;
	font-style: italic;
}

/* =========================================================
    RESPONSIVO
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	.liz-curved-slider__viewport {
		scroll-behavior: auto;
	}

	.bar-banner__img {
		position: absolute;
		height: 100%;
	}

	.menu-modal[open] .menu-modal__card {
		animation: none;
	}

	.menu__photo:hover {
		animation: none;
		filter: brightness(1.3);
	}

	.about__film-track {
		animation: none;
	}
}

@supports (-webkit-hyphens: none) {

	/* Regras que só o Safari vai aplicar */
	.about__media {
		overflow: hidden;
	}
}

@media screen and (min-width: 1921px) {}

@media screen and (max-height: 800px) {

	/*sunsets*/
	.sunsets {
		min-height: auto;
		padding-bottom: 40px;
	}

	.sunsets__inner {
		padding: 56px 20px 20px;
	}

	.sunsets__title {
		max-width: 380px;
	}

	.sunsets__stage {
		min-height: 460px;
	}

	.sunsets__player-card {
		top: 20px;
		width: 380px;
		padding: 20px 20px 40px;
	}

	.sunsets__video-wrapper {
		max-height: 300px;
	}

	.sunsets__main-play {
		width: 60px;
		height: 60px;
	}

	.sunsets__thumb {
		width: 96px;
		height: 102px;
	}

	.sunsets__thumb-image {
		height: 78px;
	}
}

@media screen and (max-width: 1750px) {

	/*about*/
	.about__container {
		gap: 7%;
	}

	.about__content {
		flex: 0 0 36%;
		max-width: 500px;
	}
}

@media screen and (max-width: 1600px) {

	/*genéricos*/
	.h2_general {
		font-size: 35px;
	}

	.p_general {
		font-size: 17px;
	}

	/*hero*/
	.hero__content {
		padding: 0 56px;
	}

	.hero__title {
		font-size: 72px;
		max-width: 500px;
	}

	.hero__badge-img {
		width: 184px;
	}

	.hero__actions {
		gap: 30px;
	}

	/*intro*/
	.intro {
		gap: 4.5%;
	}

	/*menu*/
	.menu {
		padding: 96px 20px 0;
	}

	.menu__tabs {
		max-width: 785px;
	}

	.menu__tab {
		font-size: 14px;
		padding: 11px 13px;
	}

	.menu__name {
		font-size: 19px;
	}

	.menu__price {
		font-size: 17px;
	}

	.menu__desc {
		font-size: 16px;
	}

	/*gallery*/
	.gallery {
		padding: 126px 0 170px;
	}

	.gallery__title {
		margin-bottom: 44px;
	}

	.gallery__slots {
		width: 76%;
	}

	/*sunsets*/
	.sunsets__inner {
		padding: 96px 24px 34px;
	}

	.sunsets__player-card {
		width: 440px;
	}

	.sunsets__stage::before {
		width: 10%;
		left: 30%;
	}

	.sunsets::after {
		width: 56%;
		height: 42%;
	}

	/*about*/
	.about__container {
		gap: 6%;
	}

	.about__schedule {
		font-size: 17px;
	}

	/*footer*/
	.footer {
		padding: 36px;
		gap: 9.5vw;
	}

	.footer__title {
		font-size: 13px;
	}

	.footer__text {
		font-size: 18px;
	}

	.footer__prefix {
		font-size: 13px;
	}

	.footer__legal {
		padding-top: 48px;
	}

	.footer__social-link {
		width: 24px;
		height: 24px;
	}

	.footer__tagline {
		font-size: 34px;
	}

	.footer__credit {
		font-size: 12px;
	}

	.footer__logo-img {
		width: 34px;
	}

	/*common page*/
	.common-page {
		padding: 72px 24px 110px;
	}
}

@media screen and (max-width: 1440px) {

	/*genéricos*/
	.h2_general {
		font-size: 34px;
	}

	/*hero*/
	.hero__content {
		padding: 0 48px;
	}

	.hero__title {
		font-size: 64px;
	}

	.hero__badge-img {
		width: 160px;
	}

	.hero__actions {
		gap: 26px;
	}

	.btn_general {
		padding: 18px 28px;
	}

	.btn_general,
	.hero__btn-contact {
		font-size: 18px;
	}

	/*intro*/
	.intro {
		gap: 4%;
	}

	/*menu*/
	.menu {
		padding: 88px 20px 0;
	}

	.menu__title {
		margin-bottom: 10px;
	}

	.menu__tabs {
		gap: 8px;
		margin-bottom: 22px;
	}

	/*gallery*/
	.gallery {
		padding: 118px 0 160px;
	}

	.gallery__title {
		margin-bottom: 40px;
	}

	.gallery__slots {
		width: 78%;
		gap: 14px;
	}

	/*sunsets*/
	.sunsets__inner {
		padding: 88px 22px 32px;
	}

	.sunsets__player-card {
		width: 420px;
		padding: 25px 25px 46px;
	}

	.sunsets__video-wrapper {
		max-height: 355px;
	}

	.sunsets__thumb {
		width: 108px;
		height: 116px;
	}

	.sunsets__thumb-image {
		height: 90px;
	}

	.sunsets__stage::before {
		width: 9.5%;
		left: 28%;
		top: 110px;
	}

	.sunsets::after {
		width: 52%;
		height: 40%;
	}

	/*about*/
	.about__container {
		gap: 5%;
	}

	.about {
		padding: 9.6% 9.7% 12.3% 9%;
	}

	.about__content {
		flex: 0 0 38%;
		max-width: 480px;
	}

	.about__schedule {
		font-size: 16px;
	}

	/*footer*/
	.footer {
		padding: 32px;
		gap: 8.5vw;
	}

	.footer__text {
		font-size: 17px;
	}

	.footer__legal {
		padding-top: 44px;
	}

	.footer__tagline {
		font-size: 30px;
	}

	/*common page*/
	.common-title {
		font-size: 42px;
		margin-bottom: 52px;
	}
}

@media screen and (max-width: 1280px) {

	/*genéricos*/
	.h2_general {
		font-size: 29px;
	}

	.p_general {
		font-size: 15px;
	}

	/*hero*/
	.hero__content {
		padding: 0 40px;
	}

	.hero__title {
		font-size: 58px;
		max-width: 405px;
	}

	.hero__badge-img {
		width: 136px;
	}

	.hero__actions {
		gap: 22px;
	}

	/*intro*/
	.intro__images {
		gap: 16px;
	}

	.intro__content {
		max-width: 420px;
	}

	.intro__highlight::after {
		inset: -10px -3px;
	}

	/*menu*/
	.menu {
		padding: 80px 18px 0;
	}

	.menu__tabs {
		max-width: 720px;
	}

	.menu__tab {
		font-size: 13px;
		padding: 10px 12px;
	}

	.menu__scroll {
		padding: 26px 18px;
	}

	.menu__panel {
		padding: 26px;
	}

	.menu__name {
		font-size: 18px;
	}

	.menu__price {
		font-size: 16px;
	}

	.menu__desc {
		font-size: 15px;
	}

	.menu__photo {
		width: 24px;
		height: 20px;
	}

	/*gallery*/
	.gallery {
		padding: 110px 0 148px;
	}

	.gallery__title {
		margin-bottom: 36px;
	}

	.gallery__slots {
		width: 82%;
	}

	/*sunsets*/
	.sunsets__inner {
		padding: 80px 20px 30px;
	}

	.sunsets__title {
		max-width: 380px;
	}

	.sunsets__player-card {
		width: 400px;
		padding: 24px 24px 44px;
	}

	.sunsets__video-wrapper {
		max-height: 338px;
	}

	.sunsets__main-play {
		width: 66px;
		height: 66px;
	}

	.sunsets__thumb {
		width: 100px;
		height: 108px;
	}

	.sunsets__thumb-image {
		height: 84px;
	}

	.sunsets__stage::before {
		width: 9%;
		left: 26%;
		top: 100px;
	}

	.sunsets::after {
		width: 48%;
		height: 38%;
	}

	.sunsets__thumb--3 {
		left: calc(50% + 21.1vw);
	}

	/*about*/
	.about__container {
		gap: 5%;
	}

	.about__content {
		flex: 0 0 40%;
		max-width: 440px;
	}

	/*footer*/
	.footer {
		padding: 28px;
		gap: 7.5vw;
	}

	.footer__title {
		font-size: 12px;
	}

	.footer__text {
		font-size: 16px;
	}

	.footer__prefix {
		font-size: 12px;
	}

	.footer__legal {
		padding-top: 0;
	}

	.footer__social-link {
		width: 22px;
		height: 22px;
	}

	.footer__tagline {
		font-size: 27px;
	}

	.footer__credit {
		font-size: 11px;
	}

	.footer__logo-img {
		width: 30px;
	}

	.footer__top {
		row-gap: 10%;
	}
}

@media screen and (max-width: 1100px) {}

@media screen and (max-width: 1024px) {

	/*genéricos*/
	.h2_general {
		font-size: 26px;
	}

	.btn_link_general {
		font-size: 15px;
	}

	/*hero*/
	.hero__content {
		padding: 0 32px;
	}

	.hero__center {
		grid-column: 2;
	}

	.hero__title {
		font-size: 52px;
	}

	.hero__badge-img {
		width: 112px;
	}

	.hero__logo-img {
		width: 44px;
	}

	/*intro*/
	.intro {
		gap: 3.5%;
	}

	.intro__images {
		gap: 14px;
	}

	.intro__content {
		max-width: 380px;
		gap: 12px;
	}

	/*menu*/
	.menu {
		padding: 72px 16px 0;
	}

	.menu::before {
		width: 18%;
		left: 10%;
	}

	.menu::after {
		width: 9%;
		right: 18%;
	}

	.menu__scroll {
		padding: 24px 16px;
	}

	.menu__panel {
		padding: 24px;
	}

	/*gallery*/
	.gallery {
		padding: 100px 0 136px;
	}

	.gallery__title {
		margin-bottom: 32px;
	}

	.gallery__slots {
		width: 86%;
		gap: 12px;
	}

	/*sunsets*/
	.sunsets__inner {
		padding: 72px 18px 28px;
	}

	.sunsets__title {
		max-width: 340px;
	}

	.sunsets__player-card {
		width: 370px;
		padding: 22px 22px 40px;
	}

	.sunsets__video-wrapper {
		max-height: 312px;
	}

	.sunsets__main-play {
		width: 60px;
		height: 60px;
	}

	.sunsets__thumb {
		width: 90px;
		height: 96px;
		padding: 5px 5px 12px;
	}

	.sunsets__thumb-image {
		height: 74px;
	}

	.sunsets__thumb-handle {
		font-size: 4px;
	}

	.sunsets__stage::before {
		width: 8.5%;
		left: 24%;
		top: 90px;
	}

	.sunsets::after {
		width: 44%;
		height: 36%;
	}

	.sunsets__thumb--2 {
		left: calc(50% - 33.5vw);
	}

	.sunsets__thumb--3 {
		left: calc(50% + 25.1vw);
	}

	/*about*/
	.about {
		padding: 9.6% 7.7% 12.3% 7%;
	}

	.about__container {
		gap: 4%;
	}

	.about__content {
		flex: 0 0 42%;
		max-width: 400px;
	}

	.about__schedule {
		font-size: 15px;
	}

	/*bar banner*/
	.bar-banner__img {
		object-position: center 50%;
	}

	.bar-banner__wrapper {
		aspect-ratio: 16 / 9;
	}

	/*cta*/
	.cta {
		padding: 6% 20px;
	}

	/*footer*/
	.footer {
		padding: 24px;
		gap: 6.5vw;
		background-size: auto 85%;
	}

	.footer__text {
		font-size: 15px;
	}

	.footer__tagline {
		font-size: 24px;
	}

	.footer__logo-img {
		width: 28px;
	}

	/*common page*/
	.common-page {
		padding: 72px 24px 100px;
	}

	.common-title {
		font-size: 38px;
		margin-bottom: 48px;
	}

	.common-content {
		font-size: 16px;
	}

	.common-content h2 {
		font-size: 24px;
	}

	.common-content h2::before {
		font-size: 20px;
	}

	.common-content h3 {
		font-size: 17px;
	}
}

@media screen and (max-width: 900px) {

	/*intro*/
	.intro {
		flex-direction: column;
		gap: 28px;
		padding: 32px 24px;
	}

	.intro__content {
		order: -1;
		flex: 0 0 auto;
		max-width: 620px;
		align-items: center;
		text-align: center;
		gap: 14px;
	}

	.intro__images {
		flex: 0 0 auto;
		width: 80%;
		gap: 14px;
	}

	.intro__highlight {
		white-space: normal;
	}

	/*menu*/
	.menu {
		padding: 64px 14px 0;
		height: 85dvh;
	}

	.menu::before {
		width: 14%;
		left: 6%;
		bottom: -10%;
	}

	.menu::after {
		width: 8%;
		right: 12%;
		bottom: -3%;
	}

	.menu__tabs {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		width: 100%;
		max-width: 100%;
		margin: 0 auto 18px;
		padding-bottom: 6px;
		gap: 8px;
		scrollbar-width: none;
		-ms-overflow-style: none;
		overscroll-behavior-x: contain;
	}

	.menu__tabs::-webkit-scrollbar {
		display: none;
	}

	.menu__tab {
		flex-shrink: 0;
		font-size: 13px;
		padding: 10px 12px;
	}

	.menu__title {
		margin-bottom: 8px;
	}

	.menu__scroll {
		padding: 22px 14px;
	}

	.menu__panel {
		padding: 22px;
	}

	.menu__name {
		font-size: 17px;
	}

	.menu__price {
		font-size: 15px;
	}

	.menu__desc {
		font-size: 14px;
	}

	.menu__photo {
		width: 22px;
		height: 18px;
	}

	/*gallery*/
	.gallery {
		padding: 80px 20px 110px;
	}

	.gallery__title {
		margin-bottom: 28px;
	}

	.gallery__slots {
		width: 100%;
		gap: 12px;
	}

	/*sunsets*/
	.sunsets {
		min-height: 80dvh;
		padding-bottom: 40px;
	}

	.sunsets__inner {
		padding: 64px 16px 24px;
	}

	.sunsets__title {
		max-width: 320px;
	}

	.sunsets__player-card {
		width: 340px;
		padding: 20px 20px 36px;
	}

	.sunsets__video-wrapper {
		max-height: 288px;
	}

	.sunsets__main-play {
		width: 56px;
		height: 56px;
	}

	.sunsets__thumb {
		width: 82px;
		height: 88px;
		padding: 4px 4px 11px;
	}

	.sunsets__thumb-image {
		height: 68px;
	}

	.sunsets__thumb-play::before {
		border-top-width: 9px;
		border-bottom-width: 9px;
		border-left-width: 15px;
	}

	.sunsets__stage::before {
		width: 8%;
		left: 22%;
		top: 80px;
	}

	.sunsets::after {
		width: 40%;
		height: 34%;
		opacity: 0.7;
	}

	/*about*/
	.about__container {
		flex-direction: column;
		align-items: center;
		gap: 32px;
	}

	.about__content {
		flex: 0 0 auto;
		max-width: 620px;
		width: 100%;
		align-items: center;
		text-align: center;
	}

	.about__info {
		align-items: center;
	}

	.about__schedule {
		align-items: center;
		text-align: center;
	}

	.about__film {
		top: 54%;
		left: 32%;
		width: 23%;
	}

	/*footer*/
	.footer {
		background-size: auto 75%;
	}

	.footer__top {
		grid-template-columns: auto auto;
		grid-template-rows: auto auto auto;
		column-gap: 8%;
		row-gap: 28px;
	}

	.footer__col:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.footer__col:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}

	.footer__col:nth-child(3) {
		grid-column: 1;
		grid-row: 2;
	}

	.footer__legal {
		grid-column: 2;
		grid-row: 2;
	}

	.footer__social {
		grid-column: 2;
		grid-row: 3;
	}

	.footer__bottom {
		display: grid;
		grid-template-columns: 28.5% 54% 1fr;
		align-items: center;
	}

	.footer__tagline span {
		white-space: nowrap;
	}

	/*common page*/
	.common-page {
		padding: 64px 20px 88px;
	}

	.common-title {
		font-size: 34px;
		margin-bottom: 40px;
	}

	.common-content {
		font-size: 15px;
	}

	.common-content h2 {
		font-size: 22px;
		gap: 10px;
	}

	.common-content h2::before {
		font-size: 18px;
	}

	.common-content h3 {
		font-size: 16px;
	}

	.common-content table {
		display: block;
		width: auto;
		max-width: none;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		white-space: nowrap;
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.common-content table::-webkit-scrollbar {
		display: none;
	}

	.common-content th,
	.common-content td {
		white-space: normal;
		min-width: 160px;
	}

	.common-content td:first-child {
		min-width: 140px;
	}
}

@media screen and (max-width: 768px) {

	/*genéricos*/
	.h2_general {
		font-size: 26px;
	}

	.p_general {
		font-size: 13px;
	}

	.btn_link_general {
		font-size: 13px;
	}

	.btn_link_general::after {
		width: 12px;
		height: 12px;
	}

	/*whatsapp*/
	.whatsapp-fab {
		right: 28px;
		bottom: 28px;
	}

	/*hero*/
	.liz-curved-slider {
		aspect-ratio: auto;
		height: 390px;
	}

	.liz-curved-slider::after {
		top: -125px;
		right: -180px;
		width: 330px;
	}

	.liz-curved-slider__group {
		width: 185%;
		height: 100%;
	}

	.liz-curved-slider__viewport {
		left: 1.55%;
		top: 10.42%;
		width: 96.53%;
		height: 78.82%;
	}

	.liz-curved-slider__item--size-a {
		width: 200px;
		height: 100%;
	}

	.liz-curved-slider__item--size-b {
		width: 200px;
		height: 100%;
	}

	.liz-curved-slider__item--size-c {
		width: 200px;
		height: 100%;
	}

	.liz-curved-slider__item--size-d {
		width: 200px;
		height: 100%;
	}

	.hero {
		padding-bottom: 40px;
	}

	.hero__content {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		row-gap: 24px;
		margin-top: -145px;
	}

	.hero__badge-left {
		grid-row: 1;
	}

	.hero__center {
		grid-column: 1;
		grid-row: 2;
		margin-top: 0;
	}

	.hero__title {
		font-size: 44px;
	}

	.hero__badge-img {
		width: 92px;
	}

	.hero__logo-img {
		width: 40px;
	}

	.hero__actions {
		gap: 18px;
	}

	.btn_general,
	.hero__btn-contact {
		font-size: 14px;
	}

	.btn_general {
		padding: 16px 24px;
	}

	/*intro*/
	.intro {
		gap: 24px;
		padding: 28px 20px;
	}

	.intro__content {
		max-width: 540px;
		gap: 12px;
	}

	.intro__images {
		width: 95%;
		gap: 12px;
	}

	/*menu*/
	.menu {
		padding: 48px 12px 0;
	}

	.menu::before,
	.menu::after {
		display: none;
	}

	.menu__title {
		margin-bottom: 6px;
	}

	.menu__tabs {
		margin: 0 auto 14px;
		padding-bottom: 4px;
		gap: 6px;
	}

	.menu__tab {
		font-size: 12px;
		padding: 9px 11px;
	}

	.menu__scroll {
		padding: 18px 12px;
	}

	.menu__panel {
		padding: 18px;
	}

	.menu__row {
		gap: 12px;
	}

	.menu__name {
		font-size: 15px;
	}

	.menu__price {
		font-size: 14px;
	}

	.menu__desc {
		font-size: 13px;
		margin-top: 6px;
	}

	.menu__item--photo .menu__desc {
		padding-left: 34px;
	}

	.menu__photo {
		width: 20px;
		height: 16px;
	}

	.menu__ticket::before,
	.menu__ticket::after {
		width: 8px;
	}

	.menu__ticket::before {
		left: -8px;
	}

	.menu__ticket::after {
		right: -8px;
	}

	.menu-modal {
		padding: 16px;
	}

	.menu-modal__card {
		padding: 80px 22px 22px;
	}

	.menu-modal__handle {
		top: 30px;
		left: 30px;
		font-size: 11px;
	}

	.menu-modal__close {
		top: 22px;
		right: 26px;
		width: 24px;
		height: 24px;
	}

	/*gallery*/
	.gallery {
		padding: 60px 0 80px;
	}

	.gallery__title {
		margin-bottom: 24px;
	}

	.gallery__slots {
		width: 100%;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 12px;
		padding: 0 20px;
		scrollbar-width: none;
		-ms-overflow-style: none;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
	}

	.gallery__slots::-webkit-scrollbar {
		display: none;
	}

	.gallery__slot {
		flex: 0 0 55%;
		scroll-snap-align: center;
	}

	/*sunsets*/
	.sunsets {
		min-height: auto;
		padding-bottom: 60px;
	}

	.sunsets__inner {
		padding: 56px 16px 20px;
	}

	.sunsets__title {
		max-width: 300px;
	}

	.sunsets__stage {
		display: grid;
		grid-template-columns: repeat(4, auto);
		justify-content: center;
		align-items: start;
		column-gap: 12px;
		row-gap: 24px;
		padding-top: 30px;
	}

	.sunsets__player-card {
		position: static;
		grid-column: 1 / -1;
		width: min(88vw, 340px);
		margin: 0 auto;
		padding: 20px;
		transform: rotate(-4deg);
	}

	.sunsets__video-wrapper {
		max-height: none;
		aspect-ratio: 4 / 3;
	}

	.sunsets__main-play {
		width: 54px;
		height: 54px;
	}

	.sunsets__thumb {
		position: static;
		width: auto;
		height: auto;
		padding: 5px 5px 12px;
		transform: rotate(0);
	}

	.sunsets__thumb-image {
		width: 80px;
		height: 80px;
	}

	.sunsets__thumb-play::before {
		border-top-width: 9px;
		border-bottom-width: 9px;
		border-left-width: 15px;
	}

	.sunsets__thumb-handle {
		font-size: 4px;
	}

	.sunsets__stage::before {
		width: 60px;
		top: 12px;
		right: 12px;
		left: auto;
	}

	.sunsets::after {
		width: 50%;
		height: 30%;
		opacity: 0.6;
	}

	/*bar banner*/
	.bar-banner__img {
		object-position: center 50%;
	}

	.bar-banner__wrapper {
		aspect-ratio: auto;
	}

	.bar-banner__img {
		position: relative;
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	/*about*/
	.about__container {
		gap: 28px;
	}

	.about__content {
		max-width: 100%;
	}

	.about__schedule {
		font-size: 14px;
	}

	.about__film {
		top: 52%;
		left: 30%;
		width: 26%;
	}

	/*cta*/
	.cta {
		padding: 56px 20px;
	}

	.cta__content {
		gap: 12px;
	}

	.cta__btn {
		margin-top: 12px;
	}

	/*footer*/
	.footer__bottom {
		grid-template-columns: 35% 1fr;
		grid-template-rows: auto auto;
		row-gap: 10px;
	}

	.footer__tagline {
		grid-column: 2;
		grid-row: 1;
		justify-content: flex-end;
	}

	.footer__credit {
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
	}

	/*common page*/
	.common-page {
		padding: 56px 16px 72px;
	}

	.common-title {
		font-size: 30px;
		margin-bottom: 32px;
	}

	.common-content {
		font-size: 14px;
		line-height: 170%;
	}

	.common-content>*+* {
		margin-top: 20px;
	}

	.common-content h2 {
		font-size: 20px;
		margin-top: 28px;
	}

	.common-content h2::before {
		font-size: 16px;
	}

	.common-content h3 {
		font-size: 15px;
		margin-top: 12px;
	}

	.common-content table {
		margin-left: -16px;
		margin-right: -16px;
		padding-left: 16px;
		padding-right: 16px;
		font-size: 13px;
	}

	.common-content th,
	.common-content td {
		min-width: 140px;
		padding: 10px 12px;
	}

	.common-content td:first-child {
		min-width: 120px;
	}

	.common-updated {
		margin-bottom: 20px;
		font-size: 12px;
	}
}

@media screen and (max-width: 680px) {

	/*footer*/
	.footer {
		background-size: auto 40%;
	}

	.footer__top {
		grid-template-columns: 1fr 1fr;
		justify-content: stretch;
	}

	.footer__legal-list {
		gap: 8px;
	}

	.footer__tagline {
		font-size: 17px;
	}

	.footer__bottom {
		grid-template-columns: 20% 1fr;
	}
}

@media screen and (max-width: 580px) {}

@media screen and (max-width: 480px) {

	/*genéricos*/
	.h2_general {
		font-size: 22px;
	}

	/*whatsapp*/
	.whatsapp-fab {
		right: 20px;
		bottom: 20px;
	}

	/*hero*/
	.hero__content {
		padding: 0 20px;
		row-gap: 18px;
	}

	.hero__title {
		font-size: 36px;
	}

	.hero__badge-img {
		width: 80px;
	}

	.hero__actions {
		flex-wrap: wrap;
		justify-content: center;
	}

	.hero__btn-contact {
		padding: 14px 0;
	}

	/*intro*/
	.intro {
		gap: 20px;
		padding: 24px 16px;
	}

	.intro__content {
		max-width: 100%;
		gap: 10px;
	}

	.intro__images {
		width: 100%;
		gap: 10px;
	}

	/*menu*/
	.menu {
		padding: 40px 10px 0;
	}

	.menu__tab {
		font-size: 11px;
		padding: 8px 10px;
	}

	.menu__scroll {
		padding: 16px 10px;
	}

	.menu__panel {
		padding: 14px;
	}

	.menu__name {
		font-size: 14px;
	}

	.menu__price {
		font-size: 13px;
	}

	.menu__desc {
		font-size: 12px;
	}

	.menu__item--photo .menu__desc {
		padding-left: 30px;
	}

	.menu__photo {
		width: 18px;
		height: 15px;
	}

	.menu-modal__card {
		padding: 70px 18px 18px;
	}

	.menu-modal__handle {
		top: 24px;
		left: 24px;
		font-size: 10px;
	}

	.menu-modal__close {
		top: 18px;
		right: 20px;
		width: 22px;
		height: 22px;
	}

	/*gallery*/
	.gallery {
		padding: 48px 0 64px;
	}

	.gallery__title {
		margin-bottom: 20px;
	}

	.gallery__slots {
		gap: 10px;
		padding: 0 16px;
	}

	.gallery__slot {
		flex: 0 0 65%;
	}

	/*sunsets*/
	.sunsets {
		padding-bottom: 48px;
	}

	.sunsets__inner {
		padding: 48px 14px 18px;
	}

	.sunsets__title {
		max-width: 280px;
	}

	.sunsets__stage {
		column-gap: 10px;
		row-gap: 20px;
		padding-top: 24px;
	}

	.sunsets__player-card {
		width: min(90vw, 300px);
		padding: 18px;
	}

	.sunsets__main-play {
		width: 48px;
		height: 48px;
	}

	.sunsets__thumb-image {
		width: 68px;
		height: 68px;
	}

	.sunsets__stage::before {
		width: 48px;
		top: 10px;
		right: 10px;
	}

	.sunsets::after {
		width: 55%;
		height: 26%;
	}

	/*bar banner*/
	.bar-banner__img {
		object-position: center 50%;
	}

	/*about*/
	.about__container {
		gap: 24px;
	}

	.about__schedule {
		font-size: 13px;
	}

	.about__film {
		top: 50%;
		left: 28%;
		width: 25%;
		transform: translate(-50%, -50%) rotate(5deg);
	}

	.about__film-track {
		gap: 5px;
		padding: 0 0 5px;
	}

	/*cta*/
	.cta {
		padding: 48px 16px;
	}

	.cta__content {
		max-width: 100%;
		gap: 10px;
	}

	/*footer*/
	.footer {
		padding: 20px;
		background-size: auto 30%;
	}

	.footer__top {
		row-gap: 22px;
	}

	.footer__text {
		font-size: 13px;
	}

	.footer__legal-list {
		gap: 2px;
	}

	.footer__tagline {
		font-size: 13px;
		gap: 4px;
	}

	/*common page*/
	.common-page {
		padding: 48px 12px 64px;
	}

	.common-title {
		font-size: 26px;
		margin-bottom: 28px;
	}

	.common-content {
		font-size: 13px;
	}

	.common-content h2 {
		font-size: 18px;
	}

	.common-content h2::before {
		font-size: 15px;
	}

	.common-content h3 {
		font-size: 14px;
	}

	.common-content table {
		margin-left: -12px;
		margin-right: -12px;
		padding-left: 12px;
		padding-right: 12px;
		font-size: 12px;
	}

	.common-content th,
	.common-content td {
		min-width: 120px;
		padding: 9px 10px;
	}

	.common-content td:first-child {
		min-width: 100px;
	}

	.common-updated {
		margin-bottom: 16px;
		font-size: 11px;
	}
}

@media screen and (max-width:400px) {

	/*genéricos*/
	.h2_general {
		font-size: 20px;
	}

	/*whatsapp*/
	.whatsapp-fab {
		right: 16px;
		bottom: 16px;
		width: 36px;
	}

	/*hero*/
	.liz-curved-slider::after {
		top: -105px;
		right: -160px;
		width: 290px;
	}

	.hero__content {
		padding: 0 16px;
	}

	.hero__title {
		font-size: 32px;
	}

	.hero__badge-img {
		width: 72px;
	}

	.hero__logo-img {
		width: 36px;
	}

	.btn_general {
		padding: 14px 20px;
	}

	/*intro*/
	.intro {
		gap: 16px;
		padding: 20px 12px;
	}

	.intro__images {
		gap: 8px;
	}

	/*menu*/
	.menu {
		padding: 32px 8px 0;
	}

	.menu__tab {
		font-size: 10px;
		padding: 7px 9px;
	}

	.menu__scroll {
		padding: 14px 8px;
	}

	.menu__panel {
		padding: 12px;
	}

	.menu__name {
		font-size: 13px;
	}

	.menu__price {
		font-size: 12px;
	}

	.menu__desc {
		font-size: 11px;
	}

	.menu__row {
		gap: 10px;
	}

	.menu-modal__card {
		padding: 60px 16px 16px;
	}

	/*gallery*/
	.gallery {
		padding: 40px 0 52px;
	}

	.gallery__title {
		margin-bottom: 16px;
	}

	.gallery__slots {
		gap: 8px;
		padding: 0 14px;
	}

	.gallery__slot {
		flex: 0 0 70%;
	}

	/*sunsets*/
	.sunsets {
		padding-bottom: 40px;
	}

	.sunsets__inner {
		padding: 40px 12px 16px;
	}

	.sunsets__title {
		max-width: 260px;
	}

	.sunsets__stage {
		column-gap: 8px;
		row-gap: 18px;
		padding-top: 20px;
	}

	.sunsets__player-card {
		width: min(92vw, 280px);
		padding: 16px;
	}

	.sunsets__main-play {
		width: 44px;
		height: 44px;
	}

	.sunsets__thumb-image {
		width: 60px;
		height: 60px;
	}

	.sunsets__stage::before {
		display: none;
	}

	.sunsets::after {
		width: 60%;
		height: 24%;
		opacity: 0.5;
	}

	/*bar banner*/
	.bar-banner__img {
		object-position: center 45%;
	}

	/*about*/
	.about__container {
		gap: 20px;
	}

	.about__schedule {
		font-size: 12px;
	}

	/*cta*/
	.cta {
		padding: 40px 12px;
	}

	/*common page*/
	.common-page {
		padding: 40px 10px 56px;
	}

	.common-title {
		font-size: 24px;
		margin-bottom: 24px;
	}

	.common-content {
		font-size: 12px;
	}

	.common-content h2 {
		font-size: 17px;
	}

	.common-content h2::before {
		font-size: 14px;
	}

	.common-content h3 {
		font-size: 13px;
	}

	.common-content table {
		margin-left: -10px;
		margin-right: -10px;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 11px;
	}

	.common-content th,
	.common-content td {
		min-width: 110px;
		padding: 8px 9px;
	}

	.common-content td:first-child {
		min-width: 90px;
	}
}

@media screen and (max-width: 375px) {

	/*footer*/
	.footer__text,
	.footer__tagline {
		font-size: 12px;
	}

}