/* One frame for the top navigation, content, banners and footer. */
:root {
    --site-max-width:1560px;
    --site-horizontal-padding:24px;
    --site-width:96%;
}
.pa-theme .site-container,
.pa-theme #header>.site-container,
.pa-theme #main-body>.site-container,
.pa-theme #home-banner>.site-container,
.pa-theme .home-shortcuts>.site-container,
.pa-theme #footer>.site-container {
    width:var(--site-width);
    max-width:var(--site-max-width);
    margin-inline:auto;
    padding-inline:var(--site-horizontal-padding);
    box-sizing:border-box;
    min-width:0;
}
.pa-theme:not(.pa-standalone) #header { padding-inline:0; }
/* Bootstrap clearfix pseudo-elements must not become spaced flex items. */
.pa-theme #header>.site-container::before,
.pa-theme #header>.site-container::after { display:none; }
.pa-theme #main-body { padding-inline:0; }
.pa-theme #footer { padding-inline:0; }
/* Announcements share the content frame, not the fixed desktop sidebar. */
.pa-theme.pa-shared-shell > .phm-promotion { margin-inline-start:var(--pa-sidebar-width,0px); min-width:0; }
.pa-theme .phm-promotion > .site-container:not(.phm-banner-artwork) { flex-wrap:wrap; padding-block:8px; }
.pa-theme .phm-promotion .site-container > :is(span,strong) { min-width:0; max-width:100%; overflow-wrap:anywhere; line-height:1.9; }
.pa-theme .phm-promotion .site-container > i { flex:none; }
.pa-theme .phm-promotion [data-phm-dismiss] { display:inline-flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; padding:0; border-radius:8px; cursor:pointer; }
.pa-theme .phm-promotion [data-phm-dismiss]:hover { background:rgb(255 255 255 / 15%); }
.pa-theme .phm-promotion [data-phm-dismiss]:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.pa-theme #home-banner,.pa-theme .home-shortcuts {
    margin-inline-start:var(--pa-sidebar-width);
    padding-inline:0;
}
.pa-theme .pa-page-title { text-align:start; margin-block:0 24px; }
.pa-theme.pa-page-clientareahome .pa-page-heading { display:block; grid-column:1; grid-row:1; }
.pa-theme.pa-page-clientareahome .pa-has-context>.pa-page-content { grid-row:2; }
.pa-theme.pa-page-clientareahome .pa-context-stack { grid-row:3; }
.pa-theme .pa-page-title h1 { overflow-wrap:anywhere; line-height:1.5; }
.pa-theme .pa-page-subtitle { margin:8px 0 0; color:var(--pa-muted); line-height:1.8; overflow-wrap:anywhere; }
/* Keep the existing compact authentication card inside the shared frame. */
.pa-theme.pa-auth #main-body { display:block; padding-block:60px; padding-inline:0; margin-inline:0; }
.pa-theme.pa-auth #footer { margin-inline:0; padding-inline:0; }
.pa-theme.pa-auth #main-body>.container.site-container { width:var(--site-width); max-width:var(--site-max-width); margin-inline:auto; }
.pa-theme.pa-auth .pa-page-content { max-width:460px; margin-inline:auto; }
.pa-theme .pa-service-toolbar { flex-wrap:wrap; }
.pa-theme .pa-service-catalog .pa-service-toolbar>.pa-service-search {
    flex:1 1 560px;
    width:auto;
    max-width:none;
    min-width:0;
    margin:0;
}
.pa-theme .pa-service-view-controls { flex-wrap:wrap; min-width:0; max-width:100%; }
.pa-theme .pa-service-view-controls .form-control { min-width:0; max-width:100%; }
.pa-theme .pa-service-filters { flex-wrap:wrap; }
.pa-theme .pa-service-search-field>input,
.pa-theme .pa-table-search-field>input { min-width:0; text-align:start; direction:inherit; }
.pa-theme .pa-table-search { width:100%; max-width:680px; }
.pa-theme #header .pa-site-search { flex:1 1 480px; width:auto; min-width:0; max-width:680px; direction:inherit; }
[dir=rtl] .pa-theme #header .pa-site-search { direction:rtl; }
.pa-theme .pa-site-search input { min-width:0; text-align:start; }
.pa-theme .pa-site-search button { flex-shrink:0; }
/* Native cart forms and scripts remain in charge of ordering. */
.pa-theme #order-standard_cart { width:100%; min-width:0; margin:0; padding:0; }
.pa-theme #order-standard_cart>.row {
    display:flex;
    align-items:flex-start;
    gap:var(--site-horizontal-padding);
    width:100%;
    margin:0;
}
.pa-theme #order-standard_cart>.row::before,
.pa-theme #order-standard_cart>.row::after { display:none; }
.pa-theme #order-standard_cart>.row>.cart-sidebar {
    flex:0 0 240px;
    width:240px;
    min-width:0;
    float:none;
    margin:0;
    padding:0;
}
.pa-theme #order-standard_cart>.row>.cart-body {
    flex:1 1 0;
    width:0;
    min-width:0;
    float:none;
    margin:0;
    padding:0;
}
/* Some installed cart styles force RTL on body; honor the selected page locale. */
html[dir=ltr] body.pa-theme.pa-shopping-cart { direction:ltr!important; }
.pa-theme.pa-page-products #order-standard_cart .header-lined { display:none; }
@media (min-width:1500px) {
    .pa-theme #order-standard_cart .products>.row>[class*='col-'] { width:calc((100% - 50px)/3); }
}
@media (max-width:1100px) {
    .pa-theme #header .pa-site-search { flex-basis:100%; max-width:none; }
}
@media (max-width:800px) {
    :root { --site-width:100%; --site-horizontal-padding:20px; }
    .pa-theme #header>.site-container { height:58px; }
    .pa-theme #order-standard_cart>.row { flex-direction:column; }
    .pa-theme #order-standard_cart>.row>.cart-sidebar { display:none; }
    .pa-theme #order-standard_cart>.row>.cart-body { flex:none; width:100%; }
    .pa-theme .pa-service-catalog .pa-service-toolbar>.pa-service-search { flex-basis:100%; width:100%; }
    .pa-theme .pa-table-search { max-width:none; }
    .pa-theme .pa-service-view-controls { flex:1 1 100%; }
    .pa-theme .pa-service-view-controls .form-control { flex:1 1 140px; }
    .pa-theme.pa-auth #main-body { padding-block:32px; }
}
@media (max-width:480px) {
    :root { --site-horizontal-padding:16px; }
    .pa-theme #header .logo img { width:40px; max-height:44px; }
    .pa-theme .pa-service-grid { grid-template-columns:minmax(0,1fr); }
    .pa-theme #order-standard_cart .products>.row>[class*='col-'] { width:100%; }
}
@media print {
    .pa-theme #main-body>.site-container { width:100%; padding:0; }
}
/* Full-width login selector frame; this stylesheet loads last in the theme. */
.pa-theme.pa-auth.pa-page-login #main-body {
    display: flex;
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100svh;
    padding: 34px 0 !important;
    margin: 0 !important;
    align-items: center;
    background: #f5f7fa;
}
.pa-theme.pa-auth.pa-page-login #main-body > .container.site-container,
.pa-theme.pa-auth.pa-page-login #main-body > .container {
    width: var(--site-width) !important;
    max-width: var(--site-max-width) !important;
    margin: 0 auto !important;
    padding-inline: var(--site-horizontal-padding) !important;
}
.pa-theme.pa-auth.pa-page-login .pa-content-row,
.pa-theme.pa-auth.pa-page-login .pa-page-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.pa-theme.pa-auth.pa-page-login .phm-login-enabled {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.pa-theme.pa-auth.pa-page-login #footer,
.pa-theme.pa-auth.pa-page-login .pa-page-heading { display: none !important; }
.pa-theme.pa-auth.pa-page-login .phm-login-shell { margin-block: 0; }
.pa-theme.pa-auth.pa-page-login { overflow-x: clip; }
@media (min-width:1101px) {
    .pa-theme.pa-auth.pa-page-login #main-body { margin-inline-start:var(--pa-sidebar-width) !important; }
    .pa-theme.pa-auth.pa-page-login .phm-login-shell { grid-template-columns:minmax(0,1.84fr) minmax(0,1fr); }
    .pa-theme.pa-auth.pa-page-login .phm-login-options { padding-inline:clamp(24px,4vw,70px); }
}

@media (max-width: 820px) {
    .pa-theme.pa-auth.pa-page-login #main-body { min-height: 100svh; padding: 14px 0 !important; align-items: flex-start; }
}
/* Registration uses its own two-panel frame and submits hidden billing defaults. */
.pa-theme.pa-page-clientregister #footer,
.pa-theme.pa-page-clientregister .pa-page-heading,
.pa-theme.pa-page-clientregister .pa-page-title { display:none !important; }
.pa-theme.pa-page-clientregister #main-body {
    min-height:100vh;
    padding:8px 0 !important;
    margin:0 !important;
    align-items:flex-start;
    background:#f5f7fa;
}
.pa-theme.pa-page-clientregister #main-body>.container.site-container,
.pa-theme.pa-page-clientregister #main-body>.container {
    width:var(--site-width) !important;
    max-width:var(--site-max-width) !important;
    margin:0 auto !important;
    padding-inline:var(--site-horizontal-padding) !important;
}
.pa-theme.pa-page-clientregister .pa-content-row,
.pa-theme.pa-page-clientregister .pa-page-content {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}
.pa-theme.pa-page-clientregister .pa-content-clientregister {
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
@media (max-width:900px) {
    .pa-theme.pa-page-clientregister #main-body { min-height:100svh; padding:10px 0 !important; }
}
