
/* Nuvinor Step 15 — exact equal left/right page margins */
:root{
  --nuv-page-max: 1536px;
  --nuv-page-edge: 24px;
}

/* One geometry for every main content shell */
.nuv-home-shell,
.nuv-global-shell{
  width: min(calc(100% - (2 * var(--nuv-page-edge))), var(--nuv-page-max)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Full-width section backgrounds stay full width, only their content aligns */
header,
header nav,
footer,
.home-trust-strip,
.home-context-section,
.latest-blogs-section{
  width: 100%;
  max-width: none;
}

/* Hero is itself the shell; force its visible card to respect same edges */
section.nuv-home-shell{
  overflow: visible;
}
section.nuv-home-shell > .bannerSwiper,
section.nuv-home-shell > .swiper,
.nuv-home-shell > .bannerSwiper{
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

/* Prevent carousels / rows from leaking past the shared edge */
.nuv-home-shell .swiper,
.nuv-home-shell .swiper-wrapper,
.nuv-home-shell [class*="overflow-x-auto"],
.nuv-home-shell .flex,
.nuv-home-shell .grid{
  max-width: 100%;
  min-width: 0;
}
.nuv-home-shell [class*="overflow-x-auto"]{
  overscroll-behavior-inline: contain;
}

/* Consistent vertical rhythm without altering horizontal alignment */
.nuv-home-shell{
  box-sizing: border-box;
}

/* Large desktop */
@media (min-width: 1600px){
  :root{
    --nuv-page-max: 1536px;
    --nuv-page-edge: 28px;
  }
}

/* Laptop / tablet */
@media (max-width: 1199px){
  :root{ --nuv-page-edge: 20px; }
}

/* Mobile */
@media (max-width: 767px){
  :root{ --nuv-page-edge: 14px; }

  .nuv-home-shell,
  .nuv-global-shell{
    width: calc(100% - (2 * var(--nuv-page-edge))) !important;
  }

  /* cards/sliders never create horizontal page scroll */
  .nuv-home-shell img,
  .nuv-home-shell video,
  .nuv-home-shell svg{
    max-width:100%;
  }
}

/* Small phones */
@media (max-width: 420px){
  :root{ --nuv-page-edge: 12px; }
}
