/* Compensating layer: Elementor's DOM ≠ theme DOM. Specificity (0,3,1) — beats the kit, loses to per-widget settings. */
body .elementor .elementor-section.section>.elementor-container{width:min(var(--container),100% - 2*var(--gutter));max-width:none}
body .elementor .elementor-section.section.elementor-section-boxed>.elementor-container{max-width:none}
body .elementor .elementor-section.hero,body .elementor .elementor-section.page-hero{background-size:cover;background-position:center}
body .elementor .elementor-section.hero>.elementor-container{min-height:min(88vh,900px);align-items:center}
body .elementor .elementor-widget-heading .elementor-heading-title{font-family:var(--font-display);font-weight:400;line-height:1;color:inherit}
body .elementor .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(3rem,8vw,6.5rem)}
body .elementor .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(2.4rem,5vw,4.2rem)}
body .elementor .elementor-widget-heading h3.elementor-heading-title{font-size:clamp(1.6rem,3vw,2.4rem)}
body .elementor .section:not(.section-dark):not(.section-ember):not(.section-oink):not(.hero):not(.page-hero) .elementor-widget-heading .elementor-heading-title{color:var(--charcoal)}
body .elementor .section-dark .elementor-widget-heading .elementor-heading-title,body .elementor .hero .elementor-widget-heading .elementor-heading-title,body .elementor .page-hero:not(.section-oink) .elementor-widget-heading .elementor-heading-title,body .elementor .section-ember .elementor-widget-heading .elementor-heading-title{color:#fff}
body .elementor .elementor-widget-heading .elementor-heading-title em{font-style:normal;color:var(--ember)}
body .elementor .elementor-widget.eyebrow .elementor-heading-title{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--ember);font-size:clamp(1rem,1.3vw,1.2rem);display:flex;align-items:center;gap:12px;line-height:1.3}
body .elementor .elementor-widget.eyebrow .elementor-heading-title::before{content:"";width:34px;height:2px;background:var(--ember);border-radius:2px;flex:none}
body .elementor .hero .elementor-widget.eyebrow .elementor-heading-title,body .elementor .page-hero .elementor-widget.eyebrow .elementor-heading-title{color:var(--brass)}
body .elementor .hero .elementor-widget.eyebrow .elementor-heading-title::before,body .elementor .page-hero .elementor-widget.eyebrow .elementor-heading-title::before{background:var(--brass)}
body .elementor .section-ember .elementor-widget.eyebrow .elementor-heading-title{color:#fff}body .elementor .section-ember .elementor-widget.eyebrow .elementor-heading-title::before{background:#fff}
body .elementor .section-oink .elementor-widget.eyebrow .elementor-heading-title{color:var(--ember-2)}body .elementor .section-oink .elementor-widget.eyebrow .elementor-heading-title::before{background:var(--ember-2)}
body .elementor .center .elementor-widget.eyebrow .elementor-heading-title{justify-content:center}
body .elementor .center .elementor-widget-heading .elementor-heading-title,body .elementor .center .elementor-widget-text-editor{text-align:center}
body .elementor .elementor-widget-text-editor{font-family:var(--font-body);color:inherit;line-height:1.6}
body .elementor .elementor-widget.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--muted);max-width:none}
body .elementor .elementor-widget.lead p,body .elementor .elementor-widget.lead .elementor-widget-container{max-width:60ch}
body .elementor .center .elementor-widget.lead p{margin-inline:auto}
body .elementor .hero .elementor-widget.lead,body .elementor .page-hero:not(.section-oink) .elementor-widget.lead,body .elementor .section-dark .elementor-widget.lead,body .elementor .hero .elementor-widget.lead p,body .elementor .page-hero:not(.section-oink) .elementor-widget.lead p,body .elementor .section-dark .elementor-widget.lead p{color:#D9CFC5}
body .elementor .section-oink .elementor-widget.lead,body .elementor .section-oink .elementor-widget.lead p{color:#5A4634}
body .elementor .section-ember .elementor-widget-text-editor{color:#fff}
body .elementor .elementor-widget-button .elementor-button{font-family:var(--font-body);border-radius:999px;padding:14px 26px;font-weight:600;font-size:.95rem;letter-spacing:.02em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s;border:2px solid transparent}
body .elementor .elementor-widget-button.btn-primary .elementor-button{background:var(--ember);color:#fff;box-shadow:0 12px 28px -12px rgba(232,84,30,.7)}
body .elementor .elementor-widget-button.btn-primary .elementor-button:hover{background:var(--ember-2);transform:translateY(-2px)}
body .elementor .elementor-widget-button.btn-ghost .elementor-button{background:transparent;color:inherit;border-color:currentColor}
body .elementor .section:not(.section-dark):not(.section-ember):not(.section-oink):not(.hero):not(.page-hero) .elementor-widget-button.btn-ghost .elementor-button{color:var(--charcoal)}
body .elementor .hero .elementor-widget-button.btn-ghost .elementor-button,body .elementor .page-hero:not(.section-oink) .elementor-widget-button.btn-ghost .elementor-button,body .elementor .section-dark .elementor-widget-button.btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.75)}
body .elementor .elementor-widget-button.btn-brass .elementor-button{background:var(--brass);color:var(--charcoal)}
body .elementor .elementor-widget-button.btn-lg .elementor-button{padding:18px 34px;font-size:1.05rem}
body .elementor .section-oink .elementor-widget-button.btn-primary .elementor-button{background:var(--cocoa)}
body .elementor .section-ember .elementor-widget-button.btn-primary .elementor-button{background:var(--charcoal)}
body .elementor .elementor-widget-button.inline{width:auto;display:inline-block;margin-right:14px}
body .elementor .elementor-widget-button.inline+.elementor-widget-button.inline{margin-right:0}
body .elementor .elementor-widget-icon-list .elementor-icon-list-icon i{color:var(--ember)}
body .elementor .elementor-widget-icon-list .elementor-icon-list-text{font-family:var(--font-body);color:inherit}
body .elementor .elementor-widget-toggle .elementor-tab-title{font-family:var(--font-body);font-weight:600;color:var(--charcoal)}
body .elementor .elementor-widget-toggle .elementor-tab-content{font-family:var(--font-body);color:var(--muted)}
/* Widget wrapper must not carry layout — put grids on content */
body .elementor .elementor-widget.menu-rows,body .elementor .elementor-widget.grid-3,body .elementor .elementor-widget.grid-4{display:block}
body .elementor .elementor-widget-html .elementor-widget-container>.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,32px)}
body .elementor .elementor-widget-html .elementor-widget-container>.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
@media (max-width:1024px){body .elementor .elementor-widget-html .elementor-widget-container>.grid-4,body .elementor .elementor-widget-html .elementor-widget-container>.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){body .elementor .elementor-widget-html .elementor-widget-container>.grid-4,body .elementor .elementor-widget-html .elementor-widget-container>.grid-3{grid-template-columns:1fr}}
/* Never reset section/column position; overlays rely on relative. Column widths untouched. */
body .elementor .elementor-column>.elementor-widget-wrap{align-content:center}
body .elementor .elementor-section.hero .smoke-canvas{z-index:1}
body .elementor .elementor-widget-container .hours,body .elementor .elementor-widget-container .booking{width:100%}
body.elementor-editor-active .marquee-track{animation:none}

/* ---- Wrapper resets: design classes land on .elementor-widget, never style the wrapper itself ---- */
body .elementor .elementor-widget.eyebrow{display:block;margin:0 0 .6em;font:inherit;color:inherit;letter-spacing:0}
body .elementor .elementor-widget.eyebrow::before{content:none}
body .elementor .elementor-widget-button.btn-primary,body .elementor .elementor-widget-button.btn-ghost,body .elementor .elementor-widget-button.btn-brass,body .elementor .elementor-widget-button.btn-lg,body .elementor .elementor-widget-button.inline{background:transparent;box-shadow:none;padding:0;border:0;border-radius:0;transform:none;color:inherit}
body .elementor .elementor-widget-button.inline{display:inline-block;width:auto;margin:0 14px 12px 0}
body .elementor .elementor-widget-button.btn-ghost .elementor-button:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
body .elementor .hero .elementor-widget-button.btn-ghost .elementor-button,body .elementor .page-hero:not(.section-oink) .elementor-widget-button.btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.04)}
body .elementor .elementor-widget.h-hero{font:inherit;max-width:none}
body .elementor .elementor-widget-heading.lead,body .elementor .elementor-widget.lead{line-height:1.6}

/* Elementor's own `.elementor img{height:auto}` (0,1,1) loads after the theme; restore filled frames */
body .elementor .img-frame img,body .elementor .card-img img,body .elementor .product-img img,body .elementor .ov-main img,body .elementor .ov-second img,body .elementor .team-photo img,body .elementor .gallery-strip img{width:100%;height:100%;object-fit:cover}
body .elementor .gallery-strip img{aspect-ratio:1;height:auto}
body .elementor .elementor-widget-html .img-frame{display:block}

/* Column gap: seeded sections use gap "no"; give side-by-side columns real breathing room */
body .elementor .elementor-section.section>.elementor-container>.elementor-column:not(:only-child)>.elementor-widget-wrap{padding:0 clamp(16px,3vw,44px)}
body .elementor .elementor-section.section>.elementor-container>.elementor-column:not(:only-child):first-child>.elementor-widget-wrap{padding-left:0}
body .elementor .elementor-section.section>.elementor-container>.elementor-column:not(:only-child):last-child>.elementor-widget-wrap{padding-right:0}
@media (max-width:767px){body .elementor .elementor-section.section>.elementor-container>.elementor-column:not(:only-child)>.elementor-widget-wrap{padding:0}body .elementor .elementor-section.section>.elementor-container>.elementor-column+.elementor-column{margin-top:32px}}
