/* ==========================================================================
   wb4-open-aside.css — RECONSTRUÇÃO MOBILE-FIRST
   Baseado no "Simple Responsive Template" (prowebdesign.ro), reorganizado
   para seguir corretamente o princípio mobile-first: tudo FORA de media
   query é a base para telas pequenas. Cada @media (min-width) só ACRESCENTA
   ou AJUSTA regras para telas maiores — nunca contradiz a base.

   Mesmas classes/IDs do HTML original — nenhuma página precisa ser alterada.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. RESET BÁSICO
   -------------------------------------------------------------------------- */
* {
	box-sizing: border-box;
}

body {
	background: #fff;
	color: #000;
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.5em;
	margin: 0;
	overflow-x: hidden;
	padding: 0;
}

img {
	height: auto;
	max-width: 100%;
	padding-bottom: .5em;
}

/* --------------------------------------------------------------------------
   2. TIPOGRAFIA
   -------------------------------------------------------------------------- */
h1 {
	color: #39f;
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.6em;
	margin: .45em 0;
	padding: 0 0 .5em;
}
h2 {
	color: #f00;
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1.6em;
	margin: .45em 0;
	padding: 0;
}
h3 {
	color: #f00;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.5em;
	margin: .45em 0;
	padding: 0;
}
p {
	color: #000;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.5em;
	margin: 0 0 1.5em;
	padding: 0;
}
p.bq {
	font-style: italic;
	line-height: 1.5em;
	margin: 0;
	padding: 0 0 0 20px;
}
p.dia {
	color: #00a;
	font-weight: 600;
	line-height: 1.5em;
	margin: 0;
	padding: 0 5px 30px 0;
}
.blue  { color: #33f; }
.green { color: green; }
.navy  { color: #00b; }
.teal  { color: teal; }
.proj  { color: teal; font-weight: 600; }

a, a:visited, a:active, a:hover {
	color: #36f;
}
a:hover {
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   3. ESTRUTURA BASE — SEMPRE 1 COLUNA, em qualquer largura de tela.
   Em vez de porcentagem fixa por faixa, usamos max-width em pixels:
   a margem lateral cresce naturalmente e suavemente conforme a tela
   aumenta, sem saltos bruscos entre breakpoints.
   -------------------------------------------------------------------------- */
.wrapper {
	margin: 0 auto;
	max-width: 760px;
	width: 92%;
}

header {
	padding: 10px 0;
}

#banner {
	padding: 10px 0 10px .45em;
	text-align: left;
}
#logo img {
	display: block;
}

#hero,
#page-header {
	background: #f3f3f3;
	border-top: 1px solid #e2e2e2;
	border-bottom: 1px solid #e2e2e2;
	padding: 20px 0;
}
#hero h1 {
	line-height: 1.2em;
	margin-top: 0;
	margin-bottom: 10px;
}

/* Conteúdo e aside SEMPRE empilhados — nunca lado a lado, em nenhuma largura */
#content {
	background: #fff;
	margin: 20px 0;
	padding: 0 0 0 .45em;
	width: 100%;
}
aside {
	background: #fff;
	margin: 20px 0 0;
	width: 100%;
}

/* --------------------------------------------------------------------------
   /* --------------------------------------------------------------------------
   4. MENU — sempre em formato acordeão (o mesmo do celular), em QUALQUER
   largura de tela. Elimina o conflito entre logo e menu horizontal, e
   remove uma camada inteira de complexidade/bugs do site.
   -------------------------------------------------------------------------- */
.menu-toggle {
	background: #f80;
	color: #00a;
	cursor: pointer;
	display: block;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .08em;
	margin: 20px 0;
	padding: 10px 0;
	text-align: center;
	text-transform: uppercase;
}
.menu-toggle.toggled-on {
	background: #f30;
}

.srt-menu {
	clear: both;
	display: none;
	margin-bottom: 10px;
}
.srt-menu.toggled-on {
	display: block;
	position: relative;
	z-index: 10;
}
.srt-menu, .srt-menu * {
	list-style: none;
	margin: 0;
	padding: 0;
}
.srt-menu li a {
	background: #f5f1e8;
	color: #3d3226;
	display: block;
	font-size: .95em;
	padding: 10px 10px 10px 40px;
	text-decoration: none;
}
.srt-menu li a:hover {
	background: #e8f0ec;
	color: #3d3226;
}

/* --- Nível 1: título principal (Cultura, Espiritual, Saúde...) --- */
.srt-menu summary {
	background: #fff;
	color: #f00;
	cursor: pointer;
	display: block;
	font-size: 1.1em;
	font-weight: 600;
	letter-spacing: .04em;
	margin: 3px 0;
	padding: 10px;
}
.srt-menu summary::-webkit-details-marker {
	display: none;
}
.srt-menu summary::marker {
	content: "";
}
.srt-menu summary::before {
	content: "▶ ";
	display: inline-block;
	transition: transform .2s ease;
}
.srt-menu details[open] summary::before {
	transform: rotate(90deg);
}
.srt-menu summary:hover {
	background: #8aa;
	color: #fff;
}

#secondary-navigation ul {
	margin: 0;
	padding: 0;
}
#secondary-navigation ul li a {
	background: #ebebeb;
	color: #30d;
	display: block;
	font-size: 1.05em;
	font-weight: 600;
	margin: 5px 0;
	padding: 10px 8px;
	text-decoration: none;
}
#secondary-navigation ul li a:hover,
#secondary-navigation ul li.current a {
	background: #e6e6e0;
	color: #37f;
}

/* --------------------------------------------------------------------------
   5. COMPONENTES DIVERSOS (mobile)
   -------------------------------------------------------------------------- */
.addto {
	margin: 1.25em 0 1.875em 0;
	padding: 1.5em 0;
	width: 100%;
}
.search {
	margin: 1.25em 0;
	padding: 0;
	width: 100%;
}
.macro li a {
	color: #33f;
	display: block;
	font-size: .9em;
	padding: .1em 0;
	text-decoration: none;
}
a.buttonlink {
	background: #09f;
	border-radius: 7px;
	color: #fff;
	display: block;
	margin: 10px 0;
	padding: 10px;
	text-align: center;
	text-decoration: none;
}
a.buttonlink:hover {
	background: #8dbc01;
}

/* --------------------------------------------------------------------------
   6. BLINDAGEM ANTI-AUTO ADS (bloco manual .ad-safe)
   -------------------------------------------------------------------------- */
.ad-safe {
	display: flex;
	overflow: hidden;
	contain: layout;
	isolation: isolate;
	margin: 15px 0;
	width: 100%;
}

/* --------------------------------------------------------------------------
   7. CLEARFIX
   -------------------------------------------------------------------------- */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
	content: " ";
	display: table;
}
.clearfix:after,
.container:after,
.row:after {
	clear: both;
}

/* --------------------------------------------------------------------------
   8. RODAPÉ (mobile)
   -------------------------------------------------------------------------- */
footer {
	background: #ff3;
	clear: both;
	color: #00a;
	font-size: .95em;
	line-height: 1.6em;
	padding: 20px 0;
}
footer a {
	color: #00a;
	font-size: .95em;
}
footer ul {
	margin: 0;
	padding: 0;
}
footer h1, footer h2, footer h3 {
	color: #008;
	margin-bottom: 10px;
}

/* ==========================================================================
   9. TABLETS PEQUENOS / CELULARES GRANDES (a partir de 481px)
   Só ajustes pontuais — a base mobile continua valendo.
   ========================================================================== */
@media only screen and (min-width: 481px) {
	#banner {
		float: left;
	}
	.menu-toggle {
		float: right;
		margin-top: 10px;
		width: auto;
		padding: 10px 20px;
	}
}

/* ==========================================================================
   9-B. TELAS MAIORES (a partir de 920px)
   O layout continua em 1 coluna única (o max-width em pixels da .wrapper
   já cuida do respiro lateral crescente). Só um ajuste fino de tipografia
   e rodapé — sem dividir em colunas, sem menu horizontal.
   ========================================================================== */
@media only screen and (min-width: 920px) {
	h1 {
		font-size: 2em;
		line-height: 2.2em;
	}
}

/* ==========================================================================
   11. TELAS GRANDES (a partir de 1024px)
   ========================================================================== */
@media only screen and (min-width: 1024px) {
	h1 {
		font-size: 2.1em;
	}
}

/* ==========================================================================
   12. IMPRESSÃO
   ========================================================================== */
@media print {
	* {
		background: transparent !important;
		color: black !important;
		text-shadow: none !important;
		filter: none !important;
	}
	a, a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
		page-break-inside: avoid;
	}
	@page {
		margin: .5cm;
	}
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	h2, h3 {
		page-break-after: avoid;
	}
}

/* ==========================================================================
   13. BANNER GRANDE DA HOME (mobile-first, reutilizado da versão anterior)
   ========================================================================== */
.home-hero-banner {
	margin: 20px 0 25px;
	text-align: center;
}
.home-hero-banner img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

/* ==========================================================================
   14. COMPATIBILIDADE COM O TEMPLATE ANTIGO (#main / #wide-content)
   As páginas de castelos e animais usam a estrutura original do
   "Simple Responsive Template": <div class="wrapper" id="main">
   <section id="wide-content">... — em vez do #content que o CSS
   atual estiliza. Por isso elas NÃO recebiam o recuo de .45em (o
   "prumo vertical" do site) e ficavam levemente fora do alinhamento
   do restante do conteúdo (título, texto etc.).
   ========================================================================== */
#wide-content {
	background: #fff;
	padding: 0 0 0 .45em;
}

/* ==========================================================================
   15. VÍDEOS RESPONSIVOS (iframe do YouTube etc.)
   O HTML já usa <div class="video-container"><iframe ...></div> em
   várias páginas (ex.: lesson17-time.htm), mas essa classe nunca teve
   regra nenhuma no CSS. Resultado: o iframe (que vem com width="1386"
   height="791" fixos, direto do YouTube) estourava a largura da
   .wrapper, cortava a ponta direita E alargava a página inteira além
   da tela — o que também empurrava/deslocava o rodapé e outros
   elementos centralizados, porque o navegador passava a centralizar
   com base numa largura maior que a da tela visível.
   ========================================================================== */
.video-container {
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin-left: -50vw;
	margin-right: -50vw;
	padding: 0 12px;
	box-sizing: border-box;
}
.video-container iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	max-width: 100%;
}

/* Blindagem extra para qualquer iframe/vídeo solto, sem .video-container */
iframe, video, embed, object {
	max-width: 100%;
	height: auto;
}
