/* ==========================================================================
   Pages, posts, 404
   ========================================================================== */

.dc-page { padding-top: 32px; padding-bottom: 16px; }
.dc-page__head { margin-bottom: 20px; }
.dc-page__title { font-size: clamp(28px, 3.6vw, 42px); font-weight: 800; letter-spacing: -.02em; }
.dc-page__body { margin-inline: 0; }

/* Content pages + blog posts: one centered column, text left-aligned inside it. */
.dc-page__inner, .dc-article { max-width: 800px; margin-inline: auto; text-align: left; }
.dc-page__inner .dc-prose, .dc-article .dc-prose { max-width: none; }

.dc-posts { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.dc-post-card { border: var(--card-border); border-radius: var(--r-lg); box-shadow: var(--card-shadow); overflow: hidden; }
.dc-post-card__link { display: grid; gap: 6px; color: var(--ink); text-decoration: none; padding-bottom: 16px; }
.dc-post-card__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.dc-post-card__title { padding: 10px 16px 0; font-size: 17px; font-weight: 700; }
.dc-post-card__date { padding: 0 16px; font-size: 13px; color: var(--g600); }

.dc-article__date { font-size: 13px; color: var(--g600); margin-bottom: 6px; }
.dc-article__img { margin-bottom: 24px; }
.dc-article__img img { border-radius: var(--r-lg); }

.dc-404 { text-align: center; padding-block: 0 24px; display: grid; gap: 14px; justify-items: center; }
/* Dog photo right under the header, 350px tall on every screen (sides crop on narrow phones). */
.dc-404__pic { display: block; margin-top: 0; }
.dc-404__img { display: block; height: 350px; width: auto; max-width: 100%; object-fit: cover; object-position: center; }
.dc-404__title { font-size: clamp(24px, 3vw, 34px); font-weight: 800; letter-spacing: -.01em; }
.dc-404 .dc-search { width: min(100%, 480px); }
.dc-search--page .dc-search__input { background: var(--white); color: var(--ink); border-color: var(--g300); }
.dc-search--page .dc-search__btn { color: var(--ink); }

/* ---------- FAQs (each Heading 3 becomes a collapsible tab, see inc/pages.php) ---------- */
.dc-faq h2 { font-size: 15px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin-top: 2em; padding-bottom: 8px; border-bottom: 2px solid var(--ink); }
.dc-faq > h2:first-child { margin-top: 1em; }
.dc-faq > p:first-child + h2 { margin-top: 1.6em; }
.dc-faq__item { border-bottom: 1px solid var(--g200); margin: 0 !important; }
.dc-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 2px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 700; }
.dc-faq__q::-webkit-details-marker { display: none; }
.dc-faq__q:hover { color: var(--g700); }
.dc-faq__icon { position: relative; width: 14px; height: 14px; flex: none; }
.dc-faq__icon::before, .dc-faq__icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: var(--ink); border-radius: 2px; transition: transform .2s var(--ease); }
.dc-faq__icon::after { transform: rotate(90deg); }
.dc-faq__item[open] .dc-faq__icon::after { transform: rotate(0deg); }
.dc-faq__a { padding: 0 2px 18px; color: var(--g700); }
.dc-faq__a > * + * { margin-top: .8em; }

/* ---------- Our Story ---------- */
.dc-prose .dc-story-sign { font-weight: 700; }
