/* Header rules read directly from the read-only reference, in its cascade order. */
.premium-header .container, .topbar .container{
  width: min(1280px, calc(100% - 80px));
  margin: auto;
}
.topbar{
  background: var(--navy);
  color: #dce4e8;
  font-size: 12px;
  letter-spacing: 0.025em;
  padding: 8px 0;
}
.topbar .container{
  display: flex;
  justify-content: space-between;
}
.top-dot{
  margin: 0 15px;
  color: var(--gold);
}
.header-main{
  height: 110px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.logo{
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.18em;
  flex-shrink: 0;
}
.logo strong{
  display: block;
  font-size: 19px;
  letter-spacing: 0.07em;
}
.logo strong span{
  color: #bd9862;
}
.logo-mark{
  display: flex;
  gap: 4px;
  height: 41px;
  transform: skewY(-26deg);
}
.logo-mark i{
  width: 9px;
  background: var(--navy);
}
.logo-mark i:nth-child(2){
  background: #bc9964;
}
.logo-mark i:nth-child(3){
  background: #dfc398;
}
.search-wrap{
  position: relative;
  flex: 1;
  max-width: 380px;
  margin-left: auto;
}
.search-wrap form{
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f5f6f5;
  padding: 12px 16px;
  border: 1px solid #e9eae7;
  border-radius: 4px;
}
.search-wrap input{
  background: none;
  border: 0;
  outline: none;
  min-width: 0;
  width: 100%;
  font-size: 14px;
}
.search-submit{
  border: 0;
  background: none;
  color: #66737b;
}
.header-phone{
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.header-phone small{
  display: block;
  color: var(--muted);
  font-size: 11px;
}
.header-phone strong{
  font-size: 18px;
}
.premium-header .button{
  background: var(--navy);
  color: #fff;
  border: 1px solid transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  padding: 15px 23px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 3px;
  line-height: 1.6;
}
.nav{
  border-top: 1px solid #eef0ee;
  border-bottom: 1px solid #eef0ee;
}
.nav .container{
  display: flex;
  align-items: center;
  gap: 35px;
}
.nav a{
  font-size: 14px;
  font-weight: 550;
  padding: 16px 0;
}
.nav a:hover{
  color: #a4773e;
}
.nav a:first-child{
  display: flex;
  gap: 48px;
}
.nav-sale{
  color: #aa654b;
}
.nav-note{
  margin-left: auto;
  font-size: 12px;
  color: #7e8585;
}
.menu-toggle{
  display: none;
  border: 0;
  background: none;
}
.contact-strip > .premium-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
@media (max-width: 1150px){
.premium-header .container, .topbar .container{
    width: calc(100% - 48px);
  }
.header-main{
    gap: 20px;
  }
.header-phone{
    display: none;
  }
.nav .container{
    gap: 25px;
  }
.nav-note{
    display: none;
  }
}
@media (max-width: 800px){
.header-main{
    height: 90px;
    flex-wrap: wrap;
    gap: 15px;
  }
.header-main > .button{
    margin-left: auto;
  }
.logo{
    font-size: 15px;
  }
.logo strong{
    font-size: 16px;
  }
.search-wrap{
    order: 5;
    max-width: none;
    flex-basis: 100%;
    margin: 0 0 16px;
  }
.header-main{
    height: auto;
    padding-top: 22px;
  }
.header-phone{
    display: none;
  }
.nav .container{
    gap: 22px;
    justify-content: space-between;
  }
.nav a{
    font-size: 12px;
  }
.nav a:first-child{
    gap: 10px;
  }
.topbar .container > span:last-child{
    display: none;
  }
}
@media (max-width: 600px){
.premium-header .container, .topbar .container{
    width: calc(100% - 36px);
  }
.topbar{
    font-size: 10px;
  }
.header-main{
    gap: 12px;
  }
.header-main > .button{
    font-size: 11px;
    padding: 9px;
    gap: 5px;
  }
.header-main > .button svg{
    display: none;
  }
.logo-mark{
    height: 33px;
  }
.logo-mark i{
    width: 7px;
  }
.logo{
    gap: 9px;
    font-size: 12px;
  }
.logo strong{
    font-size: 13px;
  }
.menu-toggle{
    display: block;
    padding: 0;
  }
.nav{
    display: none;
  }
.nav.open{
    display: block;
  }
.nav .container{
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }
.nav a{
    font-size: 15px;
    border-bottom: 1px solid #eee;
    padding: 12px 0;
  }
.search-wrap form{
    padding: 9px 12px;
  }
.contact-strip > .premium-header .container{
    align-items: start;
    flex-direction: column;
  }
}
.topbar{padding:5px 0;background:#102c3c;font-size:12px}
.premium-header .header-main{height:86px;gap:28px}
.premium-header .logo{font-size:16px;letter-spacing:.2em}
.premium-header .logo strong{font-size:18px}
.premium-header .logo-mark{height:37px}
.premium-header .search-wrap{max-width:390px}
.premium-header .search-wrap form{background:#f7f7f5;border-color:#e6e6e0;padding:10px 14px;border-radius:2px}
.premium-header .search-wrap input{font-size:14px}
.premium-header .search-submit{display:flex;align-items:center;min-height:24px}
.premium-header .header-phone small{font-size:12px}
.premium-header .header-phone strong{font-size:19px;letter-spacing:.015em}
.premium-header .header-phone>svg{stroke-width:1.5;color:#9a7849}
.premium-header .button{padding:12px 17px;border-radius:2px}
.premium-header .nav{border-top:1px solid #e9e9e3;border-bottom:0}
.premium-header .nav .container{gap:38px}
.premium-header .nav a{padding:12px 0;font-size:14px}
.premium-header .nav a:first-child{gap:40px;padding-right:25px;border-right:1px solid #e7e6e0}
.premium-header .nav-note{color:#80735f;font-size:12px}
.premium-header .suggestions{border-top:2px solid #b29260;border-radius:0 0 4px 4px;padding:20px;box-shadow:0 18px 40px #102e4026}
.premium-header .suggestions a{padding:13px 0;font-size:14px}
.premium-header .suggestions img{width:48px;height:48px;border-radius:2px}
@media(max-width:1150px){
.premium-header .header-main{gap:22px}
.premium-header .nav .container{gap:30px}
.premium-header .header-phone{display:none}
}
@media(max-width:800px){
.premium-header .header-main{height:auto;padding-top:18px;gap:16px}
.premium-header .search-wrap{margin-bottom:14px;max-width:none}
.premium-header .nav .container{gap:15px}
.premium-header .nav a{font-size:12px}
.premium-header .nav a:first-child{gap:10px;padding-right:15px}
}
@media(max-width:600px){
.topbar{font-size:11px;padding:5px 0}
.premium-header .header-main{padding-top:15px;gap:12px}
.premium-header .logo{font-size:12px;letter-spacing:.13em}
.premium-header .logo strong{font-size:13px}
.premium-header .logo-mark{height:31px}
.premium-header .header-main>.button{padding:10px;font-size:11px}
.premium-header .menu-toggle{min-width:28px;min-height:38px}
.premium-header .search-wrap{margin-bottom:13px}
.premium-header .search-wrap form{padding:9px 12px}
.premium-header .search-wrap input{font-size:14px}
.premium-header .nav .container{gap:0}
.premium-header .nav a,.premium-header .nav a:first-child{font-size:15px;padding:12px 0;border-right:0}
.premium-header .suggestions{padding:14px;max-height:65vh}
.premium-header .suggestions a{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .premium-header *{transition:none!important}
}
.logo.has-custom-logo{ position: relative; width: 150px; height: 92px; overflow: hidden; }
.logo.has-custom-logo > span{ display: none; }
.logo .custom-site-logo{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.logo.has-padded-logo{ width: 96px; }
.logo.has-padded-logo .custom-site-logo{ width: 192%; height: 150%; max-width: none; inset: -19% auto auto -44%; object-fit: fill; }
.premium-header .header-main:has(.has-custom-logo){ min-height: 108px; }
@media (max-width: 800px){
.logo.has-custom-logo{ width: 120px; height: 73px; }
.logo.has-padded-logo{ width: 76px; }
.premium-header .header-main:has(.has-custom-logo){ min-height: 89px; }
}
.logo-admin{ margin-bottom: 28px; }
.logo-admin-preview{ display: block; width: 220px; height: 70px; max-width: 100%; object-fit: contain; object-position: left center; margin-bottom: 16px; }
.logo-admin-actions{ display: flex; flex-wrap: wrap; gap: 12px; }
body:has(.reference-home) .premium-header .container{
  width: min(1320px, calc(100% - 8.4%));
}
body:has(.reference-home) .topbar{
  display: none;
}
body:has(.reference-home) .premium-header .header-main{
  height: 70px;
  gap: 24px;
  width: min(1380px, calc(100% - 6%));
}
body:has(.reference-home) .premium-header .logo{
  font-size: 29px;
  font-weight: 800;
  letter-spacing: -1px;
  gap: 13px;
}
body:has(.reference-home) .premium-header .logo strong{
  font-size: 14px;
  letter-spacing: 3px;
}
body:has(.reference-home) .logo strong span{
  display: none;
}
body:has(.reference-home) .logo-mark{
  transform: skewX(-30deg);
  height: 39px;
  gap: 4px;
}
body:has(.reference-home) .logo-mark i{
  width: 12px;
  background: repeating-linear-gradient(
    to bottom,
    #d9b58b 0 8px,
    #fff 8px 10px
  );
}
body:has(.reference-home) .logo-mark i:nth-child(2){
  background: #b38d62;
}
body:has(.reference-home) .logo-mark i:nth-child(3){
  background: #705439;
}
.header-tagline{
  display: none;
}
body:has(.reference-home) .header-tagline{
  display: block;
  font-size: 12px;
  line-height: 1.3;
  border-left: 1px solid #e3e7ec;
  padding-left: 17px;
  max-width: 155px;
}
body:has(.reference-home) .premium-header .search-wrap{
  max-width: 350px;
}
body:has(.reference-home) .search-wrap form{
  padding: 0;
  border: 1px solid #082448;
  background: white;
  border-radius: 2px;
  gap: 0;
}
body:has(.reference-home) .search-wrap form > svg{
  display: none;
}
body:has(.reference-home) .search-wrap input{
  padding: 10px 12px;
  font-size: 12px;
}
body:has(.reference-home) .search-submit{
  background: #082448;
  color: white;
  align-self: stretch;
  padding: 0 12px;
}
body:has(.reference-home) .premium-header .header-phone{
  display: flex;
  gap: 9px;
}
body:has(.reference-home) .header-phone > svg{
  color: #082448;
}
body:has(.reference-home) .header-phone span{
  display: flex;
  flex-direction: column-reverse;
}
body:has(.reference-home) .premium-header .header-phone strong{
  font-size: 16px;
  letter-spacing: 0;
}
body:has(.reference-home) .premium-header .header-phone small{
  font-size: 11px;
  color: #082448;
}
body:has(.reference-home) .premium-header .button{
  background: #ad895f;
  text-transform: uppercase;
  font-size: 12px;
  padding: 11px 19px;
  gap: 10px;
}
body:has(.reference-home) .premium-header .nav{
  border-block: 1px solid #e5e7eb;
}
body:has(.reference-home) .premium-header .nav .container{
  justify-content: space-between;
  gap: 0;
}
body:has(.reference-home) .premium-header .nav a{
  padding: 17px 22px;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  color: #082448;
}
body:has(.reference-home) .premium-header .nav a:first-child{
  padding-left: 0;
  gap: 7px;
  border: 0;
}
body:has(.reference-home) .nav-note{
  font-size: 11px;
  color: #596776;
}
body:has(.reference-home) .premium-header .suggestions{
  padding: 10px 12px;
  border: 1px solid #e4e6e9;
  border-radius: 3px;
  box-shadow: 0 6px 18px #0003;
  width: max(100%, 310px);
  max-width: 90vw;
}
body:has(.reference-home) .home-footer .premium-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 1150px){
body:has(.reference-home) .premium-header .header-main{
    gap: 18px;
    height: 64px;
  }
body:has(.reference-home) .header-tagline{
    display: none;
  }
body:has(.reference-home) .premium-header .logo{
    font-size: 25px;
  }
body:has(.reference-home) .premium-header .header-phone strong{
    font-size: 13px;
  }
body:has(.reference-home) .premium-header .button{
    font-size: 11px;
    padding: 10px;
  }
body:has(.reference-home) .premium-header .nav a{
    padding: 16px 15px;
    font-size: 13px;
  }
}
@media (max-width: 800px){
body:has(.reference-home) .premium-header .header-main{
    height: auto;
    padding: 14px 0;
    flex-wrap: wrap;
    gap: 13px;
  }
body:has(.reference-home) .premium-header .search-wrap{
    order: 5;
    max-width: none;
    flex-basis: 100%;
    margin: 0;
  }
body:has(.reference-home) .premium-header .header-phone{
    margin-left: auto;
  }
body:has(.reference-home) .premium-header .nav a{
    padding: 14px 8px;
    font-size: 12px;
  }
body:has(.reference-home) .nav-note{
    display: none;
  }
.home-footer .premium-header .container{
    flex-wrap: wrap;
  }
}
@media (max-width: 600px){
body:has(.reference-home) .premium-header .container{
    width: calc(100% - 32px);
  }
body:has(.reference-home) .premium-header .header-main{
    width: calc(100% - 32px);
    gap: 10px;
  }
body:has(.reference-home) .premium-header .logo{
    font-size: 22px;
    gap: 10px;
  }
body:has(.reference-home) .premium-header .logo strong{
    font-size: 10px;
    letter-spacing: 2.6px;
  }
body:has(.reference-home) .logo-mark{
    height: 29px;
    gap: 3px;
  }
body:has(.reference-home) .logo-mark i{
    width: 9px;
  }
body:has(.reference-home) .premium-header .header-phone{
    display: none;
  }
body:has(.reference-home) .premium-header .header-main > .button{
    margin-left: auto;
    font-size: 9px;
    padding: 8px;
    gap: 4px;
  }
body:has(.reference-home) .premium-header .header-main > .button svg{
    display: none;
  }
body:has(.reference-home) .menu-toggle{
    display: flex;
    padding: 5px;
    color: #082448;
  }
body:has(.reference-home) .nav{
    display: none;
  }
body:has(.reference-home) .nav.open{
    display: block;
  }
body:has(.reference-home) .nav .container{
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
body:has(.reference-home) .premium-header .nav a{
    padding: 14px 0;
    font-size: 15px;
  }
body:has(.reference-home) .premium-header .search-wrap input{
    font-size: 14px;
    padding: 10px;
  }
}
@media (min-width: 801px) and (max-width: 1150px){
body:has(.reference-home) .premium-header .header-main{
    height: 50px;
    gap: 17px;
  }
body:has(.reference-home) .premium-header .nav a{
    padding-block: 14px;
    font-size: 12px;
  }
body:has(.reference-home) .premium-header .logo{
    font-size: 24px;
  }
body:has(.reference-home) .premium-header .logo strong{
    font-size: 11px;
  }
body:has(.reference-home) .logo-mark{
    height: 31px;
  }
body:has(.reference-home) .search-wrap input{
    padding: 7px 10px;
    font-size: 10px;
  }
body:has(.reference-home) .premium-header .header-main > .button{
    padding: 8px 12px;
    font-size: 11px;
  }
}
@media (min-width: 1151px){
body:has(.reference-home) .premium-header .container{
    width: min(1760px, calc(100% - 8.4%));
  }
body:has(.reference-home) .premium-header .header-main{
    width: min(1840px, calc(100% - 6%));
    height: 84px;
    gap: 26px;
  }
body:has(.reference-home) .premium-header .logo{
    font-size: 33px;
  }
body:has(.reference-home) .premium-header .logo strong{
    font-size: 16px;
  }
body:has(.reference-home) .logo-mark{
    height: 44px;
  }
body:has(.reference-home) .header-tagline{
    font-size: 14px;
    max-width: 180px;
  }
body:has(.reference-home) .premium-header .search-wrap{
    max-width: 470px;
    min-width: 220px;
  }
body:has(.reference-home) .search-wrap input{
    font-size: 14px;
    padding: 12px 14px;
  }
body:has(.reference-home) .premium-header .header-phone strong{
    font-size: 18px;
  }
body:has(.reference-home) .premium-header .header-phone small{
    font-size: 12px;
  }
body:has(.reference-home) .premium-header .button{
    font-size: 13px;
    padding: 13px 22px;
  }
body:has(.reference-home) .premium-header .nav a{
    font-size: 16px;
    padding: 18px 24px;
  }
body:has(.reference-home) .nav-note{
    font-size: 13px;
  }
body:has(.reference-home) .home-footer .premium-header .container{
    flex-wrap: wrap;
    gap: 24px;
  }
}
@media (min-width: 1151px) and (max-width: 1500px){
body:has(.reference-home) .header-tagline{
    display: none;
  }
body:has(.reference-home) .premium-header .header-main{
    gap: 20px;
  }
}
.premium-header .nav a.nav-sale, body:has(.reference-home) .premium-header .nav a.nav-sale{ display: inline-flex; align-items: center; gap: 6px; color: #a74432; font-weight: 700; font-size: 15px; }
.premium-header .nav a.header-cart{ display: inline-flex; align-items: center; gap: 7px; }
.premium-header .suggestions, body:has(.reference-home) .premium-header .suggestions{ width: min(650px, 90vw); max-width: 90vw; left: 50%; right: auto; transform: translateX(-50%); padding: 18px; scrollbar-width: thin; }
.premium-header .suggestions a, body:has(.reference-home) .premium-header .suggestions a{ gap: 16px; padding: 13px 0; font-size: 14px; }
.premium-header .suggestions img, body:has(.reference-home) .premium-header .suggestions img{ width: 60px; height: 60px; object-fit: cover; flex-shrink: 0; }
@media(max-width: 760px){
.premium-header .suggestions, body:has(.reference-home) .premium-header .suggestions{ width: 100%; max-width: calc(100vw - 24px); padding: 12px; }
.premium-header .suggestions a, body:has(.reference-home) .premium-header .suggestions a{ gap: 10px; font-size: 13px; }
.premium-header .suggestions img, body:has(.reference-home) .premium-header .suggestions img{ width: 46px; height: 46px; }
.premium-header .header-phone, body:has(.reference-home) .premium-header .header-phone{ display: flex; order: 5; margin: 0 0 12px auto; }
.premium-header .header-phone strong, body:has(.reference-home) .premium-header .header-phone strong{ font-size: 15px; }
}
.premium-header .search-wrap:has(.suggestions){ z-index: 50; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions{
  top: calc(100% + 6px); z-index: 1; background: #fff; opacity: 1;
  padding: 0; display: flex; flex-direction: column; overflow: hidden;
  max-height: min(480px, 65dvh); isolation: isolate;
}
.premium-header .suggestions-scroll{ min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; background: #fff; padding: 0 12px; }
.premium-header .suggestions-scroll > .eyebrow{ display: block; padding: 12px 4px 6px; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions a.suggestion-product{
  display: grid; grid-template-columns: 54px minmax(0, 1fr) 128px;
  align-items: center; gap: 12px; padding: 12px 4px; height: 98px;
  text-align: left; font-size: 14px;
}
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions .suggestion-product img{ width: 54px; height: 54px; object-fit: cover; }
.premium-header .suggestion-name{ line-height: 1.35; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.premium-header .suggestion-name small{ margin-top: 4px; font-size: 11px; }
.premium-header .suggestions .suggestion-price{ width: 100%; min-width: 0; margin: 0; text-align: right; line-height: 1.35; }
.premium-header .suggestions .suggestion-price strong{ margin: 0; max-width: none; white-space: nowrap; font-size: 14px; }
.premium-header .suggestions .suggestion-price-regular strong{ color: #082448; }
.premium-header .suggestion-price > small{ display: block; font-size: 10px; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions a.all-results{ flex: 0 0 auto; padding: 14px 16px; border-top: 1px solid #e5e7eb; border-bottom: 0; background: #fff; font-size: 13px; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions a:hover{ background: #f5f4f0; }
@media (max-width: 760px){
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions{ width: 100%; max-width: calc(100vw - 24px); }
.premium-header .suggestions-scroll{ padding: 0 8px; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions a.suggestion-product{ grid-template-columns: 46px minmax(0, 1fr) 104px; gap: 8px; height: 96px; font-size: 12px; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions .suggestion-product img{ width: 46px; height: 46px; }
.premium-header .suggestions .suggestion-price strong{ font-size: 12px; }
.premium-header .suggestion-price del{ font-size: 10px; }
}
:is(.premium-header, body:has(.reference-home) .premium-header) .search-wrap{
  flex: 1 1 650px; min-width: 0; max-width: 650px;
}
:is(.premium-header, body:has(.reference-home) .premium-header) .search-wrap form{ width: 100%; }
:is(.premium-header, body:has(.reference-home) .premium-header) .suggestions{
  width: 100%; max-width: 100%; left: 0; right: 0; transform: none; top: calc(100% + 2px);
}
@media (min-width: 1151px){
:is(.premium-header, body:has(.reference-home) .premium-header) .header-main{ gap: 20px; }
.premium-header .header-phone{ flex-shrink: 0; }
}
@media (max-width: 1150px){
:is(.premium-header, body:has(.reference-home) .premium-header) .header-main{ flex-wrap: wrap; height: auto; }
:is(.premium-header, body:has(.reference-home) .premium-header) .search-wrap{ order: 10; flex: 0 0 100%; width: 100%; max-width: none; margin: 0 0 12px; }
}
