/* WordPress compatibility and simple styling for standard editor pages. */
body.admin-bar .site-header { /* WordPress places its own toolbar at the top. */ }
@media (min-width:783px) { body.admin-bar .site-header { margin-top:32px; } body.admin-bar .pdp-header { top:32px; } }
@media (max-width:782px) { body.admin-bar .site-header { margin-top:46px; } body.admin-bar .pdp-header { top:46px; } }
.sleepz-wp-shell { min-height:100vh; background:#faf6fe; color:#35263e; font-family:Manrope,Arial,sans-serif; }
.sleepz-wp-header { max-width:1160px; margin:auto; padding:26px 22px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.sleepz-wp-header img { width:160px; max-height:84px; object-fit:contain; }
.sleepz-wp-header nav { display:flex; align-items:center; gap:18px; }
.sleepz-wp-header a,.sleepz-wp-main a,.sleepz-wp-footer a { color:inherit; }
.sleepz-wp-main { max-width:940px; margin:auto; min-height:65vh; padding:52px 25px 85px; }
.sleepz-wp-main h1 { font-size:clamp(38px,6vw,64px); line-height:1.15; margin-bottom:32px; }
.sleepz-wp-main article { padding-bottom:28px; margin-bottom:35px; border-bottom:1px solid #ddd0e6; }
.sleepz-wp-main h2 { font-size:26px; margin-bottom:15px; }
.sleepz-wp-content { font-size:16px; line-height:1.8; }
.sleepz-wp-content p { margin-bottom:18px; }
.sleepz-wp-content :is(img,video,iframe) { max-width:100%; height:auto; }
.sleepz-wp-footer { max-width:1160px; margin:auto; padding:24px 22px 40px; color:#796783; font-size:12px; }
@media (max-width:620px) { .sleepz-wp-header img {width:130px;} .sleepz-wp-header nav {font-size:12px;} .sleepz-wp-main {padding-top:35px;} }

/* Approved PNG artwork: show one mark from the sheet and retain live text labels.
   The shared cutout filter removes only the dark presentation background. */
.hero-icon-filter { position:absolute; pointer-events:none; overflow:hidden; }
.hero-stats .hero-feature-icon {
  --icon-left:-6px;
  position:relative;
  display:block;
  width:72px;
  height:54px;
  overflow:hidden;
  margin:2px 0 12px;
  flex:none;
}
.hero-stats .hero-feature-icon--health { --icon-left:-76.2px; }
.hero-stats .hero-feature-icon--gravity { --icon-left:-150.9px; }
.hero-stats .hero-feature-icon--support { --icon-left:-225.6px; }
.hero-feature-icon img {
  position:absolute;
  width:301.5px;
  height:117.3px;
  max-width:none;
  left:var(--icon-left);
  top:-25.5px;
  filter:url('#sleepz-hero-icon-cutout');
}
.hero-stats .hero-feature-label { display:block; font-size:12px; line-height:1.45; }
@media (max-width:620px) {
  .hero-stats { row-gap:20px; }
  .hero-stats .hero-feature-icon {
    box-sizing:content-box;
    border:8px solid #100d19;
    border-radius:14px;
    background:#100d19;
  }
}

/* Approved PNG service icons and the shared homepage sleep dashboard. */
.pdp-services .pdp-service-icon {
  display:block;
  width:64px;
  height:64px;
  flex:0 0 64px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.pdp-services > div > span { min-width:0; }
.pdp-monitoring { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); }
.pdp-sleep-dashboard { width:100%; max-width:620px; min-width:0; }
.pdp-sleep-dashboard .health-visual { width:100%; }
.pdp-sleep-dashboard .dashboard-card header em { font-family:inherit; letter-spacing:normal; }
.pdp-dashboard-caption { color:var(--pdp-muted); font-size:10px; text-align:right; margin:10px 4px 0; }
@media (max-width:1100px) {
  .pdp-monitoring { grid-template-columns:minmax(0,1fr); gap:32px; }
  .pdp-sleep-dashboard { justify-self:center; }
}
@media (max-width:780px) {
  .pdp-services .pdp-service-icon { width:48px; height:48px; flex-basis:48px; }
}
