/* RapidShop plugin catalog — dedicated luxury storefront presentation. */

body.rapidshop-plugins-catalog-page {
	--rapidshop-plugins-navy-950: #030a14;
	--rapidshop-plugins-navy-900: #071426;
	--rapidshop-plugins-ink: #0a172b;
	--rapidshop-plugins-paper: #f5f3ee;
	--rapidshop-plugins-white: #fff;
	--rapidshop-plugins-muted: #6c7480;
	--rapidshop-plugins-gold: #d9b56d;
	--rapidshop-plugins-gold-soft: #f0dcae;
	--rapidshop-plugins-gold-line: rgb(217 181 109 / 42%);
	--rapidshop-plugins-blue: #0b68dc;
	--rapidshop-plugins-max: 1160px;
	--rapidshop-plugins-shared-header-height: 57px;
	background: var(--rapidshop-plugins-navy-950);
}

.rapidshop-plugins-catalog-page .rapidshop-header {
	border-bottom-color: rgb(255 255 255 / 13%);
	background: var(--rapidshop-plugins-navy-950);
}

.rapidshop-plugins-catalog-page .rapidshop-footer__inner {
	width: min(calc(100% - 64px), var(--rapidshop-plugins-max));
}

.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-brand,
.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-nav-list a,
.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-icon-button,
.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-menu-toggle {
	color: var(--rapidshop-plugins-white) !important;
}

.rapidshop-plugins-catalog-page .rapidshop-header .current-menu-item > a,
.rapidshop-plugins-catalog-page .rapidshop-header .current_page_item > a {
	color: var(--rapidshop-plugins-gold-soft) !important;
}

.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-nav-list a::after {
	background: var(--rapidshop-plugins-gold);
}

.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-icon-button:hover,
.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-icon-button:focus-visible,
.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-menu-toggle:hover,
.rapidshop-plugins-catalog-page .rapidshop-header .rapidshop-menu-toggle:focus-visible {
	background: rgb(255 255 255 / 8%);
}

.rapidshop-plugins-catalog-page .rapidshop-search-panel,
.rapidshop-plugins-catalog-page .rapidshop-mobile-nav {
	border-top-color: rgb(255 255 255 / 14%);
	background: var(--rapidshop-plugins-navy-950);
	color: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-catalog-page .rapidshop-search-panel input {
	background: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-catalog-page .rapidshop-search-panel button {
	background: var(--rapidshop-plugins-gold-soft);
	color: var(--rapidshop-plugins-ink);
}

.rapidshop-plugins-page {
	color: var(--rapidshop-plugins-ink);
}

.rapidshop-plugins-page h1,
.rapidshop-plugins-page h2,
.rapidshop-plugins-page p,
.rapidshop-plugins-page figure {
	margin-top: 0;
}

.rapidshop-plugins-page section[id] {
	scroll-margin-top: 24px;
}

.rapidshop-plugins-hero {
	position: relative;
	display: grid;
	min-height: calc(760px - var(--rapidshop-plugins-shared-header-height));
	grid-template-rows: auto 1fr;
	overflow: hidden;
	background-color: var(--rapidshop-plugins-navy-900);
	background-image: url("../images/plugins-catalog/luxury-navy-background.png");
	background-position: center;
	background-size: cover;
	color: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-hero::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(3 10 20 / 20%), rgb(3 10 20 / 62%) 76%, rgb(3 10 20 / 12%));
	content: "";
	pointer-events: none;
}

/* Keep the trail in the hero's top spacing and let wrapped labels take room. */
.rapidshop-plugins-hero > .rapidshop-breadcrumbs {
	position: relative;
	z-index: 1;
	width: min(calc(100% - 64px), var(--rapidshop-plugins-max));
	margin: 0 auto;
	padding-top: 24px;
}

.rapidshop-plugins-hero > .rapidshop-breadcrumbs p {
	margin: 0;
}

.rapidshop-plugins-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(calc(100% - 64px), var(--rapidshop-plugins-max));
	min-height: 0;
	margin-inline: auto;
	padding: 48px 0 72px;
	align-items: center;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
	gap: 88px;
}

.rapidshop-plugins-hero h1 {
	max-width: 720px;
	margin-bottom: 0;
	font-size: clamp(3.65rem, 6.2vw, 5.7rem);
	font-weight: 900;
	letter-spacing: -.07em;
	line-height: .98;
}

.rapidshop-plugins-hero h1 span {
	display: block;
	margin-top: 14px;
	color: var(--rapidshop-plugins-gold-soft);
}

.rapidshop-plugins-hero__copy > p {
	max-width: 560px;
	margin: 36px 0 0;
	color: rgb(255 255 255 / 78%);
	font-size: 1.25rem;
	font-weight: 650;
	letter-spacing: .02em;
	line-height: 1.9;
}

.rapidshop-plugins-line-link {
	display: inline-flex;
	min-width: 210px;
	margin-top: 48px;
	padding: 17px 0 15px;
	align-items: center;
	gap: 42px;
	border-bottom: 1px solid var(--rapidshop-plugins-gold);
	color: var(--rapidshop-plugins-gold-soft) !important;
	font-size: .9rem;
	font-weight: 800;
}

.rapidshop-plugins-line-link svg,
.rapidshop-plugins-button svg,
.rapidshop-plugins-selector__list svg {
	width: 22px;
	height: 22px;
	margin-left: auto;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.7;
	transition: transform 180ms ease;
}

.rapidshop-plugins-line-link:hover svg,
.rapidshop-plugins-line-link:focus-visible svg,
.rapidshop-plugins-button:hover svg,
.rapidshop-plugins-button:focus-visible svg,
.rapidshop-plugins-selector__list a:hover svg,
.rapidshop-plugins-selector__list a:focus-visible svg {
	transform: translateX(5px);
}

.rapidshop-plugins-hero__products {
	border-top: 1px solid var(--rapidshop-plugins-gold-line);
}

.rapidshop-plugins-hero-product {
	position: relative;
	display: block;
	padding: 30px 0 27px 26px;
	border-bottom: 1px solid var(--rapidshop-plugins-gold-line);
	color: var(--rapidshop-plugins-white) !important;
}

.rapidshop-plugins-diamond {
	position: absolute;
	top: 36px;
	left: 0;
	width: 7px;
	height: 7px;
	background: var(--rapidshop-plugins-gold);
	transform: rotate(45deg);
	transition: transform 180ms ease;
}

.rapidshop-plugins-hero-product:hover .rapidshop-plugins-diamond,
.rapidshop-plugins-hero-product:focus-visible .rapidshop-plugins-diamond {
	transform: rotate(45deg) scale(1.45);
}

.rapidshop-plugins-hero-product strong {
	display: block;
	font-size: 1.38rem;
	font-weight: 850;
	letter-spacing: -.03em;
}

.rapidshop-plugins-hero-product small {
	display: block;
	margin-top: 8px;
	color: rgb(255 255 255 / 58%);
	font-size: .78rem;
	line-height: 1.7;
}

.rapidshop-plugins-intro {
	padding: 116px 0 104px;
	background: var(--rapidshop-plugins-paper);
}

.rapidshop-plugins-intro__inner,
.rapidshop-plugins-product__inner,
.rapidshop-plugins-selector__inner {
	width: min(calc(100% - 64px), var(--rapidshop-plugins-max));
	margin-inline: auto;
}

.rapidshop-plugins-intro__inner {
	display: grid;
	align-items: end;
	grid-template-columns: .82fr 1.18fr;
	gap: 96px;
}

.rapidshop-plugins-intro h2 {
	margin-bottom: 0;
	font-size: clamp(2.75rem, 4.5vw, 4.25rem);
	font-weight: 850;
	letter-spacing: -.055em;
	line-height: 1.08;
}

.rapidshop-plugins-intro p {
	margin-bottom: 0;
	padding-left: 34px;
	border-left: 1px solid #b39a66;
	color: #4f5967;
	font-size: 1.05rem;
	line-height: 2;
}

.rapidshop-plugins-product {
	position: relative;
	overflow: hidden;
}

.rapidshop-plugins-product__inner {
	display: grid;
	padding: 130px 0;
	align-items: center;
	gap: 94px;
}

.rapidshop-plugins-product__name {
	margin-bottom: 28px;
	font-size: 1.15rem;
	font-weight: 900;
	letter-spacing: .02em;
}

.rapidshop-plugins-product h2 {
	margin-bottom: 0;
	font-size: clamp(2.65rem, 4.4vw, 4.25rem);
	font-weight: 850;
	letter-spacing: -.055em;
	line-height: 1.15;
	text-wrap: pretty;
}

.rapidshop-plugins-product__body {
	margin: 28px 0 0;
	color: #59616b;
	font-size: 1rem;
	line-height: 2;
}

.rapidshop-plugins-button {
	display: inline-flex;
	min-width: 230px;
	margin-top: 38px;
	padding: 17px 22px;
	align-items: center;
	justify-content: space-between;
	border: 1px solid currentcolor;
	color: var(--rapidshop-plugins-ink) !important;
	font-size: .88rem;
	font-weight: 800;
}

.rapidshop-plugins-product--free {
	background: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-product--free .rapidshop-plugins-product__inner {
	grid-template-columns: .9fr 1.1fr;
}

.rapidshop-plugins-feature-rail {
	border-top: 2px solid var(--rapidshop-plugins-ink);
}

.rapidshop-plugins-feature-rail__row {
	display: grid;
	padding: 25px 0;
	align-items: center;
	grid-template-columns: 48px 1fr auto;
	gap: 24px;
	border-bottom: 1px solid #c9cdd2;
}

.rapidshop-plugins-feature-rail__mark {
	width: 10px;
	height: 10px;
	margin-left: 4px;
	background: var(--rapidshop-plugins-blue);
	transform: rotate(45deg);
}

.rapidshop-plugins-feature-rail__row strong {
	font-size: 1.08rem;
}

.rapidshop-plugins-feature-rail__row small {
	color: #7b828c;
	font-size: .78rem;
}

.rapidshop-plugins-product--pro {
	background: var(--rapidshop-plugins-navy-900);
	color: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-product--pro::before {
	position: absolute;
	inset: 0;
	background-image: url("../images/plugins-catalog/luxury-navy-background.png");
	background-position: center;
	background-size: cover;
	content: "";
	opacity: .3;
}

.rapidshop-plugins-product--pro .rapidshop-plugins-product__inner {
	position: relative;
	z-index: 1;
	padding-top: 148px;
	padding-bottom: 154px;
	grid-template-columns: .7fr 1.3fr;
}

.rapidshop-plugins-product--pro .rapidshop-plugins-product__name,
.rapidshop-plugins-product--pro .rapidshop-plugins-button {
	color: var(--rapidshop-plugins-gold-soft) !important;
}

.rapidshop-plugins-product--pro .rapidshop-plugins-product__body {
	color: rgb(255 255 255 / 68%);
}

.rapidshop-plugins-price {
	display: flex;
	margin-top: 36px;
	padding-top: 24px;
	align-items: baseline;
	gap: 28px;
	border-top: 1px solid var(--rapidshop-plugins-gold-line);
}

.rapidshop-plugins-price strong {
	color: var(--rapidshop-plugins-white);
	font-size: 2.1rem;
	font-weight: 850;
	letter-spacing: -.04em;
}

.rapidshop-plugins-price span {
	color: rgb(255 255 255 / 58%);
	font-size: .78rem;
}

.rapidshop-plugins-screens {
	position: relative;
	padding: 24px 0 68px 24px;
}

.rapidshop-plugins-screen {
	margin: 0;
	background: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-screen--main {
	position: relative;
	z-index: 2;
	border: 1px solid rgb(240 220 174 / 70%);
	box-shadow: 0 32px 80px rgb(0 0 0 / 48%);
}

.rapidshop-plugins-screen--main img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: left top;
}

.rapidshop-plugins-screen--secondary {
	position: absolute;
	right: -44px;
	bottom: 0;
	z-index: 3;
	width: 55%;
	border: 1px solid var(--rapidshop-plugins-gold);
	box-shadow: 0 18px 50px rgb(0 0 0 / 55%);
}

.rapidshop-plugins-screen--secondary img {
	width: 100%;
	aspect-ratio: 16 / 8.5;
	object-fit: cover;
	object-position: left top;
}

.rapidshop-plugins-pro-capabilities {
	display: grid;
	margin-top: 6px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--rapidshop-plugins-gold-line);
	border-bottom: 1px solid var(--rapidshop-plugins-gold-line);
}

.rapidshop-plugins-pro-capabilities > div {
	padding: 27px 26px 28px 0;
}

.rapidshop-plugins-pro-capabilities > div + div {
	padding-left: 28px;
	border-left: 1px solid var(--rapidshop-plugins-gold-line);
}

.rapidshop-plugins-pro-capabilities strong {
	display: block;
	margin-bottom: 7px;
	color: var(--rapidshop-plugins-white);
	font-size: 1.02rem;
}

.rapidshop-plugins-pro-capabilities span {
	color: rgb(255 255 255 / 55%);
	font-size: .78rem;
	line-height: 1.7;
}

.rapidshop-plugins-product--board {
	background: var(--rapidshop-plugins-paper);
}

.rapidshop-plugins-product--board .rapidshop-plugins-price strong,
.rapidshop-plugins-product--board .rapidshop-plugins-price span {
	color: var(--rapidshop-plugins-ink);
}

.rapidshop-plugins-product--board .rapidshop-plugins-product__inner {
	min-height: 590px;
	grid-template-columns: 1fr 1fr;
}

.rapidshop-plugins-board-screens {
	position: relative;
	min-height: 390px;
}

.rapidshop-plugins-board-screen {
	position: absolute;
	overflow: hidden;
	border: 1px solid #aeb7c0;
	background: #f0f0f1;
	box-shadow: 0 24px 58px rgb(29 39 50 / 16%);
}

.rapidshop-plugins-board-screen img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.rapidshop-plugins-board-screen--main {
	top: 8px;
	right: -8%;
	width: 104%;
	height: 330px;
	transform: rotate(-1deg);
}

.rapidshop-plugins-board-screen--main img {
	object-position: top left;
}

.rapidshop-plugins-board-screen--secondary {
	z-index: 2;
	right: 2%;
	bottom: 0;
	width: 84%;
	height: 130px;
	transform: rotate(1deg);
	object-position: top left;
}

.rapidshop-plugins-selector {
	padding: 118px 0 124px;
	background: var(--rapidshop-plugins-navy-950);
	color: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-selector h2 {
	margin-bottom: 62px;
	font-size: clamp(2.5rem, 4vw, 3.75rem);
	font-weight: 850;
	letter-spacing: -.055em;
}

.rapidshop-plugins-selector__list {
	border-top: 1px solid var(--rapidshop-plugins-gold-line);
}

.rapidshop-plugins-selector__list a {
	display: grid;
	padding: 27px 0;
	align-items: center;
	grid-template-columns: 1fr 1.1fr 36px;
	gap: 40px;
	border-bottom: 1px solid var(--rapidshop-plugins-gold-line);
	color: var(--rapidshop-plugins-white) !important;
}

.rapidshop-plugins-selector__list span {
	color: rgb(255 255 255 / 54%);
	font-size: .82rem;
}

.rapidshop-plugins-selector__list strong {
	font-size: 1.2rem;
}

.rapidshop-plugins-selector__list svg {
	color: var(--rapidshop-plugins-gold-soft);
}

.rapidshop-plugins-catalog-page .rapidshop-footer {
	padding-top: 0;
	border-top: 1px solid rgb(255 255 255 / 12%);
	background: #020711;
	color: var(--rapidshop-plugins-white);
}

.rapidshop-plugins-catalog-page .rapidshop-footer__top {
	padding-top: 50px;
	border-bottom-color: var(--rapidshop-plugins-gold-line);
}

.rapidshop-plugins-catalog-page .rapidshop-footer .rapidshop-brand--footer,
.rapidshop-plugins-catalog-page .rapidshop-footer .rapidshop-nav-list a,
.rapidshop-plugins-catalog-page .rapidshop-payment h2 {
	color: var(--rapidshop-plugins-white) !important;
}

.rapidshop-plugins-catalog-page .rapidshop-payment p,
.rapidshop-plugins-catalog-page .rapidshop-copyright {
	color: rgb(255 255 255 / 56%);
}

.rapidshop-plugins-catalog-page .rapidshop-footer .rapidshop-payment {
	border-color: var(--rapidshop-plugins-gold-line);
}

@media (max-width: 1100px) {
	.rapidshop-plugins-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr);
		gap: 54px;
	}

	.rapidshop-plugins-product--pro .rapidshop-plugins-product__inner {
		grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr);
		gap: 58px;
	}

	.rapidshop-plugins-screen--secondary {
		right: 0;
	}
}

@media (max-width: 820px) {
	body.rapidshop-plugins-catalog-page {
		--rapidshop-plugins-shared-header-height: 65px;
		background: var(--rapidshop-plugins-navy-950);
	}

	.rapidshop-plugins-intro__inner,
	.rapidshop-plugins-product__inner,
	.rapidshop-plugins-selector__inner,
	.rapidshop-plugins-catalog-page .rapidshop-footer__inner {
		width: min(calc(100% - 36px), var(--rapidshop-plugins-max));
	}

	.rapidshop-plugins-catalog-page .rapidshop-mobile-nav .rapidshop-nav-list a,
	.rapidshop-plugins-catalog-page .rapidshop-mobile-account {
		border-bottom-color: rgb(255 255 255 / 14%);
		color: var(--rapidshop-plugins-white) !important;
	}

	.rapidshop-plugins-hero {
		min-height: 0;
	}

	.rapidshop-plugins-hero > .rapidshop-breadcrumbs,
	.rapidshop-plugins-hero__inner {
		width: min(calc(100% - 36px), var(--rapidshop-plugins-max));
	}

	.rapidshop-plugins-hero__inner {
		padding: 28px 0 90px;
		grid-template-columns: 1fr;
		gap: 58px;
	}

	.rapidshop-plugins-hero h1 {
		font-size: clamp(3.25rem, 14vw, 4.8rem);
	}

	.rapidshop-plugins-hero__copy > p {
		font-size: 1.08rem;
	}

	.rapidshop-plugins-intro {
		padding: 90px 0 84px;
	}

	.rapidshop-plugins-intro__inner,
	.rapidshop-plugins-product--free .rapidshop-plugins-product__inner,
	.rapidshop-plugins-product--pro .rapidshop-plugins-product__inner,
	.rapidshop-plugins-product--board .rapidshop-plugins-product__inner {
		grid-template-columns: 1fr;
	}

	.rapidshop-plugins-intro__inner {
		gap: 42px;
	}

	.rapidshop-plugins-intro p {
		padding-left: 24px;
	}

	.rapidshop-plugins-product__inner,
	.rapidshop-plugins-product--pro .rapidshop-plugins-product__inner {
		padding: 94px 0;
		gap: 58px;
	}

	.rapidshop-plugins-product h2 {
		font-size: clamp(2.45rem, 10vw, 3.6rem);
	}

	.rapidshop-plugins-screens {
		padding-left: 0;
	}

	.rapidshop-plugins-pro-capabilities {
		grid-template-columns: 1fr;
	}

	.rapidshop-plugins-pro-capabilities > div + div {
		padding-left: 0;
		border-top: 1px solid var(--rapidshop-plugins-gold-line);
		border-left: 0;
	}

	.rapidshop-plugins-product--board .rapidshop-plugins-product__inner {
		min-height: 0;
	}

	.rapidshop-plugins-selector {
		padding: 90px 0 96px;
	}

	.rapidshop-plugins-selector__list a {
		grid-template-columns: 1fr 28px;
		gap: 14px;
	}

	.rapidshop-plugins-selector__list span {
		grid-column: 1 / -1;
	}

	.rapidshop-plugins-catalog-page .rapidshop-footer__top {
		padding-top: 36px;
	}
}

@media (max-width: 560px) {
	.rapidshop-plugins-hero__inner,
	.rapidshop-plugins-intro__inner,
	.rapidshop-plugins-product__inner,
	.rapidshop-plugins-selector__inner,
	.rapidshop-plugins-catalog-page .rapidshop-footer__inner {
		width: calc(100% - 32px);
	}

	.rapidshop-plugins-hero h1 {
		font-size: clamp(2.8rem, 14vw, 3.8rem);
	}

	.rapidshop-plugins-hero-product strong {
		font-size: 1.16rem;
	}

	.rapidshop-plugins-intro h2,
	.rapidshop-plugins-selector h2 {
		font-size: 2.6rem;
	}

	.rapidshop-plugins-product h2 {
		font-size: clamp(2.15rem, 10.5vw, 2.8rem);
		word-break: normal;
	}

	.rapidshop-plugins-product__body,
	.rapidshop-plugins-intro p {
		font-size: .9rem;
	}

	.rapidshop-plugins-feature-rail__row {
		grid-template-columns: 24px 1fr;
		gap: 12px;
	}

	.rapidshop-plugins-feature-rail__row small {
		grid-column: 2;
	}

	.rapidshop-plugins-price {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.rapidshop-plugins-screen--secondary {
		width: 62%;
	}

	.rapidshop-plugins-board-screens {
		min-height: 240px;
	}

	.rapidshop-plugins-board-screen--main {
		right: -18%;
		width: 116%;
		height: 210px;
	}

	.rapidshop-plugins-board-screen--secondary {
		width: 90%;
		height: 94px;
	}

	.rapidshop-plugins-selector__list strong {
		font-size: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rapidshop-plugins-line-link svg,
	.rapidshop-plugins-button svg,
	.rapidshop-plugins-selector__list svg,
	.rapidshop-plugins-diamond {
		transition: none;
	}
}
