/*
Theme Name: Strip Club Wingman Rebuild
Author: Site Recovery Project
Description: Semantic reconstruction of the archived Directory2 site.
Version: 0.4.0
Requires at least: 6.9
Tested up to: 7.0
Requires PHP: 8.3
Text Domain: stripclubwingman
*/

:root {
    --content-width: 1180px;
    --red: #d92d35;
    --navy: #1e2f5d;
    --ink: #333;
    --muted: #777;
    --line: #dedede;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 3px solid #2f6ea5;
    outline-offset: 3px;
}
.site-shell { width: min(calc(100% - 40px), var(--content-width)); margin-inline: auto; }
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.skip-link:focus {
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 16px;
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 1000;
    clip: auto;
    background: #fff;
    color: #111;
    white-space: normal;
}

.utility-bar { background: #252525; color: #bdbdbd; font-size: 12px; }
.utility-inner { min-height: 35px; display: flex; align-items: center; gap: 20px; }
.social-link { color: #fff; text-transform: uppercase; font-size: 10px; letter-spacing: .08em; }
.site-tagline { flex: 1; margin: 0; text-align: center; }
.resource-tools { display: flex; align-items: stretch; align-self: stretch; }
.resource-tools span { display: flex; align-items: center; padding: 0 14px; border-inline: 1px solid #3c3c3c; }
.add-resource { display: flex; align-items: center; padding: 0 15px; background: var(--red); color: #fff; font-weight: 700; }
.branding-row { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.site-logo { display: inline-flex; flex: 0 0 auto; }
.site-logo img { width: 192px; }
.primary-navigation .menu, .footer-navigation .menu { margin: 0; padding: 0; list-style: none; }
.primary-navigation .menu { display: flex; align-items: center; gap: 34px; }
.primary-navigation a { display: block; padding: 34px 0 30px; border-bottom: 3px solid transparent; color: #555; font-size: 13px; text-transform: uppercase; }
.primary-navigation a:hover, .primary-navigation a:focus { color: var(--red); border-bottom-color: var(--red); }
.menu-toggle { display: none; background: transparent; border: 0; color: #444; text-transform: uppercase; cursor: pointer; }
.menu-toggle-bars, .menu-toggle-bars::before, .menu-toggle-bars::after { width: 20px; height: 2px; background: currentColor; display: block; position: relative; }
.menu-toggle-bars::before, .menu-toggle-bars::after { content: ''; position: absolute; left: 0; }
.menu-toggle-bars::before { top: -6px; }
.menu-toggle-bars::after { top: 6px; }

.site-main { min-height: 40vh; }
body:not(.home) .site-main { width: min(calc(100% - 40px), var(--content-width)); margin: 40px auto; }
.directory-map { height: 500px; position: relative; overflow: hidden; border-block: 1px solid #c7c7c7; background: #d9ddda; }
.map-grid { position: absolute; inset: 0; opacity: .9; background-color: #e8e5dc; background-image: linear-gradient(28deg, transparent 46%, #b8c5b0 47%, #b8c5b0 52%, transparent 53%), linear-gradient(-35deg, transparent 45%, #c4c9cf 46%, #c4c9cf 50%, transparent 51%), repeating-linear-gradient(90deg, transparent 0 95px, rgba(255,255,255,.7) 96px 100px), repeating-linear-gradient(0deg, transparent 0 70px, rgba(255,255,255,.7) 71px 75px); }
.map-pin { position: absolute; width: 46px; filter: drop-shadow(0 2px 2px rgba(0,0,0,.3)); }
.map-pin-1 { top: 22%; left: 18%; }
.map-pin-2 { top: 54%; left: 38%; }
.map-pin-3 { top: 30%; left: 66%; }
.map-pin-4 { top: 61%; left: 82%; }
.map-status { position: absolute; left: 50%; bottom: 25px; transform: translateX(-50%); margin: 0; padding: 9px 14px; background: rgba(37,37,37,.88); color: #fff; font-size: 12px; text-align: center; }
.directory-map-compact { height: 260px; margin-top: 48px; }
.directory-map-compact .map-pin-1 { top: 32%; left: 48%; }

.directory-search { position: relative; z-index: 2; margin-top: -1px; padding: 22px 0; background: #262626; color: #fff; box-shadow: 0 3px 9px rgba(0,0,0,.2); }
.search-fields { display: grid; grid-template-columns: 1.4fr 1fr 1fr .8fr auto; gap: 9px; }
.search-fields input, .search-fields select, .radius-field, .search-fields button { width: 100%; min-height: 45px; border: 0; border-radius: 2px; }
.search-fields input, .search-fields select { padding: 0 14px; color: #555; background: #fff; }
.radius-field { padding: 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #fff; color: #777; }
.radius-switch { width: 30px; height: 16px; padding: 2px; border-radius: 10px; background: #b5b5b5; }
.radius-switch::after { content: ''; display: block; width: 12px; height: 12px; border-radius: 50%; background: #fff; }
.search-fields button { padding-inline: 26px; background: var(--red); color: #fff; font-weight: 700; text-transform: uppercase; cursor: pointer; }

.locations-section { padding-block: 65px 70px; }
.section-heading { margin-bottom: 38px; text-align: center; }
.section-heading h1 { margin: 0; color: #353535; font-size: 30px; font-weight: 400; line-height: 1.2; }
.section-heading p { margin: 7px 0 0; color: #aaa; font-size: 15px; }
.location-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.location-card { min-width: 0; border: 1px solid var(--line); background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.location-image { display: block; height: 190px; overflow: hidden; background: #eee; }
.location-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.location-card:hover .location-image img { transform: scale(1.025); }
.missing-image { height: 100%; display: grid; place-items: center; color: #777; }
.location-copy { min-height: 125px; padding: 20px 22px; }
.location-copy h2 { margin: 0 0 8px; color: var(--navy); font-size: 20px; font-weight: 400; }
.location-copy h2 a:hover { color: var(--red); }
.location-copy p { margin: 0; color: var(--muted); font-size: 13px; }

.directory-stats { padding: 48px 0; color: #fff; background-color: #20232b; background-image: url('assets/images/recovered/jeans.png'); }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.stats-grid p { margin: 0; text-align: center; border-right: 1px solid rgba(255,255,255,.18); }
.stats-grid p:last-child { border: 0; }
.stats-grid strong, .stats-grid span { display: block; }
.stats-grid strong { font-size: 43px; font-weight: 300; line-height: 1; }
.stats-grid span { margin-top: 8px; color: #b9b9b9; text-transform: uppercase; letter-spacing: .08em; }
.submission-callout { padding: 55px 0 60px; background: #f4f4f4; text-align: center; }
.submission-inner { max-width: 850px; }
.submission-inner p { margin: 0 auto 27px; color: #777; }
.submission-button { display: inline-block; padding: 13px 21px; border-radius: 2px; background: var(--red); color: #fff; font-weight: 700; }

.site-footer { padding: 30px 0; background: #1d1d1d; color: #8f8f8f; font-size: 12px; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.footer-navigation .menu { display: flex; flex-wrap: wrap; gap: 22px; }
.footer-navigation a:hover { color: #fff; }
.site-credit { margin: 0; white-space: nowrap; }

body.post-type-archive-scw_venue .site-main,
body.tax-scw_location .site-main,
body.tax-scw_category .site-main,
body.single-scw_venue .site-main,
body.blog .site-main,
body.single-post .site-main,
body.category .site-main,
body.date .site-main,
body.author .site-main,
body.search .site-main,
body.error404 .site-main,
body.page .site-main { width: 100%; margin: 0; }
.directory-page-title { border-block: 1px solid #e1e1e1; background: #f3f3f3; }
.directory-title-inner { min-height: 118px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.directory-title-heading { display: flex; align-items: center; gap: 16px; }
.directory-title-heading img { width: 48px; height: 48px; object-fit: contain; }
.directory-title-heading h1 { margin: 0; color: #414141; font-size: 28px; font-weight: 400; line-height: 1.2; }
.directory-breadcrumbs { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; color: #9a9a9a; font-size: 12px; }
.directory-breadcrumbs a { color: #666; }
.directory-breadcrumbs a:hover { color: var(--red); }
.directory-content { padding-block: 48px 65px; }
.directory-category-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 42px; }
.directory-category-list a { min-height: 90px; padding: 22px; border: 1px solid var(--line); background: #fafafa; }
.directory-category-list strong, .directory-category-list span { display: block; }
.directory-category-list strong { color: var(--navy); font-size: 18px; font-weight: 400; }
.directory-category-list span { margin-top: 6px; color: #777; }
.directory-toolbar { min-height: 65px; margin-bottom: 24px; padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--line); background: #f7f7f7; }
.directory-toolbar h2 { margin: 0; font-size: 18px; font-weight: 400; }
.directory-toolbar form { display: flex; align-items: end; gap: 12px; }
.directory-toolbar label { display: flex; align-items: center; gap: 7px; color: #777; font-size: 12px; }
.directory-toolbar select, .directory-toolbar button { height: 36px; border: 1px solid #d3d3d3; background: #fff; }
.directory-toolbar select { min-width: 105px; padding: 0 28px 0 10px; color: #555; }
.directory-toolbar button { padding: 0 16px; border-color: var(--red); background: var(--red); color: #fff; cursor: pointer; }
.directory-venue-list { display: grid; gap: 24px; }
.directory-venue-card { min-height: 245px; display: grid; grid-template-columns: 300px minmax(0, 1fr); border: 1px solid var(--line); background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.directory-venue-image { min-height: 245px; overflow: hidden; background: #ececec; }
.directory-venue-image > a { height: 100%; min-height: 245px; position: relative; display: block; }
.directory-venue-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.directory-venue-image > a > span:not(.venue-image-missing) { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(30,47,93,.72); color: #fff; font-weight: 700; opacity: 0; transition: opacity .2s ease; }
.directory-venue-image > a:hover > span:not(.venue-image-missing), .directory-venue-image > a:focus > span:not(.venue-image-missing) { opacity: 1; }
.venue-image-missing { min-height: inherit; height: 100%; padding: 20px; display: grid; place-items: center; color: #888; background: #eee; text-align: center; }
.directory-venue-data { min-width: 0; padding: 25px 28px 20px; display: flex; flex-direction: column; }
.directory-venue-data header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.directory-venue-data h2 { margin: 0; color: var(--navy); font-size: 22px; font-weight: 400; line-height: 1.25; }
.directory-venue-data h2 a:hover { color: var(--red); }
.venue-categories { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.venue-categories a { padding: 5px 9px; border-radius: 2px; background: var(--red); color: #fff; font-size: 11px; text-transform: uppercase; }
.venue-card-description { margin: 18px 0; color: #777; }
.venue-card-details { margin: auto 0 0; padding-top: 14px; border-top: 1px solid #eee; color: #666; font-size: 12px; }
.venue-card-details div { display: flex; gap: 6px; }
.venue-card-details dt { flex: 0 0 auto; font-weight: 700; }
.venue-card-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.venue-card-details a { color: var(--red); }
.navigation.pagination { margin-top: 30px; }
.nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.page-numbers { min-width: 35px; height: 35px; padding: 0 10px; display: inline-grid; place-items: center; border: 1px solid #ddd; background: #fff; color: #666; }
.page-numbers.current { border-color: var(--red); background: var(--red); color: #fff; }
.term-description { margin: 0 0 32px; color: #666; font-size: 16px; }
.term-description p { margin-top: 0; }

.venue-detail { padding-block: 52px 70px; }
.venue-intro-grid { display: grid; grid-template-columns: minmax(270px, 1fr) minmax(0, 2fr); gap: 40px; }
.venue-gallery-main { min-height: 280px; display: block; background: #eee; }
.venue-gallery-main img { width: 100%; min-height: 280px; display: block; object-fit: cover; }
.venue-gallery-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 7px; }
.venue-gallery-thumbs a { aspect-ratio: 1; overflow: hidden; background: #eee; }
.venue-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.venue-description { color: #666; font-size: 15px; }
.venue-description > :first-child { margin-top: 0; }
.venue-location-link { margin-top: 26px; padding-top: 18px; border-top: 1px solid #eee; }
.venue-location-link span { font-weight: 700; }
.venue-location-link a { color: var(--red); }
.field-unavailable { color: #888; font-style: italic; }
.venue-information-grid { margin-top: 52px; display: grid; grid-template-columns: minmax(270px, 1fr) minmax(0, 2fr); gap: 40px; }
.venue-information-grid h2 { margin: 0 0 20px; padding-bottom: 12px; border-bottom: 1px solid #ddd; font-size: 23px; font-weight: 400; }
.opening-hours dl, .venue-address dl { margin: 0; }
.opening-hours dl div, .venue-address dl div { min-height: 44px; padding: 10px 12px; display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 15px; border-bottom: 1px solid #e5e5e5; }
.opening-hours dl div:nth-child(odd), .venue-address dl div:nth-child(odd) { background: #f7f7f7; }
.opening-hours dt, .venue-address dt { font-weight: 700; }
.opening-hours dd, .venue-address dd { min-width: 0; margin: 0; color: #666; overflow-wrap: anywhere; }
.venue-address a { color: var(--red); }

.blog-content { padding-block: 48px 68px; }
.blog-introduction { margin-bottom: 45px; color: #666; font-size: 15px; }
.blog-introduction p { margin: 0 0 12px; }
.blog-post-list { display: grid; gap: 38px; }
.blog-card { overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.blog-card-heading { min-height: 98px; padding: 18px 24px; display: flex; align-items: center; gap: 20px; }
.blog-date-badge { width: 58px; min-width: 58px; height: 68px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--red); color: #fff; line-height: 1.05; text-align: center; }
.blog-date-badge span:first-child { font-size: 25px; }
.blog-date-badge span:nth-child(2) { margin-top: 3px; font-size: 11px; text-transform: uppercase; }
.blog-date-badge span:last-child { margin-top: 3px; font-size: 10px; }
.blog-card-heading h2 { margin: 0; color: var(--navy); font-size: 24px; font-weight: 400; }
.blog-card-heading h2 a:hover { color: var(--red); }
.blog-read-more { display: inline-block; margin-top: 5px; color: var(--red); font-size: 12px; text-transform: lowercase; }
.blog-card-image { min-height: 220px; display: grid; place-items: center; background: #e8e8e8; color: #777; }
.blog-card-image.recovered-thumbnail { background: #30333a; }
.blog-card-image.recovered-thumbnail img { width: 70px; height: 70px; object-fit: cover; }
.blog-card-meta { padding: 12px 24px; display: flex; flex-wrap: wrap; gap: 9px 22px; border-bottom: 1px solid #e7e7e7; background: #f6f6f6; color: #777; font-size: 12px; }
.blog-card-meta a { color: var(--red); }
.blog-card-excerpt { margin: 0; padding: 22px 24px 25px; color: #666; }
.blog-single-title { border-block: 1px solid #e1e1e1; background: #f3f3f3; }
.blog-single-title-inner { min-height: 138px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.blog-single-heading h1 { margin: 0; font-size: 28px; font-weight: 400; }
.blog-single-heading p { margin: 6px 0 0; color: #888; font-size: 12px; }
.blog-single { padding-block: 52px 70px; }
.blog-single-recovered-image { width: 100%; min-height: 130px; margin-bottom: 30px; display: grid; place-items: center; background: #30333a; }
.blog-single-recovered-image img { width: 70px; height: 70px; }
.blog-single-image-missing { min-height: 180px; margin-bottom: 30px; display: grid; place-items: center; background: #eee; color: #777; }
.blog-single-content { max-width: 860px; color: #555; font-size: 15px; }
.blog-single-content p { margin: 0 0 20px; }
.blog-single-content a { color: var(--red); text-decoration: underline; }
.blog-recovered-inline-image { margin: 8px 0 24px; }
.blog-recovered-inline-image img { display: block; width: 275px; height: auto; }
.blog-single-meta { max-width: 860px; margin-top: 35px; padding: 16px 0; border-block: 1px solid #e3e3e3; color: #777; }
.blog-single-meta span { margin-right: 6px; font-weight: 700; }
.blog-single-meta a { color: var(--red); }
.blog-post-navigation { max-width: 860px; margin-top: 28px; display: flex; justify-content: space-between; gap: 20px; }
.blog-post-navigation a { color: var(--red); }
.search-results-content, .error-page, .standard-page { padding-block: 48px 68px; }
.search-results-content > .search-form, .error-page .search-form { max-width: 760px; margin-bottom: 38px; display: flex; gap: 10px; }
.search-form label { flex: 1; }
.search-form .search-field { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid #ccc; }
.search-form .search-submit { min-height: 44px; padding: 0 22px; border: 0; background: var(--red); color: #fff; cursor: pointer; }
.search-result-list { display: grid; gap: 28px; }
.search-taxonomy-results { margin-bottom: 32px; }
.search-taxonomy-results h2 { margin: 0 0 14px; font-size: 20px; font-weight: 400; }
.search-taxonomy-results ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; list-style: none; }
.search-taxonomy-results a { min-width: 150px; padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid var(--line); background: #f7f7f7; }
.search-taxonomy-results strong { color: var(--navy); font-weight: 400; }
.search-taxonomy-results span { color: #777; font-size: 11px; text-transform: uppercase; }
.search-no-results { padding: 35px; border: 1px solid var(--line); background: #f7f7f7; }
.search-no-results h2 { margin-top: 0; font-weight: 400; }
.error-page { text-align: center; }
.error-page > p { margin: 0 0 28px; color: #666; font-size: 17px; }
.error-page .search-form { margin-inline: auto; }
.return-home { display: inline-block; padding: 12px 20px; background: var(--red); color: #fff; }
.standard-page { color: #555; }
.archive-page-placeholder { padding-block: 75px; text-align: center; }
.archive-page-placeholder p { max-width: 700px; margin: 0 auto 28px; color: #666; font-size: 17px; }

@media (max-width: 800px) {
    .site-shell { width: min(calc(100% - 28px), var(--content-width)); }
    .utility-inner { min-height: 38px; }
    .site-tagline { display: none; }
    .resource-tools { margin-left: auto; }
    .branding-row { min-height: 76px; flex-wrap: wrap; }
    .site-logo img { width: 160px; }
    .menu-toggle { display: flex; align-items: center; gap: 10px; padding: 15px 0; }
    .primary-navigation { display: none; flex: 0 0 100%; border-top: 1px solid #eee; }
    .primary-navigation.is-open { display: block; }
    .primary-navigation .menu { display: block; padding-bottom: 10px; }
    .primary-navigation a { padding: 11px 0; border: 0; }
    .directory-map { height: 310px; }
    .directory-map-compact { height: 240px; }
    .map-pin { width: 38px; }
    .map-status { width: calc(100% - 28px); bottom: 16px; }
    .search-fields { grid-template-columns: 1fr 1fr; }
    .search-fields label:first-child { grid-column: 1 / -1; }
    .location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .footer-inner { align-items: flex-start; }
    .directory-title-inner { min-height: 100px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 10px; }
    .directory-breadcrumbs { justify-content: flex-start; }
    .directory-category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .directory-toolbar { align-items: flex-start; flex-direction: column; }
    .directory-toolbar form { width: 100%; }
    .directory-venue-card { grid-template-columns: 240px minmax(0, 1fr); }
    .directory-venue-image, .directory-venue-image > a { min-height: 270px; }
    .venue-intro-grid, .venue-information-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 28px; }
    .blog-single-title-inner { grid-template-columns: auto 1fr; }
    .blog-single-title .directory-breadcrumbs { grid-column: 1 / -1; padding-bottom: 18px; }
}

@media (max-width: 520px) {
    .resource-tools span { display: none; }
    .directory-map { height: 270px; }
    .directory-map-compact { height: 220px; margin-top: 35px; }
    .directory-search { padding: 14px 0; }
    .search-fields { grid-template-columns: 1fr; }
    .search-fields label:first-child { grid-column: auto; }
    .locations-section { padding-block: 45px 50px; }
    .section-heading h1 { font-size: 25px; }
    .location-grid { grid-template-columns: 1fr; }
    .location-image { height: 210px; }
    .stats-grid strong { font-size: 32px; }
    .stats-grid span { font-size: 10px; }
    .submission-callout { padding: 40px 0; }
    .footer-inner { display: block; }
    .footer-navigation .menu { display: block; }
    .footer-navigation li { margin-bottom: 8px; }
    .site-credit { margin-top: 22px; }
    .directory-title-heading h1 { font-size: 24px; }
    .directory-title-heading img { width: 40px; height: 40px; }
    .directory-content { padding-block: 35px 48px; }
    .directory-category-list { grid-template-columns: 1fr; margin-bottom: 30px; }
    .directory-toolbar form { display: grid; grid-template-columns: 1fr 1fr; }
    .directory-toolbar label { align-items: stretch; flex-direction: column; }
    .directory-toolbar button { grid-column: 1 / -1; }
    .directory-venue-card { display: block; }
    .directory-venue-image, .directory-venue-image > a { min-height: 235px; }
    .directory-venue-data { padding: 22px 20px; }
    .directory-venue-data header { display: block; }
    .venue-categories { justify-content: flex-start; margin-top: 12px; }
    .venue-card-details div { display: block; margin-top: 8px; }
    .venue-intro-grid, .venue-information-grid { grid-template-columns: 1fr; }
    .venue-detail { padding-block: 35px 48px; }
    .venue-gallery-main, .venue-gallery-main img { min-height: 250px; }
    .venue-description { margin-top: 0; }
    .opening-hours dl div, .venue-address dl div { grid-template-columns: 105px minmax(0, 1fr); }
    .blog-content, .blog-single, .search-results-content, .error-page, .standard-page { padding-block: 35px 48px; }
    .blog-card-heading { align-items: flex-start; padding: 18px; }
    .blog-card-heading h2 { font-size: 21px; }
    .blog-card-image { min-height: 180px; }
    .blog-card-meta { display: grid; padding-inline: 18px; }
    .blog-card-excerpt { padding-inline: 18px; }
    .blog-single-title-inner { min-height: 155px; grid-template-columns: auto minmax(0, 1fr); align-content: center; }
    .blog-single-heading h1 { font-size: 24px; }
    .blog-single-title .directory-breadcrumbs { padding-bottom: 0; }
    .search-results-content > .search-form, .error-page .search-form { display: grid; }
    .search-taxonomy-results ul { display: grid; }
    .archive-page-placeholder { padding-block: 55px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
