/* Self-hosted Manrope (SIL OFL, see manrope-OFL.txt). */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('manrope-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('manrope-latin.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;
}

/* Global visual language for the plugin storefront and XStore content. */
body.wp-theme-xstore,
body.wp-theme-xstore button,
body.wp-theme-xstore input,
body.wp-theme-xstore select,
body.wp-theme-xstore textarea {
  font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.wp-theme-xstore h1, body.wp-theme-xstore h2, body.wp-theme-xstore h3,
body.wp-theme-xstore .gpb-home h1, body.wp-theme-xstore .gpb-home h2, body.wp-theme-xstore .gpb-home h3 {
  font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.gpb-header { position: sticky; top: 0; z-index: 1000; box-shadow: 0 8px 28px rgba(8,45,102,.10); transition: box-shadow .2s ease; }
body.admin-bar .gpb-header { top: 32px; }
.gpb-header.is-compact { box-shadow: 0 10px 32px rgba(8,45,102,.16); }
.gpb-header-main { transition: min-height .2s ease, padding .2s ease; }
.gpb-header.is-compact .gpb-header-main { min-height: 69px; }
.gpb-header .gpb-logo img { transition: width .2s ease, max-height .2s ease; }
.gpb-header.is-compact .gpb-logo img { width: min(25vw, 265px); max-height: 60px; }
.gpb-header.is-compact .gpb-search-quick { display: none; }
.gpb-utility a, .gpb-nav-quote, .gpb-dept-intro a, .gpb-dept-heading,
.gpb-dept-more { display: inline-flex; align-items: center; gap: 6px; }
.gpb-utility svg, .gpb-nav-quote svg, .gpb-dept-intro svg, .gpb-dept-heading > svg,
.gpb-dept-more svg { width: 15px; height: 15px; flex: none; }
.gpb-dept-symbol svg { width: 18px; height: 18px; }
.gpb-dept-chevron svg { display: block; width: 17px; height: 17px; transition: transform .2s ease; }
.gpb-departments[open] .gpb-dept-chevron svg { transform: rotate(180deg); }
.gpb-search-wrap { position: relative; }
.gpb-search { border-color: #B9DFF4; box-shadow: 0 3px 12px rgba(8,45,102,.035); transition: border-color .2s ease, box-shadow .2s ease; }
.gpb-search:focus-within { border-color: #1584D9; box-shadow: 0 0 0 4px rgba(21,132,217,.13); }
.gpb-search button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.gpb-search button:hover { background: #096BB8; }
.gpb-search button svg { width: 18px; height: 18px; }
.gpb-search-results[hidden] { display: none; }
.gpb-search-results { position: absolute; z-index: 1100; top: 53px; left: 0; right: 0; max-height: min(65vh, 500px); overflow-y: auto; border: 1px solid #D6E8F6; border-radius: 12px; background: #fff; box-shadow: 0 20px 45px rgba(8,45,102,.18); }
.gpb-search-results-head { padding: 11px 15px 8px; color: #617B9A; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.gpb-search-result { display: flex; align-items: center; gap: 12px; padding: 9px 14px; border-top: 1px solid #EDF3F8; color: #082D66; }
.gpb-search-result:hover, .gpb-search-result.is-active, .gpb-search-result:focus-visible { background: #EAF6FD; outline: none; }
.gpb-search-result img, .gpb-search-result-image { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 7px; background: #F3F8FC; object-fit: contain; }
.gpb-search-result-copy { display: grid; gap: 2px; min-width: 0; }
.gpb-search-result-brand { color: #6A829E; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.gpb-search-result-name { overflow: hidden; color: #082D66; font-size: 12px; font-weight: 750; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.gpb-search-result-price { color: #126FB5; font-size: 12px; font-weight: 800; }
.gpb-search-status { padding: 15px; color: #58718E; font-size: 12px; }
.gpb-search-all { display: block; padding: 12px 15px; border-top: 1px solid #E2EDF5; color: #1169B0; background: #F7FBFE; font-size: 12px; font-weight: 800; }
.gpb-search-all:hover { background: #EAF6FD; }
.gpb-departments > summary { transition: border-color .2s ease, box-shadow .2s ease; }
.gpb-departments > summary:hover, .gpb-departments[open] > summary { border-color: #96CEEE; box-shadow: 0 3px 12px rgba(8,45,102,.08); }
.gpb-dept-panel { display: block; width: min(1020px, calc(100vw - 32px)); max-height: min(76vh, 700px); padding: 0; }
.gpb-dept-intro { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 20px; border-bottom: 1px solid #E2EDF5; background: #F7FBFE; }
.gpb-dept-intro strong { color: #082D66; font-size: 15px; font-weight: 800; }
.gpb-dept-intro a { color: #1169B0; font-size: 12px; font-weight: 800; }
.gpb-dept-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.gpb-dept-group { gap: 0; padding: 16px 19px; border-right: 1px solid #EDF3F8; border-bottom: 1px solid #EDF3F8; transition: background .2s ease; }
.gpb-dept-group:hover, .gpb-dept-group:focus-within { background: #FAFDFF; }
.gpb-dept-group .gpb-dept-heading { display: flex; gap: 11px; margin: 0 0 9px; font-size: 13px; font-weight: 800; }
.gpb-dept-heading img, .gpb-dept-image-fallback { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 9px; background: #EAF6FD; object-fit: cover; }
.gpb-dept-image-fallback { display: grid; place-items: center; color: #1584D9; }
.gpb-dept-image-fallback svg { width: 25px; height: 25px; }
.gpb-dept-heading > span:nth-last-child(2) { flex: 1; }
.gpb-dept-heading > svg { color: #1584D9; }
.gpb-dept-children { display: flex; flex-wrap: wrap; gap: 3px 11px; min-height: 20px; }
.gpb-dept-children a { font-size: 11px; line-height: 1.5; }
.gpb-dept-group .gpb-dept-more { margin-top: 8px; font-size: 11px; }
.gpb-main-links a { transition: color .2s ease; }
.gpb-main-links a:focus-visible, .gpb-departments summary:focus-visible,
.gpb-dept-panel a:focus-visible, .gpb-mobile-nav a:focus-visible,
.gpb-search-results a:focus-visible { outline: 2px solid #1584D9; outline-offset: 2px; }
.gpb-header-actions a:hover { color: #1584D9; }
.gpb-mobile-search-toggle { display: none; }
@media (max-width: 760px) {
  .gpb-header { position: sticky; top: 0; }
  .gpb-header-main { padding-block: 10px; }
  .gpb-header.is-compact .gpb-header-main { min-height: 0; padding-block: 7px; }
  .gpb-header.is-compact .gpb-logo img { width: min(47vw, 190px); max-height: 47px; }
  .gpb-header.is-compact:not(.search-open) .gpb-search-wrap { display: none; }
  .gpb-header.is-compact .gpb-mobile-search-toggle { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; margin: 0 0 0 auto; padding: 0; border: 1px solid #D6E8F6; border-radius: 9px; color: #082D66; background: #EAF6FD; cursor: pointer; }
  .gpb-header.is-compact .gpb-mobile-search-toggle:hover, .gpb-header.is-compact .gpb-mobile-search-toggle[aria-expanded="true"] { border-color: #91C8EA; background: #DDF1FB; }
  .gpb-header.is-compact .gpb-mobile-search-toggle svg { width: 20px; height: 20px; }
  .gpb-header.is-compact .gpb-header-actions { margin-left: 0; }
  .gpb-header.is-compact.search-open .gpb-search-wrap { display: flex; }
  .gpb-mobile-search-toggle:focus-visible { outline: 2px solid #1584D9; outline-offset: 2px; }
  .gpb-search-results { top: 49px; }
  .gpb-mobile-nav { position: relative; padding-bottom: 7px; }
  .gpb-mobile-nav > summary { display: flex; align-items: center; gap: 9px; min-height: 37px; padding: 7px 10px; border-radius: 7px; background: #EAF6FD; list-style: none; }
  .gpb-mobile-nav > summary::-webkit-details-marker, .gpb-mobile-nav nav > details > summary::-webkit-details-marker { display: none; }
  .gpb-mobile-nav > summary svg { width: 17px; height: 17px; flex: none; }
  .gpb-mobile-nav > summary span { float: none; flex: 1; }
  .gpb-mobile-nav[open] > summary > svg:last-child { transform: rotate(180deg); }
  .gpb-mobile-nav nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 60vh; overflow-y: auto; padding: 8px 0 12px; }
  .gpb-mobile-nav nav > details { grid-column: 1 / -1; background: #F2F9FD; }
  .gpb-mobile-nav nav a { display: flex; align-items: center; min-height: 42px; padding: 10px 12px; font-size: 12px; }
  .gpb-mobile-nav nav > details > summary { display: flex; align-items: center; justify-content: space-between; min-height: 43px; padding: 10px 12px; list-style: none; }
  .gpb-mobile-nav nav > details > summary svg { width: 16px; height: 16px; }
  .gpb-mobile-nav nav > details[open] > summary svg { transform: rotate(180deg); }
  .gpb-mobile-nav nav > details > a { margin: 4px 7px; }
}
@media (max-width: 782px) and (min-width: 601px) { body.admin-bar .gpb-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .gpb-header { top: 0; } }
@media (prefers-reduced-motion: reduce) { .gpb-header, .gpb-header-main, .gpb-header .gpb-logo img { transition: none; } }
