/* Compact circular category wheel: hidden outside the menu and available only while a menu section is visible. */
.floating-category-wheel{display:none;visibility:hidden;pointer-events:none;position:fixed;right:max(6px,env(safe-area-inset-right));top:50%;width:82px;height:300px;transform:translateY(-50%);z-index:430;font-family:'DM Sans',sans-serif}
.floating-category-wheel.menu-only-visible{display:block;visibility:visible;pointer-events:none}
.floating-category-wheel.is-near-top{display:none!important;visibility:hidden!important;pointer-events:none!important}
.floating-category-wheel.is-hidden{opacity:.96;visibility:visible}
.floating-category-orbit{position:absolute;inset:10px 0 10px 0;pointer-events:none}
.floating-category-button{position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(calc(-50% - var(--curve,0px)),calc(-50% + (var(--slot) * 52px))) scale(var(--scale,1));border:1px solid #6f3c25;border-radius:50%;background:#3a1a10;color:#fff5e9;display:grid;place-items:center;padding:0;box-shadow:0 7px 18px rgba(35,10,4,.28);pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.floating-category-button:nth-child(1),.floating-category-button:nth-child(5){--scale:.78;--curve:18px;opacity:.78}
.floating-category-button:nth-child(2),.floating-category-button:nth-child(4){--scale:.9;--curve:8px;opacity:.92}
.floating-category-button:nth-child(3){--scale:1.08;--curve:0px;opacity:1}
.floating-category-button.active{width:56px;height:56px;background:#a84f26;border-color:#f0b06c;color:#fffaf3;box-shadow:0 10px 25px rgba(110,45,15,.38),0 0 0 4px rgba(240,176,108,.13)}
.floating-category-icon{font-size:20px;line-height:1}
.floating-category-icon svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.floating-category-button.active .floating-category-icon{font-size:23px}
.floating-category-label{position:absolute;right:62px;top:50%;transform:translateY(-50%);max-width:145px;padding:6px 8px;border:1px solid #d6b59d;border-radius:10px;background:#fffaf4;color:#4b2a1b;box-shadow:0 6px 16px rgba(45,18,7,.15);font-size:9px;font-weight:800;line-height:1.15;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}
.floating-category-button.active .floating-category-label,.floating-category-button:focus-visible .floating-category-label{opacity:1;visibility:visible}
.floating-category-button:focus-visible{outline:2px solid #e8a15d;outline-offset:3px}
.floating-category-toggle{position:absolute;right:-2px;top:-2px;width:25px;height:25px;border:1px solid #e0b58e;border-radius:50%;background:#2c120a;color:#fff4e6;display:grid;place-items:center;font-size:17px;line-height:1;z-index:4;pointer-events:auto;cursor:pointer;box-shadow:0 5px 14px rgba(40,12,4,.28)}
.floating-category-wheel.is-at-footer{opacity:.82}
@media(max-width:700px){
  .floating-category-wheel{right:max(4px,env(safe-area-inset-right));top:auto;bottom:102px;width:68px;height:250px;transform:none}
  .floating-category-wheel.menu-only-visible{display:block}
  .floating-category-orbit{inset:8px 0}
  .floating-category-button{width:40px;height:40px;transform:translate(calc(-50% - var(--curve,0px)),calc(-50% + (var(--slot) * 43px))) scale(var(--scale,1))}
  .floating-category-button:nth-child(1),.floating-category-button:nth-child(5){--curve:12px}
  .floating-category-button:nth-child(2),.floating-category-button:nth-child(4){--curve:5px}
  .floating-category-button.active{width:48px;height:48px}
  .floating-category-icon{font-size:16px}.floating-category-button.active .floating-category-icon{font-size:19px}
  .floating-category-label{right:51px;max-width:112px;font-size:8px;padding:5px 7px}
  .floating-category-toggle{width:23px;height:23px;font-size:15px}
}
@media(max-width:360px){
  .floating-category-wheel{right:3px;bottom:98px;width:58px;height:226px}
  .floating-category-button{width:36px;height:36px;transform:translate(calc(-50% - var(--curve,0px)),calc(-50% + (var(--slot) * 39px))) scale(var(--scale,1))}
  .floating-category-button.active{width:44px;height:44px}
  .floating-category-label{right:46px;max-width:96px}
}
@media(prefers-reduced-motion:reduce){.floating-category-wheel,.floating-category-button,.floating-category-label{transition:none!important}}
