/*
Theme Name: Augusto Castro Advocacia
Theme URI: https://augustocastro.site
Author: Augusto Castro Advocacia
Description: Tema sob medida para o blog do escritório Augusto Castro Advocacia, seguindo o design system do site principal (Cormorant Garamond, Inter, IBM Plex Mono; paleta ink/greige/gold). Não depende de temas ou blocos padrão do WordPress.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: augusto-castro
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ============================================================
   TOKENS - design system v1 (identico ao site principal)
   ============================================================ */
:root{
  --ink:#1A1A18;
  --ink-soft:#262523;
  --body:#57544E;
  --greige:#E7E4DE;
  --paper:#F2F0EA;
  --white:#FBFAF7;
  --hairline:#D2CEC5;
  --gold:#B0904F;
  --gold-deep:#977A3E;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px;
  --s5:48px; --s6:64px; --s7:96px; --s8:160px;
  --radius:0px;
  --maxw:1180px;
  --readw:760px;
  --serif:'Cormorant Garamond','Times New Roman',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --hairline-dark:rgba(251,250,247,.16);
  --white-72:rgba(251,250,247,.72);
  --white-80:rgba(251,250,247,.8);
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font:400 17px/1.7 var(--sans);
  color:var(--body);
  background:var(--greige);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}

.container{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--s3)}
.container-read{max-width:var(--readw);margin-inline:auto;padding-inline:var(--s3)}

.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--gold);color:#fff;padding:12px 20px;font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.skip-link:focus{left:0}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ============================================================
   TIPOGRAFIA BASE
   ============================================================ */
h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--ink-soft);line-height:1.1;letter-spacing:-.01em;font-weight:400}
.label{
  font:400 12px/1.5 var(--mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--gold-deep);
  display:block;
}
.label--light{color:var(--gold)}

/* ============================================================
   BOTOES
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:500 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  padding:16px 34px;min-height:44px;border-radius:var(--radius);
  border:1px solid transparent;text-decoration:none;text-align:center;
  cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}
.btn-primary{background:var(--gold);color:#FFF;border-color:var(--gold)}
.btn-primary:hover{background:var(--gold-deep);border-color:var(--gold-deep)}
.btn-ghost{background:transparent;border-color:var(--ink-soft);color:var(--ink-soft)}
.btn-ghost:hover{background:var(--ink-soft);color:var(--white)}
.btn-ghost-dark{background:transparent;border-color:rgba(255,255,255,.55);color:var(--white)}
.btn-ghost-dark:hover{background:var(--white);color:var(--ink)}
.btn svg{flex:none;width:16px;height:16px;fill:currentColor}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid var(--hairline-dark)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:72px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1.1;padding:8px 0}
.brand-icon{width:44px;height:44px;flex:none}
.brand-text{display:flex;flex-direction:column}
.brand-name{font:500 22px/1 var(--serif);color:var(--white)}
.brand-sub{font:400 10px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--white-72);margin-top:6px}

.nav-desktop{display:none}
@media (min-width:1024px){.nav-desktop{display:block}}
.nav-desktop ul{display:flex;align-items:center;gap:var(--s4)}
.nav-desktop a{
  font:400 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--white-80);text-decoration:none;padding:10px 0;display:inline-block;
  transition:color .25s ease;
}
.nav-desktop a:hover,.nav-desktop .current-menu-item > a{color:var(--gold)}

.header-cta{display:none;font-size:12px;padding:13px 22px;min-height:0}
@media (min-width:768px){.header-cta{display:inline-flex}}

.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;align-items:flex-end}
@media (min-width:1024px){.menu-toggle{display:none}}
.menu-toggle span{display:block;width:26px;height:1px;background:var(--white);transition:transform .3s ease,opacity .3s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-menu{display:none;background:var(--ink);border-top:1px solid var(--hairline-dark)}
.mobile-menu.open{display:block}
@media (min-width:1024px){.mobile-menu{display:none!important}}
.mobile-menu ul{padding-block:var(--s3)}
.mobile-menu li + li{border-top:1px solid var(--hairline-dark)}
.mobile-menu a{
  display:block;padding:16px 0;text-decoration:none;color:var(--white-80);
  font:400 13px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
}
.mobile-menu a:hover{color:var(--gold)}

/* ============================================================
   HERO / CABECALHO DE PAGINA
   ============================================================ */
.page-hero{background:var(--ink);padding-block:var(--s7) var(--s6)}
.page-hero .label{color:var(--gold);margin-bottom:var(--s3)}
.page-hero h1{
  font:300 clamp(36px,6.5vw,58px)/1.05 var(--serif);
  color:var(--white);letter-spacing:-.015em;max-width:20ch;
}
.page-hero .lead{
  font:400 18px/1.7 var(--sans);color:var(--white-80);
  margin-top:var(--s3);max-width:62ch;
}

/* ============================================================
   LISTAGEM DE POSTS
   ============================================================ */
.post-list{padding-block:var(--s7)}
.post-list .list-head{margin-bottom:var(--s6)}
.post-list .list-head .label{margin-bottom:var(--s2)}
.post-list .list-head h2{font-size:clamp(28px,4.5vw,40px)}

.post-item{
  display:grid;gap:var(--s3);
  border-top:1px solid var(--hairline);
  padding-block:var(--s5);
}
.post-item:last-of-type{border-bottom:1px solid var(--hairline)}
@media (min-width:820px){
  .post-item{grid-template-columns:180px 1fr;gap:var(--s5);align-items:start}
}
.post-item .meta{
  font:400 12px/1.8 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--body);
}
.post-item .meta .cat{color:var(--gold-deep);display:block}
.post-item h2{font:400 clamp(24px,3.4vw,32px)/1.15 var(--serif);color:var(--ink-soft)}
.post-item h2 a{text-decoration:none;transition:color .25s ease}
.post-item h2 a:hover{color:var(--gold-deep)}
.post-item .excerpt{margin-top:var(--s2);max-width:64ch}
.post-item .more{
  display:inline-block;margin-top:var(--s3);
  font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid var(--gold);padding-bottom:6px;
  transition:color .25s ease;
}
.post-item .more:hover{color:var(--gold-deep)}
.post-item .thumb{margin-top:var(--s3)}
.post-item .thumb img{width:100%;filter:grayscale(1);transition:filter .5s ease}
.post-item:hover .thumb img{filter:none}

/* paginacao */
.pagination{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s6);justify-content:center}
.pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;height:44px;padding:0 12px;
  border:1px solid var(--hairline);text-decoration:none;
  font:400 13px/1 var(--mono);letter-spacing:.08em;color:var(--body);
  transition:all .25s ease;
}
.pagination .page-numbers:hover{border-color:var(--gold);color:var(--gold-deep)}
.pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--white)}

/* ============================================================
   POST INDIVIDUAL
   ============================================================ */
.single-hero{background:var(--ink);padding-block:var(--s7) var(--s6)}
.single-hero .meta{
  font:400 12px/1.8 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin-bottom:var(--s3);
}
.single-hero .meta a{color:var(--gold);text-decoration:none}
.single-hero h1{
  font:300 clamp(32px,5.6vw,52px)/1.08 var(--serif);
  color:var(--white);letter-spacing:-.015em;
}
.single-hero .subtitle{
  font:italic 400 21px/1.5 var(--serif);
  color:var(--white-80);margin-top:var(--s3);max-width:60ch;
}

.featured-image{margin-block:0}
.featured-image img{width:100%;filter:grayscale(1)}

.entry{padding-block:var(--s7)}

/* conteudo do post */
.entry-content{font-size:17px;line-height:1.8}
.entry-content > * + *{margin-top:var(--s3)}
.entry-content p{max-width:none}
.entry-content h2{
  font:400 clamp(26px,3.6vw,34px)/1.15 var(--serif);
  color:var(--ink-soft);margin-top:var(--s6);margin-bottom:var(--s3);
}
.entry-content h3{
  font:500 15px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:var(--s5);margin-bottom:var(--s2);
}
.entry-content h4{font:500 20px/1.3 var(--serif);color:var(--ink-soft);margin-top:var(--s4)}
.entry-content a{
  color:var(--ink);text-decoration:underline;
  text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px;
  transition:color .2s ease;
}
.entry-content a:hover{color:var(--gold-deep)}
.entry-content strong{color:var(--ink-soft);font-weight:600}
.entry-content ul,.entry-content ol{margin-top:var(--s3);padding-left:0}
.entry-content ul li{position:relative;list-style:none;padding-left:28px;margin-bottom:var(--s2)}
.entry-content ul li::before{content:"\2014";position:absolute;left:0;color:var(--gold);font-family:var(--mono)}
.entry-content ol{counter-reset:acg;list-style:none}
.entry-content ol li{position:relative;counter-increment:acg;padding-left:36px;margin-bottom:var(--s2)}
.entry-content ol li::before{
  content:counter(acg,decimal-leading-zero);position:absolute;left:0;
  color:var(--gold-deep);font:400 12px/1.9 var(--mono);letter-spacing:.08em;
}
.entry-content blockquote{
  border-left:2px solid var(--gold);padding-left:var(--s3);
  font:italic 400 clamp(20px,2.6vw,24px)/1.45 var(--serif);
  color:var(--ink);margin-block:var(--s5);
}
.entry-content blockquote p{margin:0}
.entry-content blockquote cite{
  display:block;margin-top:var(--s2);
  font:400 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  font-style:normal;color:var(--body);
}
.entry-content img,.entry-content figure{margin-block:var(--s5)}
.entry-content figcaption,.wp-element-caption{
  font:400 11px/1.6 var(--mono);letter-spacing:.08em;color:var(--body);
  margin-top:var(--s2);text-align:left;
}
.entry-content hr{border:0;border-top:1px solid var(--hairline);margin-block:var(--s6)}
.entry-content code,.entry-content kbd{
  font-family:var(--mono);font-size:.9em;background:var(--paper);
  border:1px solid var(--hairline);padding:2px 6px;
}
.entry-content pre{
  font-family:var(--mono);font-size:14px;background:var(--paper);
  border:1px solid var(--hairline);padding:var(--s3);overflow-x:auto;
}
.entry-content pre code{border:0;background:none;padding:0}
.entry-content table{width:100%;border-collapse:collapse;margin-block:var(--s4);font-size:15px}
.entry-content th,.entry-content td{border:1px solid var(--hairline);padding:12px 14px;text-align:left}
.entry-content th{background:var(--paper);font:500 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}

/* alinhamentos do WordPress */
.alignleft{float:left;margin:var(--s2) var(--s4) var(--s3) 0}
.alignright{float:right;margin:var(--s2) 0 var(--s3) var(--s4)}
.aligncenter{margin-inline:auto}
.alignwide,.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw;width:100vw}
.entry-content .alignwide{margin-inline:auto;max-width:var(--maxw);width:auto}
.wp-caption{max-width:100%}
.sticky .post-item h2::after{content:" \2605";color:var(--gold)}

/* ============================================================
   CLASSES DE CONTEUDO .acg-* (usadas nos posts publicados)
   ============================================================ */
.entry-content .lead-acg,.lead-acg{
  font-family:var(--serif);font-style:italic;
  font-size:22px;line-height:1.45;color:var(--body);
  margin-bottom:var(--s5);
}
.acg-label{
  font-family:var(--mono)!important;font-size:12px!important;
  letter-spacing:.14em;text-transform:uppercase;color:var(--body);
  margin-bottom:var(--s2)!important;
}
.acg-label::before{content:"\2014\00a0"}
.acg-box{
  background:var(--paper);border:1px solid var(--hairline);
  border-left:2px solid var(--gold);
  padding:var(--s4);margin-block:var(--s5);
}
.acg-box p{font-size:16px;margin-bottom:12px}
.acg-box p:last-child{margin-bottom:0}
.acg-cta{background:var(--ink);padding:var(--s6) var(--s5);margin:var(--s6) 0 var(--s5)}
.acg-cta .acg-label{color:var(--white-72)}
.acg-cta h2{color:var(--white)!important;font-weight:300;max-width:20ch;margin:0 0 var(--s2)}
.acg-cta p{color:var(--white-72);max-width:56ch}
.acg-cta .btn{margin-top:var(--s4)}
.acg-fonte{
  font-family:var(--mono)!important;font-size:11px!important;
  letter-spacing:.08em;line-height:1.6;color:var(--body);
}
.acg-aviso{
  font-size:12px!important;line-height:1.6;color:var(--body);
  border-top:1px solid var(--hairline);padding-top:var(--s3);margin-top:var(--s5);
}

/* ============================================================
   BOTOES INSERIDOS PELO EDITOR DE BLOCOS DO WORDPRESS
   (o bloco "Botao" usado dentro dos posts, inclusive no .acg-cta)
   ============================================================ */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}
.wp-block-button{margin:0}
.wp-block-button__link,
.wp-element-button,
.entry-content .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background-color:var(--gold);
  color:#FFF;
  border:1px solid var(--gold);
  border-radius:var(--radius);
  font:500 13px/1.2 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:16px 34px;
  min-height:44px;
  text-decoration:none;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover,
.entry-content .wp-block-button__link:hover{
  background-color:var(--gold-deep);
  border-color:var(--gold-deep);
  color:#FFF;
  text-decoration:none;
}
/* variante "contorno" do editor */
.wp-block-button.is-style-outline .wp-block-button__link{
  background-color:transparent;
  color:var(--ink-soft);
  border:1px solid var(--ink-soft);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background-color:var(--ink-soft);
  color:var(--white);
}
/* dentro do bloco escuro (.acg-cta), o contorno vira claro */
.acg-cta .wp-block-button.is-style-outline .wp-block-button__link{
  color:var(--white);
  border-color:rgba(255,255,255,.55);
}
.acg-cta .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background-color:var(--white);
  color:var(--ink);
}
.acg-cta .wp-block-buttons{margin-top:var(--s4)}

/* ============================================================ */

/* ============================================================
   RODAPE DO POST: tags, navegacao, CTA
   ============================================================ */
.entry-tags{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--hairline);display:flex;flex-wrap:wrap;gap:var(--s1);align-items:center}
.entry-tags .label{margin-right:var(--s2)}
.entry-tags a{
  font:400 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--body);text-decoration:none;border:1px solid var(--hairline);
  padding:9px 14px;transition:all .25s ease;
}
.entry-tags a:hover{border-color:var(--gold);color:var(--gold-deep)}

.post-nav{display:grid;gap:var(--s3);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--hairline)}
@media (min-width:768px){.post-nav{grid-template-columns:1fr 1fr;gap:var(--s5)}}
.post-nav a{text-decoration:none;display:block}
.post-nav .dir{font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-bottom:var(--s2)}
.post-nav .t{font:400 20px/1.25 var(--serif);color:var(--ink-soft);transition:color .25s ease}
.post-nav a:hover .t{color:var(--gold-deep)}
.post-nav .next{text-align:left}
@media (min-width:768px){.post-nav .next{text-align:right}}

.post-cta{background:var(--ink);padding-block:var(--s7)}
.post-cta .label{color:var(--gold);margin-bottom:var(--s3)}
.post-cta h2{font:300 clamp(28px,4.4vw,42px)/1.1 var(--serif);color:var(--white);max-width:22ch}
.post-cta p{color:var(--white-80);margin-top:var(--s3);max-width:58ch}
.post-cta .btn-row{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}

/* posts relacionados */
.related{padding-block:var(--s7);background:var(--paper)}
.related .label{margin-bottom:var(--s2)}
.related h2{font:400 clamp(26px,3.6vw,34px)/1.15 var(--serif);margin-bottom:var(--s5)}
.related-grid{display:grid;gap:var(--s4)}
@media (min-width:768px){.related-grid{grid-template-columns:repeat(3,1fr);gap:var(--s5)}}
.related-item{border-top:1px solid var(--hairline);padding-top:var(--s3)}
.related-item .n{font:400 12px/1 var(--mono);letter-spacing:.14em;color:var(--gold-deep);display:block;margin-bottom:var(--s2)}
.related-item .d{font:400 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--body);display:block;margin-bottom:var(--s1)}
.related-item h3{font:400 19px/1.3 var(--serif);color:var(--ink-soft)}
.related-item a{text-decoration:none;transition:color .25s ease}
.related-item a:hover h3{color:var(--gold-deep)}

/* ============================================================
   COMENTARIOS
   ============================================================ */
.comments-area{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--hairline)}
.comments-area h2{font:400 26px/1.2 var(--serif);margin-bottom:var(--s4)}
.comment-list li{border-top:1px solid var(--hairline);padding-block:var(--s3)}
.comment-list .fn{font:500 14px/1.5 var(--sans);color:var(--ink-soft);font-style:normal}
.comment-list .comment-metadata{font:400 11px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--body)}
.comment-list .comment-metadata a{text-decoration:none;color:var(--body)}
.comment-respond{margin-top:var(--s5)}
.comment-form label{font:400 12px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--body);display:block;margin-bottom:8px}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
  width:100%;background:transparent;border:1px solid var(--hairline);
  padding:13px 14px;font:400 16px/1.5 var(--sans);color:var(--ink);border-radius:0;
}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--gold)}
.comment-form p{margin-bottom:var(--s3)}
.comment-form .submit{
  background:var(--gold);color:#fff;border:0;padding:16px 34px;
  font:500 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  transition:background-color .25s ease;
}
.comment-form .submit:hover{background:var(--gold-deep)}

/* ============================================================
   BUSCA / 404
   ============================================================ */
.searchform{display:flex;gap:var(--s1);max-width:520px}
.searchform input[type="search"]{
  flex:1;background:transparent;border:1px solid var(--hairline);
  padding:13px 14px;font:400 16px/1.5 var(--sans);color:var(--ink);border-radius:0;
}
.searchform input[type="search"]:focus{outline:none;border-color:var(--gold)}
.searchform button{
  background:var(--gold);color:#fff;padding:0 24px;
  font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  transition:background-color .25s ease;
}
.searchform button:hover{background:var(--gold-deep)}
.page-404{padding-block:var(--s8)}
.page-404 .code{font:300 clamp(72px,14vw,140px)/1 var(--serif);color:var(--gold);display:block}
.no-results{padding-block:var(--s6)}

/* ============================================================
   RODAPE
   ============================================================ */
.site-footer{background:var(--ink);border-top:1px solid var(--hairline-dark);padding-top:var(--s7)}
.footer-grid{display:grid;gap:var(--s6);padding-bottom:var(--s6)}
@media (min-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--s7)}}
@media (min-width:1024px){.footer-grid{grid-template-columns:5fr 6fr}}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand .brand-name{font:500 22px/1 var(--serif);color:var(--white)}
.footer-brand .tagline{font:400 12px/1.8 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--white-72);margin-top:6px;max-width:34ch}
.footer-block{margin-top:var(--s5)}
.footer-block + .footer-block{margin-top:var(--s4)}
.footer-block .label{color:var(--gold);margin-bottom:var(--s2)}
.footer-block li,.footer-block p{font:400 15px/1.9 var(--sans);color:var(--white-80)}
.footer-block a{color:var(--white);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .25s ease}
/* telefone e e-mail sem sublinhado */
.footer-block a[href^="tel:"],
.footer-block a[href^="mailto:"]{text-decoration:none}
.footer-block a:hover{color:var(--gold)}
.social-icons{display:flex;gap:var(--s1);align-items:center;margin-left:-10px}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--white-80);transition:color .25s ease,transform .25s ease}
.social-icons a:hover{color:var(--gold);transform:translateY(-2px)}
.social-icons svg{width:24px;height:24px;fill:currentColor}

.footer-map{padding-bottom:var(--s6)}
.footer-map .label{color:var(--gold);display:block;margin-bottom:var(--s2)}
.footer-map .map-static{display:block;width:100%;height:340px;object-fit:cover;border:1px solid var(--hairline-dark);margin-bottom:10px}
.footer-map .map-credit{font:400 11px/1.5 var(--mono);letter-spacing:.04em;color:var(--white-72);margin-bottom:var(--s4)}
.footer-map .map-address{font:400 15px/1.7 var(--sans);color:var(--white-80);margin-bottom:var(--s4)}
.footer-map .map-links{display:inline-grid;grid-template-columns:1fr 1fr;gap:12px}
.footer-map .map-link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);background:var(--gold);border:1px solid var(--gold);
  padding:13px 22px;text-decoration:none;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.footer-map .map-link:hover{background:var(--white);border-color:var(--white)}
.footer-map .map-link.alt{color:var(--gold);background:transparent}
.footer-map .map-link.alt:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.footer-map .map-link svg{flex:none;width:16px;height:16px}
@media (max-width:600px){
  .footer-map .map-static{height:260px}
  .footer-map .map-links{grid-template-columns:1fr}
}

.footer-legal{border-top:1px solid var(--hairline-dark);padding-block:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.footer-legal p{font:400 12px/1.8 var(--mono);letter-spacing:.06em;color:var(--white-72)}
@media (min-width:1024px){
  .footer-legal{flex-direction:row;justify-content:space-between;gap:var(--s6)}
}

/* WhatsApp flutuante */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:60;
  width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  background:var(--gold);color:#FFF;border-radius:var(--radius);
  box-shadow:0 6px 24px rgba(0,0,0,.28);transition:background-color .25s ease;
}
.wa-float:hover{background:var(--gold-deep)}
.wa-float svg{width:26px;height:26px;fill:currentColor}

/* ============================================================
   ANIMACAO
   ============================================================ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* barra de admin */
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
