/* Elite Restaurant Template V2 — core visual system */
:root{
  /* Elite palette roles: values come from the active palette via theme.json (elite-* presets and
     --wp--custom--elite--*); fallbacks are the Elite Signature reference palette. */
  --elite-bg:var(--wp--preset--color--elite-bg,#0b0b0b);
  --elite-surface:var(--wp--preset--color--elite-surface,#10211d);
  --elite-surface-2:var(--wp--preset--color--elite-surface-2,#171311);
  --elite-text:var(--wp--preset--color--elite-text,#e7ddcf);
  --elite-heading:var(--wp--preset--color--elite-heading,#f5f0e6);
  --elite-muted:var(--wp--preset--color--elite-muted,#9e968b);
  --elite-accent:var(--wp--preset--color--elite-accent,#c9a86a);
  --elite-accent-hover:var(--wp--preset--color--elite-accent-hover,#b89556);
  --elite-on-accent:var(--wp--preset--color--elite-on-accent,#0b0b0b);
  --elite-link:var(--wp--preset--color--elite-link,#c9a86a);
  --elite-focus:var(--wp--preset--color--elite-focus,#c9a86a);
  --elite-panel:var(--wp--custom--elite--panel,#111b18);
  --elite-success:var(--wp--custom--elite--success,#5f9e68);
  --elite-error:var(--wp--custom--elite--error,#c87474);
  --elite-bg-rgb:var(--wp--custom--elite--rgb--bg,11 11 11);
  --elite-surface-rgb:var(--wp--custom--elite--rgb--surface,16 33 29);
  --elite-text-rgb:var(--wp--custom--elite--rgb--text,231 221 207);
  --elite-heading-rgb:var(--wp--custom--elite--rgb--heading,245 240 230);
  --elite-accent-rgb:var(--wp--custom--elite--rgb--accent,201 168 106);
  --elite-scrim-rgb:var(--wp--custom--elite--rgb--scrim,11 11 11);
  --elite-veil-rgb:var(--wp--custom--elite--rgb--veil,255 255 255);
  --elite-tint-rgb:var(--wp--custom--elite--rgb--tint,9 29 28);
  --elite-scrim:rgb(var(--elite-scrim-rgb));
  --elite-veil:rgb(var(--elite-veil-rgb));
  --elite-border:rgb(var(--elite-text-rgb) / .18);
  --elite-border-accent:rgb(var(--elite-accent-rgb) / .58);
  --elite-field-border:rgb(var(--elite-text-rgb) / var(--wp--custom--elite--field-border-alpha,.41));
  /* Photo roles: text over photography keeps a dark, contrast-checked treatment in every variant
     (in Dark they equal the page roles). Applied by the photo scope below. */
  --elite-photo-bg:var(--wp--custom--elite--photo--bg,#0b0b0b);
  --elite-photo-surface:var(--wp--custom--elite--photo--surface,#10211d);
  --elite-photo-text:var(--wp--custom--elite--photo--text,#e7ddcf);
  --elite-photo-heading:var(--wp--custom--elite--photo--heading,#f5f0e6);
  --elite-photo-muted:var(--wp--custom--elite--photo--muted,#9e968b);
  --elite-photo-link:var(--wp--custom--elite--photo--link,#c9a86a);
  --elite-photo-scrim-rgb:var(--wp--custom--elite--photo--rgb--scrim,11 11 11);
  --elite-photo-surface-rgb:var(--wp--custom--elite--photo--rgb--surface,16 33 29);
  --elite-photo-text-rgb:var(--wp--custom--elite--photo--rgb--text,231 221 207);
  --elite-photo-heading-rgb:var(--wp--custom--elite--photo--rgb--heading,245 240 230);
  --elite-photo-tint-rgb:var(--wp--custom--elite--photo--rgb--tint,9 29 28);
  /* 3.x component aliases (kept so component rules need no rewrite). */
  --erv2-obsidian:var(--elite-bg);
  --erv2-forest:var(--elite-surface);
  --erv2-espresso:var(--elite-surface-2);
  --erv2-gold:var(--elite-accent);
  --erv2-antique:var(--elite-accent-hover);
  --erv2-ivory:var(--elite-heading);
  --erv2-pearl:var(--elite-text);
  --erv2-white:#fff;
  --erv2-stone:var(--elite-muted);
  --erv2-border:var(--elite-border);
  --erv2-border-gold:var(--elite-border-accent);
  --erv2-panel:var(--elite-panel);
  --erv2-font-display:var(--wp--preset--font-family--display,"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif);
  --erv2-font-body:var(--wp--preset--font-family--body,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  --erv2-container:var(--wp--style--global--wide-size,1520px);
  --erv2-gutter:clamp(1.25rem,3vw,2rem);
  --erv2-section:clamp(4.25rem,8vw,8.125rem);
  --erv2-radius-s:.75rem;
  --erv2-radius-m:1.5rem;
  --erv2-radius-l:1.875rem;
  --erv2-radius-pill:999px;
  --erv2-ease:cubic-bezier(.7,0,.3,1);
  --erv2-ease-expand:cubic-bezier(.29,0,.2,1);
  --erv2-transition:375ms var(--erv2-ease);
  --erv2-shadow:0 28px 80px rgba(0,0,0,.28);
  --erv2-header-height:68px;
}
/* Photo scope: page heroes, video band, team/ambience/location cards, flex banner, media dialogs.
   Redefines the roles and their 3.x aliases (aliases resolve at :root, so both are needed). */
.erv2-page-hero,.erv2-video-cta,.erv2-team-card__media,.erv2-ambience-card,.erv2-location-card,.erv2-flex-banner__item,.erv2-gallery-dialog,.erv2-video-dialog{
  --elite-bg:var(--elite-photo-bg);--elite-surface:var(--elite-photo-surface);--elite-text:var(--elite-photo-text);--elite-heading:var(--elite-photo-heading);--elite-muted:var(--elite-photo-muted);--elite-link:var(--elite-photo-link);
  --elite-bg-rgb:var(--elite-photo-scrim-rgb);--elite-scrim-rgb:var(--elite-photo-scrim-rgb);--elite-surface-rgb:var(--elite-photo-surface-rgb);--elite-text-rgb:var(--elite-photo-text-rgb);--elite-heading-rgb:var(--elite-photo-heading-rgb);--elite-tint-rgb:var(--elite-photo-tint-rgb);
  --elite-border:rgb(var(--elite-photo-text-rgb) / .18);
  --erv2-obsidian:var(--elite-photo-bg);--erv2-forest:var(--elite-photo-surface);--erv2-ivory:var(--elite-photo-heading);--erv2-pearl:var(--elite-photo-text);--erv2-stone:var(--elite-photo-muted);--erv2-border:rgb(var(--elite-photo-text-rgb) / .18);
  color:var(--erv2-pearl);
}
/* WordPress default block spacing for classic content. theme.json sets blockGap:null so block-built pages
   (body.erv2-block-layout, or the block hero in the editor) follow main.css rhythm; everywhere else keeps the previous core behaviour. */
:root :where(body:not(.erv2-block-layout):not(:has(.wp-block-cover.erv2-page-hero)) :is(.is-layout-flow,.is-layout-constrained))>*{margin-block-start:1.5rem;margin-block-end:0}
:root :where(body:not(.erv2-block-layout):not(:has(.wp-block-cover.erv2-page-hero)) :is(.is-layout-flow,.is-layout-constrained))>:first-child{margin-block-start:0}
:root :where(body:not(.erv2-block-layout):not(:has(.wp-block-cover.erv2-page-hero)) :is(.is-layout-flow,.is-layout-constrained))>:last-child{margin-block-end:0}
:root :where(body:not(.erv2-block-layout):not(:has(.wp-block-cover.erv2-page-hero)) :is(.is-layout-flex,.is-layout-grid)){gap:1.5rem}
:root:not(:has(body.erv2-block-layout,.wp-block-cover.erv2-page-hero)){--wp--style--block-gap:1.5rem}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip;background:var(--erv2-obsidian)}
body{margin:0;min-width:320px;overflow-x:hidden;overflow-x:clip;background:var(--erv2-obsidian);color:var(--erv2-pearl);font-family:var(--erv2-font-body);font-size:clamp(1rem,.97rem + .15vw,1.0625rem);font-weight:350;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
figure{margin:0}
a{color:inherit;text-decoration:none;transition:color .3s linear}
a:hover{color:var(--elite-link)}
button,input,select,textarea{font:inherit}
button{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--elite-focus);outline-offset:4px}
h1,h2,h3,h4,h5,h6{margin:0 0 .55em;color:var(--erv2-ivory);font-family:var(--erv2-font-display);font-weight:500;line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.75rem,8vw,6rem)}
h2{font-size:clamp(2.25rem,5.2vw,4rem)}
h3{font-size:clamp(1.45rem,2.7vw,2rem)}
p{margin:0 0 1.35em}
ul,ol{margin:0;padding:0}
::selection{background:var(--erv2-gold);color:var(--elite-on-accent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.erv2-skip-link{position:fixed;z-index:100000;left:1rem;top:1rem;padding:.8rem 1rem;background:var(--erv2-ivory);color:var(--erv2-obsidian);border-radius:.5rem;transform:translateY(-160%)}
.erv2-skip-link:focus{transform:none}
.erv2-site-shell{min-height:100vh;isolation:isolate}
.erv2-container{width:min(100% - (var(--erv2-gutter)*2),var(--erv2-container));margin-inline:auto}
.erv2-content-narrow{width:min(100% - (var(--erv2-gutter)*2),780px);margin-inline:auto}
.erv2-main{position:relative;z-index:1}
.erv2-section{position:relative;padding-block:var(--erv2-section);border-top:1px solid var(--erv2-border)}
.erv2-section--panel{background:var(--erv2-forest)}
.erv2-text-center{text-align:center}
.erv2-entry-content>*+*{margin-top:1.5rem}
.erv2-entry-content a{text-decoration:underline;text-decoration-color:var(--elite-link);text-underline-offset:.18em}
.erv2-entry-content ul,.erv2-entry-content ol{padding-left:1.3rem}
.erv2-entry-content blockquote{margin:2rem 0;padding:1rem 0 1rem 2rem;border-left:2px solid var(--erv2-gold);font-family:var(--erv2-font-display);font-size:1.5rem;color:var(--erv2-ivory)}

/* Header */
.erv2-site-header{position:relative;z-index:50;color:var(--erv2-ivory);background:linear-gradient(180deg,rgb(var(--elite-scrim-rgb) / .96),rgb(var(--elite-scrim-rgb) / .78));border-bottom:1px solid var(--erv2-border);backdrop-filter:blur(14px)}
.erv2-is-front-page .erv2-site-header{position:absolute;inset:0 0 auto;background:linear-gradient(180deg,rgb(var(--elite-scrim-rgb) / .84),rgb(var(--elite-scrim-rgb) / .05));border-bottom-color:transparent}
.admin-bar .erv2-site-header{top:32px}
.erv2-topbar{display:none;background:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-topbar__inner{min-height:40px;display:flex;align-items:center;gap:1.15rem;font-size:.82rem;font-weight:600}
.erv2-topbar__item{display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.erv2-topbar__item svg{width:16px;height:16px}
.erv2-topbar__spacer{flex:1}
.erv2-header-row__inner{min-height:var(--erv2-header-height);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.erv2-brand{display:inline-flex;align-items:center;gap:.72rem;min-width:0;color:var(--erv2-ivory)}
.erv2-brand:hover{color:var(--erv2-ivory)}
.erv2-brand>img{width:44px;height:44px;flex:0 0 auto}
.erv2-brand>span{display:grid;min-width:0}
.erv2-brand strong{font-family:var(--erv2-font-display);font-size:clamp(1rem,2vw,1.35rem);font-weight:600;line-height:1.05;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.erv2-brand small{display:none;color:var(--erv2-stone);font-size:.64rem;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.erv2-custom-logo .custom-logo-link{display:block}.erv2-custom-logo img{max-width:190px;max-height:52px;width:auto;height:auto}
.erv2-primary-nav{display:none}
.erv2-primary-menu,.erv2-primary-menu ul{list-style:none}
.erv2-primary-menu{display:flex;align-items:center;gap:.2rem}
.erv2-primary-menu>li{position:relative}
.erv2-primary-menu a{display:flex;align-items:center;gap:.4rem;padding:1rem .85rem;font-family:var(--erv2-font-display);font-size:1.05rem;font-weight:600;color:var(--erv2-ivory)}
.erv2-primary-menu .menu-item-has-children>a:after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.erv2-primary-menu .sub-menu{position:absolute;z-index:5;top:calc(100% + .75rem);left:0;width:240px;padding:.8rem;background:var(--erv2-espresso);border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-s);box-shadow:var(--erv2-shadow);opacity:0;visibility:hidden;transform:translateY(1.5rem);transition:opacity .2s var(--erv2-ease) .08s,transform .25s var(--erv2-ease) .08s,visibility 0s linear .35s}
.erv2-primary-menu li:hover>.sub-menu,.erv2-primary-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;transition-delay:.08s}
.erv2-primary-menu .sub-menu a{padding:.7rem .75rem;font-size:.96rem}
.erv2-header-actions{display:flex;align-items:center;gap:.65rem}
.erv2-header-book{display:none;padding:.65rem 1.1rem;border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-pill);font-family:var(--erv2-font-display);font-weight:600}
.erv2-header-book:hover{background:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-menu-toggle,.erv2-icon-button,.erv2-gallery-dialog__nav{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--erv2-border);border-radius:50%;cursor:pointer;transition:background var(--erv2-transition),border-color var(--erv2-transition),color var(--erv2-transition),transform var(--erv2-transition)}
.erv2-menu-toggle:hover,.erv2-icon-button:hover,.erv2-gallery-dialog__nav:hover{background:var(--erv2-gold);border-color:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-menu-toggle svg,.erv2-icon-button svg,.erv2-gallery-dialog__nav svg{width:20px;height:20px}
.erv2-mobile-menu{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgb(var(--elite-scrim-rgb) / .72);color:var(--erv2-ivory)}
.erv2-mobile-menu::backdrop{background:rgb(var(--elite-scrim-rgb) / .72);backdrop-filter:blur(8px)}
.erv2-mobile-menu__panel{width:min(88vw,390px);min-height:100%;margin-left:auto;padding:1.2rem;background:var(--erv2-forest);border-left:1px solid var(--erv2-border-gold);box-shadow:var(--erv2-shadow);animation:erv2PanelIn .3s var(--erv2-ease) both}
.erv2-mobile-menu__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--erv2-border)}
.erv2-mobile-menu__header strong{font-family:var(--erv2-font-display);font-size:1.3rem}
.erv2-mobile-menu__list{list-style:none;padding:1.1rem 0}
.erv2-mobile-menu__list a{display:block;padding:.78rem 0;border-bottom:1px solid var(--erv2-border);font-family:var(--erv2-font-display);font-size:1.3rem}
.erv2-mobile-menu__list .sub-menu{list-style:none;padding-left:1rem}
.erv2-mobile-menu__list .sub-menu a{font-size:1rem;color:var(--erv2-stone)}
.erv2-mobile-menu__contact{display:grid;gap:.8rem;margin-top:1.25rem}
.erv2-mobile-menu__contact>a:not(.erv2-button){display:flex;gap:.65rem;align-items:center;color:var(--erv2-pearl)}
.erv2-mobile-menu__contact svg{width:18px;height:18px;color:var(--elite-link)}
@keyframes erv2PanelIn{from{transform:translateX(100%);opacity:.5}to{transform:none;opacity:1}}

/* Buttons and headings */
.erv2-eyebrow{margin:0 0 1rem;color:var(--elite-link);font-family:var(--erv2-font-display);font-size:.82rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.erv2-section-heading{max-width:780px}.erv2-section-heading--center{margin-inline:auto;text-align:center}.erv2-section-title{font-size:clamp(2.3rem,5vw,4rem)}
.erv2-section-intro{max-width:620px;color:var(--erv2-stone);font-size:1.04rem}.erv2-section-heading--center .erv2-section-intro{margin-inline:auto}
.erv2-split-heading{display:grid;gap:1.5rem;align-items:end;margin-bottom:clamp(2.2rem,5vw,4rem)}
.erv2-split-heading>.erv2-section-intro{margin:0}
.erv2-button-row{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.erv2-button-row--center{justify-content:center;margin-top:2.2rem}
.erv2-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.72rem 1.35rem;border:1px solid transparent;border-radius:var(--erv2-radius-pill);font-family:var(--erv2-font-display);font-size:1rem;font-weight:700;line-height:1;color:var(--erv2-obsidian);transition:background var(--erv2-transition),border-color var(--erv2-transition),color var(--erv2-transition),transform var(--erv2-transition)}
.erv2-button svg{width:20px;height:20px;transition:transform var(--erv2-transition)}
.erv2-button:hover svg{transform:translateX(4px)}
.erv2-button--primary{background:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-button--primary:hover{background:var(--erv2-ivory);color:var(--erv2-obsidian)}
.erv2-button--outline{background:transparent;border-color:var(--erv2-border-gold);color:var(--erv2-ivory)}
.erv2-button--outline:hover{background:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-button--light{background:var(--erv2-ivory);color:var(--erv2-obsidian)}
.erv2-button--light:hover{background:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-button--text{min-height:0;padding:.55rem 0;background:transparent;color:var(--erv2-ivory);border-bottom:1px solid var(--erv2-gold);border-radius:0}
.erv2-button--text:hover{color:var(--elite-link)}
.erv2-text-link{display:inline-flex;align-items:center;gap:.45rem;padding-bottom:.15rem;border-bottom:1px solid currentColor;font-family:var(--erv2-font-display);font-weight:700}
.erv2-text-link svg{width:18px;height:18px}

/* Hero */
.erv2-hero{position:relative;min-height:100svh;padding-top:calc(var(--erv2-header-height) + 3rem);padding-bottom:2.5rem;background:radial-gradient(circle at 85% 16%,rgb(var(--elite-accent-rgb) / .15),transparent 32%),linear-gradient(135deg,var(--erv2-forest),var(--erv2-obsidian) 65%);overflow:clip}
.erv2-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgb(var(--elite-veil-rgb) / .018) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--elite-veil-rgb) / .018) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent 75%);pointer-events:none}
.erv2-hero__slides{position:relative;min-height:calc(100svh - var(--erv2-header-height) - 5.5rem);display:grid;align-items:end}
.erv2-hero-slide{grid-area:1/1;display:grid;gap:1.2rem;visibility:hidden;pointer-events:none}
.erv2-hero-slide.is-active{visibility:visible;pointer-events:auto}
.erv2-hero-slide__left,.erv2-hero-slide__right{position:relative;min-width:0}
.erv2-hero-slide__heading{position:relative;z-index:2;margin-bottom:1rem}
.erv2-hero-slide__heading :is(h1,h2){font-size:clamp(2.7rem,10.5vw,5.75rem);max-width:13ch}
.erv2-hero-slide__left>img,.erv2-hero-slide__right>img{width:100%;height:clamp(260px,58vw,520px);object-fit:cover;border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-m);box-shadow:var(--erv2-shadow)}
.erv2-hero-slide__panel{position:relative;margin-top:-1.5rem;padding:1.5rem;background:var(--erv2-forest);border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m);box-shadow:var(--erv2-shadow)}
.erv2-hero-slide__panel p{color:var(--erv2-pearl);max-width:58ch}



.erv2-carousel-controls{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--erv2-espresso);border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-s)}
.erv2-hero__controls{position:relative;z-index:4;align-self:start;margin:1.25rem auto 0;width:min(620px,100%)}
.erv2-carousel-controls button{display:flex;align-items:center;gap:.4rem;padding:0;background:none;border:0;font-family:var(--erv2-font-display);font-size:1rem;cursor:pointer}
.erv2-carousel-controls button:hover{color:var(--elite-link)}.erv2-carousel-controls svg{width:18px;height:18px}
.erv2-carousel-progress{flex:1;height:3px;background:rgb(var(--elite-text-rgb) / .2);overflow:hidden}.erv2-carousel-progress span{display:block;width:33.333%;height:100%;background:var(--erv2-gold);transition:width .3s linear}
.erv2-carousel-controls[hidden]{display:none}
.erv2-carousel-controls button:focus-visible{outline-offset:2px}
.erv2-carousel-controls--row{margin:1.25rem auto 0;width:min(620px,100%)}
.erv2-carousel-controls--inline{width:min(420px,100%)}
.erv2-split-heading>.erv2-carousel-controls--inline{justify-self:end;align-self:end}
.erv2-social-gallery .erv2-carousel-controls--row{margin-top:1.5rem}
.js [data-carousel="scroll"]{scrollbar-width:none}
.js [data-carousel="scroll"]::-webkit-scrollbar{display:none}


/* Intro and active image cards */
.erv2-intro-grid{display:grid;gap:2rem;align-items:center}
.erv2-rotating-plate{position:relative;max-width:560px;margin-inline:auto}.erv2-rotating-plate>img:first-child{width:100%;filter:drop-shadow(0 25px 45px rgba(0,0,0,.35))}.erv2-flourish{position:absolute;z-index:-1;max-width:70%;opacity:.6}.erv2-flourish--one{right:-8%;bottom:4%;transform:rotate(14deg)}
.erv2-intro-copy h2{font-size:clamp(2.5rem,5vw,4rem)}.erv2-intro-copy>p:not(.erv2-eyebrow){color:var(--erv2-stone)}.erv2-intro-copy h3{margin-top:2rem;font-size:1.75rem}
.erv2-intro-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.erv2-intro-card{position:relative;min-height:210px;overflow:hidden;border-radius:var(--erv2-radius-m);border:1px solid var(--erv2-border-gold);isolation:isolate}.erv2-intro-card--wide{grid-column:1/-1;min-height:260px}
.erv2-intro-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--erv2-ease)}.erv2-intro-card:hover img{transform:scale(1.045)}.erv2-intro-card span{position:absolute;left:1.25rem;bottom:1rem;font-family:var(--erv2-font-display);font-size:1.55rem;color:var(--erv2-white);text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}

/* Flex banner */
.erv2-feature-list{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;list-style:none;color:var(--erv2-pearl);font-family:var(--erv2-font-display)}.erv2-feature-list li:before{content:"✦";margin-right:.5rem;color:var(--elite-link)}
.erv2-flex-banner{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding-bottom:.5rem;max-width:100%}.erv2-flex-banner__item{position:relative;flex:0 0 min(82vw,330px);height:620px;overflow:hidden;border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-m);scroll-snap-align:start;isolation:isolate}.erv2-flex-banner__image{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.erv2-flex-banner__label{position:absolute;z-index:2;inset:auto 0 0 0;padding:1.5rem;background:rgb(var(--elite-scrim-rgb) / .82)}.erv2-flex-banner__label h3{font-size:1.7rem}.erv2-flex-banner__label p{color:var(--erv2-pearl)}.erv2-flex-banner__label ul{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;margin-bottom:1rem}.erv2-flex-banner__label li{padding:.3rem .65rem;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-pill);font-size:.82rem;color:var(--erv2-pearl)}

/* Story and marquee */
.erv2-story-grid{display:grid;gap:2rem;align-items:center}.erv2-story-image{position:relative}.erv2-story-image>img{width:100%;min-height:460px;object-fit:cover;border-radius:var(--erv2-radius-m);border:1px solid var(--erv2-border)}.erv2-story-stamp{position:absolute;right:1rem;bottom:1rem;width:110px;height:110px;display:grid;place-content:center;text-align:center;background:var(--erv2-ivory);color:var(--erv2-obsidian);border-radius:50%;font-family:var(--erv2-font-display);font-size:.72rem;line-height:1.25;text-transform:uppercase;letter-spacing:.08em;animation:erv2SlowSpin 26s linear infinite}.erv2-story-stamp span{display:block}.erv2-story-copy>p:not(.erv2-eyebrow){color:var(--erv2-stone)}.erv2-story-points{display:grid;gap:.75rem;list-style:none;margin:1.7rem 0 2rem}.erv2-story-points li{position:relative;padding-left:1.45rem}.erv2-story-points li:before{content:"";position:absolute;left:0;top:.7em;width:.5rem;height:.5rem;background:var(--erv2-gold);border-radius:50%}
@keyframes erv2SlowSpin{to{transform:rotate(360deg)}}
.erv2-marquee{position:relative;max-width:100%;overflow:hidden;margin-top:var(--erv2-section);padding:1rem 0;border-top:1px solid var(--erv2-border);border-bottom:1px solid var(--erv2-border)}.erv2-marquee--gold{margin-top:0;background:var(--erv2-gold);color:var(--elite-on-accent);border:0}.erv2-marquee__track{display:flex;align-items:center;gap:1.4rem;width:max-content;will-change:transform;animation:erv2Marquee 52s linear infinite}.erv2-marquee:hover .erv2-marquee__track{animation-play-state:paused}.erv2-marquee__track span{font-family:var(--erv2-font-display);font-size:clamp(1.5rem,3.2vw,2.4rem);font-style:italic;white-space:nowrap}.erv2-marquee__track i{width:.5rem;height:.5rem;background:var(--erv2-gold);border-radius:50%;flex:none}.erv2-marquee--gold i{background:var(--erv2-obsidian)}.erv2-marquee__track img{width:58px;height:58px;object-fit:cover;border-radius:50%;flex:none}.erv2-marquee--gold .erv2-marquee__track{animation-duration:100s}
@keyframes erv2Marquee{to{transform:translateX(-50%)}}
/* Home story: the occasion marquee sits inside the image panel over a bottom scrim. Photo roles keep
   the scrim dark and the text light in every palette variant. Stacks until 1025px. */
.erv2-story-section--media-marquee .erv2-story-grid{grid-template-columns:minmax(0,1fr)}
.erv2-story-section--media-marquee .erv2-story-image{min-height:clamp(460px,62vw,640px);overflow:hidden;border-radius:var(--erv2-radius-m)}
.erv2-story-section--media-marquee .erv2-story-image>img{position:absolute;inset:0;height:100%;min-height:0}

.erv2-story-section--media-marquee .erv2-story-stamp{top:1rem;bottom:auto;z-index:3}
.erv2-story-section--media-marquee .erv2-marquee{position:absolute;inset:auto 0 0;z-index:2;margin:0;padding:1.6rem 0;border:0}
.erv2-story-section--media-marquee .erv2-marquee__track{gap:2rem;animation-duration:26s}
.erv2-story-section--media-marquee .erv2-marquee__track span{font-size:clamp(1.4rem,1.1rem + .6vw,1.8rem);font-style:normal;color:var(--elite-photo-heading)}
.erv2-story-section--media-marquee .erv2-marquee__track i{background:var(--elite-photo-link)}
.erv2-story-section--media-marquee .erv2-story-copy h2{max-width:13em;font-size:clamp(2.1rem,1.2rem + 2vw,2.9rem)}

/* Tabs/menu cards */
.erv2-tab-list,.erv2-gallery-filters{display:flex;gap:.65rem;overflow-x:auto;max-width:100%;padding:.3rem 0 1.2rem;scrollbar-width:none}.erv2-tab-list::-webkit-scrollbar,.erv2-gallery-filters::-webkit-scrollbar{display:none}.erv2-tab-list button,.erv2-gallery-filters button,.erv2-category-strip>button,.erv2-category-strip>a{flex:0 0 auto;padding:.65rem 1.05rem;background:transparent;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-pill);color:var(--erv2-ivory);font-family:var(--erv2-font-display);font-weight:600;cursor:pointer;transition:background var(--erv2-transition),color var(--erv2-transition),border-color var(--erv2-transition)}.erv2-tab-list button[aria-selected="true"],.erv2-gallery-filters button.is-active,.erv2-category-strip>button.is-active,.erv2-category-strip>a.is-active{background:var(--erv2-gold);border-color:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-tab-panel[hidden]{display:none}
.erv2-menu-card-row,.erv2-team-row,.erv2-ambience-row,.erv2-testimonial-row,.erv2-history-row{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;max-width:100%;padding:.2rem 0 .8rem;scrollbar-color:var(--erv2-gold) transparent}
.erv2-menu-card{flex:0 0 min(78vw,300px);scroll-snap-align:start}.erv2-menu-card>a{display:block}.erv2-menu-card__image{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-m);isolation:isolate}.erv2-menu-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--erv2-ease)}.erv2-menu-card__image span{position:absolute;z-index:2;inset:50% auto auto 50%;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--erv2-gold);color:var(--elite-on-accent);opacity:0;transform:translate(-50%,calc(-50% + 20px));transition:opacity var(--erv2-transition),transform var(--erv2-transition)}.erv2-menu-card__image svg{width:24px;height:24px}.erv2-menu-card.is-active .erv2-menu-card__image span,.erv2-menu-card:hover .erv2-menu-card__image span{opacity:1;transform:translate(-50%,-50%)}.erv2-menu-card:hover img{transform:scale(1.03)}.erv2-menu-card h3{margin:.9rem 0 .35rem;font-size:1.45rem}.erv2-menu-card p{min-height:3.4em;margin-bottom:.5rem;color:var(--erv2-stone)}.erv2-menu-card strong{color:var(--elite-link);font-family:var(--erv2-font-display);font-size:1.15rem}

/* Price lists */
.erv2-price-grid{display:grid;gap:1.5rem}.erv2-price-column{padding:1.25rem;background:rgb(var(--elite-veil-rgb) / .025);border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m)}.erv2-price-column h3{color:var(--elite-link);font-size:2rem}.erv2-price-row{display:flex;align-items:baseline;gap:.65rem;padding:.5rem 0;transition:color var(--erv2-transition)}.erv2-price-row i{flex:1;border-bottom:1px dashed var(--erv2-border);transition:border-color var(--erv2-transition)}.erv2-price-row strong{font-size:.95rem}.erv2-price-row.is-active,.erv2-price-row:hover,.erv2-price-row:focus-visible{color:var(--elite-link)}.erv2-price-row.is-active i,.erv2-price-row:hover i,.erv2-price-row:focus-visible i{border-color:currentColor}
/* One highlight per column: a hovered/focused row takes over from the default (first) row. */
.erv2-price-column:has(.erv2-price-row:is(:hover,:focus-visible)) .erv2-price-row.is-active:not(:hover,:focus-visible){color:inherit}.erv2-price-column:has(.erv2-price-row:is(:hover,:focus-visible)) .erv2-price-row.is-active:not(:hover,:focus-visible) i{border-color:var(--erv2-border)}

/* Team */
/* Team: name/role sit below the portrait at rest; the active (hovered/tapped/focused) card grows the portrait,
   moves name/role into it and reveals the member's social links. theme.js moves .is-active. */
.erv2-team-card{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;flex:0 0 min(78vw,310px);aspect-ratio:2/3;scroll-snap-align:start}
.erv2-team-card__media{position:relative;min-height:0;overflow:hidden;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m)}

.erv2-team-card img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.erv2-team-card__overlay{position:absolute;z-index:2;left:1.25rem;right:1.25rem;bottom:1.25rem;text-align:center;pointer-events:none;text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}
.erv2-team-card__overlay>*{opacity:0;transform:translateY(20px);transition:opacity .5s var(--erv2-ease),transform .5s var(--erv2-ease)}
.erv2-team-card__overlay h3{margin:0;font-size:1.55rem}
.erv2-team-card__overlay p{margin:0;color:var(--erv2-pearl);transition-delay:.1s}
.erv2-team-card__overlay .erv2-social-links{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.9rem;transition-delay:.25s}
.erv2-team-card__overlay .erv2-social-links a{width:38px;height:38px;background:rgb(var(--elite-photo-scrim-rgb) / .35)}
.erv2-team-card__caption{display:grid;grid-template-rows:1fr;transition:grid-template-rows .375s var(--erv2-ease),opacity .3s linear}
.erv2-team-card__caption>div{min-height:0;overflow:hidden}
.erv2-team-card__caption strong{display:block;margin-top:.85rem;font-family:var(--erv2-font-display);font-size:1.25rem;font-weight:500;line-height:1.2;color:var(--erv2-ivory)}
.erv2-team-card__caption span{display:block;color:var(--erv2-stone)}

.erv2-team-card:is(.is-active,:focus-within) .erv2-team-card__overlay{pointer-events:auto}
.erv2-team-card:is(.is-active,:focus-within) .erv2-team-card__overlay>*{opacity:1;transform:none}
.erv2-team-card:is(.is-active,:focus-within) .erv2-team-card__caption{grid-template-rows:0fr;opacity:0}

/* Ambience */
.erv2-ambience-card{position:relative;flex:0 0 min(88vw,740px);aspect-ratio:16/9;overflow:hidden;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m);scroll-snap-align:start}.erv2-ambience-card img{width:100%;height:100%;object-fit:cover}.erv2-ambience-card>span{position:absolute;z-index:2;left:1.4rem;right:1.4rem;bottom:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;opacity:0;transform:translateY(20px);transition:opacity .5s var(--erv2-ease),transform .5s var(--erv2-ease);text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}.erv2-ambience-card>span strong{font-family:var(--erv2-font-display);font-size:clamp(1.5rem,3vw,2.3rem)}.erv2-ambience-card>span svg{width:60px;height:60px;padding:18px;border:1px solid currentColor;border-radius:50%}.erv2-ambience-card.is-active>span,.erv2-ambience-card:hover>span{opacity:1;transform:none}

/* Blog */
.erv2-post-grid{display:grid;gap:1.5rem}.erv2-post-card{overflow:hidden;border-bottom:1px solid var(--erv2-border);padding-bottom:1.5rem}.erv2-post-card__image{display:block;overflow:hidden;border-radius:var(--erv2-radius-m);margin-bottom:1.15rem}.erv2-post-card__image img{width:calc(100% + 20px);max-width:none;height:260px;object-fit:cover;transform:translateX(-10px);transition:transform .45s ease}.erv2-post-card:hover .erv2-post-card__image img{transform:none}.erv2-post-card time{font-size:.85rem;color:var(--elite-link)}.erv2-post-card h2,.erv2-post-card h3{margin:.4rem 0 .65rem;font-size:1.65rem}.erv2-post-card p{color:var(--erv2-stone)}.erv2-post-card .erv2-text-link{background-image:linear-gradient(currentColor,currentColor);background-position:100% 100%;background-repeat:no-repeat;background-size:100% 1px;transition:background-size var(--erv2-transition),color var(--erv2-transition)}.erv2-post-card:hover .erv2-text-link{background-size:0 1px;color:var(--elite-link)}

/* Forms / maps */
.erv2-home-reservation__grid,.erv2-booking-row,.erv2-contact-grid{display:grid;gap:1.5rem}.erv2-reservation-panel,.erv2-booking-panel,.erv2-contact-form-panel{padding:clamp(1.25rem,4vw,3rem);background:var(--erv2-espresso);border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-m)}.erv2-booking-panel h2,.erv2-contact-copy h2{font-size:clamp(2.2rem,4.5vw,3.6rem)}.erv2-booking-image{overflow:hidden;border-radius:var(--erv2-radius-m);border:1px solid var(--erv2-border)}.erv2-booking-image img{width:100%;height:100%;min-height:380px;object-fit:cover}
.erv2-form{display:grid;gap:1rem}.erv2-form-grid{display:grid;gap:1rem}.erv2-form label{display:grid;gap:.45rem;color:var(--erv2-pearl);font-size:.9rem;font-weight:650}.erv2-form input,.erv2-form select,.erv2-form textarea{width:100%;min-height:50px;padding:.75rem 1rem;background:rgb(var(--elite-veil-rgb) / .035);color:var(--erv2-ivory);border:1px solid var(--elite-field-border);border-radius:var(--erv2-radius-s);transition:border-color var(--erv2-transition),background var(--erv2-transition)}.erv2-form textarea{min-height:120px;resize:vertical}.erv2-form input:focus,.erv2-form select:focus,.erv2-form textarea:focus{border-color:var(--erv2-gold);background:rgb(var(--elite-veil-rgb) / .055)}.erv2-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--erv2-pearl) 50%),linear-gradient(135deg,var(--erv2-pearl) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem}.erv2-form option{background:var(--erv2-forest);color:var(--erv2-ivory)}.erv2-form .erv2-button{justify-self:start}.erv2-honeypot{position:absolute!important;left:-9999px!important}.erv2-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.65rem!important}.erv2-consent input{width:20px!important;min-height:20px!important;margin-top:.18rem}.erv2-consent a{text-decoration:underline;color:var(--elite-link)}.erv2-form-message{padding:1rem;border-radius:var(--erv2-radius-s);border:1px solid}.erv2-form-message.is-success{background:rgba(72,135,83,.14);border-color:var(--elite-success)}.erv2-form-message.is-error{background:rgba(184,70,70,.14);border-color:var(--elite-error)}.erv2-map-panel{position:relative;min-height:420px;overflow:hidden;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m);background:var(--erv2-forest)}.erv2-map-panel>img,.erv2-map-panel>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.erv2-map-panel__content{position:absolute;left:1rem;right:1rem;bottom:1rem;display:grid;gap:.45rem;padding:1.25rem;background:rgb(var(--elite-scrim-rgb) / .86);border:1px solid var(--erv2-border-gold);border-radius:var(--erv2-radius-s);backdrop-filter:blur(12px)}.erv2-map-panel__icon{display:grid;place-items:center;width:44px;height:44px;background:var(--erv2-gold);color:var(--elite-on-accent);border-radius:50%}.erv2-map-panel__icon svg{width:20px;height:20px}.erv2-map-section .erv2-map-panel{border-radius:0;border-left:0;border-right:0;min-height:500px}
/* Live map (Restaurant Settings embed): the address card stays compact so the map stays usable, and
   sits above the bottom row where Google shows its logo and attribution. */
.erv2-map-panel--embed .erv2-map-panel__content{right:auto;bottom:2.75rem;width:min(22rem,calc(100% - 2rem))}
@media (max-width:767px){.erv2-map-panel--embed{display:flex;flex-direction:column}.erv2-map-panel--embed>iframe{position:relative;flex:none;height:320px}.erv2-map-panel--embed .erv2-map-panel__content{position:static;width:auto;margin:1rem}}

/* Inner page hero */
.erv2-page-hero{position:relative;min-height:250px;display:grid;place-items:center;padding:calc(var(--erv2-header-height) + 4rem) 0 4rem;overflow:hidden;background:var(--erv2-forest);border-bottom:1px solid var(--erv2-border)}.erv2-page-hero__texture{position:absolute;inset:0;background-image:url('/wp-content/themes/elite-restaurant-v2/assets/images/elan-room-main-dining.webp');background-size:cover;background-position:center}.erv2-page-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.erv2-page-hero__texture--scrim{background-image:none}.erv2-page-hero__inner{position:relative;text-align:center;text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}.erv2-page-hero h1{font-size:clamp(2.75rem,7vw,4.75rem)}.erv2-breadcrumbs{display:flex;justify-content:center;gap:.65rem;color:var(--erv2-pearl);font-size:.9rem}.erv2-breadcrumbs a{color:var(--erv2-ivory)}

/* Menu archive/product */
.erv2-menu-archive-intro{padding-bottom:clamp(2.5rem,6vw,5rem)}.erv2-category-strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:2rem 0 0;max-width:100%}.erv2-category-strip>button,.erv2-category-strip>a{display:grid;gap:.65rem;place-items:center;min-width:138px;scroll-snap-align:start;border:0;background:transparent;color:var(--elite-link);border-radius:0}.erv2-category-strip>button span,.erv2-category-strip>a span{display:block;width:110px;height:110px;padding:6px;border-radius:50%;background:var(--erv2-forest);border:2px solid var(--erv2-border);transition:border-color var(--erv2-transition),box-shadow var(--erv2-transition)}.erv2-category-strip>button img,.erv2-category-strip>a img{width:100%;height:100%;object-fit:cover;border-radius:50%}.erv2-category-strip>button.is-active span,.erv2-category-strip>button:hover span,.erv2-category-strip>a.is-active span,.erv2-category-strip>a:hover span{border-color:var(--erv2-gold)}.erv2-category-strip>button.is-active,.erv2-category-strip>button:hover,.erv2-category-strip>a.is-active,.erv2-category-strip>a:hover{color:var(--erv2-ivory)}.erv2-category-strip>button.is-active,.erv2-category-strip>a.is-active{color:var(--elite-on-accent)}
.erv2-product-grid{display:grid;gap:0;border-top:1px solid var(--erv2-border);border-left:1px solid var(--erv2-border)}.erv2-product-card{display:flex;flex-direction:column;padding:clamp(1rem,2.2vw,1.7rem);border-right:1px solid var(--erv2-border);border-bottom:1px solid var(--erv2-border)}.erv2-product-card[hidden]{display:none}.erv2-product-card__image{display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--erv2-radius-m);background:rgb(var(--elite-veil-rgb) / .025)}.erv2-product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--erv2-transition)}.erv2-product-card:hover .erv2-product-card__image img{transform:scale(.95) translateY(-10px)}.erv2-product-card__body{display:flex;flex:1;flex-direction:column;padding:1.2rem .25rem .2rem}.erv2-product-card h2,.erv2-product-card h3{font-size:1.5rem}.erv2-product-card p{color:var(--erv2-stone)}.erv2-product-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}.erv2-product-card__footer>strong,.erv2-product-card__body>strong{color:var(--elite-link);font-family:var(--erv2-font-display);font-size:1.25rem}.erv2-dietary-labels{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.erv2-dietary-labels span{padding:.25rem .55rem;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-pill);color:var(--erv2-pearl);font-size:.72rem}
.erv2-dish-hero{padding-top:clamp(4rem,8vw,8rem)}.erv2-dish-hero__grid{display:grid;gap:2rem;align-items:center}.erv2-dish-hero__image{overflow:hidden;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-l)}.erv2-dish-hero__image img{width:100%;aspect-ratio:1;object-fit:cover}.erv2-dish-price{color:var(--elite-link);font-family:var(--erv2-font-display);font-size:2rem}.erv2-dish-details{display:grid;gap:2.5rem}.erv2-dish-details h2{font-size:2rem}

/* About */
.erv2-kinetic-heading{max-width:1320px;margin:0 auto;text-align:center;text-wrap:balance;font-size:clamp(1.95rem,5vw,3.2rem);line-height:1.15;text-transform:uppercase}.erv2-kinetic-heading span,.erv2-kinetic-heading img,.erv2-kinetic-heading b{display:inline-flex;vertical-align:middle;margin:.2rem}.erv2-kinetic-heading img{width:clamp(90px,18vw,240px);height:clamp(38px,7vw,70px);object-fit:cover;border-radius:var(--erv2-radius-pill)}.erv2-kinetic-heading b{align-items:center;justify-content:center;width:clamp(56px,7vw,76px);height:clamp(32px,4.5vw,44px);background:var(--erv2-ivory);color:var(--erv2-gold);border-radius:var(--erv2-radius-pill)}.erv2-kinetic-heading b svg{width:24px;height:24px}.erv2-counter-grid{display:grid;gap:0;margin-top:clamp(3rem,7vw,6rem);border-top:1px solid var(--erv2-border);border-bottom:1px solid var(--erv2-border)}.erv2-counter-grid>div{padding:1.5rem;text-align:center;border-bottom:1px solid var(--erv2-border)}.erv2-counter-grid strong,.erv2-counter-grid>div>span{font-family:var(--erv2-font-display);font-size:clamp(2.8rem,6vw,4.5rem);color:var(--erv2-ivory)}.erv2-counter-grid p{margin:0;color:var(--erv2-stone)}.erv2-video-cta{position:relative;min-height:680px;display:grid;place-items:center;padding:var(--erv2-section) 0;background-image:var(--video-image);background-size:cover;background-position:center;background-attachment:scroll;border-top:1px solid var(--erv2-border)}.erv2-video-cta__inner{max-width:900px;text-align:center;text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}.erv2-play-button{display:grid;place-items:center;width:104px;height:104px;margin:0 auto 2rem;background:rgb(var(--elite-heading-rgb) / .06);color:var(--erv2-ivory);border:2px solid currentColor;border-radius:50%;cursor:pointer;transition:background var(--erv2-transition),color var(--erv2-transition),transform var(--erv2-transition)}.erv2-play-button:hover{background:var(--erv2-gold);color:var(--elite-on-accent);transform:scale(1.04)}.erv2-play-button svg{width:34px;height:34px}.erv2-video-dialog{width:min(94vw,1100px);padding:0;border:0;border-radius:var(--erv2-radius-m);background:var(--erv2-obsidian);color:var(--erv2-ivory)}.erv2-video-dialog::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(8px)}.erv2-video-dialog>div{position:relative;padding:3.5rem 1rem 1rem}.erv2-video-dialog .erv2-icon-button{position:absolute;right:1rem;top:1rem}.erv2-video-dialog :is(iframe,video){display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.erv2-testimonial-card{display:grid;flex:0 0 100%;overflow:hidden;background:var(--erv2-forest);border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m);scroll-snap-align:start}.erv2-testimonial-card>img{width:100%;height:260px;object-fit:cover}.erv2-testimonial-card>div{position:relative;padding:1.5rem}.erv2-testimonial-card blockquote{margin:0 0 1.5rem;font-size:1.05rem}.erv2-testimonial-card h3{margin-bottom:.15rem}.erv2-testimonial-card p{margin:0;color:var(--erv2-stone)}.erv2-quote-icon{display:block;width:50px;margin-bottom:1rem;color:var(--elite-link)}

/* Awards/history */
.erv2-awards-section{background:var(--erv2-espresso)}.erv2-awards-grid{display:grid;gap:2rem;align-items:start}.erv2-awards-grid__banner{width:100%;height:460px;object-fit:cover;border-radius:var(--erv2-radius-m)}.erv2-awards-list{list-style:none;counter-reset:award}.erv2-awards-list li{position:relative;display:grid;grid-template-columns:58px 1fr 68px;align-items:center;gap:1rem;min-height:92px;padding:1rem 0;border-top:1px solid var(--erv2-border);counter-increment:award;isolation:isolate}.erv2-awards-list li:last-child{border-bottom:1px solid var(--erv2-border)}.erv2-award-badge{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--erv2-border-gold);border-radius:50%;font-family:var(--erv2-font-display);font-size:.8rem;color:var(--elite-link)}.erv2-awards-list h3{margin:0;font-size:1.3rem}.erv2-awards-list h3 small{display:block;margin-top:.2rem;color:var(--elite-link);font-family:var(--erv2-font-body);font-size:.75rem;letter-spacing:.16em}.erv2-awards-list li>img{position:absolute;z-index:-1;right:16%;top:50%;width:220px;height:140px;object-fit:cover;border-radius:var(--erv2-radius-m);visibility:hidden;pointer-events:none;transform:translate(50%,-50%) rotate(-15deg) scale(1.1);transition:transform var(--erv2-transition)}.erv2-award-action{position:relative;display:grid;place-items:center;width:58px;height:58px}.erv2-award-action b{font-family:var(--erv2-font-display);font-size:1.8rem;transition:opacity var(--erv2-transition),transform var(--erv2-transition)}.erv2-award-action svg{position:absolute;width:58px;height:58px;padding:18px;background:var(--erv2-gold);color:var(--elite-on-accent);border-radius:50%;opacity:0;transform:scale(0);transition:opacity var(--erv2-transition),transform var(--erv2-transition)}.erv2-awards-list li.is-active>img,.erv2-awards-list li:hover>img{visibility:visible;transform:translate(50%,-50%) rotate(-15deg) scale(1)}.erv2-awards-list li.is-active .erv2-award-action b,.erv2-awards-list li:hover .erv2-award-action b{opacity:0;transform:translateY(-100%) rotateX(-70deg)}.erv2-awards-list li.is-active .erv2-award-action svg,.erv2-awards-list li:hover .erv2-award-action svg{opacity:1;transform:scale(1)}
.erv2-history-row{position:relative;list-style:none}.erv2-history-row:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--erv2-border);pointer-events:none}.erv2-history-row li{position:relative;display:grid;grid-template-rows:1fr 1fr;flex:0 0 min(86vw,320px);min-height:450px;scroll-snap-align:start}.erv2-history-row li:before{content:"";position:absolute;z-index:2;left:50%;top:50%;width:14px;height:14px;background:var(--erv2-ivory);border-radius:50%;transform:translate(-50%,-50%);transition:width var(--erv2-transition),height var(--erv2-transition),background var(--erv2-transition)}.erv2-history-row li.is-active:before,.erv2-history-row li:hover:before{width:20px;height:20px;background:var(--erv2-gold)}.erv2-history-row li>div{padding:1.3rem;text-align:center;align-self:end}.erv2-history-row li:nth-child(even)>div{grid-row:2;align-self:start}.erv2-history-row li>img{grid-row:2;align-self:center;justify-self:center;width:145px;height:145px;object-fit:cover;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-m)}.erv2-history-row li:nth-child(even)>img{grid-row:1}.erv2-history-row li span{color:var(--elite-link);font-family:var(--erv2-font-display);font-size:1.5rem}.erv2-history-row li h3{font-size:1.55rem}.erv2-history-row li p{color:var(--erv2-stone);font-size:.9rem}

/* Gallery */
.erv2-gallery-filters{justify-content:safe center;margin:2rem 0}.erv2-gallery-grid{column-count:1;column-gap:1rem}
.erv2-gallery-dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.92);color:var(--erv2-ivory)}.erv2-gallery-dialog::backdrop{background:rgba(0,0,0,.92)}.erv2-gallery-dialog__toolbar{position:absolute;z-index:2;left:1rem;right:1rem;top:1rem;display:flex;align-items:center;justify-content:space-between}.erv2-gallery-dialog__stage{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:4.5rem .5rem 1rem}.erv2-gallery-dialog__stage figure{display:grid;place-items:center;max-height:100%;min-width:0}.erv2-gallery-dialog__stage img{max-height:calc(100vh - 8rem);width:auto;object-fit:contain;border-radius:.5rem}.erv2-gallery-dialog__stage figcaption{margin-top:.75rem;text-align:center;color:var(--erv2-pearl)}

/* Contact */
.erv2-contact-cards{display:grid;border-top:1px solid var(--erv2-border)}.erv2-contact-cards>div{padding:1.5rem 0;border-bottom:1px solid var(--erv2-border)}.erv2-contact-cards>div>span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:1rem;background:var(--erv2-gold);color:var(--elite-on-accent);border-radius:50%}.erv2-contact-cards svg{width:24px;height:24px}.erv2-contact-cards h3{font-size:1.35rem}.erv2-contact-cards p{margin:0;color:var(--erv2-stone)}.erv2-contact-copy>p{color:var(--erv2-stone)}.erv2-contact-copy hr{margin:2rem 0;border:0;border-top:1px solid var(--erv2-border)}.erv2-contact-lists{display:grid;gap:1.5rem}.erv2-location-grid{display:grid;gap:1rem}.erv2-location-card{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--erv2-radius-m);isolation:isolate}.erv2-location-card:after{content:"";position:absolute;z-index:-1;inset:0;background:rgb(var(--elite-tint-rgb) / .86)}.erv2-location-card>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.erv2-location-card>div{height:100%;display:grid;place-content:center;padding:1.5rem;text-align:center}.erv2-location-card h3:after{content:"";display:block;width:80px;margin:.8rem auto;border-top:2px dotted var(--erv2-gold)}.erv2-location-card p{margin:.35rem 0;color:var(--erv2-pearl)}

/* Footer */
.erv2-social-gallery{padding:3rem 0;background:var(--erv2-espresso);border-top:1px solid var(--erv2-border)}.erv2-social-gallery__head{display:grid;gap:1rem;margin-bottom:1.5rem}.erv2-social-gallery__head h2{font-size:clamp(1.8rem,4vw,3rem)}.erv2-social-gallery__track{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;max-width:100%;padding-inline:var(--erv2-gutter);overscroll-behavior-inline:contain}.erv2-social-gallery__item{position:relative;flex:0 0 min(62vw,220px);aspect-ratio:1;overflow:hidden;border-radius:var(--erv2-radius-m);scroll-snap-align:start}.erv2-social-gallery__item img{width:100%;height:100%;object-fit:cover}.erv2-social-gallery__item span{position:absolute;z-index:2;inset:50% auto auto 50%;opacity:0;transform:translate(calc(-50% + 20px),calc(-50% + 10px)) scale(1.2);transition:opacity .35s ease-in-out,transform .35s ease-in-out;filter:drop-shadow(0 1px 6px rgb(0 0 0 / .85))}.erv2-social-gallery__item span svg{width:38px;height:38px}.erv2-social-gallery__item:hover span,.erv2-social-gallery__item:focus-visible span{opacity:1;transform:translate(-50%,-50%) scale(1)}
.erv2-footer-main{padding-top:4rem;background:var(--erv2-forest)}.erv2-footer-grid{display:grid;gap:2.3rem;padding-bottom:3rem}.erv2-footer-brand>p{color:var(--erv2-stone)}.erv2-footer-column h3{font-size:1.35rem}.erv2-footer-menu,.erv2-legal-menu,.erv2-footer-contact{list-style:none;display:grid;gap:.65rem}.erv2-footer-menu a,.erv2-footer-contact a{color:var(--erv2-pearl)}.erv2-social-links{display:flex;gap:.65rem}.erv2-social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--erv2-border);border-radius:50%;transition:transform var(--erv2-transition),background var(--erv2-transition),color var(--erv2-transition)}.erv2-social-links a:hover{transform:translateY(-4px);background:var(--erv2-gold);color:var(--elite-on-accent)}.erv2-social-links svg{width:18px;height:18px}.erv2-footer-bottom{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--erv2-border);color:var(--erv2-stone);font-size:.84rem}.erv2-footer-bottom p{margin:0}.erv2-legal-menu{display:flex;flex-wrap:wrap;gap:1rem}.erv2-back-to-top{position:fixed;z-index:40;right:1rem;bottom:1rem;display:grid;place-items:center;width:50px;height:50px;padding:0;background:var(--erv2-gold);color:var(--elite-on-accent);border:0;border-radius:50%;box-shadow:var(--erv2-shadow);opacity:0;visibility:hidden;transform:translateY(1rem);transition:opacity .45s ease,visibility .45s ease,transform .45s ease,background var(--erv2-transition)}.erv2-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.erv2-back-to-top:hover{background:var(--erv2-ivory);color:var(--erv2-obsidian)}.erv2-back-to-top svg{width:20px;height:20px;transform:rotate(90deg)}

/* Article / utilities */
.erv2-article-hero{padding:calc(var(--erv2-header-height) + 4rem) 0 4rem;background:var(--erv2-forest);border-bottom:1px solid var(--erv2-border)}.erv2-article-hero__inner{max-width:1000px}.erv2-article-hero h1{max-width:16ch}.erv2-article-hero__image{margin-top:2.5rem;overflow:hidden;border-radius:var(--erv2-radius-l)}.erv2-article-hero__image img{width:100%;max-height:680px;object-fit:cover}.erv2-empty-state{min-height:80svh;display:grid;place-items:center;text-align:center;padding:var(--erv2-section) 0}.erv2-empty-state .erv2-container{max-width:760px}.nav-links{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:.25rem .6rem;border:1px solid var(--erv2-border);border-radius:50%}.page-numbers.current,.page-numbers:hover{background:var(--erv2-gold);color:var(--elite-on-accent)}
.erv2-archive-description{margin-bottom:2.5rem;color:var(--erv2-stone)}
.erv2-search-form{width:min(100%,760px);margin:0 auto 3rem}.erv2-search-form>label{display:block;margin-bottom:.55rem;font-weight:650;color:var(--erv2-ivory)}.erv2-search-form>div{display:flex;gap:.75rem}.erv2-search-form input{min-width:0;flex:1;height:50px;padding:.75rem 1rem;background:rgb(var(--elite-veil-rgb) / .035);color:var(--erv2-ivory);border:1px solid var(--elite-field-border);border-radius:var(--erv2-radius-s)}
.erv2-comments{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--erv2-border)}.erv2-comment-list{display:grid;gap:1rem;list-style:none}.erv2-comment-list .comment-body{padding:1.25rem;background:var(--erv2-panel);border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-s)}.erv2-comment-list .comment-meta{margin-bottom:.75rem}.erv2-comment-list .avatar{float:left;margin-right:.8rem;border-radius:50%}.erv2-comment-list .children{display:grid;gap:1rem;list-style:none;margin:1rem 0 0 1.2rem}.comment-respond{margin-top:2.5rem}.comment-form{display:grid;gap:1rem}.comment-form p{margin:0}.comment-form label{display:block;margin-bottom:.4rem;color:var(--erv2-ivory)}.comment-form input:not([type=checkbox]),.comment-form textarea{width:100%;padding:.75rem 1rem;background:rgb(var(--elite-veil-rgb) / .035);color:var(--erv2-ivory);border:1px solid var(--elite-field-border);border-radius:var(--erv2-radius-s)}.comment-form .submit{min-height:48px;padding:.72rem 1.35rem;background:var(--erv2-gold);color:var(--elite-on-accent);border:1px solid transparent;border-radius:var(--erv2-radius-pill);font-family:var(--erv2-font-display);font-weight:700;cursor:pointer}.comment-form .submit:hover{background:var(--erv2-ivory);color:var(--erv2-obsidian)}

/* Optional WooCommerce integration */
.woocommerce .woocommerce-breadcrumb{color:var(--erv2-stone)}.woocommerce .woocommerce-breadcrumb a{color:var(--erv2-pearl)}.woocommerce ul.products{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 3rem}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:1.25rem;border:1px solid var(--erv2-border);background:var(--erv2-panel)}.woocommerce ul.products li.product a img{margin:0 0 1.2rem;border-radius:var(--erv2-radius-m);transition:transform var(--erv2-transition)}.woocommerce ul.products li.product:hover a img{transform:translateY(-10px) scale(.97)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--erv2-font-display);font-size:1.5rem;color:var(--erv2-ivory)}.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--elite-link);font-weight:700}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{padding:.8rem 1.3rem!important;background:var(--erv2-gold)!important;color:var(--elite-on-accent)!important;border-radius:var(--erv2-radius-pill)!important;font-family:var(--erv2-font-display);font-weight:700}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--erv2-ivory)!important;color:var(--erv2-obsidian)!important}.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:.5rem;flex-wrap:wrap;padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs:before{border-color:var(--erv2-border)}.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0 1rem;background:transparent;border-color:var(--erv2-border);border-radius:var(--erv2-radius-pill)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--erv2-gold);color:var(--elite-on-accent)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select{padding:.75rem 1rem;background:rgb(var(--elite-veil-rgb) / .035);color:var(--erv2-ivory);border:1px solid var(--elite-field-border);border-radius:var(--erv2-radius-s)}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--erv2-panel);color:var(--erv2-pearl);border-top-color:var(--erv2-gold)}


/* Tablet */
@media (min-width:480px){
  :root{--erv2-gutter:1.5rem}
  .erv2-brand small{display:block}
  .erv2-gallery-grid{column-count:2}
  .erv2-story-section--media-marquee .erv2-story-points{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
  .erv2-contact-cards{grid-template-columns:1fr 1fr}.erv2-contact-cards>div:nth-child(odd){padding-right:1.5rem;border-right:1px solid var(--erv2-border)}.erv2-contact-cards>div:nth-child(even){padding-left:1.5rem}
}
@media (min-width:768px){
  :root{--erv2-header-height:76px}
  .erv2-header-book{display:inline-flex}
  .erv2-hero-slide__left>img,.erv2-hero-slide__right>img{height:480px}
  .erv2-hero-slide__panel{margin:-4.5rem 1.5rem 0;padding:2rem}
  .erv2-intro-grid{grid-template-columns:1fr 1.2fr}.erv2-intro-cards{grid-column:1/-1}
  .erv2-split-heading{grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr)}
  .erv2-story-grid,.erv2-booking-row,.erv2-contact-grid,.erv2-home-reservation__grid,.erv2-dish-hero__grid,.erv2-dish-details{grid-template-columns:1fr 1fr}
  .erv2-form-grid--two{grid-template-columns:1fr 1fr}
  .erv2-price-grid{grid-template-columns:repeat(2,1fr);grid-auto-flow:column;grid-template-rows:repeat(3,auto)}
  .erv2-team-card{flex-basis:310px}
  .erv2-post-grid{grid-template-columns:repeat(2,1fr)}
  .erv2-post-grid .erv2-post-card:first-child{grid-column:1/-1}
  .erv2-counter-grid{grid-template-columns:1fr 1fr}.erv2-counter-grid>div{border-right:1px solid var(--erv2-border)}.erv2-counter-grid>div:nth-child(even){border-right:0}
  .erv2-testimonial-card{grid-template-columns:220px 1fr}.erv2-testimonial-card>img{height:100%}.erv2-testimonial-card>div{padding:2.2rem}
  .erv2-awards-grid{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}.erv2-awards-grid__banner{height:100%;min-height:620px}
  .erv2-history-row li{flex-basis:310px}
  .erv2-gallery-grid{column-count:2;column-gap:1.25rem}
  .erv2-location-grid{grid-template-columns:1fr 1fr}
  .erv2-footer-grid{grid-template-columns:1.2fr .8fr .8fr 1.2fr}.erv2-footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}
  .erv2-social-gallery__head{grid-template-columns:1fr auto;align-items:end}
  .erv2-product-grid{grid-template-columns:repeat(2,1fr)}
  .erv2-product-grid--related{grid-template-columns:repeat(3,1fr)}
  .erv2-booking-row--reverse .erv2-booking-image{order:-1}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1025px){
  :root{--erv2-header-height:84px}
  .erv2-topbar{display:block}.erv2-primary-nav{display:block}.erv2-menu-toggle{display:none}
  .erv2-hero{padding-top:calc(var(--erv2-header-height) + 4.5rem)}
  .erv2-hero__slides{min-height:780px}.erv2-hero-slide{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;gap:2rem}.erv2-hero-slide__left>img{height:430px}.erv2-hero-slide__right>img{height:690px}.erv2-hero-slide__panel{position:absolute;z-index:2;left:0;top:0;width:min(78%,700px);margin:0;padding:2.2rem 2.4rem 5.5rem;border-radius:0 0 var(--erv2-radius-l) 0}.erv2-hero-slide__heading{margin-bottom:2rem}.erv2-hero-slide__heading :is(h1,h2){font-size:clamp(3.6rem,5.4vw,5.8rem)}.erv2-hero__controls{width:min(600px,60%);margin:2rem auto 0}
  .erv2-intro-grid{grid-template-columns:1fr 1fr 1fr;gap:2.5rem}.erv2-intro-cards{grid-column:auto}.erv2-intro-card{min-height:190px}.erv2-intro-card--wide{min-height:270px}
  .erv2-flex-banner{overflow:visible;scroll-snap-type:none}.erv2-flex-banner__item{flex:1 1 0;min-width:0;height:570px;transition:flex .8s var(--erv2-ease-expand)}.erv2-flex-banner__item.is-active,.erv2-flex-banner__item:hover{flex:2 1 0}.erv2-flex-banner__label{inset:0 0 0 auto;width:70%;display:flex;flex-direction:column;justify-content:center;background:rgb(var(--elite-scrim-rgb) / .88);transform:translateX(100%);transition:transform var(--erv2-transition) 380ms}.erv2-flex-banner__item.is-active .erv2-flex-banner__label,.erv2-flex-banner__item:hover .erv2-flex-banner__label{transform:none}.erv2-flex-banner__label>*{transform:translateY(50px);transition:transform .5s var(--erv2-ease)}.erv2-flex-banner__item.is-active .erv2-flex-banner__label>*,.erv2-flex-banner__item:hover .erv2-flex-banner__label>*{transform:none}.erv2-flex-banner__label h3{transition-delay:480ms}.erv2-flex-banner__label p{transition-delay:550ms}.erv2-flex-banner__label ul{transition-delay:620ms}.erv2-flex-banner__label .erv2-button{transition-delay:680ms}
  .erv2-story-grid{grid-template-columns:.82fr 1.18fr;gap:5rem}.erv2-story-image>img{min-height:680px}
  .erv2-story-section--media-marquee .erv2-story-grid{grid-template-columns:.82fr 1.18fr;align-items:stretch}.erv2-story-section--media-marquee .erv2-story-image{min-height:600px}.erv2-story-section--media-marquee .erv2-story-copy{position:relative;top:calc(-1*(1.65*.82rem + 1rem))}
  .erv2-menu-card{flex-basis:calc((100% - 3rem)/4)}
  .erv2-price-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,auto)}
  .erv2-team-row{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}.erv2-team-card{width:auto;min-width:0}
  .erv2-post-grid{grid-template-columns:repeat(3,1fr)}.erv2-post-grid .erv2-post-card:first-child{grid-column:auto}
  .erv2-home-reservation__grid{grid-template-columns:1.5fr 1fr}
  .erv2-form-grid--three{grid-template-columns:repeat(3,1fr)}
  .erv2-booking-row{grid-template-columns:1.5fr 1fr;gap:2.5rem}.erv2-booking-row--reverse{grid-template-columns:1fr 1.5fr}
  .erv2-counter-grid{grid-template-columns:repeat(4,1fr)}.erv2-counter-grid>div{border-right:1px solid var(--erv2-border);border-bottom:0}.erv2-counter-grid>div:last-child{border-right:0}
  .erv2-testimonial-card{flex-basis:min(78vw,1180px);grid-template-columns:260px 1fr}
  .erv2-history-row li{flex-basis:calc((100% - 3rem)/4)}
  .erv2-gallery-grid{column-count:3}
  .erv2-contact-cards{grid-template-columns:repeat(4,1fr)}.erv2-contact-cards>div{padding:1.6rem;border-right:1px solid var(--erv2-border)}.erv2-contact-cards>div:last-child{border-right:0}.erv2-contact-cards>div:nth-child(even){padding-left:1.6rem}.erv2-contact-lists{grid-template-columns:1fr 1fr}.erv2-location-grid{grid-template-columns:repeat(4,1fr)}
  .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}
}
/* Split heading + feature list: centre the list on the title (h2). align-self centres it on the heading block
   (eyebrow line + 1rem + title + the title's .55em margin); the shift moves that centre onto the title's.
   The list is shorter than the heading, so the row height and the cards below never change. */
@media (min-width:1024px){.erv2-split-heading>.erv2-feature-list{align-self:center;transform:translateY(calc((1.65*.82rem + 1rem - .55*clamp(2.3rem,5vw,4rem))/2))}}
/* Side-by-side hero: until the inline script has fitted the titles (.is-fitted), the hidden slides' unfitted titles don't size the row, so fitting barely moves the visible slide. Nothing is hidden. */
@media (min-width:1025px){.erv2-hero:not(.is-fitted) .erv2-hero-slide:not(.is-active){position:absolute;inset:auto 0 0}}
@media (min-width:1281px){
  .erv2-primary-menu a{padding-inline:1.05rem}.erv2-header-book{padding:.75rem 1.4rem}
  .erv2-hero-slide__panel{width:72%}
  .erv2-gallery-grid{column-count:4}
  .erv2-product-grid{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:1541px){
  :root{--erv2-gutter:2rem}
  
}
@media (max-width:782px){.admin-bar .erv2-site-header{top:46px}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .erv2-marquee__track{transform:none!important}
}

/* Block pages: core blocks rendered with the theme component look (Gallery). */
.wp-block-cover.erv2-page-hero{justify-content:normal}
.wp-block-cover.erv2-page-hero:not(:has(>.wp-block-cover__image-background)):before{content:"";position:absolute;inset:0;background:url('/wp-content/themes/elite-restaurant-v2/assets/images/elan-room-main-dining.webp') center/cover}

.wp-block-cover.erv2-page-hero .wp-block-cover__inner-container{width:min(100% - (var(--erv2-gutter)*2),var(--erv2-container));margin-inline:auto;color:var(--erv2-pearl);text-align:center}
.wp-block-cover.erv2-page-hero h1{margin:0 0 .55em;color:var(--erv2-ivory)}
.wp-block-breadcrumbs.erv2-breadcrumbs ol{justify-content:center;gap:.65rem}
.wp-block-breadcrumbs.erv2-breadcrumbs li:not(:last-child):after{margin:0 0 0 .65rem;opacity:1}
.wp-block-gallery.has-nested-images.erv2-gallery-grid{display:block;margin:0}
.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image:not(#individual-image){display:block;width:100%;margin:0 0 1rem;overflow:hidden;border-radius:var(--erv2-radius-m);break-inside:avoid}
.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image[hidden]:not(#individual-image){display:none}
.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image>a{position:relative;display:block}
.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image img{width:100%;min-height:250px;object-fit:cover;border-radius:0}
.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image figcaption,.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image:has(figcaption):before{display:none}

.erv2-gallery-grid figure.wp-block-image>a:after{content:"+";position:absolute;z-index:2;inset:50% auto auto 50%;font-family:var(--erv2-font-display);font-size:3rem;line-height:1.65;color:var(--erv2-white);opacity:0;transform:translate(calc(-50% + 20px),calc(-50% + 10px)) scale(1.2);transition:opacity .35s ease-in-out,transform .35s ease-in-out;text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}

.erv2-gallery-grid figure.wp-block-image>a:hover:after,.erv2-gallery-grid figure.wp-block-image>a:focus-visible:after{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (min-width:768px){.wp-block-gallery.has-nested-images.erv2-gallery-grid figure.wp-block-image:not(#individual-image){margin-bottom:1.25rem}}

/* Page-hero overlay follows the palette scrim (overrides the colour saved in cover blocks). */


.erv2-page-hero>.wp-block-cover__inner-container{text-shadow:0 1px 2px rgb(var(--elite-scrim-rgb) / .9),0 2px 18px rgb(var(--elite-scrim-rgb) / .7)}
.erv2-category-strip>button.is-active span,.erv2-category-strip>a.is-active span{box-shadow:0 0 0 3px rgb(var(--elite-accent-rgb) / .45)}
/* Privacy layer (inc/consent.php): EDS Consent in the Élan palette, click-to-load map, translation gate, footer legal row, demo notices. No entrance animation (no-fade design). */
.eds-consent.erv2-consent,.erv2-map-panel .eds-embed{--eds-consent-bg:var(--erv2-forest);--eds-consent-fg:var(--erv2-ivory);--eds-consent-muted:var(--erv2-pearl);--eds-consent-border:var(--erv2-border-gold);--eds-consent-btn-bg:var(--erv2-gold);--eds-consent-btn-fg:var(--elite-on-accent);--eds-consent-btn-border:var(--erv2-gold);--eds-consent-quiet-fg:var(--erv2-ivory);--eds-consent-focus:var(--elite-focus);--eds-consent-radius:var(--erv2-radius-m);--eds-consent-btn-radius:var(--erv2-radius-pill);--eds-consent-font:var(--erv2-font-body);--eds-consent-title-font:var(--erv2-font-display);--eds-consent-speed:0ms;--eds-consent-shadow:var(--erv2-shadow);--eds-consent-backdrop:rgb(var(--elite-scrim-rgb) / .72)}
.erv2-consent .eds-consent__banner,.erv2-consent .eds-consent__panel{animation:none;border:1px solid var(--erv2-border-gold)}
.erv2-consent .eds-consent__banner{max-width:820px}
.erv2-consent .eds-consent__title{font-weight:400;font-size:clamp(1.5rem,1.2rem + .8vw,2rem);letter-spacing:.01em}
.erv2-consent .eds-consent__category-title{font-weight:500}
.erv2-consent .eds-consent__panel{width:min(760px,100%)}
.erv2-consent .eds-consent__btn{font-family:var(--erv2-font-display);font-size:.95rem;font-weight:600;letter-spacing:.01em;transition:background var(--erv2-transition),border-color var(--erv2-transition),color var(--erv2-transition)}
.erv2-consent .eds-consent__btn:hover{background:var(--erv2-antique);border-color:var(--erv2-antique)}
.erv2-consent .eds-consent__btn--quiet{color:var(--erv2-ivory)}
.erv2-consent .eds-consent__btn--quiet:hover{background:rgb(var(--elite-accent-rgb) / .14);border-color:var(--erv2-gold)}
.erv2-consent .eds-consent__switch input{background:rgb(var(--elite-text-rgb) / .25);border-color:var(--erv2-border)}
.erv2-consent .eds-consent__switch input::after{background:var(--erv2-ivory)}
.erv2-consent .eds-consent__switch input:checked{background:var(--erv2-gold);border-color:var(--erv2-gold)}
.erv2-consent .eds-consent__switch input:checked::after{background:var(--elite-on-accent)}
.erv2-consent .eds-consent__close{color:var(--erv2-ivory)}
.erv2-map-panel>.eds-embed{position:absolute;inset:0}
.erv2-map-panel .eds-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.erv2-map-panel .eds-embed__placeholder{align-content:start;min-height:100%;padding-bottom:12rem;border:0;border-radius:0;background:var(--erv2-forest)}
.erv2-map-panel .eds-embed__title{font-size:1.4rem;font-weight:400}
.erv2-map-panel .eds-embed__button{font-family:var(--erv2-font-display);font-weight:600}
.erv2-map-panel .eds-embed__button:hover{background:var(--erv2-antique);border-color:var(--erv2-antique)}
.erv2-translate-gate{padding:.45rem .95rem;background:transparent;border:1px solid var(--erv2-border);border-radius:var(--erv2-radius-pill);color:var(--erv2-ivory);font-family:var(--erv2-font-display);font-size:.9rem;cursor:pointer;transition:border-color var(--erv2-transition),color var(--erv2-transition)}
.erv2-translate-gate:hover{border-color:var(--erv2-gold);color:var(--elite-link)}
.erv2-cookie-settings{margin-left:.6rem;padding:0;border:0;background:none;color:var(--erv2-ivory);font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.erv2-cookie-settings:hover{color:var(--elite-link)}
.erv2-copyright{display:grid;gap:.35rem}
.erv2-demo-note{margin:0;color:var(--erv2-stone);font-size:.84rem;line-height:1.5}
.erv2-form .erv2-demo-note,.erv2-form-privacy{grid-column:1/-1;margin:0;font-size:.85rem;line-height:1.5;color:var(--erv2-stone)}
.erv2-form-privacy a{color:var(--erv2-ivory)}
.erv2-legal-menu a{color:var(--erv2-stone)}
.erv2-legal-menu a:hover,.erv2-legal-menu a:focus-visible{color:var(--erv2-ivory)}
