/* Sokna 1.18.0 — guest navigation, cart clarity and category icon library */

/* Panel sidebar: explicit contrast after older white overrides. */
.panel-body .sidebar{
  background:linear-gradient(180deg,#25483d 0%,#1f3d34 100%)!important;
  color:#fff!important;
  border-inline-end:1px solid rgba(255,255,255,.12)!important;
  box-shadow:14px 0 42px rgba(24,49,41,.18)!important;
}
.panel-body .sidebar .brand-block{border-bottom-color:rgba(255,255,255,.12)!important}
.panel-body .sidebar .brand-copy strong,.panel-body .sidebar .brand-copy span,.panel-body .sidebar .sidebar-user strong{color:#fff!important}
.panel-body .sidebar .brand-copy small,.panel-body .sidebar .sidebar-user small,.panel-body .sidebar .side-nav-group-title{color:rgba(255,255,255,.72)!important}
.panel-body .sidebar .side-nav-group[open]{background:rgba(255,255,255,.045)!important}
.panel-body .sidebar .side-nav a{color:rgba(255,255,255,.92)!important}
.panel-body .sidebar .side-nav a:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.panel-body .sidebar .side-nav a.active{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:inset -4px 0 0 var(--accent,#b85c38)!important}
.panel-body .sidebar .side-nav-icon{background:rgba(255,255,255,.09)!important;color:#fff!important}
.panel-body .sidebar .side-nav a.active .side-nav-icon{background:rgba(255,255,255,.18)!important}
.panel-body .sidebar .sidebar-user{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important}

/* Category icon picker */
.category-icon-picker{display:grid;gap:12px}
.category-icon-picker>details{border:1px solid var(--ui-border,var(--line));border-radius:16px;background:#fff;overflow:hidden}
.category-icon-picker>details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;font-weight:850;background:color-mix(in srgb,var(--primary) 4%,#fff)}
.category-icon-picker>details>summary::-webkit-details-marker{display:none}
.category-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:12px}
.category-icon-option{position:relative;min-width:0}
.category-icon-option input{position:absolute;opacity:0;pointer-events:none}
.category-icon-option label{min-height:88px;border:1px solid var(--ui-border,var(--line));border-radius:14px;display:grid;place-items:center;align-content:center;gap:7px;padding:10px 7px;text-align:center;cursor:pointer;background:#fff;color:var(--ink,#2c2723);transition:.16s ease}
.category-icon-option label .ui-icon{width:29px;height:29px;color:var(--primary)}
.category-icon-option label span{font-size:.74rem;line-height:1.35}
.category-icon-option input:checked+label{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 14%,transparent)}
.category-icon-option input:focus-visible+label{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
.category-icon-option.is-auto{grid-column:1/-1}
.category-icon-option.is-auto label{min-height:58px;grid-auto-flow:column;justify-content:start;padding-inline:14px}
@media(max-width:560px){.category-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:9px;gap:7px}.category-icon-option label{min-height:82px}.category-icon-option label span{font-size:.68rem}}
@media(max-width:340px){.category-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Guest category rail remains available while browsing. */
.menu-page-v18 .category-rail-shell{
  position:sticky!important;top:0!important;z-index:46!important;
  margin-inline:calc((100vw - min(var(--guest-content,1180px),100vw))/ -2)!important;
  padding-inline:max(10px,calc((100vw - min(var(--guest-content,1180px),100vw))/2))!important;
  background:color-mix(in srgb,var(--guest-bg,#f7f3ec) 94%,transparent)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
}
.menu-page-v18.guest-scrolled .category-rail-shell{border-bottom-color:var(--guest-line,rgba(54,91,76,.12));box-shadow:0 9px 24px rgba(35,48,42,.08)}
.menu-page-v18 .category-orbit{position:relative!important;top:auto!important;margin:0!important;background:transparent!important;scroll-padding-inline:52px}
.menu-page-v18 .category-section-v12{scroll-margin-top:112px}
.menu-page-v18.search-panel-open .category-rail-shell{visibility:hidden;pointer-events:none}
@media(max-width:720px){
 .menu-page-v18 .category-rail-shell{margin-inline:-10px!important;padding-inline:10px!important}
 .menu-page-v18 .category-orbit{padding:8px 4px 9px!important}
 .menu-page-v18.guest-scrolled .category-orbit a{flex-basis:66px!important}
 .menu-page-v18.guest-scrolled .category-orb{width:46px!important;height:46px!important}
 .menu-page-v18.guest-scrolled .category-orbit b{font-size:.68rem!important;min-height:1.4em!important}
 .menu-page-v18 .category-section-v12{scroll-margin-top:92px}
 .menu-page-v18 .category-rail-shell .rail-arrow{display:none!important}
}

/* Featured item add control must fit the card at all widths. */
.featured-menu-card,.featured-menu-copy,.featured-menu-copy>div,.featured-menu-copy>div>div{min-width:0}
.featured-menu-card .inline-qty{max-width:100%;min-width:0}
.featured-menu-card .inline-qty:not(.has-items) .inline-add{max-width:100%;min-width:0!important;width:100%;justify-content:center;padding-inline:8px}
@media(max-width:720px){.featured-menu-copy>div>div{display:grid!important;grid-template-columns:1fr;align-items:stretch!important;gap:7px!important}.featured-menu-card .inline-qty{width:100%}.featured-menu-card .inline-add{width:100%}}

/* Mobile cart dock: no inherited translateX or viewport overflow. */
@media(max-width:720px){
 .menu-page-v18 .cart-bar-v12{left:auto!important;right:auto!important;inset-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))!important;transform:none!important;width:auto!important;max-width:none!important;grid-template-columns:minmax(0,1fr) minmax(100px,auto)!important;gap:9px!important}
 .menu-page-v18 .cart-bar-v12>button{min-width:0!important;max-width:100%!important;overflow:hidden}
 .menu-page-v18 .cart-bar-v12>button>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .menu-page-v18 .cart-bar-summary{min-width:0;max-width:100%}
 .menu-page-v18 .cart-bar-summary strong{white-space:nowrap;font-size:clamp(.78rem,3.2vw,.95rem)}
}

/* Waiter button: icon is optically centered when cart is present. */
.menu-page-v18.has-cart .waiter-fab{width:52px!important;min-width:52px!important;height:52px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;line-height:1!important}
.menu-page-v18.has-cart .waiter-fab>.ui-icon{display:block!important;margin:0!important;place-self:center!important}
.menu-page-v18.has-cart .waiter-fab>span{display:none!important}
.menu-page-v18.cart-drawer-open .waiter-fab{opacity:0!important;pointer-events:none!important;transform:translateY(8px)}

/* Item quick view */
.item-detail-modal{position:fixed;inset:0;z-index:78;display:grid;place-items:center;padding:18px;background:rgba(21,28,24,.56)}
.item-detail-modal.hidden{display:none!important}
.item-detail-panel{position:relative;width:min(920px,100%);max-height:min(88dvh,780px);overflow:hidden;border-radius:28px;background:var(--guest-surface,#fff);color:var(--guest-ink,#2c2723);box-shadow:0 24px 80px rgba(18,30,24,.3);display:grid;grid-template-columns:minmax(300px,.96fr) minmax(320px,1.04fr)}
.item-detail-close{position:absolute;z-index:2;top:12px;inset-inline-start:12px;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#263b32;box-shadow:0 6px 18px rgba(0,0,0,.12);cursor:pointer}
.item-detail-media{min-height:430px;background:color-mix(in srgb,var(--primary) 7%,#ece7df);display:grid;place-items:center;overflow:hidden}
.item-detail-media img{width:100%;height:100%;object-fit:cover}
.item-detail-media .ui-icon{width:70px;height:70px;color:var(--primary);opacity:.6}
.item-detail-copy{padding:clamp(28px,4vw,44px);overflow:auto;display:flex;flex-direction:column;min-width:0}
.item-detail-copy>small{color:var(--accent);font-weight:850}
.item-detail-copy h2{margin:6px 0 8px;font-size:clamp(1.35rem,2.4vw,2rem)}
.item-detail-price{font-size:1.1rem;font-weight:900;color:var(--primary);margin-bottom:14px}
.item-detail-description{line-height:1.9;color:var(--guest-soft,#665f58);margin:0 0 14px;white-space:pre-line}
.item-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.item-detail-actions{margin-top:auto;padding-top:16px;border-top:1px solid var(--guest-line,rgba(0,0,0,.1))}
.item-detail-actions .inline-qty{width:100%;justify-content:stretch}
.item-detail-actions .inline-qty .inline-add{flex:1;justify-content:center;min-height:50px}
.item-detail-actions .inline-qty.has-items{display:grid;grid-template-columns:50px 1fr 50px}
.item-detail-actions .inline-qty.has-items button,.item-detail-actions .inline-qty.has-items span{min-height:50px;display:grid;place-items:center}
.item-detail-unavailable{min-height:50px;border-radius:14px;background:var(--guest-soft-bg,#f1eee8);display:grid;place-items:center;font-weight:850;color:var(--guest-soft,#665f58)}
@media(max-width:720px){
 .item-detail-modal{align-items:end;padding:0}
 .item-detail-panel{width:100%;max-height:92dvh;border-radius:26px 26px 0 0;grid-template-columns:1fr;grid-template-rows:minmax(220px,40dvh) minmax(0,1fr)}
 .item-detail-media{min-height:220px}
 .item-detail-copy{padding:22px 18px calc(18px + env(safe-area-inset-bottom))}
 .item-detail-close{top:10px;inset-inline-start:10px}
}

/* Long cart: compact rows, scrolling body, persistent footer. */
.cart-drawer{max-height:min(94dvh,820px)}
.cart-drawer .drawer-head{flex:0 0 auto}
.cart-drawer .drawer-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding-block:10px}
.cart-drawer .drawer-foot{flex:0 0 auto;position:relative;z-index:2;box-shadow:0 -10px 24px rgba(35,45,39,.06)}
.cart-summary-caption{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
.cart-line{grid-template-columns:minmax(0,1fr) auto!important;gap:7px 12px!important;padding:10px 0!important;align-items:center}
.cart-line-main{min-width:0}
.cart-line h4{font-size:.92rem;margin:0 0 2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.cart-line-total{font-weight:900;color:var(--primary);white-space:nowrap;font-size:.88rem}
.cart-line-price{font-size:.72rem!important;white-space:nowrap}
.cart-line .qty-control{grid-column:2;grid-row:1/3;align-self:center}
.cart-line .qty-control button{width:34px;height:34px;min-height:34px!important}
.cart-line .line-note-disclosure{grid-column:1/-1}
.line-note-disclosure>summary{font-size:.73rem;color:var(--muted);cursor:pointer;padding:4px 0;list-style:none}
.line-note-disclosure>summary::-webkit-details-marker{display:none}
.line-note-disclosure .line-note{margin-top:5px;min-height:60px}
.order-note-field{display:block;margin-top:10px}
.order-note-field>summary{list-style:none;cursor:pointer;min-height:44px;border:1px dashed var(--guest-line,var(--line));border-radius:13px;padding:10px 12px;font-size:.8rem;font-weight:800;color:var(--primary);display:flex;align-items:center}
.order-note-field>summary::-webkit-details-marker{display:none}
.order-note-field[open]>summary{border-style:solid;border-bottom-left-radius:6px;border-bottom-right-radius:6px}
.order-note-field .order-note{margin-top:7px;min-height:70px}
.cart-scroll-cue{position:sticky;bottom:-10px;height:18px;margin-top:-18px;pointer-events:none;background:linear-gradient(0deg,var(--guest-surface,#fff),transparent);opacity:0;transition:.16s}
.cart-scroll-cue.is-visible{opacity:1}
.cart-suggestion.cart-is-large{display:none!important}
@media(max-width:520px){
 .cart-drawer{max-height:94dvh}
 .cart-drawer .drawer-head{padding:15px 15px 12px}
 .cart-drawer .drawer-content{padding:8px 15px}
 .cart-drawer .drawer-foot{padding:12px 15px calc(12px + env(safe-area-inset-bottom))}
 .cart-line{grid-template-columns:minmax(0,1fr) auto!important}
 .cart-line .qty-control{gap:5px}
}

/* Event metadata: icon + label + value. */
.event-meta-v118{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.event-meta-v118 .event-meta-row{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid var(--guest-line,var(--line));border-radius:13px;background:var(--guest-soft-bg,var(--surface-soft,#f6f3ee))}
.event-meta-v118 .ui-icon{width:17px;height:17px;color:var(--accent);margin-top:2px}
.event-meta-v118 .event-meta-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.event-meta-v118 .event-meta-copy small{font-size:.67rem;color:var(--guest-soft,var(--muted))}
.event-meta-v118 .event-meta-copy strong{font-size:.78rem;line-height:1.55;overflow-wrap:anywhere}
@media(max-width:560px){.event-meta-v118{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){.category-orb,.item-detail-panel,.waiter-fab{transition:none!important}}
/* Dynamic clearance between waiter call and the real cart dock height. */
.menu-page-v18.has-cart .waiter-fab{
  bottom:var(--cart-dock-clearance,calc(96px + env(safe-area-inset-bottom)))!important;
  transition:bottom .16s ease,opacity .16s ease,transform .16s ease!important;
}

/* Working refinement — guest waiter picker, mobile event clarity and readable item notes. */
#waiterModal .success-box{position:relative}
.waiter-modal-close{position:absolute;z-index:3;top:12px;inset-inline-end:12px;width:42px;height:42px;border:1px solid var(--guest-line,var(--ui-border,#ded8d0));border-radius:50%;display:grid;place-items:center;background:var(--guest-surface,#fff);color:var(--guest-ink,#2c2723);font:800 1.35rem/1 var(--font-ui,inherit);cursor:pointer;box-shadow:0 5px 16px rgba(31,38,34,.08)}
.waiter-modal-close:hover{background:var(--guest-soft-bg,var(--ui-surface-soft,#f5f1eb))}
.waiter-modal-close:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}
.preview-table-search{display:grid!important;gap:6px}
.preview-table-search>span{color:var(--guest-ink,var(--ui-text,#332e29));font-size:.78rem;font-weight:850}
.preview-table-search>small{color:var(--guest-soft,var(--ui-text-soft,#6d655e));font-size:.7rem;line-height:1.6}
.preview-table-search .form-control{min-height:48px;font-size:1rem;font-variant-numeric:tabular-nums}
.preview-table-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:330px}
.preview-table-option{min-height:78px;padding:9px 6px}
.preview-table-option strong{font-size:1.42rem;font-variant-numeric:tabular-nums}
.preview-table-option.is-selected{box-shadow:inset 0 0 0 2px var(--primary),0 7px 18px color-mix(in srgb,var(--primary) 12%,transparent)}
.item-operational-note{display:inline-flex;align-items:center;width:fit-content;max-width:100%;margin:2px 0 6px;padding:5px 8px;border:1px solid color-mix(in srgb,#9a6819 28%,var(--guest-line,#ddd));border-radius:9px;background:#fff8e9;color:#735016;font-size:.74rem;font-weight:850;line-height:1.55;overflow-wrap:anywhere}
.item-operational-note-tag{border-color:color-mix(in srgb,#9a6819 30%,var(--guest-line,#ddd))!important;background:#fff8e9!important;color:#735016!important;font-weight:850!important}
.menu-page-v18 .item-copy-v12 p,.menu-page-v18.density-compact .item-copy-v12 p{color:color-mix(in srgb,var(--v18-ink,#2c2723) 76%,var(--v18-muted,#6f675f))!important;font-size:.84rem!important;line-height:1.78!important;-webkit-line-clamp:3!important}

@media(max-width:720px){
 #waiterModal .success-box{padding-top:24px}
 .waiter-modal-close{top:10px;inset-inline-end:10px;width:40px;height:40px}
 .preview-table-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:42dvh}
 .preview-table-option{min-height:76px}
 .menu-page-v18 .guest-event-access{width:auto!important;min-width:84px!important;height:44px!important;padding:0 11px!important;gap:6px!important;border-radius:14px!important}
 .menu-page-v18 .guest-event-access span{display:inline!important;font-size:.7rem!important;font-weight:850!important;white-space:nowrap}
 .menu-page-v18 .guest-event-access .ui-icon{width:17px!important;height:17px!important}
 .menu-page-v18 .item-copy-v12 p,.menu-page-v18.density-compact .item-copy-v12 p{font-size:.84rem!important;line-height:1.78!important;-webkit-line-clamp:3!important}
 .item-operational-note{font-size:.73rem}
}
@media(max-width:380px){
 .preview-table-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .preview-table-option{min-height:70px}
 .menu-page-v18 .guest-event-access{min-width:78px!important;padding-inline:9px!important}
 .menu-page-v18 .guest-event-access span{font-size:.66rem!important}
 .guest-header-actions{gap:6px!important}
 .guest-table-label{min-width:62px!important;padding-inline:8px!important}
}
