.az-site-header {
position: sticky;
top: 0;
z-index: 1000;
background: var(--az-color-white);
border-bottom: 1px solid var(--az-color-border);
}

.az-header-main {
min-height: 76px;
gap: var(--az-space-6);
}

.az-header-brand {
flex: 0 0 auto;
}

.az-site-title {
margin: 0;
font-size: var(--az-font-size-xl);
font-weight: 900;
white-space: nowrap;
}

.az-site-title a {
text-decoration: none;
}

.az-header-search {
flex: 1 1 520px;
max-width: 720px;
margin: 0;
}

.az-header-search .wp-block-search__inside-wrapper {
border: 1px solid var(--az-color-border);
border-radius: var(--az-radius-md);
background: var(--az-color-surface);
overflow: hidden;
}

.az-header-search .wp-block-search__input {
border: 0;
background: transparent;
padding-inline: var(--az-space-4);
}

.az-header-search .wp-block-search__button {
margin: 0;
border-radius: 0;
min-width: 52px;
}

.az-header-actions {
flex: 0 0 auto;
gap: var(--az-space-5);
}

.az-header-actions p {
margin: 0;
}

.az-header-link a,
.az-header-cart a {
text-decoration: none;
font-size: var(--az-font-size-sm);
font-weight: 700;
white-space: nowrap;
}

.az-header-cart a {
display: inline-flex;
align-items: center;
min-height: 42px;
padding-inline: var(--az-space-4);
background: var(--az-color-primary);
border-radius: var(--az-radius-md);
}

.az-header-cart a:hover {
background: var(--az-color-primary-hover);
}

.az-site-footer {
margin-top: var(--az-space-16);
padding-block: var(--az-space-12) var(--az-space-6);
background: var(--az-color-soft-black);
color: var(--az-color-white);
}

.az-footer-inner {
gap: var(--az-space-10);
}

.az-footer-brand {
max-width: 480px;
}

.az-footer-brand .wp-block-site-title {
margin-top: 0;
}

.az-footer-brand a,
.az-footer-links a {
color: var(--az-color-white);
}

.az-footer-links h3 {
margin-top: 0;
color: var(--az-color-primary);
font-size: var(--az-font-size-lg);
}

.az-footer-links ul {
margin: 0;
padding-inline-start: 20px;
}

.az-footer-links li + li {
margin-top: var(--az-space-2);
}

.az-footer-bottom {
margin-top: var(--az-space-10);
padding-top: var(--az-space-5);
border-top: 1px solid rgba(255, 255, 255, 0.14);
font-size: var(--az-font-size-sm);
color: #D7D7D7;
}

.az-footer-bottom p {
margin: 0;
}

@media (max-width: 960px) {
.az-header-main {
flex-wrap: wrap;
padding-block: var(--az-space-3);
}

.az-header-brand {
order: 1;
}

.az-header-actions {
order: 2;
margin-inline-start: auto;
}

.az-header-search {
order: 3;
flex-basis: 100%;
max-width: none;
width: 100%;
}
}

@media (max-width: 640px) {
.az-header-main {
gap: var(--az-space-3);
}

.az-header-actions {
gap: var(--az-space-3);
}

.az-header-link {
display: none;
}

.az-site-title {
font-size: var(--az-font-size-lg);
}

.az-site-footer {
padding-top: var(--az-space-8);
}

.az-footer-inner {
display: block;
}

.az-footer-links {
margin-top: var(--az-space-8);
}
}

.az-site-logo {
margin: 0;
line-height: 0;
}

.az-site-logo a {
display: inline-flex;
align-items: center;
}

.az-site-logo img {
display: block;
width: auto;
height: auto;
}

.az-site-logo-header img {
max-width: 172px;
}

.az-site-logo-footer img {
max-width: 190px;
}

@media (max-width: 640px) {
.az-site-logo-header img {
max-width: 138px;
}

.az-site-logo-footer img {
max-width: 158px;
}
}

/* Stage 19: keep the brand logo within the real viewport.
   WordPress image defaults load later with equal specificity. */
.az-site-logo-header img {
  width: auto !important;
  max-width: min(172px, 100%) !important;
  height: auto !important;
}

@media (max-width: 640px) {
  .az-site-logo-header img {
    max-width: min(138px, 100%) !important;
  }
}

/* Stage 19: prevent the intrinsic logo width from expanding its flex parents. */
.az-header-brand {
  flex: 0 1 172px;
  width: 172px;
  max-width: 100%;
  min-width: 0;
}

.az-site-logo-header,
.az-site-logo-header a {
  width: 100%;
  max-width: 172px;
  min-width: 0;
}

@media (max-width: 640px) {
  .az-header-brand {
    flex-basis: 138px;
    width: 138px;
  }

  .az-site-logo-header,
  .az-site-logo-header a {
    max-width: 138px;
  }
}

/* Stage 19: keep WooCommerce's accessible cart live region inside RTL viewport. */
.widget_shopping_cart_live_region.screen-reader-text {
  inset-inline-start: auto !important;
  inset-inline-end: 0 !important;
}

/* Stage 19: verified RTL mobile overflow containment. */
html,
body {
  overflow-x: clip;
}

.widget_shopping_cart_live_region.screen-reader-text {
  left: 0 !important;
  right: auto !important;
  margin: 0 !important;
}
