*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.top-0{top:0}.z-40{z-index:40}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-0\.5{margin-right:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-2{height:.5rem}.h-4{height:1rem}.h-\[72px\]{height:72px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2{width:.5rem}.w-4{width:1rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-orange-200\/60{border-color:hsla(32,98%,83%,.6)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/70{background-color:rgba(248,250,252,.7)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.accent-\[\#5f0f40\]{accent-color:#5f0f40}.accent-\[var\(--c-orange\)\]{accent-color:var(--c-orange)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-xl::file-selector-button{border-radius:.75rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-\[\#5f0f40\]::file-selector-button{--tw-bg-opacity:1;background-color:rgb(95 15 64/var(--tw-bg-opacity,1))}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.file\:font-bold::file-selector-button{font-weight:700}.file\:text-white::file-selector-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.focus-within\:border-\[var\(--c-plum\2c \#5f0f40\)\]:focus-within{border-color:var(--c-plum,#5f0f40)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:file\:opacity-90::file-selector-button:hover{opacity:.9}.focus\:border-\[\#5f0f40\]:focus{--tw-border-opacity:1;border-color:rgb(95 15 64/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-8{padding:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:self-auto{align-self:auto}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* ============ Ù…ÙÙ†ÙŠÙˆ (Menu Engine) â€” Ø§Ù„ØªØµÙ…ÙŠÙ… Ø§Ù„Ø£Ø³Ø§Ø³ÙŠ ============ */

/* ======================================================================
   Ù‚Ø§Ø¹Ø¯Ø© Ø£Ø³Ø§Ø³ÙŠØ©: Ø³Ù…Ø© hidden ÙÙŠ HTML ØªØªÙ‚Ø¯Ù‘Ù… Ø¯Ø§Ø¦Ù…Ø§Ù‹ Ø¹Ù„Ù‰ Ø£ÙŠ display ÙÙŠ CSS.
   Ø¨Ø¯ÙˆÙ†Ù‡Ø§ ÙŠÙƒÙÙŠ Ø£Ù† ÙŠÙƒÙˆÙ† Ù„Ù„Ø¹Ù†ØµØ± ØµÙ†Ù ÙÙŠÙ‡ display:flex Ù„ÙŠØ¸Ù‡Ø± Ø±ØºÙ… hidden â€”
   ÙˆÙ‡Ø°Ø§ Ø³Ø¨Ø¨ Ø¸Ù‡ÙˆØ± Ø¹Ù†Ø§ØµØ± ÙŠÙØªØ±Ø¶ Ø£Ù† ØªÙƒÙˆÙ† Ù…Ø®ÙÙŠØ© (Ø´Ø±ÙŠØ· Ø§Ù„ØªØ­Ø¯ÙŠØ¯ØŒ Ù‚ÙˆØ§Ø¦Ù… Ø§Ù„Ù†ÙˆØ§ÙØ°â€¦).
   ====================================================================== */
[hidden]{ display: none !important; }


:root{
    --c-plum:   #5f0f40;   /* Ø¹Ù†Ø§ÙˆÙŠÙ†ØŒ Ø£Ø²Ø±Ø§Ø± Ø£Ø³Ø§Ø³ÙŠØ© */
    --c-red:    #9A031E;   /* ØªÙ…ÙŠÙŠØ²ØŒ ØªÙ‚ÙŠÙŠÙ…Ø§Øª */
    --c-orange: #FB8B24;   /* Ø§Ù„Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ø±Ø¦ÙŠØ³ÙŠØ© (CTA) */
    --c-burnt:  #E36414;   /* Ø­Ø§Ù„Ø§Øª hoverØŒ Ø¹Ù†Ø§ØµØ± Ø«Ø§Ù†ÙˆÙŠØ© */
    --c-teal:   #0F4C5C;   /* Ø§Ù„ÙÙˆØªØ±ØŒ ØªØ¨Ø§ÙŠÙ† */

    /* ---------- Ù…Ù‚ÙŠØ§Ø³ Ø§Ù„Ø·Ø¨Ù‚Ø§Øª (Z-Index Scale) ----------
       ÙƒØ§Ù†Øª Ø§Ù„Ù‚ÙŠÙ… Ù…ØªÙ†Ø§Ø«Ø±Ø© Ø¨Ø£Ø±Ù‚Ø§Ù… Ø§Ø±ØªØ¬Ø§Ù„ÙŠØ© (20ØŒ 60ØŒ 80ØŒ 9000ØŒ 9400ØŒ 9998ØŒ
       10000) ÙÙ„Ø§ Ø£Ø­Ø¯ ÙŠØ¹Ø±Ù Ø£ÙŠÙ‘Ù‡Ø§ ÙÙˆÙ‚ Ø£ÙŠÙ‘ØŒ ÙˆÙƒÙ„ Ø¹Ù†ØµØ± Ø¬Ø¯ÙŠØ¯ ÙŠÙØ¶Ø§Ù Ø¨Ø±Ù‚Ù… Ø£ÙƒØ¨Ø± Ù…Ù†
       Ø³Ø§Ø¨Ù‚Ù‡ Ø­ØªÙ‰ ØªÙ†ØªÙ‡ÙŠ Ø§Ù„Ø£Ø±Ù‚Ø§Ù…. Ù‡Ø°Ù‡ Ø§Ù„Ù‚Ø§Ø¦Ù…Ø© Ù‡ÙŠ Ø§Ù„Ù…Ø±Ø¬Ø¹ Ø§Ù„ÙˆØ­ÙŠØ¯: Ø£Ø¶Ù Ø¹Ù†ØµØ±Ø§Ù‹
       Ø¬Ø¯ÙŠØ¯Ø§Ù‹ Ø¨Ø£Ù‚Ø±Ø¨ Ù…ØªØºÙŠÙ‘Ø± ÙŠØµÙÙ‡ØŒ ÙˆÙ„Ø§ ØªÙƒØªØ¨ Ø±Ù‚Ù…Ø§Ù‹ Ù…Ø¨Ø§Ø´Ø±Ø§Ù‹. */
    --z-base:     1;      /* Ø·Ø¨Ù‚Ø§Øª Ø¯Ø§Ø®Ù„ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© (Ø´Ø§Ø±Ø© ÙÙˆÙ‚ ØµÙˆØ±Ø©) */
    --z-header:   40;     /* Ø§Ù„Ø£Ø´Ø±Ø·Ø© Ø§Ù„Ø¹Ù„ÙˆÙŠØ© Ø§Ù„Ù„Ø§ØµÙ‚Ø© */
    --z-floating: 100;    /* Ø§Ù„Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ø¹Ø§Ø¦Ù…Ø©: Ø§Ù„Ø³Ù„Ø©ØŒ Ø·Ù„Ø¨Ø§ØªÙŠ */
    --z-overlay:  400;    /* Ø§Ù„Ø®Ù„ÙÙŠØ© Ø§Ù„Ù…Ø¹ØªÙ…Ø© Ø®Ù„Ù Ø§Ù„Ø£Ø¯Ø±Ø§Ø¬ ÙˆØ§Ù„Ù†ÙˆØ§ÙØ° */
    --z-drawer:   450;    /* Ø§Ù„Ø£Ø¯Ø±Ø§Ø¬ Ø§Ù„Ù…Ù†Ø²Ù„Ù‚Ø© (Ø§Ù„Ø³Ù„Ø©) */
    --z-modal:    500;    /* Ø§Ù„Ù†ÙˆØ§ÙØ° Ø§Ù„Ù…Ù†Ø¨Ø«Ù‚Ø© */
    --z-toast:    600;    /* Ø§Ù„Ø¥Ø´Ø¹Ø§Ø±Ø§Øª ÙˆØ±Ø³Ø§Ø¦Ù„ Ø§Ù„Ø®Ø·Ø£ â€” Ø§Ù„Ø£Ø¹Ù„Ù‰ Ø¯Ø§Ø¦Ù…Ø§Ù‹ */
}

/* ======================================================================
   .base-card â€” Ø§Ù„Ø®ØµØ§Ø¦Øµ Ø§Ù„Ù…Ø´ØªØ±ÙƒØ© Ù„ÙƒÙ„ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø§Øª ÙÙŠ Ø§Ù„Ù…Ø´Ø±ÙˆØ¹
   ----------------------------------------------------------------------
   ÙƒØ§Ù†Øª Ø³Øª Ø¨Ø·Ø§Ù‚Ø§Øª (Ø§Ù„Ø·Ø¨Ù‚ØŒ Ø§Ù„Ø¹Ø±Ø¶ØŒ Ø§Ù„ÙØ±Ø¹ØŒ Ø§Ù„Ù…ÙˆØ¸ÙØŒ Ø§Ù„Ø·Ù„Ø¨ØŒ Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø¥Ø¯Ø§Ø±Ø©) ØªÙƒØ±Ù‘Ø±
   Ø§Ù„ÙƒÙˆØ¯ Ù†ÙØ³Ù‡: Ø®Ù„ÙÙŠØ© Ø¨ÙŠØ¶Ø§Ø¡ + Ø­Ø¯Ù‘ Ø±Ù…Ø§Ø¯ÙŠ + Ø²ÙˆØ§ÙŠØ§ Ù…Ù†Ø­Ù†ÙŠØ© + Ø§Ù†ØªÙ‚Ø§Ù„. ÙØªØºÙŠÙŠØ± Ø§Ù†Ø­Ù†Ø§Ø¡
   Ø§Ù„Ø²ÙˆØ§ÙŠØ§ Ù…Ø«Ù„Ø§Ù‹ ÙƒØ§Ù† ÙŠØªØ·Ù„Ø¨ ØªØ¹Ø¯ÙŠÙ„ Ø³ØªØ© Ù…ÙˆØ§Ø¶Ø¹. Ø§Ù„Ø¢Ù† Ù…ØµØ¯Ø± ÙˆØ§Ø­Ø¯ØŒ ÙˆÙƒÙ„ Ø¨Ø·Ø§Ù‚Ø© ØªØºÙŠÙ‘Ø± Ù…Ø§
   ÙŠØ®ØµÙ‘Ù‡Ø§ Ø¨Ù…ØªØºÙŠÙ‘Ø±Ù‡Ø§ Ø§Ù„Ù…Ø­Ù„ÙŠ (--card-radius Ù…Ø«Ù„Ø§Ù‹) Ø¯ÙˆÙ† ØªÙƒØ±Ø§Ø± Ø¨Ù‚ÙŠØ© Ø§Ù„Ø®ØµØ§Ø¦Øµ.
   ====================================================================== */
:root{
    --card-bg:      #fff;
    --card-border:  #e9edf3;
    --card-radius:  1.15rem;
    --card-shadow:  0 18px 30px -18px rgba(15, 23, 42, .35);
}
.base-card,
.dish-card--grid,
.of-card,
.branch-card,
.pt-card,
.st-card,
.order-card{
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--card-radius);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.base-card--hover:hover,
.dish-card--grid:hover,
.of-card:hover,
.pt-card:hover,
.st-card:hover{
    box-shadow: var(--card-shadow);
    transform: translateY(-2px);
}

html{
    scroll-behavior: smooth;
}

body{
    font-family: 'Tajawal', system-ui, sans-serif;
    color: #0f172a;
    background: #ffffff;
}

h1, h2, h3, h4, .font-display{
    font-family: 'Cairo', 'Tajawal', system-ui, sans-serif;
}

/* Ø¥Ø®ÙØ§Ø¡ Ø´Ø±ÙŠØ· Ø§Ù„ØªÙ…Ø±ÙŠØ± Ø§Ù„Ø£ÙÙ‚ÙŠ Ù„Ù„ØªØµÙ†ÙŠÙØ§Øª Ù…Ø¹ Ø¥Ø¨Ù‚Ø§Ø¡ Ø§Ù„ØªÙ…Ø±ÙŠØ± ÙØ¹Ø§Ù„Ø§Ù‹ */
.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

/* Ø´Ø±Ø§Ø¦Ø­ Ø§Ù„ØªØµÙ†ÙŠÙØ§Øª */
.cat-chip.is-active{
    background: var(--c-plum);
    color: #fff;
    border-color: var(--c-plum);
}

/* Ø¨Ù‚Ø§ÙŠØ§ ØªØµÙ…ÙŠÙ… Ù‚Ø¯ÙŠÙ… ÙƒØ§Ù†Øª ÙÙŠÙ‡ ØªÙØ§ØµÙŠÙ„ Ø§Ù„Ø·Ø¨Ù‚ ØªÙ†Ø²Ù„Ù‚ Ø¯Ø§Ø®Ù„ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© Ù†ÙØ³Ù‡Ø§
   (Inline Expansion) â€” Ø­ÙØ°ÙØª Ø¹Ù…Ø¯Ø§Ù‹ ÙˆÙ„Ø§ ÙŠØ¬ÙˆØ² Ø¥Ø±Ø¬Ø§Ø¹Ù‡Ø§: ÙÙŠ Ø´Ø¨ÙƒØ© Ù…Ù† Ø£Ø±Ø¨Ø¹ Ø¨Ø·Ø§Ù‚Ø§Øª
   ÙÙŠ Ø§Ù„ØµÙØŒ ÙØªØ­ Ø¨Ø·Ø§Ù‚Ø© ÙŠÙ…Ø¯Ù‘Ù‡Ø§ Ù„Ø£Ø³ÙÙ„ ÙÙŠØ¯ÙØ¹ Ù…Ø§ ØªØ­ØªÙ‡Ø§ ÙˆØªØ¨Ù‚Ù‰ Ø¬Ø§Ø±Ø§ØªÙ‡Ø§ Ù‚ØµÙŠØ±Ø©ØŒ
   ÙØªØªØ´ÙˆÙ‘Ù‡ Ø§Ù„Ø´Ø¨ÙƒØ© ÙˆØªÙ‚ÙØ² Ø§Ù„ØµÙØ­Ø© ØªØ­Øª Ø¥ØµØ¨Ø¹ Ø§Ù„Ø²Ø§Ø¦Ø±. Ø§Ù„ØªÙØ§ØµÙŠÙ„ ØªÙÙØªØ­ ÙÙŠ Ù†Ø§ÙØ°Ø©
   Ù…Ø±ÙƒØ²ÙŠØ© ØªØ·ÙÙˆ ÙÙˆÙ‚ Ø§Ù„ØµÙØ­Ø© (#addon-modal) ÙØªØ¨Ù‚Ù‰ Ø§Ù„Ø´Ø¨ÙƒØ© Ø®Ù„ÙÙ‡Ø§ Ø³Ø§ÙƒÙ†Ø© ØªÙ…Ø§Ù…Ø§Ù‹. */

/* Ø´Ø±ÙŠØ· ØªÙ…Ø±ÙŠØ± Ø§Ù„Ø³Ø¹Ø± Ø¨Ù„ÙˆÙ† Ø§Ù„Ù‡ÙˆÙŠØ© */
input[type="range"]{
    accent-color: var(--c-orange);
}

/* Ø´Ø§Ø±Ø§Øª Ø§Ù„Ù…ÙƒÙˆÙ†Ø§Øª ÙˆØ§Ù„Ù…Ù„Ø§Ø­Ø¸Ø§Øª Ø¯Ø§Ø®Ù„ Ø§Ù„ØªÙˆØ³Ù‘Ø¹ Ø§Ù„Ø¯Ø§Ø®Ù„ÙŠ */
.ingredient-pill{
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 5px 12px;
}
.tag-pill{
    font-size: 12.5px;
    font-weight: 700;
    color: var(--c-burnt);
    background: rgba(227, 100, 20, 0.08);
    border-radius: 999px;
    padding: 5px 12px;
}

/* Ø¥ØªØ§Ø­Ø© Ø§Ù„ÙˆØµÙˆÙ„: Ø¥Ø·Ø§Ø± ØªØ±ÙƒÙŠØ² ÙˆØ§Ø¶Ø­ Ø¹Ù†Ø¯ Ø§Ù„ØªÙ†Ù‚Ù„ Ø¨Ù„ÙˆØ­Ø© Ø§Ù„Ù…ÙØ§ØªÙŠØ­ */
a:focus-visible, button:focus-visible, input:focus-visible{
    outline: 2px solid var(--c-plum);
    outline-offset: 2px;
}

/* Ø§Ø­ØªØ±Ø§Ù… ØªÙØ¶ÙŠÙ„ ØªÙ‚Ù„ÙŠÙ„ Ø§Ù„Ø­Ø±ÙƒØ© */
@media (prefers-reduced-motion: reduce){
    *{
        animation-duration: 0.001ms !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

/* ======================================================================
   Ø§Ù„ØªÙ†Ø³ÙŠÙ‚Ø§Øª Ø§Ù„Ù…Ù†Ù‚ÙˆÙ„Ø© Ù…Ù† Ù…Ù„ÙØ§Øª PHP (Ø¨Ø¯ÙˆÙ† Ø£ÙŠ ØªØºÙŠÙŠØ± ÙÙŠ Ø§Ù„Ø´ÙƒÙ„)
   ====================================================================== */

/* ---------- Ø¹Ø§Ù…: index.php + add-menu.php ---------- */
:root{
    --c-burgundy: #9A031E;
    --c-rust:     #E36414;
}
html[lang="ar"] body{ font-family: 'Cairo', sans-serif; background-color: #ffffff; }
html[lang="en"] body{ font-family: 'Inter', sans-serif; background-color: #ffffff; }
html[lang="en"] h1, html[lang="en"] h2, html[lang="en"] h3, html[lang="en"] h4{ font-family: 'Inter', sans-serif; }

/* ---------- Ø£Ù„ÙˆØ§Ù† Ø§Ù„Ù‡ÙˆÙŠØ© (Ø¨Ø¯Ù„ style="" Ø¯Ø§Ø®Ù„ Ø§Ù„Ù…Ù„ÙØ§Øª) ---------- */
.u-text-plum { color: var(--c-plum, #5f0f40); }
.u-bg-plum   { background: var(--c-plum, #5f0f40); }
.u-bg-orange { background: var(--c-orange, #FB8B24); }
.u-bg-teal   { background: var(--c-teal, #0F4C5C); }

/* ======================================================================
   includes/cards.php â€” Ø§Ù„Ø¨Ø·Ø§Ù‚Ø§Øª
   ====================================================================== */
.add-to-cart-btn{
    width: 2.5rem; height: 2.5rem; flex-shrink: 0;
    border-radius: 9999px; border: 1.5px solid #e2e8f0; background: #fff;
    color: var(--c-plum, #5f0f40); display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .15s ease;
}
.add-to-cart-btn:hover{ background: var(--c-plum, #5f0f40); border-color: var(--c-plum, #5f0f40); color: #fff; }
.add-to-cart-btn:active{ transform: scale(.92); }

/* ---------- cards.php â€” Ø§Ù„Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…Ù†Ø¨Ø«Ù‚Ø© ---------- */
.dish-modal-overlay{
    display: none; position: fixed; inset: 0; z-index: var(--z-modal);
    background: rgba(15, 23, 42, 0.65); backdrop-filter: blur(4px);
    align-items: center; justify-content: center; padding: 1rem;
}
.dish-modal-box{
    background: #ffffff; width: 100%; max-width: 42rem; max-height: 90vh;
    border-radius: 1.5rem; overflow: hidden; display: flex; flex-direction: column;
    text-align: start; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.dish-modal-head{
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.25rem; border-bottom: 1px solid #f1f5f9; background: #f8fafc;
}
.dish-modal-title{ font-size: 1.125rem; font-weight: 900; color: #0f172a; line-height: 1.2; }
.dish-modal-x{
    width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: #e2e8f0; color: #475569;
    display: flex; align-items: center; justify-content: center; font-weight: bold; border: none; cursor: pointer;
}
.dish-modal-body{ padding: 1.5rem; overflow-y: auto; }
.dish-modal-media{
    position: relative; width: 100%; height: 16rem; border-radius: 1rem;
    overflow: hidden; background: #f1f5f9; margin-bottom: 1.25rem;
}
/* Ù†Ø§ÙØ°Ø© ØªÙØ§ØµÙŠÙ„ Ø§Ù„Ø·Ø¨Ù‚ (ØµÙØ­Ø© Ø§Ù„Ø¹Ø±ÙˆØ¶): Ø§Ù„Ø·Ø¨Ù‚ ÙƒØ§Ù…Ù„Ø§Ù‹ Ø¨Ù„Ø§ Ù‚ØµÙ‘ØŒ ÙˆØ§Ù„ÙØ±Ø§Øº Ø­ÙˆÙ„Ù‡
   ØªÙ…Ù„Ø¤Ù‡ Ù†Ø³Ø®Ø© Ù…Ø´ÙˆÙ‘Ø´Ø© Ù…Ù† Ø§Ù„ØµÙˆØ±Ø© Ù†ÙØ³Ù‡Ø§ ÙƒÙ…Ø§ ÙÙŠ Ù†Ø§ÙØ°Ø© Ø§Ù„Ø·Ù„Ø¨ â€” Ù„Ø§ Ù„ÙˆÙ† Ø§ÙØªØ±Ø§Ø¶ÙŠ. */
.dish-modal-media img{ width: 100%; height: 100%; object-fit: cover; object-position: center; }
.dish-modal-section{ margin-bottom: 1.25rem; }
.dish-modal-label{
    font-size: 0.75rem; font-weight: bold; color: #94a3b8;
    text-transform: uppercase; margin-bottom: 0.5rem;
}
.dish-modal-label--tight{ margin-bottom: 0.25rem; }
.dish-modal-desc{ font-size: 0.875rem; color: #475569; line-height: 1.625; }
.dish-modal-chips{ display: flex; flex-wrap: wrap; gap: 0.5rem; }
.dish-ing-chip{
    font-size: 0.75rem; background: #f1f5f9; color: #334155;
    padding: 0.25rem 0.625rem; border-radius: 0.5rem; font-weight: 500;
}
.dish-tag-chip{
    font-size: 0.75rem; background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa;
    padding: 0.25rem 0.625rem; border-radius: 0.5rem; font-weight: bold;
}
.dish-modal-foot{
    padding: 1rem 1.5rem; border-top: 1px solid #f1f5f9; background: #f8fafc;
    display: flex; align-items: center; justify-content: space-between;
}
.dish-modal-meta{ display: flex; align-items: center; gap: 1rem; }
.dish-modal-price{ font-weight: 900; font-size: 1.25rem; color: #5f0f40; }
.dish-modal-cal{
    font-size: 0.75rem; color: #64748b; font-weight: 600; background: #ffffff;
    border: 1px solid #e2e8f0; border-radius: 9999px; padding: 0.25rem 0.75rem;
}
.dish-modal-close-btn{
    padding: 0.5rem 1.25rem; border-radius: 0.75rem; font-size: 0.75rem; font-weight: bold;
    color: #475569; background: #e2e8f0; border: none; cursor: pointer;
}

/* ---------- cards.php â€” Ø§Ù„Ø³Ù„Ø© (Your list) ---------- */
/* Ø§Ù„Ø¹Ù†Ø§ØµØ± Ø§Ù„Ø«Ø§Ø¨ØªØ© Ù„Ø§ ØªØªØ£Ø«Ø± Ø¨Ù‡ÙˆØ§Ù…Ø´ Ø§Ù„Ø­Ø§ÙˆÙŠØ© Ø§Ù„Ø£Ø¨ (Ù…Ø«Ù„ space-y ÙÙŠ index.php) */
#cart-fab, #cart-overlay, #cart-drawer, #dish-modal-overlay{ margin: 0; }

#cart-fab{
    position: fixed; bottom: 1.25rem; inset-inline-end: 1.25rem; z-index: var(--z-floating);
    width: 3.5rem; height: 3.5rem; border-radius: 9999px; border: none; cursor: pointer;
    background: var(--c-plum, #5f0f40); color: #fff; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 10px 25px -5px rgba(95, 15, 64, .45); transition: transform .15s ease;
}
#cart-fab:hover{ transform: scale(1.06); }
#cart-fab-badge{
    position: absolute; top: -.25rem; inset-inline-start: -.25rem; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem;
    border-radius: 9999px; background: #f97316; color: #fff; font-size: .7rem; font-weight: 800;
    display: none; align-items: center; justify-content: center;
}
#cart-fab-badge.is-visible{ display: flex; }

/* ======================================================================
   ØªÙ†Ø¨ÙŠÙ‡ Ø§Ù„Ø¥Ø¶Ø§ÙØ© Ø§Ù„Ø¹Ø§Ø¦Ù… â€” Ø¨Ø¯ÙŠÙ„ ÙØªØ­ Ø§Ù„Ø³Ù„Ø© Ø¨Ø¹Ø¯ ÙƒÙ„ Ø·Ø¨Ù‚
   ----------------------------------------------------------------------
   ÙŠÙ‚Ù ÙÙˆÙ‚ Ø²Ø±Ù‘ Ø§Ù„Ø³Ù„Ø© Ù…Ø¨Ø§Ø´Ø±Ø© ÙˆÙŠØªÙ„Ø§Ø´Ù‰ ÙˆØ­Ø¯Ù‡ Ø¨Ø¹Ø¯ Ø«Ø§Ù†ÙŠØªÙŠÙ†. Ù‡Ùˆ Ø²Ø±Ù‘ Ù„Ø§ Ù„Ø§ÙØªØ©: Ù…Ù†
   Ø£Ø±Ø§Ø¯ Ø§Ù„Ø³Ù„Ø© Ø¨Ø¹Ø¯ Ø§Ù„Ø¥Ø¶Ø§ÙØ© ÙŠØ¶ØºØ·Ù‡ ÙØªÙÙØªØ­ â€” ÙˆÙØªØ­Ù‡Ø§ ÙŠØ¨Ù‚Ù‰ Ø¨ÙŠØ¯Ù‡ ÙˆØ­Ø¯Ù‡.
   ====================================================================== */
.cart-flash{
    position: fixed; bottom: 5.1rem; inset-inline-end: 1.25rem; z-index: var(--z-floating);
    max-width: min(20rem, calc(100vw - 2.5rem));
    padding: .55rem .9rem; border: none; border-radius: .85rem; cursor: pointer;
    font-size: .8rem; font-weight: 800; line-height: 1.45; text-align: start;
    background: #0f172a; color: #fff; box-shadow: 0 12px 28px -12px rgba(15, 23, 42, .65);
    opacity: 0; transform: translateY(.4rem); transition: opacity .22s ease, transform .22s ease;
}
.cart-flash.is-on{ opacity: 1; transform: translateY(0); }
.cart-flash[hidden]{ display: none; }
.cart-flash--warn{ background: #9a3412; }

/* Ù†Ø¨Ø¶Ø© Ø²Ø±Ù‘ Ø§Ù„Ø³Ù„Ø© Ø¹Ù†Ø¯ ØªØºÙŠÙ‘Ø± Ø§Ù„Ø¹Ø¯Ø¯ */
@keyframes cart-fab-bump{
    0%{ transform: scale(1); } 40%{ transform: scale(1.18); } 100%{ transform: scale(1); }
}
#cart-fab.is-bump{ animation: cart-fab-bump .34s ease; }
@media (prefers-reduced-motion: reduce){
    #cart-fab.is-bump{ animation: none; }
    .cart-flash{ transition: none; }
}

#cart-overlay{
    position: fixed; inset: 0; z-index: var(--z-overlay); background: rgba(15, 23, 42, .55);
    backdrop-filter: blur(3px); opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
#cart-overlay.open{ opacity: 1; pointer-events: auto; }

/* Ø§Ù„Ø³Ù„Ø©: ÙƒØ§Ù† Ø§ØªØ¬Ø§Ù‡Ù‡Ø§ Ù…ÙƒØªÙˆØ¨Ø§Ù‹ Ø«Ø§Ø¨ØªØ§Ù‹ (direction: rtl; text-align: right; left: 0)
   ÙØªØ¨Ù‚Ù‰ Ù†ØµÙˆØµÙ‡Ø§ Ù…Ø­Ø§Ø°Ø§Ø© Ù„Ù„ÙŠÙ…ÙŠÙ† Ø­ØªÙ‰ Ø¨Ø¹Ø¯ ØªØ¨Ø¯ÙŠÙ„ Ø§Ù„Ù„ØºØ© Ù„Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ©ØŒ ÙˆØªÙØªØ­ Ù…Ù† Ø§Ù„Ø¬Ù‡Ø©
   Ù†ÙØ³Ù‡Ø§ Ø¯Ø§Ø¦Ù…Ø§Ù‹. Ø§Ù„Ø¢Ù† ØªØªØ¨Ø¹ Ø§ØªØ¬Ø§Ù‡ Ø§Ù„Ù…Ø³ØªÙ†Ø¯:
     â€¢ Ø§Ù„Ù…Ø­Ø§Ø°Ø§Ø© text-align: start Ø¨Ø¯Ù„ right
     â€¢ Ø§Ù„Ù…ÙˆØ¶Ø¹ inset-inline-end Ø¨Ø¯Ù„ left â€” ÙˆÙ‡Ùˆ Ø§Ù„ÙŠØ³Ø§Ø± ÙÙŠ Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© (ÙƒÙ…Ø§ ÙƒØ§Ù†
       ØªÙ…Ø§Ù…Ø§Ù‹ØŒ ÙÙ„Ø§ ÙŠØªØºÙŠÙ‘Ø± Ø´ÙŠØ¡ Ø¹Ù„Ù‰ Ø²Ø¨ÙˆÙ†Ùƒ Ø§Ù„Ø¹Ø±Ø¨ÙŠ) ÙˆØ§Ù„ÙŠÙ…ÙŠÙ† ÙÙŠ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ©. */
#cart-drawer{
    position: fixed; top: 0; bottom: 0; inset-inline-end: 0; z-index: var(--z-drawer);
    width: 100%; max-width: 24rem; background: #fff; display: flex; flex-direction: column;
    text-align: start; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .3);
    transform: translateX(-100%); transition: transform .3s ease;
}
[dir="ltr"] #cart-drawer{ transform: translateX(100%); }
#cart-drawer.open,
[dir="ltr"] #cart-drawer.open{ transform: translateX(0); }

.cart-head{ display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1.25rem; border-bottom: 1px solid #f1f5f9; background: #f8fafc; }
.cart-head h3{ font-size: 1.15rem; font-weight: 900; color: #0f172a; direction: ltr; }
.cart-close{ width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: #e2e8f0; color: #475569; border: none; cursor: pointer; font-weight: bold; }

#cart-items{ flex: 1; overflow-y: auto; padding: 1rem 1.25rem; }
.cart-empty{ text-align: center; color: #94a3b8; padding: 3rem 0; font-size: .9rem; }
.cart-empty .ico{ font-size: 2.5rem; margin-bottom: .5rem; }

.cart-item{ display: flex; gap: .75rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid #f1f5f9; }
.cart-item:last-child{ border-bottom: none; }
/* Ù…ØµØºÙ‘Ø±Ø© Ø§Ù„Ø³Ù„Ø© (Ù¦Ù px): ØªÙ…Ù„Ø£ Ù…Ø±Ø¨Ù‘Ø¹Ù‡Ø§ â€” Ø­Ø¬Ù…Ù‡Ø§ Ø£ØµØºØ± Ù…Ù† Ø£Ù† ÙŠÙÙØ­ÙŽØµ ÙÙŠÙ‡ Ø§Ù„Ø·Ø¨Ù‚ØŒ
   Ùˆcontain ÙƒØ§Ù† ÙŠØªØ±ÙƒÙ‡Ø§ ØµÙˆØ±Ø© ØµØºÙŠØ±Ø© ÙˆØ³Ø· Ù…Ø±Ø¨Ù‘Ø¹ Ø±Ù…Ø§Ø¯ÙŠ */
.cart-item img{ width: 3.75rem; height: 3.75rem; border-radius: .75rem; object-fit: cover; object-position: center; background: #f8fafc; flex-shrink: 0; }
.cart-item-info{ flex: 1; min-width: 0; }
.cart-item-name{ font-size: .875rem; font-weight: 700; color: #0f172a; line-height: 1.3; }
.cart-item-price{ font-size: .8rem; font-weight: 800; color: var(--c-plum, #5f0f40); margin-top: .2rem; }

.qty-box{ display: flex; align-items: center; gap: .15rem; background: #f1f5f9; border-radius: 9999px; padding: .2rem; }
.qty-btn{ width: 1.75rem; height: 1.75rem; border-radius: 9999px; border: none; background: #fff; color: #334155; font-size: 1rem; font-weight: 800; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.qty-btn:hover{ background: var(--c-plum, #5f0f40); color: #fff; }
.qty-num{ min-width: 1.5rem; text-align: center; font-size: .85rem; font-weight: 800; color: #0f172a; }

.cart-foot{ padding: 1rem 1.25rem 1.25rem; border-top: 1px solid #f1f5f9; background: #f8fafc; }
.cart-total-row{ display: flex; align-items: center; justify-content: space-between; margin-bottom: .9rem; }
.cart-total-row > span:first-child{ font-size: .9rem; font-weight: 700; color: #475569; }
.cart-total-row > span:last-child{ font-size: 1.3rem; font-weight: 900; color: var(--c-plum, #5f0f40); }
#cart-checkout{ width: 100%; padding: .85rem; border: none; border-radius: .9rem; background: var(--c-plum, #5f0f40); color: #fff; font-size: .95rem; font-weight: 800; cursor: pointer; transition: opacity .15s ease; }
#cart-checkout:hover{ opacity: .9; }
#cart-checkout:disabled{ background: #cbd5e1; cursor: not-allowed; }

/* ======================================================================
   includes/cards.php â€” Ø­Ø§Ù„Ø© Ø§Ù„ÙƒÙ…ÙŠØ© (Ù‚Ø±Ø¨ ÙŠÙ†ÙØ° / Sold out)
   ====================================================================== */
.stock-flag{
    position: absolute; top: .75rem; inset-inline-start: .75rem; z-index: 1;
    padding: .3rem .7rem; border-radius: 9999px; font-size: .72rem; font-weight: 800;
    letter-spacing: .02em; box-shadow: 0 4px 12px -4px rgba(15, 23, 42, .35);
}
.stock-flag--low{ background: var(--c-orange, #FB8B24); color: #fff; }
.stock-flag--out{ background: #0f172a; color: #fff; text-transform: uppercase; }

.stock-note{
    margin-top: .5rem; font-size: .75rem; font-weight: 700; line-height: 1.4;
    border-radius: .6rem; padding: .35rem .6rem;
}
.stock-note--low{ color: #9a3412; background: #fff7ed; border: 1px solid #fed7aa; }
.stock-note--out{ color: #475569; background: #f1f5f9; border: 1px solid #e2e8f0; }

.dish-card.is-soldout img{ filter: grayscale(1); opacity: .7; }
.dish-card.is-soldout .u-text-plum{ color: #94a3b8; text-decoration: line-through; }

.add-to-cart-btn:disabled,
.add-to-cart-btn:disabled:hover{
    background: #f1f5f9; border-color: #e2e8f0; color: #cbd5e1; cursor: not-allowed; transform: none;
}
.qty-btn:disabled,
.qty-btn:disabled:hover{ background: #f8fafc; color: #cbd5e1; cursor: not-allowed; box-shadow: none; }

.cart-item-limit{ font-size: .7rem; font-weight: 700; color: #c2410c; margin-top: .15rem; }

.cart-msg{
    margin-bottom: .85rem; padding: .65rem .8rem; border-radius: .75rem;
    font-size: .8rem; font-weight: 700; line-height: 1.5;
}
.cart-msg[hidden]{ display: none; }
.cart-msg--success{ background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.cart-msg--warn   { background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; }
.cart-msg--error  { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* ======================================================================
   dashboard/ â€” Ù„ÙˆØ­Ø© ØªØ­ÙƒÙ… Ø§Ù„Ù…Ø·Ø§Ø¹Ù…
   ====================================================================== */
:root{
    --dash-bg:      #f6f7fb;
    --dash-surface: #ffffff;
    --dash-border:  #e8ebf2;
    --dash-text:    #0f172a;
    --dash-muted:   #64748b;
    --dash-radius:  1rem;
}

.dash-body{ background: var(--dash-bg); color: var(--dash-text); min-height: 100vh; }
.auth-body{ background: var(--dash-bg); color: var(--dash-text); min-height: 100vh; }

/* ---------- Ø¹Ù†Ø§ØµØ± Ø§Ù„Ù†Ù…Ø§Ø°Ø¬ Ø§Ù„Ù…Ø´ØªØ±ÙƒØ© ---------- */
.dash-field{ display: flex; flex-direction: column; gap: .4rem; }
.dash-label{ font-size: .8rem; font-weight: 700; color: #334155; }
.dash-optional{ font-weight: 500; color: #94a3b8; }
.dash-hint{ font-size: .72rem; color: #94a3b8; }
.dash-input{
    width: 100%; background: #fff; border: 1.5px solid var(--dash-border); border-radius: .8rem;
    padding: .7rem .9rem; font-size: .9rem; color: var(--dash-text);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.dash-input:hover{ border-color: #cbd5e1; }
.dash-input:focus{ outline: none; border-color: var(--c-plum); box-shadow: 0 0 0 4px rgba(95, 15, 64, .1); }
.dash-input--sm{ padding: .45rem .6rem; font-size: .85rem; border-radius: .6rem; width: 5.5rem; }
.dash-grid-2{ display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 480px){ .dash-grid-2{ grid-template-columns: 1fr 1fr; } }

.dash-password{ position: relative; }
.dash-password .dash-input{ padding-inline-end: 4.5rem; }
.dash-password-toggle{
    position: absolute; top: 50%; transform: translateY(-50%); inset-inline-end: .5rem;
    font-size: .72rem; font-weight: 700; color: var(--c-plum); background: #f8f1f5;
    border-radius: .5rem; padding: .3rem .6rem; cursor: pointer;
}
/* Ø­Ù‚Ù„ Ø§Ù„Ø·ÙØ¹Ù… (anti-bot): Ù…Ø®ÙÙŠ Ø¹Ù† Ø§Ù„Ø¥Ù†Ø³Ø§Ù† ÙˆØ¸Ø§Ù‡Ø± Ù„Ù„Ø±ÙˆØ¨ÙˆØª. Ù†Ø®ÙÙŠ Ø§Ù„Ø­Ù‚Ù„ Ù†ÙØ³Ù‡ Ù„Ø§
   Ø§Ù„ØºÙ„Ø§Ù ÙÙ‚Ø· â€” clip Ø§Ù„Ù…Ù‡Ø¬ÙˆØ±Ø© ÙƒØ§Ù†Øª ØªØªØ±Ùƒ Ù„Ù„Ø­Ù‚Ù„ ØµÙ†Ø¯ÙˆÙ‚Ø§Ù‹ Ø¨Ø¹Ø±Ø¶Ù‡ Ø§Ù„ÙƒØ§Ù…Ù„ Ø¯Ø§Ø®Ù„
   Ø§Ù„ØºÙ„Ø§ÙØŒ Ùˆclip-path ÙŠÙ‚ØµÙ‘Ù‡ ÙØ¹Ù„ÙŠØ§Ù‹ ÙÙŠ ÙƒÙ„ Ø§Ù„Ù…ØªØµÙØ­Ø§Øª Ø§Ù„Ø­Ø¯ÙŠØ«Ø©. */
.dash-hp{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.dash-hp input{ width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; }

/* ---------- Ø§Ù„Ø£Ø²Ø±Ø§Ø± ---------- */
.dash-btn{
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    border-radius: .8rem; padding: .75rem 1.25rem; font-size: .9rem; font-weight: 800;
    cursor: pointer; transition: opacity .15s ease, background .15s ease, border-color .15s ease, transform .1s ease;
    white-space: nowrap;
}
.dash-btn:active{ transform: scale(.98); }
.dash-btn--primary{ background: var(--c-plum); color: #fff; box-shadow: 0 8px 20px -10px rgba(95, 15, 64, .6); }
.dash-btn--primary:hover{ opacity: .92; }
.dash-btn--ghost{ background: #fff; color: #334155; border: 1.5px solid var(--dash-border); }
.dash-btn--ghost:hover{ border-color: var(--c-plum); color: var(--c-plum); }
.dash-btn--sm{ padding: .45rem .85rem; font-size: .8rem; border-radius: .65rem; }
.dash-btn--block{ width: 100%; }
.dash-btn.is-loading{ opacity: .6; pointer-events: none; }
.dash-link-btn{ font-size: .78rem; font-weight: 700; color: var(--c-plum); cursor: pointer; }
.dash-link-btn:hover{ text-decoration: underline; }

/* ---------- Ø§Ù„ØªÙ†Ø¨ÙŠÙ‡Ø§Øª ---------- */
.dash-alert{ border-radius: .8rem; padding: .75rem 1rem; font-size: .85rem; font-weight: 700; margin-bottom: 1rem; line-height: 1.6; }
.dash-alert--success{ background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.dash-alert--error  { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.dash-alert--warn   { background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; }

/* ---------- ØµÙØ­Ø§Øª Ø§Ù„Ø¯Ø®ÙˆÙ„ ÙˆØ§Ù„ØªØ³Ø¬ÙŠÙ„ ---------- */
.auth-shell{ min-height: 100vh; display: grid; grid-template-columns: 1fr; }
@media (min-width: 1024px){ .auth-shell{ grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }

.auth-brand{
    display: none; flex-direction: column; justify-content: space-between; padding: 2.5rem 3rem;
    color: #fff; position: relative; overflow: hidden;
    background: radial-gradient(120% 90% at 100% 0%, #8a1c5e 0%, var(--c-plum) 45%, #3d0829 100%);
}
.auth-brand::after{
    content: ""; position: absolute; width: 26rem; height: 26rem; border-radius: 9999px;
    bottom: -9rem; inset-inline-start: -8rem; background: rgba(251, 139, 36, .18); filter: blur(10px);
}
@media (min-width: 1024px){ .auth-brand{ display: flex; } }
.auth-logo{ display: inline-flex; align-items: center; line-height: 0; position: relative; z-index: 1; }
.auth-logo img{ height: 3rem; width: auto; display: block; }
.auth-brand-body{ position: relative; z-index: 1; max-width: 26rem; }
.auth-brand-title{ font-size: 2.1rem; font-weight: 900; line-height: 1.3; }
.auth-brand-text{ margin-top: .9rem; font-size: .95rem; line-height: 1.9; color: rgba(255, 255, 255, .78); }
.auth-features{ margin-top: 1.75rem; display: flex; flex-direction: column; gap: .8rem; }
.auth-features li{ display: flex; align-items: center; gap: .75rem; font-size: .9rem; font-weight: 700; }
.auth-feature-ico{
    width: 2.2rem; height: 2.2rem; border-radius: .7rem; background: rgba(255, 255, 255, .12);
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.auth-brand-foot{ font-size: .75rem; color: rgba(255, 255, 255, .5); position: relative; z-index: 1; }

.auth-panel{ display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.auth-card{
    width: 100%; max-width: 27rem; background: var(--dash-surface); border: 1px solid var(--dash-border);
    border-radius: 1.5rem; padding: 2rem 1.5rem; box-shadow: 0 30px 60px -35px rgba(15, 23, 42, .35);
}
@media (min-width: 480px){ .auth-card{ padding: 2.5rem 2.25rem; } }
.auth-title{ font-size: 1.5rem; font-weight: 900; }
.auth-subtitle{ margin-top: .35rem; margin-bottom: 1.5rem; font-size: .9rem; color: var(--dash-muted); }
.auth-form{ display: flex; flex-direction: column; gap: 1.1rem; }
.auth-form .dash-btn--block{ margin-top: .4rem; padding-block: .85rem; }
.auth-switch{ margin-top: 1.5rem; text-align: center; font-size: .85rem; color: var(--dash-muted); }
.auth-switch a{ color: var(--c-plum); font-weight: 800; }
.auth-switch a:hover{ text-decoration: underline; }

/* ---------- Ø§Ù„Ù‡ÙŠÙƒÙ„ Ø§Ù„Ø¹Ø§Ù… Ù„Ù„ÙˆØ­Ø© ---------- */
.dash-topbar{
    position: sticky; top: 0; z-index: var(--z-header); height: 4rem; padding: 0 1rem;
    display: flex; align-items: center; justify-content: space-between;
    background: rgba(255, 255, 255, .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--dash-border);
}
@media (min-width: 768px){ .dash-topbar{ padding: 0 1.75rem; } }
.dash-logo{ display: inline-flex; align-items: center; line-height: 0; flex: none; }
.dash-logo img{ height: 2.1rem; width: auto; display: block; }
@media (max-width: 640px){ .dash-logo img{ height: 1.75rem; } }
.dash-topbar-actions{ display: flex; align-items: center; gap: .75rem; }

.dash-bell{
    position: relative; width: 2.5rem; height: 2.5rem; border-radius: 9999px;
    display: inline-flex; align-items: center; justify-content: center; color: #475569;
    border: 1.5px solid var(--dash-border); background: #fff; transition: border-color .15s ease, color .15s ease;
}
.dash-bell:hover{ border-color: var(--c-plum); color: var(--c-plum); }
.dash-bell-count{
    position: absolute; top: -.3rem; inset-inline-end: -.3rem; min-width: 1.2rem; height: 1.2rem; padding: 0 .3rem;
    border-radius: 9999px; background: #ef4444; color: #fff; font-size: .65rem; font-weight: 800;
    display: inline-flex; align-items: center; justify-content: center; border: 2px solid #fff;
}
.dash-user{ display: flex; align-items: center; gap: .5rem; }
.dash-avatar{
    width: 2.25rem; height: 2.25rem; border-radius: .7rem; background: #f8f1f5; color: var(--c-plum);
    font-weight: 900; display: inline-flex; align-items: center; justify-content: center;
}
.dash-user-name{ display: none; font-size: .85rem; font-weight: 800; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 640px){ .dash-user-name{ display: inline; } }

.dash-layout{ display: flex; flex-direction: column; max-width: 90rem; margin: 0 auto; }
@media (min-width: 1024px){ .dash-layout{ flex-direction: row; } }

.dash-sidebar{
    display: flex; gap: .4rem; overflow-x: auto; padding: .75rem 1rem;
    border-bottom: 1px solid var(--dash-border); background: #fff; scrollbar-width: none;
}
.dash-sidebar::-webkit-scrollbar{ display: none; }
@media (min-width: 1024px){
    .dash-sidebar{
        flex-direction: column; width: 15rem; flex-shrink: 0; padding: 1.5rem 1rem; border-bottom: 0; background: transparent;
        position: sticky; top: 4rem; height: calc(100vh - 4rem);
    }
}
.dash-nav-link{
    display: flex; align-items: center; gap: .6rem; padding: .6rem .85rem; border-radius: .75rem;
    font-size: .88rem; font-weight: 700; color: #475569; white-space: nowrap; transition: background .15s ease, color .15s ease;
}
.dash-nav-link:hover{ background: #fff; color: var(--dash-text); }
.dash-nav-link.is-active{ background: var(--c-plum); color: #fff; box-shadow: 0 8px 20px -12px rgba(95, 15, 64, .7); }
.dash-nav-link.is-disabled{ color: #94a3b8; cursor: default; }
.dash-nav-link.is-disabled:hover{ background: transparent; color: #94a3b8; }
.dash-nav-ico{ font-size: 1rem; }
.dash-soon{
    margin-inline-start: auto; font-size: .62rem; font-weight: 800; color: #9a3412;
    background: #fff7ed; border-radius: 9999px; padding: .1rem .45rem;
}

.dash-main{ flex: 1; min-width: 0; padding: 1.5rem 1rem 3rem; }
@media (min-width: 768px){ .dash-main{ padding: 2rem 1.75rem 3rem; } }

.dash-page-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.dash-page-title{ font-size: 1.5rem; font-weight: 900; }
.dash-page-sub{ font-size: .88rem; color: var(--dash-muted); margin-top: .25rem; }

/* ---------- Ø§Ù„Ø¥Ø­ØµØ§Ø¦ÙŠØ§Øª ---------- */
.dash-stats{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-bottom: 1.5rem; }
@media (min-width: 900px){ .dash-stats{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }
.dash-stat{
    background: var(--dash-surface); border: 1px solid var(--dash-border); border-radius: var(--dash-radius);
    padding: 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .3rem; position: relative; overflow: hidden;
}
.dash-stat::before{ content: ""; position: absolute; top: 0; inset-inline: 0; height: 3px; background: var(--c-plum); }
.dash-stat--low::before{ background: var(--c-orange, #FB8B24); }
.dash-stat--out::before{ background: #0f172a; }
.dash-stat-label{ font-size: .78rem; font-weight: 700; color: var(--dash-muted); }
.dash-stat-value{ font-size: 1.75rem; font-weight: 900; line-height: 1.2; font-variant-numeric: tabular-nums; }
.dash-stat-foot{ font-size: .72rem; font-weight: 600; color: #94a3b8; }

/* ---------- Ø§Ù„Ø¨Ø·Ø§Ù‚Ø§Øª ---------- */
.dash-columns{ display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: start; }
@media (min-width: 1200px){ .dash-columns{ grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.dash-card{ background: var(--dash-surface); border: 1px solid var(--dash-border); border-radius: 1.25rem; padding: 1.25rem; scroll-margin-top: 5rem; }
@media (min-width: 768px){ .dash-card{ padding: 1.5rem; } }
.dash-card-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.dash-card-title{ font-size: 1.05rem; font-weight: 900; display: flex; align-items: center; gap: .5rem; }
.dash-card-sub{ font-size: .8rem; color: var(--dash-muted); margin-top: .3rem; line-height: 1.7; max-width: 40rem; }
.dash-count{
    font-size: .7rem; font-weight: 800; background: #ef4444; color: #fff; border-radius: 9999px;
    min-width: 1.3rem; height: 1.3rem; padding: 0 .35rem; display: inline-flex; align-items: center; justify-content: center;
}

.dash-empty{ text-align: center; padding: 2.5rem 1rem; border: 1.5px dashed var(--dash-border); border-radius: 1rem; }
.dash-empty--sm{ padding: 1.75rem 1rem; }
.dash-empty-ico{ font-size: 2rem; margin-bottom: .4rem; }
.dash-empty-title{ font-weight: 800; }
.dash-empty-text{ font-size: .82rem; color: var(--dash-muted); margin-top: .2rem; }

/* ---------- ÙƒÙ…ÙŠØ§Øª Ø§Ù„Ø£Ø·Ø¨Ø§Ù‚ ---------- */
.stock-list{ display: flex; flex-direction: column; }
.stock-row{
    display: grid; grid-template-columns: 1fr; gap: .85rem; padding: 1rem 0; border-bottom: 1px solid #f1f5f9;
}
.stock-row:first-child{ padding-top: 0; }
.stock-row:last-child{ border-bottom: 0; padding-bottom: 0; }
@media (min-width: 720px){
    /* Ø§Ù„Ø³Ø·Ø± Ø§Ù„Ø£ÙˆÙ„: Ø§Ù„Ø·Ø¨Ù‚ + Ø§Ù„ØªÙ‚Ø¯Ù‘Ù…ØŒ Ø§Ù„Ø³Ø·Ø± Ø§Ù„Ø«Ø§Ù†ÙŠ: Ø£Ø¯ÙˆØ§Øª Ø§Ù„ØªØ¹Ø¯ÙŠÙ„ */
    .stock-row{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: 1.5rem; row-gap: .75rem; }
    .stock-actions{ grid-column: 1 / -1; justify-content: flex-end; }
}
.stock-dish{ display: flex; align-items: center; gap: .75rem; min-width: 0; }
.stock-thumb{ width: 3rem; height: 3rem; border-radius: .75rem; object-fit: cover; flex-shrink: 0; background: #f1f5f9; }
.stock-thumb--empty{ display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; }
.stock-dish-info{ display: flex; flex-direction: column; min-width: 0; }
.stock-dish-name{ font-size: .92rem; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-dish-price{ font-size: .78rem; font-weight: 700; color: var(--c-plum); }

.stock-pill{ margin-inline-start: auto; flex-shrink: 0; font-size: .7rem; font-weight: 800; border-radius: 9999px; padding: .25rem .65rem; white-space: nowrap; }
.stock-pill--ok { background: #ecfdf5; color: #047857; }
.stock-pill--low{ background: #fff7ed; color: #c2410c; }
.stock-pill--out{ background: #0f172a; color: #fff; }

.stock-progress{ display: flex; flex-direction: column; gap: .35rem; }
.stock-bar{ height: .5rem; border-radius: 9999px; background: #f1f5f9; overflow: hidden; }
.stock-bar-fill{ display: block; height: 100%; width: 0; border-radius: inherit; transition: width .6s ease; }
.stock-bar-fill--ok { background: #10b981; }
.stock-bar-fill--low{ background: var(--c-orange, #FB8B24); }
.stock-bar-fill--out{ background: #0f172a; }
.stock-progress-text{ font-size: .75rem; font-weight: 600; color: var(--dash-muted); font-variant-numeric: tabular-nums; }

.stock-actions{ display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem; }
.stock-form{ display: flex; align-items: flex-end; gap: .5rem; }
.stock-input-wrap{ display: flex; flex-direction: column; gap: .2rem; }
.stock-input-wrap span{ font-size: .68rem; font-weight: 700; color: #94a3b8; }

/* ---------- Ø§Ù„Ø¥Ø´Ø¹Ø§Ø±Ø§Øª ---------- */
.notif-list{ display: flex; flex-direction: column; gap: .5rem; max-height: 32rem; overflow-y: auto; }
.notif{ display: flex; gap: .7rem; padding: .8rem; border-radius: .9rem; border: 1px solid transparent; }
.notif.is-unread{ background: #fffaf5; border-color: #fde6cf; }
.notif--out.is-unread{ background: #f8fafc; border-color: #e2e8f0; }
.notif-ico{ font-size: 1.05rem; line-height: 1.5; }
.notif-text{ font-size: .82rem; font-weight: 600; line-height: 1.7; color: #334155; }
.notif.is-unread .notif-text{ font-weight: 800; color: var(--dash-text); }
.notif-time{ display: block; font-size: .7rem; color: #94a3b8; margin-top: .15rem; }

/* ---------- dashboard â€” Ø¥Ø¶Ø§ÙØ© / Ø¥Ù†Ù‚Ø§Øµ Ø£Ø·Ø¨Ø§Ù‚ Ù…Ù† Ø§Ù„Ù…ØªØ§Ø­ ---------- */
.stock-adjust{ display: flex; flex-direction: column; gap: .2rem; margin-inline-end: auto; }
.stock-adjust-label{ font-size: .68rem; font-weight: 700; color: #94a3b8; }
.stock-stepper{
    display: inline-flex; align-items: stretch; border: 1.5px solid var(--dash-border);
    border-radius: .65rem; overflow: hidden; background: #fff; height: 2.25rem;
}
.stock-stepper:focus-within{ border-color: var(--c-plum); box-shadow: 0 0 0 4px rgba(95, 15, 64, .1); }
.stock-step{
    width: 2.25rem; font-size: 1.1rem; font-weight: 900; color: #475569; background: #f8fafc;
    cursor: pointer; transition: background .15s ease, color .15s ease;
}
.stock-step:hover{ background: #fef2f2; color: #b91c1c; }
.stock-step--add:hover{ background: #ecfdf5; color: #047857; }
.stock-step:disabled, .stock-step:disabled:hover{ color: #cbd5e1; background: #f8fafc; cursor: not-allowed; }
.stock-step-input{
    width: 3.75rem; text-align: center; font-size: .88rem; font-weight: 800; color: var(--dash-text);
    border-inline: 1.5px solid var(--dash-border); -moz-appearance: textfield;
}
.stock-step-input:focus{ outline: none; }
.stock-step-input::-webkit-outer-spin-button,
.stock-step-input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }

/* ======================================================================
   Ø¹Ø§Ù…: Ø¹Ù†Ø§ØµØ± Ù…Ø®ÙÙŠØ© Ø¨Ø§Ù„Ø®Ø§ØµÙŠØ© hidden (ØªØªØºÙ„Ø¨ Ø¹Ù„Ù‰ display ÙÙŠ Ø§Ù„ÙƒÙ„Ø§Ø³Ø§Øª)
   ====================================================================== */
.dish-card[hidden], .rest-section[hidden], .b-section[hidden], .b-dish[hidden],
.b-new-section[hidden], .toast[hidden], .addon-error[hidden], .b-form-error[hidden]{ display: none !important; }

/* ======================================================================
   includes/card-item.php â€” Ø³Ø·Ø± Ø·Ø¨Ù‚ (ØªØ®Ø·ÙŠØ· Ø§Ù„Ù‚Ø§Ø¦Ù…Ø© List)
   ====================================================================== */
.dish-row{
    display: flex; gap: 1rem; align-items: stretch; justify-content: space-between;
    background: #fff; border: 1px solid #f1f5f9; border-radius: 1rem; padding: .9rem;
    transition: box-shadow .15s ease, border-color .15s ease;
}
.dish-row:hover{ border-color: #e2e8f0; box-shadow: 0 12px 30px -20px rgba(15, 23, 42, .35); }
.dish-row-body{ flex: 1; min-width: 0; cursor: pointer; display: flex; flex-direction: column; gap: .3rem; }
.dish-row-name{ font-size: .98rem; font-weight: 800; color: #0f172a; }
.dish-row-desc{
    font-size: .8rem; color: #64748b; line-height: 1.6;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dish-row-meta{ display: flex; align-items: center; gap: .6rem; margin-top: auto; padding-top: .25rem; font-size: 1rem; }
/* Ø§Ù„ØµÙˆØ±Ø© ÙÙŠ Ø¬Ù‡Ø© Ø§Ù„Ø¨Ø¯Ø§ÙŠØ©: Ø§Ù„ÙŠÙ…ÙŠÙ† ÙÙŠ Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© ÙˆØ§Ù„ÙŠØ³Ø§Ø± ÙÙŠ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ©.
   order: -1 ÙŠÙ‚Ø¯Ù‘Ù…Ù‡Ø§ Ø¨ØµØ±ÙŠØ§Ù‹ Ù…Ø¹ Ø¥Ø¨Ù‚Ø§Ø¡ Ø§Ù„Ø§Ø³Ù… Ø£ÙˆÙ„Ø§Ù‹ ÙÙŠ ØªØ±ØªÙŠØ¨ Ø§Ù„Ù‚Ø±Ø§Ø¡Ø© Ù„Ù„Ù‚Ø§Ø±Ø¦
   Ø§Ù„ØµÙˆØªÙŠØŒ Ùˆflex ÙŠØ¹ÙƒØ³ Ø§Ù„Ø¬Ù‡Ø© ÙˆØ­Ø¯Ù‡ Ù…Ø¹ Ø§ØªØ¬Ø§Ù‡ Ø§Ù„Ù…Ø³ØªÙ†Ø¯ Ø¨Ù„Ø§ Ù‚Ø§Ø¹Ø¯Ø© Ù„ÙƒÙ„ Ù„ØºØ©. */
.dish-row-side{ order: -1; position: relative; flex-shrink: 0; width: 6.5rem; display: flex; align-items: flex-end; justify-content: center; }
/* ØµÙˆØ±Ø© Ø³Ø·Ø± Ø§Ù„Ù‚Ø§Ø¦Ù…Ø©: ØªÙ…Ù„Ø£ ØµÙ†Ø¯ÙˆÙ‚Ù‡Ø§ ÙƒØ§Ù…Ù„Ø§Ù‹ (cover) ÙƒØ¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø´Ø¨ÙƒØ© â€” ÙƒØ§Ù†Øª contain
   ÙØªØ¸Ù‡Ø± Ø§Ù„Ø®Ù„ÙÙŠØ© Ø­ÙˆÙ„ ÙƒÙ„ ØµÙˆØ±Ø© Ù„Ø§ ØªØ·Ø§Ø¨Ù‚ Ù†Ø³Ø¨Ø© Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚. */
.dish-row-img{ width: 6.5rem; height: 6.5rem; border-radius: .85rem; object-fit: cover; object-position: center; background: #f8fafc; }
/* Ø§Ù„Ø²Ø± ÙÙŠ Ù…Ù†ØªØµÙ Ø£Ø³ÙÙ„ Ø§Ù„ØµÙˆØ±Ø©: Ø§Ù„Ø¥Ø²Ø§Ø­Ø© ØªØ¹ÙƒØ³ Ø¬Ù‡ØªÙ‡Ø§ Ù…Ø¹ Ø§ØªØ¬Ø§Ù‡ Ø§Ù„ØµÙØ­Ø© */
.dish-row .dish-row-add{ position: absolute; bottom: -.4rem; inset-inline-start: 50%; transform: translateX(50%); box-shadow: 0 6px 16px -6px rgba(15, 23, 42, .35); }
[dir="ltr"] .dish-row .dish-row-add{ transform: translateX(-50%); }
[dir="ltr"] .dish-row .dish-row-add{ transform: translateX(-50%); }
.dish-row-side:not(:has(img)){ width: auto; align-items: center; }
.dish-row-side:not(:has(img)) .dish-row-add{ position: static; transform: none; box-shadow: none; }
.dish-row.is-soldout .dish-row-img{ filter: grayscale(1); opacity: .7; }
.dish-addon-hint{ font-size: .68rem; font-weight: 700; color: #7c3aed; background: #f5f3ff; border-radius: 9999px; padding: .15rem .55rem; }

/* ======================================================================
   includes/cart.php â€” Ø®ÙŠØ§Ø±Ø§Øª Ø§Ù„Ø·Ø¨Ù‚ Ø¯Ø§Ø®Ù„ Ø§Ù„Ø³Ù„Ø© + Ù†Ø§ÙØ°Ø© Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª
   ====================================================================== */
.cart-item-options{ font-size: .72rem; color: #64748b; margin-top: .1rem; line-height: 1.5; }

.addon-overlay{
    position: fixed; inset: 0; z-index: var(--z-modal); margin: 0; padding: 1rem;
    background: rgba(15, 23, 42, .6); backdrop-filter: blur(3px);
    display: none; align-items: flex-end; justify-content: center;
}
.addon-overlay.open{ display: flex; }
@media (min-width: 640px){ .addon-overlay{ align-items: center; } }
.addon-box{
    position: relative;
    width: 100%; max-width: 28rem; max-height: 88vh; background: #fff; border-radius: 1.5rem;
    display: flex; flex-direction: column; overflow: hidden; text-align: start;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .35); animation: addon-in .2s ease;
}
@keyframes addon-in{ from{ transform: translateY(20px); opacity: 0; } to{ transform: none; opacity: 1; } }
/* Ø²Ø± Ø§Ù„Ø¥ØºÙ„Ø§Ù‚ ÙŠØ·ÙÙˆ ÙÙˆÙ‚ Ø§Ù„ØµÙˆØ±Ø© Ø¨Ø®Ù„ÙÙŠØ© Ø²Ø¬Ø§Ø¬ÙŠØ© Ø¨Ø¯Ù„ Ø´Ø±ÙŠØ· Ø±Ø£Ø³ ÙŠØ£ÙƒÙ„ Ù…Ø³Ø§Ø­Ø© */
.addon-x{
    position: absolute; top: .7rem; inset-inline-end: .7rem; z-index: var(--z-base);
    width: 2.2rem; height: 2.2rem; border-radius: 9999px; border: 0; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: .95rem; font-weight: 700; line-height: 1;
    background: rgba(255, 255, 255, .78); color: #0f172a;
    backdrop-filter: blur(10px) saturate(1.3);
    -webkit-backdrop-filter: blur(10px) saturate(1.3);
    box-shadow: 0 2px 10px rgba(15, 23, 42, .18);
    transition: background .15s ease, transform .15s ease;
}
.addon-x:hover{ background: #fff; transform: scale(1.06); }

/* Ø§Ù„Ø§Ø³Ù… ÙˆØ§Ù„Ø³Ø¹Ø± ÙÙŠ Ø³Ø·Ø± ÙˆØ§Ø­Ø¯ ØªØ­Øª Ø§Ù„ØµÙˆØ±Ø© Ù…Ø¨Ø§Ø´Ø±Ø© */
.addon-headline{ display: flex; align-items: flex-start; justify-content: space-between; gap: .9rem; }
.addon-title{ font-size: 1.15rem; font-weight: 900; color: #0f172a; line-height: 1.35; }
/* .addon-price Ø£ÙØ²ÙŠÙ„Øª: Ø§Ù„Ø³Ø¹Ø± ÙÙŠ Ø²Ø± Ø§Ù„Ø¥Ø¶Ø§ÙØ© ÙˆØ­Ø¯Ù‡ ÙÙ„Ø§ ÙŠÙ‚Ø±Ø£ Ø§Ù„Ø²Ø¨ÙˆÙ† Ø±Ù‚Ù…ÙŠÙ† */
.addon-cal{
    align-self: flex-start;
    display: inline-flex; align-items: center; gap: .25rem;
    font-size: .74rem; font-weight: 600; color: #64748b;
    background: #f8fafc; border-radius: 9999px; padding: .2rem .6rem;
}
.addon-body{ padding: 1rem 1.25rem; overflow-y: auto; display: flex; flex-direction: column; gap: 1rem; }
.addon-group{ border: 1.5px solid #f1f5f9; border-radius: 1rem; padding: .8rem .9rem; transition: border-color .15s ease; }
.addon-group.is-missing{ border-color: #fca5a5; background: #fef2f2; }
.addon-group-title{ display: flex; align-items: center; justify-content: space-between; gap: .5rem; width: 100%; font-size: .9rem; font-weight: 800; color: #0f172a; margin-bottom: .4rem; }
.addon-badge{ font-size: .65rem; font-weight: 800; color: #64748b; background: #f1f5f9; border-radius: 9999px; padding: .15rem .55rem; }
.addon-badge--req{ color: #9a3412; background: #fff7ed; }
.addon-option{ display: flex; align-items: center; gap: .6rem; padding: .55rem .25rem; border-top: 1px solid #f8fafc; cursor: pointer; font-size: .88rem; }
.addon-option:first-of-type{ border-top: 0; }
.addon-option input{ width: 1.1rem; height: 1.1rem; accent-color: var(--c-plum); flex-shrink: 0; }
.addon-option-name{ flex: 1; font-weight: 600; color: #334155; }
.addon-option-price{ font-size: .78rem; font-weight: 800; color: var(--c-plum); }
.addon-foot{
    flex: 0 0 auto; padding: .85rem 1.15rem calc(.95rem + env(safe-area-inset-bottom));
    border-top: 1px solid #f1f5f9; background: #fff;
    box-shadow: 0 -8px 20px -14px rgba(15, 23, 42, .5);
}
.addon-error{ font-size: .78rem; font-weight: 700; color: #b91c1c; margin-bottom: .6rem; }
.addon-submit{
    width: 100%; padding: .85rem; border-radius: .9rem; background: var(--c-plum); color: #fff;
    font-size: .95rem; font-weight: 800; cursor: pointer; transition: opacity .15s ease;
}
.addon-submit:hover{ opacity: .92; }

/* ======================================================================
   restaurant.php â€” ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù… Ø§Ù„Ø¹Ø§Ù…Ø©
   ====================================================================== */
.rest-body{ background: #f8fafc; color: #0f172a; min-height: 100vh; display: flex; flex-direction: column; }
.rest-container{ width: 100%; max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 768px){ .rest-container{ padding: 0 1.5rem; } }

.rest-topbar{ background: #fff; border-bottom: 1px solid #f1f5f9; }
.rest-topbar-inner{ height: 3.5rem; display: flex; align-items: center; justify-content: space-between; }
.rest-brand{ font-size: 1.25rem; font-weight: 900; color: var(--c-plum); }
.rest-back{ font-size: .8rem; font-weight: 700; color: #64748b; }
.rest-back:hover{ color: var(--c-plum); }

.rest-hero{ background: linear-gradient(160deg, #fff 0%, #fdf2f8 100%); border-bottom: 1px solid #f1f5f9; padding: 1.75rem 0 1.25rem; }
/* Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© ÙˆØ£Ø¬Ø²Ø§Ø¤Ù‡Ø§: Ø§Ù„Ù†Ø¸Ø§Ù… Ø§Ù„ÙƒØ§Ù…Ù„ ÙÙŠ Ù‚Ø³Ù… Â«ØªØ±ÙˆÙŠØ³Ø© ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù…Â» Ø£Ø³ÙÙ„ Ø§Ù„Ù…Ù„Ù.
   Ù…Ø§ ÙŠØ¨Ù‚Ù‰ Ù‡Ù†Ø§ Ù‡Ùˆ Ø§Ù„Ø£Ø³Ø§Ø³ÙŠØ§Øª Ø§Ù„ØªÙŠ Ù„Ø§ ØªØ®ØªÙ„Ù Ø¨ÙŠÙ† ÙˆØ¶Ø¹ÙŽÙŠ Ø§Ù„Ø¹Ø±Ø¶. */
.rest-hero-inner{ display: flex; gap: 1rem; margin-bottom: 1.25rem; }
.rest-logo{
    flex-shrink: 0; font-weight: 900; color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    background: radial-gradient(120% 120% at 100% 0%, #8a1c5e, var(--c-plum) 60%);
}
.rest-name{ font-weight: 900; line-height: 1.22; }
.rest-meta{ font-size: .85rem; color: #64748b; margin-top: .2rem; }
.rest-search{
    display: flex; align-items: center; gap: .6rem; background: #fff; border: 1.5px solid #e2e8f0; border-radius: 1rem;
    padding: .7rem 1rem; color: #94a3b8; max-width: 36rem; transition: border-color .15s ease, box-shadow .15s ease;
}
.rest-search:focus-within{ border-color: var(--c-plum); box-shadow: 0 0 0 4px rgba(95, 15, 64, .08); }
.rest-search input{ flex: 1; background: transparent; font-size: .92rem; color: #0f172a; }
.rest-search input:focus{ outline: none; }

.rest-tabs{ position: sticky; top: 0; z-index: var(--z-header); background: rgba(248, 250, 252, .95); backdrop-filter: blur(8px); border-bottom: 1px solid #eef2f6; }
.rest-tabs-inner{ display: flex; gap: .5rem; overflow-x: auto; padding-top: .75rem; padding-bottom: .75rem; scrollbar-width: none; }
.rest-tabs-inner::-webkit-scrollbar{ display: none; }
.rest-tab{
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .95rem; border-radius: 9999px;
    font-size: .85rem; font-weight: 700; color: #475569; background: #fff; border: 1px solid #e2e8f0; transition: all .15s ease;
}
.rest-tab:hover{ border-color: #cbd5e1; }
.rest-tab.is-active{ background: var(--c-plum); border-color: var(--c-plum); color: #fff; }
.rest-tab-count{ font-size: .68rem; font-weight: 800; opacity: .65; }
.rest-tabs.is-searching .rest-tab.is-active{ background: #fff; color: #475569; border-color: #e2e8f0; }

.rest-main{ flex: 1; padding-top: 1.5rem; padding-bottom: 6rem; }
.rest-section{ scroll-margin-top: 4.5rem; margin-bottom: 2.25rem; }
.rest-section-title{ font-size: 1.2rem; font-weight: 900; margin-bottom: 1rem; display: flex; align-items: center; gap: .6rem; }
.rest-section-title::after{ content: ""; flex: 1; height: 1px; background: #e2e8f0; }
.rest-grid{ display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.1rem; }
@media (min-width: 560px){ .rest-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px){ .rest-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px){ .rest-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rest-grid--compact{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
@media (min-width: 960px){ .rest-grid--compact{ grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rest-grid--compact .dish-card .p-4{ padding: .75rem; }
.rest-list{ display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 900px){ .rest-list{ grid-template-columns: 1fr 1fr; } }
.rest-empty{ text-align: center; padding: 3rem 1rem; }
.rest-empty[hidden]{ display: none; }
.rest-404{ flex: 1; text-align: center; padding-top: 4rem; padding-bottom: 4rem; display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.rest-404-ico{ font-size: 3rem; }
.rest-404-title{ font-size: 1.4rem; font-weight: 900; }
.rest-404-text{ color: #64748b; margin-bottom: 1rem; }
.rest-footer{ border-top: 1px solid #eef2f6; background: #fff; padding: 1rem 0; font-size: .78rem; color: #94a3b8; text-align: center; }
.rest-footer a{ color: var(--c-plum); font-weight: 800; }

/* ======================================================================
   dashboard â€” Ø¥Ø¶Ø§ÙØ§Øª Ø¹Ø§Ù…Ø©
   ====================================================================== */
.dash-grid-3{ display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 560px){ .dash-grid-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dash-input--inline{ padding: .35rem .6rem; font-size: 1rem; font-weight: 800; max-width: 18rem; }
textarea.dash-input{ resize: vertical; min-height: 4rem; }
select.dash-input{ cursor: pointer; }
.dash-btn--danger{ color: #b91c1c; }
.dash-btn--danger:hover{ border-color: #fca5a5; color: #991b1b; background: #fef2f2; }
.dash-nav-badge{
    margin-inline-start: auto; min-width: 1.35rem; height: 1.35rem; padding: 0 .35rem; border-radius: 9999px;
    background: #ef4444; color: #fff; font-size: .7rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
}
.dash-nav-link.is-active .dash-nav-badge{ background: #fff; color: var(--c-plum); }
.dash-nav-link--ext{ color: #64748b; font-weight: 600; }
@media (min-width: 1024px){ .dash-nav-link--ext:first-of-type{ margin-top: .75rem; } .dash-sidebar .dash-nav-link--ext{ font-size: .82rem; } }
.dash-empty-cta{ margin-top: 1rem; }

/* ---------- Ù†ÙˆØ§ÙØ° Ù„ÙˆØ­Ø© Ø§Ù„ØªØ­ÙƒÙ… ---------- */
.b-modal{
    position: fixed; inset: 0; z-index: var(--z-modal); padding: 1rem; background: rgba(15, 23, 42, .55); backdrop-filter: blur(3px);
    display: none; align-items: flex-start; justify-content: center; overflow-y: auto;
}
.b-modal.open{ display: flex; }
body.b-modal-open{ overflow: hidden; }
.b-modal-box{
    width: 100%; max-width: 38rem; margin: 2rem 0; background: #fff; border-radius: 1.4rem; display: flex; flex-direction: column;
    box-shadow: 0 30px 60px -20px rgba(15, 23, 42, .45); animation: addon-in .2s ease;
}
.b-modal-box--wide{ max-width: 46rem; }
.b-modal-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--dash-border); }
.b-modal-title{ font-size: 1.1rem; font-weight: 900; }
.b-modal-sub{ font-size: .8rem; color: var(--dash-muted); margin-top: .15rem; }
.b-modal-x{ width: 2.1rem; height: 2.1rem; border-radius: 9999px; background: #f1f5f9; color: #475569; font-weight: 800; cursor: pointer; flex-shrink: 0; }
.b-modal-x:hover{ background: #e2e8f0; }
.b-modal-body{ padding: 1.25rem 1.4rem; display: flex; flex-direction: column; gap: 1rem; }
.b-modal-foot{ display: flex; justify-content: flex-end; gap: .6rem; padding: 1rem 1.4rem; border-top: 1px solid var(--dash-border); background: #f8fafc; border-radius: 0 0 1.4rem 1.4rem; }
.b-form-error{ font-size: .82rem; font-weight: 700; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: .7rem; padding: .6rem .8rem; }

.b-image{ display: flex; gap: .9rem; align-items: flex-start; }
.b-image img{ width: 5.5rem; height: 5.5rem; border-radius: .9rem; object-fit: cover; flex-shrink: 0; background: #f1f5f9; }
.b-image img[hidden]{ display: none; }
.b-image-inputs{ flex: 1; display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.b-file{ font-size: .8rem; color: #64748b; }
.b-file::file-selector-button{
    margin-inline-end: .6rem; border: 0; border-radius: .6rem; padding: .45rem .9rem; font-weight: 800; font-size: .78rem;
    background: #f8f1f5; color: var(--c-plum); cursor: pointer;
}
.b-check{ display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 700; color: #475569; cursor: pointer; }
.b-check[hidden]{ display: none; }
.b-check input{ accent-color: var(--c-plum); }

/* Ù…ÙØªØ§Ø­ ØªØ´ØºÙŠÙ„/Ø¥ÙŠÙ‚Ø§Ù */
.b-switch{ display: inline-flex; align-items: center; gap: .6rem; font-size: .85rem; font-weight: 700; color: #334155; cursor: pointer; user-select: none; }
.b-switch input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.b-switch-ui{ position: relative; width: 2.6rem; height: 1.5rem; border-radius: 9999px; background: #cbd5e1; transition: background .2s ease; flex-shrink: 0; }
.b-switch-ui::after{ content: ""; position: absolute; top: .2rem; inset-inline-start: .2rem; width: 1.1rem; height: 1.1rem; border-radius: 9999px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: inset-inline-start .2s ease; }
.b-switch input:checked + .b-switch-ui{ background: #10b981; }
.b-switch input:checked + .b-switch-ui::after{ inset-inline-start: 1.3rem; }
.b-switch input:focus-visible + .b-switch-ui{ outline: 2px solid var(--c-plum); outline-offset: 2px; }
.b-switch--sm .b-switch-ui{ width: 2.2rem; height: 1.3rem; }
.b-switch--sm .b-switch-ui::after{ width: .9rem; height: .9rem; }
.b-switch--sm input:checked + .b-switch-ui::after{ inset-inline-start: 1.1rem; }

/* ---------- Ø¨Ù†Ø§Ø¡ Ø§Ù„Ù…Ù†ÙŠÙˆ ---------- */
.builder-head-actions{ display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.builder-toolbar{ display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.builder-search{
    flex: 1; min-width: 14rem; max-width: 34rem; display: flex; align-items: center; gap: .6rem; background: #fff;
    border: 1.5px solid var(--dash-border); border-radius: .9rem; padding: .6rem .9rem; color: #94a3b8;
}
.builder-search:focus-within{ border-color: var(--c-plum); box-shadow: 0 0 0 4px rgba(95, 15, 64, .08); }
.builder-search input{ flex: 1; background: transparent; font-size: .9rem; color: var(--dash-text); }
.builder-search input:focus{ outline: none; }
.builder-count{ font-size: .8rem; font-weight: 700; color: var(--dash-muted); }

.builder{ display: flex; flex-direction: column; gap: 1rem; }
.builder-empty{ background: #fff; }
.b-section{ background: #fff; border: 1px solid var(--dash-border); border-radius: 1.2rem; overflow: hidden; transition: box-shadow .15s ease, opacity .15s ease; }
.b-section.is-hidden{ background: #fbfbfd; }
.b-section.is-hidden .b-section-title{ color: #94a3b8; }
.b-section.is-loose{ border-style: dashed; }
.b-section.is-dragging{ opacity: .45; }
.builder.is-dragging-section .b-section:not(.is-dragging){ box-shadow: 0 0 0 2px #f1f5f9; }
.b-section-head{ display: flex; align-items: center; gap: .6rem; padding: .85rem 1rem; background: #fafbfd; border-bottom: 1px solid var(--dash-border); flex-wrap: wrap; }
.b-section-title-wrap{ display: flex; align-items: center; gap: .6rem; flex: 1; min-width: 10rem; flex-wrap: wrap; }
.b-section-title{ font-size: 1rem; font-weight: 900; color: var(--dash-text); cursor: text; border-radius: .4rem; padding: .1rem .3rem; }
.b-section-title:hover{ background: #f1f5f9; }
.b-section-title.is-static{ cursor: default; color: #64748b; }
.b-section-title.is-static:hover{ background: none; }
.b-count{ font-size: .72rem; font-weight: 700; color: #94a3b8; }
.b-section-actions{ display: flex; align-items: center; gap: .35rem; }

.b-handle{ cursor: grab; color: #cbd5e1; font-size: 1.1rem; line-height: 1; padding: .2rem; user-select: none; flex-shrink: 0; }
.b-handle:hover{ color: #64748b; }
.b-handle:active{ cursor: grabbing; }

.b-icon-btn{
    width: 2rem; height: 2rem; border-radius: .6rem; display: inline-flex; align-items: center; justify-content: center;
    font-size: .9rem; color: #475569; background: #fff; border: 1px solid var(--dash-border); cursor: pointer; flex-shrink: 0;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.b-icon-btn:hover{ border-color: #cbd5e1; background: #f8fafc; }
.b-icon-btn--danger:hover{ border-color: #fecaca; background: #fef2f2; color: #b91c1c; }
.b-icon-btn:disabled{ opacity: .35; cursor: default; }
.b-text-btn{ font-size: .78rem; font-weight: 800; color: var(--c-plum); padding: .35rem .55rem; border-radius: .55rem; cursor: pointer; white-space: nowrap; }
.b-text-btn:hover{ background: #f8f1f5; }

/* Ø£Ø²Ø±Ø§Ø± â†‘â†“ Ù„Ù„Ø¬ÙˆØ§Ù„ ÙˆØ§Ù„Ø£Ø¬Ù‡Ø²Ø© Ø§Ù„Ù„Ù…Ø³ÙŠØ© ÙÙ‚Ø· (Ø§Ù„Ø³Ø­Ø¨ Ù…ØªØ§Ø­ Ù„Ù„Ù…Ø§ÙˆØ³) */
.b-move{ display: none; }
@media (pointer: coarse), (max-width: 767px){ .b-move{ display: inline-flex; } .b-handle{ display: none; } }

.b-dishes{ list-style: none; margin: 0; padding: .35rem 0; min-height: 3rem; }
.b-dish{
    display: flex; align-items: center; gap: .75rem; padding: .7rem 1rem; border-bottom: 1px solid #f5f6f9; background: #fff;
    flex-wrap: wrap; transition: background .15s ease, opacity .15s ease;
}
.b-dish:hover{ background: #fcfcfe; }
.b-dish.is-off .b-dish-name, .b-dish.is-off .b-thumb{ opacity: .5; }
.b-dish.is-dragging{ opacity: .4; background: #f8f1f5; }
.builder.is-dragging-dish .b-dishes{ background: #fcfaff; outline: 2px dashed #eadcf0; outline-offset: -6px; border-radius: .8rem; }
.b-drop-hint{ list-style: none; padding: .9rem 1rem; text-align: center; font-size: .8rem; color: #94a3b8; }
.b-drop-hint:empty{ padding: 0; }
.builder.is-searching .b-drop-hint{ display: none; }
.b-thumb{ width: 2.75rem; height: 2.75rem; border-radius: .7rem; object-fit: cover; background: #f1f5f9; flex-shrink: 0; }
.b-thumb--empty{ display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.b-dish-info{ flex: 1; min-width: 9rem; display: flex; flex-direction: column; gap: .25rem; align-items: flex-start; }
.b-dish-name{ font-size: .92rem; font-weight: 800; color: var(--dash-text); text-align: start; cursor: pointer; }
.b-dish-name:hover{ color: var(--c-plum); text-decoration: underline; }
.b-dish-meta{ display: flex; flex-wrap: wrap; gap: .3rem; }
.b-dish-meta:empty{ display: none; }
.b-badge{ font-size: .65rem; font-weight: 800; border-radius: 9999px; padding: .12rem .5rem; background: #ecfdf5; color: #047857; }
.b-badge--low{ background: #fff7ed; color: #c2410c; }
.b-badge--out{ background: #0f172a; color: #fff; }
.b-badge--muted{ background: #f1f5f9; color: #64748b; }
.b-badge--plum{ background: #f8f1f5; color: var(--c-plum); }

.b-price{ display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; font-weight: 700; color: #94a3b8; }
.b-price-input{
    width: 5.5rem; padding: .4rem .55rem; border: 1.5px solid var(--dash-border); border-radius: .6rem; font-size: .88rem; font-weight: 800;
    color: var(--dash-text); text-align: center; transition: border-color .15s ease, background .3s ease;
}
.b-price-input:focus{ outline: none; border-color: var(--c-plum); box-shadow: 0 0 0 3px rgba(95, 15, 64, .1); }
.b-price-input.is-saving{ background: #f8fafc; }
.b-price-input.is-saved{ border-color: #10b981; background: #ecfdf5; }
.b-dish-actions{ display: flex; align-items: center; gap: .2rem; }
@media (max-width: 767px){
    .b-dish{ padding: .8rem; }
    .b-dish-actions{ width: 100%; justify-content: flex-end; border-top: 1px dashed #f1f5f9; padding-top: .5rem; }
}

.b-new-section{ display: flex; gap: .5rem; flex-wrap: wrap; background: #fff; border: 1.5px dashed #d8c4d2; border-radius: 1.2rem; padding: 1rem; }
.b-new-section .dash-input{ flex: 1; min-width: 12rem; }

/* Ù†Ø§ÙØ°Ø© Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª ÙÙŠ Ù„ÙˆØ­Ø© Ø§Ù„ØªØ­ÙƒÙ… */
.addons-groups{ display: flex; flex-direction: column; gap: .9rem; }
.addons-empty{ text-align: center; font-size: .85rem; color: var(--dash-muted); padding: 1.25rem; border: 1.5px dashed var(--dash-border); border-radius: 1rem; }
.addon-group-card{ border: 1px solid var(--dash-border); border-radius: 1rem; padding: .9rem; background: #fafbfd; display: flex; flex-direction: column; gap: .6rem; }
.addon-group-head{ display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.addon-group-name{ flex: 1; min-width: 10rem; font-weight: 800; }
.addon-group-type{ width: auto; padding-block: .6rem; }
.addon-opts{ display: flex; flex-direction: column; gap: .45rem; }
.addon-opt{ display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.addon-opt-name{ flex: 1; min-width: 9rem; width: auto; }
.addon-opt-price{ display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; font-weight: 700; color: #94a3b8; }
.addon-opt-price .dash-input{ width: 5rem; text-align: center; }
.addons-add{ display: flex; gap: .5rem; flex-wrap: wrap; }

/* Ø¥Ø´Ø¹Ø§Ø± Ø§Ù„Ø­ÙØ¸ Ø§Ù„Ø³Ø±ÙŠØ¹ */
.toast{
    position: fixed; bottom: 1.25rem; left: 50%; transform: translateX(-50%); z-index: var(--z-floating);
    padding: .7rem 1.1rem; border-radius: .9rem; font-size: .85rem; font-weight: 800; color: #fff;
    box-shadow: 0 15px 35px -12px rgba(15, 23, 42, .5); max-width: calc(100vw - 2rem); animation: addon-in .2s ease;
}
.toast--success{ background: #0f172a; }
.toast--error{ background: #b91c1c; }

/* ---------- Ø´ÙƒÙ„ Ø§Ù„Ø¹Ø±Ø¶ ---------- */
.layout-page{ display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }
@media (min-width: 1100px){ .layout-page{ grid-template-columns: minmax(0, 1fr) 24rem; } }
.layout-options{ display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px){ .layout-options{ grid-template-columns: repeat(3, minmax(0, 1fr)); } .layout-link{ grid-column: 1 / -1; } }
.layout-card{
    background: #fff; border: 2px solid var(--dash-border); border-radius: 1.2rem; padding: 1rem;
    display: flex; flex-direction: column; gap: .75rem; transition: border-color .15s ease, box-shadow .15s ease;
}
.layout-card:hover{ border-color: #d8c4d2; }
.layout-card.is-previewing{ border-color: var(--c-plum); box-shadow: 0 12px 30px -18px rgba(95, 15, 64, .6); }
.layout-card-link{ display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.layout-card-title{ font-size: .95rem; font-weight: 900; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.layout-current{ font-size: .65rem; font-weight: 800; background: #ecfdf5; color: #047857; border-radius: 9999px; padding: .12rem .5rem; }
.layout-card-desc{ font-size: .78rem; color: var(--dash-muted); line-height: 1.7; }
.layout-applied{ font-size: .78rem; font-weight: 800; color: #047857; text-align: center; padding: .45rem; }

.layout-mock{ height: 7.5rem; border-radius: .9rem; background: #f6f7fb; padding: .6rem; display: grid; gap: .4rem; overflow: hidden; }
.layout-mock--grid{ grid-template-columns: 1fr 1fr; }
.layout-mock--list{ grid-template-columns: 1fr; }
.layout-mock--category{ grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr 1fr; }
.lm-tabs{ grid-column: 1 / -1; display: flex; gap: .25rem; }
.lm-tabs i{ height: .5rem; width: 1.6rem; border-radius: 9999px; background: #e2e8f0; }
.lm-tabs i:first-child{ background: var(--c-plum); }
.lm-item{ background: #fff; border-radius: .5rem; display: flex; gap: .3rem; padding: .3rem; }
.lm-item i{ border-radius: .35rem; background: #e9d9e3; }
.lm-item b{ flex: 1; border-radius: .25rem; background: linear-gradient(#e2e8f0, #e2e8f0) top / 80% .3rem no-repeat, linear-gradient(#f1c79c, #f1c79c) bottom / 40% .3rem no-repeat; }
.layout-mock--grid .lm-item, .layout-mock--category .lm-item{ flex-direction: column; }
.layout-mock--grid .lm-item i, .layout-mock--category .lm-item i{ flex: 1; }
.layout-mock--grid .lm-item b, .layout-mock--category .lm-item b{ flex: 0 0 .9rem; }
.layout-mock--list .lm-item i{ width: 1.4rem; order: 2; }
.layout-mock--category .lm-item:nth-child(n+4){ display: none; }

.layout-link-row{ display: flex; gap: .5rem; margin: .4rem 0; }
.layout-link-row .dash-input{ flex: 1; font-size: .8rem; }

.layout-preview{ display: flex; flex-direction: column; align-items: center; gap: .6rem; }
@media (min-width: 1100px){ .layout-preview{ position: sticky; top: 5rem; } }
/* ---------- Ù…Ø­Ø§ÙƒÙŠ Ø§Ù„Ø¢ÙŠÙÙˆÙ† ---------- */
.phone{
    position: relative; width: 100%; max-width: 21.5rem; height: 42rem; border-radius: 3rem; padding: .55rem;
    background: linear-gradient(160deg, #3f4657 0%, #11151f 45%, #2a2f3c 100%);   /* Ø¥Ø·Ø§Ø± Ù…Ø¹Ø¯Ù†ÙŠ */
    box-shadow: 0 35px 60px -25px rgba(15, 23, 42, .65), 0 0 0 1px rgba(255, 255, 255, .06) inset;
}
/* Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ø¬Ø§Ù†Ø¨ */
.phone::before, .phone::after{
    content: ""; position: absolute; inset-inline-start: -2px; width: 2px; border-radius: 2px;
    background: linear-gradient(#4b5263, #2b303c);
}
.phone::before{ top: 7rem; height: 2rem; }
.phone::after{ top: 10rem; height: 3.5rem; }

.phone-screen, .phone iframe{
    width: 100%; height: 100%; border: 0; border-radius: 2.5rem; background: #fff; display: block;
    box-shadow: 0 0 0 2px #0b0e14;
}

/* Ø§Ù„Ø¬Ø²ÙŠØ±Ø© Ø§Ù„Ø¯ÙŠÙ†Ø§Ù…ÙŠÙƒÙŠØ© + Ø´Ø±ÙŠØ· Ø§Ù„Ø­Ø§Ù„Ø© */
.phone-notch{
    position: absolute; top: 1.1rem; left: 50%; transform: translateX(-50%); z-index: 3;
    width: 5.2rem; height: 1.55rem; border-radius: 9999px; background: #0b0e14;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .05);
}
.phone-notch::after{
    content: ""; position: absolute; top: 50%; inset-inline-end: .6rem; transform: translateY(-50%);
    width: .5rem; height: .5rem; border-radius: 9999px;
    background: radial-gradient(circle at 35% 35%, #2d3748, #0b0e14 70%);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .08);
}
.phone-status{
    position: absolute; top: 1.15rem; inset-inline: 1.6rem; z-index: 2; display: flex; align-items: center;
    justify-content: space-between; font-size: .68rem; font-weight: 800; color: #0f172a; pointer-events: none;
}
.phone-status-icons{ display: inline-flex; align-items: flex-end; gap: .22rem; }
.phone-status-icons i{ display: block; width: .17rem; border-radius: 1px; background: currentColor; }
.phone-status-icons i:nth-child(1){ height: .25rem; }
.phone-status-icons i:nth-child(2){ height: .38rem; }
.phone-status-icons i:nth-child(3){ height: .5rem; }
.phone-status-icons i:nth-child(4){ height: .62rem; }
.phone-status-battery{
    width: 1.35rem; height: .68rem; border: 1.2px solid currentColor; border-radius: .22rem; padding: .08rem;
    display: inline-flex; align-items: center; position: relative; margin-inline-start: .15rem;
}
.phone-status-battery::after{ content: ""; position: absolute; inset-inline-end: -.18rem; width: .1rem; height: .28rem; border-radius: 0 1px 1px 0; background: currentColor; }
.phone-status-battery span{ display: block; width: 72%; height: 100%; border-radius: .1rem; background: currentColor; }
/* Ø´Ø±ÙŠØ· Ø§Ù„Ù„Ù…Ø³ Ø§Ù„Ø³ÙÙ„ÙŠ */
.phone-bar{
    position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 3;
    width: 7rem; height: .28rem; border-radius: 9999px; background: #0f172a; opacity: .35;
}
.phone--dark-status .phone-status{ color: #fff; }
.layout-preview-caption{ font-size: .8rem; color: var(--dash-muted); }

/* ---------- Ø§Ù„Ø·Ù„Ø¨Ø§Øª ---------- */
.order-tabs{ display: flex; gap: .45rem; overflow-x: auto; margin-bottom: 1.25rem; scrollbar-width: none; }
.order-tabs::-webkit-scrollbar{ display: none; }
.order-tab{
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .95rem; border-radius: 9999px;
    font-size: .82rem; font-weight: 700; color: #475569; background: #fff; border: 1px solid var(--dash-border);
}
.order-tab span{ font-size: .7rem; font-weight: 800; background: #f1f5f9; color: #64748b; border-radius: 9999px; padding: .05rem .45rem; }
.order-tab.is-active{ background: var(--c-plum); border-color: var(--c-plum); color: #fff; }
.order-tab.is-active span{ background: rgba(255, 255, 255, .2); color: #fff; }

.orders-grid{ display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 900px){ .orders-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1400px){ .orders-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.order-card{ --card-radius: 1.2rem; --card-border: var(--dash-border); display: flex; flex-direction: column; overflow: hidden; border-top: 4px solid #94a3b8; }
.order-card--new{ border-top-color: #ef4444; }
.order-card--prep{ border-top-color: var(--c-orange, #FB8B24); }
.order-card--done{ border-top-color: #10b981; }
.order-card--cancel{ border-top-color: #cbd5e1; opacity: .75; }
.order-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; padding: 1rem 1.1rem .6rem; }
.order-id{ font-size: 1rem; font-weight: 900; }
.order-time{ font-size: .72rem; color: #94a3b8; }
.order-status{ font-size: .7rem; font-weight: 800; border-radius: 9999px; padding: .2rem .65rem; white-space: nowrap; }
.order-status--new{ background: #fef2f2; color: #b91c1c; }
.order-status--prep{ background: #fff7ed; color: #c2410c; }
.order-status--done{ background: #ecfdf5; color: #047857; }
.order-status--cancel{ background: #f1f5f9; color: #64748b; }
.order-items{ list-style: none; margin: 0; padding: 0 1.1rem; flex: 1; }
.order-items li{ display: flex; align-items: flex-start; gap: .6rem; padding: .55rem 0; border-top: 1px dashed #f1f5f9; }
.order-qty{ font-size: .85rem; font-weight: 900; color: var(--c-plum); min-width: 1.6rem; }
.order-item-info{ flex: 1; display: flex; flex-direction: column; min-width: 0; }
.order-item-name{ font-size: .88rem; font-weight: 700; }
.order-item-opts{ font-size: .72rem; color: #64748b; }
.order-item-price{ font-size: .8rem; font-weight: 700; color: #475569; white-space: nowrap; }
.order-foot{ display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .85rem 1.1rem; background: #fafbfd; border-top: 1px solid var(--dash-border); }
.order-total{ font-size: .82rem; color: var(--dash-muted); }
.order-total strong{ font-size: 1rem; color: var(--dash-text); }
.order-actions{ display: flex; gap: .4rem; flex-wrap: wrap; }

/* ======================================================================
   restaurant.php â€” Ù‡ÙˆÙŠØ© Ø§Ù„Ù…Ø·Ø¹Ù… (ØºÙ„Ø§ÙØŒ Ø´Ø¹Ø§Ø±ØŒ Ø±ÙˆØ§Ø¨Ø· ØªÙˆØ§ØµÙ„)
   Ù„ÙˆÙ† Ø§Ù„Ù‡ÙˆÙŠØ© ÙŠØ£ØªÙŠ ÙƒÙ…ØªØºÙŠÙ‘Ø± --c-brand Ù…Ù† Ù‚Ø§Ø¹Ø¯Ø© Ø§Ù„Ø¨ÙŠØ§Ù†Ø§Øª
   ====================================================================== */
/* Ø§Ø±ØªÙØ§Ø¹ Ø§Ù„ØºÙ„Ø§Ù: ÙƒÙØ¨ÙÙ‘Ø± Ù„ÙŠØ³ØªÙˆØ¹Ø¨ ØªØ¯Ø§Ø®Ù„ Ø§Ù„Ø´Ø¹Ø§Ø± Ù…Ø¹Ù‡. Ø§Ù„Ø¯Ø§Ø¦Ø±Ø© Ù†ØµÙÙ‡Ø§ ÙÙˆÙ‚ Ø§Ù„ØºÙ„Ø§ÙØŒ
   ÙØºÙ„Ø§ÙÙŒ Ù‚ØµÙŠØ± ÙŠØ¬Ø¹Ù„ Ø§Ù„Ø´Ø¹Ø§Ø± ÙŠØºØ·Ù‘ÙŠ Ø«Ù„Ø«Ù‡ ÙˆÙŠØ¨ØªÙ„Ø¹ Ø§Ù„ØµÙˆØ±Ø© Ø¨Ø¯Ù„ Ø£Ù† ÙŠØªØ¯Ø§Ø®Ù„ Ù…Ø¹Ù‡Ø§. */
.rest-cover{ width: 100%; height: 12.5rem; overflow: hidden; background: var(--c-brand-soft, #fdf2f8); }
@media (min-width: 560px){ .rest-cover{ height: 15rem; } }
@media (min-width: 768px){ .rest-cover{ height: 19rem; } }
@media (min-width: 1100px){ .rest-cover{ height: 22rem; } }
.rest-cover img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.rest-hero--with-cover{ background: #fff; padding-top: 0; }
.rest-logo{ overflow: hidden; background: radial-gradient(120% 120% at 100% 0%, var(--c-brand-soft, #8a1c5e), var(--c-brand, #5f0f40) 65%); }
.rest-logo--img{ background: #f1f5f9; }
.rest-logo img{ width: 100%; height: 100%; object-fit: cover; }
.rest-tagline{ font-size: .88rem; color: #475569; margin-top: .2rem; }

.rest-social{ display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.1rem; }
.rest-social-chip{
    display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .85rem; border-radius: 9999px;
    font-size: .78rem; font-weight: 800; color: var(--c-brand, #5f0f40); background: #fff;
    border: 1.5px solid var(--c-brand-soft, #e2e8f0); transition: background .15s ease, color .15s ease;
}
.rest-social-chip::before{ content: "â†—"; font-size: .7rem; opacity: .6; }
.rest-social-chip:hover{ background: var(--c-brand, #5f0f40); color: #fff; border-color: var(--c-brand, #5f0f40); }

/* ======================================================================
   dashboard/display-settings.php â€” Ø´ÙƒÙ„ Ø§Ù„Ø¹Ø±Ø¶ ÙˆØ§Ù„Ù‡ÙˆÙŠØ©
   ====================================================================== */
.ds-page{ display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }
@media (min-width: 1100px){ .ds-page{ grid-template-columns: minmax(0, 1fr) 23rem; } }
.ds-form{ display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.ds-form .dash-card-title{ margin-bottom: .2rem; }
.ds-form .dash-card-sub{ margin-bottom: 1rem; }
.ds-form .dash-field{ margin-bottom: .85rem; }
.ds-form .dash-field:last-child{ margin-bottom: 0; }

.ds-media{ display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 560px){ .ds-media{ grid-template-columns: 2fr 1fr; } }
.ds-drop{
    display: flex; flex-direction: column; gap: .5rem; padding: .85rem; border: 1.5px dashed var(--dash-border);
    border-radius: 1rem; cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.ds-drop:hover{ border-color: var(--c-plum); background: #fdfbfc; }
.ds-drop-preview{
    position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden;
    background: #f1f5f9; border-radius: .8rem; color: #94a3b8; font-size: .85rem; font-weight: 700;
}
.ds-drop-preview--wide{ height: 7rem; }
.ds-drop-preview--round{ height: 7rem; width: 7rem; border-radius: 9999px; margin: 0 auto; font-size: 1.6rem; }
.ds-drop-preview img{ width: 100%; height: 100%; object-fit: cover; }
.ds-drop-preview img[hidden], .ds-drop-empty[hidden]{ display: none; }
.ds-drop-label{ font-size: .82rem; font-weight: 800; color: #334155; }
.ds-remove-row{ display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .75rem; }
.ds-remove-row:empty{ display: none; }

.ds-color-row{ display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.ds-color-input{
    width: 3rem; height: 2.6rem; padding: 0; border: 1.5px solid var(--dash-border); border-radius: .7rem;
    background: none; cursor: pointer; flex-shrink: 0;
}
.ds-color-input::-webkit-color-swatch-wrapper{ padding: .2rem; }
.ds-color-input::-webkit-color-swatch{ border: none; border-radius: .5rem; }
.ds-color-text{ width: 7.5rem; text-align: center; font-weight: 800; text-transform: lowercase; }
.ds-swatches{ display: flex; gap: .35rem; flex-wrap: wrap; }
.ds-swatch{
    width: 1.9rem; height: 1.9rem; border-radius: .6rem; background: var(--sw); cursor: pointer;
    border: 2px solid #fff; box-shadow: 0 0 0 1.5px var(--dash-border); transition: transform .12s ease;
}
.ds-swatch:hover{ transform: scale(1.1); }
.ds-tagline{ margin-top: 1rem; }
.ds-actions{ display: flex; gap: .6rem; flex-wrap: wrap; padding-top: .25rem; }

/* ---------- Ø§Ù„Ù…Ø¹Ø§ÙŠÙ†Ø© Ø§Ù„Ø­ÙŠØ© (Ù…Ø­Ø§ÙƒÙŠ Ø¢ÙŠÙÙˆÙ†) ---------- */
.ds-preview{ display: flex; flex-direction: column; align-items: center; gap: .7rem; }
@media (min-width: 1100px){ .ds-preview{ position: sticky; top: 5rem; } }
.ds-preview-head{ display: flex; align-items: center; gap: .6rem; }
.ds-live{ font-size: .75rem; font-weight: 800; color: #047857; background: #ecfdf5; border-radius: 9999px; padding: .2rem .7rem; }
.phone--preview{ height: 39rem; max-width: 20.5rem; }
.phone-screen{ padding-top: 2.6rem; }              /* Ù…Ø³Ø§Ø­Ø© Ø´Ø±ÙŠØ· Ø§Ù„Ø­Ø§Ù„Ø© ÙˆØ§Ù„Ø¬Ø²ÙŠØ±Ø© */
/* Ø§Ù„Ø¥Ø·Ø§Ø± ÙŠÙØ±Ø³ÙŽÙ… Ø¨Ø¹Ø±Ø¶ Ø¬ÙˆØ§Ù„ Ø­Ù‚ÙŠÙ‚ÙŠ (Ù£Ù©Ù px) ÙˆÙŠÙØµØºÙŽÙ‘Ø± Ø¨ØµØ±ÙŠØ§Ù‹ â€” Ø§Ù„Ø¶Ø¨Ø· ÙÙŠ
   assets/js/dashboard.js. Ùˆ overflow:hidden Ù‡Ù†Ø§ ÙŠÙ‚ØµÙ‘ Ù…Ø§ ÙŠÙÙŠØ¶ Ø¨Ø¹Ø¯ Ø§Ù„ØªØµØºÙŠØ±ØŒ
   Ùˆ position:relative ØªØ¬Ø¹Ù„ Ø§Ù„Ø¥Ø·Ø§Ø± Ø§Ù„Ù…ÙØ­ÙˆÙŽÙ‘Ù„ ÙŠÙ†Ø·Ù„Ù‚ Ù…Ù† Ø²Ø§ÙˆÙŠØ© Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚. */
.phone-screen--frame{ padding-top: 2.6rem; overflow: hidden; position: relative; }
.phone-screen--frame iframe{
    height: 100%; border-radius: 0 0 2.5rem 2.5rem; box-shadow: none;
    display: block; border: 0;
}
.phone-screen{
    width: 100%; height: 100%; border-radius: 1.8rem; background: #fff; overflow-y: auto; overflow-x: hidden;
    text-align: start; scrollbar-width: none;
}
.phone-screen::-webkit-scrollbar{ display: none; }

.pv-cover{ position: relative; height: 6.5rem; background: #f8f1f5; background: color-mix(in srgb, var(--brand) 12%, #fff); }
.pv-cover img{ width: 100%; height: 100%; object-fit: cover; }
.pv-cover img[hidden]{ display: none; }
.pv-avatar{
    position: absolute; bottom: -1.6rem; inset-inline-start: 1rem; width: 3.6rem; height: 3.6rem; border-radius: 1.1rem;
    background: var(--brand); color: #fff; border: 3px solid #fff; overflow: hidden;
    display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 900;
    box-shadow: 0 8px 18px -10px rgba(15, 23, 42, .5);
}
.pv-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.pv-avatar img[hidden], .pv-avatar span[hidden], .pv-tagline[hidden]{ display: none; }
.pv-body{ padding: 2.2rem 1rem 1.25rem; }
.pv-name{ font-size: 1.05rem; font-weight: 900; color: #0f172a; }
.pv-tagline{ font-size: .75rem; color: #475569; margin-top: .15rem; }
.pv-meta{ font-size: .7rem; color: #94a3b8; margin-top: .2rem; }
.pv-social{ display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .6rem; }
.pv-social:empty{ display: none; }
.pv-social-chip{
    font-size: .65rem; font-weight: 800; padding: .2rem .6rem; border-radius: 9999px;
    color: var(--brand); background: #f8f1f5; border: 1px solid #ecd9e4;
    background: color-mix(in srgb, var(--brand) 10%, #fff);
    border-color: color-mix(in srgb, var(--brand) 25%, #fff);
}
.pv-search{
    margin-top: .9rem; padding: .55rem .8rem; border-radius: .8rem; background: #f8fafc;
    border: 1px solid #eef2f6; font-size: .72rem; color: #94a3b8;
}
.pv-tabs{ display: flex; gap: .35rem; margin-top: .8rem; }
.pv-tab{ font-size: .65rem; font-weight: 800; padding: .25rem .7rem; border-radius: 9999px; background: #f1f5f9; color: #64748b; }
.pv-tab.is-active{ background: var(--brand); color: #fff; }
.pv-dishes{ margin-top: .8rem; display: flex; flex-direction: column; gap: .5rem; }
.pv-empty{ font-size: .72rem; color: #94a3b8; text-align: center; padding: 1.25rem 0; }
.pv-dish{ display: flex; align-items: center; gap: .55rem; padding: .5rem; border: 1px solid #f1f5f9; border-radius: .8rem; }
.pv-dish img, .pv-dish-img{
    width: 2.4rem; height: 2.4rem; border-radius: .6rem; object-fit: cover; background: #f1f5f9; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; font-size: 1rem;
}
.pv-dish-info{ flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pv-dish-name{ font-size: .75rem; font-weight: 700; color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pv-dish-price{ font-size: .7rem; font-weight: 800; color: var(--brand); }
.pv-add{
    width: 1.5rem; height: 1.5rem; border-radius: 9999px; background: #f8f1f5;
    background: color-mix(in srgb, var(--brand) 12%, #fff);
    color: var(--brand); font-weight: 900; font-size: .8rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pv-cta{
    margin-top: 1rem; padding: .6rem; border-radius: .8rem; background: var(--brand); color: #fff;
    text-align: center; font-size: .78rem; font-weight: 800;
}

/* ======================================================================
   Ø§Ù„ÙØ±ÙˆØ¹ â€” Ù‚Ø§Ø¦Ù…Ø© Ø§Ù„ØªØ¨Ø¯ÙŠÙ„ ÙÙŠ Ù„ÙˆØ­Ø© Ø§Ù„ØªØ­ÙƒÙ… + Ø§Ø®ØªÙŠØ§Ø± Ø§Ù„ÙØ±Ø¹ ÙÙŠ ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù…
   ====================================================================== */
.sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.branch-switch{ display: flex; align-items: center; gap: .3rem; background: #fff; border: 1.5px solid var(--dash-border); border-radius: .8rem; padding: .2rem .5rem; }
.branch-switch:focus-within{ border-color: var(--c-plum); box-shadow: 0 0 0 3px rgba(95, 15, 64, .1); }
.branch-switch-ico{ font-size: .9rem; }
.branch-select{ border: 0; background: transparent; font-size: .82rem; font-weight: 800; color: var(--dash-text); padding: .35rem .2rem; max-width: 9rem; cursor: pointer; }
.branch-select:focus{ outline: none; }
@media (max-width: 480px){ .branch-select{ max-width: 6rem; } }

.branch-page{ display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: start; }
@media (min-width: 1100px){ .branch-page{ grid-template-columns: minmax(0, 1fr) 24rem; } }
.branch-list{ display: flex; flex-direction: column; gap: 1rem; }
.branch-card{ --card-radius: 1.2rem; --card-border: var(--dash-border); padding: 1.1rem; display: flex; flex-direction: column; gap: .8rem; border-inline-start: 4px solid var(--dash-border); }
.branch-card.is-current{ border-inline-start-color: var(--c-plum); }
.branch-card.is-off{ opacity: .7; background: #fbfbfd; }
.branch-card-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.branch-name{ font-size: 1.05rem; font-weight: 900; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.branch-meta{ font-size: .8rem; color: var(--dash-muted); margin-top: .25rem; }
.branch-tag{ font-size: .62rem; font-weight: 800; border-radius: 9999px; padding: .12rem .5rem; background: #f1f5f9; color: #64748b; }
.branch-tag--default{ background: #ecfdf5; color: #047857; }
.branch-tag--current{ background: #f8f1f5; color: var(--c-plum); }
.branch-tag--off{ background: #fef2f2; color: #b91c1c; }
.branch-stats{ display: flex; gap: .75rem; font-size: .8rem; font-weight: 700; color: #475569; white-space: nowrap; }
.branch-link-row{ display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }
.branch-link{ flex: 1; min-width: 12rem; width: auto; font-size: .75rem; }
.branch-actions{ display: flex; flex-wrap: wrap; gap: .4rem; padding-top: .3rem; border-top: 1px dashed #f1f5f9; }
.branch-form{ position: sticky; top: 5rem; }

.rest-branches{ display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-bottom: .9rem; }
.rest-branches-label{ font-size: .78rem; font-weight: 800; color: #64748b; }
.rest-branch{
    font-size: .78rem; font-weight: 700; padding: .3rem .8rem; border-radius: 9999px;
    background: #fff; border: 1.5px solid #e2e8f0; color: #475569; transition: all .15s ease;
}
.rest-branch:hover{ border-color: var(--c-brand, #5f0f40); color: var(--c-brand, #5f0f40); }
.rest-branch.is-active{ background: var(--c-brand, #5f0f40); border-color: var(--c-brand, #5f0f40); color: #fff; }
.rest-branch-info{ display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .9rem; }

/* ======================================================================
   dashboard/index.php â€” Ø§Ù„ØªØ­Ù„ÙŠÙ„Ø§Øª (Ø²ÙŠØ§Ø±Ø§ØªØŒ Ø£ÙˆÙ‚Ø§Øª Ø§Ù„Ø°Ø±ÙˆØ©ØŒ Ø§Ù„Ø£ÙƒØ«Ø± ØªØµÙØ­Ø§Ù‹ ÙˆÙ…Ø¨ÙŠØ¹Ø§Ù‹)
   Ø³Ù„Ø³Ù„Ø© ÙˆØ§Ø­Ø¯Ø© Ø¨Ù„ÙˆÙ† Ø§Ù„Ù‡ÙˆÙŠØ©: Ù„Ø§ Ø£Ù„ÙˆØ§Ù† Ù…ØªØ¹Ø¯Ø¯Ø©ØŒ ÙˆØ§Ù„Ù‚ÙŠÙ…Ø© ØªØ¸Ù‡Ø± Ø¹Ù„Ù‰ Ø¹Ù…ÙˆØ¯ Ø§Ù„Ø°Ø±ÙˆØ© ÙÙ‚Ø·
   ====================================================================== */
.an{ margin-bottom: 1.5rem; }
.an-head{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .9rem; }
.an-periods{ display: flex; gap: .3rem; background: #fff; border: 1px solid var(--dash-border); border-radius: 9999px; padding: .2rem; }
.an-period{ font-size: .78rem; font-weight: 700; color: #64748b; padding: .35rem .85rem; border-radius: 9999px; transition: background .15s ease, color .15s ease; }
.an-period:hover{ background: #f8fafc; color: var(--dash-text); }
.an-period.is-active{ background: var(--c-plum); color: #fff; }

.an-kpis{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-bottom: 1rem; }
@media (min-width: 900px){ .an-kpis{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }
.an-kpi{ background: var(--dash-surface); border: 1px solid var(--dash-border); border-radius: var(--dash-radius); padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: .2rem; }
.an-kpi-label{ font-size: .76rem; font-weight: 700; color: var(--dash-muted); }
.an-kpi-value{ font-size: 1.6rem; font-weight: 900; line-height: 1.2; font-variant-numeric: tabular-nums; color: var(--dash-text); }
.an-kpi-foot{ font-size: .7rem; color: #94a3b8; }

.an-grid{ display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: start; }
@media (min-width: 1200px){ .an-grid{ grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }

/* ---------- Ø±Ø³Ù… Ø£ÙˆÙ‚Ø§Øª Ø§Ù„Ø°Ø±ÙˆØ© ---------- */
.an-chart{
    display: flex; align-items: flex-end; gap: 2px; height: 11rem; padding-top: 1.25rem;
    border-bottom: 1px solid var(--dash-border);
    /* Ø§Ù„Ø³Ø§Ø¹Ø§Øª Ù…Ø±ØªÙ‘Ø¨Ø© 0â†23 ÙÙŠ Ø§Ù„Ù€ HTML: ØªØ¨Ø¯Ø£ Ù…Ù† Ø§Ù„ÙŠÙ…ÙŠÙ† ÙÙŠ Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© ÙˆÙ…Ù† Ø§Ù„ÙŠØ³Ø§Ø±
       ÙÙŠ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ©ØŒ ÙÙ†ØªØ±Ùƒ Ø§Ù„Ø§ØªØ¬Ø§Ù‡ ÙŠØªØ¨Ø¹ Ù„ØºØ© Ø§Ù„ØµÙØ­Ø© Ø¨Ø¯Ù„ ØªØ«Ø¨ÙŠØªÙ‡ Ø¹Ù„Ù‰ rtl. */
    direction: inherit;
}
.an-bar-wrap{ position: relative; flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.an-bar{
    display: block; width: 100%; max-width: 1.5rem; min-height: 2px; height: 0; border-radius: 4px 4px 0 0;
    background: #e9dce4; transition: height .5s ease, background .15s ease;
}
.an-bar-wrap:hover .an-bar{ background: #cdb0c1; }
.an-bar-wrap.is-peak .an-bar{ background: var(--c-plum); }
.an-bar-value{
    position: absolute; top: -1.15rem; font-size: .7rem; font-weight: 800; color: var(--c-plum);
    font-variant-numeric: tabular-nums; white-space: nowrap;
}
.an-bar-label{ position: absolute; bottom: -1.3rem; font-size: .62rem; color: #94a3b8; white-space: nowrap; }
.an-chart-card{ padding-bottom: 2.75rem; }
.an-chart-note{ margin-top: 2rem; font-size: .74rem; color: #94a3b8; }

/* ---------- Ù‚ÙˆØ§Ø¦Ù… Ø§Ù„ØªØ±ØªÙŠØ¨ ---------- */
.an-lists{ display: flex; flex-direction: column; gap: 1.5rem; }
.an-list .dash-card-title{ font-size: .95rem; margin-bottom: .75rem; }
.an-empty{ font-size: .8rem; color: #94a3b8; padding: .75rem 0; }
.an-rank{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.an-rank li{ display: grid; grid-template-columns: 1.3rem minmax(0, 1fr) auto; align-items: center; gap: .5rem; position: relative; }
.an-rank-num{ font-size: .72rem; font-weight: 900; color: #cbd5e1; }
.an-rank-name{ font-size: .84rem; font-weight: 700; color: var(--dash-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.an-rank-value{ font-size: .74rem; font-weight: 800; color: var(--dash-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.an-rank-bar{
    grid-column: 2 / 3; grid-row: 2; height: .35rem; width: 0; border-radius: 9999px;
    background: var(--c-plum); opacity: .85; transition: width .5s ease;
}
.an-rank-bar--sell{ background: var(--c-orange, #FB8B24); }
.an-rank li{ grid-template-rows: auto auto; }

/* ---------- Ø¨Ù†Ø§Ø¡ Ø§Ù„Ù…Ù†ÙŠÙˆ: Ø£Ù‚Ø³Ø§Ù… Ø¬Ø§Ù‡Ø²Ø© ---------- */
.b-new-section{ flex-direction: column; align-items: stretch; gap: .75rem; }
.b-new-section-row{ display: flex; gap: .5rem; flex-wrap: wrap; }
.b-new-section-row .dash-input{ flex: 1; min-width: 12rem; }
.b-presets{ display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.b-presets-label{ font-size: .72rem; font-weight: 700; color: #94a3b8; margin-inline-end: .2rem; }
.b-preset{
    font-size: .75rem; font-weight: 700; color: #475569; background: #f8fafc; border: 1px solid var(--dash-border);
    border-radius: 9999px; padding: .28rem .7rem; cursor: pointer; transition: all .15s ease;
}
.b-preset:hover{ border-color: var(--c-plum); color: var(--c-plum); background: #fff; }

/* ======================================================================
   Ø±Ù…Ø² QR Ù„Ù„Ù…Ù†ÙŠÙˆ â€” dashboard/qr-code.php
   ====================================================================== */
.qr-layout{ display: grid; gap: 1.5rem; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px){ .qr-layout{ grid-template-columns: minmax(0, 380px) minmax(0, 1fr); } }

/* ---------- Ø³ØªØ§Ù†Ø¯ Ø§Ù„Ø·Ø§ÙˆÙ„Ø© ---------- */
.qr-stand-wrap{ display: flex; flex-direction: column; align-items: center; }
.qr-stand{
    width: 100%; max-width: 320px; border-radius: 1.4rem 1.4rem .5rem .5rem; overflow: hidden;
    background: linear-gradient(160deg, #7a1552 0%, var(--c-plum) 55%, #400a2b 100%);
    box-shadow: 0 26px 45px -25px rgba(95, 15, 64, .75);
    padding: 1.1rem 1.1rem 0;
}
.qr-stand-body{
    background: #fff; border-radius: 1rem; padding: 1.25rem 1rem 1.1rem;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    border-top: 4px solid var(--c-orange, #FB8B24);
}
.qr-stand-logo{ width: 3rem; height: 3rem; border-radius: 9999px; object-fit: cover; margin-bottom: .5rem; }
.qr-stand-name{ font-size: 1.05rem; font-weight: 900; color: var(--c-plum); line-height: 1.3; }
.qr-stand-branch{ font-size: .75rem; font-weight: 700; color: #94a3b8; margin-top: .15rem; }
.qr-stand-code{
    width: 100%; max-width: 220px; margin: .9rem 0 .75rem; padding: .5rem;
    background: #fff; border: 1px solid #f1f5f9; border-radius: .75rem;
}
.qr-stand-code svg{ width: 100%; height: auto; display: block; }
.qr-stand-cta{ font-size: .88rem; font-weight: 800; color: #0f172a; }
.qr-stand-cta-en{ font-size: .68rem; font-weight: 700; color: #94a3b8; letter-spacing: .04em; text-transform: uppercase; }
.qr-stand-foot{
    padding: .6rem 0 .7rem; text-align: center; font-size: .82rem; font-weight: 900;
    color: hsla(0, 0%, 100%, .75); letter-spacing: .02em;
}
.qr-stand-base{
    width: 80%; max-width: 260px; height: .55rem; border-radius: 0 0 1rem 1rem;
    background: linear-gradient(180deg, #400a2b, #2a061c);
    box-shadow: 0 16px 24px -18px rgba(15, 23, 42, .8);
}
.qr-stand-hint{ margin-top: .9rem; font-size: .74rem; color: #94a3b8; text-align: center; }

/* ---------- Ø§Ù„Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª ÙˆØ§Ù„ØªØ­Ù…ÙŠÙ„ ---------- */
.qr-side{ display: flex; flex-direction: column; gap: 1rem; }
.qr-chips{ display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.qr-chip{
    display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 700; color: #475569;
    background: #f8fafc; border: 1px solid var(--dash-border); border-radius: 9999px; padding: .35rem .85rem;
    transition: all .15s ease;
}
.qr-chip:hover{ border-color: var(--c-plum); color: var(--c-plum); background: #fff; }
.qr-chip.is-active{ background: var(--c-plum); border-color: var(--c-plum); color: #fff; }
.qr-chip-dot{ width: .75rem; height: .75rem; border-radius: 9999px; box-shadow: 0 0 0 1px rgba(15, 23, 42, .15); }
.qr-chip.is-active .qr-chip-dot{ box-shadow: 0 0 0 2px hsla(0, 0%, 100%, .9); }
.qr-chip-dot--plum{ background: #5f0f40; }
.qr-chip-dot--black{ background: #111827; }
.qr-link-row{ display: flex; gap: .5rem; align-items: center; margin-top: .6rem; }
.qr-link-row .dash-input{ flex: 1; min-width: 0; font-size: .78rem; }
.qr-downloads{ display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.qr-tips{ margin-top: .9rem; display: flex; flex-direction: column; gap: .35rem; font-size: .76rem; color: var(--dash-muted); }
.qr-tips li{ padding-inline-start: .9rem; position: relative; }
.qr-tips li::before{ content: "â€¢"; position: absolute; inset-inline-start: 0; color: var(--c-orange, #FB8B24); font-weight: 900; }

/* ======================================================================
   Ø§Ø³ØªÙŠØ±Ø§Ø¯ Ø§Ù„Ù…Ù†ÙŠÙˆ Ù…Ù† PDF â€” dashboard/menu-builder.php
   ====================================================================== */
.dash-btn--import{
    background: #fff; color: var(--c-plum); border: 1px solid #e9d5e0;
    box-shadow: 0 8px 18px -14px rgba(95, 15, 64, .6);
}
.dash-btn--import:hover{ background: #fdf7fb; border-color: var(--c-plum); }
.dash-btn-ico{ margin-inline-end: .35rem; }

/* ---------- Ø§Ù„Ø®Ø·ÙˆØ© 1: Ø§Ù„Ù…Ù„Ù ---------- */
.pdf-drop{
    display: flex; flex-direction: column; align-items: center; gap: .3rem; text-align: center;
    padding: 2rem 1rem; border: 2px dashed #e2c9d9; border-radius: 1rem; cursor: pointer;
    background: linear-gradient(180deg, #fdf7fb, #fff); transition: all .15s ease;
}
.pdf-drop:hover, .pdf-drop.is-over{ border-color: var(--c-plum); background: #fbf1f7; }
.pdf-drop-input{ position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pdf-drop-ico{ font-size: 1.8rem; }
.pdf-drop-title{ font-size: .92rem; font-weight: 800; color: var(--c-plum); }
.pdf-drop-hint{ font-size: .75rem; color: #94a3b8; }
.pdf-drop-file{
    margin-top: .5rem; font-size: .78rem; font-weight: 700; color: #0f172a;
    background: #fff; border: 1px solid var(--dash-border); border-radius: 9999px; padding: .25rem .8rem;
}
.pdf-manual{ margin-top: 1rem; }
.pdf-manual summary{ font-size: .8rem; font-weight: 700; color: var(--c-plum); cursor: pointer; }
.pdf-manual textarea{ margin-top: .6rem; font-size: .82rem; line-height: 1.7; }

/* ---------- Ø§Ù„Ø®Ø·ÙˆØ© 2: Ø§Ù„Ù…Ø¹Ø§ÙŠÙ†Ø© ---------- */
.pdf-summary{ margin-bottom: .9rem; }
.pdf-summary-row{ display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .88rem; color: var(--dash-text); }
.pdf-badge{
    font-size: .7rem; font-weight: 800; color: var(--c-plum); background: #f8f1f5;
    border-radius: 9999px; padding: .2rem .65rem;
}
.pdf-notice{
    margin-top: .5rem; font-size: .76rem; color: #92400e; background: #fffbeb;
    border: 1px solid #fde68a; border-radius: .6rem; padding: .5rem .7rem; line-height: 1.6;
}
.pdf-preview{ max-height: 45vh; overflow-y: auto; display: flex; flex-direction: column; gap: .5rem; padding-inline-end: .2rem; }

/* Ø§Ø®ØªÙŠØ§Ø± Ø§Ù„Ù‚Ø³Ù… Ù„ÙƒÙ„ Ø§Ù„Ø£Ø·Ø¨Ø§Ù‚ Ø¯ÙØ¹Ø© ÙˆØ§Ø­Ø¯Ø© */
.pdf-bulk{ border: 1px solid var(--dash-border); border-radius: .85rem; padding: .7rem .85rem; background: #fcfcfd; margin-bottom: .9rem; }
.pdf-bulk-row{ display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .4rem; }
.pdf-bulk-row .dash-input{ flex: 1; min-width: 10rem; }
.pdf-bulk .dash-hint{ margin-top: .45rem; }

/* Ø³Ø·Ø± Ø§Ù„Ø·Ø¨Ù‚ ÙÙŠ Ø§Ù„Ù…Ø¹Ø§ÙŠÙ†Ø©: ØµÙˆØ±Ø© + Ø­Ù‚ÙˆÙ„ + Ù‚Ø³Ù… */
.pdf-dish{
    display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) 2rem; gap: .55rem; align-items: center;
    border: 1px solid var(--dash-border); border-radius: .8rem; padding: .5rem; background: #fff;
}
.pdf-dish-img{
    width: 3.4rem; height: 3.4rem; border-radius: .6rem; object-fit: cover;
    background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.pdf-dish-img--empty{ color: #cbd5e1; }
.pdf-dish-main{ display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.pdf-dish-fields{ display: grid; grid-template-columns: minmax(0, 1fr) 5rem 5rem 9rem; gap: .4rem; }
.pdf-dish-meta{ display: flex; flex-wrap: wrap; gap: .5rem; font-size: .72rem; }
.pdf-dish-hint{ color: var(--c-plum); background: #f8f1f5; border-radius: 9999px; padding: .1rem .5rem; }
.pdf-dish-desc{ color: #94a3b8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 22rem; }
.pdf-dish-price, .pdf-dish-cal{ text-align: center; font-variant-numeric: tabular-nums; }
.pdf-dish-cal{ font-size: .8rem; }
.pdf-dish-price.is-empty{ border-color: var(--c-orange, #FB8B24); background: #fffbeb; }
.pdf-badge--warn{ color: #92400e; background: #fef3c7; }
.pdf-dish-section{ font-size: .78rem; padding-inline: .5rem; text-overflow: ellipsis; }
.pdf-dish-x{
    width: 2rem; height: 2rem; border-radius: .6rem; border: 1px solid var(--dash-border);
    background: #fff; color: #94a3b8; font-size: .8rem; cursor: pointer; transition: all .15s ease;
}
.pdf-dish-x:hover{ border-color: #fca5a5; color: #dc2626; background: #fef2f2; }
.pdf-loading:not([hidden]){
    margin-top: .8rem; font-size: .8rem; font-weight: 700; color: var(--c-plum);
    display: flex; align-items: center; gap: .5rem;
}
.pdf-loading::before{
    content: ""; width: 1rem; height: 1rem; border-radius: 9999px;
    border: 2px solid #e9d5e0; border-top-color: var(--c-plum); animation: pdf-spin .7s linear infinite;
}
@keyframes pdf-spin{ to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .pdf-loading::before{ animation: none; } }
@media (max-width: 640px){
    .pdf-dish-fields{ grid-template-columns: minmax(0, 1fr) 4.5rem 4.5rem; }
    .pdf-dish-section{ grid-column: 1 / -1; }
}
/* Ø§Ù„Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ù…Ø®ÙÙŠØ© Ø¨Ø³Ù…Ø© hidden (Ù…Ø«Ù„ Ø²Ø± Â«Ø±Ø¬ÙˆØ¹Â» ÙÙŠ Ù†Ø§ÙØ°Ø© Ø§Ù„Ø§Ø³ØªÙŠØ±Ø§Ø¯) */
.dash-btn[hidden]{ display: none; }

/* ---------- Ø§Ù„Ø­Ù‚ÙˆÙ„ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ© Ø¯Ø§Ø®Ù„ Ù†Ø§ÙØ°Ø© Ø§Ù„Ø·Ø¨Ù‚ ---------- */
.dish-en{ border: 1px solid var(--dash-border); border-radius: .85rem; padding: .7rem .85rem; background: #fcfcfd; }
.dish-en summary{ font-size: .84rem; font-weight: 800; color: var(--c-plum); cursor: pointer; }
.dish-en summary::marker{ color: #cbd5e1; }
.dish-en[open] summary{ margin-bottom: .5rem; }
.dish-en .dash-field{ margin-top: .55rem; }
.dish-en .dash-input{ font-size: .85rem; }

/* ---------- Ø´Ø±ÙŠØ· Ø§Ù„ØªÙ‚Ø¯Ù… Ø£Ø«Ù†Ø§Ø¡ Ù‚Ø±Ø§Ø¡Ø© ØµÙØ­Ø§Øª Ø§Ù„Ù…Ù„Ù ---------- */
.pdf-progress{ margin-top: 1rem; }
.pdf-progress-head{ display: flex; justify-content: space-between; align-items: baseline; font-size: .82rem; font-weight: 700; color: var(--c-plum); margin-bottom: .4rem; }
.pdf-progress-pct{ font-variant-numeric: tabular-nums; color: #94a3b8; font-weight: 800; }
.pdf-progress-track{ height: .55rem; border-radius: 9999px; background: #f1e7ee; overflow: hidden; }
.pdf-progress-fill{
    display: block; height: 100%; width: 0; border-radius: 9999px;
    background: linear-gradient(90deg, var(--c-plum), var(--c-orange, #FB8B24));
    transition: width .4s ease;
}
.pdf-progress-hint{ margin-top: .45rem; font-size: .74rem; color: #94a3b8; }
@media (prefers-reduced-motion: reduce){ .pdf-progress-fill{ transition: none; } }
.dash-btn:disabled{ opacity: .55; cursor: default; }

/* ---------- ÙØ­Øµ Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§Ù„Ù‚Ø±Ø§Ø¡Ø© Ø§Ù„Ø°ÙƒÙŠØ© ---------- */
.pdf-tools{ margin-top: .7rem; text-align: start; }
.pdf-checks{ margin-top: .6rem; display: flex; flex-direction: column; gap: .4rem; }
.pdf-checks-loading{ font-size: .8rem; color: var(--dash-muted); }
.pdf-check{
    display: grid; grid-template-columns: 1.3rem 1fr; gap: .5rem; align-items: start;
    font-size: .78rem; border: 1px solid var(--dash-border); border-radius: .7rem; padding: .5rem .6rem; background: #fcfcfd;
}
.pdf-check strong{ display: block; color: var(--dash-text); font-size: .8rem; }
.pdf-check-detail{ color: var(--dash-muted); word-break: break-word; }
.pdf-check--ok{ border-color: #bbf7d0; background: #f0fdf4; }
.pdf-check--warn{ border-color: #fde68a; background: #fffbeb; }
.pdf-check--fail{ border-color: #fecaca; background: #fef2f2; }
.dish-modal-cal[hidden]{ display: none; }

/* ======================================================================
   Ø¨Ø§Ø±ÙƒÙˆØ¯ Ø§Ù„Ø·Ø§ÙˆÙ„Ø§Øª (Dine-in QR) â€” dashboard/qr-generator.php
   ====================================================================== */
.tg-setup{ display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: flex-start; }
.tg-form{ display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; }
.tg-field{ min-width: 12rem; }
.tg-field .dash-input{ font-size: 1.1rem; font-weight: 800; text-align: center; }
.tg-branches{ min-width: 14rem; }
.tg-note{ flex: 1 1 100%; margin: 0; }

.tg-grid{ display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); margin-top: 1.25rem; }
.tg-stand{
    border-radius: 1.2rem 1.2rem .6rem .6rem; overflow: hidden; padding: .85rem .85rem 0;
    background: linear-gradient(160deg, #7a1552 0%, var(--c-plum) 55%, #400a2b 100%);
    box-shadow: 0 20px 36px -24px rgba(95, 15, 64, .75);
}
.tg-stand-body{
    background: #fff; border-radius: .9rem; padding: .9rem .75rem 1rem; text-align: center;
    border-top: 4px solid var(--c-orange, #FB8B24);
    display: flex; flex-direction: column; align-items: center; gap: .25rem;
}
.tg-table-no{
    align-self: stretch; font-size: .78rem; font-weight: 900; color: #fff; background: var(--c-plum);
    border-radius: 9999px; padding: .25rem .8rem; margin-bottom: .35rem;
}
.tg-logo{ width: 2.4rem; height: 2.4rem; border-radius: 9999px; object-fit: cover; }
.tg-name{ font-size: .92rem; font-weight: 900; color: var(--c-plum); line-height: 1.3; }
.tg-code{ width: 100%; max-width: 190px; margin: .5rem 0 .45rem; padding: .35rem; border: 1px solid #f1f5f9; border-radius: .7rem; }
.tg-code img{ width: 100%; height: auto; display: block; }
.tg-cta{ font-size: .82rem; font-weight: 800; color: #0f172a; }
.tg-cta-en{ font-size: .62rem; font-weight: 700; color: #94a3b8; letter-spacing: .04em; text-transform: uppercase; }
.tg-stand-foot{ padding: .5rem 0 .55rem; text-align: center; font-size: .75rem; font-weight: 900; color: hsla(0, 0%, 100%, .75); }
.tg-actions{
    background: #fff; margin: 0 -.85rem; padding: .6rem .85rem; display: flex; align-items: center;
    justify-content: space-between; gap: .5rem; border-top: 1px solid var(--dash-border);
}
.tg-print-note{ margin-top: 1rem; font-size: .76rem; color: #94a3b8; }

/* ---------- Ø§Ù„Ø·Ø¨Ø§Ø¹Ø©: Ø§Ù„Ø³ØªØ§Ù†Ø¯Ø§Øª ÙÙ‚Ø·ØŒ Ø£Ø±Ø¨Ø¹Ø© ÙÙŠ Ø§Ù„ØµÙØ­Ø© ---------- */
@media print {
    .dash-topbar, .dash-sidebar, .dash-page-head, .tg-setup, .tg-actions, .tg-print-note,
    .dash-alert, .flash-list, .toast { display: none !important; }
    .dash-layout, .dash-main{ display: block; padding: 0; margin: 0; background: #fff; }
    .tg-grid{ grid-template-columns: repeat(2, 1fr); gap: .6rem; }
    .tg-stand{ break-inside: avoid; box-shadow: none; border: 1px solid #e5e7eb; padding: .5rem .5rem 0; }
    .tg-code{ max-width: 230px; }
}

/* ======================================================================
   Ø´Ø§Ø´Ø© Ø§Ù„ÙƒØ§Ø´ÙŠØ±: Ø±Ù‚Ù… Ø§Ù„Ø·Ø§ÙˆÙ„Ø© ÙˆØ§Ù„ØªÙ†Ø¨ÙŠÙ‡ Ø§Ù„Ø­ÙŠ
   ====================================================================== */
.order-table{
    display: flex; align-items: center; gap: .4rem; margin: .1rem 0 .6rem;
    font-size: .84rem; font-weight: 800; color: var(--c-plum);
    background: #f8f1f5; border: 1px solid #efdce7; border-radius: .7rem; padding: .4rem .7rem;
}
.order-table strong{ font-size: 1rem; }
.order-table-ico{ font-size: .95rem; flex: none; }
.order-table--away{ color: #64748b; background: #f8fafc; border-color: var(--dash-border); font-weight: 700; }

/* Ø±Ù‚Ù… Ø§Ù„Ø·Ø§ÙˆÙ„Ø© Ø«Ù… Ø³Ø¹Ø± Ø§Ù„Ø·Ù„Ø¨ ØªØ­ØªÙ‡ Ù…Ø¨Ø§Ø´Ø±Ø© â€” Ø§Ù„ÙƒØ§Ø´ÙŠØ± ÙŠÙ‚Ø±Ø£ Ø§Ù„Ø³Ø·Ø±ÙŠÙ† Ø¨Ù†Ø¸Ø±Ø© ÙˆØ§Ø­Ø¯Ø© */
.order-table-text{ display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.order-table-new{ font-size: .68rem; font-weight: 800; color: var(--c-orange, #FB8B24); letter-spacing: .02em; }
.order-table-no{ font-size: 1rem; font-weight: 900; line-height: 1.25; }
.order-table-price{ font-size: .9rem; font-weight: 800; color: inherit; opacity: .85; }

/* Ø³Ø·Ø± Ø§Ù„Ø¶Ø±ÙŠØ¨Ø© Ø£Ø³ÙÙ„ Ø§Ù„Ø¥Ø¬Ù…Ø§Ù„ÙŠ */
.order-vat{ display: block; font-size: .7rem; font-weight: 600; color: var(--dash-muted, #64748b); margin-top: .1rem; }

.order-alert{
    display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin-bottom: .9rem;
    padding: .8rem 1rem; border-radius: .9rem; color: #fff;
    background: linear-gradient(90deg, var(--c-plum), #8a1c5e);
    box-shadow: 0 14px 30px -18px rgba(95, 15, 64, .9);
    animation: order-pop .35s ease;
}
.order-alert[hidden]{ display: none; }
.order-alert-ico{ font-size: 1.3rem; animation: order-ring 1.4s ease-in-out infinite; }
.order-alert-text{ flex: 1; min-width: 12rem; font-size: .92rem; font-weight: 800; }
.order-alert .dash-btn--primary{ background: var(--c-orange, #FB8B24); box-shadow: none; }

.order-live{ display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; }
.order-live-toggle{ display: inline-flex; align-items: center; gap: .4rem; font-size: .76rem; color: var(--dash-muted); cursor: pointer; }
.order-live-dot{ width: .5rem; height: .5rem; border-radius: 9999px; background: #cbd5e1; }
.order-live-dot.is-live{ background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .18); }

@keyframes order-pop{ from { transform: translateY(-6px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes order-ring{ 0%, 60%, 100% { transform: rotate(0); } 70% { transform: rotate(12deg); } 80% { transform: rotate(-10deg); } }
@media (prefers-reduced-motion: reduce){
    .order-alert, .order-alert-ico{ animation: none; }
}

/* ======================================================================
   Ø§Ù„ØµÙØ­Ø© Ø§Ù„Ø±Ø¦ÙŠØ³ÙŠØ©: Ø§Ù„Ù‡ÙˆÙŠØ© Â«Ø§Ù„Ù…Ù†ÙŠÙˆ almenuÂ» + Ø§Ù„Ø¨Ø·Ù„ (Ù…Ø­Ø±Ùƒ Ø§Ù„Ø¨Ø­Ø«) + Ø§Ù„ØªØ°ÙŠÙŠÙ„
   ====================================================================== */

/* ---------- Ø§Ù„Ø´Ø¹Ø§Ø± Ø§Ù„Ù†ØµÙŠ ---------- */
.brand-mark{
    display: inline-flex; align-items: center; gap: .6rem; text-decoration: none;
}
.brand-ico{
    width: 2.5rem; height: 2.5rem; border-radius: .85rem; flex: none;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.05rem;
    background: linear-gradient(135deg, var(--c-plum, #5f0f40), var(--c-orange, #FB8B24));
    box-shadow: 0 8px 20px -10px rgba(95, 15, 64, .55);
}
.brand-text{ display: flex; flex-direction: column; line-height: 1; }
.brand-ar{
    font-size: 1.3rem; font-weight: 900; letter-spacing: -.02em;
    color: var(--c-plum, #5f0f40);
}
.brand-en{
    font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: lowercase;
    color: var(--c-orange, #FB8B24); margin-top: .18rem;
}

.brand-mark--lg .brand-ico{ width: 3.4rem; height: 3.4rem; border-radius: 1.1rem; font-size: 1.4rem; }
.brand-mark--lg .brand-ar{ font-size: 2rem; }
.brand-mark--lg .brand-en{ font-size: .85rem; }

/* ---------- Ø§Ù„Ø¨Ø·Ù„: Ù…Ø­Ø±Ùƒ Ø§Ù„Ø¨Ø­Ø« ---------- */
.hero-search{
    width: 100%; max-width: 46rem; margin: 0 auto;
    display: flex; flex-direction: column; align-items: center; gap: 1.25rem;
    padding: 1rem 0 2.5rem;
}
.hero-title{
    font-size: clamp(1.35rem, 4.4vw, 2.3rem); font-weight: 900; line-height: 1.45;
    color: #0f172a; text-align: center; letter-spacing: -.015em; margin: 0;
}

.hero-box{
    width: 100%; display: flex; align-items: center; gap: .5rem;
    background: #fff; border: 1.5px solid #e2e8f0; border-radius: 1.15rem;
    padding: .55rem .55rem .55rem 1rem;
    box-shadow: 0 22px 50px -28px rgba(95, 15, 64, .38), 0 2px 6px -2px rgba(15, 23, 42, .06);
    transition: border-color .15s, box-shadow .15s;
}
.hero-box:focus-within{
    border-color: var(--c-orange, #FB8B24);
    box-shadow: 0 22px 55px -25px rgba(251, 139, 36, .5), 0 0 0 4px rgba(251, 139, 36, .14);
}
.hero-box-ico{ color: #94a3b8; font-size: 1.05rem; flex: none; padding-inline-start: .35rem; }
.hero-input{
    flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent;
    font-family: inherit; font-size: 1rem; font-weight: 600; color: #0f172a;
    padding: .75rem .4rem;
}
.hero-input::placeholder{ color: #94a3b8; font-weight: 500; }
.hero-btn{
    flex: none; border: 0; cursor: pointer; border-radius: .85rem;
    background: var(--c-orange, #FB8B24); color: #fff;
    font-family: inherit; font-size: .85rem; font-weight: 800;
    padding: .8rem 1.6rem; transition: background .15s, transform .15s;
    box-shadow: 0 10px 22px -12px rgba(251, 139, 36, .85);
}
.hero-btn:hover{ background: var(--c-plum, #5f0f40); }
.hero-btn:active{ transform: translateY(1px); }

.hero-chips{
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem;
    font-size: .78rem; font-weight: 700;
}
.hero-chips-label{ color: #94a3b8; font-weight: 600; }
.hero-chip{
    background: #fff; border: 1px solid #e2e8f0; color: #475569; cursor: pointer;
    font-family: inherit; font-size: .78rem; font-weight: 700; text-decoration: none;
    padding: .4rem .85rem; border-radius: .7rem; transition: all .15s;
}
.hero-chip:hover{ border-color: var(--c-orange, #FB8B24); color: var(--c-plum, #5f0f40); }
.hero-chip--offers{
    color: var(--c-plum, #5f0f40); border-color: rgba(251, 139, 36, .45);
    background: rgba(251, 139, 36, .09);
}
.hero-chip--offers:hover{ background: rgba(251, 139, 36, .18); }

.hero-budget{ margin-top: .5rem; }

@media (max-width: 480px){
    .hero-search{ gap: 1rem; padding-bottom: 1.75rem; }
    .hero-btn{ padding: .8rem 1.1rem; }
}

/* ---------- Ø§Ù„ØªØ°ÙŠÙŠÙ„: Ø§Ù„Ø­Ù‚ÙˆÙ‚ + Ø¨ÙˆØ§Ø¨Ø© Ø§Ù„Ù…Ø·Ø§Ø¹Ù… ---------- */
.site-foot{
    width: 100%; margin-top: auto; background: #fff;
    border-top: 1px solid #f1f5f9; padding: 1.1rem 1.25rem;
}
.site-foot-inner{
    max-width: 72rem; margin: 0 auto;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: .5rem 1.25rem; font-size: .75rem;
}
.site-foot-copy{ color: #94a3b8; }
.site-foot-partner{
    display: inline-flex; align-items: center; gap: .35rem; text-decoration: none;
    color: #64748b; font-weight: 700;
    border: 1px solid #e2e8f0; border-radius: .7rem; padding: .35rem .8rem;
    transition: all .15s;
}
.site-foot-partner:hover{
    color: var(--c-plum, #5f0f40); border-color: rgba(95, 15, 64, .3); background: #faf7f9;
}

/* ======================================================================
   ØµÙØ­Ø© Ø§Ù„Ø¹Ø±ÙˆØ¶ Ø§Ù„ØªØ±ÙˆÙŠØ¬ÙŠØ© Ø§Ù„Ø°ÙƒÙŠØ© (offers.php)
   Ø®Ù„ÙÙŠØ© Ø¨ÙŠØ¶Ø§Ø¡ Â· Ø§Ù„Ø¹Ù†Ø§Ø¨ÙŠ #5f0f40 ÙˆØ§Ù„Ø¨Ø±ØªÙ‚Ø§Ù„ÙŠ #FB8B24 ÙÙ‚Ø·
   (Ø§Ù„Ø°Ù‡Ø¨ÙŠ/Ø§Ù„Ø£Ø³ÙˆØ¯ Ù„Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø¨Ø·Ù„ Ø§Ù„Ø§ÙØªØªØ§Ø­ÙŠØ© ÙˆØ­Ø¯Ù‡Ø§)
   ====================================================================== */
.of-page{ background: #fff; }

.of-demo-note{
    background: #fff8ef; border: 1px solid rgba(251, 139, 36, .35); color: #7c4a12;
    border-radius: 1rem; padding: .85rem 1.1rem; font-size: .84rem; line-height: 1.9;
    margin-bottom: 1.5rem;
}
.of-demo-note code{
    background: #fff; border: 1px solid #f0e2d2; border-radius: .35rem;
    padding: 0 .3rem; font-size: .78rem; direction: ltr; display: inline-block;
}

/* ---------- 1) Ø§Ù„Ø¨Ø·Ù„ Ø§Ù„Ø§ÙØªØªØ§Ø­ÙŠ ---------- */
.of-hero{ margin-bottom: 2.5rem; }
.of-hero-card{
    position: relative; overflow: hidden; border-radius: 1.5rem;
    min-height: 20rem; display: flex; align-items: flex-end;
    background: #0b0b0c; cursor: default;
    box-shadow: 0 30px 60px -35px rgba(0, 0, 0, .55);
}
.of-hero-card[role="button"]{ cursor: pointer; }
.of-hero-card[role="button"]:hover .of-hero-img{ transform: scale(1.03); }
.of-hero-card:focus-visible{ outline: 3px solid var(--c-orange, #FB8B24); outline-offset: 3px; }

.of-hero-img{
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    transition: transform .5s ease;
}
/* Ø§Ù„ØªØ¯Ø±Ù‘Ø¬ Ø§Ù„Ø°Ù‡Ø¨ÙŠ/Ø§Ù„Ø£Ø³ÙˆØ¯ Ù„Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø±Ø§Ø¹ÙŠ */
.of-hero-shade{
    position: absolute; inset: 0;
    background:
        linear-gradient(90deg, rgba(10, 9, 6, .94) 0%, rgba(10, 9, 6, .72) 42%, rgba(10, 9, 6, .12) 78%),
        linear-gradient(180deg, transparent 45%, rgba(10, 9, 6, .8) 100%);
}
.of-hero-card--gold .of-hero-shade{
    background:
        linear-gradient(90deg, rgba(12, 10, 6, .95) 0%, rgba(38, 29, 8, .78) 45%, rgba(12, 10, 6, .15) 80%),
        linear-gradient(180deg, transparent 40%, rgba(8, 7, 4, .85) 100%);
}
.of-hero-card--gold::after{
    content: ""; position: absolute; inset-inline-start: 0; inset-block: 0; width: .35rem;
    background: linear-gradient(180deg, #f3d488, #b98a2a);
}

.of-hero-text{
    position: relative; z-index: 2; padding: 2rem 2.2rem; max-width: 38rem; color: #fff;
}
.of-hero-kicker{
    display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .08em;
    color: #f3d488; margin-bottom: .7rem;
}
.of-hero-title{
    font-size: clamp(1.5rem, 4.2vw, 2.6rem); font-weight: 900; line-height: 1.35;
    margin: 0; color: #fff; text-shadow: 0 2px 20px rgba(0, 0, 0, .4);
}
.of-hero-sub{ margin-top: .8rem; font-size: .95rem; color: rgba(255, 255, 255, .82); }
.of-hero-prices{ margin-top: 1rem; display: flex; align-items: baseline; gap: .7rem; }
.of-hero-cta{
    display: inline-block; margin-top: 1.2rem; background: var(--c-orange, #FB8B24); color: #fff;
    font-size: .82rem; font-weight: 800; padding: .6rem 1.4rem; border-radius: .8rem;
}

@media (max-width: 640px){
    .of-hero-card{ min-height: 17rem; }
    .of-hero-text{ padding: 1.4rem 1.3rem; }
}

/* ---------- Ø§Ù„Ø£Ø³Ø¹Ø§Ø± (Ù…Ø´ØªØ±ÙƒØ©) ---------- */
.of-price-new{ font-size: 1.15rem; font-weight: 900; color: var(--c-orange, #FB8B24); }
.of-price-new--lg{ font-size: 1.8rem; }
.of-price-old{
    font-size: .85rem; font-weight: 600; color: #94a3b8;
    text-decoration: line-through; text-decoration-thickness: 1px;
}

/* ---------- 2) ØµÙÙ‚Ø§Øª Ø§Ù„Ø¨Ø±Ù‚: Ø´Ø±ÙŠØ· Ø£ÙÙ‚ÙŠ ---------- */
.of-sec{ margin-bottom: 2.75rem; }
.of-sec-head{ margin-bottom: 1rem; }
.of-sec-title{ font-size: 1.35rem; font-weight: 900; color: #0f172a; margin: 0; }
.of-sec-sub{ font-size: .82rem; color: #94a3b8; margin-top: .2rem; }

.of-rail{
    display: flex; gap: 1rem; overflow-x: auto; padding-bottom: .5rem;
    scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
}
.of-rail-item{ flex: 0 0 15.5rem; scroll-snap-align: start; }

/* Ø¥Ø®ÙØ§Ø¡ Ø´Ø±ÙŠØ· Ø§Ù„ØªÙ…Ø±ÙŠØ± (scrollbar-hide) */
.scrollbar-hide{ -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-hide::-webkit-scrollbar{ display: none; width: 0; height: 0; }

/* ---------- Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø¹Ø±Ø¶ ---------- */
.of-card{
    --card-radius: 1.1rem;
    overflow: hidden; cursor: pointer; height: 100%; display: flex; flex-direction: column;
}
.of-card:hover{
    transform: translateY(-3px); border-color: rgba(95, 15, 64, .18);
    box-shadow: 0 18px 38px -24px rgba(95, 15, 64, .45);
}
.of-card:focus-visible{ outline: 3px solid var(--c-orange, #FB8B24); outline-offset: 2px; }

.of-card-media{
    position: relative; aspect-ratio: 1 / 1; background: #f6f7f9;
    display: flex; align-items: center; justify-content: center; overflow: hidden;
}
/* ØµÙˆØ± Ø§Ù„Ø¹Ø±ÙˆØ¶ ÙƒØ¨Ø·Ø§Ù‚Ø§Øª Ø§Ù„Ù…Ù†ÙŠÙˆ: ØªÙ…Ù„Ø£ ØµÙ†Ø¯ÙˆÙ‚Ù‡Ø§ ÙÙ„Ø§ ÙŠØ¸Ù‡Ø± Ù„ÙˆÙ† Ø§ÙØªØ±Ø§Ø¶ÙŠ Ø­ÙˆÙ„Ù‡Ø§ */
.of-card-media img{ width: 100%; height: 100%; object-fit: cover; object-position: center; background: #f8fafc; }
.of-card-noimg{ display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--c-brand-soft, #f1f5f9); }
.of-card-save{
    position: absolute; inset-block-start: .6rem; inset-inline-start: .6rem;
    background: var(--c-orange, #FB8B24); color: #fff;
    font-size: .68rem; font-weight: 800; padding: .25rem .6rem; border-radius: .55rem;
}

.of-card-body{ padding: .85rem .9rem 1rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.of-card-name{
    font-size: .92rem; font-weight: 800; color: #0f172a; margin: 0; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.of-card-rest{ font-size: .74rem; color: #94a3b8; font-weight: 600; margin: 0; }
.of-card-prices{ display: flex; align-items: baseline; gap: .55rem; margin: .1rem 0 0; }

/* ---------- Ø§Ù„Ø¹Ø¯Ø§Ø¯ Ø§Ù„ØªÙ†Ø§Ø²Ù„ÙŠ ---------- */
.of-timer{
    display: inline-flex; align-items: center; gap: .35rem; align-self: flex-start;
    background: var(--c-plum, #5f0f40); color: #fff;
    font-size: .74rem; font-weight: 800; padding: .32rem .7rem; border-radius: .6rem;
    font-variant-numeric: tabular-nums; margin: 0;
}
.of-timer--hero{ font-size: .85rem; padding: .45rem .95rem; margin-top: .9rem; }
.of-timer.is-soon{ background: #4a0b31; }
.of-timer.is-over{ background: #e2e8f0; color: #64748b; }

/* ---------- Ø´Ø±ÙŠØ· Ø§Ù„ÙƒÙ…ÙŠØ© Ø§Ù„Ù…Ø¨Ø§Ø¹Ø© ---------- */
.of-progress{
    width: 100%; height: .35rem; background: #eef1f5; border-radius: 999px; overflow: hidden;
}
.of-progress-bar{
    display: block; height: 100%; border-radius: 999px;
    background: linear-gradient(90deg, var(--c-orange, #FB8B24), #e0761a);
}
.of-progress-text{ font-size: .7rem; font-weight: 700; color: #94a3b8; margin: 0; }

/* ---------- 3) ÙÙ„Ø§ØªØ± Ø§Ù„Ø¹Ø±ÙˆØ¶ Ø§Ù„Ø°ÙƒÙŠØ© ---------- */
.of-pills{ display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.of-pill{
    background: #fff; border: 1px solid #e2e8f0; color: #475569; cursor: pointer;
    font-family: inherit; font-size: .82rem; font-weight: 700;
    padding: .55rem 1.15rem; border-radius: 999px; transition: all .15s;
}
.of-pill:hover{ border-color: rgba(95, 15, 64, .35); color: var(--c-plum, #5f0f40); }
.of-pill.is-active{
    background: var(--c-plum, #5f0f40); border-color: var(--c-plum, #5f0f40); color: #fff;
}

.of-grid{
    display: grid; gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr));
}
.of-grid.is-loading{ opacity: .45; pointer-events: none; }

.of-empty{
    text-align: center; color: #94a3b8; font-size: .88rem; font-weight: 600;
    padding: 2.5rem 1rem;
}

@media (max-width: 480px){
    .of-rail-item{ flex-basis: 13rem; }
    .of-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
}

@media (prefers-reduced-motion: reduce){
    .of-card, .of-hero-img{ transition: none; }
}

/* ======================================================================
   Ø§Ù„ÙˆØ§Ø¬Ù‡Ø© Ø§Ù„Ø±Ø¦ÙŠØ³ÙŠØ© â€” Ø­Ø§Ù„Ø© Ø§Ù„ØµÙØ± (Zero-State)
   Ø®Ù„ÙÙŠØ© Ø¨ÙŠØ¶Ø§Ø¡ Ù†Ù‚ÙŠØ© Â· Ø§Ù„Ø¹Ù†Ø§Ø¨ÙŠ #5f0f40 Â· Ø§Ù„Ø¨Ø±ØªÙ‚Ø§Ù„ÙŠ #FB8B24 Â· Ø§Ù„Ø£Ø­Ù…Ø± #9A031E
   ====================================================================== */
.zs-body{
    min-height: 100vh; display: flex; flex-direction: column;
    overflow-x: clip;
    background: #ffffff; color: #0f172a;
    /* Ø®Ø· ÙˆØ§Ø­Ø¯ Ù„Ù„ØµÙØ­Ø© ÙƒÙ„Ù‡Ø§ (Ù‡Ùˆ Ø§Ù„Ø®Ø· Ø§Ù„Ù…Ø­Ù…Ù‘Ù„ ÙÙŠ <head>) */
    font-family: 'Cairo', 'Tajawal', system-ui, -apple-system, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
}
.zs-body h1, .zs-body h2, .zs-body h3, .zs-body input,
.zs-body button, .zs-body a{ font-family: inherit; }

/* ---------- Ø§Ù„Ù‡ÙŠØ¯Ø±: Ø§Ù„Ø´Ø¹Ø§Ø± ÙÙ‚Ø· ---------- */
.zs-head{
    position: sticky; top: 0; z-index: var(--z-header);
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    width: 100%; padding: .85rem 1.5rem;
    background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px);
    border-bottom: 1px solid #f4f5f7;
}
.zs-head--center{ display: grid; grid-template-columns: 1fr auto 1fr; }
.zs-head-side{ display: flex; align-items: center; }
.zs-head-side--end{ justify-content: flex-end; }

.zs-logo{ display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.zs-logo img{ height: 2.75rem; width: auto; display: block; }
.zs-lang{
    font-size: .75rem; font-weight: 700; color: #64748b; text-decoration: none;
    background: #f6f7f9; border: 1px solid #eef1f5; border-radius: .7rem;
    padding: .45rem .95rem; transition: all .15s;
}
.zs-lang:hover{ color: var(--c-plum, #5f0f40); background: #f1f2f5; }

@media (max-width: 480px){
    .zs-head{ padding: .7rem 1rem; }
    .zs-logo img{ height: 2.1rem; }
}

/* ---------- Ø§Ù„Ù…Ø­ØªÙˆÙ‰ ---------- */
.zs-main{
    width: 100%; max-width: 62rem; margin: 0 auto; flex: 1;
    padding: clamp(1.75rem, 6vh, 4rem) 1.25rem 3rem;
}

/* ---------- 1) Ø§Ù„Ù…Ø´Ù‡Ø¯ Ø§Ù„Ø§ÙØªØªØ§Ø­ÙŠ: Ø¹Ù†ÙˆØ§Ù† + Ø¨Ø­Ø« + Ø£Ø·Ø¨Ø§Ù‚ Ø·Ø§ÙÙŠØ© ---------- */
.hero-stage{
    position: relative;
    /* ÙŠÙ…ØªØ¯ Ø¨Ø¹Ø±Ø¶ Ø§Ù„ØµÙØ­Ø© ÙƒØ§Ù…Ù„Ø© Ø­ØªÙ‰ ØªÙ‚Ù Ø§Ù„Ø£Ø·Ø¨Ø§Ù‚ ÙÙŠ Ø§Ù„Ù‡ÙˆØ§Ù…Ø´ Ø¨Ø¹ÙŠØ¯Ø§Ù‹ Ø¹Ù† Ø§Ù„Ù†Øµ.
       Ù†Ø¹ØªÙ…Ø¯ Ø¹Ù„Ù‰ 100% Ù…Ù† Ø¹Ø±Ø¶ <html> (Ø¨Ø¯ÙˆÙ† Ø´Ø±ÙŠØ· Ø§Ù„ØªÙ…Ø±ÙŠØ±) ÙÙ„Ø§ ÙŠÙ†Ø´Ø£ ØªÙ…Ø±ÙŠØ± Ø£ÙÙ‚ÙŠ. */
    width: var(--page-w, 100%); margin-inline: calc(50% - var(--page-w, 100%) / 2);
    min-height: clamp(26rem, 58vh, 34rem);
    display: flex; align-items: center; justify-content: center;
    padding: clamp(1rem, 4vh, 2.5rem) 0 clamp(1.5rem, 5vh, 3rem);
    margin-bottom: .5rem;
    transition: opacity .3s ease, transform .35s ease;
}
/* Ø£Ø«Ù†Ø§Ø¡ Ø§Ù„Ø¨Ø­Ø«: ÙŠÙ†Ø²ÙˆÙŠ Ø§Ù„Ù…Ø´Ù‡Ø¯ Ø§Ù„Ø²Ø®Ø±ÙÙŠ ÙˆÙŠØ¨Ù‚Ù‰ Ø§Ù„ØªØ±ÙƒÙŠØ² Ø¹Ù„Ù‰ Ø§Ù„Ù†ØªØ§Ø¦Ø¬ */
.hero-stage.is-busy{ min-height: 0; padding-bottom: 1.25rem; }
.hero-stage.is-busy .hero-decor{ opacity: 0; pointer-events: none; }
/* Ø§Ù„Ø¥Ø¹Ù„Ø§Ù† Ø§Ù„Ù…Ù‡Ù… Ø¶Ø±ÙˆØ±ÙŠ: Ø­Ø±ÙƒØ© Ø§Ù„Ø¯Ø®ÙˆÙ„ Ø¨Ù€ fill:both ØªØªÙ‚Ø¯Ù‘Ù… Ø¹Ù„Ù‰ Ø§Ù„Ø¥Ø¹Ù„Ø§Ù† Ø§Ù„Ø¹Ø§Ø¯ÙŠ */
.hero-stage.is-busy .fx{ opacity: 0 !important; pointer-events: none; transition: opacity .3s ease; }
.hero-stage.is-busy .hero-h1,
.hero-stage.is-busy .hero-p{
    font-size: 0; opacity: 0; margin: 0; height: 0; overflow: hidden;
}

/* ===== Ø§Ù„Ø®Ù„ÙÙŠØ©: Ø®Ø·Ù‘Ø§Ù† Ù…Ù†Ø­Ù†ÙŠØ§Ù† Ø³Ø§ÙƒÙ†Ø§Ù† ===== */
.hero-decor{
    position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
    transition: opacity .3s ease;
}
.hero-line{
    position: absolute; display: block; width: auto;
    height: clamp(17rem, 46vh, 27rem);
    opacity: .55; user-select: none;
}
/* Ø¬Ù‡ØªØ§Ù† ÙÙŠØ²ÙŠØ§Ø¦ÙŠØªØ§Ù† (ÙŠØ³Ø§Ø±/ÙŠÙ…ÙŠÙ†) ÙÙ„Ø§ ØªÙ†Ø¹ÙƒØ³Ø§Ù† Ù…Ø¹ Ø§ØªØ¬Ø§Ù‡ Ø§Ù„Ù„ØºØ© */
.hero-line--start{ left: -2%;  top: 14%; }
.hero-line--end  { right: -2%; bottom: 4%; }

/* ===== Ø§Ù„Ø£Ø·Ø¨Ø§Ù‚ Ø§Ù„Ø·Ø§ÙÙŠØ© Ø­ÙˆÙ„ Ø´Ø±ÙŠØ· Ø§Ù„Ø¨Ø­Ø« =====
   ØªÙˆØ²ÙŠØ¹ Ø¯Ø§Ø¦Ø±ÙŠ Ø­ÙˆÙ„ Ø§Ù„Ù…Ù†ØªØµÙ + Ø­Ø±ÙƒØªØ§Ù†: Ø§Ù†Ø¯ÙØ§Ø¹ Ù„Ù„Ø¯Ø®ÙˆÙ„ Ù…Ø±Ø© ÙˆØ§Ø­Ø¯Ø©ØŒ Ø«Ù… Ø·ÙÙˆ Ù„Ø§ Ù†Ù‡Ø§Ø¦ÙŠ.
   ÙƒÙ„ ØµÙˆØ±Ø© Ù„Ù‡Ø§ Ù…ÙŠÙ„Ø§Ù† Ø®Ø§Øµ (--rot) ÙˆØªØ£Ø®ÙŠØ± Ø®Ø§Øµ (--delay) Ù„ØªØ¨Ø¯Ùˆ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ© ÙˆØ·Ø¨ÙŠØ¹ÙŠØ©. */
.fx{
    position: absolute; z-index: 1; pointer-events: none; display: block;
    opacity: 0;                       /* ØªØ¨Ø¯Ø£ Ù…Ø®ÙÙŠØ© Ø­ØªÙ‰ ØªØ´ØªØºÙ„ Ø­Ø±ÙƒØ© Ø§Ù„Ø¯Ø®ÙˆÙ„ */
    filter: drop-shadow(0 18px 26px rgba(15, 23, 42, .16));
    animation:
        fx-pop   .85s cubic-bezier(.21, 1.02, .36, 1) var(--delay, .1s) both,
        fx-float 5.5s ease-in-out calc(var(--delay, .1s) + .85s) infinite;
}
.fx img{ width: 100%; height: auto; display: block; }

/* Ø­Ø±ÙƒØ© Ø§Ù„Ø¯Ø®ÙˆÙ„: Ù…Ù† Ø§Ù„Ø£Ø³ÙÙ„ ÙˆØ¨Ø´ÙØ§ÙÙŠØ© Ù…Ø¹Ø¯ÙˆÙ…Ø© Ø¥Ù„Ù‰ Ù…ÙƒØ§Ù†Ù‡Ø§ Ø¨Ø´ÙØ§ÙÙŠØ© ÙƒØ§Ù…Ù„Ø© â€” Ù…Ø±Ø© ÙˆØ§Ø­Ø¯Ø© */
@keyframes fx-pop{
    from{ opacity: 0; transform: translateY(50px) rotate(var(--rot, 0deg)) scale(.94); }
    to  { opacity: 1; transform: translateY(0)    rotate(var(--rot, 0deg)) scale(1); }
}

/* Ø­Ø±ÙƒØ© Ø§Ù„Ø·ÙÙˆ: Ø§Ø±ØªÙØ§Ø¹ ÙˆÙ‡Ø¨ÙˆØ· Ø¨Ø³ÙŠØ· Ø¬Ø¯Ø§Ù‹ØŒ Ù†Ø§Ø¹Ù…Ø© ÙˆÙ„Ø§ Ù†Ù‡Ø§Ø¦ÙŠØ© */
@keyframes fx-float{
    0%, 100%{ transform: translateY(0)     rotate(var(--rot, 0deg)); }
    50%     { transform: translateY(-15px) rotate(var(--rot, 0deg)); }
}

/* Ø§Ù„ØªÙˆØ²ÙŠØ¹ Ø§Ù„Ø¯Ø§Ø¦Ø±ÙŠ Ø­ÙˆÙ„ Ø´Ø±ÙŠØ· Ø§Ù„Ø¨Ø­Ø« + Ù…ÙŠÙ„Ø§Ù† Ø®ÙÙŠÙ + ØªØ£Ø®ÙŠØ± Ù…ØªØªØ§Ø¨Ø¹ */
.fx--burger{                       /* Ø£Ø³ÙÙ„ Ø§Ù„ÙŠØ³Ø§Ø± â€” Ø§Ù„Ø£ÙƒØ¨Ø± */
    left: 3.5%; top: 42%;
    width: clamp(7.5rem, 14.5vw, 13.5rem);
    --rot: -6deg; --delay: .1s;
}
.fx--salad{                        /* Ø£Ø¹Ù„Ù‰ Ø§Ù„ÙŠÙ…ÙŠÙ† */
    right: 6%; top: 4%;
    width: clamp(6rem, 11.5vw, 10.5rem);
    --rot: 7deg; --delay: .3s;
}
.fx--pizza{                        /* Ø£Ø³ÙÙ„ Ø§Ù„ÙŠÙ…ÙŠÙ† */
    right: 7.5%; bottom: 3%;
    width: clamp(5.5rem, 10.5vw, 9.5rem);
    --rot: -9deg; --delay: .5s;
}

/* ===== Ø§Ù„Ù†ØµÙˆØµ Ø§Ù„Ù…Ø±ÙƒØ²ÙŠØ© ===== */
.hero-core{
    position: relative; z-index: 2; width: 100%; max-width: 40rem;
    margin: 0 auto; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 1rem;
}
.hero-h1{
    font-size: clamp(1.75rem, 5.4vw, 3rem); font-weight: 900; line-height: 1.35;
    letter-spacing: -.025em; color: #000000; margin: 0;
    transition: font-size .25s ease, opacity .2s ease;
}
.hero-p{
    font-size: clamp(.92rem, 2.3vw, 1.12rem); font-weight: 600; line-height: 1.6;
    color: #4B5563; margin: -.35rem 0 .35rem;
    transition: font-size .25s ease, opacity .2s ease;
}

/* ===== Ø´Ø±ÙŠØ· Ø§Ù„Ø¨Ø­Ø«: Ø­ÙˆØ§Ù Ø¯Ø§Ø¦Ø±ÙŠØ© ÙƒØ§Ù…Ù„Ø© ===== */
.g-search{
    width: 100%; display: flex; align-items: center; gap: .35rem;
    background: #fff; border: 1px solid #DFE1E5; border-radius: 999px;
    padding: .3rem .4rem .3rem 1.15rem;
    transition: box-shadow .18s ease, border-color .18s ease;
}
.g-search:hover{
    border-color: transparent;
    box-shadow: 0 1px 6px rgba(32, 33, 36, .22);
}
.g-search:focus-within{
    border-color: transparent;
    box-shadow: 0 1px 6px rgba(32, 33, 36, .18), 0 0 0 4px rgba(251, 139, 36, .22);
}
.g-search-ico{ flex: none; width: 1.3rem; height: 1.3rem; color: #9AA0A6; }
.g-search-ico svg{ width: 100%; height: 100%; display: block; }
.g-search-input{
    flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent;
    font-family: inherit; font-size: 1rem; font-weight: 600; color: #0f172a;
    padding: .85rem .55rem;
}
.g-search-input:focus-visible{ outline: none; }
.g-search-input::placeholder{ color: #9AA0A6; font-weight: 500; }
.g-search-clear{
    flex: none; border: 0; cursor: pointer; background: #F1F3F4; color: #70757A;
    width: 1.75rem; height: 1.75rem; border-radius: 999px; font-size: .72rem;
    display: flex; align-items: center; justify-content: center; transition: background .15s;
}
.g-search-clear:hover{ background: #E4E7E9; color: #3C4043; }
.g-search-clear[hidden]{ display: none; }
.g-search-go{
    flex: none; border: 0; cursor: pointer; border-radius: 999px;
    background: var(--c-orange, #FB8B24); color: #fff;
    font-family: inherit; font-size: .85rem; font-weight: 800;
    padding: .72rem 1.7rem; transition: background .18s, transform .12s;
}
.g-search-go:hover{ background: var(--c-plum, #5f0f40); }
.g-search-go:active{ transform: translateY(1px); }

/* ===== Ø§Ù„ÙƒÙ„Ù…Ø§Øª Ø§Ù„Ø´Ø§Ø¦Ø¹Ø© ===== */
.hero-pills{
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem;
}
.hero-pill{
    background: #fff; border: 1px solid #ECEFF3; color: #5B6572; cursor: pointer;
    font-family: inherit; font-size: .78rem; font-weight: 700; text-decoration: none;
    padding: .42rem 1rem; border-radius: 999px; transition: all .15s;
}
.hero-pill:hover{
    border-color: rgba(251, 139, 36, .5); color: var(--c-plum, #5f0f40);
    transform: translateY(-1px);
}
.hero-pill--offers{
    color: var(--c-plum, #5f0f40); background: rgba(251, 139, 36, .1);
    border-color: rgba(251, 139, 36, .38);
}
.hero-pill--offers:hover{ background: rgba(251, 139, 36, .18); }

/* ===== Ø§Ù„Ø´Ø§Ø´Ø§Øª Ø§Ù„ØµØºÙŠØ±Ø© ===== */
/* Ù…Ù† ÙŠÙØ¶Ù‘Ù„ ØªÙ‚Ù„ÙŠÙ„ Ø§Ù„Ø­Ø±ÙƒØ©: Ø§Ù„ØµÙˆØ± ØªØ¸Ù‡Ø± Ø«Ø§Ø¨ØªØ© ÙÙŠ Ø£Ù…Ø§ÙƒÙ†Ù‡Ø§ Ø¨Ù„Ø§ Ø£ÙŠ Ø­Ø±ÙƒØ© */
@media (prefers-reduced-motion: reduce){
    .fx{ opacity: 1; animation: none; transform: rotate(var(--rot, 0deg)); }
}

@media (max-width: 760px){
    .hero-stage{ min-height: 0; padding-top: 1.5rem; }
    .fx{ display: none; }                 /* Ø´Ø§Ø´Ø© Ø§Ù„Ø¬ÙˆØ§Ù„ ØªØ¨Ù‚Ù‰ Ù†Ø¸ÙŠÙØ© ØªÙ…Ø§Ù…Ø§Ù‹ */
    .hero-line{ height: 13rem; opacity: .35; }
    .g-search{ padding-inline-start: .9rem; }
    .g-search-go{ padding: .72rem 1.1rem; }
}



/* ---------- 3) Ø­Ø§ÙˆÙŠØ© Ù†ØªØ§Ø¦Ø¬ Ø§Ù„Ø¨Ø­Ø« ---------- */
.zs-results{
    opacity: 0; transform: translateY(10px);
    transition: opacity .28s ease .06s, transform .28s ease .06s;
}
.zs-results.is-open{ opacity: 1; transform: none; }

.zs-budget{
    background: #fff; border: 1px solid #eef1f5; border-radius: 1.1rem;
    padding: 1rem 1.2rem; margin-bottom: 1.5rem;
    box-shadow: 0 10px 24px -20px rgba(15, 23, 42, .35);
}
.zs-budget-head{
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: .5rem; margin-bottom: .7rem;
}
.zs-budget-title{ font-size: .86rem; font-weight: 800; color: #0f172a; margin: 0; }
.zs-budget-out{ font-size: .78rem; font-weight: 700; color: #64748b; }
.zs-budget-out strong{ color: var(--c-plum, #5f0f40); font-size: .95rem; }
.zs-budget-range{
    width: 100%; height: .4rem; border-radius: 999px; background: #eef1f5;
    accent-color: var(--c-orange, #FB8B24); cursor: pointer; appearance: none;
}

.cards-sec{ width: 100%; }
.cards-sec-head{ display: flex; justify-content: flex-end; margin-bottom: .9rem; }
.cards-count{ font-size: .8rem; font-weight: 700; color: #94a3b8; }

@media (prefers-reduced-motion: reduce){
    .hero-stage, .zs-results, .g-search{ transition: none; }
}

/* ---------- ØµÙØ­Ø© Ø§Ù„Ø¹Ø±ÙˆØ¶: Ø§Ù„Ø¹Ù†ÙˆØ§Ù† ÙˆØ§Ù„Ø­Ø§Ù„Ø© Ø§Ù„ÙØ§Ø±ØºØ© ---------- */
.of-page-head{ margin-bottom: 1.75rem; }
.of-page-title{ font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 900; color: #0f172a; margin: 0; }
.of-page-sub{ font-size: .85rem; color: #94a3b8; margin-top: .3rem; }

.of-blank{
    text-align: center; padding: 4rem 1.5rem;
    border: 1px dashed #e7eaef; border-radius: 1.5rem; background: #fcfcfd;
}
.of-blank-ico{ font-size: 2rem; color: var(--c-orange, #FB8B24); margin: 0 0 .6rem; }
.of-blank-title{ font-size: 1.15rem; font-weight: 900; color: #0f172a; margin: 0; }
.of-blank-text{ font-size: .88rem; color: #94a3b8; margin-top: .5rem; line-height: 1.9; }
.of-blank-actions{
    margin-top: 1.5rem; display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: 1rem;
}
.of-blank-btn{
    background: var(--c-plum, #5f0f40); color: #fff; text-decoration: none;
    font-size: .84rem; font-weight: 800; padding: .7rem 1.7rem; border-radius: .9rem;
    transition: opacity .15s;
}
.of-blank-btn:hover{ opacity: .9; }
.of-blank-link{
    font-size: .8rem; font-weight: 700; color: #64748b; text-decoration: none;
    border-bottom: 1px solid #e2e8f0;
}
.of-blank-link:hover{ color: var(--c-plum, #5f0f40); }

/* ======================================================================
   Ù„ÙˆØ­Ø© Ø§Ù„ØªØ­ÙƒÙ…: Ø§Ù„Ø®ØµÙˆÙ…Ø§Øª ÙˆØ§Ù„Ø¹Ø±ÙˆØ¶ (Ø¨Ù†Ø§Ø¡ Ø§Ù„Ù…Ù†ÙŠÙˆ)
   ====================================================================== */

/* ---------- Ø´Ø§Ø±Ø© Ø§Ù„Ø®ØµÙ… Ø¹Ù„Ù‰ Ø§Ù„Ø·Ø¨Ù‚ ---------- */
.b-badge--offer{
    background: rgba(251, 139, 36, .14); color: #8a4a06;
    border: 1px solid rgba(251, 139, 36, .4); font-weight: 800;
}
.b-badge--offer.is-expired{
    background: #f1f5f9; color: #64748b; border-color: #e2e8f0;
}
.b-icon-btn.is-on{
    background: rgba(251, 139, 36, .14); border-color: rgba(251, 139, 36, .45);
}

/* ---------- ÙˆØ¶Ø¹ ØªØ­Ø¯ÙŠØ¯ Ø¹Ø¯Ø© Ø£Ø·Ø¨Ø§Ù‚ ---------- */
.b-select-bar{
    display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1rem;
    background: #faf7f9; border: 1px solid rgba(95, 15, 64, .18);
    border-radius: .9rem; padding: .7rem 1rem; margin-bottom: 1rem;
}
.b-select-count{ font-size: .82rem; font-weight: 700; color: var(--c-plum, #5f0f40); }
.b-select-actions{ margin-inline-start: auto; display: flex; gap: .5rem; flex-wrap: wrap; }
.b-select-all{ font-size: .82rem; font-weight: 700; }

.b-pick{ display: flex; align-items: center; padding-inline-end: .2rem; }
.b-pick input{ width: 1.05rem; height: 1.05rem; accent-color: var(--c-plum, #5f0f40); cursor: pointer; }
.b-dish.is-picked{ background: #fdf8fb; box-shadow: inset 0 0 0 1.5px rgba(95, 15, 64, .3); }

#select-mode-btn.is-on{
    background: var(--c-plum, #5f0f40); border-color: var(--c-plum, #5f0f40); color: #fff;
}

/* ---------- Ù†Ø§ÙØ°Ø© Ø§Ù„Ø®ØµÙ… ---------- */
.b-modal-box--sm{ max-width: 34rem; }

.of-target{
    background: #f8fafc; border: 1px solid #eef1f5; border-radius: .7rem;
    padding: .6rem .85rem; font-size: .83rem; font-weight: 700; color: #475569;
    margin-bottom: 1rem;
}

.of-modes, .of-scope{ display: flex; flex-wrap: wrap; gap: .5rem; }
.of-mode{
    display: inline-flex; align-items: center; gap: .4rem; cursor: pointer;
    border: 1px solid #e2e8f0; border-radius: .7rem; padding: .5rem .9rem;
    font-size: .82rem; font-weight: 700; color: #475569; transition: all .15s;
}
.of-mode:has(input:checked){
    border-color: var(--c-plum, #5f0f40); background: #faf7f9; color: var(--c-plum, #5f0f40);
}
.of-mode input{ accent-color: var(--c-plum, #5f0f40); }
.of-mode[hidden]{ display: none; }

.of-branches{
    display: flex; flex-wrap: wrap; gap: .5rem .9rem; margin-top: .7rem;
    background: #f8fafc; border: 1px solid #eef1f5; border-radius: .7rem; padding: .7rem .85rem;
}

.of-range{
    width: 100%; height: .4rem; border-radius: 999px; background: #eef1f5;
    accent-color: var(--c-orange, #FB8B24); cursor: pointer; appearance: none;
}

.b-switch-text{ font-size: .82rem; font-weight: 700; color: #475569; }

/* Â«Ø¹Ø±Ø¶ Ù…Ù…ÙŠÙ‘Ø²Â» â€” Ù‚Ø±Ø§Ø± Ø¥Ø¯Ø§Ø±Ø© Ø§Ù„Ù…Ù†ØµØ©ØŒ ÙŠØ¸Ù‡Ø± Ù„Ù„Ù…Ø·Ø¹Ù… ÙƒØ´Ø§Ø±Ø© ÙÙ‚Ø· */
.b-badge--star{
    background: rgba(95, 15, 64, .1); color: var(--c-plum, #5f0f40);
    border: 1px solid rgba(95, 15, 64, .25); font-weight: 800;
}
.of-sponsor-note{
    background: #f8fafc; border: 1px solid #eef1f5; border-radius: .7rem;
    padding: .6rem .8rem; line-height: 1.9; margin-top: .3rem;
}

/* Ù†Ø§ÙØ°Ø© Ø¥Ù„ØºØ§Ø¡ Ø§Ù„Ø®ØµÙ… */
#unoffer-scope{ cursor: pointer; }
.dash-btn--danger{
    background: #9A031E; border-color: #9A031E; color: #fff;
}
.dash-btn--danger:hover{ background: #7d0218; border-color: #7d0218; }

/* Ø´Ø§Ø±Ø© ÙØ±Ø¹ Ø§Ù„Ø¹Ø±Ø¶ ÙÙŠ Ø¨Ø·Ø§Ù‚Ø§Øª Ø§Ù„Ø¹Ø±ÙˆØ¶ Ø§Ù„Ø¹Ø§Ù…Ø© */
.of-card-branch{ color: #64748b; font-weight: 600; }

/* Ø´Ø¹Ø§Ø± Ø§Ù„ØµÙØ­Ø§Øª Ø§Ù„ÙØ±Ø¹ÙŠØ© */
.am-logo{ display: inline-flex; align-items: center; line-height: 0; }
.am-logo img{ height: 2.1rem; width: auto; display: block; }
@media (max-width: 640px){ .am-logo img{ height: 1.7rem; } }

/* ======================================================================
   partner.php â€” Ø¨ÙˆØ§Ø¨Ø© Ø§Ù„Ø´Ø±ÙƒØ§Ø¡ (Ø¥Ø¯Ø§Ø±Ø© Ø§Ù„Ù…Ø·Ø§Ø¹Ù…)
   ====================================================================== */
.pt-main{
    width: 100%; max-width: 62rem; margin: 0 auto; flex: 1;
    padding: clamp(1.75rem, 5vh, 3.5rem) 1.25rem 3.5rem;
}

/* ---------- Ø§Ù„Ø§ÙØªØªØ§Ø­ÙŠØ© ---------- */
.pt-hero{
    text-align: center; max-width: 42rem; margin: 0 auto clamp(2.5rem, 6vh, 4rem);
    display: flex; flex-direction: column; align-items: center; gap: .9rem;
}
.pt-badge{
    display: inline-flex; align-items: center; font-size: .7rem; font-weight: 800;
    letter-spacing: .1em; color: var(--c-plum, #5f0f40);
    background: rgba(251, 139, 36, .12); border: 1px solid rgba(251, 139, 36, .32);
    padding: .32rem .9rem; border-radius: 999px;
}
.pt-title{
    font-size: clamp(1.6rem, 5vw, 2.6rem); font-weight: 900; line-height: 1.4;
    letter-spacing: -.02em; color: #000; margin: 0;
}
.pt-sub{
    font-size: clamp(.9rem, 2.2vw, 1.05rem); font-weight: 600; line-height: 1.85;
    color: #4B5563; margin: 0; max-width: 36rem;
}

.pt-actions{ display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: .4rem; }
.pt-btn{
    display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
    font-family: inherit; font-size: .88rem; font-weight: 800;
    padding: .8rem 1.9rem; border-radius: .9rem; border: 1px solid transparent;
    transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.pt-btn:hover{ transform: translateY(-1px); }
.pt-btn--main{
    background: var(--c-plum, #5f0f40); color: #fff;
    box-shadow: 0 12px 26px -16px rgba(95, 15, 64, .9);
}
.pt-btn--main:hover{ background: #75144f; }
.pt-btn--ghost{ background: #fff; color: #475569; border-color: #e2e8f0; }
.pt-btn--ghost:hover{ color: var(--c-plum, #5f0f40); border-color: rgba(95, 15, 64, .3); }

.pt-points{
    display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.4rem;
    margin: .6rem 0 0; padding: 0; list-style: none;
    font-size: .8rem; font-weight: 700; color: #64748b;
}
.pt-points li{ display: inline-flex; align-items: center; gap: .35rem; }
.pt-points span{ color: var(--c-orange, #FB8B24); }

/* ---------- ØµÙØ­Ø§Øª Ø§Ù„Ø¥Ø¯Ø§Ø±Ø© ---------- */
.pt-sec{ margin-bottom: clamp(2rem, 5vh, 3.25rem); }
.pt-sec-head{ margin-bottom: 1.25rem; }
.pt-sec-title{ font-size: clamp(1.15rem, 3vw, 1.5rem); font-weight: 900; color: #0f172a; margin: 0; }
.pt-sec-sub{ font-size: .84rem; color: #94a3b8; margin-top: .3rem; }

.pt-grid{
    display: grid; gap: .9rem;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
}
.pt-card{
    --card-radius: 1.1rem;
    display: flex; align-items: flex-start; gap: .85rem; text-decoration: none;
    padding: 1.05rem 1.1rem;
}
.pt-card:hover{
    transform: translateY(-2px); border-color: rgba(95, 15, 64, .2);
    box-shadow: 0 16px 34px -24px rgba(95, 15, 64, .5);
}
.pt-card-ico{
    flex: none; width: 2.6rem; height: 2.6rem; border-radius: .8rem;
    display: flex; align-items: center; justify-content: center; font-size: 1.15rem;
    background: #faf7f9; border: 1px solid rgba(95, 15, 64, .1);
}
.pt-card-body{ display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.pt-card-title{ font-size: .95rem; font-weight: 800; color: #0f172a; }
.pt-card-text{ font-size: .79rem; font-weight: 500; line-height: 1.8; color: #7c8797; }
.pt-card-go{
    flex: none; margin-inline-start: auto; align-self: center;
    font-size: .9rem; color: #cbd5e1; transition: color .16s ease;
}
.pt-card:hover .pt-card-go{ color: var(--c-plum, #5f0f40); }
.pt-card--locked .pt-card-go{ font-size: .78rem; }

/* ---------- Ø¯Ø¹ÙˆØ© Ø£Ø®ÙŠØ±Ø© ---------- */
.pt-cta{
    text-align: center; border-radius: 1.4rem; padding: clamp(2rem, 5vh, 3rem) 1.5rem;
    background:
        radial-gradient(110% 130% at 100% 100%, rgba(251, 139, 36, .22) 0%, transparent 58%),
        linear-gradient(135deg, #34071f 0%, var(--c-plum, #5f0f40) 70%);
    color: #fff;
}
.pt-cta-title{ font-size: clamp(1.2rem, 3.4vw, 1.7rem); font-weight: 900; margin: 0; }
.pt-cta-text{ font-size: .9rem; color: rgba(255, 255, 255, .8); margin: .5rem 0 1.4rem; }
.pt-cta .pt-btn--main{ background: #fff; color: var(--c-plum, #5f0f40); }
.pt-cta .pt-btn--main:hover{ background: var(--c-orange, #FB8B24); color: #fff; }
.pt-cta-note{ font-size: .8rem; color: rgba(255, 255, 255, .7); margin-top: 1rem; }
.pt-cta-note a{ color: #ffd7a8; font-weight: 800; }

@media (max-width: 480px){
    .pt-grid{ grid-template-columns: 1fr; }
    .pt-btn{ width: 100%; }
}

/* ======================================================================
   Ù„ÙˆØ­Ø© Ø§Ù„ØªØ­ÙƒÙ…: Ø´Ø¹Ø§Ø± Ø§Ù„Ù…Ø·Ø¹Ù… ÙÙŠ Ø§Ù„Ø´Ø±ÙŠØ· Ø§Ù„Ø¹Ù„ÙˆÙŠ
   ====================================================================== */
.dash-logo{ display: inline-flex; align-items: center; gap: .6rem; line-height: 0; flex: none; }
.dash-logo img{ height: 2.1rem; width: auto; max-width: 11rem; object-fit: contain; display: block; border-radius: .4rem; }
.dash-logo-name{
    font-size: 1.05rem; font-weight: 900; color: var(--c-plum, #5f0f40); line-height: 1.2;
    text-decoration: none; flex: none; white-space: nowrap;
}
.dash-logo-add{
    font-size: .68rem; font-weight: 700; line-height: 1.6; color: var(--c-orange, #FB8B24);
    background: rgba(251, 139, 36, .12); border: 1px solid rgba(251, 139, 36, .3);
    border-radius: .5rem; padding: .18rem .5rem; text-decoration: none; white-space: nowrap; flex: none;
}
.dash-logo-add:hover{ background: rgba(251, 139, 36, .22); }
@media (max-width: 640px){
    .dash-logo img{ height: 1.75rem; }
    .dash-logo-name{ font-size: .9rem; }
    .dash-logo-add{ display: none; }
}

/* Ø¯ÙˆØ± Ø§Ù„Ù…ÙˆØ¸Ù Ø¨Ø¬ÙˆØ§Ø± Ø§Ø³Ù…Ù‡ ÙÙŠ Ø§Ù„Ø´Ø±ÙŠØ· Ø§Ù„Ø¹Ù„ÙˆÙŠ */
.dash-user-role{
    display: none; font-size: .64rem; font-weight: 800; color: var(--c-orange, #FB8B24);
    background: rgba(251, 139, 36, .12); border: 1px solid rgba(251, 139, 36, .3);
    border-radius: .45rem; padding: .1rem .4rem; white-space: nowrap;
}
@media (min-width: 640px){ .dash-user-role{ display: inline-block; } }

/* ======================================================================
   Ø§Ù„Ù…ÙˆØ¸ÙÙˆÙ† ÙˆØ§Ù„ØµÙ„Ø§Ø­ÙŠØ§Øª (dashboard/staff.php)
   ====================================================================== */
.st-list{ display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); }

.st-card{
    --card-border: var(--dash-border, #e8eaef);
    padding: 1.05rem 1.15rem; display: flex; flex-direction: column; gap: .85rem;
}
.st-card:hover{ box-shadow: 0 12px 28px -22px rgba(15, 23, 42, .5); transform: none; }
.st-card.is-off{ background: #fbfbfc; opacity: .75; }

.st-card-head{ display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.st-name{ font-size: 1rem; font-weight: 900; color: #0f172a; }
.st-role{
    font-size: .7rem; font-weight: 800; padding: .22rem .6rem; border-radius: 999px;
    background: rgba(251, 139, 36, .14); color: #8a4a06; border: 1px solid rgba(251, 139, 36, .35);
}
.st-role--owner{
    background: rgba(95, 15, 64, .1); color: var(--c-plum, #5f0f40); border-color: rgba(95, 15, 64, .25);
}
.st-badge-off{
    font-size: .68rem; font-weight: 800; padding: .2rem .55rem; border-radius: 999px;
    background: #f1f5f9; color: #64748b; border: 1px solid #e2e8f0;
}

.st-user{ display: flex; align-items: center; gap: .4rem; margin: 0; font-size: .82rem; color: #64748b; }
.st-user code{
    direction: ltr; background: #f6f7f9; border: 1px solid #eef1f5; border-radius: .4rem;
    padding: .1rem .45rem; font-size: .8rem; font-weight: 700; color: #334155;
}

.st-chips{ display: flex; flex-wrap: wrap; gap: .35rem; }
.st-chip{
    font-size: .7rem; font-weight: 700; color: #475569;
    background: #f8fafc; border: 1px solid #eef1f5; border-radius: .5rem; padding: .22rem .55rem;
}
.st-chip--all{
    background: rgba(95, 15, 64, .08); color: var(--c-plum, #5f0f40); border-color: rgba(95, 15, 64, .2);
}
.st-chip--none{ background: #fff7ed; color: #9a3412; border-color: #fed7aa; }

.st-last{ margin: 0; font-size: .72rem; color: #94a3b8; }
.st-last--never{ color: #cbd5e1; }

.st-card-actions{
    display: flex; align-items: center; gap: .45rem; flex-wrap: wrap;
    padding-top: .75rem; border-top: 1px solid #f1f5f9;
}
.st-owner-note{
    margin: 0; padding-top: .75rem; border-top: 1px solid #f1f5f9;
    font-size: .74rem; color: #94a3b8; font-weight: 600;
}

/* ØµÙ†Ø§Ø¯ÙŠÙ‚ Ø§Ù„ØµÙ„Ø§Ø­ÙŠØ§Øª ÙÙŠ Ø§Ù„Ù†Ø§ÙØ°Ø© */
.st-perms-grid{
    display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    background: #f8fafc; border: 1px solid #eef1f5; border-radius: .75rem; padding: .85rem;
    margin-top: .4rem;
}
.st-perm{
    display: flex; align-items: center; gap: .5rem; cursor: pointer;
    font-size: .84rem; font-weight: 700; color: #475569;
}
.st-perm input{
    width: 1.05rem; height: 1.05rem; flex: none; cursor: pointer;
    accent-color: var(--c-orange, #FB8B24);
}
.st-perm:has(input:checked){ color: var(--c-plum, #5f0f40); }

@media (max-width: 520px){
    .st-list{ grid-template-columns: 1fr; }
}

/* ======================================================================
   ØªØ¨Ø¯ÙŠÙ„ Ø§Ù„Ù„ØºØ© (Ø¹Ø±Ø¨ÙŠ / English)
   ====================================================================== */
.zs-head-tools{ display: inline-flex; align-items: center; gap: .5rem; }

/* Ø²Ø± Ø§Ù„Ù„ØºØ© ÙÙŠ Ø§Ù„Ø´Ø±ÙŠØ· Ø§Ù„Ø¹Ù„ÙˆÙŠ Ù„Ù„ÙˆØ­Ø© Ø§Ù„ØªØ­ÙƒÙ… */
.dash-lang{
    font-size: .72rem; font-weight: 800; color: #64748b; text-decoration: none;
    background: #f6f7f9; border: 1px solid #eef1f5; border-radius: .6rem;
    padding: .35rem .7rem; white-space: nowrap; flex: none; transition: all .15s;
}
.dash-lang:hover{ color: var(--c-plum, #5f0f40); background: #eef1f5; }

/* ======================================================================
   Ø²Ø±Ù‘ Ø§Ù„Ù„ØºØ© ÙÙŠ ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù…
   ----------------------------------------------------------------------
   ÙƒØ§Ù† Ø¹Ù†ØµØ±Ø§Ù‹ ÙÙŠ ØµÙÙ‘ Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© (margin-inline-start:auto)ØŒ ÙˆÙÙŠ ÙˆØ¶Ø¹ Â«Ø§Ù„Ù…Ù†ØªØµÙÂ»
   ÙŠØµÙŠØ± Ø§Ù„Ø¹Ù…ÙˆØ¯Ù Ø¹Ù…ÙˆØ¯Ø§Ù‹ ÙÙŠÙ†Ø²Ù„ Ø§Ù„Ø²Ø±Ù‘ Ø³Ø·Ø±Ø§Ù‹ ÙƒØ§Ù…Ù„Ø§Ù‹ Ø¨ÙŠÙ† Ø§Ù„Ø³Ø·Ø± Ø§Ù„ØªØ¹Ø±ÙŠÙÙŠ ÙˆØ£Ø²Ø±Ø§Ø±
   Ø§Ù„ØªÙˆØ§ØµÙ„: Ù‚ÙŠØ§Ø³ Ø¹Ù„Ù‰ Ø¬ÙˆØ§Ù„ 390px ÙƒØ§Ù† Ø§Ù„ÙØ±Ø§Øº Ø¨ÙŠÙ† Â«Ø§Ù„Ø¨Ø§ÙŠÙˆÂ» ÙˆØ´Ø±ÙŠØ· Ø§Ù„Ù…ÙˆØ§Ù‚Ø¹
   Ù¡Ù¢Ù¢px Ù…Ù‚Ø§Ø¨Ù„ Ù¦Ù¦px ÙÙŠ Ø§Ù„ÙˆØ¶Ø¹ Ø§Ù„Ø¬Ø§Ù†Ø¨ÙŠ â€” Ù¥Ù¦px ÙØ±Ø§Øº Ù…ÙŠÙ‘Øª Ø³Ø¨Ø¨Ù‡ Ù‡Ø°Ø§ Ø§Ù„Ø²Ø±Ù‘ ÙˆØ­Ø¯Ù‡.
   Ø§Ù„Ø¢Ù†: ÙŠØ®Ø±Ø¬ Ù…Ù† Ù…Ø¬Ø±Ù‰ Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© ØªÙ…Ø§Ù…Ø§Ù‹ ÙˆÙŠÙØ«Ø¨ÙŽÙ‘Øª ÙÙŠ Ø²Ø§ÙˆÙŠØ© Ø£Ø¹Ù„Ù‰ Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© (Ø£Ø³ÙÙ„
   ØµÙˆØ±Ø© Ø§Ù„Ù‡ÙŠØ¯Ø± Ù…Ø¨Ø§Ø´Ø±Ø©) ÙÙŠ Ø§Ù„ÙˆØ¶Ø¹ÙŠÙ† ÙˆØ¹Ù„Ù‰ ÙƒÙ„ Ø§Ù„Ø¹Ø±ÙˆØ¶: ÙÙŠ Ø¬Ù‡Ø© Ù†Ù‡Ø§ÙŠØ© Ø§Ù„Ø³Ø·Ø± â€” ÙŠØ³Ø§Ø±
   Ø§Ù„ØµÙØ­Ø© ÙÙŠ Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© ÙˆÙŠÙ…ÙŠÙ†Ù‡Ø§ ÙÙŠ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ© â€” ÙÙ„Ø§ ÙŠØ²Ø§Ø­Ù… Ø§Ù„Ø´Ø¹Ø§Ø± ÙÙŠ Ø£ÙŠ ÙˆØ¶Ø¹.
   Ù…ÙˆØ¶Ø¹Ù‡ Ù†Ø³Ø¨Ø©Ù‹ Ø¥Ù„Ù‰ .rest-container Ù„Ø§ Ø¥Ù„Ù‰ .rest-hero-inner: Ø§Ù„Ø£Ø®ÙŠØ± ÙŠÙØ³Ø­Ø¨
   ÙÙˆÙ‚ ØµÙˆØ±Ø© Ø§Ù„ØºÙ„Ø§Ù (margin-top:-2.25rem) ÙÙƒØ§Ù† Ø§Ù„Ø²Ø±Ù‘ ÙŠØ±ØªÙØ¹ Ù…Ø¹Ù‡ Ø¹Ù„Ù‰ Ø§Ù„ØµÙˆØ±Ø©.
   ====================================================================== */
/* Ø§Ù„Ù…ÙˆØ¶Ø¹ Ø§Ù„Ø¢Ù†: Ø²Ø§ÙˆÙŠØ© **Ø§Ù„ØºÙ„Ø§Ù** Ù†ÙØ³Ù‡ Ù„Ø§ Ø²Ø§ÙˆÙŠØ© Ø§Ù„ØªØ±ÙˆÙŠØ³Ø©. ÙØ¨Ø°Ù„Ùƒ Ù„Ø§ ÙŠØ­Ø¬Ø² Ø´ÙŠØ¦Ø§Ù‹
   Ù…Ù† Ø¹Ø±Ø¶ Ø§Ù„Ù†ØµÙ‘ Ø£ØµÙ„Ø§Ù‹ (ÙƒØ§Ù† ÙŠØ­Ø¬Ø² 84px Ù…Ù† 328px Ø¹Ù„Ù‰ Ø¬ÙˆØ§Ù„ 360px)ØŒ ÙˆÙŠÙ‚Ù ÙÙˆÙ‚ ØµÙˆØ±Ø©
   Ø¨Ø®Ù„ÙÙŠØ© Ø¨ÙŠØ¶Ø§Ø¡ ÙˆØ¸Ù„Ù‘ Ø®ÙÙŠÙ ÙÙŠÙÙ‚Ø±Ø£ ÙÙˆÙ‚ Ø£ÙŠ ØµÙˆØ±Ø©. ÙˆØ¨Ù„Ø§ ØºÙ„Ø§Ù ÙŠØ¨Ù‚Ù‰ ÙÙŠ Ø²Ø§ÙˆÙŠØ©
   Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© ÙƒÙ…Ø§ ÙƒØ§Ù†. */
.rest-cover{ position: relative; }
.rest-hero .rest-container{ position: relative; }
/* ---------- Ø¬Ù‡Ø© Ø§Ù„Ø²Ø±Ù‘: Ø¨Ù€ left/right ØµØ±ÙŠØ­ØªÙŠÙ† Ù„Ø§ Ø¨Ù€ inset-inline-* ----------
   Ø§Ù„Ø²Ø±Ù‘ Ù†ÙØ³Ù‡ ÙŠØ­Ù…Ù„ direction: ltr (Ù„ÙŠÙÙ‚Ø±Ø£ Â«AR / ENÂ» Ù…Ù† Ø§Ù„ÙŠØ³Ø§Ø± Ù„Ù„ÙŠÙ…ÙŠÙ† ÙƒÙ…Ø§
   ÙŠÙÙƒØªØ¨)ØŒ ÙˆØ§Ù„Ù…ØªØµÙØ­ ÙŠØ­Ù„Ù‘ inset-inline-end Ø¨Ø­Ø³Ø¨ Ø§ØªØ¬Ø§Ù‡ Ø§Ù„Ø¹Ù†ØµØ± Ù†ÙØ³Ù‡ Ù„Ø§ Ø§ØªØ¬Ø§Ù‡
   Ø§Ù„ØµÙØ­Ø© â€” ÙÙƒØ§Ù† ÙŠÙ‚Ù ÙÙŠ Ø§Ù„Ø¬Ù‡Ø© Ù†ÙØ³Ù‡Ø§ ÙÙŠ Ø§Ù„Ù„ØºØªÙŠÙ†. ÙˆÙ‡Ø°Ø§ Ù‡Ùˆ Ø³Ø¨Ø¨ Ø£Ù† Ø§Ù„Ø²Ø±Ù‘ Ù„Ù… ÙŠÙƒÙ†
   Â«Ø­Ø³Ø¨ Ø§Ù„Ù„ØºØ©Â» Ø£Ø¨Ø¯Ø§Ù‹ ÙÙŠ ÙˆØ¶Ø¹ Ø§Ù„Ù…Ù†ØªØµÙØŒ ÙˆÙƒØ§Ù† ÙŠØ±ÙƒØ¨ Ø¹Ù„Ù‰ Ø§Ù„Ø´Ø¹Ø§Ø± ÙÙŠ Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© Ù…Ø¹ ØµÙˆØ±Ø©
   ØºÙ„Ø§Ù Ù…Ù† Ø¹Ø±Ø¶ 768px ÙˆÙ…Ø§ ÙÙˆÙ‚ (Ù‚ÙŠØ§Ø³ÙŒ Ù…Ø«Ø¨ÙŽÙ‘Øª ÙÙŠ ÙØ­Øµ Ø§Ù„ØªØµØ§Ø¯Ù…).
   Ø§Ù„Ø¢Ù†: Ù‚Ø§Ø¹Ø¯ØªØ§Ù† ØµØ±ÙŠØ­ØªØ§Ù† Ø¨Ø§ØªØ¬Ø§Ù‡ Ø§Ù„ØµÙØ­Ø© â€” ÙŠØ³Ø§Ø± Ø§Ù„ØµÙØ­Ø© ÙÙŠ Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© ÙˆÙŠÙ…ÙŠÙ†Ù‡Ø§ ÙÙŠ
   Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ©ØŒ Ø£ÙŠ ÙÙŠ Ø¬Ù‡Ø© Ù†Ù‡Ø§ÙŠØ© Ø§Ù„Ø³Ø·Ø± Ø¯Ø§Ø¦Ù…Ø§Ù‹ Ø¨Ø¹ÙŠØ¯Ø§Ù‹ Ø¹Ù† Ø§Ù„Ø´Ø¹Ø§Ø±. */
.rest-lang{
    position: absolute; top: .75rem; z-index: 4;
    font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap;
    color: var(--c-brand, #5f0f40); background: #fff;
    border: 1px solid rgba(0, 0, 0, .08); border-radius: .6rem;
    padding: .35rem .7rem; transition: all .15s;
    box-shadow: 0 2px 8px -4px rgba(15, 23, 42, .25);
}
[dir="rtl"] .rest-lang{ left: 1rem; right: auto; }
[dir="ltr"] .rest-lang{ right: 1rem; left: auto; }
@media (min-width: 768px){
    [dir="rtl"] .rest-lang{ left: 1.5rem; }
    [dir="ltr"] .rest-lang{ right: 1.5rem; }
}
.rest-lang:hover{ background: var(--c-brand-soft, #f6f7f9); }
/* Ù„Ù… ÙŠØ¹Ø¯ ÙŠØ­Ø¬Ø² Ù…ÙƒØ§Ù†Ø§Ù‹ Ù…Ù† Ø¹Ø±Ø¶ Ø§Ù„Ù†ØµÙ‘: Ù„Ø§ padding-inline-end ÙˆÙ„Ø§ padding-top.
   ÙˆÙ…Ø¹ Ø§Ù„ØºÙ„Ø§Ù ÙŠÙ‚Ù ÙÙŠ Ø²Ø§ÙˆÙŠØªÙ‡ Ø§Ù„Ø¹Ù„ÙŠØ§ØŒ ÙˆØ¨Ù„Ø§ ØºÙ„Ø§Ù ÙÙŠ Ø²Ø§ÙˆÙŠØ© Ø§Ù„ØªØ±ÙˆÙŠØ³Ø©. */
.rest-hero--with-cover .rest-lang{ top: auto; bottom: calc(100% + .75rem); }
@media (max-width: 480px){
    .dash-lang{ padding: .3rem .55rem; }
}

/* Ø§Ù„Ø´Ø±ÙŠØ· Ø§Ù„Ø¹Ù„ÙˆÙŠ Ø¹Ù„Ù‰ Ø§Ù„Ø¬ÙˆØ§Ù„: Ø£Ø¶ÙÙ†Ø§ Ø²Ø± Ø§Ù„Ù„ØºØ©ØŒ ÙÙ†Ù…Ù†Ø­ Ø§Ù„Ø¹Ù†Ø§ØµØ± Ø­Ø±ÙŠØ© Ø§Ù„Ø§Ù†ÙƒÙ…Ø§Ø´
   Ø¨Ø¯Ù„ Ø£Ù† ØªØ¯ÙØ¹ Ø§Ù„ØµÙØ­Ø© Ø¥Ù„Ù‰ ØªÙ…Ø±ÙŠØ± Ø£ÙÙ‚ÙŠ. */
@media (max-width: 640px){
    .dash-topbar{ gap: .5rem; }
    .dash-topbar-actions{ gap: .4rem; min-width: 0; }
    .dash-logo{ min-width: 0; overflow: hidden; }
    .dash-logo-name{ overflow: hidden; text-overflow: ellipsis; max-width: 6.5rem; white-space: nowrap; }
    .branch-switch{ min-width: 0; }
    .branch-select{ max-width: 4.5rem; }
    /* Ø§Ù„Ø§Ø³Ù… Ù…Ø®ÙÙŠ Ø£ØµÙ„Ø§Ù‹ Ø¹Ù„Ù‰ Ø§Ù„Ø¬ÙˆØ§Ù„ØŒ ÙØ§Ù„Ø¯Ø§Ø¦Ø±Ø© Ø§Ù„ØªØ¹Ø±ÙŠÙÙŠØ© ÙˆØ­Ø¯Ù‡Ø§ Ù„Ø§ ØªØ¶ÙŠÙ Ù…Ø¹Ù†Ù‰ */
    .dash-user{ display: none; }
    /* Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ø´Ø±ÙŠØ· Ø£ØµØºØ±: Ù†ØµÙˆØµÙ‡Ø§ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠØ© Ø£Ø·ÙˆÙ„ Ù…Ù† Ø§Ù„Ø¹Ø±Ø¨ÙŠØ© */
    .dash-topbar-actions .dash-btn{ padding: .35rem .55rem; font-size: .7rem; }
}

/* ======================================================================
   Ø§Ø³Ù… Ø§Ù„Ù…Ø³ØªØ®Ø¯Ù… (dashboard/staff.php)
   ØµØ§Ø± Ø§Ù„Ø§Ø³Ù… ÙˆØ­Ø¯Ù‡ Ø¨Ù„Ø§ Ù„Ø§Ø­Ù‚Ø© Ù…Ø·Ø¹Ù…: Ø§Ù„Ù…Ø·Ø¹Ù… Ù…Ø­ÙÙˆØ¸ ÙÙŠ Ø§Ù„Ø­Ø³Ø§Ø¨ Ù†ÙØ³Ù‡ØŒ ÙˆØ±Ø§Ø¨Ø· Ø¯Ø®ÙˆÙ„
   Ø§Ù„Ù…ÙˆØ¸ÙÙŠÙ† Ù‡Ùˆ Ù…Ù† ÙŠØ­Ù…Ù„Ù‡. ÙØ­ÙØ°ÙØª ÙƒÙ„Ø§Ø³Ø§Øª Ø§Ù„Ù„Ø§Ø­Ù‚Ø© Ø§Ù„Ø«Ù„Ø§Ø«Ø© ÙˆÙ„Ù… ÙŠØ¨Ù‚ Ø¥Ù„Ø§ Ù†Ù…ÙˆØ°Ø¬
   Ø§Ù„Ø§Ø³Ù… Ø§Ù„ØµØºÙŠØ± Ø§Ù„Ù…Ù„ÙˆÙ‘Ù† ÙÙŠ Ø§Ù„Ù†ØµÙˆØµ Ø§Ù„Ù…Ø³Ø§Ø¹Ø¯Ø©.
   ====================================================================== */
.st-user-sample{
    font-size: .74rem; font-weight: 800; color: var(--c-orange, #FB8B24);
    background: rgba(251, 139, 36, .1); border-radius: .4rem; padding: .05rem .35rem;
}
/* Ù„Ø§Ø­Ù‚Ø© Ø§Ù„Ù…Ø·Ø¹Ù… Ø¨Ø¬Ø§Ù†Ø¨ Ø§Ø³Ù… Ø§Ù„Ù…ÙˆØ¸Ù ÙÙŠ Ø¨Ø·Ø§Ù‚ØªÙ‡ */
.st-user-tenant{ font-size: .72rem; font-weight: 700; color: #94a3b8; }

/* Ø¨Ø·Ø§Ù‚Ø© Â«Ø±Ø§Ø¨Ø· Ø¯Ø®ÙˆÙ„ Ù…ÙˆØ¸ÙÙŠÙƒÂ» Ø£Ø¹Ù„Ù‰ ØµÙØ­Ø© Ø§Ù„Ù…ÙˆØ¸ÙÙŠÙ† */
.st-link-card{ padding: 1rem 1.1rem; margin-bottom: 1.1rem; }
.st-link-title{ font-size: .98rem; font-weight: 800; color: var(--dash-text, #0f172a); margin: 0 0 .25rem; }
.st-link-sub{ font-size: .82rem; font-weight: 500; color: #64748b; line-height: 1.6; margin: 0 0 .7rem; }
.st-link-row{ display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.st-link-input{
    flex: 1 1 16rem; min-width: 0; font-size: .82rem; font-weight: 700;
    background: #f8fafc; cursor: text;
}

/* ======================================================================
   ØµÙØ­ØªØ§ Ø§Ù„Ø¯Ø®ÙˆÙ„: Ø§Ù„Ù…Ø§Ù„Ùƒ ÙˆØ§Ù„Ù…ÙˆØ¸ÙÙˆÙ† â€” Ø²Ø± Ø§Ù„Ù„ØºØ© ÙˆØ±Ø§Ø¨Ø· Ø§Ù„ØªØ¨Ø¯ÙŠÙ„ Ø¨ÙŠÙ†Ù‡Ù…Ø§
   ====================================================================== */
.auth-card-top{
    display: flex; align-items: center; justify-content: flex-start;
    margin-bottom: 1rem;
}
.auth-switch-row{
    margin: -.35rem 0 1.1rem; font-size: .82rem; font-weight: 700; color: #94a3b8;
}
.auth-switch-link{
    color: var(--c-plum, #5f0f40); font-weight: 900; text-decoration: none;
    border-bottom: 1.5px solid rgba(95, 15, 64, .25); padding-bottom: .05rem;
    transition: border-color .15s;
}
.auth-switch-link:hover{ border-bottom-color: var(--c-plum, #5f0f40); }

/* ======================================================================
   ØªÙ†Ø¨ÙŠÙ‡ ØªØ£Ø®Ù‘Ø± Ø§Ù„Ø·Ù„Ø¨Ø§Øª (SLA) â€” Ø´Ø§Ø´Ø© Ø§Ù„ÙƒØ§Ø´ÙŠØ±
   Ø§Ù„ÙˆÙ…ÙŠØ¶ Ø¹Ù„Ù‰ Ø­Ø§ÙØ© Ø§Ù„ÙƒØ±Øª ÙƒÙ„Ù‡Ø§ Ù„ÙŠÙÙ„ØªÙ‚Ø· Ø¨Ø·Ø±Ù Ø§Ù„Ø¹ÙŠÙ† Ù…Ù† Ø¨Ø¹ÙŠØ¯ØŒ ÙˆÙŠØªØ¯Ø±Ù‘Ø¬ Ù…Ø¹ Ø§Ù„ØªØ£Ø®ÙŠØ±.
   ÙŠØ¶Ø¹ Ø§Ù„ÙƒÙ„Ø§Ø³Ø§Øª assets/js/orders-live.js Ø¹Ù„Ù‰ Ø§Ù„Ø·Ù„Ø¨Ø§Øª Ø§Ù„Ø¬Ø¯ÙŠØ¯Ø© ÙˆØ­Ø¯Ù‡Ø§.
   ====================================================================== */
@keyframes order-late-pulse{
    0%, 100%{ box-shadow: 0 0 0 0 var(--order-late-glow); border-color: var(--order-late); }
    50%     { box-shadow: 0 0 0 .5rem transparent;        border-color: var(--order-late); }
}

.order-card.is-late-5,
.order-card.is-late-10,
.order-card.is-late-15{
    border: 2px solid var(--order-late);
    border-top: 4px solid var(--order-late);
    animation: order-late-pulse 1.8s ease-in-out infinite;
}

/* Ù¥ Ø¯Ù‚Ø§Ø¦Ù‚ â€” Ø£Ø®Ø¶Ø±: Ø§Ù†ØªØ¨Ù‡ØŒ Ø§Ù„Ø·Ù„Ø¨ ÙŠÙ†ØªØ¸Ø± */
.order-card.is-late-5{
    --order-late: #10b981;
    --order-late-glow: rgba(16, 185, 129, .45);
}

/* Ù¡Ù  Ø¯Ù‚Ø§Ø¦Ù‚ â€” Ø¨Ø±ØªÙ‚Ø§Ù„ÙŠ: ØªØ£Ø®Ù‘Ø± */
.order-card.is-late-10{
    --order-late: var(--c-orange, #FB8B24);
    --order-late-glow: rgba(251, 139, 36, .45);
    animation-duration: 1.4s;
}

/* Ù¡Ù¥ ÙØ£ÙƒØ«Ø± â€” Ø£Ø­Ù…Ø±: Ù…ØªØ£Ø®Ø± Ø¬Ø¯Ø§Ù‹ØŒ ÙˆÙ…Ø¹Ù‡ Ø®Ù„ÙÙŠØ© Ø®ÙÙŠÙØ© ØªÙ„ÙØª Ø§Ù„Ù†Ø¸Ø± */
.order-card.is-late-15{
    --order-late: #ef4444;
    --order-late-glow: rgba(239, 68, 68, .5);
    animation-duration: 1s;
    background: #fff5f5;
}
.order-card.is-late-15 .order-time{ color: #dc2626; font-weight: 800; }

/* ======================================================================
   Ø³Øª Ø³Ø§Ø¹Ø§Øª ÙØ£ÙƒØ«Ø± â€” Ø£Ø³ÙˆØ¯: Ø·Ù„Ø¨ Ù…Ù†Ø³ÙŠÙ‘ Ù„Ø§ Â«Ù…ØªØ£Ø®Ø±Â»
   Ø¨Ù„Ø§ ÙˆÙ…ÙŠØ¶ Ø¹Ù† Ù‚ØµØ¯: Ø§Ù„ÙˆÙ…ÙŠØ¶ Ù„Ù„Ø·Ù„Ø¨ Ø§Ù„Ø°ÙŠ Ù…Ø§ Ø²Ø§Ù„ ÙŠÙÙ†ØªØ¸Ø± Ø§Ù„Ø¢Ù†. ÙˆÙ‡Ø°Ø§ Ù…Ø¶Ù‰ Ø¹Ù„ÙŠÙ‡
   Ù†ØµÙ ÙŠÙˆÙ…ØŒ ÙØ§Ù„Ø£Ø³ÙˆØ¯ Ø§Ù„Ø«Ø§Ø¨Øª ÙŠÙØµÙ„Ù‡ Ø¨ØµØ±ÙŠØ§Ù‹ Ø¹Ù† Ø³Ù„Ù‘Ù… Ø§Ù„Ø¯Ù‚Ø§Ø¦Ù‚ Ø§Ù„Ø£Ø®Ø¶Ø±/Ø§Ù„Ø¨Ø±ØªÙ‚Ø§Ù„ÙŠ/Ø§Ù„Ø£Ø­Ù…Ø±
   ÙˆÙ„Ø§ ÙŠØ²Ø§Ø­Ù…Ù‡ ÙÙŠ Ù„ÙØª Ø§Ù„Ù†Ø¸Ø±.
   ====================================================================== */
.order-card.is-late-6h{
    --order-late: #0f172a;
    --order-late-glow: rgba(15, 23, 42, .35);
    border: 2px solid #0f172a;
    border-top: 4px solid #0f172a;
    background: #f1f5f9;
    animation: none;
    opacity: .96;
}
.order-card.is-late-6h .order-time{ color: #0f172a; font-weight: 800; }
.order-card.is-late-6h .order-id{ color: #0f172a; }
.order-card.is-late-6h .order-table{ background: #e2e8f0; border-color: #cbd5e1; color: #0f172a; }
/* Ø´Ø§Ø±Ø© ØªÙ‚ÙˆÙ„ Ù„Ù„ÙƒØ§Ø´ÙŠØ± Ù„Ù…Ø§Ø°Ø§ Ø§Ø³ÙˆØ¯Ù‘Øª Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© */
.order-card.is-late-6h .order-head::after{
    content: attr(data-stale-label);
    align-self: flex-start; margin-inline-start: auto;
    font-size: .64rem; font-weight: 800; letter-spacing: .02em;
    background: #0f172a; color: #fff; border-radius: 9999px; padding: .12rem .5rem;
}

/* Ù…Ù† ÙŠÙØ¶Ù‘Ù„ ØªÙ‚Ù„ÙŠÙ„ Ø§Ù„Ø­Ø±ÙƒØ© ÙÙŠ Ù†Ø¸Ø§Ù…Ù‡: ÙŠØ¨Ù‚Ù‰ Ø§Ù„Ù„ÙˆÙ† ÙˆÙŠØªÙˆÙ‚Ù Ø§Ù„ÙˆÙ…ÙŠØ¶ */
@media (prefers-reduced-motion: reduce){
    .order-card.is-late-5,
    .order-card.is-late-10,
    .order-card.is-late-15{ animation: none; box-shadow: 0 0 0 .25rem var(--order-late-glow); }
}

/* Ù…Ø¬Ù…ÙˆØ¹Ø© Â«Ø¥Ø²Ø§Ù„Ø© Ù…ÙƒÙˆÙ‘Ù†Ø§ØªÂ» ÙÙŠ Ù…Ø­Ø±Ù‘Ø± Ø®ÙŠØ§Ø±Ø§Øª Ø§Ù„Ø·Ø¨Ù‚: Ø¨Ù„Ø§ Ø£Ø³Ø¹Ø§Ø± */
.addon-group-card.is-remove .addon-opt-price{ display: none; }
.addon-group-card.is-remove{ border-color: rgba(148, 163, 184, .55); background: #f8fafc; }
.b-check--sm{ font-size: .72rem; font-weight: 700; color: #64748b; margin-top: .35rem; }

/* ======================================================================
   Ù†Ø§ÙØ°Ø© Ø§Ù„Ø·Ù„Ø¨: ØªÙØ§ØµÙŠÙ„ Ø§Ù„Ø·Ø¨Ù‚ ÙÙˆÙ‚ Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª ÙˆØ§Ù„Ø¥Ø²Ø§Ù„Ø©
   ====================================================================== */
.addon-about{ padding: 0 1.1rem; display: flex; flex-direction: column; gap: .7rem; }
.addon-about:empty{ display: none; }
/* Ù…Ù‚Ø§Ø³ ØµÙ†Ø¯ÙˆÙ‚ Ø§Ù„ØµÙˆØ±Ø© ÙˆØ·Ø±ÙŠÙ‚Ø© Ø¹Ø±Ø¶Ù‡Ø§ ÙÙŠ Ù‚Ø³Ù… Â«Ø§Ù„ØªØ­Ø¯ÙŠØ« 16Â» Ø£Ø³ÙÙ„ Ø§Ù„Ù…Ù„Ù:
   ØµÙ†Ø¯ÙˆÙ‚ Ø«Ø§Ø¨Øª Ù¤:Ù£ ÙˆØ§Ù„ØµÙˆØ±Ø© ÙƒØ§Ù…Ù„Ø© Ø¨Ù„Ø§ Ù‚ØµÙ‘. */
.addon-media img{ width: 100%; display: block; }
.addon-desc{ font-size: .85rem; line-height: 1.8; color: #475569; }
.addon-about-sec{ display: flex; flex-direction: column; gap: .4rem; }
.addon-about-label{ font-size: .72rem; font-weight: 900; color: #94a3b8; }

/* Ù…Ø¬Ù…ÙˆØ¹Ø© Ø§Ù„Ø¥Ø²Ø§Ù„Ø©: Ù‡Ø§Ø¯Ø¦Ø© Ø¨ØµØ±ÙŠØ§Ù‹ØŒ ÙÙ‡ÙŠ Ù„Ø§ ØªØ²ÙŠØ¯ Ø§Ù„Ø³Ø¹Ø± */
.addon-group--remove{ background: #f8fafc; }
.addon-group--remove .addon-option-name{ color: #475569; }

/* ======================================================================
   Â«Ø·Ù„Ø¨Ø§ØªÙŠÂ» â€” Ù…ØªØ§Ø¨Ø¹Ø© Ø§Ù„Ø²Ø¨ÙˆÙ† Ù„Ø­Ø§Ù„Ø© Ø·Ù„Ø¨Ù‡
   Ø§Ù„Ø²Ø± Ø¨Ø¬Ø§Ù†Ø¨ Ø²Ø± Ø§Ù„Ø³Ù„Ø©ØŒ ÙˆÙ…Ø¹Ù‡ Ù†Ù‚Ø·Ø© ØªÙ†Ø¨ÙŠÙ‡ Ø¹Ù†Ø¯ ØªØºÙŠÙ‘Ø± Ø§Ù„Ø­Ø§Ù„Ø©.
   ====================================================================== */
#orders-fab{
    position: fixed; bottom: 1.25rem; inset-inline-end: 5.25rem; z-index: var(--z-floating);
    width: 3rem; height: 3rem; border-radius: 9999px; cursor: pointer;
    border: 1.5px solid rgba(95, 15, 64, .18);
    background: #fff; color: var(--c-plum, #5f0f40);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 10px 22px -8px rgba(15, 23, 42, .3); transition: transform .15s ease;
}
#orders-fab:hover{ transform: translateY(-2px); }
#orders-fab-dot{
    position: absolute; top: .1rem; inset-inline-end: .1rem;
    width: .7rem; height: .7rem; border-radius: 9999px;
    background: #ef4444; border: 2px solid #fff;
}
@media (max-width: 480px){ #orders-fab{ inset-inline-end: 4.75rem; width: 2.75rem; height: 2.75rem; } }

/* Ø§Ù„Ù†Ø§ÙØ°Ø© */
.go-overlay{
    position: fixed; inset: 0; z-index: var(--z-modal); display: none;
    align-items: center; justify-content: center; padding: 1rem;
    background: rgba(15, 23, 42, .55);
}
.go-overlay.open{ display: flex; }
.go-box{
    width: 100%; max-width: 28rem; max-height: 85vh; overflow: auto;
    background: #fff; border-radius: 1.25rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .3);
}
.go-head{
    display: flex; align-items: center; justify-content: space-between;
    padding: 1rem 1.1rem .6rem; border-bottom: 1px solid #f1f5f9;
}
.go-title{ font-size: 1.05rem; font-weight: 900; color: var(--c-plum, #5f0f40); }
.go-body{ padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .9rem; }
.go-empty{ font-size: .85rem; color: #94a3b8; text-align: center; padding: 1.5rem 0; }

/* Ø¨Ø·Ø§Ù‚Ø© Ø·Ù„Ø¨ */
.go-card{ border: 1px solid #e2e8f0; border-radius: 1rem; padding: .85rem .9rem; }
.go-card.is-cancelled{ opacity: .6; }
.go-card-head{ display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.go-card-id{ font-size: .9rem; font-weight: 900; color: #0f172a; }
.go-card-status{
    font-size: .68rem; font-weight: 900; border-radius: .5rem; padding: .18rem .5rem;
    background: #f1f5f9; color: #475569;
}
.go-card-status--new{ background: rgba(239, 68, 68, .12); color: #dc2626; }
.go-card-status--preparing{ background: rgba(251, 139, 36, .15); color: #c2410c; }
.go-card-status--done{ background: rgba(16, 185, 129, .15); color: #047857; }
.go-card-table{ margin-top: .25rem; font-size: .72rem; font-weight: 700; color: #64748b; }
.go-card-items{ margin-top: .35rem; font-size: .78rem; color: #475569; line-height: 1.7; }

/* Ø§Ù„Ù…Ø³Ø§Ø± Ø§Ù„Ø²Ù…Ù†ÙŠ */
.go-steps{ display: flex; align-items: flex-start; gap: .25rem; margin-top: .8rem; }
.go-step{ flex: 1; display: flex; flex-direction: column; align-items: center; gap: .35rem; position: relative; }
.go-step::before{
    content: ''; position: absolute; top: .42rem; inset-inline-start: 50%;
    width: 100%; height: 2px; background: #e2e8f0;
}
.go-step:last-child::before{ display: none; }
.go-step-dot{
    width: .9rem; height: .9rem; border-radius: 9999px; background: #e2e8f0;
    position: relative; z-index: 1; transition: background .2s;
}
.go-step-label{ font-size: .64rem; font-weight: 800; color: #94a3b8; text-align: center; }
.go-step.is-done .go-step-dot{ background: #10b981; }
.go-step.is-done .go-step-label{ color: #047857; }
.go-step.is-now .go-step-dot{ background: var(--c-orange, #FB8B24); box-shadow: 0 0 0 .22rem rgba(251, 139, 36, .22); }
.go-step.is-now .go-step-label{ color: #c2410c; }
.go-step.is-off .go-step-dot{ background: #e2e8f0; }

/* Ø§Ù„Ø¥Ø´Ø¹Ø§Ø± Ø§Ù„Ù…Ø¤Ù‚Øª Ø£Ø¹Ù„Ù‰ Ø§Ù„Ø´Ø§Ø´Ø© */
.go-toast{
    position: fixed; top: 1rem; inset-inline: 1rem; z-index: var(--z-toast); margin: 0 auto;
    max-width: 24rem; text-align: center;
    background: #0f172a; color: #fff; border-radius: .9rem;
    padding: .7rem 1rem; font-size: .82rem; font-weight: 800;
    box-shadow: 0 18px 35px -12px rgba(0, 0, 0, .5);
    opacity: 0; transform: translateY(-.6rem); transition: opacity .25s, transform .25s;
}
.go-toast.is-on{ opacity: 1; transform: translateY(0); }

/* ======================================================================
   Ø§Ù„ØªØ­Ø¯ÙŠØ« 16 â€” Ù…Ù‚Ø§Ø³Ø§Øª Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© ÙˆÙ†Ø§ÙØ°Ø© Ø§Ù„Ø·Ù„Ø¨ + Ø®ÙŠØ§Ø±Ø§Øª ÙˆØ¥Ø¶Ø§ÙØ§Øª Ø§Ù„ØµÙ†Ù
   ====================================================================== */

/* ---------- Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø·Ø¨Ù‚ ÙÙŠ Ø§Ù„Ø´Ø¨ÙƒØ©: Ù…Ù‚Ø§Ø³ ÙˆØ§Ø­Ø¯ Ù„ÙƒÙ„ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø§Øª ----------
   Ø§Ù„Ù…Ø´ÙƒÙ„Ø© Ø§Ù„ØªÙŠ ÙŠØ­Ù„Ù‘Ù‡Ø§ Ù‡Ø°Ø§ Ø§Ù„Ù‚Ø³Ù…: ÙƒØ§Ù†Øª Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© ØªÙ†ÙƒÙ…Ø´ Ø¥Ø°Ø§ Ù„Ù… ØªÙØ±ÙØ¹ ØµÙˆØ±Ø© Ù„Ù„Ø·Ø¨Ù‚
   (Ù¡Ù Ù©px Ø¨Ø¯Ù„ Ù¥Ù¡Ù¢px ÙÙŠ Ù†ÙØ³ Ø§Ù„ØµÙ)ØŒ ÙˆÙŠØ®ØªÙ„Ù Ø§Ø±ØªÙØ§Ø¹Ù‡Ø§ Ø¨Ø§Ø®ØªÙ„Ø§Ù Ù…Ø§ ÙƒÙØªØ¨ ÙÙŠÙ‡.
   Ø§Ù„Ø¢Ù†: ØµÙ†Ø¯ÙˆÙ‚ ØµÙˆØ±Ø© Ù…Ø±Ø¨Ù‘Ø¹ Ø¯Ø§Ø¦Ù…Ø§Ù‹ØŒ ÙˆØ§Ø³Ù… Ø¨Ø³Ø·Ø±ÙŠÙ† Ù…Ø­Ø¬ÙˆØ²ÙŠÙ†ØŒ ÙˆØµÙÙ‘ Ø§Ù„Ø³Ø¹Ø± Ø¨Ø§Ù„Ø£Ø³ÙÙ„. */
.rest-grid{ align-items: stretch; }
.dish-card--grid{
    display: flex; flex-direction: column; height: 100%; overflow: hidden;
}

/* ======================================================================
   Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø·Ø¨Ù‚ ÙÙŠ Ø§Ù„Ø´Ø¨ÙƒØ© â€” Ø¹Ù…ÙˆØ¯ Ù…Ø±Ù† (flex column)
   ----------------------------------------------------------------------
   Ø§Ù„Ø¨Ù†ÙŠØ© ÙƒÙ…Ø§ Ø§ØªÙÙ‚Ù†Ø§:
       .dish-card--grid   display:flex; flex-direction:column; height:100%
       .dish-card-body    flex:1  â†’ ÙŠØ£Ø®Ø° Ù…Ø§ ØªØ¨Ù‚Ù‘Ù‰ Ù…Ù† Ø§Ø±ØªÙØ§Ø¹ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø©
       .dish-card-desc    flex:1  â†’ Ø§Ù„ÙˆØµÙ Ù‡Ùˆ Ø§Ù„Ø°ÙŠ ÙŠØªÙ…Ø¯Ù‘Ø¯ØŒ Ù„Ø§ Ø§Ø±ØªÙØ§Ø¹ Ø«Ø§Ø¨Øª Ù„Ù‡
       .dish-card-foot    margin-top:auto â†’ Ø§Ù„Ø³Ø¹Ø± ÙˆØ§Ù„Ø²Ø± Ø¹Ù„Ù‰ Ø®Ø· ÙˆØ§Ø­Ø¯ ÙÙŠ ÙƒÙ„
                                            Ø§Ù„Ø¨Ø·Ø§Ù‚Ø§Øª Ù…Ù‡Ù…Ø§ Ø§Ø®ØªÙ„Ù Ø·ÙˆÙ„ Ø§Ù„ÙˆØµÙ
   ÙˆÙ„Ø§ Ø±Ù‚Ù… Ø³Ø­Ø±ÙŠ ÙÙŠ Ø£ÙŠ Ø³Ø·Ø±: ÙƒÙ„ Ø´ÙŠØ¡ ÙŠØªÙ…Ø¯Ù‘Ø¯ Ù…Ø¹ Ø§Ù„Ù…Ø­ØªÙˆÙ‰ ÙˆØ­Ø¬Ù… Ø®Ø· Ø§Ù„Ù…ØªØµÙØ­.
   ====================================================================== */

/* ØµÙ†Ø¯ÙˆÙ‚ Ø§Ù„ØµÙˆØ±Ø©: ÙŠÙ…Ù„Ø£ Ø£Ø¹Ù„Ù‰ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© Ø¨Ù†Ø³Ø¨Ø© 4:3 Ø¨Ù„Ø§ Ø£ÙŠ Ù‡Ø§Ù…Ø´.
   ----------------------------------------------------------------------
   ÙƒØ§Ù† Ù‡Ù†Ø§ Ø¥Ø·Ø§Ø± Ø¯Ø§Ø®Ù„ÙŠ (Ù‡ÙˆØ§Ù…Ø´ .7rem) Ù…Ø¹ object-fit: containØŒ ÙˆÙ†ØªÙŠØ¬ØªÙ‡ Ø£Ù† Ø£ÙŠ
   ØµÙˆØ±Ø© Ù„Ø§ ØªØ·Ø§Ø¨Ù‚ Ù†Ø³Ø¨Ø© 4:3 ØªÙØ±Ø³ÙŽÙ… Ø£ØµØºØ± Ù…Ù† ØµÙ†Ø¯ÙˆÙ‚Ù‡Ø§ ÙˆÙŠØ¸Ù‡Ø± Ù…Ø§ Ø­ÙˆÙ„Ù‡Ø§ Ù„ÙˆÙ†Ø§Ù‹
   Ø§ÙØªØ±Ø§Ø¶ÙŠØ§Ù‹: ØµÙˆØ±Ø© Ù…Ø±Ø¨Ù‘Ø¹Ø© 600Ã—600 ÙÙŠ ØµÙ†Ø¯ÙˆÙ‚ 334Ã—250 ØªÙØ±Ø³ÙŽÙ… 250Ã—250 ÙØªÙÙ‡Ø¯ÙŽØ±
   Ù¢Ù Ù¨Ù¦Ù§pxÂ² (Ù¢Ù¥Ùª Ù…Ù† Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚)ØŒ ÙˆØµÙˆØ±Ø© Ø·ÙˆÙ„ÙŠØ© 480Ã—720 ØªÙØ±Ø³ÙŽÙ… 167Ã—250 ÙØªÙÙ‡Ø¯ÙŽØ±
   Ù¥Ù Ùª Ù…Ù†Ù‡ â€” ÙØªØ¨Ø¯Ùˆ ØµÙˆØ±Ø© Ø§Ù„Ø·Ø¨Ù‚ Â«Ù…Ø±Ø¨Ù‘Ø¹Ø©Â» ÙˆØ³Ø· ÙØ±Ø§Øº Ø±Ù…Ø§Ø¯ÙŠ ÙˆØªØ¶ÙŠØ¹ Ø¬ÙˆØ¯ØªÙ‡Ø§.
   Ø§Ù„Ø¢Ù†: Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚ Ù…Ù„ØªØµÙ‚ Ø¨Ø­Ø§ÙÙ‘ØªÙŠ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© ÙˆØ£Ø¹Ù„Ø§Ù‡Ø§ (width:100%; margin:0) ÙˆØ§Ù„ØµÙˆØ±Ø©
   coverØŒ ÙØªØ£Ø®Ø° Ù…Ù‚Ø§Ø³ Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© ÙƒØ§Ù…Ù„Ø§Ù‹ Ø¯Ø§Ø¦Ù…Ø§Ù‹ Ø£ÙŠØ§Ù‹ ÙƒØ§Ù†Øª Ø£Ø¨Ø¹Ø§Ø¯ Ù…Ø§ ÙŠØ±ÙØ¹Ù‡ Ø§Ù„Ù…Ø¯ÙŠØ±.
   ÙˆØ§Ù„Ù‚ØµÙ‘ Ù…Ù† Ø§Ù„ÙˆØ³Ø· (object-position: center) ÙˆÙ‡Ùˆ Ù…ÙˆØ¶Ø¹ Ø§Ù„Ø·Ø¨Ù‚ ÙÙŠ ØµÙˆØ± Ø§Ù„Ø·Ø¹Ø§Ù…. */
.dish-card-media{
    position: relative; flex: 0 0 auto;
    aspect-ratio: 4 / 3; width: 100%; margin: 0;
    background: #f6f7fa; overflow: hidden; cursor: pointer;
    /* Ø§Ù„Ø²ÙˆØ§ÙŠØ§ Ø§Ù„Ø¹Ù„ÙŠØ§ Ø¨Ù†ØµÙ Ù‚Ø·Ø± Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© Ù†ÙØ³Ù‡: Ø§Ù„ØµÙˆØ±Ø© ØªØªØ¨Ø¹ Ø­Ø§ÙÙ‘Ø© Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© ØªÙ…Ø§Ù…Ø§Ù‹.
       (Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© Ù†ÙØ³Ù‡Ø§ overflow:hidden ÙÙ„Ø§ ØªØªØ³Ø±Ù‘Ø¨ Ø§Ù„ØµÙˆØ±Ø© Ù…Ù† Ø²ÙˆØ§ÙŠØ§Ù‡Ø§.) */
    border-start-start-radius: calc(var(--card-radius) - 1px);
    border-start-end-radius: calc(var(--card-radius) - 1px);
}
@media (prefers-reduced-motion: reduce){
    .dish-card--grid:hover .dish-card-media-img{ transform: none; }
}
/* ---------- ØµÙˆØ±Ø© Ø§Ù„Ø·Ø¨Ù‚: Ø§Ù„Ø·Ø¨Ù‚ ÙˆØ­Ø¯Ù‡ Ø¨Ù…Ù‚Ø§Ø³Ø§ØªÙ‡ØŒ Ø¨Ù„Ø§ Ù‚ØµÙ‘ ÙˆØ¨Ù„Ø§ Ø®Ù„ÙÙŠØ© Ù…Ø´ÙˆÙ‘Ø´Ø© ----------
   ÙƒØ§Ù†Øª Ø®Ù„Ù ÙƒÙ„ ØµÙˆØ±Ø© Ù†Ø³Ø®Ø©ÙŒ Ù…Ù†Ù‡Ø§ Ù…ÙƒØ¨Ù‘Ø±Ø© ÙˆÙ…Ø´ÙˆÙ‘Ø´Ø© ØªÙ…Ù„Ø£ Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚. Ø£ÙØ²ÙŠÙ„Øª: Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚
   Ø§Ù„Ø¢Ù† Ø¨Ù„ÙˆÙ† Ù‡Ø§Ø¯Ø¦ ÙˆØ§Ø­Ø¯ ÙˆØ§Ù„Ø·Ø¨Ù‚ ÙˆØ­Ø¯Ù‡ ÙÙˆÙ‚Ù‡.

   ÙˆÙ„Ù…Ø§Ø°Ø§ scale-down Ù„Ø§ containØŸ Ù‡Ù…Ø§ Ù…ØªØ·Ø§Ø¨Ù‚Ø§Ù† ØªÙ…Ø§Ù…Ø§Ù‹ ÙÙŠ ÙƒÙ„ ØµÙˆØ±Ø© Ø£ÙƒØ¨Ø± Ù…Ù†
   Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚ â€” Ø£ÙŠ ÙƒÙ„ ØµÙˆØ±Ø© Ø·Ø¨ÙŠØ¹ÙŠØ©. ÙˆÙŠÙØªØ±Ù‚Ø§Ù† ÙÙŠ Ø§Ù„ØµÙˆØ±Ø© Ø§Ù„Ø£ØµØºØ± Ù…Ù†Ù‡ ÙˆØ­Ø¯Ù‡Ø§:
   Ù‚ÙŠØ§Ø³ÙŒ Ø¹Ù„Ù‰ ØµÙ†Ø¯ÙˆÙ‚ 356Ã—267 Ø¨ØµÙˆØ±Ø© 120Ã—90 â€” contain ØªÙƒØ¨Ù‘Ø±Ù‡Ø§ **Ù¢Ù«Ù©Ù§ Ø¶Ø¹ÙØ§Ù‹**
   ÙØªØ®Ø±Ø¬ Ø¶Ø¨Ø§Ø¨ÙŠØ© Ù…ÙƒØ³Ù‘Ø±Ø©ØŒ Ùˆ scale-down ØªÙØ¨Ù‚ÙŠÙ‡Ø§ 120Ã—90 Ø­Ø§Ø¯Ù‘Ø© ÙÙŠ ÙˆØ³Ø· Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚.
   ÙˆØ§Ù„Ù…Ø·Ø¹Ù… ÙŠØ±ÙØ¹ Ù…Ø§ Ø¹Ù†Ø¯Ù‡ â€” ÙˆÙƒØ«ÙŠØ± Ù…Ù†Ù‡ ØµÙˆØ± ØµØºÙŠØ±Ø© Ù…Ù† ÙˆØ§ØªØ³Ø§Ø¨ â€” ÙØ§Ù„Ø¶Ù…Ø§Ù† Ø¨Ø£Ù„Ù‘Ø§
   ØªÙÙƒØ¨ÙŽÙ‘Ø± ØµÙˆØ±Ø© ÙÙˆÙ‚ Ù…Ù‚Ø§Ø³Ù‡Ø§ Ø§Ù„Ø£ØµÙ„ÙŠ ÙŠØ³ØªØ­Ù‚Ù‘ØŒ ÙˆÙ„Ø§ ÙŠÙƒÙ„Ù‘Ù Ø´ÙŠØ¦Ø§Ù‹ ÙÙŠ Ø§Ù„ØµÙˆØ± Ø§Ù„ÙƒØ¨ÙŠØ±Ø©. */
.dish-card-media-img{
    width: 100%; height: 100%; object-fit: scale-down; object-position: center;
    display: block; transition: transform .3s ease;
}
.dish-card--grid:hover .dish-card-media-img{ transform: scale(1.03); }
.dish-card-media--empty{ display: flex; align-items: center; justify-content: center; background: var(--c-brand-soft, #f1f5f9); }
.dish-card-media-ico{ width: 34%; max-width: 5rem; height: auto; color: var(--c-brand, var(--c-plum)); opacity: .38; }

/* Ø¬Ø³Ù… Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© ÙŠØ£Ø®Ø° Ø¨Ù‚ÙŠØ© Ø§Ù„Ø§Ø±ØªÙØ§Ø¹ ÙˆÙŠÙˆØ²Ù‘Ø¹Ù‡ Ø¹Ù„Ù‰ Ø£Ø¨Ù†Ø§Ø¦Ù‡ */
.dish-card-body{ display: flex; flex-direction: column; flex: 1; min-height: 0; padding: .8rem .95rem 1rem; gap: .25rem; }

.dish-card-name{
    font-size: 1rem; font-weight: 800; color: #0f172a; line-height: 1.35; cursor: pointer;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Ø§Ù„ÙˆØµÙ Ù‡Ùˆ Ø§Ù„Ù…Ø³Ø§Ø­Ø© Ø§Ù„Ù…Ø±Ù†Ø©: ÙŠØªÙ…Ø¯Ù‘Ø¯ Ù„ÙŠÙ…Ù„Ø£ Ø§Ù„ÙØ±Ø§Øº Ø§Ù„Ù…ØªØ¨Ù‚ÙŠ ÙÙŠØ¯ÙØ¹ Ø§Ù„Ø³Ø¹Ø± Ù„Ù„Ø£Ø³ÙÙ„ */
.dish-card-desc{
    flex: 1;
    font-size: .84rem; font-weight: 400; color: #64748b; line-height: 1.5; cursor: pointer;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Ø§Ù„ØµÙÙ‘ Ø§Ù„Ø³ÙÙ„ÙŠ Ù…Ù„ØªØµÙ‚ Ø¨Ø§Ù„Ø£Ø³ÙÙ„ Ø¯Ø§Ø¦Ù…Ø§Ù‹ â€” Ø­ØªÙ‰ ÙÙŠ Ø¨Ø·Ø§Ù‚Ø© Ø¨Ù„Ø§ ÙˆØµÙ Ø¥Ø·Ù„Ø§Ù‚Ø§Ù‹ */
.dish-card-foot{
    margin-top: auto;
    display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .55rem;
}
.dish-card-price{ display: inline-flex; align-items: baseline; gap: .25rem; font-size: 1.15rem; font-weight: 900; color: var(--c-plum); }
/* ÙƒÙ„Ù…Ø© Ø§Ù„Ø¹Ù…Ù„Ø© Ø£ØµØºØ± Ù…Ù† Ø§Ù„Ø±Ù‚Ù… Ù‚Ù„ÙŠÙ„Ø§Ù‹ */
.dish-card-cur{ font-size: .72em; font-weight: 800; }

.rest-grid--compact .dish-card-media{ width: 100%; margin: 0; }
.rest-grid--compact .dish-card-body{ padding: .65rem .7rem .8rem; }
.rest-grid--compact .dish-card-name{ font-size: .86rem; min-height: 2.32rem; }
.rest-grid--compact .dish-card-price{ font-size: .95rem; }

/* ---------- Ù†Ø§ÙØ°Ø© Ø§Ù„Ø·Ù„Ø¨: Ù…Ù‚Ø§Ø³ Ø«Ø§Ø¨Øª ÙˆÙ…Ù†Ø·Ù‚Ø© ØªÙ…Ø±ÙŠØ± ÙˆØ§Ø­Ø¯Ø© ----------
   Ø§Ù„Ù…Ø´ÙƒÙ„Ø© Ø§Ù„ØªÙŠ ÙŠØ­Ù„Ù‘Ù‡Ø§ Ù‡Ø°Ø§ Ø§Ù„Ù‚Ø³Ù…: ÙƒØ§Ù†Øª Ø§Ù„ØªÙØ§ØµÙŠÙ„ Ø®Ø§Ø±Ø¬ Ù…Ù†Ø·Ù‚Ø© Ø§Ù„ØªÙ…Ø±ÙŠØ±ØŒ ÙØ¥Ø°Ø§ ÙƒØªØ¨
   Ø§Ù„Ù…Ø·Ø¹Ù… Ø§Ù„Ù…ÙƒÙˆÙ‘Ù†Ø§Øª ÙˆØ§Ù„ÙˆØ³ÙˆÙ… Ø§Ù†ÙƒÙ…Ø´Øª Ù…Ù†Ø·Ù‚Ø© Ø§Ù„Ø®ÙŠØ§Ø±Ø§Øª Ù…Ù† Ù¢Ù¤Ù¤px Ø¥Ù„Ù‰ Ù¨Ù¥px Ø¹Ù„Ù‰ Ø´Ø§Ø´Ø©
   Ø§Ù„Ø¬ÙˆØ§Ù„. Ø§Ù„Ø¢Ù† Ø§Ù„ØªÙØ§ØµÙŠÙ„ ÙˆØ§Ù„Ø®ÙŠØ§Ø±Ø§Øª ÙÙŠ ØµÙ†Ø¯ÙˆÙ‚ ØªÙ…Ø±ÙŠØ± ÙˆØ§Ø­Ø¯: Ø§Ù„Ù…Ù‚Ø§Ø³ Ø«Ø§Ø¨Øª ÙˆÙ„Ø§ ÙŠÙØ³Ø­ÙŽÙ‚
   Ù‚Ø³Ù… Ù„Ø­Ø³Ø§Ø¨ Ù‚Ø³Ù… Ø¢Ø®Ø±. */
.addon-scroll{
    flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
    display: flex; flex-direction: column; -webkit-overflow-scrolling: touch;
}
.addon-scroll > .addon-about,
.addon-scroll > .addon-body{ flex: 0 0 auto; }
.addon-body{ overflow: visible; }

/* Ø§Ù„ØµÙˆØ±Ø© Ø§Ù„ØºÙ„Ø§ÙÙŠØ©: Ù…Ù„ØªØµÙ‚Ø© Ø¨Ø§Ù„Ø­Ø§ÙØ© Ø§Ù„Ø¹Ù„ÙˆÙŠØ© Ù„Ù„Ù†Ø§ÙØ°Ø© Ø¨Ù„Ø§ Ø£ÙŠ Ù‡Ø§Ù…Ø´ Ø­ÙˆÙ„Ù‡Ø§ØŒ
   ÙˆØ¨Ù…Ù‚Ø§Ø³ Ø«Ø§Ø¨Øª ÙÙ„Ø§ ÙŠØªØºÙŠÙ‘Ø± Ø´ÙƒÙ„ Ø§Ù„Ù†Ø§ÙØ°Ø© Ø¨ÙˆØ¬ÙˆØ¯ Ø§Ù„Ù…ÙƒÙˆÙ‘Ù†Ø§Øª ÙˆØ§Ù„ÙˆØ³ÙˆÙ… Ø£Ùˆ ØºÙŠØ§Ø¨Ù‡Ø§. */
.addon-hero{
    flex: 0 0 auto; position: relative;
    aspect-ratio: 4 / 3; max-height: 16rem; width: 100%;
    overflow: hidden; background: #f8fafc;
}
/* ØµÙˆØ±Ø© Ù†Ø§ÙØ°Ø© Ø§Ù„Ø·Ù„Ø¨: ÙƒØ§Ù…Ù„Ø© Ø¨Ù„Ø§ Ù‚ØµÙ‘ â€” ÙØ§Ù„Ø²Ø¨ÙˆÙ† Ù‡Ù†Ø§ ÙŠÙØ­Øµ Ø§Ù„Ø·Ø¨Ù‚ Ù‚Ø¨Ù„ Ø£Ù† ÙŠØ·Ù„Ø¨Ù‡ØŒ
   ÙˆÙ‚ØµÙ‘ Ø£Ø·Ø±Ø§ÙÙ‡ ÙÙŠ Ù‡Ø°Ø§ Ø§Ù„Ù…ÙˆØ¶Ø¹ ÙŠØ®ÙÙŠ Ø¹Ù†Ù‡ Ù…Ø§ ÙŠØ´ØªØ±ÙŠÙ‡. ÙˆØ¨Ù„Ø§ Ø®Ù„ÙÙŠØ© Ù…Ø´ÙˆÙ‘Ø´Ø© Ø®Ù„ÙÙ‡Ø§:
   Ø§Ù„Ø·Ø¨Ù‚ ÙˆØ­Ø¯Ù‡ Ø¨Ù…Ù‚Ø§Ø³Ø§ØªÙ‡ Ø¹Ù„Ù‰ Ù„ÙˆÙ† Ù‡Ø§Ø¯Ø¦ ÙˆØ§Ø­Ø¯. */
.addon-hero-img{ width: 100%; height: 100%; object-fit: scale-down; object-position: center; display: block; }
.addon-about{ padding: 1rem 1.15rem 0; }

/* ---------- Ø§Ù„Ø®ÙŠØ§Ø±Ø§Øª ÙÙŠ Ù†Ø§ÙØ°Ø© Ø§Ù„Ø·Ù„Ø¨ ---------- */
.addon-option--skip .addon-option-name{ color: #94a3b8; font-weight: 700; }
.addon-option input:disabled{ cursor: not-allowed; opacity: .45; }
.addon-option input:disabled ~ .addon-option-name{ color: #94a3b8; }
.addon-group.is-full{ border-color: #e2e8f0; background: #fbfcfe; }

/* ---------- Ù…Ø­Ø±Ù‘Ø± Ø§Ù„Ù…Ø¬Ù…ÙˆØ¹Ø§Øª ÙÙŠ Ø§Ù„Ù„ÙˆØ­Ø© ÙˆØµÙØ­Ø© Ø§Ù„Ø¥Ø¶Ø§ÙØ© ---------- */
.addon-group-names{ display: grid; grid-template-columns: 1fr; gap: .45rem; flex: 1; min-width: 10rem; }
@media (min-width: 640px){ .addon-group-names{ grid-template-columns: 1fr 1fr; } }
.addon-group-rules{
    display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .9rem;
    border-top: 1px dashed var(--dash-border, #e8ebf2); padding-top: .55rem;
}
.addon-group-rule{ display: inline-flex; align-items: center; gap: .35rem; font-size: .74rem; font-weight: 700; color: #64748b; }
/* Ø­Ù‚ÙˆÙ„ Ø§Ù„Ø£Ø±Ù‚Ø§Ù… Ø¶ÙŠÙ‘Ù‚Ø©ØŒ ÙˆØ§Ù„Ù‚ÙˆØ§Ø¦Ù… Ø§Ù„Ù…Ù†Ø³Ø¯Ù„Ø© Ø¨Ø¹Ø±Ø¶ Ù…Ø­ØªÙˆØ§Ù‡Ø§ Ø­ØªÙ‰ Ù„Ø§ ÙŠÙÙ‚ØªØ·Ø¹ Ù†ØµÙ‘Ù‡Ø§ */
.addon-group-rule input[type="number"].dash-input{ width: 4.2rem; text-align: center; padding-block: .45rem; }
.addon-group-rule select.dash-input{ width: auto; min-width: 9.5rem; padding-block: .45rem; }
.addon-group-card.is-remove .addon-group-rules{ display: none; }
.addon-group-card.is-single .addon-group-rule--minmax{ display: none; }
.addon-opt-names{ display: grid; grid-template-columns: 1fr; gap: .4rem; flex: 1; min-width: 9rem; }
@media (min-width: 640px){ .addon-opt-names{ grid-template-columns: 1fr 1fr; } }
/* Ø¯Ø§Ø®Ù„ Ø§Ù„Ø´Ø¨ÙƒØ© Ù†Ù„ØºÙŠ Ø¹Ø±Ø¶ Ø§Ù„Ø­Ù‚Ù„ Ø§Ù„Ù‚Ø¯ÙŠÙ… Ø­ØªÙ‰ ÙŠØªØ³Ø§ÙˆÙ‰ Ø§Ù„Ø¹Ù…ÙˆØ¯Ø§Ù† ÙˆÙ„Ø§ ÙŠÙÙ‚ØªØ·Ø¹ Ø§Ù„Ø§Ø³Ù… Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠ */
.addon-opt-names .dash-input,
.addon-group-names .dash-input{ min-width: 0; width: 100%; }

/* ---------- ØµÙØ­Ø© Â«Ø¥Ø¶Ø§ÙØ© Ø·Ø¨Ù‚Â»: Ù‚Ø³Ù… Ø§Ù„Ø®ÙŠØ§Ø±Ø§Øª Ø¯Ø§Ø®Ù„ Ø§Ù„Ù†Ù…ÙˆØ°Ø¬ ---------- */
.am-options{ border-top: 1px solid #f1f5f9; padding-top: 1.1rem; display: flex; flex-direction: column; gap: .8rem; }
.am-options-title{ font-size: .95rem; font-weight: 900; color: #0f172a; }
.am-options-sub{ font-size: .76rem; color: #64748b; margin-top: .2rem; line-height: 1.8; }

/* Ø§Ø³Ù… Ø§Ù„ÙØ±Ø¹ Ø§Ù„Ø°ÙŠ Ø¯Ø®Ù„ Ù…Ù†Ù‡ Ø§Ù„Ø²Ø¨ÙˆÙ† (Ù…Ù† Ø¨Ø§Ø±ÙƒÙˆØ¯ Ø§Ù„Ø·Ø§ÙˆÙ„Ø©) â€” Ø¹Ø±Ø¶ ÙÙ‚Ø·ØŒ Ø¨Ù„Ø§ Ø§Ø®ØªÙŠØ§Ø± */
.rest-branch-tag{
    display: inline-flex; align-items: center; gap: .3rem; margin-top: .6rem;
    font-size: .78rem; font-weight: 700; color: var(--c-plum);
    background: rgba(255, 255, 255, .72); border-radius: 9999px; padding: .25rem .7rem;
}

/* Ø´Ø§Ø´Ø© Ø§Ù„ÙƒØ§Ø´ÙŠØ±: Ù…ÙØ§ØªÙŠØ­ Ø§Ù„ØªÙ†Ø¨ÙŠÙ‡ Ø§Ù„ØµÙˆØªÙŠ ÙˆÙ…ØªØ§Ø¨Ø¹Ø© Ø§Ù„Ø²Ø¨ÙˆÙ† */
.order-live-toggles{ display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.order-live-hint{ display: block; font-size: .7rem; font-weight: 500; color: #94a3b8; margin-top: .1rem; }
.order-live-toggle.is-saving{ opacity: .55; pointer-events: none; }

/* ØµÙØ­Ø© Â«Ø¥Ø¶Ø§ÙØ© Ø·Ø¨Ù‚ Ø¬Ø¯ÙŠØ¯Â»: Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ù†Ù…ÙˆØ°Ø¬ ÙˆØ±Ø³Ø§Ù„Ø© Ø§Ù„Ù†ØªÙŠØ¬Ø© Ø¯Ø§Ø®Ù„ Ù‡ÙŠÙƒÙ„ Ø§Ù„Ù„ÙˆØ­Ø© */
.am-form-card{ background: #fff; border: 1px solid var(--card-border); border-radius: 1.25rem; padding: 1.25rem; }
@media (min-width: 640px){ .am-form-card{ padding: 1.75rem; } }
.am-flash{
    display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
    margin-bottom: 1.1rem; padding: .9rem 1.1rem; border-radius: 1rem;
    font-size: .85rem; font-weight: 700;
}
.am-flash--ok{ background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.am-flash--bad{ background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.am-flash a{ text-decoration: underline; }

/* Ø§Ù„Ø±Ø³Ù…Ø© Ø§Ù„Ø¨Ø¯ÙŠÙ„Ø© ÙÙŠ Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø¹Ø±ÙˆØ¶ â€” Ù†ÙØ³ Ø±Ø³Ù…Ø© Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø·Ø¨Ù‚ */
.of-card-noimg-ico{ width: 34%; max-width: 4.5rem; height: auto; color: var(--c-brand, var(--c-plum)); opacity: .38; }

/* ======================================================================
   Ù†Ø¯Ø§Ø¡ Ø§Ù„Ù†Ø§Ø¯Ù„ Ø§Ù„Ø°ÙƒÙŠ â€” Ø´Ø§Ø´Ø© Ø§Ù„Ø²Ø¨ÙˆÙ†
   ----------------------------------------------------------------------
   Ø§Ù„Ø¬Ø±Ø³ ÙŠÙ‚Ù Ø¨Ø¹Ø¯ Ø²Ø± Ø§Ù„Ø³Ù„Ø©. ÙˆØ¥Ø°Ø§ ÙØ¹Ù‘Ù„ Ø§Ù„ÙƒØ§Ø´ÙŠØ± Ø²Ø± Â«Ø·Ù„Ø¨Ø§ØªÙŠÂ» Ø§Ù†Ø²Ø§Ø­ Ù…ÙƒØ§Ù†Ø§Ù‹
   Ø¥Ø¶Ø§ÙÙŠØ§Ù‹ (call-fab--shifted) ÙÙ„Ø§ ÙŠØ±ÙƒØ¨ ÙÙˆÙ‚Ù‡.
   ====================================================================== */
.call-fab{
    position: fixed; bottom: 1.25rem; inset-inline-end: 5.25rem; z-index: var(--z-floating);
    width: 3rem; height: 3rem; border-radius: 9999px; border: 0; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    background: var(--c-orange, #FB8B24); color: #fff;
    box-shadow: 0 10px 25px -8px rgba(251, 139, 36, .6);
    transition: transform .15s ease, background .15s ease;
}
/* ÙŠÙÙØ³Ø­ Ù…ÙƒØ§Ù†Ø§Ù‹ Ù„Ø²Ø± Â«Ø·Ù„Ø¨Ø§ØªÙŠÂ» Ø­ÙŠÙ† ÙŠØ¸Ù‡Ø± ÙØ¹Ù„Ø§Ù‹ (assets/js/guest-orders.js) */
body.has-orders-fab .call-fab{ inset-inline-end: 9.25rem; }
.call-fab:hover{ transform: scale(1.07); }
.call-fab.is-sent{ background: #16a34a; transform: scale(1.12); }
@media (max-width: 480px){
    .call-fab{ inset-inline-end: 4.75rem; width: 2.75rem; height: 2.75rem; }
    body.has-orders-fab .call-fab{ inset-inline-end: 8.25rem; }
}

.call-overlay{
    position: fixed; inset: 0; z-index: var(--z-modal); margin: 0; padding: 1rem;
    background: rgba(15, 23, 42, .6); backdrop-filter: blur(3px);
    display: none; align-items: flex-end; justify-content: center;
}
.call-overlay.open{ display: flex; }
@media (min-width: 640px){ .call-overlay{ align-items: center; } }
.call-box{
    position: relative; width: 100%; max-width: 24rem; background: #fff; border-radius: 1.5rem;
    overflow: hidden; text-align: start; animation: addon-in .2s ease;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .35);
}
.call-box.is-busy{ opacity: .7; pointer-events: none; }
.call-head{
    display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
    padding: 1.15rem 1.25rem .9rem;
    background: linear-gradient(140deg, var(--c-plum, #5f0f40), var(--c-brand, #5f0f40));
    color: #fff;
}
.call-title{ font-size: 1.05rem; font-weight: 900; }
.call-x{ position: static; background: rgba(255, 255, 255, .22); color: #fff; box-shadow: none; }
.call-x:hover{ background: rgba(255, 255, 255, .34); }

/* Ø§Ù„Ù†Øµ Ø§Ù„Ù…ØªØªØ§Ù„ÙŠ: ÙŠØ¯Ø®Ù„ Ø¨Ù‡Ø¯ÙˆØ¡ ÙÙ„Ø§ ÙŠÙ‚ÙØ² Ø£Ù…Ø§Ù… Ø¹ÙŠÙ† Ø§Ù„Ø²Ø¨ÙˆÙ† */
.call-rotator{ margin-top: .25rem; font-size: .82rem; min-height: 1.3em; color: rgba(255, 255, 255, .85); }
#call-rotator-text{ display: inline-block; opacity: 0; transform: translateY(.35rem); transition: opacity .18s ease, transform .18s ease; }
#call-rotator-text.is-in{ opacity: 1; transform: none; }

.call-body{ padding: 1rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: .8rem; }
.call-actions{ display: grid; grid-template-columns: 1fr; gap: .5rem; }
.call-action{
    display: flex; align-items: center; gap: .7rem; width: 100%; cursor: pointer;
    padding: .8rem .9rem; border-radius: 1rem; border: 1.5px solid #eef1f5; background: #fff;
    font-size: .92rem; font-weight: 800; color: #0f172a; text-align: start;
    transition: border-color .15s ease, background .15s ease, transform .1s ease;
}
.call-action:hover{ border-color: var(--c-orange, #FB8B24); background: #fffaf4; }
.call-action:active{ transform: scale(.985); }
.call-action-ico{ font-size: 1.25rem; line-height: 1; }
.call-action-text{ flex: 1; }

/* Ø­Ù‚Ù„ Ø§Ù„Ù…Ù„Ø§Ø­Ø¸Ø©: Ø±Ù…Ø§Ø¯ÙŠ Ù‡Ø§Ø¯Ø¦ Ù„Ø§ ÙŠÙ†Ø§ÙØ³ Ø§Ù„Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ø³Ø±ÙŠØ¹Ø© */
.call-note{ display: flex; align-items: center; gap: .5rem; background: #f8fafc; border: 1.5px solid #eef1f5; border-radius: 1rem; padding: .35rem .5rem .35rem .9rem; }
.call-note:focus-within{ border-color: var(--c-plum, #5f0f40); background: #fff; }
.call-note-input{ flex: 1; min-width: 0; border: 0; background: transparent; font-size: .88rem; color: #0f172a; padding: .55rem 0; outline: none; }
.call-note-input::placeholder{ color: #94a3b8; }
.call-note-send{
    flex-shrink: 0; width: 2.3rem; height: 2.3rem; border-radius: 9999px; border: 0; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    background: var(--c-plum, #5f0f40); color: #fff; transition: opacity .15s ease;
}
.call-note-send:hover{ opacity: .9; }
/* Ø£ÙŠÙ‚ÙˆÙ†Ø© Ø§Ù„Ø¥Ø±Ø³Ø§Ù„ ØªØ´ÙŠØ± Ù„Ø¬Ù‡Ø© Ø§Ù„Ù‚Ø±Ø§Ø¡Ø© */
[dir="rtl"] .call-note-send svg{ transform: scaleX(-1); }

.call-msg{ font-size: .82rem; font-weight: 700; border-radius: .8rem; padding: .6rem .8rem; }
.call-msg--ok{ background: #ecfdf5; color: #065f46; }
.call-msg--warn{ background: #fff7ed; color: #9a3412; }

/* ======================================================================
   Ù†Ø¯Ø§Ø¡Ø§Øª Ø§Ù„Ø·Ø§ÙˆÙ„Ø§Øª â€” Ø´Ø§Ø´Ø© Ø§Ù„Ù†ÙØ¯Ù‘Ù„
   ====================================================================== */
.calls-panel{
    background: #fff; border: 1px solid var(--dash-border, #e8eaef);
    border-inline-start: 4px solid var(--c-orange, #FB8B24);
    border-radius: 1.1rem; padding: .9rem 1.1rem 1rem; margin-bottom: 1rem;
    transition: box-shadow .3s ease;
}
.calls-panel.is-new{ box-shadow: 0 0 0 3px rgba(251, 139, 36, .28); }
.calls-head{ display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .6rem; }
.calls-title{ display: flex; align-items: center; gap: .45rem; font-size: .95rem; font-weight: 900; color: #0f172a; }
.calls-bell{ font-size: 1rem; }
.calls-count{
    min-width: 1.4rem; height: 1.4rem; padding: 0 .4rem; border-radius: 9999px;
    background: var(--c-orange, #FB8B24); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .74rem; font-weight: 900;
}
.calls-list{ display: grid; grid-template-columns: 1fr; gap: .55rem; }
@media (min-width: 760px){ .calls-list{ grid-template-columns: 1fr 1fr; } }
@media (min-width: 1200px){ .calls-list{ grid-template-columns: 1fr 1fr 1fr; } }
.calls-empty{ font-size: .82rem; color: #94a3b8; }

/* Ø§Ù„Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ø°ÙƒÙŠØ© Ø§Ù„ØµØºÙŠØ±Ø©: Ø£ÙŠÙ‚ÙˆÙ†Ø©ØŒ Ù†Øµ ÙˆØ§Ø¶Ø­ØŒ ÙˆØ²Ø± Ø¥ØºÙ„Ø§Ù‚ ÙˆØ§Ø­Ø¯ */
.call-card{
    display: flex; align-items: center; gap: .65rem;
    background: #fffaf4; border: 1px solid rgba(251, 139, 36, .35); border-radius: .9rem;
    padding: .6rem .7rem; transition: opacity .2s ease, transform .2s ease;
}
.call-card.is-resolving{ opacity: .45; transform: scale(.985); pointer-events: none; }
.call-card-ico{ font-size: 1.3rem; line-height: 1; flex-shrink: 0; }
.call-card-body{ flex: 1; min-width: 0; }
.call-card-table{ font-size: .86rem; font-weight: 900; color: #0f172a; }
.call-card-text{ font-size: .8rem; color: #475569; margin-top: .1rem; word-break: break-word; }
.call-card-ago{ font-size: .68rem; color: #94a3b8; }
.call-done{
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .3rem; cursor: pointer;
    border: 0; border-radius: 9999px; padding: .45rem .75rem;
    background: var(--c-plum, #5f0f40); color: #fff; font-size: .74rem; font-weight: 800;
    transition: opacity .15s ease;
}
.call-done:hover{ opacity: .9; }
@media (max-width: 420px){ .call-done span{ display: none; } }


/* ======================================================================
   Ù„ÙˆØ­Ø© Ø§Ù„Ù…Ø´Ø±Ù Ø§Ù„Ø¹Ø§Ù… (dashboard/super-admin.php)
   ØµÙØ­Ø© Ù…Ø³ØªÙ‚Ù„Ø© Ø¹Ù† Ù„ÙˆØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù…: Ù„Ø§ Ø´Ø±ÙŠØ· Ø¬Ø§Ù†Ø¨ÙŠ ÙˆÙ„Ø§ Ù‡ÙˆÙŠØ© Ù…Ø·Ø¹Ù… â€” Ø§Ù„Ù…Ø´Ø±Ù Ù„Ø§
   ÙŠÙ†ØªÙ…ÙŠ Ù„Ù…Ø·Ø¹Ù…. Ø§Ù„Ù„ÙˆÙ† Ø§Ù„Ø¹Ù†Ø§Ø¨ÙŠ ÙŠØ¨Ù‚Ù‰ Ù‡ÙˆÙŠØ© Ø§Ù„Ù…Ù†ØµÙ‘Ø©.
   ====================================================================== */
.sa-body{ background: #f6f7fb; }

.sa-topbar{
    position: sticky; top: 0; z-index: var(--z-header, 40);
    background: var(--c-plum, #5f0f40); color: #fff;
    box-shadow: 0 2px 14px -6px rgba(15, 23, 42, .5);
}
.sa-topbar-inner{
    max-width: 78rem; margin-inline: auto; padding: .7rem 1.1rem;
    display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
}
.sa-brand{ font-size: 1rem; font-weight: 800; display: inline-flex; align-items: center; gap: .5rem; }
.sa-badge{
    font-size: .68rem; font-weight: 800; padding: .15rem .5rem; border-radius: 9999px;
    background: var(--c-orange, #FB8B24); color: #1f2937;
}
.sa-topbar-actions{ display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.sa-topbar-actions .dash-btn{ background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); color: #fff; }
.sa-topbar-actions .dash-btn:hover{ background: rgba(255,255,255,.2); }

.sa-main{ max-width: 78rem; margin-inline: auto; padding: 1.25rem 1.1rem 3rem; }

.sa-tabs{ display: flex; gap: .45rem; overflow-x: auto; margin: 1rem 0 1.1rem; scrollbar-width: none; }
.sa-tabs::-webkit-scrollbar{ display: none; }
.sa-tab{
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem;
    padding: .5rem .95rem; border-radius: 9999px; font-size: .85rem; font-weight: 700;
    color: #475569; background: #fff; border: 1px solid var(--dash-border, #e2e8f0);
}
.sa-tab span{ font-size: .7rem; font-weight: 800; background: #f1f5f9; color: #64748b; border-radius: 9999px; padding: .05rem .45rem; }
.sa-tab.is-active{ background: var(--c-plum, #5f0f40); border-color: var(--c-plum, #5f0f40); color: #fff; }
.sa-tab.is-active span{ background: rgba(255,255,255,.2); color: #fff; }

.sa-filter{ display: flex; gap: .4rem; margin-bottom: .9rem; flex-wrap: wrap; }
.sa-chip{
    display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .75rem;
    border-radius: 9999px; font-size: .78rem; font-weight: 700; color: #64748b;
    background: #fff; border: 1px solid var(--dash-border, #e2e8f0);
}
.sa-chip.is-active{ background: #0f172a; border-color: #0f172a; color: #fff; }
.sa-chip span{ font-weight: 800; opacity: .75; }

.sa-note{
    font-size: .83rem; color: #64748b; line-height: 1.7; margin: 0 0 1rem;
    background: #fff; border: 1px solid var(--dash-border, #e2e8f0);
    border-radius: .9rem; padding: .75rem .9rem;
}

/* Ø§Ù„Ø¬Ø¯Ø§ÙˆÙ„: ØªÙ…Ø±ÙŠØ± Ø£ÙÙ‚ÙŠ Ø¯Ø§Ø®Ù„ Ø§Ù„Ø¥Ø·Ø§Ø± ÙˆØ­Ø¯Ù‡ Ø¹Ù„Ù‰ Ø§Ù„Ø¬ÙˆØ§Ù„ */
.sa-table-wrap{
    background: #fff; border: 1px solid var(--dash-border, #e2e8f0);
    border-radius: 1rem; overflow-x: auto; margin-bottom: 1.1rem;
}
.sa-table{ width: 100%; border-collapse: collapse; min-width: 44rem; }
.sa-table--mini{ min-width: 20rem; }
.sa-table th, .sa-table td{
    padding: .65rem .8rem; text-align: start; font-size: .83rem;
    border-bottom: 1px solid #f1f5f9; vertical-align: middle;
}
.sa-table th{ font-weight: 800; color: #64748b; background: #fafbfd; font-size: .76rem; white-space: nowrap; }
.sa-table tr:last-child td{ border-bottom: 0; }
.sa-table code{ font-size: .78rem; font-weight: 700; color: #0f172a; }
.sa-empty{ text-align: center; color: #94a3b8; padding: 1.6rem .8rem; }

.sa-rest-name{ display: block; font-weight: 800; color: #0f172a; }
.sa-slug{ display: block; font-size: .72rem; font-weight: 700; color: #94a3b8; }
.sa-warn{
    display: inline-block; font-size: .68rem; font-weight: 800; padding: .05rem .4rem;
    border-radius: .4rem; background: rgba(251, 139, 36, .14); color: #b45309; margin-inline-start: .3rem;
}

.sa-state{ display: inline-block; font-size: .72rem; font-weight: 800; padding: .15rem .55rem; border-radius: 9999px; white-space: nowrap; }
.sa-state--active{ background: rgba(22, 163, 74, .12); color: #15803d; }
.sa-state--suspended{ background: rgba(234, 88, 12, .12); color: #c2410c; }
.sa-state--archived{ background: #f1f5f9; color: #64748b; }

.sa-actions{ display: flex; gap: .35rem; flex-wrap: wrap; }
.sa-actions form{ display: inline; }

.sa-group{ margin-bottom: 1.4rem; }
.sa-group-title{
    display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
    font-size: .95rem; font-weight: 800; color: #0f172a; margin: 0 0 .5rem;
}
.sa-group-count{ font-size: .7rem; font-weight: 800; background: #e2e8f0; color: #475569; border-radius: 9999px; padding: .05rem .45rem; }

.sa-sec-title{ font-size: 1rem; font-weight: 800; color: #0f172a; margin: 1.4rem 0 .7rem; }
.sa-stats{ display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .7rem; }
.sa-stat{
    background: #fff; border: 1px solid var(--dash-border, #e2e8f0); border-radius: 1rem;
    padding: .9rem 1rem; display: flex; flex-direction: column; gap: .2rem;
}
.sa-stat-n{ font-size: 1.5rem; font-weight: 900; color: var(--c-plum, #5f0f40); line-height: 1.15; }
.sa-stat-n small{ font-size: .62em; font-weight: 800; }
.sa-stat-l{ font-size: .78rem; font-weight: 600; color: #64748b; }

.sa-cols{ display: grid; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); gap: .9rem; margin-top: 1.1rem; }
.sa-panel{ background: #fff; border: 1px solid var(--dash-border, #e2e8f0); border-radius: 1rem; overflow: hidden; }
.sa-panel-title{ font-size: .88rem; font-weight: 800; color: #0f172a; margin: 0; padding: .8rem .9rem .5rem; }
.sa-panel .sa-table{ min-width: 0; }
.sa-panel .sa-table-wrap{ border: 0; border-radius: 0; margin: 0; }

@media (max-width: 640px){
    .sa-main{ padding: 1rem .8rem 2.5rem; }
    .sa-stat-n{ font-size: 1.25rem; }
    .sa-table th, .sa-table td{ padding: .55rem .6rem; font-size: .78rem; }
}

/* ===== Ù„ÙˆÙ† Ø§Ø³Ù… Ø§Ù„Ù…Ø·Ø¹Ù… + Ø§Ù„Ø¶Ø±ÙŠØ¨Ø© + ØªØºÙŠÙŠØ± Ø§Ù„Ø§Ø³Ù… (ØµÙØ­Ø© Ø§Ù„Ù‡ÙˆÙŠØ©) ===== */
.ds-name-preview-wrap{ display: flex; align-items: center; gap: .6rem; margin: .8rem 0 .3rem; flex-wrap: wrap; }
.ds-name-preview{
    font-size: 1.25rem; font-weight: 900; line-height: 1.3;
    overflow-wrap: anywhere;
}

.ds-vat{ display: grid; gap: .5rem; }
.ds-vat-opt{
    display: flex; align-items: flex-start; gap: .6rem; cursor: pointer;
    border: 1.5px solid var(--dash-border, #e2e8f0); border-radius: .9rem;
    padding: .7rem .8rem; background: #fff; transition: border-color .15s, background .15s;
}
.ds-vat-opt:has(input:checked){ border-color: var(--c-plum, #5f0f40); background: rgba(95, 15, 64, .04); }
.ds-vat-opt input{ margin-top: .2rem; flex: none; accent-color: var(--c-plum, #5f0f40); }
.ds-vat-opt span{ display: flex; flex-direction: column; gap: .15rem; }
.ds-vat-opt strong{ font-size: .88rem; font-weight: 800; color: #0f172a; }
.ds-vat-opt small{ font-size: .78rem; font-weight: 500; color: #64748b; line-height: 1.55; }

.ds-rename{ margin-top: 1.1rem; }
.ds-rename-quota{
    font-size: .82rem; font-weight: 600; color: #475569; line-height: 1.6;
    background: rgba(251, 139, 36, .1); border-radius: .7rem; padding: .5rem .75rem; margin: 0 0 .9rem;
}
.ds-rename-quota.is-out{ background: rgba(220, 38, 38, .08); color: #b91c1c; }
.ds-rename input:disabled{ background: #f8fafc; color: #94a3b8; cursor: not-allowed; }

/* Ø§Ø³Ù… Ø§Ù„Ù…Ø·Ø¹Ù… ÙŠØ£Ø®Ø° Ù„ÙˆÙ†Ù‡ Ø§Ù„Ø®Ø§Øµ Ø¥Ù† Ø§Ø®ØªØ§Ø±Ù‡ Ø§Ù„Ù…Ø¯ÙŠØ±ØŒ ÙˆØ¥Ù„Ø§ ÙˆØ±Ø« Ù„ÙˆÙ† Ø§Ù„Ù‡ÙˆÙŠØ© */
.rest-name{ color: var(--c-rest-name, var(--c-brand, #5f0f40)); }
.pv-name{ color: var(--name-color, var(--brand, #0f172a)); }

/* ØªÙ†Ø¨ÙŠÙ‡ ÙÙŠÙ‡ Ø²Ø± Ø¥Ø¬Ø±Ø§Ø¡ Ø¹Ù„Ù‰ ÙŠÙ…ÙŠÙ†Ù‡ (Ø´Ø±ÙŠØ· Ø§Ù„Ø§Ø³Ù… Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠ Ù…Ø«Ù„Ø§Ù‹) */
.dash-alert--action{
    display: flex; align-items: center; justify-content: space-between;
    gap: .75rem; flex-wrap: wrap;
}
.dash-alert--action .dash-btn{ flex: none; }

/* ÙØ§ØªÙˆØ±Ø© Ø§Ù„Ø·Ø§ÙˆÙ„Ø© Ø¯Ø§Ø®Ù„ Ø¨Ø·Ø§Ù‚Ø© Ø§Ù„Ù†Ø¯Ø§Ø¡ */
.call-card-bill{
    font-size: .8rem; font-weight: 800; color: var(--c-plum, #5f0f40);
    margin: .1rem 0 0; line-height: 1.4;
}
.call-card-order{ font-size: .72rem; font-weight: 700; color: #64748b; }

/* ===== ØªÙØµÙŠÙ„ Ø§Ù„Ø¶Ø±ÙŠØ¨Ø© ÙÙŠ Ø§Ù„Ø³Ù„Ø© ===== */
.cart-totals{ display: flex; flex-direction: column; gap: .2rem; margin-bottom: .7rem; }
.cart-total-row--sub,
.cart-total-row--vat{ font-size: .82rem; font-weight: 600; color: #64748b; }
.cart-total-row--vat{ padding-bottom: .35rem; border-bottom: 1px dashed #e2e8f0; }
.cart-total-row--grand{ font-size: 1rem; font-weight: 900; color: #0f172a; padding-top: .15rem; }

/* ===== Ø´Ø¹Ø§Ø± Ù…Ù†ØªØµÙ Ø§Ù„Ø¨Ø§Ø±ÙƒÙˆØ¯ (ØµÙØ­Ø© QR) ===== */
.qr-logo-opts{ display: flex; gap: .5rem; margin-bottom: .6rem; flex-wrap: wrap; }
.qr-logo-opt{
    display: inline-flex; align-items: center; gap: .45rem; cursor: pointer;
    padding: .45rem .75rem; border-radius: .7rem; font-size: .82rem; font-weight: 700;
    color: #475569; background: #fff; border: 1.5px solid var(--dash-border, #e2e8f0);
}
.qr-logo-opt:has(input:checked){ border-color: var(--c-plum, #5f0f40); color: var(--c-plum, #5f0f40); }
.qr-logo-opt input{ position: absolute; opacity: 0; width: 0; height: 0; }
.qr-logo-swatch{ width: 1.1rem; height: 1.1rem; background: #cbd5e1; display: inline-block; flex: none; }
.qr-logo-swatch--circle{ border-radius: 50%; }
.qr-logo-swatch--square{ border-radius: .2rem; }
.qr-logo-opt:has(input:checked) .qr-logo-swatch{ background: var(--c-plum, #5f0f40); }
.qr-logo-hide{ display: flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 600; color: #475569; }

/* ======================================================================
   Ø£Ø³Ù…Ø§Ø¡ Ø·ÙˆÙŠÙ„Ø© Ø¨Ù„Ø§ Ù…Ø³Ø§ÙØ§Øª Ù„Ø§ ØªÙƒØ³Ø± Ø§Ù„ØªØ®Ø·ÙŠØ·
   Ø§Ø³Ù… Ø§Ù„Ù…Ø·Ø¹Ù… ÙŠØµÙ„ Ø¥Ù„Ù‰ Ù¨Ù  Ø­Ø±ÙØ§Ù‹ØŒ ÙˆÙ‚Ø¯ ÙŠÙƒØªØ¨Ù‡ ØµØ§Ø­Ø¨Ù‡ Ø¨Ù„Ø§ Ù…Ø³Ø§ÙØ© ÙˆØ§Ø­Ø¯Ø©. Ø¨Ù„Ø§ Ù‡Ø°Ù‡
   Ø§Ù„Ù‚Ø§Ø¹Ø¯Ø© ÙŠØ¯ÙØ¹ Ø§Ù„Ø§Ø³Ù…Ù Ø§Ù„ØµÙØ­Ø©ÙŽ ÙƒÙ„Ù‡Ø§ ÙˆÙŠØ¸Ù‡Ø± ØªÙ…Ø±ÙŠØ± Ø£ÙÙ‚ÙŠ. Ø£Ø«Ø¨ØªÙÙ‘Ù‡Ø§ Ø¨Ø¥Ø¯Ø®Ø§Ù„ Ø§Ø³Ù…
   Ù…Ù† Ù¨Ù  Ø­Ø±ÙØ§Ù‹ Ù…ØªØµÙ„Ø§Ù‹.
   ====================================================================== */
.rest-name,
.dash-page-title,
.pt-title,
.sa-rest-name,
.sa-group-title,
.qr-stand-name,
.pv-name,
.order-item-name,
.call-card-table,
.auth-subtitle,
.auth-subtitle strong,
.st-link-sub strong,
.ds-rename-quota{ overflow-wrap: anywhere; word-break: break-word; min-width: 0; }

/* Ø§Ù„Ø´Ø±ÙŠØ· Ø§Ù„Ø¹Ù„ÙˆÙŠ ØµÙÙ‘ Ù…Ø±Ù†: Ø¨Ù„Ø§ min-width:0 Ù„Ø§ ÙŠÙ†ÙƒÙ…Ø´ Ø£Ø¨Ù†Ø§Ø¤Ù‡ ÙÙŠØ¯ÙØ¹ Ø§Ø³Ù…ÙŒ Ø·ÙˆÙŠÙ„
   Ø§Ù„ØµÙØ­Ø©ÙŽ ÙƒÙ„Ù‡Ø§. ÙˆØ§Ø³Ù… Ø§Ù„Ù…Ø·Ø¹Ù… ÙˆØ§Ø³Ù… Ø§Ù„Ù…Ø³ØªØ®Ø¯Ù… ÙÙŠÙ‡ ÙŠÙÙ‚ØµÙ‘Ø§Ù† Ø¨Ù†Ù‚Ø§Ø· Ø¨Ø¯Ù„ Ø£Ù† ÙŠÙ„ØªÙÙ‘Ø§. */
.dash-topbar > *{ min-width: 0; }
.dash-logo{ min-width: 0; flex: 0 1 auto; }          /* Ù‡Ùˆ Ù…Ù† ÙŠÙ†ÙƒÙ…Ø´ */
.dash-topbar-actions{ flex: none; }                   /* Ø£Ø²Ø±Ø§Ø± Ø§Ù„Ø®Ø±ÙˆØ¬ ÙˆØ§Ù„Ù„ØºØ© Ù„Ø§ ØªÙØ²Ø§Ø­ */
.branch-switch{ flex: 0 1 auto; min-width: 0; }
.dash-user{ min-width: 0; }
.dash-logo-name{
    max-width: 14rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
@media (max-width: 640px){ .dash-logo-name{ max-width: 8rem; } }

/* Ø²Ø±Ù‘ Ø¨Ø¹Ø±Ø¶ Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚: Ù†ØµÙ‘Ù‡ Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠ Ø£Ø·ÙˆÙ„ Ù…Ù† Ø§Ù„Ø¹Ø±Ø¨ÙŠØŒ Ùˆwhite-space:nowrap Ø¹Ù„Ù‰
   .dash-btn ÙƒØ§Ù† ÙŠØ¯ÙØ¹Ù‡ Ø®Ø§Ø±Ø¬ Ø¨Ø·Ø§Ù‚ØªÙ‡ ÙÙŠ Ø§Ù„Ø´Ø§Ø´Ø§Øª Ø§Ù„ØµØºÙŠØ±Ø©. Ù‡Ù†Ø§ ÙˆØ­Ø¯Ù‡ ÙŠÙ„ØªÙÙ‘ Ø§Ù„Ù†Øµ. */
.dash-btn--block{ white-space: normal; text-align: center; min-width: 0; }
.layout-card form,
.layout-card > *{ min-width: 0; }

/* ======================================================================
   Ø£ÙŠÙ‚ÙˆÙ†Ø§Øª Ø§Ù„ØªÙˆØ§ØµÙ„ ÙÙŠ ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù…
   Ø´Ø¹Ø§Ø± ÙƒÙ„ ØªØ·Ø¨ÙŠÙ‚ Ø¨Ù„ÙˆÙ†Ù‡ Ø§Ù„Ø±Ø³Ù…ÙŠ Ø¯Ø§Ø®Ù„ Ø²Ø± Ø¯Ø§Ø¦Ø±ÙŠ. ÙƒØ§Ù†Øª Ø±ÙˆØ§Ø¨Ø· Ù†ØµÙŠØ©
   (Â«Ø¥Ù†Ø³ØªÙ‚Ø±Ø§Ù…Â»ØŒ Â«ØªÙŠÙƒ ØªÙˆÙƒÂ») ÙØµØ§Ø±Øª Ø£ÙŠÙ‚ÙˆÙ†Ø§Øª ÙŠØ¹Ø±ÙÙ‡Ø§ Ø§Ù„Ø²Ø¨ÙˆÙ† Ø¨Ù†Ø¸Ø±Ø©.
   ====================================================================== */
.rest-social--icons{ display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

.soc-btn{
    --soc: #64748b;
    width: 2.5rem; height: 2.5rem; flex: none;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9999px; color: #fff; background: var(--soc);
    box-shadow: 0 6px 14px -8px rgba(15, 23, 42, .55);
    transition: transform .15s ease, filter .15s ease;
}
.soc-btn:hover{ transform: translateY(-2px); filter: brightness(1.07); }
.soc-btn:active{ transform: translateY(0); }
.soc-btn:focus-visible{ outline: 2px solid var(--c-brand, #5f0f40); outline-offset: 2px; }
.soc-ico{ width: 1.3rem; height: 1.3rem; display: block; }

/* Ø§Ù„Ø£Ù„ÙˆØ§Ù† Ø§Ù„Ø±Ø³Ù…ÙŠØ© Ù„ÙƒÙ„ ØªØ·Ø¨ÙŠÙ‚ */
.soc-btn--instagram{
    background: radial-gradient(circle at 30% 107%,
        #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.soc-btn--tiktok{ --soc: #010101; }
.soc-btn--facebook{ --soc: #1877F2; }
.soc-btn--whatsapp{ --soc: #25D366; }

@media (max-width: 480px){
    .soc-btn{ width: 2.3rem; height: 2.3rem; }
    .soc-ico{ width: 1.2rem; height: 1.2rem; }
}

/* Ù†Ø¯Ø§Ø¡ Ø§Ù„Ù†Ø§Ø¯Ù„: Ø®ÙŠØ§Ø±Ø§Ù† ÙÙ‚Ø· â€” Â«Ø·Ù„Ø¨ Ø§Ù„ÙØ§ØªÙˆØ±Ø©Â» ÙˆÂ«Ø·Ù„Ø¨ Ø¢Ø®Ø±Â» */
/* Ø§Ù„Ø®ÙŠØ§Ø±Ø§Ù† ÙÙˆÙ‚ Ø¨Ø¹Ø¶Ù‡Ù…Ø§ Ù„Ø§ Ø¨Ø¬Ø§Ù†Ø¨ Ø¨Ø¹Ø¶Ù‡Ù…Ø§: Ø§Ù„Ø²Ø±Ù‘ Ø§Ù„Ù…Ù…ØªØ¯Ù‘ Ø£Ø³Ù‡Ù„ Ø¥ØµØ§Ø¨Ø©Ù‹ Ø¨Ø§Ù„Ø¥Ø¨Ù‡Ø§Ù…
   Ø¹Ù„Ù‰ Ø§Ù„Ø¬ÙˆØ§Ù„ØŒ ÙˆÙ†ØµÙ‘Ù‡ Ù„Ø§ ÙŠÙ†ÙƒØ³Ø± Ø³Ø·Ø±ÙŠÙ† Ø­ÙŠÙ† ØªØ·ÙˆÙ„ ØªØ±Ø¬Ù…ØªÙ‡. */
.call-actions--two{ grid-template-columns: 1fr; }
.call-note.is-active .call-note-input{
    border-color: var(--c-brand, #5f0f40);
    box-shadow: 0 0 0 3px rgba(95, 15, 64, .12);
}

/* ======================================================================
   Ø¨Ù†Ø§Ø¡ Ø§Ù„Ù…Ù†ÙŠÙˆ: Ø¹Ù„Ø§Ù…Ø§Øª Ø§Ù„ØªØ¨ÙˆÙŠØ¨ Ø§Ù„Ø«Ù„Ø§Ø«
   ====================================================================== */
.mb-tabs{ display: flex; gap: .4rem; overflow-x: auto; margin: 0 0 1.1rem; scrollbar-width: none; }
.mb-tabs::-webkit-scrollbar{ display: none; }
.mb-tab{
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: .4rem;
    padding: .55rem 1rem; border-radius: 9999px; cursor: pointer;
    font-size: .85rem; font-weight: 800; color: #475569;
    background: #fff; border: 1px solid var(--dash-border, #e2e8f0);
    transition: background .15s, color .15s, border-color .15s;
}
.mb-tab:hover{ border-color: #cbd5e1; }
.mb-tab.is-active{ background: var(--c-plum, #5f0f40); border-color: var(--c-plum, #5f0f40); color: #fff; }
.mb-tab-ico{ font-size: .95rem; }

.mb-panel[hidden]{ display: none; }
.mb-panel-head{
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 1rem; flex-wrap: wrap; margin-bottom: 1.1rem;
}
.mb-panel-title{ font-size: 1.1rem; font-weight: 900; color: var(--dash-text, #0f172a); margin: 0 0 .2rem; }
.mb-panel-sub{ font-size: .84rem; color: var(--dash-muted, #64748b); line-height: 1.7; margin: 0; max-width: 46rem; }

/* ===== Ù…ÙƒØªØ¨Ø© Ù…Ø¬Ù…ÙˆØ¹Ø§Øª Ø§Ù„Ø®ÙŠØ§Ø±Ø§Øª ===== */
.mg-list{ display: grid; gap: .8rem; }
.mg-card{
    background: #fff; border: 1px solid var(--dash-border, #e2e8f0); border-radius: 1rem;
    padding: .9rem 1rem; display: flex; flex-direction: column; gap: .7rem;
}
.mg-card-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.mg-card-title-wrap{ display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; min-width: 0; }
.mg-card-title{ font-size: .98rem; font-weight: 900; color: #0f172a; margin: 0; overflow-wrap: anywhere; }
.mg-card-en{ font-size: .76rem; font-weight: 700; color: #94a3b8; }
.mg-card-rule{
    font-size: .68rem; font-weight: 800; padding: .1rem .5rem; border-radius: 9999px;
    background: #f1f5f9; color: #64748b; white-space: nowrap;
}
.mg-card-actions{ display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }

.mg-chips{ display: flex; flex-wrap: wrap; gap: .35rem; }
.mg-chip{
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .76rem; font-weight: 700; color: #475569;
    background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .55rem; padding: .18rem .5rem;
}
.mg-chip b{ font-size: .72rem; font-weight: 900; color: var(--c-plum, #5f0f40); }
.mg-chip--more{ color: #94a3b8; background: transparent; border-style: dashed; }

/* Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…Ø¬Ù…ÙˆØ¹Ø© */
.mg-auto-note{
    display: flex; align-items: center; gap: .45rem;
    font-size: .78rem; font-weight: 600; color: #0369a1; line-height: 1.6;
    background: rgba(14, 165, 233, .08); border-radius: .7rem; padding: .5rem .7rem; margin: 0 0 1rem;
}
.mg-opts{ display: grid; gap: .45rem; margin-bottom: .6rem; }
.mg-opt-row{ display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 6.5rem 2.25rem; gap: .4rem; align-items: center; }
.mg-opt-row .dash-input{ padding: .5rem .65rem; font-size: .84rem; }
@media (max-width: 700px){
    .mg-opt-row{ grid-template-columns: minmax(0,1fr) 5.5rem 2.25rem; }
    .mg-opt-row .mg-opt-en{ grid-column: 1 / -1; order: 1; }
}

/* Ù†Ø§ÙØ°Ø© Ø§Ù„ØªØ·Ø¨ÙŠÙ‚ Ø¹Ù„Ù‰ Ø£Ø·Ø¨Ø§Ù‚ */
.mg-search{ margin-bottom: .6rem; }
.mg-all{ margin-bottom: .5rem; }
.mg-dishes{
    display: grid; gap: .25rem; max-height: 19rem; overflow-y: auto;
    border: 1px solid var(--dash-border, #e2e8f0); border-radius: .8rem; padding: .45rem;
}
.mg-dish{
    display: flex; align-items: center; gap: .55rem; cursor: pointer;
    padding: .4rem .5rem; border-radius: .55rem; font-size: .85rem;
}
.mg-dish:hover{ background: #f8fafc; }
.mg-dish[hidden]{ display: none; }
.mg-dish-name{ flex: 1; min-width: 0; font-weight: 700; color: #0f172a; overflow-wrap: anywhere; }
.mg-dish-price{ font-size: .78rem; font-weight: 800; color: #64748b; }

/* ===== ØªØ¨ÙˆÙŠØ¨ Ø§Ù„Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª ===== */
.mb-settings{ display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: .9rem; align-items: start; }

/* Ù…ÙØªØ§Ø­ ØªØ´ØºÙŠÙ„/Ø¥ÙŠÙ‚Ø§Ù */
.mb-switch{ display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; margin-top: .3rem; }
.mb-switch input{ position: absolute; opacity: 0; width: 0; height: 0; }
.mb-switch-track{
    width: 2.75rem; height: 1.6rem; border-radius: 9999px; background: #cbd5e1;
    position: relative; flex: none; transition: background .18s ease;
}
.mb-switch-track::after{
    content: ''; position: absolute; top: .2rem; inset-inline-start: .2rem;
    width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #fff;
    box-shadow: 0 1px 3px rgba(15,23,42,.3); transition: transform .18s ease;
}
.mb-switch input:checked + .mb-switch-track{ background: var(--c-plum, #5f0f40); }
.mb-switch input:checked + .mb-switch-track::after{ transform: translateX(1.15rem); }
[dir="rtl"] .mb-switch input:checked + .mb-switch-track::after{ transform: translateX(-1.15rem); }
.mb-switch input:focus-visible + .mb-switch-track{ outline: 2px solid var(--c-plum, #5f0f40); outline-offset: 2px; }
.mb-switch-text{ font-size: .86rem; font-weight: 700; color: var(--dash-text, #0f172a); }

/* Ø²Ø±Ù‘ Â«Ù‚Ø³Ù… Ø¬Ø¯ÙŠØ¯Â» ÙÙŠ ØªØ±ÙˆÙŠØ³Ø© Ø§Ù„Ù‚Ø³Ù… (Ø¨Ø¯Ù„ â†‘â†“) */
.b-icon-btn--add{ color: var(--c-plum, #5f0f40); font-weight: 900; font-size: 1.05rem; }
.b-icon-btn--danger{ color: #dc2626; }

/* ======================================================================
   Ø·Ø±ÙŠÙ‚Ø© Ø¹Ø±Ø¶ ØªØ±ÙˆÙŠØ³Ø© ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù…: Ø¹Ù„Ù‰ Ø§Ù„Ø¬Ø§Ù†Ø¨ Ø£Ùˆ ÙÙŠ Ø§Ù„Ù…Ù†ØªØµÙ
   Â«ÙÙŠ Ø§Ù„Ù…Ù†ØªØµÙÂ» ØªÙˆØ³Ù‘Ø· Ø§Ù„Ø´Ø¹Ø§Ø± ÙˆØ§Ù„Ø§Ø³Ù… ÙˆØ§Ù„Ø³Ø·Ø± Ø§Ù„ØªØ¹Ø±ÙŠÙÙŠ ÙˆØ£Ø²Ø±Ø§Ø± Ø§Ù„ØªÙˆØ§ØµÙ„ Ù…Ø¹Ø§Ù‹ â€”
   Ù„Ø§ Ø§Ù„Ø´Ø¹Ø§Ø± ÙˆØ­Ø¯Ù‡ â€” ÙˆØ¥Ù„Ø§ Ø¨Ø¯Øª Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© Ù†ØµÙÙŠÙ† Ù„Ø§ ØªØµÙ…ÙŠÙ…Ø§Ù‹ ÙˆØ§Ø­Ø¯Ø§Ù‹.
   ====================================================================== */
/* ======================================================================
   ØªØ±ÙˆÙŠØ³Ø© ØµÙØ­Ø© Ø§Ù„Ù…Ø·Ø¹Ù… â€” Ù†Ø¸Ø§Ù… ÙˆØ§Ø­Ø¯ Ù„ÙˆØ¶Ø¹ÙŽÙŠ Ø§Ù„Ø¹Ø±Ø¶
   ----------------------------------------------------------------------
   Ù…Ø§ ÙƒØ§Ù† ÙŠØ­Ø¯Ø« Ù‚Ø¨Ù„ Ù‡Ø°Ø§ Ø§Ù„Ù‚Ø³Ù… (Ù‚ÙŠØ§Ø³ÙŒ Ø¹Ù„Ù‰ Ø¬ÙˆØ§Ù„ 360px Ù…Ø¹ ØµÙˆØ±Ø© ØºÙ„Ø§Ù):
     â€¢ Ø§Ù„ØµÙÙ‘ ÙƒÙ„Ù‘Ù‡ ÙƒØ§Ù† ÙŠÙØ³Ø­Ø¨ ÙÙˆÙ‚ Ø§Ù„ØºÙ„Ø§Ù (margin-top:-2.25rem)ØŒ ÙÙŠØ±ØªÙØ¹ Ø§Ø³Ù…
       Ø§Ù„Ù…Ø·Ø¹Ù… ÙˆØ³Ø·Ø±Ù‡ Ø§Ù„ØªØ¹Ø±ÙŠÙÙŠ Ø¥Ù„Ù‰ y=108 ÙˆØ§Ù„ØºÙ„Ø§Ù ÙŠÙ†ØªÙ‡ÙŠ Ø¹Ù†Ø¯ y=144 â€” Ø£ÙŠ Ù†ØµÙ‘
       ÙÙˆÙ‚ ØµÙˆØ±Ø© Ø¨Ù„Ø§ Ø£ÙŠ ØªØ¸Ù„ÙŠÙ„ØŒ Ù„Ø§ ÙŠÙÙ‚Ø±Ø£.
     â€¢ ÙˆÙƒØ§Ù† Ù…Ø­Ø¬ÙˆØ²Ø§Ù‹ Ù„Ù„Ø·Ø±Ù 84px Ù„Ø²Ø±Ù‘ Ø§Ù„Ù„ØºØ©ØŒ ÙÙ„Ù… ÙŠØ¨Ù‚ Ù„Ø¹Ù…ÙˆØ¯ Ø§Ù„Ù†ØµÙ‘ Ø¥Ù„Ø§ 160px
       Ù…Ù† 328px Ø§Ù„Ù…ØªØ§Ø­Ø© â€” Ø£Ù‚Ù„Ù‘ Ù…Ù† Ù†ØµÙ Ø¹Ø±Ø¶ Ø§Ù„Ø´Ø§Ø´Ø© â€” ÙÙŠÙ†ÙƒØ³Ø± Ø§Ù„Ø³Ø·Ø± Ø§Ù„ØªØ¹Ø±ÙŠÙÙŠ
       Ø¥Ù„Ù‰ Ø«Ù„Ø§Ø«Ø© Ø£Ø³Ø·Ø± ÙˆØªØªÙÙƒÙ‘Ùƒ Ø§Ù„ØªØ±ÙˆÙŠØ³Ø©.
     â€¢ ÙˆØ§Ù„Ø´Ø¹Ø§Ø± ÙŠÙØ­Ø§Ø°Ù‰ flex-end ÙÙŠÙ‚Ù ÙÙŠ Ù…Ø³ØªÙˆÙ‹Ù‰ Ù…Ø®ØªÙ„Ù Ø¹Ù† Ø§Ù„Ù†ØµÙ‘ ÙÙŠ ÙƒÙ„ Ø¹Ø±Ø¶.

   Ø§Ù„Ù†Ø¸Ø§Ù… Ø§Ù„Ø¢Ù†:
     â€¢ **Ø§Ù„Ø´Ø¹Ø§Ø± ÙˆØ­Ø¯Ù‡** ÙŠØªØ¯Ø§Ø®Ù„ Ù…Ø¹ Ø§Ù„ØºÙ„Ø§Ù Ù„Ø§ Ø§Ù„ØµÙÙ‘ ÙƒÙ„Ù‘Ù‡ â€” Ø¯Ø§Ø¦Ø±Ø©ÙŒ Ø¨Ø¥Ø·Ø§Ø± Ø£Ø¨ÙŠØ¶
       ØªØ¬Ù„Ø³ Ø¹Ù„Ù‰ Ø­Ø§ÙÙ‘Ø© Ø§Ù„ØºÙ„Ø§Ù ÙØªØ®Ù„Ù‚ Ø¹Ù…Ù‚Ø§Ù‹ ÙˆØªØ±Ø¨Ø· Ø£Ø¹Ù„Ù‰ Ø§Ù„ØµÙØ­Ø© Ø¨Ø£Ø³ÙÙ„Ù‡Ø§ØŒ ÙˆØ§Ù„Ù†ØµÙ‘
       ÙŠØ¨Ù‚Ù‰ ÙƒØ§Ù…Ù„Ø§Ù‹ Ø¹Ù„Ù‰ Ø®Ù„ÙÙŠØ© Ù†Ø¸ÙŠÙØ© ØªØ­ØªÙ‡Ø§.
     â€¢ Ù„Ø§ Ù…Ø³Ø§Ø­Ø© Ù…Ø­Ø¬ÙˆØ²Ø© Ù„Ø²Ø±Ù‘ Ø§Ù„Ù„ØºØ©: Ø§Ù†ØªÙ‚Ù„ Ø¥Ù„Ù‰ Ø²Ø§ÙˆÙŠØ© **Ø§Ù„ØºÙ„Ø§Ù** Ù†ÙØ³Ù‡ØŒ ÙØ¹Ø§Ø¯
       Ø¹Ø±Ø¶ Ø§Ù„Ø´Ø§Ø´Ø© ÙƒÙ„Ù‘Ù‡ Ù„Ù„Ù†ØµÙ‘.
     â€¢ Â«Ø¹Ù„Ù‰ Ø§Ù„Ø¬Ø§Ù†Ø¨Â» = ØµÙÙ‘ Ø¹Ù„Ù‰ Ø§Ù„Ø­Ø§Ø³ÙˆØ¨ ÙˆØ§Ù„ØªØ§Ø¨Ù„Øª Ø§Ù„Ø¹Ø±ÙŠØ¶ØŒ ÙˆØ¹Ù…ÙˆØ¯ÙŒ Ù…Ø­Ø§Ø°Ù Ù„Ù„Ø¨Ø¯Ø§ÙŠØ©
       Ø¹Ù„Ù‰ Ø§Ù„Ø¬ÙˆØ§Ù„ â€” ÙØ§Ù„ØµÙÙ‘ Ø¹Ù„Ù‰ 360px ÙŠØ³Ø­Ù‚ Ø§Ù„Ù†ØµÙ‘ Ù…Ù‡Ù…Ø§ ÙØ¹Ù„Ù†Ø§.
     â€¢ Â«ÙÙŠ Ø§Ù„Ù…Ù†ØªØµÙÂ» = Ø¹Ù…ÙˆØ¯ÙŒ Ù…ØªÙˆØ³Ù‘Ø· Ø¨Ø´Ø¹Ø§Ø± Ø£ÙƒØ¨Ø± ÙˆØ§Ø³Ù… Ø£ÙƒØ¨Ø± ÙÙŠ ÙƒÙ„ Ø§Ù„Ø¹Ø±ÙˆØ¶.
   ====================================================================== */

/* ---------- Ø§Ù„Ø´Ø¹Ø§Ø±: Ø¯Ø§Ø¦Ø±Ø© Ù…ØªØ¯Ø§Ø®Ù„Ø© Ù…Ø¹ Ø§Ù„ØºÙ„Ø§Ù ---------- */
.rest-logo{
    width: 5rem; height: 5rem; border-radius: 9999px; font-size: 2rem;
    box-shadow: 0 10px 24px -10px rgba(15, 23, 42, .45);
}
/* Ø§Ù„Ø¥Ø·Ø§Ø± Ø§Ù„Ø£Ø¨ÙŠØ¶ ÙˆØ§Ù„ØªØ¯Ø§Ø®Ù„ Ù„Ø§ ÙŠØ¸Ù‡Ø±Ø§Ù† Ø¥Ù„Ø§ Ù…Ø¹ ØºÙ„Ø§Ù: Ø¨Ù„Ø§ ØºÙ„Ø§Ù Ù„Ø§ Ø´ÙŠØ¡ ÙŠØªØ¯Ø§Ø®Ù„ Ù…Ø¹Ù‡ */
.rest-hero--with-cover .rest-logo{
    border: 4px solid #fff;
    margin-top: -2.6rem;          /* Ù†ØµÙ Ø§Ù„Ø¯Ø§Ø¦Ø±Ø© ØªÙ‚Ø±ÙŠØ¨Ø§Ù‹ ÙÙˆÙ‚ Ø§Ù„ØºÙ„Ø§Ù */
    position: relative; z-index: 2;
}

/* ---------- Ø§Ù„ÙˆØ¶Ø¹ Ø§Ù„Ø¬Ø§Ù†Ø¨ÙŠ ---------- */
.rest-align-side .rest-hero-inner{
    flex-direction: column; align-items: flex-start; text-align: start; gap: .5rem;
}
.rest-align-side .rest-hero-inner > div{ width: 100%; }
/* Ø¹Ù„Ù‰ Ø§Ù„ØªØ§Ø¨Ù„Øª Ø§Ù„Ø¹Ø±ÙŠØ¶ ÙˆØ§Ù„Ø­Ø§Ø³ÙˆØ¨: Ø§Ù„Ø´Ø¹Ø§Ø± ÙˆØ§Ù„Ù†ØµÙ‘ Ø¬Ù†Ø¨Ø§Ù‹ Ø¥Ù„Ù‰ Ø¬Ù†Ø¨ ÙƒÙ…Ø§ ÙŠØ¹Ù†ÙŠ Â«Ø§Ù„Ø¬Ø§Ù†Ø¨Â».
   Ùˆ align-items:flex-end ÙŠØ­Ø§Ø°ÙŠ Ø£Ø³ÙÙ„ Ø§Ù„Ø´Ø¹Ø§Ø± Ø¨Ø£Ø³ÙÙ„ ÙƒØªÙ„Ø© Ø§Ù„Ù†ØµÙ‘ ÙÙŠØ³ØªÙˆÙŠØ§Ù†. */
@media (min-width: 768px){
    /* flex-start Ù„Ø§ flex-end: Ù…Ø¹ flex-end ØªØªØ­Ø§Ø°Ù‰ Ø£Ø³ÙÙ„ Ø§Ù„Ø¹Ù†Ø§ØµØ±ØŒ ÙÙŠÙÙ„ØºÙ‰ Ø£Ø«Ø±
       Ø§Ù„Ù‡Ø§Ù…Ø´ Ø§Ù„Ø³Ø§Ù„Ø¨ Ø¹Ù„Ù‰ Ø§Ù„Ø´Ø¹Ø§Ø± ÙˆÙ„Ø§ ÙŠØªØ¯Ø§Ø®Ù„ Ù…Ø¹ Ø§Ù„ØºÙ„Ø§Ù Ø¥Ø·Ù„Ø§Ù‚Ø§Ù‹ (Ù‚ÙØ³Ù†Ø§Ù‡: ØªØ¯Ø§Ø®Ù„
       1px Ø¹Ù†Ø¯ 1024). ÙˆÙ…Ø¹ flex-start ÙŠØ¨Ø¯Ø£ Ø§Ù„Ù†ØµÙ‘ Ù…Ù† Ø£Ø³ÙÙ„ Ø§Ù„ØºÙ„Ø§Ù Ù…Ø¨Ø§Ø´Ø±Ø© Ø¨ÙŠÙ†Ù…Ø§
       ÙŠØ±ØªÙØ¹ Ø§Ù„Ø´Ø¹Ø§Ø± ÙˆØ­Ø¯Ù‡ ÙÙˆÙ‚Ù‡ Ø¨Ù‡Ø§Ù…Ø´Ù‡ Ø§Ù„Ø³Ø§Ù„Ø¨. */
    .rest-align-side .rest-hero-inner{
        flex-direction: row; align-items: flex-start; gap: 1.1rem;
    }
    .rest-align-side .rest-hero-inner > div{ width: auto; flex: 1; min-width: 0; padding-top: .3rem; }
    .rest-align-side .rest-logo{ width: 5.5rem; height: 5.5rem; font-size: 2.25rem; }
    .rest-hero--with-cover .rest-align-side .rest-logo,
    .rest-align-side .rest-hero--with-cover .rest-logo{ margin-top: -2.75rem; }
}
.rest-align-side .rest-name{ font-size: 1.45rem; }
@media (min-width: 560px){ .rest-align-side .rest-name{ font-size: 1.7rem; } }
@media (min-width: 768px){ .rest-align-side .rest-name{ font-size: 2rem; } }

/* ---------- Ø§Ù„ÙˆØ¶Ø¹ Ø§Ù„Ù…ØªÙˆØ³Ù‘Ø· ---------- */
/* Ø§Ù„ØªÙˆØ³ÙŠØ· Ù„ÙŠØ³ Ù„Ù„Ø´Ø¹Ø§Ø± ÙˆØ§Ù„Ø§Ø³Ù… ÙˆØ­Ø¯Ù‡Ù…Ø§: Ø´Ø±ÙŠØ· Ø§Ù„ÙØ±Ø¹ ÙˆÙ…Ø¹Ù„ÙˆÙ…Ø§ØªÙ‡ ÙˆØ£Ø²Ø±Ø§Ø± Ø§Ù„ØªÙˆØ§ØµÙ„
   ÙˆÙ…Ø­Ø±Ù‘Ùƒ Ø§Ù„Ø¨Ø­Ø« Ø¬Ø²Ø¡ Ù…Ù† Ø§Ù„ØªØ±ÙˆÙŠØ³Ø© Ù†ÙØ³Ù‡Ø§ØŒ ÙˆÙ„Ùˆ Ø¨Ù‚ÙŠØª Ø¹Ù„Ù‰ Ø§Ù„Ø¬Ø§Ù†Ø¨ Ù„Ø§Ù†Ù‚Ø³Ù… Ø£Ø¹Ù„Ù‰
   Ø§Ù„ØµÙØ­Ø© Ù†ØµÙÙŠÙ†. ÙˆÙŠØªÙˆÙ‚Ù‘Ù Ø§Ù„Ø£Ø«Ø± Ù‡Ù†Ø§: Ø´Ø¨ÙƒØ© Ø§Ù„Ø£Ø·Ø¨Ø§Ù‚ Ø´ÙƒÙ„Ù‡Ø§ Ù…Ù† Â«ØªØ®Ø·ÙŠØ· Ø§Ù„Ù…Ù†ÙŠÙˆÂ». */
.rest-align-center .rest-hero-inner{
    flex-direction: column; align-items: center; text-align: center;
    justify-content: center; gap: .4rem;
}
.rest-align-center .rest-hero-inner > div{ width: 100%; }
/* Ø§Ù„Ø´Ø¹Ø§Ø± Ø£ÙƒØ¨Ø± Ù‡Ù†Ø§: Ù‡Ùˆ Ø£ÙˆÙ„ Ù…Ø§ ØªÙ‚Ø¹ Ø¹Ù„ÙŠÙ‡ Ø§Ù„Ø¹ÙŠÙ† Ø«Ù… Ø§Ù„Ø§Ø³Ù… Ø«Ù… Ø§Ù„Ø£Ø·Ø¨Ø§Ù‚ */
.rest-align-center .rest-logo{
    width: 6.5rem; height: 6.5rem; font-size: 2.6rem; margin-inline: auto;
}
.rest-align-center .rest-hero--with-cover .rest-logo,
.rest-hero--with-cover .rest-align-center .rest-logo{ margin-top: -3.25rem; }
@media (min-width: 768px){
    .rest-align-center .rest-logo{ width: 7.5rem; height: 7.5rem; font-size: 3rem; }
}
.rest-align-center .rest-name{ font-size: 1.7rem; }
@media (min-width: 560px){ .rest-align-center .rest-name{ font-size: 2.1rem; } }
@media (min-width: 768px){ .rest-align-center .rest-name{ font-size: 2.5rem; } }
.rest-align-center .rest-tagline{ font-size: .95rem; }

/* Ø´Ø±ÙŠØ· Ø§Ù„ÙØ±Ø¹ ÙŠØ¨Ù‚Ù‰ inline-flex (Ø­Ø¨Ù‘Ø© Ù„Ø§ Ø´Ø±ÙŠØ·Ø§Ù‹): Ù„Ùˆ Ø¬Ø¹Ù„Ù†Ø§Ù‡ flex Ù„Ø§Ù…ØªØ¯Ù‘ Ø¨Ø¹Ø±Ø¶
   Ø§Ù„ØµÙØ­Ø© ÙˆØ¸Ù‡Ø±Øª Ø®Ù„ÙÙŠØªÙ‡ Ø§Ù„Ø¨ÙŠØ¶Ø§Ø¡ Ø´Ø±ÙŠØ­Ø©Ù‹ ÙƒØ§Ù…Ù„Ø©. Ù†ØªÙˆØ³Ù‘Ø·Ù‡ Ø¨Ù…Ø­Ø§Ø°Ø§Ø© Ø§Ù„Ù†ØµÙ‘ ÙÙŠ Ø£Ø¨ÙŠÙ‡. */
.rest-align-center .rest-branch-tag{
    display: flex; width: fit-content; margin-inline: auto;
}
.rest-align-center .rest-branch-info{ justify-content: center; text-align: center; }
.rest-align-center .rest-search{
    margin-inline: auto;          /* ÙŠØªÙˆØ³Ù‘Ø· Ø¨Ø¹Ø±Ø¶Ù‡ Ø§Ù„Ø£Ù‚ØµÙ‰ Ø¨Ø¯Ù„ Ø£Ù† ÙŠÙ„ØªØµÙ‚ Ø¨Ø§Ù„Ø­Ø§ÙØ© */
    width: 100%;
}
.rest-align-center .rest-name,
.rest-align-center .rest-tagline,
.rest-align-center .rest-meta{ text-align: center; width: 100%; }
.rest-align-center .rest-social,
.rest-align-center .rest-social--icons{ justify-content: center; }

/* ===== Ù…Ù†ØªÙ‚ÙŠ Ø·Ø±ÙŠÙ‚Ø© Ø§Ù„Ø¹Ø±Ø¶ (ØµÙØ­Ø© ØªØµÙ…ÙŠÙ… Ø§Ù„Ù…Ø·Ø¹Ù…) ===== */
.ds-align{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.ds-align-opt{
    display: flex; flex-direction: column; align-items: center; gap: .5rem; cursor: pointer;
    border: 1.5px solid var(--dash-border, #e2e8f0); border-radius: .9rem;
    padding: .8rem .6rem; background: #fff; transition: border-color .15s, background .15s;
}
.ds-align-opt:has(input:checked){ border-color: var(--c-plum, #5f0f40); background: rgba(95, 15, 64, .04); }
.ds-align-opt input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ds-align-label{ font-size: .82rem; font-weight: 800; color: #0f172a; }

/* Ø±Ø³Ù… ØªØ®Ø·ÙŠØ·ÙŠ ØµØºÙŠØ± ÙŠØ´Ø±Ø­ Ø§Ù„Ø®ÙŠØ§Ø± Ø¨Ù„Ø§ ÙƒÙ„Ù…Ø§Øª */
.ds-align-fig{
    width: 100%; max-width: 8rem; aspect-ratio: 16 / 9; border-radius: .6rem;
    background: #f1f5f9; padding: .55rem; display: flex; flex-direction: column; gap: .3rem;
}
.ds-align-logo{ width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #cbd5e1; display: block; }
.ds-align-line{ height: .3rem; border-radius: 9999px; background: #cbd5e1; display: block; width: 55%; }
.ds-align-line--lg{ width: 80%; background: #94a3b8; }
.ds-align-fig--center{ align-items: center; }
.ds-align-opt:has(input:checked) .ds-align-logo,
.ds-align-opt:has(input:checked) .ds-align-line--lg{ background: var(--c-plum, #5f0f40); }

/* Ø§Ù„Ù…Ø¹Ø§ÙŠÙ†Ø© ÙÙŠ Ù…Ø­Ø§ÙƒÙŠ Ø§Ù„Ø¬ÙˆØ§Ù„ ØªØªØ¨Ø¹ Ø§Ù„Ø§Ø®ØªÙŠØ§Ø± */
.phone-screen[data-align="center"] .pv-body{ text-align: center; }
.phone-screen[data-align="center"] .pv-name,
.phone-screen[data-align="center"] .pv-tagline,
.phone-screen[data-align="center"] .pv-meta{ text-align: center; }
.phone-screen[data-align="center"] .pv-social{ justify-content: center; }
.phone-screen[data-align="center"] .pv-avatar{ margin-inline: auto; }

/* ======================================================================
   Ø²Ø±Ù‘ Ø§Ù„Ù„ØºØ©: AR / EN
   Ø±Ù…Ø²Ø§Ù† Ø¨Ø¯Ù„ Â«EnglishÂ» ÙˆÂ«Ø¹Ø±Ø¨ÙŠÂ»: Ø¹Ø±Ø¶ Ø«Ø§Ø¨Øª Ù„Ø§ ÙŠØªØºÙŠÙ‘Ø± Ù…Ø¹ Ø§Ù„Ù„ØºØ© ÙÙ„Ø§ ÙŠØ²ÙŠØ­ Ù…Ø§ Ø­ÙˆÙ„Ù‡ØŒ
   ÙˆØ§Ù„Ù„ØºØ© Ø§Ù„Ø­Ø§Ù„ÙŠØ© Ø¨Ø§Ø±Ø²Ø© ÙˆØ§Ù„Ø£Ø®Ø±Ù‰ Ø¨Ø§Ù‡ØªØ© ÙÙŠÙÙ‚Ø±Ø£ Ø§Ù„Ø²Ø±Ù‘ Ø¨Ù†Ø¸Ø±Ø©.
   ====================================================================== */
.lang-pair{
    display: inline-flex; align-items: center; gap: .22rem;
    font-size: .78rem; font-weight: 800; letter-spacing: .02em;
    direction: ltr; white-space: nowrap;
}
.lang-pair .lang-now{ font-weight: 900; opacity: 1; }
.lang-pair .lang-next{ font-weight: 700; opacity: .5; }
.lang-pair .lang-sep{ opacity: .3; font-weight: 600; }
.lang-pair:hover .lang-next{ opacity: .85; }
/* ======================================================================
   ===============  الطابع الفاخر + قوالب صفحة المطعم  ==================
   ----------------------------------------------------------------------
   يُضاف في آخر الملف عن قصد: كل ما تحته يَغلِب ما فوقه بترتيب المصدر، فلا
   نحتاج !important في شيء ولا نلمس قاعدة قائمة — فيبقى ما يعمل اليوم
   يعمل، وما نغيّره يغيّره القالب وحده.

   القالب طقمٌ من متغيّرات على <body data-theme="...">، وكل ما بعده يقرأ
   منها. فإضافة قالب جديد لاحقاً = كتلة متغيّرات واحدة لا إعادة تصميم.
   ====================================================================== */

/* ---------- المتغيّرات الأساسية (القيم الافتراضية = قالب كلاسيك) ---------- */
.rest-body{
    --lx-bg:        #ffffff;   /* سطح الصفحة */
    --lx-surface:   #ffffff;   /* سطح البطاقات */
    --lx-sunken:    #f7f8fa;   /* صندوق الصورة والمساحات الغائرة */
    --lx-ink:       #0f172a;   /* النصّ الأساسي */
    --lx-ink-soft:  #556070;   /* النصّ الثانوي */
    --lx-line:      #ecebe8;   /* الخطوط الفاصلة */
    --lx-gold:      var(--c-brand, #5f0f40);   /* لون التمييز (خطوط وحدود) */
    --lx-accent:    var(--c-brand, #5f0f40);   /* لون الهوية (خلفيات الأزرار) */
    --lx-on-accent: #ffffff;
    /* ---------- لونا النصّ المشتقّان من الهوية ----------
       لون الهوية يصلح خلفيةً لزرّ، ولا يصلح دائماً نصّاً: مطعم اختار
       برتقالياً (#d58400) تباينه على الأبيض ٢٫٩٥، وآخر اختار زهرياً فاتحاً
       (#f9d3e0) تباينه ١٫٢ — فالاسم والسعر يُقرآن بالكاد. فلا نطبع لون
       الهوية نصّاً كما هو، بل نحدّ سطوعه عند .42 في oklch: اللون الداكن
       يبقى كما اختاره المطعم حرفياً، والفاتح وحده يُغمَّق قدر الحاجة.
       و`min()` داخل oklch تحتاج صيغة الألوان النسبية؛ القاعدة الأولى هي
       البديل للمتصفّحات التي لا تعرفها (خلط ٥٨٪ مع الأسود في oklab). */
    --lx-ink-brand: color-mix(in oklab, var(--c-brand, #5f0f40) 58%, #000);
    --lx-name:      var(--lx-ink-brand);   /* اسم المطعم */
    --lx-price:     var(--lx-ink-brand);   /* السعر */
    --lx-radius:    1rem;
    --lx-shadow:    0 18px 40px -28px rgba(15, 23, 42, .4);
    /* الخطّ العريض للعناوين: الاسم وعناوين الأقسام وأسماء الأطباق */
    --lx-display:   'Cairo', ui-sans-serif, system-ui, sans-serif;
    --lx-track:     .02em;     /* تباعد حروف العناوين الصغيرة */
}
@supports (color: oklch(from #fff l c h)){
    .rest-body{
        --lx-ink-brand: oklch(from var(--c-brand, #5f0f40) min(l, .42) c h);
        /* ---------- لون ما يُكتب *فوق* لون الهوية ----------
           الأبيض فوق لون الهوية يصلح للهويات الداكنة وحدها. مطعم هويته
           برتقالية (#d58400) تباين الأبيض فوقها ٢٫٩٥، ومطعم هويته زهرية
           فاتحة تباينه ١٫٢ — فعلامة «+» في الزرّ والتبويب النشط يكادان
           لا يُريان. فنُبقي لون الهوية كما اختاره المطعم تماماً، ونقلب
           لون ما فوقه: أسود على الهوية الفاتحة، أبيض على الداكنة.
           `clamp(0,(.62-l)*999,1)` مفتاحٌ لا تدرّج: يعطي ١ (أبيض) حين
           l<.62 و٠ (أسود) حين l>.62، والـchroma صفر فلا لون. */
        --lx-on-accent: oklch(from var(--c-brand, #5f0f40) clamp(0, (.62 - l) * 999, 1) 0 h);
    }
    /* القوالب الثلاثة لا تحتاج هذا القلب: ألوانها ثابتة لا تأتي من المطعم،
       وكتل القوالب أسفل تعيد تعريف --lx-on-accent بقيمتها فتغلب هذه. */
}

/* ---------- ليل ذهبي ---------- */
.rest-body[data-theme="noir"]{
    --lx-bg: #12100e; --lx-surface: #1b1815; --lx-sunken: #221e1a;
    --lx-ink: #f5efe3; --lx-ink-soft: #b3a894; --lx-line: #2e2823;
    --lx-gold: #c9a227; --lx-accent: #c9a227; --lx-on-accent: #17140f;
    --lx-shadow: 0 22px 50px -30px rgba(0, 0, 0, .8);
    --lx-radius: .75rem;
    /* على الأسود العميق الذهبُ نفسه تباينه ٧٫٩ فلا يحتاج تغميقاً */
    --lx-name: var(--lx-ink); --lx-price: var(--lx-gold);
}
/* ---------- عاجي ---------- */
.rest-body[data-theme="ivory"]{
    --lx-bg: #f7f3ea; --lx-surface: #fffdf8; --lx-sunken: #f1ece0;
    --lx-ink: #1f2420; --lx-ink-soft: #6b6457; --lx-line: #e4dccb;
    --lx-gold: #b08d57; --lx-accent: #1f4034; --lx-on-accent: #fffdf8;
    --lx-shadow: 0 18px 44px -30px rgba(82, 68, 40, .5);
    --lx-radius: .9rem;
    /* الذهب الفاتح على العاجي تباينه ٣٫٠ فقط — فللسعر نسخةٌ أغمق منه
       بنفس العائلة اللونية (٥٫٧) تبقى ذهبيةً وتُقرأ */
    --lx-name: var(--lx-accent); --lx-price: #7f6029;
}
/* ---------- رخام ---------- */
.rest-body[data-theme="marble"]{
    --lx-bg: #ffffff; --lx-surface: #ffffff; --lx-sunken: #f4f4f3;
    --lx-ink: #2f3337; --lx-ink-soft: #65696e; --lx-line: #e9e8e6;
    --lx-gold: #a9794a; --lx-accent: #2f3337; --lx-on-accent: #ffffff;
    --lx-shadow: 0 16px 38px -28px rgba(47, 51, 55, .35);
    --lx-radius: .35rem;       /* زوايا شبه قائمة: هدوء معماري */
    /* النحاس الفاتح للخطوط فقط؛ والسعر بنحاس أغمق (٦٫٦) */
    --lx-name: var(--lx-ink); --lx-price: #7d5529;
}

/* ---------- أساس الصفحة ----------
   `html body.rest-body` لا `.rest-body` وحدها: في الملف قاعدة
   `html[lang="ar"] body{ background-color:#ffffff }` ووزنها (0,1,2) يغلب
   وزن `.rest-body` (0,1,0)، فكانت خلفية الصفحة تبقى بيضاء مهما اختار
   المطعم قالباً داكناً — ويبقى النصّ العاجي على أبيض فلا يُقرأ.
   وزن هذا المحدِّد (0,1,2) مساوٍ لها وهو بعدها في الملف، فيغلبها بلا
   !important وبلا لمس القاعدة الأصلية. */
html body.rest-body{ background: var(--lx-bg); color: var(--lx-ink); }
.rest-body .rest-hero{
    background: var(--lx-bg); border-bottom: 1px solid var(--lx-line);
}
.rest-body .rest-hero--with-cover{ background: var(--lx-bg); }
.rest-body .rest-cover{ background: var(--lx-sunken); }

/* اسم المطعم: أكبر وأهدأ تباعداً */
.rest-body .rest-name{
    font-family: var(--lx-display); color: var(--lx-name);
    letter-spacing: -.01em; line-height: 1.15;
}

/* ---------- الوصف: سطر مقروء متوسّط العرض، وفاصل ذهبي تحته ----------
   كان يُطبع سطراً عادياً بلون باهت تحت الاسم مباشرة فيختلط به. الآن له
   عرض قراءة محدود وارتفاع سطر مريح، وتحته شَرطة ذهبية قصيرة — وهي
   العلامة التي تتكرّر في كل المراجع الفاخرة وتفصل الهوية عن المحتوى. */
.rest-body .rest-tagline{
    color: var(--lx-ink-soft); font-size: .92rem; line-height: 1.85;
    max-width: 34rem; margin-top: .5rem;
}
.rest-align-center .rest-tagline{ margin-inline: auto; }
.rest-body .rest-tagline::after{
    content: ""; display: block; width: 2.5rem; height: 2px; margin-top: .9rem;
    background: var(--lx-gold); opacity: .85; border-radius: 2px;
}
.rest-align-center .rest-tagline::after{ margin-inline: auto; }

/* ---------- شريط الأقسام ---------- */
.rest-body .rest-tabs{
    background: color-mix(in srgb, var(--lx-bg) 92%, transparent);
    border-bottom: 1px solid var(--lx-line);
}
.rest-body .rest-tab{
    background: transparent; border: 1px solid var(--lx-line); color: var(--lx-ink-soft);
    font-weight: 700; letter-spacing: var(--lx-track); border-radius: 9999px;
}
.rest-body .rest-tab.is-active{
    background: var(--lx-accent); border-color: var(--lx-accent); color: var(--lx-on-accent);
}
.rest-body .rest-tab-count{ opacity: .55; }

/* ---------- عنوان القسم: حروف متباعدة وخطّ ذهبي رفيع ---------- */
.rest-body .rest-section-title{
    font-family: var(--lx-display); color: var(--lx-ink);
    font-size: 1.05rem; letter-spacing: .06em; font-weight: 800;
}
.rest-body .rest-section-title::after{
    background: var(--lx-line); height: 1px;
}

/* ---------- محرّك البحث ---------- */
.rest-body .rest-search{
    background: var(--lx-surface); border: 1px solid var(--lx-line);
    color: var(--lx-ink-soft); border-radius: 9999px;
}
.rest-body .rest-search:focus-within{
    border-color: var(--lx-gold); box-shadow: 0 0 0 4px color-mix(in srgb, var(--lx-gold) 15%, transparent);
}
.rest-body .rest-search input{ color: var(--lx-ink); }

/* ---------- بطاقة الطبق في الشبكة ---------- */
.rest-body .dish-card--grid{
    background: var(--lx-surface); border: 1px solid var(--lx-line);
    border-radius: var(--lx-radius); box-shadow: none;
}
.rest-body .dish-card--grid:hover{
    border-color: color-mix(in srgb, var(--lx-gold) 45%, var(--lx-line));
    box-shadow: var(--lx-shadow);
}
.rest-body .dish-card-media{ background: var(--lx-sunken); }
.rest-body .dish-card-name{ font-family: var(--lx-display); color: var(--lx-ink); }
.rest-body .dish-card-desc{ color: var(--lx-ink-soft); }
.rest-body .dish-card-price{ color: var(--lx-price); font-family: var(--lx-display); }
.rest-body .dish-card-cur{ color: var(--lx-ink-soft); font-weight: 700; }
.rest-body .add-to-cart-btn{
    background: var(--lx-accent); color: var(--lx-on-accent); border: 0;
}
.rest-body .add-to-cart-btn:hover{ background: color-mix(in srgb, var(--lx-accent) 85%, #000); }

/* ---------- أزرار الفرع وأيقونات التواصل ---------- */
.rest-body .rest-social-chip{
    background: transparent; border: 1px solid var(--lx-line); color: var(--lx-ink-soft);
    letter-spacing: var(--lx-track);
}
.rest-body .rest-social-chip:hover{
    background: var(--lx-accent); border-color: var(--lx-accent); color: var(--lx-on-accent);
}
.rest-body .rest-branch-tag{
    background: var(--lx-surface); border: 1px solid var(--lx-line); color: var(--lx-ink-soft);
}
.rest-body .rest-lang{
    background: var(--lx-surface); border: 1px solid var(--lx-line); color: var(--lx-ink);
}
.rest-body .rest-logo{ border-color: var(--lx-surface); }

/* ======================================================================
   ===================  تخطيط القائمة (List) — إعادة تصميم  =============
   ----------------------------------------------------------------------
   ما كان عليه وما أزعج فيه:
     • زرّ «+» كان **فوق الصورة** معلّقاً في منتصفها السفلي
       (position:absolute; inset-inline-start:50%) — يغطّي الطبق، ولا
       يُعرف أهو جزء من الصورة أم زرّ، وإصابته باللمس صعبة على الجوال.
     • كل سطر صندوقٌ مستقلّ بحدٍّ وظلّ، فالقائمة تصير رصّة بطاقات لا قائمة
       طعام — وصفحات المطاعم الفاخرة تستعمل أسطراً يفصلها خطّ شعري.
     • الاسم أعلى اليمين والسعر أسفله وبينهما فراغ ميّت، فلا تُقرأ العين
       سطراً واحداً بل تقفز.

   التصميم الآن — ثلاثة أعمدة ثابتة على كل المقاسات:
       [ صورة مربّعة ]   [ الاسم · الوصف · السعر ]   [ زرّ + ]
   الصورة في جهة البداية، والنصّ يتمدّد، والزرّ **في جهة النهاية** معزولاً
   في عموده الخاصّ: لا يلمس الصورة ولا يغطّي شيئاً، وموضعه ثابت في كل
   الأسطر فتتعلّمه اليد من أول سطر. والأسطر يفصلها خطّ شعري واحد بلا
   صناديق — وهو ما يعطي القائمة طابع المنيو المطبوع.
   ====================================================================== */

/* الحاوية: قائمة واحدة لا شبكة بطاقات */
.rest-body .rest-list{
    display: block; border-top: 1px solid var(--lx-line);
}
@media (min-width: 900px){
    /* عمودان على الشاشات الواسعة، وبينهما فاصل رأسي رفيع */
    .rest-body .rest-list{
        display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.5rem;
    }
}

.rest-body .dish-row{
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;   /* صورة · نصّ · زرّ */
    align-items: center; gap: 1rem;
    padding: 1.05rem .25rem;
    background: transparent; border: 0; border-radius: 0;
    border-bottom: 1px solid var(--lx-line);
    box-shadow: none; transition: background .18s ease;
}
.rest-body .dish-row:hover{
    background: color-mix(in srgb, var(--lx-gold) 5%, transparent);
    border-color: var(--lx-line); box-shadow: none;
}

/* ---------- عمود الصورة ---------- */
.rest-body .dish-row-side{
    order: 0;                       /* لا تقديم: ترتيب الشبكة يتكفّل بالجهة */
    position: static; width: auto; display: block;
}
/* `scale-down` لا `cover`: القاعدة المعتمدة في المشروع أن يظهر الطبق
   بنسبته كاملاً بلا قصّ ولا تكبير فوق مقاسه الأصلي — هنا وفي البطاقة
   وفي نافذة الطلب، فلا تختلف صورة الطبق الواحد بين موضع وآخر. */
.rest-body .dish-row-img{
    width: 5.25rem; height: 5.25rem; border-radius: calc(var(--lx-radius) - .15rem);
    object-fit: scale-down; object-position: center;
    background: var(--lx-sunken); display: block;
}
@media (min-width: 560px){
    .rest-body .dish-row-img{ width: 6rem; height: 6rem; }
}
/* طبق بلا صورة: مربّع بلون غائر فيبقى العمود بعرضه ولا يختلّ اصطفاف القائمة */
.rest-body .dish-row-side:not(:has(img))::before{
    content: ""; display: block;
    width: 5.25rem; height: 5.25rem; border-radius: calc(var(--lx-radius) - .15rem);
    background: var(--lx-sunken);
}
@media (min-width: 560px){
    .rest-body .dish-row-side:not(:has(img))::before{ width: 6rem; height: 6rem; }
}

/* ---------- عمود النصّ ---------- */
.rest-body .dish-row-body{
    display: flex; flex-direction: column; gap: .2rem; min-width: 0;
}
.rest-body .dish-row-name{
    font-family: var(--lx-display); font-size: 1.02rem; font-weight: 800;
    color: var(--lx-ink); line-height: 1.35;
}
.rest-body .dish-row-desc{
    color: var(--lx-ink-soft); font-size: .83rem; line-height: 1.7;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rest-body .dish-row-meta{
    margin-top: .3rem; padding-top: 0; font-size: 1rem;
}
.rest-body .dish-row-meta .u-text-plum{
    color: var(--lx-price); font-family: var(--lx-display); font-weight: 800;
}

/* ---------- عمود الزرّ: في جهة النهاية، ثابت، لا يلمس الصورة ---------- */
.rest-body .dish-row .dish-row-add{
    position: static; transform: none; inset: auto;
    width: 2.5rem; height: 2.5rem; flex: none;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9999px; border: 1px solid var(--lx-line);
    background: transparent; color: var(--lx-accent); box-shadow: none;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
[dir="ltr"] .rest-body .dish-row .dish-row-add{ transform: none; }
.rest-body .dish-row .dish-row-add:hover:not(:disabled){
    background: var(--lx-accent); border-color: var(--lx-accent); color: var(--lx-on-accent);
}
.rest-body .dish-row .dish-row-add:disabled{ opacity: .35; }

/* نفد الطبق: السطر كلّه يهدأ */
.rest-body .dish-row.is-soldout{ opacity: .6; }
.rest-body .dish-row.is-soldout .dish-row-img{ filter: grayscale(1); }

/* آخر سطر في العمود بلا خطّ سفلي فلا يبقى خطّ معلّق في الهواء */
.rest-body .rest-list .dish-row:last-child{ border-bottom: 0; }

/* ======================================================================
   ===============  تبويبات قوالب الصفحة (لوحة التحكم)  =================
   شريط تبويبات أفقي: كل تبويب اسم القالب وتحته ثلاث نقاط بألوانه، فيُقرأ
   القالب بالعين قبل الضغط. المدخلات radio حقيقية داخل الملصقات: التنقّل
   بالأسهم والقراءة الصوتية والحفظ مع النموذج تعمل بلا جافاسكربت، والجافاسكربت
   يضيف المعاينة الفورية وحدها.
   ====================================================================== */
/* شبكة لا flex: مع flex-wrap كان الشريط يلتفّ ٣+١ عند عرض ١٢٠٠px وعند
   ٥٢٠–٦٣٥px، فيتمدّد التبويب اليتيم في السطر الثاني إلى ثلاثة أضعاف
   إخوته فيُقرأ لافتةً لا تبويباً. الشبكة تقسم العرض بالتساوي دائماً:
   أربعة في صفّ، واثنان واثنان تحت ٦٤٠px. */
.ds-themes{
    /* auto-fill لا auto-fit ولا عددٌ ثابت: القوالب صارت خمسة، وعددٌ ثابت
       يترك الخامس وحده في سطرٍ يتمدّد فيه إلى عرض الصفّ كلّه (نفس عيب
       الالتفاف ٣+١ الذي عولج سابقاً). وauto-fit يطوي المسارات الفارغة
       فيتمدّد اليتيم كذلك. وauto-fill يُبقيها فيظلّ كل تبويب بعرض إخوته
       مهما كان عددها. */
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(6.4rem, 1fr));
    gap: .4rem;
    padding: .3rem; margin-bottom: .85rem;
    background: #f6f7f9; border: 1px solid #e9eaee; border-radius: .85rem;
}
.ds-theme-tab{
    position: relative;
    display: flex; flex-direction: column; align-items: center; gap: .4rem;
    padding: .7rem .5rem; border-radius: .6rem; cursor: pointer;
    background: transparent; border: 1px solid transparent;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ds-theme-tab input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ds-theme-tab:hover{ background: #fff; }
.ds-theme-tab.is-active{
    background: #fff; border-color: var(--c-plum, #5f0f40);
    box-shadow: 0 6px 16px -10px rgba(15, 23, 42, .45);
}
/* إطار التركيز يأتي من المدخل المخفي، فنرسمه على الملصق لتبقى لوحة
   المفاتيح مرئية */
.ds-theme-tab:focus-within{ outline: 2px solid var(--c-plum, #5f0f40); outline-offset: 2px; }
.ds-theme-dots{ display: flex; gap: .2rem; }
.ds-theme-dots i{
    width: .85rem; height: .85rem; border-radius: 9999px;
    background: var(--sw); border: 1px solid rgba(15, 23, 42, .12); display: block;
}
.ds-theme-name{ font-size: .82rem; font-weight: 800; color: #334155; line-height: 1.2; text-align: center; }
.ds-theme-tab.is-active .ds-theme-name{ color: var(--c-plum, #5f0f40); }
.ds-theme-note{
    font-size: .82rem; line-height: 1.8; color: #64748b;
    padding-inline-start: .6rem; border-inline-start: 3px solid var(--c-plum, #5f0f40);
    margin-bottom: .6rem;
}
/* التبويب النشط بلا جافاسكربت: الصنف .is-active يضعه الجافاسكربت، فإن
   كان معطّلاً بقي الشكل على القالب الأول بينما الراديو المختار غيره —
   فتُظهر الصفحة اختياراً غير الذي ستحفظه. :has تقرأ الراديو مباشرة. */
.ds-theme-tab:has(input:checked){
    background: #fff; border-color: var(--c-plum, #5f0f40);
    box-shadow: 0 6px 16px -10px rgba(15, 23, 42, .45);
}
.ds-theme-tab:has(input:checked) .ds-theme-name{ color: var(--c-plum, #5f0f40); }

/* ======================================================================
   =========  القالب يصل العناصر العائمة والسلة كذلك  ===================
   ----------------------------------------------------------------------
   زرّ السلة ونافذتها كانا بلون الهوية وخلفية بيضاء ثابتة، فيظهران غريبين
   فوق قالب «ليل ذهبي» الأسود — كأنهما من موقع آخر. الآن يقرآن متغيّرات
   القالب نفسها. القواعد مقيّدة بـ.rest-body فلا تمسّ السلة في بقية
   الصفحات (العروض، الصفحة الرئيسية) التي لا قالب لها.
   ====================================================================== */
.rest-body #cart-fab{
    background: var(--lx-accent); color: var(--lx-on-accent);
    box-shadow: var(--lx-shadow);
}
.rest-body .call-fab{ box-shadow: 0 10px 25px -8px rgba(0, 0, 0, .35); }
.rest-body .cart-flash{ background: var(--lx-ink); color: var(--lx-bg); }

.rest-body #cart-drawer{ background: var(--lx-surface); color: var(--lx-ink); }
.rest-body .cart-head{ background: var(--lx-sunken); border-bottom-color: var(--lx-line); }
.rest-body .cart-head h3{ color: var(--lx-ink); }
.rest-body .cart-close{ background: var(--lx-line); color: var(--lx-ink); }
.rest-body .cart-item{ border-bottom-color: var(--lx-line); }
.rest-body .cart-item img{ background: var(--lx-sunken); }
.rest-body .cart-item-name{ color: var(--lx-ink); }
.rest-body .cart-foot{ background: var(--lx-sunken); border-top-color: var(--lx-line); }
.rest-body .cart-total-row > span:first-child{ color: var(--lx-ink-soft); }
.rest-body .cart-total-row > span:last-child{ color: var(--lx-price); }
.rest-body .cart-total-row--sub,
.rest-body .cart-total-row--vat{ color: var(--lx-ink-soft); }
.rest-body .cart-total-row--vat{ border-bottom-color: var(--lx-line); }
.rest-body .cart-total-row--grand{ color: var(--lx-ink); }
.rest-body .cart-empty{ color: var(--lx-ink-soft); }

/* ---------- السعر في طرف السطر على الشاشات الأوسع ----------
   على الجوال يُقرأ السطر عموداً: الاسم ثم السعر تحته. أما حين يتّسع السطر
   (٥٦٠px فأكثر) فبقاء السعر تحت الاسم يترك فراغاً ميتاً طويلاً بين النصّ
   وزرّ الإضافة، والعين تقفز لتربط الطبق بسعره. فننقله إلى طرف عمود النصّ
   محاذياً للزرّ: [صورة] [الاسم والوصف ...... السعر] [+] — وهو ترتيب
   المنيو المطبوع نفسه: الصنف في الطرف والسعر في الهامش المقابل. */
/* (نُقلت هذه القاعدة إلى كتلة «إصلاحات ما بعد الاختبار» في آخر الملف،
   وصارت تسري على كل المقاسات لا من ٥٦٠px فقط.) */
.rest-body .cart-item-price{ color: var(--lx-price); }
.rest-body #cart-checkout{ background: var(--lx-accent); color: var(--lx-on-accent); }
.rest-body #cart-checkout:disabled{ background: var(--lx-line); color: var(--lx-ink-soft); }
/* عدّاد الكمية: صندوقه ثابت الفاتح فكان يضيء بقعة بيضاء في القالب الداكن */
.rest-body .qty-box{ background: var(--lx-sunken); }
.rest-body .qty-btn{ background: var(--lx-surface); color: var(--lx-ink); box-shadow: none; border: 1px solid var(--lx-line); }
.rest-body .qty-btn:hover{ background: var(--lx-accent); color: var(--lx-on-accent); border-color: var(--lx-accent); }
.rest-body .qty-num{ color: var(--lx-ink); }
.rest-body .cart-msg{ color: var(--lx-ink-soft); }

/* ======================================================================
   ========  إصلاحات ما بعد اختبار الوكلاء الافتراضيّين  ================
   ----------------------------------------------------------------------
   ثلاثة وكلاء اختبروا الصفحات معاً — زبون على الجوال، مدير في اللوحة،
   ومراجع تصميم ووصولية — وقاسوا ما وجدوه بالأرقام. هذه الكتلة تعالج ما
   أبلغوا عنه، وكل إصلاح مكتوبٌ معه سببه ورقمه.
   ====================================================================== */

/* ---------- ١) زرّ السلة كان يغطّي زرّ «+» في الأسطر ----------
   قياس الوكيل: زرّ «+» يشغل ٢٠–٦٠px من حافة الشاشة، وزرّ السلة العائم
   ٢٠–٧٦px من الحافة نفسها — تداخلٌ ١٠٠٪. ومن يضغط «+» في آخر سطر مرئي
   تُفتح له السلة الفارغة بدل أن يُضاف الطبق (جُرّب فعلاً وفشل).
   السبب أنّ الزرّ العائم والعمود الجديد صارا على السكّة نفسها.
   الحلّ: الزرّ العائم ينتقل إلى الجهة المقابلة في صفحة المطعم وحدها —
   هناك عمود الصورة لا عمود الأزرار، فإن غطّى شيئاً غطّى صورةً لها بديل
   (اسم الطبق يفتح النافذة نفسها)، ولا يغطّي فعلاً لا بديل له.
   وزرّ نداء النادل يبقى في مكانه (٥٫٢٥rem من الحافة = ٨٤–١٣٢px) فلا
   يلامس نطاق «+». */
.rest-body #cart-fab,
.rest-body .cart-flash{ inset-inline-start: 1.25rem; inset-inline-end: auto; }
.rest-body #cart-fab-badge{ inset-inline-start: auto; inset-inline-end: -.25rem; }
/* الأزرار العائمة الثلاثة تنتقل معاً إلى الجهة نفسها: لو بقي زرّ النادل
   وزرّ «طلباتي» على السكّة المقابلة لظلّا ملاصقَين لعمود «+» — قريبين منه
   بصرياً وإن لم يغطّياه، وهو ارتباكٌ في ذاته. */
.rest-body .call-fab{ inset-inline-start: 5.25rem; inset-inline-end: auto; }
.rest-body #orders-fab{ inset-inline-start: 5.25rem; inset-inline-end: auto; }
.rest-body.has-orders-fab .call-fab{ inset-inline-start: 9.25rem; inset-inline-end: auto; }
@media (max-width: 480px){
    .rest-body .call-fab,
    .rest-body #orders-fab{ inset-inline-start: 4.75rem; inset-inline-end: auto; }
    .rest-body.has-orders-fab .call-fab{ inset-inline-start: 8.25rem; inset-inline-end: auto; }
}

/* ---------- ٢) إطار التركيز كان يختفي على القالب الداكن ----------
   القاعدة العامة ترسمه بلون هوية المطعم (--c-plum). على «ليل ذهبي»
   قياسه ١٫٣٤:١ — أي غير مرئي عملياً لمن يتنقّل بلوحة المفاتيح، والمطلوب
   ٣:١. الآن يتبع القالب: لونٌ مضمون التباين في القوالب الأربعة. */
.rest-body{ --lx-focus: var(--lx-price); }
.rest-body a:focus-visible,
.rest-body button:focus-visible,
.rest-body input:focus-visible,
.rest-body [role="button"]:focus-visible{
    outline: 2px solid var(--lx-focus); outline-offset: 2px;
}

/* ---------- ٣) زرّ «+»: حدٌّ يُرى، ومقاس يُلمس ----------
   كان حدّه ١٫١٩–١٫٤٠:١ على القوالب الأربعة — أي دائرةٌ غير مرئية، فيبدو
   «+» علامةً مرسومة لا زرّاً. والمقاس ٤٠×٤٠ دون حدّ اللمس المريح ٤٤.
   الآن: خلفية غائرة، وحدّ مشتقّ من لون النصّ، ومقاس ٤٤. */
.rest-body .dish-row .dish-row-add,
.rest-body .add-to-cart-btn{
    width: 2.75rem; height: 2.75rem; min-width: 2.75rem; min-height: 2.75rem;
}
.rest-body .dish-row .dish-row-add{
    background: var(--lx-sunken);
    border: 1px solid color-mix(in srgb, var(--lx-ink) 26%, var(--lx-line));
}
.rest-body .dish-row .dish-row-add:hover:not(:disabled){
    background: var(--lx-accent); border-color: var(--lx-accent); color: var(--lx-on-accent);
}

/* ---------- ٤) السعر في طرف السطر على كل المقاسات ----------
   كان على ٥٦٠px فأكثر فقط، فبقي على الجوال تحت الاسم — وقياس الوكيل
   أنّ زرّ «+» يعلو السعر ١٥px فتختلّ محاذاة السطر على أصغر الشاشات
   وحدها. والآن عمودان دائماً: [الاسم والوصف ...... السعر] فيصطفّ كل
   شيء مع الزرّ، وهو ترتيب المنيو المطبوع نفسه. */
.rest-body .dish-row-body{
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1rem; align-items: center;
}
.rest-body .dish-row-name,
.rest-body .dish-row-desc,
.rest-body .dish-row-body .stock-note{ grid-column: 1; }
.rest-body .dish-row-meta{
    grid-column: 2; grid-row: 1 / -1;
    margin-top: 0; white-space: nowrap; text-align: end;
}
/* اسم طويل كان يمدّ السطر بلا حدّ فيختلّ إيقاع القائمة (قياس: سطر واحد
   طال فصار ١٣٢px بدل ١١٨) — سطران كحدٍّ أقصى كما في بطاقة الشبكة */
.rest-body .dish-row-name{
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* ---------- ٥) إيقاع السطر: حشوة زوجية وخطّ يُرى ----------
   الحشوة ١٫٠٥rem (١٦٫٨px) كانت تجعل ارتفاع السطر كسرياً فيقع الخطّ
   الفاصل بين بكسلين ويُرسم رماديَّين باهتين بدل خطٍّ واحد حادّ.
   ولون الخطّ نفسه كان ١٫١٩–١٫٣١:١ — تحت عتبة الرؤية. */
.rest-body .dish-row{
    padding: 1rem .25rem;
    border-bottom: 1px solid color-mix(in srgb, var(--lx-line) 62%, var(--lx-ink));
}
/* سطرٌ بلا وصف لا يحتاج صورةً بحجم كامل: على الشاشات الواسعة كان ٨١٪ من
   السطر فراغاً. فالصورة أصغر والحشوة أقلّ حين لا وصف. */
@media (min-width: 900px){
    .rest-body .dish-row:not(:has(.dish-row-desc)){ padding-block: .8rem; }
    .rest-body .dish-row:not(:has(.dish-row-desc)) .dish-row-img,
    .rest-body .dish-row:not(:has(.dish-row-desc)) .dish-row-side:not(:has(img))::before{
        width: 4.5rem; height: 4.5rem;
    }
}
/* في العمودين: آخر سطر مرئيّ هو آخر عنصرين حين يكون عددها زوجياً — وكان
   يبقى خطٌّ معلّق تحت نصف السطر الأخير */
@media (min-width: 900px){
    .rest-body .rest-list .dish-row:nth-last-child(2):nth-child(odd){ border-bottom: 0; }
}

/* ---------- ٦) الطبق المنتهي: نُخفت الصورة والزرّ لا النصّ ----------
   opacity: .6 على السطر كلّه كانت تهبط بالوصف إلى ٢٫٦:١ فلا يُقرأ. */
.rest-body .dish-row.is-soldout{ opacity: 1; }
.rest-body .dish-row.is-soldout .dish-row-img,
.rest-body .dish-row.is-soldout .dish-row-side::before{ filter: grayscale(1); opacity: .55; }
.rest-body .dish-row.is-soldout .dish-row-add{ opacity: .35; }
.rest-body .dish-row.is-soldout .dish-row-name,
.rest-body .dish-row.is-soldout .dish-row-meta{ opacity: .7; }

/* ---------- ٧) زوايا صورة البطاقة تتبع القالب ----------
   كانت ثابتة ١٫١٥rem بينما زاوية البطاقة تتغيّر مع القالب: على «رخام»
   كانت الصورة أدور من البطاقة ٣ أضعاف فيظهر نتوء لون البطاقة في الزاويتين. */
.rest-body .dish-card-media{
    border-start-start-radius: calc(var(--lx-radius) - 1px);
    border-start-end-radius: calc(var(--lx-radius) - 1px);
    background: var(--lx-sunken);
}
/* كلمة العملة كانت ١٠٫٩px — تحت حدّ القراءة المريحة */
.rest-body .dish-card-cur{ font-size: max(.72em, 12px); }

/* ---------- ٨) مقاسات لمس بقية الأزرار ---------- */
.rest-body .soc-btn,
.rest-body .cart-close,
.rest-body .addon-x,
.rest-body .call-x{ width: 2.75rem; height: 2.75rem; }
.rest-body .qty-btn{ width: 2.25rem; height: 2.25rem; }

/* ---------- ٩) زرّ نداء النادل: الرمز الأبيض على البرتقالي ٢٫٣٨:١ ----------
   البرتقالي لون الهوية ولا يُغيَّر، فنُغمّق الرمز بدل الخلفية. */
.call-fab{ color: #3a1c00; }

/* ---------- ١٠) نافذة الطبق كانت تتجاهل القالب ----------
   بقيت بيضاء بزرٍّ بلون الهوية فوق قالب أسود — وعلى مطعم هويته زهرية
   فاتحة قِيس زرّ «أضف» عند ١٫٣٦:١، أي غير مقروء. */
.rest-body .addon-box{ background: var(--lx-surface); color: var(--lx-ink); }
.rest-body .addon-title,
.rest-body .addon-group-title{ color: var(--lx-ink); }
.rest-body .addon-desc,
.rest-body .addon-about-label,
.rest-body .addon-option-name{ color: var(--lx-ink-soft); }
.rest-body .addon-badge{ color: var(--lx-ink-soft); background: var(--lx-sunken); }
.rest-body .addon-foot{ background: var(--lx-sunken); border-top: 1px solid var(--lx-line); }
.rest-body .addon-option{ border-top-color: var(--lx-line); }
.rest-body .addon-option input{ accent-color: var(--lx-accent); }
.rest-body .addon-option-price{ color: var(--lx-price); }
.rest-body .addon-submit{ background: var(--lx-accent); color: var(--lx-on-accent); }
.rest-body .addon-hero{ background: var(--lx-sunken); }

/* ---------- ١١) شريط «أنت على الطاولة» بلا تنسيق ----------
   أوّل ما يراه من مسح الباركود كان فقرةً خاماً: الإيموجي بلا مقاس،
   والسطر الثانوي بحجم السطر الأول، ورابط «لست على طاولة؟» بلون النصّ
   نفسه بلا أي علامة أنه يُضغط. */
.rest-body .table-banner{
    background: var(--lx-sunken); border-bottom: 1px solid var(--lx-line);
}
/* .table-banner-inner يحمل أيضاً .rest-container، فلا نلمس عرضه ولا
   حشوته الأفقية — نضيف الصفّ والحشوة الرأسية وحدهما */
.rest-body .table-banner-inner{
    display: flex; align-items: center; gap: .7rem; padding-block: .7rem;
}
.rest-body .table-banner-ico{ font-size: 1.25rem; line-height: 1; flex: none; }
.rest-body .table-banner-text{ flex: 1; min-width: 0; line-height: 1.45; }
.rest-body .table-banner-text strong{ color: var(--lx-ink); font-weight: 800; font-size: .92rem; }
.rest-body .table-banner-sub{
    display: block; color: var(--lx-ink-soft); font-size: .78rem; margin-top: .1rem;
}
.rest-body .table-banner-exit{
    flex: none; color: var(--lx-price); font-size: .78rem; font-weight: 800;
    text-decoration: underline; text-underline-offset: 3px;
    padding: .55rem .25rem;            /* مساحة لمس مريحة لرابط صغير */
}

/* ---------- ١٢) بقية مقاسات اللمس بعد القياس ----------
   قياس: شريط الأقسام ٤٢px وزرّ اللغة ٣٥px — تحت ٤٤. وجسم السطر (الذي صار
   زرّاً يفتح نافذة الطبق) كان ارتفاع صندوقه ٢٤px فقط لأن الطبق بلا وصف،
   بينما السطر نفسه ٨٤px: فيُمدّ ليملأ ارتفاع السطر فيصير هدفاً مريحاً. */
.rest-body .rest-tab{ padding-block: .72rem; }
.rest-body .rest-lang{ padding-block: .75rem; }
.rest-body .dish-row-body{ align-self: stretch; align-content: center; }
/* زرّ «طلباتي» أيضاً يتبع القالب بدل الأبيض الثابت فوق قالب داكن */
.rest-body #orders-fab{
    background: var(--lx-surface); color: var(--lx-ink);
    border-color: color-mix(in srgb, var(--lx-ink) 20%, var(--lx-line));
}

/* ======================================================================
   ===============  نافذة الطبق — إعادة التصميم (تحديث ٢٩)  =============
   ----------------------------------------------------------------------
   المرجع الذي أرسله صاحب الموقع: صورة الطبق كبيرة على خلفية دافئة، ثم
   ورقة بيضاء تعلوها بزاوية كبيرة، فالاسم والسعر، ثم صفّ أيقونات مستديرة
   تُفتح بالضغط، ثم عنوان «عن الطبق» بأيقونة وتحته الوصف فقرات، وزرّ واحد
   ثابت أسفل النافذة.

   ما غيّرناه في المنطق لا في الشكل فقط:
     • المكوّنات ومسبّبات الحساسية كانت قوائم مفتوحة تدفع الخيارات خارج
       الشاشة. صارت أيقونتين: من أرادهما ضغط فظهر ما كتبه المدير نفسه.
     • السعر كان في الزرّ وحده (تفادياً لرقمين متعارضين). صار تحت الاسم
       وهو **نفسه** الرقم الحيّ، والزرّ إجراءٌ بلا رقم. فلا تعارض ولا تكرار.
   ====================================================================== */

/* ---------- الصورة: أكبر، على خلفية دافئة، والطبق كاملاً بلا قصّ ---------- */
.addon-hero{
    aspect-ratio: 1 / 1; max-height: 17rem;
    background: var(--c-brand-soft, #f6f1e8);
    padding: .75rem;
}
.addon-hero-img{ object-fit: scale-down; }

/* ---------- الورقة البيضاء تعلو الصورة ---------- */
.addon-about{
    position: relative; z-index: 1;
    margin-top: -1.15rem; padding: 1.15rem 1.15rem 0;
    background: #fff;
    border-start-start-radius: 1.4rem; border-start-end-radius: 1.4rem;
}
.addon-title{ font-size: 1.32rem; line-height: 1.3; letter-spacing: -.01em; }

/* ---------- السعر: رقم كبير وعملة صغيرة بجانبه ---------- */
.addon-price-line{
    display: flex; align-items: baseline; gap: .3rem; flex-wrap: wrap;
    margin-top: -.25rem;
}
.addon-price-num{ font-size: 1.6rem; font-weight: 900; color: var(--c-plum, #5f0f40); line-height: 1; }
.addon-price-cur{ font-size: .82rem; font-weight: 800; color: #64748b; }
.addon-price-note{ font-size: .74rem; font-weight: 700; color: #94a3b8; margin-inline-start: .2rem; }

/* ---------- صفّ الحقائق: أيقونة مستديرة واسمها تحتها ---------- */
.dm-facts{
    display: flex; gap: .5rem; margin-top: .25rem;
    padding-bottom: .15rem;
}
/* الأيقونة فوق والاسم تحتها، لا بجانبها: ثلاث بطاقات أفقية على شاشة
   ٣٩٠px تترك لكل اسم ٥٠px فيُقصّ «المكونات» إلى «المكو…». والعمودي يعطي
   الاسم سطره كاملاً ويبقى الصفّ الثلاثي متساوياً. */
.dm-fact{
    flex: 1 1 0; min-width: 0;
    display: flex; flex-direction: column; align-items: center; gap: .35rem;
    padding: .6rem .35rem; cursor: pointer;
    background: transparent; border: 1px solid #ecebe8; border-radius: 1rem;
    transition: border-color .15s ease, background .15s ease;
}
.dm-fact[hidden]{ display: none; }
.dm-fact-ico{
    flex: none; width: 2rem; height: 2rem; border-radius: 9999px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--c-brand-soft, #f6f1e8); color: var(--c-plum, #5f0f40);
}
.dm-fact-ico svg{ width: 1.05rem; height: 1.05rem; }
.dm-fact-label{
    font-size: .73rem; font-weight: 800; color: #475569;
    line-height: 1.2; text-align: center;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dm-fact:hover{ border-color: #d8d5cf; }
.dm-fact.is-open{
    border-color: var(--c-plum, #5f0f40);
    background: color-mix(in srgb, var(--c-plum, #5f0f40) 6%, transparent);
}
.dm-fact.is-open .dm-fact-label{ color: var(--c-plum, #5f0f40); }
@media (max-width: 340px){
    /* أضيق من ذلك: الأيقونة وحدها، والاسم في aria-label لقارئ الشاشة */
    .dm-fact-label{ display: none; }
}

/* ---------- لوحة التفصيل: ما كتبه المدير ---------- */
.dm-panel{
    margin-top: .1rem; padding: .7rem .8rem;
    background: #f7f8fa; border-radius: .9rem;
}
.dm-panel-title{
    font-size: .72rem; font-weight: 900; color: #94a3b8;
    letter-spacing: .04em; margin-bottom: .45rem;
}
.dm-panel-text{ font-size: .85rem; font-weight: 700; color: #334155; }
.dm-chips{ display: flex; flex-wrap: wrap; gap: .35rem; }

/* ---------- «عن الطبق» ---------- */
.dm-about{ display: flex; flex-direction: column; gap: .5rem; }
.dm-about-head{
    display: flex; align-items: center; gap: .5rem;
    font-size: 1.02rem; font-weight: 900; color: #0f172a;
}
.dm-about-ico{
    flex: none; width: 1.75rem; height: 1.75rem; border-radius: 9999px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--c-brand-soft, #e7e2d8); color: var(--c-plum, #5f0f40);
}
.dm-about-ico svg{ width: .95rem; height: .95rem; }
.dm-para{ font-size: .86rem; line-height: 1.9; color: #475569; }
.dm-para + .dm-para{ margin-top: .5rem; }

/* ---------- القالب يصل النافذة كذلك ---------- */
.rest-body .addon-hero{ background: var(--lx-sunken); }
.rest-body .addon-about{ background: var(--lx-surface); }
.rest-body .addon-price-num{ color: var(--lx-price); }
.rest-body .addon-price-cur,
.rest-body .addon-price-note{ color: var(--lx-ink-soft); }
.rest-body .dm-fact{ border-color: var(--lx-line); }
.rest-body .dm-fact-ico{ background: var(--lx-sunken); color: var(--lx-price); }
.rest-body .dm-fact-label{ color: var(--lx-ink-soft); }
.rest-body .dm-fact.is-open{
    border-color: var(--lx-accent);
    background: color-mix(in srgb, var(--lx-accent) 8%, transparent);
}
.rest-body .dm-fact.is-open .dm-fact-label{ color: var(--lx-ink); }
.rest-body .dm-panel{ background: var(--lx-sunken); }
.rest-body .dm-panel-title{ color: var(--lx-ink-soft); }
.rest-body .dm-panel-text{ color: var(--lx-ink); }
.rest-body .dm-about-head{ color: var(--lx-ink); }
.rest-body .dm-about-ico{ border-color: var(--lx-line); color: var(--lx-price); }
.rest-body .dm-para{ color: var(--lx-ink-soft); }
/* الورقة تمتدّ إلى أسفل منطقة التمرير: بلا هذا كان يظهر شريط من لون
   خلفية الصورة تحت المحتوى حين يكون الطبق بلا خيارات (الورقة تنتهي
   بانتهاء نصّها فيبين ما تحتها). */
.addon-scroll{ background: #fff; }
.addon-about{ padding-bottom: 1.15rem; }
.addon-body:not(:empty){ padding-top: .25rem; }
.rest-body .addon-scroll{ background: var(--lx-surface); }
/* رقاقات المكوّنات والوسوم ومجموعة الخيارات: ألوانها كانت ثابتة فتضيء
   بقعاً بيضاء داخل نافذة بقالب داكن. */
.rest-body .dish-ing-chip{
    background: var(--lx-sunken); color: var(--lx-ink);
    border: 1px solid var(--lx-line);
}
.rest-body .dish-tag-chip{
    background: color-mix(in srgb, var(--lx-accent) 10%, transparent);
    color: var(--lx-ink); border: 1px solid var(--lx-line);
}
.rest-body .addon-group{ border-color: var(--lx-line); }
.rest-body .addon-group-title{ color: var(--lx-ink); }
.rest-body .addon-error{ color: #f87171; }
.rest-body .addon-x{
    background: color-mix(in srgb, var(--lx-surface) 82%, transparent);
    color: var(--lx-ink);
}


/* ======================================================================
   ======================  رمز الريال السعودي  =========================
   ----------------------------------------------------------------------
   الرمز الرسمي الجديد لا توجد له أيقونة في خطوط الأجهزة بعد، ولا نريد
   تحميل خطّ كامل من أجل حرف واحد (ولا الاعتماد على اتصال خارجي). فالرمز
   هنا **مرسومٌ بمسار SVG** مستخرج من الصورة الرسمية التي أرسلها صاحب
   الموقع (تطابق ٩٩٫٨٪ مع الأصل)، مدمجٌ في هذا الملف فلا طلب شبكة ولا ملف
   إضافي يُرفع.

   ولماذا mask لا img؟ لأن الخلفية تأخذ currentColor: فيرث الرمز لون النصّ
   الذي بجانبه تلقائياً — أسود في «رخام»، وذهبي في «ليل ذهبي»، وبلون هوية
   المطعم في «كلاسيك» — بلا قاعدة واحدة إضافية لكل قالب.

   والمقاس بالـem فيكبر ويصغر مع حجم السعر الذي هو فيه.
   ====================================================================== */
.riyal{
    display: inline-block;
    width: .78em; height: .87em;         /* نسبة الرمز 894.9:1000 */
    vertical-align: -.085em;             /* يجلس على خطّ الأرقام لا تحته */
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20894.9%201000.0'%3E%3Cpath%20fill-rule='evenodd'%20d='M1.0,924.5%20L0.0,922.6%20L2.4,904.4%20L9.8,868.6%20L18.8,839.4%20L30.6,810.3%20L315.6,749.6%20L315.4,614.3%20L49.5,670.8%20L53.7,641.0%20L60.3,612.1%20L68.9,584.3%20L80.1,556.7%20L315.6,506.5%20L315.6,88.3%20L331.7,69.8%20L362.9,40.1%20L391.2,18.3%20L421.2,0.0%20L421.6,484.3%20L526.2,461.7%20L526.2,141.1%20L544.1,120.5%20L574.6,91.7%20L602.4,70.5%20L631.6,52.3%20L631.8,439.4%20L894.9,383.6%20L891.6,409.2%20L884.1,443.0%20L874.9,472.2%20L864.0,498.0%20L631.8,547.4%20L631.8,654.4%20L894.7,598.8%20L891.3,626.1%20L884.7,655.9%20L875.8,684.9%20L864.4,712.9%20L526.6,784.9%20L526.2,569.7%20L423.4,591.3%20L421.2,592.1%20L421.2,714.7%20L417.9,729.9%20L413.1,739.4%20L356.2,823.9%20L338.4,842.5%20L319.9,854.1%20L299.9,861.0%20Z%20M527.2,1000.0%20L526.2,999.9%20L529.2,977.2%20L535.7,945.9%20L545.9,912.8%20L557.0,885.8%20L894.9,814.0%20L891.0,843.0%20L884.1,873.4%20L874.0,905.0%20L864.0,928.4%20Z'/%3E%3C/svg%3E") no-repeat center / contain;
            mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20894.9%201000.0'%3E%3Cpath%20fill-rule='evenodd'%20d='M1.0,924.5%20L0.0,922.6%20L2.4,904.4%20L9.8,868.6%20L18.8,839.4%20L30.6,810.3%20L315.6,749.6%20L315.4,614.3%20L49.5,670.8%20L53.7,641.0%20L60.3,612.1%20L68.9,584.3%20L80.1,556.7%20L315.6,506.5%20L315.6,88.3%20L331.7,69.8%20L362.9,40.1%20L391.2,18.3%20L421.2,0.0%20L421.6,484.3%20L526.2,461.7%20L526.2,141.1%20L544.1,120.5%20L574.6,91.7%20L602.4,70.5%20L631.6,52.3%20L631.8,439.4%20L894.9,383.6%20L891.6,409.2%20L884.1,443.0%20L874.9,472.2%20L864.0,498.0%20L631.8,547.4%20L631.8,654.4%20L894.7,598.8%20L891.3,626.1%20L884.7,655.9%20L875.8,684.9%20L864.4,712.9%20L526.6,784.9%20L526.2,569.7%20L423.4,591.3%20L421.2,592.1%20L421.2,714.7%20L417.9,729.9%20L413.1,739.4%20L356.2,823.9%20L338.4,842.5%20L319.9,854.1%20L299.9,861.0%20Z%20M527.2,1000.0%20L526.2,999.9%20L529.2,977.2%20L535.7,945.9%20L545.9,912.8%20L557.0,885.8%20L894.9,814.0%20L891.0,843.0%20L884.1,873.4%20L874.0,905.0%20L864.0,928.4%20Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* مسافة لطيفة بين الرقم والرمز حين يُكتبان متلاصقين */
.riyal--tight{ margin-inline-start: .12em; }

/* ======================================================================
   ===========  تناسق زرّ الإضافة واسم الطبق والسعر (تحديث ٣٠)  ========
   ----------------------------------------------------------------------
   القياس قبل: الاسم ١٦٫٣px والسعر ١٦px ودائرة «+» ٤٤px — أي أن الدائرة
   ٢٫٧ أضعاف الاسم، فتسحب العين إليها قبل الطبق نفسه وتبدو ثقيلة في سطرٍ
   كل ما فيه هادئ.

   والحلّ ليس تصغير الزرّ: ٤٤px هو حدّ اللمس المريح ولا يُنقَص. فصارت
   **الدائرة المرئية ٣٦px مرسومةً بعنصر زائف داخل زرٍّ مقاسه ٤٤px** —
   يرى الإصبع ٤٤ وترى العين ٣٦. وسلّم الأحجام الآن:

       اسم الطبق ١٦٫٨px  >  السعر ١٥٫٢px  >  دائرة «+» ٣٦px مرئية

   فالاسم هو الأكبر، والسعر يليه، والزرّ إجراءٌ هادئ في الطرف.
   ====================================================================== */

/* ---------- السطر في تخطيط القائمة ---------- */
.rest-body .dish-row-name{ font-size: 1.05rem; line-height: 1.35; }
.rest-body .dish-row-meta{ font-size: .95rem; }

.rest-body .dish-row .dish-row-add{
    /* هدف اللمس كما هو، والخلفية والحدّ ينتقلان إلى ::before */
    width: 2.75rem; height: 2.75rem;
    background: transparent; border: 0; position: relative;
}
.rest-body .dish-row .dish-row-add::before{
    content: ""; position: absolute; inset: .25rem;   /* ٣٦px مرئية داخل ٤٤ */
    border-radius: 9999px;
    background: var(--lx-sunken);
    border: 1px solid color-mix(in srgb, var(--lx-ink) 26%, var(--lx-line));
    transition: background .15s ease, border-color .15s ease;
}
.rest-body .dish-row .dish-row-add svg{
    position: relative;        /* فوق الدائرة */
    width: 1.05rem; height: 1.05rem;
}
.rest-body .dish-row .dish-row-add:hover:not(:disabled){ background: transparent; }
.rest-body .dish-row .dish-row-add:hover:not(:disabled)::before{
    background: var(--lx-accent); border-color: var(--lx-accent);
}
.rest-body .dish-row .dish-row-add:hover:not(:disabled){ color: var(--lx-on-accent); }

/* ---------- البطاقة في تخطيط الشبكة والتصنيفات ---------- */
/* البطاقة تتبع سلّم السطر نفسه: كان السعر فيها أكبر من الاسم (١٧٫٣ مقابل
   ١٦٫٣px) بينما السطر بالعكس — فيختلف ترتيب العين بين تخطيط وآخر في
   المطعم الواحد. الآن الاسم أكبر في الاثنين. */
.rest-body .dish-card-name{ font-size: 1.05rem; line-height: 1.35; }
.rest-body .dish-card-price{ font-size: .95rem; }
.rest-body .dish-card-foot .add-to-cart-btn{
    width: 2.75rem; height: 2.75rem; position: relative;
    background: transparent; border: 0; color: var(--lx-on-accent);
}
.rest-body .dish-card-foot .add-to-cart-btn::before{
    content: ""; position: absolute; inset: .25rem;
    border-radius: 9999px; background: var(--lx-accent);
    transition: background .15s ease;
}
.rest-body .dish-card-foot .add-to-cart-btn svg{ position: relative; width: 1.05rem; height: 1.05rem; }
.rest-body .dish-card-foot .add-to-cart-btn:hover::before{
    background: color-mix(in srgb, var(--lx-accent) 85%, #000);
}
.rest-body .dish-card-foot .add-to-cart-btn:disabled::before{ opacity: .35; }

/* ---------- حقلا اسم القسم (عربي + إنجليزي) ----------
   صار النموذج حقلين لا حقلاً، فيحتاج الصفّ أن يلتفّ على الشاشات الضيّقة
   بدل أن يضغط الحقلين حتى لا يُقرأ فيهما شيء. */
.b-new-section-row{ flex-wrap: wrap; }
.b-new-section-row .dash-input{ flex: 1 1 11rem; min-width: 0; }
.b-rename{ display: inline-flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.b-rename .dash-input{ flex: 0 1 10rem; min-width: 7rem; }
@media (max-width: 540px){
    .b-new-section-row .dash-input,
    .b-rename .dash-input{ flex: 1 1 100%; }
}

/* ---------- لوحة حالة الترجمة في تبويب الإعدادات ---------- */
.tr-panel{
    display: flex; flex-direction: column; gap: .3rem;
    margin: .2rem 0 .9rem; padding: .7rem .85rem;
    background: #f8fafc; border: 1px solid var(--dash-border); border-radius: .85rem;
}
.tr-row{ display: flex; align-items: baseline; justify-content: space-between; gap: .9rem; font-size: .82rem; }
.tr-label{ color: #64748b; font-weight: 700; flex: none; }
.tr-value{ color: #0f172a; font-weight: 700; text-align: end; word-break: break-word; }
.tr-row.is-ok   .tr-value{ color: #15803d; }
.tr-row.is-warn .tr-value{ color: #b45309; }
.tr-row.is-bad  .tr-value{ color: #b91c1c; }

/* ======================================================================
   =====================  لون القالب (تحديث ٣٢)  =======================
   ----------------------------------------------------------------------
   القالب يضبط الأسطح والنصوص والمسافات — وهي ما يصنع طابعه — ويبقى **لون
   التمييز** وحده قابلاً للاختيار: الأزرار والأسعار والتبويب النشط والخطّ
   الذهبي تحت الوصف. فمطعمان على «ليل ذهبي» لا يخرجان متطابقَين، ولا يكسر
   اختيارُ لونٍ تناسقَ القالب لأن الأسطح لم تُمَسّ.

   والمشكلة التي يحلّها الاشتقاق أدناه: لونٌ يصلح خلفيةً لزرّ قد لا يصلح
   نصّاً. ذهبيٌّ فاتح على العاجي يختفي، وخوخيٌّ داكن على الأسود يختفي.
   فالسعر والاسم لا يأخذان اللون كما هو، بل نسخةً منه محدودة السطوع:
     • القوالب الفاتحة: سطوع لا يتجاوز .45 ← يُغمَّق الفاتح وحده
     • «ليل ذهبي»:      سطوع لا يقلّ عن .72 ← يُفتَّح الداكن وحده
   فأيُّ لون يختاره المطعم يخرج مقروءاً على خلفية قالبه.
   ====================================================================== */

.rest-body[data-tc]{
    --lx-accent: var(--c-theme);
    --lx-gold:   var(--c-theme);
    --lx-price:  var(--c-theme);     /* البديل للمتصفّحات بلا ألوان نسبية */
}
/* لون الاسم يتبع لون القالب في «كلاسيك» وحده — في القوالب الأخرى الاسم
   بلون النصّ عمداً، وهو جزء من طابعها. */
.rest-body[data-tc][data-theme="classic"]{ --lx-name: var(--lx-price); }

@supports (color: oklch(from #fff l c h)){
    .rest-body[data-tc]{
        --lx-price: oklch(from var(--c-theme) min(l, .45) c h);
    }
    .rest-body[data-tc][data-theme="noir"]{
        --lx-price: oklch(from var(--c-theme) max(l, .72) c h);
    }
}

/* ---------- منتقي لون القالب في لوحة التحكم ---------- */
.ds-tc{ margin-top: .9rem; }
.ds-tc-row{ display: flex; flex-wrap: wrap; gap: .4rem; margin: .45rem 0 .55rem; }
.ds-tc-chip{
    position: relative; width: 2rem; height: 2rem; border-radius: 9999px;
    background: var(--tc, #e2e8f0); cursor: pointer;
    border: 2px solid transparent; box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .12);
    display: inline-flex; align-items: center; justify-content: center;
    transition: transform .12s ease, border-color .12s ease;
}
.ds-tc-chip input[type="radio"]{ position: absolute; opacity: 0; width: 0; height: 0; }
.ds-tc-chip:hover{ transform: scale(1.08); }
.ds-tc-chip.is-on{ border-color: #0f172a; }
.ds-tc-chip:focus-within{ outline: 2px solid var(--c-plum, #5f0f40); outline-offset: 2px; }
/* «لون القالب الأصلي» */
.ds-tc-chip--none{ background: #fff; color: #64748b; font-size: .8rem; font-weight: 800; }
/* المنتقي الحرّ: مربّع اللون يملأ الرقاقة فيُضغط مباشرة */
.ds-tc-chip--pick{ background: conic-gradient(#ef4444, #f59e0b, #22c55e, #3b82f6, #a855f7, #ef4444); }
.ds-tc-input{
    position: absolute; inset: 0; width: 100%; height: 100%;
    opacity: 0; cursor: pointer; border: 0; padding: 0;
}

/* ---------- القالب المخصّص: الدرجات تأتي مطبوعة من الخادم ----------
   لا اشتقاق هنا: menu_custom_theme_vars في includes/menu-data.php تحسبها
   وتضمن تباينها، وتُطبع في <style> على .rest-body[data-theme="custom"].
   فهذه القاعدة للاحتياط وحده — لو فُقدت القيم لسببٍ ما بقي القالب
   مقروءاً بدرجات «عاجي». */
.rest-body[data-theme="custom"]{
    --lx-bg: #f7f3ea; --lx-surface: #fbfaf6; --lx-sunken: #e9e6dd;
    --lx-ink: #1f4034; --lx-ink-soft: #5c6b63; --lx-line: #afa28e;
    --lx-gold: #7c633d; --lx-price: #7c633d; --lx-name: #1f4034;
    --lx-accent: #1f4034; --lx-on-accent: #ffffff;
    --lx-radius: .9rem;
    --lx-shadow: 0 18px 44px -30px rgba(40, 40, 40, .5);
}

/* ---------- منتقيات الألوان الثلاثة في لوحة التحكم ---------- */
.ds-cc{ margin-top: 1rem; padding-top: .9rem; border-top: 1px dashed var(--dash-border); }
.ds-cc-grid{ display: flex; gap: .6rem; flex-wrap: wrap; margin: .5rem 0 1rem; }
.ds-cc-one{
    flex: 1 1 8rem; min-width: 0; display: flex; flex-direction: column; gap: .3rem;
    cursor: pointer;
}
.ds-cc-one input[type="color"]{
    width: 100%; height: 2.6rem; padding: 0; cursor: pointer;
    border: 1px solid var(--dash-border); border-radius: .7rem; background: none;
}
.ds-cc-name{ font-size: .8rem; font-weight: 800; color: #334155; }
.ds-cc-hint{ font-size: .72rem; color: #94a3b8; }

.ds-cc-presets{ display: flex; flex-wrap: wrap; gap: .4rem; margin: .45rem 0 .7rem; }
.ds-cc-preset{
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .35rem .6rem .35rem .4rem; cursor: pointer;
    background: #fff; border: 1px solid var(--dash-border); border-radius: 9999px;
    font-size: .76rem; font-weight: 700; color: #475569;
    transition: border-color .15s ease, transform .12s ease;
}
.ds-cc-preset:hover{ border-color: var(--c-plum, #5f0f40); transform: translateY(-1px); }
.ds-cc-preset i{
    width: .9rem; height: .9rem; border-radius: 9999px; background: var(--a);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .15); display: block;
}
.ds-cc-preset i + i{ margin-inline-start: -.35rem; }

/* ===== الدوائر الثلاث الحيّة فوق صفّ ألوان القالب =====
   تُظهر تركيب القالب المختار: الخلفية، والنصوص، والخطوط. ومع «ألوانك»
   تتبع المنتقيات لحظةً بلحظة. الحلقة البيضاء الداخلية تُبقي الدائرة
   مرئيّة حين يختار المدير لوناً قريباً من لون البطاقة. */
.ds-trio{
    display: flex; gap: 1.1rem; align-items: flex-start;
    margin: 0 0 .85rem; padding: .7rem .85rem;
    background: #f8fafc; border: 1px solid var(--dash-border); border-radius: .85rem;
}
.ds-trio-one{ display: flex; flex-direction: column; align-items: center; gap: .35rem; }
.ds-trio-dot{
    width: 2.1rem; height: 2.1rem; border-radius: 9999px; display: block;
    background: var(--tr, #e2e8f0);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .18), 0 0 0 3px #fff, 0 1px 3px rgba(15, 23, 42, .14);
    transition: background-color .18s ease;
}
.ds-trio-cap{ font-size: .7rem; font-weight: 700; color: #64748b; line-height: 1; }
@media (max-width: 30rem){
    .ds-trio{ gap: .8rem; padding: .6rem .7rem; }
    .ds-trio-dot{ width: 1.8rem; height: 1.8rem; }
}

/* ===== أيقونات التواصل: مفرّغة بلا خلفية =====
   كانت أقراصاً مصمتة بألوان التطبيقات (تدرّج إنستقرام، أسود تيك توك…)
   بينما بقيّة أيقونات الصفحة — البحث والسلّة والإضافة والتنبيه — خطّية
   بلون النصّ. فكان في الصفحة نظامان. الآن نظام واحد: الحدّ والأيقونة
   بلون النصّ، والداخل شفّاف يُظهر خلفية القالب.

   تأتي بعد `.soc-btn--instagram` وأخواتها في ترتيب المصدر فتغلبها بلا
   !important. */
.rest-body .soc-btn,
.rest-body .soc-btn--instagram,
.rest-body .soc-btn--tiktok,
.rest-body .soc-btn--facebook,
.rest-body .soc-btn--whatsapp{
    background: transparent;
    background-image: none;
    color: var(--lx-ink, #1f2937);
    box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 32%, transparent);
    transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
/* متصفّح بلا color-mix: حدٌّ رماديّ هادئ بدل أن يختفي الإطار */
@supports not (color: color-mix(in srgb, red 50%, blue)){
    .rest-body .soc-btn{ box-shadow: inset 0 0 0 1.5px rgba(100, 116, 139, .45); }
}
.rest-body .soc-btn:hover{
    transform: translateY(-2px);
    filter: none;
    background: color-mix(in srgb, currentColor 9%, transparent);
    box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 55%, transparent);
}
.rest-body .soc-btn:active{ transform: translateY(0); }
.rest-body .soc-ico{ width: 1.35rem; height: 1.35rem; }

/* ===== السعر أبرز — وبتناسق =====
   كان الاسم أكبر من السعر في كل التخطيطات (١٦٫٨ مقابل ١٥٫٢px) لأن قاعدة
   التحديث ٣٠ جعلت الاسم هو هدف العين الأول. والمطلوب الآن عكسه: السعر
   هو الأبرز.

   و«بتناسق» تعني ثلاثة قيود لا واحداً:
     ١) درجةٌ واحدة من السلّم فوق الاسم لا قفزة — ١٫١٥rem مقابل ١٫٠٥
        (نسبة ١٫١ وهي نفس نسبة الاسم إلى الوصف)، فيبرز بلا أن يصرخ.
     ٢) **نفس القيمة في التخطيطات الثلاثة** (شبكة · قائمة · تصنيفات)،
        فلا يختلف ترتيب العين بين تخطيط وآخر في المطعم الواحد — وهذا
        العيب نفسه الذي عولج في التحديث ٣٠، فلا نُعيده مقلوباً.
     ٣) أرقام جدوليّة (tabular-nums) فتتحاذى خانات الأسعار رأسياً في
        العمود، ورمز الريال يصغُر قليلاً فلا يطغى على الرقم.

   واللون يبقى `--lx-price` المشتقّ من القالب بضمان التباين، فالبروز
   بالحجم والوزن لا بلونٍ يكسر القالب. */
.rest-body .dish-card-price,
.rest-body .dish-row-meta .u-text-plum,
.rest-body .dish-row-price{
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.01em;
}
.rest-body .dish-card-price .riyal,
.rest-body .dish-row-meta .riyal,
.rest-body .dish-row-price .riyal{ width: .7em; height: .78em; opacity: .9; }

/* الشبكة المضغوطة: درجة أصغر، وتبقى النسبة فوق الاسم نفسها */
.rest-body .rest-grid--compact .dish-card-name{ font-size: .95rem; }
.rest-body .rest-grid--compact .dish-card-price{ font-size: 1.04rem; }

/* شاشة ضيّقة جداً: السعر والزرّ في سطر واحد، فنمنع الالتفاف */
@media (max-width: 22.5rem){
    .rest-body .dish-card-price,
    .rest-body .dish-row-meta .u-text-plum,
    .rest-body .dish-row-price{ font-size: 1.08rem; }
}

/* ===== شعار المطعم بديلاً لصورة الطبق الغائبة =====
   كان السطر بلا صورة صندوقاً فارغاً، والبطاقة رسمةَ شوكةٍ وسكّين عامّة.
   الآن يظهر شعار المطعم خفيفاً — هوية المطعم نفسها لا رسمة محايدة.

   الصورة من `--lx-logo` على <body> (يطبعها restaurant.php مرّة واحدة)،
   و`contain` تمنع قصّ الشعار مهما كانت نسبته، والشفافية تُبقيه خلفيةً
   لا عنصراً يسرق العين. وبلا شعارٍ مرفوع لا يُرسَم شيء — لا مربّع
   فارغ ولا حدّ — فالقاعدة كلّها محميّة بـ@supports على المتغيّر. */
.dish-logo-ghost{
    position: absolute; inset: 0; display: block; pointer-events: none;
    background-image: var(--lx-logo, none);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 52% auto;
    opacity: .14;
    filter: grayscale(1) contrast(.9);
}
/* الرسمة الخطّية تخفت حين يوجد شعار، فلا يتراكب الاثنان */
.rest-body .dish-card-media .dish-logo-ghost ~ *,
.rest-body .dish-card-media:has(.dish-logo-ghost) .dish-card-media-ico{ opacity: .5; }

/* صندوق صورة السطر يصير مرجعاً للتموضع، وتهدأ خلفيته */
.rest-body .dish-row-side{ position: relative; overflow: hidden; }
.rest-body .dish-row-side.is-noimg{
    background: color-mix(in srgb, var(--lx-ink, #0f172a) 4%, var(--lx-surface, #fff));
}
@supports not (color: color-mix(in srgb, red 50%, blue)){
    .rest-body .dish-row-side.is-noimg{ background: rgba(15, 23, 42, .04); }
}
.rest-body .dish-row-side.is-noimg .dish-logo-ghost{ background-size: 62% auto; opacity: .18; }
.rest-body .dish-card-media{ position: relative; }

/* ===== مبدّل العرض: شبكة / قائمة =====
   قرصٌ متحرّك داخل كبسولة، كالمرجع المرفق: الجهة النشطة يغطّيها مقبض
   مصمت وأيقونتها تنقلب إلى لون الخلفية، والأخرى خطّية شفّافة. والمقبض
   يتحرّك بـtransform وحده (لا left/right) فالحركة على الـcompositor.

   وهو عنصر خطّي كبقيّة أيقونات الصفحة: الحدّ واللون من `currentColor`،
   فيتبع القالب وألوان المدير بلا قاعدة خاصّة لكل قالب. */
.rest-findbar{ display: flex; align-items: center; gap: .55rem; }
.rest-findbar .rest-search{ flex: 1 1 auto; min-width: 0; }

.vw-switch{
    position: relative; flex: none; display: inline-flex; align-items: center;
    padding: .22rem; border-radius: 9999px;
    color: var(--lx-ink, #0f172a);
    box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 26%, transparent);
    background: transparent;
}
@supports not (color: color-mix(in srgb, red 50%, blue)){
    .vw-switch{ box-shadow: inset 0 0 0 1.5px rgba(100, 116, 139, .4); }
}
.vw-knob{
    position: absolute; top: .22rem; inset-inline-start: .22rem;
    width: 2.15rem; height: 2.15rem; border-radius: 9999px;
    background: var(--lx-ink, #0f172a);
    transition: transform .22s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none;
}
/* الشبكة هي الزرّ الثاني: يُزاح المقبض بعرض زرّ كامل في اتجاه الكتابة */
.vw-switch[data-view="grid"] .vw-knob{ transform: translateX(-2.15rem); }
[dir="ltr"] .vw-switch[data-view="grid"] .vw-knob{ transform: translateX(2.15rem); }

.vw-btn{
    position: relative; z-index: 1;
    width: 2.15rem; height: 2.15rem; flex: none;
    display: inline-flex; align-items: center; justify-content: center;
    color: inherit; border-radius: 9999px; text-decoration: none;
    transition: color .18s ease, opacity .18s ease;
    opacity: .62;
}
.vw-btn svg{ width: 1.15rem; height: 1.15rem; display: block; }
.vw-btn.is-on{ color: var(--lx-bg, #fff); opacity: 1; }
.vw-btn:not(.is-on):hover{ opacity: 1; }
.vw-btn:focus-visible{ outline: 2px solid currentColor; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce){
    .vw-knob{ transition: none; }
}
@media (max-width: 22.5rem){
    .vw-btn, .vw-knob{ width: 1.95rem; height: 1.95rem; }
    .vw-switch[data-view="grid"] .vw-knob{ transform: translateX(-1.95rem); }
    [dir="ltr"] .vw-switch[data-view="grid"] .vw-knob{ transform: translateX(1.95rem); }
}

/* ===== منتقي خطوط النصّ (هوية الصفحة) =====
   مربّعات متساوية في شبكة auto-fill — نفس قاعدة شريط القوالب، فلا يتمدّد
   المربّع اليتيم في آخر صف. وكل مربّع مكتوبٌ **بخطّه نفسه**، فالاختيار
   يتمّ بالعين لا بقراءة الأسماء. */
.ds-fonts{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(5.4rem, 1fr));
    gap: .45rem;
    margin: .45rem 0 .2rem;
}
.ds-fonts-gap{ margin-top: 1rem; display: block; }

.ds-font{
    position: relative; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: .15rem;
    padding: .6rem .3rem .45rem; cursor: pointer; text-align: center;
    background: #fff; border: 1.5px solid var(--dash-border); border-radius: .7rem;
    transition: border-color .15s ease, box-shadow .15s ease, transform .12s ease;
}
.ds-font input{ position: absolute; opacity: 0; width: 0; height: 0; }
.ds-font:hover{ border-color: #94a3b8; transform: translateY(-1px); }

/* المختار: حدّ الهوية وظلّ خفيف — ولا نعتمد على اللون وحده */
.ds-font.is-on,
.ds-font:has(input:checked){
    border-color: var(--c-plum, #5f0f40);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--c-plum, #5f0f40) 18%, transparent);
}
.ds-font:focus-within{ outline: 2px solid var(--c-plum, #5f0f40); outline-offset: 2px; }

/* العيّنة بخطّ المربّع نفسه */
.ds-font-sample{
    font-family: var(--ff), 'Segoe UI', system-ui, sans-serif;
    font-size: 1.45rem; font-weight: 700; line-height: 1.25;
    color: #0f172a; white-space: nowrap;
}
.ds-font-name{
    font-size: .64rem; font-weight: 700; color: #64748b;
    line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 100%;
}
@media (max-width: 30rem){
    .ds-fonts{ grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr)); }
    .ds-font-sample{ font-size: 1.25rem; }
}

/* ===== شارة الدفع على كرت الطلب =====
   نقطة ملوّنة **ونصّ** معاً: اللون وحده لا يكفي — ثمانية بالمئة من الرجال
   لا يميّزون الأحمر من الأخضر، وشاشة الكاشير كثيراً ما تكون تحت ضوءٍ يغسل
   الألوان. فالنصّ هو المعلومة واللون تسريعٌ لها. */
.order-head-tags{ display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }

.pay-badge{
    display: inline-flex; align-items: center; gap: .3rem;
    padding: .18rem .5rem; border-radius: 9999px;
    font-size: .7rem; font-weight: 800; line-height: 1.5; white-space: nowrap;
}
.pay-dot{ width: .45rem; height: .45rem; border-radius: 9999px; background: currentColor; flex: none; }

/* ١٠٫٤:١ و٧٫٨:١ — فوق حدّ WCAG AA للنصّ الصغير */
.pay-badge--no { color: #9f1239; background: #fff1f2; box-shadow: inset 0 0 0 1px #fecdd3; }
.pay-badge--yes{ color: #065f46; background: #ecfdf5; box-shadow: inset 0 0 0 1px #a7f3d0; }

/* زرّ «تحديد كمدفوع»: مميّز عن أزرار الحالة لأنه إجراءٌ ماليّ لا تشغيليّ،
   وأخضرُ هادئ لا صارخ — الكاشير يراه عشرات المرّات في الساعة. */
.dash-btn--pay{
    background: #065f46; border-color: #065f46; color: #fff;
}
.dash-btn--pay:hover:not(:disabled){ background: #047857; border-color: #047857; }
.dash-btn--pay:focus-visible{ outline: 2px solid #065f46; outline-offset: 2px; }

/* حافة الكرت غير المدفوع: تلميحٌ هادئ لا يزاحم ألوان حالة التحضير */
.order-card:has(.pay-badge--no)::after{
    content: ""; position: absolute; inset-inline-start: 0; top: 18%; bottom: 18%;
    width: 3px; border-radius: 0 3px 3px 0; background: #fb7185; opacity: .55;
}
.order-card{ position: relative; }

/* ===== حقل البحث لا يتمدّد بعرض خطّه =====
   `<input>` له عرضٌ ذاتيّ من سمة `size` الافتراضية (٢٠ حرفاً)، و`flex: 1`
   وحدها لا تسمح له بالانكماش دونه (الحدّ الأدنى للعنصر المرن هو عرضه
   الذاتيّ). فمع خطٍّ عريض كـ«أميري» يصير العرض الذاتيّ أكبر من الشريط،
   فيدفع الصفحة كلّها ٣١px إلى الجانب على جوال ٣٢٠px.

   `min-width: 0` ترفع ذلك الحدّ، و`width: 100%` تجعله يملأ ما بقي لا
   أكثر. وهذا يصحّ لأي خطّ من العشرين، فلا يتعلّق الأمر باختيار المدير. */
.rest-search{ min-width: 0; }
.rest-search input{ min-width: 0; width: 100%; }
