/*
Theme Name: Horror Tea
Author: Horror Tea
Description: A dark, cozy, witty horror-review WordPress theme built for movie and TV recaps, reviews, ending explainers, scary-good commentary, and spoiler-heavy fun. Includes an editable horror lounge design, mobile-friendly banner, spoiler warning, AdSense areas, social links, and responsive layouts.
Version: 1.1.2
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: horror-tea
Tags: blog, entertainment, news, dark, 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: #f3e4d2;
  --bhb-black: #070304;
  --bhb-magenta: #b0141b;
  --bhb-hot-pink: #d73a41;
  --bhb-teal: #7b332b;
  --bhb-teal-light: #9a5346;
  --bhb-gold: #c29b73;
  --bhb-plum: #3f080d;
  --bhb-purple: #2a070b;
  --bhb-blush: #120506;
  --bhb-cream: #211012;
  --bhb-white: #f9eee2;
  --bhb-surface: #1a0c0f;
  --bhb-muted: #c9b29f;
  --bhb-line: #5b2327;
  --bhb-topbar-start: #070304;
  --bhb-topbar-end: #2b0508;
  --bhb-topbar-text: #faefe5;
  --bhb-topbar-accent: #c29b73;
  --bhb-header-bg: #120607;
  --bhb-footer-start: #060203;
  --bhb-footer-mid: #1a0407;
  --bhb-footer-end: #090203;
  --bhb-footer-text: #ead8ca;
  --bhb-shadow: 0 18px 46px rgba(0, 0, 0, .32);
  --bhb-radius: 20px;
  --bhb-container: 1420px;
  --bhb-sidebar-width: 360px;
  --bhb-content-gap: 30px;
  --bhb-hero-width: 94%;
  --bhb-hero-height: 330px;
  --bhb-hero-position: center;
  --bhb-hero-mobile-height: 220px;
  --bhb-featured-height: 620px;
  --bhb-base-font-size: 16px;
  --bhb-line-height: 1.74;
  --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:
    radial-gradient(circle at 12% 8%, rgba(199,47,85,.13), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(210,170,98,.08), transparent 26rem),
    radial-gradient(circle at 50% 65%, rgba(85,21,47,.20), transparent 36rem),
    linear-gradient(180deg, color-mix(in srgb, var(--bhb-blush) 82%, var(--bhb-plum) 18%) 0%, var(--bhb-blush) 34%, color-mix(in srgb, var(--bhb-blush) 72%, var(--bhb-black) 28%) 100%);
  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(227,179,90,.20);
  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-white); 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),var(--bhb-plum)); }
.menu-toggle {
  display:none;
  border:1px solid color-mix(in srgb, var(--bhb-magenta) 45%, var(--bhb-gold) 55%);
  background:#f0dfcb;
  color:#240608;
  border-radius:18px;
  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-plum),var(--bhb-magenta)); border:1px solid rgba(227,179,90,.35); 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(227,179,90,.38);
  box-shadow:0 24px 60px rgba(0,0,0,.42), 0 0 0 1px rgba(227,179,90,.22), 0 0 44px rgba(239,75,155,.10);
  background:var(--bhb-black);
}
.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(39,21,33,.88);
  border:1px solid rgba(227,179,90,.18);
  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(227,179,90,.16);
  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); }

.horror-tea-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); }
.horror-tea-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 .horror-tea-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:#090708; }
  .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)); }
}


/* Horror Tea lounge polish */
.bhb-card--lead {
  background:linear-gradient(135deg, color-mix(in srgb, var(--bhb-surface) 74%, var(--bhb-plum) 26%) 0%, var(--bhb-surface) 55%, color-mix(in srgb, var(--bhb-surface) 78%, var(--bhb-black) 22%) 100%);
  border-color:rgba(227,179,90,.28);
  box-shadow:0 22px 56px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.025);
}
.bhb-card--lead .bhb-card__title a { color:var(--bhb-white); }
.bhb-card__category {
  padding:5px 9px; border-radius:999px;
  background:rgba(239,75,155,.11); border:1px solid rgba(239,75,155,.22);
}
.bhb-eyebrow { text-shadow:0 0 22px rgba(239,75,155,.17); }
.bhb-section-heading h1, .bhb-section-heading h2, .bhb-page-header h1, .bhb-article__title { color:var(--bhb-white); }
.bhb-section-heading h1::after, .bhb-section-heading h2::after {
  height:4px; box-shadow:0 0 16px rgba(239,75,155,.18);
}
.bhb-view-all { color:var(--bhb-gold); }
.bhb-view-all:hover { color:var(--bhb-hot-pink); }
.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) 94%, var(--bhb-plum) 6%),color-mix(in srgb, var(--bhb-surface) 86%, var(--bhb-black) 14%));
  border-color:rgba(227,179,90,.16);
}
.bhb-topic-list a { border:1px solid rgba(255,255,255,.04); }
.horror-tea-strip {
  background:linear-gradient(120deg,color-mix(in srgb, var(--bhb-teal) 78%, var(--bhb-black) 22%) 0%,var(--bhb-plum) 46%,color-mix(in srgb, var(--bhb-plum) 68%, var(--bhb-black) 32%) 100%);
  border:1px solid rgba(227,179,90,.24);
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.horror-tea-strip strong { color:color-mix(in srgb, var(--bhb-gold) 84%, var(--bhb-white) 16%); }
.bhb-page-header { box-shadow:0 18px 44px rgba(0,0,0,.22); }
.entry-content blockquote {
  border-left-color:var(--bhb-gold);
  background:rgba(227,179,90,.06);
}
.search-field, .comment-form input:not([type="submit"]), .comment-form textarea {
  color:var(--bhb-ink); background:color-mix(in srgb, var(--bhb-surface) 72%, var(--bhb-black) 28%); border-color:var(--bhb-line);
}
.search-field::placeholder, .comment-form input::placeholder, .comment-form textarea::placeholder { color:color-mix(in srgb, var(--bhb-muted) 75%, var(--bhb-black) 25%); }
.search-submit, input[type="submit"], button[type="submit"] {
  background:linear-gradient(135deg,var(--bhb-plum),var(--bhb-magenta));
}
.site-footer { box-shadow:0 -22px 60px rgba(0,0,0,.26); }
.site-footer h2, .site-footer h3 { color:color-mix(in srgb, var(--bhb-white) 92%, var(--bhb-plum) 8%); }
.site-footer a:hover { color:var(--bhb-gold); }
.page-numbers { background:#1f1619; }
.bhb-hero__art { position:relative; }
.bhb-hero__art::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 55px rgba(15,5,11,.16); border-radius:inherit;
}

/* Horror Tea signature details */
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.24;
  background-image:repeating-radial-gradient(circle at 20% 20%, rgba(255,255,255,.018) 0 1px, transparent 1px 5px);
}
.site-title a { letter-spacing:.015em; }
.site-title span { color:var(--bhb-magenta); text-shadow:0 0 22px rgba(199,47,85,.25); }
.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,.025); }
.bhb-card--lead::before { content:"TONIGHT'S TEA"; position:absolute; z-index:3; top:14px; left:14px; padding:6px 10px; border-radius:999px; background:rgba(9,7,8,.82); border:1px solid rgba(210,170,98,.45); color:var(--bhb-gold); font-size:.68rem; font-weight:900; letter-spacing:.14em; }
.bhb-topic-box::before { content:"☕"; float:right; font-size:1.4rem; filter:saturate(.8); opacity:.78; }
.bhb-spoiler-warning { margin:0 0 24px; padding:14px 16px; border:1px solid rgba(210,170,98,.34); border-left:5px solid var(--bhb-magenta); border-radius:14px; background:linear-gradient(135deg, rgba(199,47,85,.10), rgba(210,170,98,.055)); color:var(--bhb-ink); font-weight:750; }
.bhb-spoiler-warning strong { color:var(--bhb-gold); }
.entry-content h2::before { content:"✦"; color:var(--bhb-magenta); font-size:.72em; margin-right:.36em; }
.entry-content blockquote { border-radius:0 14px 14px 0; }
.bhb-crown-strip { position:relative; overflow:hidden; }
.bhb-crown-strip::after { content:"☕  ✦  ☠"; position:absolute; right:18px; top:50%; transform:translateY(-50%); opacity:.12; font-size:2.2rem; letter-spacing:.2em; }

@media (hover:hover) and (pointer:fine) {
  .bhb-card:hover { transform:translateY(-5px); box-shadow:0 24px 58px rgba(0,0,0,.42), 0 0 0 1px rgba(239,75,155,.10); }
}
