/* Change this value to adjust the width of the shared storefront layout. */
:root {
    --pb-site-width: 1450px;
    --pb-page-block-radius: 18px;
}

/* Keep page block and banner shells flush with their grid and round each block. */
.pb-page-block-host {
    display: block;
    min-width: 0;
    padding: 0 !important;
}

.col-md-12.page-content:has(> .pb-page-block-host:not(:empty)) {
    padding: 0 !important;
}

.pb-page-block-host > :not(style):not(script) {
    border-radius: var(--pb-page-block-radius) !important;
    overflow: hidden;
}

.sidebar-modern-inner[class*="banner-place-"] {
    padding: 0 !important;
    border-radius: var(--pb-page-block-radius) !important;
    overflow: hidden;
}

.pb-page-block-host > a > img {
    border-radius: var(--pb-page-block-radius);
}

/* Header, breadcrumbs and page content use the same outer edge. */
.header,
.header-black,
#printbay-home-view,
.main-container > .container,
.main-container > [id$="_UpdatePanel1"] > .container,
.main-container .container:has(> .inner-box-sitemap),
.main-container > .full-resource {
    width: calc(100% - 32px) !important;
    max-width: var(--pb-site-width) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    box-sizing: border-box;
}

/* Page-specific shells must not introduce a second width limit. */
.cart-page-container,
.order-checkout-main > .container,
body:has(.ads-details-wrapper) #ContentPlaceHolder1_pn_container.container,
body:has(.ads-details-wrapper) #ContentPlaceHolder1_ctl07_UpdatePanel1 > .container,
.main-footer .footer-bar {
    max-width: var(--pb-site-width) !important;
}

.main-footer .footer-content {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.main-footer {
    width: calc(100% - 32px);
    max-width: var(--pb-site-width);
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}

.main-footer .footer-bar {
    width: calc(100% - 32px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Dynamic blocks in the Top and Bottom Page Full positions. */
.sidebar-modern-inner.banner-place-8,
.sidebar-modern-inner.banner-place-9,
.sidebar-modern-inner.banner-place-20 {
    width: calc(100% - 32px) !important;
    max-width: var(--pb-site-width) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    overflow: hidden;
    box-sizing: border-box;
}

/* The product control's nested container stays flush with its page shell. */
body:has(.ads-details-wrapper) #ContentPlaceHolder1_ctl07_UpdatePanel1 > .container {
    width: 100% !important;
}

body:has(.ads-details-wrapper) #ContentPlaceHolder1_pn_container.container {
    width: calc(100% - 32px) !important;
}

@media (max-width: 991px) {
    .main-footer {
        width: calc(100% - 24px);
    }

    .sidebar-modern-inner.banner-place-8,
    .sidebar-modern-inner.banner-place-9,
    .sidebar-modern-inner.banner-place-20 {
        width: calc(100% - 24px) !important;
    }

    .header,
    .header-black,
    #printbay-home-view,
    .main-container > .container,
    .main-container > [id$="_UpdatePanel1"] > .container,
    .main-container .container:has(> .inner-box-sitemap),
    .main-container > .full-resource,
    .main-footer .footer-bar,
    body:has(.ads-details-wrapper) #ContentPlaceHolder1_pn_container.container {
        width: calc(100% - 24px) !important;
    }
}
