/* Microtech — efeitos que o theme.json não cobre. */

/* ---------- Ícones (Material Symbols, subconjunto local) ---------- */
@font-face {
	font-family: "Material Symbols Outlined";
	font-style: normal;
	font-weight: 400;
	font-display: block;
	src: url("../fonts/material-symbols-outlined.woff2") format("woff2");
}

.ms-icon,
[class*="mt-ico-"]:not(.wp-block-button)::before,
.wp-block-button[class*="mt-ico-"] > .wp-block-button__link::before {
	font-family: "Material Symbols Outlined";
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: "liga";
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.ms-icon {
	display: inline-block;
	color: var(--wp--preset--color--primary);
}

/* Ícone antes do texto de um bloco (classe mt-ico-<nome>). */
[class*="mt-ico-"]:not(.wp-block-button) {
	display: flex;
	align-items: center;
	gap: 8px;
}
[class*="mt-ico-"]:not(.wp-block-button)::before {
	flex: none;
	color: var(--wp--preset--color--primary);
}
.wp-block-button[class*="mt-ico-"] > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
/* Setas ficam depois do texto. */
.wp-block-button.mt-ico-arrow_forward > .wp-block-button__link,
.wp-block-button.mt-ico-trending_flat > .wp-block-button__link {
	flex-direction: row-reverse;
}

/* ---------- Vidro, grelha de pontos, brilho ---------- */
.is-style-glass {
	background: rgba(255, 251, 248, 0.7);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
}

.has-hero-mesh {
	position: relative;
	overflow: hidden;
	background-image: radial-gradient(circle at 2px 2px, rgba(0, 0, 0, 0.03) 1px, transparent 0);
	background-size: 32px 32px;
}
/* Manchas de cor desfocadas, como no protótipo. */
.has-hero-mesh::before,
.has-hero-mesh::after {
	content: "";
	position: absolute;
	width: 384px;
	height: 384px;
	border-radius: 50%;
	filter: blur(120px);
	pointer-events: none;
	z-index: 0;
}
.has-hero-mesh::before {
	top: 25%;
	right: -80px;
	background: rgba(0, 96, 168, 0.1);
}
.has-hero-mesh::after {
	bottom: 25%;
	left: -80px;
	background: rgba(0, 107, 142, 0.1);
}
.has-hero-mesh > * {
	position: relative;
	z-index: 1;
}

.has-glow-primary,
.has-glow-primary .wp-block-button__link {
	box-shadow: 0 0 20px rgba(0, 96, 168, 0.2);
}

/* ---------- Cartões ---------- */
.is-style-glass,
.is-style-card-hover {
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.is-style-glass:hover {
	border-color: rgba(0, 96, 168, 0.5);
}
.mt-header.is-style-glass:hover {
	border-color: transparent;
}
.is-style-card-hover {
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 8px;
	overflow: hidden;
}
.is-style-card-hover:hover {
	transform: translateY(-8px);
	box-shadow: 0 8px 24px rgba(28, 27, 26, 0.08);
}
.is-style-card-hover .wp-block-image img {
	opacity: 0.7;
	transition: opacity 0.3s ease;
}
.is-style-card-hover:hover .wp-block-image img {
	opacity: 1;
}

/* Caixa quadrada com ícone (Missão, Visão, Valores…). */
.mt-icon-box {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: rgba(0, 96, 168, 0.1);
	margin: 0;
	transition: transform 0.3s ease;
}
.is-style-glass:hover .mt-icon-box {
	transform: scale(1.1);
}

/* Cantos decorativos à volta da imagem do hero. */
.mt-hero-figure {
	position: relative;
	padding: 16px;
	transition: transform 0.5s ease;
}
.mt-hero-figure:hover {
	transform: scale(1.02);
}
.mt-hero-figure::before,
.mt-hero-figure::after {
	content: "";
	position: absolute;
	width: 96px;
	height: 96px;
	border: 0 solid rgba(0, 96, 168, 0.3);
	pointer-events: none;
}
.mt-hero-figure::before {
	top: -24px;
	right: -24px;
	border-top-width: 2px;
	border-right-width: 2px;
	border-top-right-radius: 8px;
}
.mt-hero-figure::after {
	bottom: -24px;
	left: -24px;
	border-bottom-width: 2px;
	border-left-width: 2px;
	border-bottom-left-radius: 8px;
}
.mt-hero-figure img {
	border-radius: 4px;
}

/* ---------- Texto ---------- */
.mt-eyebrow {
	font-family: var(--wp--preset--font-family--geist);
	font-size: var(--wp--preset--font-size--label-sm);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.mt-stat-number {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: clamp(30px, 9vw, 48px);
	white-space: nowrap;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--primary);
	margin: 0 0 4px;
}
.mt-stat-label {
	font-family: var(--wp--preset--font-family--geist);
	font-size: var(--wp--preset--font-size--label-sm);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--on-surface-variant);
	margin: 0;
}

/* Parceiros: nomes em cinzento que ganham cor ao passar o rato. */
.mt-partners {
	align-items: center;
}
/* Logótipos com as cores das marcas; a altura de cada um depende da proporção para todos pesarem o mesmo. */
.mt-partners .mt-marca {
	margin: 0;
}
.mt-partners .mt-marca img {
	display: block;
	width: auto;
}
.mt-partners {
	gap: 32px 48px !important;
}
.mt-partners .mt-marca img[src*="/dell.svg"] { height: 44px; }
.mt-partners .mt-marca img[src*="/hikvision.svg"] { height: 21px; }
.mt-partners .mt-marca img[src*="/hp.svg"] { height: 44px; }
.mt-partners .mt-marca img[src*="/canon.svg"] { height: 25px; }
.mt-partners .mt-marca img[src*="/apple.svg"] { height: 44px; }
.mt-partners .mt-marca img[src*="/asus.svg"] { height: 25px; }
.mt-partners .mt-marca img[src*="/acer.svg"] { height: 27px; }
.mt-partners .mt-marca img[src*="/ricoh.svg"] { height: 24px; }
.mt-partners .mt-marca img[src*="/tplink.svg"] { height: 27px; }
.mt-partners .mt-marca img[src*="/samsung.svg"] { height: 23px; }
.mt-partners .mt-marca img[src*="/epson.svg"] { height: 27px; }
.mt-partners .mt-marca img[src*="/hisense.svg"] { height: 24px; }
.mt-partners .mt-marca img[src*="/microsoft.svg"] { height: 30px; }
.mt-partners .mt-marca img[src*="/lenovo.svg"] { height: 30px; }
.mt-partners .mt-marca img[src*="/benq.svg"] { height: 29px; }
.mt-partners .mt-marca img[src*="/autodesk.svg"] { height: 21px; }
.mt-partners .mt-marca img[src*="/lg.svg"] { height: 34px; }
.mt-partners .mt-marca img[src*="/fortinet.svg"] { height: 23px; }
.mt-partners .mt-marca img[src*="/cisco.svg"] { height: 36px; }
.mt-partners .mt-marca img[src*="/netgear.svg"] { height: 22px; }
.mt-partners .mt-marca img[src*="/synology.svg"] { height: 28px; }
.mt-partners .mt-marca img[src*="/qnap.svg"] { height: 24px; }
.mt-partners .mt-marca img[src*="/konica-minolta.svg"] { height: 50px; }
.mt-partners .mt-marca img[src*="/brother.svg"] { height: 27px; }
@media (max-width: 600px) {
	.mt-partners { gap: 24px 28px !important; }
	.mt-partners .mt-marca img[src*="/dell.svg"] { height: 32px; }
	.mt-partners .mt-marca img[src*="/hikvision.svg"] { height: 15px; }
	.mt-partners .mt-marca img[src*="/hp.svg"] { height: 32px; }
	.mt-partners .mt-marca img[src*="/canon.svg"] { height: 18px; }
	.mt-partners .mt-marca img[src*="/apple.svg"] { height: 32px; }
	.mt-partners .mt-marca img[src*="/asus.svg"] { height: 18px; }
	.mt-partners .mt-marca img[src*="/acer.svg"] { height: 19px; }
	.mt-partners .mt-marca img[src*="/ricoh.svg"] { height: 17px; }
	.mt-partners .mt-marca img[src*="/tplink.svg"] { height: 19px; }
	.mt-partners .mt-marca img[src*="/samsung.svg"] { height: 17px; }
	.mt-partners .mt-marca img[src*="/epson.svg"] { height: 19px; }
	.mt-partners .mt-marca img[src*="/hisense.svg"] { height: 17px; }
	.mt-partners .mt-marca img[src*="/microsoft.svg"] { height: 22px; }
	.mt-partners .mt-marca img[src*="/lenovo.svg"] { height: 22px; }
	.mt-partners .mt-marca img[src*="/benq.svg"] { height: 21px; }
	.mt-partners .mt-marca img[src*="/autodesk.svg"] { height: 15px; }
	.mt-partners .mt-marca img[src*="/lg.svg"] { height: 24px; }
	.mt-partners .mt-marca img[src*="/fortinet.svg"] { height: 17px; }
	.mt-partners .mt-marca img[src*="/cisco.svg"] { height: 26px; }
	.mt-partners .mt-marca img[src*="/netgear.svg"] { height: 16px; }
	.mt-partners .mt-marca img[src*="/synology.svg"] { height: 20px; }
	.mt-partners .mt-marca img[src*="/qnap.svg"] { height: 17px; }
	.mt-partners .mt-marca img[src*="/konica-minolta.svg"] { height: 38px; }
	.mt-partners .mt-marca img[src*="/brother.svg"] { height: 19px; }
}

/* ---------- Listas ---------- */
.is-style-no-bullets {
	list-style: none;
	padding-left: 0;
}
.is-style-no-bullets li + li {
	margin-top: 8px;
}

.is-style-dots {
	list-style: none;
	padding-left: 0;
}
.is-style-dots li {
	display: flex;
	align-items: center;
	gap: 8px;
}
.is-style-dots li + li {
	margin-top: 8px;
}
.is-style-dots li::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

.mt-footer-list a {
	color: var(--wp--preset--color--on-surface-variant);
}
.mt-footer-list a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}
.mt-footer-list li[class*="mt-ico-"]::before {
	font-size: 18px;
}
.mt-footer-list li[class*="mt-ico-"] {
	align-items: flex-start;
}

/* ---------- Cabeçalho e navegação ---------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 32px);
}
.mt-header {
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	border-radius: 0;
	border-left: 0;
	border-right: 0;
	border-top: 0;
	background: rgba(255, 251, 248, 0.8);
}
.mt-nav .current-menu-item > a,
.mt-nav .wp-block-navigation-item__content[aria-current="page"] {
	position: relative;
	color: var(--wp--preset--color--primary) !important;
	font-weight: 700;
}
.mt-nav .current-menu-item > a::after,
.mt-nav .wp-block-navigation-item__content[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background: var(--wp--preset--color--primary);
}
/* ---------- Painel do menu ☰ (telemóvel e tablet) ----------
   Azul-escuro da marca, para se notar que se entrou no menu. Marca no topo, links grandes à esquerda,
   orçamento e contactos no fundo, ao alcance do polegar. Os extras vêm de inc/menu-telemovel.php. */
.mt-nav .mt-menu-marca,
.mt-nav .mt-menu-extra {
	display: none;
}
.mt-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--on-primary-container) !important;
	color: #fff !important;
	padding: 20px 24px max(24px, env(safe-area-inset-bottom));
}
.mt-nav .is-menu-open .wp-block-navigation__responsive-close {
	min-height: 100%;
	max-width: none;
}
.mt-nav .is-menu-open .wp-block-navigation__responsive-dialog {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
.mt-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 4px;
	right: 0;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	color: #fff;
}
.mt-nav .is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}
.mt-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: stretch !important;
	gap: 0;
	padding-top: 0 !important;
}
.mt-nav .is-menu-open .mt-menu-marca {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	margin-bottom: 28px;
	padding-right: 56px;
	color: #fff;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: -0.05em;
	text-transform: uppercase;
}
.mt-nav .is-menu-open .mt-menu-marca img {
	width: 32px;
	height: 32px;
	filter: brightness(0) invert(1);
}
.mt-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.mt-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.mt-nav .is-menu-open .wp-block-navigation-item:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.mt-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 14px 0 !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: clamp(24px, 7vw, 30px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
}
/* Página atual: barra azul-clara à esquerda em vez do sublinhado do computador. */
.mt-nav .is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
	padding-left: 16px !important;
	color: #fff !important;
	box-shadow: inset 4px 0 0 #6db3ff;
}
.mt-nav .is-menu-open .wp-block-navigation-item__content[aria-current="page"]::after {
	display: none;
}
.mt-nav .is-menu-open .wp-block-navigation-item__content:hover,
.mt-nav .is-menu-open .wp-block-navigation-item__content:focus-visible {
	color: #6db3ff !important;
	text-decoration: none;
}
.mt-nav .is-menu-open .mt-menu-extra {
	display: block;
	margin-top: auto;
	padding-top: 32px;
}
.mt-nav .is-menu-open .mt-menu-cta {
	display: block;
	padding: 16px;
	border-radius: 4px;
	background: #fff;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 600;
	font-size: 17px;
	text-align: center;
	text-decoration: none;
}
.mt-nav .is-menu-open .mt-menu-cta:hover {
	background: #d8e2ff;
}
.mt-nav .is-menu-open .mt-menu-contactos {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 20px 0 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 16px;
}
.mt-nav .is-menu-open .mt-menu-contactos a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}
.mt-nav .is-menu-open .mt-menu-contactos a:hover {
	color: #fff;
	text-decoration: underline;
}
/* Ecrãs baixos: links mais juntos; se ainda não couber, o painel desliza. */
@media (max-height: 640px) {
	.mt-nav .is-menu-open .mt-menu-marca {
		margin-bottom: 12px;
	}
	.mt-nav .is-menu-open .wp-block-navigation-item__content {
		padding: 10px 0 !important;
		font-size: 22px;
	}
	.mt-nav .is-menu-open .mt-menu-extra {
		padding-top: 20px;
	}
}
.mt-nav .wp-block-navigation__responsive-container.is-menu-open {
	overflow-y: auto;
}
.mt-nav .is-menu-open a:focus-visible,
.mt-nav .is-menu-open button:focus-visible {
	outline: 2px solid #6db3ff;
	outline-offset: 2px;
}

/* Em telemóvel o botão do cabeçalho fica mais compacto. */
.mt-header .mt-brand,
.mt-header-cta .wp-block-button__link {
	white-space: nowrap;
}
@media (max-width: 781px) {
	.mt-hero-figure::before,
	.mt-hero-figure::after {
		display: none;
	}
}
.mt-logo img {
	display: block;
	height: auto;
}
@media (max-width: 600px) {
	.mt-header .mt-brand {
		font-size: 18px !important;
	}
	.mt-header .mt-logo img {
		width: 32px !important;
	}
	.mt-header-cta .wp-block-button__link {
		padding: 8px 12px;
		font-size: 14px;
	}
}
@media (max-width: 420px) {
	.mt-header .mt-header-cta {
		display: none;
	}
}

/* O logótipo nunca encolhe. */
.mt-header .mt-logo,
.mt-brand-group {
	flex-shrink: 0;
}

/* Ecrãs médios (tablet, portátil pequeno): o menu não cabe numa linha, por isso usa o botão ☰.
   O WordPress só o faz abaixo de 600px. */
@media (min-width: 600px) and (max-width: 1199px) {
	.mt-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.mt-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* ---------- Botões ---------- */
.wp-block-button__link {
	transition: background-color 0.3s ease, opacity 0.3s ease, transform 0.15s ease;
}
.wp-block-button__link:active {
	transform: scale(0.95);
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 1px solid rgba(0, 96, 168, 0.4);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: rgba(0, 96, 168, 0.1);
}
/* Botão em forma de link ("Ver todos os serviços →"). */
.wp-block-button.is-style-mt-link > .wp-block-button__link,
.mt-link-button .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	padding: 0;
	box-shadow: none;
}
.mt-link-button .wp-block-button__link:hover {
	transform: translateX(4px);
}

/* ---------- Layout ---------- */
.wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group:has(> .wp-block-post-content) {
	flex: 1;
}
body {
	overflow-x: hidden;
}
.wp-block-post-content > .alignfull:first-child {
	margin-top: 0;
}

/* ---------- Produtos (refina o plugin) ---------- */
.mtp-filtro {
	font-family: var(--wp--preset--font-family--inter);
	border-color: rgba(0, 0, 0, 0.12);
}
.mtp-card {
	background: rgba(255, 251, 248, 0.7);
	border: 1px solid rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.mtp-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0, 96, 168, 0.5);
	box-shadow: 0 8px 24px rgba(28, 27, 26, 0.08);
}
.mtp-card__titulo {
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 600;
}
.mtp-card__categoria {
	font-family: var(--wp--preset--font-family--geist);
	color: var(--wp--preset--color--primary);
	opacity: 1;
}

/* ---------- Formulários (Contact Form 7) ---------- */
.wpcf7 p {
	margin: 0 0 16px;
}
.wpcf7 label {
	display: block;
	font-family: var(--wp--preset--font-family--geist);
	font-size: var(--wp--preset--font-size--label-sm);
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--on-surface-variant);
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	padding: 12px 16px;
	font: inherit;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 16px;
	text-transform: none;
	letter-spacing: normal;
	color: var(--wp--preset--color--on-surface);
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 4px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(0, 96, 168, 0.15);
}
.wpcf7 textarea {
	min-height: 140px;
	resize: vertical;
}
.wpcf7 input[type="submit"] {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	background: var(--wp--preset--color--primary);
	border: 0;
	border-radius: 4px;
	padding: 14px 32px;
	cursor: pointer;
	box-shadow: 0 0 20px rgba(0, 96, 168, 0.2);
	transition: background-color 0.3s ease;
}
.wpcf7 input[type="submit"]:hover {
	background: #004f8c;
}
.wpcf7-not-valid-tip {
	font-size: 13px;
	text-transform: none;
	letter-spacing: normal;
}
.wpcf7 form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 4px;
}


/* ---------- Imagens e detalhes das secções ---------- */
.mt-rounded-image img {
	border-radius: 8px;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.mt-card-image {
	margin-bottom: 16px;
}
.mt-card-image img {
	width: 100%;
	height: 192px;
	object-fit: cover;
	border-radius: 4px;
}
.mt-indent {
	padding-left: 32px;
	margin-top: 4px !important;
}
.mt-step-number {
	opacity: 0.15;
	margin: 0;
}
/* Faixa azul do convite: manchas mais claras e botão contornado branco. */
.mt-cta.has-hero-mesh {
	background-image: radial-gradient(circle at 2px 2px, rgba(255, 255, 255, 0.08) 1px, transparent 0);
}
.mt-cta.has-hero-mesh::before,
.mt-cta.has-hero-mesh::after {
	background: rgba(255, 255, 255, 0.12);
}
.wp-block-button.is-style-outline.mt-on-dark > .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.6);
}
.wp-block-button.is-style-outline.mt-on-dark > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.12);
}
.mt-cta [class*="mt-ico-"] > .wp-block-button__link::before {
	color: inherit;
}
.wp-block-button[class*="mt-ico-"] > .wp-block-button__link::before {
	font-size: 20px;
}
/* Com as colunas empilhadas, o cartão do logótipo do topo esconde-se (como no protótipo). */
@media (max-width: 781px) {
	.wp-block-column:has(> .mt-hero-figure) {
		display: none;
	}
	/* Sem a imagem, o topo não precisa de ocupar 80% do ecrã. */
	.has-hero-mesh:has(.mt-hero-figure) {
		min-height: 0 !important;
	}
}

/* Em telemóvel, o texto aparece antes dos números. */
@media (max-width: 781px) {
	.mt-reverse-mobile {
		flex-direction: column-reverse;
	}
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
	.is-style-card-hover:hover,
	.mtp-card:hover,
	.mt-hero-figure:hover {
		transform: none;
	}
}

/* ---------- Classes de ícones (geradas a partir de assets/fonts/material-symbols-icons.txt) ---------- */
.mt-ico-alternate_email:not(.wp-block-button)::before, .wp-block-button.mt-ico-alternate_email > .wp-block-button__link::before { content: "alternate_email"; }
.mt-ico-arrow_forward:not(.wp-block-button)::before, .wp-block-button.mt-ico-arrow_forward > .wp-block-button__link::before { content: "arrow_forward"; }
.mt-ico-build:not(.wp-block-button)::before, .wp-block-button.mt-ico-build > .wp-block-button__link::before { content: "build"; }
.mt-ico-call:not(.wp-block-button)::before, .wp-block-button.mt-ico-call > .wp-block-button__link::before { content: "call"; }
.mt-ico-chat:not(.wp-block-button)::before, .wp-block-button.mt-ico-chat > .wp-block-button__link::before { content: "chat"; }
.mt-ico-check_circle:not(.wp-block-button)::before, .wp-block-button.mt-ico-check_circle > .wp-block-button__link::before { content: "check_circle"; }
.mt-ico-close:not(.wp-block-button)::before, .wp-block-button.mt-ico-close > .wp-block-button__link::before { content: "close"; }
.mt-ico-cloud:not(.wp-block-button)::before, .wp-block-button.mt-ico-cloud > .wp-block-button__link::before { content: "cloud"; }
.mt-ico-code:not(.wp-block-button)::before, .wp-block-button.mt-ico-code > .wp-block-button__link::before { content: "code"; }
.mt-ico-computer:not(.wp-block-button)::before, .wp-block-button.mt-ico-computer > .wp-block-button__link::before { content: "computer"; }
.mt-ico-construction:not(.wp-block-button)::before, .wp-block-button.mt-ico-construction > .wp-block-button__link::before { content: "construction"; }
.mt-ico-devices:not(.wp-block-button)::before, .wp-block-button.mt-ico-devices > .wp-block-button__link::before { content: "devices"; }
.mt-ico-diamond:not(.wp-block-button)::before, .wp-block-button.mt-ico-diamond > .wp-block-button__link::before { content: "diamond"; }
.mt-ico-dns:not(.wp-block-button)::before, .wp-block-button.mt-ico-dns > .wp-block-button__link::before { content: "dns"; }
.mt-ico-expand_more:not(.wp-block-button)::before, .wp-block-button.mt-ico-expand_more > .wp-block-button__link::before { content: "expand_more"; }
.mt-ico-forum:not(.wp-block-button)::before, .wp-block-button.mt-ico-forum > .wp-block-button__link::before { content: "forum"; }
.mt-ico-handshake:not(.wp-block-button)::before, .wp-block-button.mt-ico-handshake > .wp-block-button__link::before { content: "handshake"; }
.mt-ico-headphones:not(.wp-block-button)::before, .wp-block-button.mt-ico-headphones > .wp-block-button__link::before { content: "headphones"; }
.mt-ico-hub:not(.wp-block-button)::before, .wp-block-button.mt-ico-hub > .wp-block-button__link::before { content: "hub"; }
.mt-ico-keyboard:not(.wp-block-button)::before, .wp-block-button.mt-ico-keyboard > .wp-block-button__link::before { content: "keyboard"; }
.mt-ico-lan:not(.wp-block-button)::before, .wp-block-button.mt-ico-lan > .wp-block-button__link::before { content: "lan"; }
.mt-ico-lightbulb:not(.wp-block-button)::before, .wp-block-button.mt-ico-lightbulb > .wp-block-button__link::before { content: "lightbulb"; }
.mt-ico-location_on:not(.wp-block-button)::before, .wp-block-button.mt-ico-location_on > .wp-block-button__link::before { content: "location_on"; }
.mt-ico-mail:not(.wp-block-button)::before, .wp-block-button.mt-ico-mail > .wp-block-button__link::before { content: "mail"; }
.mt-ico-map:not(.wp-block-button)::before, .wp-block-button.mt-ico-map > .wp-block-button__link::before { content: "map"; }
.mt-ico-memory:not(.wp-block-button)::before, .wp-block-button.mt-ico-memory > .wp-block-button__link::before { content: "memory"; }
.mt-ico-menu:not(.wp-block-button)::before, .wp-block-button.mt-ico-menu > .wp-block-button__link::before { content: "menu"; }
.mt-ico-monitor:not(.wp-block-button)::before, .wp-block-button.mt-ico-monitor > .wp-block-button__link::before { content: "monitor"; }
.mt-ico-mouse:not(.wp-block-button)::before, .wp-block-button.mt-ico-mouse > .wp-block-button__link::before { content: "mouse"; }
.mt-ico-print:not(.wp-block-button)::before, .wp-block-button.mt-ico-print > .wp-block-button__link::before { content: "print"; }
.mt-ico-refresh:not(.wp-block-button)::before, .wp-block-button.mt-ico-refresh > .wp-block-button__link::before { content: "refresh"; }
.mt-ico-rocket_launch:not(.wp-block-button)::before, .wp-block-button.mt-ico-rocket_launch > .wp-block-button__link::before { content: "rocket_launch"; }
.mt-ico-router:not(.wp-block-button)::before, .wp-block-button.mt-ico-router > .wp-block-button__link::before { content: "router"; }
.mt-ico-schedule:not(.wp-block-button)::before, .wp-block-button.mt-ico-schedule > .wp-block-button__link::before { content: "schedule"; }
.mt-ico-security:not(.wp-block-button)::before, .wp-block-button.mt-ico-security > .wp-block-button__link::before { content: "security"; }
.mt-ico-send:not(.wp-block-button)::before, .wp-block-button.mt-ico-send > .wp-block-button__link::before { content: "send"; }
.mt-ico-settings_suggest:not(.wp-block-button)::before, .wp-block-button.mt-ico-settings_suggest > .wp-block-button__link::before { content: "settings_suggest"; }
.mt-ico-smartphone:not(.wp-block-button)::before, .wp-block-button.mt-ico-smartphone > .wp-block-button__link::before { content: "smartphone"; }
.mt-ico-speed:not(.wp-block-button)::before, .wp-block-button.mt-ico-speed > .wp-block-button__link::before { content: "speed"; }
.mt-ico-storage:not(.wp-block-button)::before, .wp-block-button.mt-ico-storage > .wp-block-button__link::before { content: "storage"; }
.mt-ico-support_agent:not(.wp-block-button)::before, .wp-block-button.mt-ico-support_agent > .wp-block-button__link::before { content: "support_agent"; }
.mt-ico-sync:not(.wp-block-button)::before, .wp-block-button.mt-ico-sync > .wp-block-button__link::before { content: "sync"; }
.mt-ico-terminal:not(.wp-block-button)::before, .wp-block-button.mt-ico-terminal > .wp-block-button__link::before { content: "terminal"; }
.mt-ico-timer:not(.wp-block-button)::before, .wp-block-button.mt-ico-timer > .wp-block-button__link::before { content: "timer"; }
.mt-ico-trending_flat:not(.wp-block-button)::before, .wp-block-button.mt-ico-trending_flat > .wp-block-button__link::before { content: "trending_flat"; }
.mt-ico-tune:not(.wp-block-button)::before, .wp-block-button.mt-ico-tune > .wp-block-button__link::before { content: "tune"; }
.mt-ico-verified:not(.wp-block-button)::before, .wp-block-button.mt-ico-verified > .wp-block-button__link::before { content: "verified"; }
.mt-ico-verified_user:not(.wp-block-button)::before, .wp-block-button.mt-ico-verified_user > .wp-block-button__link::before { content: "verified_user"; }
.mt-ico-visibility:not(.wp-block-button)::before, .wp-block-button.mt-ico-visibility > .wp-block-button__link::before { content: "visibility"; }
.mt-ico-workspace_premium:not(.wp-block-button)::before, .wp-block-button.mt-ico-workspace_premium > .wp-block-button__link::before { content: "workspace_premium"; }

/* Rótulo à esquerda que introduz uma grelha (ex.: "Alguns dos nossos produtos"), com seta e linha até à margem */
.mt-rotulo {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: var(--wp--style--global--wide-size) !important;
	margin-top: var(--wp--preset--spacing--60) !important;
	font-family: var(--wp--preset--font-family--montserrat, inherit);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-lg, 18px);
	color: var(--wp--preset--color--on-surface);
}
.mt-rotulo::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--wp--preset--color--outline-variant);
}
.mt-rotulo::before {
	content: "»";
	order: 2;
	color: var(--wp--preset--color--primary);
	font-size: 1.2em;
	line-height: 1;
}

/* Modal de detalhe do produto: tipografia do tema */
.mtp-modal {
	font-family: var(--wp--preset--font-family--inter);
}
.mtp-modal__titulo {
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 600;
	letter-spacing: -0.01em;
}
.mtp-modal__categoria {
	font-family: var(--wp--preset--font-family--geist);
}
.mtp-card__ver {
	font-family: var(--wp--preset--font-family--inter);
}

/* Rodapé no telemóvel: Soluções e Empresa lado a lado; marca e Contacto em largura total, Contacto centrado */
@media (max-width: 781px) {
	.mt-footer .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	}
	.mt-footer .wp-block-columns > .wp-block-column:first-child,
	.mt-footer .wp-block-columns > .wp-block-column:last-child {
		grid-column: 1 / -1;
	}
	.mt-footer .wp-block-columns > .wp-block-column:last-child {
		text-align: center;
	}
	.mt-footer .wp-block-columns > .wp-block-column:last-child li {
		justify-content: center;
	}
}

/* Menu ☰ aberto: o desfoque (backdrop-filter) do cabeçalho prenderia o painel fixo dentro dos 64px do cabeçalho.
   Enquanto o menu está aberto, o cabeçalho fica sem desfoque e o painel ocupa o ecrã inteiro. */
.mt-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Convite com a foto do edifício: no telemóvel a capa cresce para o letreiro ficar acima do texto. */
@media (max-width: 600px) {
	.mt-cta-foto {
		min-height: 780px !important;
	}
	.mt-cta-foto > .wp-block-cover__image-background {
		object-position: 57% 0 !important;
	}
}
