/* DCC Luxury v1.31.0 responsive header fix.
   Desktop/laptop remains unchanged. Custom header is only used at 820px and below. */
.dcc-mobile-header,
.dcc-mobile-drawer,
.dcc-mobile-overlay{display:none}

/* Restore the original desktop header between 821px and 1100px.
   The older theme.css hides the navigation at 1100px; this deliberately overrides that behavior. */
@media (min-width:821px) and (max-width:1100px){
  .dcc-global-utility{display:block!important}
  .dcc-header{display:flex!important;justify-content:flex-start!important;align-items:center!important}
  .dcc-header .dcc-logo{display:block!important;flex:0 0 auto!important}
  .dcc-header .dcc-logo img{display:block!important;width:220px!important;max-width:220px!important;height:auto!important}
  .dcc-header .dcc-nav{display:flex!important;margin-left:auto!important;align-items:center!important;flex-wrap:wrap!important;gap:30px!important}
  .dcc-mobile-header,.dcc-mobile-drawer,.dcc-mobile-overlay{display:none!important}
}

@media (max-width:820px){
  /* One header only on tablets/phones. This catches every DCC page template, not just the homepage. */
  .dcc-header{display:none!important}
  .dcc-global-utility{display:none!important}

  .dcc-mobile-header{
    display:flex!important;
    position:relative!important;
    z-index:10002!important;
    width:100%!important;
    min-height:68px!important;
    padding:7px 14px!important;
    margin:0!important;
    background:#fff!important;
    border-bottom:1px solid #e8e1d5!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .dcc-mobile-logo{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:165px!important;
    padding:0!important;
    margin:0!important;
  }
  .dcc-mobile-logo img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:150px!important;
    max-height:52px!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
  }
  .dcc-mobile-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
  }
  .dcc-mobile-account,
  .dcc-mobile-cart,
  .dcc-mobile-toggle{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:7px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:#151515!important;
    position:relative!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  .dcc-mobile-account svg,
  .dcc-mobile-cart svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .dcc-mobile-cart-count{
    position:absolute!important;
    right:0!important;
    top:0!important;
    min-width:15px!important;
    width:auto!important;
    height:15px!important;
    padding:0 3px!important;
    border-radius:999px!important;
    background:#b51218!important;
    color:#fff!important;
    font:800 9px/15px Arial,Helvetica,sans-serif!important;
    text-align:center!important;
    letter-spacing:0!important;
  }
  .dcc-mobile-toggle{
    flex-direction:column!important;
    gap:4px!important;
    cursor:pointer!important;
  }
  .dcc-mobile-toggle span{
    display:block!important;
    width:20px!important;
    height:1.5px!important;
    min-height:1.5px!important;
    background:#151515!important;
    margin:0!important;
    padding:0!important;
  }

  .dcc-mobile-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:10003!important;
    background:rgba(0,0,0,.43)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease,visibility .22s ease!important;
  }
  .dcc-mobile-drawer{
    display:flex!important;
    position:fixed!important;
    z-index:10004!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:min(360px,88vw)!important;
    background:#fff!important;
    box-shadow:-18px 0 45px rgba(0,0,0,.16)!important;
    transform:translateX(105%)!important;
    transition:transform .25s ease!important;
    flex-direction:column!important;
    overflow-y:auto!important;
  }
  body.dcc-mobile-menu-open{overflow:hidden!important}
  body.dcc-mobile-menu-open .dcc-mobile-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.dcc-mobile-menu-open .dcc-mobile-drawer{transform:translateX(0)!important}
  .dcc-mobile-drawer-head{
    min-height:64px!important;
    padding:0 20px!important;
    border-bottom:1px solid #e8e1d5!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    color:#a27c31!important;
    font:800 10px/1 Arial,Helvetica,sans-serif!important;
    letter-spacing:.18em!important;
  }
  .dcc-mobile-drawer-head button{
    width:34px!important;
    height:34px!important;
    border:0!important;
    background:transparent!important;
    color:#151515!important;
    font:300 30px/30px Arial,Helvetica,sans-serif!important;
    padding:0!important;
    cursor:pointer!important;
  }
  .dcc-mobile-nav{padding:12px 22px 22px!important}
  .dcc-mobile-menu{list-style:none!important;margin:0!important;padding:0!important}
  .dcc-mobile-menu>li{border-bottom:1px solid #eee8dc!important;margin:0!important;padding:0!important}
  .dcc-mobile-menu a{
    display:block!important;
    padding:14px 1px!important;
    color:#17130d!important;
    font:500 19px/1.2 Georgia,'Times New Roman',serif!important;
    letter-spacing:.01em!important;
  }
  .dcc-mobile-menu .sub-menu{list-style:none!important;margin:-2px 0 10px!important;padding:0 0 0 14px!important;border-left:1px solid #c7a75f!important}
  .dcc-mobile-menu .sub-menu a{font:700 11px/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.09em!important;padding:9px 0!important}
  .dcc-mobile-drawer-foot{margin-top:auto!important;background:#111!important;padding:17px 22px!important;display:flex!important;justify-content:space-between!important;gap:14px!important}
  .dcc-mobile-drawer-foot a{color:#fff!important;font:800 9px/1.2 Arial,Helvetica,sans-serif!important;letter-spacing:.11em!important}
}

@media (max-width:480px){
  .dcc-mobile-header{min-height:62px!important;padding:6px 10px!important}
  .dcc-mobile-logo{max-width:140px!important}
  .dcc-mobile-logo img{max-width:126px!important;max-height:46px!important}
  .dcc-mobile-actions{gap:2px!important}
  .dcc-mobile-account,.dcc-mobile-cart,.dcc-mobile-toggle{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;padding:7px!important}
  .dcc-mobile-account svg,.dcc-mobile-cart svg{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important}
  .dcc-mobile-toggle span{width:18px!important}
  .dcc-mobile-drawer{width:92vw!important}
  .dcc-mobile-menu a{font-size:18px!important;padding:13px 1px!important}
}
