/* remodela.pt · preset trust + overrides de marca.
   O styles.css da skill fica intocado; o preset trust não existe lá, por isso é definido aqui. */

body[data-preset="trust"] {
  /* Paleta extraída de assets/icone.svg e assets/icone-negativo.svg */
  --color-primary: #233038;        /* tinta do telhado */
  --color-primary-dark: #161F26;
  --color-primary-soft: #E4E9EC;
  --color-accent: #E8912D;         /* quadrado laranja */
  --color-accent-deep: #9A5208;    /* derivado, para texto pequeno sobre papel (AA) */
  --color-ink: #233038;
  --color-ink-soft: #4F5B63;
  --color-ink-faint: #6B777F;
  --color-paper: #F4F1EC;          /* papel do ícone negativo */
  --color-paper-warm: #ECE7DF;
  --color-line: #DDD6CA;
  --color-success: #2E7D32;
  --color-whatsapp: #25D366;
  --shadow-cta-color: rgba(35, 48, 56, 0.28);

  /* Tipografia: Figtree 700 nos títulos e Figtree no corpo; Tektur só no logótipo, kickers e números. Servidas de /fontes/ */
  --font-display: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Tektur', ui-monospace, monospace;

  --weight-display: 700;
  --weight-bold: 600;
  --weight-medium: 600;
  --weight-regular: 400;

  /* Escala e espaçamentos do preset mantidos */
  --size-xs:  0.85rem;
  --size-sm:  0.95rem;
  --size-base: 1.05rem;
  --size-md:  1.18rem;
  --size-lg:  1.35rem;
  --size-xl:  clamp(1.45rem, 2vw, 1.7rem);
  --size-h3:  clamp(1.4rem, 2.2vw, 1.85rem);
  --size-h2:  clamp(1.85rem, 3.5vw, 2.75rem);
  --size-h1:  clamp(2.4rem, 5.5vw, 4.5rem);
  --size-display: clamp(3rem, 8vw, 6rem);

  --track-tight: -0.025em;
  --track-snug: -0.012em;
  --track-normal: 0;
  --track-wide: 0.05em;
  --track-extra: 0.18em;

  --wa-bar-h: 44px;
}

/* Números de preço e KPI em Tektur (peso único 600) */
.hero-meta-value, .service-card-price { font-family: var(--font-mono); font-weight: 600; letter-spacing: var(--track-snug); }
/* Telemóvel: Figtree 600, algarismos tabulares, sem cor, em todas as ocorrências */
.num, .phone-number { font-family: var(--font-body); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: 0; white-space: nowrap; color: inherit; }
a.num:hover { color: var(--color-accent-deep); }
/* Único sítio com o destaque 1, 2, 3: bloco de contacto da home */
.contact-num { margin-bottom: var(--space-2xs); line-height: 1.1; }
.num-big { font-weight: 700; font-size: clamp(2.5rem, 6vw, 3.5rem); letter-spacing: -0.02em; }
.num-big .dig { color: #E8912D; }
.fecho { font-size: var(--size-lg); font-weight: 600; }
.cta-section .btn-secondary { color: var(--color-paper); border-color: var(--color-paper); }
.cta-section .btn-secondary:hover { background: var(--color-paper); color: var(--color-ink); }

/* Ícones de linha */
.icon { display: inline-block; vertical-align: middle; flex-shrink: 0; }
.trust-item-icon { font-size: 1rem; line-height: 0; margin-bottom: var(--space-sm); }
.service-card-icon { line-height: 0; margin-bottom: var(--space-xs); }
.placeholder-icon .icon { width: 40px; height: 40px; opacity: 0.55; }
.menu-toggle .icon { width: 22px; height: 22px; }
.post-card { display: flex; flex-direction: column; background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-md); height: 100%; transition: all var(--transition-base); }
.post-card:hover { border-color: var(--color-accent); transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.post-card-title { font-size: var(--size-xl); line-height: 1.15; margin-bottom: var(--space-2xs); letter-spacing: var(--track-snug); }
.post-card-title a { color: inherit; }
.post-card-title a:hover { color: var(--color-accent-deep); }

/* Hero sem imagem: uma só coluna */
.hero-grid:has(> .is-hidden) { grid-template-columns: 1fr; }
.hero-grid:has(> .is-hidden) .hero-subtitle { max-width: 48ch; }

/* Destaques: a primária é a mesma tinta do texto, por isso os realces usam o laranja */
.hero-title em { color: var(--color-accent-deep); font-style: italic; }
.eyebrow { color: var(--color-accent-deep); }
.eyebrow-accent { color: var(--color-accent) !important; }
.btn-link, .faq-question:hover, .area-card-time, .service-card-price .price-value,
.question-block ol li::before, .map-link-text a, .footer-col a:hover, .area-card-name a:hover { color: var(--color-accent-deep); }
.faq-question::after { color: var(--color-accent-deep); border-color: var(--color-accent-deep); }
.question-block ul li::before, .main-nav a::after, .service-card::before { background: var(--color-accent); }
.service-card:hover { border-color: var(--color-accent); }
.image-placeholder:hover { border-color: var(--color-accent); color: var(--color-accent-deep); }
.btn-primary:hover, .btn-phone:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-ink); }
.btn-ghost { color: var(--color-accent-deep); border-color: var(--color-accent-deep); }
.btn-ghost:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-ink); }
.cta-section::before, .differentiator::before { background: radial-gradient(circle, var(--color-accent) 0%, transparent 60%); opacity: 0.22; }
.cta-section .btn-primary:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-ink); }
.image-placeholder.placeholder-hero { background: linear-gradient(135deg, var(--color-ink) 0%, #3A4A55 100%); }
.destaque { color: var(--color-accent-deep); }
:focus-visible { outline-color: var(--color-accent-deep); }

/* Header sobre papel e por baixo da barra de WhatsApp */
.site-header { background: rgba(244, 241, 236, 0.9); top: var(--wa-bar-h); }
.logo img { height: 36px; width: auto; }
.footer-logo img { height: 32px; width: auto; }
.main-nav .nav-list { gap: var(--space-md); }
.service-card-title a { color: inherit; }
.service-card-title a:hover { color: var(--color-accent-deep); }
.service-card-tag { color: var(--color-accent-deep); font-weight: 600; }

/* Barra fixa de WhatsApp no topo (todas as páginas) */
.wa-bar {
  position: sticky; top: 0; z-index: calc(var(--z-sticky) + 1);
  height: var(--wa-bar-h); overflow: hidden;
  background: var(--color-ink); color: var(--color-paper);
  font-size: var(--size-sm); display: flex; align-items: center;
}
.wa-bar .container { display: flex; align-items: center; justify-content: center; gap: var(--space-sm); white-space: nowrap; }
.wa-bar strong { font-family: var(--font-mono); font-size: var(--size-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--color-accent); }
.wa-bar a { display: inline-flex; align-items: center; gap: 0.4em; background: var(--color-whatsapp); color: #fff; padding: 0.3em 0.9em; border-radius: var(--radius-full); font-weight: 600; font-size: var(--size-xs); }
.wa-bar a:hover { background: #1FB857; }

/* Botão flutuante só em mobile */
.floating-whatsapp { display: none; }

/* Formulário de 3 campos */
.mini-form { background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-sm); box-shadow: var(--shadow-md); }
.mini-form h3 { font-size: var(--size-lg); margin-bottom: var(--space-2xs); }
.mini-form label { display: flex; flex-direction: column; gap: 4px; font-family: var(--font-mono); font-size: var(--size-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--color-ink-faint); }
.mini-form input, .mini-form select { font-family: var(--font-body); font-size: var(--size-base); padding: 0.7em 0.9em; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: #fff; color: var(--color-ink); letter-spacing: 0; text-transform: none; }
.mini-form input:focus, .mini-form select:focus { border-color: var(--color-accent); outline: none; box-shadow: 0 0 0 3px rgba(232, 145, 45, 0.25); }
.mini-form button { margin-top: var(--space-2xs); }
.mini-form a { text-decoration: underline; text-underline-offset: 3px; }
.contact-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-xl); align-items: start; }
.cta-alt { margin-top: var(--space-md); font-size: var(--size-sm) !important; }
.cta-alt a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }

/* Blog e páginas de texto */
.tldr { background: var(--color-paper-warm); padding: var(--space-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--color-accent); }
.erros, .outros-artigos, .passos { display: flex; flex-direction: column; gap: var(--space-sm); }
.erros li, .passos li { padding-left: var(--space-md); border-left: 2px solid var(--color-accent); }
.passos { counter-reset: passo; }
.outros-artigos a { color: var(--color-accent-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.legal h2 { font-size: var(--size-lg); margin-top: var(--space-lg); margin-bottom: var(--space-xs); }
.legal a { color: var(--color-accent-deep); text-decoration: underline; text-underline-offset: 3px; }
.ficha { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-sm); }
.ficha div { padding: var(--space-sm); border: 1px dashed var(--color-line); border-radius: var(--radius-sm); }
.ficha dt { font-family: var(--font-mono); font-size: var(--size-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--color-ink-faint); }
.ficha dd { font-weight: 600; margin-top: 4px; }

/* Gráficos originais nos artigos (SVG em /assets/graficos/) */
.grafico { margin: 0; }
.grafico img { display: block; width: 100%; height: auto; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-paper); }
.grafico figcaption { margin-top: var(--space-xs); font-size: var(--size-sm); color: var(--color-ink-soft); }

/* Tabela de custos (artigos): cabeçalho Tektur caixa alta, linhas separadas, total destacado; em mobile as colunas empilham */
.tabela-custos { width: 100%; border-collapse: collapse; font-size: var(--size-base); }
.tabela-custos caption { text-align: left; font-weight: 700; font-size: var(--size-lg); margin-bottom: var(--space-sm); color: var(--color-ink); }
.tabela-custos thead th { font-family: var(--font-mono); font-weight: 600; font-size: var(--size-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--color-accent-deep); text-align: left; padding: 0 var(--space-xs) var(--space-2xs); border-bottom: 2px solid var(--color-ink); }
.tabela-custos th, .tabela-custos td { padding: var(--space-sm) var(--space-xs); vertical-align: top; text-align: left; }
.tabela-custos tbody th { font-weight: 600; }
.tabela-custos tbody tr { border-bottom: 1px solid var(--color-line); }
.tabela-custos .num-col { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tabela-custos .inclui { color: var(--color-ink-soft); font-size: var(--size-sm); }
.tabela-custos tfoot tr { background: var(--color-paper-warm); box-shadow: inset 4px 0 0 var(--color-accent); }
.tabela-custos tfoot th, .tabela-custos tfoot td { font-weight: 700; }
.tabela-custos tfoot .num-col { color: var(--color-accent-deep); font-size: var(--size-md); }
.tabela-legenda { margin-top: var(--space-xs); font-size: var(--size-sm); color: var(--color-ink-soft); }

/* Teste de licenciamento (artigo das licenças): HTML e JavaScript puro */
.quiz { background: var(--color-paper-warm); border-radius: var(--radius-lg); padding: var(--space-lg); border-left: 4px solid var(--color-accent); }
.quiz h2 { font-size: var(--size-xl); margin-top: var(--space-2xs); }
.quiz-q { border: 0; padding: 0; margin: var(--space-md) 0 0; min-width: 0; }
.quiz-q legend { font-weight: 700; font-size: var(--size-md); padding: 0; }
.quiz-hint { font-size: var(--size-sm); color: var(--color-ink-soft); margin: 2px 0 var(--space-xs); }
.quiz-opcoes { display: flex; gap: var(--space-xs); position: relative; }
.quiz-opcoes label { cursor: pointer; }
.quiz-opcoes input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.quiz-opcoes span { display: inline-block; padding: 0.5em 1.4em; border: 2px solid var(--color-ink); border-radius: var(--radius-full); font-weight: 600; background: var(--color-paper); color: var(--color-ink); transition: all var(--transition-base); }
.quiz-opcoes input:checked + span { background: var(--color-ink); color: var(--color-paper); }
.quiz-opcoes input:focus-visible + span { outline: 2px solid var(--color-accent-deep); outline-offset: 2px; }
.quiz-resultado { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--color-line); }
.quiz-resultado-titulo { font-weight: 700; font-size: var(--size-lg); margin: var(--space-2xs) 0; }
.quiz-resultado-nota { font-size: var(--size-sm); color: var(--color-ink-faint); }
.quiz-resultado .btn { margin-top: var(--space-xs); }
.quiz-guardar { margin-top: var(--space-sm); font-size: var(--size-sm); }
.quiz-guardar a { color: var(--color-ink-faint); text-decoration: underline; text-underline-offset: 3px; }
.quiz-guardar a:hover { color: var(--color-accent-deep); }

/* Bloco de provas / galeria: escondido até haver fotos reais */
.is-hidden { display: none !important; }

/* Páginas mínimas (orçamento) */
.site-header-minimal .header-container { justify-content: space-between; }
.site-footer-minimal { padding-top: 0; }

@media (max-width: 1023px) {
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .wa-bar-note { display: none; }
  .wa-bar .container { justify-content: flex-start; }
  /* Botões do hero e do CTA final: largura total, empilhados, mesmo tamanho */
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { width: 100%; padding: 1.1em 1.5em; font-size: var(--size-md); }
  .header-cta .btn-whatsapp { display: none; } /* a barra e o botão flutuante já dão o WhatsApp em mobile */
  .header-cta .phone-number { display: inline; font-size: var(--size-sm); }
  .floating-whatsapp { display: flex; }
  .main-nav { top: 100%; }
  .hero-grid > div:last-child { order: 0; } /* imagem depois do texto */
  .site-footer { padding-bottom: 96px; } /* espaço para o botão flutuante não tapar os links legais */
  /* Tabela de custos: colunas empilhadas */
  .tabela-custos thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabela-custos tr { display: block; padding: var(--space-sm) 0; }
  .tabela-custos th, .tabela-custos td { display: block; padding: 2px 0; text-align: left; white-space: normal; }
  .tabela-custos tbody th { font-size: var(--size-md); }
  .tabela-custos td.num-col { display: inline-block; margin-right: var(--space-md); }
  .tabela-custos td.num-col::before { content: attr(data-label) " "; font-family: var(--font-mono); font-size: var(--size-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--color-ink-faint); }
  .tabela-custos tfoot tr { padding: var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md); }
  .quiz { padding: var(--space-md); }
}
