﻿/* Header Builder вЂ” front-end base layout. */

/* The builder wrapper reuses the .site-header class, which in the classic theme
   is a hero header (min-height:300px, a dark ::before overlay, hero background).
   Neutralise those so the builder's own rows fully control height/background. */
.site-header.urartu-hb-header { min-height: 0; background: transparent; animation: none; }
.site-header.urartu-hb-header::before { content: none; }
/* .site-header forces white text/fill on every descendant (for the classic dark
   hero header). Reset it for the builder so each row/widget controls its own
   color вЂ” otherwise a light-background row would render invisible white text. */
.site-header.urartu-hb-header * { color: inherit; fill: currentColor; }

.urartu-hb { width: 100%; }

.urartu-hb-row { width: 100%; position: relative; }
.urartu-hb-row__overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 0; border-radius: inherit; }

.urartu-hb-row__inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	padding: 0;
	box-sizing: border-box;
	gap: 20px;
	position: relative;
	z-index: 1;
}
/* Column spacing is handled by the row's `gap` (see above). The per-column
   padding below is a fallback only and is subtracted from the flex basis in
   PHP (urartu_hb_render_column), so widths still sum to 100% and never wrap. */
.urartu-hb-col { padding-left: 10px; padding-right: 10px; box-sizing: border-box; }

.urartu-hb-col {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	box-sizing: border-box;
}

.urartu-hb-widget {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

/* Logo */
.urartu-hb-widget--logo img,
.urartu-hb-widget--logo .custom-logo { display: block; height: auto; max-width: 100%; }

/* Image (generic banner/graphic) */
.urartu-hb-image { display: inline-flex; max-width: 100%; }
.urartu-hb-image__img { display: block; height: auto; max-width: 100%; }

/* Menu */
.urartu-hb-widget--menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; align-items: center; }
.urartu-hb-widget--menu a { text-decoration: none; color: inherit; }
.urartu-hb-widget--menu .sub-menu { position: absolute; }

/* Navigation mobile hamburger (shown below the breakpoint via inline media CSS) */
.urartu-hb-nav { position: relative; }
.urartu-hb-menu-toggle { display: none; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; background: transparent; border: 0; cursor: pointer; color: inherit; }
.urartu-hb-burger, .urartu-hb-burger::before, .urartu-hb-burger::after { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.urartu-hb-burger { position: relative; }
.urartu-hb-burger::before, .urartu-hb-burger::after { content: ''; position: absolute; left: 0; }
.urartu-hb-burger::before { top: -7px; }
.urartu-hb-burger::after { top: 7px; }
.urartu-hb-nav.is-open .urartu-hb-burger { background: transparent; }
.urartu-hb-nav.is-open .urartu-hb-burger::before { top: 0; transform: rotate(45deg); }
.urartu-hb-nav.is-open .urartu-hb-burger::after { top: 0; transform: rotate(-45deg); }

/* Search вЂ” three styles driven by the widget's .urartu-hb-search--{style} class */
.urartu-hb-searchform { display: inline-flex; align-items: center; gap: 4px; border: 1px solid currentColor; border-radius: 999px; padding: 3px 6px 3px 4px; max-width: 100%; }
.urartu-hb-search__btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: none; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; font-size: 15px; }
.urartu-hb-search__input { min-width: 0; width: 168px; max-width: 46vw; border: 0; background: transparent; outline: none; color: inherit; font: inherit; padding: 4px 6px; }
.urartu-hb-search__input::placeholder { color: inherit; opacity: .6; }
/* icon only: collapse the field, reveal it on .is-open (builder-front.js) */
.urartu-hb-search--icon .urartu-hb-searchform { border-color: transparent; padding: 0; gap: 0; }
.urartu-hb-search--icon .urartu-hb-search__input { width: 0; opacity: 0; padding: 0; pointer-events: none; visibility: hidden; transition: width .25s ease, opacity .2s ease, padding .25s ease, visibility .25s; }
.urartu-hb-search--icon.is-open .urartu-hb-searchform { border-color: currentColor; padding: 3px 6px 3px 4px; }
.urartu-hb-search--icon.is-open .urartu-hb-search__input { width: 168px; opacity: 1; padding: 4px 6px; pointer-events: auto; visibility: visible; }
n/* Expand direction for icon-only search */
.urartu-hb-search--icon.dir-right .urartu-hb-searchform { flex-direction: row-reverse; }
.urartu-hb-search--icon.dir-right .urartu-hb-search__btn { order: 2; }
.urartu-hb-search--icon.dir-down { position: relative; display: inline-flex; flex-direction: column; }
.urartu-hb-search--icon.dir-down .urartu-hb-searchform { border-color: transparent; padding: 0; gap: 0; flex-direction: column; }
.urartu-hb-search--icon.dir-down .urartu-hb-search__input { position: absolute; top: 100%; left: 0; right: auto; width: 200px; max-width: 90vw; margin-top: 4px; border: 1px solid currentColor; border-radius: 6px; opacity: 0; pointer-events: none; visibility: hidden; }
.urartu-hb-search--icon.dir-down.is-open .urartu-hb-search__input { opacity: 1; pointer-events: auto; visibility: visible; }
/* field: a squared input frame with NO icon button; icon_field keeps the rounded pill (default) */
.urartu-hb-search--field .urartu-hb-searchform { border-radius: 6px; flex-direction: row; }
.urartu-hb-search--field .urartu-hb-search__btn { display: none; }
.urartu-hb-search--field .urartu-hb-search__input { width: 100%; max-width: 100%; }
/* The per-widget CSS (urartu_hb_widget_css) sets the form's width/colors/radius
   directly on .urartu-hb-searchform, so let those win over the defaults here. */
.urartu-hb-searchform { transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
/* Hide the icon button entirely when the user turns it off (field style). */
.urartu-hb-searchform.no-icon .urartu-hb-search__btn { display: none; }
/* Text-only submit button (replaces the icon). */
.urartu-hb-search__btn .urartu-hb-search__label { font-size: .9em; font-weight: 600; line-height: 1; white-space: nowrap; }
.urartu-hb-searchform.has-label .urartu-hb-search__btn { width: auto; height: auto; padding: 0; border-radius: inherit; gap: 0; }

/* Live AJAX search dropdown */
.urartu-hb-searchform.is-live { position: relative; }
.urartu-hb-search__results {
	position: absolute;
	top: calc(100% + 8px);
	inset-inline-end: 0;
	z-index: 1000;
	min-width: 280px;
	max-width: min(420px, 90vw);
	background: #fff;
	color: #1a1a1a;
	border: 1px solid #e2e4e7;
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .14);
	padding: 6px;
	display: none;
	max-height: 60vh;
	overflow-y: auto;
}
.urartu-hb-search__results.is-open { display: block; }
.urartu-hb-search__res { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 6px; text-decoration: none; color: inherit; }
.urartu-hb-search__res:hover { background: #f3f6f4; }
.urartu-hb-search__res img { width: 42px; height: 42px; object-fit: cover; border-radius: 6px; flex: none; background: #f0f0f1; }
.urartu-hb-search__res-thumb { width: 42px; height: 42px; border-radius: 6px; background: #f0f0f1 center / cover no-repeat; flex: none; }
.urartu-hb-search__res-body { min-width: 0; }
.urartu-hb-search__res-title { font-size: 14px; font-weight: 600; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.urartu-hb-search__res-meta { font-size: 12px; color: #787c82; }
.urartu-hb-search__res-cat { font-size: 11px; color: var(--u-muted-fg, rgba(36, 31, 28, .62)); text-transform: uppercase; letter-spacing: .03em; }
.urartu-hb-search__empty,
.urartu-hb-search__more { padding: 10px; font-size: 13px; color: #787c82; text-align: center; }
.urartu-hb-search__more { display: block; color: var(--color-main-green, #241F1C); text-decoration: none; font-weight: 600; }
.urartu-hb-search__more:hover { text-decoration: underline; }


/* Cart */
.urartu-hb-cart { position: relative; display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
/* Extra .urartu-hb-header class keeps the badge's white text above the color:inherit
   reset (both are 2-class rules; this makes the win specificity, not source order). */
.urartu-hb-header .urartu-hb-cart .urartu-hb-cart__count { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 10px; background: var(--u-badge-count-bg, var(--color-main-green)); color: var(--u-badge-count-fg, #fff); font-size: 11px; line-height: 18px; text-align: center; }

/* Button */
.urartu-hb-btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 600; line-height: 1; cursor: pointer; }
.urartu-hb-btn--sm { padding: 8px 14px; font-size: 13px; }
.urartu-hb-btn--md { padding: 11px 20px; font-size: 15px; }
.urartu-hb-btn--lg { padding: 14px 28px; font-size: 17px; }

/* Social вЂ” the theme's social output uses .urartu-social-icons; keep the other
   selectors for third-party markup dropped into the widget. */
.urartu-hb-widget--social .urartu-social-icons,
.urartu-hb-widget--social .social-icons,
.urartu-hb-widget--social ul { display: flex; align-items: center; gap: 12px; list-style: none; margin: 0; padding: 0; }

/* Account / Login */
.urartu-hb-account { display: inline-flex; align-items: center; gap: 10px; }
.urartu-hb-account__link { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.urartu-hb-account__logout { color: inherit; text-decoration: none; opacity: .7; }
.urartu-hb-account__logout:hover { opacity: 1; }

/* Wishlist / Compare tool icons */
.urartu-hb-tool { position: relative; display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.urartu-hb-header .urartu-hb-tool .urartu-hb-tool__count { position: absolute; top: -10px; right: -12px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 10px; background: var(--u-badge-count-bg, var(--color-main-green)); color: var(--u-badge-count-fg, #fff); font-size: 10px; line-height: 18px; text-align: center; }

/* Language / currency switcher */
.urartu-hb-switcher { position: relative; display: inline-flex; align-items: center; }
.urartu-hb-switcher__toggle { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 4px 6px; }
.urartu-hb-switcher__toggle .fa-angle-down { font-size: .8em; transition: transform .2s ease; }
.urartu-hb-switcher.is-open .urartu-hb-switcher__toggle .fa-angle-down { transform: rotate(180deg); }
.urartu-hb-switcher__list { list-style: none; margin: 0; padding: 0; }
.urartu-hb-switcher__list a { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; white-space: nowrap; }
.urartu-hb-switcher__flag { border-radius: 2px; flex: none; }
.urartu-hb-switcher--inline .urartu-hb-switcher__toggle { display: none; }
.urartu-hb-switcher--inline .urartu-hb-switcher__list { display: flex; gap: 14px; align-items: center; }
.urartu-hb-switcher--dropdown .urartu-hb-switcher__list { position: absolute; top: 100%; inset-inline-start: 0; min-width: 160px; max-height: 70vh; overflow-y: auto; background: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .15); border-radius: 8px; padding: 6px 0; display: none; z-index: 120; }
.urartu-hb-switcher--dropdown.is-open .urartu-hb-switcher__list { display: block; }
.urartu-hb-switcher--dropdown .urartu-hb-switcher__list a { padding: 8px 14px; color: #111; }
.urartu-hb-switcher--dropdown .urartu-hb-switcher__list .is-current a { font-weight: 600; }

/* Per-row sticky (an individually pinned row). JS sets the inline `top` (admin
   bar + any rows stacked above). The #fff fallback keeps a pinned row opaque
   when it has no background of its own; a row's own inline bg still wins. */
.uhb-row-sticky.is-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 101;
  background: var(--uhb-sticky-bg, #fff);
  background-image: var(--uhb-sticky-bg-image, none);
  background-size: var(--uhb-sticky-bg-size, cover);
  background-position: center;
  background-repeat: no-repeat;
  color: var(--uhb-sticky-text-color, inherit);
  font-size: var(--uhb-sticky-font-size, inherit);
  min-height: var(--uhb-sticky-min-height, auto);
  max-width: var(--uhb-sticky-max-width, none);
  padding-top: var(--uhb-sticky-padding-y, 0);
  padding-bottom: var(--uhb-sticky-padding-y, 0);
  padding-left: var(--uhb-sticky-padding-x, 0);
  padding-right: var(--uhb-sticky-padding-x, 0);
  border-width: var(--uhb-sticky-border-width, 0);
  border-color: var(--uhb-sticky-border-color, transparent);
  border-style: solid;
  border-radius: var(--uhb-sticky-radius, 0);
  box-shadow: var(--uhb-sticky-shadow, none);
  animation: uhbSlideDown .35s ease;
}
.uhb-row-sticky.is-stuck::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--uhb-sticky-overlay, transparent);
  pointer-events: none;
  z-index: -1;
}

/* Page title */
.urartu-hb-widget--page_title { display: block; width: 100%; flex: 1 1 100%; }
.urartu-hb-pagetitle { width: 100%; }
.urartu-hb-pagetitle .page-title { margin: 0; line-height: 1.2; }
.urartu-hb-pagetitle .page-subtitle { margin: 4px 0 0; opacity: .8; }
.urartu-hb-pagetitle--center { text-align: center; }
.urartu-hb-pagetitle--center .site-header_title__breadcrumbs { justify-content: center; }
.urartu-hb-pagetitle--right { text-align: end; }
.urartu-hb-pagetitle--right .site-header_title__breadcrumbs { justify-content: flex-end; }

/* Divider / spacer */
.urartu-hb-divider { display: block; }
.urartu-hb-spacer { display: block; }

/* Sticky builder header (position:fixed is immune to the html/body overflow:hidden
   that would otherwise break position:sticky). */
.urartu-hb-sticky.is-stuck { position: fixed; top: 0; left: 0; right: 0; z-index: 101; box-shadow: var(--uhb-sticky-shadow, none); animation: uhbSlideDown .35s ease; }
.admin-bar .urartu-hb-sticky.is-stuck { top: 32px; }
@media (max-width: 782px) { .admin-bar .urartu-hb-sticky.is-stuck { top: 46px; } }
@keyframes uhbSlideDown { from { transform: translateY(-100%); } to { transform: none; } }
.urartu-hb-spacer-fix { display: none; }
.urartu-hb-spacer-fix.is-active { display: block; }

/* Contact Info widget */
.uhb-contact { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--uhb-contact-gap, 16px); flex-wrap: wrap; }
.uhb-contact[data-direction="vertical"] { flex-direction: column; }
.uhb-contact__item { display: inline-flex; align-items: center; }
.uhb-contact__link { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.uhb-contact__link:hover { opacity: .8; }
.uhb-contact__icon { display: inline-flex; align-items: center; justify-content: center; color: var(--uhb-contact-icon-color, inherit); }
.uhb-contact__icon i,
.uhb-contact__icon svg { font-size: var(--uhb-contact-icon-size, 14px); width: auto; height: auto; }
.uhb-contact__text { font-size: inherit; line-height: 1.4; }

/* Icon List widget */
.uhb-icon-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--uhb-iconlist-gap, 10px); }
.uhb-icon-list__item { display: flex; align-items: center; }
.uhb-icon-list__link { display: inline-flex; align-items: center; gap: 8px; color: var(--uhb-iconlist-text-color, inherit); text-decoration: none; }
.uhb-icon-list__link:hover { opacity: .8; }
.uhb-icon-list__icon { display: inline-flex; align-items: center; justify-content: center; flex: none; color: var(--uhb-iconlist-icon-color, inherit); }
.uhb-icon-list__icon i,
.uhb-icon-list__icon svg { font-size: var(--uhb-iconlist-icon-size, 16px); width: auto; height: auto; }
.uhb-icon-list__text { color: var(--uhb-iconlist-text-color, inherit); font-size: inherit; line-height: 1.4; }

/* City Selector — widget modes */
.urartu-hb-city { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.urartu-hb-city .change-city-btn { color: inherit; text-decoration: none; }
.urartu-hb-city .change-city-btn:hover { opacity: .8; }
.urartu-hb-city img { flex: none; }
/* Text mode: plain display span, not clickable */
.urartu-hb-city--text { cursor: default; }
.urartu-hb-city--text .city-selector-text { display: inline-block; line-height: 1.4; }
/* City-only mode */
.urartu-hb-city--city_only { gap: 0; }

/* Breadcrumbs widget */
.uhb-breadcrumbs { display: block; width: 100%; }
.uhb-breadcrumbs--center { text-align: center; }
.uhb-breadcrumbs--right { text-align: right; }
.uhb-breadcrumbs .breadcrumbs { margin: 0; padding: 0; background: none; }
.uhb-breadcrumbs .breadcrumbs__separator { margin: 0 6px; }
.uhb-breadcrumbs .breadcrumbs__current { font-weight: 600; }

/* -------------------------------------------------------------------------
 * Announcement bar
 * ------------------------------------------------------------------------- */
.urartu-hb-announcement { display: flex; align-items: center; justify-content: center; padding: 8px 16px; font-size: 14px; line-height: 1.4; width: 100%; text-align: center; }
.urartu-hb-announcement-link { text-decoration: none; color: inherit; display: block; width: 100%; }
.urartu-hb-announcement-link:hover { opacity: .85; }

/* -------------------------------------------------------------------------
 * Countdown
 * ------------------------------------------------------------------------- */
.urartu-hb-countdown { display: flex; align-items: center; gap: 16px; }
.urartu-hb-countdown-item { display: flex; flex-direction: column; align-items: center; }
.urartu-hb-countdown-num { font-size: 1.8em; font-weight: 700; line-height: 1.2; }
.urartu-hb-countdown-label { font-size: .7em; opacity: .8; text-transform: uppercase; letter-spacing: .5px; }

/* -------------------------------------------------------------------------
 * Button group
 * ------------------------------------------------------------------------- */
.urartu-hb-button-group { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.urartu-hb-btn--primary { background: var(--color-main-green, #2271b1); color: #fff; border-radius: 6px; padding: 10px 22px; }
.urartu-hb-btn--secondary { background: #6c757d; color: #fff; border-radius: 6px; padding: 10px 22px; }
.urartu-hb-btn--outline { background: transparent; color: currentColor; border: 2px solid currentColor; border-radius: 6px; padding: 8px 20px; }
.urartu-hb-btn--primary:hover { opacity: .9; }
.urartu-hb-btn--secondary:hover { opacity: .9; }
.urartu-hb-btn--outline:hover { opacity: .7; }

/* -------------------------------------------------------------------------
 * Banner
 * ------------------------------------------------------------------------- */
.urartu-hb-banner { position: relative; display: flex; align-items: center; overflow: hidden; border-radius: 8px; min-height: 100px; }
.urartu-hb-banner-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.urartu-hb-banner-content { position: relative; z-index: 2; padding: 30px; width: 100%; }
.urartu-hb-banner-title { margin: 0 0 8px; font-size: 1.5em; }
.urartu-hb-banner-desc { margin: 0 0 16px; opacity: .9; }
.urartu-hb-banner-btn { display: inline-block; padding: 10px 24px; background: #fff; color: #222; border-radius: 6px; text-decoration: none; font-weight: 600; }

/* -------------------------------------------------------------------------
 * Featured products / Category grid / Post grid
 * ------------------------------------------------------------------------- */
.urartu-hb-featured-products,
.urartu-hb-category-grid,
.urartu-hb-post-grid { width: 100%; }
.urartu-hb-featured-title,
.urartu-hb-catgrid-title,
.urartu-hb-postgrid-title { margin: 0 0 16px; font-size: 1.1em; }
.urartu-hb-featured-list,
.urartu-hb-catgrid-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.urartu-hb-featured-list.columns-2,
.urartu-hb-catgrid-list.columns-2 { grid-template-columns: repeat(2, 1fr); }
.urartu-hb-featured-list.columns-3,
.urartu-hb-catgrid-list.columns-3 { grid-template-columns: repeat(3, 1fr); }
.urartu-hb-featured-list.columns-4,
.urartu-hb-catgrid-list.columns-4 { grid-template-columns: repeat(4, 1fr); }
.urartu-hb-featured-list.columns-5,
.urartu-hb-catgrid-list.columns-5 { grid-template-columns: repeat(5, 1fr); }
.urartu-hb-featured-list.columns-6,
.urartu-hb-catgrid-list.columns-6 { grid-template-columns: repeat(6, 1fr); }
.urartu-hb-featured-item a,
.urartu-hb-catgrid-item a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: inherit; }
.urartu-hb-featured-name,
.urartu-hb-catgrid-name { font-weight: 600; font-size: .85em; }
.urartu-hb-featured-price { font-size: .8em; opacity: .8; }
.urartu-hb-catgrid-item img { border-radius: 6px; }

/* Post grid */
.urartu-hb-postgrid-list { display: grid; gap: 18px; }
.urartu-hb-postgrid-list.columns-2 { grid-template-columns: repeat(2, 1fr); }
.urartu-hb-postgrid-list.columns-3 { grid-template-columns: repeat(3, 1fr); }
.urartu-hb-postgrid-list.columns-4 { grid-template-columns: repeat(4, 1fr); }
.urartu-hb-postgrid-item { break-inside: avoid; }
.urartu-hb-postgrid-item a { text-decoration: none; color: inherit; }
.urartu-hb-postgrid-heading { margin: 8px 0 4px; font-size: .95em; }
.urartu-hb-postgrid-date { font-size: .75em; opacity: .7; display: block; margin-bottom: 6px; }
.urartu-hb-postgrid-excerpt { font-size: .8em; margin: 0; opacity: .85; }

/* -------------------------------------------------------------------------
 * Testimonial
 * ------------------------------------------------------------------------- */
.urartu-hb-testimonial { padding: 24px; border-radius: 8px; }
.urartu-hb-testimonial-quote { margin: 0 0 16px; font-style: italic; font-size: 1em; line-height: 1.6; }
.urartu-hb-testimonial-quote p { margin: 0; }
.urartu-hb-testimonial-author { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.urartu-hb-testimonial-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; margin-bottom: 4px; }
.urartu-hb-testimonial-name { font-weight: 600; font-style: normal; }
.urartu-hb-testimonial-role { font-size: .8em; opacity: .75; }

/* -------------------------------------------------------------------------
 * Video
 * ------------------------------------------------------------------------- */
.urartu-hb-video { width: 100%; }
.urartu-hb-video-title { margin: 0 0 10px; }
.urartu-hb-video-wrap { position: relative; height: 0; overflow: hidden; border-radius: 6px; }
.urartu-hb-video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* -------------------------------------------------------------------------
 * Counter
 * ------------------------------------------------------------------------- */
.urartu-hb-counter { display: flex; flex-direction: column; gap: 4px; }
.urartu-hb-counter-icon { line-height: 1; margin-bottom: 4px; }
.urartu-hb-counter-number { font-weight: 700; line-height: 1.2; }
.urartu-hb-counter-label { font-size: .85em; opacity: .85; }

/* -------------------------------------------------------------------------
 * Badge
 * ------------------------------------------------------------------------- */
.urartu-hb-badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 4px; font-size: 12px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.urartu-hb-badge--default { background: #e9ecef; color: #495057; }
.urartu-hb-badge--sale { background: #dc3545; color: #fff; }
.urartu-hb-badge--new { background: var(--color-main-green, #241F1C); color: #fff; }
.urartu-hb-badge--custom { background: #6f42c1; color: #fff; }

/* -------------------------------------------------------------------------
 * Logo cloud
 * ------------------------------------------------------------------------- */
.urartu-hb-logo-cloud { width: 100%; }
.urartu-hb-logocloud-title { margin: 0 0 16px; }
.urartu-hb-logocloud-grid { display: grid; align-items: center; }
.urartu-hb-logocloud-item { display: flex; align-items: center; justify-content: center; }
.urartu-hb-logocloud-item img { max-width: 100%; height: auto; max-height: 60px; object-fit: contain; opacity: .7; transition: opacity .2s; }
.urartu-hb-logocloud-item img:hover { opacity: 1; }
.urartu-hb-logocloud-item a { display: flex; align-items: center; justify-content: center; text-decoration: none; }

/* -------------------------------------------------------------------------
 * Popup trigger
 * ------------------------------------------------------------------------- */
.urartu-hb-popup-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.6); z-index: 99999; align-items: center; justify-content: center; }
.urartu-hb-popup-overlay.is-open { display: flex; }
.urartu-hb-popup-content { background: #fff; border-radius: 10px; padding: 30px; max-height: 80vh; overflow-y: auto; position: relative; box-shadow: 0 10px 40px rgba(0,0,0,.25); width: 90%; }
.urartu-hb-popup-close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: #999; padding: 0; }
.urartu-hb-popup-close:hover { color: #333; }
.urartu-hb-popup-body { color: #333; font-size: 15px; line-height: 1.6; }

/* -------------------------------------------------------------------------
 * Flip box
 * ------------------------------------------------------------------------- */
.urartu-hb-flip-box { perspective: 1000px; }
.urartu-hb-flip-box-inner { position: relative; width: 100%; height: 100%; transition: transform .6s ease; transform-style: preserve-3d; }
.urartu-hb-flip-box:hover .urartu-hb-flip-box-inner { transform: rotateY(180deg); }
.urartu-hb-flip-box-front,
.urartu-hb-flip-box-back { position: absolute; top: 0; left: 0; width: 100%; height: 100%; backface-visibility: hidden; display: flex; align-items: center; justify-content: center; border-radius: 8px; padding: 20px; box-sizing: border-box; }
.urartu-hb-flip-box-front { background: #f8f9fa; z-index: 2; }
.urartu-hb-flip-box-back { background: #2271b1; color: #fff; transform: rotateY(180deg); }
.urartu-hb-flip-icon { font-size: 2em; margin-bottom: 10px; display: block; }
.urartu-hb-flip-title { margin: 0 0 8px; font-size: 1.1em; }
.urartu-hb-flip-desc { margin: 0; font-size: .85em; opacity: .9; }
.urartu-hb-flip-box-back-content { text-align: center; }
.urartu-hb-flip-box-back-content .urartu-hb-btn--primary { background: #fff; color: #222; }
.urartu-hb-flip-box-front-content { text-align: center; }

/* -------------------------------------------------------------------------
 * Info box
 * ------------------------------------------------------------------------- */
.urartu-hb-infobox { padding: 20px; border-radius: 8px; }
.urartu-hb-infobox-link { text-decoration: none; color: inherit; display: block; }
.urartu-hb-infobox-icon { font-size: 2em; line-height: 1; margin-bottom: 10px; }
.urartu-hb-infobox-title { margin: 0 0 8px; font-size: 1.05em; }
.urartu-hb-infobox-desc { margin: 0; font-size: .85em; opacity: .85; line-height: 1.5; }

/* =========================================================================
 * Default header polish — modern, premium look.
 * These styles only apply when the Header Builder is active and enhance the
 * default layout (Top Bar + Main Header with logo / menu / search / cart).
 * ========================================================================= */

/* --- Row transitions (smooth sticky / scroll) --- */
.urartu-hb-row { transition: background-color .25s ease, box-shadow .25s ease, padding .25s ease; }

/* --- Top Bar refinement --- */
.urartu-hb-row:first-child .urartu-hb-widget--html { font-size: 13px; letter-spacing: .015em; opacity: .92; }
.urartu-hb-row:first-child .urartu-hb-widget--html i { margin-right: 6px; opacity: .75; }
.urartu-hb-row:first-child .urartu-hb-widget--social a { opacity: .8; transition: opacity .2s ease, transform .2s ease; }
.urartu-hb-row:first-child .urartu-hb-widget--social a:hover { opacity: 1; transform: translateY(-1px); }
/* Subtle bottom border on the top bar to separate from main header */
.urartu-hb-row:first-child { border-bottom: 1px solid rgba(255,255,255,.08); }

/* --- Main Header — default white bg gets a subtle bottom border --- */
.urartu-hb-row + .urartu-hb-row { border-bottom: 1px solid #e8eaed; }

/* --- Navigation menu — modern dropdown with animation --- */
.urartu-hb-widget--menu > ul > li { position: relative; }
.urartu-hb-widget--menu > ul > li > a {
	position: relative;
	padding: 6px 0;
	font-weight: 500;
	transition: color .2s ease;
}
/* Underline effect on hover */
.urartu-hb-widget--menu > ul > li > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--color-main-green, #241F1C);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .25s ease;
}
.urartu-hb-widget--menu > ul > li > a:hover::after,
.urartu-hb-widget--menu > ul > li.current-menu-item > a::after,
.urartu-hb-widget--menu > ul > li.current_page_item > a::after { transform: scaleX(1); }

/* Sub-menus (dropdown) — proper fly-out with animation */
.urartu-hb-widget--menu .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	inset-inline-start: -16px;
	min-width: 210px;
	background: #fff;
	color: #1a1a2e;
	box-shadow: 0 12px 34px rgba(0,0,0,.12);
	border-radius: 10px;
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s;
	z-index: 120;
	display: block !important;
	flex-direction: column;
	gap: 0;
}
.urartu-hb-widget--menu li:hover > .sub-menu,
.urartu-hb-widget--menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.urartu-hb-widget--menu .sub-menu li { width: 100%; }
.urartu-hb-widget--menu .sub-menu a {
	display: block;
	padding: 9px 20px;
	font-size: 14px;
	font-weight: 400;
	color: #333;
	transition: background-color .2s ease, color .2s ease;
}
.urartu-hb-widget--menu .sub-menu a:hover {
	background: #f6f8fa;
	color: var(--color-main-green, #241F1C);
}
/* Deep nesting — fly-out to the right */
.urartu-hb-widget--menu .sub-menu .sub-menu {
	top: -8px;
	inset-inline-start: calc(100% + 4px);
}
.urartu-hb-widget--menu li { position: relative; }
/* Menu item caret for items that have a sub-menu */
.urartu-hb-menu > li.menu-item-has-children > a::after,
.urartu-hb-widget--menu > ul > li.menu-item-has-children > a::after {
	display: none; /* use the underline effect instead */
}

/* --- Mobile nav panel refinement --- */
.urartu-hb-nav__panel a:hover { background: #f0f2f4 !important; }

/* --- Search widget — refined default --- */
.urartu-hb-searchform { border-color: #d4d6d9; background: #f8f9fa; transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease; }
.urartu-hb-searchform:focus-within { border-color: var(--color-main-green, #241F1C); background: #fff; box-shadow: 0 0 0 3px rgba(28,191,101,.12); }
.urartu-hb-search__btn { transition: color .2s ease, transform .2s ease; }
.urartu-hb-search__btn:hover { transform: scale(1.1); }
.urartu-hb-search--icon .urartu-hb-searchform { background: transparent; }
.urartu-hb-search--icon.is-open .urartu-hb-searchform { background: #f8f9fa; border-color: #d4d6d9; }

/* --- Cart widget --- */
.urartu-hb-cart { transition: opacity .2s ease; }
.urartu-hb-cart:hover { opacity: .8; }
.urartu-hb-cart i { font-size: 20px; }

/* --- Account / Login widget --- */
.urartu-hb-account__link { transition: opacity .2s ease; }
.urartu-hb-account__link:hover { opacity: .75; }

/* --- Wishlist / Compare Tools --- */
.urartu-hb-tool { transition: opacity .2s ease; }
.urartu-hb-tool:hover { opacity: .8; }

/* --- Logo — keep aspect ratio, crisp --- */
.urartu-hb-widget--logo img { transition: opacity .2s ease; }
.urartu-hb-widget--logo img:hover { opacity: .9; }

/* --- General column gap refinement (tighter for icon widgets) --- */
.urartu-hb-col { gap: 12px; }

/* --- HTML widget in header (contact info, text) --- */
.urartu-hb-widget--html { line-height: 1.5; }
.urartu-hb-widget--html i { margin-right: 5px; }

/* --- Multi-device layout containers --- */
/* Default: tablet and mobile hidden (desktop visible). Breakpoint overrides
   are injected inline by urartu_hb_front_assets() so they use the user's
   configured breakpoints.                                             */
.urartu-hb-device-tablet,
.urartu-hb-device-mobile { display: none; }

/* Tap targets for the header's icon controls.
   -------------------------------------------------------------------------
   Compare and wishlist rendered at 16x16, the cart trigger at 23x20, all with
   padding:0 — below the 24x24 minimum in WCAG 2.5.8 and genuinely fiddly to hit
   on a phone. The glyph keeps its size; only the box around it grows, so the
   header's visual weight is unchanged. */
.urartu-hb-tool,
.urartu-hb-cart,
.urartu-hb-search__btn {
	min-width: 40px;
	min-height: 40px;
	justify-content: center;
	border-radius: 999px;
	transition: background-color .2s ease, opacity .2s ease;
}

/* A faint wash on hover/focus shows where the enlarged target actually is —
   with opacity alone the control looked the same size as its icon. Derived
   from currentColor so it works on light and dark headers alike. */
.urartu-hb-tool:hover,
.urartu-hb-tool:focus-visible,
.urartu-hb-cart:hover,
.urartu-hb-cart:focus-visible,
.urartu-hb-search__btn:hover,
.urartu-hb-search__btn:focus-visible {
	background-color: rgba(127, 127, 127, .14);
	background-color: color-mix(in srgb, currentColor 12%, transparent);
	opacity: 1;
}

/* The count badge was positioned against a box the size of the icon; on the
   padded box it drifted into the far corner, away from the glyph it counts. */
.urartu-hb-header .urartu-hb-tool .urartu-hb-tool__count {
	top: 2px;
	right: 2px;
}

@media (prefers-reduced-motion: reduce) {

	.urartu-hb-tool,
	.urartu-hb-cart,
	.urartu-hb-search__btn {
		transition: none;
	}

	.urartu-hb-search__btn:hover {
		transform: none;
	}
}
