/* Full-width textual mega menu follows the cloud ribbon, without a nested picker. */
.category-menu-panel { position:fixed; z-index:80; max-width:calc(100vw - 16px); display:flex; flex-direction:column; overflow:hidden; border:1px solid #eadfdf; border-radius:0 0 26px 26px; background:var(--catalog-paper,#fbf5ed); box-shadow:0 18px 40px #51273412; transition:height 240ms cubic-bezier(.23,1,.32,1); }
.category-menu-panel[hidden] { display:none; }
.shop-menu-close { position:absolute; z-index:1; right:10px; top:9px; width:30px; height:30px; background:#f8eeee; color:#7f626c; }
.shop-menu-close .icon { width:16px; height:16px; }
.shop-menu-body { height:auto; flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:28px 32px; }
.shop-menu-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:30px 36px; }
.shop-menu-group { min-width:0; }
.shop-menu-group-header { display:flex; align-items:center; gap:8px; min-height:48px; border-bottom:1px solid var(--catalog-line,#ece5df); }
.shop-menu-group-header h2 { flex:1; margin:0; min-width:0; }
.shop-menu-group-header .shop-menu-group-title { display:flex; align-items:center; min-height:48px; padding:7px 0; }
.shop-menu-refine-toggle { display:grid; place-items:center; flex-shrink:0; width:38px; height:44px; border-radius:10px; color:#7f626c; }
.shop-menu-refine-toggle .icon { width:16px; height:16px; transition:transform 180ms cubic-bezier(.23,1,.32,1); }
.shop-menu-refine-toggle[aria-expanded="true"] .icon { transform:rotate(180deg); }
.shop-menu-refinements { padding-top:10px; }
.shop-menu-refinements[hidden] { display:none; }
.shop-menu-group h2 { margin:0 0 11px; font-size:15px; font-weight:600; line-height:1.4; }
.shop-menu-group .shop-menu-group-header h2 { margin:0; }
.shop-menu-group-title { display:block; min-height:28px; color:#382c32; text-underline-offset:5px; overflow-wrap:anywhere; }
.shop-menu-link { display:block; padding:5px 0; min-height:30px; font-size:14px; line-height:1.45; font-weight:400; color:#7f7379; text-underline-offset:4px; overflow-wrap:anywhere; }
.shop-menu-needs { margin-top:11px; padding-top:9px; border-top:1px solid #eee6e7; }
.shop-menu-needs summary { display:flex; align-items:center; justify-content:space-between; min-height:32px; padding:5px 0; font-size:12px; line-height:1.45; color:var(--wine); cursor:pointer; list-style:none; }
.shop-menu-needs summary::-webkit-details-marker { display:none; }
.shop-menu-needs summary .icon { width:12px; height:12px; flex-shrink:0; }
.shop-menu-needs details[open] summary .icon { transform:rotate(180deg); }
.shop-menu-brand-grid .shop-menu-group h2 { font-size:20px; font-weight:500; margin-bottom:14px; }
.shop-menu-brand-grid .shop-menu-group-header h2 { margin-bottom:0; }
.shop-menu-empty { padding:12px 4px; max-width:380px; }
.shop-menu-empty h2 { margin:0 0 14px; font-size:20px; font-weight:500; }
.shop-menu-empty p { margin:0 0 18px; font-size:14px; color:var(--muted); }
.shop-menu-empty .shop-menu-link { color:var(--wine); }
.category-menu-panel a:focus-visible,.category-menu-panel button:focus-visible,.category-menu-panel summary:focus-visible { outline:2px solid var(--wine); outline-offset:3px; border-radius:4px; }
.customer-contact-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin:22px 0; color:var(--wine); }
@media(hover:hover) and (pointer:fine) { .shop-menu-link:hover,.shop-menu-group-title:hover { color:var(--wine); text-decoration:underline; } }
@media(max-width:1000px) { .shop-menu-grid { gap:26px 24px; } .shop-menu-body { padding:26px 24px; } }
@media(max-width:700px) { .shop-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .shop-menu-body { padding:28px 20px; } .shop-menu-link { min-height:38px; } }
@media(max-width:400px) { .shop-menu-grid { grid-template-columns:minmax(0,1fr); } }

@media(prefers-reduced-motion:reduce) { .category-menu-panel { transition:none; } }
@media(hover:hover) and (pointer:fine) { .shop-menu-refine-toggle:hover { background:#f2eeea; color:var(--wine); } }
@media(prefers-reduced-motion:reduce) { .shop-menu-refine-toggle .icon { transition:none; } }
