/**
 * @file
 * Header styles for AllData React theme.
 */

/* Main header container */
.layout-container {
  background: #fff;
}

/* Hide empty regions */
.region:empty {
  display: none;
}

.region .container:has(> div:empty:only-child) {
  display: none;
}

/* Hide region if it only contains hidden elements */
.region:has(> .container > div > .hidden:only-child) {
  display: none;
}

/* Top utility bar */
.region-header {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
  padding: 0.6rem 0;
}

.region-header .container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  font-size: 0.875rem;
}

/* Utility bar items */
.region-header .block {
  margin: 0;
}

.region-header a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.region-header a:hover {
  color: #2196f3;
}

/* Hide page title on all pages when using Layout Builder */
#block-alldata-react-page-title {
  display: none;
}

/* Site branding - Logo */
.region-primary-menu #block-alldata-react-site-branding {
  order: 1;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding-right: 2.5rem;
  border-right: 1px solid #e0e0e0;
  margin-right: 1.5rem;
}

.region-primary-menu #block-alldata-react-site-branding a {
  display: inline-block;
  transition: opacity 0.3s ease;
}

.region-primary-menu #block-alldata-react-site-branding a:hover {
  opacity: 0.85;
}

/* Logo image */
.region-primary-menu #block-alldata-react-site-branding a:first-child {
  line-height: 0;
}

.region-primary-menu #block-alldata-react-site-branding img {
  height: 50px;
  width: auto;
  display: block;
}

/* Hide site name text - logo image contains branding */
.region-primary-menu #block-alldata-react-site-branding a:last-child,
.region-primary-menu #block-alldata-react-site-branding .site-name {
  display: none;
}

/* Hide site branding from header region (utility bar) */
.region-header #block-alldata-react-site-branding {
  display: none;
}

/* Primary menu navigation bar */
.region-primary-menu {
  background: #fff;
  padding: 1.25rem 0;
  border-bottom: 2px solid #e0e0e0;
  position: relative;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.region-primary-menu > div {
  display: flex;
  align-items: center;
  gap: 2rem;
  position: relative;
  max-width: 100%;
}

.region-primary-menu .block {
  margin: 0;
}

/* Logo positioning */
#block-alldata-react-site-branding {
  flex: 0 0 auto;
}

/* Main navigation menu - left aligned */
#block-alldata-react-main-menu {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  margin-left: 2rem;
}

#block-alldata-react-main-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

#block-alldata-react-main-menu li {
  margin: 0;
}

#block-alldata-react-main-menu a {
  display: block;
  padding: 0.75rem 1rem;
  text-decoration: none;
  color: #333;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  transition: all 0.3s ease;
  position: relative;
}

#block-alldata-react-main-menu a:hover,
#block-alldata-react-main-menu a.is-active {
  color: #E62A30;
}

#block-alldata-react-main-menu a:hover::after,
#block-alldata-react-main-menu a.is-active::after {
  content: '';
  position: absolute;
  bottom: -1.25rem;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #E62A30 0%, #D14124 100%);
}

/* Secondary menu (account, cart, search) - right side of primary menu */
.region-secondary-menu {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  background: transparent;
  padding: 0;
  border: none;
  z-index: 100;
}

.region-secondary-menu .container {
  padding: 1rem 15px;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: flex-end;
}

.region-secondary-menu .block {
  margin: 0;
  display: inline-flex;
  align-items: center;
}

.region-secondary-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0;
  align-items: center;
}

.region-secondary-menu li {
  margin: 0;
}

/* Search form in header */
.region-secondary-menu .block-search,
.region-secondary-menu .search-block-form {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.region-secondary-menu .block-search form,
.region-secondary-menu .search-block-form form {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 25px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  margin: 0;
}

.region-secondary-menu .block-search form:focus-within,
.region-secondary-menu .search-block-form form:focus-within {
  border-color: #E62A30;
  box-shadow: 0 4px 12px rgba(230,42,48,0.15);
}

.region-secondary-menu .search-block-form .form-item,
.region-secondary-menu .search-block-form .form-actions {
  margin: 0;
}

.region-secondary-menu .block-search input[type="search"],
.region-secondary-menu .block-search input[type="text"],
.region-secondary-menu .search-block-form input[type="search"],
.region-secondary-menu .search-block-form input.form-search {
  padding: 0.7rem 1.2rem;
  border: none !important;
  font-size: 0.9rem;
  width: 280px;
  outline: none;
  color: #333;
  background: transparent;
  transition: width 0.3s ease;
  box-shadow: none !important;
}

.region-secondary-menu .block-search input[type="search"]:focus,
.region-secondary-menu .block-search input[type="text"]:focus,
.region-secondary-menu .search-block-form input[type="search"]:focus,
.region-secondary-menu .search-block-form input.form-search:focus {
  width: 320px;
}

.region-secondary-menu .block-search input[type="search"]::placeholder,
.region-secondary-menu .block-search input[type="text"]::placeholder,
.region-secondary-menu .search-block-form input[type="search"]::placeholder,
.region-secondary-menu .search-block-form input.form-search::placeholder {
  color: #999;
  font-style: italic;
}

.region-secondary-menu .block-search input[type="submit"],
.region-secondary-menu .block-search button[type="submit"],
.region-secondary-menu .search-block-form input[type="submit"],
.region-secondary-menu .search-block-form button.form-submit {
  padding: 0.7rem 1.8rem;
  background: linear-gradient(90deg, #E62A30 0%, #D14124 100%);
  color: #fff;
  border: none !important;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
  transition: all 0.3s ease;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: none !important;
}

.region-secondary-menu .block-search input[type="submit"]:hover,
.region-secondary-menu .block-search button[type="submit"]:hover,
.region-secondary-menu .search-block-form input[type="submit"]:hover,
.region-secondary-menu .search-block-form button.form-submit:hover {
  background: linear-gradient(90deg, #D14124 0%, #B8321E 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(230,42,48,0.3) !important;
}

.region-secondary-menu .block-search input[type="submit"]:active,
.region-secondary-menu .block-search button[type="submit"]:active,
.region-secondary-menu .search-block-form input[type="submit"]:active,
.region-secondary-menu .search-block-form button.form-submit:active {
  transform: translateY(0);
}

/* Search block styling is handled by .block-search above */

/* Account/Login menu - hide from main nav, move to utility bar */
.region-secondary-menu #block-alldata-react-account-menu {
  display: none;
}

/* Account menu in header region (utility bar) */
.region-header #block-alldata-react-account-menu {
  display: inline-flex;
  align-items: center;
}

.region-header #block-alldata-react-account-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0;
}

.region-header #block-alldata-react-account-menu a {
  padding: 0.5rem 1.2rem;
  border: 2px solid #E62A30;
  border-radius: 20px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.8px;
  transition: all 0.3s ease;
  color: #E62A30;
}

.region-header #block-alldata-react-account-menu a:hover {
  background: linear-gradient(90deg, #E62A30 0%, #D14124 100%);
  border-color: #E62A30;
  color: #fff;
}

/* Cart block in header - includes React cart widget */
.region-secondary-menu .cart--cart-block,
.region-secondary-menu [id*="cart"] {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-left: 0.5rem;
}

.region-secondary-menu #react-cart-widget {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.region-secondary-menu #react-cart-widget .cart-widget-link,
.region-secondary-menu #react-cart-widget a,
.region-secondary-menu .cart-block--link__icon,
.region-secondary-menu .cart--cart-block > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  transition: all 0.3s ease;
  text-decoration: none;
  background: #f5f5f5;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
  color: #333;
}

.region-secondary-menu #react-cart-widget .cart-widget-link:hover,
.region-secondary-menu #react-cart-widget a:hover,
.region-secondary-menu .cart-block--link__icon:hover,
.region-secondary-menu .cart--cart-block > a:hover {
  background: linear-gradient(135deg, #E62A30 0%, #D14124 100%);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(230,42,48,0.3);
}

.region-secondary-menu #react-cart-widget .cart-widget-link svg,
.region-secondary-menu #react-cart-widget svg,
.region-secondary-menu .cart-block--summary__icon,
.region-secondary-menu .cart--cart-block svg {
  width: 22px;
  height: 22px;
  transition: all 0.3s ease;
}

/* Cart icon using CSS if no SVG */
.region-secondary-menu .cart--cart-block > a::before {
  content: '🛒';
  font-size: 1.5rem;
}

.region-secondary-menu .cart--cart-block svg {
  display: none;
}

/* Cart count badge */
.region-secondary-menu #react-cart-widget .cart-count,
.region-secondary-menu .cart-block--summary__count,
.region-secondary-menu .cart--cart-block .count {
  background: #ff6b35;
  color: #fff;
  border-radius: 50%;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  position: absolute;
  top: -5px;
  right: -5px;
  box-shadow: 0 2px 6px rgba(255,107,53,0.4);
  border: 2px solid #fff;
}

.region-secondary-menu .cart-block--link-count {
  text-decoration: none;
  color: #333;
  transition: color 0.3s ease;
}

.region-secondary-menu .cart-block--link-count:hover {
  color: #2196f3;
}

/* Breadcrumbs */
.region-breadcrumb {
  padding: 1rem 0;
  background: transparent;
  border-bottom: 1px solid #e0e0e0;
}

.region-breadcrumb .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

.region-breadcrumb nav {
  padding: 0;
  margin: 0;
}

.region-breadcrumb ol,
.breadcrumb {
  list-style: decimal;
  list-style-position: inside;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #333;
}

.region-breadcrumb ol li,
.breadcrumb li {
  display: list-item;
  align-items: center;
  gap: 0.25rem;
  color: #333;
  font-weight: 500;
}

.region-breadcrumb ol li::marker,
.breadcrumb li::marker {
  color: #333;
  font-weight: 500;
}

.region-breadcrumb a,
.breadcrumb a {
  color: #0066CC;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.3s ease;
}

.region-breadcrumb a:hover,
.breadcrumb a:hover {
  color: #E62A30;
  text-decoration: underline;
}

/* Highlighted region (messages, tabs) */
.region-highlighted {
  padding: 1rem 0;
  background: #fff3cd;
}

.region-highlighted .block {
  margin: 0.5rem 0;
}

/* Hide empty highlighted region */
.region-highlighted:empty,
.region-highlighted .container:empty {
  display: none;
  padding: 0;
}

.region-highlighted .container > div:empty {
  display: none;
}

.region-highlighted:has(.hidden:only-child) {
  display: none;
}

/* Messages */
.messages {
  padding: 1rem;
  border-radius: 4px;
  margin: 1rem 0;
}

.messages--status {
  background: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
}

.messages--warning {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  color: #856404;
}

.messages--error {
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  color: #721c24;
}

/* Utility contact info placeholder */
.header-contact-info {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 0.875rem;
  color: #333;
}

.header-phone::before {
  content: '📞 ';
}

.header-language {
  display: flex;
  gap: 0.5rem;
}

.header-language span {
  color: #999;
}

/* Responsive */
@media (max-width: 1200px) {
  .region-primary-menu > div,
  .region-header > div {
    padding: 0 20px;
  }

  .header-cta-buttons .header-cta {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
  }

  #block-alldata-react-main-menu a {
    padding: 0.75rem 0.75rem;
    font-size: 0.85rem;
  }

  .region-primary-menu #block-alldata-react-site-branding {
    padding-right: 1.5rem;
    margin-right: 1rem;
  }

  .region-primary-menu #block-alldata-react-site-branding img {
    height: 42px;
  }
}

@media (max-width: 992px) {
  .region-header {
    display: none;
  }

  .header-cta-buttons {
    display: none;
  }

  .region-primary-menu > div {
    flex-wrap: wrap;
  }

  #block-alldata-react-main-menu {
    order: 3;
    width: 100%;
    margin-left: 0;
    margin-top: 1rem;
  }

  #block-alldata-react-main-menu ul {
    flex-direction: column;
    width: 100%;
  }

  #block-alldata-react-main-menu a {
    width: 100%;
    border-bottom: 1px solid #e0e0e0;
  }

  .region-secondary-menu {
    position: static;
    transform: none;
    order: 2;
  }

  .region-primary-menu #block-alldata-react-site-branding {
    padding-right: 1rem;
    margin-right: 0.75rem;
    border-right: none;
  }

  .region-primary-menu #block-alldata-react-site-branding img {
    height: 38px;
  }
}

@media (max-width: 768px) {
  .region-secondary-menu .block-search input[type="search"],
  .region-secondary-menu .block-search input[type="text"],
  .region-secondary-menu .search-block-form input[type="search"],
  .region-secondary-menu .search-block-form input.form-search {
    width: 200px;
  }

  .region-secondary-menu .block-search input[type="search"]:focus,
  .region-secondary-menu .block-search input[type="text"]:focus,
  .region-secondary-menu .search-block-form input[type="search"]:focus,
  .region-secondary-menu .search-block-form input.form-search:focus {
    width: 220px;
  }

  .region-breadcrumb {
    padding: 0.75rem 0;
  }

  .region-breadcrumb ol,
  .breadcrumb {
    font-size: 0.85rem;
  }
}

@media (max-width: 576px) {
  .region-secondary-menu > div,
  .region-secondary-menu .container {
    gap: 0.5rem;
  }

  .region-secondary-menu .block-search input[type="search"],
  .region-secondary-menu .block-search input[type="text"],
  .region-secondary-menu .search-block-form input[type="search"],
  .region-secondary-menu .search-block-form input.form-search {
    width: 140px;
  }

  .region-secondary-menu .block-search input[type="search"]:focus,
  .region-secondary-menu .block-search input[type="text"]:focus,
  .region-secondary-menu .search-block-form input[type="search"]:focus,
  .region-secondary-menu .search-block-form input.form-search:focus {
    width: 160px;
  }

  .region-secondary-menu .block-search input[type="submit"],
  .region-secondary-menu .block-search button[type="submit"],
  .region-secondary-menu .search-block-form input[type="submit"],
  .region-secondary-menu .search-block-form button.form-submit {
    padding: 0.7rem 1.2rem;
    font-size: 0.85rem;
  }

  .region-primary-menu #block-alldata-react-site-branding {
    padding-right: 0.75rem;
    margin-right: 0.5rem;
  }

  .region-primary-menu #block-alldata-react-site-branding img {
    height: 34px;
  }

  .region-primary-menu {
    padding: 0.75rem 0;
  }

  .region-breadcrumb {
    padding: 0.6rem 0;
  }

  .region-breadcrumb ol,
  .breadcrumb {
    font-size: 0.8rem;
  }
}
