/*
Theme Name: Alexandre Coxo
Theme URI: https://alexandrecoxo.com
Author: Alexandre Coxo
Description: Tema próprio do site alexandrecoxo.com (substitui o Divi, 2026-11). Leve, sem construtor de páginas: o conteúdo é escrito com o editor de blocos do WordPress. Segue o manual de identidade (Brandbook): grafite, pêssego e linho; Playfair Display e Roboto; bloco pêssego por trás das obras; cantos de 3 px na interface.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: alexandrecoxo
*/

/* ================= 1. Fundamentos ================= */
:root {
	--grafite: #2b2b2b; --pessego: #ffbf80; --linho: #faf7f4; --linho2: #faf7f2; --cinza: #666; --terracota: #bf6040; --branco: #fff;
	--linha: rgba(43, 43, 43, .18);
	--ac-raio: 3px;
	--ac-contentor: 1080px;
	--ac-cabecalho: 66px;
	--ac-titulo: 'Playfair Display', Georgia, serif;
	--ac-texto: 'Roboto', Helvetica, Arial, sans-serif;
	--ac-seccao: 72px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--ac-cabecalho) + 16px); }
body { margin: 0; background: #fff; color: var(--grafite); font-family: var(--ac-texto); font-size: 16px; line-height: 1.6; font-weight: 400; -webkit-font-smoothing: antialiased; }
html, body { overflow-x: clip; }
img, video { max-width: 100%; height: auto; }
figure { margin: 0; }
p { margin: 0 0 1em; }
strong, b { font-weight: 500; }
h1, h2, h3, h5, h6 { font-family: var(--ac-titulo); font-weight: 400; color: var(--grafite); line-height: 1.25; margin: 0 0 .6em; letter-spacing: normal; }
h1 { font-size: 38px; line-height: 1.2; }
h2 { font-size: 28px; }
h3 { font-size: 20px; line-height: 1.3; }
h4 { font-family: var(--ac-texto); font-size: 13px; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; line-height: 1.5; margin: 0 0 .8em; color: var(--grafite); }
h5 { font-size: 18px; } h6 { font-size: 16px; }
@media (max-width: 980px) { h1 { font-size: 28px; } h2 { font-size: 24px; } }
a { color: var(--grafite); text-decoration-color: var(--pessego); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--grafite); }
ul, ol { padding-left: 1.3em; margin: 0 0 1em; }
li { margin-bottom: .3em; }
blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--pessego); font-family: var(--ac-titulo); font-style: italic; font-size: 20px; line-height: 1.5; }
hr, .wp-block-separator { border: 0; border-top: 1px solid var(--linha); margin: 2em auto; }
.ac-so-leitor, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ac-saltar { position: absolute; left: -9999px; top: 8px; z-index: 100001; background: #fff; padding: 8px 14px; border: 1px solid var(--grafite); }
.ac-saltar:focus { left: 8px; }
.ac-etiqueta, .post-meta { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--cinza); margin: 0 0 8px; }
.ac-etiqueta a { color: var(--cinza); text-decoration: none; }

/* Contentor: 80% ate 1080px (como antes); no telemovel 90% */
.ac-contentor { width: 80%; max-width: var(--ac-contentor); margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { .ac-contentor { width: 90%; } }

/* ================= 2. Cabecalho ================= */
#main-header { position: sticky; top: 0; z-index: 9990; background: var(--linho); box-shadow: 0 1px 0 rgba(0, 0, 0, .06); }
.admin-bar #main-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #main-header { top: 46px; } }
.ac-cabecalho { display: flex; align-items: center; justify-content: space-between; min-height: var(--ac-cabecalho); gap: 24px; transition: min-height .3s ease; }
#main-header.ac-encolhido .ac-cabecalho { min-height: 54px; }
.logo_container { line-height: 0; flex: 0 0 auto; }
.logo_container a { display: inline-block; }
#logo { height: 36px; width: auto; display: block; transition: height .3s ease; }
#main-header.ac-encolhido #logo { height: 30px; }
#top-menu { display: flex; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; }
#top-menu > li { position: relative; margin: 0; padding: 0 18px; }
#top-menu > li:last-child { padding-right: 0; }
#top-menu a { display: block; font-family: var(--ac-texto); font-size: 15px; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; color: var(--grafite); text-decoration: none; line-height: var(--ac-cabecalho); }
#main-header.ac-encolhido #top-menu > li > a { line-height: 54px; }
#top-menu > li > a:hover, #top-menu > li.current-menu-item > a, #top-menu > li.current-menu-ancestor > a, #top-menu > li.current_page_item > a {
	text-decoration: underline; text-decoration-color: var(--pessego); text-decoration-thickness: 2px; text-underline-offset: 6px;
}
#top-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 200px; list-style: none; margin: 0; padding: 8px 0; background: #fff; box-shadow: 0 8px 24px rgba(43, 43, 43, .1); border-radius: var(--ac-raio); opacity: 0; visibility: hidden; transition: opacity .2s ease; }
#top-menu li:hover > .sub-menu, #top-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
#top-menu .sub-menu a { line-height: 1.4; padding: 10px 20px; font-size: 13px; }
.ac-hamburguer { display: none; background: none; border: 0; padding: 10px; margin: 0 -10px 0 0; cursor: pointer; color: var(--grafite); }
.ac-hamburguer-linhas, .ac-hamburguer-linhas::before, .ac-hamburguer-linhas::after { display: block; width: 24px; height: 2px; background: currentColor; position: relative; transition: transform .3s cubic-bezier(.2, 0, 0, 1), opacity .2s; content: ""; }
.ac-hamburguer-linhas::before { position: absolute; top: -7px; }
.ac-hamburguer-linhas::after { position: absolute; top: 7px; }
.ac-hamburguer[aria-expanded="true"] .ac-hamburguer-linhas { background: transparent; }
.ac-hamburguer[aria-expanded="true"] .ac-hamburguer-linhas::before { transform: translateY(7px) rotate(45deg); }
.ac-hamburguer[aria-expanded="true"] .ac-hamburguer-linhas::after { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 980px) {
	.ac-hamburguer { display: block; }
	/* Monograma AC no telemovel */
	.logo_container a { width: 46px; height: 36px; background: url('/wp-content/uploads/2026/09/AlexandreCoxo_logo_icon_144.png') no-repeat left center / contain; }
	#logo { display: none; }
	#top-menu-nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; box-shadow: 0 10px 24px rgba(43, 43, 43, .08); display: none; }
	#top-menu-nav.ac-aberto { display: block; }
	#top-menu { flex-direction: column; align-items: stretch; padding: 8px 5% 16px; }
	#top-menu > li { padding: 0; border-bottom: 1px solid rgba(43, 43, 43, .08); }
	#top-menu > li:last-child { border-bottom: 0; }
	#top-menu a, #main-header.ac-encolhido #top-menu > li > a { line-height: 1.4; padding: 14px 0; }
	#top-menu .sub-menu { position: static; opacity: 1; visibility: visible; box-shadow: none; padding: 0 0 8px 16px; }
}

/* ================= 3. Conteudo das paginas (blocos) ================= */
#main-content { display: block; min-height: 50vh; }
.ac-titulo-pagina { padding-top: 56px; margin-bottom: 24px; }
.ac-artigo-blog .ac-titulo-pagina { max-width: 760px; }
.ac-conteudo { padding-bottom: 0; }
.ac-conteudo > :where(:not(.alignfull):not(.alignwide)) { width: 80%; max-width: var(--ac-contentor); margin-left: auto; margin-right: auto; }
.ac-artigo-blog .ac-conteudo > :where(:not(.alignfull):not(.alignwide)) { max-width: 760px; }
.ac-conteudo > .alignwide { width: 90%; max-width: 1280px; margin-left: auto; margin-right: auto; }
.ac-conteudo > .alignfull { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.ac-conteudo > :first-child:not(.alignfull) { margin-top: 48px; }
.ac-conteudo > :last-child:not(.alignfull) { margin-bottom: 72px; }
@media (max-width: 767px) { .ac-conteudo > :where(:not(.alignfull):not(.alignwide)) { width: 90%; } }

/* Seccao (grupo de largura total): faixa com margens de 72px, conteudo a 80%/1080px */
.ac-seccao { padding-top: var(--ac-seccao); padding-bottom: var(--ac-seccao); margin-top: 0 !important; margin-bottom: 0 !important; }
.ac-seccao > * { width: 80%; max-width: var(--ac-contentor); margin-left: auto; margin-right: auto; }
.ac-seccao > .alignfull { width: 100%; max-width: none; }
.ac-seccao.has-linho-background-color, .ac-seccao-linho { background: var(--linho); }
@media (max-width: 767px) { .ac-seccao { padding-top: 48px; padding-bottom: 48px; } .ac-seccao > * { width: 90%; } }
.ac-conteudo > .ac-seccao + .ac-seccao { margin-top: 0; }

/* Colunas */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 48px; margin-bottom: 0; }
.wp-block-columns.are-vertically-aligned-center { align-items: center; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-column > :last-child { margin-bottom: 0; }
@media (max-width: 781px) { .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-direction: column; gap: 32px; } .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; } }
.wp-block-group > :last-child { margin-bottom: 0; }
.is-layout-flex { display: flex; flex-wrap: wrap; gap: 12px; }
.is-content-justification-center { justify-content: center; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }

/* Imagens */
.wp-block-image { margin: 0 0 1.5em; }
.wp-block-image img { display: block; height: auto; border-radius: 0; }
.wp-block-image.aligncenter, .wp-block-image .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.wp-block-image.aligncenter img { margin: 0 auto; }
.wp-block-image figcaption { font-size: 13px; color: var(--cinza); margin-top: 10px; }
/* Obra: bloco pessego desviado (so fotografias) */
.is-style-ac-obra img, .wp-block-image.ac-obra img { box-shadow: 6px 6px 0 0 rgba(255, 191, 128, .5); }
.is-style-ac-obra a img, .wp-block-image.ac-obra a img { transition: transform .35s cubic-bezier(.2, 0, 0, 1), box-shadow .35s cubic-bezier(.2, 0, 0, 1); }
.is-style-ac-obra a:hover img, .is-style-ac-obra a:focus-visible img, .wp-block-image.ac-obra a:hover img { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 0 rgba(255, 191, 128, .5); }

/* Capa (imagem/video de fundo) */
.wp-block-cover { position: relative; display: flex; align-items: center; justify-content: center; min-height: 430px; padding: 48px 0; overflow: hidden; color: #fff; }
.wp-block-cover__image-background, .wp-block-cover__video-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; max-width: none; z-index: 0; }
.wp-block-cover__background { position: absolute; inset: 0; z-index: 1; }
.wp-block-cover__inner-container { position: relative; z-index: 2; width: 80%; max-width: var(--ac-contentor); }
.wp-block-cover h1, .wp-block-cover h2, .wp-block-cover h3, .wp-block-cover p { color: inherit; }
.wp-block-cover .wp-block-button__link { color: #fff !important; border-color: rgba(255, 255, 255, .85) !important; }

/* Botoes */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.2em 0; }
.wp-block-buttons.is-content-justification-center { justify-content: center; }
.wp-block-button__link, .ac-botao {
	display: inline-block; font-family: var(--ac-texto); font-size: 15px; font-weight: 400; line-height: 1.4; letter-spacing: 2px; text-transform: uppercase;
	padding: 12px 28px; color: var(--grafite); background: transparent; border: 1px solid var(--grafite); border-radius: var(--ac-raio); text-decoration: none; cursor: pointer;
	transition: background-color .2s cubic-bezier(.2, 0, 0, 1), color .2s, border-color .2s, transform .35s cubic-bezier(.2, 0, 0, 1);
}
.wp-block-button__link:hover, .wp-block-button__link:focus-visible, .ac-botao:hover { background: rgba(255, 191, 128, .25); color: var(--grafite); transform: translateY(-2px); }
.wp-block-button__link:active { transform: translateY(0) scale(.98); transition-duration: .1s; }
.is-style-ac-cheio .wp-block-button__link { background: var(--grafite); color: #fff; }
.is-style-ac-cheio .wp-block-button__link:hover { background: #444; color: #fff; }

/* Caixas */
.is-style-ac-caixa-pessego { background: rgba(255, 191, 128, .25); padding: 40px; border-radius: var(--ac-raio); }
.is-style-ac-caixa-linho { background: var(--linho); padding: 40px; border-radius: var(--ac-raio); }
@media (max-width: 767px) { .is-style-ac-caixa-pessego, .is-style-ac-caixa-linho { padding: 28px 20px; } }

/* Perguntas frequentes (bloco Detalhes) */
.wp-block-details { border-bottom: 1px solid var(--linha); padding: 18px 0; margin: 0; }
.wp-block-details + .wp-block-details { margin-top: 0; }
.wp-block-details summary { font-family: var(--ac-titulo); font-size: 20px; line-height: 1.35; cursor: pointer; list-style: none; position: relative; padding-right: 36px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-family: var(--ac-texto); font-size: 24px; font-weight: 300; transition: transform .35s cubic-bezier(.2, 0, 0, 1); }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { margin-top: 12px; }
@media (max-width: 980px) { .wp-block-details summary { font-size: 18px; } }

/* Galeria */
.wp-block-gallery { display: grid; grid-template-columns: repeat(var(--ac-colunas, 3), 1fr); gap: 20px; margin: 0 0 1.5em; }
.wp-block-gallery.columns-2 { --ac-colunas: 2; } .wp-block-gallery.columns-4 { --ac-colunas: 4; }
.wp-block-gallery .wp-block-image { margin: 0; }
.wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1 / 1; }
@media (max-width: 767px) { .wp-block-gallery { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* Ultimos artigos / cartoes */
.wp-block-latest-posts.is-grid, .ac-cartoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; list-style: none; padding: 0; margin: 0 0 1.5em; }
.wp-block-latest-posts.is-grid li { margin: 0; }
.wp-block-latest-posts__featured-image img, .ac-cartao .et_pb_image_container img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 6px 6px 0 0 rgba(255, 191, 128, .5); margin-bottom: 16px; }
.wp-block-latest-posts__post-title, .ac-cartao .entry-title { font-family: var(--ac-titulo); font-size: 20px; line-height: 1.3; color: var(--grafite); text-decoration: none; display: block; margin: 0 0 6px; }
.ac-cartao .entry-title a { text-decoration: none; }
.wp-block-latest-posts__post-date { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--cinza); }
.wp-block-latest-posts__post-excerpt { margin-top: 8px; }
@media (max-width: 980px) { .wp-block-latest-posts.is-grid, .ac-cartoes { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 600px) { .wp-block-latest-posts.is-grid, .ac-cartoes { grid-template-columns: 1fr; } }

/* Redes sociais */
.wp-block-social-links { display: flex; gap: 16px; list-style: none; padding: 0; margin: 1em 0; }
.wp-block-social-links.is-content-justification-center { justify-content: center; }
.wp-social-link a { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; color: var(--grafite); transition: transform .35s cubic-bezier(.2, 0, 0, 1); }
.wp-social-link a:hover { transform: translateY(-2px); }
.wp-social-link svg { width: 24px; height: 24px; fill: currentColor; }

/* Tabelas */
.wp-block-table table { width: 100%; border-collapse: collapse; }
.wp-block-table td, .wp-block-table th { padding: 10px 12px; border-bottom: 1px solid var(--linha); text-align: left; }

/* Paginacao (listagens) */
.navigation.pagination { margin: 40px 0 72px; }
.nav-links { display: flex; gap: 16px; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; }
.ac-listagem { padding-bottom: 24px; }
.ac-404 { padding: 96px 0; text-align: center; }
.ac-404 .wp-block-buttons { justify-content: center; }

/* ================= 4. Loja (envolvente) ================= */
.ac-loja { padding: 48px 0 72px; }
.woocommerce-products-header__title, .ac-loja h1.page-title { font-size: 38px; }

/* ================= 5. Rodape ================= */
#main-footer { background: var(--linho); }
#footer-widgets { padding-top: 61px; }
#main-footer .fwidget { margin-bottom: 40px; }
#main-footer .fwidget .title { text-align: center; }
#footer-bottom { padding: 15px 0 5px; }
#footer-info { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--grafite); text-align: center; margin: 0 0 10px; }
#footer-info .bv_hr { margin: 0 6px; }

/* ================= 6. Movimento reduzido ================= */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
	.wp-block-button__link:hover, .wp-social-link a:hover, .is-style-ac-obra a:hover img { transform: none !important; }
}

/* ================= 7. Diaporama (pagina inicial: premios) ================= */
.ac-diaporama { position: relative; min-height: 560px; }
.ac-diaporama .ac-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s cubic-bezier(.2, 0, 0, 1), visibility .8s; margin: 0 !important; }
.ac-diaporama .ac-slide.ac-ativo { opacity: 1; visibility: visible; }
.ac-diaporama .ac-slide:first-child { position: relative; }
.ac-diaporama .ac-slide .wp-block-cover { min-height: 560px; height: 100%; }
.ac-diaporama-pontos { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: 10px; z-index: 5; }
.ac-diaporama-pontos button { width: 8px; height: 8px; padding: 0; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .5); cursor: pointer; }
.ac-diaporama-pontos button.ac-ativo { background: #fff; }
.ac-diaporama-seta { position: absolute; top: 50%; z-index: 5; width: 44px; height: 44px; margin-top: -22px; border: 0; background: transparent; cursor: pointer; color: #fff; opacity: .8; }
.ac-diaporama-seta::before { content: ""; display: block; width: 14px; height: 14px; margin: 0 auto; border-top: 2px solid currentColor; border-left: 2px solid currentColor; }
.ac-diaporama-seta.ac-anterior { left: 12px; } .ac-diaporama-seta.ac-anterior::before { transform: rotate(-45deg); }
.ac-diaporama-seta.ac-seguinte { right: 12px; } .ac-diaporama-seta.ac-seguinte::before { transform: rotate(135deg); }
@media (max-width: 767px) { .ac-diaporama, .ac-diaporama .ac-slide .wp-block-cover { min-height: 420px; } }
/* Diaporama da pagina inicial: obra na parede (esquerda) e texto (direita), sobre a fotografia da sala */
.wp-block-cover .ac-diaporama { width: 100%; min-height: 470px; }
.ac-diaporama .ac-slide .wp-block-columns { min-height: 470px; gap: 56px; }
.ac-diaporama .ac-slide-obra { margin: 0; }
.ac-diaporama .ac-slide-obra img { max-height: 430px; width: auto; margin-left: auto; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.ac-diaporama .ac-slide h3 { font-size: 46px; line-height: 1.15; color: #fff; margin-bottom: 12px; }
.ac-diaporama .ac-slide p { font-family: var(--ac-titulo); font-size: 20px; color: #fff; }
@media (max-width: 781px) {
	.ac-diaporama .ac-slide .wp-block-columns { gap: 20px; min-height: 0; padding: 24px 0 48px; }
	.ac-diaporama .ac-slide-obra img { max-height: 260px; margin: 0 auto; }
	.ac-diaporama .ac-slide h3 { font-size: 28px; }
}

/* ================= 8. Elementos vindos da conversao do Divi ================= */
.wp-block-image.ac-seta { margin: 24px auto 0; }
.wp-block-image.ac-seta img { width: 48px; height: auto; margin: 0 auto; opacity: .85; transition: transform .35s cubic-bezier(.2, 0, 0, 1); }
.wp-block-image.ac-seta a:hover img { transform: translateY(4px); }
.wp-block-cover.ac-texto-escuro { color: var(--grafite); }
.wp-block-cover.ac-texto-escuro .wp-block-button__link { color: var(--grafite) !important; border-color: var(--grafite) !important; }
.ac-caixa-branca { background: rgba(255, 255, 255, .85); padding: 40px; border-radius: var(--ac-raio); color: var(--grafite); }
@media (max-width: 767px) { .ac-caixa-branca { padding: 24px 18px; } }
.wp-block-cover.ac-video-obra { min-height: 420px; padding: 0; color: var(--grafite); }
.wp-block-cover.ac-video-obra .wp-block-cover__inner-container { width: 100%; height: 100%; }
.wp-block-cover.ac-video-obra .wp-block-image { margin: 0; }
.wp-block-cover.ac-video-obra img { width: 100%; height: 420px; object-fit: cover; }
.is-style-ac-caixa-pessego { background: rgba(255, 191, 128, .5); }
.ac-cta > .wp-block-heading:first-child { margin-top: 0; }
/* Titulos dos blocos de chamada: 38px (28px no telemovel) e texto de apoio maior, como no Divi */
.ac-cta > h1, .ac-cta > h2 { font-size: 38px; line-height: 1.2; }
.home .ac-cta > p { font-size: 22px; font-weight: 300; line-height: 1.5; }
@media (max-width: 980px) { .ac-cta > h1, .ac-cta > h2 { font-size: 28px; } .home .ac-cta > p { font-size: 19px; } }
/* Regras antigas do Divi ainda presentes nas personalizacoes nao podem desarrumar os blocos */
.ac-cta, .ac-caixa-branca > * { float: none !important; }
.ac-contacto { clear: both; }
.ac-diaporama .ac-slide h1, .ac-diaporama .ac-slide h2, .ac-diaporama .ac-slide h3, .ac-diaporama .ac-slide p { color: #fff !important; }
.wp-block-cover:not(.ac-texto-escuro) :is(h1, h2, h3, p) { color: #fff !important; }
.wp-block-cover.ac-texto-escuro :is(h1, h2, h3, p) { color: var(--grafite) !important; }
/* Icones sociais escritos a mao dentro de blocos (vindos do Divi) */
.ac-cta ul:has(a.icon) { list-style: none; display: flex; gap: 14px; padding: 0; margin: 0 0 16px; }
.ac-cta ul:has(a.icon) li { margin: 0; }
.ac-cta a.icon img { width: 32px; height: 32px; display: block; transition: transform .35s cubic-bezier(.2, 0, 0, 1); }
.ac-cta a.icon:hover img { transform: translateY(-2px); }
.et_pb_social_media_follow_network_name { display: none !important; }
.bv_wraper { margin-bottom: .6em; }
/* Rodape: as colunas Envio/Acompanhe-me/Pagamento flutuam (CSS antigo); fechar a linha antes do copyright */
#footer-widgets::after, #main-footer .footer-widget::after, #main-footer .col-lg-12::after { content: ""; display: table; clear: both; }
/* Produto: descricao (envio/devolucoes) por baixo da galeria e do resumo */
.single-product div.product::after { content: ""; display: table; clear: both; }
.ac-descricao-produto { clear: both; padding-top: 32px; max-width: 760px; }
/* "ver mais" (Biografia): botao que abre/fecha o texto */
.wp-block-details.ac-ver-mais { border: 0; padding: 0; margin: 12px 0 0; }
.wp-block-details.ac-ver-mais > summary { display: inline-block; padding: 12px 28px; font-family: var(--ac-texto); font-size: 15px; letter-spacing: 2px; text-transform: uppercase; border: 1px solid var(--grafite); border-radius: var(--ac-raio); transition: background-color .2s, transform .35s cubic-bezier(.2, 0, 0, 1); }
.wp-block-details.ac-ver-mais > summary::after { display: none; }
.wp-block-details.ac-ver-mais > summary:hover { background: rgba(255, 191, 128, .25); transform: translateY(-2px); }
.wp-block-details.ac-ver-mais[open] { display: flex; flex-direction: column-reverse; }
.wp-block-details.ac-ver-mais[open] > summary { align-self: flex-start; margin-top: 12px; }
/* Galerias em diaporama (vindas do Divi): uma imagem de cada vez, desliza com o dedo, setas no computador */
.wp-block-gallery.ac-galeria-diaporama { display: flex; grid-template-columns: none; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; position: relative; }
.wp-block-gallery.ac-galeria-diaporama::-webkit-scrollbar { display: none; }
.wp-block-gallery.ac-galeria-diaporama > .wp-block-image { flex: 0 0 100%; scroll-snap-align: center; }
.wp-block-gallery.ac-galeria-diaporama img { aspect-ratio: auto; height: 520px; object-fit: contain; background: var(--linho); }
@media (max-width: 767px) { .wp-block-gallery.ac-galeria-diaporama img { height: 320px; } }
.ac-galeria-envolta { position: relative; }
.ac-galeria-envolta .ac-diaporama-seta { color: var(--grafite); background: rgba(250, 247, 244, .85); border-radius: 50%; }
.wp-block-gallery.ac-galeria-diaporama { flex-wrap: nowrap !important; align-items: center; }
.wp-block-gallery.ac-galeria-diaporama .wp-block-image img { height: 520px !important; width: 100% !important; object-fit: contain !important; }
@media (max-width: 767px) { .wp-block-gallery.ac-galeria-diaporama .wp-block-image img { height: 340px !important; } }
.ac-descricao-produto { padding-top: 8px; margin: 0; }
.ac-descricao-produto > * { margin-left: 0; margin-right: 0; }
/* Seccoes com fotografia e texto escuro (sem caixa branca): veu claro para o texto se ler */
.wp-block-cover.ac-texto-escuro:not(:has(.ac-caixa-branca)) .wp-block-cover__background { background: #fff !important; opacity: .6 !important; }
.wp-block-gallery.ac-galeria-diaporama > figure.wp-block-image { height: 520px !important; flex: 0 0 100% !important; }
.wp-block-gallery.ac-galeria-diaporama > figure.wp-block-image img { flex: 1 1 auto !important; min-height: 0 !important; height: 100% !important; }
@media (max-width: 767px) { .wp-block-gallery.ac-galeria-diaporama > figure.wp-block-image { height: 340px !important; } }

/* Fundos de capa (video/imagem): o WordPress escurece 50% quando a opacidade escolhida e 0 — aqui 0 e mesmo 0 */
.wp-block-cover__background.has-background-dim-0 { opacity: 0 !important; }
.ac-ancora { display: block; height: 0; overflow: hidden; }

/* ================= 9. Entrada da pagina: o conteudo revela-se em diagonal (canto superior esquerdo -> inferior direito) ================= */
/* Entrada da pagina (tema.js): 1) pinturas uma a uma, 2) ajustam ao lugar, 3) resto em diagonal.
   Ate o tema.js preparar a coreografia a pagina fica escondida; se o JS falhar, aparece sozinha aos 2,5 s. */
@keyframes ac-mostrar { to { opacity: 1; } }
html.ac-entrada #page-container { opacity: 0; animation: ac-mostrar .2s 2.5s forwards; }
@media (prefers-reduced-motion: reduce) { html.ac-entrada #page-container { opacity: 1; animation: none; } }
/* Blocos inteiros clicaveis (vindos do Divi): a ligacao cobre o bloco; botoes e ligacoes dentro continuam por cima */
.ac-clicavel { position: relative; transition: transform .35s cubic-bezier(.2, 0, 0, 1); }
.ac-clicavel-ligacao { position: absolute; inset: 0; z-index: 1; }
.ac-clicavel a:not(.ac-clicavel-ligacao), .ac-clicavel button { position: relative; z-index: 2; }
.ac-clicavel:hover { transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .ac-clicavel:hover { transform: none; } }
/* Lista de artigos: grelha do tema (o CSS do WordPress punha-a em flex e encostada a esquerda) */
html body .wp-block-latest-posts.is-grid { display: grid !important; grid-template-columns: repeat(var(--ac-n, 3), minmax(0, 1fr)); gap: 40px; margin-left: auto !important; margin-right: auto !important; padding: 0 !important; }
html body .wp-block-latest-posts.is-grid.columns-1 { --ac-n: 1; } html body .wp-block-latest-posts.is-grid.columns-2 { --ac-n: 2; }
html body .wp-block-latest-posts.is-grid > li { width: auto !important; margin: 0 !important; }
@media (max-width: 980px) { html body .wp-block-latest-posts.is-grid:not(.columns-1) { --ac-n: 2; } }
@media (max-width: 600px) { html body .wp-block-latest-posts.is-grid { --ac-n: 1; } }
/* Grelhas de produtos dentro de paginas ([products]): botoes iguais aos do resto do site */
html body .woocommerce ul.products li.product .button {
	display: inline-block; font-family: var(--ac-texto); font-size: 13px; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; line-height: 1.4;
	padding: 10px 22px; color: var(--grafite); background: transparent; border: 1px solid var(--grafite); border-radius: var(--ac-raio);
	transition: background-color .2s cubic-bezier(.2, 0, 0, 1), transform .35s cubic-bezier(.2, 0, 0, 1);
}
html body .woocommerce ul.products li.product .button:hover { background: rgba(255, 191, 128, .25); color: var(--grafite); transform: translateY(-2px); }
html body .woocommerce ul.products li.product .button.added::after { display: none; }

/* Espacamento entre conteudos (2026-11-03): os blocos convertidos traziam 12 px entre colunas e 24 px entre linhas */
html body .wp-block-columns { column-gap: clamp(32px, 5vw, 64px); row-gap: 32px; }
html body .ac-seccao > * + *:not(.ac-ancora) { margin-top: clamp(48px, 6vw, 88px); }
html body .ac-seccao > .ac-ancora + * { margin-top: 0; }
html body .ac-seccao > .ac-ancora:not(:first-child) + * { margin-top: clamp(48px, 6vw, 88px); }
html body .wp-block-column > * + .wp-block-buttons, html body .wp-block-column > * + .wp-block-button { margin-top: 1.6em; }
html body :is(h1, h2, h3) + .wp-block-social-links { margin-top: .4em; }
@media (max-width: 781px) {
	html body .wp-block-columns:not(.is-not-stacked-on-mobile) { gap: 28px; }
}

/* Prova social na pagina inicial (padrao sincronizado "Prova social (pagina inicial)"): faixa discreta */
html body .ac-prova-social { padding-top: 64px; padding-bottom: 64px; background: var(--branco, #fff); text-align: center; }
html body .ac-prova-social .ac-prova-rotulo { font-family: var(--ac-texto); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cinza, #666); margin: 0 auto 28px; }
html body .ac-prova-social > .ac-prova-testemunhos { margin-top: 0; column-gap: clamp(32px, 5vw, 72px); }
html body .ac-prova-testemunhos .wp-block-quote { border: 0; margin: 0; padding: 0; font-size: 17px; line-height: 1.6; color: var(--grafite); }
html body .ac-prova-testemunhos .wp-block-quote::before { content: ""; display: block; width: 28px; height: 2px; margin: 0 auto 18px; background: var(--pessego); }
html body .ac-prova-testemunhos .wp-block-quote p { margin: 0; }
html body .ac-prova-testemunhos cite { display: block; margin-top: 14px; font-family: var(--ac-texto); font-style: normal; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cinza, #666); }
html body .ac-prova-social > .ac-prova-nomes { margin-top: 56px; padding-top: 44px; border-top: 1px solid rgba(43, 43, 43, .1); }
html body .ac-prova-lista { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 36px; margin: 0 0 36px; }
html body .ac-prova-lista a { font-family: var(--ac-titulo); font-size: 19px; color: var(--grafite); opacity: .55; text-decoration: none; transition: opacity .35s cubic-bezier(.2, 0, 0, 1); }
html body .ac-prova-lista a:hover, html body .ac-prova-lista a:focus-visible { opacity: 1; }
html body .ac-prova-mais { margin: 0; }
html body .ac-prova-mais a { font-family: var(--ac-texto); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
@media (max-width: 781px) {
	html body .ac-prova-social { padding-top: 48px; padding-bottom: 48px; }
	html body .ac-prova-lista { gap: 6px 22px; }
	html body .ac-prova-lista a { font-size: 16px; }
}

/* Titulos e conteudo (2026-11-04): o titulo fica junto do que apresenta e longe do bloco anterior */
html body .ac-seccao > :is(h1, h2, h3, h4) + *:not(.ac-ancora) { margin-top: 20px; }
/* Titulos das series nas lojas (ex.: /loja-originais/): maiores, com o traco pessego da marca, colados a grelha */
html body .ac-seccao > :is(h2, h3):has(+ .woocommerce) { font-size: clamp(24px, 3vw, 32px); line-height: 1.2; margin-bottom: 0; padding-bottom: 16px; position: relative; }
html body .ac-seccao > :is(h2, h3):has(+ .woocommerce)::after { content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 2px; background: var(--pessego); }
html body .ac-seccao > :is(h2, h3) + .woocommerce { margin-top: 28px; }

/* Um H1 por pagina (functions.php ac_tema_um_h1): H1 extra passa a H2 com o mesmo aspeto; H1 invisivel so para o Google */
h2.ac-era-h1 { font-size: 38px; line-height: 1.2; }
@media (max-width: 980px) { h2.ac-era-h1 { font-size: 28px; } }
.ac-h1-oculto { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* Pagina de produto compacta (2026-11-04): a descricao convertida trazia o espacamento das seccoes da pagina */
html body .ac-descricao-produto { max-width: none; padding-top: 40px; }
html body .ac-descricao-produto .ac-seccao { padding: 0; margin: 0; width: auto; }
html body .ac-descricao-produto .ac-seccao > * { width: 100%; max-width: 760px; margin-left: 0; margin-right: 0; }
html body .ac-descricao-produto .ac-seccao > * + *:not(.ac-ancora) { margin-top: 12px; }
html body .ac-descricao-produto .ac-seccao > :is(h2, h3, h4, h5, h6):not(:first-child) { margin-top: 36px; }
html body .ac-descricao-produto :is(h2) { font-size: 22px; margin-bottom: 0; }
html body .ac-descricao-produto :is(h6) { font-size: 16px; margin-bottom: 0; }
html body .ac-descricao-produto p { margin: 0; }
/* Envio e Devolucoes: dois cartoes lado a lado (no telemovel um por baixo do outro) */
html body .ac-descricao-produto .ac-seccao > .ac-cartoes { max-width: none; margin-top: 40px; gap: 24px; align-items: stretch; }
html body .ac-cartoes > .wp-block-column { display: flex; }
html body .ac-cartao { flex: 1; background: var(--linho); padding: 26px 30px; border-radius: var(--ac-raio, 3px); }
html body .ac-cartao h2 { font-size: 20px !important; margin: 0 0 10px !important; }
html body .ac-cartao p { font-size: 15px; line-height: 1.65; color: var(--grafite); }
html body.single-product section.related.products { margin-top: 64px !important; clear: both; }
html body .single-product .related.products > h2 { margin-bottom: 24px; }
@media (max-width: 781px) {
	html body .ac-descricao-produto { padding-top: 28px; }
	html body .ac-descricao-produto .ac-seccao > .ac-cartoes { gap: 16px; margin-top: 28px; }
	html body .ac-cartao { padding: 22px 22px; }
}

/* Caixas vindas do fundo das colunas do Divi (2026-11-04) */
.ac-caixa-branca.ac-caixa-solida { background: #fff; }
.wp-block-cover .ac-caixa-branca :is(h1, h2, h3, h4, h5, h6, p, li) { color: var(--grafite) !important; }
.ac-coluna-estreita { max-width: 400px; margin-left: 0 !important; margin-right: auto !important; }
.wp-block-cover .ac-coluna-estreita h1 { font-size: 34px; }
@media (max-width: 767px) { .ac-coluna-estreita { max-width: none; } .wp-block-cover .ac-coluna-estreita h1 { font-size: 28px; } }
/* Galeria em grelha (Divi): 4 colunas de miniaturas quadradas; 2 no telemovel */
html body .wp-block-gallery.ac-galeria-grelha { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-left: auto !important; margin-right: auto !important; }
html body .wp-block-gallery.ac-galeria-grelha > figure.wp-block-image { width: auto !important; margin: 0 !important; }
html body .wp-block-gallery.ac-galeria-grelha > figure.wp-block-image img { aspect-ratio: 1; width: 100% !important; height: auto !important; object-fit: cover; }
@media (max-width: 767px) { html body .wp-block-gallery.ac-galeria-grelha { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* Revisao geral (2026-11-04) */
/* Coluna estreita (1/3 do Divi) dentro de uma seccao normal: alinhada com o resto do conteudo, nao encostada ao ecra */
html body .ac-seccao > .ac-coluna-estreita { width: 80%; max-width: var(--ac-contentor); margin-left: auto !important; margin-right: auto !important; }
html body .ac-seccao > .ac-coluna-estreita > * { max-width: 400px; }
@media (max-width: 767px) { html body .ac-seccao > .ac-coluna-estreita { width: 90%; } html body .ac-seccao > .ac-coluna-estreita > * { max-width: none; } }
/* Formulario de contacto direto numa seccao: centrado como o resto */
html body .ac-seccao > form.ac-contacto { margin-left: auto; margin-right: auto; }
/* Texto branco sobre video/fotografia: sombra suave para se ler nas zonas claras */
html body .wp-block-cover:not(.ac-texto-escuro) .wp-block-cover__inner-container > *:not(.ac-caixa-branca) :is(h1, h2, h3, p),
html body .wp-block-cover:not(.ac-texto-escuro) .wp-block-cover__inner-container > :is(h1, h2, h3, p) { text-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 18px rgba(0, 0, 0, .45); }
/* Icones das redes sociais nas paginas: monocromaticos, como no rodape (nao as cores das marcas) */
html body .wp-block-social-links:not(.is-style-logos-only) .wp-social-link { background: transparent !important; color: var(--grafite) !important; }
html body .wp-block-social-links:not(.has-small-icon-size):not(.has-large-icon-size) { font-size: 26px; gap: 14px; }
html body .wp-block-cover:not(.ac-texto-escuro) .wp-block-social-links .wp-social-link { color: #fff !important; }
html body .wp-block-cover .ac-caixa-branca .wp-block-social-links .wp-social-link { color: var(--grafite) !important; }

/* Setas das galerias em diaporama: sempre sobre a imagem (o efeito de clique dos botoes punha-as em position:relative, por baixo) */
html body .ac-galeria-envolta > button.ac-diaporama-seta { position: absolute !important; top: 50% !important; margin-top: -22px !important; }
/* Ancoras invisiveis vindas do Divi: sem margem (na Academia afastavam o video do menu) */
html body .ac-ancora { margin: 0 !important; }

/* Parallax subtil (tema.js): o fundo fica um pouco maior para nunca mostrar as margens ao deslocar-se */
.wp-block-cover.ac-parallax { overflow: hidden; }
.wp-block-cover.ac-parallax > :is(.wp-block-cover__image-background, .wp-block-cover__video-background) { will-change: transform; transform: scale(1.14); }

/* Rodape: icones das redes com espaco entre si e um pouco maiores */
html body #main-footer .bv_social_icons { gap: 18px; justify-content: center; padding: 0; margin: 0; list-style: none; }
html body #main-footer .bv_social_icons img { width: 26px; height: 26px; }

/* Revisao de design (2026-11-04) */
/* Telemovel: texto das capas (video/fotografia) com margem lateral, como o resto do conteudo */
@media (max-width: 767px) {
	html body .wp-block-cover:not(.ac-video-obra):not(:has(.ac-diaporama)) { padding-left: 5% !important; padding-right: 5% !important; }
	html body .wp-block-cover:not(.ac-video-obra):not(:has(.ac-diaporama)) > .wp-block-cover__inner-container { width: 100% !important; max-width: none; padding: 0 !important; }
}
/* Rodape: o texto do envio nao parte numeros ("7-" / "21") */
html body #main-footer .bv_ff_about span { white-space: normal; }
html body #main-footer .bv_ff_about span { display: inline-block; max-width: 210px; text-wrap: balance; }
/* Telemovel: diaporama da pagina inicial com margens e a pintura centrada */
@media (max-width: 767px) {
	html body .ac-diaporama .ac-slide .wp-block-columns { padding-left: 6%; padding-right: 6%; }
	html body .ac-diaporama .ac-slide .wp-block-column { text-align: center; }
	html body .ac-diaporama .ac-slide .wp-block-image, html body .ac-diaporama .ac-slide figure { margin-left: auto !important; margin-right: auto !important; }
	html body .ac-diaporama .ac-slide img { max-height: 240px; width: auto !important; margin: 0 auto; display: block; }
	html body .ac-diaporama .ac-slide h2, html body .ac-diaporama .ac-slide h1 { font-size: 24px !important; }
}
@media (max-width: 767px) { html body .ac-diaporama-pontos { bottom: 18px !important; top: auto !important; } }
@media (max-width: 767px) { html body .ac-diaporama, html body .ac-diaporama .ac-slide .wp-block-cover { min-height: 560px !important; } html body .ac-diaporama .ac-slide .wp-block-columns { padding-bottom: 56px !important; } }

/* Convite a newsletter (pagina Brevemente): cartao centrado com o bloco pessego da marca */
html body .ac-convite-newsletter { padding-top: 24px; }
html body .ac-convite-newsletter > .ac-convite-cartao { max-width: 620px; margin: 0 auto; padding: 48px 48px 40px; background: #fff; border: 1px solid rgba(43, 43, 43, .08); border-radius: var(--ac-raio, 3px); box-shadow: 8px 8px 0 0 rgba(255, 191, 128, .5); text-align: center; }
html body .ac-convite-cartao .ac-convite-rotulo { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cinza, #666); margin: 0 0 10px; }
html body .ac-convite-cartao h2 { font-size: 30px; margin: 0 0 14px; }
html body .ac-convite-cartao > p:not(.ac-convite-rotulo) { color: var(--cinza, #666); max-width: 440px; margin: 0 auto 28px; }
html body .ac-convite-cartao .ac-newsletter .bv_mail_form { display: flex; max-width: 460px; margin: 0 auto; }
html body .ac-convite-cartao .ac-newsletter .bv_mailchimp_email { flex: 1 1 auto; min-width: 0; padding: 14px 16px; border: 1px solid var(--grafite); border-right: 0; border-radius: var(--ac-raio, 3px) 0 0 var(--ac-raio, 3px); font-size: 15px; background: #fff; }
html body .ac-convite-cartao .ac-newsletter .bv_submit { flex: 0 0 auto; padding: 14px 24px; border: 1px solid var(--grafite); border-radius: 0 var(--ac-raio, 3px) var(--ac-raio, 3px) 0; background: var(--grafite); color: #fff; font-size: 13px; letter-spacing: 2px; cursor: pointer; }
html body .ac-convite-cartao .ac-newsletter .bv_submit:hover { background: #000; }
html body .ac-convite-cartao .ac-nl-aviso { font-size: 12px; color: var(--cinza, #666); margin: 12px 0 0; }
@media (max-width: 600px) {
	html body .ac-convite-newsletter > .ac-convite-cartao { padding: 32px 22px 28px; box-shadow: 6px 6px 0 0 rgba(255, 191, 128, .5); }
	html body .ac-convite-cartao .ac-newsletter .bv_mail_form { flex-direction: column; gap: 10px; }
	html body .ac-convite-cartao .ac-newsletter .bv_mailchimp_email { border-right: 1px solid var(--grafite); border-radius: var(--ac-raio, 3px); }
	html body .ac-convite-cartao .ac-newsletter .bv_submit { border-radius: var(--ac-raio, 3px); }
}
html body .ac-convite-cartao form.ac-newsletter .bv_mail_form > input.bv_mailchimp_email { width: auto !important; flex: 1 1 auto !important; max-width: none !important; text-align: left; }
html body .ac-convite-cartao form.ac-newsletter .bv_mail_form > input.bv_submit { width: auto !important; }
@media (max-width: 600px) { html body .ac-convite-cartao form.ac-newsletter .bv_mail_form > input.bv_submit { width: 100% !important; } html body .ac-convite-cartao form.ac-newsletter .bv_mail_form > input.bv_mailchimp_email { text-align: center; } }
html body .ac-convite-cartao form.ac-newsletter > .bv_mail_form { width: 100% !important; max-width: 460px !important; }
