/* =========================================================
   FloDivinas: blog posts, archives, search, 404.
   Old posts (any core blocks or classic content) get readable,
   on-brand typography: ivory text on black, gold links, Cinzel headings.
   ========================================================= */
.fd .fd-post__head,
.fd .fd-listing { padding-top: calc(var(--header-h) + 64px); }
.fd .fd-post__head { padding-bottom: 48px; }
.fd .fd-post__head .head { margin-bottom: 0; }
.fd .fd-post__title { font-size: clamp(1.9rem, 4.2vw, 3.2rem); letter-spacing: 0.08em; line-height: 1.15; }
.fd .fd-post__date { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.fd .fd-post__body { padding-top: 0; }
.fd .fd-post__image { max-width: 1000px; margin: 0 auto 56px; }
.fd .fd-post__image img { aspect-ratio: 3 / 2; width: 100%; object-fit: cover; }

/* Post content */
.fd .fd-prose { color: #E9E0D2; line-height: 1.75; font-size: 1.0625rem; }
.fd .fd-prose > * { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.fd .fd-prose > * + * { margin-top: 1.25em; }
.fd .fd-prose > .alignwide { max-width: 1100px; }
.fd .fd-prose > .alignfull { max-width: none; }
.fd .fd-prose :is(h2, h3, h4, h5, h6) { font-family: var(--font-caps); font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; line-height: 1.3; color: var(--ivory); margin-top: 2em; }
.fd .fd-prose h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
.fd .fd-prose h3 { font-size: 1.2rem; }
.fd .fd-prose :is(h4, h5, h6) { font-size: 1rem; }
html body.fd .fd-prose a, html body.fd .fd-prose a:visited { color: var(--gold-light) !important; text-decoration: underline; text-decoration-color: var(--gold-line); text-underline-offset: 4px; }
html body.fd .fd-prose a:hover { text-decoration-color: var(--gold-light); }
.fd .fd-prose :is(ul, ol) { padding-left: 1.4em; }
.fd .fd-prose li + li { margin-top: 0.4em; }
.fd .fd-prose blockquote { margin-inline: auto; padding: 8px 0 8px 24px; border-left: 2px solid var(--gold); font-family: var(--font-italic); font-style: italic; font-size: 1.4rem; line-height: 1.4; color: var(--gold-light); }
.fd .fd-prose blockquote cite { display: block; margin-top: 10px; font-family: var(--font-text); font-style: normal; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.fd .fd-prose :is(.wp-block-image, figure) { margin-block: 2em; }
.fd .fd-prose img { height: auto; }
.fd .fd-prose figcaption { margin-top: 8px; font-size: 0.85rem; color: var(--muted); text-align: center; }
.fd .fd-prose hr { border: 0; border-top: 1px solid var(--gold-line); margin-block: 2.5em; }
.fd .fd-prose table { width: 100%; border-collapse: collapse; }
.fd .fd-prose :is(th, td) { border: 1px solid var(--gold-line); padding: 10px 12px; }
.fd .fd-prose iframe, .fd .fd-prose video { max-width: 100%; }
.fd .fd-prose .wp-block-button__link { margin-top: 0.5em; }
.fd .fd-post__nav { max-width: 760px; margin: 64px auto 0; padding-top: 24px; border-top: 1px solid var(--gold-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; }
html body.fd .fd-post__nav a { color: var(--gold-light) !important; text-decoration: none; }

/* Listings (blog, archive, search) */
.fd .fd-listing .head { margin-bottom: 48px; }
.fd .fd-listing__title { font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: 0.12em; line-height: 1.2; }
.fd .fd-listing__desc { color: var(--muted); max-width: 58ch; }
.fd .fd-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 40px 28px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .fd .fd-posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .fd .fd-posts { grid-template-columns: repeat(3, 1fr); } }
.fd .fd-posts > li { margin: 0; }
.fd .fd-card { display: grid; gap: 16px; align-content: start; height: 100%; }
.fd .fd-card__img { margin: 0; position: relative; overflow: hidden; border: 1px solid var(--gold-line); aspect-ratio: 3 / 2; background: var(--card); }
.fd .fd-card__img a { display: block; height: 100%; }
.fd .fd-card__img img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .8s var(--ease); }
.fd .fd-card:hover .fd-card__img img { transform: scale(1.05); }
.fd .fd-card__body { display: grid; gap: 8px; }
.fd .fd-card__date { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.fd .fd-card__title { font-size: 1.05rem; letter-spacing: 0.1em; line-height: 1.35; }
.fd .fd-card__title a { text-decoration: none; }
html body.fd .fd-card__title a:hover { color: var(--gold-light) !important; }
.fd .fd-card__excerpt { color: var(--muted); }
.fd .fd-card__excerpt p { margin: 0; }
.fd .fd-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.fd .fd-pagination { margin-top: 56px; gap: 18px; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
html body.fd .fd-pagination a { color: var(--gold-light) !important; text-decoration: none; }
.fd .fd-pagination .current { color: var(--ivory); border-bottom: 1px solid var(--gold); }
.fd .fd-empty { text-align: center; color: var(--muted); margin-bottom: 24px; }

/* Search form */
.fd .fd-search { max-width: 560px; margin: 8px auto 0; width: 100%; }
.fd .fd-search .wp-block-search__inside-wrapper { display: flex; gap: 10px; }
.fd .fd-search .wp-block-search__input { flex: 1; min-height: 52px; padding: 0 16px; background: var(--card); color: var(--ivory); border: 1px solid var(--gold-line); border-radius: 0; font: inherit; }
.fd .fd-search .wp-block-search__input:focus { border-color: var(--gold); outline: none; }
.fd .fd-search .wp-block-search__button { min-height: 52px; margin: 0; padding: 0 26px; border-radius: 0; cursor: pointer; }

/* 404 */
.fd .fd-404 .page-hero__content { max-width: 760px; }
