/* 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; }

/* 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 */
}
