/* HelixBlock: what theme.json cannot express. Breakpoint 782px matches core columns. */

:root {
	--hb-gap: 30px;
	--hb-line: var(--wp--preset--color--surface);
	--hb-ico-bars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v2.5H3zm0 5.75h18v2.5H3zM3 16.5h18V19H3z'/%3E%3C/svg%3E");
	--hb-ico-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a7 7 0 0 1 5.6 11.2l5.1 5.1-1.4 1.4-5.1-5.1A7 7 0 1 1 10 3zm0 2a5 5 0 1 0 0 10 5 5 0 0 0 0-10z'/%3E%3C/svg%3E");
	--hb-ico-send: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 2 2 10.5l7 2.8L19 6l-8 8.6V22l3.6-4.6L19 20z'/%3E%3C/svg%3E");
	--hb-ico-edit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h9v2H6v12h12v-7h2v9H4zm14.6-2 3.4 3.4L12.4 15H9v-3.4z'/%3E%3C/svg%3E");
	--hb-ico-fire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2s1 3.5-1.5 6.5C8.4 11 7 12.6 7 15a5 5 0 0 0 10 0c0-2.2-1-3.7-2-5 0 2-1 3-2 3 1-4-1-8.5-1-11z'/%3E%3C/svg%3E");
	--hb-ico-prev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 4 7.4 12l8 8 1.4-1.4L10.2 12l6.6-6.6z'/%3E%3C/svg%3E");
	--hb-ico-next: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.6 4 7.2 5.4 13.8 12l-6.6 6.6L8.6 20l8-8z'/%3E%3C/svg%3E");
	--hb-ico-pause: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h4v16H6zm8 0h4v16h-4z'/%3E%3C/svg%3E");
	--hb-ico-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16l13-8z'/%3E%3C/svg%3E");
	--hb-ico-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3C/svg%3E");
}

html, body { overflow-x: clip; }

/* Visibility helpers */
@media (max-width: 781px) { .hb-only-desktop { display: none !important; } }
@media (min-width: 782px) { .hb-only-mobile { display: none !important; } }

/* Icons drawn with CSS masks: no icon font, no script. */
.hb-icon { display: inline-block; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--hb-i) center / contain no-repeat; mask: var(--hb-i) center / contain no-repeat; }
.hb-icon--bars { --hb-i: var(--hb-ico-bars); }
.hb-icon--search { --hb-i: var(--hb-ico-search); }

/* ---------- Header ---------- */
.hb-header { position: relative; z-index: 50; }
.hb-topbar__inner { min-height: 60px; gap: 20px; }
.hb-logo { margin: 0; line-height: 0; }
.hb-logo img { display: block; }
.hb-topbar__tools { gap: 20px; }
.hb-search .wp-block-search__inside-wrapper { background: #2a2a2a; border: 0; border-radius: 20px; padding: 0 4px 0 14px; width: 260px; }
.hb-search .wp-block-search__input { background: transparent; border: 0; color: var(--wp--preset--color--text); font-size: 13px; height: 36px; }
.hb-search .wp-block-search__button { background: transparent; color: #fff; padding: 0 10px; margin: 0; }
.hb-search--page .wp-block-search__inside-wrapper { width: 100%; max-width: 480px; margin-bottom: var(--hb-gap); }
.hb-social { gap: 14px !important; }
.hb-search-link { color: #fff; line-height: 0; }

.hb-navbar { border-bottom: 1px solid var(--hb-line); }
.hb-navbar__inner { min-height: 60px; }
.hb-contact .wp-block-button__link { border-radius: 20px; padding: 8px 20px; font-size: 13px; }

.hb-menu__list { list-style: none; margin: 0; padding: 0; }
.hb-menu a { color: #fff; font-size: 13px; font-weight: 500; letter-spacing: 1px; }

.hb-menu--bar .hb-menu__list { display: flex; flex-wrap: wrap; }
.hb-menu--bar .hb-menu__list > li { position: relative; }
.hb-menu--bar .hb-menu__list > li > a { text-transform: uppercase; display: block; line-height: 60px; padding: 0 16px 0 0; margin-right: 6px; }
.hb-menu--bar .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 6px; border: solid currentColor; border-width: 0 1px 1px 0; transform: translateY(-3px) rotate(45deg); opacity: .6; }
.hb-menu--bar .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; left: 0; top: 100%; min-width: 200px; background: var(--wp--preset--color--base-deep); border-top: 2px solid var(--wp--preset--color--accent); box-shadow: 0 8px 24px rgba(0, 0, 0, .4); visibility: hidden; opacity: 0; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
.hb-menu--bar li:hover > .sub-menu, .hb-menu--bar li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
.hb-menu--bar .sub-menu a { display: block; padding: 8px 18px; font-weight: 400; letter-spacing: 0; }
.hb-menu--bar .sub-menu a:hover { background: var(--wp--preset--color--surface); }

.hb-menu--strip { width: 100%; overflow-x: auto; scrollbar-width: none; }
.hb-menu--strip::-webkit-scrollbar { display: none; }
.hb-menu--strip .hb-menu__list { display: flex; white-space: nowrap; gap: 28px; }
.hb-menu--strip a { display: block; line-height: 50px; font-size: 15px; font-weight: 700; letter-spacing: 0; }
.hb-menu--strip .current-menu-item > a { border-bottom: 2px solid #fff; }

.hb-menu--drawer > summary { list-style: none; cursor: pointer; color: #fff; line-height: 0; padding: 4px 0; }
.hb-menu--drawer > summary::-webkit-details-marker { display: none; }
.hb-menu--drawer > nav { position: fixed; inset: 60px 0 0 0; overflow-y: auto; background: var(--wp--preset--color--base-deep); padding: 10px 20px 40px; z-index: 100; }
.hb-menu--drawer .hb-menu__list a { display: block; padding: 12px 0; border-bottom: 1px solid var(--hb-line); font-size: 16px; }
.hb-menu--drawer .sub-menu { list-style: none; padding: 0 0 0 16px; margin: 0; }
.hb-menu--drawer .sub-menu a { font-size: 14px; font-weight: 400; color: var(--wp--preset--color--text); }

@media (max-width: 781px) {
	.hb-topbar__inner { min-height: 60px; }
	.hb-logo--mobile img { height: 40px !important; width: auto !important; }
	.hb-navbar__inner { min-height: 50px; }
}

/* ---------- Layout ---------- */
/* No root block gap between the header and main: the navbar rule to the first line of content is main's padding only. */
.wp-site-blocks > .hb-main { margin-block-start: 0; }
.hb-layout { margin-bottom: 0; }
.hb-content > * + *, .hb-sidebar > * > * + * { margin-block-start: 40px; }
@media (max-width: 781px) { .hb-sidebar { margin-top: 40px; } }
.hb-content .hb-block-heading + *, .hb-sidebar .hb-block-heading + * { margin-block-start: 0 !important; }

/* Section heading: grey bar with an accent label */
.hb-block-heading { background: var(--hb-line); border-radius: 2px; margin-bottom: var(--hb-gap); min-height: 48px; }
.hb-block-heading__title { margin: 0; background: var(--wp--preset--color--accent); color: #fff; font-size: 14px; font-weight: 500; line-height: 48px; padding: 0 15px; border-radius: 2px 0 0 2px; display: flex; align-items: center; gap: 8px; }
.hb-block-heading__title a { color: #fff; }
.hb-block-heading__title[class*="hb-ico-"]::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--hb-i) center / contain no-repeat; mask: var(--hb-i) center / contain no-repeat; }
.hb-ico-send { --hb-i: var(--hb-ico-send); }
.hb-ico-edit { --hb-i: var(--hb-ico-edit); }
.hb-ico-fire { --hb-i: var(--hb-ico-fire); }
.hb-ico-tag { --hb-i: var(--hb-ico-tag); }
.hb-sidebar .hb-block-heading { background: none; border-bottom: 1px solid var(--hb-line); border-radius: 0; min-height: 0; margin-bottom: 20px; }
.hb-sidebar .hb-block-heading__title { background: none; color: #fff; font-size: 18px !important; line-height: 40px; padding: 0; }

/* Shared post bits */
.hb-chip { display: inline-flex; gap: 4px; margin: 0; }
.hb-chip a { background: var(--wp--preset--color--accent); color: #fff !important; font-size: 11px; font-weight: 500; letter-spacing: .04em; line-height: 1; padding: 5px 7px; }
.hb-chip a:not(:first-of-type), .hb-chip .wp-block-post-terms__separator { display: none; }
.hb-meta { gap: 10px; margin-top: 4px; }
.hb-meta, .hb-meta a { color: var(--wp--preset--color--muted); font-size: 11px; }
.hb-meta .wp-block-post-author-name { text-transform: uppercase; font-weight: 700; }
.hb-meta .wp-block-post-author-name::before { content: "BY "; font-weight: 400; }
.hb-media { position: relative; }
.hb-media .hb-chip { position: absolute; left: 10px; bottom: 10px; }
.wp-block-post-featured-image { margin: 0; overflow: hidden; }
.wp-block-post-featured-image img { transition: transform .3s; }
.wp-block-post-featured-image a:hover img { transform: scale(1.03); }
.wp-block-post-title { margin: 0; }
.wp-block-post-title a { color: #fff; }
.wp-block-post-title a:hover { color: var(--wp--preset--color--accent-hover); }

/* Hero: latest 10 posts, one per slide, caption over a gradient.
   Without JS the track is a horizontal scroll-snap list; hero.js adds autoplay and the controls. */
.hb-hero { position: relative; }
.hb-hero__track { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin: 0; padding: 0; list-style: none; }
.hb-hero__track > li { flex: 0 0 100%; min-width: 0; margin: 0 !important; scroll-snap-align: start; scroll-snap-stop: always; }
.hb-hero.is-js .hb-hero__track { scrollbar-width: none; }
.hb-hero.is-js .hb-hero__track::-webkit-scrollbar { display: none; }
.hb-hero__card { position: relative; }
.hb-hero__card .wp-block-post-featured-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .78)); pointer-events: none; }
.hb-hero__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 20px 30px 22px; z-index: 1; }
.hb-hero__caption .wp-block-post-title { font-size: 30px !important; line-height: 1.1; letter-spacing: -.02em; margin: 8px 0; text-shadow: 0 1px 3px rgba(0, 0, 0, .5); }
.hb-hero__caption .hb-meta, .hb-hero__caption .hb-meta a { color: #e6e6e6; }

/* Controls (created by hero.js) */
.hb-hero__btn { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; border-radius: 2px; color: #fff; background: rgba(0, 0, 0, .5); cursor: pointer; }
.hb-hero__btn:hover { background: var(--wp--preset--color--accent); }
.hb-hero__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.hb-hero__btn::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--hb-i) center / contain no-repeat; mask: var(--hb-i) center / contain no-repeat; }
.hb-hero__controls { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.hb-hero__controls > * { pointer-events: auto; }
.hb-hero__bar { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; gap: 6px; }
.hb-hero__pause { width: 28px; height: 28px; --hb-i: var(--hb-ico-pause); }
.hb-hero__pause.is-paused { --hb-i: var(--hb-ico-play); }
.hb-hero__dots { display: flex; padding: 0 4px; border-radius: 14px; background: rgba(0, 0, 0, .5); }
.hb-hero__dot { width: 22px; height: 28px; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.hb-hero__dot::before { content: ""; display: block; width: 8px; height: 8px; margin: auto; border-radius: 50%; background: rgba(255, 255, 255, .5); transition: background .2s, transform .2s; }
.hb-hero__dot:hover::before { background: #fff; }
.hb-hero__dot[aria-current="true"]::before { background: #fff; transform: scale(1.25); }
.hb-hero__dot:focus-visible { outline: 2px solid #fff; outline-offset: -2px; border-radius: 4px; }
/* Arrows sit on the image's vertical centre; shown on hover or keyboard focus where a mouse exists, hidden on touch (swipe). */
.hb-hero__arrow { position: absolute; top: 50%; width: 40px; height: 40px; margin-top: -20px; }
.hb-hero__prev { left: 12px; --hb-i: var(--hb-ico-prev); }
.hb-hero__next { right: 12px; --hb-i: var(--hb-ico-next); }
.hb-hero__arrow::before { width: 20px; height: 20px; }
@media (hover: hover) {
	.hb-hero__arrow { opacity: 0; transition: opacity .2s; }
	.hb-hero:hover .hb-hero__arrow, .hb-hero__arrow:focus-visible { opacity: 1; }
}
@media (hover: none) { .hb-hero__arrow { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.hb-hero__dot::before { transition: none; }
}
@media (max-width: 781px) {
	.hb-hero .wp-block-post-featured-image img { aspect-ratio: 442 / 210 !important; }
	.hb-hero__caption { padding: 14px 15px; }
	.hb-hero__caption .wp-block-post-title { font-size: 20px !important; line-height: 1.3; }
	.hb-hero__bar { top: 8px; right: 8px; gap: 4px; }
	.hb-hero__pause { width: 24px; height: 24px; }
	.hb-hero__dot { width: 18px; height: 24px; }
	.hb-hero__dot::before { width: 7px; height: 7px; }
}

/* Latest: thumbnail list on desktop, large-image list on mobile */
.hb-rows { list-style: none; margin: 0; padding: 0; }
.hb-rows > li + li { margin-top: 30px; }
.hb-row { display: flex; gap: 30px; align-items: flex-start; }
.hb-row > .hb-media { flex: 0 0 260px; }
.hb-row__body { flex: 1; min-width: 0; }
.hb-row__title { font-size: 22px !important; line-height: 1.4; }
.hb-row .wp-block-post-excerpt { margin-top: 16px; }
.hb-row .wp-block-post-excerpt__excerpt { margin: 0; }
@media (max-width: 781px) {
	.hb-row { display: block; }
	.hb-row .wp-block-post-featured-image img { aspect-ratio: 2 / 1 !important; }
	.hb-row__body { margin-top: 12px; }
	.hb-row__title { font-size: 16px !important; }
}
.hb-more { margin-top: 30px; position: relative; }
.hb-more::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--hb-line); }
.hb-more .wp-block-button { position: relative; background: var(--wp--preset--color--base); padding: 0 20px; }
.hb-more .wp-block-button__link { background: #2e2e2e !important; color: #fff !important; border: 0 !important; border-bottom: 1px solid var(--hb-line) !important; font-size: 12px; letter-spacing: 1px; padding: 8px 60px; }
.hb-more .wp-block-button__link.is-loading { opacity: .6; cursor: progress; }
.hb-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Category sections: two-column cards */
.hb-cat-section + .hb-cat-section { margin-top: 40px; }
.hb-cards .wp-block-post-template { gap: 30px; }
.hb-card .wp-block-post-title { margin-top: 12px; font-size: 16px; line-height: 1.4; }
@media (max-width: 781px) { .hb-cards .wp-block-post-template { grid-template-columns: 1fr !important; } }

/* Sidebar */
.hb-side-list .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.hb-side-list li + li { margin-top: 20px; }
.hb-side-item { gap: 15px; }
.hb-side-item > .wp-block-post-featured-image { flex: 0 0 120px; }
.hb-side-item__title { font-size: 15px !important; line-height: 1.4; }
.hb-sidebar .hb-side-banner { margin: 40px 0 0; }
.hb-side-banner img { width: 100%; height: auto; display: block; }

.hb-popular .wp-block-post-template { list-style: none; margin: 0; padding: 0; counter-reset: hb-pop; }
.hb-popular li { counter-increment: hb-pop; }
.hb-popular li + li { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--hb-line); }
.hb-popular__item { position: relative; }
.hb-popular li:not(:first-child) .hb-popular__img { display: none; }
.hb-popular li:first-child .hb-popular__title { font-size: 16px; line-height: 1.3; margin-top: 12px; padding-right: 60px; }
.hb-popular li:first-child .hb-popular__item::after { content: counter(hb-pop, decimal-leading-zero); position: absolute; right: 0; bottom: 0; font-size: 30px; font-style: italic; color: #fff; }
.hb-popular li:not(:first-child) .hb-popular__item { padding-left: 46px; min-height: 36px; }
.hb-popular li:not(:first-child) .hb-popular__item::before { content: counter(hb-pop, decimal-leading-zero); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--hb-line); display: grid; place-items: center; font-style: italic; font-size: 14px; color: #fff; }
.hb-popular li:not(:first-child) .hb-popular__title { font-size: 13px !important; line-height: 1.4; }

/* Footer */
.hb-footer { color: var(--wp--preset--color--text); }
.hb-footer h3, .hb-footer h4 { font-size: 24px; margin: 0 0 10px; }
.hb-footer p { font-size: 14px; margin: 0 0 14px; }
.hb-footer ul { font-size: 14px; margin: 0 0 14px; padding-left: 1.2em; }
.hb-footer li + li { margin-top: 6px; }
.hb-footer li strong { color: #fff; }
.hb-footer__logos figure { margin-bottom: 20px; }
.hb-footer__menu .hb-menu__list { display: flex; flex-wrap: wrap; gap: 18px; margin: 10px 0 16px; }
.hb-copyright { font-size: 15px !important; }
.hb-footer__links { display: flex; flex-wrap: wrap; gap: 6px 0; margin-top: 20px !important; }
.hb-footer__links a { color: #fff; text-decoration: none; }
.hb-footer__links a + a::before { content: ""; display: inline-block; width: 1px; height: .9em; margin: 0 12px; background: var(--wp--preset--color--muted); vertical-align: -1px; }
.hb-footer__links a:hover, .hb-footer__links a:focus-visible { color: var(--wp--preset--color--accent-hover); }
@media (max-width: 781px) { .hb-footer { padding-top: 40px !important; } }

/* Single */
.hb-single > * + * { margin-block-start: 20px; }
.hb-single__title { font-size: 36px !important; line-height: 1.25; margin: 0 0 10px !important; }
.hb-single__meta { gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--hb-line); }
.hb-single__meta .hb-meta { gap: 6px 14px; margin: 0; }
.hb-meta__author { align-items: center; gap: 6px; }
.hb-meta__author .wp-block-post-author__avatar { margin: 0; line-height: 0; }
.hb-meta__author .wp-block-post-author__avatar img { border-radius: 50%; }
.hb-meta__author .wp-block-post-author__content { display: flex; flex: none; gap: 4px; align-items: baseline; white-space: nowrap; }
.hb-meta__author p { margin: 0; font-size: 11px !important; }
.hb-meta__author .wp-block-post-author__name a { color: #fff; font-weight: 700; }
.hb-meta__cats a { color: #fff; font-weight: 700; }
.hb-single .wp-block-post-featured-image img { width: 100%; height: auto; }
.hb-single__content { font-size: var(--hb-content-size, 20px) !important; }
.hb-single .wp-block-post-content a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.hb-single .wp-block-post-content a:hover { color: var(--wp--preset--color--accent-hover); }
.hb-tags { font-size: 12px; }
.hb-tags .wp-block-post-terms__prefix { color: #fff; margin-right: 6px; }
.hb-tags a { display: inline-block; background: var(--hb-line); color: var(--wp--preset--color--text); font-size: 12px; padding: 4px 10px; margin: 0 6px 6px 0; }
.hb-tags .wp-block-post-terms__separator { display: none; }

/* Reading progress: pure CSS, only where scroll-driven animations exist. */
.hb-progress { display: none; }
@supports (animation-timeline: scroll()) {
	.hb-progress { display: block; position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 200; background: var(--wp--preset--color--accent-hover); transform-origin: 0 50%; transform: scaleX(0); animation: hb-progress linear both; animation-timeline: scroll(root block); }
	@keyframes hb-progress { to { transform: scaleX(1); } }
	@media (prefers-reduced-motion: reduce) { .hb-progress { display: none; } }
}

/* Font size buttons (enabled by zoom.js) */
.hb-zoom { display: flex; flex: none; align-items: baseline; gap: 2px; }
.hb-zoom[hidden] { display: none; }
.hb-zoom__btn { background: none; border: 0; padding: 2px 4px; color: var(--wp--preset--color--muted); font-family: inherit; cursor: pointer; line-height: 1; }
.hb-zoom__btn--out { font-size: 12px; }
.hb-zoom__btn--in { font-size: 17px; }
.hb-zoom__btn:hover:not(:disabled), .hb-zoom__btn:focus-visible { color: #fff; }
.hb-zoom__btn:disabled { opacity: .35; cursor: default; }

/* Share links */
.hb-share__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.hb-share__link { display: flex; align-items: center; justify-content: center; gap: 8px; height: 32px; padding: 0 8px; color: #fff !important; font-size: 11px; font-weight: 700; white-space: nowrap; overflow: hidden; transition: filter .15s; }
.hb-share__link:hover, .hb-share__link:focus-visible { filter: brightness(1.15); }
.hb-share__icon { flex: none; width: 15px; height: 15px; background: currentColor; -webkit-mask: var(--hb-i) center / contain no-repeat; mask: var(--hb-i) center / contain no-repeat; }
.hb-share__link--facebook { background: #45629f; --hb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.4-3.2h-3.2V8.5c0-.9.3-1.6 1.6-1.6h1.7V4.1c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2.4H7.3v3.2h2.8V22z'/%3E%3C/svg%3E"); }
.hb-share__link--x { background: #000; --hb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.8 3h3.1l-6.8 7.8 8 10.2h-6.3l-4.9-6.4L5.3 21H2.2l7.3-8.3L1.8 3h6.4l4.4 5.9zm-1.1 16.2h1.7L7.4 4.7H5.6z'/%3E%3C/svg%3E"); }
.hb-share__link--line { background: #06c755; --hb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5c-5.5 0-10 3.6-10 8.1 0 4 3.6 7.4 8.4 8 .3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.5s5.9-3.5 8.1-6c1.5-1.6 1.8-3.2 1.8-4.9 0-4.5-4.5-8.1-10-8.1z'/%3E%3C/svg%3E"); }
.hb-share__link--threads { background: #000; --hb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 5.6 18.3l-1.1-1.7A8 8 0 1 1 20 12v1.2a1.8 1.8 0 0 1-3.6 0V7.5h-2v.9A5 5 0 1 0 15 15.6a3.8 3.8 0 0 0 7-2.4V12A10 10 0 0 0 12 2zm0 7a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E"); }
.hb-share__link--linkedin { background: #0083bb; --hb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4zM3 8.8h3V21H3zm5.5 0h2.9v1.7c.6-1 1.9-2 3.9-2 3.7 0 4.4 2.4 4.4 5.6V21h-3v-6.2c0-1.5 0-3.3-2-3.3s-2.3 1.6-2.3 3.2V21h-3z'/%3E%3C/svg%3E"); }
.hb-share--bottom { margin-top: 24px; }

/* Views next to the top share links (helixblock/views), as the previous theme showed them. */
.hb-share-row { gap: 14px; }
.hb-share-row > .hb-share { flex: 1 1 auto; min-width: 0; }
.hb-views { flex: none; display: flex; flex-direction: column; align-items: center; line-height: 1; padding-right: 14px; border-right: 1px solid var(--hb-line); }
.hb-views__count { color: #fff; font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.hb-views__label { margin-top: 4px; color: var(--wp--preset--color--muted); font-size: 11px; }

/* Previous / next */
.hb-prevnext { border-top: 1px solid var(--hb-line); border-bottom: 1px solid var(--hb-line); padding: 20px 0; margin-top: 30px !important; gap: 30px; }
.hb-prevnext .wp-block-post-navigation-link { display: flex; flex-direction: column; gap: 6px; }
.hb-prevnext__next { text-align: right; align-items: flex-end; }
.post-navigation-link__label { color: var(--wp--preset--color--muted); font-size: 12px; }
.hb-prevnext a { color: #fff; font-size: 15px; font-weight: 700; line-height: 1.4; border-left: 3px solid var(--hb-line); padding-left: 14px; }
.hb-prevnext__next a { border-left: 0; border-right: 3px solid var(--hb-line); padding: 0 14px 0 0; }
.hb-prevnext a:hover { color: var(--wp--preset--color--accent-hover); }

/* Author box */
.hb-authorbox { border: 1px solid var(--hb-line); padding: 30px; gap: 24px; align-items: flex-start; margin-top: 30px !important; }
.hb-authorbox .wp-block-post-author__avatar { margin: 0; flex: none; }
.hb-authorbox .wp-block-post-author__avatar img { width: 80px; height: 80px; border-radius: 50%; }
.hb-authorbox .wp-block-post-author__name { margin: 4px 0 8px; font-size: 18px; }
.hb-authorbox .wp-block-post-author__name a { color: #fff; }
.hb-authorbox .wp-block-post-author__bio { margin: 0; font-size: 13px; line-height: 1.7; white-space: pre-line; }

/* Related posts */
.hb-related { margin-top: 50px !important; }
.hb-cards--3 .wp-block-post-template { gap: 24px 20px; }
.hb-cards--3 .wp-block-post-title { font-size: 15px !important; }

@media (max-width: 781px) {
	.hb-single__title { font-size: 24px !important; }
	.hb-single__meta { flex-wrap: wrap !important; }
	.hb-share__list { grid-template-columns: repeat(5, 1fr); }
	.hb-share__text { display: none; }
	.hb-share__link { height: 38px; }
	.hb-prevnext { grid-template-columns: 1fr !important; gap: 20px; }
	.hb-prevnext__next { text-align: left; align-items: flex-start; }
	.hb-prevnext__next a { border-right: 0; border-left: 3px solid var(--hb-line); padding: 0 0 0 14px; }
	.hb-authorbox { padding: 20px; flex-direction: column; gap: 12px; }
	.hb-cards--3 .wp-block-post-template { grid-template-columns: 1fr 1fr !important; }
}

/* Pages (about, privacy): full width, smaller body text as before */
.hb-page__content { font-size: 15px !important; line-height: 1.8; }
.hb-page__content h2 { font-size: 24px; }
.hb-page__content h3 { font-size: 20px; }
.hb-page__content img { height: auto; }
@media (max-width: 781px) { .hb-page__content { font-size: 18px !important; } }

/* Archive headers */
.hb-archive-header { margin-bottom: var(--hb-gap); }
.hb-archive-header__title { font-size: 30px !important; line-height: 1.3; margin: 0; color: #fff; }
.hb-archive-header__title span { color: #fff; }
.hb-archive-header__desc { margin-top: 8px; color: var(--wp--preset--color--text); font-size: 14px; }
.hb-archive-header__desc p { margin: 0; }
.hb-archive-header .hb-search--page { margin-top: 16px; }
.hb-archive-header .hb-search--page .wp-block-search__inside-wrapper { max-width: none; margin-bottom: 0; border-radius: 2px; background: #2a2a2a; padding: 6px 6px 6px 14px; }
.hb-archive-header .hb-search--page .wp-block-search__button { background: var(--wp--preset--color--accent); border-radius: 2px; padding: 0 14px; }
.hb-author-header { display: flex; gap: 30px; align-items: center; background: #242424; padding: 30px; margin-bottom: 40px; }
.hb-author-header__avatar { flex: none; width: 110px; height: 110px; border-radius: 50%; }
.hb-author-header__name { font-size: 24px !important; margin: 0 0 8px; color: #fff; }
.hb-author-header__bio { font-size: 13px; line-height: 1.7; }
.hb-author-header__bio p { margin: 0; }
.hb-no-results { font-size: 16px; }
.hb-archive-list .hb-row__title { font-size: 20px !important; }
@media (max-width: 781px) {
	.hb-archive-header__title { font-size: 24px !important; }
	.hb-author-header { flex-direction: column; align-items: flex-start; gap: 16px; padding: 20px; }
	.hb-author-header__avatar { width: 80px; height: 80px; }
	.hb-archive-list .hb-row__title { font-size: 16px !important; }
}

/* Pagination */
.wp-block-query-pagination { margin-top: 40px; gap: 6px; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: 6px 12px; background: var(--hb-line); color: #fff; font-size: 13px; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--accent); }

/* Breadcrumb (helixblock/breadcrumb): separators are CSS, no icon font. */
.hb-breadcrumb { margin: 0 0 12px; font-size: 12px; line-height: 1.6; color: var(--wp--preset--color--muted); }
.hb-breadcrumb__list { display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 0; padding: 0; }
.hb-breadcrumb__item + .hb-breadcrumb__item::before { content: "›"; margin: 0 8px; color: var(--wp--preset--color--muted); }
.hb-breadcrumb a { color: var(--wp--preset--color--muted); text-decoration: none; }
.hb-breadcrumb a:hover, .hb-breadcrumb a:focus-visible { color: var(--wp--preset--color--contrast); }
.hb-breadcrumb [aria-current="page"] span { color: var(--wp--preset--color--text); }
.hb-single.hb-page > .hb-breadcrumb { margin-bottom: 16px; }

/* Form controls use the site font too (browsers default them to the system font). */
button, input, select, textarea { font-family: inherit; }
