/*
 * WordPress integration layer.
 * Everything here is additive: it covers what the design got from its
 * surroundings in the Block Library, plus real images replacing the
 * placeholders. The design CSS itself (wh-home.css, wh-shared.css) is untouched.
 */

/* Scope wrappers create no box of their own, so WordPress block-gap margins on
   them do nothing and the sticky header still sticks to the page. */
.wh-home,
.wh-shared { display: contents; }

/* In the Block Library, homepage blocks inherited these text settings from the
   page around them. Matching them keeps line heights identical. */
.wh-home { font-size: 14.5px; line-height: 1.55; }

/* Real images inside the design's placeholder boxes (.ph). Without an image the
   placeholder renders exactly as designed. */
.wh-home .ph.has-img { background: transparent !important; border-color: transparent !important; }
.wh-home .ph.has-img::after { content: none !important; display: none !important; }
.wh-home .ph.has-img > img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  max-width: none; object-fit: cover;
}
.wh-home .logos .ph.has-img > img,
.wh-home .award .ph.has-img > img,
.wh-home .tbadge .ph.has-img > img { object-fit: contain; }
.wh-home .mcard .ph.has-img > img { object-position: top; }

/* Optional video link laid over a card's media. */
.wh-home .wh-media-link { position: absolute; inset: 0; z-index: 4; }

/* Sticky header clears the WordPress admin bar for logged-in users. */
.admin-bar .wh-shared .nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .wh-shared .nav { top: 46px; } }

/* Mobile menu open: lock page scroll (replaces .pg.navlock from the design). */
html.wh-navlock, html.wh-navlock body { overflow: hidden; }
