/*
Theme Name: Mosae
Theme URI: https://mosae.local
Author: Ponto Um
Author URI: https://pontoum.com.br
Description: Tema pai (core) — templates Woo/loja. Não é a marca do cliente. Ative o child (Livro Mais, etc.) no site; atualize este tema para corrigir o core.
Version: 1.1.0-4.8
Requires at least: 6.5
Requires PHP: 8.2
Text Domain: mosae-educacional
Update URI: https://updates.mosae.local
Tags: e-commerce, education, woocommerce
*/

:root {
	--mse-navy: #13386c;
	--mse-blue: #029dfd;
	--mse-green: #1f8a5b;
	--mse-green-deep: #0f2a24;
	--mse-yellow: #ffbb06;
	--mse-blush: #eef6f2;
	--mse-white: #ffffff;
	--mse-text: #13386c;
	--mse-muted: rgba(19, 56, 108, 0.7);
	--mse-radius: 24px;
	--mse-radius-sm: 20px;
	--mse-max: 1480px;
	--mse-side: 20px;
	--mse-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

body {
	margin: 0;
	font-family: var(--mse-font);
	color: var(--mse-text);
	background: var(--mse-white);
}

body.mse-front-shell,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
	background: var(--mse-white);
}

.mse-site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--mse-white);
}

.mse-site__header,
.mse-site__footer {
	padding: 1rem 1.5rem;
	background: var(--mse-navy);
	color: var(--mse-white);
}

.mse-site__header a,
.mse-site__footer a {
	color: #c8e6c0;
}

.mse-site__brand-link {
	color: var(--mse-white);
	font-weight: 700;
	text-decoration: none;
	font-size: 1.15rem;
}

.mse-site__main {
	flex: 1;
	padding: 0;
	max-width: none;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	background: var(--mse-white);
}

.mse-site__main--home,
.mse-site__main--shop,
.mse-site__main--canvas {
	padding: 0 0 3rem;
	background: var(--mse-white);
}

/* Canvas de página: sem chrome de título WP; conteúdo respira no branco. */
.mse-canvas {
	max-width: var(--mse-max);
	margin: 0 auto;
	padding: 1.5rem var(--mse-side) 2.5rem;
	box-sizing: border-box;
}

.mse-canvas__body > h1:first-child,
.mse-canvas__body > .wp-block-post-title:first-child,
.woocommerce .woocommerce-products-header,
.woocommerce-page .entry-header,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
.page .entry-header .entry-title {
	display: none !important;
}

/* Legacy skeleton hero (inner pages) */
.mse-hero {
	padding: 3rem var(--mse-side) 2rem;
	max-width: var(--mse-max);
	margin: 0 auto;
}

.mse-hero__brand {
	font-size: clamp(2rem, 4vw, 3.25rem);
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
	color: var(--mse-navy);
}

.mse-hero__lead {
	font-size: 1.125rem;
	max-width: 36rem;
	color: var(--mse-muted);
}

/* ─── Home hero (Print 5: rounded viewport) ─── */
.mse-home-hero {
	padding: 20px var(--mse-side) 28px;
	background: var(--mse-white);
}

.mse-home-hero__wrap {
	max-width: var(--mse-max);
	margin: 0 auto;
}

.mse-home-hero__viewport {
	position: relative;
	border-radius: var(--mse-radius);
	overflow: hidden;
	isolation: isolate;
	box-shadow:
		0 24px 60px rgba(19, 56, 108, 0.12),
		0 1px 0 rgba(255, 255, 255, 0.8) inset;
	min-height: min(72vh, 640px);
}

.mse-home-hero__slide {
	position: relative;
	min-height: min(72vh, 640px);
	display: flex;
	align-items: center;
}

.mse-home-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 88% 18%, rgba(255, 187, 6, 0.45) 0%, transparent 42%),
		radial-gradient(circle at 12% 78%, rgba(31, 138, 91, 0.35) 0%, transparent 48%),
		linear-gradient(135deg, #eef6f2 0%, #1f8a5b 42%, #13386c 100%);
}

/* Atmosphere when hero-home.jpg is missing — soft “material escolar” geometry */
.mse-home-hero__slide--atmosphere .mse-home-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.18;
	background-image:
		repeating-linear-gradient(
			-18deg,
			transparent,
			transparent 14px,
			rgba(255, 255, 255, 0.35) 14px,
			rgba(255, 255, 255, 0.35) 15px
		),
		radial-gradient(circle at 70% 60%, rgba(255, 187, 6, 0.5) 0 2px, transparent 3px);
	background-size: auto, 28px 28px;
}

.mse-home-hero__bg-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.mse-home-hero__bg-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		115deg,
		rgba(19, 56, 108, 0.9) 0%,
		rgba(19, 56, 108, 0.68) 36%,
		rgba(31, 138, 91, 0.28) 68%,
		rgba(238, 246, 242, 0.06) 100%
	);
}

.mse-home-hero__slide--atmosphere .mse-home-hero__bg-overlay {
	background: linear-gradient(
		115deg,
		rgba(19, 56, 108, 0.55) 0%,
		rgba(19, 56, 108, 0.2) 45%,
		transparent 100%
	);
}

.mse-home-hero__panel {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: clamp(32px, 5vw, 72px) clamp(28px, 4vw, 64px);
	max-width: min(720px, 100%);
}

.mse-home-hero__title {
	margin: 0;
	font-size: clamp(34px, 4.8vw, 56px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--mse-white);
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.35);
}

.mse-home-hero__lead {
	margin: 0;
	font-size: clamp(15px, 1.6vw, 18px);
	font-weight: 500;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.9);
	max-width: 38ch;
}

.mse-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 4px;
}

.mse-home-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: 999px;
	background: var(--mse-yellow);
	color: var(--mse-navy);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 8px 20px rgba(255, 187, 6, 0.28);
}

.mse-home-hero__cta:hover,
.mse-home-hero__cta:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(255, 187, 6, 0.38);
	outline: none;
}

.mse-home-hero__access {
	width: 100%;
	max-width: 420px;
	margin-top: 8px;
	padding: 16px 18px;
	border-radius: var(--mse-radius-sm);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 12px 32px rgba(19, 56, 108, 0.14);
}

.mse-home-hero__access-label {
	display: block;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--mse-navy);
}

.mse-home-hero__access-row {
	display: flex;
	gap: 8px;
}

.mse-home-hero__access-input {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 14px;
	border: 1px solid rgba(19, 56, 108, 0.16);
	border-radius: 999px;
	font: inherit;
	font-size: 14px;
	color: var(--mse-navy);
	background: var(--mse-white);
}

.mse-home-hero__access-input:focus {
	outline: 2px solid var(--mse-green);
	outline-offset: 1px;
}

.mse-home-hero__access-submit {
	height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: var(--mse-green);
	color: var(--mse-white);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.mse-home-hero__access-submit:hover {
	filter: brightness(1.05);
}

.mse-home-hero__access-error {
	margin: 10px 0 0;
	font-size: 13px;
	font-weight: 600;
	color: #b42318;
}

.mse-home-vitrine {
	background: var(--mse-white);
}

.mse-home-vitrine__fallback {
	padding: 2rem var(--mse-side);
	text-align: center;
}

/* Woo front — parent, sem Elementor */
.mse-woo__inner,
.woocommerce {
	max-width: var(--mse-max);
	margin: 0 auto;
}

.mse-cart .shop_table,
.mse-checkout #customer_details,
.mse-account {
	width: 100%;
}

.mse-cart {
	background: var(--mse-white);
	border: 0;
	border-radius: 0;
	padding: 1rem 1.25rem 1.5rem;
	box-sizing: border-box;
}

.mse-cart .product-name a {
	color: var(--mse-navy);
	font-weight: 600;
	text-decoration: none;
}

.mse-cart .actions .button {
	border-radius: 999px;
}

.woocommerce .button,
.woocommerce button.button {
	background: var(--mse-green);
	color: #fff;
	border: 0;
	padding: 0.65rem 1.1rem;
	border-radius: 999px;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #order_review {
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: var(--mse-white);
	border: 1px solid rgba(19, 56, 108, 0.12);
	border-radius: var(--mse-radius-sm);
}

@media (max-width: 782px) {
	.mse-home-hero {
		padding-bottom: 20px;
	}

	.mse-home-hero__viewport,
	.mse-home-hero__slide {
		min-height: min(78vh, 580px);
		border-radius: 20px;
	}

	.mse-home-hero__access-row {
		flex-direction: column;
	}

	.mse-home-hero__access-submit {
		width: 100%;
	}

	.woocommerce table.shop_table_responsive tr td {
		text-align: left !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mse-home-hero__cta {
		transition: none;
	}
}
