/*
 * APPV1 PUBLIC SITE CMS R1-R14
 * Frontend 80% page-width lock for CMS content and product surfaces.
 * Desktop: 80% viewport width.
 * Tablet: 90% viewport width.
 * Mobile: fluid viewport with 14px side gutters.
 * Header, footer and homepage remain on their existing independent shells.
 */
:root{--gt-managed-page-width:80%;--gt-managed-page-width-tablet:90%;--gt-managed-page-mobile-gutter:14px}

@media (min-width:1024px){
  /* CMS/content pages: hero text, article content and contact/store content. */
  body.gt-content-page .gt-content-hero .gt-shell,
  body.gt-content-page .gt-content-body.gt-shell-narrow,
  body.gt-content-page .gt-contact-store-list .gt-shell{
    width:var(--gt-managed-page-width)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Jewellery/product public detail pages. */
  .gt-public-product .gt-public-product__inner{
    width:var(--gt-managed-page-width)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Modern published diamond product detail. Inline view CSS is intentionally overridden. */
  .gtpd .shell{
    width:var(--gt-managed-page-width)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Diamond catalogue/product-list surface follows the same visual page grid. */
  .gtcat{
    width:var(--gt-managed-page-width)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

@media (min-width:768px) and (max-width:1023px){
  body.gt-content-page .gt-content-hero .gt-shell,
  body.gt-content-page .gt-content-body.gt-shell-narrow,
  body.gt-content-page .gt-contact-store-list .gt-shell,
  .gt-public-product .gt-public-product__inner,
  .gtpd .shell,
  .gtcat{
    width:var(--gt-managed-page-width-tablet)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .gtpd .shell,.gtcat{padding-left:0!important;padding-right:0!important}
}

@media (max-width:767px){
  body.gt-content-page .gt-content-hero .gt-shell,
  body.gt-content-page .gt-content-body.gt-shell-narrow,
  body.gt-content-page .gt-contact-store-list .gt-shell,
  .gt-public-product .gt-public-product__inner,
  .gtpd .shell,
  .gtcat{
    width:calc(100% - (var(--gt-managed-page-mobile-gutter) * 2))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .gtpd .shell,.gtcat{padding-left:0!important;padding-right:0!important}
}
