/**
 * StreetFlows Theme frontend stylesheet.
 * Provides the shared design system, responsive layouts, and component styles.
 */

/* =========================================================
   RESET / BASE
========================================================= */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--sf-bg);color:var(--sf-text);font-family:var(--sf-body-font);font-size:var(--sf-body-size);line-height:var(--sf-body-line);overflow-x:clip;text-rendering:optimizeLegibility}
img,svg,video,iframe{max-width:100%;height:auto}
img{display:block}
a{color:var(--sf-primary);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
:focus-visible{outline:3px solid var(--sf-secondary);outline-offset:3px}
h1,h2,h3,h4,h5,h6{font-family:var(--sf-heading-font);font-style:var(--sf-heading-style);font-weight:var(--sf-heading-weight);line-height:1.18;margin:0 0 var(--space-4);color:inherit}
p{margin:0 0 var(--space-4)}
:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--sf-shadow:0 6px 18px rgba(15,23,42,.06)}
.sf-container{width:min(calc(100% - 2rem),var(--sf-container));margin-inline:auto}
.sf-main{padding-block:var(--space-5) var(--space-7)}
.sf-home-section{margin-block:0 var(--space-7)}
.sf-skip-link{position:fixed;inset-inline-start:1rem;top:.75rem;z-index:9999;transform:translateY(-200%);padding:.7rem 1rem;background:#fff;color:#000;border:2px solid var(--sf-primary);border-radius:6px}
.sf-skip-link:focus{transform:none}

/* =========================================================
   ICONS / BUTTONS
========================================================= */

.sf-icon{display:inline-flex;width:1.15em;height:1.15em;vertical-align:-.16em}.sf-icon svg{width:100%;height:100%}
.sf-icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--sf-border);border-radius:9px;background:var(--sf-bg);color:var(--sf-text);cursor:pointer}
.sf-icon-button:hover{border-color:var(--sf-primary);color:var(--sf-primary)}
.sf-button,.wp-block-button__link,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:8px;border:1px solid transparent;font-weight:700;cursor:pointer;text-decoration:none}
.sf-button--primary,.wp-block-button__link,input[type=submit]{background:var(--sf-primary);color:var(--sf-button-text)}
.sf-button--secondary{background:var(--sf-secondary);color:var(--sf-button-text)}
.sf-button--outline{background:transparent;color:var(--sf-primary);border-color:var(--sf-primary)}
.sf-button--text{background:none;color:var(--sf-primary);padding-inline:0}
.sf-button:hover,.wp-block-button__link:hover{text-decoration:none;filter:brightness(.96)}

/* =========================================================
   HEADER / NAVIGATION
========================================================= */

.sf-site-header{background:var(--sf-header-bg);color:var(--sf-header-text);border-bottom:1px solid var(--sf-border);z-index:100}
.sf-site-header.is-sticky{position:fixed;inset-inline:0;top:0;width:100%;z-index:999;isolation:isolate;box-shadow:0 1px 0 rgba(15,23,42,.04)}
.sf-header-desktop{display:none;min-height:74px;align-items:center;gap:var(--space-5)}
.sf-header-mobile{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:var(--space-3);min-height:64px}
.sf-branding{min-width:0}.sf-branding--mobile{text-align:center}.custom-logo{max-height:46px;width:auto;margin-inline:auto}.sf-site-title{font-family:var(--sf-heading-font);font-weight:800;font-size:1.3rem;color:var(--sf-header-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-primary-nav{margin-inline-start:auto;background:var(--sf-nav-bg);padding:.35rem .55rem;border-radius:8px}.sf-menu,.sf-mobile-menu,.sf-secondary-menu,.sf-footer-menu{list-style:none;margin:0;padding:0}.sf-menu{display:flex;align-items:center;gap:1.25rem}.sf-menu a{color:var(--sf-header-text);font-weight:700}.sf-menu .current-menu-item>a,.sf-menu a:hover{color:var(--sf-primary);text-decoration:none}
.sf-mobile-secondary{border-top:1px solid var(--sf-border);background:var(--sf-mobile-nav-bg)}
.sf-mobile-secondary__scroll{overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-block:.55rem}.sf-mobile-secondary__scroll::-webkit-scrollbar{display:none}.sf-secondary-menu{display:flex;gap:.5rem;width:max-content}.sf-secondary-menu li{display:inline-flex}.sf-secondary-menu a{display:inline-flex;min-height:36px;align-items:center;padding:.45rem .75rem;border:1px solid var(--sf-border);border-radius:999px;color:var(--sf-text);font-size:.9rem;font-weight:700}.sf-secondary-menu .current-menu-item>a{background:var(--sf-primary);border-color:var(--sf-primary);color:#fff}.sf-secondary-menu a:hover{text-decoration:none;border-color:var(--sf-primary)}

/* =========================================================
   MOBILE DRAWER / SEARCH OVERLAY
========================================================= */

.sf-mobile-drawer,.sf-search-overlay{position:fixed;inset:0;z-index:1000}.sf-mobile-drawer[hidden],.sf-search-overlay[hidden]{display:none}.sf-mobile-drawer__backdrop,.sf-search-overlay__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48)}
.sf-mobile-drawer__panel{position:absolute;inset-block:0;inset-inline-start:0;width:min(86vw,360px);background:var(--sf-bg);padding:var(--space-4);overflow:auto;transform:translateX(0);box-shadow:var(--sf-shadow)}.sf-mobile-drawer__top,.sf-search-overlay__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:var(--space-5)}.sf-mobile-drawer__branding{display:flex;align-items:center;min-width:0;max-width:220px}.sf-mobile-drawer__branding .custom-logo-link{display:inline-flex;align-items:center;max-width:100%}.sf-mobile-drawer__branding .custom-logo{display:block;width:auto;max-width:190px;max-height:48px;margin:0;object-fit:contain}.sf-mobile-drawer__branding .sf-site-title{display:block;max-width:190px}.sf-mobile-menu li{border-bottom:1px solid var(--sf-border)}.sf-mobile-menu a{display:block;padding:.9rem 0;color:var(--sf-text);font-weight:700}
.sf-search-overlay{display:grid;place-items:start center;padding:8vh 1rem 1rem}.sf-search-overlay__panel{position:relative;width:min(100%,720px);background:var(--sf-bg);padding:var(--space-5);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow)}
body.sf-overlay-open{overflow:hidden}

/* =========================================================
   FORMS
========================================================= */

label{font-weight:700}.sf-search-form__label{display:block;margin-bottom:.5rem}.sf-search-form__row{display:flex;gap:.75rem}.sf-search-form__input,input[type=text],input[type=email],input[type=url],input[type=search],input[type=number],input[type=password],select,textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111;padding:.7rem .8rem}.sf-search-form__input:focus,input:focus,select:focus,textarea:focus{border-color:var(--sf-primary)}textarea{min-height:120px;resize:vertical}
.wpcf7-form,.wpforms-form{max-width:760px}.wpcf7-form p{margin-bottom:1rem}.wpforms-container input,.wpforms-container textarea,.wpcf7 input,.wpcf7 textarea,.wpcf7 select{min-height:44px}

/* =========================================================
   SECTION HEADING
========================================================= */

.sf-section-heading{margin-bottom:var(--space-5)}.sf-section-heading__top{display:flex;align-items:end;justify-content:space-between;gap:.75rem}.sf-section-heading__title{display:inline-flex;align-items:center;min-height:40px;margin:0;padding:.55rem .85rem;background:var(--sf-section-bg);color:var(--sf-section-text);border-radius:8px 8px 0 0;font-size:clamp(1rem,2.2vw,1.3rem)}.sf-section-heading__more{display:inline-flex;align-items:center;gap:.25rem;padding:.45rem 0;color:var(--sf-primary);font-weight:800;font-size:.9rem;white-space:nowrap}.sf-section-heading__line{height:2px;background:linear-gradient(to right,var(--sf-section-line) 0 22%,var(--sf-section-bar-line) 22% 100%)}

/* =========================================================
   CATEGORY BADGES / META
========================================================= */

.sf-category-badge{display:inline-flex;width:max-content;max-width:100%;padding:.34rem .62rem;border-radius:6px;background:var(--sf-badge-bg);color:var(--sf-badge-text);font-size:.84rem;line-height:1.3;font-weight:800;overflow-wrap:anywhere}.sf-category-badge:hover{background:var(--sf-primary);color:var(--sf-button-text);text-decoration:none}.sf-post-card__date,.sf-single-meta,.sf-archive-count,.sf-artist-card__count,.sf-artist-profile__count{color:var(--sf-muted);font-size:.85rem}

/* =========================================================
   POST LAYOUTS — SHARED
========================================================= */

.sf-post-layout{display:grid;gap:var(--space-4)}.sf-post-card{min-width:0;border:1px solid var(--sf-post-border);border-radius:var(--sf-radius);background:var(--sf-bg);overflow:hidden}.sf-post-card__media{display:block;overflow:hidden;background:#eef2f7}.sf-post-card__media:hover{text-decoration:none}.sf-post-image,.sf-image-placeholder{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}.sf-image-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#eef2f7,#e2e8f0);color:#64748b;font-weight:900;letter-spacing:.08em}.sf-post-card__content{min-width:0;padding:var(--space-3)}.sf-post-card__title{margin:.45rem 0 .45rem;font-family:var(--sf-heading-font);font-size:1rem;line-height:1.26;overflow-wrap:anywhere}.sf-post-card__title a{color:var(--sf-text)}.sf-post-card__title a:hover{color:var(--sf-primary);text-decoration:none}

/* =========================================================
   POST LAYOUT 1
========================================================= */

.sf-post-layout--1{grid-template-columns:1fr}.sf-post-card--horizontal{display:grid;grid-template-columns:clamp(120px,22vw,190px) minmax(0,1fr);align-items:center}.sf-post-card--horizontal .sf-post-card__media{width:100%;aspect-ratio:4/3;min-height:0;align-self:center;border:1px solid #e5e7eb;border-radius:calc(var(--sf-radius) * .75);box-sizing:border-box}.sf-post-card--horizontal .sf-post-image,.sf-post-card--horizontal .sf-image-placeholder{width:100%;height:100%;aspect-ratio:4/3;min-height:0;object-fit:cover}

/* =========================================================
   POST LAYOUT 2 — GRID
========================================================= */

.sf-post-layout--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.sf-post-card--grid .sf-post-card__media{aspect-ratio:16/10}.sf-post-card--grid .sf-post-image,.sf-post-card--grid .sf-image-placeholder{aspect-ratio:16/10}.sf-post-card--grid .sf-post-card__content{padding:.7rem}.sf-post-card--grid .sf-post-card__title{font-size:.92rem}

/* =========================================================
   POST LAYOUT 3 — FEATURED + COMPACT
========================================================= */

.sf-post-layout--3{grid-template-columns:1fr}.sf-post-card--feature .sf-post-card__media{aspect-ratio:16/8}.sf-post-card--feature .sf-post-card__title{font-size:clamp(1.25rem,3vw,2rem)}.sf-post-card--compact{display:grid;grid-template-columns:34% minmax(0,1fr)}.sf-post-card--compact .sf-post-card__media{min-height:105px}.sf-post-card--compact .sf-post-image,.sf-post-card--compact .sf-image-placeholder{aspect-ratio:auto;min-height:100%}

/* =========================================================
   POST LAYOUT 4 — TEXT LEFT / IMAGE RIGHT
========================================================= */

.sf-post-layout--4{grid-template-columns:1fr}.sf-post-card--right-image{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;padding:.35rem}.sf-post-card--right-image .sf-post-card__content{padding:.65rem}.sf-post-card--right-image .sf-post-card__media{width:84px;height:84px;border-radius:50%;justify-self:end}.sf-post-card--right-image .sf-post-image,.sf-post-card--right-image .sf-image-placeholder{aspect-ratio:1/1;border-radius:50%}

/* =========================================================
   ARTISTS
========================================================= */

.sf-artists--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.sf-artists--grid .sf-artist-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.75rem;border:1px solid var(--sf-border);border-radius:var(--sf-radius);color:var(--sf-text)}.sf-artists--grid .sf-artist-card:hover{border-color:var(--sf-primary);text-decoration:none}.sf-artist-card__image{width:min(100%,88px);aspect-ratio:1/1;margin-bottom:.7rem;border-radius:50%;overflow:hidden;background:#eef2f7}.sf-artist-image,.sf-artist-fallback{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}.sf-artist-fallback{display:grid;place-items:center;background:color-mix(in srgb,var(--sf-primary) 15%,white);color:var(--sf-primary);font-size:2rem;font-weight:900}.sf-artist-card__name{font-weight:800;overflow-wrap:anywhere}
.sf-artists--list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}.sf-artists--list .sf-artist-card{display:grid;grid-template-columns:10px minmax(0,1fr);grid-template-areas:"bullet name" ". count";column-gap:.6rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--sf-border);color:var(--sf-text)}.sf-artists--list .sf-artist-card:hover{color:var(--sf-primary);text-decoration:none}.sf-artist-card__bullet{grid-area:bullet;width:7px;height:7px;border-radius:50%;background:var(--sf-primary)}.sf-artists--list .sf-artist-card__name{grid-area:name}.sf-artists--list .sf-artist-card__count{grid-area:count}
.sf-artist-profile{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-5);align-items:start;padding:var(--space-5);border:1px solid var(--sf-border);border-radius:var(--sf-radius);margin-bottom:var(--space-7)}.sf-artist-profile__identity{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem}.sf-artist-profile__image{width:88px;height:88px;border-radius:50%;overflow:hidden;flex:0 0 auto}.sf-artist-profile__identity-text h1{font-size:clamp(1.35rem,4vw,2rem);margin-bottom:.25rem}.sf-artist-profile__details{min-width:0}.sf-artist-profile__bio{max-width:760px}.sf-artist-profile__bio h2{font-size:1rem;margin:0 0 .45rem}.sf-artist-profile__bio.is-collapsible:not(.is-expanded) .sf-artist-profile__bio-content{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.sf-artist-bio-toggle{margin-top:.65rem;padding:0;border:0;background:transparent;color:var(--sf-primary);font-weight:800;cursor:pointer}.sf-artist-description{margin:-1.5rem 0 var(--space-7);padding:var(--space-4) 0;border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border);max-width:860px}.sf-artist-socials{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.sf-artist-socials__link{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--sf-border);border-radius:8px;color:var(--sf-primary);background:var(--sf-bg)}.sf-artist-socials__link:hover{background:var(--sf-primary);border-color:var(--sf-primary);color:var(--sf-button-text);text-decoration:none}.sf-artist-socials__link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sf-artist-socials__link svg .sf-icon-fill{fill:currentColor;stroke:none}
.sf-artist-filter{max-width:620px;margin-bottom:var(--space-4)}.sf-az-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:var(--space-4) 0}.sf-az-nav a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .45rem;border:1px solid var(--sf-border);border-radius:6px;color:var(--sf-text);font-weight:800}.sf-az-nav a.is-active,.sf-az-nav a:hover{background:var(--sf-primary);border-color:var(--sf-primary);color:#fff;text-decoration:none}.sf-directory-view-toggle{display:flex;gap:.6rem;margin-bottom:var(--space-5)}

/* =========================================================
   SLIDER
========================================================= */

.sf-slider{position:relative}.sf-slider__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sf-slider__viewport::-webkit-scrollbar{display:none}.sf-slider__track{display:flex;gap:var(--sf-slider-gap)}.sf-slider__slide{flex:0 0 calc((100% - (var(--sf-slider-mobile) - 1)*var(--sf-slider-gap))/var(--sf-slider-mobile));scroll-snap-align:start;min-width:0}.sf-slider__arrows{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.sf-slider__dots{display:flex;justify-content:center;gap:.35rem;margin-top:.8rem}.sf-slider__dot{width:8px;height:8px;border:0;border-radius:50%;background:#cbd5e1;padding:0;cursor:pointer}.sf-slider__dot.is-active{background:var(--sf-primary)}

/* =========================================================
   SINGLE POST
========================================================= */

.sf-single-container{max-width:var(--sf-container)}.sf-breadcrumbs{margin-bottom:var(--space-4);font-size:.85rem;color:var(--sf-muted)}.sf-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:0}.sf-breadcrumbs li:not(:last-child)::after{content:"›";margin-inline-start:.35rem;color:#94a3b8}.sf-single-header-card{background:var(--sf-single-bg);border:1px solid var(--sf-single-border);border-radius:var(--sf-single-radius);padding:var(--sf-single-padding);margin-bottom:var(--space-5)}.sf-single-title{font-size:clamp(1.5rem,4.5vw,2.5rem);color:var(--sf-single-heading);margin:.7rem 0}.sf-single-meta{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--sf-single-meta)}.sf-single-meta a{font-weight:700}.sf-share{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--space-4)}.sf-share__button{display:inline-flex;align-items:center;min-height:38px;padding:.45rem .65rem;border:1px solid var(--sf-border);border-radius:7px;background:var(--sf-bg);color:var(--sf-text);font-size:.8rem;font-weight:800;cursor:pointer}.sf-share__button:hover{border-color:var(--sf-primary);color:var(--sf-primary);text-decoration:none}.sf-single-featured{margin-bottom:var(--space-5);border-radius:var(--sf-radius);overflow:hidden}.sf-single-featured .sf-post-image,.sf-single-featured .sf-image-placeholder{aspect-ratio:16/9}
.sf-entry-content{max-width:760px;margin-inline:auto;font-size:1.04rem}.sf-entry-content>*+*{margin-top:1.1em}.sf-entry-content h2{font-size:clamp(1.45rem,3vw,2rem);margin-top:1.6em}.sf-entry-content h3{font-size:clamp(1.2rem,2.5vw,1.6rem);margin-top:1.5em}.sf-entry-content blockquote{margin-inline:0;padding:1rem 1.2rem;border-inline-start:4px solid var(--sf-primary);background:var(--sf-surface)}.sf-entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.sf-entry-content th,.sf-entry-content td{border:1px solid var(--sf-border);padding:.65rem;text-align:start}.sf-entry-content .alignwide{max-width:min(100vw - 2rem,1000px);width:1000px;margin-inline:50%;transform:translateX(-50%)}.sf-entry-content .alignfull{max-width:100vw;width:100vw;margin-inline:50%;transform:translateX(-50%)}
.sf-notice-box{max-width:760px;margin:var(--space-6) auto;padding:1rem 1.1rem;background:var(--sf-notice-bg);border:1px solid var(--sf-notice-border);border-inline-start:4px solid var(--sf-notice-accent);border-radius:var(--sf-notice-radius);color:var(--sf-notice-text)}.sf-notice-box a{color:var(--sf-notice-link);font-weight:700}.sf-single-related{margin-top:var(--space-7)}

/* =========================================================
   ARCHIVES / EMPTY STATES / 404
========================================================= */

.sf-archive-header{margin-bottom:var(--space-5)}.sf-archive-header h1{font-size:clamp(1.45rem,3.5vw,2.2rem)}.sf-page h1{font-size:clamp(1.8rem,5vw,3rem)}.sf-archive-description{max-width:760px;color:#475569}.sf-empty-state,.sf-404{max-width:720px;margin:var(--space-7) auto;padding:var(--space-6);text-align:center;border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-surface)}.sf-empty-state .sf-search-form,.sf-404 .sf-search-form{margin-top:var(--space-5);text-align:start}.sf-404__code{font-size:clamp(3rem,12vw,7rem);font-weight:900;line-height:1;color:var(--sf-primary)}

/* =========================================================
   PAGINATION
========================================================= */

.sf-pagination{margin-top:var(--space-6);width:100%}.sf-pagination ul.page-numbers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}.sf-pagination ul.page-numbers>li{display:block;margin:0;padding:0}.sf-pagination a.page-numbers,.sf-pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin:0;padding:.45rem .7rem;border:1px solid var(--sf-border);border-radius:7px;background:var(--sf-bg);color:var(--sf-text);line-height:1;text-align:center;text-decoration:none}.sf-pagination .page-numbers.current,.sf-pagination a.page-numbers:hover,.sf-pagination a.page-numbers:focus-visible{background:var(--sf-primary);border-color:var(--sf-primary);color:#fff;text-decoration:none}.sf-pagination .page-numbers.prev,.sf-pagination .page-numbers.next{width:auto;min-width:40px;padding-inline:.85rem}

/* =========================================================
   COMMENTS
========================================================= */

.sf-comments{max-width:760px;margin:var(--space-7) auto 0}.sf-comment-list{list-style:none;padding:0}.sf-comment-list .children{list-style:none;padding-inline-start:1.25rem}.comment-body{padding:1rem 0;border-bottom:1px solid var(--sf-border)}.comment-meta{font-size:.85rem;color:var(--sf-muted)}.comment-author{display:flex;align-items:center;gap:.6rem}.comment-author img{border-radius:50%}.reply a{font-weight:700}.comment-form label{display:block;margin-bottom:.25rem}

/* =========================================================
   FOOTER / BACK TO TOP
========================================================= */

.sf-site-footer{margin-top:var(--space-7);padding-block:var(--space-7) var(--space-5);background:var(--sf-footer-bg);color:var(--sf-footer-text)}.sf-site-footer a{color:var(--sf-footer-text)}.sf-site-footer .sf-site-title{color:var(--sf-footer-text)}.sf-footer-brand{max-width:540px}.sf-footer-widgets{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin:var(--space-6) 0}.sf-footer-menu{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.sf-footer-socials{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.sf-footer-bottom{display:flex;flex-direction:column;gap:.25rem;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.15);font-size:.86rem;color:#94a3b8}.sf-back-to-top{position:fixed;inset-inline-end:1rem;bottom:1rem;z-index:90;width:46px;height:46px;border:0;border-radius:50%;background:var(--sf-primary);color:#fff;box-shadow:var(--sf-shadow);cursor:pointer}.sf-back-to-top[hidden]{display:none}

/* =========================================================
   NEWSLETTER / CTA
========================================================= */

.sf-newsletter{padding:var(--space-6);border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-surface);text-align:center}.sf-newsletter>*{max-width:760px;margin-inline:auto}

/* =========================================================
   WOOCOMMERCE BASIC COMPATIBILITY
========================================================= */

.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;border:1px solid var(--sf-border);padding:.75rem;border-radius:var(--sf-radius)}.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{background:var(--sf-primary);color:#fff;border-radius:8px}

/* =========================================================
   RESPONSIVE ENHANCEMENTS
========================================================= */

@media (min-width:480px){
  .sf-post-layout--2{gap:1rem}.sf-post-card--grid .sf-post-card__title{font-size:1rem}
  .sf-artists--grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px){
  .sf-header-mobile,.sf-mobile-secondary{display:none}.sf-header-desktop{display:flex}
  .sf-post-layout--1{grid-template-columns:1fr}
  .sf-post-layout--2{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sf-post-layout--3{grid-template-columns:1fr}.sf-post-card--feature .sf-post-card__media{height:auto}.sf-post-card--feature{display:block}
  .sf-post-layout--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sf-artists--grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sf-artists--list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sf-slider__slide{flex-basis:calc((100% - (var(--sf-slider-tablet) - 1)*var(--sf-slider-gap))/var(--sf-slider-tablet))}
  .sf-footer-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}
}
@media (min-width:1024px){
  .sf-post-layout--2{grid-template-columns:repeat(var(--sf-grid-cols),minmax(0,1fr))}
  .sf-artists--grid{grid-template-columns:repeat(6,minmax(0,1fr))}.sf-artists--list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sf-slider__slide{flex-basis:calc((100% - (var(--sf-slider-desktop) - 1)*var(--sf-slider-gap))/var(--sf-slider-desktop))}
  .sf-footer-widgets{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:420px){
  .sf-container{width:min(calc(100% - 1rem),var(--sf-container))}
  .sf-post-card--horizontal{grid-template-columns:110px minmax(0,1fr)}.sf-post-card--horizontal .sf-post-card__content{padding:.55rem}.sf-post-card--horizontal .sf-post-card__title{font-size:.9rem}
  .sf-post-card--grid .sf-post-card__content{padding:.55rem}.sf-post-card--grid .sf-post-card__title{font-size:.84rem}.sf-category-badge{font-size:.80rem}.sf-post-card__date{font-size:.75rem}
  .sf-artists--list{column-gap:.75rem}.sf-artists--list .sf-artist-card{font-size:.9rem}
  .sf-search-form__row{flex-direction:column}.sf-search-form__row .sf-button{width:100%}
  .sf-single-header-card{padding:1rem}.sf-share__button{flex:1 1 calc(33.333% - .5rem);justify-content:center}.sf-section-heading__more{font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* =========================================================
   ACCESSIBILITY / WORDPRESS ADMIN BAR
========================================================= */

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;margin:0;padding:.75rem 1rem;clip:auto;background:#fff;color:#000;z-index:10000}
.sf-mobile-drawer__panel{animation:sf-drawer-in .18s ease-out}.sf-search-overlay__panel{animation:sf-overlay-in .16s ease-out}@keyframes sf-drawer-in{from{transform:translateX(-18px);opacity:.7}to{transform:translateX(0);opacity:1}}@keyframes sf-overlay-in{from{transform:translateY(-8px);opacity:.75}to{transform:translateY(0);opacity:1}}
.admin-bar .sf-site-header.is-sticky{top:32px}@media(max-width:782px){.admin-bar .sf-site-header.is-sticky{top:46px}}

/* =========================================================
   TYPOGRAPHY SCALE
========================================================= */

.sf-page h1{font-size:clamp(1.8rem,calc(2.3rem * var(--sf-heading-scale)),3.4rem)}
.sf-entry-content h2{font-size:var(--sf-h2-size)}
.sf-entry-content h3{font-size:var(--sf-h3-size)}
.sf-entry-content h4{font-size:var(--sf-h4-size)}
.sf-entry-content h5{font-size:var(--sf-h5-size)}


@media(max-width:480px){
  .sf-entry-content h2{font-size:min(var(--sf-h2-size),1.75rem)}
  .sf-entry-content h3{font-size:min(var(--sf-h3-size),1.5rem)}
  .sf-entry-content h4{font-size:min(var(--sf-h4-size),1.3rem)}
  .sf-entry-content h5{font-size:min(var(--sf-h5-size),1.15rem)}
}

/* =========================================================
   FOOTER CATEGORY LINKS
========================================================= */


/* =========================================================
   SITEWIDE CONTENT / SIDEBAR LAYOUT
========================================================= */

.sf-site-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);align-items:start}
.sf-content-area{min-width:0}
.sf-sidebar{min-width:0;display:grid;gap:var(--space-5)}
.sf-sidebar-widget{padding:var(--space-4);border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-bg)}
.sf-sidebar .sf-widget-heading{margin-bottom:var(--space-4)}.sf-sidebar .sf-widget-heading .sf-section-heading__title{font-size:1.05rem}.sf-sidebar-widget__title,.sf-sidebar .widget-title{margin:0}
.sf-sidebar ul{list-style:none;margin:0;padding:0}
.sf-sidebar li+li{margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--sf-border)}
.sf-sidebar select,.sf-sidebar input,.sf-sidebar textarea{max-width:100%}
.sf-sidebar img{height:auto}

/* =========================================================
   BREADCRUMBS
========================================================= */

.sf-breadcrumbs{padding-top:20px;margin-bottom:var(--space-5);display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--sf-muted);font-size:.9rem}
.sf-breadcrumbs a{color:var(--sf-primary);font-weight:500;text-decoration:none}
.sf-breadcrumbs a:hover{text-decoration:underline}
.sf-breadcrumbs__separator{color:#94a3b8;line-height:1}
.sf-breadcrumbs [aria-current="page"]{color:var(--sf-muted);overflow-wrap:anywhere}

/* =========================================================
   SINGLE POST SHARE ROW
========================================================= */

.sf-share{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:var(--space-4)}
.sf-share__label{font-size:.86rem;font-weight:800;color:var(--sf-single-meta);white-space:nowrap}
.sf-share__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}
.sf-share__button{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;min-height:38px;padding:0;border:1px solid var(--sf-border);border-radius:8px;background:var(--sf-bg);color:var(--sf-text);cursor:pointer}
.sf-share__button .sf-icon{width:1rem;height:1rem}
.sf-share__button:hover{border-color:var(--sf-primary);background:color-mix(in srgb,var(--sf-primary) 7%,white);color:var(--sf-primary);text-decoration:none}

/* =========================================================
   HEADER TO CONTENT SPACING
========================================================= */

.sf-site-header + .sf-main{padding-top:var(--space-6)}

@media (min-width:1024px){
  .sf-site-layout.has-sidebar{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:var(--space-7)}
  .sf-sidebar{
    position:sticky;
    top:calc(var(--sf-sticky-header-height, 0px) + var(--space-4));
    align-self:start;
  }
  body.admin-bar .sf-sidebar{
    top:calc(var(--sf-sticky-header-height, 0px) + 32px + var(--space-4));
  }
}

@media (max-width:767px){
  .sf-site-header + .sf-main{padding-top:var(--space-5)}
  .sf-share{gap:.5rem}
  .sf-share__actions{gap:.35rem}
  .sf-share__button{width:36px;height:36px;min-height:36px;border-radius:7px}
}

@media (max-width:480px){
  .sf-share__button{flex:0 0 auto;justify-content:center}
}

/* Artist profile mobile flow: identity first, then bio/description, then social icons. */
@media (max-width:767px){.sf-artist-profile{display:block;padding:var(--space-4)}.sf-artist-profile__identity{margin-bottom:var(--space-5)}.sf-artist-profile__image{width:72px;height:72px}.sf-artist-profile__details{width:100%}.sf-artist-profile__bio{max-width:none}.sf-artist-description{margin-top:-1rem}.sf-artist-socials{margin-top:var(--space-4)}}
@media (min-width:768px){.sf-artists--grid .sf-artist-card__image{width:112px}}


/* =========================================================
   SIDEBAR POST LAYOUTS
========================================================= */

.sf-sidebar .sf-category-badge{display:none!important}
.sf-sidebar .sf-post-layout{gap:.75rem}
.sf-sidebar .sf-post-layout--2{grid-template-columns:1fr}
.sf-sidebar .sf-post-card--horizontal{grid-template-columns:92px minmax(0,1fr)}
.sf-sidebar .sf-post-card--horizontal .sf-post-card__content{padding:.65rem}
.sf-sidebar .sf-post-card--compact{grid-template-columns:92px minmax(0,1fr)}
.sf-sidebar .sf-post-card--feature .sf-post-card__title{font-size:1.05rem}
.sf-sidebar .sf-category-badge{font-size:.78rem}


/* =========================================================
   STICKY HEADER LAYOUT RESERVATION
========================================================= */

body.sf-has-sticky-header{padding-top:var(--sf-sticky-header-height,64px)}
@media (min-width:768px){body.sf-has-sticky-header{padding-top:var(--sf-sticky-header-height,74px)}}

/* =========================================================
   CATEGORY HEADER BAR
========================================================= */

.sf-category-header .sf-section-heading{margin-bottom:var(--space-4)}
.sf-category-header .sf-section-heading__title{font-size:clamp(1rem,2.2vw,1.3rem)}
.sf-category-header .sf-archive-description{margin-top:0}

/* =========================================================
   COMMENT SECTION
========================================================= */

.sf-comments{max-width:760px;margin:var(--space-7) auto 0}
.sf-comments__heading{margin-bottom:var(--space-5)}
.sf-comments__title{font-size:clamp(1rem,2.2vw,1.25rem)}
.sf-comment-list{display:grid;gap:var(--space-4);list-style:none;margin:0;padding:0}
.sf-comment-list .children{display:grid;gap:var(--space-3);list-style:none;margin:var(--space-3) 0 0;padding-inline-start:clamp(.75rem,3vw,1.5rem);border-inline-start:2px solid var(--sf-border)}
.sf-comment-list .comment{min-width:0}
.sf-comment-list .comment-body{position:relative;padding:var(--space-4);border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-bg)}
.sf-comment-list .comment-meta{margin-bottom:.7rem;color:var(--sf-muted);font-size:.82rem}
.sf-comment-list .comment-author{display:flex;align-items:center;gap:.65rem;margin-bottom:.2rem}
.sf-comment-list .comment-author .avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
.sf-comment-list .comment-author .fn{font-style:normal;font-weight:800;color:var(--sf-text)}
.sf-comment-list .comment-metadata{margin-inline-start:calc(44px + .65rem)}
.sf-comment-list .comment-metadata a{color:var(--sf-muted)}
.sf-comment-list .comment-content{font-size:.96rem;overflow-wrap:anywhere}
.sf-comment-list .comment-content>*:last-child{margin-bottom:0}
.sf-comment-list .reply{margin-top:.75rem}
.sf-comment-list .reply a{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .65rem;border:1px solid var(--sf-border);border-radius:7px;color:var(--sf-primary);font-size:.82rem;font-weight:800}
.sf-comment-list .reply a:hover{border-color:var(--sf-primary);text-decoration:none}
.sf-comments .comment-respond{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-surface)}
.sf-comments .comment-reply-title{margin-bottom:.4rem;font-size:1.25rem}
.sf-comments .comment-reply-title small{margin-inline-start:.4rem;font-family:var(--sf-body-font);font-size:.75rem}
.sf-comments .comment-notes,.sf-comments .logged-in-as{color:var(--sf-muted);font-size:.88rem}
.sf-comments .comment-form{display:grid;gap:var(--space-4)}
.sf-comments .comment-form p{margin:0}
.sf-comments .comment-form label{display:block;margin-bottom:.4rem;font-size:.9rem}
.sf-comments .comment-form textarea,.sf-comments .comment-form input[type=text]{background:var(--sf-bg)}
.sf-comments .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:.55rem}
.sf-comments .comment-form-cookies-consent input{width:auto;min-height:0;margin-top:.2rem}
.sf-comments .comment-form-cookies-consent label{margin:0;font-weight:500;color:var(--sf-muted)}
.sf-comments .form-submit{margin-top:.2rem}
.sf-comments .form-submit input[type=submit]{min-width:140px}
.sf-comments .navigation.comment-navigation,.sf-comments .comments-pagination{margin:var(--space-5) 0}

@media (max-width:480px){
  .sf-comments .comment-respond{padding:var(--space-4)}
  .sf-comment-list .comment-body{padding:.85rem}
  .sf-comment-list .comment-metadata{margin-inline-start:0;margin-top:.35rem}
}

body.sf-has-sticky-header.sf-has-mobile-secondary{padding-top:var(--sf-sticky-header-height,117px)}
@media (min-width:768px){body.sf-has-sticky-header.sf-has-mobile-secondary{padding-top:var(--sf-sticky-header-height,74px)}}

/* =========================================================
   SINGLE POST CONTENT SPACING & MEDIA
   Keeps article text comfortably inset and gives images added
   inside post content a consistent StreetFlows border.
========================================================= */
.sf-single .sf-entry-content{
  box-sizing:border-box;
  width:100%;
  padding-inline:clamp(.85rem,2.2vw,1.35rem);
}
.sf-single .sf-entry-content img{
  max-width:100%;
  height:auto;
  border:1px solid #e5e7eb;
  border-radius:var(--sf-radius);
}
.sf-single .sf-entry-content figure{
  max-width:100%;
}
.sf-single .sf-entry-content figure img{
  display:block;
}
@media (max-width:480px){
  .sf-single .sf-entry-content{padding-inline:.75rem}
}


/* =========================================================
   ADVERTISEMENTS
   Responsive wrappers for Theme Options advertisement slots.
========================================================= */
.sf-ad{
  width:100%;
  max-width:100%;
  margin-block:var(--space-5);
  text-align:center;
  overflow:hidden;
}
.sf-ad iframe,.sf-ad img,.sf-ad video,.sf-ad object,.sf-ad embed{max-width:100%;height:auto}
.sf-ad ins{max-width:100%}
.sf-ad--header,.sf-ad--below-header,.sf-ad--before-footer{padding-inline:0}
.sf-sidebar .sf-ad{margin-top:0;margin-bottom:var(--space-5)}
.sf-site-footer .sf-ad{margin-top:0;margin-bottom:var(--space-5)}
.sf-entry-content .sf-ad--inside-content{margin:var(--space-6) 0;padding-inline:0}
@media (max-width:767px){
  .sf-ad{margin-block:var(--space-4)}
  .sf-entry-content .sf-ad--inside-content{margin-block:var(--space-5)}
}

/* =========================================================
   SONG LIKES & RATINGS / SINGLE ENGAGEMENT ROW
========================================================= */
.sf-single-engagement{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--sf-border)}
.sf-single-engagement .sf-share{margin-top:0;flex:0 1 auto}
.sf-song-reactions{display:flex;align-items:stretch;flex:0 1 auto;gap:.55rem;margin:0;padding:0;border:0}
.sf-song-reactions__like-wrap{display:flex;align-items:stretch}
.sf-like-button{display:flex;align-items:center;gap:.5rem;min-height:42px;padding:.4rem .65rem;border:1px solid var(--sf-border);border-radius:9px;background:var(--sf-bg);color:var(--sf-text);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.sf-like-button:hover,.sf-like-button:focus-visible{border-color:var(--sf-primary);outline:none}
.sf-like-button__heart{font-size:1.65rem;line-height:1;color:var(--sf-primary);transition:transform .15s ease,color .15s ease}
.sf-like-button.is-liked .sf-like-button__heart{color:#e11d48;transform:scale(1.06)}
.sf-like-button.is-liked .sf-like-button__heart::before{content:"♥";position:absolute}
.sf-like-button.is-liked .sf-like-button__heart{font-size:0}
.sf-like-button.is-liked .sf-like-button__heart::before{position:static;font-size:1.65rem}
.sf-like-button__content{display:grid;text-align:left;line-height:1.05}
.sf-like-button__content strong{font-size:.86rem}
.sf-like-button__content span{font-size:.68rem;color:var(--sf-muted);margin-top:.1rem}
.sf-song-rating{display:flex;align-items:center;gap:.55rem;min-height:42px;padding:.4rem .65rem;border:1px solid var(--sf-border);border-radius:9px;background:var(--sf-bg)}
.sf-song-rating__stars{display:flex;align-items:center;gap:0}
.sf-rating-star{appearance:none;border:0;background:transparent;color:#cbd5e1;font-size:1.2rem;line-height:1;padding:.08rem .04rem;cursor:pointer}
.sf-rating-star:hover,.sf-rating-star:focus-visible,.sf-rating-star.is-selected{color:#f59e0b;outline:none}
.sf-rating-star:disabled,.sf-like-button:disabled{opacity:.6;cursor:wait}
.sf-song-rating__summary{display:grid;line-height:1.05;border-left:1px solid var(--sf-border);padding-left:.55rem;min-width:72px}
.sf-song-rating__summary strong{font-size:.82rem}
.sf-song-rating__summary span{font-size:.64rem;color:var(--sf-muted);margin-top:.1rem}
@media (max-width:767px){
  .sf-single-engagement{display:block;margin-top:var(--space-4);padding-top:var(--space-4)}
  .sf-single-engagement .sf-share{width:100%;margin:0 0 .7rem}
  .sf-song-reactions{display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.65fr);gap:.45rem;width:100%}
  .sf-song-reactions__like-wrap,.sf-like-button,.sf-song-rating{width:100%;min-width:0}
  .sf-like-button{justify-content:flex-start;padding:.42rem .55rem}
  .sf-song-rating{justify-content:space-between;padding:.42rem .55rem;gap:.35rem}
  .sf-rating-star{font-size:1.08rem;padding:.06rem .02rem}
  .sf-song-rating__summary{margin-left:auto;min-width:64px;padding-left:.45rem}
  .sf-song-rating__summary strong{font-size:.78rem}
  .sf-song-rating__summary span{font-size:.6rem}
}
@media (max-width:390px){
  .sf-song-reactions{grid-template-columns:minmax(82px,.68fr) minmax(0,1.72fr)}
  .sf-like-button__heart{font-size:1.45rem}
  .sf-like-button.is-liked .sf-like-button__heart::before{font-size:1.45rem}
  .sf-like-button__content strong{font-size:.8rem}
  .sf-like-button__content span{font-size:.62rem}
  .sf-rating-star{font-size:1rem}
  .sf-song-rating__summary{min-width:58px}
}

/* =========================================================
   MOBILE PERFORMANCE OPTIMIZATIONS
   Reduce off-screen rendering work on long mobile pages and keep horizontal
   touch components isolated from whole-page scrolling.
========================================================= */
@media (max-width:767px){
  .sf-home-section:not(:first-of-type),
  .sf-single-related,
  .sf-comments,
  .sf-sidebar-widget{
    content-visibility:auto;
    contain-intrinsic-size:auto 560px;
  }
  .sf-mobile-secondary__scroll,
  .sf-slider__viewport{
    overscroll-behavior-inline:contain;
    touch-action:pan-x pinch-zoom;
  }
  .sf-mobile-secondary__scroll{scroll-snap-type:x proximity}
  .sf-secondary-menu li{scroll-snap-align:start}
  .sf-post-card__media,.sf-artist-card__media{contain:paint}
}


/* =========================================================
   GOOGLE PREFERRED SOURCE
========================================================= */
.sf-google-source{max-width:760px;margin:var(--space-6) auto;padding:1rem 1.1rem;border:1px solid #e5e7eb;border-radius:var(--sf-radius);background:var(--sf-surface);display:flex;align-items:center;justify-content:space-between;gap:1rem}.sf-google-source__content{min-width:0}.sf-google-source__title{margin:0 0 .25rem;font-size:1.05rem;line-height:1.3}.sf-google-source__content p{margin:0;color:var(--sf-muted);font-size:.94rem}.sf-google-source__button{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto;white-space:nowrap}.sf-google-source__g{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;font-family:Arial,sans-serif;font-size:.9rem}@media(max-width:640px){.sf-google-source{align-items:flex-start;flex-direction:column}.sf-google-source__button{width:100%;justify-content:center}}

/* Featured Posts carousel controls */
.sf-featured-carousel{padding:12px;border-radius:var(--sf-radius)}
.sf-featured-carousel--square .sf-post-card__media,.sf-featured-carousel--square .sf-post-image{aspect-ratio:1/1}
.sf-featured-carousel--portrait .sf-post-card__media,.sf-featured-carousel--portrait .sf-post-image{aspect-ratio:3/4}
.sf-featured-carousel--landscape .sf-post-card__media,.sf-featured-carousel--landscape .sf-post-image{aspect-ratio:16/10}
.sf-featured-carousel .sf-post-card__date{display:var(--sf-featured-date,block)}

.sf-featured-carousel[data-hide-category="1"] .sf-category-badge{display:none}
.sf-featured-carousel[data-hide-date="1"] .sf-post-card__date{display:none}
.sf-featured-carousel[data-hide-title="1"] .sf-post-card__title{display:none}

/* Single post: display the entire featured image without cropping. */
.single-post .sf-single-featured .sf-post-image,
.single .sf-single-featured .sf-post-image { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; }
.single-post .sf-single-featured, .single .sf-single-featured { height:auto; max-height:none; }

/* v1.1.37: Consistent, compact spacing for headings within single-post content.
   Includes Gutenberg heading blocks and classic-editor markup. */
.single .sf-entry-content > h2,
.single .sf-entry-content > h3,
.single .sf-entry-content > h4,
.single .sf-entry-content > h5,
.single .sf-entry-content > h6,
.single .sf-entry-content > .wp-block-heading {
  margin-block-start: 1em;
  margin-block-end: .55em;
}
.single .sf-entry-content > :is(p, .wp-block-paragraph) + :is(h2, h3, h4, h5, h6, .wp-block-heading) {
  margin-block-start: 1em;
}
.single .sf-entry-content > :is(h2, h3, h4, h5, h6, .wp-block-heading) + :is(p, .wp-block-paragraph) {
  margin-block-start: .55em;
}
/* Respect explicit author-set heading margins (e.g. inline margin:15px 0). */

/* v1.1.38: Download headings in article content should not inherit the
   theme's large editorial heading rhythm or Gutenberg block spacing. */
.single-post .sf-entry-content :is(h2,h3,h4,.wp-block-heading):has(> a[href*="uplcm.com/"]) {
  margin-block: 12px !important;
  padding-block: 0;
  line-height: 1.35;
}
.single-post .sf-entry-content :is(h2,h3,h4,.wp-block-heading):has(> a[href*="uplcm.com/"]) + :is(p,.wp-block-paragraph) {
  margin-block-start: 12px;
}
.single-post .sf-entry-content :is(p,.wp-block-paragraph):has(+ :is(h2,h3,h4,.wp-block-heading) > a[href*="uplcm.com/"]) {
  margin-block-end: 12px;
}
/* Empty editor paragraphs immediately around download headings add blank
   vertical space without visible content. Hide only these empty wrappers. */
.single-post .sf-entry-content p:has(> br:only-child):has(+ :is(h2,h3,h4,.wp-block-heading) > a[href*="uplcm.com/"]),
.single-post .sf-entry-content :is(h2,h3,h4,.wp-block-heading):has(> a[href*="uplcm.com/"]) + p:has(> br:only-child) {
  display: none;
}

/* v1.1.39: Inside Single Post Content is a separate ad insertion wrapper,
   not a heading in the article editor. Keep text/link snippets compact while
   allowing real ad creatives to retain their natural dimensions. */
.single-post .sf-entry-content > .sf-ad.sf-ad--inside-content {
  display: flow-root;
  width: 100%;
  height: auto;
  min-height: 0;
  padding: 0;
  margin: 12px 0 !important;
  overflow: visible;
}
.single-post .sf-entry-content > .sf-ad.sf-ad--inside-content > :is(h1,h2,h3,h4,h5,h6,p,div) {
  margin-block: 0 !important;
}
.single-post .sf-entry-content > .sf-ad.sf-ad--inside-content > :is(h1,h2,h3,h4,h5,h6) {
  padding-block: 0;
  line-height: 1.35;
}
.single-post .sf-entry-content > .sf-ad.sf-ad--inside-content > :is(h1,h2,h3,h4,h5,h6,p,div) + :is(h1,h2,h3,h4,h5,h6,p,div) {
  margin-block-start: 8px !important;
}
