/* GRWPTH Site — the few rules theme.json cannot express. Logical properties only (RTL-first, PLAN §6 / I3). */
.skip-link:focus { inset-inline-start: 1rem; }
.grwsite-brand { font-weight: 700; font-size: var(--wp--preset--font-size--large); }
.grwsite-brand a { color: inherit; text-decoration: none; }
.grwsite-menu__list { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); list-style: none; margin: 0; padding: 0; }
.grwsite-menu__list a { color: inherit; text-decoration: none; }
.grwsite-menu__list a:hover, .grwsite-menu__list .current-menu-item > a { text-decoration: underline; text-underline-offset: .25em; }
.grwsite-menu__list .sub-menu { display: none; }
.grwsite-lang a { font-weight: 600; text-decoration: none; }
.grwsite-legal { text-align: center; }
:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
/* GRWPTH credit badge (markup from Companion's credit part; its look is the theme's — same rules as the live block themes). */
.grw-credit { position: relative; display: inline-flex; align-items: center; gap: 0.5em; margin-block: 0.25em; padding: 0.45em 0.9em; border: 1px solid rgba(128, 128, 128, 0.4); border: 1px solid rgb(from currentColor r g b / 0.28); border-radius: 999px; font-size: 0.75rem; line-height: 1.2; letter-spacing: 0.01em; color: inherit; text-decoration: none; white-space: nowrap; vertical-align: middle; transition: border-color 0.2s ease, background-color 0.2s ease; direction: ltr; }
.grw-credit span { font: inherit; letter-spacing: inherit; text-transform: none; }
.grw-credit::after { content: ""; position: absolute; inset: -6px; }
.grw-credit strong { font-weight: 700; letter-spacing: 0.08em; }
.grw-credit__w { inline-size: 0.8em; block-size: 1em; flex: none; }
.grw-credit__tip { stroke: var(--grw-tip, #C8F169); }
.grw-credit__tip-end { fill: var(--grw-tip, #C8F169); }
.grw-credit__arrow { font-size: 0.9em; opacity: 0.7; }
.grw-credit__sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.grw-credit:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.grw-credit:hover { border-color: rgb(from currentColor r g b / 0.6); background-color: rgb(from currentColor r g b / 0.06); }
/* Main menu: inline from 782px; on phones a native popover panel opened by the button. */
.grwsite-menu__open, .grwsite-menu__close { display: none; background: none; border: 0; color: inherit; cursor: pointer; padding: .5rem; min-inline-size: 44px; min-block-size: 44px; }
.grwsite-menu__open span, .grwsite-menu__open span::before, .grwsite-menu__open span::after { display: block; inline-size: 22px; block-size: 2px; background: currentColor; position: relative; }
.grwsite-menu__open span::before, .grwsite-menu__open span::after { content: ""; position: absolute; }
.grwsite-menu__open span::before { inset-block-start: -7px; }
.grwsite-menu__open span::after { inset-block-start: 7px; }
.grwsite-menu__panel[popover] { display: contents; }
@media (max-width: 781px) {
	.grwsite-menu--primary .grwsite-menu__open { display: inline-flex; align-items: center; justify-content: center; }
	.grwsite-menu--primary .grwsite-menu__panel[popover] { display: none; }
	.grwsite-menu--primary .grwsite-menu__panel[popover]:popover-open { display: block; position: fixed; inset: 0; margin: 0; box-sizing: border-box; inline-size: 100%; block-size: 100%; max-inline-size: none; max-block-size: none; border: 0; padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); overflow-y: auto; }
	.grwsite-menu--primary .grwsite-menu__close { display: block; margin-inline-start: auto; font-size: 2rem; line-height: 1; }
	.grwsite-menu--primary .grwsite-menu__list { flex-direction: column; font-size: var(--wp--preset--font-size--large); gap: var(--wp--preset--spacing--40); }
	.grwsite-menu--primary .grwsite-menu__list .sub-menu { display: block; list-style: none; padding-inline-start: 1rem; font-size: var(--wp--preset--font-size--medium); }
}
/* Section library. */
.grwsite-card { padding: var(--wp--preset--spacing--40); border-radius: 10px; background: var(--wp--preset--color--base); border: 1px solid rgba(20, 20, 20, .1); border: 1px solid rgb(from var(--wp--preset--color--contrast) r g b / .1); block-size: 100%; box-sizing: border-box; }
.grwsite-card > * { margin-block: 0; }
.grwsite-price { font-size: var(--wp--preset--font-size--x-large); font-weight: 700; }
.grwsite-stat__n { font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; line-height: 1; margin: 0; text-align: center; }
.grwsite-cta, .grwsite-cta a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--base); }
.grwsite-cta .wp-element-button { background: var(--wp--preset--color--base); color: var(--wp--preset--color--accent-2); }
.grwsite-faq .wp-block-details { border-block-end: 1px solid rgba(20, 20, 20, .15); border-block-end: 1px solid rgb(from var(--wp--preset--color--contrast) r g b / .15); padding-block: var(--wp--preset--spacing--30); }
.grwsite-faq summary { font-weight: 600; cursor: pointer; }
.grwsite-logos img { filter: grayscale(1); opacity: .8; max-block-size: 48px; inline-size: auto; object-fit: contain; }
.wp-block-quote.grwsite-card { border-inline-start: 4px solid var(--wp--preset--color--accent); }
.wp-block-image img:not([src]) { display: none; }
:where(.wp-block-post-content) > .grwsite-section, .grwsite-section + .grwsite-section { margin-block-start: 0; }
/* Review r1: sub-menus visible (desktop on hover/focus, footer always); popover only where the browser has it. */
.grwsite-menu--footer .sub-menu { display: block; list-style: none; padding-inline-start: 1rem; }
@media (min-width: 782px) {
	.grwsite-menu--primary .grwsite-menu__list li { position: relative; }
	.grwsite-menu--primary .grwsite-menu__list li:hover > .sub-menu, .grwsite-menu--primary .grwsite-menu__list li:focus-within > .sub-menu { display: block; position: absolute; inset-block-start: 100%; inset-inline-start: 0; min-inline-size: 12rem; margin: 0; padding: .5rem 0; list-style: none; background: var(--wp--preset--color--base); box-shadow: 0 6px 20px rgba(0,0,0,.12); z-index: 20; }
	.grwsite-menu--primary .sub-menu a { display: block; padding: .4rem 1rem; }
}
@supports not selector(:popover-open) {
	.grwsite-menu--primary .grwsite-menu__open, .grwsite-menu--primary .grwsite-menu__close { display: none !important; }
	.grwsite-menu--primary .grwsite-menu__panel[popover] { display: contents !important; }
}
.grwsite-detail--footer { text-align: center; }
