/* One outer content grid, matching the homepage and search results.
   Full-width browse shells retain their own matching gutters and map behavior. */
:root{--vm-page-content-max:1180px;--vm-page-gutter:20px;}
@media(max-width:767px){:root{--vm-page-gutter:16px;}}
html body main.container.vm-main:not(:has(.home-page,#listingsColumn,.vm-state-page,.vm-category-page,.vm-member-profile-page)){
 box-sizing:border-box;width:100%!important;max-width:calc(var(--vm-page-content-max) + 2 * var(--vm-page-gutter))!important;margin-inline:auto!important;padding-inline:var(--vm-page-gutter)!important;
}
/* These are page wrappers, not the padded cards/forms within each page. */
html body main.container.vm-main:not(:has(.home-page,#listingsColumn,.vm-state-page,.vm-category-page,.vm-member-profile-page)) > :is(.vm-favorites-page,.vm-my-listings-page,.vm-dashboard-page,.vm-help-page,.vm-articles-page,.article-details,.details-shell,.container,.container-fluid,.vm-page-surface,.admin-tools-page,.admin-messages-page,.sitemap-admin,.use-review-page,.bulk-import-page,.crm-shell){
 box-sizing:border-box;width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;
}
html body main.container.vm-main .vm-dashboard-page > .vm-dashboard-shell,
html body main.container.vm-main > .vm-page-surface > .container-fluid{
 box-sizing:border-box;width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;
}

/* Search, saved venues, and management cards share fluid column widths. */
html body :is(.vm-my-listings-page .vm-my-listings-grid,.vm-favorites-grid){
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;width:100%!important;max-width:none!important;margin-inline:0!important;justify-content:center!important;
}
html body .vm-my-listings-page .vm-my-listings-grid > [class*='col-'],
html body .vm-my-listings-page .vm-my-listings-grid .vm-my-listing-card{
 width:100%!important;max-width:none!important;min-width:0;
}
@media(min-width:768px){html body :is(.vm-my-listings-page .vm-my-listings-grid,.vm-favorites-grid){grid-template-columns:repeat(2,minmax(0,360px))!important;}}
@media(min-width:1100px){html body :is(.vm-my-listings-page .vm-my-listings-grid,.vm-favorites-grid){grid-template-columns:repeat(3,minmax(0,360px))!important;}}

/* Shared breadcrumb presentation for account and public pages. */
html body main .vm-breadcrumbs{font:400 13px/1.5 var(--vm-font-sans);color:#64748b;margin:0 0 18px!important;padding:0;text-align:left;}
html body main .vm-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;}
html body main .vm-breadcrumbs li{display:inline-flex;align-items:center;gap:6px;min-width:0;margin:0;padding:0;}
html body main .vm-breadcrumbs :is(a,span,li){font:inherit;letter-spacing:normal;text-transform:none;}
html body main .vm-breadcrumbs a{color:#64748b;text-decoration:none;}
html body main .vm-breadcrumbs a:is(:hover,:focus-visible){color:#2458d3;text-decoration:underline;text-underline-offset:3px;}
html body main .vm-breadcrumbs li+li::before{content:'›';color:#94a3b8;flex-shrink:0;}
html body main .vm-breadcrumbs [aria-current='page']{font-weight:500;color:#0f1e3a;}
html body main.vm-main > :is(.vm-favorites-page,.vm-my-listings-page,.vm-dashboard-page,.vm-help-page,.container:has(> .vm-breadcrumbs),.vm-edit-page){padding-top:20px!important;margin-top:0!important;}
html body main.vm-main > .vm-page-surface > .container-fluid:has(> .vm-breadcrumbs){padding-top:20px!important;}
html body main .vm-dashboard-shell > .vm-breadcrumbs{margin-bottom:2px!important;}
@media(max-width:767px){
 html body main .vm-breadcrumbs{font-size:12px;margin-bottom:16px!important;}
 html body main.vm-main > :is(.vm-favorites-page,.vm-my-listings-page,.vm-dashboard-page,.vm-help-page,.container:has(> .vm-breadcrumbs),.vm-edit-page),
 html body main.vm-main > .vm-page-surface > .container-fluid:has(> .vm-breadcrumbs){padding-top:12px!important;}
 html body main .vm-dashboard-shell > .vm-breadcrumbs{margin-bottom:0!important;}
}

.vm-mobile-account-heading{display:none;}
/* Mobile account headers follow the My Listings / Dashboard reference. */
@media(max-width:767px){
 html body main.vm-main :is(.vm-page-title--account,.vm-menu-page-title){font-family:var(--vm-font-sans)!important;font-size:23px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.6px!important;color:#0f1e3a!important;text-align:left!important;margin:0!important;}
 html body main.vm-main .vm-page-header:has(.vm-page-title--account){text-align:left!important;margin:0 0 18px!important;padding-top:0!important;}
 html body main.vm-main .vm-dashboard-shell > .vm-page-header{margin-bottom:2px!important;}
 html body main.vm-main .vm-menu-page-title{margin-bottom:18px!important;}
 html body main.vm-main .vm-mobile-account-heading{display:block;margin:0;padding:0;text-align:left;}
 html body main.vm-main .vm-mobile-account-heading .vm-menu-page-title{margin-bottom:18px!important;}
 html body main.vm-main .vm-breadcrumbs{font-size:12px!important;line-height:1.5!important;text-align:left;margin-bottom:16px!important;}
 html body main.vm-main .vm-dashboard-shell > .vm-breadcrumbs{margin-bottom:0!important;}
}

/* One actual header component owns mobile breadcrumb/title rhythm. */
.vm-account-heading-group-mobile{display:none;}
@media(min-width:768px){.vm-contact-heading{text-align:center;}.vm-contact-heading h1{font-size:2rem;}}
@media(max-width:767px){
 html body main.container.vm-main:has(.vm-account-heading-group){padding-top:12px!important;}
 html body main.container.vm-main > :has(.vm-account-heading-group),
 html body main.vm-main > .vm-page-surface > .container-fluid:has(.vm-account-heading-group){margin-top:0!important;padding-top:0!important;}
 html body main.vm-main .vm-edit-page:has(.vm-account-heading-group){width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;}
 html body main.vm-main .vm-account-heading-group{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;margin:0 0 18px!important;padding:0!important;}
 html body main.vm-main .vm-account-heading-group > .vm-breadcrumbs{margin:0!important;padding:0!important;font:400 12px/18px var(--vm-font-sans)!important;}
 html body main.vm-main .vm-account-heading-group > .vm-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0!important;padding:0!important;text-align:left!important;}
 html body main.vm-main .vm-account-heading-copy{min-width:0;}
 html body main.vm-main .vm-account-heading-group h1{font:700 23px/1.2 var(--vm-font-sans)!important;letter-spacing:-.6px!important;margin:0!important;padding:0!important;text-align:left!important;color:#0f1e3a!important;}
 html body main.vm-main .vm-account-heading-group .vm-account-heading-intro{font:400 13px/1.5 var(--vm-font-sans)!important;color:#64748b;margin:6px 0 0!important;padding:0!important;max-width:none;}
 html body main.vm-main .vm-dashboard-shell > .vm-account-heading-group{margin-bottom:2px!important;}
 html body main.vm-main .vm-inbox-desktop-breadcrumbs{display:none!important;}
}
@media(min-width:768px){.vm-account-heading-group:not(.vm-account-heading-group-mobile){display:contents;}}

/* Mobile Contact and Account Info sit directly on the page, without an outer card. */
@media(max-width:767px){
 html body main.vm-main .vm-account-heading-group:has(.vm-contact-heading) + .mx-auto > form.card,
 html body main.vm-main .vm-account-heading-group:has(.vm-page-header--center) ~ .vm-account-card{
  border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;
 }
 html body main.vm-main .vm-account-heading-group:has(.vm-page-header--center) ~ .vm-account-card > .p-4{padding:0!important;}
}
