/*
Theme Name: Direto de Paris — Premium
Template: ddp
Description: Tema-filho do Direto de Paris. Mesma estrutura, colunas e usabilidade do tema original, com reescrita visual: tipografia premium (Playfair Display + Cormorant + Inter), toques sutis das cores da França e a logo posicionada na área do menu. Totalmente responsivo. Requer o tema "ddp" instalado.
Author: Jersi
Version: 1.0.0
Requires PHP: 8.0
Text Domain: ddp-premium
*/

/* =========================================================================
   Paleta — toques sutis da França (azul/branco/vermelho)
   ========================================================================= */
:root{
	--fr-azul:#0b3d91;        /* azul França (sóbrio) */
	--fr-azul-2:#0055A4;
	--fr-vermelho:#c8313b;    /* vermelho França (acento) */
	--tinta:#1a1f2b;
	--cinza:#6b7280;
	--linha:#e9ecf1;
	--fundo:#fbfbfc;
	--serif:"Playfair Display", Georgia, serif;
	--serif-2:"Cormorant Garamond", Georgia, serif;
	--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* =========================================================================
   Tipografia premium
   ========================================================================= */
body{ font-family:var(--sans); color:var(--tinta); background:var(--fundo); font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,
.title-post h1,.hover-post h2,.blog-post h2,.other-posts h3,.widget-title,.recent-list h2{
	font-family:var(--serif) !important;
	letter-spacing:-.2px;
}
.entry-content,.blog-box p,.post-content p{ font-family:var(--sans); }
a{ color:var(--fr-azul-2); transition:color .2s; }
a:hover{ color:var(--fr-vermelho); }

/* Subtítulos/legendas elegantes em Cormorant */
.title-post span,.blog-post .caption span,.hover-post span{ font-family:var(--serif-2); font-size:16px; }
/* Categoria (kicker) + data maiores — LISTA e SINGLE */
.title-post a[rel="category tag"]{ font-size:12px !important; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:var(--fr-vermelho) !important; }
.title-post .p-categories, .title-post .p-categories a{ font-size:12px !important; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:var(--fr-vermelho) !important; }
.title-post > span:last-child{ font-size:12px !important; color:var(--cinza); display:inline-block; margin-top:6px; font-family:var(--sans) !important; text-transform:uppercase; letter-spacing:.8px; font-weight:500; }

/* Arredondamento padrão do tema = 10px */
.theme-premium .sidebar .widget,
.theme-premium .blog-box.standard .blog-post,
.theme-premium .single-post.blog-box,
.theme-premium .blog-gallery,
.theme-premium .blog-gallery img,
.theme-premium .blog-box .blog-post img,
.theme-premium .grid-line-section .blog-post,
.theme-premium .grid-line-section .blog-post img,
.theme-premium .direto-slider .ds-track,
.theme-premium .direto-slider .ds-slide,
.theme-premium .form-search{ border-radius:10px !important; }

/* Linha suave separando os posts na listagem */
.theme-premium .blog-section .blog-box.standard .blog-post{ position:relative; margin-bottom:46px; }
.theme-premium .blog-section .blog-box.standard .blog-post:not(:last-of-type)::after{
	content:""; position:absolute; left:0; right:0; bottom:-24px; height:1px;
	background:linear-gradient(90deg, transparent, #e2ded4 18%, #e2ded4 82%, transparent);
}

/* ============================================================
   PAGINAÇÃO • SOCIAIS • COMENTÁRIOS — cores da França
   ============================================================ */

/* --- Paginação --- */
.theme-premium .pagination-list,
.theme-premium .page-numbers{ list-style:none; }
.theme-premium .pagination-list{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:0; margin:34px 0; }
.theme-premium .pagination-list li{ list-style:none; margin:0; }
.theme-premium .page-numbers{
	display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px;
	border-radius:10px; background:#fff; border:1px solid #e6e6e6; color:var(--fr-azul) !important;
	font-family:var(--sans); font-weight:600; text-decoration:none; transition:.2s;
}
.theme-premium .page-numbers:hover{ background:var(--fr-azul); color:#fff !important; border-color:var(--fr-azul); transform:translateY(-1px); }
.theme-premium .page-numbers.current{ background:var(--fr-vermelho); color:#fff !important; border-color:var(--fr-vermelho); }
.theme-premium .page-numbers.dots{ background:transparent; border-color:transparent; }

/* --- Ícones sociais (compartilhar no post + autor) --- */
.theme-premium .share-this-post,
.theme-premium .autor-social{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:6px 0 0; }
.theme-premium .share-this-post li,
.theme-premium .autor-social li{ list-style:none; margin:0; }
.theme-premium .share-this-post li a,
.theme-premium .autor-social li a{
	display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
	background:transparent !important; color:var(--fr-azul) !important; font-size:19px; line-height:1; transition:.2s;
}
.theme-premium .share-this-post li a i,
.theme-premium .autor-social li a i{ color:var(--fr-azul); transition:.2s; }
.theme-premium .share-this-post li a:hover,
.theme-premium .autor-social li a:hover{ background:transparent !important; transform:translateY(-2px); }
.theme-premium .share-this-post li a:hover i,
.theme-premium .autor-social li a:hover i{ color:var(--fr-vermelho); }

/* vc_single_image: centraliza e respeita o tamanho natural (não força 100%) */
.theme-premium .vc_single_image-wrapper{ text-align:center; }
.theme-premium .vc_single_image-wrapper img.vc_single_image-img{
	display:inline-block !important; width:auto !important; max-width:100% !important; height:auto !important;
	margin:0 auto; border-radius:10px;
}
.theme-premium .vc_single_image-wrapper[style*="left"] img{ margin:0; }
.theme-premium .vc_single_image-wrapper[style*="right"] img{ margin:0 0 0 auto; }

/* Tags do post como chips (esconde as vírgulas soltas via font-size:0 no UL) */
.theme-premium .single-post-tags{
	list-style:none; padding:0; margin:26px 0; display:flex; flex-wrap:wrap; align-items:center;
	gap:8px; font-size:0;
}
.theme-premium .single-post-tags li{ list-style:none; margin:0; display:inline-flex; }
.theme-premium .single-post-tags li span{
	font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--tinta); margin-right:4px;
}
.theme-premium .single-post-tags li a{
	display:inline-block; font-size:12.5px; line-height:1.4; padding:6px 14px; border-radius:999px;
	background:#eef2f8; color:var(--fr-azul) !important; text-decoration:none; transition:.2s;
}
.theme-premium .single-post-tags li a:hover{ background:var(--fr-vermelho); color:#fff !important; transform:translateY(-1px); }

/* ---- Página "A Autora" ---- */
/* imagem preenche toda a coluna, recorte cover centralizado */
.theme-premium .vc_single_image-wrapper{ width:100%; text-align:center; }
.theme-premium .vc_single_image-wrapper img.vc_single_image-img{
	display:block !important; width:100% !important; max-width:100% !important;
	height:auto !important; aspect-ratio:16 / 10;
	object-fit:cover !important; object-position:center center !important;
	margin:0 !important; border-radius:10px;
}
/* bloco de texto da autora + espaçamento do título */
.theme-premium .about-info{ max-width:760px; margin:6px auto 0; text-align:center; }
.theme-premium .about-info h2{
	font-family:"Castoro Titling", var(--serif) !important; font-size:32px; color:var(--fr-azul);
	margin:26px 0 16px; line-height:1.15;
}
.theme-premium .about-info p{ font-size:16.5px; line-height:1.85; text-align:left; }
.theme-premium .about-info .signature{
	display:block; margin-top:18px; font-family:var(--serif-2); font-size:26px; color:var(--fr-vermelho);
}
/* Página A Autora no MOBILE */
@media (max-width:600px){
	.theme-premium .about-info{ margin-top:0; padding:0 2px; }
	.theme-premium .about-info h2{ font-size:23px; margin:16px 0 12px; }
	.theme-premium .about-info p{ font-size:15px; line-height:1.7; }
	.theme-premium .about-info .signature{ font-size:21px; margin-top:14px; }
	.theme-premium .vc_single_image-wrapper img.vc_single_image-img{ max-width:100% !important; border-radius:12px; }
	.theme-premium .vc_empty_space{ height:12px !important; }
	/* caixa do autor (autor-post): mais compacta e legível */
	.theme-premium .autor-post{ padding:18px 16px; gap:0; }
	.theme-premium .autor-post > img, .theme-premium .autor-post .avatar{ width:84px !important; height:84px !important; margin:0 auto 12px; }
	.theme-premium .autor-post-content h2{ text-align:center; }
	.theme-premium .autor-post-content p{ text-align:left; font-size:14.5px; line-height:1.7; }
}

/* ---- Caixa do autor no post (autor-post) ---- */
.theme-premium .autor-post{
	display:flex; gap:22px; align-items:flex-start; background:#fff; border:1px solid #eee;
	border-radius:10px; padding:24px 26px; margin:28px 0; box-shadow:0 4px 16px rgba(20,30,55,.06);
	border-left:3px solid var(--fr-vermelho);
}
.theme-premium .autor-post > img,
.theme-premium .autor-post .avatar{
	width:92px !important; height:92px !important; border-radius:50% !important; object-fit:cover;
	flex:0 0 92px; margin:0;
}
.theme-premium .autor-post-content{ flex:1; min-width:0; }
.theme-premium .autor-post-content h2{
	font-family:"Castoro Titling", var(--serif) !important; font-size:21px; color:var(--fr-azul); margin:0 0 8px;
}
.theme-premium .autor-post-content p{ font-size:15px; line-height:1.75; color:#444; margin:0 0 12px; }
@media (max-width:600px){ .theme-premium .autor-post{ flex-direction:column; align-items:center; text-align:center; } }

/* ============================================================
   FONTE BOGUE nos títulos + BANNER/CARDS elegantes
   ============================================================ */
@font-face{
	font-family:'Bogue';
	src:url('fonts/bogue-semibold.ttf') format('truetype');
	font-weight:600; font-style:normal; font-display:swap;
}

/* aplica Bogue em todos os títulos */
.theme-premium h1, .theme-premium h2, .theme-premium h3, .theme-premium h4,
.theme-premium .title-post h1, .theme-premium .title-post h2,
.theme-premium .hover-post h2, .theme-premium .blog-post h2,
.theme-premium .ds-title, .theme-premium .recent-list h2, .theme-premium .recent-list .post-content h2,
.theme-premium .widget-title, .theme-premium .entry-title, .theme-premium .about-info h2,
.theme-premium .autor-post-content h2, .theme-premium .other-posts h3,
.theme-premium .comment-content h4, .theme-premium .comments-section h3,
.direto-slider .ds-title{
	font-family:"Castoro Titling", Georgia, serif !important;
	letter-spacing:.3px; font-weight:600 !important; -webkit-text-stroke:0.4px currentColor;
}

/* ---- HERO (slider) mais elegante ---- */
.theme-premium .direto-slider{ box-shadow:0 16px 40px rgba(20,30,55,.16); border-radius:14px; }
.theme-premium .direto-slider .ds-track{ border-radius:14px; }
.theme-premium .direto-slider .ds-slide{ height:500px; }
.theme-premium .direto-slider .ds-caption{ padding:120px 48px 40px; }
.theme-premium .direto-slider .ds-cat{ background:var(--fr-vermelho); padding:6px 14px; font-size:11px; }
.theme-premium .direto-slider .ds-title{ font-size:34px; }
.theme-premium .direto-slider .ds-nav{
	width:46px; height:46px; background:rgba(255,255,255,.18); color:#fff;
	border:1px solid rgba(255,255,255,.45); box-shadow:none; -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
	opacity:.85; transition:.25s;
}
.theme-premium .direto-slider .ds-nav:hover{
	background:#fff; color:var(--fr-azul); border-color:#fff; opacity:1;
	box-shadow:0 6px 18px rgba(0,0,0,.28);
}

/* ============================================================
   CAIXA DO AUTOR (autor-post) NO MOBILE — definitivo e harmônico
   (vence as regras anteriores: bloco com largura total + ícones em 1 linha)
   ============================================================ */
@media (max-width:600px){
	.theme-premium .autor-post{ display:block !important; padding:22px 18px !important; text-align:center; gap:0 !important; }
	.theme-premium .autor-post > img,
	.theme-premium .autor-post .avatar{
		float:none !important; display:block !important;
		width:88px !important; height:88px !important; margin:0 auto 14px !important;
	}
	.theme-premium .autor-post-content{ width:100% !important; margin:0 !important; flex:none !important; min-width:0 !important; }
	.theme-premium .autor-post-content h2{ text-align:center !important; font-size:18px; margin:0 0 10px; }
	.theme-premium .autor-post-content p{ text-align:left !important; font-size:15px; line-height:1.75; }
	.theme-premium .autor-post .autor-social{
		display:flex !important; justify-content:center !important; flex-wrap:nowrap !important;
		gap:12px; margin:16px 0 0 !important; padding:0 !important; list-style:none !important;
	}
	.theme-premium .autor-post .autor-social li{ margin:0 !important; padding:0 !important; border:0 !important; }
	.theme-premium .autor-post .autor-social li a{
		display:inline-flex !important; align-items:center; justify-content:center;
		width:34px !important; height:34px !important;
	}
	.theme-premium .autor-post .autor-social li a i{ font-size:17px; }
}

/* ============================================================
   FORMULÁRIO DE COMENTÁRIOS — elegante
   ============================================================ */
.theme-premium #respond, .theme-premium .comment-respond{
	background:#fff; border:1px solid var(--linha); border-radius:14px;
	padding:26px 28px; box-shadow:0 6px 20px rgba(20,30,55,.05); margin-top:22px;
}
.theme-premium #reply-title, .theme-premium .comment-reply-title{
	font-family:"Castoro Titling", var(--serif) !important; font-size:21px; color:var(--fr-azul); margin:0 0 16px;
}
.theme-premium .logged-in-as, .theme-premium .comment-notes{ font-size:13px; color:var(--cinza); margin-bottom:14px; }
.theme-premium .logged-in-as a, .theme-premium .comment-notes a{ color:var(--fr-azul-2); }
.theme-premium #commentform input[type="text"],
.theme-premium #commentform input[type="email"],
.theme-premium #commentform input[type="url"],
.theme-premium #commentform textarea,
.theme-premium #comment, .theme-premium #name, .theme-premium #mail, .theme-premium #website{
	width:100%; border:1px solid var(--linha); border-radius:10px; padding:13px 15px;
	font-family:var(--sans); font-size:15px; background:#fafbfc; margin-bottom:14px; box-sizing:border-box; transition:.2s;
}
.theme-premium #commentform input:focus, .theme-premium #comment:focus{
	border-color:var(--fr-azul-2); background:#fff; outline:none; box-shadow:0 0 0 3px rgba(0,85,164,.08);
}
.theme-premium #submit, .theme-premium .form-submit input[type="submit"]{
	background:var(--fr-azul) !important; color:#fff !important; border:0 !important; border-radius:999px !important;
	padding:13px 34px !important; font-family:var(--sans); font-weight:600; font-size:14px;
	text-transform:uppercase; letter-spacing:.6px; cursor:pointer; transition:.2s; box-shadow:0 4px 14px rgba(11,61,145,.25);
}
.theme-premium #submit:hover, .theme-premium .form-submit input[type="submit"]:hover{
	background:var(--fr-vermelho) !important; transform:translateY(-2px);
}

/* ============================================================
   RODAPÉ — colunas harmônicas
   ============================================================ */
.theme-premium .upper-footer{ padding:46px 0 30px; }
.theme-premium .upper-footer .col-md-4{ padding:0 18px; }
.theme-premium .footer-widget{ margin-bottom:10px; }
.theme-premium .footer-widget .widget-title{ margin-bottom:18px; }
.theme-premium .upper-footer img{ max-width:100%; height:auto; }
/* logos das redes (col 2) alinhados e com tamanho coerente */
.theme-premium .footer-widget p img{ display:block; margin:8px 0; max-height:90px; width:auto; }
/* lista de posts/categorias no rodapé */
.theme-premium .footer-widget ul{ list-style:none; margin:0; padding:0; }
.theme-premium .footer-widget ul li{ padding:7px 0; border-bottom:1px solid var(--linha); font-size:14px; }
.theme-premium .footer-widget ul li:last-child{ border-bottom:0; }
.theme-premium .footer-widget ul li a{ color:#3a4150; }
.theme-premium .footer-widget ul li a:hover{ color:var(--fr-azul-2); }
.theme-premium .footer-widget .recent-list li{ display:flex; gap:10px; align-items:center; }
.theme-premium .footer-widget .recent-list .media-object{ width:54px; height:42px; object-fit:cover; border-radius:6px; flex:0 0 54px; }
@media (max-width:768px){ .theme-premium .upper-footer .col-md-4{ padding:0; margin-bottom:26px; } }
.theme-premium .direto-slider .ds-dots button.active{ background:#fff; }

/* ---- 4 CARDS (banners de categoria) elegantes ---- */
.theme-premium .grid-line-section .wpb_column{ padding:0 10px; }
.theme-premium .grid-line-section .blog-post{
	position:relative; overflow:hidden; border-radius:12px;
	box-shadow:0 10px 28px rgba(20,30,55,.12); margin-bottom:20px;
}
.theme-premium .grid-line-section .blog-post img{
	width:100% !important; height:280px !important; object-fit:cover !important; display:block;
	transition:transform .6s ease; border-radius:12px;
}
.theme-premium .grid-line-section .blog-post:hover img{ transform:scale(1.07); }
.theme-premium .grid-line-section .hover-post{
	position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
	padding:22px 22px; background:linear-gradient(to top, rgba(10,14,24,.92) 0%, rgba(10,14,24,.45) 45%, rgba(10,14,24,0) 100%);
}
.theme-premium .grid-line-section .hover-post > a{
	align-self:flex-start; background:var(--fr-vermelho); color:#fff !important;
	padding:5px 13px; border-radius:999px; font-family:var(--sans); font-size:11px; font-weight:700;
	text-transform:uppercase; letter-spacing:.6px; margin-bottom:12px; text-decoration:none;
}
.theme-premium .grid-line-section .hover-post h2{
	margin:0; font-size:19px; line-height:1.25; text-shadow:0 2px 6px rgba(0,0,0,.5);
}
.theme-premium .grid-line-section .hover-post h2 a{ color:#fff !important; text-decoration:none; }
.theme-premium .grid-line-section .blog-post:hover .hover-post h2 a{ color:#ffd9cf !important; }
/* remove o tracinho vermelho entre categoria e título + mais respiro */
.theme-premium .grid-line-section .blog-post .hover-post > a:after{ display:none !important; content:none !important; }
.theme-premium .grid-line-section .hover-post > a{ margin-bottom:16px !important; }

/* ---- Mobile: comentários + caixa do autor ---- */
@media (max-width:600px){
	/* comentários */
	.theme-premium .comment-box{ gap:12px; padding:16px 16px; }
	.theme-premium .comment-box > img{ width:48px !important; height:48px !important; flex:0 0 48px; }
	.theme-premium .comment-tree .children{ margin-left:14px; }
	.theme-premium .comment-content h4{ font-size:15px; line-height:1.3; }
	.theme-premium .comment-content h4 .comment-reply-link{ display:inline-block; margin:4px 0 0; }
	.theme-premium .comment-content > span{ display:block; margin:2px 0 6px; }
	/* caixa do autor no post: foto centralizada + bio legível à esquerda */
	.theme-premium .autor-post-content p{ text-align:left; }
	.theme-premium .autor-post .autor-social{ justify-content:center; }
}

@media (max-width:768px){
	.theme-premium .direto-slider .ds-slide{ height:320px; }
	.theme-premium .direto-slider .ds-caption{ padding:80px 22px 26px; }
	.theme-premium .direto-slider .ds-title{ font-size:22px; }
	.theme-premium .grid-line-section .blog-post img{ height:220px !important; }
}
.theme-premium .share-box .comm{
	display:inline-block; padding:8px 16px; border-radius:999px; background:var(--fr-azul); color:#fff !important;
	font-family:var(--sans); font-weight:600; font-size:13px; text-decoration:none;
}
.theme-premium .share-box .comm:hover{ background:var(--fr-vermelho); }

/* --- Área de comentários --- */
.theme-premium .comments-section h2,
.theme-premium .comments-section h3{ font-family:"Castoro Titling", var(--serif) !important; color:var(--fr-azul); }
.theme-premium .comment-tree,
.theme-premium .comment-tree ul{ list-style:none; padding:0; }
.theme-premium .comment-tree .children{ margin-left:42px; }
.theme-premium .comment-box{
	display:block; padding:20px 22px; background:#fff; border:1px solid #eee;
	border-radius:10px; margin-bottom:16px; box-shadow:0 4px 16px rgba(20,30,55,.05);
}
/* Sobrescreve o layout do tema (alta especificidade) para o texto ocupar a largura toda */
.blog-section .single-post .comments-section ul li .comment-box img{ max-width:58px; border-radius:50%; }
.blog-section .single-post .comments-section ul li .comment-box .comment-content{ margin-left:76px; }
.blog-section .single-post .comments-section ul.depth .comment-box{ padding-left:0; }

/* Avatar do comentário: tamanho FIXO (resolve a foto da autora gigante) */
.blog-section .single-post .comments-section ul li .comment-box img{
	width:58px !important; height:58px !important; max-width:58px !important;
	object-fit:cover; border-radius:50%; float:left;
}
.blog-section .single-post .comments-section ul li .comment-box .comment-content{ margin-left:78px !important; }
.blog-section .single-post .comments-section ul.children .comment-box,
.blog-section .single-post .comments-section ul.depth .comment-box{ padding-left:0 !important; }
/* Hierarquia das respostas (indenta os .children + fio à esquerda) */
.theme-premium .comment-tree .children{ margin-left:0 !important; padding-left:40px !important; border-left:2px solid #eef1f5; }
@media (max-width:600px){
	.blog-section .single-post .comments-section ul li .comment-box img{ width:44px !important; height:44px !important; max-width:44px !important; }
	.blog-section .single-post .comments-section ul li .comment-box .comment-content{ margin-left:58px !important; }
	.theme-premium .comment-tree .children{ padding-left:16px !important; }
}
@media (max-width:600px){
	.blog-section .single-post .comments-section ul li .comment-box{ padding:14px 14px !important; }
	.blog-section .single-post .comments-section ul li .comment-box img{ max-width:42px !important; }
	.blog-section .single-post .comments-section ul li .comment-box .comment-content{ margin-left:54px !important; }
	.blog-section .single-post .comments-section ul.depth .comment-box{ padding-left:10px !important; }
	.blog-section .single-post .comments-section ul li .comment-box .comment-content h4 a{ float:none !important; display:inline-block; margin-top:3px; }
}
.theme-premium .comment-content h4{ font-family:var(--serif); font-size:17px; margin:0 0 4px; color:var(--fr-azul); }
.theme-premium .comment-content > span{ display:inline-block; font-size:12px; color:var(--cinza); text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
.theme-premium .comment-reply-link{
	color:var(--fr-vermelho) !important; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.5px;
	margin-left:10px; text-decoration:none;
}
.theme-premium .comment-reply-link:hover{ color:var(--fr-azul) !important; }
/* borda tricolor sutil no comentário em destaque (hover) */
.theme-premium .comment-box:hover{ border-left:3px solid var(--fr-vermelho); }

/* ============================================================
   PARIS CHIC — paleta, detalhes editoriais, ornamentos, microinterações
   ============================================================ */
:root{ --ouro:#b0894f; --creme:#faf7f1; }

/* 1) PALETA: fundo creme/marfim, cartões brancos */
body.theme-premium,
.theme-premium #container{ background:#ffffff !important; }
.theme-premium #content,
.theme-premium .section-content,
.theme-premium .blog-section{ background:transparent !important; }
.theme-premium .blog-box.standard .blog-post{ background:#fff; border-radius:14px; }
.theme-premium .single-post.blog-box{ background:#fff; border-radius:14px; padding:6px; }

/* 2a) CAPITULAR (drop cap) no 1º parágrafo do post (single) */
.single-post .blog-post > p:first-of-type::first-letter{
	float:left; font-family:"Castoro Titling", var(--serif);
	font-size:68px; line-height:.72; padding:10px 12px 0 0; color:var(--fr-azul);
}

/* 2b) CITAÇÕES com aspas francesas « » */
.blog-box blockquote, .entry-content blockquote{
	position:relative; margin:1.6em 0; padding:10px 28px 10px 58px;
	font-family:var(--serif-2); font-size:23px; font-style:italic; color:#2b313d;
	border-left:3px solid var(--fr-vermelho); background:#fbf9f5; border-radius:0 8px 8px 0;
}
.blog-box blockquote::before, .entry-content blockquote::before{
	content:"\00AB"; position:absolute; left:14px; top:6px;
	font-family:Georgia, serif; font-size:52px; line-height:1; color:var(--ouro);
}

/* 3) ORNAMENTOS: fio tricolor + flor-de-lis nos títulos */
.theme-premium .widget-title,
.theme-premium .other-posts h3{ position:relative; }
.theme-premium .widget-title::after,
.theme-premium .other-posts h3::after{
	content:""; position:absolute; left:0; bottom:-1px; width:62px; height:3px; border-radius:3px;
	background:linear-gradient(90deg, var(--fr-azul) 0 33%, #e7e3da 33% 66%, var(--fr-vermelho) 66% 100%) !important;
}
.theme-premium .widget-title::before{
	content:"\269C"; color:var(--ouro); margin-right:8px; font-size:14px; opacity:.9;
}

/* 4) MICROINTERAÇÕES */
.theme-premium .blog-gallery{ overflow:hidden; border-radius:10px; }
.theme-premium .blog-gallery img{ transition:transform .6s ease; }
.theme-premium .blog-box .blog-post:hover .blog-gallery img{ transform:scale(1.05); }
/* sublinhado animado nos links de conteúdo */
.theme-premium .blog-box .blog-post p a,
.theme-premium .entry-content a{
	text-decoration:none; color:var(--fr-azul-2);
	background-image:linear-gradient(var(--fr-azul-2), var(--fr-azul-2));
	background-size:0 1.5px; background-position:0 100%; background-repeat:no-repeat;
	transition:background-size .3s ease; padding-bottom:1px;
}
.theme-premium .blog-box .blog-post p a:hover,
.theme-premium .entry-content a:hover{ background-size:100% 1.5px; color:var(--fr-vermelho); }
.blog-box .title-post h2{ font-size:30px; line-height:1.18; }
/* Single um pouco maior */
.single-post .title-post a[rel="category tag"]{ font-size:12px !important; }
.single-post .title-post h1{ font-size:46px; line-height:1.12; margin:10px 0 6px; }
.single-post .title-post > span:last-child{ font-size:12px !important; margin-top:8px; }

/* Botão "Continue lendo" com cores da França */
.blog-box .blog-post > a{
	display:inline-block; margin-top:16px; padding:11px 24px; border-radius:999px;
	background:var(--fr-azul); color:#fff !important; font-family:var(--sans); font-weight:600;
	font-size:13px; letter-spacing:.6px; text-transform:uppercase; text-decoration:none;
	box-shadow:0 4px 14px rgba(11,61,145,.25); transition:.2s;
}
.blog-box .blog-post > a::after{ content:""; }
.blog-box .blog-post > a:hover{ background:var(--fr-vermelho); color:#fff !important; transform:translateY(-2px); box-shadow:0 6px 18px rgba(200,49,59,.3); }

/* =========================================================================
   Top bar + cor da França
   ========================================================================= */
.top-line{ background:var(--fr-azul) !important; }
.top-line, .top-line a{ color:#e8edf6 !important; }
.top-line a:hover{ color:#fff !important; }
/* fininha tricolor no topo */
.navbar-fixed-top{ border-top:3px solid var(--fr-vermelho); }
.top-list>li>a:hover{ color:#fff; }
.social-list a:hover{ color:#fff; opacity:.9; }

/* Botão dropdown da faixa azul (escondido no desktop) */
.topnav-toggle{ display:none; align-items:center; justify-content:center; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:0; border-radius:50%; background:rgba(255,255,255,.16); color:#fff; cursor:pointer; font-size:14px; }
.topnav-toggle:hover{ background:#fff; color:var(--fr-azul); }
/* Redes sociais modernas (cores da França) */
.top-line .social-list a{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.16); color:#fff; transition:.2s; font-size:15px; }
.top-line .social-list a:hover{ background:#fff !important; color:#0b3d91 !important; transform:translateY(-2px); opacity:1 !important; }
.top-line .social-list .instagram a:hover{ color:var(--fr-vermelho) !important; }
.top-line .social-list li{ margin:0; padding:0; }

/* =========================================================================
   Header com LOGO na área do menu
   ========================================================================= */
.navbar-default{ background:#fff; box-shadow:0 2px 16px rgba(20,30,55,.06); border:0; }
.premium-header .navbar-header{ display:flex; align-items:center; gap:14px; }
.premium-header .navbar-brand-logo{ display:inline-flex; align-items:center; padding:8px 0; }
.premium-header .navbar-brand-logo img{ height:48px; width:auto; }
.premium-header .navbar-collapse{ }
.nav.navbar-nav>li>a{ font-family:var(--sans); font-weight:600; color:var(--tinta); }
.nav.navbar-nav>li>a:hover,.nav.navbar-nav>li.current-menu-item>a{ color:var(--fr-azul-2); }
/* submenu refinado */
.nav .dropdown-menu, .nav ul.sub-menu{ border:0; box-shadow:0 14px 40px rgba(20,30,55,.16); border-radius:10px; padding:8px; }
.nav .dropdown-menu>li>a:hover{ background:#f3f6fb; color:var(--fr-azul-2); }
.search-box .open-search{ color:var(--fr-vermelho); }

/* =========================================================================
   Cards / posts — mantém as MESMAS colunas, só refina o visual
   ========================================================================= */
.blog-post{ border-radius:12px; overflow:hidden; }
.blog-box.standard .blog-post img,.blog-post img{ border-radius:10px; }
.hover-post{ background:linear-gradient(to top, rgba(11,18,30,.86), rgba(11,18,30,0)); }
.hover-post h2 a{ color:#fff; }
.blog-box .blog-post h2 a:hover{ color:var(--fr-vermelho); }
/* etiqueta de categoria em vermelho França */
.blog-post .caption span:first-child,.title-post a[rel="category tag"],.title-post .post-cat{ color:var(--fr-vermelho); }

/* botões/linhas de destaque */
.btn,.more-link,.read-more{ background:var(--fr-azul-2); color:#fff; border-radius:999px; }
.btn:hover,.more-link:hover,.read-more:hover{ background:var(--fr-vermelho); color:#fff; }

/* =========================================================================
   Single
   ========================================================================= */
.title-post h1{ font-size:40px; line-height:1.15; }
.single-post .blog-gallery img{ border-radius:12px; }
.share-this-post a:hover{ color:var(--fr-vermelho); }
.other-posts h3{ border-left:4px solid var(--fr-vermelho); padding-left:12px; }

/* =========================================================================
   Sidebar / widgets
   ========================================================================= */
.widget-title,.widget h3{ font-family:var(--serif) !important; position:relative; }
.recent-list .post-content h2 a{ font-weight:500; }

/* =========================================================================
   Footer
   ========================================================================= */
.site-footer,footer{ }
.upper-footer{ border-top:3px solid var(--fr-azul); }
.last-line{ background:var(--tinta); color:#aeb7c7; }
.last-line a{ color:#fff; }

/* =========================================================================
   Responsivo (mobile) — premium
   ========================================================================= */
@media (max-width:992px){
	.premium-header .navbar-brand-logo img{ height:40px; }
}
@media (max-width:768px){
	body{ font-size:16px; }
	.title-post h1{ font-size:27px; }
	.premium-header .navbar-header{ width:100%; justify-content:space-between; }
	.premium-header .navbar-brand-logo{ order:-1; }
	.navbar-toggle{ display:block; border:1px solid var(--linha); }
	/* garante que o menu colapsa bem */
	.navbar-collapse{ background:#fff; }
	.nav.navbar-nav{ margin:0; }
	.nav.navbar-nav>li>a{ padding:12px 16px; border-bottom:1px solid var(--linha); }
	.top-line .container{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
}

/* ====================== AJUSTES RÁPIDOS ====================== */
/* Cabeçalho não-fixo: resolve cards cortados */
.premium-header .navbar-fixed-top{ position:static !important; }
html body.theme-premium,
body.theme-premium #container,
body.theme-premium #content{ padding-top:0 !important; margin-top:0 !important; }

/* Top bar: esconde itens vazios e submenus expostos (resolve "/ /" e a bagunça) */
.top-line .top-list li:empty,
.top-line .top-list a:empty{ display:none !important; }
.top-line .top-list ul,
.top-line .top-list .sub-menu,
.top-line .top-list .dropdown-menu{ display:none !important; }

/* Logo + menu na MESMA linha; logo maior */
.premium-header .navbar-default>.container{ display:flex; align-items:center; gap:26px; min-height:86px; }
.premium-header .navbar-header{ float:none; display:flex; align-items:center; margin:0; }
.premium-header .navbar-brand-logo img{ height:60px; }
.premium-header .navbar-collapse{ float:none; flex:1; padding:0; display:flex; align-items:center; justify-content:space-between; }
.premium-header .nav.navbar-nav{ float:none; display:flex; flex-wrap:wrap; align-items:center; margin:0; }
.premium-header .nav.navbar-nav>li{ float:none; }
.premium-header .nav.navbar-nav>li>a{ padding:14px 14px; }
.premium-header .search-box{ float:none; margin:0; }

/* Títulos em Castoro Titling */
h1,h2,h3,h4,.title-post h1,.hover-post h2,.blog-post h2,.other-posts h3,.ds-title,.recent-list h2,.recent-list .post-content h2,.widget-title{
	font-family:"Castoro Titling", Georgia, serif !important; font-weight:400 !important; letter-spacing:.2px;
}

/* Imagens não vazam da coluna */
.sidebar img,.widget img,.upper-footer img,.post-content img,.wp-caption,.widget_media_image img,.recent-widget img,.hover-post img{ max-width:100% !important; height:auto !important; }

/* === Alinhamento logo + menu na MESMA linha (vence o bootstrap) === */
.premium-header .navbar-default > .container{ display:flex !important; align-items:center; gap:24px; overflow:visible; }
.premium-header .navbar-header{ float:none !important; display:flex; align-items:center; margin:0; padding:0; }
.premium-header .navbar-brand-logo{ padding:0 !important; }
.premium-header .navbar-brand-logo img{ height:58px; }
.premium-header .navbar-collapse{ float:none !important; flex:1 1 auto; display:flex !important; align-items:center; justify-content:space-between; padding:0; overflow:visible; }
.premium-header .nav.navbar-nav{ float:none !important; margin:0; display:flex; align-items:center; }
.premium-header .nav.navbar-nav > li{ float:none !important; }

/* respiro entre o cabeçalho e o conteúdo */
.premium-header{ margin-bottom:26px; }
@media (max-width:768px){ .premium-header{ margin-bottom:16px; } }

/* === Imagens dos posts: 100% da largura da coluna, proporção mantida === */
.blog-gallery img,
.blog-box .blog-post img,
.entry-content img,
.post-content > img{
	width:100% !important;
	height:auto !important;
	max-width:100% !important;
	object-fit:unset !important;
	display:block;
	border-radius:10px;
}
/* legendas/figuras também ocupam 100% (corrige imagem antiga que não completava) */
.blog-box .wp-caption, .entry-content .wp-caption,
.blog-box figure, .entry-content figure,
.blog-box .aligncenter, .blog-box .alignleft, .blog-box .alignright{
	width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important;
}
.wp-caption img{ width:100% !important; height:auto !important; }
.wp-caption .wp-caption-text{ font-size:13px; color:#777; text-align:center; padding:6px 0; }

/* ===== Anti-overflow (desktop + mobile) — sem barra horizontal, sem quebrar sticky ===== */
html, body{ overflow-x:clip; max-width:100%; }
img, iframe, video, table, embed, object{ max-width:100% !important; }

/* ===== MOBILE: margens, hambúrguer↔logo invertidos, faixa azul compacta ===== */
@media (max-width:991px){
	/* margem lateral no conteúdo */
	#content .container{ padding-left:16px !important; padding-right:16px !important; }
	#content .row{ margin-left:0 !important; margin-right:0 !important; }
	/* cabeçalho: HAMBÚRGUER colado à esquerda, LOGO colada à direita */
	.premium-header .navbar-default > .container{ display:block !important; padding:0 !important; }
	.premium-header .navbar-header{ width:100% !important; display:flex !important; align-items:center; margin:0 !important; padding:6px 12px !important; }
	.premium-header .navbar-brand-logo{ order:0; margin:0 !important; padding:0 !important; }
	.premium-header .navbar-toggle{ order:1; display:block !important; float:none !important; margin:0 0 0 auto !important; border:1px solid var(--linha); border-radius:8px; padding:8px 11px; }
	.premium-header .navbar-brand-logo img{ height:54px !important; display:block; }
	/* faixa azul: só redes sociais visíveis; links extras num dropdown (botão ⋯) */
	.top-line .container{ display:flex !important; align-items:center; justify-content:flex-end; gap:6px; padding:8px 12px; position:relative; }
	.topnav-toggle{ display:inline-flex !important; position:static !important; right:auto !important; top:auto !important; transform:none !important; width:32px; height:32px; order:2; margin-left:2px; }
	.top-line .top-list{ display:none !important; position:absolute; top:100%; left:0; right:0; flex-direction:column; background:#0b3d91; margin:0; padding:6px 0; box-shadow:0 12px 30px rgba(0,0,0,.25); z-index:70; }
	.top-line .top-list.open{ display:flex !important; }
	.top-line .top-list > li{ display:block !important; float:none !important; text-align:center; }
	.top-line .top-list > li > a{ display:block; padding:11px 16px; font-size:14px; }
	.top-line .social-list{ display:flex !important; float:none !important; gap:4px; margin:0; order:1; }
	.top-line .social-list > li{ display:inline-block !important; float:none !important; margin:0 !important; }
	.top-line .social-list a{ width:32px !important; height:32px !important; }
}

/* === Dropdowns por hover + sub-submenus em flyout lateral === */
.premium-header .navbar-nav li{ position:relative; }
.premium-header .navbar-nav li > ul{
	position:absolute; top:100%; left:0; min-width:240px; margin:0; padding:6px 0;
	list-style:none; background:#fff; box-shadow:0 14px 40px rgba(20,30,55,.16);
	border-radius:8px; display:none; z-index:1000;
}
.premium-header .navbar-nav li:hover > ul{ display:block !important; }

/* ====================== SIDEBAR PREMIUM ====================== */
.sidebar .widget{
	background:#fff;
	border:1px solid var(--linha);
	border-radius:16px;
	box-shadow:0 8px 28px rgba(20,30,55,.07);
	padding:24px 22px;
	margin-bottom:26px;
}
.sidebar .widget-title,
.sidebar .widget h3{
	font-family:"Castoro Titling", Georgia, serif !important;
	font-size:17px; letter-spacing:.6px; text-transform:uppercase;
	color:var(--tinta); margin:0 0 18px; padding-bottom:12px;
	position:relative; border-bottom:1px solid var(--linha);
}
.sidebar .widget-title::after,
.sidebar .widget h3::after{
	content:""; position:absolute; left:0; bottom:-1px;
	width:48px; height:3px; border-radius:3px;
	background:linear-gradient(90deg, var(--fr-azul-2) 50%, var(--fr-vermelho) 50%);
}

/* Busca */
.sidebar form, .sidebar .search-form{ position:relative; }
.sidebar input[type="search"], .sidebar input[type="text"]{
	width:100%; border:1px solid var(--linha); border-radius:12px;
	padding:13px 46px 13px 16px; font-size:14px; background:#fafbfc; transition:.2s;
}
.sidebar input[type="search"]:focus, .sidebar input[type="text"]:focus{
	border-color:var(--fr-azul-2); background:#fff; outline:none; box-shadow:0 0 0 3px rgba(0,85,164,.08);
}

/* Autora — foto em destaque */
.sidebar .widget img{ border-radius:14px; }
.sidebar .widget img[src*="autor"], .sidebar .widget .avatar,
.sidebar .widget img.size-thumbnail{ border-radius:50%; }
.sidebar .widget p{ color:#4a5160; font-size:15px; line-height:1.7; }

/* Ícones sociais como botões circulares */
.sidebar .widget a > i.fa{
	display:inline-flex; align-items:center; justify-content:center;
	width:38px; height:38px; border-radius:50%;
	background:var(--fr-azul); color:#fff; margin:4px 6px 0 0; font-size:15px; transition:.2s;
}
.sidebar .widget a:hover > i.fa{ background:var(--fr-vermelho); transform:translateY(-2px); }

/* Posts recentes refinados */
.sidebar .recent-list li{ border-bottom:1px solid var(--linha); padding:12px 0; }
.sidebar .recent-list .media-object{ border-radius:10px; }
.sidebar .recent-list .post-content h2 a{ color:var(--tinta); }
.sidebar .recent-list .post-content h2 a:hover{ color:var(--fr-azul-2); }
.sidebar .recent-list .post-content span{ color:var(--fr-vermelho); font-size:12px; }
.premium-header .navbar-nav li > ul li{ position:relative; }
.premium-header .navbar-nav li > ul li > a{ display:block; padding:9px 18px 9px 16px; white-space:nowrap; color:#1a1f2b; line-height:1.3; }
.premium-header .navbar-nav li > ul li > a:hover{ background:#f3f6fb; color:var(--fr-azul-2); }
/* níveis 2+ abrem para o lado (não sobrepõem) */
.premium-header .navbar-nav li > ul li > ul{ top:0; left:100%; }
.premium-header .navbar-nav li > ul li.menu-item-has-children > a::after{ content:"›"; position:absolute; right:12px; top:9px; }

/* ===== MOBILE: menu vertical em acordeão ===== */
@media (max-width:991px){
	.premium-header .navbar-default > .container{ display:block !important; min-height:0; }
	.premium-header .navbar-header{ display:flex !important; align-items:center; justify-content:space-between; float:none; }
	.premium-header .navbar-collapse{ display:none !important; float:none; width:100%; flex:none; padding:0 16px !important; }
	.premium-header .navbar-collapse.in{ display:block !important; }
	.premium-header .nav.navbar-nav{ display:block !important; float:none; width:100%; margin:0 !important; }
	.premium-header .nav.navbar-nav > li{ display:block !important; float:none; width:100%; position:relative; }
	.premium-header .navbar-nav a{ white-space:normal; }
	.premium-header .navbar-nav li > a{ border-bottom:1px solid var(--linha); padding:12px 16px; }
	/* submenus recolhidos por padrão; abrem via .open (toque) */
	.premium-header .navbar-nav li:hover > ul{ display:none !important; }
	.premium-header .navbar-nav li > ul{
		position:static !important; left:auto !important; top:auto !important;
		display:none !important; box-shadow:none !important; border-radius:0 !important;
		min-width:0 !important; padding:0 0 0 18px !important; background:#fafbfc;
	}
	.premium-header .navbar-nav li.open > ul{ display:block !important; }
	.premium-header .navbar-nav li.menu-item-has-children > a::after{ content:"+" !important; position:static !important; float:right; margin-left:10px; color:var(--fr-azul-2); }
	.premium-header .navbar-nav li.open > a::after{ content:"\2013" !important; }
}

@media (max-width:768px){
	.premium-header .navbar-default>.container{ flex-wrap:wrap; min-height:0; }
	.premium-header .navbar-collapse{ flex-basis:100%; }
	.premium-header .navbar-brand-logo img{ height:46px; }
}
