:root {
  --fc-navy: #071827;
  --fc-river: #0b3566;
  --fc-blue: #1c5fb8;
  --fc-gold: #d4af37;
  --fc-gold-soft: #ead58a;
  --fc-gold-deep: #8e6a2b;
  --fc-paper: #fff9e8;
  --fc-platinum: #f7f8fa;
  --fc-mist: #f1f4f8;
  --fc-white: #fff;
  --fc-ink: #142033;
  --fc-muted: #59677a;
  --fc-line: #d7dee7;
  --fc-line-dark: rgba(255,255,255,.18);
  --fc-display: Inter, Manrope, "Segoe UI", Arial, sans-serif;
  --fc-ui: Manrope, Inter, "Segoe UI", Arial, sans-serif;
  --fc-radius: 18px;
  --fc-max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--fc-platinum); color: var(--fc-ink); font-family: var(--fc-ui); font-size: 16px; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font-family: var(--fc-ui); }
body > main { min-height: 55vh; }
a { color: var(--fc-river); }
img { max-width: 100%; height: auto; }
.ldt-skip { position: fixed; top: -100px; left: 16px; z-index: 99999; padding: 12px 16px; border-radius: 10px; background: var(--fc-white); color: var(--fc-navy); font-weight: 700; }
.ldt-skip:focus { top: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--fc-gold); outline-offset: 3px; }

/* Cabeçalho */
.ldt-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--fc-line); background: rgba(247,248,250,.97); backdrop-filter: blur(14px); }
.admin-bar .ldt-header { top: 32px; }
.ldt-header-inner { width: min(calc(100% - 64px), var(--fc-max)); min-height: 78px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.ldt-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--fc-ink); text-decoration: none; }
.ldt-brand--custom { display: flex; }
.ldt-brand .custom-logo-link { display: flex; }
.ldt-brand .custom-logo { width: auto; max-height: 52px; }
.ldt-mark { width: 48px; height: 48px; display: grid; grid-template-columns: 1fr 1fr; place-items: center; overflow: hidden; border: 1px solid var(--fc-gold-deep); border-radius: 14px; background: var(--fc-gold-soft); color: var(--fc-navy); font-size: 15px; font-style: normal; font-weight: 700; letter-spacing: -.02em; }
.ldt-mark b, .ldt-mark i { font-style: normal; font-weight: 700; }
.ldt-brand strong, .ldt-brand small { display: block; }
.ldt-brand strong { font-family: var(--fc-display); font-size: 21px; font-weight: 700; letter-spacing: -.02em; line-height: 1; }
.ldt-brand small { margin-top: 5px; color: var(--fc-muted); font-size: 12px; font-weight: 500; }
.ldt-menu { justify-self: center; display: flex; align-items: center; gap: 28px; }
.ldt-menu ul { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.ldt-menu a { color: var(--fc-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.ldt-menu a:hover, .ldt-menu .current-menu-item > a { color: var(--fc-blue); }
.ldt-header-actions { display: flex; align-items: center; gap: 18px; }
.ldt-header-actions a { color: var(--fc-river); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.ldt-header-actions .ldt-cta { min-height: 48px; display: inline-flex; align-items: center; padding: 0 19px; border: 1px solid var(--fc-gold-deep); border-radius: 12px; background: var(--fc-river); color: var(--fc-white); font-weight: 700; }
.ldt-menu-toggle { display: none; min-width: 44px; min-height: 44px; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid var(--fc-line); border-radius: 11px; background: var(--fc-white); color: var(--fc-river); font-size: 13px; font-weight: 700; }
.ldt-menu-toggle i, .ldt-menu-toggle i::before, .ldt-menu-toggle i::after { width: 16px; height: 1px; display: block; background: currentColor; }
.ldt-menu-toggle i { position: relative; }
.ldt-menu-toggle i::before, .ldt-menu-toggle i::after { content: ""; position: absolute; left: 0; }
.ldt-menu-toggle i::before { top: -5px; }
.ldt-menu-toggle i::after { top: 5px; }

/* Elementos compartilhados */
.fc-section { width: min(calc(100% - 64px), var(--fc-max)); margin: 0 auto; padding: 82px 56px; border-right: 1px solid var(--fc-line); border-left: 1px solid var(--fc-line); background: var(--fc-white); }
.fc-section + .fc-section { border-top: 1px solid var(--fc-line); }
.fc-section__head { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 34px; }
.fc-section__head > p, .fc-section__head > div > p { max-width: 520px; margin: 14px 0 0; color: var(--fc-muted); font-size: 16px; line-height: 1.65; }
.fc-section__head > p { margin: 0; }
.fc-section__head small, .fc-trust small, .fc-commercial small { display: block; color: var(--fc-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.fc-section__head h2, .fc-trust h2, .fc-commercial h2 { margin: 10px 0 0; color: var(--fc-river); font-family: var(--fc-display); font-size: clamp(36px, 4.2vw, 58px); font-weight: 700; letter-spacing: -.025em; line-height: 1.02; }
.fc-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--fc-river); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.fc-text-link span { color: var(--fc-gold-deep); font-size: 18px; }
.fc-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid; border-radius: 12px; font-size: 14px; font-weight: 700; text-decoration: none; }
.fc-button--gold { border-color: var(--fc-gold-deep); background: var(--fc-gold); color: var(--fc-navy); }
.fc-button--navy { border-color: var(--fc-gold-deep); background: var(--fc-river); color: var(--fc-white); }

/* Primeira dobra */
.fc-hero { position: relative; overflow: hidden; background: var(--fc-navy); color: var(--fc-white); }
.fc-hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size: 100% 46px; }
.fc-hero__inner { position: relative; z-index: 1; width: min(calc(100% - 64px), var(--fc-max)); margin: 0 auto; display: grid; grid-template-columns: minmax(0,7fr) minmax(360px,5fr); align-items: center; gap: 46px; padding: 62px 56px 48px; border-right: 1px solid var(--fc-line-dark); border-left: 1px solid var(--fc-line-dark); }
.fc-hero--solo .fc-hero__inner { grid-template-columns: minmax(0,820px); justify-content: start; }
.fc-overline { display: flex; align-items: center; gap: 10px; color: var(--fc-gold-soft); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.fc-overline span { width: 32px; height: 1px; display: block; background: var(--fc-gold); }
.fc-hero h1 { max-width: 680px; margin: 18px 0 20px; color: var(--fc-white); font-family: var(--fc-display); font-size: clamp(48px,5.3vw,72px); font-weight: 600; letter-spacing: -.022em; line-height: 1.01; }
.fc-hero h1 em { color: var(--fc-gold-soft); font-style: normal; font-weight: 600; }
.fc-hero__lead { max-width: 660px; margin: 0; color: #d7e1ec; font-size: 18px; line-height: 1.6; }
.fc-search { max-width: 720px; margin-top: 30px; }
.fc-search > label { display: block; margin-bottom: 8px; color: #c6d2df; font-size: 13px; font-weight: 600; }
.fc-search > div { display: grid; grid-template-columns: minmax(0,1fr) auto; overflow: hidden; border: 1px solid var(--fc-gold-deep); border-radius: 14px; background: var(--fc-white); }
.fc-search input { min-width: 0; height: 62px; padding: 0 18px; border: 0; outline: 0; background: transparent; color: var(--fc-ink); font-size: 16px; }
.fc-search input::placeholder { color: #718096; }
.fc-search button { min-width: 150px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px; border: 0; border-left: 1px solid var(--fc-gold-deep); background: var(--fc-gold); color: var(--fc-navy); font-size: 14px; font-weight: 700; cursor: pointer; }
.fc-search button b { font-size: 20px; font-weight: 600; }
.fc-hero__links { display: flex; align-items: center; gap: 24px; margin-top: 20px; }
.fc-hero .fc-text-link { color: var(--fc-white); }
.fc-trust-line { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; color: #b8c6d5; font-size: 13px; }
.fc-trust-line span { display: inline-flex; align-items: center; gap: 9px; }
.fc-trust-line span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--fc-gold); }

/* Livro de telefones no hero */
.fc-phonebook { overflow: hidden; border: 1px solid var(--fc-gold-deep); border-radius: 20px; background: var(--fc-paper); color: var(--fc-ink); }
.fc-phonebook__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border-bottom: 1px solid #dfd4ae; }
.fc-phonebook__head small { display: block; color: var(--fc-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fc-phonebook__head h2 { margin: 5px 0 0; color: var(--fc-river); font-family: var(--fc-display); font-size: 25px; font-weight: 700; letter-spacing: -.02em; }
.fc-phonebook__head > span { padding: 7px 10px; border: 1px solid #d5c58e; border-radius: 9px; color: var(--fc-river); font-size: 12px; font-weight: 700; }
.fc-phonebook__list { padding: 7px 12px; }
.fc-phonebook__row { min-height: 70px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 11px 8px; border-bottom: 1px solid #e7dfc4; }
.fc-phonebook__row:last-child { border-bottom: 0; }
.fc-phonebook__identity { min-width: 0; display: flex; align-items: center; gap: 11px; color: var(--fc-ink); text-decoration: none; }
.fc-phonebook__identity > span:first-child { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border: 1px solid #d5c58e; border-radius: 12px; background: #f8efcf; color: var(--fc-river); font-weight: 700; }
.fc-phonebook__identity strong, .fc-phonebook__identity small { display: block; }
.fc-phonebook__identity strong { overflow: hidden; font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.fc-phonebook__identity small { margin-top: 4px; color: var(--fc-muted); font-size: 12px; }
.fc-phonebook__row > div { text-align: right; }
.fc-phonebook__row > div strong { display: block; color: var(--fc-river); font-size: 15px; font-weight: 700; white-space: nowrap; }
.fc-phonebook__row > div a { display: inline-block; margin-top: 5px; color: var(--fc-blue); font-size: 12px; font-weight: 700; text-decoration: none; }
.fc-phonebook footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 20px; border-top: 1px solid #dfd4ae; background: #f8efcf; font-size: 12px; }
.fc-phonebook footer span { color: var(--fc-muted); }
.fc-phonebook footer a { color: var(--fc-river); font-weight: 700; text-decoration: none; }

/* Índice A-Z */
.fc-alpha { position: relative; z-index: 2; width: min(calc(100% - 64px), var(--fc-max)); min-height: 52px; margin: 0 auto; display: grid; grid-template-columns: auto repeat(26,minmax(32px,1fr)); overflow-x: auto; border: 1px solid #d7c98f; border-bottom: 0; background: var(--fc-paper); }
.fc-alpha span, .fc-alpha a { min-width: 38px; display: grid; place-items: center; border-right: 1px solid #e5dbba; color: var(--fc-river); font-size: 12px; font-weight: 700; text-decoration: none; }
.fc-alpha span { min-width: 74px; padding: 0 12px; background: var(--fc-gold); color: var(--fc-navy); text-transform: uppercase; }
.fc-alpha a:hover { background: #f6ebc4; }

/* Contatos essenciais */
.fc-utility__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.fc-utility-card { overflow: hidden; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-white); }
.fc-utility-card__main { min-height: 112px; display: flex; align-items: center; gap: 14px; padding: 18px; color: var(--fc-ink); text-decoration: none; }
.fc-utility-card__initial { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; border: 1px solid #c7d4e2; border-radius: 15px; background: var(--fc-mist); color: var(--fc-river); font-size: 18px; font-weight: 700; }
.fc-utility-card__main strong, .fc-utility-card__main small, .fc-utility-card__main b { display: block; }
.fc-utility-card__main strong { font-size: 16px; font-weight: 700; line-height: 1.3; }
.fc-utility-card__main small { margin-top: 4px; color: var(--fc-muted); font-size: 12px; }
.fc-utility-card__main b { margin-top: 7px; color: var(--fc-river); font-size: 17px; font-weight: 700; }
.fc-utility-card__meta { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px 0 18px; border-top: 1px solid var(--fc-line); background: var(--fc-platinum); }
.fc-utility-card__meta span { color: var(--fc-muted); font-size: 12px; }
.fc-utility-card__meta a { color: var(--fc-river); font-size: 13px; font-weight: 700; text-decoration: none; }

/* Categorias */
.fc-directory-intro { background: var(--fc-platinum); }
.fc-sector-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--fc-line); border-left: 1px solid var(--fc-line); }
.fc-sector-grid > a { min-height: 150px; display: grid; grid-template-columns: 1fr auto; align-content: space-between; gap: 8px; padding: 20px; border-right: 1px solid var(--fc-line); border-bottom: 1px solid var(--fc-line); background: var(--fc-white); color: var(--fc-ink); text-decoration: none; transition: background .18s ease,color .18s ease; }
.fc-sector-grid > a:hover { background: var(--fc-river); color: var(--fc-white); }
.fc-sector-grid > a span { color: var(--fc-gold-deep); font-size: 12px; font-weight: 700; }
.fc-sector-grid > a strong { grid-column: 1/-1; align-self: end; font-size: 17px; font-weight: 700; line-height: 1.25; }
.fc-sector-grid > a small { color: var(--fc-muted); font-size: 12px; }
.fc-sector-grid > a:hover small { color: #d7e1ec; }
.fc-sector-grid > a b { color: var(--fc-gold-deep); font-size: 20px; font-weight: 600; }

/* Memória e manifesto */
.fc-manifesto { width: min(calc(100% - 64px),var(--fc-max)); min-height: 420px; margin: 0 auto; display: grid; grid-template-columns: .35fr 1fr .52fr; align-items: center; gap: 54px; padding: 70px 56px; border: 1px solid #173450; background: var(--fc-river); color: var(--fc-white); }
.fc-manifesto__year { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; padding-right: 32px; border-right: 1px solid rgba(255,255,255,.18); }
.fc-manifesto__year small { color: var(--fc-gold-soft); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fc-manifesto__year strong { color: var(--fc-gold-soft); font-size: clamp(54px,7vw,86px); font-weight: 600; letter-spacing: -.025em; line-height: .9; writing-mode: vertical-rl; transform: rotate(180deg); }
.fc-manifesto__copy small { color: var(--fc-gold-soft); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fc-manifesto__copy h2 { margin: 13px 0 20px; font-family: var(--fc-display); font-size: clamp(38px,4.5vw,60px); font-weight: 600; letter-spacing: -.025em; line-height: 1.02; }
.fc-manifesto__copy p { max-width: 650px; margin: 0; color: #d7e1ec; font-size: 16px; line-height: 1.7; }
.fc-manifesto__code { display: grid; grid-template-columns: repeat(2,1fr); overflow: hidden; border: 1px solid rgba(234,213,138,.45); border-radius: 18px; }
.fc-manifesto__code span { aspect-ratio: 1; display: grid; place-items: center; border-right: 1px solid rgba(234,213,138,.25); border-bottom: 1px solid rgba(234,213,138,.25); color: var(--fc-gold-soft); font-size: 32px; font-weight: 600; }
.fc-manifesto__code small { grid-column: 1/-1; padding: 14px; color: #c0cddd; font-size: 12px; line-height: 1.45; text-align: center; }

.fc-how__grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--fc-line); border-left: 1px solid var(--fc-line); }
.fc-how__grid article { min-height: 220px; padding: 28px; border-right: 1px solid var(--fc-line); border-bottom: 1px solid var(--fc-line); }
.fc-how__grid span { display: inline-flex; min-width: 42px; padding-bottom: 10px; border-bottom: 1px solid var(--fc-gold); color: var(--fc-gold-deep); font-size: 12px; font-weight: 700; }
.fc-how__grid h3 { margin: 44px 0 9px; color: var(--fc-river); font-size: 27px; font-weight: 700; letter-spacing: -.02em; }
.fc-how__grid p { max-width: 310px; margin: 0; color: var(--fc-muted); font-size: 15px; line-height: 1.65; }
.fc-trust { display: grid; grid-template-columns: 1fr .9fr; align-items: end; gap: 78px; background: var(--fc-mist); }
.fc-trust p { margin: 0 0 24px; color: var(--fc-muted); font-size: 16px; line-height: 1.7; }
.fc-commercial { display: grid; grid-template-columns: 1fr .7fr; gap: 76px; background: var(--fc-navy); color: var(--fc-white); border-color: #173450; }
.fc-commercial h2 { color: var(--fc-white); }
.fc-commercial > div > p { max-width: 650px; color: #d0dbe6; font-size: 16px; line-height: 1.7; }
.fc-commercial__aside { min-height: 236px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 26px; border: 1px solid rgba(234,213,138,.45); border-radius: 20px; }
.fc-commercial__aside > span { color: var(--fc-gold-soft); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.fc-commercial__aside > strong { max-width: 360px; font-size: 23px; font-weight: 600; line-height: 1.25; }

.fc-faq__grid { margin-bottom: 28px; border-top: 1px solid var(--fc-line); }
.fc-faq details { border-bottom: 1px solid var(--fc-line); }
.fc-faq summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--fc-river); font-size: 16px; font-weight: 700; cursor: pointer; list-style: none; }
.fc-faq summary::-webkit-details-marker { display: none; }
.fc-faq summary span { color: var(--fc-gold-deep); font-size: 22px; font-weight: 500; }
.fc-faq details[open] summary span { transform: rotate(45deg); }
.fc-faq details p { max-width: 760px; margin: -8px 0 24px; color: var(--fc-muted); font-size: 15px; line-height: 1.7; }

/* Publicidade */
.ldt-goads { position: relative; width: min(calc(100% - 64px),var(--fc-max)); min-height: 112px; margin: 16px auto; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-white); }
.ldt-goads > span { position: absolute; top: 10px; left: 12px; color: #778496; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.ldt-ad-widget { width: 100%; }
.ldt-ad-title { color: var(--fc-muted); }
.ldt-ad-mobile { display: none; }

/* Páginas, lista e perfil */
.ldt-shell, .ldt-default, .ldt-commerce { width: min(calc(100% - 64px),var(--fc-max)); margin: 28px auto; }
.ldt-shell { display: grid; grid-template-columns: 170px minmax(0,1fr) 170px; align-items: start; gap: 14px; }
.ldt-shell > aside .ldt-goads { position: sticky; top: 100px; width: 100%; min-height: 340px; margin: 0; }
.ldt-content, .ldt-profile, .ldt-default, .ldt-commerce { overflow: hidden; border: 1px solid var(--fc-line); border-radius: 20px; background: var(--fc-white); }
.ldt-content, .ldt-default, .ldt-commerce { padding: 34px; }
.ldt-page-head small { color: var(--fc-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ldt-content h1, .ldt-default h1, .ldt-commerce h1 { margin: 8px 0 18px; color: var(--fc-river); font-family: var(--fc-display); font-size: clamp(36px,4.6vw,56px); font-weight: 700; letter-spacing: -.025em; }
.ldt-content p, .ldt-default p, .ldt-commerce p { font-size: 16px; line-height: 1.7; }
.ldt-profile { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: start; }
.ldt-profile-bar { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 18px; padding: 14px 20px; border-bottom: 1px solid var(--fc-line); background: var(--fc-platinum); color: var(--fc-muted); font-size: 12px; font-weight: 600; }
.ldt-profile-bar a { text-decoration: none; }
.ldt-profile-head { grid-row: 2/8; align-self: stretch; padding: 26px; border-right: 1px solid var(--fc-line); background: var(--fc-platinum); }
.ldt-profile-photo { width: 128px; height: 128px; display: grid; place-items: center; overflow: hidden; border: 1px solid #c7d4e2; border-radius: 30px; background: var(--fc-mist); color: var(--fc-river); font-size: 44px; font-weight: 700; }
.ldt-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.ldt-profile-identity > small { color: var(--fc-muted); font-size: 12px; }
.ldt-profile-head h1 { margin: 20px 0 8px; color: var(--fc-river); font-family: var(--fc-display); font-size: 30px; font-weight: 700; letter-spacing: -.02em; line-height: 1.08; }
.ldt-profile-head p { color: var(--fc-muted); font-size: 14px; line-height: 1.55; }
.ldt-profile-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.ldt-profile-flags span { padding: 6px 9px; border: 1px solid #b7d9c6; border-radius: 999px; background: #eff8f3; color: #22764b; font-size: 12px; font-weight: 600; }
.ldt-profile-flags span.pending { border-color: var(--fc-line); background: var(--fc-white); color: var(--fc-muted); }
.ldt-profile-number { padding: 28px; border-bottom: 1px solid var(--fc-line); }
.ldt-profile-number small { display: block; color: var(--fc-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ldt-profile-number strong { display: block; margin-top: 7px; color: var(--fc-river); font-size: clamp(28px,3.8vw,42px); font-weight: 700; letter-spacing: -.02em; }
.ldt-profile-actions { display: flex; gap: 8px; flex-wrap: wrap; padding: 18px 28px; border-bottom: 1px solid var(--fc-line); }
.ldt-profile-actions a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 15px; border: 1px solid var(--fc-gold-deep); border-radius: 11px; background: var(--fc-river); color: var(--fc-white); font-size: 13px; font-weight: 700; text-decoration: none; }
.ldt-profile-actions .ldt-outline { border-color: var(--fc-line); background: var(--fc-white); color: var(--fc-river); }
.ldt-profile-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-bottom: 1px solid var(--fc-line); }
.ldt-profile-data > div { padding: 19px 28px; border-right: 1px solid var(--fc-line); border-bottom: 1px solid var(--fc-line); }
.ldt-profile-data dt, .ldt-profile-data dd { display: block; margin: 0; }
.ldt-profile-data dt { color: var(--fc-muted); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.ldt-profile-data dd { margin-top: 7px; color: var(--fc-ink); font-size: 14px; font-weight: 500; line-height: 1.5; }
.ldt-profile-data dd a { color: var(--fc-river); text-underline-offset: 3px; }
.ldt-profile-copy { padding: 28px; color: var(--fc-muted); font-size: 15px; line-height: 1.7; }
.ldt-profile-social, .ldt-profile-trust { display: flex; align-items: center; gap: 12px; padding: 19px 28px; border-top: 1px solid var(--fc-line); }
.ldt-profile-social strong { margin-right: auto; color: var(--fc-river); font-size: 14px; }
.ldt-profile-social a { padding: 8px 10px; border: 1px solid var(--fc-line); border-radius: 9px; font-size: 12px; font-weight: 600; text-decoration: none; }
.ldt-profile-trust { justify-content: space-between; background: var(--fc-platinum); }
.ldt-profile-trust strong { color: var(--fc-river); font-size: 14px; }
.ldt-profile-trust p { margin: 5px 0 0; color: var(--fc-muted); font-size: 12px; }
.ldt-profile-trust > a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--fc-line); border-radius: 10px; font-size: 12px; font-weight: 600; text-decoration: none; }

/* Rodapé */
.ldt-footer { background: #06111e; color: var(--fc-white); }
.ldt-footer__inner { width: min(calc(100% - 64px),var(--fc-max)); margin: 0 auto; display: grid; grid-template-columns: .9fr .7fr .8fr; gap: 70px; padding: 66px 56px; border-right: 1px solid var(--fc-line-dark); border-left: 1px solid var(--fc-line-dark); }
.ldt-footer .ldt-brand { color: var(--fc-white); }
.ldt-footer .ldt-brand small { color: #b9c6d4; }
.ldt-footer__brand > p { max-width: 340px; margin: 22px 0 0; color: #b9c6d4; font-size: 14px; line-height: 1.7; }
.ldt-footer__nav { display: grid; align-content: start; grid-template-columns: repeat(2,1fr); gap: 16px 24px; }
.ldt-footer__nav ul { display: contents; margin: 0; padding: 0; list-style: none; }
.ldt-footer__nav a { color: #d0dbe6; font-size: 13px; font-weight: 500; text-decoration: none; }
.ldt-footer__signature { display: grid; grid-template-columns: repeat(4,1fr); align-self: start; border: 1px solid rgba(234,213,138,.4); border-radius: 15px; }
.ldt-footer__signature > span { min-height: 58px; display: grid; place-items: center; border-right: 1px solid rgba(234,213,138,.25); color: var(--fc-gold-soft); font-size: 18px; font-weight: 600; }
.ldt-footer__signature > span:nth-child(4) { border-right: 0; }
.ldt-footer__signature small { grid-column: 1/-1; padding: 13px; border-top: 1px solid rgba(234,213,138,.25); color: #b9c6d4; font-size: 12px; line-height: 1.45; text-align: center; }
.ldt-footer__legal { width: min(calc(100% - 64px),var(--fc-max)); min-height: 58px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 56px; border: 1px solid var(--fc-line-dark); border-bottom: 0; color: #b9c6d4; font-size: 12px; }
.ldt-footer__legal a { color: #d7e1ec; text-decoration: none; }
.fc-mobile-dock { display: none; }
.fc-mobile-dock svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fc-mobile-dock a:first-child svg { fill: currentColor; stroke: none; }

/* WooCommerce */
.woocommerce ul.products li.product, .woocommerce div.product, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order { border: 1px solid var(--fc-line); border-radius: var(--fc-radius); background: var(--fc-white); box-shadow: none !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border: 1px solid var(--fc-gold-deep) !important; border-radius: 11px !important; background: var(--fc-river) !important; color: var(--fc-white) !important; }

@media (max-width: 1120px) {
  .ldt-header-inner { gap: 20px; }
  .ldt-menu, .ldt-menu ul { gap: 18px; }
  .ldt-account-link { display: none; }
  .fc-hero__inner { grid-template-columns: minmax(0,1fr) minmax(340px,.72fr); gap: 34px; padding-right: 38px; padding-left: 38px; }
  .fc-section, .fc-manifesto { padding-right: 38px; padding-left: 38px; }
  .fc-utility__grid { grid-template-columns: repeat(2,1fr); }
  .fc-sector-grid { grid-template-columns: repeat(3,1fr); }
  .fc-manifesto { gap: 36px; }
  .ldt-shell { grid-template-columns: 140px minmax(0,1fr) 140px; gap: 10px; }
}

@media (max-width: 920px) {
  .ldt-header-inner { grid-template-columns: auto auto; justify-content: space-between; min-height: 70px; }
  .ldt-menu-toggle { display: inline-flex; justify-self: end; }
  .ldt-menu { position: absolute; top: 70px; right: 18px; left: 18px; display: none; justify-self: stretch; padding: 18px; border: 1px solid var(--fc-line); border-radius: 16px; background: var(--fc-white); }
  .ldt-menu.open { display: block; }
  .ldt-menu ul { align-items: stretch; flex-direction: column; }
  .ldt-menu a { display: block; padding: 9px 4px; }
  .ldt-header-actions { display: none; }
  .fc-hero__inner { grid-template-columns: 1fr; }
  .fc-phonebook { max-width: 680px; }
  .fc-manifesto { grid-template-columns: .28fr 1fr; }
  .fc-manifesto__code { display: none; }
  .fc-commercial { gap: 42px; }
  .ldt-shell { grid-template-columns: 1fr; }
  .ldt-shell > aside { display: none; }
  .ldt-profile { grid-template-columns: 230px minmax(0,1fr); }
  .ldt-footer__inner { grid-template-columns: 1fr 1fr; }
  .ldt-footer__signature { display: none; }
}

@media (max-width: 782px) {
  .admin-bar .ldt-header { top: 46px; }
  body { padding-bottom: 68px; }
  .ldt-header-inner { width: calc(100% - 32px); }
  .fc-section, .fc-hero__inner, .fc-alpha, .fc-manifesto, .ldt-footer__inner, .ldt-footer__legal { width: 100%; border-right: 0; border-left: 0; }
  .fc-hero__inner { padding: 48px 20px 38px; }
  .fc-hero h1 { font-size: clamp(40px,10.8vw,44px); font-weight: 700; letter-spacing: -.018em; line-height: 1.04; }
  .fc-hero__lead { font-size: 16px; }
  .fc-search input { height: 58px; font-size: 15px; }
  .fc-search button { min-width: 116px; font-size: 13px; }
  .fc-hero__links { align-items: flex-start; flex-direction: column; gap: 16px; }
  .fc-trust-line { align-items: flex-start; flex-direction: column; }
  .fc-phonebook__row { grid-template-columns: 1fr; }
  .fc-phonebook__row > div { padding-left: 53px; text-align: left; }
  .fc-alpha { grid-template-columns: auto repeat(26,42px); min-height: 50px; border-right: 0; border-left: 0; }
  .fc-section { padding: 52px 20px; }
  .fc-section__head { align-items: flex-start; flex-direction: column; gap: 18px; }
  .fc-section__head h2, .fc-trust h2, .fc-commercial h2 { font-size: clamp(36px,10vw,48px); }
  .fc-utility__grid, .fc-sector-grid, .fc-how__grid, .fc-trust, .fc-commercial { grid-template-columns: 1fr; }
  .fc-sector-grid { border-left: 0; }
  .fc-sector-grid > a { min-height: 118px; border-left: 1px solid var(--fc-line); }
  .fc-how__grid article { min-height: 188px; }
  .fc-how__grid h3 { margin-top: 32px; }
  .fc-manifesto { grid-template-columns: 1fr; min-height: auto; padding: 54px 20px; }
  .fc-manifesto__year { min-height: auto; flex-direction: row; align-items: center; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .fc-manifesto__year strong { font-size: 58px; writing-mode: initial; transform: none; }
  .fc-commercial { gap: 34px; }
  .ldt-goads { width: calc(100% - 24px); min-height: 88px; margin: 12px; }
  .ldt-shell, .ldt-default, .ldt-commerce { width: calc(100% - 24px); margin: 12px; }
  .ldt-content, .ldt-default, .ldt-commerce { padding: 22px; }
  .ldt-profile { grid-template-columns: 1fr; }
  .ldt-profile-head { grid-row: auto; padding: 22px; border-right: 0; border-bottom: 1px solid var(--fc-line); }
  .ldt-profile-photo { width: 104px; height: 104px; border-radius: 26px; }
  .ldt-profile-number, .ldt-profile-actions, .ldt-profile-copy, .ldt-profile-social, .ldt-profile-trust { padding: 20px 22px; }
  .ldt-profile-data { grid-template-columns: 1fr; }
  .ldt-profile-data > div { padding: 16px 22px; border-right: 0; }
  .ldt-profile-social, .ldt-profile-trust { align-items: flex-start; flex-direction: column; }
  .ldt-footer__inner { grid-template-columns: 1fr; gap: 38px; padding: 48px 22px; }
  .ldt-footer__legal { align-items: flex-start; flex-direction: column; min-height: auto; padding: 20px 22px; }
  .ldt-ad-mobile { display: grid; margin-bottom: 0; }
  .fc-mobile-dock { position: fixed; right: 0; bottom: 0; left: 0; z-index: 110; min-height: 68px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #c9d2dc; background: rgba(255,255,255,.98); }
  .fc-mobile-dock a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--fc-muted); font-size: 12px; font-weight: 600; text-decoration: none; }
  .fc-mobile-dock b { color: var(--fc-river); font-size: 18px; font-weight: 600; line-height: 1; }
  .fc-mobile-dock .is-primary b { width: 36px; height: 28px; display: grid; place-items: center; border: 1px solid var(--fc-gold-deep); border-radius: 9px; background: var(--fc-river); color: var(--fc-gold-soft); }
}

@media (max-width: 430px) {
  .ldt-brand strong { font-size: 18px; }
  .ldt-brand small { font-size: 12px; }
  .ldt-mark { width: 42px; height: 42px; border-radius: 12px; }
  .fc-search > div { grid-template-columns: minmax(0,1fr) 104px; }
  .fc-search button { min-width: 104px; padding: 0 13px; }
  .fc-search button b { display: none; }
  .fc-utility__grid { grid-template-columns: 1fr; }
  .fc-phonebook__head, .fc-phonebook footer { padding: 15px; }
  .fc-phonebook footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* O acabamento premium é plano: zonas e linhas substituem sombras. */
.ldt-header, .fc-phonebook, .fc-utility-card, .fc-commercial__aside, .ldt-goads,
.ldt-content, .ldt-profile, .ldt-default, .ldt-commerce, .woocommerce * { box-shadow: none !important; }
