/* Additions on top of the Webflow stylesheet. */

/* Category page title is an h1 for search engines but keeps the size it had as an h2. */
h1.cat-page-title { margin-top: 20px; margin-bottom: 10px; font-size: 32px; font-weight: 600; line-height: 36px; }

/* Blog post headline, above the article. */
h1.post-headline { margin: 0 0 24px; font-size: 34px; font-weight: 700; line-height: 1.25; }
@media screen and (max-width: 767px) { h1.post-headline { font-size: 26px; } }

/* "Recent events near …" on location pages. */
.recent-events { padding-top: 60px; padding-bottom: 60px; }
.recent-events h2 { text-align: center; margin-bottom: 30px; }

/* Generated sections on /wedding-djs. */
.wedding-extras { padding-top: 60px; padding-bottom: 60px; }
.wedding-extras h2 { text-align: center; margin: 50px 0 20px; }
.wedding-extras h2:first-child { margin-top: 0; }
.wedding-extras p { text-align: center; max-width: 720px; margin: 0 auto 24px; }
.link-columns { list-style: none; padding: 0; margin: 0 auto; max-width: 1000px; columns: 3; column-gap: 32px; }
.link-columns li { margin-bottom: 10px; break-inside: avoid; }
.link-columns a { color: inherit; text-decoration: underline; }
@media screen and (max-width: 767px) { .link-columns { columns: 1; } }

/* The line under a blog article that points to the matching service and area pages. */
.post-next-steps { margin-top: 32px; padding: 18px 22px; border-left: 4px solid #db1515; background: #f6f6f6; }

/* Images that were given width/height (so the page does not jump while they load) keep their
   proportions. :where() has no specificity, so any class that sets a height still wins. */
:where(img[data-sized]) { height: auto; }

/* Full-width hero images set per page (blog banners, location heroes). src/lib/images.js puts a
   desktop copy in --bg and a phone copy in --bg-m. !important because Webflow's own class rules
   set a placeholder background on the same elements. */
[style*="--bg:"] { background-image: var(--bg) !important; }
@media (max-width: 767px) { [style*="--bg-m:"] { background-image: var(--bg-m) !important; } }

/* The rest of a DJ's posts, as plain links under the six with photos. */
.more-by-dj-links { list-style: none; padding: 0; margin: 14px 0 0; font-size: 14px; line-height: 1.5; }
.more-by-dj-links li { margin-bottom: 6px; }
.more-by-dj-links a { color: inherit; text-decoration: underline; }

/* Questions and answers on /wedding-djs. */
.faq-list { max-width: 820px; margin: 0 auto 10px; text-align: left; }
.faq-item { border-bottom: 1px solid #ddd; padding: 14px 0; }
.faq-item summary { cursor: pointer; font-weight: 600; font-size: 17px; }
.faq-item p { text-align: left; margin: 12px 0 0; max-width: none; }

.post-keep-reading { margin-top: 10px; font-size: 15px; line-height: 1.6; }
