/* Shared styles for native WordPress blocks, in editor and website. */
:where(.wp-site-blocks, .editor-styles-wrapper) { overflow-wrap: break-word; }
:where(.wp-site-blocks) { min-height: 100vh; display: flex; flex-direction: column; }
:where(.wp-site-blocks) > main { flex-grow: 1; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(img) { max-width: 100%; height: auto; }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(h1,h2,h3,p) { text-wrap: pretty; }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(h1,h2) { text-wrap: balance; }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--wp--preset--color--accent); outline-offset: 4px;
}
:where(.rts-header) { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent); }
:where(.rts-brand) { gap: 0.75rem; }
:where(.rts-brand .wp-block-site-logo img) { max-height: 48px; width: auto; }
:where(.rts-header .wp-block-site-title) { white-space: normal; }
:where(.rts-footer) { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent); }
:where(.rts-footer .wp-block-page-list) { gap: 1rem 1.5rem; flex-wrap: wrap; }
:where(.rts-eyebrow) { font-size: 0.75rem; font-weight: 650; line-height: 1.5; text-transform: uppercase; letter-spacing: 0.14em; color: var(--wp--preset--color--accent); }
:where(.rts-muted) { color: color-mix(in srgb, var(--wp--preset--color--contrast) 75%, var(--wp--preset--color--base)); }
:where(.rts-card) { border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent); border-radius: 16px; padding: clamp(1.5rem, 3vw, 2.25rem); }
:where(.rts-card) > :first-child { margin-block-start: 0; }
:where(.rts-card) > :last-child { margin-block-end: 0; }
:where(.rts-product-preview) { border-radius: 24px; border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent); padding: clamp(1.5rem, 4vw, 3rem); }
:where(.rts-product-title) { font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.12; letter-spacing: -0.04em; font-weight: 600; }
:where(.rts-preview-row) { padding-block: 1rem; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent); }
:where(.rts-preview-number) { min-width: 2rem; font-size: 0.75rem; font-weight: 600; color: var(--wp--preset--color--accent); }
:where(.rts-stat) { font-size: 0.75rem; line-height: 1.5; border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 15%, transparent); border-radius: 100px; padding: 0.4rem 0.8rem; }
:where(.rts-checklist) { padding-inline-start: 1.25rem; }
:where(.rts-checklist li) { padding-inline-start: 0.35rem; margin-block: 0.65rem; }
:where(.rts-checklist li)::marker { color: var(--wp--preset--color--accent); }
:where(.rts-section-title) { max-width: 700px; }
:where(.rts-price) { font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 600; line-height: 1.15; letter-spacing: -0.05em; }
:where(.rts-legal) :where(h2) { font-size: 1.5rem; margin-block-start: 2.5rem; }
:where(.rts-legal) :where(h3) { font-size: 1.125rem; margin-block-start: 2rem; }
:where(.rts-note) { border-left: 3px solid var(--wp--preset--color--accent); padding: 1rem 1.25rem; background: var(--wp--preset--color--surface); border-radius: 0 8px 8px 0; }
:where(.rts-faq) { padding-block: 1.1rem; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 16%, transparent); }
:where(.rts-faq summary) { font-weight: 600; line-height: 1.5; cursor: pointer; }
:where(.rts-faq[open] summary) { margin-bottom: 0.75rem; }
:where(.rts-footer a) { text-underline-offset: 0.2em; }
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); background: transparent;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button__link:hover { filter: brightness(0.92); }
:where(.rts-contact-slot) { min-height: 260px; }
:where(.rts-contact-slot .wp-block-shortcode) { width: 100%; }
@media (max-width: 781px) {
    :where(.rts-hero-columns) { gap: 2.5rem !important; }
    :where(.rts-header .wp-block-navigation) { margin-left: auto; }
    :where(.rts-footer-row) { align-items: flex-start !important; }
    :where(.rts-footer .wp-block-navigation) { justify-content: flex-start; }
    :where(.rts-product-preview) { max-width: 540px; }
}
@media (prefers-reduced-motion: reduce) { :where(.wp-site-blocks, .editor-styles-wrapper) * { scroll-behavior: auto !important; } }
