/* Retail Experience Framework v18.7.0 — Curated Luxury Mega Navigation */
:root{
  --ref-menu-primary:#ad002b;
  --ref-menu-secondary:#ad002b;
  --ref-menu-dark:#301326;
  --ref-menu-light:#fff6fa;
  --ref-menu-accent:#ff9bc5;
  --ref-menu-primary-rgb:173,0,43;
  --ref-menu-soft:color-mix(in srgb,var(--ref-menu-primary) 5%,#fff);
  --ref-menu-cream:#fffaf7;
  --ref-menu-border:rgba(var(--ref-menu-primary-rgb),.12);
  --ref-menu-shadow:0 32px 78px rgba(48,19,38,.16),0 10px 28px rgba(48,19,38,.08);
  --ref-menu-top-font:16px;
  --ref-menu-sub-font:14px;
}

@media (min-width:850px){
  body.ref-intelligent-menu-active #wide-nav{
    position:relative;
    z-index:39;
    min-height:70px;
    border-top:1px solid rgba(var(--ref-menu-primary-rgb),.055);
    border-bottom:1px solid rgba(var(--ref-menu-primary-rgb),.105);
    background:linear-gradient(108deg,#fffdfb 0%,var(--ref-menu-cream) 42%,var(--ref-menu-soft) 100%)!important;
    box-shadow:0 10px 26px rgba(48,19,38,.055);
  }
  body.ref-intelligent-menu-active #wide-nav .flex-row.container{
    width:100%;
    max-width:1420px;
    min-height:70px;
    padding:8px 26px;
  }
  body.ref-intelligent-menu-active #wide-nav .flex-row.container>.flex-col,
  body.ref-intelligent-menu-active #wide-nav .flex-row.container>.flex-col.flex-center{
    width:100%;
    max-width:100%;
    flex:1 1 100%;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav{
    width:100%;
    margin:0!important;
    align-items:center;
    justify-content:center;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav.ref-imenu-curated-row,
  body.ref-intelligent-menu-layout-curated_row #wide-nav .header-nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:clamp(5px,1vw,15px);
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav.ref-imenu-curated-row>li{
    flex:0 0 auto;
  }
  body.ref-intelligent-menu-active #wide-nav .ref-imenu-curated-secondary{
    display:none!important;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav.ref-imenu-theme-wrap{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px 10px;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav.ref-imenu-luxury-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
    gap:8px 10px;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav.ref-imenu-compact-more{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li{
    margin:0!important;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li>a{
    position:relative;
    display:inline-flex!important;
    min-height:52px;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:12px clamp(10px,1vw,17px)!important;
    border:0!important;
    border-radius:12px;
    background:transparent!important;
    color:var(--ref-menu-dark)!important;
    font-family:inherit!important;
    font-size:clamp(14px,var(--ref-menu-top-font,16px),18px)!important;
    font-weight:700!important;
    letter-spacing:-.008em;
    line-height:1.1!important;
    text-transform:none!important;
    white-space:nowrap;
    box-shadow:none!important;
    transition:background-color .2s ease,color .2s ease,transform .2s ease;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li>a .icon-angle-down{
    margin-left:1px;
    color:color-mix(in srgb,var(--ref-menu-dark) 52%,#fff);
    font-size:10px;
    transform:translateY(1px);
    transition:transform .2s ease,color .2s ease;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li>a::after{
    content:"";
    position:absolute;
    right:15px;
    bottom:5px;
    left:15px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--ref-menu-primary),color-mix(in srgb,var(--ref-menu-primary) 58%,var(--ref-menu-accent)));
    opacity:0;
    transform:scaleX(.3);
    transform-origin:center;
    transition:opacity .2s ease,transform .22s ease;
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li:hover>a,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li:focus-within>a,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li.current-menu-item>a,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li.current-menu-ancestor>a,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li.ref-imenu-related-current>a{
    background:rgba(var(--ref-menu-primary-rgb),.055)!important;
    color:var(--ref-menu-primary)!important;
    transform:translateY(-1px);
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li:hover>a::after,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li:focus-within>a::after,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li.current-menu-item>a::after,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li.current-menu-ancestor>a::after,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li.ref-imenu-related-current>a::after{
    opacity:1;
    transform:scaleX(1);
  }
  body.ref-intelligent-menu-active #wide-nav .header-nav>li:hover>a .icon-angle-down,
  body.ref-intelligent-menu-active #wide-nav .header-nav>li:focus-within>a .icon-angle-down{
    color:var(--ref-menu-primary);
    transform:translateY(1px) rotate(180deg);
  }

  /* Premium mega panel */
  #wide-nav .ref-imenu-has-smart-panel{
    position:relative;
  }
  #wide-nav .ref-imenu-has-smart-panel::before{
    content:"";
    position:absolute;
    top:100%;
    right:-10px;
    left:-10px;
    height:18px;
    z-index:9998;
  }
  #wide-nav .nav-dropdown.ref-imenu-mega{
    --ref-imenu-shift:0px;
    position:absolute!important;
    top:calc(100% + 14px)!important;
    left:var(--ref-imenu-shift)!important;
    width:min(1160px,calc(100vw - 44px))!important;
    max-width:none!important;
    min-width:760px!important;
    display:grid!important;
    grid-template-columns:minmax(280px,1.25fr) minmax(240px,1fr) minmax(205px,.82fr) minmax(205px,.82fr);
    gap:16px;
    padding:20px!important;
    overflow:visible!important;
    border:1px solid var(--ref-menu-border)!important;
    border-radius:24px!important;
    background:
      radial-gradient(circle at 92% 7%,rgba(var(--ref-menu-primary-rgb),.075),transparent 29%),
      linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--ref-menu-light) 68%,#fff) 100%)!important;
    box-shadow:var(--ref-menu-shadow)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(12px)!important;
    transition:opacity .18s ease,transform .24s cubic-bezier(.2,.75,.2,1),visibility 0s linear .24s!important;
  }
  #wide-nav .nav-dropdown.ref-imenu-mega.ref-imenu-panel-standard{
    width:min(930px,calc(100vw - 44px))!important;
    min-width:690px!important;
  }
  #wide-nav .nav-dropdown.ref-imenu-mega.ref-imenu-columns-2{
    grid-template-columns:minmax(300px,1.35fr) minmax(230px,.85fr);
    width:min(760px,calc(100vw - 44px))!important;
  }
  #wide-nav .nav-dropdown.ref-imenu-mega.ref-imenu-columns-3{
    grid-template-columns:minmax(300px,1.35fr) minmax(240px,1fr) minmax(210px,.82fr);
    width:min(970px,calc(100vw - 44px))!important;
  }
  #wide-nav .ref-imenu-has-smart-panel.ref-imenu-open>.ref-imenu-mega,
  #wide-nav .ref-imenu-has-smart-panel:hover>.ref-imenu-mega,
  #wide-nav .ref-imenu-has-smart-panel:focus-within>.ref-imenu-mega,
  #wide-nav .ref-imenu-has-smart-panel.current-dropdown>.ref-imenu-mega{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    transition-delay:0s!important;
  }

  #wide-nav .ref-imenu-links-shell,
  #wide-nav .ref-imenu-smart-tile{
    min-width:0;
    margin:0!important;
    list-style:none!important;
    border:1px solid rgba(var(--ref-menu-primary-rgb),.085);
    border-radius:18px;
    background:rgba(255,255,255,.94);
  }
  #wide-nav .ref-imenu-links-shell{
    padding:18px!important;
  }
  #wide-nav .ref-imenu-column-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(var(--ref-menu-primary-rgb),.09);
  }
  #wide-nav .ref-imenu-column-head strong{
    color:var(--ref-menu-dark)!important;
    font-size:calc(var(--ref-menu-sub-font) + 3px)!important;
    font-weight:800!important;
    line-height:1.2;
    letter-spacing:-.01em;
  }
  #wide-nav .ref-imenu-column-head>a{
    color:var(--ref-menu-primary)!important;
    font-size:calc(var(--ref-menu-sub-font) - 1px)!important;
    font-weight:800!important;
    white-space:nowrap;
    text-transform:none!important;
  }
  #wide-nav .ref-imenu-link-list,
  #wide-nav .ref-imenu-related-list,
  #wide-nav .ref-imenu-related-children{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  #wide-nav .ref-imenu-link-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 12px;
  }
  #wide-nav .ref-imenu-link-list-single{
    grid-template-columns:1fr;
  }
  #wide-nav .ref-imenu-link-list>li{
    margin:0!important;
  }
  #wide-nav .ref-imenu-link-list>li>a{
    display:flex!important;
    min-height:38px;
    align-items:center;
    padding:8px 9px!important;
    border-radius:10px;
    color:var(--ref-menu-dark)!important;
    font-size:clamp(12px,var(--ref-menu-sub-font,14px),17px)!important;
    font-weight:650!important;
    line-height:1.3!important;
    text-transform:none!important;
    transition:background-color .16s ease,color .16s ease,padding-left .16s ease;
  }
  #wide-nav .ref-imenu-link-list>li>a:hover{
    padding-left:13px!important;
    background:rgba(var(--ref-menu-primary-rgb),.06)!important;
    color:var(--ref-menu-primary)!important;
  }
  #wide-nav .ref-imenu-related-list{
    display:grid;
    gap:7px;
  }
  #wide-nav .ref-imenu-related-group{
    padding:8px 9px!important;
    border-radius:12px;
    background:color-mix(in srgb,var(--ref-menu-light) 58%,#fff);
  }
  #wide-nav .ref-imenu-related-main{
    display:flex!important;
    align-items:center;
    color:var(--ref-menu-dark)!important;
    font-size:var(--ref-menu-sub-font)!important;
    font-weight:800!important;
    line-height:1.25!important;
    text-transform:none!important;
  }
  #wide-nav .ref-imenu-related-main::after{
    content:"→";
    margin-left:auto;
    color:var(--ref-menu-primary);
    font-size:12px;
  }
  #wide-nav .ref-imenu-related-children{
    display:flex;
    flex-wrap:wrap;
    gap:3px 9px;
    margin-top:5px!important;
  }
  #wide-nav .ref-imenu-related-children li{
    margin:0!important;
  }
  #wide-nav .ref-imenu-related-children a{
    color:color-mix(in srgb,var(--ref-menu-dark) 68%,#fff)!important;
    font-size:calc(var(--ref-menu-sub-font) - 2px)!important;
    font-weight:600!important;
    line-height:1.3!important;
    text-transform:none!important;
  }
  #wide-nav .ref-imenu-related-children a:hover{
    color:var(--ref-menu-primary)!important;
  }

  #wide-nav .ref-imenu-smart-tile{
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  #wide-nav .ref-imenu-smart-tile:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--ref-menu-primary-rgb),.15);
    box-shadow:0 16px 34px rgba(48,19,38,.105);
  }
  #wide-nav .ref-imenu-smart-tile>a{
    display:flex!important;
    height:100%;
    flex-direction:column;
    padding:14px!important;
    color:var(--ref-menu-dark)!important;
    text-transform:none!important;
  }
  #wide-nav .ref-imenu-product-image{
    width:100%;
    aspect-ratio:1.32/1;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:11px;
    overflow:hidden;
    border-radius:14px;
    background:linear-gradient(140deg,#fff,var(--ref-menu-soft));
  }
  #wide-nav .ref-imenu-product-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:9px;
  }
  #wide-nav .ref-imenu-kicker{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:8px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(var(--ref-menu-primary-rgb),.075);
    color:var(--ref-menu-primary);
    font-size:9px;
    font-weight:800;
    letter-spacing:.07em;
    line-height:1;
    text-transform:uppercase;
  }
  #wide-nav .ref-imenu-smart-tile strong{
    color:var(--ref-menu-dark)!important;
    font-size:calc(var(--ref-menu-sub-font) + 1px)!important;
    font-weight:800!important;
    line-height:1.28;
    letter-spacing:-.01em;
  }
  #wide-nav .ref-imenu-smart-tile small{
    margin-top:7px;
    color:color-mix(in srgb,var(--ref-menu-dark) 64%,#fff)!important;
    font-size:calc(var(--ref-menu-sub-font) - 2px)!important;
    line-height:1.45;
  }
  #wide-nav .ref-imenu-product-price{
    margin-top:auto!important;
    padding-top:10px;
    color:var(--ref-menu-primary)!important;
    font-size:var(--ref-menu-sub-font)!important;
    font-weight:800!important;
  }
  #wide-nav .ref-imenu-advice-tile>a{
    justify-content:center;
    background:linear-gradient(145deg,#fff,var(--ref-menu-soft));
  }
  #wide-nav .ref-imenu-advice-icon{
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--ref-menu-primary),color-mix(in srgb,var(--ref-menu-primary) 66%,var(--ref-menu-accent)));
    color:#fff;
    font-family:Georgia,serif;
    font-size:17px;
    font-style:italic;
    font-weight:700;
    box-shadow:0 10px 24px rgba(var(--ref-menu-primary-rgb),.18);
  }
  #wide-nav .ref-imenu-campaign-tile>a{
    justify-content:center;
    background:linear-gradient(145deg,var(--ref-menu-dark),color-mix(in srgb,var(--ref-menu-primary) 58%,var(--ref-menu-dark)));
  }
  #wide-nav .ref-imenu-campaign-tile strong,
  #wide-nav .ref-imenu-campaign-tile small{
    color:#fff!important;
  }
  #wide-nav .ref-imenu-campaign-tile .ref-imenu-kicker{
    background:rgba(255,255,255,.14);
    color:#fff;
  }

  /* Promotional badges never appear on the principal row. */
  #wide-nav .ref-imenu-top-badge{
    display:none!important;
  }

  /* Legacy Compact More remains available only as a fallback. */
  #wide-nav .ref-imenu-more>.sub-menu{
    --ref-imenu-shift:0px;
    left:var(--ref-imenu-shift)!important;
    width:min(900px,calc(100vw - 44px))!important;
    max-height:70vh;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    overflow:auto;
    padding:18px!important;
    border:1px solid var(--ref-menu-border)!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:var(--ref-menu-shadow)!important;
  }

  body.ref-intelligent-menu-theme_default #wide-nav{
    background:inherit!important;
    border-color:inherit;
    box-shadow:none;
  }
  body.ref-intelligent-menu-theme_default #wide-nav .header-nav>li>a{
    border-radius:0;
    background:transparent!important;
    color:inherit!important;
    transform:none!important;
  }
  body.ref-intelligent-menu-minimal_clean #wide-nav{
    background:#fff!important;
  }
  body.ref-intelligent-menu-bold_retail #wide-nav{
    background:linear-gradient(105deg,var(--ref-menu-dark),color-mix(in srgb,var(--ref-menu-primary) 68%,var(--ref-menu-dark)))!important;
  }
  body.ref-intelligent-menu-bold_retail #wide-nav .header-nav>li>a{
    color:#fff!important;
  }
  body.ref-intelligent-menu-bold_retail #wide-nav .header-nav>li:hover>a,
  body.ref-intelligent-menu-bold_retail #wide-nav .header-nav>li:focus-within>a{
    background:rgba(255,255,255,.105)!important;
    color:#fff!important;
  }

  @media (max-width:1120px){
    body.ref-intelligent-menu-active #wide-nav .flex-row.container{padding-inline:12px;}
    body.ref-intelligent-menu-active #wide-nav .header-nav.ref-imenu-curated-row{gap:2px;}
    body.ref-intelligent-menu-active #wide-nav .header-nav>li>a{padding-inline:9px!important;font-size:clamp(13px,1.18vw,var(--ref-menu-top-font))!important;}
  }
}

/* Mobile keeps the complete original hierarchy. */
@media (max-width:849px){
  body.ref-intelligent-menu-active #main-menu .mfp-content,
  body.ref-intelligent-menu-active .off-canvas-left .mfp-content{
    background:linear-gradient(180deg,var(--ref-menu-cream),var(--ref-menu-soft))!important;
  }
  body.ref-intelligent-menu-active #main-menu .nav-sidebar{
    padding:12px!important;
  }
  body.ref-intelligent-menu-active #main-menu .nav-sidebar>li{
    margin:5px 0!important;
    overflow:hidden;
    border:1px solid rgba(var(--ref-menu-primary-rgb),.10)!important;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 18px rgba(48,19,38,.05);
  }
  body.ref-intelligent-menu-active #main-menu .nav-sidebar>li>a{
    min-height:52px;
    display:flex!important;
    align-items:center;
    padding:13px 15px!important;
    color:var(--ref-menu-dark)!important;
    font-size:16px!important;
    font-weight:750!important;
    text-transform:none!important;
  }
  body.ref-intelligent-menu-active #main-menu .nav-sidebar>li.active>a,
  body.ref-intelligent-menu-active #main-menu .nav-sidebar>li.current-menu-item>a{
    background:rgba(var(--ref-menu-primary-rgb),.07)!important;
    color:var(--ref-menu-primary)!important;
  }
  body.ref-intelligent-menu-active #main-menu .sub-menu{
    padding:4px 10px 12px!important;
    border-top:1px solid rgba(var(--ref-menu-primary-rgb),.08)!important;
    background:color-mix(in srgb,var(--ref-menu-light) 65%,#fff)!important;
  }
  body.ref-intelligent-menu-active #main-menu .sub-menu li a{
    min-height:42px;
    padding:10px 12px!important;
    border-radius:10px;
    color:var(--ref-menu-dark)!important;
    font-size:14px!important;
    text-transform:none!important;
  }
  body.ref-intelligent-menu-active #main-menu .ref-imenu-mobile-pick{
    margin:8px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    list-style:none;
  }
  body.ref-intelligent-menu-active #main-menu .ref-imenu-mobile-pick>a{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr);
    gap:10px;
    min-height:68px;
    align-items:center;
    padding:8px!important;
    border:1px solid rgba(var(--ref-menu-primary-rgb),.12);
    border-radius:12px;
    background:#fff;
  }
  body.ref-intelligent-menu-active #main-menu .ref-imenu-mobile-pick img{
    width:54px;
    height:54px;
    object-fit:contain;
    border-radius:9px;
    background:var(--ref-menu-light);
  }
  body.ref-intelligent-menu-active #main-menu .ref-imenu-mobile-pick strong{
    display:block;
    color:var(--ref-menu-dark);
    font-size:14px;
    line-height:1.3;
  }
  body.ref-intelligent-menu-active #main-menu .ref-imenu-mobile-pick small{
    display:block;
    margin-bottom:3px;
    color:var(--ref-menu-primary);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
}

@media (prefers-reduced-motion:reduce){
  body.ref-intelligent-menu-active #wide-nav *,
  body.ref-intelligent-menu-active #main-menu *{
    transition:none!important;
    animation:none!important;
  }
}
