/**
 * IQ Mobile coded pages — shared M3 prose/layout styles.
 */
.iqm-page { background: var(--md-sys-color-surface); color: var(--md-sys-color-on-surface); font: var(--md-sys-typescale-body-lg); overflow-x: clip; }
.iqm-page *, .iqm-page *::before, .iqm-page *::after { box-sizing: border-box; }
.iqm-page img { height: auto; max-width: 100%; }
.iqm-page :focus-visible { outline: 3px solid var(--md-sys-color-primary); outline-offset: 2px; border-radius: var(--md-sys-shape-corner-xs); }
.iqm-home-v2-active .site-content, body.page .site-content { }

.iqm-page .iqm-container { margin: 0 auto; max-width: var(--iqm-container); padding: 0 var(--iqm-space-4); }
.iqm-page .iqm-section { padding: var(--iqm-space-10) 0; }
@media (max-width: 767px) { .iqm-page .iqm-section { padding: var(--iqm-space-6) 0; } }

/* page hero/title block */
.iqm-page-hero { background: var(--md-sys-color-surface-container); padding: var(--iqm-space-12) 0; text-align: center; }
.iqm-page-hero h1 { font: var(--md-sys-typescale-display); margin: 0 0 var(--iqm-space-2); }
.iqm-page-hero .iqm-page-hero__sub { color: var(--md-sys-color-primary); font: var(--md-sys-typescale-title-lg); margin: 0; }

/* prose */
.iqm-prose { margin: 0 auto; max-width: 800px; }
.iqm-prose p { line-height: 1.7; margin: 0 0 var(--iqm-space-5); }
.iqm-prose h2 { font: var(--md-sys-typescale-headline); margin: var(--iqm-space-8) 0 var(--iqm-space-4); }
.iqm-prose h3 { font: var(--md-sys-typescale-title-lg); margin: var(--iqm-space-6) 0 var(--iqm-space-3); }
.iqm-prose a { color: var(--md-sys-color-primary); text-decoration: none; }
.iqm-prose a:hover { color: var(--md-sys-color-primary-hover); text-decoration: underline; }
.iqm-prose ul { line-height: 1.7; margin: 0 0 var(--iqm-space-5); padding-left: 1.2em; }
.iqm-prose li { margin-bottom: var(--iqm-space-2); }

/* store list card */
.iqm-store-list { background: var(--md-sys-color-surface-container-low); border-radius: var(--md-sys-shape-corner-lg); box-shadow: var(--md-sys-elevation-1); columns: 2; gap: var(--iqm-space-8); list-style: none; margin: var(--iqm-space-6) 0; padding: var(--iqm-space-6); }
.iqm-store-list li { break-inside: avoid; margin: 0 0 var(--iqm-space-3); }
.iqm-store-list strong { color: var(--md-sys-color-on-surface); }
.iqm-store-list span { color: var(--md-sys-color-on-surface-variant); }
@media (max-width: 600px) { .iqm-store-list { columns: 1; } }
