/* Neutral "theme-like" frame for previews. Mirrors the CSS variables Dawn-style themes expose. */
:root {
  --font-body-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-heading-family: ui-serif, Georgia, "Times New Roman", serif;
  --font-heading-weight: 500;
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body.pv { font-family: var(--font-body-family); color: #1d1d1b; background: #fbfaf8; font-size: 16px; -webkit-font-smoothing: antialiased; }
/* Typical theme link rule (element selector) so blocks are tested against theme CSS. */
a { color: inherit; }
.pv-ctx { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; max-width: 1200px; margin: 0 auto; padding: 32px clamp(16px, 4vw, 40px); }
.pv-ctx__media { aspect-ratio: 1; border-radius: 12px; background: #ece6dd; }
.pv-ctx__info { display: flex; flex-direction: column; gap: 14px; padding-top: 12px; }
.pv-ctx__info span { height: 18px; border-radius: 6px; background: #e6e0d6; }
.pv-ctx__info span:first-child { height: 34px; width: 70%; }
.pv-ctx__info span:nth-child(2) { width: 40%; }
.pv-ctx__btn { height: 48px !important; border-radius: 999px !important; background: #d9d1c4 !important; margin-top: 12px; }
.pv-ctx--tall { min-height: 900px; display: block; }
@media (max-width: 749px) { .pv-ctx { grid-template-columns: 1fr; } }
.pv-toast { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); background: #1d1d1b; color: #fff; padding: 8px 14px; border-radius: 8px; font: 13px/1.4 var(--font-body-family); z-index: 2147483647; pointer-events: none; }
/* chrome=1: placeholder store header and footer around the section (shapes only, decorative). */
.pv-chrome__in { max-width: 1200px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.pv-chrome-head { border-bottom: 1px solid #ebe5dc; background: #fbfaf8; }
.pv-chrome-head .pv-chrome__in { display: flex; align-items: center; gap: 32px; height: 72px; }
.pv-chrome-head span, .pv-chrome-foot span { display: block; border-radius: 6px; background: #e6e0d6; }
.pv-chrome__logo { width: 120px; height: 26px; }
.pv-chrome__menu { display: none !important; width: 22px; height: 16px; }
.pv-chrome-head nav { display: flex; gap: 24px; flex: 1; }
.pv-chrome-head nav span { width: 64px; height: 12px; }
.pv-chrome__icons { display: flex; gap: 14px; }
.pv-chrome__icons span { width: 20px; height: 20px; border-radius: 50%; }
.pv-chrome-foot { margin-top: 48px; padding: 48px 0 24px; border-top: 1px solid #ebe5dc; background: #f4f1ec; }
.pv-chrome__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.pv-chrome__cols div { display: flex; flex-direction: column; gap: 12px; }
.pv-chrome__cols span { width: 70%; height: 10px; }
.pv-chrome__cols .pv-chrome__h { width: 45%; height: 14px; background: #ddd5c9; margin-bottom: 4px; }
.pv-chrome__cols .pv-chrome__field { width: 100%; height: 40px; border-radius: 8px; }
.pv-chrome__base { display: flex; justify-content: space-between; margin-top: 40px; padding-top: 20px; border-top: 1px solid #e6e0d6; }
.pv-chrome__base span { width: 160px; height: 10px; }
@media (max-width: 749px) {
  .pv-chrome-head .pv-chrome__in { height: 60px; justify-content: space-between; gap: 16px; }
  .pv-chrome-head nav { display: none; }
  .pv-chrome__menu { display: block !important; }
  .pv-chrome__logo { width: 96px; }
  .pv-chrome__icons span:first-child { display: none; }
  .pv-chrome__cols { grid-template-columns: 1fr; gap: 28px; }
  .pv-chrome__base { flex-direction: column; gap: 10px; }
}
