/* ==========================================================================
   V&M Liberis – booking sheet & τιμοκατάλογος
   ========================================================================== */
.vml-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  display:flex;flex-direction:column;justify-content:flex-end;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));
  opacity:0;pointer-events:none;transition:opacity .25s ease}
.vml-overlay.is-open{opacity:1;pointer-events:auto}
.vml-sheet{width:100%;max-width:520px;margin:0 auto;max-height:84vh;border-radius:28px;padding:10px 18px 22px;
  display:flex;flex-direction:column;gap:14px;background:rgba(26,25,23,.92) !important;
  transform:translateY(24px);transition:transform .3s cubic-bezier(.2,.8,.2,1);color:var(--vml-ink)}
.vml-overlay.is-open .vml-sheet{transform:none}
.vml-grab{position:relative;align-self:center;width:116px;height:21px;margin:-4px 0;cursor:grab}
.vml-grab::before{content:"";position:absolute;left:40px;right:40px;top:8px;bottom:8px;border-radius:3px;background:rgba(255,255,255,.3)}
.vml-sheet-head{display:flex;align-items:center;gap:8px}
.vml-sheet-titles{flex:1;min-width:0}
.vml-sheet-titles small{display:block;font-size:13px;color:var(--vml-ink-3)}
.vml-sheet-titles h3{margin:2px 0 0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--vml-ink)}
.vml-icon-btn{width:44px;height:44px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.1);color:var(--vml-ink);cursor:pointer;flex:0 0 44px}
.vml-sheet-body{overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:none}
.vml-sheet-body::-webkit-scrollbar{display:none}

.vml-opt{min-height:64px;padding:14px 4px;border:0;border-top:1px solid rgba(255,255,255,.08);background:none;
  display:flex;align-items:center;gap:12px;text-align:left;text-decoration:none;color:var(--vml-ink);font:inherit;cursor:pointer;width:100%}
.vml-opt:first-child{border-top:0}
.vml-opt .t{flex:1;min-width:0}
.vml-opt b{display:block;font-size:16px;font-weight:600}
.vml-opt span{font-size:13px;color:var(--vml-ink-3)}
.vml-opt.is-featured b::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:3px;background:var(--vml-ink);vertical-align:middle}
.vml-opt:hover,.vml-opt:focus{color:var(--vml-ink)}
.vml-ghost{margin-top:10px;min-height:48px;border-radius:999px;border:1.5px solid var(--vml-white);background:var(--vml-black);color:var(--vml-white);
  display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}
.vml-ghost:hover,.vml-ghost:focus{color:var(--vml-white)}
.vml-primary{margin-top:16px;min-height:54px;border-radius:999px;border:0;background:var(--vml-white);color:var(--vml-black);
  display:flex;align-items:center;justify-content:center;font:inherit;font-size:16px;font-weight:600;cursor:pointer;box-shadow:var(--vml-btn-shadow)}
.vml-note{margin:12px 0 0;font-size:12px;color:var(--vml-ink-3);text-align:center}

.vml-menu h4{margin:18px 0 4px;font-size:13px;font-weight:600;color:var(--vml-ink-3)}
.vml-menu h4:first-child{margin-top:0}
.vml-mrow{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.vml-mrow .t{flex:1;min-width:0}
.vml-mrow b{display:block;font-weight:500;font-size:15px}
.vml-mrow span{font-size:12px;color:var(--vml-ink-3)}
.vml-mrow strong{font-weight:600;font-size:15px;white-space:nowrap}

body.vml-locked{overflow:hidden}

@media (min-width:900px){
  .vml-overlay{justify-content:center;align-items:center}
  .vml-sheet{max-height:80vh}
  .vml-grab{display:none}
}
@media (prefers-reduced-motion: reduce){.vml-overlay,.vml-sheet{transition:none}}
@media (prefers-reduced-transparency: reduce){.vml-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(0,0,0,.7)}.vml-sheet{background:#161513 !important}}
