/* ========================================================================
   P-UI02 — Page Type Layout Framework
   Shared page shell for Home / Taxonomy / Local Hub / SEO Listing / News.
   Desktop content axis: 1280px. Page-type templates keep their own content
   modules while sharing spacing, breadcrumb, hero, section and stat rules.
   ======================================================================== */
:root{
  --mbr-page-width:1280px;
  --mbr-page-gutter:16px;
  --mbr-page-gap:20px;
  --mbr-page-bg:#f7f8fb;
  --mbr-page-card:#fff;
  --mbr-page-border:#e5e7eb;
  --mbr-page-text:#172033;
  --mbr-page-muted:#667085;
  --mbr-page-radius:20px;
}

.mbr-page{background:var(--mbr-page-bg);color:var(--mbr-page-text)}
.mbr-page-shell{width:calc(100% - 32px);max-width:var(--mbr-page-width);margin:0 auto;padding:16px 0 40px;box-sizing:border-box}
.mbr-page-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:0 0 14px;color:var(--mbr-page-muted);font-size:13px;line-height:1.4}
.mbr-page-breadcrumb a{color:#475467;text-decoration:none}.mbr-page-breadcrumb a:hover{color:#d92d20}.mbr-page-breadcrumb__sep{color:#98a2b3}

.mbr-page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:18px;background:var(--mbr-page-card);border:1px solid var(--mbr-page-border);border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.mbr-page-hero--single{grid-template-columns:1fr}
.mbr-page-kicker{font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#d92d20;margin-bottom:8px}
.mbr-page-hero h1{font-size:clamp(31px,4vw,48px);line-height:1.08;letter-spacing:-.8px;margin:0 0 12px;color:var(--mbr-page-text)}
.mbr-page-hero p{margin:0;color:var(--mbr-page-muted);font-size:15px;line-height:1.75;max-width:860px}
.mbr-page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mbr-page-actions .btn,.mbr-page-actions .mbr-ui-btn{min-height:44px;border-radius:11px;font-weight:800}

.mbr-page-stats{display:grid;gap:10px;align-content:start}
.mbr-page-stat{background:#fbfcfe;border:1px solid var(--mbr-page-border);border-radius:15px;padding:15px}
.mbr-page-stat span{display:block;color:var(--mbr-page-muted);font-size:12px;line-height:1.4}.mbr-page-stat strong{display:block;font-size:22px;line-height:1.2;margin-top:5px}.mbr-page-stat small{display:block;color:var(--mbr-page-muted);font-size:12px;line-height:1.5;margin-top:5px}

.mbr-page-section{margin-top:18px;background:var(--mbr-page-card);border:1px solid var(--mbr-page-border);border-radius:20px;padding:24px;box-shadow:0 7px 22px rgba(15,23,42,.025)}
.mbr-page-section--plain{background:transparent;border:0;box-shadow:none;padding:0}
.mbr-page-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.mbr-page-section__title{margin:0;font-size:clamp(22px,2.2vw,28px);line-height:1.2}.mbr-page-section__sub{margin:5px 0 0;color:var(--mbr-page-muted);font-size:13px;line-height:1.6;max-width:860px}.mbr-page-section__meta{font-size:13px;color:var(--mbr-page-muted);white-space:nowrap}

.mbr-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mbr-page-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.mbr-page-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mbr-page-card{background:#fff;border:1px solid var(--mbr-page-border);border-radius:16px;padding:16px}
.mbr-page-empty{border:1px dashed #d0d5dd;border-radius:16px;padding:24px;text-align:center;color:var(--mbr-page-muted)}

/* Page type hooks */
body.mbr-template-home .w11-pro-main,
body.mbr-template-taxonomy .w11-pro-main,
body.mbr-template-local .w11-pro-main,
body.mbr-template-listing .w11-pro-main,
body.mbr-template-supporting .w11-pro-main{background:var(--mbr-page-bg)}

/* SEO listing families use the same 1280 axis while preserving industry UI. */
body.mbr-template-listing :is(.svc-wrap,.veh-wrap,.prop-wrap){width:calc(100% - 32px)!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
body.mbr-template-listing :is(.svc-bottom,.veh-bottom,.prop-bottom){max-width:1280px!important}

/* Legacy taxonomy/local classes mapped into the framework for safe rollout. */
body.mbr-template-taxonomy .p16-taxonomy-shell{width:calc(100% - 32px)!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
body.mbr-template-local .lh-wrap{width:calc(100% - 32px)!important;max-width:1280px!important}

@media(max-width:900px){
  .mbr-page-hero{grid-template-columns:1fr}.mbr-page-grid,.mbr-page-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .mbr-page-shell{width:calc(100% - 20px);padding:12px 0 28px}.mbr-page-hero{padding:20px;border-radius:18px}.mbr-page-hero h1{font-size:31px}.mbr-page-section{padding:18px 16px}.mbr-page-section__head{align-items:flex-start;flex-direction:column;gap:6px}.mbr-page-grid,.mbr-page-grid--4,.mbr-page-grid--2{grid-template-columns:1fr}
  body.mbr-template-listing :is(.svc-wrap,.veh-wrap,.prop-wrap),body.mbr-template-local .lh-wrap,body.mbr-template-taxonomy .p16-taxonomy-shell{width:calc(100% - 20px)!important}
}
