/* Simulador — divulgação no site (carregado só quando o banner ou o botão estão ativos). */

/* ---------- Botão flutuante, junto ao "Pedido de Contacto" ---------- */
.header-widget .om-sim-cta { margin: 0; }
.header-widget .contact__widget--sim { padding: 0; background: #fff; box-shadow: inset 0 0 0 1px var(--accent, #07a67d); }
.header-widget .contact__widget.contact__widget--sim a { display: block; color: var(--accent, #07a67d); text-decoration: none; padding: .75em 1.25em; }
.header-widget .contact__widget--sim:hover,
.header-widget .contact__widget--sim:focus-within { background: var(--accent, #07a67d); }
.header-widget .contact__widget.contact__widget--sim:hover a,
.header-widget .contact__widget.contact__widget--sim:focus-within a { color: #fff; }

@media screen and (min-width: 769px) {
	.header-widget .om-sim-cta { margin-top: 8px; }
	.header-widget .contact__widget--sim { border-radius: 5px 0 0 5px; }
	.header-widget .contact__widget--sim:hover a { padding-right: 2em; }
}

/* Mobile: barra fixa em baixo com os dois botões lado a lado */
@media screen and (max-width: 768px) {
	.header-widget { display: flex; align-items: stretch; }
	.header-widget > aside { flex: 1 1 0; margin: 0; }
	.language-pt .header-widget > aside:has(.contact__widget--en),
	.language-en .header-widget > aside:has(.contact__widget--pt) { display: none; }
	.header-widget > aside > p { height: 100%; margin: 0; display: flex; align-items: center; justify-content: center; }
	.header-widget .contact__widget a,
	.header-widget .contact__widget--sim a { padding: 12px 10px !important; }
}

/* ---------- Banner na homepage ---------- */
.om-sim-banner { max-width: 1200px; margin: 0 auto 56px; padding: 0 34px; box-sizing: border-box; }
.om-sim-banner__inner {
	display: grid; grid-template-columns: 5fr 7fr; gap: 56px; align-items: center;
	background: var(--base-2, #ebebeb); border-radius: 5px; padding: 56px 64px;
}
.om-sim-banner__tablet {
	border: 10px solid var(--contrast, #282c4d); border-radius: 18px; overflow: hidden; background: #fff;
	box-shadow: 0 24px 48px rgba(40, 44, 77, .22); aspect-ratio: 4 / 3;
}
.om-sim-banner__tablet img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.om-sim-banner__eyebrow {
	margin: 0 0 12px; color: var(--accent, #07a67d); font-size: 12px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
}
.om-sim-banner__title { margin: 0 0 14px; color: var(--contrast, #282c4d); font-size: 30px; font-weight: 400; line-height: 1.25; }
.om-sim-banner__text { margin: 0 0 26px; color: #5c5f70; font-size: 17px; line-height: 1.6; max-width: 34em; }
.om-sim-banner__btn {
	display: inline-block; background: var(--accent, #07a67d); color: #fff !important; text-decoration: none;
	font-size: 13.6px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	padding: 13px 24px; border-radius: 5px; transition: background-color .15s ease;
}
.om-sim-banner__btn:hover, .om-sim-banner__btn:focus { background: #058a68; color: #fff; }

@media (max-width: 900px) {
	.om-sim-banner { padding: 0 20px; margin-bottom: 40px; }
	.om-sim-banner__inner { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; }
	.om-sim-banner__media { max-width: 420px; }
	.om-sim-banner__title { font-size: 24px; }
	.om-sim-banner__text { font-size: 16px; }
	.om-sim-banner__btn { display: block; text-align: center; padding: 14px 16px; }
}
