/*
 * Resources & Support pages.
 *
 * Styles for inc/pages/resources.php — the Whitepapers page and the three
 * /support/ pages. Every value is the real number behind the Tailwind utility
 * used by the React originals, so the rendered result matches rather than
 * approximates. Shared classes from sections.css are reused wherever the
 * original markup already lines up with them.
 *
 *   primary #0B1B3D   accent #2563EB   text #1A1A2E
 *   muted   #6B7280   light  #F5F6F8   gray-100 #f3f4f6   gray-200 #e5e7eb
 */

/* ================================================== shared support pieces == */

/* max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 */
.gvd-resources__narrow {
	width: 100%;
	max-width: 56rem;
	margin-inline: auto;
	padding-inline: 1rem;
}

@media (min-width: 640px) { .gvd-resources__narrow { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .gvd-resources__narrow { padding-inline: 2rem; } }

/* py-16 lg:py-20 bg-white */
.gvd-resources__intro { padding-block: 4rem; background: #fff; }

@media (min-width: 1024px) { .gvd-resources__intro { padding-block: 5rem; } }

/* py-12 lg:py-16 bg-secondary */
.gvd-resources__band { padding-block: 3rem; background: #f5f6f8; }

@media (min-width: 1024px) { .gvd-resources__band { padding-block: 4rem; } }

.gvd-resources__intro-text {
	margin: 0;
	color: #6b7280;
	line-height: 1.625;
}

/* text-3xl sm:text-4xl lg:text-5xl leading-tight, max-w-3xl */
.gvd-resources__banner-title {
	max-width: 48rem;
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

@media (min-width: 640px) { .gvd-resources__banner-title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .gvd-resources__banner-title { font-size: 3rem; } }

.gvd-resources__banner-sub {
	max-width: 42rem;
	margin: 1.25rem 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 1.125rem;
	line-height: 1.6;
}

/* h2 shared by the security pages: text-2xl sm:text-3xl font-bold */
.gvd-resources__h2 {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: #1a1a2e;
}

@media (min-width: 640px) { .gvd-resources__h2 { font-size: 1.875rem; } }

/* The accent bullet in front of every list item. */
.gvd-resources__dot {
	flex-shrink: 0;
	margin-top: 0.25rem;
	color: #2563eb;
	line-height: 1.2;
}

/* ------------------------------------------------------------ support CTA -- */

.gvd-resources__cta-section { padding-block: 4rem; background: #0b1b3d; }

@media (min-width: 1024px) { .gvd-resources__cta-section { padding-block: 5rem; } }

.gvd-resources__cta-card {
	padding: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.05);
	text-align: center;
}

@media (min-width: 1024px) { .gvd-resources__cta-card { padding: 2.5rem; } }

.gvd-resources__cta-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

@media (min-width: 640px) { .gvd-resources__cta-title { font-size: 1.875rem; } }

.gvd-resources__cta-sub {
	margin: 0.5rem 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.875rem;
}

@media (min-width: 640px) { .gvd-resources__cta-sub { font-size: 1rem; } }

.gvd-resources__cta-label {
	margin: 2rem 0 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #2563eb;
}

.gvd-resources__cta-links {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 1rem;
	font-size: 0.875rem;
}

@media (min-width: 640px) {
	.gvd-resources__cta-links { flex-direction: row; gap: 2rem; }
}

.gvd-resources__cta-links a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	max-width: 100%;
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	word-break: break-word;
	transition: color 0.2s ease;
}

.gvd-resources__cta-links a:hover { color: #fff; }

.gvd-resources__cta-icon { color: #2563eb; }

/* ============================================================= whitepapers == */

/* ResourceHero: py-24 lg:py-32 on a layered midnight backdrop. */
.gvd-wp__hero {
	position: relative;
	overflow: hidden;
	padding-block: 6rem;
	background: #0b1b3d;
}

@media (min-width: 1024px) { .gvd-wp__hero { padding-block: 8rem; } }

.gvd-wp__hero-gradient {
	background: linear-gradient(to bottom right, #0b1b3d, #0e2a5e, #0b1b3d);
}

.gvd-wp__hero-grid {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 75%);
}

/* Framer's drifting glow orbs, rendered static. */
.gvd-wp__orb { inset: auto; border-radius: 9999px; }

.gvd-wp__orb--a {
	left: -6rem;
	top: 2.5rem;
	width: 18rem;
	height: 18rem;
	background: rgba(37, 99, 235, 0.25);
	filter: blur(100px);
}

.gvd-wp__orb--b {
	right: 0;
	top: 33.333333%;
	width: 20rem;
	height: 20rem;
	background: rgba(59, 130, 246, 0.2);
	filter: blur(120px);
}

.gvd-wp__hero-edge {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(37, 99, 235, 0.6), transparent);
}

.gvd-wp__hero-grid-cols {
	position: relative;
	z-index: 1;
	display: grid;
	align-items: center;
	gap: 3rem;
}

@media (min-width: 1024px) {
	.gvd-wp__hero-grid-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gvd-wp__hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.375rem 0.875rem;
	border: 1px solid rgba(37, 99, 235, 0.25);
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.1);
	backdrop-filter: blur(8px);
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.5;
}

/* The pinging status dot inside the eyebrow. */
.gvd-wp__ping {
	position: relative;
	display: flex;
	width: 0.375rem;
	height: 0.375rem;
}

.gvd-wp__ping span:first-child {
	position: absolute;
	inset: 0;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.7);
	animation: gvd-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.gvd-wp__ping span:last-child {
	position: relative;
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 9999px;
	background: #2563eb;
}

@media (prefers-reduced-motion: reduce) {
	.gvd-wp__ping span:first-child { animation: none; }
}

/* text-4xl sm:text-5xl lg:text-[3.25rem] leading-[1.08] */
.gvd-wp__hero-title {
	margin: 1.5rem 0 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: #fff;
}

@media (min-width: 640px) { .gvd-wp__hero-title { font-size: 3rem; } }
@media (min-width: 1024px) { .gvd-wp__hero-title { font-size: 3.25rem; } }

.gvd-wp__hero-mark {
	position: relative;
	white-space: nowrap;
	color: #2563eb;
}

.gvd-wp__hero-mark::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.25rem;
	width: 100%;
	height: 3px;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.5);
}

.gvd-wp__hero-sub {
	max-width: 36rem;
	margin: 1.5rem 0 0;
	color: rgba(255, 255, 255, 0.65);
	font-size: 1.125rem;
	line-height: 1.625;
}

/*
 * The original relies on the section's overflow-hidden to clip the fanned
 * cards where they run past the grid column. Giving the column a real width
 * keeps the same flush-right composition entirely inside the viewport.
 */
.gvd-wp__hero-visual {
	width: 100%;
	max-width: 20rem;
	margin-inline: auto;
}

@media (min-width: 1024px) { .gvd-wp__hero-visual { justify-self: end; } }

/* Fanned document mockups. */
.gvd-wp__fan {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 20rem;
	height: 18rem;
	margin-inline: auto;
}

.gvd-wp__fan-glow {
	position: absolute;
	inset: 0;
	border-radius: 1.5rem;
	background: rgba(37, 99, 235, 0.1);
	filter: blur(64px);
}

.gvd-wp__doc {
	position: absolute;
	width: 10rem;
	height: 14rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(12px);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.gvd-wp__doc-icon { color: #2563eb; }

.gvd-wp__doc-lines {
	display: grid;
	gap: 0.5rem;
	margin-top: 1rem;
}

.gvd-wp__doc-lines span {
	display: block;
	height: 0.5rem;
	border-radius: 0.25rem;
	background: rgba(255, 255, 255, 0.15);
}

.gvd-wp__doc-tag {
	position: absolute;
	left: 1.25rem;
	bottom: 1rem;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
}

/* ------------------------------------------------------------ featured card */

.gvd-wp__featured {
	display: grid;
	overflow: hidden;
	border: 1px solid #f3f4f6;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

@media (min-width: 1024px) {
	.gvd-wp__featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gvd-wp__featured-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 18rem;
	padding: 2.5rem;
}

.gvd-wp__art-veil { position: absolute; inset: 0; background: rgba(11, 27, 61, 0.03); }

/* The five gradient washes behind the document mockups. */
.gvd-wp__art--blue    { background: linear-gradient(to bottom right, rgba(59, 130, 246, 0.2), rgba(99, 102, 241, 0.1)); }
.gvd-wp__art--emerald { background: linear-gradient(to bottom right, rgba(16, 185, 129, 0.2), rgba(20, 184, 166, 0.1)); }
.gvd-wp__art--amber   { background: linear-gradient(to bottom right, rgba(245, 158, 11, 0.2), rgba(249, 115, 22, 0.1)); }
.gvd-wp__art--rose    { background: linear-gradient(to bottom right, rgba(244, 63, 94, 0.2), rgba(239, 68, 68, 0.1)); }
.gvd-wp__art--violet  { background: linear-gradient(to bottom right, rgba(139, 92, 246, 0.2), rgba(168, 85, 247, 0.1)); }

.gvd-wp__featured-doc {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 9rem;
	height: 11rem;
	padding: 1rem;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow:
		0 20px 25px -5px rgba(0, 0, 0, 0.1),
		0 8px 10px -6px rgba(0, 0, 0, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.05);
}

.gvd-wp__featured-doc-topic {
	margin-top: auto;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #6b7280;
}

.gvd-wp__featured-doc-name {
	margin-top: 0.25rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: #1a1a2e;
}

.gvd-wp__featured-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

@media (min-width: 1024px) { .gvd-wp__featured-body { padding: 2.5rem; } }

.gvd-wp__tag {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 0.75rem;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.1);
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.35;
}

.gvd-wp__tag--sm { margin-bottom: 0.5rem; font-size: 11px; }

.gvd-wp__featured-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	color: #1a1a2e;
}

@media (min-width: 1024px) { .gvd-wp__featured-title { font-size: 1.75rem; } }

.gvd-wp__featured-text {
	margin: 1rem 0 0;
	color: #6b7280;
	line-height: 1.625;
}

.gvd-wp__meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
	color: #6b7280;
	font-size: 0.75rem;
}

.gvd-wp__meta--featured { margin-top: 1.25rem; }

.gvd-wp__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.gvd-wp__request {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	margin-top: 1.75rem;
	padding: 0.625rem 1.25rem;
	border-radius: 0.5rem;
	background: #2563eb;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.gvd-wp__request:hover { background: #1d4ed8; color: #fff; }

/* ------------------------------------------------------------- library grid */

.gvd-wp__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem;
}

@media (min-width: 768px) {
	.gvd-wp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.gvd-wp__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
}

.gvd-wp__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid #f3f4f6;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Beats `.gvd-js .gvd-reveal.is-visible { transform: none }` on hover. */
.gvd-wp__card.gvd-reveal.is-visible:hover,
.gvd-wp__card:hover {
	transform: translateY(-4px);
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.gvd-wp__card-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 9rem;
}

.gvd-wp__card-doc {
	display: flex;
	flex-direction: column;
	width: 5rem;
	height: 6rem;
	padding: 0.75rem;
	border-radius: 0.5rem;
	background: #fff;
	box-shadow:
		0 10px 15px -3px rgba(0, 0, 0, 0.1),
		0 4px 6px -4px rgba(0, 0, 0, 0.1),
		0 0 0 1px rgba(0, 0, 0, 0.05);
}

.gvd-wp__card-doc-topic {
	margin-top: auto;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.025em;
	text-transform: uppercase;
	color: #6b7280;
}

.gvd-wp__card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.5rem;
}

.gvd-wp__card-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.375;
	color: #1a1a2e;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gvd-wp__card-text {
	margin: 0.5rem 0 0;
	color: #6b7280;
	font-size: 0.875rem;
	line-height: 1.625;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gvd-wp__more {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 1.25rem;
	padding-top: 0.25rem;
	color: #2563eb;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.gvd-wp__more .gvd-svg { transition: transform 0.3s ease; }
.gvd-wp__more:hover .gvd-svg { transform: translateX(4px); }

/* ======================================================== firmware releases == */

/* max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 space-y-8 */
.gvd-fw__list {
	display: grid;
	gap: 2rem;
	width: 100%;
	max-width: 64rem;
	margin-inline: auto;
	padding-inline: 1rem;
}

@media (min-width: 640px) { .gvd-fw__list { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .gvd-fw__list { padding-inline: 2rem; } }

.gvd-fw__empty {
	padding: 2rem;
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	background: #fff;
	text-align: center;
	color: #6b7280;
}

.gvd-fw__item {
	padding: 1.5rem;
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

@media (min-width: 640px) { .gvd-fw__item { padding: 2rem; } }

.gvd-fw__head {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #f3f4f6;
}

@media (min-width: 640px) {
	.gvd-fw__head {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}
}

.gvd-fw__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.gvd-fw__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: #1a1a2e;
}

@media (min-width: 640px) { .gvd-fw__title { font-size: 1.875rem; } }

.gvd-fw__latest {
	padding: 0.125rem 0.5rem;
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.15);
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 500;
}

.gvd-fw__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.25rem;
	margin-top: 0.5rem;
	color: #6b7280;
	font-size: 0.875rem;
}

.gvd-fw__model { color: #1a1a2e; font-weight: 500; }

.gvd-fw__download {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	border-radius: 0.5rem;
	background: #2563eb;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.gvd-fw__download:hover { background: #1d4ed8; color: #fff; }

.gvd-fw__unavailable { align-self: flex-start; color: #6b7280; font-size: 0.75rem; }

.gvd-fw__panels {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
	margin-top: 1.5rem;
}

@media (min-width: 768px) {
	.gvd-fw__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gvd-fw__panel {
	padding: 1.25rem;
	border: 1px solid #f3f4f6;
	border-radius: 0.75rem;
}

.gvd-fw__panel-head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.gvd-fw__panel-icon {
	display: inline-flex;
	padding: 0.5rem;
	border-radius: 0.5rem;
	background: rgba(37, 99, 235, 0.1);
	color: #2563eb;
}

.gvd-fw__panel-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	color: #1a1a2e;
}

.gvd-fw__bullets {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #6b7280;
	font-size: 0.875rem;
	line-height: 1.5;
}

.gvd-fw__bullets li { display: flex; gap: 0.5rem; }

.gvd-fw__notes {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #f3f4f6;
}

.gvd-fw__notes > :first-child { margin-top: 0; }
.gvd-fw__notes > :last-child { margin-bottom: 0; }

.gvd-fw__callout {
	padding: 1.5rem;
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 1rem;
	background: rgba(37, 99, 235, 0.05);
}

@media (min-width: 640px) { .gvd-fw__callout { padding: 2rem; } }

.gvd-fw__callout-head {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.gvd-fw__callout-icon { flex-shrink: 0; margin-top: 0.125rem; color: #2563eb; }

.gvd-fw__callout-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	color: #1a1a2e;
}

.gvd-fw__callout-list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #6b7280;
	line-height: 1.625;
}

.gvd-fw__callout-list li { display: flex; gap: 0.75rem; }

/* ========================================================= security contact == */

.gvd-sec__heading { margin-bottom: 1.5rem; }
.gvd-sec__heading--wide { margin-bottom: 2rem; }

.gvd-sec__cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}

@media (min-width: 768px) {
	.gvd-sec__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gvd-sec__card {
	padding: 1.25rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	background: #fff;
}

.gvd-sec__card-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	color: #6b7280;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.gvd-sec__card-icon { color: #2563eb; }

.gvd-sec__card-value {
	display: block;
	color: #1a1a2e;
	font-weight: 500;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color 0.2s ease;
}

.gvd-sec__card-value--inline { display: inline; }
.gvd-sec__card-value:hover { color: #2563eb; }

.gvd-sec__title-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.gvd-sec__title-icon {
	display: inline-flex;
	flex-shrink: 0;
	padding: 0.5rem;
	border-radius: 0.5rem;
	background: rgba(37, 99, 235, 0.1);
	color: #2563eb;
}

.gvd-sec__lede { margin-bottom: 1.5rem; }
.gvd-sec__outro { margin-top: 2rem; }

.gvd-sec__list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #6b7280;
	line-height: 1.5;
}

.gvd-sec__list li { display: flex; gap: 0.75rem; }

.gvd-sec__steps {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gvd-sec__steps li {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	background: #fff;
}

.gvd-sec__step-num {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: #2563eb;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
}

.gvd-sec__step-text { padding-top: 0.25rem; color: #1a1a2e; }

/* =================================================== product security cards == */

/* max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 */
.gvd-psf__wrap {
	width: 100%;
	max-width: 72rem;
	margin-inline: auto;
	padding-inline: 1rem;
}

@media (min-width: 640px) { .gvd-psf__wrap { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .gvd-psf__wrap { padding-inline: 2rem; } }

.gvd-psf__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.gvd-psf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gvd-psf__card {
	height: 100%;
	padding: 1.5rem;
	border: 1px solid #e5e7eb;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

@media (min-width: 1024px) { .gvd-psf__card { padding: 1.75rem; } }

.gvd-psf__card:hover {
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.gvd-psf__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.gvd-psf__icon {
	display: inline-flex;
	flex-shrink: 0;
	padding: 0.625rem;
	border-radius: 0.75rem;
	background: rgba(37, 99, 235, 0.1);
	color: #2563eb;
}

.gvd-psf__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: #1a1a2e;
}

.gvd-psf__text {
	margin: 0 0 1.25rem;
	color: #6b7280;
	line-height: 1.625;
}

.gvd-psf__benefits-label {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #2563eb;
}

.gvd-psf__benefits {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #6b7280;
	font-size: 0.875rem;
	line-height: 1.5;
}

.gvd-psf__benefits li { display: flex; gap: 0.5rem; }
