/* Olive & Ember: look and feel on top of the restaurant-bar shell */
.ico{display:inline-block;width:1.25em;height:1.25em;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;vertical-align:-.22em}

/* buttons */
.oe-wa-btn{background:#0f7a4f;border-color:#0f7a4f;color:#fff}
.oe-wa-btn:hover{background:#0b6340;border-color:#0b6340;box-shadow:0 8px 18px rgba(15,122,79,.28)}
.oe-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.oe-ghost:hover{background:#fff;border-color:#fff;color:var(--ink);box-shadow:0 8px 18px rgba(0,0,0,.2)}
.oe-dark{background:var(--ink);border-color:var(--ink);color:#fff}
.oe-dark:hover{background:var(--olive);border-color:var(--olive)}
.oe-ghost-dark{background:transparent;border-color:var(--ink);color:var(--ink)}
.oe-ghost-dark:hover{background:var(--ink);color:#fff}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.2rem}
.hero-actions .button{margin-top:0}

/* floating order bar */
.oe-dock{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}
.oe-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.1rem;border-radius:999px;color:#fff;font-weight:700;font-size:.94rem;box-shadow:0 10px 26px rgba(20,25,15,.28);transition:transform .2s,box-shadow .2s,background .2s}
.oe-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(20,25,15,.34)}
.oe-wa{background:#0f7a4f}
.oe-wa:hover{background:#0b6340}
.oe-call{background:var(--ink)}
.oe-call:hover{background:var(--olive)}
.oe-btn .ico{width:1.4em;height:1.4em}

/* highlights */
.oe-highlights{padding:0 clamp(1.25rem,4vw,4rem) clamp(4rem,7vw,7rem)}
.oe-hl{max-width:1440px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.oe-card{background:color-mix(in srgb,var(--cream-deep) 55%,var(--cream));border:1px solid var(--line);padding:1.8rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.oe-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--tomato)}
.oe-card-ico{width:2.6rem;height:2.6rem;color:var(--tomato);margin-bottom:1rem}
.oe-card h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;margin-bottom:.45rem}
.oe-card p{color:var(--sub);margin:0;font-size:.97rem}

/* home gallery strip */
.oe-strip{padding-top:clamp(4rem,7vw,7rem)}
.oe-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.oe-strip-grid .image-frame{aspect-ratio:3/2;display:block}
.oe-strip-grid .image-frame img{height:100%;object-fit:cover}

/* gallery page */
.oe-gallery{max-width:1440px;margin:auto;padding:0 clamp(1.25rem,4vw,4rem) clamp(4rem,7vw,7rem);columns:3;column-gap:1.25rem}
.oe-shot{margin:0 0 1.25rem;break-inside:avoid;position:relative;overflow:hidden;background:var(--cream-deep)}
.oe-shot button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.oe-shot img{height:auto;transition:transform .7s ease}
.oe-shot:hover img{transform:scale(1.05)}
.oe-shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem 1rem .9rem;color:#fff;font-size:.9rem;font-weight:600;background:linear-gradient(transparent,rgba(18,22,14,.78));opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.oe-shot:hover figcaption,.oe-shot:focus-within figcaption{opacity:1;transform:none}
.oe-strip-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.oe-lb{position:fixed;inset:0;z-index:60;background:rgba(14,18,10,.93);display:none;align-items:center;justify-content:center;padding:2.5rem}
.oe-lb.is-open{display:flex}
.oe-lb figure{margin:0;max-width:min(1100px,86vw);text-align:center;color:#fff}
.oe-lb img{width:auto;max-width:100%;max-height:78vh;margin:auto}
.oe-lb p{margin:1rem 0 0;font-weight:600}
.oe-lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;line-height:1;padding:.6rem 1rem;transition:color .2s}
.oe-lb button:hover{color:var(--butter)}
.oe-lb-x{top:.6rem;right:.8rem}
.oe-lb-p{left:.6rem;top:50%;transform:translateY(-50%)}
.oe-lb-n{right:.6rem;top:50%;transform:translateY(-50%)}

/* menu */
.oe-menu-actions,.oe-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.menu-intro .oe-menu-actions{margin-top:1.8rem}
.order-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;color:#0b6340;font-size:.875rem;font-weight:700;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.order-link:hover{border-color:#0b6340}
.dish{transition:background .2s,padding .2s}
.dish:hover{background:color-mix(in srgb,var(--butter) 14%,transparent)}
.dish strong{white-space:nowrap}

/* contact: Google Maps */
.map-embed{min-height:500px;background:var(--cream-deep);overflow:hidden;box-shadow:var(--shadow)}
.map-embed iframe{display:block;width:100%;height:100%;min-height:500px;border:0}
.contact-details .oe-wa-btn{border-color:#0f7a4f}
.contact-details .oe-dark{border-color:var(--ink)}
.contact-details .oe-ghost-dark{border-color:var(--ink)}
.oe-contact-actions{flex-direction:column;align-items:stretch;margin-top:0}

/* texture and depth in the dark sections */
.wine-section{background:linear-gradient(rgba(25,35,22,.86),rgba(25,35,22,.9)),url(custom/walnut.webp) center/cover}
.site-footer{background:linear-gradient(rgba(25,35,22,.92),rgba(25,35,22,.96)),url(custom/walnut.webp) center/cover}
.oe-foot{display:block}
.enquiry-section{background:linear-gradient(rgba(36,58,33,.94),rgba(36,58,33,.96)),url(custom/walnut.webp) center/cover}
.wine-strip{background:linear-gradient(rgba(36,58,33,.95),rgba(36,58,33,.97)),url(custom/walnut.webp) center/cover}
.kitchen-band{background:linear-gradient(rgba(36,58,33,.96),rgba(36,58,33,.98)),url(custom/walnut.webp) center/cover}
.location-callout{border-top:1px solid var(--line)}
.event-card .image-frame,.room-card{transition:box-shadow .3s}
.event-card:hover .image-frame{box-shadow:var(--shadow)}

@media(min-width:761px) and (max-width:1100px){
  .site-nav{gap:1rem;font-size:.85rem}
  .header-inner{gap:1rem}
  .header-cta{display:none}
}
@media(max-width:1000px){
  .oe-hl{grid-template-columns:repeat(2,1fr)}
  .oe-strip-grid{grid-template-columns:1fr}
  .oe-gallery{columns:2}
}
@media(max-width:760px){
  body{padding-bottom:72px}
  .oe-dock{left:0;right:0;bottom:0;flex-direction:row;gap:0;align-items:stretch}
  .oe-btn{flex:1;justify-content:center;border-radius:0;padding:1rem .5rem;box-shadow:0 -6px 20px rgba(20,25,15,.2)}
  .oe-btn:hover{transform:none}
  .oe-hl{grid-template-columns:1fr}
  .oe-strip-grid{gap:.6rem}
  .oe-gallery{columns:1}
  .hero-actions .button{flex:1 1 100%}
  .oe-menu-actions .button,.oe-strip-actions .button{flex:1 1 100%}
  .map-embed,.map-embed iframe{min-height:340px}
  .dish strong{align-self:start}
  .oe-lb{padding:1rem}
  .oe-lb-p{left:0}.oe-lb-n{right:0}
}


@media(min-width:761px){.hero-content{max-width:860px;padding-top:clamp(5rem,9vw,8rem);padding-bottom:5rem}.hero-content h1{font-size:clamp(3.4rem,5.8vw,6rem)}}
