.vdl-logo{text-align:center}.vdl-logo img{max-width:240px;width:auto;height:auto;max-height:100px;object-fit:contain}.vdl-logo strong{font-size:28px;color:inherit}.vdl-button-wrap{text-align:center;margin:20px 0}.vdl-button{display:inline-block;background:#6741d9!important;color:white!important;border:1px solid #6741d9!important;border-radius:7px;padding:14px 32px;font-weight:700;text-decoration:none}.vdl-button:hover{background:#5330b9!important;border-color:#5330b9!important;color:white!important}.vdl-notice{display:block;text-align:center;padding:14px;color:#555}.vdl-contact{text-align:center;font-size:18px}.vdl-contact a{color:inherit}

/* Only the featured grid is shown; native Restaurant cards, modal and status remain intact. */
.vdl-native-featured .wdi-order-head,.vdl-native-featured .wdi-cats,.vdl-native-featured .wdi-vovrox-credit{display:none!important}
.vdl-native-featured .wdi-order{max-width:none;width:100%;margin:0}
.vdl-native-featured .wdi-products{display:grid;grid-template-columns:repeat(var(--vdl-featured-columns,4),minmax(0,1fr));gap:18px}
.vdl-native-featured .wdi-product{min-width:0}
@media(max-width:800px){.vdl-native-featured .wdi-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vdl-native-featured .wdi-products{grid-template-columns:1fr}}

/* Same native Restaurant card geometry in Elementor preview and on the live page. */
.vdl-native-featured .wdi-products{align-items:stretch!important}
.vdl-native-featured .wdi-product{display:flex!important;flex-direction:column!important;height:100%!important;min-width:0!important}
.vdl-native-featured .wdi-thumb{flex:0 0 auto}
.vdl-native-featured .wdi-product-body{display:flex!important;flex-direction:column!important;flex:1!important;min-height:245px!important;padding:14px!important}
.vdl-native-featured .wdi-product-body h3{line-height:1.18!important;min-height:2.36em!important;max-height:2.36em!important;overflow:hidden!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;margin:0 0 7px!important}
.vdl-native-featured .wdi-food-badges{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;direction:ltr!important;gap:6px!important;min-height:25px!important;margin:0 0 7px!important;flex-wrap:wrap}
.vdl-native-featured .wdi-product-body>p{line-height:1.45!important;min-height:4.35em!important;max-height:4.35em!important;overflow:hidden!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;margin:0 0 12px!important}
.vdl-native-featured .wdi-product-body>div:last-child{margin-top:auto!important;min-height:42px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important}
.vdl-native-featured .wdi-order-open-btn{flex:0 0 auto}
.vdl-native-featured .wdi-order-modal-x{display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:absolute!important;right:14px!important;top:12px!important;z-index:20!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#24212b!important;font-size:26px!important;line-height:1!important;cursor:pointer!important}

/* Map demo location is London Eye until Restaurant location integration is available. */
.vdl-map{width:100%;min-width:0}.vdl-map-frame{display:block;width:100%;height:var(--vdl-map-height,320px);min-height:180px;border:0;border-radius:8px}.vdl-map-directions{display:inline-block;margin-top:12px;border:0;border-radius:6px;background:#6b40bd;color:#fff!important;padding:11px 20px;text-decoration:none;font-weight:600}.vdl-map-directions:hover{filter:brightness(.9)}

/* v0.1.19: self-contained Featured Products layout; no Elementor container tuning. */
.vdl-native-featured{width:100%;max-width:100%;min-width:0;box-sizing:border-box;isolation:isolate}
.vdl-native-featured *, .vdl-native-featured *::before,.vdl-native-featured *::after{box-sizing:border-box}
.vdl-native-featured .wdi-order{display:block!important;min-width:0!important}
.vdl-native-featured .wdi-products{width:100%;min-width:0;max-width:100%;margin:0!important;align-items:stretch!important}
.vdl-native-featured .wdi-product{width:100%;max-width:100%;overflow:hidden;border-radius:12px}
.vdl-native-featured .wdi-thumb{width:100%;overflow:hidden}
.vdl-native-featured .wdi-thumb img{display:block;width:100%;height:190px;object-fit:cover}
.vdl-native-featured .wdi-product-body{box-sizing:border-box}
.vdl-native-featured .wdi-product-body .wdi-order-open-btn{background:#6741d9!important;border-color:#6741d9!important;color:#fff!important;border-radius:7px!important;cursor:pointer}
.vdl-native-featured .wdi-product-body .wdi-order-open-btn:hover{background:#5330b9!important;border-color:#5330b9!important;color:#fff!important}
/* Existing live Restaurant status stays in the ordering root, above the product grid. */
.vdl-native-featured .wdi-order>.wdi-web-status{width:100%;max-width:100%;min-height:0!important;margin:0 0 16px!important;padding:10px 16px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-radius:10px!important;background:#faf8ff!important;border:1px solid #e2d8f3!important;box-shadow:none!important}
.vdl-native-featured .wdi-order>.wdi-web-status[hidden]{display:none!important}
.vdl-native-featured .wdi-web-status-hero{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;gap:9px!important;min-height:0!important;padding:0!important;background:none!important;color:#4e3186!important;flex:0 0 auto!important}
.vdl-native-featured .wdi-web-status-clock{width:30px!important;height:30px!important;min-width:30px!important;background:#ede5fb!important;border:0!important;color:#6741d9!important}
.vdl-native-featured .wdi-web-status-clock svg{width:18px!important;height:18px!important}
.vdl-native-featured .wdi-web-status-title{color:#4e3186!important;font-size:14px!important;line-height:1.3!important}
.vdl-native-featured .wdi-web-status-content{padding:0!important;min-height:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex:1!important;flex-wrap:wrap!important}
.vdl-native-featured .wdi-web-status-message{font-size:12px!important;line-height:1.4!important;margin:0!important}
.vdl-native-featured .wdi-web-status-detail{font-size:11px!important;line-height:1.4!important}
.vdl-native-featured .wdi-web-status-next{border:0!important;padding:0!important;margin:0!important;display:flex!important;flex-direction:row!important;gap:8px!important;font-size:11px!important}
@media(max-width:800px){.vdl-native-featured .wdi-order>.wdi-web-status{align-items:flex-start!important;flex-direction:column!important}.vdl-native-featured .wdi-web-status-content{justify-content:flex-start!important}}
@media(max-width:520px){.vdl-native-featured .wdi-thumb img{height:210px}.vdl-native-featured .wdi-web-status-content{flex-direction:column!important;align-items:flex-start!important;gap:4px!important}}

/* v0.1.20: automatic 3/4/5 product layout, independent of Elementor containers. */
.vdl-native-featured .wdi-products{grid-template-columns:repeat(var(--vdl-featured-columns,4),minmax(0,1fr))!important}
@media(max-width:1100px){.vdl-native-featured .wdi-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:800px){.vdl-native-featured .wdi-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.vdl-native-featured .wdi-products{grid-template-columns:minmax(0,1fr)!important}}

/* v0.1.21: match native Restaurant menu width without requiring Elementor containers. */
.vdl-native-featured{width:100%!important;max-width:975px!important;margin-inline:auto!important}
.vdl-native-featured .wdi-order{width:100%!important;max-width:100%!important;margin-inline:auto!important}
@media(max-width:975px){.vdl-native-featured{max-width:100%!important}}

/* v0.1.23: center the Featured Products widget at native menu width,
   even when an Elementor parent column is narrower. */
.vdl-native-featured{
 width:min(975px, calc(100vw - 32px))!important;
 max-width:none!important;
 position:relative!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 margin-left:0!important;
 margin-right:0!important;
}
@media(min-width:801px){
 .vdl-native-featured .wdi-products{
  grid-template-columns:repeat(var(--vdl-featured-columns,4),minmax(0,1fr))!important;
 }
}
@media(max-width:800px){
 .vdl-native-featured{width:min(100%, calc(100vw - 24px))!important}
}

/* v0.1.24: match Restaurant Menu shell's 1180px outer / 22px side padding.
   The Featured Products widget uses the 1136px content width, independent
   of a narrower Elementor editor column, without changing the page layout. */
.vdl-native-featured{
 width:min(1136px,calc(100vw - 44px))!important;
 max-width:none!important;
 min-width:0!important;
 position:relative!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 margin-left:0!important;
 margin-right:0!important;
 box-sizing:border-box!important;
}
/* Keep the restaurant status together rather than distributing it to the edges. */
.vdl-native-featured .wdi-order>.wdi-web-status:not([hidden]){
 justify-content:center!important;
 gap:6px 12px!important;
 flex-wrap:wrap!important;
 text-align:center!important;
}
.vdl-native-featured .wdi-web-status-hero{
 justify-content:center!important;
 text-align:center!important;
}
.vdl-native-featured .wdi-web-status-content{
 flex:0 1 auto!important;
 width:auto!important;
 justify-content:center!important;
 align-items:center!important;
 text-align:center!important;
 gap:6px!important;
}
@media(max-width:800px){
 .vdl-native-featured{width:min(100%,calc(100vw - 24px))!important;left:auto!important;transform:none!important;margin-inline:auto!important}
 .vdl-native-featured .wdi-order>.wdi-web-status:not([hidden]){align-items:center!important}
 .vdl-native-featured .wdi-web-status-content{width:100%!important;align-items:center!important}
}

/* v0.1.26: do not transform the shortcode wrapper. A transformed ancestor
   changes the containing block for Restaurant's fixed cart shortcut.
   Center the same 1136px width using a calculated margin instead. */
@media(min-width:801px){
 .vdl-native-featured{
  left:auto!important;
  transform:none!important;
  margin-left:calc(50% - min(568px, (100vw - 44px) / 2))!important;
  margin-right:0!important;
 }
}

/* VOVROX Header. The Elementor parent container owns page width and placement.
   No viewport sizing, negative margins, or position overrides. */
.elementor-widget-vdl-header{min-width:0;width:100%}
.elementor-widget-vdl-header .vdl-header-shell{width:100%}
/* Sticky behavior is managed on the Elementor widget wrapper by header-sticky.js. */

.elementor-widget-vdl-header .vdl-header{box-sizing:border-box;width:100%;min-height:96px;padding:12px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:20px;background:#38206B;color:#fff}
.elementor-widget-vdl-header .vdl-header-zone{display:flex;align-items:center;gap:12px;min-width:0}
.elementor-widget-vdl-header .vdl-header-left{justify-content:flex-start}
.elementor-widget-vdl-header .vdl-header-center{justify-content:center}
.elementor-widget-vdl-header .vdl-header-right{justify-content:flex-end;flex-wrap:wrap}
.elementor-widget-vdl-header .vdl-header-brand{min-width:0}
.elementor-widget-vdl-header .vdl-header-brand img.vdl-header-logo{display:block;width:180px;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center}
.elementor-widget-vdl-header a{color:inherit;text-decoration:none}
.elementor-widget-vdl-header a:hover{opacity:.85;color:inherit}
.elementor-widget-vdl-header .vdl-header-menu{display:flex;align-items:center;justify-content:center;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.elementor-widget-vdl-header .vdl-header-menu li{list-style:none;margin:0;padding:0}
.elementor-widget-vdl-header .vdl-header-menu a{color:inherit;white-space:nowrap}
.elementor-widget-vdl-header .vdl-social{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.elementor-widget-vdl-header .vdl-social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;box-sizing:border-box;padding:6px;border:1px solid rgba(255,255,255,.7);border-radius:9px;background:rgba(255,255,255,.12);color:#fff;line-height:1}
.elementor-widget-vdl-header .vdl-social-link svg{display:block;width:20px;height:20px;fill:currentColor}
.elementor-widget-vdl-header .vdl-mobile-menu{display:none}
.elementor-widget-vdl-header .vdl-mobile-menu summary{cursor:pointer;list-style:none;color:inherit}
.elementor-widget-vdl-header .vdl-mobile-menu summary::-webkit-details-marker{display:none}
/* Icon-only mobile navigation; accessible name stays on the summary. */
.elementor-widget-vdl-header .vdl-mobile-menu summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.elementor-widget-vdl-header .vdl-hamburger-icon{display:flex;flex-direction:column;justify-content:center;gap:6px;width:30px;height:30px}
.elementor-widget-vdl-header .vdl-hamburger-icon span{display:block;width:100%;height:3px;border-radius:2px;background:currentColor}

.elementor-widget-vdl-header .vdl-nav-hamburger .vdl-mobile-menu{display:block}
.elementor-widget-vdl-header .vdl-nav-hamburger .vdl-desktop-menu{display:none}
@media(max-width:767px){

 .elementor-widget-vdl-header .vdl-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 16px}
 .elementor-widget-vdl-header .vdl-header-left{grid-column:1;grid-row:1}
 .elementor-widget-vdl-header .vdl-header-center{grid-column:2;grid-row:1;justify-content:flex-end}
 .elementor-widget-vdl-header .vdl-header-right{grid-column:1 / -1;grid-row:2;justify-content:flex-start}
 .elementor-widget-vdl-header .vdl-mobile-menu{display:block}
 .elementor-widget-vdl-header .vdl-desktop-menu{display:none}
 .elementor-widget-vdl-header .vdl-mobile-menu[open] .vdl-header-menu{display:flex;flex-direction:column;align-items:flex-start;margin-top:12px;gap:12px}
}


/* Logo size is its actual rendered width; header minimum height is independent. */
.elementor-widget-vdl-header .vdl-header-brand img.vdl-header-logo{height:auto;max-height:none;max-width:100%;object-fit:contain}

/* VOVROX Hero 0.1.40: stays within its Elementor container. */
.vdl-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:540px;display:flex;align-items:center;justify-content:center;background:#21172c;color:#fff}
.vdl-hero-picture,.vdl-hero-video,.vdl-hero-shade,.vdl-hero-logo-screen{position:absolute;inset:0}
.vdl-hero-picture{z-index:-4}.vdl-hero-picture img{width:100%;height:100%;object-fit:cover;object-position:var(--vdl-hero-position,center);display:block}
.vdl-hero-video{z-index:-3;background:#21172c;opacity:0;transition:opacity .6s ease;overflow:hidden;pointer-events:none}.vdl-hero-video.vdl-is-playing{opacity:1}
/* Player frame is scaled to cover the actual Hero rectangle, not the viewport. */
.vdl-hero-player{position:absolute;inset:0;width:100%;height:100%}
.vdl-hero-video > iframe,.vdl-hero-player iframe{position:absolute!important;top:50%!important;left:50%!important;border:0;transform:translate(-50%,-50%)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important}
.vdl-hero-shade{z-index:-1;background:rgba(0,0,0,var(--vdl-hero-overlay,.4));pointer-events:none}
.vdl-hero-logo-screen{z-index:-2;background:#21172c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .45s ease;pointer-events:none}.vdl-hero-logo-screen.vdl-is-visible{opacity:1;z-index:-2}.vdl-hero-logo-screen img{max-width:min(42%,260px);max-height:65%;width:auto;height:auto;object-fit:contain}
.vdl-hero-content{position:relative;z-index:1;width:100%;max-width:1100px;padding:44px 6%;color:#fff;text-align:center}
.vdl-hero-align-left .vdl-hero-content{text-align:left}.vdl-hero-align-right .vdl-hero-content{text-align:right}
.vdl-hero .vdl-hero-heading{font-size:clamp(30px,5vw,64px);line-height:1.12;font-weight:750;color:#fff;margin:0 0 18px}
.vdl-hero .vdl-hero-subtitle{font-size:clamp(16px,2vw,22px);line-height:1.5;color:#fff;margin:0 0 28px}
.vdl-hero-button{display:inline-block;background:#7645cf;color:#fff!important;padding:13px 27px;border-radius:7px;text-decoration:none;font-weight:650;line-height:1.3}
.vdl-hero-button:hover{background:#5e32b1;color:#fff!important}
.vdl-hero-reveal{animation-duration:var(--vdl-hero-duration,650ms);animation-delay:var(--vdl-delay,0ms);animation-fill-mode:both;animation-timing-function:ease-out}
.vdl-hero-motion-none{animation:none}.vdl-hero-motion-fade{animation-name:vdl-hero-fade}.vdl-hero-motion-left{animation-name:vdl-hero-left}.vdl-hero-motion-right{animation-name:vdl-hero-right}.vdl-hero-motion-down{animation-name:vdl-hero-down}
@keyframes vdl-hero-fade{from{opacity:0}to{opacity:1}}@keyframes vdl-hero-left{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:translateX(0)}}@keyframes vdl-hero-right{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:translateX(0)}}@keyframes vdl-hero-down{from{opacity:0;transform:translateY(-32px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.vdl-hero-reveal{animation:none!important}.vdl-hero-video,.vdl-hero-logo-screen{transition:none!important}}
@media(max-width:767px){.vdl-hero{min-height:380px}.vdl-hero-content{padding:35px 20px}}

/* v0.1.54: Restaurant-owned language flags inside the Header; isolated from theme/Elementor styling. */
.elementor-widget-vdl-header .vdl-header-languages{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;margin:0;padding:0;min-width:0}
.elementor-widget-vdl-header .vdl-header-language-flag{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:32px;min-width:38px;padding:4px 6px;margin:0;border:1px solid rgba(255,255,255,.55);border-radius:7px;background:rgba(255,255,255,.10);color:#fff!important;text-decoration:none!important;font:600 11px/1.1 system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.elementor-widget-vdl-header .vdl-header-language-flag:hover,.elementor-widget-vdl-header .vdl-header-language-flag:focus-visible{background:rgba(255,255,255,.24);border-color:#fff;color:#fff!important}
.elementor-widget-vdl-header .vdl-header-language-flag.active{border-color:#fff;background:rgba(255,255,255,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.elementor-widget-vdl-header .vdl-header-flag-emoji{font-size:19px;line-height:1}
@media(max-width:767px){.elementor-widget-vdl-header .vdl-header-languages{justify-content:flex-start}.elementor-widget-vdl-header .vdl-header-language-flag{min-width:34px;min-height:30px;padding:4px}.elementor-widget-vdl-header .vdl-header-flag-code{display:none}}

/* v0.1.55: independent centered navigation and language group. */
@media(min-width:768px){
 .elementor-widget-vdl-header .vdl-header-main{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}
 .elementor-widget-vdl-header .vdl-header-main .vdl-header-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:28%;justify-content:center}
 .elementor-widget-vdl-header .vdl-header-main .vdl-header-right{grid-column:3;justify-content:flex-end;flex-wrap:nowrap}
 .elementor-widget-vdl-header .vdl-desktop-language-slot{position:absolute;left:75%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:24%;z-index:2}
 .elementor-widget-vdl-header .vdl-desktop-language-slot .vdl-header-languages{justify-content:center}
 .elementor-widget-vdl-header .vdl-mobile-language-slot{display:none}
}
@media(max-width:767px){
 .elementor-widget-vdl-header .vdl-desktop-language-slot{display:none}
 .elementor-widget-vdl-header .vdl-mobile-language-slot{display:none}
 .elementor-widget-vdl-header .vdl-mobile-menu[open] .vdl-mobile-language-slot{display:block;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.3)}
 .elementor-widget-vdl-header .vdl-mobile-menu[open] .vdl-mobile-language-slot .vdl-header-languages{justify-content:center}
}
@media(min-width:768px) and (max-width:1100px){
 .elementor-widget-vdl-header .vdl-header-main .vdl-header-center{max-width:23%}
 .elementor-widget-vdl-header .vdl-desktop-language-slot{max-width:20%}
}

/* v0.1.56: flags-only language controls, same centered groups on desktop and mobile. */
.elementor-widget-vdl-header .vdl-header-language-flag{min-width:34px;padding:4px 6px;gap:0}
.elementor-widget-vdl-header .vdl-header-flag-code{display:none}

/* v0.1.59 compact footer */
.vdl-footer{background:#38206B;color:#fff;width:100%;font-size:13px}
.vdl-footer-inner{max-width:1136px;margin:auto;padding:20px 24px 16px}
.vdl-footer-top,.vdl-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.vdl-footer-top strong{font-size:16px;color:inherit}
.vdl-footer-links{display:flex;gap:20px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.vdl-footer-links li{list-style:none;margin:0;padding:0}
.vdl-footer a{color:inherit;text-decoration:none}
.vdl-footer a:hover,.vdl-footer a:focus{color:#e6d9ff;text-decoration:underline}
.vdl-footer-bottom{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;opacity:.88}
@media(max-width:600px){.vdl-footer-top,.vdl-footer-bottom,.vdl-footer-links{justify-content:center;text-align:center}.vdl-footer-inner{padding:20px 16px}}
