/* ==========================================================================
   NexusOne Core: WordPress / Elementor integration layer
   Loaded after style.css. Keeps Elementor wrappers invisible to the design.
   ========================================================================== */

/* Elementor containers used as section wrappers */
.e-con.nx-wrap,
.elementor .e-con.nx-wrap {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --margin-top: 0px; --margin-bottom: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --content-width: 100%; --width: 100%;
  display: block; padding: 0; margin: 0; max-width: none; width: 100%;
  border: 0; min-height: 0;
}
.nx-wrap > .elementor-element,
.nx-wrap .elementor-widget-html,
.nx-wrap .elementor-widget-shortcode { width: 100%; max-width: none; margin: 0; padding: 0; }
.nx-wrap .elementor-widget-container,
.nx-wrap .elementor-shortcode { margin: 0; padding: 0; }
.elementor-element.nx-wrap:not(:last-child) { margin-bottom: 0; }

/* Elementor's global image reset must not flatten the design's cover images */
.nx-site .media img { width: 100%; height: 100%; max-width: 100%; object-fit: cover; }
.nx-site .hero__bg img { width: 100%; height: 115%; max-width: none; object-fit: cover; }
.nx-site .page-hero .hero__bg img { height: 115%; }
.nx-site .nav__logo img,
.nx-site .footer__logo,
.nx-site .footer__wordmark img { height: auto; }

/* Site chrome sits outside Elementor content */
.nx-site .site-main, .nx-site main#content { display: block; }
body.nx-site { background: var(--black); }

/* Logged-in admin bar offsets */
.admin-bar .nav { top: 32px; }
.admin-bar .mobile-menu { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .nav { top: 46px; }
  .admin-bar .mobile-menu { top: 46px; }
}
@media screen and (max-width: 600px) {
  html #wpadminbar { position: fixed; }
}

/* Smooth scroll: Lenis drives scrolling, so native smooth-behaviour must be off */
html.lenis, html.lenis body { scroll-behavior: auto !important; }

/* Hide Hello theme leftovers if any template part still renders */
.nx-site .site-header:not(.nav), .nx-site #site-header, .nx-site #site-footer, .nx-site .site-footer:not(.footer) { display: none; }

/* Booking form honeypot */
.nx-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Blog post body (Gutenberg / classic content inside the article layout) */
.article__body img { border-radius: var(--r-md); margin: 2rem 0; }
.article__body figure { margin: 2rem 0; }
.article__body a { color: var(--white); text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 3px; }

/* Pagination on the blog listing */
.nx-pagination { display: flex; gap: 0.5rem; justify-content: center; margin-top: 3.5rem; }
.nx-pagination .page-numbers {
  min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--line-strong); border-radius: var(--r-sm); font-size: 0.9rem; padding: 0 0.9rem;
}
.nx-pagination .page-numbers.current, .nx-pagination .page-numbers:hover { border-color: var(--red); color: #fff; background: var(--red-soft); }

/* Elementor editor: never hide content behind pre-animation states */
.elementor-editor-active [data-reveal],
.elementor-editor-preview [data-reveal] { opacity: 1 !important; }
