/* UNA Header H-01
   Layers: Wrap / Top / Main / Nav
   Minimal, fast, no external deps.
*/
.una-header--h01{
  position: relative;
  z-index: 50;
  width: 100%;
  max-width: none;
  margin: 0;
  /* Fallback prevents "content showing through" on some mobile browsers when variables are unset */
  background: var(--una-h01-bg, #fff);
  /* Bottom seam (header → content). Tie it to the same divider toggle to avoid unwanted white lines on mobile. */
  border-bottom: 1px solid var(--una-h01-border);
  border-bottom-width: var(--una-h01-top-border-w, 1px);
  color: var(--una-h01-text);
}

/* Prevent horizontal overflow on mobile/RTL edge-cases */
html, body{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  /* Reduce accidental horizontal panning on mobile */
  touch-action: pan-y pinch-zoom;
  overscroll-behavior-x: none;
  overscroll-behavior-y: none;
  background: var(--una-h01-wrap-bg, var(--una-h01-bg, #fff));
}

/* Sticky header uses fixed positioning for cross-browser reliability.
   NOTE: A spacer element is printed after the header to keep layout stable. */
body.una-h01-sticky .una-header--h01,
.una-header--h01[data-una-h01-sticky="1"]{
  position: fixed;
  left: 0;
  right: 0;
  top: var(--una-adminbar-h, var(--wp-admin--admin-bar--height, 0px));
  z-index: 9990;
}

/* Force Header A sticky to win over generic header sticky rules (Theme Options global sticky) */
body.una-header-is-sticky .una-header--h01[data-una-h01-sticky="1"]{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: var(--una-adminbar-h, var(--wp-admin--admin-bar--height, 0px)) !important;
  /* Keep header above all normal content (mobile/desktop). */
  z-index: 99990 !important;
}


/* Spacer (only rendered when sticky is enabled) */
.una-h01-spacer{
  /*
    Sticky spacer fallback:
    - JS updates --una-h01-sticky-h to the real header height.
    - If JS is delayed/blocked, we still reserve a reasonable height so archive titles
      and content never slide under the fixed header.
  */
  height: var(--una-h01-sticky-h, var(--una-h01-sticky-fallback, 240px));
  transition: height .25s ease;
}

.una-h01-wrap{
  background: var(--una-h01-wrap-bg, var(--una-h01-bg, #fff));
}

.una-h01-container{
  max-width: var(--una-h01-maxw);
  margin: 0 auto;
  padding-left: var(--una-h01-pad-x);
  padding-right: var(--una-h01-pad-x);
  display: flex;
  align-items: center;
  gap: 18px;
  /* Height is content-driven by default (no forced min-height) */
  min-height: unset;
}

/* Row heights: allow content-driven height across all rows
   (Top / Main / Nav / Ticker / Mobile bar) */
.una-h01-top .una-h01-container,
.una-h01-main .una-h01-container,
.una-h01-nav-row .una-h01-container{
  min-height: unset;
}
.una-h01-ticker{min-height: unset;}
.una-h01-mobilebar-inner{
  height: auto;
  min-height: unset;
}

.una-h01-top{
  position: relative;
  background-color: var(--una-h01-top-bg-color, var(--una-h01-top-bg, transparent));
  background-image: var(--una-h01-top-bg-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom-style: solid;
  border-bottom-width: var(--una-h01-top-border-w, 1px);
  border-bottom-color: var(--una-h01-top-border, var(--una-h01-border));
  font-size: 12px;
  color: var(--una-h01-top-text, rgba(255,255,255,.9));
}
.una-h01-top a{color: inherit; text-decoration:none;}
.una-h01-top a:hover{opacity:1; text-decoration:underline;}
.una-h01-top-link{display:inline-flex; align-items:center; gap:8px; padding:6px 8px; border-radius:8px; opacity:.95;}
.una-h01-top-link:hover{opacity:1; background: var(--una-h01-top-link-hover-bg, rgba(255,255,255,.08));}
.una-h01-top .una-h01-container{
  position: relative;
  z-index: 1;
  /* Height is fully controlled via UNA Style Library vNext:
     --una-h01-top-h (px). Leave empty to be content-driven (auto). */
  min-height: 0;
  height: var(--una-h01-top-h, auto);
  justify-content: space-between;
}
.una-h01-top::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--una-h01-top-overlay, rgba(0,0,0,0));
  pointer-events:none;
}
.una-h01-top-left,.una-h01-top-right{display:flex;align-items:center;gap:12px;}

/* Social in top bar: icons only */
.una-h01-top .una-social{display:flex; gap:10px; align-items:center;}
.una-h01-top .una-social__label{display:none;}
.una-h01-top .una-social a{color: inherit; opacity:.95;}
.una-h01-top .una-social a:hover{opacity:1;}
.una-h01-top .una-social svg{width:16px;height:16px;fill:currentColor;}

.una-h01-main{
  position: relative;
  /* Main (logo row) layer */
  background-color: var(--una-h01-main-bg-color, var(--una-h01-main-bg, var(--una-h01-bg)));
  background-image: var(--una-h01-main-bg-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--una-h01-main-border, var(--una-h01-border));
  color: var(--una-h01-main-text, var(--una-h01-text));
}

.una-h01-main .una-h01-container{
  position: relative;
  z-index: 1;
  min-height: 0;
  height: var(--una-h01-main-h, auto);
}
.una-h01-main::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--una-h01-main-overlay, rgba(0,0,0,0));
  pointer-events:none;
}

/* Avoid double borders between Main and Nav when rows are split */
body.una-h01-enabled:not(.una-h01-merged) .una-h01-main{
  border-bottom: none;
}

.una-h01-left{
  order: var(--una-h01-left-order, 0);
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  flex: 1 1 auto;
}

.una-h01-brand{
  display:flex;
  align-items:center;
  gap: 10px;
}

/* Ensure logos are never clipped by parent wrappers */
.una-h01-logo,
.una-h01-nav-logo{
  overflow: visible;
}

.una-h01-logo .custom-logo-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: var(--una-h01-logo-pad-y, 0px) var(--una-h01-logo-pad-x, 0px);
  margin: var(--una-h01-logo-mar-y, 0px) var(--una-h01-logo-mar-x, 0px);
}

.una-h01-logo img,
.una-h01-logo .custom-logo{
  /* Default a bit larger to avoid perceived "cropping" on tall logos.
     Can be overridden from tokens/Style Library via --una-h01-logo-h */
  max-height: var(--una-h01-logo-h, 44px);
  max-width: var(--una-h01-logo-max-w, none);
  /* Guard against any global image rules (object-fit/height:100%) */
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display:block;
}

/* RTL: keep navbar order as-is so the sticky logo appears first, then the menu.
   (We already flip the menu items themselves below.) */
.rtl .una-h01-navbar{flex-direction:row;}

/* Optional RTL auto flip (Theme Options → Header A → rtl_flip)
   If enabled in RTL, swap logo-side and actions-side explicitly (without flex-direction hacks).
*/
.rtl.una-h01-rtl-flip .una-h01-top-left{order:2;}
.rtl.una-h01-rtl-flip .una-h01-top-right{order:1;}
.rtl.una-h01-rtl-flip .una-h01-left{order:2;}
.rtl.una-h01-rtl-flip .una-h01-actions{
  order:1;
  margin-inline-start: 0;
  margin-inline-end: auto;
}
.una-h01-site-name{
  font-weight: 700;
  text-decoration: none;
  color: var(--una-ticker-text, inherit);
  white-space: nowrap;
}

.una-h01-nav{
  min-width: 0;
  flex: 1 1 auto;
}

.una-h01-menu{
  display: flex;
  align-items: center;
  gap: 22px;
  width: 100%;
  justify-content: var(--una-h01-menu-justify, flex-start);
  list-style: none;
  margin: 0;
  padding: 0;
}
.una-h01-menu a{
  color: var(--una-h01-menu-color, var(--una-h01-text));
  text-decoration: none;
  font-size: var(--una-h01-menu-fs, 14px);
  font-weight: var(--una-h01-menu-fw, 500);
  line-height: 1;
  white-space: nowrap;
}

/* Allow the Nav layer to override menu colors (desktop) without affecting mobile/off-canvas menu */
.una-h01-nav-row .una-h01-menu a{
  color: var(--una-h01-nav-menu-color, var(--una-h01-menu-color, var(--una-h01-text)));
}
.una-h01-nav-row .una-h01-menu a:hover{
  color: var(--una-h01-nav-menu-hover, var(--una-h01-menu-hover, var(--una-h01-accent)));
}
.una-h01-menu a:hover{
  color: var(--una-h01-menu-hover, var(--una-h01-accent));
}

/* Basic dropdown support */
.una-h01-menu .menu-item-has-children{position:relative;}
.una-h01-menu .sub-menu{
  position: absolute;
  /* Use top:100% + margin-top gap, then add a transparent bridge to prevent hover flicker */
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--una-h01-nav-submenu-bg, var(--una-h01-bg));
  border: 1px solid var(--una-h01-nav-border, var(--una-h01-border));
  border-radius: 10px;
  padding: 10px 0;
  list-style: none;
  margin: 0;
  margin-top: 12px;
  display: none;
  z-index: 99999;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  pointer-events: auto;
}
.una-h01-menu .sub-menu::before{
  /* Hover bridge: prevents submenu from disappearing when the cursor crosses the gap */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
  background: transparent;
}
.rtl .una-h01-menu .sub-menu{
  left: auto;
  right: 0;
}
.una-h01-menu .sub-menu a{
  display: block;
  padding: 10px 14px;
  font-weight: 500;
  white-space: normal;
  color: var(--una-h01-nav-submenu-color, var(--una-h01-nav-menu-color, var(--una-h01-menu-color, var(--una-h01-text))));
}
.una-h01-menu .menu-item-has-children:hover > .sub-menu{
  display:block;
}

/* Right actions */
.una-h01-actions{
  order: var(--una-h01-actions-order, 1);
  margin-inline-start: var(--una-h01-actions-ms, auto);
  margin-inline-end: var(--una-h01-actions-me, 0);
  display: flex;
  align-items: center;
  gap: 12px;
}

.una-h01-icon-btn,
.una-h01-icon-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--una-h01-offcanvas-link, var(--una-h01-offcanvas-text, var(--una-h01-text)));
  background: transparent;
  border: none;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
}
.una-h01-icon-btn svg,
.una-h01-icon-link svg{
  width: 18px;
  height: 18px;
  fill: currentColor;
  display:block;
}
.una-h01-icon-btn:hover,
.una-h01-icon-link:hover{
  color: var(--una-h01-accent);
  background: rgba(0,0,0,0.03);
}

.una-h01-search-btn{
  background: var(--una-btn-bg, rgba(0,0,0,0.03));
  color: var(--una-btn-text, var(--una-h01-text));
  border: 1px solid var(--una-btn-border, rgba(0,0,0,0.08));
  padding: 8px 10px;
  border-radius: var(--una-btn-radius, 10px);
}
.una-h01-search-btn:hover{
  background: var(--una-btn-hover-bg, var(--una-h01-accent));
  color: var(--una-btn-hover-text, #fff);
  border-color: var(--una-btn-hover-border, var(--una-btn-hover-bg, var(--una-h01-accent)));
}

/* Small Share Menu button (header) */
.una-h01-share-menu--header .una-share-menu__toggle{
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
  color: var(--una-h01-text);
}
.una-h01-share-menu--header .una-share-menu__toggle:hover{
  background: var(--una-h01-accent);
  color: #fff;
  border-color: var(--una-h01-accent);
}

.una-h01-login{
  color: var(--una-h01-menu-color, var(--una-h01-text));
  text-decoration: none;
  font-size: var(--una-h01-menu-fs, 14px);
  font-weight: var(--una-h01-menu-fw, 500);
  padding: 8px 6px;
}
.una-h01-login:hover{
  color: var(--una-h01-accent);
}

.una-h01-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}

.una-h01-btn--filled{
  background: var(--una-h01-search-btn-bg, var(--una-h01-accent));
  color: #fff;
  border: 1px solid var(--una-h01-search-btn-border, var(--una-h01-accent));
}
.una-h01-btn--filled:hover{
  background: var(--una-h01-accent-hover);
  border-color: var(--una-h01-accent-hover);
}

.una-h01-btn--outline{
  background: transparent;
  color: var(--una-h01-accent);
  border: 1px solid var(--una-h01-search-btn-border, var(--una-h01-accent));
}
.una-h01-btn--outline:hover{
  background: rgba(11,99,246,0.08);
}

/* Search row */
.una-h01-search{
  border-top: 1px solid var(--una-h01-border);
  padding: 12px 0;
}
.una-h01-search .search-form{
  width: 100%;
  display:flex;
  align-items:center;
  gap:10px;
}
.una-h01-search .search-field{
  flex:1;
  border: 1px solid var(--una-h01-search-input-border, var(--una-color-border, var(--una-h01-border)));
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--una-h01-search-input-bg, var(--una-color-bg, #fff));
  color: var(--una-h01-search-input-text, var(--una-color-text, #111827));
}

.una-h01-search .search-field::placeholder{
  color: color-mix(in srgb, var(--una-h01-search-input-text, var(--una-color-text, #111827)) 55%, transparent);
}
.una-h01-search .search-submit{
  border-radius: var(--una-btn-radius, 999px);
  padding: 12px 14px;
  border: 1px solid var(--una-h01-search-btn-border, var(--una-btn-border, var(--una-h01-accent)));
  background: var(--una-h01-search-btn-bg, var(--una-btn-bg, var(--una-h01-accent)));
  color: var(--una-h01-search-btn-text, var(--una-btn-text, #fff));
  font-weight:600;
}

/* Search modal */
.una-h01-search-modal{
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

/* IMPORTANT: Respect the HTML [hidden] attribute.
   The UA stylesheet normally hides [hidden] elements, but our display:flex rule above
   overrides it, causing the modal to appear and become impossible to dismiss.
   Keep this rule close to the modal definition to avoid regressions. */
.una-h01-search-modal[hidden]{
  display: none !important;
}
.una-h01-search-backdrop{
  position: absolute;
  inset: 0;
  background: var(--una-h01-search-backdrop-bg, rgba(0,0,0,0.45));
  backdrop-filter: blur(2px);
}
.una-h01-search-box{
  position: relative;
  width: min(760px, 92vw);
  background: var(--una-h01-search-box-bg, var(--una-color-bg-1, var(--una-color-bg, var(--una-h01-bg))));
  border: 1px solid var(--una-h01-search-box-border, var(--una-color-border, var(--una-h01-border)));
  border-radius: var(--una-h01-search-box-radius, 14px);
  box-shadow: var(--una-h01-search-box-shadow, 0 40px 120px rgba(0,0,0,0.25));
  padding: 14px;
}
.una-h01-search-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}
.una-h01-search-title{
  font-size: 14px;
  font-weight: 700;
  color: var(--una-h01-search-title-color, var(--una-color-text, #111827));
}
.una-h01-search-modal .search-form{
  width: 100%;
  display:flex;
  align-items:center;
  gap:10px;
}
.una-h01-search-modal .search-field{
  flex:1;
  border: 1px solid var(--una-h01-search-input-border, var(--una-color-border, var(--una-h01-border)));
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 16px;
  background: var(--una-h01-search-input-bg, var(--una-color-bg, #fff));
  color: var(--una-h01-search-input-text, var(--una-color-text, #111827));
}

.una-h01-search-modal .search-field::placeholder{
  color: color-mix(in srgb, var(--una-h01-search-input-text, var(--una-color-text, #111827)) 55%, transparent);
}
.una-h01-search-modal .search-submit{
  border-radius: var(--una-btn-radius, 999px);
  padding: 14px 16px;
  border: 1px solid var(--una-h01-search-btn-border, var(--una-btn-border, var(--una-h01-accent)));
  background: var(--una-h01-search-btn-bg, var(--una-btn-bg, var(--una-h01-accent)));
  color: var(--una-h01-search-btn-text, var(--una-btn-text, #fff));
  font-weight:700;
}

/* Lock scroll when search modal is open */
html.una-h01-search-open,
body.una-h01-search-open{
  overflow: hidden;
}

/* Ticker (News bar) */
.una-h01-ticker{
  min-height: 0;
  height: var(--una-h01-ticker-h, auto);
  border-top: 1px solid var(--una-h01-border);
  /* Allow disabling the divider line when Top Bar divider is OFF */
  border-top-width: var(--una-h01-top-border-w, 1px);
  background: var(--una-ticker-bg, var(--una-h01-bg));
  color: var(--una-ticker-text, var(--una-h01-text));
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.una-h01-ticker-inner{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 12px 0 10px;
}

/* Prevent layout shifts: ensure ticker content never wraps to a second line */
.una-h01-ticker-list,
.una-h01-ticker-list li,
.una-h01-ticker-list a{
  white-space: nowrap;
}

/* Ticker inner structure (Patch 4.1) */
.una-h01-ticker-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1 1 auto;
}

/* Date before label (Patch 4.2) */
.una-h01-ticker-date{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: var(--una-ticker-date-size, 13px);
  font-weight: var(--una-ticker-date-weight, 800);
  padding: var(--una-ticker-date-pad-y, 8px) var(--una-ticker-date-pad-x, 14px);
  background: var(--una-ticker-date-bg, rgba(0,0,0,0.30));
  color: var(--una-ticker-date-color, #ffffff);
  border: var(--una-ticker-date-border-width, 0px) solid var(--una-ticker-date-border, transparent);
  border-radius: var(--una-ticker-date-radius, 0px);
  opacity: var(--una-ticker-date-opacity, .98);
}

.una-ticker--split .una-h01-ticker-main{
  flex:0 0 70%;
}

.una-h01-ticker-extra{
  min-width:0;
  flex:0 0 30%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.una-h01-ticker-extra-content{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.una-h01-ticker-extra-content *{
  white-space: nowrap;
}

.una-h01-ticker-extra-text{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.una-h01-ticker-extra-content{
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.una-h01-ticker-extra-content *{
  max-width: 100%;
}

.una-ticker--split .una-h01-ticker-inner{ gap:12px; }

.una-h01-ticker-label{
  background: var(--una-pill-breaking-bg, var(--una-ticker-label-bg, var(--una-h01-accent)));
  color: var(--una-pill-breaking-color, var(--una-ticker-label-text, #fff));
  border: var(--una-pill-breaking-border-width, 0px) solid var(--una-pill-breaking-border, transparent);
  border-radius: var(--una-pill-breaking-radius, 999px);
  padding: var(--una-pill-breaking-pad-y, 6px) var(--una-pill-breaking-pad-x, 12px);
  font-size: var(--una-pill-breaking-size, 12px);
  font-weight: var(--una-pill-breaking-weight, 800);
  line-height: 1;
  white-space: nowrap;
}

.una-h01-ticker-toggle{
  border: 1px solid var(--una-ticker-ctl-border, rgba(0,0,0,0.12));
  background: var(--una-ticker-ctl-bg, rgba(0,0,0,0.06));
  color: var(--una-ticker-text, inherit);
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.una-h01-ticker-toggle:hover{
  background: var(--una-ticker-ctl-bg-hover, rgba(0,0,0,0.10));
}
.una-h01-ticker-toggle:focus{
  outline: 2px solid var(--una-h01-accent);
  outline-offset: 2px;
}
.una-h01-ticker-icon::before{
  content: '⏸';
  font-size: 14px;
  line-height: 1;
}
.una-h01-ticker-toggle.is-paused .una-h01-ticker-icon::before{
  content: '▶';
}
.una-h01-ticker-viewport{
  flex: 1;
  overflow: hidden;
  min-height: 22px;
}
.una-h01-ticker-track{
  display: flex;
  width: max-content;
  will-change: transform;
}
.una-h01-ticker-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 28px;
}
/* Ensure ticker links always respect the ticker text color.
   This covers both marquee mode (list items) and vertical mode (.una-h01-ticker-current).
   Some themes enforce a global <a> color; we intentionally override it here. */
.una-h01-ticker a,
.una-h01-ticker a:visited{
  color: var(--una-ticker-text, inherit) !important;
}
.una-h01-ticker a:hover{
  color: var(--una-ticker-link-hover, var(--una-ticker-text, inherit)) !important;
  text-decoration: underline;
}

.una-ticker--marquee .una-h01-ticker-track{
  animation: unaTickerMarquee var(--una-ticker-duration, 20s) linear infinite;
}
.una-ticker--ltr .una-h01-ticker-track{
  animation-direction: reverse;
}
@keyframes unaTickerMarquee{
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.una-ticker--vertical .una-h01-ticker-viewport{
  display:flex;
  align-items:center;
}
.una-h01-ticker-current{
  display:block;
  width: 100%;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 700;
  opacity: 0;
  transform: translateY(10px);
  transition: transform .25s ease, opacity .25s ease;
}
.una-h01-ticker-current[data-dir="down"]{
  transform: translateY(-10px);
}
.una-h01-ticker-current.is-in{
  opacity: 1;
  transform: translateY(0);
}


.una-ticker--pause:hover .una-h01-ticker-track{ animation-play-state: paused; }
.una-ticker--paused .una-h01-ticker-track{ animation-play-state: paused; }

/* Mobile */
.una-h01-burger{
  display: none;
}

/* Off-canvas wrapper covers the full viewport (backdrop + panel) */
.una-h01-mobile{
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.una-h01-mobile[hidden]{
  display:none !important;
}
.una-h01-mobile-backdrop{
  position: absolute;
  inset: 0;
  background: var(--una-h01-mobile-overlay, rgba(0,0,0,0.45));
  backdrop-filter: blur(2px);
}

/* Lock scroll when off-canvas is open (JS toggles the class on html/body) */
html.una-h01-mobile-open,
body.una-h01-mobile-open{
  overflow: hidden;
}
.una-h01-mobile-panel{
  position: absolute;
  top: 0;
  width: min(86vw, 360px);
  height: 100vh;
  background: var(--una-h01-offcanvas-bg, var(--una-h01-bg));
  color: var(--una-h01-offcanvas-text, var(--una-h01-text));
  padding: 18px 16px;
  overflow: auto;
}
.una-h01-mobile--right{
  right: 0;
  border-left: 1px solid var(--una-h01-offcanvas-border, var(--una-h01-border));
  box-shadow: -20px 0 60px rgba(0,0,0,0.15);
}
.una-h01-mobile--left{
  left: 0;
  border-right: 1px solid var(--una-h01-offcanvas-border, var(--una-h01-border));
  box-shadow: 20px 0 60px rgba(0,0,0,0.15);
}

.una-h01-mobile-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--una-h01-offcanvas-border, var(--una-h01-border));
}
.una-h01-mobile-title{
  font-weight:700;
  display:flex;
  align-items:center;
  min-width:0;
}
.una-h01-mobile-title-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color: inherit;
  padding: var(--una-h01-mobile-logo-pad-y, 0px) var(--una-h01-mobile-logo-pad-x, 0px);
  margin: var(--una-h01-mobile-logo-mar-y, 0px) var(--una-h01-mobile-logo-mar-x, 0px);
}
.una-h01-mobile-title-logo,
.una-h01-mobile-title-custom-logo .custom-logo{
  max-height: var(--una-h01-mobile-logo-max-h, 34px);
  max-width: 200px;
  width: auto;
  height: auto;
  display:block;
  object-fit: contain;}
.una-h01-mobile-body{padding-top: 12px;}

.una-h01-mobile-section{margin-top: 14px;}
.una-h01-mobile-section:first-child{margin-top:0;}

.una-h01-mobile-search .search-form{
  display:flex;
  align-items:center;
  gap:10px;
}
.una-h01-mobile-link{
  display:block;
  padding: 12px 12px;
  border: 1px solid var(--una-h01-offcanvas-border, var(--una-h01-border));
  border-radius: 12px;
  text-decoration:none;
  color: var(--una-h01-offcanvas-link, var(--una-h01-offcanvas-text, var(--una-h01-text)));
  font-weight: 700;
}
.una-h01-mobile-link:hover{opacity:.95;}

.una-h01-mobile-social .una-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.una-h01-mobile-social .una-social__label{display:none;}


.una-h01-mobile-menu,
.una-h01-mobile-menu .sub-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.una-h01-mobile-menu a{
  display:block;
  padding: 12px 8px;
  text-decoration:none;
  color: var(--una-h01-offcanvas-link, var(--una-h01-offcanvas-text, var(--una-h01-text)));
  font-weight:600;
}
.una-h01-mobile-menu .sub-menu a{
  font-weight:500;
  padding-inline-start: 18px;
}
.una-h01-mobile-menu a:hover{
  color: var(--una-h01-offcanvas-link-hover, var(--una-h01-accent));
}

@media (max-width: 1024px){
  .una-h01-nav--desktop{display:none;}
  .una-h01-burger{display:inline-flex;}
}

@media (max-width: 720px){
  .una-h01-btn--outline{display:none;} /* keep it clean on mobile */
}

/* Height notes:
   - Rows default to content-driven height (auto).
   - You can override per-row height from UNA Style Library vNext
     via Header H-01 layers: Top/Main/Nav/Ticker/Mobile bar. */


/* Top strip (multicolor) */
.una-h01-strip{
  height: 4px;
  background: linear-gradient(90deg, #ffb000 0%, #00b3b3 25%, #7b61ff 50%, #ff4d4d 75%, #ffb000 100%);
}

/* Nav row inner layout (logo appears on scroll) */
.una-h01-navbar{display:flex; align-items:center; gap:14px; width:100%; flex-wrap:nowrap;}
.una-h01-navbar .una-h01-nav{flex:1; min-width:0;}
/* RTL: keep navbar structure, but let the menu itself flow RTL */
.rtl .una-h01-nav--desktop{direction:rtl;}
.rtl .una-h01-menu{
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.una-h01-nav-logo{display:none; align-items:center; flex:0 0 auto;}
.una-h01-nav-logo .custom-logo{
  max-height: var(--una-h01-sticky-logo-max-h, var(--una-h01-logo-h, 44px));
  max-width: var(--una-h01-sticky-logo-max-w, none);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Sticky logo (rectangular pill) */
.una-h01-nav-logo .custom-logo-link,
.una-h01-nav-logo .una-h01-sticky-logo-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width: var(--una-h01-sticky-logo-w, auto);
  height: var(--una-h01-sticky-logo-h, auto);
  padding: var(--una-h01-sticky-logo-pad-y, 6px) var(--una-h01-sticky-logo-pad-x, 10px);
  margin: var(--una-h01-sticky-logo-mar-y, 0px) var(--una-h01-sticky-logo-mar-x, 0px);
  border-radius: var(--una-h01-sticky-logo-radius, 10px);
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
}

.una-h01-sticky-logo-img{
  max-height: var(--una-h01-sticky-logo-max-h, 40px);
  max-width: var(--una-h01-sticky-logo-max-w, none);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}



/* Compact sticky state: hide Main row (when not merged), show logo beside menu */
/* Compact on scroll (split rows):
   - Smoothly collapses Main row on desktop.
   - Keeps Main row on mobile, otherwise the burger disappears.
*/
body.una-h01-enabled:not(.una-h01-merged):not(.una-h01-is-mobile) .una-h01-main{
  max-height: 420px;
  opacity: 1;
  transform: translateY(0);
  transition: max-height .25s ease, opacity .25s ease, transform .25s ease;
  overflow: hidden;
}
body.una-h01-enabled:not(.una-h01-merged):not(.una-h01-is-mobile) .una-header--h01.una-h01--scrolled .una-h01-main{
  max-height: 0;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  border-bottom: 0;
}
body.una-h01-enabled:not(.una-h01-merged):not(.una-h01-is-mobile) .una-header--h01.una-h01--scrolled .una-h01-main .una-h01-container{
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}
body.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-nav-logo{display:flex;}

/* Sticky (scrolled) nav: pin logo to inline-start and center the menu in the remaining space.
   Prevents menu items from wrapping underneath the logo (RTL/LTR).
*/
body.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-navbar{
  position: relative;
}
body.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-nav-logo{
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
body.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-nav{
  width: 100%;
  display: flex;
  justify-content: center;
  padding-inline-start: var(--una-h01-sticky-logo-reserve, clamp(140px, 18vw, 280px));
}
body.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-menu{
  justify-content: center;
}

/* RTL: keep correct reading direction without reversing item order in the centered state */
body.rtl.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-nav--desktop{direction: rtl;}
body.rtl.una-h01-enabled:not(.una-h01-merged) .una-header--h01.una-h01--scrolled .una-h01-menu{flex-direction: row;}


/* Nav row (when Merge Main+Nav = off) */
.una-h01-nav-row{
  position: relative;
  /* Allow dropdown menus to extend outside the row and stay above neighboring layers */
  overflow: visible;
  z-index: 2;
  background-color: var(--una-h01-nav-bg-color, var(--una-h01-nav-bg, transparent));
  background-image: var(--una-h01-nav-bg-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* Tie the separator between Nav and Ticker to the same divider toggle. */
  border-bottom: var(--una-h01-top-border-w, 1px) solid var(--una-h01-nav-border, var(--una-h01-border));
  /* Use the same divider toggle (Top Bar Divider) to also control the Nav↔Ticker seam. */
  border-bottom-width: var(--una-h01-top-border-w, 1px);
  color: var(--una-h01-nav-text, var(--una-h01-text));
}
.una-h01-nav-row .una-h01-container{
  position: relative;
  z-index: 1;
  min-height: 0;
  height: var(--una-h01-nav-h, auto);
}
.una-h01-nav-row::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--una-h01-nav-overlay, rgba(0,0,0,0));
  pointer-events:none;
}

/* Responsive behavior via JS breakpoint class
   (allows using Theme Options "Mobile Breakpoint" without hard-coded media queries). */
body.una-h01-is-mobile .una-h01-nav--desktop{display:none !important;}
body.una-h01-is-mobile .una-h01-burger{display:inline-flex;}
body.una-h01-is-mobile .una-h01-btn{display:none;}
body.una-h01-is-mobile .una-h01-login{display:none;}
body.una-h01-is-mobile .una-h01-icon-label{display:none;}
body.una-h01-is-mobile .una-h01-actions{gap:8px;}
body.una-h01-is-mobile .una-h01-container{gap:12px;}
body.una-h01-is-mobile .una-h01-nav-logo{gap:8px;}

/* Dedicated mobile bar (center logo + off-canvas burger).
   We keep Top as-is, and hide Main/Nav/Ticker on mobile for stability. */
.una-h01-mobilebar{display:none;}
.una-h01-mobilebar-inner{
  height: var(--una-h01-mobilebar-h, var(--una-h01-nav-h, 56px));
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:12px;
}
.una-h01-mobilebar-logo{
  justify-self:center;
  max-width:min(70%, 360px);
  min-width:0;
  /* don't clip the logo; scale it instead */
  overflow:visible;
}
.una-h01-mobilebar-logo-link{display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
  padding: var(--una-h01-mobile-logo-pad-y, 0px) var(--una-h01-mobile-logo-pad-x, 0px);
  margin: var(--una-h01-mobile-logo-mar-y, 0px) var(--una-h01-mobile-logo-mar-x, 0px);
  max-width:100%;
}
.una-h01-mobilebar-site-name{font-weight:700; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.una-h01-mobile-logo-img{max-height: var(--una-h01-mobile-logo-max-h, 34px);
  max-width: min(100%, var(--una-h01-mobile-logo-max-w, 9999px));
  width: auto !important;
  height: auto !important;
  display: block;
  object-fit: contain !important;}
.una-h01-mobilebar-custom-logo .custom-logo{max-height: var(--una-h01-mobile-logo-max-h, 34px);
  max-width: min(100%, var(--una-h01-mobile-logo-max-w, 9999px));
  width: auto !important;
  height: auto !important;
  display: block;
  object-fit: contain !important;}
.una-h01-mobilebar-end{width:40px; height:1px;}

/* When we render the small Share Menu in the mobile bar, keep the right-side width stable
   so the logo stays centered (mirror of the burger width). */
.una-h01-mobilebar-end--share{
  width:40px;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

body.una-h01-is-mobile .una-h01-mobilebar{display:block;}
body.una-h01-is-mobile .una-h01-nav-row{display:none !important;}

/* Mobile Top bar: prevent minor overflow/overlap when the content is long.
   We keep a single row, but allow the left side to shrink with ellipsis instead of pushing outside the viewport. */
body.una-h01-is-mobile .una-h01-top-left{flex:1 1 auto; min-width:0; overflow:hidden;}
body.una-h01-is-mobile .una-h01-top-right{flex:0 0 auto; min-width:0;}
body.una-h01-is-mobile .una-h01-top-left .una-h01-top-link,
body.una-h01-is-mobile .una-h01-top-right .una-h01-top-link{
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobile bar should always be opaque/stable (prevents page content from "peeking" behind). */
body.una-h01-is-mobile .una-h01-mobilebar{
  background: var(--una-h01-nav-bg-color, var(--una-h01-nav-bg, var(--una-h01-wrap-bg, var(--una-h01-bg, #fff))));
  border-bottom: 1px solid var(--una-h01-border);
}

/* Mobile Edge stability: keep only Top + Nav. Hide Main + Ticker (breaking bar).
   This prevents layout jitter, horizontal overflow, and "content peeking" behind the header on some mobile browsers. */
body.una-h01-is-mobile .una-h01-main{display:none !important;}
/* By default, ticker is hidden on mobile. Can be enabled via Theme Options → Header A. */
body.una-h01-is-mobile:not(.una-h01-mobile-show-ticker) .una-h01-ticker{display:none !important;}

/* If ticker is shown on mobile, keep it compact and avoid split overflow */
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-inner{padding:10px 0 8px;}
body.una-h01-is-mobile .una-ticker--split .una-h01-ticker-main{flex:1 1 auto;}
body.una-h01-is-mobile:not(.una-h01-mobile-show-ticker-extra) .una-h01-ticker-extra{display:none !important;}

/* Mobile ticker "Simple Mode" (Patch 5.1+)
   - No date, no label, no pause button
   - Full width marquee
   - Direction is opposite of the page language (RTL page → left→right, LTR page → right→left)
   - No extra slot on mobile (even if split is enabled)
*/
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-date,
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-label,
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-toggle,
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-extra{display:none !important;}

body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-inner{gap:0; padding:10px 0 8px;}
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-main{gap:0; flex:1 1 100%;}
body.una-h01-is-mobile.una-h01-mobile-show-ticker .una-h01-ticker-viewport{min-height: 20px;}

/* Extra guards against horizontal swipe / overflow on mobile */
body.una-h01-is-mobile .una-header--h01,
body.una-h01-is-mobile .una-h01-wrap,
body.una-h01-is-mobile .una-h01-container{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Stronger horizontal overflow guard (mobile browsers) */
html.una-h01-is-mobile, body.una-h01-is-mobile{overflow-x:hidden;}

/* Top bar guard on small screens: prevent long labels from spilling outside the viewport */
body.una-h01-is-mobile .una-h01-top-left,
body.una-h01-is-mobile .una-h01-top-right{
  min-width: 0;
}
body.una-h01-is-mobile .una-h01-top-link{
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}




.una-h01-search .search-submit:hover,
.una-h01-search-modal .search-submit:hover{
  background: var(--una-h01-search-btn-bg-hover, var(--una-btn-hover-bg, var(--una-h01-accent-hover)));
  border-color: var(--una-h01-search-btn-border-hover, var(--una-btn-hover-border, var(--una-h01-accent-hover)));
  color: var(--una-h01-search-btn-text-hover, var(--una-btn-hover-text, #fff));
}




/* Typewriter mode */
.una-ticker--typewriter .una-h01-ticker-track{ display:none; }
.una-ticker--typewriter .una-h01-ticker-viewport{ overflow:hidden; }
.una-h01-ticker.una-ticker--typewriter{
  /* Fixed row height avoids header-height jitter while the text is being typed */
  height: var(--una-h01-ticker-type-h, 46px);
}
.una-h01-ticker.una-ticker--typewriter .una-h01-ticker-inner{
  padding: 0;
  height: 100%;
}
.una-h01-ticker.una-ticker--typewriter .una-h01-ticker-main{
  height: 100%;
  align-items: center;
}
.una-h01-ticker.una-ticker--typewriter .una-h01-ticker-viewport{
  min-height: 0;
}
.una-h01-ticker-current{
  display:inline-block;
  vertical-align:middle;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 100%;
}
.una-h01-ticker-current.is-typing{
  max-width: 0;
  animation:una_ticker_type var(--una-tw-duration, 2400ms) steps(var(--una-tw-ch, 80), end) forwards;
}
.una-h01-ticker-current.is-typing::after{
  content:'|';
  display:inline-block;
  margin-inline-start:4px;
  animation:una_ticker_blink 1s steps(1) infinite;
}
@keyframes una_ticker_type{ to { max-width: calc(var(--una-tw-ch, 80) * 1ch); } }
@keyframes una_ticker_blink{ 50%{ opacity:0; } }
@media (prefers-reduced-motion: reduce){
  .una-h01-ticker-current.is-typing{ animation:none; max-width:100%; }
  .una-h01-ticker-current.is-typing::after{ animation:none; }
}
