/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* GDPR */
#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme {
  background-color: #202020f7 !important;
  border-top: unset !important;
}

/* Main Menu */
.mmp-menu .elementor-nav-menu{
	width: 100%;
	justify-content: space-between;
	gap: 30px;
}

.mmp-menu .elementor-nav-menu::after{
	content: unset !important;
}

.mmp-menu .elementor-nav-menu li a{
	font-size: 14px;
	position: relative;
    display: inline-block;
    padding-bottom: 2px;
}

.mmp-menu .elementor-nav-menu li::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentcolor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s;
	pointer-events: none;
}

.mmp-menu .elementor-nav-menu li:hover::before,
.mmp-menu .current-menu-item > li::before {
  	transform: scaleX(1);
}

/* Form */
#mmp-form form.elementor-form .elementor-field-group .elementor-field-textual:not(textarea){
	padding: 15px 15px;
  	height: 50px;
}

#mmp-form form.elementor-form .elementor-field-group textarea{
	padding: 15px 15px;
}

#mmp-form form.elementor-form .elementor-field-group .elementor-field-textual::placeholder{
	opacity: 1 !important;
}

/* Video */
.mmp-video .elementor-custom-embed-play svg{
	filter: unset !important;
}

/* Underline Button
   Adicionar a classe "btn-underline" no widget (Advanced → CSS Classes) */
.btn-underline .elementor-button {
	background: transparent;
	position: relative;
	padding: 0 0 6px 0;
}

.btn-underline .elementor-button::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentcolor;
	transform: scaleX(1);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	pointer-events: none;
}

.btn-underline .elementor-button:hover::after,
.btn-underline .elementor-button:focus-visible::after {
	transform: scaleX(0);
	transform-origin: right;
}

/* Back Button
   Adicionar a classe "btn-back" no widget (Advanced → CSS Classes) */
.btn-back .elementor-button {
	background: transparent;
	padding: 0;
}

.btn-back .elementor-button-icon {
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.btn-back .elementor-button:hover .elementor-button-icon,
.btn-back .elementor-button:focus-visible .elementor-button-icon {
	transform: translateX(-4px);
}

.btn-back .elementor-button-icon svg path {
	fill: currentcolor;
}

.btn-back .elementor-button-text {
	position: relative;
	padding-bottom: 2px;
}

.btn-back .elementor-button-text::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentcolor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	pointer-events: none;
}

.btn-back .elementor-button:hover .elementor-button-text::after,
.btn-back .elementor-button:focus-visible .elementor-button-text::after {
	transform: scaleX(1);
}

/* Loop Grid Pagination */
.mmp-loop-grid .elementor-pagination .page-numbers,
.mmp-event-grid .elementor-pagination .page-numbers{
	padding: 10px 18px;
	border: 1px solid #E8E8E8;
}

.mmp-loop-grid .elementor-pagination .page-numbers:not(:last-child),
.mmp-event-grid .elementor-pagination .page-numbers:not(:last-child){
	margin-right: -5px !important;
}

.mmp-loop-grid .elementor-pagination .page-numbers.current,
.mmp-event-grid .elementor-pagination .page-numbers.current{
	background-color: #000;
	color: #fff !important;
	border-color: #000;
}

.mmp-loop-grid .elementor-pagination a.page-numbers:hover,
.mmp-event-grid .elementor-pagination a.page-numbers:hover{
	background-color: #d7d7d7;
	color: #fff !important;
	border-color: #d7d7d7;
}

/* Tabs */
.mmp-tabs .e-n-tabs-heading .e-n-tab-title,
.mmp-tabs .e-n-tabs-heading .e-n-tab-title:hover{
	box-shadow: unset !important;
	border-style: none !important;
	border-width: unset !important;
	border-color: unset !important;
}

.mmp-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]{
	font-weight: 700 !important;
}

/* Turismo Single Page */
.mmp-turismo-contacto strong{
	font-weight: 600;
}

.mmp-turismo-contacto .mmp-contacto-label{
	color: #000;
}

.mmp-turismo-contacto a,
.mmp-turismo-website{
	text-decoration: underline !important;
}

/* Listing Event */
.mmp-event-grid .elementor-grid .e-loop-item:last-child .mmp-event-item-container{
	border-bottom: 0px !important;
	padding-bottom: 0px;
}

.mmp-evento-badge .mmp-evento-badge__dia{
	font-size: 50px;
}

.mmp-evento-badge .mmp-evento-badge__mes{
	color: #000;
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
}

/* Tabs Local/Contactos — linha cinzenta contínua por baixo dos títulos */
.mmp-event-tab .e-n-tabs-heading {
	border-bottom: 1px solid #e5e5e5;
}

/* títulos "limpos" em todos os estados — anula o estilo global de botões do kit */
.mmp-event-tab .e-n-tab-title,
.mmp-event-tab .e-n-tab-title:hover,
.mmp-event-tab .e-n-tab-title:focus {
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 10px 2px;
	margin-bottom: -1px;
	transition: border-color .2s ease, color .2s ease;
}

/* hover, foco e separador ativo: sublinhado vermelho */
.mmp-event-tab .e-n-tab-title:hover,
.mmp-event-tab .e-n-tab-title:focus,
.mmp-event-tab .e-n-tab-title[aria-selected="true"] {
	border-bottom-color: #c0392b;
}

.mmp-events-grid a,
.mmp-event-img a{
	display: block;
  	overflow: hidden;
	height: 100% !important;
}

.mmp-events-grid img,
.mmp-event-img img{
	transition: transform .45s ease;
}

.mmp-events-grid img:hover,
.mmp-event-img img:hover{
	transform: scale(1.04);
}

/* Título com sublinhado animado, linha a linha */
.mmp-heading-underline .elementor-heading-title {
	display: inline;
	padding-bottom: 0px;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 0% 1px;
	background-position: 0 100%;
	transition: background-size .35s ease;
}
.mmp-heading-underline .elementor-heading-title:hover {
	background-size: 100% 1px;
}

/* Product */
body.single-product .elementor-widget-woocommerce-product-price .price{
	margin-bottom: 10px;
}

body.single-post .media-content h1,
body.single-post .media-content h2,
body.single-post .media-content h3,
body.single-post .media-content h4,
body.single-post .media-content h5,
body.single-post .media-content h6{
	color: var( --e-global-color-primary );
}

body.single-post .media-content ul{
	margin-bottom: 30px;
}

/* =========================================================
   Breakpoints alinhados com o Elementor
   Desktop-first (o Elementor trabalha assim por defeito)
   ========================================================= */

/* Laptop — ≤ 1366px */
@media (max-width: 1366px) {
	/* portáteis */
}

/* Tablet landscape — ≤ 1200px */
@media (max-width: 1200px) {
	/* tablet horizontal */
	#mmp-menu .ova_menu_page .menu li a{
		font-size: 13px;
	}
	
	/* Form */
	#mmp-form form.elementor-form .elementor-field-group{
		margin-bottom: 35px;
	}

	/* Eventos */
	.mmp-evento-badge .mmp-evento-badge__dia{
		font-size: 42px;
	}

	.mmp-evento-badge .mmp-evento-badge__mes{
		font-size: 17px;
	}
}

/* Tablet — ≤ 1024px (breakpoint nativo do Elementor) */
@media (max-width: 1024px) {
	/* Form */
	#mmp-form form.elementor-form .elementor-field-group{
		margin-bottom: 30px;
	}

	/* Eventos */
	.mmp-evento-badge .mmp-evento-badge__dia{
		font-size: 36px;
	}

	.mmp-evento-badge .mmp-evento-badge__mes{
		font-size: 16px;
	}
}

/* Mobile landscape — ≤ 880px */
@media (max-width: 880px) {
	/* Form */
	#mmp-form form.elementor-form .elementor-field-group{
		margin-bottom: 25px;
	}
}

/* Mobile — ≤ 767px (breakpoint nativo do Elementor) */
@media (max-width: 767px) {
	/* Form */
	#mmp-form form.elementor-form .elementor-field-group{
		margin-bottom: 20px;
	}

	/* Eventos */
	.mmp-evento-badge .mmp-evento-badge__dia{
		font-size: 30px;
	}

	.mmp-evento-badge .mmp-evento-badge__mes{
		font-size: 15px;
	}
}

/* Mobile pequeno — ≤ 480px */
@media (max-width: 480px) {
	/* iPhones SE, Androids compactos */
}

/* Mobile muito pequeno — ≤ 360px */
@media (max-width: 360px) {
	/* dispositivos mínimos */
}