/* ===========================================================================
   Elementor layer: structure guards, the section tones and edges, and the
   widget vocabulary (kicker / script / title / chalk-title / lede / body /
   buttons / lists / photos / cards) every page is written in.

   The PHP fallback templates emit Elementor-shaped markup inside `.elementor`,
   so every rule here serves the builder page and the fallback alike.

   Specificity: Elementor's kit styles headings, text and buttons at (0,3,0)
   and, inside the editor iframe, loads AFTER the theme. `body .elementor …`
   reaches (0,3,1): enough to beat the kit, not enough to beat the owner's own
   per-widget style controls at (0,4,0). No !important here — it would
   silently break those controls.

   Elementor 4 ("optimized markup") drops `.elementor-widget-container`, so no
   rule below depends on it: measures and alignment sit on the heading, the
   paragraphs and the button wrapper, which exist in both versions.
   =========================================================================== */

/* --------------------------------------------------------------- structure */

/* Sections and columns stay `relative`: the editor gives every section an
   absolutely-positioned .elementor-background-overlay, and releasing those to
   the .elementor wrapper stacks invisible sheets over the page. */
body .elementor .elementor-section{position:relative}
body .elementor .elementor-column{position:relative}
body .elementor .elementor-section.elementor-section-boxed > .elementor-container{
  max-width:var(--container);padding-inline:var(--gutter);position:relative;z-index:2;
}
body .elementor .elementor-section.elementor-section-full_width > .elementor-container{max-width:none}
body .elementor .elementor-column > .elementor-widget-wrap{padding:0;align-content:flex-start}
body .elementor .elementor-widget:not(:last-child){margin-bottom:1.25rem}
/* Widgets are flex items (min-width:auto). Without this, the intrinsic width
   of anything wide inside one — the menu's tab strip, a table — propagates up
   and blows the column out past the screen on phones. */
body .elementor .elementor-widget,body .elementor .elementor-column{min-width:0}
/* The text-editor wrapper exists only in the editor; on the live page the
   HTML is the widget's direct child. Never put layout on the widget itself. */
body .elementor .elementor-widget-text-editor{display:block}

body .elementor .col-middle > .elementor-widget-wrap{align-content:center;height:100%}
body .elementor .center > .elementor-widget-wrap{justify-content:center;text-align:center}

/* gutters between side-by-side columns; the container gives back what the
   columns take, so outer edges line up with every other band */
body .elementor .cols-gap > .elementor-container > .elementor-column{padding-inline:calc(var(--tf-gap) / 2)}
body .elementor .elementor-section.cols-gap > .elementor-container{padding-inline:calc(var(--gutter) - var(--tf-gap) / 2)}
body .elementor .cols-gap-lg > .elementor-container > .elementor-column{padding-inline:clamp(1rem, 2.6vw, 3rem)}
body .elementor .elementor-section.cols-gap-lg > .elementor-container{padding-inline:calc(var(--gutter) - clamp(1rem, 2.6vw, 3rem))}

/* Elementor stacks columns at 767. Two-column story sections are cramped
   between 768 and 1024, so these stack at Elementor's tablet breakpoint too. */
@media (max-width:1024px){
  body .elementor .stack-tablet > .elementor-container{flex-wrap:wrap}
  body .elementor .stack-tablet > .elementor-container > .elementor-column{width:100%}
  body .elementor .stack-tablet > .elementor-container > .elementor-column + .elementor-column{margin-top:2.75rem}
}
@media (max-width:767px){
  body .elementor .elementor-section > .elementor-container > .elementor-column + .elementor-column{margin-top:2.25rem}
  body .elementor .cols-gap > .elementor-container > .elementor-column{padding-inline:0}
  body .elementor .elementor-section.cols-gap > .elementor-container{padding-inline:var(--gutter)}
  body .elementor .cols-gap-lg > .elementor-container > .elementor-column{padding-inline:0}
  body .elementor .elementor-section.cols-gap-lg > .elementor-container{padding-inline:var(--gutter)}
}

/* ------------------------------------------------------------------ tones */

body .elementor .sec{padding-block:var(--section-y)}
body .elementor .sec-tight{padding-block:var(--section-y-tight)}
body .elementor .sec-flush-top{padding-top:0}

/* butcher paper */
body .elementor .sec-paper{background-color:var(--paper);background-image:var(--tx-paper);color:var(--text)}
/* sea foam: the palest ice, with the swell drawn across it */
body .elementor .sec-foam{background-color:var(--foam);background-image:var(--tx-swell);color:var(--text)}
/* the deep blue of the bar at night */
body .elementor .sec-navy{
  background-color:var(--navy);color:var(--on-dark);
  background-image:radial-gradient(60% 70% at 85% 10%,rgba(0,62,143,.55),rgba(0,62,143,0) 70%),var(--tx-swell-dark);
}
/* shell white: warm paper grain, and the badge fish swimming faintly
   through the corner (the first band of a run only) */
body .elementor .sec-shell{
  position:relative;isolation:isolate;overflow:hidden;
  background-color:#F3EEE6;background-image:var(--tx-paper),linear-gradient(160deg,#F7F3EC 0%,#EEE7DC 100%);color:var(--text);
}
body .elementor .sec-shell:not(.sec-flush-top)::before{
  content:"";position:absolute;right:-5%;bottom:-8%;z-index:-1;pointer-events:none;
  width:min(820px,78%);aspect-ratio:900 / 350;background:var(--cobalt);opacity:.05;
  -webkit-mask:var(--tx-fish) center / contain no-repeat;mask:var(--tx-fish) center / contain no-repeat;
}
/* the chalkboard */
body .elementor .sec-slate{
  position:relative;isolation:isolate;
  background-color:var(--slate);background-image:var(--tx-slate);background-size:900px auto;color:var(--chalk);
}
body .elementor .sec-slate::before{    /* chalk dust gathered along the bottom of the board */
  content:"";position:absolute;inset:auto 0 0;height:60%;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 100%,rgba(244,241,232,.06),rgba(244,241,232,0) 70%);
}

/* the room itself behind a section: the restaurant's own photograph (the
   section's Elementor background, so it can be swapped), under the navy. On a
   desktop it stays put while the content scrolls over it. */
body .elementor .sec-amb{position:relative;isolation:isolate;background-color:var(--navy);background-size:cover;background-position:center;color:var(--on-dark)}
body .elementor .sec-amb::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(3,19,49,.94) 0%,rgba(3,19,49,.8) 45%,rgba(3,19,49,.6) 100%),
    linear-gradient(180deg,rgba(3,19,49,.35),rgba(3,19,49,.55));
}
body .elementor .sec-amb > .elementor-container{position:relative;z-index:1}
@media (hover:hover) and (pointer:fine){ body .elementor .sec-amb{background-attachment:fixed} }

/* a band that runs on into a flush-top band of the same tone shares its ground */
body .elementor .sec-navy:has(+ :where(.sec-navy.sec-flush-top)),
body .elementor .sec-navy + :where(.sec-navy.sec-flush-top){background-image:var(--tx-swell-dark)}
body .elementor .sec-shell + .sec-shell.sec-flush-top,
body .elementor .sec-paper + .sec-paper.sec-flush-top{box-shadow:none}

/* ------------------------------------------------------------ tide lines */

/* The wave where one band meets the next. The band's own edge is cut by a
   mask and the next band slides up underneath, so whatever is beneath — tin,
   resin, ice, a photograph — shows through the curve itself. In the editor
   the edges are straight, so nothing there is ever cut off or overlapped. */
body:not(.elementor-editor-active) .elementor .edge-tide{
  z-index:3;
  -webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--edge-h) + 1px) no-repeat,var(--wave-down) bottom / calc(var(--edge-h) * 24) var(--edge-h) repeat-x;
          mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--edge-h) + 1px) no-repeat,var(--wave-down) bottom / calc(var(--edge-h) * 24) var(--edge-h) repeat-x;
}
body:not(.elementor-editor-active) .elementor .edge-tide + .elementor-section{margin-top:calc(var(--edge-h) * -1)}
body:not(.elementor-editor-active) .elementor .edge-tide + .sec{padding-top:calc(var(--section-y) + var(--edge-h))}
body:not(.elementor-editor-active) .elementor .edge-tide + .sec-tight{padding-top:calc(var(--section-y-tight) + var(--edge-h))}

body:not(.elementor-editor-active) .elementor .edge-tide-top{
  z-index:3;margin-top:calc(var(--edge-h) * -1);
  -webkit-mask:var(--wave-up) top / calc(var(--edge-h) * 24) var(--edge-h) repeat-x,linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--edge-h) + 1px) no-repeat;
          mask:var(--wave-up) top / calc(var(--edge-h) * 24) var(--edge-h) repeat-x,linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--edge-h) + 1px) no-repeat;
}
body:not(.elementor-editor-active) .elementor .edge-tide-top.sec{padding-top:calc(var(--section-y) + var(--edge-h))}
body:not(.elementor-editor-active) .elementor .edge-tide-top.sec-tight{padding-top:calc(var(--section-y-tight) + var(--edge-h))}
/* two waves never meet head on */
body:not(.elementor-editor-active) .elementor .edge-tide + .edge-tide-top{margin-top:calc(var(--edge-h) * -1)}

/* ------------------------------------------------------------- typography */

body .elementor .elementor-widget-heading .elementor-heading-title{
  font-family:var(--font-display);font-weight:800;line-height:var(--lh-display);letter-spacing:.005em;
  text-transform:none;color:var(--charcoal);margin:0;
}
/* (0,3,1): the kit sets text-widget colour AND font family (Roboto by default) */
body .elementor .elementor-widget.elementor-widget-text-editor{
  color:var(--text-2);font-family:var(--font-text);font-size:var(--fs-body);font-weight:400;line-height:1.7;
}
body .elementor .elementor-widget-text-editor p{text-wrap:pretty}
body .elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
body .elementor .elementor-widget-text-editor a{color:var(--cobalt);font-weight:700}
body .elementor .elementor-widget-text-editor a:hover{color:var(--navy)}
body .elementor .elementor-widget-text-editor strong{color:var(--text);font-weight:700}

/* kicker: tall caps after a little gold wave */
body .elementor .kicker .elementor-heading-title{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--font-display);font-size:clamp(1rem, .95rem + .2vw, 1.15rem);font-weight:800;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cobalt);
}
body .elementor .kicker .elementor-heading-title::before,
body .elementor .center.kicker .elementor-heading-title::after{
  content:"";width:30px;height:7px;flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='7' viewBox='0 0 30 7'%3E%3Cpath d='M1 3.5c3.5 0 3.5-2.5 7-2.5s3.5 2.5 7 2.5 3.5-2.5 7-2.5 3.5 2.5 7 2.5' fill='none' stroke='%23C2912B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .elementor .elementor-widget.kicker{margin-bottom:.8rem}

/* the line written in chalk script */
body .elementor .script .elementor-heading-title{
  display:inline-block;font-family:var(--font-script);font-weight:400;font-size:var(--fs-script);line-height:1.15;letter-spacing:0;
  color:var(--cobalt);transform:rotate(-2deg);transform-origin:left center;
}
body .elementor .center.script .elementor-heading-title{transform-origin:center}
body .elementor .elementor-widget.script{margin-bottom:.35rem}

/* titles: tall tin-sign capitals */
body .elementor .title .elementor-heading-title{
  font-size:var(--fs-h2);text-transform:uppercase;max-width:17ch;text-wrap:balance;
}
body .elementor .title .elementor-heading-title em{font-style:normal;color:var(--cobalt)}
/* the gold squiggle: once, under the whole heading. Drawn under the coloured
   words it ran under every line, and tight display lines overlapped it. */
body .elementor .title .elementor-heading-title:has(em)::after{
  content:"";display:block;width:min(2.6em,60%);height:.16em;margin-top:.34em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 5c5 0 5-3.6 10-3.6S15 5 20 5s5-3.6 10-3.6S35 5 40 5' fill='none' stroke='%23C2912B' stroke-width='2.4'/%3E%3C/svg%3E") 0 50% / .62em .16em repeat-x;
}
body .elementor :is(.center .title,.title.center) .elementor-heading-title:has(em)::after{margin-inline:auto}
body .elementor .title-page .elementor-heading-title{font-size:var(--fs-h1);max-width:15ch}
body .elementor .elementor-widget.title{margin-bottom:1.1rem}

/* chalk lettering, typed (the face is capitals only) */
body .elementor .chalk-title .elementor-heading-title{
  display:inline-block;font-family:var(--font-chalk);font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.05;
  font-size:clamp(2rem, 1.4rem + 2.4vw, 3.4rem);color:var(--chalk);
  padding-bottom:.32em;background:var(--tx-rule) center bottom / 100% 9px no-repeat;
  text-shadow:0 0 1px rgba(244,241,232,.35);
}
body .elementor .chalk-title-xl .elementor-heading-title{font-size:clamp(3.4rem, 2rem + 6vw, 7.5rem);letter-spacing:.06em;padding-bottom:.22em;background-size:100% 12px}

body .elementor .lede{font-family:var(--font-text);font-size:var(--fs-lede);font-weight:400;line-height:1.5;color:var(--text)}
body .elementor .lede p{max-width:50ch}
body .elementor .body p{max-width:min(62ch,100%)}
body .elementor .elementor-widget.lede{margin-bottom:1.9rem}
body .elementor .fine{font-size:.9rem;color:var(--muted)}
body .elementor .fine p{max-width:66ch}
body .elementor .chalk-body{color:var(--chalk-2)}
body .elementor .chalk-body strong{color:var(--chalk-y)}
body .elementor .chalk-body p{max-width:52ch}

body .elementor .center{text-align:center}
body .elementor .center .elementor-heading-title{margin-inline:auto}
body .elementor .center p{margin-inline:auto}
body .elementor .center .elementor-button-wrapper{text-align:center}
body .elementor .kicker.center .elementor-heading-title{justify-content:center}

/* ------------------------------------------------------- tones: dark grounds */

body .elementor .sec-navy .elementor-heading-title,body .elementor .sec-amb .elementor-heading-title,body .elementor .sec-slate .elementor-heading-title,body .elementor .hero .elementor-heading-title,body .elementor .page-hero .elementor-heading-title{color:var(--white)}
body .elementor .sec-navy .kicker .elementor-heading-title,body .elementor .sec-amb .kicker .elementor-heading-title,body .elementor .sec-slate .kicker .elementor-heading-title,body .elementor .hero .kicker .elementor-heading-title,body .elementor .page-hero .kicker .elementor-heading-title{color:var(--ice)}
body .elementor .sec-navy .script .elementor-heading-title,body .elementor .sec-amb .script .elementor-heading-title,body .elementor .sec-slate .script .elementor-heading-title,body .elementor .hero .script .elementor-heading-title,body .elementor .page-hero .script .elementor-heading-title{color:var(--gold-hi)}
body .elementor .sec-navy .title .elementor-heading-title em,body .elementor .sec-amb .title .elementor-heading-title em,body .elementor .sec-slate .title .elementor-heading-title em,body .elementor .hero .title .elementor-heading-title em,body .elementor .page-hero .title .elementor-heading-title em{color:var(--ice)}
body .elementor .sec-navy .elementor-widget-text-editor,body .elementor .sec-amb .elementor-widget-text-editor,body .elementor .hero .elementor-widget-text-editor,body .elementor .page-hero .elementor-widget-text-editor{color:var(--on-dark-2)}
body .elementor .sec-slate .elementor-widget-text-editor{color:var(--chalk-2)}
body .elementor .sec-navy .lede,body .elementor .sec-amb .lede,body .elementor .hero .lede,body .elementor .page-hero .lede{color:var(--on-dark)}
body .elementor .sec-navy .elementor-widget-text-editor strong,body .elementor .sec-amb .elementor-widget-text-editor strong,body .elementor .page-hero .elementor-widget-text-editor strong{color:var(--white)}
body .elementor .sec-navy .elementor-widget-text-editor a,body .elementor .sec-amb .elementor-widget-text-editor a,body .elementor .sec-slate .elementor-widget-text-editor a,body .elementor .page-hero .elementor-widget-text-editor a{color:var(--gold-hi)}
body .elementor .sec-navy .fine,body .elementor .sec-slate .fine{color:var(--on-dark-3)}

/* ----------------------------------------------------------------- buttons */

/* the Button widget, drawn from the same finish properties as the PHP .btn */
body .elementor .elementor-widget-button .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:54px;padding:.85rem 1.6rem;
  border:2px solid var(--b-bd, var(--gold));border-radius:var(--r-sm);
  background:var(--b-bg, var(--gold));color:var(--b-fg, var(--abyss));
  font-family:var(--font-display);font-size:1.08rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1;
  text-decoration:none;position:relative;overflow:hidden;isolation:isolate;
  box-shadow:0 16px 34px -18px var(--b-glow, rgba(194,145,43,.55));
  transition:transform .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
/* a glint runs across on hover, like light off the bar top */
body .elementor .elementor-widget-button .elementor-button::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 48%,transparent 66%);
  transform:translateX(-120%);transition:transform .75s var(--ease);
}
body .elementor .elementor-widget-button .elementor-button:hover{background:var(--b-hover, var(--gold-hi));color:var(--b-fg, var(--abyss));transform:translateY(-2px)}
body .elementor .elementor-widget-button .elementor-button:hover::before{transform:translateX(120%)}
body .elementor .elementor-button .elementor-button-text{display:inline-flex;align-items:center;gap:.55rem}
body .elementor .btn-glass .elementor-button,body .elementor .btn-chalk .elementor-button{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
body .elementor .btn-sm .elementor-button{min-height:46px;padding:.6rem 1.1rem;font-size:.95rem}

/* drawn icons (the Button widget has no icon of its own here) */
body .elementor .btn-ico-arrow .elementor-button-text::after,
body .elementor .btn-ico-phone .elementor-button-text::before,
body .elementor .btn-ico-pin .elementor-button-text::before,
body .elementor .btn-ico-facebook .elementor-button-text::before,
body .elementor .btn-ico-instagram .elementor-button-text::before{
  content:"";width:1.15em;height:1.15em;flex:none;background:currentColor;
  -webkit-mask:var(--ico) center / contain no-repeat;mask:var(--ico) center / contain no-repeat;
  transition:transform .2s var(--ease);
}
body .elementor .btn-ico-arrow{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E")}
body .elementor .btn-ico-phone{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 3.8h3.2l1.7 4.3-2.1 1.3a11.6 11.6 0 0 0 6.8 6.8l1.3-2.1 4.3 1.7V19a1.6 1.6 0 0 1-1.7 1.6A16.4 16.4 0 0 1 3.4 5.5 1.6 1.6 0 0 1 5 3.8Z'/%3E%3C/svg%3E")}
body .elementor .btn-ico-pin{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E")}
body .elementor .btn-ico-facebook{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M14.2 8.6h2.4V5.2h-2.8c-2.6 0-3.9 1.6-3.9 4v2H7.6v3.3h2.3v7.4h3.4v-7.4h2.8l.5-3.3h-3.3V9.6c0-.6.3-1 .9-1Z'/%3E%3C/svg%3E")}
body .elementor .btn-ico-instagram{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='4.6'/%3E%3Ccircle cx='12' cy='12' r='3.6'/%3E%3Ccircle cx='17' cy='7' r='.6'/%3E%3C/svg%3E")}
body .elementor .btn-ico-arrow .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}

/* side-by-side buttons: Button widgets share a row */
body .elementor .elementor-widget-button.btn{width:auto;max-width:100%;margin:0 .7rem .7rem 0}
body .elementor .elementor-widget-button.btn:last-child{margin-right:0}
body .elementor .center .elementor-widget-button.btn,body .elementor .center.elementor-widget-button.btn{margin-inline:.35rem}
@media (max-width:400px){
  body .elementor .elementor-widget-button.btn{width:100%;margin-right:0}
  body .elementor .elementor-widget-button.btn .elementor-button{width:100%}
}

/* ------------------------------------------------------------------- lists */

/* `ticks`: a checklist. The kit colours the <i> directly, so the marker is
   drawn on the icon box itself and the glyph is hidden. */
body .elementor .ticks .elementor-icon-list-items{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
body .elementor .ticks .elementor-icon-list-item{display:flex;align-items:flex-start;gap:.85rem;font-size:var(--fs-body);line-height:1.45}
body .elementor .ticks .elementor-icon-list-icon{
  flex:none;width:24px;height:24px;margin-top:.05em;border-radius:50%;background:var(--ice);position:relative;
}
body .elementor .ticks .elementor-icon-list-icon::after{
  content:"";position:absolute;inset:5px;background:var(--cobalt);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.4 4.4L19 7.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.4 4.4L19 7.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .elementor .ticks .elementor-icon-list-icon i,
body .elementor .ticks .elementor-icon-list-icon svg{display:none}
body .elementor .ticks .elementor-icon-list-text{color:var(--text);font-family:var(--font-text);font-weight:600}
body .elementor .sec-navy .ticks .elementor-icon-list-text,body .elementor .sec-amb .ticks .elementor-icon-list-text,body .elementor .page-hero .ticks .elementor-icon-list-text{color:var(--on-dark)}
body .elementor .sec-navy .ticks .elementor-icon-list-icon,body .elementor .sec-amb .ticks .elementor-icon-list-icon{background:var(--gold)}
body .elementor .sec-navy .ticks .elementor-icon-list-icon::after,body .elementor .sec-amb .ticks .elementor-icon-list-icon::after{background:var(--abyss)}
body .elementor .elementor-widget.ticks{margin-bottom:2rem}

/* `steps`: numbered in chalk, on the board */
body .elementor .steps .elementor-icon-list-items{
  list-style:none;margin:2.4rem auto 0;padding:0;counter-reset:step;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem, 3vw, 2.5rem);max-width:1100px;
}
body .elementor .steps .elementor-icon-list-item{
  counter-increment:step;display:block;position:relative;text-align:center;
  padding:1.6rem 1.2rem 1.4rem;border:2px dashed rgba(244,241,232,.38);border-radius:14px;
}
body .elementor .steps .elementor-icon-list-item::before{
  content:counter(step);display:block;margin:0 auto .5rem;
  font-family:var(--font-chalk);font-size:3.6rem;line-height:1;color:var(--chalk-y);
}
body .elementor .steps .elementor-icon-list-icon{display:none}
body .elementor .steps .elementor-icon-list-text{display:block;color:var(--chalk-2);font-size:1.02rem;line-height:1.55}
body .elementor .steps .elementor-icon-list-text strong{
  display:block;margin-bottom:.35rem;font-family:var(--font-chalk);font-weight:400;font-size:1.6rem;letter-spacing:.04em;text-transform:uppercase;color:var(--chalk);
}
@media (max-width:767px){ body .elementor .steps .elementor-icon-list-items{grid-template-columns:1fr} }

/* ----------------------------------------------------------------- toggles */

/* the fallback pages have no Elementor script: main.js opens them, and only
   once it is running is anything closed */
html.js body:not(.elementor-page) .elementor .elementor-toggle .elementor-tab-content{display:none}
html.js body:not(.elementor-page) .elementor .elementor-toggle .elementor-tab-title.elementor-active + .elementor-tab-content{display:block}

/* ------------------------------------------------------------------ images */

body .elementor .elementor-widget-image img{display:block;max-width:100%;height:auto}
body .elementor .elementor-widget-image{text-align:center}

/* photo: a photograph with a soft drop */
body .elementor .photo img{width:100%;border-radius:var(--r);box-shadow:var(--shadow-2);object-fit:cover}
/* in a pressed-tin frame */
body .elementor .photo-tin img{
  border:12px solid transparent;border-radius:6px;
  background:var(--tx-tin-dark) center / 120px 120px border-box;
  box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,var(--shadow-2);
}
/* in a wooden frame, like the boards */
body .elementor .photo-frame-wood img{
  border:14px solid transparent;border-radius:6px;
  background:var(--tx-wood) center / 420px auto border-box;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.35),0 30px 60px -28px rgba(0,0,0,.85);
}
body .elementor .photo-tilt-l{transform:rotate(-2deg)}
body .elementor .photo-tilt-r{transform:rotate(2deg)}
/* a second photo pinned over the corner of the first */
body .elementor .elementor-widget.photo-inset{width:58%;margin:-18% 0 0 auto;position:relative;z-index:2;transform:rotate(3deg)}
@media (max-width:767px){ body .elementor .elementor-widget.photo-inset{width:66%;margin-top:-22%} }

/* the restaurant's own chalk lettering */
body .elementor .chalk-art img{width:min(100%,560px);margin-inline:auto;filter:drop-shadow(0 0 1px rgba(244,241,232,.25))}
body .elementor .chalk-art-note img{width:min(100%,460px)}
/* the chalk rail with the badge over the menu board, the plain one under it */
body .elementor .chalk-rail img{width:min(100%,1100px);filter:none;opacity:.92}
body .elementor .elementor-widget.chalk-rail{margin-bottom:1.2rem}
body .elementor .elementor-widget.chalk-rail-end{margin:1.4rem 0 0}
/* a chalk sign hung over a band (the bar menu) */
body .elementor .chalk-sign img{width:min(100%,520px);margin-inline:auto;filter:drop-shadow(0 10px 18px rgba(3,19,49,.45))}
body .elementor .elementor-widget.chalk-sign{margin-bottom:1rem}
body .elementor .elementor-widget.chalk-art-note{margin-top:1.4rem}

/* rooms: a captioned photo, the caption tied on like a tag */
body .elementor .room figure{position:relative}
body .elementor .room img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow-2)}
body .elementor .room figcaption{
  position:absolute;left:12px;bottom:12px;padding:.4rem .8rem .35rem;border-radius:4px;
  background:#EFE3C4;color:var(--navy);box-shadow:0 8px 18px -10px rgba(0,0,0,.6);
  font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  transform:rotate(-2deg);
}
@media (max-width:767px){
  body .elementor .rooms > .elementor-container{flex-wrap:wrap}
  body .elementor .rooms > .elementor-container > .elementor-column{width:50%}
  body .elementor .rooms > .elementor-container > .elementor-column:nth-child(even){padding-left:.5rem}
  body .elementor .rooms > .elementor-container > .elementor-column:nth-child(odd){padding-right:.5rem}
  body .elementor .elementor-section.rooms > .elementor-container > .elementor-column + .elementor-column{margin-top:0}
  body .elementor .elementor-section.rooms > .elementor-container > .elementor-column:nth-child(n+3){margin-top:1rem}
}

/* -------------------------------------------------------------- cards */

/* contact cards: a column turned card, its icon drawn from the heading's class */
body .elementor .card > .elementor-widget-wrap{
  height:100%;padding:2rem 1.7rem 1.8rem;border-radius:var(--r-lg);
  background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-1);
  align-content:flex-start;
}
body .elementor .card-title .elementor-heading-title{
  display:flex;flex-direction:column;gap:.9rem;font-size:2.1rem;text-transform:uppercase;color:var(--charcoal);
}
body .elementor .card-title .elementor-heading-title::before{
  content:"";width:58px;height:58px;border-radius:16px;
  background:var(--ice) center / 30px 30px no-repeat;
}
body .elementor .card-call .elementor-heading-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003E8F' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 3.8h3.2l1.7 4.3-2.1 1.3a11.6 11.6 0 0 0 6.8 6.8l1.3-2.1 4.3 1.7V19a1.6 1.6 0 0 1-1.7 1.6A16.4 16.4 0 0 1 3.4 5.5 1.6 1.6 0 0 1 5 3.8Z'/%3E%3C/svg%3E")}
body .elementor .card-visit .elementor-heading-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003E8F' stroke-width='1.8'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E")}
body .elementor .card-follow .elementor-heading-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003E8F' stroke-width='1.8'%3E%3Crect x='4' y='4' width='16' height='16' rx='4.6'/%3E%3Ccircle cx='12' cy='12' r='3.6'/%3E%3Ccircle cx='17' cy='7' r='.6'/%3E%3C/svg%3E")}
body .elementor .card .big{margin-top:1rem;font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1.15;color:var(--cobalt)}
body .elementor .card .big a{color:var(--cobalt);text-decoration:none}
body .elementor .card .big a:hover{text-decoration:underline}
body .elementor .card .social a{border-color:var(--line-strong);color:var(--cobalt)}
body .elementor .card .social a:hover{border-color:var(--gold);color:var(--abyss)}
@media (min-width:768px) and (max-width:1024px){
  body .elementor .contact-cards > .elementor-container{flex-wrap:wrap}
  body .elementor .contact-cards > .elementor-container > .elementor-column{width:50%;margin-bottom:var(--tf-gap)}
}

/* pillars: three plaques on the tin */
body .elementor .pillar > .elementor-widget-wrap{
  height:100%;padding:2.2rem 1.8rem 2rem;border-radius:var(--r-lg);text-align:center;justify-content:center;
  background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-2);
}
body .elementor .pillar-title .elementor-heading-title{
  display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:1.85rem;text-transform:uppercase;color:var(--charcoal);
}
body .elementor .pillar-title .elementor-heading-title::before{
  content:"";width:64px;height:64px;border-radius:50%;
  background:var(--navy) center / 34px 34px no-repeat;box-shadow:0 0 0 6px rgba(180,213,255,.55);
}
body .elementor .pillar-fresh .elementor-heading-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4D5FF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 12c2.2-3.4 5.2-5.2 8.3-5.2 2.6 0 4.7 1.6 6.1 5.2-1.4 3.6-3.5 5.2-6.1 5.2-3.1 0-6.1-1.8-8.3-5.2Z'/%3E%3Cpath d='M6.6 12 3 7.6v8.8Z'/%3E%3Ccircle cx='17' cy='11.2' r='.8'/%3E%3C/svg%3E")}
body .elementor .pillar-everyone .elementor-heading-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4D5FF' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8.4' r='3.2'/%3E%3Cpath d='M3.6 19.6a5.4 5.4 0 0 1 10.8 0M15.6 5.6a3 3 0 0 1 0 5.8M17.4 14.4a5.2 5.2 0 0 1 3 5.2'/%3E%3C/svg%3E")}
body .elementor .pillar-community .elementor-heading-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4D5FF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.4c4.7 0 8.6 3.2 8.6 7.7 0 4.9-3.9 9.5-8.6 9.5s-8.6-4.6-8.6-9.5c0-4.5 3.9-7.7 8.6-7.7Z'/%3E%3Cpath d='M12 7.4c2.7 0 4.7 1.7 4.7 4 0 2.7-2.1 4.9-4.7 4.9s-4.7-2.2-4.7-4.9c0-2.3 2-4 4.7-4Z'/%3E%3Ccircle cx='12.6' cy='11.6' r='1.3'/%3E%3C/svg%3E")}
body .elementor .pillar .body p{margin-inline:auto;max-width:34ch}
@media (min-width:768px) and (max-width:1024px){
  body .elementor .pillars-row > .elementor-container{flex-wrap:wrap;justify-content:center}
  body .elementor .pillars-row > .elementor-container > .elementor-column{width:50%;margin-bottom:var(--tf-gap)}
}

/* --------------------------------------------------------- shortcode slots */

body .elementor .elementor-widget-shortcode{width:100%}
body .elementor .elementor-shortcode{width:100%}
