.sdc-public-section,
.sdc-public-section * {
	box-sizing: border-box;
}

.sdc-public-section {
	--sdc-blue: #3b82c4;
	--sdc-blue-hover: #2e6fa8;
	--sdc-text: #243447;
	--sdc-muted: #64748b;
	--sdc-background: #f6f8fb;
	--sdc-card: #fff;
	--sdc-border: #dde5ed;
	--sdc-success: #2f9e69;
	width: 100%;
	margin: 0;
	color: var(--sdc-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

.sdc-public-container {
	width: min(100%, 1240px);
	margin-inline: auto;
	padding-inline: clamp(18px, 4vw, 40px);
}

.sdc-public-section h1,
.sdc-public-section h2,
.sdc-public-section h3,
.sdc-public-section p {
	margin-top: 0;
}

.sdc-public-section h1,
.sdc-public-section h2,
.sdc-public-section h3 {
	color: var(--sdc-text);
	font-family: inherit;
	font-weight: 750;
	line-height: 1.18;
}

.sdc-public-section h1 {
	margin-bottom: 20px;
	font-size: clamp(2.15rem, 5vw, 4.35rem);
	letter-spacing: -.035em;
}

.sdc-public-section h2 {
	margin-bottom: 14px;
	font-size: clamp(1.8rem, 3.4vw, 2.65rem);
	letter-spacing: -.025em;
}

.sdc-public-section h3 {
	margin-bottom: 10px;
	font-size: 1.18rem;
}

.sdc-public-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 11px 21px;
	border: 1px solid transparent;
	border-radius: 8px;
	font: inherit;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.sdc-public-button:hover {
	transform: translateY(-1px);
}

.sdc-public-button:focus-visible,
.sdc-public-product-link:focus-visible {
	outline: 3px solid rgba(59, 130, 196, .35);
	outline-offset: 3px;
}

.sdc-public-button-primary {
	color: #fff !important;
	background: var(--sdc-blue);
	border-color: var(--sdc-blue);
}

.sdc-public-button-primary:hover {
	color: #fff !important;
	background: var(--sdc-blue-hover);
	border-color: var(--sdc-blue-hover);
}

.sdc-public-button-secondary {
	color: var(--sdc-blue) !important;
	background: #fff;
	border-color: var(--sdc-border);
}

.sdc-public-button-secondary:hover {
	color: var(--sdc-blue-hover) !important;
	border-color: var(--sdc-blue);
}

.sdc-public-button[disabled] {
	color: #fff !important;
	background: #94a3b8;
	border-color: #94a3b8;
	cursor: not-allowed;
	transform: none;
}

.sdc-public-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.sdc-public-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.sdc-public-hero {
	padding-block: clamp(64px, 9vw, 112px);
	overflow: hidden;
	background: linear-gradient(145deg, #f4f8fc 0%, #fff 55%, #eaf3fb 100%);
}

.sdc-public-hero .sdc-public-container {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(240px, .7fr);
	align-items: center;
	gap: clamp(38px, 7vw, 90px);
}

.sdc-public-eyebrow {
	display: inline-flex;
	margin-bottom: 16px;
	padding: 6px 11px;
	color: var(--sdc-blue);
	background: rgba(59, 130, 196, .1);
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.sdc-public-hero-text {
	max-width: 740px;
	margin-bottom: 28px;
	color: var(--sdc-muted);
	font-size: clamp(1.06rem, 1.8vw, 1.22rem);
}

.sdc-public-hero-visual {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 300px;
}

.sdc-public-hero-mark {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: clamp(150px, 21vw, 230px);
	aspect-ratio: 1;
	color: #fff;
	background: linear-gradient(145deg, var(--sdc-blue), var(--sdc-blue-hover));
	border-radius: 28%;
	box-shadow: 0 28px 70px rgba(46, 111, 168, .28);
	font-size: clamp(4.2rem, 10vw, 7.5rem);
	font-weight: 800;
}

.sdc-public-hero-ring {
	position: absolute;
	width: 280px;
	aspect-ratio: 1;
	border: 2px solid rgba(59, 130, 196, .17);
	border-radius: 50%;
	box-shadow: 0 0 0 34px rgba(59, 130, 196, .055), 0 0 0 68px rgba(59, 130, 196, .03);
}

.sdc-public-reassurance {
	padding-block: clamp(34px, 5vw, 56px);
	background: #fff;
	border-block: 1px solid var(--sdc-border);
}

.sdc-public-reassurance-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.sdc-public-reassurance-grid article {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.sdc-public-reassurance-grid h3,
.sdc-public-reassurance-grid p {
	margin-bottom: 3px;
}

.sdc-public-reassurance-grid p {
	color: var(--sdc-muted);
	font-size: .94rem;
}

.sdc-public-mini-icon {
	flex: 0 0 44px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--sdc-blue);
	background: rgba(59, 130, 196, .1);
	border-radius: 12px;
	font-size: 20px;
	font-weight: 800;
}

.sdc-public-mini-icon::before {
	content: "✓";
}

.sdc-public-mini-icon.dashicons-database::before {
	content: "D";
}

.sdc-public-mini-icon.dashicons-shield-alt::before {
	content: "S";
}

.sdc-public-catalog {
	scroll-margin-top: 30px;
	padding-block: clamp(66px, 8vw, 102px);
	background: var(--sdc-background);
}

.sdc-public-section-heading {
	max-width: 760px;
	margin: 0 auto clamp(34px, 5vw, 52px);
	text-align: center;
}

.sdc-public-section-heading p {
	margin-bottom: 0;
	color: var(--sdc-muted);
	font-size: 1.05rem;
}

.sdc-public-cards {
	display: grid;
	gap: clamp(18px, 2.4vw, 28px);
}

.sdc-public-columns-1 {
	grid-template-columns: minmax(0, 1fr);
}

.sdc-public-columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sdc-public-columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sdc-public-columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sdc-public-card {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	background: var(--sdc-card);
	border: 1px solid var(--sdc-border);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(36, 52, 71, .06);
}

.sdc-public-card.is-occupied {
	border-color: #cbd5e1;
}

.sdc-public-card-media {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 190px;
	padding: 28px;
	background: linear-gradient(145deg, #edf5fb, #f8fbfe);
}

.sdc-public-card-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: 134px;
	object-fit: contain;
}

.sdc-public-fallback-icon {
	display: grid;
	place-items: center;
	width: 112px;
	aspect-ratio: 1;
	color: #fff;
	background: linear-gradient(145deg, var(--sdc-blue), var(--sdc-blue-hover));
	border-radius: 25%;
	box-shadow: 0 16px 32px rgba(46, 111, 168, .22);
	font-size: 3.4rem;
	font-weight: 800;
}

.sdc-public-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	max-width: calc(100% - 28px);
	padding: 5px 9px;
	color: #176b45;
	background: #e8f7f0;
	border: 1px solid #bee6d2;
	border-radius: 999px;
	font-size: .74rem;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
}

.sdc-public-badge.is-occupied {
	color: #7c4a03;
	background: #fff5df;
	border-color: #f5d89d;
}

.sdc-public-card-content {
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	padding: 24px;
}

.sdc-public-card-content h3 {
	font-size: 1.28rem;
	overflow-wrap: anywhere;
}

.sdc-public-card-description {
	margin-bottom: 14px;
	color: var(--sdc-muted);
	overflow-wrap: anywhere;
}

.sdc-public-commercial {
	align-self: flex-start;
	margin-bottom: 16px;
	padding: 3px 9px;
	color: var(--sdc-blue-hover);
	background: rgba(59, 130, 196, .09);
	border-radius: 6px;
	font-size: .78rem;
	font-weight: 750;
}

.sdc-public-features {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.sdc-public-features li {
	position: relative;
	margin-bottom: 7px;
	padding-left: 24px;
	color: var(--sdc-text);
	font-size: .93rem;
	overflow-wrap: anywhere;
}

.sdc-public-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--sdc-success);
	font-weight: 800;
}

.sdc-public-occupied-message {
	margin: 0 0 16px;
	padding: 10px 12px;
	color: #7c4a03;
	background: #fff9ed;
	border-left: 3px solid #e3a739;
	border-radius: 5px;
	font-size: .86rem;
}

.sdc-public-card-actions {
	display: flex;
	align-items: stretch;
	margin-top: auto;
	flex-direction: column;
	gap: 12px;
}

.sdc-public-card-actions .sdc-public-button {
	width: 100%;
}

.sdc-public-product-link {
	align-self: center;
	color: var(--sdc-blue) !important;
	font-size: .92rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none !important;
}

.sdc-public-product-link:hover {
	color: var(--sdc-blue-hover) !important;
	text-decoration: underline !important;
}

.sdc-public-empty {
	max-width: 720px;
	margin-inline: auto;
	padding: clamp(28px, 5vw, 48px);
	background: #fff;
	border: 1px solid var(--sdc-border);
	border-radius: 14px;
	text-align: center;
}

.sdc-public-empty p {
	margin-bottom: 10px;
}

.sdc-public-empty p + .sdc-public-button {
	margin-top: 14px;
}

.sdc-public-how {
	padding-block: clamp(66px, 8vw, 96px);
	background: #fff;
}

.sdc-public-how h2 {
	text-align: center;
}

.sdc-public-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin: 42px 0 28px;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.sdc-public-steps li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.sdc-public-step-number {
	flex: 0 0 46px;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	color: #fff;
	background: var(--sdc-blue);
	border-radius: 50%;
	font-weight: 800;
}

.sdc-public-steps p {
	margin-bottom: 0;
	color: var(--sdc-muted);
}

.sdc-public-how-note {
	max-width: 720px;
	margin: 0 auto;
	padding: 12px 16px;
	color: var(--sdc-muted);
	background: var(--sdc-background);
	border: 1px solid var(--sdc-border);
	border-radius: 8px;
	font-size: .92rem;
	text-align: center;
}

.sdc-public-notice {
	padding-block: clamp(36px, 5vw, 58px);
	background: var(--sdc-background);
}

.sdc-public-notice-box {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	max-width: 950px;
	margin-inline: auto;
	padding: clamp(22px, 4vw, 30px);
	background: #fff;
	border: 1px solid var(--sdc-border);
	border-radius: 12px;
}

.sdc-public-notice-box h2 {
	margin-bottom: 7px;
	font-size: 1.22rem;
}

.sdc-public-notice-box p {
	margin-bottom: 0;
	color: var(--sdc-muted);
}

.sdc-public-notice-icon {
	flex: 0 0 34px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	color: var(--sdc-blue);
	background: rgba(59, 130, 196, .1);
	border-radius: 50%;
	font-family: Georgia, serif;
	font-weight: 800;
}

.sdc-public-final-cta {
	padding-block: clamp(54px, 7vw, 86px);
	background: #fff;
}

.sdc-public-final-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: clamp(28px, 5vw, 52px);
	color: #fff;
	background: linear-gradient(135deg, var(--sdc-blue), var(--sdc-blue-hover));
	border-radius: 16px;
	box-shadow: 0 20px 45px rgba(46, 111, 168, .2);
}

.sdc-public-final-box h2,
.sdc-public-final-box p {
	color: #fff;
}

.sdc-public-final-box h2 {
	margin-bottom: 8px;
}

.sdc-public-final-box p {
	max-width: 700px;
	margin-bottom: 0;
	opacity: .9;
}

.sdc-public-button-light {
	flex: 0 0 auto;
	color: var(--sdc-blue-hover) !important;
	background: #fff;
	border-color: #fff;
}

.sdc-public-button-light:hover {
	color: var(--sdc-blue-hover) !important;
	background: #f7fbff;
}

@media (max-width: 1024px) {
	.sdc-public-columns-3,
	.sdc-public-columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sdc-public-hero .sdc-public-container {
		grid-template-columns: minmax(0, 1.25fr) minmax(210px, .65fr);
	}
}

@media (max-width: 760px) {
	.sdc-public-hero .sdc-public-container {
		grid-template-columns: 1fr;
	}

	.sdc-public-hero-visual {
		display: none;
	}

	.sdc-public-reassurance-grid,
	.sdc-public-steps {
		grid-template-columns: 1fr;
	}

	.sdc-public-final-box {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.sdc-public-columns-2,
	.sdc-public-columns-3,
	.sdc-public-columns-4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.sdc-public-actions,
	.sdc-public-actions .sdc-public-button,
	.sdc-public-final-box .sdc-public-button {
		width: 100%;
	}

	.sdc-public-notice-box {
		gap: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sdc-public-button {
		transition: none;
	}
}
