.announcement-bar { position: relative; z-index: 30; background: #151515; color: #fff; }
.announcement-bar__inner { display: grid; min-height: 37px; grid-template-columns: 42px 1fr 42px; align-items: center; }
.announcement-bar__slides { grid-column: 2; min-width: 0; text-align: center; }
.announcement-bar__slide { display: none; padding: 5px 10px; font-size: .66rem; font-weight: 600; line-height: 1.35; letter-spacing: .11em; text-transform: uppercase; }
.announcement-bar__slide.is-active { display: block; animation: announcement-in .35s ease; }
.announcement-bar__slide a { text-decoration: none; }
.announcement-bar__control { width: 42px; height: 37px; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.72); cursor: pointer; }
.announcement-bar__control:first-child { grid-column: 1; }
.announcement-bar__control:last-child { grid-column: 3; }
.announcement-bar__control:hover { color: #fff; }
@keyframes announcement-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.site-header { position: relative; z-index: 25; border-bottom: 1px solid rgba(16,39,28,.1); background: #fff; }
.site-header__inner { display: grid; min-height: 78px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.site-navigation__list, .site-navigation__list ul { display: flex; margin: 0; padding: 0; align-items: center; gap: 28px; list-style: none; }
.site-navigation a { position: relative; color: var(--loco-ink); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-navigation a::after { position: absolute; right: 0; bottom: -6px; left: 0; height: 1px; background: var(--loco-gold); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.site-navigation a:hover::after { transform: scaleX(1); transform-origin: left; }
.site-header__brand { grid-column: 2; }
.site-header__brand a { display: block; }
.site-header__logo { width: 135px; max-height: 46px; object-fit: contain; }
.site-header__actions { display: flex; justify-content: flex-end; gap: 5px; }
.site-header__icon-button { position: relative; display: inline-flex; width: 40px; height: 40px; padding: 0; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--loco-ink); text-decoration: none; cursor: pointer; }
.site-header__icon-button:hover { color: var(--loco-gold-dark); }
.site-header__cart-count { position: absolute; top: 1px; right: -1px; display: grid; min-width: 17px; height: 17px; padding: 0 4px; place-items: center; border-radius: 99px; background: var(--loco-green); color: #fff; font-size: .58rem; line-height: 1; }
.site-header__menu-toggle { display: none; }
.header-search { border-top: 1px solid var(--loco-border); background: #fff; }
.header-search__inner { display: flex; padding-block: 18px; align-items: center; gap: 15px; }
.header-search form { display: flex; flex: 1; }
.header-search label { flex: 1; }
.header-search input[type="search"] { width: 100%; min-height: 46px; padding: 9px 14px; border: 1px solid var(--loco-border); }
.header-search input[type="submit"] { min-height: 46px; padding: 0 20px; border: 0; background: var(--loco-green); color: #fff; cursor: pointer; }
.header-search__close { width: 42px; height: 42px; border: 0; background: transparent; font-size: 1.7rem; cursor: pointer; }

.site-footer { padding: 72px 0 32px; background: #0e1812; color: rgba(255,255,255,.76); }
.site-footer__inner { display: grid; gap: 48px; }
.site-footer__brand h2 { margin-bottom: 8px; color: #fff; font-size: 2rem; }
.site-footer__brand p { margin: 0; color: var(--loco-gold-light); font-family: var(--font-heading); font-size: 1.15rem; font-style: italic; }
.site-footer__links { display: flex; margin: 0; padding: 0; flex-wrap: wrap; gap: 18px 30px; list-style: none; }
.site-footer__links a { color: #fff; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-footer__legal { display: flex; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.13); flex-wrap: wrap; gap: 8px 20px; color: rgba(255,255,255,.55); font-size: .72rem; line-height: 1.5; }

@media (max-width: 989px) {
  .site-header__inner { min-height: 68px; grid-template-columns: 1fr auto 1fr; }
  .site-header__menu-toggle { display: inline-flex; width: 42px; height: 42px; padding: 0; align-items: center; border: 0; background: transparent; cursor: pointer; }
  .site-header__menu-lines, .site-header__menu-lines::before, .site-header__menu-lines::after { display: block; width: 22px; height: 1px; background: var(--loco-ink); content: ""; transition: transform .25s ease, opacity .25s ease; }
  .site-header__menu-lines { position: relative; }
  .site-header__menu-lines::before { position: absolute; top: -7px; }
  .site-header__menu-lines::after { position: absolute; top: 7px; }
  .menu-is-open .site-header__menu-lines { background: transparent; }
  .menu-is-open .site-header__menu-lines::before { top: 0; transform: rotate(45deg); }
  .menu-is-open .site-header__menu-lines::after { top: 0; transform: rotate(-45deg); }
  .site-navigation { position: fixed; top: 105px; right: 0; bottom: 0; left: 0; z-index: 20; padding: 45px var(--loco-gutter); background: #fff; opacity: 0; pointer-events: none; transform: translateX(-25px); transition: opacity .25s ease, transform .25s ease; }
  .menu-is-open .site-navigation { opacity: 1; pointer-events: auto; transform: none; }
  .site-navigation__list, .site-navigation__list ul { align-items: flex-start; flex-direction: column; gap: 12px; }
  .site-navigation a { display: block; padding: 9px 0; font-family: var(--font-heading); font-size: 2rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
}

@media (max-width: 749px) {
  .announcement-bar__inner { width: 100%; grid-template-columns: 34px 1fr 34px; }
  .announcement-bar__slide { font-size: .58rem; letter-spacing: .08em; }
  .announcement-bar__control { width: 34px; }
  .site-header__inner { gap: 10px; }
  .site-header__logo { width: 108px; }
  .site-header__account { display: none; }
  .site-navigation { top: 105px; }
  .site-footer { padding-top: 55px; }
  .site-footer__legal { flex-direction: column; }
}
