/*
 * NovaTools Premium Product Page v1.7.2
 * Full-bleed storefront refinement + clean Games & Keys presentation.
 * Layout/design overrides only; WooCommerce purchase functionality is untouched.
 */

body.single-product{
  overflow-x:hidden!important;
  background:#f3f6fb!important;
}

/* Break out of theme/container gutters so the premium page uses the viewport. */
.ntpp-page.ntpp-theme-original{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  padding:22px clamp(8px,1.1vw,18px) 66px!important;
  overflow-x:clip!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.07),transparent 27%),
    radial-gradient(circle at 94% 7%,rgba(14,165,233,.055),transparent 24%),
    #f3f6fb!important;
}

.ntpp-theme-original .ntpp-shell{
  width:100%!important;
  max-width:1640px!important;
  margin:0 auto!important;
}

.ntpp-theme-original .ntpp-sheet{
  width:100%!important;
  max-width:none!important;
}

/* Main product surface */
.ntpp-theme-original .ntpp-top{
  width:100%!important;
  margin:0 0 16px!important;
  padding:clamp(18px,2vw,34px)!important;
  border:1px solid #e1e7f0!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 94% 4%,rgba(37,99,235,.055),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fcfdff 100%)!important;
  box-shadow:0 18px 54px rgba(15,23,42,.065)!important;
}

.ntpp-theme-original .ntpp-top:before{
  width:300px!important;
  height:300px!important;
  right:-155px!important;
  top:-165px!important;
  background:rgba(37,99,235,.045)!important;
}

.ntpp-theme-original .ntpp-hero-grid{
  grid-template-columns:minmax(320px,42%) minmax(0,58%)!important;
  gap:clamp(28px,3vw,54px)!important;
  align-items:stretch!important;
}

.ntpp-theme-original .ntpp-product-visual{
  align-self:stretch!important;
  min-height:560px!important;
  padding:clamp(18px,2vw,30px)!important;
  border:1px solid #e3e9f2!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 50% 22%,rgba(37,99,235,.085),transparent 35%),
    linear-gradient(145deg,#f8fbff,#eef3f9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}

.ntpp-theme-original .ntpp-thumb{
  width:min(100%,420px)!important;
  max-width:100%!important;
  border-radius:18px!important;
  box-shadow:0 16px 38px rgba(15,23,42,.12)!important;
}

.ntpp-theme-original .ntpp-product-summary{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:8px clamp(2px,1vw,16px) 8px 0!important;
}

.ntpp-theme-original .ntpp-category{
  margin-bottom:11px!important;
  color:#2563eb!important;
}

.ntpp-theme-original .ntpp-heading h1{
  max-width:980px!important;
  font-size:clamp(34px,3.25vw,54px)!important;
  line-height:1.035!important;
  letter-spacing:-1.55px!important;
}

.ntpp-theme-original .ntpp-short-description,
.ntpp-theme-original .ntpp-short-description *{
  max-width:900px!important;
}

.ntpp-theme-original .ntpp-purchase-panel{
  width:100%!important;
  max-width:980px!important;
  margin-top:24px!important;
  padding:clamp(17px,1.6vw,24px)!important;
  border:1px solid #dde5ef!important;
  border-radius:19px!important;
  background:linear-gradient(180deg,#fbfdff,#f6f9fc)!important;
  box-shadow:0 12px 32px rgba(15,23,42,.045)!important;
}

/* Lower content uses the same wide rhythm as the hero. */
.ntpp-theme-original .ntpp-read,
.ntpp-theme-original .ntpp-share-section,
.ntpp-theme-original .ntpp-related-section{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  border-color:#e1e7f0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(15,23,42,.045)!important;
}

.ntpp-theme-original .ntpp-read{
  padding:clamp(20px,2vw,32px)!important;
}

.ntpp-theme-original .ntpp-share-section,
.ntpp-theme-original .ntpp-related-section{
  padding:clamp(20px,2vw,30px)!important;
}

.ntpp-theme-original .ntpp-related-grid{
  gap:16px!important;
}

.ntpp-theme-original .ntpp-related-card{
  overflow:hidden!important;
  border:1px solid #e1e7ef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}

.ntpp-theme-original .ntpp-related-card:hover{
  transform:translateY(-3px)!important;
  border-color:#cfd9e7!important;
  box-shadow:0 14px 30px rgba(15,23,42,.075)!important;
}

/* ---------------------------------------------------------------------
   GAMES & KEYS — clean poster presentation, no black frame/background
   --------------------------------------------------------------------- */
.ntpp-theme-original.ntpp-games-keys .ntpp-top{
  background:
    radial-gradient(circle at 2% 14%,rgba(37,99,235,.08),transparent 29%),
    radial-gradient(circle at 94% 4%,rgba(99,102,241,.055),transparent 25%),
    #fff!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-hero-grid{
  grid-template-columns:minmax(330px,40%) minmax(0,60%)!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-product-visual{
  min-height:650px!important;
  padding:clamp(16px,2vw,28px)!important;
  overflow:visible!important;
  border:1px solid #e1e8f2!important;
  background:
    radial-gradient(circle at 50% 16%,rgba(59,130,246,.10),transparent 34%),
    linear-gradient(155deg,#f8fbff,#eef3f9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-product-visual:before{
  display:none!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-thumb{
  width:min(100%,400px)!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:0 18px 42px rgba(15,23,42,.16)!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-thumb img{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:18px!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-category{
  margin-bottom:12px!important;
  padding:6px 10px!important;
  border:1px solid #d9e5f8!important;
  border-radius:999px!important;
  background:#f4f8ff!important;
  color:#2563eb!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-heading h1{
  max-width:1000px!important;
  color:#0b1220!important;
  font-size:clamp(38px,3.6vw,58px)!important;
  line-height:1.025!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-purchase-panel{
  max-width:1000px!important;
  border-color:#dce5f0!important;
  background:linear-gradient(180deg,#fff,#f7faff)!important;
  box-shadow:0 14px 38px rgba(15,23,42,.055)!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-plan-head{
  color:#2563eb!important;
  letter-spacing:1.35px!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-vselect-trigger{
  min-height:56px!important;
  border-color:#d6dfeb!important;
  border-radius:13px!important;
  background:#fff!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-buy-now{
  min-height:56px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#1d4ed8,#2563eb 58%,#4f46e5)!important;
  box-shadow:0 13px 28px rgba(37,99,235,.22)!important;
}

/* Game recommendation posters stay clean/light instead of black framed. */
.ntpp-theme-original.ntpp-games-keys .ntpp-related-games{
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-related-games .ntpp-related-grid{
  gap:16px!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-related-games .ntpp-related-image{
  aspect-ratio:2/3!important;
  padding:0!important;
  background:#f4f7fb!important;
}

.ntpp-theme-original.ntpp-games-keys .ntpp-related-games .ntpp-related-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
}

/* Wide desktop: fill the monitor without looking stretched. */
@media(min-width:1200px){
  .ntpp-page.ntpp-theme-original{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .ntpp-theme-original .ntpp-shell{
    max-width:1680px!important;
  }
  .ntpp-theme-original .ntpp-top{
    min-height:680px!important;
  }
  .ntpp-theme-original .ntpp-hero-grid{
    min-height:590px!important;
  }
  .ntpp-theme-original .ntpp-product-visual{
    min-height:590px!important;
  }
  .ntpp-theme-original.ntpp-games-keys .ntpp-top{
    min-height:750px!important;
  }
  .ntpp-theme-original.ntpp-games-keys .ntpp-hero-grid,
  .ntpp-theme-original.ntpp-games-keys .ntpp-product-visual{
    min-height:660px!important;
  }
  .ntpp-theme-original .ntpp-related-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}

/* Tablet: nearly edge-to-edge but keep rounded surfaces. */
@media(min-width:768px) and (max-width:1199px){
  .ntpp-page.ntpp-theme-original{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .ntpp-theme-original .ntpp-shell{
    max-width:none!important;
  }
  .ntpp-theme-original .ntpp-hero-grid{
    grid-template-columns:minmax(280px,39%) minmax(0,61%)!important;
    gap:24px!important;
  }
  .ntpp-theme-original .ntpp-product-visual{
    min-height:480px!important;
  }
  .ntpp-theme-original.ntpp-games-keys .ntpp-product-visual{
    min-height:560px!important;
  }
}

/* Mobile: true full-bleed product page — removes the highlighted side gutters. */
@media(max-width:767px){
  .ntpp-page.ntpp-theme-original{
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    padding:8px 0 42px!important;
    background:#f3f6fb!important;
  }

  .ntpp-theme-original .ntpp-shell,
  .ntpp-theme-original .ntpp-sheet{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  .ntpp-theme-original .ntpp-top{
    width:100%!important;
    margin:0 0 9px!important;
    padding:12px 11px 17px!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:0 8px 24px rgba(15,23,42,.04)!important;
  }

  .ntpp-theme-original .ntpp-back{
    margin:0 0 12px!important;
  }

  .ntpp-theme-original .ntpp-hero-grid,
  .ntpp-theme-original.ntpp-games-keys .ntpp-hero-grid{
    grid-template-columns:1fr!important;
    gap:15px!important;
    min-height:0!important;
  }

  .ntpp-theme-original .ntpp-product-visual,
  .ntpp-theme-original.ntpp-games-keys .ntpp-product-visual{
    width:100%!important;
    min-height:0!important;
    padding:12px!important;
    border-radius:16px!important;
  }

  .ntpp-theme-original .ntpp-thumb{
    width:min(76vw,280px)!important;
  }

  .ntpp-theme-original.ntpp-games-keys .ntpp-thumb{
    width:min(78vw,290px)!important;
    max-width:100%!important;
    aspect-ratio:2/3!important;
    border-radius:15px!important;
    background:transparent!important;
    box-shadow:0 14px 30px rgba(15,23,42,.14)!important;
  }

  .ntpp-theme-original.ntpp-games-keys .ntpp-thumb img{
    border-radius:15px!important;
    background:transparent!important;
  }

  .ntpp-theme-original .ntpp-product-summary{
    padding:1px 2px 0!important;
  }

  .ntpp-theme-original .ntpp-heading h1{
    font-size:26px!important;
    line-height:1.07!important;
    letter-spacing:-.8px!important;
  }

  .ntpp-theme-original.ntpp-games-keys .ntpp-heading h1{
    font-size:28px!important;
    line-height:1.05!important;
    letter-spacing:-.9px!important;
  }

  .ntpp-theme-original .ntpp-purchase-panel,
  .ntpp-theme-original.ntpp-games-keys .ntpp-purchase-panel{
    margin-top:15px!important;
    padding:14px!important;
    border-radius:15px!important;
  }

  .ntpp-theme-original .ntpp-read,
  .ntpp-theme-original .ntpp-share-section,
  .ntpp-theme-original .ntpp-related-section{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:0 7px 22px rgba(15,23,42,.035)!important;
  }

  .ntpp-theme-original .ntpp-read,
  .ntpp-theme-original .ntpp-share-section,
  .ntpp-theme-original .ntpp-related-section{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .ntpp-theme-original.ntpp-games-keys .ntpp-related-games .ntpp-related-card{
    flex:0 0 172px!important;
    border-radius:14px!important;
  }

  .ntpp-theme-original.ntpp-games-keys .ntpp-related-games .ntpp-related-image{
    aspect-ratio:2/3!important;
    background:#f4f7fb!important;
  }
}

@media(max-width:390px){
  .ntpp-theme-original .ntpp-top{
    padding-left:9px!important;
    padding-right:9px!important;
  }
  .ntpp-theme-original.ntpp-games-keys .ntpp-thumb{
    width:min(80vw,276px)!important;
  }
  .ntpp-theme-original.ntpp-games-keys .ntpp-heading h1{
    font-size:26px!important;
  }
}
