/*
Theme Name: Side Hustle Listings
Author: Side Hustle Listings
Description: A glamorous, highly customizable rose-gold, pink and charcoal WordPress theme for side-hustle tutorials, Etsy selling, print-on-demand, social media, YouTube, digital products, creator income, and a secondary PLR shop. AdSense-ready and WooCommerce-compatible.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: side-hustle-listings
Tags: blog, news, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root {
  --bhb-ink: #302B30;
  --bhb-black: #252429;
  --bhb-magenta: #DE718F;
  --bhb-hot-pink: #EE8BA6;
  --bhb-teal: #C98C7C;
  --bhb-teal-light: #D5A08F;
  --bhb-gold: #D8B45F;
  --bhb-plum: #B96F7C;
  --bhb-purple: #63525C;
  --bhb-blush: #F0E1E6;
  --bhb-cream: #F7EBEE;
  --bhb-white: #FFF8FA;
  --bhb-surface: #FFF8FA;
  --bhb-muted: #71676D;
  --bhb-line: #DEC0C7;
  --bhb-topbar-start: #2A292E;
  --bhb-topbar-end: #39363B;
  --bhb-topbar-text: #FFF5F7;
  --bhb-topbar-accent: #DE718F;
  --bhb-header-bg: #F8EDF0;
  --bhb-footer-start: #28262A;
  --bhb-footer-mid: #3B373C;
  --bhb-footer-end: #242327;
  --bhb-footer-text: #FBECEF;
  --bhb-shadow: 0 15px 38px rgba(112, 69, 80, .13), 0 3px 12px rgba(216, 180, 95, .08);
  --bhb-radius: 20px;
  --bhb-container: 1420px;
  --bhb-sidebar-width: 360px;
  --bhb-content-gap: 30px;
  --bhb-hero-width: 94%;
  --bhb-hero-height: 340px;
  --bhb-hero-position: center;
  --bhb-hero-mobile-height: 240px;
  --bhb-featured-height: 620px;
  --bhb-base-font-size: 16px;
  --bhb-line-height: 1.72;
  --bhb-body-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bhb-heading-font: Georgia, "Times New Roman", serif;
  --bhb-grid-columns: 2;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--bhb-ink);
  background-color: var(--bhb-blush);
  background-image:
    linear-gradient(rgba(201,79,124,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,79,124,.035) 1px, transparent 1px),
    radial-gradient(circle at 10% 8%, rgba(222,113,143,.16), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(216,180,95,.13), transparent 32rem),
    linear-gradient(180deg, #F6E9ED 0%, var(--bhb-blush) 58%, #E8D5DB 100%);
  background-size: 36px 36px, 36px 36px, auto, auto, auto;
  font-family: var(--bhb-body-font);
  font-size: var(--bhb-base-font-size);
  line-height: var(--bhb-line-height);
}

img { max-width: 100%; height: auto; }
a { color: var(--bhb-gold); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--bhb-hot-pink); }
button, input, textarea, select { font: inherit; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px;
  margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; z-index: 100000; background:var(--bhb-surface); padding:12px; }

.bhb-container { width: min(calc(100% - 32px), var(--bhb-container)); margin-inline: auto; }
.bhb-section { padding: 34px 0 50px; }

/* Header */
.bhb-topbar {
  background: linear-gradient(90deg, var(--bhb-topbar-start), var(--bhb-black) 48%, var(--bhb-topbar-end));
  color: var(--bhb-topbar-text);
  border-bottom: 2px solid color-mix(in srgb, var(--bhb-gold) 72%, var(--bhb-magenta));
}
.bhb-topbar__inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:.84rem; }
.bhb-topbar__tagline { font-weight: 700; letter-spacing: .02em; }
.bhb-topbar__spark { color: var(--bhb-topbar-accent); font-weight: 800; white-space:nowrap; }

.site-header {
  background: color-mix(in srgb, var(--bhb-header-bg) 94%, transparent);
  border-bottom: 1px solid rgba(201,79,124,.16);
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(12px);
}
.admin-bar .site-header { top: 32px; }
.bhb-header__inner { min-height: 82px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.site-branding { min-width: 180px; }
.custom-logo { max-height: 58px; width:auto; }
.site-title { margin:0; font-family: var(--bhb-heading-font); font-size:1.7rem; line-height:1; }
.site-title a { color:var(--bhb-black); text-decoration:none; }
.site-title strong, .site-title span { color:var(--bhb-magenta); }
.site-description { margin:.35rem 0 0; color:var(--bhb-muted); font-size:.77rem; }

.primary-navigation ul { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:4px; list-style:none; padding:0; margin:0; }
.primary-navigation a { display:block; color:var(--bhb-ink); text-decoration:none; font-weight:800; font-size:.92rem; padding:10px 11px; border-radius:999px; }
.primary-navigation a:hover, .primary-navigation .current-menu-item > a { color:var(--bhb-white); background:linear-gradient(135deg,var(--bhb-magenta),#C67987); }
.menu-toggle {
  display:none;
  border:1px solid color-mix(in srgb, var(--bhb-magenta) 55%, var(--bhb-line));
  background:#F2E2E7;
  color:var(--bhb-black);
  border-radius:14px;
  min-height:44px;
  padding:9px 16px;
  font-weight:900;
  cursor:pointer;
  line-height:1;
}
.menu-toggle:hover,
.menu-toggle:focus-visible { background:var(--bhb-gold); color:var(--bhb-black); }
.bhb-search-link { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:var(--bhb-white); background:linear-gradient(145deg,var(--bhb-teal),#B87B75); border:1px solid rgba(185,135,63,.38); border-radius:50%; text-decoration:none; font-weight:900; }
.bhb-search-link:hover { background:var(--bhb-magenta); color:var(--bhb-white); }

/* Hero */
.bhb-hero { padding: 18px 0 8px; }
.bhb-hero__frame { width: var(--bhb-hero-width); max-width: 1540px; margin-inline:auto; }
.bhb-hero__art {
  display:block;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(201,79,124,.34);
  box-shadow:0 22px 55px rgba(27,35,38,.20), 0 0 0 1px rgba(201,79,124,.13);
  background:#F3DDE3;
}
.bhb-hero__art img { display:block; width:100%; height:var(--bhb-hero-height); object-fit:cover; object-position:center var(--bhb-hero-position); }
.bhb-hero--full-image .bhb-hero__art img { height:auto; object-fit:contain; }
.bhb-hero__wide { width:min(calc(100% - 32px), 1540px); margin-inline:auto; }
.bhb-hero--edge .bhb-hero__art { border-radius:18px; }

/* Ads */
.bhb-ad-wrap { width:min(calc(100% - 32px), 1120px); margin:20px auto; }
.bhb-ad-slot {
  text-align:center;
  background:rgba(255,253,248,.94);
  border:1px solid rgba(185,135,63,.24);
  border-radius:14px;
  padding:10px;
  overflow:hidden;
}
.bhb-ad-label { display:block; margin-bottom:5px; color:var(--bhb-muted); font-size:.65rem; line-height:1; letter-spacing:.13em; text-transform:uppercase; }
.bhb-ad-slot img, .bhb-ad-slot iframe, .bhb-ad-slot ins { max-width:100%; }

/* Homepage */
.bhb-section-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 20px; }
.bhb-section-heading h1, .bhb-section-heading h2 { margin:0; font-family:var(--bhb-heading-font); font-size:clamp(1.9rem,3vw,2.7rem); line-height:1.05; }
.bhb-section-heading h1::after, .bhb-section-heading h2::after { content:""; display:block; width:78px; height:5px; margin-top:9px; border-radius:99px; background:linear-gradient(90deg,var(--bhb-magenta) 0 45%,var(--bhb-gold) 45% 70%,var(--bhb-teal) 70%); }
.bhb-eyebrow { margin:0 0 7px; color:var(--bhb-magenta); font-size:.75rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.bhb-view-all { color:var(--bhb-teal); font-weight:900; text-decoration:none; }

.bhb-home-layout { display:grid; grid-template-columns:minmax(0,1fr) var(--bhb-sidebar-width); gap:var(--bhb-content-gap); align-items:start; }
.bhb-feature-grid { display:grid; grid-template-columns:repeat(var(--bhb-grid-columns),minmax(0,1fr)); gap:18px; }
.bhb-card {
  background:linear-gradient(145deg, color-mix(in srgb, var(--bhb-surface) 96%, #fff 4%), color-mix(in srgb, var(--bhb-surface) 90%, #000 10%));
  border:1px solid rgba(110,67,91,.14);
  border-radius:var(--bhb-radius);
  overflow:hidden;
  box-shadow:var(--bhb-shadow);
  transition:transform .2s ease, box-shadow .2s ease;
}
.bhb-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(35,14,31,.15); }
.bhb-card--lead { grid-column:1/-1; display:grid; grid-template-columns:1.1fr .9fr; }
.bhb-card__thumb { display:block; background:color-mix(in srgb, var(--bhb-plum) 10%, var(--bhb-surface)); overflow:hidden; }
.bhb-card__thumb img { display:block; width:100%; height:240px; object-fit:cover; transition:transform .35s ease; }
.bhb-card:hover .bhb-card__thumb img { transform:scale(1.025); }
.bhb-card--lead .bhb-card__thumb img { height:100%; min-height:390px; }
.bhb-card__body { padding:20px; }
.bhb-card--lead .bhb-card__body { padding:28px; display:flex; flex-direction:column; justify-content:center; }
.bhb-card__category { display:inline-flex; margin-bottom:9px; color:var(--bhb-magenta); font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; text-decoration:none; }
.bhb-card__title { margin:0 0 10px; font-family:var(--bhb-heading-font); font-size:1.28rem; line-height:1.22; }
.bhb-card--lead .bhb-card__title { font-size:clamp(1.75rem,3vw,2.4rem); }
.bhb-card__title a { color:var(--bhb-ink); text-decoration:none; }
.bhb-card__title a:hover { color:var(--bhb-magenta); }
.bhb-card__excerpt { color:var(--bhb-muted); margin:0 0 14px; }
.bhb-card__meta { color:var(--bhb-muted); font-size:.82rem; }

.bhb-sidebar { display:grid; gap:18px; min-width:0; }
.bhb-sidebar .bhb-ad-wrap { width:100%; margin:0; }
.bhb-sidebar .bhb-ad-slot { padding:10px; }
.bhb-sidebar .bhb-ad-widget, .bhb-sidebar .bhb-ad-widget > * { max-width:100%; }
.widget, .bhb-topic-box {
  background:var(--bhb-surface);
  border:1px solid var(--bhb-line);
  border-radius:var(--bhb-radius);
  padding:22px;
  box-shadow:var(--bhb-shadow);
}
.widget-title, .bhb-topic-box h2 { margin:0 0 14px; font-family:var(--bhb-heading-font); font-size:1.4rem; }
.widget ul { list-style:none; margin:0; padding:0; }
.widget li { padding:8px 0; border-bottom:1px dashed var(--bhb-line); }
.widget li:last-child { border-bottom:0; }
.widget a { text-decoration:none; font-weight:700; }
.bhb-topic-list { display:flex; flex-wrap:wrap; gap:8px; }
.bhb-topic-list a { display:inline-block; border-radius:999px; padding:8px 11px; background:color-mix(in srgb, var(--bhb-magenta) 10%, var(--bhb-surface)); color:var(--bhb-magenta); text-decoration:none; font-weight:800; font-size:.84rem; }
.bhb-topic-list a:nth-child(3n+2) { background:color-mix(in srgb, var(--bhb-teal) 10%, var(--bhb-surface)); color:var(--bhb-teal); }
.bhb-topic-list a:nth-child(3n+3) { background:color-mix(in srgb, var(--bhb-gold) 16%, var(--bhb-surface)); color:var(--bhb-gold); }

.side-hustle-listings-strip { margin-top:26px; padding:18px; border-radius:18px; background:linear-gradient(120deg,var(--bhb-teal),var(--bhb-plum)); color:var(--bhb-white); box-shadow:var(--bhb-shadow); }
.side-hustle-listings-strip strong { color:var(--bhb-gold); }

/* Archive / single */
.bhb-content-layout { display:grid; grid-template-columns:minmax(0,1fr) var(--bhb-sidebar-width); gap:var(--bhb-content-gap); align-items:start; }
.bhb-main { min-width:0; }
.bhb-page-header { margin:30px 0 20px; padding:26px; border-radius:var(--bhb-radius); background:var(--bhb-surface); background:linear-gradient(120deg,var(--bhb-surface),color-mix(in srgb, var(--bhb-magenta) 4%, var(--bhb-surface))); border:1px solid var(--bhb-line); }
.bhb-page-header h1 { margin:0; font-family:var(--bhb-heading-font); font-size:clamp(2rem,4vw,3rem); line-height:1.08; }
.bhb-page-header .archive-description { color:var(--bhb-muted); }
.bhb-post-list { display:grid; grid-template-columns:repeat(var(--bhb-grid-columns),minmax(0,1fr)); gap:18px; }

.single-post .site-main, .page .site-main { min-width:0; }
.bhb-article {
  background:var(--bhb-surface);
  border:1px solid var(--bhb-line);
  border-radius:22px;
  padding:clamp(22px,4vw,46px);
  box-shadow:var(--bhb-shadow);
  overflow:hidden;
}
.bhb-article__header { margin-bottom:25px; }
.bhb-article__title { margin:6px 0 12px; font-family:var(--bhb-heading-font); font-size:clamp(2.2rem,5vw,3.7rem); line-height:1.02; letter-spacing:-.02em; }
.bhb-article__meta { color:var(--bhb-muted); font-size:.88rem; }
.bhb-featured-image { margin:0 0 26px; border-radius:18px; overflow:hidden; }
.bhb-featured-image img { display:block; width:100%; max-height:var(--bhb-featured-height); object-fit:cover; }
.entry-content { font-size:1.06rem; }
.entry-content > * { max-width:780px; margin-left:auto; margin-right:auto; }
.entry-content > .alignwide { max-width:1040px; }
.entry-content > .alignfull { max-width:none; width:calc(100% + clamp(44px,8vw,92px)); margin-left:calc(clamp(22px,4vw,46px) * -1); }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family:var(--bhb-heading-font); line-height:1.18; margin-top:1.8em; }
.entry-content h2 { font-size:clamp(1.65rem,3vw,2.25rem); }
.entry-content blockquote { border-left:5px solid var(--bhb-magenta); margin-top:1.8em; margin-bottom:1.8em; padding:14px 20px; background:color-mix(in srgb, var(--bhb-magenta) 6%, var(--bhb-surface)); color:var(--bhb-ink); }
.entry-content a { font-weight:700; }
.entry-content .wp-block-button__link { background:var(--bhb-magenta); color:var(--bhb-white); border-radius:999px; }
.entry-content table { border-collapse:collapse; width:100%; }
.entry-content th, .entry-content td { border:1px solid var(--bhb-line); padding:10px; }
.entry-content th { background:color-mix(in srgb, var(--bhb-magenta) 7%, var(--bhb-surface)); }
.bhb-post-tags { margin-top:28px; padding-top:20px; border-top:1px solid var(--bhb-line); }
.bhb-post-tags a { display:inline-block; margin:4px; padding:6px 10px; background:color-mix(in srgb, var(--bhb-magenta) 9%, var(--bhb-surface)); border-radius:999px; text-decoration:none; font-size:.82rem; font-weight:700; }
.post-navigation { margin:25px 0; }
.post-navigation .nav-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.post-navigation a { display:block; background:var(--bhb-surface); border:1px solid var(--bhb-line); border-radius:14px; padding:14px; text-decoration:none; font-weight:800; }

/* Forms */
.search-form { display:flex; gap:8px; }
.search-form label { flex:1; }
.search-field { width:100%; border:1px solid var(--bhb-line); background:var(--bhb-surface); border-radius:999px; padding:10px 14px; outline:none; }
.search-field:focus { border-color:var(--bhb-magenta); box-shadow:0 0 0 3px color-mix(in srgb, var(--bhb-magenta) 22%, transparent); }
.search-submit, input[type="submit"], button[type="submit"] { border:0; border-radius:999px; background:var(--bhb-teal); color:var(--bhb-white); padding:10px 16px; font-weight:800; cursor:pointer; }
.search-submit:hover, input[type="submit"]:hover, button[type="submit"]:hover { background:var(--bhb-magenta); }

/* Comments */
.comments-area { margin-top:24px; padding:24px; border-radius:18px; background:var(--bhb-surface); border:1px solid var(--bhb-line); }
.comment-list { list-style:none; padding:0; }
.comment-body { padding:16px 0; border-bottom:1px solid var(--bhb-line); }
.comment-form input:not([type="submit"]), .comment-form textarea { width:100%; border:1px solid var(--bhb-line); border-radius:12px; padding:10px 12px; }

/* Footer */
.site-footer { margin-top:50px; color:var(--bhb-footer-text); background:linear-gradient(135deg,var(--bhb-footer-start),var(--bhb-footer-mid) 58%,var(--bhb-footer-end)); border-top:5px solid var(--bhb-magenta); }
.bhb-footer__grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:34px; padding:45px 0 35px; }
.site-footer h2, .site-footer h3 { color:var(--bhb-white); font-family:var(--bhb-heading-font); }
.site-footer a { color:var(--bhb-white); text-decoration:none; }
.site-footer a:hover { color:var(--bhb-magenta); }
.bhb-footer__brand { font-size:1.4rem; font-weight:900; color:var(--bhb-white); }
.bhb-footer__brand span { color:var(--bhb-gold); }
.bhb-footer__bottom { border-top:1px solid rgba(255,255,255,.12); padding:18px 0; display:flex; justify-content:space-between; gap:15px; color:var(--bhb-footer-text); font-size:.82rem; }
.footer-navigation ul { display:flex; flex-wrap:wrap; gap:14px; list-style:none; padding:0; margin:0; }


/* Customizer-powered reusable base-theme helpers */
.bhb-home-layout.bhb-no-sidebar, .bhb-content-layout.bhb-no-sidebar { grid-template-columns:minmax(0,1fr); }
.bhb-static-header .site-header { position:relative; top:auto; }
.bhb-no-shadows .bhb-card, .bhb-no-shadows .widget, .bhb-no-shadows .bhb-topic-box, .bhb-no-shadows .side-hustle-listings-strip, .bhb-no-shadows .bhb-article { box-shadow:none; }
.bhb-social-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.bhb-social-links a { display:inline-flex; align-items:center; min-height:34px; padding:6px 10px; border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:.8rem; font-weight:800; }
.bhb-social-links a:hover { border-color:var(--bhb-gold); color:var(--bhb-gold); }
.bhb-404 { text-align:center; max-width:800px; margin:auto; }

/* Pagination */
.navigation.pagination { margin-top:26px; }
.nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.page-numbers { display:inline-flex; min-width:38px; min-height:38px; align-items:center; justify-content:center; border-radius:999px; background:var(--bhb-surface); border:1px solid var(--bhb-line); text-decoration:none; font-weight:800; }
.page-numbers.current { background:var(--bhb-magenta); border-color:var(--bhb-magenta); color:var(--bhb-white); }

/* WooCommerce */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { background:var(--bhb-surface); border:1px solid var(--bhb-line); border-radius:18px; padding:14px; box-shadow:var(--bhb-shadow); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--bhb-heading-font); color:var(--bhb-ink); }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background:var(--bhb-magenta); color:var(--bhb-white); border-radius:999px; }
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background:var(--bhb-teal); color:var(--bhb-white); }
.woocommerce span.onsale { background:var(--bhb-gold); color:var(--bhb-ink); }

/* Accessibility + responsive */
:focus-visible { outline:3px solid color-mix(in srgb, var(--bhb-magenta) 55%, transparent); outline-offset:3px; }
@media (max-width: 980px) {
  .bhb-home-layout, .bhb-content-layout { grid-template-columns:1fr; }
  .bhb-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bhb-header__inner { grid-template-columns:minmax(0,1fr) auto auto; }
  .site-branding { grid-column:1; grid-row:1; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; grid-column:2; grid-row:1; justify-self:end; }
  .bhb-search-link {
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-self:center;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    padding:0;
    flex:none;
    aspect-ratio:1 / 1;
  }
  .primary-navigation {
    display:none;
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    min-width:0;
    padding:10px 0 14px;
  }
  .primary-navigation.is-open { display:block; }
  .primary-navigation ul {
    align-items:stretch;
    flex-direction:column;
    gap:7px;
    padding:10px;
    border:1px solid color-mix(in srgb, var(--bhb-magenta) 38%, var(--bhb-line));
    border-radius:16px;
    background:color-mix(in srgb, var(--bhb-surface) 94%, var(--bhb-black) 6%);
    box-shadow:0 14px 34px rgba(0,0,0,.28);
  }
  .primary-navigation a { border-radius:10px; padding:12px 14px; }
}
@media (max-width: 782px) { .admin-bar .site-header { top:46px; } }
@media (max-width: 720px) {
  .bhb-topbar__inner { justify-content:center; text-align:center; }
  .bhb-topbar__spark { display:none; }
  .bhb-header__inner { min-height:70px; gap:10px; }
  .site-description { display:none; }
  .site-title { font-size:1.35rem; }
  .custom-logo { max-height:48px; }
  .bhb-search-link { width:42px; height:42px; min-width:42px; min-height:42px; }
  .bhb-hero { padding:10px 0 6px; }
  .bhb-hero > .bhb-container, .bhb-hero__wide { width:100%; }
  .bhb-hero__frame { width:100%; max-width:none; }
  .bhb-hero__art { border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.28); background:#F3DDE3; }
  .bhb-hero__art picture { display:block; width:100%; }
  /* Mobile defaults to showing the WHOLE banner instead of cropping the sides. */
  .bhb-hero__art img, .bhb-hero--mobile-full .bhb-hero__art img { width:100%; height:auto; object-fit:contain; object-position:center; }
  .bhb-hero--mobile-crop .bhb-hero__art img { height:var(--bhb-hero-mobile-height); object-fit:cover; object-position:center var(--bhb-hero-position); }
  .bhb-feature-grid, .bhb-post-list { grid-template-columns:1fr; }
  .bhb-card--lead { display:block; }
  .bhb-card--lead .bhb-card__thumb img { min-height:0; height:260px; }
  .bhb-sidebar { grid-template-columns:1fr; }
  .bhb-footer__grid { grid-template-columns:1fr; }
  .bhb-footer__bottom { flex-direction:column; }
  .post-navigation .nav-links { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .bhb-container { width:min(calc(100% - 22px), var(--bhb-container)); }
  .bhb-hero .bhb-container { width:100%; }
  .bhb-hero__art { border-radius:10px; }
  .bhb-topbar__inner { min-height:34px; padding-block:5px; font-size:.76rem; }
  .bhb-header__inner { grid-template-columns:minmax(0,1fr) auto auto; }
  .site-branding { min-width:0; }
  .site-title { white-space:normal; }
  .bhb-section { padding-top:24px; }
  .bhb-section-heading { align-items:start; flex-direction:column; }
  .bhb-card__thumb img { height:210px; }
  .bhb-article { border-radius:15px; padding:20px; }
}

@media (min-width: 981px) {
  .bhb-feature-grid, .bhb-post-list { grid-template-columns:repeat(var(--bhb-grid-columns),minmax(0,1fr)); }
}


/* Side Hustle Listings signature styling */
.bhb-card--lead {
  background:linear-gradient(135deg,#B96F7C 0%,#C88E8A 55%,#3A363C 100%);
  border-color:color-mix(in srgb,var(--bhb-magenta) 42%,var(--bhb-line));
  box-shadow:0 22px 52px rgba(53,39,49,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.bhb-card--lead .bhb-card__title a,
.bhb-card--lead .bhb-card__excerpt,
.bhb-card--lead .bhb-card__meta { color:#FFF8FA; }
.bhb-card--lead::before {
  content:"FEATURED GUIDE";
  position:absolute; z-index:3; top:14px; left:14px;
  padding:6px 10px; border-radius:999px;
  background:rgba(37,33,40,.94);
  border:1px solid rgba(209,165,110,.55);
  color:#DDB96D; font-size:.67rem; font-weight:900; letter-spacing:.13em;
}
.bhb-card__category {
  padding:5px 9px; border-radius:999px;
  background:color-mix(in srgb,var(--bhb-magenta) 11%,transparent);
  border:1px solid color-mix(in srgb,var(--bhb-magenta) 26%,transparent);
}
.bhb-section-heading h1, .bhb-section-heading h2, .bhb-page-header h1, .bhb-article__title { color:var(--bhb-black); }
.widget, .bhb-topic-box, .bhb-article, .comments-area, .post-navigation a, .bhb-page-header {
  background:linear-gradient(145deg,color-mix(in srgb,var(--bhb-surface) 98%,#fff 2%),color-mix(in srgb,var(--bhb-surface) 92%,#D7AAA6 8%));
  border-color:color-mix(in srgb,var(--bhb-plum) 18%,var(--bhb-line));
}
.bhb-topic-box::before { content:"↗"; float:right; color:var(--bhb-magenta); font-size:1.4rem; font-weight:900; opacity:.8; }
.bhb-topic-list a { border:1px solid color-mix(in srgb,var(--bhb-plum) 11%,var(--bhb-line)); }
.side-hustle-listings-strip {
  position:relative; overflow:hidden; margin-top:26px; padding:19px 20px; border-radius:18px;
  background:linear-gradient(120deg,#B96F7C 0%,#B96F7C 55%,#B97D80 100%);
  border:1px solid color-mix(in srgb,var(--bhb-magenta) 35%,var(--bhb-line));
  color:#FFF8FA; box-shadow:0 16px 36px rgba(53,39,49,.18);
}
.side-hustle-listings-strip strong { color:#E2BE73; }
.side-hustle-listings-strip::after {
  content:"CREATE • SELL • GROW"; position:absolute; right:20px; top:50%; transform:translateY(-50%);
  opacity:.11; font-size:1.25rem; font-weight:900; letter-spacing:.12em;
}
.entry-content blockquote { border-left-color:var(--bhb-magenta); background:#F8E9ED; border-radius:0 14px 14px 0; }
.search-field, .comment-form input:not([type="submit"]), .comment-form textarea { color:var(--bhb-ink); background:#FFF9FA; border-color:var(--bhb-line); }
.search-submit, input[type="submit"], button[type="submit"] { background:linear-gradient(135deg,var(--bhb-magenta),#C87987); }
.site-footer { box-shadow:0 -18px 48px rgba(53,39,49,.14); }
.site-footer h2, .site-footer h3 { color:#FFF4F7; }
.site-footer a:hover { color:#DDB96D; }
.page-numbers { background:#FFF9FA; }
.bhb-hero__art { position:relative; }
.bhb-hero__art::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 44px rgba(37,33,40,.07); }
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.14;
  background-image:repeating-linear-gradient(135deg, rgba(110,67,91,.045) 0 1px, transparent 1px 10px);
}
.site-title a { letter-spacing:-.025em; font-weight:900; }
.site-title span { color:var(--bhb-magenta); }
.bhb-card { position:relative; }
.bhb-card::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 1px 0 rgba(255,255,255,.48); }
.bhb-disclosure-note, .bhb-review-note {
  margin:0 0 24px; padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--bhb-gold) 40%,var(--bhb-line));
  border-left:5px solid var(--bhb-magenta); border-radius:14px;
  background:linear-gradient(135deg,rgba(201,79,124,.07),rgba(209,165,110,.10)); color:var(--bhb-ink); font-weight:700;
}
.entry-content h2::before { content:"◆"; color:var(--bhb-magenta); font-size:.5em; margin-right:.5em; vertical-align:.12em; }
.entry-content table { display:block; width:100%; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:1.4rem 0; background:#FFF9FA; border:1px solid var(--bhb-line); border-radius:12px; }
.entry-content th, .entry-content td { padding:12px 14px; border-bottom:1px solid var(--bhb-line); text-align:left; min-width:130px; }
.entry-content th { background:#4A4248; color:#FFF8FA; font-weight:900; }
.entry-content tr:last-child td { border-bottom:0; }
.entry-content ul li::marker { color:var(--bhb-magenta); }
.entry-content ol li::marker { color:var(--bhb-plum); font-weight:800; }

/* Category discovery row */
.shl-category-section { padding:8px 0 12px; }
.shl-category-panel {
  background:linear-gradient(135deg,rgba(248,244,246,.9),rgba(226,214,221,.92));
  border:1px solid var(--bhb-line); border-radius:var(--bhb-radius); padding:20px 22px; box-shadow:var(--bhb-shadow);
}
.shl-category-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.shl-category-head h2 { margin:0; font-size:clamp(1.25rem,2vw,1.7rem); }
.shl-category-grid { display:flex; flex-wrap:wrap; gap:10px; }
.shl-category-grid a {
  display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:9px 14px; border-radius:999px;
  background:var(--bhb-surface); border:1px solid color-mix(in srgb,var(--bhb-magenta) 24%,var(--bhb-line));
  color:var(--bhb-ink); text-decoration:none; font-weight:850; box-shadow:0 4px 12px rgba(67,49,60,.06);
}
.shl-category-grid a::before { content:""; width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,var(--bhb-magenta),var(--bhb-gold)); }
.shl-category-grid a:hover { transform:translateY(-1px); color:var(--bhb-magenta); border-color:var(--bhb-magenta); }

/* PLR/digital shop — intentionally secondary to blog content */
.shl-shop-section { padding:8px 0 58px; }
.shl-shop-panel {
  background:linear-gradient(135deg,rgba(201,79,124,.09),rgba(110,67,91,.09));
  border:1px solid var(--bhb-line); border-radius:var(--bhb-radius); padding:28px; box-shadow:var(--bhb-shadow);
}
.shl-shop-heading { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:20px; }
.shl-shop-heading h2 { margin:2px 0 0; font-size:clamp(1.7rem,3vw,2.5rem); }
.shl-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.shl-product { background:var(--bhb-surface); border:1px solid var(--bhb-line); border-radius:16px; overflow:hidden; box-shadow:0 8px 24px rgba(67,49,60,.08); }
.shl-product img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; background:#e9dfe5; }
.shl-product__body { padding:14px; }
.shl-product__body h3 { font-size:1rem; margin:0 0 7px; }
.shl-product__body h3 a { color:var(--bhb-ink); text-decoration:none; }
.shl-product__body .price { font-weight:850; color:var(--bhb-magenta); }

@media (hover:hover) and (pointer:fine) {
  .bhb-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(67,49,60,.17), 0 0 0 1px rgba(201,79,124,.08); }
}
@media(max-width:900px){ .shl-products{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:560px){
  .side-hustle-listings-strip::after { display:none; }
  .shl-category-panel { padding:16px; }
  .shl-category-head { align-items:flex-start; flex-direction:column; }
  .shl-products{grid-template-columns:1fr 1fr;gap:12px}.shl-shop-panel{padding:18px}.shl-shop-heading{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   Side Hustle Listings v1.1 — Rose Gold Sparkle design layer
   ========================================================= */
body {
  background-image:
    radial-gradient(circle at 13% 4%, rgba(238,139,166,.20), transparent 26rem),
    radial-gradient(circle at 88% 14%, rgba(216,180,95,.18), transparent 30rem),
    radial-gradient(circle at 50% 76%, rgba(201,140,124,.10), transparent 34rem),
    linear-gradient(180deg,#fff7f9 0%,#f7e9ed 48%,#f2e3e7 100%);
}
.bhb-topbar {
  background:linear-gradient(90deg,#232328 0%,#2e2c31 52%,#3b373c 100%);
  border-bottom:1px solid rgba(216,180,95,.55);
  box-shadow:0 5px 20px rgba(36,35,39,.13);
}
.shl-sparkles .bhb-topbar__spark::after { content:"  ✦"; color:var(--bhb-gold); }
.site-header {
  background:rgba(255,248,250,.96);
  border-bottom:1px solid rgba(201,140,124,.25);
  box-shadow:0 9px 28px rgba(101,67,77,.10);
}
.site-title { font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.55rem,2.5vw,2.25rem); font-weight:500; }
.site-title a { font-weight:500; letter-spacing:-.035em; }
.site-title span {
  color:var(--bhb-magenta);
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-weight:600;
  font-size:1.28em;
  margin-inline:.04em;
  text-shadow:0 1px 0 #fff, 0 3px 12px rgba(222,113,143,.15);
}
.shl-sparkles .site-title::after { content:"✦"; margin-left:.28em; color:var(--bhb-gold); font-size:.72em; vertical-align:top; }
.primary-navigation a { font-family:Georgia,"Times New Roman",serif; font-weight:600; }
.primary-navigation a:hover,.primary-navigation .current-menu-item>a {
  color:#352d32;
  background:linear-gradient(135deg,#f7dce4,#f1c7d2 58%,#efd8a3);
  box-shadow:inset 0 0 0 1px rgba(201,140,124,.35),0 6px 14px rgba(112,69,80,.08);
}
.bhb-search-link {
  color:#302b30;
  background:linear-gradient(145deg,#fff9fa,#efd9df);
  border:1px solid rgba(201,140,124,.55);
  box-shadow:0 5px 14px rgba(112,69,80,.10);
}
.bhb-search-link:hover { background:linear-gradient(135deg,var(--bhb-magenta),var(--bhb-gold)); color:#fff; }

.bhb-hero { padding-top:20px; }
.bhb-hero__art {
  background:#f7e6eb;
  border:1px solid rgba(201,140,124,.75);
  box-shadow:0 20px 50px rgba(112,69,80,.16),0 0 0 4px rgba(255,255,255,.58),0 0 36px rgba(216,180,95,.15);
}
.bhb-hero__art::after { box-shadow:inset 0 0 34px rgba(216,180,95,.08); }

.shl-category-panel {
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,rgba(255,250,251,.97),rgba(249,230,236,.92) 58%,rgba(250,239,215,.70));
  border:1px solid rgba(201,140,124,.48);
  box-shadow:0 12px 30px rgba(112,69,80,.10), inset 0 1px 0 rgba(255,255,255,.88);
}
.shl-sparkles .shl-category-panel::after {
  content:"✦  ·  ✧";
  position:absolute; right:24px; top:16px;
  color:var(--bhb-gold); font-size:1.05rem; letter-spacing:.3em; opacity:.75;
}
.shl-category-head h2,.bhb-section-heading h1,.bhb-section-heading h2,.bhb-topic-box h2,.shl-shop-heading h2 {
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}
.bhb-section-heading h1::after,.bhb-section-heading h2::after {
  width:120px; height:3px;
  background:linear-gradient(90deg,var(--bhb-gold),var(--bhb-magenta),transparent);
}
.shl-sparkles .bhb-section-heading h1::before,.shl-sparkles .bhb-section-heading h2::before { content:"✦ "; color:var(--bhb-gold); font-size:.68em; }
.bhb-eyebrow { color:var(--bhb-magenta); letter-spacing:.10em; }

.shl-category-grid a {
  background:linear-gradient(180deg,#fffafb,#fbedf1);
  border:1px solid rgba(222,113,143,.32);
  box-shadow:0 4px 12px rgba(112,69,80,.06),inset 0 1px 0 #fff;
}
.shl-hearts .shl-category-grid a::before { content:"♥"; width:auto; height:auto; background:none; color:var(--bhb-magenta); font-size:.82rem; }
.shl-category-grid a:hover { background:#fff5f7; border-color:var(--bhb-gold); box-shadow:0 6px 16px rgba(216,180,95,.13); }

.bhb-card {
  border:1px solid rgba(201,140,124,.30);
  box-shadow:0 12px 28px rgba(112,69,80,.10),0 2px 8px rgba(216,180,95,.06);
}
.bhb-card--lead {
  background:linear-gradient(135deg,#d56f88 0%,#c87987 48%,#d9a09c 72%,#d6ae67 135%);
  border-color:rgba(216,180,95,.72);
  box-shadow:0 18px 44px rgba(160,90,108,.22),0 0 0 1px rgba(255,255,255,.28) inset;
}
.bhb-card--lead::before {
  content:"FEATURED GUIDE ✦";
  background:rgba(255,250,251,.90);
  color:#8d5e39;
  border:1px solid rgba(216,180,95,.72);
  box-shadow:0 5px 16px rgba(112,69,80,.10);
}
.bhb-card--lead .bhb-card__category { color:#ffe8a9; background:rgba(255,255,255,.10); border-color:rgba(255,232,169,.38); }
.bhb-card__category { color:#bd5e78; }
.shl-sparkles .bhb-card--lead .bhb-card__body::after {
  content:"✦   ✧"; position:absolute; right:22px; bottom:18px; color:#ffe8a9; opacity:.75; font-size:1.45rem; letter-spacing:.28em;
}
.bhb-card--lead .bhb-card__body { position:relative; }

.widget,.bhb-topic-box,.bhb-article,.comments-area,.post-navigation a,.bhb-page-header {
  background:linear-gradient(145deg,#fffafb 0%,#fff7f8 60%,#f8e8ed 100%);
  border:1px solid rgba(201,140,124,.35);
  box-shadow:0 12px 30px rgba(112,69,80,.09);
}
.bhb-topic-box { position:relative; overflow:hidden; border-bottom:5px solid var(--bhb-gold); }
.bhb-topic-box::before { content:"✦"; color:var(--bhb-gold); }
.shl-sparkles .bhb-topic-box::after { content:"♥"; position:absolute; right:50%; bottom:-15px; transform:translateX(50%); color:#c69d4e; background:#fff8fa; border:1px solid #d8b45f; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-size:.72rem; }
.bhb-topic-list a { background:#f9e8ed; color:#5a4e55; border:0; padding:8px 12px; }
.bhb-topic-list a:nth-child(3n+2),.bhb-topic-list a:nth-child(3n+3) { background:#f9e8ed; color:#5a4e55; }
.bhb-topic-list a:hover { color:#a9536e; background:#f6dbe3; }

.side-hustle-listings-strip {
  background:linear-gradient(100deg,#cf7589,#d9949a 58%,#d5ae63 125%);
  border:1px solid rgba(216,180,95,.70);
  box-shadow:0 14px 34px rgba(160,90,108,.17);
}
.side-hustle-listings-strip strong { color:#fff1bd; }
.side-hustle-listings-strip::after { color:#fff; opacity:.16; }

.entry-content h2::before { content:"✦"; color:var(--bhb-gold); }
.entry-content blockquote { background:linear-gradient(135deg,#fff3f6,#fbebdf); border-left-color:var(--bhb-gold); }
.entry-content th { background:linear-gradient(90deg,#b86f7c,#c98c7c); color:#fff; }
.search-submit,input[type="submit"],button[type="submit"] { background:linear-gradient(135deg,var(--bhb-magenta),#c98c7c); }
.search-submit:hover,input[type="submit"]:hover,button[type="submit"]:hover { background:linear-gradient(135deg,#c98c7c,var(--bhb-gold)); color:#332e31; }

.shl-shop-panel {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,rgba(248,220,228,.72),rgba(255,249,250,.96) 50%,rgba(242,224,183,.48));
  border:1px solid rgba(201,140,124,.40);
}
.shl-sparkles .shl-shop-panel::after { content:"✦ ✧ ✦"; position:absolute; right:28px; top:22px; color:var(--bhb-gold); letter-spacing:.35em; }
.shl-product { border-color:rgba(201,140,124,.30); }

.site-footer {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#262429 0%,#343137 56%,#252429 100%);
  border-top:4px solid var(--bhb-gold);
  box-shadow:0 -16px 42px rgba(112,69,80,.12);
}
.site-footer::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 92% 12%,rgba(216,180,95,.16),transparent 25rem),radial-gradient(circle at 10% 80%,rgba(222,113,143,.12),transparent 22rem); }
.site-footer .bhb-container { position:relative; z-index:1; }
.bhb-footer__brand { font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:1.6rem; }
.bhb-footer__brand span { color:#ef8ba6; font-family:"Segoe Script","Brush Script MT",cursive; font-size:1.2em; }
.shl-sparkles .bhb-footer__brand::after { content:" ✦"; color:var(--bhb-gold); }
.site-footer a:hover { color:#e7c874; }

/* Tiny decorative gold glints across the page; purely decorative. */
.shl-sparkles .bhb-section,.shl-sparkles .shl-category-section,.shl-sparkles .shl-shop-section { position:relative; }
.shl-sparkles .bhb-section::before { content:"✦"; position:absolute; left:1.4%; top:24px; color:var(--bhb-gold); opacity:.68; font-size:1.3rem; }
.shl-sparkles .bhb-section::after { content:"✧"; position:absolute; right:2.2%; top:68px; color:var(--bhb-magenta); opacity:.42; font-size:1rem; }

@media (max-width:720px) {
  .site-title span { font-size:1.16em; }
  .shl-sparkles .site-title::after { display:none; }
  .shl-sparkles .bhb-section::before,.shl-sparkles .bhb-section::after { display:none; }
  .bhb-hero__art { border-radius:12px; }
}


/* v1.2.0 — editable footer page links */
.footer-page-links ul {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  list-style:none;
  padding:0;
  margin:0;
}
.footer-page-links li { margin:0; }
.footer-page-links a { color:var(--bhb-white); text-decoration:none; }
.footer-page-links a:hover { color:var(--bhb-magenta); }
