/* Vincent's Core — styles for the shortcodes + tiny global helpers.
   Colours use the Elementor Global Colours (Kleurenwaaier 2027) with fallbacks. */
:root{
  --vc-ivory:var(--e-global-color-vivory,#E6D8BB);
  --vc-ochre:var(--e-global-color-vochre,#BE9348);
  --vc-cognac:var(--e-global-color-vcognac,#9B5A34);
  --vc-choco:var(--e-global-color-vchoco,#493027);
  --vc-olive:var(--e-global-color-volive,#414D35);
  --vc-bordeaux:var(--e-global-color-vbordeaux,#6B3038);
  --vc-bg:var(--e-global-color-vbg,#21160F);
  --vc-paper:var(--e-global-color-vpaper,#F1E9D8);
  --vc-line:rgba(190,147,72,.25);
  --vc-serif:var(--e-global-typography-primary-font-family,"Playfair Display"),Georgia,serif;
  --vc-sans:var(--e-global-typography-text-font-family,"Jost"),system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* <em> inside any heading = gold italic accent */
.elementor-heading-title em,.vc-gold em{font-style:italic;color:var(--vc-ochre)}
/* Eyebrow line (add CSS class "vc-eyebrow" to a Heading widget) */
.vc-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:14px}
.vc-eyebrow .elementor-heading-title::before{content:"";width:36px;height:1px;background:currentColor;flex:none}
.vc-eyebrow.vc-center .elementor-heading-title::before{display:none}
/* Image zoom on hover (CSS class "vc-zoom" on an Image widget) */
.vc-zoom .elementor-widget-container{overflow:hidden}
.vc-zoom img{transition:transform 1.2s ease}
.vc-zoom:hover img{transform:scale(1.05)}
/* Header gets a background after scrolling (CSS class "vc-header" on header container) */
.vc-header{transition:background .4s,padding .4s}
.vc-header.vc-scrolled{background:rgba(33,22,15,.94)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* live dot (CSS class "vc-live" on a heading/text widget) */
.vc-live .elementor-widget-container,.vc-live .elementor-heading-title{display:flex;align-items:center;gap:14px}
.vc-live .elementor-heading-title::before,.vc-live .elementor-widget-container>p:first-child::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--vc-bordeaux);outline:1px solid rgba(230,216,187,.4);outline-offset:2px;animation:vcpulse 2s infinite}
@keyframes vcpulse{0%{box-shadow:0 0 0 0 rgba(107,48,56,.8)}70%{box-shadow:0 0 0 12px rgba(107,48,56,0)}100%{box-shadow:0 0 0 0 rgba(107,48,56,0)}}

/* Buttons used inside shortcodes */
.vc-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;font-family:var(--vc-sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:1px solid var(--vc-ochre);color:var(--vc-ivory);background:transparent;cursor:pointer;transition:.3s;text-decoration:none;line-height:1.3}
.vc-btn:hover{background:var(--vc-ochre);color:var(--vc-bg)}
.vc-btn-solid{background:var(--vc-ochre);color:var(--vc-bg)}
.vc-btn-solid:hover{background:var(--vc-cognac);border-color:var(--vc-cognac);color:var(--vc-ivory)}

/* ============ MENU ============ */
.vc-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:22px;border-bottom:1px solid var(--vc-line);-webkit-overflow-scrolling:touch}
.vc-tabs::-webkit-scrollbar{display:none}
.vc-tab{flex:none;background:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:rgba(230,216,187,.72)!important;font-family:var(--vc-sans);font-size:.74rem!important;font-weight:400!important;letter-spacing:.2em;text-transform:uppercase;padding:14px 16px!important;cursor:pointer;margin-bottom:-1px;transition:color .2s}
.vc-tab:hover,.vc-tab:focus{color:var(--vc-ivory)!important}
.vc-tab.active{color:var(--vc-ochre)!important;border-bottom-color:var(--vc-ochre)!important}
.vc-menu-card{background:var(--vc-paper);color:var(--vc-choco);padding:44px 48px 40px;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.vc-panel{display:none}
.vc-panel.active{display:block;animation:vcfade .45s}
@keyframes vcfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vc-cat{font-family:var(--vc-serif)!important;font-weight:400!important;font-size:clamp(1.8rem,3vw,2.3rem)!important;color:var(--vc-choco)!important;margin:0 0 6px!important;line-height:1.15!important}
.vc-cat-note{font-family:var(--vc-sans);font-size:.82rem;color:rgba(73,48,39,.6);margin:0 0 10px}
.vc-rule{height:1px;background:rgba(155,90,52,.3);margin:14px 0 6px}
.vc-dish{padding:13px 0}
.vc-dish-top{display:flex;align-items:baseline;gap:10px}
.vc-dish h4{font-family:var(--vc-serif)!important;font-size:1.18rem!important;color:var(--vc-choco)!important;font-weight:500!important;line-height:1.3!important;margin:0!important;letter-spacing:0!important;text-transform:none!important}
.vc-dots{flex:1;min-width:20px;border-bottom:1.5px dotted rgba(73,48,39,.28);transform:translateY(-4px)}
.vc-price{font-family:var(--vc-sans);font-size:.74rem;font-weight:400;letter-spacing:.04em;color:rgba(73,48,39,.42);white-space:nowrap}
.vc-dish p{font-family:var(--vc-sans);font-size:.84rem;color:rgba(73,48,39,.62);line-height:1.5;margin:3px 0 0}
.vc-badge{display:inline-block;font-family:var(--vc-sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vc-bordeaux);border:1px solid rgba(107,48,56,.4);padding:1px 7px;margin-left:8px;vertical-align:middle;border-radius:20px;font-weight:400}
.vc-empty{color:rgba(73,48,39,.7);padding:12px 0;margin:0}
.vc-note{font-family:var(--vc-sans);font-size:.76rem;color:rgba(230,216,187,.45);margin-top:18px}

/* ============ JAZZ ============ */
.vc-schedule{border-top:1px solid var(--vc-line)}
.vc-gig{display:grid;grid-template-columns:90px 1fr auto;gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid var(--vc-line);color:var(--vc-ivory)}
.vc-gig-date{font-family:var(--vc-serif);line-height:1}
.vc-gig-date b{display:block;font-size:2rem;font-weight:400;color:var(--vc-ochre)}
.vc-gig-date span{font-family:var(--vc-sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(230,216,187,.72)}
.vc-gig h4{font-family:var(--vc-serif)!important;font-size:1.4rem!important;font-weight:400!important;color:var(--vc-ivory)!important;margin:0 0 4px!important}
.vc-gig p{font-family:var(--vc-sans);font-size:.88rem;color:rgba(230,216,187,.72);margin:0}

/* ============ RESERVATION ============ */
.vc-res{color:var(--vc-ivory);font-family:var(--vc-sans)}
.vc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vc-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.vc-field.full{grid-column:1/-1}
.vc-field label,.vc-lbl{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--vc-ochre);font-weight:400}
.vc-res input,.vc-res select{width:100%;background:transparent!important;border:1px solid rgba(230,216,187,.22)!important;color:var(--vc-ivory)!important;padding:14px!important;font-family:var(--vc-sans);font-size:1rem;font-weight:300;border-radius:0!important;-webkit-appearance:none;appearance:none;min-height:50px;box-shadow:none!important}
.vc-res input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--vc-bg) inset!important;-webkit-text-fill-color:var(--vc-ivory)!important}
.vc-res input::placeholder{color:rgba(230,216,187,.4)}
.vc-res input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85)}
.vc-res select option{background:var(--vc-bg)}
.vc-res input:focus,.vc-res select:focus{outline:none;border-color:var(--vc-ochre)!important}
.vc-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.vc-times{display:none;flex-wrap:wrap;gap:8px}
.vc-times.on{display:flex}
.vc-slot{padding:10px 14px!important;border:1px solid rgba(230,216,187,.22)!important;font-size:.85rem!important;cursor:pointer;background:none!important;color:var(--vc-ivory)!important;font-family:var(--vc-sans);font-weight:400!important;min-height:42px;border-radius:0!important;line-height:1.3;text-transform:none!important;letter-spacing:0!important}
.vc-slot small{display:block;font-size:.68rem;opacity:.75;margin-top:2px}
.vc-slot:hover{border-color:var(--vc-ochre)!important}
.vc-slot.on{background:var(--vc-ochre)!important;color:var(--vc-bg)!important;border-color:var(--vc-ochre)!important}
.vc-submit{width:100%;margin-top:24px;padding:16px 20px;font-size:.78rem}
.vc-res-note{font-size:.82rem;color:rgba(230,216,187,.72);margin-top:18px}
.vc-confirm{display:none;padding:18px 22px;border:1px solid var(--vc-ochre);margin-top:24px;background:rgba(190,147,72,.08)}
.vc-confirm.show{display:block;animation:vcfade .5s}

@media (max-width:767px){
  .vc-menu-card{padding:28px 18px 24px}
  .vc-dish{padding:11px 0}
  .vc-dish h4{font-size:1.05rem!important}
  .vc-price{font-size:.7rem}
  .vc-dish p{font-size:.8rem}
  .vc-gig{grid-template-columns:64px 1fr;gap:14px}
  .vc-gig .vc-btn{grid-column:1/-1}
  .vc-grid{grid-template-columns:1fr}
}
@media (max-width:380px){
  .vc-dish-top{flex-wrap:wrap}
  .vc-dots{display:none}
  .vc-price{flex-basis:100%;order:3}
}
/* keep fixed header below the WP admin bar when logged in */
.admin-bar .vc-header{top:32px!important}
@media (max-width:782px){.admin-bar .vc-header{top:46px!important}}
/* nicer focus + dropdown menu full screen on tablet/mobile */
.vc-header .elementor-nav-menu--dropdown{border-top:1px solid rgba(190,147,72,.25)}
@media (max-width:767px){.vc-pick{grid-template-columns:repeat(3,1fr)}.vc-slot{padding:10px 8px!important}}

/* ===== Menu tabs = swipeable slider on tablet / phone ===== */
.vc-tabs-wrap{position:relative;margin-bottom:22px}
.vc-tabs-wrap .vc-tabs{margin-bottom:0;scroll-snap-type:x proximity;scroll-behavior:smooth;cursor:grab;scroll-padding:0 44px}
.vc-tabs-wrap .vc-tabs.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.vc-tabs-wrap .vc-tab{scroll-snap-align:start;user-select:none;-webkit-user-select:none}
.vc-tabs-wrap::before,.vc-tabs-wrap::after{content:"";position:absolute;top:0;bottom:1px;width:64px;pointer-events:none;opacity:0;transition:opacity .25s;z-index:1}
.vc-tabs-wrap::before{left:0;background:linear-gradient(90deg,var(--vc-bg) 35%,rgba(33,22,15,0))}
.vc-tabs-wrap::after{right:0;background:linear-gradient(270deg,var(--vc-bg) 35%,rgba(33,22,15,0))}
.vc-tabs-wrap.can-left::before,.vc-tabs-wrap.can-right::after{opacity:1}
.vc-tabs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px!important;height:34px!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(190,147,72,.45)!important;background:var(--vc-bg)!important;color:var(--vc-ochre)!important;font-size:22px!important;line-height:30px!important;cursor:pointer;display:none;align-items:center;justify-content:center;font-family:var(--vc-sans)}
.vc-tabs-arrow:hover{background:var(--vc-ochre)!important;color:var(--vc-bg)!important}
.vc-prev{left:0}.vc-next{right:0}
.vc-tabs-wrap.can-left .vc-prev,.vc-tabs-wrap.can-right .vc-next{display:flex}
/* arrow icon perfectly centred */
.vc-tabs-arrow{font-size:0!important;line-height:0!important;box-sizing:border-box!important}
.vc-tabs-arrow svg{display:block;width:14px;height:14px;flex:none;margin:0}

/* ===== Food / Drinks switch ===== */
.vc-switch{display:flex;justify-content:center;gap:0;margin:0 auto 34px;border:1px solid rgba(190,147,72,.45);width:max-content;max-width:100%;border-radius:40px;padding:4px}
.vc-switch-btn{background:none!important;border:0!important;border-radius:40px!important;color:rgba(230,216,187,.75)!important;font-family:var(--vc-serif)!important;font-size:1.25rem!important;font-weight:400!important;letter-spacing:.02em!important;text-transform:none!important;padding:10px 34px!important;cursor:pointer;transition:background .25s,color .25s;line-height:1.2!important}
.vc-switch-btn:hover{color:var(--vc-ivory)!important}
.vc-switch-btn.active{background:var(--vc-ochre)!important;color:var(--vc-bg)!important}
.vc-group{display:none}
.vc-group.active{display:block;animation:vcfade .45s}
/* Section titles inside a tab */
.vc-sub{display:flex!important;align-items:center;gap:14px;margin:30px 0 4px!important;font-family:var(--vc-sans)!important;font-size:.72rem!important;font-weight:500!important;letter-spacing:.26em!important;text-transform:uppercase!important;color:var(--vc-cognac)!important;line-height:1.4!important}
.vc-sub::before,.vc-sub::after{content:"";flex:1;height:1px;background:rgba(155,90,52,.28)}
.vc-rule+.vc-sub{margin-top:18px!important}
.vc-sub-note{font-family:var(--vc-sans);font-size:.78rem;color:rgba(73,48,39,.55);text-align:center;margin:0 0 6px}
.vc-badge-vegan{color:var(--vc-olive);border-color:rgba(65,77,53,.45)}
.vc-badge-veg{color:var(--vc-olive);border-color:rgba(65,77,53,.35)}
.vc-badge-new{color:var(--vc-cognac);border-color:rgba(155,90,52,.45)}
@media (max-width:767px){
  .vc-switch{margin-bottom:26px}
  .vc-switch-btn{font-size:1.05rem!important;padding:9px 26px!important}
  .vc-sub{font-size:.66rem!important;letter-spacing:.2em!important;margin-top:24px!important}
}


/* =====================================================================
   v1.3 (Oct 2026)
   ===================================================================== */

/* Hover only where something is clickable */
.vc-zoom:hover img{transform:none}
a:hover .vc-zoom img,.vc-zoom a:hover img,a.e-con:hover .vc-zoom img{transform:scale(1.05)}

/* Breathing room between stacked widgets (explicit Elementor spacing still wins) */
.elementor-widget-text-editor p:last-child{margin-bottom:0}
:where(.e-con,.e-con-inner)>.elementor-widget-heading+.elementor-widget-text-editor{margin-top:18px}
:where(.e-con,.e-con-inner)>.elementor-widget-text-editor+.elementor-widget-heading{margin-top:16px}
:where(.e-con,.e-con-inner)>.elementor-widget-text-editor+.elementor-widget-button,
:where(.e-con,.e-con-inner)>.elementor-widget-text-editor+.e-con{margin-top:36px}

/* ---------- Spaces slider [vincents_spaces_slider] ---------- */
.vc-ss{--cw:210px;--ch:290px;--cg:20px;--edge:max(24px,calc((100% - 1192px) / 2));--cb:64px;--ease:cubic-bezier(.7,0,.25,1);
  position:relative;min-height:max(660px,96vh);overflow:hidden;background:var(--vc-bg);color:var(--vc-ivory);isolation:isolate}
.vc-ss-stage{position:absolute;inset:0}
.vc-ss-item{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;border-radius:0;overflow:hidden;
  transition:top .85s var(--ease),left .85s var(--ease),width .85s var(--ease),height .85s var(--ease),border-radius .85s var(--ease),opacity .6s ease,box-shadow .85s ease}
.vc-ss-item::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;transition:opacity .7s ease;
  background:linear-gradient(90deg,rgba(33,22,15,.95) 0%,rgba(33,22,15,.78) 38%,rgba(33,22,15,.3) 72%,rgba(33,22,15,.45) 100%),linear-gradient(0deg,rgba(33,22,15,.85) 0%,rgba(33,22,15,0) 35%)}
.vc-ss-item::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s ease;background:linear-gradient(0deg,rgba(20,13,9,.92) 0%,rgba(20,13,9,.15) 60%,rgba(20,13,9,.05) 100%)}
.vc-ss-item[data-pos="0"]{z-index:2}
.vc-ss-item[data-pos="prev"]{z-index:1}
.vc-ss-item[data-pos="1"],.vc-ss-item[data-pos="2"]{z-index:4;top:calc(100% - var(--cb) - var(--ch));width:var(--cw);height:var(--ch);border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.vc-ss-item[data-pos="1"]{left:calc(100% - var(--edge) - var(--cw) * 2 - var(--cg))}
.vc-ss-item[data-pos="2"]{left:calc(100% - var(--edge) - var(--cw))}
.vc-ss-item[data-pos="3"],.vc-ss-item[data-pos="4"],.vc-ss-item[data-pos="5"]{z-index:3;top:calc(100% - var(--cb) - var(--ch));left:calc(100% + 40px);width:var(--cw);height:var(--ch);border-radius:14px;opacity:0}
.vc-ss-item[data-pos="1"]::before,.vc-ss-item[data-pos="2"]::before{opacity:0}
.vc-ss-item[data-pos="1"]::after,.vc-ss-item[data-pos="2"]::after{opacity:1}
.vc-ss-item.vc-ss-reset{transition:none!important;opacity:0}

.vc-ss-card{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:20px 20px 22px;margin:0;
  background:none!important;border:1px solid rgba(190,147,72,.35)!important;border-radius:inherit!important;color:var(--vc-ivory)!important;text-align:left;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s ease .3s,border-color .3s ease;box-shadow:none!important}
.vc-ss-item[data-pos="1"] .vc-ss-card,.vc-ss-item[data-pos="2"] .vc-ss-card{opacity:1;pointer-events:auto}
.vc-ss-card:hover,.vc-ss-card:focus-visible{border-color:var(--vc-ochre)!important;outline:none}
.vc-ss-card small{font-family:var(--vc-sans);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--vc-ochre);line-height:1.4}
.vc-ss-card b{font-family:var(--vc-serif);font-weight:400;font-size:1.3rem;line-height:1.2;color:var(--vc-ivory)}

.vc-ss-content{position:absolute;inset:0;z-index:1;display:flex;align-items:center;padding:150px var(--edge) 170px;visibility:hidden;pointer-events:none}
.vc-ss-item.is-active .vc-ss-content{visibility:visible;pointer-events:auto}
.vc-ss-inner{max-width:610px}
.vc-ss-inner>*{opacity:0}
.vc-ss-item.is-active .vc-ss-inner>*{animation:vcSsIn 1s cubic-bezier(.2,.7,.2,1) both}
.vc-ss-item.is-active .vc-ss-inner>:nth-child(1){animation-delay:.35s}
.vc-ss-item.is-active .vc-ss-inner>:nth-child(2){animation-delay:.5s}
.vc-ss-item.is-active .vc-ss-inner>:nth-child(3){animation-delay:.65s}
.vc-ss-item.is-active .vc-ss-inner>:nth-child(4){animation-delay:.8s}
@keyframes vcSsIn{from{opacity:0;transform:translateY(48px);filter:blur(14px)}to{opacity:1;transform:none;filter:blur(0)}}

.vc-ss-eyebrow{display:inline-flex;align-items:center;gap:14px;margin:0 0 28px;font-family:var(--vc-sans);font-size:.76rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--vc-ochre)}
.vc-ss-eyebrow::before{content:"";width:36px;height:1px;background:currentColor}
.vc-ss .vc-ss-title{margin:0 0 28px;font-family:var(--vc-serif);font-weight:400;font-size:clamp(2.5rem,5.1vw,5rem);line-height:1.08;letter-spacing:-.005em;color:var(--vc-ivory)}
.vc-ss-title em{font-style:italic;color:var(--vc-ochre)}
.vc-ss-text{margin:0 0 42px;max-width:540px;font-family:var(--vc-sans);font-size:1.06rem;font-weight:300;line-height:1.85;color:rgba(230,216,187,.78)}
.vc-ss-btn{display:inline-block;padding:19px 36px;background:var(--vc-ochre);color:var(--vc-bg)!important;font-family:var(--vc-sans);font-size:.76rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;text-decoration:none!important;transition:background .3s ease,color .3s ease}
.vc-ss-btn:hover,.vc-ss-btn:focus-visible{background:var(--vc-cognac);color:var(--vc-ivory)!important}

.vc-ss-nav{position:absolute;left:0;right:0;bottom:var(--cb);z-index:5;pointer-events:none}
.vc-ss-nav-in{display:flex;align-items:center;gap:18px;padding:0 var(--edge)}
.vc-ss-nav button{pointer-events:auto;width:50px;height:50px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;
  background:rgba(33,22,15,.35)!important;border:1px solid rgba(230,216,187,.35)!important;color:var(--vc-ivory)!important;cursor:pointer;transition:background .3s,border-color .3s,color .3s,transform .3s;box-shadow:none!important}
.vc-ss-nav button:hover,.vc-ss-nav button:focus-visible{background:var(--vc-ochre)!important;border-color:var(--vc-ochre)!important;color:var(--vc-bg)!important;transform:scale(1.06);outline:none}
.vc-ss-count{font-family:var(--vc-serif);font-size:1.05rem;color:rgba(230,216,187,.55);min-width:62px;text-align:center}
.vc-ss-count b{font-weight:400;color:var(--vc-ivory)}
.vc-ss-bar{position:relative;width:120px;height:1px;margin-left:8px;background:rgba(230,216,187,.22);overflow:hidden}
.vc-ss-bar i{position:absolute;inset:0;background:var(--vc-ochre);transform:scaleX(0);transform-origin:left}

@media (max-width:1199px){.vc-ss{--cw:170px;--ch:236px;--cg:16px}.vc-ss-inner{max-width:540px}}
@media (max-width:1024px){.vc-ss-content{padding-bottom:330px;align-items:flex-end}.vc-ss-inner{max-width:640px}}
@media (max-width:767px){
  .vc-ss{--edge:20px;--cb:34px;min-height:max(600px,92vh)}
  .vc-ss-item[data-pos="1"],.vc-ss-item[data-pos="2"]{left:calc(100% + 40px);opacity:0}
  .vc-ss-content{padding:130px 20px 120px;align-items:center}
  .vc-ss-eyebrow{margin-bottom:22px}
  .vc-ss .vc-ss-title{font-size:clamp(2.2rem,9vw,3rem);margin-bottom:22px}
  .vc-ss-text{font-size:1rem;margin-bottom:34px}
  .vc-ss-bar{flex:1;max-width:none}
}
@media (prefers-reduced-motion:reduce){.vc-ss-item,.vc-ss-card{transition:none!important}.vc-ss-item.is-active .vc-ss-inner>*{animation:none;opacity:1}}

/* ---------- Gallery (Basic Gallery widget with CSS class "vc-gallery") ---------- */
.vc-gallery .gallery{display:block!important;columns:3 300px;column-gap:20px;margin:0!important}
.vc-gallery .gallery-item{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 20px!important;padding:0!important;break-inside:avoid}
.vc-gallery .gallery-icon a{display:block;overflow:hidden;border-radius:4px}
.vc-gallery .gallery img{display:block;width:100%!important;height:auto!important;border:0!important;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.vc-gallery .gallery-icon a:hover img{transform:scale(1.04);filter:brightness(1.08)}
.vc-gallery .gallery br{display:none}
@media (max-width:767px){.vc-gallery .gallery{columns:2 140px;column-gap:12px}.vc-gallery .gallery-item{margin-bottom:12px!important}}

/* ---------- Concierge chat ---------- */
.vc-chat{--bot-b:24px;position:fixed;right:24px;bottom:calc(var(--bot-b) + var(--vc-mbar,0px));z-index:9990;font-family:var(--vc-sans)}
.vc-chat-fab{display:flex;align-items:center;gap:12px;height:58px;padding:0 22px 0 8px;border:0!important;border-radius:999px!important;background:var(--vc-ochre)!important;color:var(--vc-bg)!important;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.4)!important;transition:transform .3s ease,background .3s ease}
.vc-chat-fab:hover,.vc-chat-fab:focus-visible{background:#cfa55a!important;transform:translateY(-2px);outline:none}
.vc-chat-fab .vc-chat-ava{width:42px;height:42px;font-size:1.25rem;background:var(--vc-bg);color:var(--vc-ochre)}
.vc-chat-fab span{font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.vc-chat.open .vc-chat-fab{transform:scale(.9);opacity:0;pointer-events:none}
.vc-chat-ava{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;font-family:var(--vc-serif);font-style:italic}
.vc-chat-panel{position:absolute;right:0;bottom:0;width:380px;max-width:calc(100vw - 32px);height:min(600px,calc(100vh - 120px));display:flex;flex-direction:column;
  background:var(--vc-bg);border:1px solid var(--vc-line);border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.55);overflow:hidden;
  opacity:0;transform:translateY(16px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.vc-chat.open .vc-chat-panel{opacity:1;transform:none;pointer-events:auto}
.vc-chat-head{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;background:var(--vc-choco);border-bottom:1px solid var(--vc-line)}
.vc-chat-head .vc-chat-ava{width:40px;height:40px;font-size:1.2rem;background:var(--vc-ochre);color:var(--vc-bg)}
.vc-chat-head b{display:block;font-family:var(--vc-serif);font-weight:400;font-size:1.08rem;color:var(--vc-ivory);line-height:1.2}
.vc-chat-head small{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:.74rem;color:rgba(230,216,187,.62)}
.vc-chat-head small::before{content:"";width:7px;height:7px;border-radius:50%;background:#7fb069}
.vc-chat-x{margin-left:auto;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;background:transparent!important;border:1px solid transparent!important;color:var(--vc-ivory)!important;cursor:pointer}
.vc-chat-x:hover,.vc-chat-x:focus-visible{border-color:var(--vc-line)!important;outline:none}
.vc-chat-log{flex:1;overflow-y:auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--vc-choco) transparent}
.vc-msg{max-width:86%;padding:12px 15px;border-radius:16px;font-size:.92rem;line-height:1.6;word-wrap:break-word}
.vc-msg p{margin:0}.vc-msg p+p{margin-top:8px}
.vc-msg.bot{align-self:flex-start;background:var(--vc-choco);color:var(--vc-ivory);border-bottom-left-radius:4px}
.vc-msg.me{align-self:flex-end;background:var(--vc-ochre);color:var(--vc-bg);border-bottom-right-radius:4px}
.vc-msg a{color:var(--vc-ochre);text-decoration:underline;text-underline-offset:3px}
.vc-msg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vc-msg-actions a{display:inline-block;padding:8px 14px;border:1px solid var(--vc-ochre);border-radius:999px;color:var(--vc-ochre)!important;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important;transition:background .25s,color .25s}
.vc-msg-actions a:hover{background:var(--vc-ochre);color:var(--vc-bg)!important}
.vc-typing{display:inline-flex;gap:5px;align-items:center;padding:16px 16px}
.vc-typing i{width:6px;height:6px;border-radius:50%;background:rgba(230,216,187,.6);animation:vcDot 1.2s infinite ease-in-out}
.vc-typing i:nth-child(2){animation-delay:.15s}.vc-typing i:nth-child(3){animation-delay:.3s}
@keyframes vcDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.vc-chips{display:flex;gap:8px;overflow-x:auto;padding:10px 16px 12px;scrollbar-width:none}
.vc-chips::-webkit-scrollbar{display:none}
.vc-chip{flex:none;padding:8px 14px;border-radius:999px!important;border:1px solid var(--vc-line)!important;background:transparent!important;color:rgba(230,216,187,.85)!important;font-family:var(--vc-sans);font-size:.8rem;cursor:pointer;white-space:nowrap;transition:border-color .25s,color .25s}
.vc-chip:hover,.vc-chip:focus-visible{border-color:var(--vc-ochre)!important;color:var(--vc-ochre)!important;outline:none}
.vc-chat-form{display:flex;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--vc-line)}
.vc-chat-form input{flex:1;min-width:0;height:46px;padding:0 16px;border-radius:999px!important;border:1px solid var(--vc-line)!important;background:rgba(230,216,187,.06)!important;color:var(--vc-ivory)!important;font-family:var(--vc-sans);font-size:.92rem;outline:none}
.vc-chat-form input::placeholder{color:rgba(230,216,187,.45)}
.vc-chat-form input:focus{border-color:var(--vc-ochre)!important}
.vc-chat-form button{width:46px;height:46px;flex:none;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;border:0!important;background:var(--vc-ochre)!important;color:var(--vc-bg)!important;cursor:pointer}
.vc-chat-form button:hover,.vc-chat-form button:focus-visible{background:#cfa55a!important;outline:none}
.vc-chat-foot{padding:0 16px 12px;font-size:.72rem;color:rgba(230,216,187,.45);text-align:center}
.vc-chat-foot a{color:rgba(230,216,187,.75);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){
  .vc-chat{right:16px;--bot-b:16px}
  .vc-chat-fab{height:54px;padding:0 6px}
  .vc-chat-fab span{display:none}
  .vc-chat.open{left:0;right:0;bottom:0}
  .vc-chat-panel{position:fixed;left:0;right:0;bottom:0;width:100%;max-width:100%;height:min(88vh,640px);border-radius:18px 18px 0 0}
}

/* v1.3 slider tuning */
.vc-ss{min-height:max(700px,100vh);--ch:min(290px,36vh);--cw:min(210px,26vh)}
.vc-ss .vc-ss-title{font-size:clamp(2.4rem,min(4.6vw,7.4vh),4.6rem)}
.vc-ss-content{padding-top:max(130px,17vh);padding-bottom:max(150px,19vh)}
.vc-ss-card b,.vc-ss-card small{text-transform:none;letter-spacing:0;white-space:normal}
.vc-ss-card small{text-transform:uppercase;letter-spacing:.22em}
.vc-ss-card b{font-size:1.25rem}
@media (max-width:1199px){.vc-ss{--cw:min(170px,22vh);--ch:min(236px,30vh)}}
@media (max-width:767px){.vc-ss{min-height:max(620px,100svh)}.vc-ss-content{padding:120px 20px 120px}.vc-ss .vc-ss-title{font-size:clamp(2.1rem,9vw,2.9rem)}}

:where(.e-con,.e-con-inner)>.elementor-widget-heading:has(h2)+.elementor-widget-text-editor{margin-top:24px}
:where(.e-con,.e-con-inner)>.elementor-widget-text-editor+.elementor-widget-button,
:where(.e-con,.e-con-inner)>.elementor-widget-text-editor+.e-con{margin-top:40px}

/* Header dropdowns (The Garden, About Us) */
.elementor-nav-menu--main .sub-menu{background:#161210!important;border:1px solid rgba(190,147,72,.16)!important;border-radius:10px!important;padding:10px 0!important;min-width:240px!important;box-shadow:0 20px 44px rgba(0,0,0,.5)!important;overflow:hidden}
.elementor-nav-menu--main .sub-menu a.elementor-sub-item{font-family:var(--vc-sans)!important;font-size:.95rem!important;font-weight:400!important;text-transform:none!important;letter-spacing:.01em!important;line-height:1.4!important;color:rgba(230,216,187,.86)!important;padding:13px 26px!important;background:transparent!important;border:0!important}
.elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,.elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus,.elementor-nav-menu--main .sub-menu a.elementor-sub-item.highlighted{color:var(--vc-ochre)!important;background:rgba(190,147,72,.08)!important}

.vc-chip,.vc-chat-fab span{font-weight:400!important}
.vc-chip{text-transform:none!important;letter-spacing:0!important;line-height:1.3!important}
.vc-chat-form input:focus,.vc-chat-form input:focus-visible{outline:none!important;box-shadow:none!important}

@media (max-width:767px){.vc-ss{--cb:96px}.vc-ss-content{padding-bottom:180px}.vc-ss-nav-in{padding-right:90px}}


/* ---------- v1.4 language switcher ---------- */
.vc-lang{position:relative;flex:none;align-self:center;margin:0 6px 0 4px;font-family:var(--vc-sans);z-index:20}
.vc-lang-btn{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 10px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--vc-ivory)!important;font-family:var(--vc-sans)!important;font-size:.82rem!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;cursor:pointer;line-height:1}
.vc-lang-btn:hover,.vc-lang-btn:focus-visible,.vc-lang.open .vc-lang-btn{color:var(--vc-ochre)!important;outline:none}
.vc-flag{display:inline-block;width:24px;height:16px;flex:none;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.vc-flag svg{display:block;width:100%;height:100%}
.vc-lang-chev{transition:transform .25s ease;transform:rotate(180deg)}
.vc-lang.open .vc-lang-chev{transform:rotate(0)}
.vc-lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;margin:0;padding:8px!important;list-style:none;background:#161210;border:1px solid rgba(190,147,72,.16);border-radius:10px;box-shadow:0 20px 44px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.vc-lang.open .vc-lang-menu{opacity:1;visibility:visible;transform:none}
.vc-lang-menu li{margin:0;padding:0;list-style:none}
.vc-lang-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px!important;background:transparent!important;border:0!important;border-radius:6px!important;box-shadow:none!important;color:var(--vc-ivory)!important;font-family:var(--vc-sans)!important;font-size:.88rem!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase;cursor:pointer;text-align:left}
.vc-lang-menu button:hover,.vc-lang-menu button:focus-visible{background:rgba(190,147,72,.1)!important;color:var(--vc-ochre)!important;outline:none}
.vc-lang-menu button[aria-checked="true"]{color:var(--vc-ochre)!important}
@media (max-width:1024px){
  [data-elementor-type="header"].vc-has-lang .elementor-widget-nav-menu{order:3}
  .vc-lang{order:2;margin-left:auto;margin-right:2px}
  .vc-lang-btn{padding:0 6px!important;gap:7px}
}
/* hide Google Translate UI */
.goog-te-banner-frame,body>.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip,.goog-te-spinner-pos,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-yAWNEb-L7lbkb{display:none!important}
html.vc-translated body{top:0!important;position:static!important}
.goog-text-highlight,font[style*="background-color"]{background:none!important;box-shadow:none!important}

.vc-has-lang .elementor-heading-title,.vc-has-lang .elementor-button,.vc-has-lang .elementor-button-text{white-space:nowrap}
.vc-has-lang .elementor-element:has(> .elementor-widget-heading),.vc-has-lang .e-con:has(.elementor-button){flex-shrink:0}
@media (min-width:1025px){
  .vc-has-lang .elementor-nav-menu--main .elementor-item{padding-left:11px!important;padding-right:11px!important}
  .vc-lang{margin:0 -4px 0 0}
}
@media (min-width:1025px) and (max-width:1240px){
  .vc-has-lang .elementor-nav-menu--main .elementor-item{padding-left:8px!important;padding-right:8px!important;letter-spacing:1.6px!important}
}


/* Nav underline: slides in from the left, slides out to the right */
.elementor-nav-menu--main.e--pointer-underline .elementor-item:after,
.elementor-nav-menu--main .e--pointer-underline .elementor-item:after,
.e--pointer-underline .elementor-nav-menu--main .elementor-item:after{
  opacity:1!important;left:0!important;right:auto!important;width:100%!important;
  transform:scaleX(0);transform-origin:right center;
  transition:transform .45s cubic-bezier(.65,0,.35,1)!important;animation:none!important}
.e--pointer-underline .elementor-item:hover:after,
.e--pointer-underline .elementor-item:focus-visible:after,
.e--pointer-underline .elementor-item.highlighted:after{transform:scaleX(1);transform-origin:left center}
.e--pointer-underline .elementor-item.elementor-item-active:after{transform:scaleX(1);transform-origin:left center}


/* Garden page: content panels follow the active slide */
.vc-ss-panel{display:none!important}
.vc-ss-panel.is-active{display:flex!important;animation:vcPanelIn .7s ease both}
@keyframes vcPanelIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.elementor-editor-active .vc-ss-panel{display:flex!important;animation:none}
.elementor-editor-active .vc-ss-panel+.vc-ss-panel{border-top:4px dashed #BE9348}


/* =====================================================================
   v1.5 (20 Oct 2026)
   ===================================================================== */

/* ---------- Menu: Food/Drinks switch and category tabs stay on screen ---------- */
.vc-menus.vc-sticky-ready .vc-switch{position:sticky;top:var(--vc-hh,80px);z-index:31;background:var(--vc-bg);box-shadow:0 0 0 100vmax var(--vc-bg);clip-path:inset(-14px -100vmax)}
.vc-menus.vc-sticky-ready .vc-group.active .vc-tabs-wrap{position:sticky;top:calc(var(--vc-hh,80px) + var(--vc-sw,80px) - 14px);z-index:30;background:var(--vc-bg);box-shadow:0 0 0 100vmax var(--vc-bg);clip-path:inset(0 -100vmax -1px)}
.vc-menus.vc-sticky-ready .vc-group.active .vc-tabs-wrap::after{content:"";position:absolute;left:-100vmax;right:-100vmax;bottom:-1px;height:1px;background:var(--vc-line)}
.vc-menus.vc-sticky-ready .vc-tabs-wrap::before,.vc-menus.vc-sticky-ready .vc-tabs-wrap.can-right::after{z-index:2}
.vc-menus .vc-tabs-wrap.can-right::after{content:"";position:absolute;left:auto;right:0;top:0;bottom:1px;width:64px;height:auto;background:linear-gradient(270deg,var(--vc-bg) 35%,rgba(33,22,15,0))}

/* ---------- Jazz: photo cross-fade ---------- */
.vc-jazz-frame{position:relative;display:block}
.vc-jazz-frame .vc-jazz-top{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease;pointer-events:none}
.vc-jazz-frame .vc-jazz-top.on{opacity:1}
.vc-gig{position:relative;transition:background .3s ease,padding .3s ease;cursor:default}
.vc-gig::before{content:"";position:absolute;left:-18px;top:18px;bottom:18px;width:2px;background:var(--vc-ochre);transform:scaleY(0);transition:transform .3s ease}
.vc-gig.is-on::before{transform:scaleY(1)}
.vc-gig.is-on h4{color:var(--vc-ochre)!important}
@media (max-width:767px){.vc-gig::before{left:-10px}}

/* ---------- Reviews ---------- */
.vc-badges{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.vc-badge-card{display:flex;flex-direction:column;gap:6px;padding:22px 22px 20px;border:1px solid var(--vc-line);border-radius:12px;color:var(--vc-ivory)!important;text-decoration:none!important;transition:border-color .3s ease,background .3s ease}
.vc-badge-card:hover{border-color:var(--vc-ochre);background:rgba(190,147,72,.06)}
.vc-badge-src{font-family:var(--vc-sans);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--vc-ochre)}
.vc-badge-score{display:flex;align-items:center;gap:12px}
.vc-badge-score b{font-family:var(--vc-serif);font-weight:400;font-size:2.6rem;line-height:1}
.vc-stars{display:inline-flex;gap:2px;color:var(--vc-ochre)}
.vc-badge-count{font-family:var(--vc-sans);font-size:.85rem;color:rgba(230,216,187,.65)}
.vc-badge-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--vc-sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(230,216,187,.8)}
.vc-badge-card:hover .vc-badge-link{color:var(--vc-ochre)}
.vc-rv{position:relative;padding:44px 44px 34px;background:var(--vc-choco);border:1px solid var(--vc-line);border-radius:16px}
.vc-rv::before{content:"\201C";position:absolute;top:-6px;left:32px;font-family:var(--vc-serif);font-size:7rem;line-height:1;color:var(--vc-ochre);opacity:.35;pointer-events:none}
.vc-rv-track{position:relative}
.vc-rv-item{position:absolute;top:0;left:0;right:0;margin:0;opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.vc-rv-item.is-on{position:relative;opacity:1;transform:none;pointer-events:auto}
.vc-rv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.vc-rv-src{font-family:var(--vc-sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px;border-radius:999px;border:1px solid rgba(230,216,187,.25);color:rgba(230,216,187,.8)}
.vc-rv blockquote{margin:0 0 24px;padding:0;border:0;font-family:var(--vc-serif);font-style:italic;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.5;color:var(--vc-ivory);quotes:none}
.vc-rv figcaption{display:flex;flex-direction:column;gap:3px;font-family:var(--vc-sans)}
.vc-rv figcaption b{font-weight:500;font-size:.95rem;color:var(--vc-ivory)}
.vc-rv figcaption span{font-size:.8rem;color:rgba(230,216,187,.6)}
.vc-rv-nav{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--vc-line)}
.vc-rv-nav>button{width:42px;height:42px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;border:1px solid rgba(230,216,187,.3)!important;background:transparent!important;color:var(--vc-ivory)!important;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.vc-rv-nav>button:hover{background:var(--vc-ochre)!important;border-color:var(--vc-ochre)!important;color:var(--vc-bg)!important}
.vc-rv-dots{display:flex;gap:8px;flex:1;justify-content:center}
.vc-rv-dot{width:8px;height:8px;padding:0!important;border-radius:50%!important;border:0!important;background:rgba(230,216,187,.25)!important;cursor:pointer;transition:background .25s,width .25s}
.vc-rv-dot.is-on{width:22px;border-radius:999px!important;background:var(--vc-ochre)!important}
@media (max-width:767px){
.vc-badges{grid-template-columns:1fr 1fr;gap:10px}
.vc-badge-card{padding:16px 14px}
.vc-badge-score{flex-direction:column;align-items:flex-start;gap:6px}
.vc-badge-score b{font-size:2rem}
.vc-rv{padding:34px 22px 24px}
.vc-rv::before{left:16px;font-size:5.5rem}
}

/* ---------- Garden page: the three spaces ---------- */
.vc-facts{margin:6px 0 0;padding:0;list-style:none;font-family:var(--vc-sans)}
.vc-facts p{margin:0;display:flex;flex-direction:column;gap:0}
.vc-facts-list .elementor-widget-container p{margin:0;line-height:2.1;font-size:.95rem;color:rgba(230,216,187,.85)}
.vc-space-row .elementor-widget-image img{border-radius:6px}
.vc-space-num .elementor-heading-title{font-family:var(--vc-serif)!important;font-size:4.5rem!important;line-height:1!important;color:rgba(190,147,72,.25)!important}

/* ---------- Spaces slider: better tablet and phone layout ---------- */
@media (max-width:1024px){
.vc-ss{--cw:150px;--ch:200px;--cg:14px;--cb:112px;min-height:max(760px,100svh)}
.vc-ss-item[data-pos="1"],.vc-ss-item[data-pos="2"]{opacity:1}
.vc-ss-content{align-items:flex-start;padding:150px var(--edge) calc(var(--cb) + var(--ch) + 56px)}
.vc-ss-inner{max-width:620px}
.vc-ss-nav-in{padding-right:var(--edge)}
.vc-ss-bar{display:none}
}
@media (max-width:767px){
.vc-ss{--edge:20px;--cw:104px;--ch:138px;--cg:10px;--cb:150px;min-height:max(720px,100svh)}
.vc-ss-item[data-pos="1"],.vc-ss-item[data-pos="2"]{top:calc(100% - var(--cb) - var(--ch));opacity:1;border-radius:10px}
.vc-ss-item[data-pos="1"]{left:calc(100% - var(--edge) - var(--cw) * 2 - var(--cg))}
.vc-ss-item[data-pos="2"]{left:calc(100% - var(--edge) - var(--cw))}
.vc-ss-card{padding:10px 10px 12px;gap:2px}
.vc-ss-card small{display:none}
.vc-ss-card b{font-size:.9rem!important;line-height:1.2}
.vc-ss-content{align-items:flex-end;padding:110px 20px calc(var(--cb) + var(--ch) + 26px)}
.vc-ss-eyebrow{margin-bottom:14px;font-size:.66rem;letter-spacing:.24em}
.vc-ss .vc-ss-title{font-size:clamp(1.9rem,8.4vw,2.5rem)!important;margin-bottom:14px}
.vc-ss-text{font-size:.94rem;line-height:1.65;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vc-ss-btn{padding:15px 24px;font-size:.7rem}
.vc-ss-nav{bottom:calc(var(--cb) - 66px)}
.vc-ss-nav-in{justify-content:flex-start;padding-right:20px}
.vc-ss-nav button{width:44px;height:44px}
.vc-ss-item::before{background:linear-gradient(0deg,rgba(33,22,15,.97) 0%,rgba(33,22,15,.82) 45%,rgba(33,22,15,.35) 80%,rgba(33,22,15,.55) 100%)}
}

/* ---------- WhatsApp and "Ask Vincent's" on one line ---------- */
.vc-wa-float{left:24px!important;bottom:24px!important;width:auto!important;max-width:none!important}
.vc-wa-float .elementor-button{height:58px;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:0 26px 0 22px!important;border-radius:999px!important;box-shadow:0 14px 34px rgba(0,0,0,.4)!important;line-height:1!important}
.vc-wa-float .elementor-button-icon svg{width:20px;height:20px;fill:currentColor}
.vc-chat{--bot-b:24px}


/* =====================================================================
   v1.6 (20 Oct 2026)
   ===================================================================== */

/* ---------- About Us: team carousel ---------- */
.vc-staff-w,.vc-staff-w .elementor-widget-container,.vc-staff-w .elementor-shortcode{width:100%;min-width:0}
.vc-staff{--g:22px;position:relative}
.vc-staff-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--g) * 3) / 4);gap:var(--g);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.vc-staff-track::-webkit-scrollbar{display:none}
.vc-st{position:relative;margin:0;scroll-snap-align:start;outline:none;cursor:default}
.vc-st-frame{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;isolation:isolate;background:radial-gradient(120% 75% at 50% 105%,#9B5A34 0%,#6B3038 48%,#2A1A13 100%)}
.vc-st--1 .vc-st-frame{background:radial-gradient(120% 75% at 50% 105%,#6E7A55 0%,#414D35 50%,#1E2418 100%)}
.vc-st--2 .vc-st-frame{background:radial-gradient(120% 75% at 50% 105%,#BE9348 0%,#9B5A34 46%,#3A271F 100%)}
.vc-st-frame::before{content:"";position:absolute;left:50%;top:15%;width:74%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(230,216,187,.18);background:radial-gradient(circle,rgba(230,216,187,.1),rgba(230,216,187,0) 70%);z-index:-1}
.vc-st-frame img.vc-st-img{position:absolute;left:50%;bottom:0;width:auto!important;max-width:118%!important;height:92%!important;object-fit:contain;object-position:center bottom;transform:translateX(-50%);transform-origin:center bottom;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}
.vc-st:hover img.vc-st-img,.vc-st:focus-within img.vc-st-img,.vc-st.is-open img.vc-st-img{transform:translateX(-50%) scale(1.04);filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)) brightness(.8)}
.vc-st-pop{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;background:rgba(33,22,15,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(190,147,72,.4);border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:0;transform:translateY(18px) scale(.98);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.vc-st:hover .vc-st-pop,.vc-st:focus-within .vc-st-pop,.vc-st.is-open .vc-st-pop{opacity:1;transform:none}
/* v1.9: pop-up opens on tap/click only, same on every device and browser (Safari / iPad / iPhone safe) */
.vc-staff.vc-tap .vc-st{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
/* v1.9.1 Safari / older iPad: do not rely on aspect-ratio (frames collapsed to 0 height = only names visible). Use the padding trick for the 3:4 frame and the circle */
.vc-st-frame{aspect-ratio:auto;height:0;padding-top:133.3333%;-webkit-transform:translateZ(0)}
.vc-st-frame::before{aspect-ratio:auto;height:0;padding-top:74%}
.vc-st-frame img.vc-st-img{top:auto;display:block}
.vc-staff.vc-tap .vc-st-pop{z-index:5;visibility:hidden;-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(33,22,15,.95);-webkit-transform:translate3d(0,18px,0);transform:translate3d(0,18px,0);will-change:opacity,transform;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s}
.vc-staff.vc-tap .vc-st:not(.is-open) .vc-st-pop{opacity:0}
.vc-staff.vc-tap .vc-st.is-open .vc-st-pop{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s}
.vc-staff.vc-tap .vc-st:focus-visible .vc-st-frame{outline:2px solid var(--vc-ochre);outline-offset:3px}
.vc-st-role{font-family:var(--vc-sans);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--vc-ochre)}
.vc-st-name{font-family:var(--vc-serif);font-weight:400;font-size:1.4rem;line-height:1.2;color:var(--vc-ivory)}
.vc-st-quote{display:block;position:relative;padding-left:16px;font-family:var(--vc-serif);font-style:italic;font-size:.98rem;line-height:1.55;color:rgba(230,216,187,.86);quotes:none}
.vc-st-quote::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--vc-ochre);border-radius:2px}
.vc-st-cap{display:flex;flex-direction:column;gap:3px;padding:16px 4px 0}
.vc-st-cap b{font-family:var(--vc-serif);font-weight:400;font-size:1.12rem;line-height:1.3;color:var(--vc-ivory)}
.vc-st-cap span{font-family:var(--vc-sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(230,216,187,.6)}
.vc-staff-nav{display:flex;align-items:center;gap:18px;margin-top:34px}
.vc-staff-nav>button{flex:0 0 46px;width:46px;height:46px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;border:1px solid rgba(230,216,187,.3)!important;background:transparent!important;color:var(--vc-ivory)!important;cursor:pointer;transition:background .25s,color .25s,border-color .25s,opacity .25s}
.vc-staff-nav>button:hover{background:var(--vc-ochre)!important;border-color:var(--vc-ochre)!important;color:var(--vc-bg)!important}
.vc-staff-nav>button:disabled{opacity:.3;pointer-events:none}
.vc-staff-bar{position:relative;flex:1;height:1px;background:var(--vc-line);order:-1}
.vc-staff-bar i{position:absolute;left:0;top:-1px;height:3px;width:25%;border-radius:3px;background:var(--vc-ochre);transition:left .35s ease,width .35s ease}
@media (max-width:1024px){
.vc-staff{--g:18px}
.vc-staff-track{grid-auto-columns:calc((100% - var(--g) * 2) / 3)}
}
@media (max-width:767px){
.vc-staff{--g:14px}
.vc-staff-track{grid-auto-columns:64%;margin-right:-16px;padding-right:16px;scroll-padding-left:0}
.vc-st-pop{left:8px;right:8px;bottom:8px;padding:14px 14px 16px;gap:6px}
.vc-st-name{font-size:1.15rem}
.vc-st-quote{font-size:.88rem;padding-left:12px}
.vc-st-cap b{font-size:1rem}
.vc-staff-nav{margin-top:24px}
.vc-staff-nav>button{flex-basis:42px;width:42px;height:42px}
}
@media (hover:none){.vc-st:hover .vc-st-pop{opacity:0;transform:translateY(18px) scale(.98)}.vc-st.is-open .vc-st-pop{opacity:1;transform:none}.vc-st:hover img.vc-st-img{transform:translateX(-50%);filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}.vc-st.is-open img.vc-st-img{transform:translateX(-50%) scale(1.04);filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)) brightness(.8)}}

/* ---------- WhatsApp button: text centred on the icon ---------- */
.vc-wa-float .elementor-button-content-wrapper{display:inline-flex!important;align-items:center!important;gap:10px}
.vc-wa-float .elementor-button-icon{display:inline-flex!important;align-items:center;line-height:0!important}
.vc-wa-float .elementor-button-text{display:block;line-height:1!important;padding:0!important;margin:0!important}


/* =====================================================================
   v1.7 (20 Oct 2026): sticky sub-navigation (About Us)
   ===================================================================== */
.vc-subnav-wrap{position:sticky!important;top:var(--vc-hh,80px);z-index:45;background:var(--vc-bg);border-bottom:1px solid var(--vc-line);box-shadow:0 10px 24px rgba(0,0,0,0);transition:box-shadow .3s ease}
.vc-subnav-wrap.is-stuck{box-shadow:0 12px 28px rgba(0,0,0,.35)}
.vc-subnav-wrap .elementor-widget-container,.vc-subnav-wrap .elementor-shortcode{width:100%}
.vc-subnav{width:100%}
.vc-subnav-in{display:flex;justify-content:center;align-items:center;gap:10px;padding:14px 16px;overflow-x:auto;scrollbar-width:none}
.vc-subnav-in::-webkit-scrollbar{display:none}
.vc-subnav-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;border-radius:999px;font-family:var(--vc-sans);font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;line-height:1;color:rgba(230,216,187,.7)!important;text-decoration:none!important;border:1px solid transparent;transition:background .3s ease,color .3s ease,border-color .3s ease}
.vc-subnav-link:hover{color:var(--vc-ivory)!important;border-color:rgba(230,216,187,.25)}
.vc-subnav-link.is-on{background:var(--vc-ochre);color:var(--vc-bg)!important;border-color:var(--vc-ochre)}
@media (max-width:767px){.vc-subnav-in{padding:10px 16px;gap:6px}.vc-subnav-link{height:38px;padding:0 18px;font-size:.68rem;letter-spacing:.16em}}

/* v1.9.2: tablet & mobile header - language switcher sits on the right, next to the menu icon */
@media (max-width:1024px){.vc-has-lang .elementor-widget-nav-menu{flex-grow:0 !important;flex-basis:auto !important;width:auto !important;max-width:none !important}.vc-has-lang .vc-lang{margin-left:auto !important}}

/* v1.9.3: desktop with a mouse = pop-up on hover (no click needed); tablet & phone = tap */
@media (hover:hover) and (pointer:fine){.vc-staff.vc-tap .vc-st{cursor:default}.vc-staff.vc-tap .vc-st:hover .vc-st-pop,.vc-staff.vc-tap .vc-st:focus-visible .vc-st-pop{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s}.vc-staff.vc-tap .vc-st:hover img.vc-st-img{transform:translateX(-50%) scale(1.04);filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)) brightness(.8)}}

/* v1.10 (21 Oct 2026): staff carousel - every pop-up always visible (on load, after Prev / Next, after a swipe), desktop, tablet and mobile */
.vc-staff .vc-staff-track .vc-st .vc-st-frame .vc-st-pop,
.vc-staff.vc-tap .vc-staff-track .vc-st .vc-st-frame .vc-st-pop { opacity: 1; visibility: visible; transform: none; transition: none; }
.vc-staff .vc-staff-track .vc-st .vc-st-frame img.vc-st-img { transform: translateX(-50%) scale(1.04); filter: drop-shadow(0 10px 24px rgba(0,0,0,.35)) brightness(.8); }

/* ---------- v1.6 language switcher: 12 languages in two columns (like Bali Droom Villas) ---------- */
.vc-lang-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);grid-auto-flow:column;gap:2px 6px;min-width:232px}
.vc-lang-menu li:has(button[aria-checked="true"]){display:none}
