/**
 * Noir & Flame — Elementor Compatibility
 * Loaded only when Elementor plugin is active.
 */

/* Push content below fixed header */
.elementor-page { padding-top: 82px; }

/* Elementor canvas / full-width template: no header push */
body.elementor-template-canvas .elementor-page { padding-top: 0; }
body.elementor-template-canvas .nf-site-header,
body.elementor-template-canvas .nf-site-footer { display: none !important; }

/* Fix Elementor default container max-width conflict */
.elementor-section-boxed > .elementor-container { max-width: 1240px; }

/* Ensure our colour variables cascade into Elementor widgets */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor { font-family: var(--nf-body); color: var(--nf-white); }

/* Elementor buttons — apply our nf-btn classes via CSS class field */
.elementor-button.nf-btn-red { background: var(--nf-red) !important; border-radius: 50px !important; }
.elementor-button.nf-btn-red:hover { background: var(--nf-red-dk) !important; box-shadow: 0 12px 32px var(--nf-red-glow) !important; }
.elementor-button.nf-btn-outline { background: transparent !important; border: 1.5px solid rgba(255,255,255,.3) !important; border-radius: 50px !important; color: #fff !important; }
.elementor-button.nf-btn-outline:hover { border-color: var(--nf-red) !important; color: var(--nf-red) !important; }

/* Elementor divider — use nf-divider class */
.elementor-widget-divider.nf-divider .elementor-divider-separator { border-color: var(--nf-red) !important; border-width: 2px !important; width: 48px !important; }

/* Elementor image widget in nf-rounded-lg */
.elementor-widget-image.nf-rounded-lg img { border-radius: var(--nf-radius-lg) !important; }
.elementor-widget-image.nf-rounded-full img { border-radius: 50% !important; }

/* Elementor Icon Box — nf-feature style */
.elementor-widget-icon-box.nf-feature .elementor-icon-box-wrapper { flex-direction: row; align-items: flex-start; gap: 1.2rem; }
.elementor-widget-icon-box.nf-feature .elementor-icon { width: 52px; height: 52px; border-radius: 8px; background: var(--nf-dark2); border: 1px solid var(--nf-border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Testimonial card look when using Elementor Testimonial widget */
.elementor-widget-testimonial.nf-testi-card .elementor-testimonial-wrapper { background: var(--nf-card); border: 1px solid var(--nf-border); border-radius: var(--nf-radius-lg); padding: 2rem; }

/* Posts grid widget */
.elementor-posts.nf-post-card .elementor-post { background: var(--nf-card); border: 1px solid var(--nf-border); border-radius: var(--nf-radius-lg); overflow: hidden; }
.elementor-posts.nf-post-card .elementor-post:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,.4); }

/* Elementor column bg overrides */
.elementor-column.nf-bg-card > .elementor-column-wrap,
.elementor-column.nf-bg-card > .elementor-widget-wrap { background: var(--nf-card) !important; }

/* Ensure nf-reveal works in Elementor motion */
.elementor-invisible .nf-reveal { opacity: 0 !important; }
.nf-reveal.nf-visible { opacity: 1 !important; transform: none !important; }

/* Form widget compatibility */
.elementor-widget-form .elementor-field-group input,
.elementor-widget-form .elementor-field-group select,
.elementor-widget-form .elementor-field-group textarea {
  background: var(--nf-dark2) !important;
  border: 1px solid var(--nf-border) !important;
  border-radius: var(--nf-radius-sm) !important;
  color: var(--nf-white) !important;
  font-family: var(--nf-body) !important;
}
.elementor-widget-form .elementor-field-group input:focus,
.elementor-widget-form .elementor-field-group textarea:focus {
  border-color: var(--nf-red) !important;
  outline: none !important;
}
.elementor-widget-form .elementor-button { background: var(--nf-red) !important; border-radius: 50px !important; font-family: var(--nf-body) !important; font-weight: 600 !important; letter-spacing: .08em !important; }
.elementor-widget-form .elementor-button:hover { background: var(--nf-red-dk) !important; }

/* Elementor Pro: Loop grid for Dishes CPT */
.e-loop-item.nf-dish-card { background: var(--nf-card); border: 1px solid var(--nf-border); border-radius: var(--nf-radius-lg); overflow: hidden; }
.e-loop-item.nf-dish-card:hover { transform: translateY(-8px); box-shadow: 0 24px 60px rgba(0,0,0,.5); border-color: rgba(232,25,44,.3); transition: transform .4s, box-shadow .4s, border-color .4s; }
