/*
Theme Name: SmartMag Child (Cheia de Segredos)
Template: smart-mag
Version: 2.3.0
Description: Child fiel ao layout original: cabeçalho alto, menu preto, mosaico de 4, blocos editoriais. Sem conteúdo inventado.
Text Domain: smart-mag-child
*/

/* ---- Tipografia: só fontes já presentes; sem CDN ---- */
body, .cdg-main { font-family: Ubuntu, Arial, sans-serif; }
.cdg-ov h3, .cdg-ov h3 a, .cdg-lead h3, .cdg-li h3, .cdg-li h3 a { font-family: Hind, Ubuntu, Arial, sans-serif; }

/* ---- Cabeçalho (o tema já desenha o filete âmbar de 4px; não duplicar) ---- */
/* Altura 45 = filete âmbar de 4px (sobreposto) + barra de data 41px; mid começa em y45 */
#smart-head .smart-head-top { background: #f7f7f7; --head-h: 45px; height: 45px; border-bottom: 0; }
#smart-head .h-date { color: #777; font-size: 12px; }
#smart-head .smart-head-mid { --head-h: 357px; height: 357px; background: #fff; }
#smart-head .smart-head-mid .inner { height: 357px; align-items: flex-start; padding-top: 0; padding-bottom: 0; }
#smart-head .smart-head-mid .items { align-items: flex-start; }
#smart-head .smart-head-mid .items-center { justify-content: center; text-align: center; }
#smart-head .logo-link, #smart-head .logo-link h1 { display: block; margin: 0; padding: 0; line-height: 0; }
/* Caixa 638x357 ancorada em y45; o asset 638x297 tem ~72px transparentes no topo (arte visível ~y117).
   Sem padding: o tema impõe max-height 337px e padding 30px, ambos anulados aqui. */
#smart-head .logo-image { --logo-width: 638px; display: block; box-sizing: border-box; width: 638px; max-width: 100%; height: 357px !important; max-height: none !important; margin: 0 auto; padding: 0 !important; }
#smart-head .logo-image img { display: block; width: 638px; max-width: 100%; height: 297px !important; max-height: none !important; margin: 0 auto; object-fit: contain; }

/* Menu preto, 1078 x 45 */
#smart-head .smart-head-bot { background: transparent; border: 0; max-width: 1078px; margin: 0 auto; --head-h: 45px; }
#smart-head .smart-head-bot .inner { background: #000; height: 45px; width: 100%; display: flex; }
#smart-head .smart-head-bot .items-left { flex: 1 1 auto; width: 100%; }
#smart-head .smart-head-bot .nav-wrap, #smart-head .navigation-main { height: 45px; width: 100%; }
#smart-head .navigation-main .menu > li > a { color: #fff; font-family: Ubuntu, Arial, sans-serif; font-weight: 400; font-size: 14px; text-transform: uppercase; line-height: 45px; padding: 0 25px; }
#smart-head .navigation-main .menu > li > a:hover { color: #dd8d13; }

/* ---- Layout da home ---- */
/* O tema impõe margin 42px / padding 35px em .main; o colapso de margens vencia o 28px do wrap */
.main.cdg-main { background: #fff; margin-top: 28px; padding: 0; }
.cdg-wrap { max-width: 1078px; margin: 0 auto 40px; padding: 0; }
.cdg-mosaic { display: grid; grid-template-columns: 600px 235px 235px; grid-template-rows: 241px 215px; gap: 4px; margin-bottom: 55px; }
.cdg-mosaic__1 { grid-column: 1; grid-row: 1 / 3; }
.cdg-mosaic__2 { grid-column: 2 / 4; grid-row: 1; }
.cdg-mosaic__3 { grid-column: 2; grid-row: 2; }
.cdg-mosaic__4 { grid-column: 3; grid-row: 2; }
.cdg-cols { display: grid; grid-template-columns: 702px 326px; gap: 50px; }

/* Cartões sobrepostos */
.cdg-ov { position: relative; overflow: hidden; background: #cbcdcd; min-height: 0; }
.cdg-ov__img, .cdg-ov__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.cdg-ov::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 45%, rgba(0,0,0,.8)); pointer-events: none; }
.cdg-ov__txt { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px; color: #fff; }
.cdg-ov h3 { margin: 6px 0 8px; font-size: 20px; line-height: 1.3; font-weight: 400; }
.cdg-ov h3 a { color: #fff; }
.cdg-mosaic__3 h3, .cdg-mosaic__4 h3 { font-size: 16px; }
.cdg-mosaic__3 .cdg-ov__txt, .cdg-mosaic__4 .cdg-ov__txt { padding: 14px; }
.cdg-mosaic__1 h3 { font-size: 26px; }
.cdg-ov time { font-size: 11px; font-weight: 700; opacity: .8; }
.cdg-badge { display: inline-block; background: #dd8d13; color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; padding: 3px 8px; line-height: 1.4; }

/* Seções */
.cdg-sec { margin-bottom: 40px; }
.cdg-sec__h { margin: 0 0 22px; background: #f7f7f7; border-bottom: 1px solid #e5e5e5; font-size: 14px; text-transform: uppercase; line-height: 1; }
.cdg-sec__h span { display: inline-block; color: #dd8d13; padding: 12px 14px; font-weight: 700; }
.cdg-launch__lead { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 24px; }
.cdg-lead img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; background: #eee; }
.cdg-lead h3 { font-size: 20px; line-height: 1.3; margin: 14px 0 8px; }
.cdg-lead p { color: #777; font-size: 14px; margin: 8px 0 0; }
.cdg-meta { color: #888; font-size: 11px; font-weight: 700; }
.cdg-launch__list, .cdg-modern { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 30px; }
.cdg-li { display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: start; }
.cdg-li img { display: block; width: 100%; height: 100px; object-fit: cover; background: #eee; }
.cdg-li h3 { font-size: 15px; line-height: 1.4; margin: 0 0 8px; font-weight: 500; }
.cdg-li p { color: #777; font-size: 13px; margin: 6px 0 0; }
.cdg-modern .cdg-li { grid-template-columns: 1fr; }
.cdg-modern .cdg-li img { height: auto; aspect-ratio: 16 / 10; }
.cdg-tall { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.cdg-ov--tall { height: 380px; }
.cdg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.cdg-ov--grid { height: 240px; }

/* Sidebar (home, posts e arquivos) */
.cdg-cols__side { min-width: 0; }
.cdg-cols__side .cdg-widget { margin-bottom: 36px; }
.cdg-widget__t { background: #0a0a0a; color: #fff; font-size: 13px; text-transform: uppercase; padding: 10px 14px; margin: 0 0 14px; font-weight: 500; }
.cdg-rolezinho a, .cdg-rolezinho img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.cdg-cols__side ul { list-style: none; margin: 0; padding: 0; }
.cdg-cols__side li { padding: 9px 0; border-bottom: 1px solid #eee; font-size: 14px; line-height: 1.4; }
.cdg-cols__side .search-form { display: flex; gap: 6px; margin-bottom: 36px; }
.cdg-cols__side .search-form label { flex: 1; min-width: 0; }
.cdg-cols__side .search-field { width: 100%; }

/* Rodapé original */
.main-footer { background: #1b1b1b; }

/* ---- Tablet / mobile: coluna única, sem estouro ---- */
@media (max-width: 1100px) {
	.cdg-wrap { padding: 0 16px; }
	.cdg-mosaic { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; margin-bottom: 40px; }
	.cdg-mosaic__1, .cdg-mosaic__2, .cdg-mosaic__3, .cdg-mosaic__4 { grid-column: 1; grid-row: auto; }
	.cdg-mosaic .cdg-ov { height: 240px; }
	.cdg-cols { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	#smart-head .smart-head-bot { max-width: 100%; }
}
@media (max-width: 1100px) {
	/* Cabeçalho móvel nativo: linha branca com a logo em destaque + barra preta com os controles */
	#smart-head-mobile .smart-head-mid { background: #000; }
	#smart-head-mobile .smart-head-mid .inner { display: flex; flex-wrap: wrap; height: auto; align-items: center; }
	#smart-head-mobile .smart-head-mid .items-center { order: -1; flex: 0 0 100%; background: #fff; justify-content: center; padding: 8px 0; }
	#smart-head-mobile .smart-head-mid .items-left, #smart-head-mobile .smart-head-mid .items-right { flex: 1 1 50%; min-height: 44px; }
	#smart-head-mobile .smart-head-mid .items-right { justify-content: flex-end; }
	#smart-head-mobile .smart-head-mid a, #smart-head-mobile .smart-head-mid button, #smart-head-mobile .smart-head-mid i, #smart-head-mobile .smart-head-mid [class*="icon"] { color: #fff; }
	#smart-head-mobile .smart-head-mid .items-center a { color: inherit; }
	#smart-head-mobile .smart-head-mid svg { fill: currentColor; }

	/* Correção provada em navegador: a altura nativa de 65px cortava a linha flex (~199px) e o hero sobrepunha a logo */
	#smart-head-mobile .smart-head-mid { height: auto; --head-h: auto; }
	#smart-head-mobile { height: auto; min-height: 0 !important; }
	#smart-head-mobile .smart-head-mid .items { height: auto; }
	#smart-head-mobile .smart-head-mid .inner { width: 100%; max-width: none; margin: 0; padding: 3px 0 0; }
	#smart-head-mobile .smart-head-mid .items-left { padding-left: 20px; }
	#smart-head-mobile .smart-head-mid .items-right { padding-right: 20px; }
	#smart-head-mobile .hamburger-icon .inner,
	#smart-head-mobile .hamburger-icon .inner:before,
	#smart-head-mobile .hamburger-icon .inner:after { background: #fff; }
}
@media (max-width: 700px) {
	/* Logo da barra móvel nativa: proporcional, sem limite de altura herdado */
	.smart-head-mobile .logo-image { --logo-width: 300px; display: block; width: 300px; max-width: 100%; height: auto; max-height: none !important; padding: 0; margin: 0 auto; }
	.smart-head-mobile .logo-image img { display: block; width: 300px; max-width: 100%; height: auto; max-height: none !important; }
	.cdg-launch__lead, .cdg-launch__list, .cdg-modern, .cdg-tall, .cdg-grid { grid-template-columns: minmax(0, 1fr); }
	.cdg-li { grid-template-columns: 110px minmax(0, 1fr); }
	.cdg-ov--tall, .cdg-ov--grid { height: 220px; }
	.cdg-mosaic__1 h3 { font-size: 20px; }
	.cdg-ov img, .cdg-lead img, .cdg-li img { max-width: 100%; }
}
