.wp-block-amazon-cta-designer-card,
.pacta-card-wrap {
	--actd-accent: #ff9900;
	--actd-accent-text: #111827;
	--actd-button: #111827;
	--actd-button-text: #ffffff;
	--actd-radius: 18px;
	--actd-button-radius: 0px;
	--actd-ink: #111827;
	--actd-muted: #5e6673;
	--actd-border: #d8dde4;
	--actd-surface: #ffffff;
	box-sizing: border-box;
	container-type: inline-size;
	display: block;
	font-family: inherit;
	margin: clamp(28px, 5vw, 56px) auto;
	max-width: 1120px;
	width: 100%;
}

.pacta-card-wrap *,
.pacta-card-wrap *::before,
.pacta-card-wrap *::after {
	box-sizing: border-box;
}

.pacta-card {
	background: var(--actd-surface);
	border: 1px solid var(--actd-border);
	border-left: 4px solid var(--actd-accent);
	border-radius: var(--actd-radius);
	box-shadow: 0 20px 55px rgba(17, 24, 39, 0.09);
	color: var(--actd-ink);
	display: grid;
	grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.pacta-card-wrap--kindle-preview .pacta-card {
	grid-template-columns: minmax(250px, 32%) minmax(0, 1fr);
}

.pacta-card-wrap--no-image .pacta-card {
	grid-template-columns: minmax(0, 1fr);
}

.pacta-card__media {
	align-items: center;
	background: #f7f8fa;
	border-right: 1px solid var(--actd-border);
	display: flex;
	justify-content: center;
	min-height: 100%;
	overflow: hidden;
	padding: clamp(24px, 4vw, 44px);
	position: relative;
	text-decoration: none;
}

.pacta-card__media::after {
	background: var(--actd-accent);
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
	width: 100%;
}

a.pacta-card__media:hover::after {
	transform: scaleX(1);
}

.pacta-card__image {
	display: block;
	height: clamp(230px, 28vw, 340px);
	max-width: 250px;
	object-fit: contain;
	width: 100%;
}

.pacta-card__media--kindle {
	background: #ffffff;
	padding: clamp(16px, 2.2vw, 24px);
}

.pacta-kindle-preview {
	align-items: center;
	display: flex;
	justify-content: center;
	max-width: 100%;
	width: min(100%, 270px);
}

.pacta-kindle-preview__frame {
	aspect-ratio: 336 / 550;
	background: #ffffff;
	border: 0;
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.pacta-card__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(32px, 4.2vw, 54px);
}

.pacta-card__badge {
	align-self: flex-start;
	background: var(--actd-accent);
	border-radius: 0;
	color: var(--actd-accent-text);
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	margin: 0 0 18px;
	padding: 8px 10px 7px;
	text-transform: uppercase;
}

.pacta-card__badge[hidden],
.pacta-card__description[hidden],
.pacta-card__disclosure[hidden],
.pacta-card__media[hidden] {
	display: none !important;
}

.pacta-card__title {
	color: var(--actd-ink);
	display: block;
	font-size: clamp(22px, 2.8cqi, 31px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.42;
	margin: 0;
	text-decoration: none;
	text-wrap: pretty;
}

.pacta-card__title:hover {
	color: color-mix(in srgb, var(--actd-ink) 70%, var(--actd-accent));
}

.pacta-card__accent-line {
	background: var(--actd-accent);
	display: block;
	height: 3px;
	margin: 22px 0;
	width: 58px;
}

.pacta-card__author {
	color: var(--actd-ink);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin: -7px 0 14px;
}

.pacta-card__author::before {
	color: var(--actd-muted);
	content: "著者  ";
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.pacta-card__description {
	color: var(--actd-muted);
	font-size: clamp(14px, 1.6cqi, 16px);
	line-height: 1.9;
	margin: 0 0 26px;
	max-width: 54em;
}

.pacta-card__actions {
	margin-top: auto;
	padding-top: 2px;
}

.pacta-card__button {
	align-items: center;
	background: var(--actd-button);
	border: 1px solid var(--actd-button);
	border-radius: var(--actd-button-radius) !important;
	color: var(--actd-button-text);
	display: flex;
	font-size: 16px;
	font-weight: 800;
	gap: 16px;
	justify-content: space-between;
	letter-spacing: 0.02em;
	line-height: 1.45;
	min-height: 58px;
	overflow: hidden;
	padding: 16px 20px 16px 24px;
	position: relative;
	text-decoration: none;
	transform: translateY(0);
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	width: 100%;
}

.pacta-card__button > span,
.pacta-card__button-icon {
	position: relative;
	z-index: 2;
}

.pacta-card__button-icon {
	flex: 0 0 auto;
	transition: transform 180ms ease;
}

.pacta-button-shape-square {
	--actd-button-radius: 0px;
}

.pacta-button-shape-soft {
	--actd-button-radius: 6px;
}

.pacta-button-shape-rounded {
	--actd-button-radius: 14px;
}

.pacta-button-shape-pill {
	--actd-button-radius: 999px;
}

.pacta-button-animation-none .pacta-card__button {
	transition: none;
}

.pacta-button-animation-none .pacta-card__button:hover,
.pacta-button-animation-none .pacta-card__button.is-previewing,
.pacta-button-animation-shift .pacta-card__button:hover,
.pacta-button-animation-shift .pacta-card__button.is-previewing {
	background: var(--actd-accent);
	border-color: var(--actd-accent);
	color: var(--actd-accent-text);
}

.pacta-button-animation-shift .pacta-card__button:hover .pacta-card__button-icon,
.pacta-button-animation-shift .pacta-card__button.is-previewing .pacta-card__button-icon {
	transform: translateX(4px);
}

.pacta-button-animation-lift .pacta-card__button:hover,
.pacta-button-animation-lift .pacta-card__button.is-previewing {
	box-shadow: 0 13px 28px color-mix(in srgb, var(--actd-button) 26%, transparent);
	transform: translateY(-2px);
}

.pacta-button-animation-line .pacta-card__button::after {
	background: var(--actd-accent);
	bottom: 0;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
	width: 100%;
	z-index: 1;
}

.pacta-button-animation-line .pacta-card__button:hover::after,
.pacta-button-animation-line .pacta-card__button.is-previewing::after {
	transform: scaleX(1);
}

.pacta-button-animation-wipe .pacta-card__button::before {
	background: var(--actd-accent);
	content: "";
	inset: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 1;
}

.pacta-button-animation-wipe .pacta-card__button:hover,
.pacta-button-animation-wipe .pacta-card__button.is-previewing {
	border-color: var(--actd-accent);
	color: var(--actd-accent-text);
}

.pacta-button-animation-wipe .pacta-card__button:hover::before,
.pacta-button-animation-wipe .pacta-card__button.is-previewing::before {
	transform: scaleX(1);
}

.pacta-card__disclosure {
	color: #777f8b;
	font-size: 11px;
	line-height: 1.6;
	margin: 12px 0 0;
}

.pacta-card__media:focus-visible,
.pacta-card__title:focus-visible,
.pacta-card__button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--actd-accent) 72%, #ffffff);
	outline-offset: 4px;
}

/* Clean keeps the strong editorial layout while reducing decoration. */
.pacta-preset-clean .pacta-card {
	box-shadow: 0 12px 34px rgba(17, 24, 39, 0.07);
}

.pacta-preset-clean .pacta-card__badge {
	background: transparent;
	border: 1px solid var(--actd-accent);
}

/* Dark uses a restrained black surface; the Amazon preview itself stays white. */
.pacta-preset-dark {
	--actd-ink: #f8fafc;
	--actd-muted: #c2c8d0;
	--actd-border: #343a45;
	--actd-surface: #15191f;
}

.pacta-preset-dark .pacta-card {
	box-shadow: 0 22px 58px rgba(0, 0, 0, 0.24);
}

.pacta-preset-dark .pacta-card__media:not(.pacta-card__media--kindle) {
	background: #20252d;
}

.pacta-preset-dark .pacta-card__author::before,
.pacta-preset-dark .pacta-card__disclosure {
	color: #9ba3af;
}

/* Minimal removes the outer card treatment but preserves hierarchy and CTA strength. */
.pacta-preset-minimal .pacta-card {
	border-left-width: 0;
	border-radius: 0;
	box-shadow: none;
}

.pacta-preset-minimal .pacta-card__content {
	padding-right: 0;
}

@container (max-width: 620px) {
	.pacta-card,
	.pacta-card-wrap--kindle-preview .pacta-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.pacta-card__media {
		border-bottom: 1px solid var(--actd-border);
		border-right: 0;
		min-height: auto;
	}

	.pacta-card__image {
		height: clamp(250px, 72vw, 390px);
		max-width: 280px;
	}

	.pacta-card__media--kindle {
		padding: 24px;
	}

	.pacta-kindle-preview {
		max-width: 336px;
		width: min(100%, 300px);
	}

	.pacta-card__content {
		padding: clamp(28px, 8vw, 42px);
	}

	.pacta-card__title {
		font-size: clamp(22px, 6.5vw, 30px);
	}

	.pacta-preset-minimal .pacta-card__content {
		padding-left: 0;
		padding-right: 0;
	}
}

@supports not (container-type: inline-size) {
	@media (max-width: 680px) {
		.pacta-card,
		.pacta-card-wrap--kindle-preview .pacta-card {
			grid-template-columns: minmax(0, 1fr);
		}

		.pacta-card__media {
			border-bottom: 1px solid var(--actd-border);
			border-right: 0;
		}
	}
}

@media (max-width: 420px) {
	.pacta-card-wrap {
		margin: 28px auto;
	}

	.pacta-card {
		border-left-width: 3px;
		box-shadow: 0 12px 34px rgba(17, 24, 39, 0.08);
	}

	.pacta-card__media--kindle {
		padding: 16px 12px;
	}

	.pacta-card__content {
		padding: 27px 22px 24px;
	}

	.pacta-card__badge {
		margin-bottom: 15px;
	}

	.pacta-card__accent-line {
		margin: 18px 0;
	}

	.pacta-card__description {
		line-height: 1.8;
		margin-bottom: 22px;
	}

	.pacta-card__button {
		font-size: 15px;
		min-height: 56px;
		padding: 14px 17px 14px 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pacta-card__media::after,
	.pacta-card__button,
	.pacta-card__button-icon,
	.pacta-card__button::before,
	.pacta-card__button::after {
		transition: none;
	}

	.pacta-card__button,
	.pacta-card__button:hover,
	.pacta-card__button.is-previewing,
	.pacta-card__button:hover .pacta-card__button-icon,
	.pacta-card__button.is-previewing .pacta-card__button-icon {
		transform: none;
	}
}
