/*
Theme Name: Repork
Theme URI: https://repork.io
Description: Theme for the Repork website: your website's performance and health, in one dashboard.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: repork
*/

/* ---------- Base ---------- */

:root {
	--rp-radius: 18px;
	--rp-radius-sm: 12px;
	--rp-good: #146C4C;
	--rp-good-bg: #E3F5EC;
	--rp-warn: #7A5200;
	--rp-warn-bg: #FFF1D6;
	--rp-bad: #B3261E;
	--rp-bad-bg: #FDE4E1;
	--rp-off: #5E5468;
	--rp-off-bg: #F1ECF2;
}

body { -webkit-font-smoothing: antialiased; }
html { scroll-padding-top: 88px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
::selection { background: var(--wp--preset--color--pink); color: var(--wp--preset--color--ink); }
:where(a, button, input, summary):focus-visible { outline: 2px solid var(--wp--preset--color--pink-deep); outline-offset: 3px; }
.rp-skip { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--wp--preset--color--ink); color: #fff; padding: .75rem 1rem; border-radius: 0 0 12px 0; }
.rp-skip:focus { left: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* ---------- Header ---------- */

/* The template-part wrapper is what sticks; the header inside it fills it exactly. */
.wp-site-blocks > :has(> .rp-header) { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > :has(> .rp-header) { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > :has(> .rp-header) { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > :has(> .rp-header) { top: 0; } }
.rp-header {
	background: color-mix(in srgb, var(--wp--preset--color--cream) 86%, transparent);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--line) 70%, transparent);
}
/* backdrop-filter traps the fixed mobile menu inside the header, so drop it while the menu is open. */
.rp-header:has(.wp-block-navigation__responsive-container.is-menu-open) { backdrop-filter: none; background: var(--wp--preset--color--cream); }
.rp-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem clamp(1rem, 4vw, 2rem); background-color: var(--wp--preset--color--cream) !important; color: var(--wp--preset--color--ink); }
.rp-header .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container) { align-items: flex-start; justify-content: flex-start; width: 100%; }
.rp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; font-weight: 700; }
.rp-header .wp-block-navigation a { text-decoration: none; }
.rp-header .wp-block-navigation a:hover { color: var(--wp--preset--color--pink-deep); }
.rp-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--pink-deep); }
@media (max-width: 360px) { .rp-header .rp-header__cta { display: none; } }
.rp-header .wp-block-navigation-item__content, .rp-header .rp-header__cta a { white-space: nowrap; }
/* Core only collapses the menu below 600px; the full menu doesn't fit until about 960px. */
@media (min-width: 600px) and (max-width: 959px) {
	.rp-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rp-header .wp-block-navigation__responsive-container-close:not(.always-shown) { display: flex; }
	.rp-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.rp-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; display: flex; flex-direction: column; z-index: 100000; }
	.rp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; }
}

.wp-block-search__input { border: 2px solid #8A7590; border-radius: 999px; padding: .7rem 1.1rem; font: inherit; background: #fff; color: var(--wp--preset--color--ink); }
.wp-block-search__input:focus { outline: none; border-color: var(--wp--preset--color--pink-deep); }
.wp-block-search__button { border-radius: 999px; }

.rp-brand { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: var(--wp--preset--color--ink); }
.rp-brand svg { width: 40px; height: 40px; flex: none; transition: transform .25s ease; }
.rp-brand:hover svg { transform: rotate(-8deg) scale(1.05); }
.rp-brand__word { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.65rem; letter-spacing: -0.035em; line-height: 1; }
.rp-brand:hover .rp-brand__word { color: var(--wp--preset--color--ink); }
.rp-footer .rp-brand { color: var(--wp--preset--color--cream); }
.rp-footer .rp-brand:hover .rp-brand__word { color: var(--wp--preset--color--cream); }

/* ---------- Shared bits ---------- */

.rp-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-weight: 700; font-size: .875rem; letter-spacing: .02em;
	color: var(--wp--preset--color--pink-deep);
	background: var(--wp--preset--color--blush);
	border-radius: 999px; padding: .35rem .85rem;
}
.rp-eyebrow::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--wp--preset--color--pink-strong); }
.rp-lede { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); line-height: 1.55; }
.rp-muted { color: var(--wp--preset--color--muted); }
.rp-fineprint { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.rp-fineprint a { color: inherit; }
.rp-section-head { max-width: 640px; margin-inline: auto; text-align: center; }

.is-style-rp-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; }

/* ---------- Hero ---------- */

.rp-hero { position: relative; overflow: hidden; }
.rp-hero::before {
	content: ""; position: absolute; inset: -20% -10% auto; height: 620px; z-index: -1;
	background:
		radial-gradient(40% 50% at 20% 30%, rgba(255,134,175,.35), transparent 70%),
		radial-gradient(35% 45% at 85% 20%, rgba(255,198,214,.55), transparent 70%);
}
.rp-hero h1 { font-size: var(--wp--preset--font-size--huge); line-height: 1; letter-spacing: -0.045em; }
.rp-hero h1 em { font-style: normal; color: var(--wp--preset--color--pink-strong); }

/* ---------- Check form ---------- */

.rp-check { max-width: 620px; margin-inline: auto; }
.rp-check__row {
	display: flex; gap: .5rem; padding: .4rem;
	background: #fff; border: 2px solid var(--wp--preset--color--ink); border-radius: 999px;
	box-shadow: 0 6px 0 var(--wp--preset--color--ink);
}
.rp-check__row:focus-within { box-shadow: 0 6px 0 var(--wp--preset--color--pink-deep); border-color: var(--wp--preset--color--pink-deep); }
.rp-check input[type="url"], .rp-check input[type="text"] {
	flex: 1; min-width: 0; border: 0; background: transparent; padding: .75rem 1rem;
	font: inherit; font-size: 1.0625rem; color: var(--wp--preset--color--ink);
}
.rp-check input:focus { outline: none; }
.rp-check button, .rp-form button {
	flex: none; border: 0; cursor: pointer; border-radius: 999px;
	background: var(--wp--preset--color--pink-deep); color: #fff;
	font: 700 1rem/1.2 var(--wp--preset--font-family--body); padding: .85rem 1.4rem;
}
.rp-check button:hover, .rp-form button:hover { background: var(--wp--preset--color--ink); }
.rp-check__note { margin: 1rem 0 0; text-align: center; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
@media (max-width: 520px) {
	.rp-check__row { flex-direction: column; border-radius: 22px; }
	.rp-check button { width: 100%; }
}

/* ---------- Waitlist / generic form ---------- */

.rp-form { display: grid; gap: .75rem; max-width: 520px; }
.rp-form label { font-weight: 700; font-size: .9375rem; }
.rp-form input[type="email"], .rp-form input[type="text"], .rp-form input[type="url"], .rp-form select {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--wp--preset--color--ink);
	background: #fff; border: 2px solid #8A7590; border-radius: var(--rp-radius-sm);
	padding: .8rem 1rem;
}
.rp-form input:focus, .rp-form select:focus { outline: none; border-color: var(--wp--preset--color--pink-deep); }
.rp-form__hp { position: absolute; left: -9999px; }
.rp-form__msg { border-radius: var(--rp-radius-sm); padding: .85rem 1rem; font-weight: 600; }
.rp-form__msg--ok { background: var(--rp-good-bg); color: var(--rp-good); }
.rp-form__msg--err { background: var(--rp-bad-bg); color: var(--rp-bad); }

/* ---------- Dashboard preview ---------- */

.rp-window {
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 22px; box-shadow: var(--wp--preset--shadow--lift); overflow: hidden;
}
.rp-window__bar {
	display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem;
	border-bottom: 1px solid var(--wp--preset--color--line); background: #FFFBFA;
	font-size: .875rem; color: var(--wp--preset--color--muted);
}
.rp-window__dots { display: flex; gap: 6px; }
.rp-window__dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--wp--preset--color--line); }
.rp-window__site { font-weight: 700; color: var(--wp--preset--color--ink); }
.rp-window__range { margin-left: auto; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .2rem .7rem; white-space: nowrap; }
.rp-window__body { padding: clamp(.75rem, 2.5vw, 1.5rem); background: var(--wp--preset--color--cream); }
.rp-sample { display: inline-block; margin: 0 0 .9rem; font-size: .8125rem; font-weight: 700; color: var(--wp--preset--color--muted); }

.rp-cards { display: grid; gap: clamp(.6rem, 1.5vw, 1rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.rp-card {
	position: relative; display: flex; flex-direction: column; gap: .5rem;
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--rp-radius);
	padding: 1rem 1.1rem; box-shadow: var(--wp--preset--shadow--card); min-height: 172px;
	transition: transform .2s ease, box-shadow .2s ease;
}
a.rp-card { color: inherit; text-decoration: none; }
a.rp-card:hover { transform: translateY(-2px); box-shadow: var(--wp--preset--shadow--lift); }
.rp-card__head { display: flex; align-items: center; gap: .5rem; }
.rp-card__icon { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--wp--preset--color--blush); color: var(--wp--preset--color--pink-deep); flex: none; }
.rp-card__icon svg { width: 18px; height: 18px; }
.rp-card__title { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1rem; margin: 0; }
.rp-card__metric { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.9rem; letter-spacing: -0.03em; line-height: 1; margin: .15rem 0 0; }
.rp-card__metric small { font-size: .95rem; font-weight: 600; color: var(--wp--preset--color--muted); letter-spacing: 0; margin-left: .2rem; }
.rp-card__context { font-size: .875rem; color: var(--wp--preset--color--muted); margin: 0; }
.rp-card__foot { margin-top: auto; display: flex; justify-content: space-between; gap: .5rem; font-size: .75rem; color: var(--wp--preset--color--muted); padding-top: .5rem; border-top: 1px dashed var(--wp--preset--color--line); }
@media (max-width: 600px) {
	.rp-card { min-height: 0; }
	/* Keep phones to six cards, including the stale and disconnected examples. */
	.rp-cards .rp-card:nth-child(n+5):not(.rp-card--stale):not(.rp-card--off) { display: none; }
}
.rp-card--off { background: repeating-linear-gradient(135deg, #fff 0 10px, #FFFAFB 10px 20px); border-style: dashed; }
.rp-card--off .rp-card__icon { background: var(--rp-off-bg); color: var(--rp-off); }
.rp-card__connect {
	align-self: flex-start; margin-top: .25rem; border: 2px solid var(--wp--preset--color--ink); border-radius: 999px;
	padding: .35rem .9rem; font-weight: 700; font-size: .875rem; color: var(--wp--preset--color--ink); background: #fff;
}

/* Status chips: always icon + words, never color alone. */
.rp-status { margin-left: auto; display: inline-flex; align-items: center; gap: .3rem; border-radius: 999px; padding: .2rem .55rem .2rem .4rem; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.rp-status svg { width: 14px; height: 14px; }
.rp-status--good { color: var(--rp-good); background: var(--rp-good-bg); }
.rp-status--warn { color: var(--rp-warn); background: var(--rp-warn-bg); }
.rp-status--bad { color: var(--rp-bad); background: var(--rp-bad-bg); }
.rp-status--off { color: var(--rp-off); background: var(--rp-off-bg); }
.rp-status--stale { color: var(--rp-warn); background: var(--rp-warn-bg); }
.rp-card--stale .rp-card__metric { color: var(--wp--preset--color--muted); }

/* Mini charts */
.rp-spark { width: 100%; height: 38px; display: block; }
.rp-gauges { display: flex; gap: 1rem; align-items: center; }
.rp-gauge { --v: 90; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--rp-good) calc(var(--v) * 1%), var(--rp-good-bg) 0); }
.rp-gauge span { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid; place-items: center; font: 800 1rem/1 var(--wp--preset--font-family--display); }
.rp-gauge-label { font-size: .75rem; color: var(--wp--preset--color--muted); text-align: center; margin-top: .25rem; }
.rp-uptime { display: flex; gap: 2px; height: 22px; align-items: flex-end; }
.rp-uptime i { flex: 1; height: 60%; border-radius: 2px; background: #2E9E72; }
.rp-uptime i.is-down { height: 100%; background: var(--rp-bad); }
.rp-sev { display: flex; gap: .35rem; flex-wrap: wrap; }
.rp-sev span { font-size: .75rem; font-weight: 700; border-radius: 6px; padding: .15rem .45rem; background: var(--rp-off-bg); color: var(--rp-off); }
.rp-sev .is-serious { background: var(--rp-bad-bg); color: var(--rp-bad); }
.rp-sev .is-moderate { background: var(--rp-warn-bg); color: var(--rp-warn); }

/* ---------- Feature cards ---------- */

.rp-features { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.rp-feature { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--rp-radius); padding: 1.5rem; box-shadow: var(--wp--preset--shadow--card); }
.rp-feature h3 { margin: .9rem 0 .4rem; font-size: 1.2rem; }
.rp-feature p { margin: 0; color: var(--wp--preset--color--muted); font-size: .9688rem; }
.rp-feature .rp-card__icon { width: 44px; height: 44px; border-radius: 13px; }
.rp-feature .rp-card__icon svg { width: 24px; height: 24px; }

/* Four cards: 4 across, then 2, then 1, so none are left on their own. */
.rp-features:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; }
@media (min-width: 560px) { .rp-features:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .rp-features:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); } }

.rp-cats { display: grid; gap: .75rem; grid-template-columns: 1fr; list-style: none; padding: 0; margin: 0; }
@media (min-width: 480px) {
	.rp-cats { grid-template-columns: repeat(2, 1fr); }
	.rp-cats li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.rp-cats li { display: flex; align-items: center; gap: .75rem; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: .8rem 1rem; font-weight: 700; }
.rp-cats li small { display: block; font-weight: 500; color: var(--wp--preset--color--muted); font-size: .8125rem; }
.rp-cats .rp-card__icon { width: 36px; height: 36px; }

.rp-principles { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); counter-reset: p; }
.rp-principle { border-top: 3px solid var(--wp--preset--color--ink); padding-top: 1rem; }
.rp-principle::before { counter-increment: p; content: "0" counter(p); font: 800 .875rem/1 var(--wp--preset--font-family--display); color: var(--wp--preset--color--pink-deep); }
.rp-principle h3 { margin: .5rem 0 .4rem; }
.rp-principle p { margin: 0; color: var(--wp--preset--color--muted); }

/* ---------- Bands ---------- */

.rp-band-dark { background: var(--wp--preset--color--night); color: var(--wp--preset--color--cream); }
.rp-band-dark :where(h1,h2,h3,h4) { color: var(--wp--preset--color--cream); }
.rp-band-dark .rp-lede, .rp-band-dark .rp-muted { color: #CDBFD1; }
.rp-band-dark a:not(.wp-block-button__link) { color: #FFB3CB; }
.rp-band-dark .rp-eyebrow { background: rgba(255,134,175,.15); color: #FFB3CB; }
.rp-band-dark .wp-block-button__link { background: var(--wp--preset--color--pink); color: var(--wp--preset--color--ink); }
.rp-band-dark .wp-block-button__link:hover { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--ink); }
.rp-band-pink { background: var(--wp--preset--color--pink); }
.rp-band-pink .rp-lede { color: var(--wp--preset--color--ink); }
.rp-band-pink .wp-block-button__link { background: var(--wp--preset--color--ink); }
.rp-band-pink .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); }

.rp-audsey-scan { background: #2F1B3B; border: 1px solid #45304F; border-radius: var(--rp-radius); padding: 1.25rem; }
.rp-audsey-scan h3 { margin: 0 0 .25rem; font-size: 1.1rem; }
.rp-audsey-row { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid #45304F; font-size: .9375rem; }
.rp-audsey-row:first-of-type { border-top: 0; }
.rp-audsey-row b { white-space: nowrap; }

.rp-pig-peek { width: 120px; height: auto; display: block; margin-inline: auto; }

/* ---------- Blog ---------- */

.rp-post-grid { gap: 1.25rem; }
.rp-post-card {
	height: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--rp-radius); overflow: hidden; box-shadow: var(--wp--preset--shadow--card);
	transition: transform .2s ease, box-shadow .2s ease;
}
.rp-post-card:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--lift); }
.rp-post-card .wp-block-post-featured-image { margin: 0; aspect-ratio: 16/9; overflow: hidden; background: var(--wp--preset--color--blush); }
.rp-post-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.rp-post-card__body { padding: 1.1rem 1.25rem 1.3rem; }
.rp-post-card .wp-block-post-title { font-size: 1.2rem; line-height: 1.25; margin: .35rem 0 .5rem; letter-spacing: -0.015em; }
.rp-post-card .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.rp-post-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.rp-post-card { position: relative; }
.rp-post-card .wp-block-post-terms a { position: relative; z-index: 1; color: var(--wp--preset--color--pink-deep); text-decoration: none; }
.rp-post-card .wp-block-post-excerpt { color: var(--wp--preset--color--muted); font-size: .9375rem; margin: 0; }
.rp-post-card .wp-block-post-excerpt__more-text { display: none; }
.rp-post-card:not(:has(.wp-block-post-featured-image)) { border-top: 6px solid var(--wp--preset--color--pink); }

.rp-cats-nav { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.rp-cats-nav a { text-decoration: none; font-weight: 700; font-size: .9375rem; color: var(--wp--preset--color--ink); background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .4rem .9rem; }
.rp-cats-nav a:hover { border-color: var(--wp--preset--color--ink); }

.wp-block-query-pagination { gap: .5rem; font-weight: 700; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { text-decoration: none; }
.wp-block-query-pagination .page-numbers.current { color: var(--wp--preset--color--pink-deep); }

/* Single post */
.rp-article .wp-block-post-featured-image img { border-radius: 22px; }
.rp-article .wp-block-post-content > * { max-width: 720px; }
.rp-article .wp-block-post-content :where(h2) { margin-top: 2.5rem; }
.rp-article .wp-block-post-content :where(h3, h4) { margin-top: 1.75rem; }
.rp-article .wp-block-post-content img { max-width: 100%; height: auto; border-radius: 14px; }
.rp-article .wp-block-post-content :where(ul, ol) { padding-left: 1.3rem; }
.rp-article .wp-block-post-content li { margin: .35rem 0; }
.rp-article .wp-block-post-content li::marker { color: var(--wp--preset--color--pink-strong); font-weight: 700; }
.rp-article .wp-block-post-content :where(p, li) code { background: var(--wp--preset--color--blush); padding: .1em .35em; border-radius: 5px; font-size: .9em; }

.rp-post-cta { display: flex; gap: 1.25rem; align-items: center; background: #fff; border: 2px solid var(--wp--preset--color--ink); border-radius: 22px; padding: 1.5rem; box-shadow: 0 6px 0 var(--wp--preset--color--ink); }
.rp-post-cta svg { width: 72px; height: 72px; flex: none; }
.rp-post-cta h2 { font-size: 1.35rem; margin: 0 0 .25rem; }
.rp-post-cta p { margin: 0 0 .75rem; color: var(--wp--preset--color--muted); }
@media (max-width: 560px) { .rp-post-cta { flex-direction: column; align-items: flex-start; } }

/* ---------- Footer ---------- */

.rp-footer { background: var(--wp--preset--color--night); color: #CDBFD1; }
.rp-footer h2 { color: var(--wp--preset--color--cream); font-size: .875rem; letter-spacing: .06em; text-transform: uppercase; font-family: var(--wp--preset--font-family--body); font-weight: 800; }
.rp-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.rp-footer a { color: #CDBFD1; text-decoration: none; }
.rp-footer a:hover { color: #fff; text-decoration: underline; }
.rp-footer__tag { font-family: var(--wp--preset--font-family--display); font-weight: 600; color: #FFB3CB; font-size: 1.1rem; }
.rp-footer__base { border-top: 1px solid #3B2746; font-size: .875rem; }

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: no-preference) {
	.rp-rise { animation: rp-rise .7s cubic-bezier(.2,.7,.2,1) both; }
	.rp-cards .rp-card { animation: rp-rise .6s cubic-bezier(.2,.7,.2,1) both; }
	.rp-cards .rp-card:nth-child(2) { animation-delay: .05s; } .rp-cards .rp-card:nth-child(3) { animation-delay: .1s; }
	.rp-cards .rp-card:nth-child(4) { animation-delay: .15s; } .rp-cards .rp-card:nth-child(5) { animation-delay: .2s; }
	.rp-cards .rp-card:nth-child(6) { animation-delay: .25s; } .rp-cards .rp-card:nth-child(7) { animation-delay: .3s; }
	.rp-cards .rp-card:nth-child(8) { animation-delay: .35s; } .rp-cards .rp-card:nth-child(9) { animation-delay: .4s; }
}
@keyframes rp-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ---------- Fixes ---------- */

/* No default block gap between the page's top-level sections (header, main, footer). */
.wp-site-blocks > * { margin-block-start: 0; }
/* Landing pages stack full-width sections with no gap; ordinary pages keep paragraph spacing. */
main:not(.rp-article) > .wp-block-post-content > *, main > .wp-block-post-content { margin-block-start: 0; }

::placeholder { color: #7A6680; opacity: 1; }

.rp-button-lg .wp-block-button__link { font-size: 1.125rem; padding: 1.05rem 2rem; box-shadow: 0 6px 0 var(--wp--preset--color--ink); }
.rp-button-lg .wp-block-button__link:hover { transform: translateY(2px); box-shadow: 0 4px 0 var(--wp--preset--color--ink); }

/* ---------- Check Your Site report ---------- */

.rp-report { max-width: 1100px; margin: 2.5rem auto 0; text-align: left; }
.rp-report__loading { text-align: center; color: var(--wp--preset--color--muted); font-weight: 600; }
.rp-report__head { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; justify-content: space-between; }
.rp-report__head h2 { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.rp-report__host { color: var(--wp--preset--color--pink-deep); word-break: break-all; }
.rp-report__head p { margin: .35rem 0 0; font-size: .9375rem; }
.rp-report__share { border: 2px solid var(--wp--preset--color--ink); background: #fff; color: var(--wp--preset--color--ink); border-radius: 999px; padding: .55rem 1.1rem; font: 700 .9375rem/1 var(--wp--preset--font-family--body); cursor: pointer; }
.rp-report__share:hover { background: var(--wp--preset--color--ink); color: #fff; }
.rp-report__summary { margin: 1rem 0 1.25rem; font-weight: 700; font-size: 1.0625rem; }
.rp-skeleton { display: grid; gap: .5rem; padding: .25rem 0; }
.rp-skeleton span { height: .8rem; border-radius: 6px; background: linear-gradient(90deg, var(--wp--preset--color--blush), #fff, var(--wp--preset--color--blush)); background-size: 200% 100%; }
.rp-skeleton span:nth-child(1) { width: 45%; height: 1.6rem; } .rp-skeleton span:nth-child(3) { width: 70%; }
@media (prefers-reduced-motion: no-preference) { .rp-skeleton span { animation: rp-shimmer 1.4s linear infinite; } }
@keyframes rp-shimmer { to { background-position: -200% 0; } }

.rp-report__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.rp-report__pdf { text-decoration: none; display: inline-block; background: var(--wp--preset--color--ink); color: #fff; }
.rp-report__pdf:hover { background: var(--wp--preset--color--pink-deep); border-color: var(--wp--preset--color--pink-deep); color: #fff; }
.rp-report__pdf[aria-disabled] { background: #fff; color: var(--wp--preset--color--muted); border-color: #CDBFD1; cursor: progress; }
.rp-report__body { display: grid; gap: clamp(.75rem, 1.5vw, 1.1rem); }
.rp-report__body > .rp-card { min-height: 0; }
.rp-report__expires { font-size: .875rem; margin: .5rem 0 0; }

/* Grade rings */
.rp-ring { --v: 0; --c: var(--rp-good); --t: var(--rp-good-bg); width: 54px; height: 54px; flex: none; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--c) calc(var(--v) * 1%), var(--t) 0); }
.rp-ring span { width: calc(100% - 12px); height: calc(100% - 12px); border-radius: 50%; background: #fff; display: grid; place-items: center; font: 800 1.15rem/1 var(--wp--preset--font-family--display); letter-spacing: -0.02em; color: var(--wp--preset--color--ink); }
.rp-ring--warn { --c: #B07400; --t: var(--rp-warn-bg); }
.rp-ring--bad { --c: var(--rp-bad); --t: var(--rp-bad-bg); }
.rp-ring--off { --c: transparent; --t: var(--rp-off-bg); }
.rp-ring--sm { width: 46px; height: 46px; }
.rp-ring--sm span { width: 36px; height: 36px; font-size: .95rem; }
.rp-ring--lg { width: 112px; height: 112px; }
.rp-ring--lg span { width: 92px; height: 92px; font-size: 2.4rem; }
.rp-ring.is-pending { background: conic-gradient(var(--wp--preset--color--pink) 0 25%, var(--rp-off-bg) 0); }
@media (prefers-reduced-motion: no-preference) { .rp-ring.is-pending { animation: rp-spin 1.1s linear infinite; } .rp-ring.is-pending span { animation: rp-spin 1.1s linear infinite reverse; } }
@keyframes rp-spin { to { transform: rotate(360deg); } }

/* Overview */
.rp-ov { display: grid; gap: 1.25rem; }
.rp-ov__score { display: flex; gap: 1.25rem; align-items: center; }
.rp-ov__kicker { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--pink-deep); }
.rp-ov__summary { margin: .25rem 0 0; font: 700 clamp(1.1rem, 2.2vw, 1.4rem)/1.3 var(--wp--preset--font-family--display); max-width: 34ch; }
.rp-grades { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: .5rem; }
.rp-grades a { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: .5rem .25rem; border-radius: 14px; text-decoration: none; color: var(--wp--preset--color--ink); font-size: .8125rem; font-weight: 700; text-align: center; }
.rp-grades a:hover { background: var(--wp--preset--color--cream); }
.rp-shots { display: flex; gap: 1rem; align-items: flex-end; justify-content: center; }
.rp-shots figure { margin: 0; text-align: center; }
.rp-shots img { display: block; border-radius: 10px; border: 1px solid var(--wp--preset--color--line); box-shadow: var(--wp--preset--shadow--card); height: auto; }
.rp-shots__desktop { flex: 0 1 460px; min-width: 0; }
.rp-shots__desktop img { width: 100%; }
.rp-shots__mobile img { width: clamp(80px, 22vw, 120px); }
.rp-shots figcaption { font-size: .8125rem; color: var(--wp--preset--color--muted); margin-top: .4rem; }
@media (min-width: 900px) {
	.rp-ov { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; }
	.rp-ov .rp-grades { grid-column: 1; }
	.rp-ov .rp-shots { grid-column: 2; grid-row: 1 / span 2; }
}

/* Recommendations */
.rp-recs h3, .rp-sec__title { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.35rem; letter-spacing: -0.02em; margin: 0; }
.rp-recs__list { margin: .75rem 0 0; padding: 0; list-style: none; counter-reset: rec; }
.rp-recs__list[start="9"] { counter-reset: rec 8; }
.rp-recs__list li { counter-increment: rec; display: grid; grid-template-columns: 1.75rem 1fr auto; grid-template-areas: "n label prio" "n sec prio"; column-gap: .5rem; align-items: center; padding: .6rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.rp-recs__list li::before { content: counter(rec); grid-area: n; font-weight: 800; color: var(--wp--preset--color--muted); }
.rp-recs__label { grid-area: label; font-weight: 600; }
.rp-recs__sec { grid-area: sec; font-size: .8125rem; color: var(--wp--preset--color--muted); }
.rp-prio { grid-area: prio; border-radius: 999px; padding: .2rem .6rem; font-size: .75rem; font-weight: 700; }
.rp-prio--high { color: var(--rp-bad); background: var(--rp-bad-bg); }
.rp-prio--medium { color: var(--rp-warn); background: var(--rp-warn-bg); }
.rp-prio--low { color: var(--rp-off); background: var(--rp-off-bg); }

/* Sections */
.rp-secs { display: grid; gap: clamp(.75rem, 1.5vw, 1.1rem); }
.rp-sec { scroll-margin-top: 96px; }
.rp-sec.is-pending { background: #FFFBFA; }
.rp-sec__head { display: flex; gap: .75rem; align-items: flex-start; }
.rp-sec__head > div:not(.rp-ring) { flex: 1; }
.rp-sec__intro { margin: .2rem 0 0; color: var(--wp--preset--color--muted); font-size: .9375rem; }
.rp-items { list-style: none; margin: 0; padding: 0; }
.rp-item { display: flex; gap: .7rem; padding: .8rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.rp-item__icon { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; margin-top: 1px; }
.rp-item__icon svg { width: 15px; height: 15px; }
.rp-item--pass .rp-item__icon { background: var(--rp-good-bg); color: var(--rp-good); }
.rp-item--warn .rp-item__icon { background: var(--rp-warn-bg); color: var(--rp-warn); }
.rp-item--fail .rp-item__icon { background: var(--rp-bad-bg); color: var(--rp-bad); }
.rp-item--info .rp-item__icon { background: var(--rp-off-bg); color: var(--rp-off); }
.rp-item__body { min-width: 0; flex: 1; }
.rp-item__body p { margin: 0; }
.rp-item__label { font-weight: 700; }
.rp-item__body .rp-item__detail { font-size: .9375rem; overflow-wrap: anywhere; margin-top: .1rem; }
.rp-item__body .rp-item__why { color: var(--wp--preset--color--muted); font-size: .875rem; margin-top: .25rem; }
.rp-more { margin-top: .5rem; }
.rp-more > summary { cursor: pointer; font-weight: 700; font-size: .875rem; color: var(--wp--preset--color--pink-deep); padding: .2rem 0; }
.rp-more--passed { border-top: 1px solid var(--wp--preset--color--line); padding-top: .5rem; }
.rp-more--passed > summary { color: var(--wp--preset--color--muted); }
.rp-card__cta { font-weight: 700; color: var(--wp--preset--color--pink-deep); }

/* Item data */
.rp-table-wrap { overflow-x: auto; margin-top: .5rem; }
.rp-table { border-collapse: collapse; width: 100%; font-size: .875rem; }
.rp-table th, .rp-table td { text-align: left; padding: .4rem .6rem; border-bottom: 1px solid var(--wp--preset--color--line); overflow-wrap: anywhere; }
.rp-table thead th { background: var(--wp--preset--color--cream); font-size: .8125rem; color: var(--wp--preset--color--muted); }
.rp-table tbody th { font-weight: 600; color: var(--wp--preset--color--muted); width: 38%; }
.rp-tick { font-weight: 700; font-size: .8125rem; }
.rp-tick--yes { color: var(--rp-good); }
.rp-tick--no { color: var(--rp-bad); }
.rp-tone { font-weight: 700; }
.rp-tone--pass { color: var(--rp-good); }
.rp-tone--warn { color: var(--rp-warn); }
.rp-tone--fail { color: var(--rp-bad); }
.rp-dlist { margin: .4rem 0 0; padding-left: 1.1rem; font-size: .875rem; overflow-wrap: anywhere; }
.rp-dlist li { margin: .15rem 0; }
.rp-bars { display: grid; gap: .3rem; margin-top: .5rem; max-width: 520px; }
.rp-bars__row { display: grid; grid-template-columns: 6.5rem 1fr auto; gap: .6rem; align-items: center; font-size: .8125rem; }
.rp-bars__label { color: var(--wp--preset--color--muted); }
.rp-bars__track { height: 9px; background: var(--rp-off-bg); border-radius: 9px; overflow: hidden; }
.rp-bars__bar { display: block; height: 100%; background: var(--wp--preset--color--pink-strong); border-radius: 9px; }
.rp-bars__value { font-weight: 700; min-width: 4.5rem; text-align: right; }
.rp-code { display: block; margin-top: .4rem; padding: .45rem .65rem; background: var(--wp--preset--color--cream); border-radius: 8px; font-size: .8125rem; overflow-wrap: anywhere; }
.rp-serp { display: grid; gap: .15rem; margin-top: .5rem; padding: .75rem .9rem; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background: #fff; font-family: Arial, sans-serif; max-width: 620px; }
.rp-serp__url { font-size: .8125rem; color: #4D5156; overflow-wrap: anywhere; }
.rp-serp__title { font-size: 1.15rem; color: #1A0DAB; }
.rp-serp__desc { font-size: .875rem; color: #4D5156; }
.rp-outline { list-style: none; margin: .4rem 0 0; padding: 0; font-size: .875rem; }
.rp-outline li { padding: .1rem 0 .1rem calc(var(--lvl) * 1rem); }
.rp-outline b { color: var(--wp--preset--color--pink-deep); font-size: .75rem; }

.rp-report__upsell { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; background: var(--wp--preset--color--night); color: #CDBFD1; border-radius: 22px; padding: 1.5rem 1.75rem; }
.rp-report__upsell h3 { margin: 0 0 .25rem; color: var(--wp--preset--color--cream); }
.rp-report__upsell p { margin: 0; max-width: 620px; }
.rp-report__upsell .wp-block-button__link { background: var(--wp--preset--color--pink); color: var(--wp--preset--color--ink); }
.rp-report__upsell .wp-block-button__link:hover { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--ink); }
