/*
Theme Name: Loja dos Eventos (Twenty Twenty-Five Child)
Theme URI: https://lojadeventos.pt/
Description: Child theme do Twenty Twenty-Five para a landing page da Loja dos Eventos.
Author: Active Media
Template: twentytwentyfive
Version: 1.0.10
Requires at least: 6.7
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive-lojadeventos
*/

html {
	scroll-behavior: smooth;
}

[id="sobre"],
[id="servicos"],
[id="contacto"] {
	scroll-margin-top: 0;
}

/* ---------- Cabeçalho transparente sobre o hero ---------- */
.site-header-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}

.site-header-overlay .wp-block-navigation {
	font-family: var(--wp--preset--font-family--raleway);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	--wp--style--block-gap: 0;
}

.site-header-overlay .wp-block-navigation-item__content {
	padding: 1.5rem 17px;
}

.site-header-overlay .wp-block-navigation-item__content:hover,
.site-header-overlay .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--teal);
	text-decoration: none;
}

@media (max-width: 599px) {
	.site-header-overlay .wp-block-navigation__responsive-container-open {
		padding: 1rem;
	}
}

/* ---------- Hero ---------- */
.hero-loja .hero-title {
	/* Largura proporcional ao tamanho da letra (a frase mede ~44em numa linha) para ficar em 3 linhas */
	max-width: min(17em, 100%);
	margin-inline: auto;
	font-family: var(--wp--preset--font-family--raleway);
	font-style: normal;
	margin-bottom: 0;
	font-weight: 800;
	letter-spacing: 4px;
	line-height: 1.3;
	text-transform: uppercase;
	text-wrap: balance;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.hero-loja .hero-text {
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem);
	font-style: normal;
	font-weight: 300;
	line-height: 1.7;
	letter-spacing: 0.4px;
	text-transform: none;
	text-wrap: pretty;
	margin-bottom: 0;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.hero-loja .wp-block-buttons {
	margin-top: 1.9rem;
}

.hero-loja .wp-block-button__link {
	border-radius: 2px;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0;
	padding: 12px 24px;
	text-transform: uppercase;
	transition: background-color 0.2s, color 0.2s;
}

.hero-loja .is-style-outline .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, 0.9);
	color: rgba(255, 255, 255, 0.9);
}

.hero-loja .is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--wp--preset--color--contrast);
}

.hero-loja .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: #13917f;
}

/* ---------- Animações de entrada do hero ---------- */
@keyframes loja-fade-up {
	from {
		opacity: 0;
		transform: translate3d(0, 28px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes loja-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.site-header-overlay {
		animation: loja-fade-in 1.2s ease-out 0.9s both;
	}

	.hero-loja .hero-title,
	.hero-loja .hero-text,
	.hero-loja .wp-block-buttons {
		animation: loja-fade-up 1s cubic-bezier(0.22, 0.61, 0.36, 1) both;
		will-change: opacity, transform;
	}

	.hero-loja .hero-title {
		animation-delay: 0.15s;
	}

	.hero-loja .hero-text {
		animation-delay: 0.5s;
	}

	.hero-loja .wp-block-buttons {
		animation-delay: 0.85s;
	}
}

/* ---------- Secções ---------- */
.section-title {
	font-family: var(--wp--preset--font-family--raleway);
	font-weight: 800;
	letter-spacing: 3.5px;
	text-transform: uppercase;
}

.section-desc {
	color: var(--wp--preset--color--muted);
	font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
	line-height: 1.7;
	text-align: center;
}

.section-desc p {
	margin-block: 0 15px;
}

.section-desc a {
	color: var(--wp--preset--color--teal);
	text-decoration: none;
}

.section-desc a:hover {
	text-decoration: underline;
}

.section-services h3 {
	font-family: var(--wp--preset--font-family--raleway);
	font-weight: 600;
	margin-block: 0 15px;
}

/* ---------- Contactos ---------- */
.address-box h3 {
	font-family: var(--wp--preset--font-family--raleway);
	font-weight: 600;
	margin-block: 0 20px;
}

.address-contact {
	position: relative;
	padding-left: 45px;
	margin-block: 0 12px;
	line-height: 28px;
	min-height: 32px;
}

.address-contact::before {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--teal);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

/* Ícone = círculo + glifo recortado (máscara em camadas) */
.address-contact::after {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 32px;
	height: 32px;
	background: #fff;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 16px 16px;
	mask-size: 16px 16px;
}

.address-contact.is-address::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}

.address-contact.is-phone::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.address-contact.is-email::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4.2-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4.2-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
}

.address-contact a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.address-contact a:hover {
	color: var(--wp--preset--color--teal);
}

/* ---------- Rodapé ---------- */
/* Sem espaço entre o conteúdo e o rodapé preto (o blockGap do tema pai criava uma faixa branca) */
.wp-site-blocks > .wp-block-template-part {
	margin-block-start: 0;
}

.site-footer-loja .follow-heading {
	font-family: var(--wp--preset--font-family--raleway);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 20px;
}

.site-footer-loja .wp-block-social-links .wp-social-link a {
	color: rgba(255, 255, 255, 0.9);
}

.site-footer-loja .wp-block-social-links .wp-social-link a:hover {
	color: var(--wp--preset--color--teal);
}

.site-info a {
	color: inherit;
}
