/* DG Concept — blog e serviços. Paleta do site: preto #0A0A0A/#000, ouro #BF924B/#B18141, cinzas #D0D5DD/#98A2B3.
   Títulos em Gilda Display, texto em Inter. Largura de conteúdo 1216px, igual ao Elementor do site. */

.dgc { --ouro: #BF924B; --ouro-2: #B18141; --preto: #0A0A0A; --preto-2: #000; --linha: rgba(208,213,221,.14); --texto: #D0D5DD; --texto-2: #98A2B3; --titulo: "Gilda Display", Georgia, serif; --corpo: "Inter", system-ui, sans-serif;
  background: var(--preto); color: var(--texto); font-family: var(--corpo); font-size: 16px; line-height: 1.7; }
.dgc *, .dgc *::before, .dgc *::after { box-sizing: border-box; }
.dgc a { color: inherit; }
.dgc img { max-width: 100%; height: auto; display: block; }
.dgc-wrap { width: 100%; max-width: calc(1216px + 48px); margin: 0 auto; padding: 0 24px; }
.dgc h1, .dgc h2, .dgc h3 { font-family: var(--titulo); font-weight: 400; color: #fff; line-height: 1.2; margin: 0; letter-spacing: 0; text-transform: none; }

.dgc-label, .dgc-meta { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); margin: 0 0 16px; }
.dgc-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; color: var(--texto-2); }
.dgc-meta span:first-child { color: var(--ouro); }
.dgc-meta > * + *::before { content: "·"; margin-right: 18px; color: var(--ouro); }

.dgc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; background: var(--ouro-2); color: #fff !important; border: 1px solid var(--ouro-2); border-radius: 0; font: 500 15px/1 var(--corpo); text-decoration: none; transition: background-color .3s, border-color .3s, color .3s; }
.dgc-btn:hover { background: var(--ouro); border-color: var(--ouro); }
.dgc-btn--linha { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.35); }
.dgc-btn--linha:hover { background: #fff; color: var(--preto) !important; border-color: #fff; }
.dgc-link { font-size: 14px; font-weight: 500; color: var(--ouro); border-bottom: 1px solid rgba(191,146,75,.45); padding-bottom: 3px; align-self: flex-start; }

/* Topo */
.dgc-hero { padding: 120px 0 56px; background: var(--preto-2); border-bottom: 1px solid var(--linha); }
.dgc-hero h1 { font-size: clamp(36px, 4.6vw, 56px); max-width: 16em; }
.dgc-lead { font-size: 18px; color: var(--texto); max-width: 40em; margin: 20px 0 0; }
.dgc-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--texto-2); margin-bottom: 32px; }
.dgc-crumbs a { text-decoration: none; }
.dgc-crumbs a:hover { color: var(--ouro); }
.dgc-crumbs span { color: rgba(191,146,75,.7); }
.dgc-crumbs span[aria-current] { color: var(--texto-2); }
.dgc-hero__grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: center; }
.dgc-hero__grade--so-texto { grid-template-columns: 1fr; }
.dgc-hero__img { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.dgc-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.dgc-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.dgc-capa { margin: 0; background: linear-gradient(var(--preto-2) 50%, var(--preto) 50%); }
.dgc-capa img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }

/* Corpo com índice */
.dgc-grade { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 64px; padding-top: 64px; padding-bottom: 96px; }
.dgc-lateral { position: sticky; top: 120px; align-self: start; display: flex; flex-direction: column; gap: 32px; }
.dgc-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--linha); }
.dgc-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 1px solid transparent; font-size: 14px; line-height: 1.45; color: var(--texto-2); text-decoration: none; transition: color .25s, border-color .25s; }
.dgc-toc a:hover { color: #fff; border-left-color: var(--ouro); }
.dgc-lateral__cta { padding: 24px; border: 1px solid rgba(191,146,75,.4); background: rgba(191,146,75,.06); }
.dgc-lateral__cta p { font-size: 14px; color: var(--texto); margin: 0 0 16px; }
.dgc-lateral__cta .dgc-btn { width: 100%; }

.dgc-corpo { max-width: 46em; }
.dgc-corpo > *:first-child { margin-top: 0; }
.dgc-corpo h2 { font-size: clamp(26px, 2.6vw, 34px); margin: 56px 0 16px; scroll-margin-top: 120px; }
.dgc-corpo h3 { font-size: 22px; margin: 32px 0 12px; }
.dgc-corpo p, .dgc-corpo li { font-size: 17px; line-height: 1.8; color: var(--texto); }
.dgc-corpo ul, .dgc-corpo ol { padding-left: 1.2em; margin: 0 0 1.2em; }
.dgc-corpo li { margin-bottom: 8px; }
.dgc-corpo li::marker { color: var(--ouro); }
.dgc-corpo a { color: var(--ouro); }
.dgc-corpo .dgc-resumo, .dgc-corpo .wp-block-group.dgc-resumo { border-left: 2px solid var(--ouro); background: rgba(191,146,75,.07); padding: 24px 28px 12px; margin: 0 0 40px; }
.dgc-corpo .dgc-resumo h2, .dgc-corpo .dgc-resumo h3, .dgc-corpo .dgc-resumo .dgc-resumo__titulo { font-family: var(--corpo); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); margin: 0 0 12px; }
.dgc-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 48px 0; padding: 28px 32px; border: 1px solid rgba(191,146,75,.45); background: linear-gradient(120deg, rgba(191,146,75,.12), rgba(191,146,75,.02)); }
.dgc-cta p { margin: 0; font-family: var(--titulo); font-size: 22px; line-height: 1.35; color: #fff !important; }
.dgc-cta .dgc-btn { flex: none; }
.dgc-autor { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--linha); font-size: 14px !important; color: var(--texto-2) !important; }

/* Citação (depoimento) dentro do conteúdo */
.dgc-corpo blockquote, .dgc-corpo .wp-block-quote { margin: 32px 0; padding: 8px 0 8px 28px; border-left: 2px solid var(--ouro); }
.dgc-corpo blockquote p { font-family: var(--titulo); font-size: 24px; line-height: 1.4; color: #fff; margin: 0 0 10px; }
.dgc-corpo blockquote cite { font-style: normal; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-2); }

/* FAQ do Rank Math dentro do conteúdo */
.dgc-corpo .rank-math-block { margin-top: 24px; }
.dgc-corpo .rank-math-list-item { border-bottom: 1px solid var(--linha); padding: 18px 0; }
.dgc-corpo .rank-math-question { font-family: var(--titulo); font-size: 21px; color: #fff; margin: 0 0 8px; }
.dgc-corpo .rank-math-answer p { margin: 0; }

/* Cards (também usados na home, fora do wrapper .dgc) */
.dgc-cards { --ouro: #BF924B; --linha: rgba(208,213,221,.14); --texto: #D0D5DD; --texto-2: #98A2B3; }
.dgc-cards a { color: inherit; }
.dgc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.dgc-cards--lista { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dgc-card a { display: flex; flex-direction: column; height: 100%; text-decoration: none; border: 1px solid var(--linha); background: #0F0F0F; transition: border-color .4s, transform .5s cubic-bezier(.16,1,.3,1); }
.dgc-card a:hover { border-color: rgba(191,146,75,.6); transform: translateY(-4px); }
.dgc-card__img { aspect-ratio: 16 / 10; overflow: hidden; background: #111; }
.dgc-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
.dgc-card a:hover .dgc-card__img img { transform: scale(1.05); }
.dgc-card__txt { display: flex; flex-direction: column; gap: 12px; padding: 24px; flex: 1; }
.dgc-card__txt .dgc-meta { margin: 0; font-size: 12px; }
.dgc-card h3 { font-family: "Gilda Display", Georgia, serif; font-weight: 400; font-size: 22px; line-height: 1.3; color: #fff; margin: 0; }
.dgc-card__txt > p:not(.dgc-meta) { margin: 0; font-size: 15px; line-height: 1.6; color: #98A2B3; font-family: "Inter", system-ui, sans-serif; }
.dgc-card .dgc-link { margin-top: auto; font-family: "Inter", system-ui, sans-serif; }
.dgc-lista { padding: 64px 0 96px; }
.dgc-paginacao { margin-top: 40px; }
.dgc-paginacao .nav-links { display: flex; gap: 8px; }
.dgc-paginacao .page-numbers { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--linha); text-decoration: none; }
.dgc-paginacao .current { border-color: var(--ouro); color: var(--ouro); }

/* Páginas simples (privacidade, termos) */
.dgc-pagina__corpo { padding-top: 64px; padding-bottom: 96px; }
.dgc-pagina .dgc-corpo { margin: 0 auto 0 0; }

/* Relacionados / outros serviços */
.dgc-rel { padding: 72px 0 96px; background: var(--preto-2); border-top: 1px solid var(--linha); }
.dgc-rel .dgc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dgc-servicos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--linha); }
.dgc-servicos a { display: flex; justify-content: space-between; gap: 12px; padding: 20px 16px 20px 0; border-bottom: 1px solid var(--linha); font-family: var(--titulo); font-size: 20px; color: #fff; text-decoration: none; transition: color .25s; }
.dgc-servicos a span { color: var(--ouro); transition: transform .3s; }
.dgc-servicos a:hover { color: var(--ouro); }
.dgc-servicos a:hover span { transform: translateX(4px); }

/* Home: o shortcode herda o fundo da seção do Elementor */
.elementor .dgc-cards { margin-top: 8px; }

/* Links dentro dos textos do Elementor (o tema usa rosa por padrão) */
.elementor-widget-text-editor a { color: #BF924B; text-decoration: underline; text-decoration-color: rgba(191,146,75,.45); text-underline-offset: 3px; transition: color .25s; }
.elementor-widget-text-editor a:hover { color: #fff; }

/* Home: nota do Google */
.elementor .dgc-estrelas { margin: 0 0 12px; color: #BF924B; font-size: 20px; letter-spacing: 6px; line-height: 1; }

/* Home: depoimentos do Google (widget Reviews do Elementor marcado com a classe dg-depoimentos) */
.dg-depoimentos .swiper-slide { height: auto; }
.dg-depoimentos .elementor-testimonial { height: 100%; display: flex; flex-direction: column; background: #0A0A0A !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 0 !important; transition: border-color .4s; }
.dg-depoimentos .elementor-testimonial:hover { border-color: rgba(191,146,75,.45) !important; }
.dg-depoimentos .elementor-testimonial__header { background: transparent !important; padding: 28px 28px 20px !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.dg-depoimentos .elementor-testimonial__name { color: #fff !important; font-family: "Gilda Display", Georgia, serif !important; font-size: 21px !important; font-weight: 400 !important; line-height: 1.25; }
.dg-depoimentos .elementor-star-rating { margin: 6px 0 4px; font-size: 13px; }
/* Todos os depoimentos são 5 estrelas: as estrelas vêm em texto (o ícone do Elementor não renderiza com a fonte do site) */
.dg-depoimentos .elementor-star-rating i { display: none !important; }
.dg-depoimentos .elementor-star-rating::before { content: "★★★★★"; font-family: Arial, sans-serif; color: #BF924B; letter-spacing: 3px; font-size: 13px; }
.dg-depoimentos .elementor-testimonial__title { color: #98A2B3 !important; font-family: "Inter", system-ui, sans-serif !important; font-size: 12px !important; letter-spacing: .12em; text-transform: uppercase; }
.dg-depoimentos .elementor-testimonial__icon svg { fill: #BF924B !important; width: 18px; height: 18px; }
.dg-depoimentos .elementor-testimonial__content { padding: 20px 28px 28px !important; background: transparent !important; flex: 1; }
.dg-depoimentos .elementor-testimonial__text { color: #D0D5DD !important; font-family: "Inter", system-ui, sans-serif !important; font-size: 15px !important; line-height: 1.65 !important; }
.dg-depoimentos .elementor-swiper-button { color: #BF924B !important; }
.dg-depoimentos .elementor-swiper-button svg { fill: #BF924B !important; }
.dg-depoimentos .swiper-pagination-bullet { background: #fff !important; opacity: .25 !important; }
.dg-depoimentos .swiper-pagination-bullet-active { background: #BF924B !important; opacity: 1 !important; }

/* Home: perguntas frequentes (acordeão do Elementor marcado com a classe dg-faq) */
.elementor-widget.dg-faq { --n-accordion-item-title-space-between: 0px; --n-accordion-item-title-distance-from-content: 0px; --n-accordion-border-width: 0px; --n-accordion-padding: 0px; --n-accordion-title-normal-color: #fff; --n-accordion-title-hover-color: #BF924B; --n-accordion-title-active-color: #BF924B; --n-accordion-icon-normal-color: #BF924B; --n-accordion-icon-hover-color: #BF924B; --n-accordion-icon-active-color: #BF924B; --n-accordion-icon-size: 14px; }
.elementor-widget.dg-faq .e-n-accordion { gap: 0; }
.elementor-widget.dg-faq .e-n-accordion-item { border-bottom: 1px solid rgba(255,255,255,.08); }
.elementor-widget.dg-faq .e-n-accordion-item:first-child { border-top: 1px solid rgba(255,255,255,.08); }
.elementor-widget.dg-faq .e-n-accordion-item-title { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; background: transparent; border: 0; cursor: pointer; }
.elementor-widget.dg-faq .e-n-accordion-item-title-text { margin: 0; font-family: "Gilda Display", Georgia, serif; font-weight: 400; font-size: 22px; line-height: 1.3; color: #fff; transition: color .25s; }
.elementor-widget.dg-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
.elementor-widget.dg-faq .e-n-accordion-item[open] .e-n-accordion-item-title-text { color: #BF924B; }
.elementor-widget.dg-faq .e-n-accordion-item-title-header { order: 0; flex: 1 1 auto; justify-content: flex-start; text-align: left; }
.elementor-widget.dg-faq .e-n-accordion-item-title-icon { order: 1; flex: none; color: #BF924B; }
.elementor-widget.dg-faq .e-n-accordion-item-title-icon svg { width: 14px; height: 14px; fill: currentColor; }
.elementor-widget.dg-faq .e-n-accordion-item > .e-con { padding: 0 48px 24px 0; border: 0; background: transparent; }
.elementor-widget.dg-faq .e-n-accordion-item > .e-con p { margin: 0; }
@media (max-width: 767px) {
  .elementor-widget.dg-faq .e-n-accordion-item-title-text { font-size: 19px; }
  .elementor-widget.dg-faq .e-n-accordion-item > .e-con { padding-right: 0; }
}

@media (max-width: 1024px) {
  .dgc-grade { grid-template-columns: 1fr; gap: 32px; }
  .dgc-lateral { position: static; }
  .dgc-lateral__cta { display: none; }
  .dgc-cards, .dgc-cards--lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dgc-servicos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dgc-hero__grade { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px) {
  .dgc-hero { padding: 100px 0 40px; }
  .dgc-cards, .dgc-cards--lista, .dgc-rel .dgc-cards { grid-template-columns: 1fr; }
  .dgc-servicos { grid-template-columns: 1fr; }
  .dgc-cta { flex-direction: column; align-items: flex-start; }
  .dgc-cta .dgc-btn { width: 100%; }
  .dgc-capa img { aspect-ratio: 16 / 10; }
}
