@charset "UTF-8";
/* ============================================
   CARTÃO DE CONTACTO — Design A «Carta de Visita» (2026-09-25)
   Faixa de contactos na /a-chef e em /equipa/<slug>, cartão ?vcard e vista
   da dona ?app=1. Tudo sob .dA. Tokens do main.css: creme #faf8f4, papel
   #f3efe7, tinta #0a0a0a, dourado #b59259 (texto pequeno: --gold-text).
   ============================================ */

/* Moldura dourada dupla (a do .pa-carte): filete + outline recolhido. */
.dA .cc-frame { padding: 10px; border: 1px solid rgba(181,146,89,.55); outline: 1px solid rgba(181,146,89,.55); outline-offset: -6px; background: #faf8f4; margin: 0; }
.dA .cc-frame img, .dA .cc-frame svg { display: block; width: 100%; height: auto; }
.dA .cc-eyebrow { font: 500 10px/1 'Albert Sans', sans-serif; letter-spacing: .32em; text-transform: uppercase; color: var(--gold-text, #80642e); margin-bottom: 18px; }
.dA .cc-ic { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linejoin: round; }

/* ---------- 1 · Faixa na página (perfil) ---------- */
.dA .cc-band { display: grid; grid-template-columns: 1fr; gap: 56px; align-items: start; max-width: 1200px; margin: 0 auto; padding: 56px 0 64px; border-top: 1px solid rgba(181,146,89,.28); }
.dA .cc-band.has-photo { grid-template-columns: minmax(0, 400px) 1fr; }
.dA .cc-photo img { width: 100%; height: auto; }
.dA .cc-rows { list-style: none; margin: 0; padding: 0; }
.dA .cc-rows li { display: grid; grid-template-columns: 40px 120px 1fr; align-items: baseline; padding: 18px 0; border-bottom: 1px solid rgba(10,10,10,.08); font-size: 15px; }
.dA .cc-rows li:first-child { border-top: 1px solid rgba(10,10,10,.08); }
.dA .cc-n { font-family: 'Tenor Sans', serif; color: var(--gold-text, #80642e); font-size: 13px; letter-spacing: .2em; }
.dA .cc-k { font-size: 9.5px; letter-spacing: .28em; text-transform: uppercase; color: #6a6a6a; font-weight: 500; }
.dA .cc-v { min-width: 0; overflow-wrap: anywhere; }
.dA .cc-v a { text-decoration: none; border-bottom: 1px solid rgba(181,146,89,.45); transition: color .25s, border-color .25s; }
.dA .cc-v a:hover { color: #856832; border-color: #b59259; }
.dA .cc-note { display: block; font-size: 11px; color: var(--gold-text, #80642e); letter-spacing: .04em; margin-top: 4px; }
.dA .cc-acts { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.dA .cc-acts .btn { justify-content: center; }
.dA .cc-qrcard { display: none; text-align: center; }
.dA .cc-qrcard .cc-frame { padding: 18px; }
.dA .cc-qrcard p { font-size: 9.5px; letter-spacing: .28em; text-transform: uppercase; color: #6a6a6a; margin: 16px 0 0; font-weight: 500; line-height: 1.9; }
/* QR só em ecrã largo COM rato: num telemóvel não se lê o próprio ecrã. */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .dA .cc-band { grid-template-columns: 1fr 250px; }
  .dA .cc-band.has-photo { grid-template-columns: 380px 1fr 250px; }
  .dA .cc-qrcard { display: block; }
}
.dA .cc-house { display: grid; grid-template-columns: 140px 1fr auto; gap: 48px; align-items: center; max-width: 1200px; margin: 0 auto 90px; padding: 40px 52px; background: #f3efe7; }
.dA .cc-house img { width: 130px; height: auto; mix-blend-mode: multiply; }
.dA .cc-house h2 { font-family: 'Tenor Sans', serif; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; font-size: 20px; margin: 0 0 10px; }
.dA .cc-house p { margin: 0; font-size: 14px; line-height: 1.9; color: #3a3a3a; max-width: 520px; }
.dA .cc-house .cc-eyebrow { margin-bottom: 10px; }
@media (max-width: 1023px) {
  .dA .cc-band, .dA .cc-band.has-photo { grid-template-columns: 1fr; gap: 32px; padding: 40px 0 44px; }
  .dA .cc-house { grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 18px; padding: 30px 22px; margin-bottom: 64px; }
}
@media (max-width: 640px) {
  .dA .cc-rows li { grid-template-columns: 30px 1fr; padding: 14px 0; font-size: 14px; }
  .dA .cc-rows .cc-k { grid-column: 2; margin-bottom: 3px; }
  .dA .cc-rows .cc-v { grid-column: 2; }
  .dA .cc-acts { flex-direction: column; gap: 10px; margin-top: 26px; }
  .dA .cc-acts .btn { width: 100%; }
}
/* Perfil genérico /equipa/<slug>: herói igual ao da /a-chef, faixa dentro da mesma coluna. */
.dA .cc-profile { padding: 150px 56px 0; }
@media (max-width: 640px) { .dA .cc-profile { padding: 110px 22px 0; } }

/* ---------- 2 e 3 · páginas soltas (?vcard, ?app=1) ---------- */
html.cc-doc, html.cc-doc body { background: #faf8f4; }
/* Duas línguas na página; mostra-se a do <html data-l>. Sem JS fica PT. */
html[data-l="pt"] .dA .cc-l[lang="en"], html[data-l="en"] .dA .cc-l[lang="pt"] { display: none !important; }
.dA.cc-body { min-height: 100vh; min-height: 100svh; max-width: none; }
.dA .cc-top { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 12px; }
.dA .cc-mark { font-family: 'Tenor Sans', serif; font-size: 10px; letter-spacing: .34em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.dA .cc-dia { width: .84em; height: .84em; display: inline-block; vertical-align: -.06em; }
.dA .cc-lang { display: flex; gap: 2px; }
.dA .cc-lang button { font: 500 10px/1 'Albert Sans', sans-serif; letter-spacing: .2em; background: none; border: 0; border-bottom: 1px solid transparent; padding: 8px 8px 6px; color: #0a0a0a; opacity: .5; cursor: pointer; }
html[data-l="pt"] .dA .cc-lang [data-set-lang="pt"], html[data-l="en"] .dA .cc-lang [data-set-lang="en"] { opacity: 1; border-color: #b59259; }
.dA .cc-name { font-family: 'Tenor Sans', serif; font-weight: 400; text-transform: uppercase; letter-spacing: .1em; line-height: 1.1; margin: 16px 0 6px; font-size: clamp(22px, 7.2vw, 28px); }
.dA .cc-role { font: 500 10px/1.4 'Albert Sans', sans-serif; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-text, #80642e); margin: 0 0 16px; }
.dA .cc-foot { margin-top: auto; padding-top: 12px; font: 500 9.5px/1 'Albert Sans', sans-serif; letter-spacing: .28em; text-transform: uppercase; color: #6a6a6a; text-decoration: none; }

/* 2 · Cartão: altura do ecrã, sem scroll; a moldura dupla é a folha. */
.dA .cc-card { height: 100vh; height: 100svh; display: flex; flex-direction: column; padding: max(10px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); max-width: 460px; margin: 0 auto; }
.dA .cc-sheet { flex: 1; min-height: 0; border: 1px solid rgba(181,146,89,.55); outline: 1px solid rgba(181,146,89,.55); outline-offset: -6px; padding: clamp(14px, 3.4vh, 26px) 22px 16px; display: flex; flex-direction: column; align-items: center; text-align: center; overflow: hidden; }
.dA .cc-sheet > :first-child { margin-top: auto; }
.dA .cc-pic { width: auto; height: clamp(90px, 22vh, 200px); max-width: 60%; padding: 5px; border: 1px solid rgba(181,146,89,.55); background: #faf8f4; flex: none; }
.dA .cc-save, .dA .cc-two { width: 100%; }
.dA .cc-save .btn { width: 100%; padding: 15px 10px; justify-content: center; }
.dA .cc-save .cc-ic { stroke: currentColor; }
.dA .cc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.dA .cc-two .btn { padding: 14px 8px; justify-content: center; }
.dA .cc-two:has(> :only-child) { grid-template-columns: 1fr; }
.dA .cc-list { list-style: none; margin: clamp(8px, 2vh, 16px) 0 0; padding: 0; width: 100%; text-align: left; }
.dA .cc-list li { display: flex; gap: 12px; align-items: center; padding: clamp(7px, 1.3vh, 10px) 2px; border-top: 1px solid rgba(10,10,10,.08); font-size: 13px; line-height: 1.35; }
.dA .cc-list .cc-ic { color: #b59259; }
.dA .cc-list span { min-width: 0; overflow-wrap: anywhere; }
.dA .cc-list a { text-decoration: none; }
.dA .cc-list small { display: block; font-size: 10.5px; color: var(--gold-text, #80642e); letter-spacing: .03em; }
/* Ecrãs baixos (SE, teclado aberto): encolhe a foto antes de deixar sair nada. */
@media (max-height: 640px) { .dA .cc-pic { height: 72px; } .dA .cc-name { margin-top: 8px; } .dA .cc-role { margin-bottom: 10px; } }

/* 3 · Vista da dona: o QR a toda a largura, creme como o site. */
.dA .cc-own { height: 100vh; height: 100svh; display: flex; flex-direction: column; align-items: center; text-align: center; padding: max(10px, env(safe-area-inset-top)) 26px max(22px, env(safe-area-inset-bottom)); max-width: 520px; margin: 0 auto; }
.dA .cc-own .cc-top { width: 100%; margin-bottom: clamp(18px, 6vh, 48px); }
.dA .cc-own .cc-qr { width: min(100%, 62vh); padding: 20px; margin-top: auto; }
.dA .cc-own .cc-name { margin-top: clamp(18px, 4vh, 32px); font-size: clamp(20px, 6.4vw, 26px); }
.dA .cc-hint { margin: auto 0 0; font: 500 10px/2 'Albert Sans', sans-serif; letter-spacing: .28em; text-transform: uppercase; color: #6a6a6a; }
.dA .cc-awake { color: var(--gold-text, #80642e); }
.dA .cc-awake[hidden] { display: none !important; }
.dA .cc-own .cc-foot { margin-top: 14px; padding-top: 0; }
