/* Structure-only bridge for the source DOM converted to editable WP core blocks.
 * The original source sheets establish the appearance, palette, spacing and chrome.
 */
.msw-site-main { width: 100%; margin: 0; padding: 0; }
/* The source floating contacts replace this observed existing plugin's extra bar. */
body.msw-source-theme { padding-bottom: 0; }
body.msw-source-theme #callnowbutton { display: none !important; }
.msw-migration { width: 100%; margin: 0; padding: 0; max-width: none; }
.msw-migration .wp-block-group { max-width: none; }
.msw-migration :is(.home-hero, .interior-hero, .global-hero) { position: relative; isolation: isolate; }
.msw-migration :is(.home-hero, .interior-hero, .global-hero) > figure.msw-hero-image {
  position: absolute; inset: 0; z-index: -2; margin: 0; width: 100%; height: 100%;
}
.msw-migration :is(.home-hero, .interior-hero, .global-hero) > figure.msw-hero-image img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; border-radius: 0;
}
.msw-migration .home-hero > figure.msw-hero-image img { object-position: center 53%; }
.msw-migration :is(.home-hero, .interior-hero, .global-hero)::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgb(9 41 31 / .95), rgb(9 41 31 / .72) 43%, rgb(9 41 31 / .12) 82%);
}
.msw-migration .interior-hero::before { background: linear-gradient(90deg, rgb(9 41 31 / .96), rgb(9 41 31 / .82) 46%, rgb(9 41 31 / .25) 86%); }
.msw-migration .global-hero::before { background: linear-gradient(90deg, rgb(9 41 31 / .96), rgb(9 41 31 / .66) 53%, rgb(9 41 31 / .12)); }
.msw-migration :is(.home-specialty-icons, .home-actions, .global-actions, .actions, .home-location-links, .chips, .explorer-toolbar) > p { display: contents; }
.msw-migration .home-stats > .wp-block-group > p { display: contents; }
.msw-migration :is(.home-badge, .interior-hero-side, .home-signature) > p { margin: 0; }
.msw-migration :is(.home-card-image, .heroimg) > figure.wp-block-image { margin: 0; height: 100%; }
.msw-migration :is(.home-card-image, .heroimg) > figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.msw-migration figure.wp-block-image { max-width: 100%; }
.msw-migration .wp-block-image img { max-width: 100%; height: auto; }
.msw-migration :is(.home-hero, .interior-hero, .global-hero) .wp-block-image img { height: 100%; }
.msw-migration figure.wp-block-table { margin-left: 0; margin-right: 0; overflow-x: auto; }
.msw-migration .wp-block-table table { width: 100%; }
.msw-migration .wp-element-caption { text-align: left; }
.msw-migration .wp-block-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.msw-migration .wp-block-button__link { background: var(--premium-green); color: #fffdf8; border-radius: 11px; font: 700 14px/1.4 system-ui, sans-serif; min-height: 48px; padding: 14px 23px; }
.msw-migration [data-msw-script-disabled] { opacity: .68; cursor: not-allowed; }
.msw-search-icon { border: 0; padding: 0; background: transparent; color: var(--premium-muted); font: inherit; font-size: 24px; cursor: pointer; }
.msw-skip-link { position: absolute; top: 8px; left: -9999px; z-index: 1000; padding: 12px 18px; background: #fffdf8; color: #103d30; }
.msw-skip-link:focus { left: 16px; }
.msw-page-title { max-width: 1250px; margin: 0 auto; padding: 24px; }
.msw-page-title h1 { font-size: clamp(28px, 3vw, 40px); }
.msw-retained-post { margin-top: 35px; margin-bottom: 45px; }
.msw-retained-title h1 { margin: 0 0 32px; }
.msw-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.msw-blog-card img { display: block; width: 100%; height: 220px; object-fit: cover; border-radius: 12px; }
.msw-blog-card h2 { font-size: 26px; line-height: 1.25; margin: 22px 0 16px; }
.msw-blog-card .btn { margin-top: 18px; }
.msw-archive .navigation.pagination { padding-top: 32px; }
.msw-archive .page-numbers { display: inline-block; padding: 9px 15px; margin: 4px; border: 1px solid var(--premium-border); border-radius: 8px; }
.msw-interaction-fallback { width: min(1120px, calc(100% - 32px)); padding: 18px 22px; margin: 24px auto; background: #fffdf8; border: 1px solid var(--premium-border); border-radius: 12px; }
.msw-interaction-fallback[hidden] { display: none !important; }
body.admin-bar .home-header { top: 32px; }
@media(max-width:980px) { .msw-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:782px) { body.admin-bar .home-header { top: 46px; } }
@media(max-width:700px) { .msw-blog-grid { grid-template-columns: 1fr; } .msw-retained-post { margin: 24px auto; } }
@media(max-width:600px) { body.admin-bar .home-header { top: 0; } }
