/* Buyer-funnel guides (/guides/). Only the parts the theme has no class for; colours and
   fonts follow the site: gold #e0a25e, brown #c0804e, link brown #8a5a2a, cream #faf7f2,
   border #ece7df, text #4a4a4a, headings in Playfair Display. */
.dov-guide { color: #3f3a35; }
.dov-guide .gd-crumbs { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; font-size: 14px; color: #7a6f64; margin: 0 0 10px; }
.dov-guide .gd-crumbs a { color: #8a5a2a; text-decoration: none; }
.dov-guide .gd-crumbs a:hover { text-decoration: underline; }
.dov-guide .gd-crumbs span[aria-hidden] { color: #c9bfb3; }
.dov-guide .gd-meta { font-size: 14px; color: #6b6158; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.gd-chip { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: #e0a25e; color: #fff; line-height: 1.3; }
.dov-guide-compare .gd-chip, .gd-card.gd-stage-compare .gd-chip { background: #c0804e; }
.dov-guide-decide .gd-chip, .gd-card.gd-stage-decide .gd-chip { background: #8a5a2a; }

/* prose: match the post template's sizes, keep headings in the site's serif */
.dov-guide h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 26px; line-height: 1.3; color: #2f2a26; margin: 34px 0 12px; }
.dov-guide h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; line-height: 1.35; color: #2f2a26; margin: 24px 0 8px; }
.dov-guide p, .dov-guide li { font-size: 16.5px; line-height: 1.7; color: #4a4a4a; }
.dov-guide p { margin: 0 0 14px; }
.dov-guide a:not(.gd-btn):not(.gd-btn-outline) { color: #8a5a2a; text-decoration: underline; text-underline-offset: 3px; }
.dov-guide .gd-list { margin: 0 0 18px 22px; padding: 0; list-style: disc; }
.dov-guide .gd-list li { margin: 0 0 8px; }

/* short answer */
.gd-answer { background: #faf7f2; border: 1px solid #ece7df; border-left: 4px solid #e0a25e; border-radius: 0 14px 14px 0; padding: 20px 24px; margin: 0 0 18px; }
.gd-answer .gd-label, .gd-next .gd-label, .gd-call .gd-label { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a5a2a; margin: 0 0 8px; }
.gd-answer p:last-child { margin: 0; font-size: 17.5px; line-height: 1.65; color: #2f2a26; }

/* reviewer + non-medical line (same look as the blog-post stamp) */
.dov-guide .gd-review { margin: 0 0 26px; padding: 12px 16px; border-left: 3px solid #c0804e; background: #faf6f0; color: #3b2a1c; font-size: 15px; line-height: 1.5; }
.dov-guide .gd-review a { color: inherit; }

/* decision table: scrolls sideways inside its own frame on phones; the page does not */
.gd-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; margin: 8px 0 30px; border: 1px solid #ece7df; border-radius: 12px; background: #fff; }
.gd-table { width: 100%; min-width: 540px; border-collapse: collapse; font-size: 15px; line-height: 1.5; margin: 0; }
.gd-table caption { caption-side: top; text-align: left; font-family: 'Playfair Display', Georgia, serif; font-weight: 600; font-size: 17px; color: #2f2a26; padding: 14px 16px 10px; background: #faf7f2; }
.gd-table th, .gd-table td { padding: 11px 14px; border-top: 1px solid #ece7df; vertical-align: top; text-align: left; color: #4a4a4a; }
.gd-table thead th { background: #c0804e; color: #fff; font-weight: 700; border-top: 0; }
.gd-table tbody th { font-weight: 700; color: #2f2a26; background: #fcfaf6; width: 26%; }
.gd-table tbody tr:nth-child(even) td { background: #fdfbf8; }
.gd-table a { color: #8a5a2a; }

/* when to call, quick check, FAQ, next step, sources */
.gd-call { background: #fff7f0; border: 1px solid #f0d9c2; border-left: 4px solid #c0804e; border-radius: 0 14px 14px 0; padding: 18px 24px 12px; margin: 26px 0; }
.gd-call h2 { margin: 0 0 10px; font-size: 22px; }
.gd-call ul, .gd-notfor ul { margin: 0 0 6px 22px; padding: 0; list-style: disc; }
.gd-call li, .gd-notfor li { margin-bottom: 8px; }
.gd-notfor { background: #fff; border: 1px solid #ece7df; border-radius: 14px; padding: 16px 24px 10px; margin: 26px 0; }
.gd-notfor h2 { margin: 0 0 10px; font-size: 22px; }
.gd-faq h3 { margin-top: 22px; }
.gd-next { background: #c0804e; color: #fff; border-radius: 14px; padding: 26px 28px; margin: 34px 0; }
.gd-next .gd-label { color: rgba(255, 255, 255, 0.8); }
.gd-next p { color: #fff; margin: 0 0 16px; font-size: 16px; }
.gd-next-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.dov-guide .gd-btn { display: inline-flex; background: #fff; color: #8a5a2a; padding: 13px 26px; border-radius: 8px; font-weight: 700; font-size: 15px; text-decoration: none; line-height: 1.2; }
.dov-guide .gd-btn:hover { background: #faf7f2; color: #6b4320; }
.dov-guide .gd-btn-outline { display: inline-flex; padding: 12px 22px; border: 1px solid rgba(255, 255, 255, 0.85); border-radius: 8px; color: #fff; font-weight: 600; font-size: 15px; text-decoration: none; line-height: 1.2; }
.dov-guide .gd-btn-outline:hover { background: rgba(255, 255, 255, 0.14); color: #fff; }
.gd-sources ul { margin: 0 0 14px 22px; padding: 0; list-style: disc; }
.gd-sources li { margin-bottom: 6px; font-size: 15px; line-height: 1.5; word-break: break-word; }
.gd-checked { font-size: 14px; color: #6b6158; }

/* sidebar "keep reading" box, under the theme's cta-box */
.gd-side { background: #faf7f2; border: 1px solid #ece7df; border-radius: 14px; padding: 22px 22px; margin-top: 24px; }
.gd-side h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 20px; margin: 0 0 10px; color: #2f2a26; }
.gd-side ul { list-style: none; margin: 0; padding: 0; }
.gd-side li { border-top: 1px solid #ece7df; padding: 10px 0; line-height: 1.45; font-size: 15px; }
.gd-side li:first-child { border-top: 0; }
.gd-side a { color: #8a5a2a; font-weight: 600; text-decoration: none; }
.gd-side a:hover { text-decoration: underline; }

/* hub */
.gd-hub-intro { font-size: 17px; line-height: 1.75; color: #4a4a4a; margin: 0 0 18px; }
.gd-stage-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 34px; }
.gd-stage-nav a { display: inline-block; padding: 9px 16px; border-radius: 999px; background: #fff; border: 1px solid #ece7df; color: #8a5a2a; font-weight: 600; font-size: 14px; text-decoration: none; }
.gd-stage-nav a:hover { border-color: #e0a25e; }
.gd-group { margin: 0 0 40px; }
.gd-grouphead h2 { font-size: 26px; margin: 0 0 6px; color: #2b2b2b; }
.gd-grouphead p { font-size: 16px; line-height: 1.7; color: #4a4a4a; margin: 0 0 18px; }
.gd-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.gd-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #ece7df; border-radius: 14px; padding: 22px 22px 18px; color: #2b2b2b; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gd-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(60, 45, 30, 0.1); color: #2b2b2b; }
.gd-card .gd-chip { align-self: flex-start; margin: 0 0 12px; }
.gd-card h3 { font-size: 19px; line-height: 1.35; margin: 0 0 8px; color: #2b2b2b; }
.gd-card p { font-size: 15px; line-height: 1.6; color: #4a4a4a; margin: 0 0 14px; flex-grow: 1; }
.gd-card .gd-go { font-weight: 700; color: #8a5a2a; font-size: 14px; }
.gd-card .gd-go::after { content: " \2192"; }
.gd-hub-lists { margin-top: 10px; padding-top: 30px; border-top: 1px solid #ece7df; }

@media (max-width: 767px) {
  .dov-guide h2 { font-size: 23px; }
  .gd-answer { padding: 16px 16px; }
  .gd-answer p:last-child { font-size: 16.5px; }
  .gd-next { padding: 20px 18px; }
  .gd-next-buttons .gd-btn, .gd-next-buttons .gd-btn-outline { width: 100%; justify-content: center; box-sizing: border-box; }
  .gd-call, .gd-notfor { padding: 14px 16px 8px; }
  .gd-table { min-width: 520px; font-size: 14px; }
  .gd-table th, .gd-table td { padding: 10px 12px; }
  .gd-cards { grid-template-columns: 1fr; gap: 14px; }
}
