/*
Theme Name: DHG Guides
Theme URI: https://domainhuntergatherer.com/guides/
Author: Dom Huga Ltd
Description: Shared-shell WordPress theme for the Domain Hunter Gatherer guide library.
Version: 1.0.1
Text Domain: dhg-guides
*/

.dhg-guides .dhg-page-hero { min-height: 0; padding: 155px 0 82px; }
.dhg-guides .dhg-page-hero__lead { max-width: 800px; }
.dhg-guides .dhg-breadcrumbs { margin-bottom: 38px; }
.dhg-guides-archive { padding: 94px 0 108px; background: radial-gradient(circle at 5% 2%, rgba(103, 69, 232, 0.08), transparent 27%), #f7f5fc; }
.dhg-guides-archive__intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.7fr); gap: 32px 75px; align-items: end; margin-bottom: 44px; }
.dhg-guides-archive__intro h1 { margin: 0; color: #201246; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.01; letter-spacing: -0.06em; }
.dhg-guides-archive__intro > p { max-width: 560px; margin: 0; color: #625c6d; font-size: 1.06rem; line-height: 1.75; }
.dhg-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.dhg-guide-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e3ddec; border-radius: 23px; background: #fff; box-shadow: 0 16px 45px rgba(47, 35, 89, 0.08); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.dhg-guide-card:hover { transform: translateY(-4px); border-color: #c9bced; box-shadow: 0 24px 54px rgba(47, 35, 89, 0.14); }
.dhg-guide-card__image { display: grid; place-items: center; aspect-ratio: 1.75 / 1; overflow: hidden; color: #c5f54f; background: linear-gradient(135deg, #281754, #5835bb); text-decoration: none; }
.dhg-guide-card__image img { width: 100%; height: 100%; object-fit: cover; }
.dhg-guide-card__image > span { padding: 13px 15px; border: 1px solid rgba(197, 245, 79, 0.5); border-radius: 13px; font-size: 0.82rem; font-weight: 850; letter-spacing: 0.07em; }
.dhg-guide-card__body { display: flex; flex: 1; min-width: 0; flex-direction: column; padding: 25px; }
.dhg-guides-meta { display: flex; flex-wrap: wrap; gap: 6px 11px; margin-bottom: 13px; color: #777181; font-size: 0.71rem; font-weight: 750; }
.dhg-guides-meta span:first-child { color: #5d42c6; }
.dhg-guides-meta span + span::before,
.dhg-guides-meta time + span::before { margin-right: 11px; color: #b1aaba; content: '•'; }
.dhg-guide-card h2 { margin: 0 0 12px; font-size: clamp(1.4rem, 2.4vw, 1.8rem); line-height: 1.13; letter-spacing: -0.04em; }
.dhg-guide-card h2 a { color: #23184a; text-decoration: none; }
.dhg-guide-card h2 a:hover { color: #5d42c6; }
.dhg-guide-card p { margin: 0 0 20px; color: #625c6d; font-size: 0.91rem; line-height: 1.66; }
.dhg-guide-card__link { margin-top: auto; color: #4c2ec3; font-size: 0.81rem; font-weight: 850; text-decoration: none; }
.dhg-guide-card__link span { margin-left: 3px; font-size: 1rem; }
.dhg-guide-card__link:hover { color: #1e78dc; }
.dhg-guides-pagination { display: flex; justify-content: center; margin-top: 46px; }
.dhg-guides-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.dhg-guides-pagination a,
.dhg-guides-pagination span { display: grid; place-items: center; min-width: 40px; min-height: 40px; padding: 0 11px; border: 1px solid #dbd4e8; border-radius: 10px; color: #4e485d; background: #fff; font-size: 0.8rem; font-weight: 800; text-decoration: none; }
.dhg-guides-pagination .current { color: #fff; border-color: #5d42c6; background: #5d42c6; }
.dhg-guides-empty { max-width: 720px; margin: 0 auto; padding: 58px 38px; border: 1px solid #e3ddec; border-radius: 24px; text-align: center; background: #fff; box-shadow: 0 16px 45px rgba(47, 35, 89, 0.07); }
.dhg-guides-empty h2 { margin-bottom: 12px; color: #22174a; font-size: 2rem; }
.dhg-guides-empty p { color: #625c6d; line-height: 1.7; }
.dhg-guides-article { padding: 94px 0 110px; background: #fff; }
.dhg-guides-article__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(245px, 310px); gap: clamp(44px, 8vw, 115px); align-items: start; }
.dhg-guides-entry { min-width: 0; color: #5e5869; font-size: 1.04rem; line-height: 1.84; }
.dhg-guides-entry > *:first-child { margin-top: 0; }
.dhg-guides-author-bio { display: flex; align-items: flex-start; gap: 18px; margin: 2.5rem 0; padding: 24px; border: 1px solid #e2dcea; border-radius: 18px; background: #fbfaff; }
.dhg-guides-author-bio .avatar { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; }
.dhg-guides-author-bio h2 { margin: 0 0 12px; font-size: 1.3rem; }
.dhg-guides-author-bio p:last-child { margin-bottom: 0; }
.dhg-guides-entry h2,
.dhg-guides-entry h3,
.dhg-guides-entry h4 { margin: 1.8em 0 0.6em; color: #25194c; line-height: 1.13; letter-spacing: -0.035em; }
.dhg-guides-entry h2 { font-size: clamp(1.7rem, 3vw, 2.45rem); }
.dhg-guides-entry h3 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.dhg-guides-entry p,
.dhg-guides-entry ul,
.dhg-guides-entry ol { margin-bottom: 1.25em; }
.dhg-guides-entry li + li { margin-top: 0.45em; }
.dhg-guides-entry a { color: #3e51cc; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dhg-guides-entry blockquote { margin: 1.7em 0; padding: 22px 26px; border-left: 4px solid #c5f54f; border-radius: 0 17px 17px 0; color: #342b4b; background: #f5f2fe; font-size: 1.12em; font-weight: 650; }
.dhg-guides-entry figure { max-width: 100%; margin: 1.9em 0; }
.dhg-guides-entry img { max-width: 100%; height: auto; border-radius: 17px; }
.dhg-guides-entry .wp-caption-text { margin-top: 8px; color: #817b89; font-size: 0.78rem; line-height: 1.45; }
.dhg-guides-entry .wp-block-embed { margin: 1.8em 0; }
.dhg-guides-entry .wp-block-quote { border-left-color: #c5f54f; }
.dhg-guides-featured-image { margin: 0 0 38px; }
.dhg-guides-featured-image img { display: block; width: 100%; max-height: 570px; object-fit: cover; border-radius: 24px; }
.dhg-guides-sidebar { position: sticky; top: 110px; display: grid; gap: 17px; }
.dhg-guides-sidebar__card { padding: 25px; border: 1px solid #e2dcea; border-radius: 20px; background: #fbfaff; box-shadow: 0 15px 42px rgba(47, 35, 89, 0.07); }
.dhg-guides-sidebar__card h2 { margin: 0 0 11px; color: #25194c; font-size: 1.08rem; }
.dhg-guides-sidebar__card p { margin: 0 0 18px; color: #655e70; font-size: 0.84rem; line-height: 1.62; }
.dhg-guides-sidebar__card .btn { display: flex; justify-content: center; }
.dhg-guides-sidebar__card--links { background: linear-gradient(135deg, #20133f, #5331ae); color: #fff; }
.dhg-guides-sidebar__card--links h2 { color: #fff; }
.dhg-guides-sidebar__card--links a { display: block; padding: 10px 0; border-top: 1px solid rgba(255,255,255,0.14); color: #d8fb7b; font-size: 0.8rem; font-weight: 750; text-decoration: none; }
.dhg-guides-sidebar__card--links a:hover { color: #fff; }
.dhg-guides-page-hero h1 { max-width: 930px; margin-bottom: 19px; font-size: clamp(2.65rem, 6vw, 5.35rem); line-height: 0.99; letter-spacing: -0.065em; }
.dhg-guides-page-hero .dhg-guides-meta { color: rgba(255,255,255,0.82); font-size: 0.82rem; line-height: 1.6; }
.dhg-guides-byline a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.dhg-guides-byline a:hover { color: #fff; }
.dhg-guides-byline a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.dhg-guides-page-hero .dhg-guides-meta span:first-child { color: #d8fb7b; }
.dhg-guides-page-hero .dhg-guides-meta span + span::before,
.dhg-guides-page-hero .dhg-guides-meta time + span::before { color: rgba(255,255,255,0.35); }
.dhg-guides-page-content { max-width: 860px; margin: 0 auto; }
.dhg-guides-comments { margin-top: 64px; padding-top: 52px; border-top: 1px solid #e7e2ef; }
.dhg-guides-comments .comment-list { margin: 25px 0; padding: 0; list-style: none; }
.dhg-guides-comments .comment-body { margin-bottom: 14px; padding: 19px; border: 1px solid #e5dfee; border-radius: 15px; background: #fbfaff; }
.dhg-guides-comments .comment-metadata { margin: 7px 0 13px; font-size: 0.76rem; }
.dhg-guides-comments .comment-form input,
.dhg-guides-comments .comment-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #d9d2e7; border-radius: 10px; font: inherit; }
.dhg-guides-comments .comment-form textarea { min-height: 150px; }
.dhg-guides-comments .form-submit input { padding: 12px 18px; border: 0; border-radius: 9px; color: #fff; background: #1689fa; font-weight: 800; cursor: pointer; }
.dhg-guides-search { max-width: 700px; margin: 0 auto; }
.dhg-guides-search form { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.dhg-guides-search input { min-height: 52px; padding: 0 16px; border: 1px solid #d8d1e6; border-radius: 11px; font: inherit; }
.dhg-guides-search button { min-height: 52px; padding: 0 21px; border: 0; border-radius: 11px; color: #fff; background: #1689fa; font-weight: 800; }

@media (max-width: 991.98px) {
  .dhg-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dhg-guides-article__layout { grid-template-columns: 1fr; }
  .dhg-guides-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .dhg-guides .dhg-page-hero { padding: 128px 0 65px; }
  .dhg-guides-archive,
  .dhg-guides-article { padding-block: 74px; }
  .dhg-guides-archive__intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
  .dhg-guide-grid,
  .dhg-guides-sidebar { grid-template-columns: 1fr; }
  .dhg-guide-card__body { padding: 22px; }
}

@media (max-width: 575.98px) {
  .dhg-guides-archive__intro h1 { font-size: 2.35rem; }
  .dhg-guides-entry { font-size: 0.98rem; line-height: 1.76; }
  .dhg-guides-sidebar__card { padding: 21px; }
  .dhg-guides-search form { grid-template-columns: 1fr; }
}
