@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/geist-vietnamese-wght-normal.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/geist-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/geist-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/inter-vietnamese-wght-normal.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/inter-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/inter-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/fraunces-vietnamese-wght-normal.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/fraunces-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yb/assets/fonts/fraunces-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("/yb/assets/fonts/space-grotesk-vietnamese-wght-normal.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("/yb/assets/fonts/space-grotesk-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("/yb/assets/fonts/space-grotesk-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--wp--preset--color--base:#ffffff;--wp--preset--color--surface:#f5f5f5;--wp--preset--color--contrast:#0a0a0a;--wp--preset--color--muted:#6b6b6b;--wp--preset--color--border:#e5e5e5;--wp--preset--color--accent:#171717;--wp--preset--color--accent-contrast:#fafafa;--wp--preset--color--sale:#e7000b;--wp--preset--color--success:#16a34a;--wp--preset--spacing--10:0.25rem;--wp--preset--spacing--20:0.5rem;--wp--preset--spacing--30:1rem;--wp--preset--spacing--40:1.5rem;--wp--preset--spacing--50:clamp(2rem, 4vw, 3rem);--wp--preset--spacing--60:clamp(3rem, 7vw, 5rem);--wp--preset--spacing--70:clamp(4rem, 10vw, 8rem);--wp--preset--font-size--x-small:0.75rem;--wp--preset--font-size--small:0.875rem;--wp--preset--font-size--medium:1rem;--wp--preset--font-size--large:1.25rem;--wp--preset--font-size--x-large:1.75rem;--wp--preset--font-size--xx-large:2.75rem;--wp--preset--font-size--display:4rem;--wp--preset--font-family--geist:Geist, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--wp--preset--font-family--sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--wp--preset--font-family--serif:Fraunces, Georgia, "Times New Roman", serif;--wp--preset--font-family--grotesk:"Space Grotesk", Inter, system-ui, sans-serif;--wp--preset--font-family--system:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--wp--preset--font-family--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--wp--preset--shadow--xs:none;--wp--preset--shadow--sm:0 1px 2px 0 rgb(0 0 0 / 0.06);--wp--preset--shadow--md:0 4px 12px -2px rgb(0 0 0 / 0.08);--wp--preset--shadow--lg:0 12px 32px -8px rgb(0 0 0 / 0.14);--wp--preset--color--yb-primary:#171717;--wp--preset--color--yb-secondary:#0a0a0a;--wp--preset--color--yb-accent:#e7000b;--wp--preset--color--yb-surface:#f5f5f5;--wp--preset--color--yb-text:#0a0a0a;--wp--preset--color--yb-inverse:#fafafa;--wp--preset--color--yb-on-primary:#fafafa;--wp--preset--color--yb-base:#ffffff;--wp--preset--color--yb-muted:#6b6b6b;--wp--preset--color--yb-border:#e5e5e5;--wp--preset--spacing--yb-xs:0.5rem;--wp--preset--spacing--yb-sm:1rem;--wp--preset--spacing--yb-md:1.5rem;--wp--preset--spacing--yb-lg:3rem;--wp--preset--spacing--yb-xl:6rem;--wp--preset--font-size--yb-sm:0.875rem;--wp--preset--font-size--yb-md:1rem;--wp--preset--font-size--yb-lg:clamp(1.125rem, 1rem + 0.5vw, 1.25rem);--wp--preset--font-size--yb-xl:clamp(1.5rem, 1.25rem + 1vw, 1.75rem);--wp--preset--font-size--yb-xxl:clamp(2rem, 1.5rem + 2.5vw, 2.75rem);--wp--custom--radius--sm:0;--wp--custom--radius--md:0;--wp--custom--radius--lg:0;--wp--custom--radius--xl:0;--wp--custom--radius--full:9999px;--wp--custom--heading--tracking:-0.03em;--wp--custom--ring:color-mix(in srgb, var(--wp--preset--color--muted) 50%, transparent);--wp--custom--star:#f5a524;--wp--style--global--content-size:760px;--wp--style--global--wide-size:1280px}
/* The platform's pages and the Studio's: their type, links and controls. Not under a storefront page (body.ys: /store, the shop pages the theme draws
   with the storefront's frame), which has its own, and where this sheet only arrives with the site's header (its fixed ring once doubled the inputs' focus). */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body:where(:not(.ys)){font:400 .875rem/1.65 var(--wp--preset--font-family--geist);color:var(--wp--preset--color--contrast);background:var(--wp--preset--color--base);-webkit-font-smoothing:antialiased}
:where(body:not(.ys)) :where(h1,h2,h3,h4,h5,h6,p,figure){margin-block:0 1rem}
:where(body:not(.ys)) :where(h1,h2,h3,h4,h5,h6){font-weight:600;line-height:1.2;letter-spacing:var(--wp--custom--heading--tracking)}
:where(body:not(.ys)) h1{font-size:var(--wp--preset--font-size--xx-large)}:where(body:not(.ys)) h2{font-size:var(--wp--preset--font-size--x-large)}:where(body:not(.ys)) h3{font-size:var(--wp--preset--font-size--large)}
:where(body:not(.ys)) :where(a){color:inherit;text-underline-offset:4px}
:where(body:not(.ys)) :where(img,video,svg,iframe){max-width:100%}
:where(body:not(.ys)) :where(img){height:auto}
:where(body:not(.ys)) :where(button,input,select,textarea){font:inherit;border-radius:var(--wp--custom--radius--md)}
:where(body:not(.ys)) :where(input,select,textarea){padding:.375rem .75rem;border:1px solid var(--wp--preset--color--border);background:var(--wp--preset--color--base);color:inherit;min-height:2rem}
:where(.yb-button,.wp-block-yb-button),:where(body:not(.ys)) :where(button){display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.5rem .75rem;border:1px solid transparent;background:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent-contrast);font-size:.75rem;font-weight:500;line-height:1rem;text-decoration:none;cursor:pointer}
:where(body:not(.ys)) :where(button):disabled{opacity:.5;cursor:wait}
:where(body:not(.ys)) :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--wp--custom--ring);outline-offset:1px}
:where(body:not(.ys)) :where(table){width:100%;border-collapse:collapse;text-align:start}
:where(body:not(.ys)) :where(th,td){padding:.75rem 1rem;border-block-end:1px solid var(--wp--preset--color--border)}
:where(body:not(.ys)) :where(th){font-size:.75rem;font-weight:500;color:var(--wp--preset--color--muted)}
:where(body:not(.ys)) :where(hr){border:0;border-block-start:1px solid var(--wp--preset--color--border)}
:where(body:not(.ys)) :where(details>summary){cursor:pointer}
.yb-dashboard{max-width:72rem;margin:3rem auto;padding:0 1.5rem}
.yb-dashboard>header{border-block-end:1px solid var(--wp--preset--color--border);margin-block-end:2rem}
.yb-dashboard h1{font-size:2rem}.yb-dashboard header p{color:var(--wp--preset--color--muted)}
.yb-dashboard form{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin-block-end:2rem}
.yb-dashboard label{display:flex;flex-direction:column;gap:.375rem;font-size:.75rem;font-weight:500}
.yb-dashboard tbody a{font-weight:500}.yb-dashboard table{border:1px solid var(--wp--preset--color--border)}
.yb-site-main{max-width:72rem;margin:auto;padding:2rem 1.5rem}
.yb-site-header,.yb-site-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-block-end:1px solid var(--wp--preset--color--border)}
.yb-site-footer{border-block-start:1px solid var(--wp--preset--color--border);border-block-end:0}
.yb-site-header nav{display:flex;gap:1rem}
.yb-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.5rem}
.yb-product-grid img{width:100%;aspect-ratio:1;object-fit:cover}
.yb-product-grid article{border:1px solid var(--wp--preset--color--border);padding:1rem}
.yb-product-image{width:min(100%,30rem);max-height:30rem;object-fit:contain}
#yb-product-cart{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-block:2rem}
#yb-product-cart label{display:flex;flex-direction:column;gap:.5rem}
#yb-product-cart input{width:8rem}#yb-cart-status{width:100%;margin:0}
::selection{background:color-mix(in srgb,var(--wp--preset--color--accent) 28%,transparent)}
@media(max-width:767px){.yb-dashboard{margin-block:1.5rem;overflow-x:auto}.yb-dashboard form{align-items:stretch}.yb-dashboard label{flex:1;min-width:10rem}:where(body:not(.ys)) :where(input,select,textarea){font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* EzyArticle's theme leaves 8rem (6rem on phones) above the page for its own fixed navigation bar. A header made in the Studio
   is in the page's flow (or over its first band): that room would only be an empty band under it. */
.yb-fragment~.ezyarticle-main-content{padding-top:0}
/* A page shown in the theme sits in its content column. A section set to full width (Section width: Narrow, Container, Wide
   or Full on a page-level section) reaches the screen's edges, as on WordPress; its padding keeps the content in line. */
.page-container>.alignfull,.page-container :is(.yb-page,#root)>.alignfull{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
.ezyarticle-main-content,.yb-frame{overflow-x:clip}

/*
 * Base styles for YB blocks, loaded only on pages that render them.
 * Per-block styles (.yb-<hash>) are printed after this file and win on order.
 */
/* Sizes set in YB Studio are the visible box (padding and border included), like Figma. */
.wp-block-yb-section,
.wp-block-yb-heading,
.wp-block-yb-text,
.wp-block-yb-button,
.wp-block-yb-image,
.wp-block-yb-icon,
.wp-block-yb-video,
.wp-block-yb-accordion,
.wp-block-yb-vector {
  box-sizing: border-box;
}

/* Vectors stretch to their box; the stroke keeps its width (vector-effect on the path). */
.wp-block-yb-vector {
  display: block;
  fill: color-mix(in srgb, currentColor 18%, transparent);
}

.wp-block-yb-vector svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* Layout of a YB button; its look (colors, padding, corners, type) defaults below at zero specificity and is replaced
   by the theme's button styles when it has some (Blocks::theme_button_css), then by the button's own Studio styles. */
.wp-block-yb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  text-decoration: none;
  transition: filter 0.15s ease, transform 0.15s ease, background-color 0.15s ease;
}

:where(.wp-block-yb-button) {
  padding: 0.8em 1.6em;
  border-radius: var(--wp--custom--radius--md, 0.5rem);
  background-color: var(--wp--preset--color--yb-primary, #2563eb);
  color: var(--wp--preset--color--yb-on-primary, var(--wp--preset--color--yb-inverse, #fff));
  font-weight: 600;
  line-height: 1.2;
}

/* Themes recolour links with a:where(:not(.wp-element-button)) (0,0,1). Keep button text readable: (0,0,2) beats
   that, and a button's own Studio class (0,1,0) still wins. */
body a:where(.wp-block-yb-button) {
  color: var(--wp--preset--color--yb-on-primary, var(--wp--preset--color--yb-inverse, #fff));
}

:where(.wp-block-yb-button):hover {
  filter: brightness(1.08);
}

.wp-block-yb-image {
  display: block;
  /* In a row, shrink to the column instead of the picture's own width (which wraps it under its neighbours). */
  min-width: 0;
  max-width: 100%;
  height: auto;
}

.wp-block-yb-icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 1.5em;
  height: 1.5em;
  color: var(--wp--preset--color--yb-primary, #2563eb);
}

a.wp-block-yb-icon {
  text-decoration: none;
}

a.wp-block-yb-image {
  display: block;
}

a.wp-block-yb-image > img {
  display: block;
  width: 100%;
  height: 100%;
  /* the link holds the image's size; a maximum height there (no height) would leave 100% unresolved */
  max-height: inherit;
  object-fit: inherit;
  border-radius: inherit;
}

.wp-block-yb-icon svg {
  width: 100%;
  height: 100%;
  stroke-width: var(--yb-icon-stroke, 2);
}

.wp-block-yb-divider {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.wp-block-yb-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--wp--custom--radius--lg, 0.5rem);
  background: #000;
}

.wp-block-yb-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.wp-block-yb-accordion {
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.wp-block-yb-accordion > summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.wp-block-yb-accordion > summary::-webkit-details-marker {
  display: none;
}

/* A line chevron (the same Lucide line as every icon), turning when open. */
.wp-block-yb-accordion > summary::after {
  content: "";
  flex: none;
  width: 1.125em;
  height: 1.125em;
  align-self: center;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.2s ease;
}

.wp-block-yb-accordion[open] > summary::after {
  transform: rotate(180deg);
}

.wp-block-yb-accordion > :not(summary) {
  margin-block-start: 0;
  padding-bottom: 1rem;
}

/* YB Navigation (blocks/nav): a bar of links; a menu button (<details>) below the toggle breakpoint. */
.wp-block-yb-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	position: relative;
}
.wp-block-yb-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.yb-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: inherit;
}
.yb-nav__list li {
	position: relative;
}
.yb-nav__parent > a::after {
	content: "";
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	margin-inline-start: 0.4em;
	border: solid currentColor;
	border-width: 0 1.5px 1.5px 0;
	transform: translateY(-0.2em) rotate(45deg);
}
/* above a department menu pinned open beside it (yb-nav-dept-home, z-index 100 in the same header): a hovered menu is on top */
.yb-nav__list .yb-nav__sub {
	position: absolute;
	z-index: 101;
	top: 100%;
	inset-inline-start: -12px;
	display: none;
	min-width: 200px;
	padding: 8px;
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #0f172a);
	border: 1px solid var(--wp--preset--color--border, #e2e8f0);
	border-radius: var(--wp--custom--radius--md, 0);
}
.yb-nav__list .yb-nav__parent:hover > .yb-nav__sub,
.yb-nav__list .yb-nav__parent:focus-within > .yb-nav__sub {
	display: block;
}
.yb-nav__sub a {
	display: block;
	padding: 8px 12px;
	white-space: nowrap;
}
.yb-nav__panel .yb-nav__sub {
	padding-inline-start: 12px;
}
/* Third level: under its item, indented (a dropdown); a mega menu's columns (below). */
.yb-nav__subsub {
	padding-inline-start: 12px;
}
.yb-nav__group > a {
	font-weight: 600;
}
.yb-nav__list .yb-nav__mega {
	position: static;
}
.yb-nav__list .yb-nav__mega > .yb-nav__sub {
	inset-inline: 0;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 8px 24px;
	padding: 20px 24px;
}
.yb-nav__list .yb-nav__mega:hover > .yb-nav__sub,
.yb-nav__list .yb-nav__mega:focus-within > .yb-nav__sub {
	display: grid;
}
.yb-nav__mega .yb-nav__subsub {
	padding-inline-start: 0;
}
.yb-nav__mega .yb-nav__subsub a {
	padding-block: 4px;
	opacity: 0.8;
}
.wp-block-yb-nav a {
	color: inherit;
	text-decoration: none;
}
.wp-block-yb-nav a:hover,
.wp-block-yb-nav a[aria-current="page"] {
	text-decoration: underline;
	text-underline-offset: 6px;
}
.yb-nav__menu {
	display: none;
}
.yb-nav__toggle {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	list-style: none;
	cursor: pointer;
}
.yb-nav__toggle::-webkit-details-marker {
	display: none;
}
.yb-nav__toggle span,
.yb-nav__toggle span::before,
.yb-nav__toggle span::after {
	display: block;
	width: 20px;
	height: 2px;
	background: currentColor;
	content: "";
}
.yb-nav__toggle span {
	position: relative;
}
.yb-nav__toggle span::before {
	position: absolute;
	top: -6px;
}
.yb-nav__toggle span::after {
	position: absolute;
	top: 6px;
}
.yb-nav__menu[open] .yb-nav__toggle span {
	background: transparent;
}
.yb-nav__menu[open] .yb-nav__toggle span::before {
	top: 0;
	transform: rotate(45deg);
}
.yb-nav__menu[open] .yb-nav__toggle span::after {
	top: 0;
	transform: rotate(-45deg);
}
.yb-nav__panel {
	position: absolute;
	z-index: 100;
	inset-inline-end: 0;
	top: 100%;
	display: flex;
	flex-direction: column;
	min-width: 220px;
	padding: 8px;
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #0f172a);
	border: 1px solid var(--wp--preset--color--border, #e2e8f0);
}
.yb-nav__panel a {
	display: block;
	padding: 10px 12px;
}
/* Department menu (NavDept: yb-nav-dept), the Cartify pattern: an outlined button over a panel of the same width, joined to it by one 2px
   border; a group of quick links in capitals, a rule, then a row per category (a line icon, the name, a chevron). The panel is a normal
   dropdown away from the home page; pinned on it (yb-nav-dept-home, drawer.js) it stands beside the hero and reaches its bottom edge. */
html .wp-block-yb-nav.yb-nav-dept { position: relative; gap: 0; }
.wp-block-yb-nav.yb-nav-dept > .yb-nav__list { display: none; }
html .wp-block-yb-nav.yb-nav-dept > .yb-nav__menu { display: block; position: relative; }
.yb-nav-dept .yb-nav__toggle.yb-nav__dept {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	box-sizing: border-box;
	width: var(--yb-dept-w, 284px);
	height: auto;
	min-height: 48px;
	padding: 0 16px 0 20px;
	border: 2px solid currentColor;
	border-radius: 0;
	background: var(--wp--preset--color--yb-base, #fff);
	color: inherit;
	font-size: var(--ys-step-sm, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}
.yb-nav-dept .yb-nav__toggle.yb-nav__dept::after {
	content: "";
	flex: none;
	margin-inline-start: auto;
	width: 0.5em;
	height: 0.5em;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: translateY(-0.15em) rotate(45deg);
	transition: transform 0.2s ease;
}
.yb-nav-dept .yb-nav__menu[open] > .yb-nav__dept::after { transform: translateY(0.15em) rotate(-135deg); }
html .wp-block-yb-nav.yb-nav-dept .yb-nav__menu > .yb-nav__panel {
	inset-inline: 0 auto;
	top: 100%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: var(--yb-dept-w, 284px);
	min-width: 0;
	margin: 0;
	padding: 6px 0;
	border: 2px solid currentColor;
	border-block-start: 0;
	border-radius: 0;
	background: var(--wp--preset--color--yb-base, #fff);
	box-shadow: none;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li { position: relative; display: flex; flex-direction: column; justify-content: center; }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 0;
	font-size: var(--ys-step-md, 0.9375rem);
}
/* quick links: capitals, letter-spaced, no icon; a rule closes the group */
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a:is([href^="/shop?"], [href^="/shop/?"]) {
	font-size: var(--ys-step-sm, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li:has(> a:is([href^="/shop?"], [href^="/shop/?"])) + li:not(:has(> a:is([href^="/shop?"], [href^="/shop/?"]))) {
	margin-block-start: 6px;
	padding-block-start: 6px;
	border-block-start: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}
/* a category's line icon (by its address; any other gets the grid) and a chevron: both drawn in the text colour */
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a:is([href*="/product-categories/"], [href*="/product-category/"])::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--yb-dept-icon, url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%227%22 height=%227%22 x=%223%22 y=%223%22 rx=%221%22/%3E%3Crect width=%227%22 height=%227%22 x=%2214%22 y=%223%22 rx=%221%22/%3E%3Crect width=%227%22 height=%227%22 x=%2214%22 y=%2214%22 rx=%221%22/%3E%3Crect width=%227%22 height=%227%22 x=%223%22 y=%2214%22 rx=%221%22/%3E%3C/svg%3E")) center / contain no-repeat;
	mask: var(--yb-dept-icon, url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%227%22 height=%227%22 x=%223%22 y=%223%22 rx=%221%22/%3E%3Crect width=%227%22 height=%227%22 x=%2214%22 y=%223%22 rx=%221%22/%3E%3Crect width=%227%22 height=%227%22 x=%2214%22 y=%2214%22 rx=%221%22/%3E%3Crect width=%227%22 height=%227%22 x=%223%22 y=%2214%22 rx=%221%22/%3E%3C/svg%3E")) center / contain no-repeat;
}
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li:not(.yb-nav__parent) > a:is([href*="/product-categories/"], [href*="/product-category/"])::after {
	content: "";
	flex: none;
	margin-inline-start: auto;
	width: 16px;
	height: 16px;
	background: currentColor;
	opacity: 0.55;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m9 18 6-6-6-6%22/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m9 18 6-6-6-6%22/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/phones"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%2214%22 height=%2220%22 x=%225%22 y=%222%22 rx=%222%22 ry=%222%22/%3E%3Cpath d=%22M12 18h.01%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/laptops"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/tablets"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%2216%22 height=%2220%22 x=%224%22 y=%222%22 rx=%222%22 ry=%222%22/%3E%3Cpath d=%22M12 18h.01%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/audio"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/wearables"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%226%22/%3E%3Cpath d=%22M12 10v2l1 1%22/%3E%3Cpath d=%22m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05%22/%3E%3Cpath d=%22m7.88 16.36.8 4a2 2 0 0 0 2 1.64h2.7a2 2 0 0 0 2-1.64l.81-4.05%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/cameras"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z%22/%3E%3Ccircle cx=%2212%22 cy=%2213%22 r=%223%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/gaming"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 11h4M8 9v4M15 12h.01M18 10h.01%22/%3E%3Cpath d=%22M17.32 5H6.68a4 4 0 0 0-3.978 3.59C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258A4 4 0 0 0 17.32 5z%22/%3E%3C/svg%3E"); }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel > li > a[href$="/smart-home"] { --yb-dept-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8%22/%3E%3Cpath d=%22M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z%22/%3E%3C/svg%3E"); }
/* pinned beside the hero: the category rows share the height drawer.js gives the panel (the hero's), so the list ends where the hero does */
.yb-nav-dept .yb-nav__menu[data-yb-pinned] > .yb-nav__panel > li:has(> a:is([href*="/product-categories/"], [href*="/product-category/"])) { flex: 1 1 44px; }
.yb-nav-dept .yb-nav__panel > .yb-nav__parent > a::after { transform: rotate(-45deg); margin-inline-start: auto; }
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel .yb-nav__sub {
	position: absolute;
	z-index: 1;
	top: -12px;
	inset-inline-start: 100%;
	display: none;
	min-width: 220px;
	padding: 12px 0;
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #0f172a);
	border: 1.5px solid currentColor;
	box-shadow: 0 16px 40px rgb(0 0 0 / 0.08);
}
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel .yb-nav__parent:hover > .yb-nav__sub,
.wp-block-yb-nav.yb-nav-dept .yb-nav__panel .yb-nav__parent:focus-within > .yb-nav__sub { display: block; }
.wp-block-yb-nav.yb-nav-dept .yb-nav__sub a { padding: 9px 20px; border-radius: 0; }
/* Menu drawers (NavDrawer: yb-drawer-left|right|full|sheet, -w-narrow|wide, -bg-blur|none, -fold). The menu button opens
   them with <details> (no script needed); drawer.js adds closing on the backdrop, Escape and a link, a still page behind,
   and folding submenus. Colours, corners and type are the design tokens. */
[class*="yb-drawer-"] .yb-nav__menu[open]::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: color-mix(in srgb, var(--wp--preset--color--contrast, #0f172a) 45%, transparent);
	animation: yb-drawer-fade .2s ease both;
}
.yb-drawer-bg-blur .yb-nav__menu[open]::before {
	background: color-mix(in srgb, var(--wp--preset--color--contrast, #0f172a) 25%, transparent);
	backdrop-filter: blur(8px);
}
.yb-drawer-bg-none .yb-nav__menu[open]::before {
	background: transparent;
}
/* Open, the menu button becomes the drawer's close button, in its corner, on the drawer's own colours. */
[class*="yb-drawer-"] .yb-nav__menu[open] > .yb-nav__toggle {
	position: fixed;
	z-index: 1002;
	top: 12px;
	inset-inline-end: 12px;
	border-radius: var(--wp--custom--radius--full, 9999px);
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #0f172a);
}
.yb-drawer-left .yb-nav__menu[open] > .yb-nav__toggle {
	inset-inline: calc(min(var(--yb-drawer-w, 320px), 88vw) - 52px) auto;
}

[class*="yb-drawer-"] .yb-nav__panel {
	position: fixed;
	z-index: 1001;
	top: 0;
	bottom: 0;
	gap: 2px;
	width: min(var(--yb-drawer-w, 320px), 88vw);
	min-width: 0;
	max-height: none;
	margin: 0;
	padding: 72px 20px 32px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 0;
	box-shadow: 0 0 40px rgb(0 0 0 / 0.18);
	font-size: var(--wp--preset--font-size--medium, 1rem);
}
[class*="yb-drawer-"] .yb-nav__panel a {
	padding: 12px 8px;
	border-radius: var(--wp--custom--radius--sm, 0);
}
[class*="yb-drawer-"] .yb-nav__panel > li + li {
	border-top: 1px solid var(--wp--preset--color--border, #e2e8f0);
}
.yb-drawer-w-narrow { --yb-drawer-w: 260px; }
.yb-drawer-w-wide { --yb-drawer-w: 420px; }
.yb-drawer-left .yb-nav__panel {
	inset-inline: 0 auto;
	animation: yb-drawer-left .28s cubic-bezier(.2, .7, .2, 1) both;
}
.yb-drawer-right .yb-nav__panel {
	inset-inline: auto 0;
	animation: yb-drawer-right .28s cubic-bezier(.2, .7, .2, 1) both;
}
.yb-drawer-full .yb-nav__panel {
	inset: 0;
	width: auto;
	justify-content: center;
	align-items: center;
	padding: 96px 24px;
	box-shadow: none;
	font-size: var(--wp--preset--font-size--x-large, 1.75rem);
	animation: yb-drawer-fade .22s ease both;
}
.yb-drawer-full .yb-nav__panel > li + li {
	border-top: 0;
}
.yb-drawer-full .yb-nav__panel .yb-nav__sub {
	font-size: var(--wp--preset--font-size--medium, 1rem);
	text-align: center;
}
.yb-drawer-sheet .yb-nav__panel {
	top: auto;
	inset-inline: 0;
	width: auto;
	max-height: 82vh;
	padding: 36px 20px 28px;
	border-radius: var(--wp--custom--radius--lg, 0) var(--wp--custom--radius--lg, 0) 0 0;
	animation: yb-drawer-up .3s cubic-bezier(.2, .7, .2, 1) both;
}
.yb-drawer-sheet .yb-nav__panel::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 50%;
	width: 40px;
	height: 4px;
	margin-left: -20px;
	border-radius: 2px;
	background: var(--wp--preset--color--border, #e2e8f0);
}
.yb-drawer-fold .yb-nav__panel .yb-nav__parent {
	position: relative;
}
.yb-drawer-fold .yb-nav__panel .yb-nav__parent > .yb-nav__sub {
	display: none;
}
.yb-drawer-fold .yb-nav__panel .yb-nav__parent.is-open > .yb-nav__sub {
	display: block;
}
.yb-drawer__more {
	position: absolute;
	top: 4px;
	inset-inline-end: 0;
	width: 40px;
	height: 40px;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	font: inherit;
}
.yb-drawer__more::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s ease;
}
.is-open > .yb-drawer__more::before {
	transform: translateY(2px) rotate(-135deg);
}
html.yb-drawer-lock {
	overflow: hidden;
}
/* While a drawer is open, an ancestor that would hold it inside its box (a blurred or transformed sticky header) lets go. */
.yb-drawer-host {
	backdrop-filter: none !important;
	transform: none !important;
	filter: none !important;
	contain: none !important;
}
.yb-drawer-lift {
	z-index: 1000 !important;
}
[class*="yb-drawer-"] .yb-nav__panel:focus {
	outline: none;
}
@keyframes yb-drawer-fade { from { opacity: 0; } }
@keyframes yb-drawer-left { from { transform: translateX(-100%); } }
@keyframes yb-drawer-right { from { transform: translateX(100%); } }
@keyframes yb-drawer-up { from { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) {
	[class*="yb-drawer-"] .yb-nav__panel,
	[class*="yb-drawer-"] .yb-nav__menu[open]::before {
		animation: none;
	}
}

/* The menu-button breakpoints come from the design system (Blocks::nav_breakpoints). */

/* Carousel: native scroll-snap. Arrows exist only in the editor. */
.yb-carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.yb-carousel__track::-webkit-scrollbar{display:none}
.yb-carousel__slide{box-sizing:border-box;position:relative;overflow:hidden}
.yb-carousel__img,.yb-carousel__imglink{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--yb-scale,1)) translateY(var(--yb-shift,0));transition:transform .45s ease,filter .45s ease}
.yb-carousel__imglink{display:block}
.yb-carousel__slide:hover .yb-carousel__img{transform:scale(var(--yb-scale-hover,var(--yb-scale,1))) translateY(var(--yb-shift,0))}
.yb-carousel__slide:hover .yb-carousel__img--darken{filter:brightness(.72)}
.yb-carousel__slide:hover .yb-carousel__img--zoom{transform:scale(calc(var(--yb-scale-hover,1) * 1.06)) translateY(var(--yb-shift,0))}
.yb-carousel__slide--split .yb-carousel__img,.yb-carousel__slide--split .yb-carousel__imglink{left:48%;width:52%}
.yb-carousel__copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px}
.yb-anim-fade{animation:yb-fade .6s both}
.yb-anim-left{animation:yb-left .7s both}
.yb-anim-right{animation:yb-right .7s both}
.yb-anim-up{animation:yb-up .7s both}
@keyframes yb-fade{from{opacity:0}to{opacity:1}}
@keyframes yb-left{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}
@keyframes yb-right{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes yb-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Posts loop pagination */
.yb-loop__pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-block-start: 32px;
}
.yb-loop__pages .page-numbers {
	min-width: 36px;
	padding: 6px 10px;
	text-align: center;
	border: 1px solid var(--wp--preset--color--border, #e2e8f0);
	border-radius: var(--wp--custom--radius--md, 0);
	color: inherit;
	text-decoration: none;
}
.yb-loop__pages .page-numbers.current {
	background: var(--wp--preset--color--contrast, #0f172a);
	color: var(--wp--preset--color--base, #fff);
	border-color: var(--wp--preset--color--contrast, #0f172a);
}
/* Load more / infinite scroll (assets/loop-more.js): the button replaces the numbers once the script runs. */
.yb-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-block-start: 40px;
}
.yb-more__button {
	min-width: 200px;
	padding: 12px 28px;
	border: 1px solid currentColor;
	border-radius: var(--wp--custom--radius--md, 0);
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.yb-more__button:hover {
	background: var(--wp--preset--color--contrast, #0f172a);
	color: var(--wp--preset--color--base, #fff);
}
.yb-more__button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
.yb-more.is-loading .yb-more__button {
	opacity: 0.55;
	cursor: progress;
}
.yb-more--scroll .yb-more__button:not(:disabled) {
	opacity: 0.85;
}
.yb-more__status {
	min-height: 1.2em;
	margin: 0;
	font-size: 0.8125rem;
	opacity: 0.7;
}

/* YB Form: fields in a column, the trap out of sight, the messages shown by the address the visitor is sent back to. */
.yb-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
}
.yb-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.yb-form__field--check {
	flex-direction: row;
	align-items: center;
	gap: 8px;
}
.yb-form__label {
	font-size: 0.875rem;
	font-weight: 500;
}
.yb-form__req {
	margin-inline-start: 2px;
	color: var(--wp--preset--color--yb-primary, #2563eb);
}
.yb-form__control {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	font: inherit;
	color: inherit;
	background: var(--wp--preset--color--yb-base, #fff);
	border: 1px solid var(--wp--preset--color--yb-border, #e2e8f0);
	border-radius: var(--wp--custom--radius--md, 8px);
}
.yb-form__control:focus {
	outline: 2px solid var(--wp--preset--color--yb-primary, #2563eb);
	outline-offset: 1px;
}
textarea.yb-form__control {
	min-height: 120px;
	resize: vertical;
}
.yb-form__submit {
	align-self: flex-start;
	padding: 12px 22px;
	font: inherit;
	font-weight: 600;
	color: var(--wp--preset--color--yb-on-primary, var(--wp--preset--color--yb-inverse, #fff));
	background: var(--wp--preset--color--yb-primary, #2563eb);
	border: 0;
	border-radius: var(--wp--custom--radius--md, 8px);
	cursor: pointer;
}
.yb-form__submit[disabled] {
	cursor: default;
}
.yb-form__trap {
	position: absolute !important;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.yb-form__sent,
.yb-form__error {
	display: none;
	margin: 0;
	padding: 12px 14px;
	border-radius: var(--wp--custom--radius--md, 8px);
}
.yb-form__sent:target {
	display: block;
	background: color-mix(in srgb, #16a34a 12%, transparent);
	color: #166534;
}
.yb-form__error:target {
	display: block;
	background: color-mix(in srgb, #dc2626 12%, transparent);
	color: #991b1b;
}

/* Banner slider controls (assets/slider.js adds them only where a section scroll-snaps horizontally). */
.yb-slider-wrap {
  position: relative;
  min-width: 0;
}
.yb-slider-arrow {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, #fff 85%, transparent);
  color: #111;
  cursor: pointer;
  box-shadow: 0 2px 8px rgb(0 0 0 / 0.2);
}
.yb-slider-arrow svg,
.yb-lightbox button svg { display: block; }
/* The track can be narrower than its wrapper (a slider with a Section width): slider.js gives the gaps on each side
   (--yb-track-l / --yb-track-r), so the arrows and dots sit on the slides, not at the wrapper's edges. */
.yb-slider-prev { left: calc(var(--yb-track-l, 0px) + 0.75rem); }
.yb-slider-next { right: calc(var(--yb-track-r, 0px) + 0.75rem); }
.yb-slider-dots {
  position: absolute;
  left: calc(50% + (var(--yb-track-l, 0px) - var(--yb-track-r, 0px)) / 2);
  bottom: 0.25rem;
  translate: -50% 0;
  z-index: 2;
  display: flex;
}
/* Fade transition (slider.js adds yb-slider--fade for a yb-fade slider; without JS it stays a swipeable strip). */
.yb-slider--fade { display: grid !important; overflow: hidden !important; }
.yb-slider--fade > * { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity 0.6s ease, visibility 0s linear 0.6s; }
.yb-slider--fade > .is-active { opacity: 1; visibility: visible; transition: opacity 0.6s ease; }
@media (prefers-reduced-motion: reduce) { .yb-slider--fade > * { transition: none; } }
/* 24px targets (WCAG 2.5.8) around a 10px dot. */
.yb-slider-dot {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.yb-slider-dot::before {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border: 2px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.25);
  box-sizing: border-box;
}
.yb-slider-dot[aria-current="true"]::before { background: #fff; }
/* Slider styles (Studio: Content → Slider). The wrapper gets the track's yb-arrows-*, yb-dots-*, yb-nav-* tokens. */
.yb-slider-arrow:disabled { opacity: 0.35; cursor: default; }
.yb-slider-static > .yb-slider-arrow, .yb-slider-static > .yb-slider-dots { display: none; }
.yb-arrows-simple .yb-slider-arrow { background: transparent; color: #fff; box-shadow: none; filter: drop-shadow(0 1px 2px rgb(0 0 0 / 0.5)); }
.yb-arrows-simple .yb-slider-arrow svg { width: 32px; height: 32px; }
.yb-nav-dark .yb-slider-arrow { background: color-mix(in srgb, #111 85%, transparent); color: #fff; }
.yb-nav-dark.yb-arrows-simple .yb-slider-arrow { background: transparent; color: #111; filter: none; }
.yb-nav-dark .yb-slider-dot::before { border-color: #111; box-shadow: 0 0 0 1px rgb(255 255 255 / 0.4); }
.yb-nav-dark .yb-slider-dot[aria-current="true"]::before { background: #111; }
.yb-dots-dashes .yb-slider-dot { width: 2rem; }
.yb-dots-dashes .yb-slider-dot::before { width: 1.5rem; height: 0.25rem; border: 0; border-radius: 2px; background: rgb(255 255 255 / 0.5); }
.yb-dots-dashes .yb-slider-dot[aria-current="true"]::before { background: #fff; }
.yb-nav-dark.yb-dots-dashes .yb-slider-dot::before { background: rgb(17 17 17 / 0.3); }
.yb-nav-dark.yb-dots-dashes .yb-slider-dot[aria-current="true"]::before { background: #111; }
/* Outside: arrows beside the slides (inside on narrow screens and full-width sliders, which have no room), dots under them. */
.yb-nav-outside .yb-slider-dots { position: static; translate: none; justify-content: center; margin-top: 0.5rem; }
.yb-nav-outside .yb-slider-dot::before { border-color: currentColor; box-shadow: none; }
.yb-nav-outside .yb-slider-dot[aria-current="true"]::before { background: currentColor; }
.yb-nav-outside.yb-dots-dashes .yb-slider-dot::before { background: color-mix(in srgb, currentColor 30%, transparent); }
.yb-nav-outside.yb-dots-dashes .yb-slider-dot[aria-current="true"]::before { background: currentColor; }
@media (min-width: 900px) {
  .yb-nav-outside:not(:has(> .alignfull)) .yb-slider-prev { left: calc(var(--yb-track-l, 0px) - 3.25rem); }
  .yb-nav-outside:not(:has(> .alignfull)) .yb-slider-next { right: calc(var(--yb-track-r, 0px) - 3.25rem); }
}
/* Gallery: a strip of thumbnails under the slides. */
.yb-slider-thumbs { display: flex; gap: 0.5rem; margin-top: 0.5rem; overflow-x: auto; scrollbar-width: thin; }
.yb-slider-thumb { flex: 0 0 4.5rem; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: 6px; background: #e5e5e5 center / cover no-repeat; font: inherit; font-weight: 600; color: #555; cursor: pointer; opacity: 0.6; transition: opacity 0.2s ease, border-color 0.2s ease; }
.yb-slider-thumb:hover { opacity: 0.9; }
.yb-slider-thumb[aria-current="true"] { border-color: currentColor; opacity: 1; }
.yb-slider-thumb:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
/* Focus: the centred slide at full strength, its neighbours dimmed (the slider keeps 10% free each side, slides snap to the centre). */
.yb-slider-ready .yb-slider-focus > * { transition: opacity 0.4s ease, transform 0.4s ease; }
.yb-slider-ready .yb-slider-focus > :not(.is-active) { opacity: 0.45; transform: scale(0.94); }
/* Entrance: the active slide's content comes in (replays every time a slide becomes active); content in a text box
   comes in one item after another. Never without the script or with reduced motion. */
.yb-enter-fade { --yb-enter: yb-fade; }
.yb-enter-up { --yb-enter: yb-up; }
.yb-enter-left { --yb-enter: yb-left; }
.yb-enter-right { --yb-enter: yb-right; }
.yb-enter-zoom { --yb-enter: yb-zoom; }
.yb-enter-blur { --yb-enter: yb-blur; }
@media (prefers-reduced-motion: no-preference) {
  /* Text of slides not in view waits hidden, so it never shows and then jumps back to the animation's start. */
  .yb-slider-ready:not(.yb-slider-multi) [class*="yb-enter-"] > :not(.is-active):not(.is-leaving) > :not(.yb-bg-video) { opacity: 0; }
  .yb-slider-ready:not(.yb-slider-multi) [class*="yb-enter-"] > .is-active > :not(.yb-bg-video):not(:has(> *)),
  .yb-slider-ready:not(.yb-slider-multi) [class*="yb-enter-"] > .is-active > :not(.yb-bg-video) > * { animation: var(--yb-enter) 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) var(--yb-enter-delay, 0s) both; }
  .yb-slider-ready:not(.yb-slider-multi) [class*="yb-enter-"] > .is-active > * > :nth-child(2) { animation-delay: calc(var(--yb-enter-delay, 0s) + 0.12s); }
  .yb-slider-ready:not(.yb-slider-multi) [class*="yb-enter-"] > .is-active > * > :nth-child(3) { animation-delay: calc(var(--yb-enter-delay, 0s) + 0.24s); }
  .yb-slider-ready:not(.yb-slider-multi) [class*="yb-enter-"] > .is-active > * > :nth-child(n+4) { animation-delay: calc(var(--yb-enter-delay, 0s) + 0.36s); }
}
@keyframes yb-zoom { from { opacity: 0; transform: scale(0.85); } to { opacity: 1; transform: none; } }
@keyframes yb-blur { from { opacity: 0; filter: blur(12px); } to { opacity: 1; filter: none; } }
.yb-slider-arrow:focus-visible,
.yb-slider-dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #111;
}

/* Tabs (assets/tabs.js builds the list; until then the panels stack with their headings). */
.yb-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  border-bottom: 1px solid var(--wp--preset--color--yb-border, #e5e5e5);
}
.yb-tabs__tab {
  padding: 0.625rem 1rem;
  border: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  opacity: 0.7;
}
.yb-tabs__tab[aria-selected="true"] {
  border-bottom-color: currentColor;
  opacity: 1;
}
.yb-tabs__tab:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.yb-tabs--ready .yb-tabs__heading {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
/* A panel's YB layout (display:flex/grid) would otherwise beat the [hidden] attribute. */
.yb-tabs--ready > [role="tabpanel"][hidden] { display: none !important; }

/* card-hover: generated from shared/CardHover.scala (YB_UPDATE_SNAPSHOTS=1 sbt sharedJVM/test) */
:is(.yb-hover-zoom > :not(.yb-loop__pages)){overflow:hidden}:is(.yb-hover-zoom > :not(.yb-loop__pages)) :is(img.wp-block-yb-image,.wp-block-yb-image img){transition:transform .5s ease}:is(.yb-hover-zoom > :not(.yb-loop__pages)):hover :is(img.wp-block-yb-image,.wp-block-yb-image img){transform:scale(1.06)}
:is(.yb-hover-fade > :not(.yb-loop__pages)) :is(img.wp-block-yb-image,.wp-block-yb-image img){transition:opacity .3s ease}:is(.yb-hover-fade > :not(.yb-loop__pages)):hover :is(img.wp-block-yb-image,.wp-block-yb-image img){opacity:.8}
:is(.yb-hover-gray > :not(.yb-loop__pages)) :is(img.wp-block-yb-image,.wp-block-yb-image img){filter:grayscale(1);transition:filter .3s ease}:is(.yb-hover-gray > :not(.yb-loop__pages)):hover :is(img.wp-block-yb-image,.wp-block-yb-image img){filter:none}
:is(.yb-hover-lift > :not(.yb-loop__pages)){transition:transform .25s ease,box-shadow .25s ease}:is(.yb-hover-lift > :not(.yb-loop__pages)):hover{transform:translateY(-4px);box-shadow:0 12px 28px rgb(0 0 0/.12)}
@media (prefers-reduced-motion:reduce){:is(.yb-hover-zoom > :not(.yb-loop__pages)):hover :is(img.wp-block-yb-image,.wp-block-yb-image img),:is(.yb-hover-lift > :not(.yb-loop__pages)):hover{transform:none}}
.yb-card__tile img{mix-blend-mode:multiply}
.yb-card .yb-card__row:not(:has(*)){display:none}
.yb-card .yb-card__media > .yb-card__alt{opacity:0;transition:opacity .35s ease}
.yb-card:hover .yb-card__media > .yb-card__alt{opacity:1}
.yb-card .yb-card-reveal{transition:opacity .2s ease,transform .2s ease}
.yb-card .yb-card-slide{transition:transform .25s ease}
@media (hover:hover){.yb-card:not(:hover):not(:focus-within) .yb-card-reveal{opacity:0;transform:translateX(8px)}.yb-card:not(:hover):not(:focus-within) .yb-card-slide{transform:translateY(105%)}}
@media (hover:none){.yb-card .yb-card__media > .yb-card-slide{position:relative;transform:none}.yb-card .yb-card__media > .yb-card__alt{display:none}}
.yb-view-list .yb-shop-loop.yb-shop-loop{grid-template-columns:minmax(0,1fr)}
.yb-view-list .yb-shop-loop > .yb-card{flex-direction:row;align-items:center;gap:24px}
.yb-view-list .yb-shop-loop > .yb-card > .yb-card__media{flex:0 0 min(34%,260px)}
.yb-view-list .yb-shop-loop > .yb-card > :not(.yb-card__media){flex:1 1 0}
@media (prefers-reduced-motion:reduce){.yb-card .yb-card__alt,.yb-card .yb-card-reveal,.yb-card .yb-card-slide{transition:none}}
/* card-hover: end */

/* Gallery lightbox (assets/gallery.js). */
.yb-lightbox {
  max-width: none;
  max-height: none;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  padding: 3rem;
  border: 0;
  background: transparent;
  box-sizing: border-box;
}
.yb-lightbox[open] { display: grid; place-items: center; }
.yb-lightbox::backdrop { background: rgb(0 0 0 / 0.85); }
.yb-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.yb-lightbox button {
  position: absolute;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.9);
  color: #111;
  cursor: pointer;
}
.yb-lightbox__prev { left: 1rem; top: 50%; translate: 0 -50%; }
.yb-lightbox__next { right: 1rem; top: 50%; translate: 0 -50%; }
.yb-lightbox__close { right: 1rem; top: 1rem; }
.yb-lightbox button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* box-effects: generated from shared/BoxEffects.scala (YB_UPDATE_SNAPSHOTS=1 sbt sharedJVM/test) */
.yb-stretch-link{position:relative}.yb-stretch-link a.wp-block-yb-button::after{content:"";position:absolute;inset:0;z-index:1}
.yb-stretch-link a.wp-block-yb-button:focus-visible{outline-offset:4px}
.yb-bg-zoom{position:relative;overflow:hidden;isolation:isolate}.yb-bg-zoom::before{content:"";position:absolute;inset:0;z-index:-1;background:inherit;transition:transform .6s ease}.yb-bg-zoom:hover::before{transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){.yb-bg-zoom::before{transition:none}.yb-bg-zoom:hover::before{transform:none}}
.yb-has-bg-video{position:relative;overflow:hidden;isolation:isolate}
.wp-block-yb-video.yb-bg-video{position:absolute;inset:0;z-index:-1;width:auto;margin:0;aspect-ratio:auto;border-radius:0;background:transparent;pointer-events:none;container-type:size}
.yb-bg-video iframe{position:absolute;inset:auto;top:50%;left:50%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);translate:-50% -50%;border:0}
.yb-bg-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wp-block-yb-video.yb-bg-video::after{content:"";position:absolute;inset:0;background:var(--yb-scrim,rgb(0 0 0/.35))}
@media (prefers-reduced-motion:reduce){.wp-block-yb-video.yb-bg-video{display:none}}
/* box-effects: end */

/* animate: generated from shared/Animate.scala (YB_UPDATE_SNAPSHOTS=1 sbt sharedJVM/test) */
.yb-anim [class*="yb-animate-"]:not(.is-in){opacity:0}
.yb-anim [class*="yb-animate-"].is-in{animation:var(--yb-anim,yb-fade) .8s cubic-bezier(.2,.7,.2,1) var(--yb-anim-delay,0s) both}
.yb-animate-fade{--yb-anim:yb-a-fade}.yb-animate-up{--yb-anim:yb-a-up}.yb-animate-down{--yb-anim:yb-a-down}.yb-animate-left{--yb-anim:yb-a-left}.yb-animate-right{--yb-anim:yb-a-right}.yb-animate-zoom{--yb-anim:yb-a-zoom}.yb-animate-blur{--yb-anim:yb-a-blur}.yb-animate-bounce{--yb-anim:yb-a-bounce}.yb-animate-flip-x{--yb-anim:yb-a-flip-x}.yb-animate-flip-y{--yb-anim:yb-a-flip-y}
.yb-delay-1{--yb-anim-delay:0.15s}.yb-delay-2{--yb-anim-delay:0.30s}.yb-delay-3{--yb-anim-delay:0.45s}.yb-delay-4{--yb-anim-delay:0.60s}
@keyframes yb-a-fade{from{opacity:0}to{opacity:1}}
@keyframes yb-a-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes yb-a-down{from{opacity:0;transform:translateY(-32px)}to{opacity:1;transform:none}}
@keyframes yb-a-left{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes yb-a-right{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
@keyframes yb-a-zoom{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes yb-a-blur{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:none}}
@keyframes yb-a-bounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:none}}
@keyframes yb-a-flip-x{from{opacity:0;transform:perspective(400px) rotateX(90deg)}to{opacity:1;transform:none}}
@keyframes yb-a-flip-y{from{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.yb-anim [class*="yb-animate-"]{opacity:1!important;animation:none!important}}
/* animate: end */

/* hotspot: generated from shared/Hotspot.scala (YB_UPDATE_SNAPSHOTS=1 sbt sharedJVM/test) */
.yb-hotspot{z-index:2}
.yb-hotspot>.wp-block-yb-button:first-child{position:relative}
.yb-hotspot>.wp-block-yb-button:first-child::after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid currentColor;opacity:0;animation:yb-hotspot-pulse 2s ease-out infinite;pointer-events:none}
@keyframes yb-hotspot-pulse{0%{opacity:.6;transform:scale(.8)}100%{opacity:0;transform:scale(1.5)}}
.yb-hotspot__tip{position:absolute;left:50%;bottom:calc(100% + 12px);translate:-50% 0;z-index:3;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.yb-hotspot--below>.yb-hotspot__tip{bottom:auto;top:calc(100% + 12px)}
.yb-hotspot--left>.yb-hotspot__tip{left:auto;right:calc(100% + 12px);bottom:auto;top:50%;translate:0 -50%}
.yb-hotspot--right>.yb-hotspot__tip{left:calc(100% + 12px);bottom:auto;top:50%;translate:0 -50%}
.yb-hotspot:hover>.yb-hotspot__tip,.yb-hotspot:focus-within>.yb-hotspot__tip,.yb-hotspot.yb-open>.yb-hotspot__tip{opacity:1;visibility:visible;transition:opacity .2s ease}
@media (prefers-reduced-motion:reduce){.yb-hotspot>.wp-block-yb-button:first-child::after{animation:none}}
/* hotspot: end */

/* header: generated from shared/HeaderOptions.scala (YB_UPDATE_SNAPSHOTS=1 sbt sharedJVM/test) */
:is(.wp-block-template-part,.yb-fragment):has(>.yb-header-sticky){position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:100}
:where(.yb-header-sticky){background-color:var(--wp--preset--color--yb-base,var(--wp--preset--color--base,#fff));transition:box-shadow .2s ease,padding .2s ease}
:is(.wp-block-template-part,.yb-fragment).is-stuck>.yb-header-sticky{box-shadow:0 2px 16px rgb(0 0 0/.08)}
:is(.wp-block-template-part,.yb-fragment).is-stuck>.yb-header-shrink .yb-header-topbar{display:none}
:is(.wp-block-template-part,.yb-fragment).is-stuck>.yb-header-shrink>*{padding-block:8px!important}
:is(.wp-block-template-part,.yb-fragment).is-stuck>.yb-header-shrink:not(:has(>*>*)){padding-block:8px!important}
.yb-header-shrink>*{transition:padding .2s ease}
.yb-header-shrink :is(img,.custom-logo){transition:max-height .2s ease}
:is(.wp-block-template-part,.yb-fragment).is-stuck>.yb-header-shrink :is(img,.custom-logo){max-height:36px;width:auto}
body.home :is(.wp-block-template-part,.yb-fragment):has(>.yb-header-overlay){position:absolute;inset-inline:0;top:var(--wp-admin--admin-bar--height,0px);z-index:100}
body.home :is(.wp-block-template-part,.yb-fragment):has(>.yb-header-overlay.yb-header-sticky){position:fixed}
body.home :is(.wp-block-template-part,.yb-fragment):not(.is-stuck)>.yb-header-overlay{background:transparent!important;color:#fff;box-shadow:none}
body.home :is(.wp-block-template-part,.yb-fragment):not(.is-stuck)>.yb-header-overlay :is(a,button,.wp-block-yb-icon){color:inherit}
body.home :is(.wp-block-template-part,.yb-fragment).is-stuck>.yb-header-overlay{background-color:var(--wp--preset--color--yb-base,var(--wp--preset--color--base,#fff));color:var(--wp--preset--color--yb-text,var(--wp--preset--color--contrast,#111))}
@media (prefers-reduced-motion:reduce){:where(.yb-header-sticky),.yb-header-shrink>*,.yb-header-shrink :is(img,.custom-logo){transition:none}}
/* header: end */

/* container: generated from shared/Container.scala (YB_UPDATE_SNAPSHOTS=1 sbt sharedJVM/test) */
:root{--yb-container:var(--wp--style--global--wide-size,1200px);--yb-gutter:24px;--yb-band:max(var(--yb-gutter),calc((100vw - var(--yb-container)) / 2))}
/* container: end */

/* Smooth (squircle) corners, as Figma draws them: an element whose own styles round its corners gets .yb-squircle at
   render (circles, pills and square corners do not; Corners.scala, Styles.php). Where the browser has corner-shape
   (CSS Borders 4) the curve is smooth; elsewhere the corners stay round. */
@supports (corner-shape: squircle) {
  .yb-squircle,
  .yb-squircle > img,
  .yb-form__control,
  .yb-form__submit,
  .yb-form__sent,
  .yb-form__error,
  .yb-nav__list .yb-nav__sub,
  .yb-loop__pages .page-numbers,
  .yb-slider-thumb { corner-shape: squircle; }
}

/* A video that starts by itself (Autoplay): the sound on/off button video.js adds (it turns the sound on as soon as
   the browser allows; a muted start is what every browser lets a page do). */
.wp-block-yb-video:not(.yb-bg-video) video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
/* A player in a frame of its own shape (9:16, 1:1, 4:5): it fills the frame, cropping a wide video to its middle (Embed.withFrame). */
.wp-block-yb-video.yb-video-crop { container-type: size; }
.wp-block-yb-video.yb-video-crop iframe { inset: auto; top: 50%; left: 50%; width: max(100cqw, 177.78cqh); height: max(100cqh, 56.25cqw); translate: -50% -50%; }
.wp-block-yb-video.yb-video-crop video { object-fit: cover; }
.yb-video__sound { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; background: rgb(0 0 0 / 0.6); color: #fff; cursor: pointer; }
.yb-video__sound svg { width: 20px; height: 20px; }
.yb-video__sound:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.yb-video--sound .yb-video__sound, .yb-video__sound.is-on { opacity: 0.55; }
.yb-has-bg-video > .yb-video__sound { z-index: 3; }
.yb-video--sound .yb-video__sound:hover, .yb-video--sound .yb-video__sound:focus-visible, .yb-video__sound.is-on:hover, .yb-video__sound.is-on:focus-visible { opacity: 1; }

/* ---- Header and menus, finished (header presets, any YB Navigation) -------------------------------------------- */
/* A preset header's rows anchor what opens from their menu (a dropdown, a mega panel): the menu itself stays static so
   a mega panel can span its row. Headers built before the rows carried it get it here. */
.yb-hv > * { position: relative; }
/* The dropdown hangs under its own menu button, whatever the header around it (a drawer is fixed to the screen). In a
   preset header it spans the row under it instead, so it never runs off the screen whichever side the button sits on. */
.yb-nav__menu { position: relative; }
.yb-hv .wp-block-yb-nav, .yb-hv .yb-nav__menu { position: static; }
.yb-hv .wp-block-yb-nav:not([class*="yb-drawer-"]) .yb-nav__panel { inset-inline: 12px; top: calc(100% + 6px); min-width: 0; }

/* Desktop links: a quiet underline that grows in; the current page keeps it. It is an inset shadow, not a background, so the link's
   text always sits on the header's own colour (a same-coloured background layer reads as zero contrast). */
.yb-nav__list > li > a {
	padding: 8px;
	margin-inline: -8px;
	box-shadow: inset 0 0 0 0 currentColor;
	transition: box-shadow .28s cubic-bezier(.2, .7, .2, 1), opacity .2s ease;
}
.wp-block-yb-nav .yb-nav__list > li > a:hover,
.wp-block-yb-nav .yb-nav__list > li > a[aria-current="page"] { text-decoration: none; box-shadow: inset 0 -2px 0 0 currentColor; }
.wp-block-yb-nav .yb-nav__list > li > a:focus-visible { box-shadow: inset 0 -2px 0 0 currentColor; outline: 2px solid currentColor; outline-offset: -2px; border-radius: 4px; }

/* Submenus and the dropdown: a floating card, rows that light up under the pointer. */
.yb-nav__list .yb-nav__sub,
.yb-nav__panel {
	padding: 8px;
	border-radius: var(--wp--custom--radius--lg, 12px);
	box-shadow: 0 1px 2px rgb(0 0 0 / .06), 0 16px 40px rgb(0 0 0 / .14);
}
.yb-nav__sub a,
.yb-nav__panel a {
	border-radius: var(--wp--custom--radius--md, 8px);
	transition: background-color .15s ease, color .15s ease;
}
.wp-block-yb-nav .yb-nav__sub a:hover,
.wp-block-yb-nav .yb-nav__panel a:hover,
.wp-block-yb-nav .yb-nav__panel a:focus-visible {
	background-color: color-mix(in srgb, currentColor 7%, transparent);
	text-decoration: none;
}
.wp-block-yb-nav .yb-nav__panel a:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.wp-block-yb-nav .yb-nav__panel a[aria-current="page"] {
	background-color: color-mix(in srgb, var(--wp--preset--color--yb-primary, currentColor) 12%, transparent);
	color: var(--wp--preset--color--yb-primary, inherit);
	text-decoration: none;
}

/* Drawers and the sheet: roomier rows without rules between them, the open edge rounded, a softer entrance, links that
   arrive one after another, a close button that reads as one. */
[class*="yb-drawer-"] .yb-nav__panel {
	gap: 2px;
	padding: 76px 14px 28px;
	font-size: 1.0625rem;
	box-shadow: 0 0 0 1px color-mix(in srgb, currentColor 6%, transparent), 0 24px 64px rgb(0 0 0 / .24);
}
[class*="yb-drawer-"] .yb-nav__panel > li + li { border-top: 0; }
[class*="yb-drawer-"] .yb-nav__panel a { padding: 13px 14px; font-weight: 600; }
.yb-drawer-right .yb-nav__panel {
	border-start-start-radius: var(--wp--custom--radius--xl, 20px);
	border-end-start-radius: var(--wp--custom--radius--xl, 20px);
	animation: yb-drawer-right .42s cubic-bezier(.16, 1, .3, 1) both;
}
.yb-drawer-left .yb-nav__panel {
	border-start-end-radius: var(--wp--custom--radius--xl, 20px);
	border-end-end-radius: var(--wp--custom--radius--xl, 20px);
	animation: yb-drawer-left .42s cubic-bezier(.16, 1, .3, 1) both;
}
.yb-drawer-sheet .yb-nav__panel {
	padding: 40px 14px calc(24px + env(safe-area-inset-bottom, 0px));
	border-radius: var(--wp--custom--radius--xl, 20px) var(--wp--custom--radius--xl, 20px) 0 0;
	animation: yb-drawer-up .42s cubic-bezier(.16, 1, .3, 1) both;
}
.yb-drawer-full .yb-nav__panel { border-radius: 0; }
.yb-drawer-full .yb-nav__panel a { padding: 12px 20px; font-weight: 700; }
[class*="yb-drawer-"] .yb-nav__menu[open] > .yb-nav__toggle {
	top: 16px;
	inset-inline-end: 16px;
	box-shadow: 0 0 0 1px color-mix(in srgb, currentColor 12%, transparent), 0 4px 14px rgb(0 0 0 / .12);
}
.yb-drawer-left .yb-nav__menu[open] > .yb-nav__toggle { inset-inline: calc(min(var(--yb-drawer-w, 320px), 88vw) - 56px) auto; }
@media (prefers-reduced-motion: no-preference) {
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li { animation: yb-drawer-item .4s cubic-bezier(.16, 1, .3, 1) both; }
	.yb-drawer-left .yb-nav__menu[open] .yb-nav__panel > li { animation-name: yb-drawer-item-left; }
	.yb-drawer-sheet .yb-nav__menu[open] .yb-nav__panel > li,
	.yb-drawer-full .yb-nav__menu[open] .yb-nav__panel > li { animation-name: yb-drawer-item-up; }
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li:nth-child(1) { animation-delay: .06s; }
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li:nth-child(2) { animation-delay: .1s; }
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li:nth-child(3) { animation-delay: .14s; }
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li:nth-child(4) { animation-delay: .18s; }
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li:nth-child(5) { animation-delay: .22s; }
	[class*="yb-drawer-"] .yb-nav__menu[open] .yb-nav__panel > li:nth-child(n+6) { animation-delay: .26s; }
}
@keyframes yb-drawer-item { from { opacity: 0; transform: translateX(16px); } }
@keyframes yb-drawer-item-left { from { opacity: 0; transform: translateX(-16px); } }
@keyframes yb-drawer-item-up { from { opacity: 0; transform: translateY(12px); } }

/* A stuck header turns to frosted glass over the page (drawer.js lets go of the blur while a drawer is open). */
:is(.wp-block-template-part, .yb-fragment).is-stuck > .yb-header-sticky {
	background-color: color-mix(in srgb, var(--wp--preset--color--yb-base, var(--wp--preset--color--base, #fff)) 80%, transparent);
	-webkit-backdrop-filter: saturate(1.5) blur(14px);
	backdrop-filter: saturate(1.5) blur(14px);
}
:is(.wp-block-template-part, .yb-fragment).is-stuck > .yb-header-sticky.yb-hv-dark {
	background-color: color-mix(in srgb, var(--wp--preset--color--yb-secondary, #111) 82%, transparent);
}
@supports (corner-shape: squircle) {
	.yb-nav__list .yb-nav__sub, .yb-nav__panel, .yb-nav__sub a, .yb-nav__panel a { corner-shape: squircle; }
}

/* YB Play (docs/play-sandbox.md): a game on a page, behind its poster until the visitor presses play. */
.yb-game{position:relative}
.yb-play{position:relative;width:100%;height:100%;aspect-ratio:16/9;min-height:220px;overflow:hidden;background:#0b0b10;border-radius:inherit;isolation:isolate}
.yb-play__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yb-play__start{position:absolute;inset:0;margin:auto;width:max-content;height:max-content;display:inline-flex;align-items:center;gap:.6em;padding:.85em 1.5em;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#111;font:600 1rem/1 inherit;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .15s ease}
.yb-play__start:hover{transform:scale(1.05)}
.yb-play__start:focus-visible{outline:3px solid #fff;outline-offset:3px}
.yb-play__icon{width:0;height:0;border-style:solid;border-width:.5em 0 .5em .8em;border-color:transparent transparent transparent currentColor}
.yb-play.is-playing .yb-play__poster,.yb-play.is-playing .yb-play__start{display:none}
.yb-play__frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}

@media (max-width:1024px){.yb-nav--toggle-tablet .yb-nav__list{display:none}.yb-nav--toggle-tablet .yb-nav__menu{display:block}}@media (max-width:767px){.yb-nav--toggle-mobile .yb-nav__list{display:none}.yb-nav--toggle-mobile .yb-nav__menu{display:block}}@media (max-width:767px){.yb-nav--toggle-tablet .yb-nav__list{display:none}.yb-nav--toggle-tablet .yb-nav__menu{display:block}}