/* Pre-sized media slots — CLS budget. Geometry is fixed; swap licensed images later. */
.sw-image-slot {
	aspect-ratio: 16 / 9;
	width: 100%;
	background-color: var(--wp--preset--color--sand, #ece6d8);
	border: 1px solid var(--wp--preset--color--brass, #b08d57);
	border-radius: var(--wp--custom--radius--card, 12px);
	overflow: hidden;
}
.sw-image-slot--portrait {
	aspect-ratio: 4 / 5;
}
.sw-image-slot--square {
	aspect-ratio: 1 / 1;
}
.sw-image-slot img,
.sw-image-slot video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sw-icon-slot {
	width: 48px;
	height: 48px;
	border-radius: var(--wp--custom--radius--icon, 8px);
	background-color: var(--wp--preset--color--sand, #ece6d8);
	color: #8a6b38;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sw-logo-slot {
	min-height: 64px;
	aspect-ratio: 3 / 1;
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid var(--wp--preset--color--border, #e7e0d0);
	border-radius: var(--wp--custom--radius--icon, 8px);
}
.sw-kicker {
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 13px;
	color: var(--wp--preset--color--evergreen, #14352b);
}
.sw-card,
.wp-block-group.sw-card {
	border: 1px solid var(--wp--preset--color--border, #e7e0d0);
	border-radius: var(--wp--custom--radius--card, 12px);
	background: var(--wp--preset--color--white, #fff);
	height: 100%;
	/* Own padding in CSS — PHP renderers omit block-JSON spacing (VD-001 / VD-004). */
	padding: var(--wp--preset--spacing--60, 24px);
	box-sizing: border-box;
}
.sw-disclosure-block,
.wp-block-group.sw-disclosure-block {
	/* L/R required — pattern previously padded top/bottom only (VD-003). */
	padding: var(--wp--preset--spacing--60, 24px);
	box-sizing: border-box;
}
/* Hover elevation lives in experience.css when exp_texture is on.
   Fallback for flags-off / no experience.css: */
html:not(.exp-texture) .sw-card:hover {
	border-color: var(--wp--preset--color--brass, #b08d57);
	box-shadow: 0 8px 24px rgba(14, 42, 71, 0.08);
}
.sw-step-num {
	width: 40px;
	height: 40px;
	min-width: 40px;
	border-radius: 50%;
	border: 2px solid #8a6b38;
	color: #8a6b38;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}
.sw-faq details {
	border-bottom: 1px solid var(--wp--preset--color--border, #e7e0d0);
	padding: 12px 0;
}
.sw-faq summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--wp--preset--color--ink, #0e2a47);
	min-height: 44px;
	display: flex;
	align-items: center;
}
.sw-faq summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--brass, #b08d57);
	outline-offset: 2px;
}
@media (max-width: 781px) {
	.wp-block-button .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}
