/* dougpagitt theme — component rules. Tokens live in theme.json. */

.dp-eyebrow { font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.dp-on-dark .dp-eyebrow { color: var(--wp--preset--color--gold); }

.dp-hero-name { font-size: var(--wp--preset--font-size--3xl); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1; }

.dp-on-dark, .dp-on-dark h1, .dp-on-dark h2, .dp-on-dark h3, .dp-on-dark p, .dp-on-dark a { color: var(--wp--preset--color--white); }
.dp-on-dark p { color: var(--wp--preset--color--on-dark); }

/* Buttons */
.dp-on-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--gold); }
.dp-on-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #f0d46a; border-color: #f0d46a; }
.wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; }

/* Announcement bar */
.dp-announcement { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--on-dark); font-size: var(--wp--preset--font-size--sm); text-align: center; padding: .6rem 2.75rem .6rem 1rem; position: relative; }
.dp-announcement a { color: inherit; text-decoration: none; }
.dp-announcement strong { color: var(--wp--preset--color--gold); }
.dp-announcement__close { position: absolute; right: .5rem; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; background: none; border: 0; color: inherit; font-size: 1.25rem; cursor: pointer; }
.dp-announcement[hidden] { display: none; }
@media (max-width: 400px) { .dp-announcement .dp-long { display: none; } }

/* Header */
.dp-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--paper); border-bottom: 1px solid var(--wp--preset--color--line); }
.dp-header .wp-block-site-logo img { width: 44px; height: auto; }
.dp-pill .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--gold); border-radius: 999px; padding: .6em 1.2em; }
.dp-header .wp-block-navigation__responsive-container-open { margin-left: .5rem; }
@media (max-width: 600px) { .dp-pill .wp-block-button__link { font-size: .75rem; padding: .55em .9em; } }

/* Title band */
.dp-title-band h1 { color: var(--wp--preset--color--white); }

/* Grids */
.dp-logo-row img { filter: grayscale(1); opacity: .7; }
.dp-books-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (min-width: 782px) { .dp-books-grid { grid-template-columns: repeat(6, 1fr); } }
.dp-books-grid img { width: 100%; height: auto; box-shadow: 0 2px 8px rgba(20,33,43,.15); }

/* Media cards */
.dp-media-card { border: 1px solid var(--wp--preset--color--line); border-radius: 4px; overflow: hidden; background: var(--wp--preset--color--paper); }
.dp-media-card .wp-block-post-featured-image img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.dp-media-card__body { padding: 1rem 1.1rem 1.25rem; }
.dp-media-card h3 { font-size: 1.0625rem; margin: .35rem 0 .5rem; }
.dp-media-card h3 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.dp-media-card h3 a:hover { color: var(--wp--preset--color--teal); }
.dp-media-card .dp-date { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--xs); }
.dp-kind-filters a { margin-right: 1rem; }
.dp-kind-filters a.is-current { color: var(--wp--preset--color--ink); font-weight: 700; }

/* Forms (Fluent Forms) */
.fluentform .ff-el-form-control { font-size: 16px; min-height: 48px; border: 1px solid var(--wp--preset--color--line); border-radius: 2px; }
.fluentform .ff-btn-submit { background: var(--wp--preset--color--ink) !important; color: #fff !important; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; min-height: 48px; border-radius: 2px; }
.dp-on-dark .fluentform .ff-btn-submit { background: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--ink) !important; }
.dp-on-dark .fluentform .ff-el-input--label label { color: var(--wp--preset--color--on-dark); }

/* Footer */
.dp-footer a { color: var(--wp--preset--color--on-dark); text-decoration: none; }
.dp-footer a:hover { color: var(--wp--preset--color--gold); }
.dp-footer .wp-block-social-links .wp-social-link { color: #fff; }

@media (hover: none) { .wp-block-cover.has-parallax { background-attachment: scroll; } }

html { scroll-padding-top: 90px; }
