/* Fix oversized custom logo */
.custom-logo {
  max-height: 50px !important;
  width: auto !important;
}

.custom-logo-link {
  display: flex !important;
  align-items: center !important;
}

/* Hide the icon part above the text if it's a separate element */
.site-logo img,
.custom-logo-link img {
  max-height: 50px !important;
  max-width: 200px !important;
  object-fit: contain !important;
  width: auto !important;
  height: auto !important;
}

/* ===== 04/11/2026 · Static pages on the Elementor "header_footer" template
   (About x5, Link in Bio, contact, advertising, legal): centred 760px column,
   16px side gutters on phones, readable text, visible links, list bullets. ===== */
html body.page-template-elementor_header_footer > :where(:not(header, footer, script, style, link, meta, noscript, template, iframe, #vbn-content, #wpadminbar, #cookie-notice, .skip-link, .screen-reader-text, .jp-carousel-overlay, #jp-carousel-loading-overlay)) {
	box-sizing: border-box;
	width: auto;
	max-width: min(760px, calc(100% - 32px));
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	margin-bottom: 1.15em;
	font-family: var(--vb-serif);
	font-size: 18px;
	line-height: 1.75;
	color: #222;
}
html[lang^="zh"] body.page-template-elementor_header_footer > :where(:not(header, footer, script, style, link, meta, noscript, template, iframe, #vbn-content, #wpadminbar, #cookie-notice, .skip-link, .screen-reader-text, .jp-carousel-overlay, #jp-carousel-loading-overlay)),
html[lang^="ko"] body.page-template-elementor_header_footer > :where(:not(header, footer, script, style, link, meta, noscript, template, iframe, #vbn-content, #wpadminbar, #cookie-notice, .skip-link, .screen-reader-text, .jp-carousel-overlay, #jp-carousel-loading-overlay)) { font-family: var(--vb-sans); font-size: 17px; line-height: 1.85; }
html body.page-template-elementor_header_footer > h1 { margin: 40px auto 20px; font: 700 34px/1.25 var(--vb-serif); color: var(--vb-ink); }
html body.page-template-elementor_header_footer > h2 { margin: 1.9em auto .6em; font: 700 26px/1.35 var(--vb-serif); color: var(--vb-ink); border: 0; padding: 0; }
html body.page-template-elementor_header_footer > h3 { margin: 1.6em auto .5em; font: 700 21px/1.4 var(--vb-serif); color: var(--vb-ink); }
html body.page-template-elementor_header_footer > h4 { margin: 1.4em auto .4em; font: 700 18px/1.4 var(--vb-sans); color: var(--vb-ink); }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) a:where(:not(.wp-element-button, .wp-block-button__link)) {
	color: var(--vb-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) a:where(:not(.wp-element-button, .wp-block-button__link)):hover { color: var(--vb-accent-dark); }
html body.page-template-elementor_header_footer > ul, html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) ul.wp-block-list { list-style: disc outside; padding-left: 1.4em; }
html body.page-template-elementor_header_footer > ol, html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) ol.wp-block-list { list-style: decimal outside; padding-left: 1.6em; }
html body.page-template-elementor_header_footer > :where(ul, ol) li, html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) :where(ul.wp-block-list, ol.wp-block-list) li { display: list-item; margin: 0 0 .4em; }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) li > ul { list-style: circle outside; margin: .4em 0 0; }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) img { max-width: 100%; height: auto; }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) figcaption,
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) .wp-element-caption { margin-top: 8px; text-align: center; font: 400 14px/1.5 var(--vb-sans); color: var(--vb-muted); }
html body.page-template-elementor_header_footer > .wp-block-table { overflow-x: auto; }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) table { width: 100%; border-collapse: collapse; font: 400 15px/1.5 var(--vb-sans); }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) th, html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) td { border: 1px solid var(--vb-line); padding: 10px 12px; text-align: left; vertical-align: top; }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) th { background: var(--vb-soft); font-weight: 700; color: var(--vb-ink); }
html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) blockquote { margin: 1.5em 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--vb-accent); }
html body.page-template-elementor_header_footer > hr { border: 0; border-top: 1px solid var(--vb-line); margin: 2em auto; }
/* Link in Bio (cover block): keep it in the column, full-width buttons */
html body.page-template-elementor_header_footer > .wp-block-cover { padding: 24px 0 8px; min-height: 0 !important; }
html body.page-template-elementor_header_footer > .wp-block-cover .wp-block-cover__inner-container { width: 100%; }
html body.page-template-elementor_header_footer > .wp-block-cover .wp-block-buttons { gap: 10px; }
html body.page-template-elementor_header_footer > .wp-block-cover .wp-block-button { width: 100%; flex-basis: 100%; margin: 0; }
html body.page-template-elementor_header_footer > .wp-block-cover .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; padding: 14px 18px; border-radius: 8px; font: 500 16px/1.4 var(--vb-sans); text-decoration: none; }
html body.page-template-elementor_header_footer > .wp-block-cover .wp-block-heading { margin: 28px 0 12px; font-family: var(--vb-sans); }
html body.page-template-elementor_header_footer > .wp-block-cover .wp-block-site-title { margin: 12px 0 8px; line-height: 1.25; }
@media (max-width: 640px) {
	html body.page-template-elementor_header_footer > :where(:not(header, footer, script, style, link, meta, noscript, template, iframe, #vbn-content, #wpadminbar, #cookie-notice, .skip-link, .screen-reader-text, .jp-carousel-overlay, #jp-carousel-loading-overlay)) { font-size: 17px; }
	html body.page-template-elementor_header_footer > h1 { margin-top: 28px; font-size: 28px; }
	html body.page-template-elementor_header_footer > h2 { font-size: 22px; }
	html body.page-template-elementor_header_footer > h3 { font-size: 19px; }
	html body.page-template-elementor_header_footer > :where(:not(header, footer, #wpadminbar, #cookie-notice, .jp-carousel-overlay, #jp-carousel-loading-overlay)) table { font-size: 14px; }
}

/* ===== 04/11/2026 · Header menu: left-aligned so the first items are never clipped;
   tighter spacing between 961px and 1199px so all items fit at 1024px. ===== */
@media (min-width: 961px) {
	html body.vbn .vbn-nav .site-nav__list { justify-content: flex-start; }
}
@media (min-width: 961px) and (max-width: 1199px) {
	html body.vbn .vbn-header__inner { gap: 16px; }
	html body.vbn .vbn-nav .site-nav__list { gap: 0 13px; }
	html body.vbn .vbn-nav .site-nav__link,
	html body.vbn .vbn-nav .site-nav__list > li > a { font-size: 13px; }
	html body.vbn .vbn-lang { padding: 6px 4px; }
}