/*
 * LI-JET Product Detail
 * 僅控制外掛產生的商品詳細內容。
 * 不修改 Astra 頁首、頁尾、導覽列、全站 Container 或 Elementor 區塊。
 */

.ljpc-single,
.ljpc-single * {
	box-sizing: border-box;
}

.ljpc-single {
	--ljpc-primary: #005d73;
	--ljpc-heading: #173e46;
	--ljpc-text: #52696e;
	--ljpc-soft: #f3f7f7;
	--ljpc-white: #ffffff;
	--ljpc-border: #d5e0e2;
	--ljpc-shadow-soft: 0 14px 32px rgba(23, 62, 70, 0.07);
	--ljpc-shadow-card: 0 18px 42px rgba(23, 62, 70, 0.10);

	/* Desktop typography */
	--ljpc-h1-size: 46px;
	--ljpc-h1-line: 1.2em;
	--ljpc-h1-spacing: -0.5px;
	--ljpc-h1-weight: 700;

	--ljpc-h2-size: 34px;
	--ljpc-h2-line: 1.3em;
	--ljpc-h2-spacing: -0.3px;
	--ljpc-h2-weight: 700;

	--ljpc-h3-size: 24px;
	--ljpc-h3-line: 1.35em;
	--ljpc-h3-spacing: 0px;
	--ljpc-h3-weight: 600;

	--ljpc-h4-size: 20px;
	--ljpc-h4-line: 1.4em;
	--ljpc-h4-spacing: 0px;
	--ljpc-h4-weight: 600;

	--ljpc-lead-size: 19px;
	--ljpc-lead-line: 1.6em;
	--ljpc-lead-spacing: 0.1px;
	--ljpc-lead-weight: 400;

	--ljpc-body-size: 17px;
	--ljpc-body-line: 1.75em;
	--ljpc-body-spacing: 0.2px;
	--ljpc-body-weight: 400;

	--ljpc-small-size: 15px;
	--ljpc-small-line: 1.6em;
	--ljpc-small-spacing: 0.2px;
	--ljpc-small-weight: 400;

	--ljpc-eyebrow-size: 16px;
	--ljpc-eyebrow-line: 1.5em;
	--ljpc-eyebrow-spacing: 0.5px;
	--ljpc-eyebrow-weight: 600;

	--ljpc-navigation-size: 16px;
	--ljpc-navigation-line: 1.4em;
	--ljpc-navigation-spacing: 0.2px;
	--ljpc-navigation-weight: 500;

	--ljpc-button-size: 16px;
	--ljpc-button-line: 1.25em;
	--ljpc-button-spacing: 0.3px;
	--ljpc-button-weight: 600;

	--ljpc-label-size: 14px;
	--ljpc-label-line: 1.4em;
	--ljpc-label-spacing: 0.4px;
	--ljpc-label-weight: 500;

	--ljpc-caption-size: 14px;
	--ljpc-caption-line: 1.5em;
	--ljpc-caption-spacing: 0.2px;
	--ljpc-caption-weight: 400;

	--ljpc-data-size: 24px;
	--ljpc-data-line: 1.3em;
	--ljpc-data-spacing: 0px;
	--ljpc-data-weight: 700;

	--ljpc-data-note-size: 14px;
	--ljpc-data-note-line: 1.5em;
	--ljpc-data-note-spacing: 0.2px;
	--ljpc-data-note-weight: 400;

	width: 100%;
	background: var(--ljpc-white);
	font-family: "Noto Sans TC", sans-serif;
	color: var(--ljpc-text);
}

.ljpc-single__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 88px 40px;
}

.ljpc-single__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 32px;
	color: var(--ljpc-primary);
	font-size: var(--ljpc-navigation-size);
	font-weight: var(--ljpc-navigation-weight);
	line-height: var(--ljpc-navigation-line);
	letter-spacing: var(--ljpc-navigation-spacing);
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.ljpc-single__back:hover,
.ljpc-single__back:focus-visible {
	color: var(--ljpc-heading);
	transform: translateX(-2px);
	outline: none;
}

/* --------------------------------------------------------------------------
 * Hero
 * ----------------------------------------------------------------------- */

.ljpc-product-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
	gap: 56px;
	align-items: start;
}

.ljpc-product-gallery {
	min-width: 0;
}

.ljpc-product-gallery__main {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	padding: 28px;
	overflow: hidden;
	border: 1px solid var(--ljpc-border);
	border-radius: 4px;
	background: var(--ljpc-soft);
}

.ljpc-product-gallery__main-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.ljpc-product-gallery__main-image.is-changing {
	opacity: 0.35;
	transform: scale(0.985);
}

.ljpc-product-gallery__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(23, 62, 70, 0.16);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 8px 20px rgba(23, 62, 70, 0.10);
	color: var(--ljpc-primary);
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	transform: translateY(-50%);
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ljpc-product-gallery__arrow-icon {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	flex: 0 0 20px;
	overflow: visible;
	pointer-events: none;
}

.ljpc-product-gallery__arrow--prev {
	left: 16px;
}

.ljpc-product-gallery__arrow--next {
	right: 16px;
}

.ljpc-product-gallery__arrow:hover,
.ljpc-product-gallery__arrow:focus-visible {
	border-color: var(--ljpc-primary);
	background: var(--ljpc-primary);
	color: var(--ljpc-white);
	outline: none;
}

.ljpc-product-gallery__arrow--prev:hover,
.ljpc-product-gallery__arrow--prev:focus-visible {
	transform: translateY(-50%) translateX(-2px);
}

.ljpc-product-gallery__arrow--next:hover,
.ljpc-product-gallery__arrow--next:focus-visible {
	transform: translateY(-50%) translateX(2px);
}

.ljpc-product-gallery__counter {
	position: absolute;
	bottom: 14px;
	left: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	border: 1px solid rgba(23, 62, 70, 0.10);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	color: var(--ljpc-text);
	font-size: var(--ljpc-caption-size);
	font-weight: var(--ljpc-caption-weight);
	line-height: var(--ljpc-caption-line);
	letter-spacing: var(--ljpc-caption-spacing);
	transform: translateX(-50%);
	backdrop-filter: blur(4px);
}

.ljpc-product-gallery__thumbs {
	display: flex;
	gap: 10px;
	width: 100%;
	margin-top: 12px;
	padding: 1px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.ljpc-product-gallery__thumb {
	flex: 0 0 82px;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 7px;
	border: 1px solid var(--ljpc-border);
	border-radius: 12px;
	background: var(--ljpc-white);
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.ljpc-product-gallery__thumb:hover,
.ljpc-product-gallery__thumb:focus-visible,
.ljpc-product-gallery__thumb.is-active {
	border-color: var(--ljpc-primary);
	box-shadow: 0 0 0 1px var(--ljpc-primary);
	outline: none;
}

.ljpc-product-gallery__thumb:hover,
.ljpc-product-gallery__thumb:focus-visible {
	transform: translateY(-2px);
}

.ljpc-product-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ljpc-product-summary {
	padding-top: 10px;
}

.ljpc-product-summary__category {
	margin-bottom: 14px;
	color: var(--ljpc-primary);
	font-size: var(--ljpc-label-size);
	font-weight: var(--ljpc-label-weight);
	line-height: var(--ljpc-label-line);
	letter-spacing: var(--ljpc-label-spacing);
}

.ljpc-product-summary__title {
	margin: 0;
	color: var(--ljpc-heading);
	font-size: var(--ljpc-h1-size);
	font-weight: var(--ljpc-h1-weight);
	line-height: var(--ljpc-h1-line);
	letter-spacing: var(--ljpc-h1-spacing);
}

.ljpc-product-summary__meta {
	display: grid;
	gap: 10px;
	margin-top: 28px;
	padding: 20px 22px;
	border-left: 3px solid var(--ljpc-primary);
	background: var(--ljpc-soft);
}

.ljpc-product-summary__meta span {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 14px;
	color: var(--ljpc-text);
	font-size: var(--ljpc-small-size);
	font-weight: var(--ljpc-small-weight);
	line-height: var(--ljpc-small-line);
	letter-spacing: var(--ljpc-small-spacing);
}

.ljpc-product-summary__meta strong {
	color: var(--ljpc-heading);
	font-weight: 600;
}

.ljpc-product-summary__text {
	margin-top: 28px;
	color: var(--ljpc-text);
	font-size: var(--ljpc-body-size);
	font-weight: var(--ljpc-body-weight);
	line-height: var(--ljpc-body-line);
	letter-spacing: var(--ljpc-body-spacing);
}

.ljpc-product-summary__text p {
	margin-top: 0;
	margin-bottom: 0.8em;
}

.ljpc-product-summary__text p:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
 * Shared sections
 * ----------------------------------------------------------------------- */

.ljpc-detail-section {
	margin-top: 88px;
}

.ljpc-detail-section__title {
	margin: 0 0 28px;
	color: var(--ljpc-heading);
	font-size: var(--ljpc-h2-size);
	font-weight: var(--ljpc-h2-weight);
	line-height: var(--ljpc-h2-line);
	letter-spacing: var(--ljpc-h2-spacing);
}

/* Core features */
.ljpc-features-section {
	padding: 40px;
	border: 1px solid rgba(213, 224, 226, 0.85);
	border-radius: 10px;
	background: var(--ljpc-soft);
}

.ljpc-features-section__heading {
	margin-bottom: 30px;
}

.ljpc-features-section__heading .ljpc-detail-section__title {
	margin-bottom: 12px;
}

.ljpc-features-section__accent {
	display: block;
	width: 54px;
	height: 3px;
	border-radius: 999px;
	background: var(--ljpc-primary);
}

.ljpc-feature-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ljpc-feature-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	min-width: 0;
	height: 100%;
	min-height: 128px;
	padding: 24px;
	border: 1px solid var(--ljpc-border);
	border-radius: 8px;
	background: var(--ljpc-white);
	box-shadow: 0 4px 14px rgba(23, 62, 70, 0.035);
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.ljpc-feature-card:hover {
	border-color: rgba(0, 93, 115, 0.45);
	box-shadow: 0 8px 22px rgba(23, 62, 70, 0.07);
	transform: translateY(-1px);
}

.ljpc-feature-card__icon {
	display: inline-flex;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--ljpc-primary);
	color: var(--ljpc-white);
}

.ljpc-feature-card__icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.ljpc-feature-card__content {
	display: grid;
	gap: 6px;
	min-width: 0;
	padding-top: 1px;
}

.ljpc-feature-card__title {
	display: block;
	color: var(--ljpc-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

.ljpc-feature-card__description {
	display: block;
	color: var(--ljpc-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.2px;
	word-break: normal;
	overflow-wrap: break-word;
}

/* --------------------------------------------------------------------------
 * Generic image / text story blocks
 * ----------------------------------------------------------------------- */

.ljpc-story {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 54%);
	gap: 0;
	align-items: center;
	isolation: isolate;
}

.ljpc-story__media {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 390px;
	padding: 20px;
	overflow: hidden;
	border: 1px solid rgba(213, 224, 226, 0.78);
	border-radius: 14px;
	background:
		radial-gradient(circle at 14% 84%, rgba(0, 93, 115, 0.07) 0 2px, transparent 2.5px) 0 0 / 14px 14px,
		linear-gradient(145deg, #f7fafa 0%, #edf4f4 100%);
}

.ljpc-story__media::after {
	position: absolute;
	right: -70px;
	bottom: -70px;
	width: 180px;
	height: 180px;
	border: 1px solid rgba(0, 93, 115, 0.08);
	border-radius: 50%;
	content: "";
}

.ljpc-story__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	max-height: 335px;
	object-fit: contain;
	object-position: center;
	transform-origin: center;
}

/* Wide screenshots / central-station views often contain large empty margins. */
.ljpc-story__media--wide img {
	transform: scale(1.16);
}

.ljpc-story__content {
	position: relative;
	z-index: 2;
	padding: 38px 40px;
	border: 1px solid rgba(213, 224, 226, 0.9);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: var(--ljpc-shadow-card);
}

.ljpc-story--left .ljpc-story__content {
	margin-left: -34px;
}

.ljpc-story--right {
	grid-template-columns: minmax(0, 54%) minmax(0, 46%);
}

.ljpc-story--right .ljpc-story__media {
	order: 2;
}

.ljpc-story--right .ljpc-story__content {
	order: 1;
	margin-right: -34px;
}

.ljpc-story__number {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
	color: var(--ljpc-primary);
}

.ljpc-story__number span {
	font-size: var(--ljpc-data-size);
	font-weight: var(--ljpc-data-weight);
	line-height: var(--ljpc-data-line);
	letter-spacing: var(--ljpc-data-spacing);
}

.ljpc-story__number i {
	display: block;
	width: 44px;
	height: 2px;
	background: var(--ljpc-primary);
	opacity: 0.6;
}

.ljpc-story__title {
	margin: 0 0 16px;
	color: var(--ljpc-heading);
	font-size: var(--ljpc-h3-size);
	font-weight: var(--ljpc-h3-weight);
	line-height: var(--ljpc-h3-line);
	letter-spacing: var(--ljpc-h3-spacing);
}

.ljpc-story__text {
	color: var(--ljpc-text);
	font-size: var(--ljpc-body-size);
	font-weight: var(--ljpc-body-weight);
	line-height: var(--ljpc-body-line);
	letter-spacing: var(--ljpc-body-spacing);
}

.ljpc-story__text p {
	margin-top: 0;
	margin-bottom: 0.8em;
}

.ljpc-story__text p:last-child {
	margin-bottom: 0;
}

/* Text-only shared block */
.ljpc-story--text {
	display: block;
	position: relative;
	padding: 44px 48px 44px 54px;
	overflow: hidden;
	border: 1px solid rgba(213, 224, 226, 0.85);
	border-radius: 14px;
	background:
		radial-gradient(circle at 92% 18%, rgba(0, 93, 115, 0.055) 0 2px, transparent 2.5px) 0 0 / 16px 16px,
		linear-gradient(120deg, rgba(243, 247, 247, 0.94) 0%, rgba(255, 255, 255, 0.98) 72%);
	box-shadow: var(--ljpc-shadow-soft);
}

.ljpc-story--text::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background: var(--ljpc-primary);
	content: "";
}

.ljpc-story--text::after {
	position: absolute;
	right: -72px;
	bottom: -100px;
	width: 230px;
	height: 230px;
	border: 1px solid rgba(0, 93, 115, 0.07);
	border-radius: 50%;
	content: "";
}

.ljpc-story--text .ljpc-story__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 940px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ljpc-story--text .ljpc-story__title {
	font-size: var(--ljpc-h3-size);
}

/* --------------------------------------------------------------------------
 * Specification
 * ----------------------------------------------------------------------- */

.ljpc-spec-table {
	overflow: hidden;
	border-top: 1px solid var(--ljpc-border);
	border-left: 1px solid var(--ljpc-border);
	border-radius: 4px;
}

.ljpc-spec-table__row {
	display: grid;
	grid-template-columns: minmax(190px, 0.32fr) minmax(0, 0.68fr);
}

.ljpc-spec-table__label,
.ljpc-spec-table__value {
	padding: 17px 20px;
	border-right: 1px solid var(--ljpc-border);
	border-bottom: 1px solid var(--ljpc-border);
	font-size: var(--ljpc-small-size);
	font-weight: var(--ljpc-small-weight);
	line-height: var(--ljpc-small-line);
	letter-spacing: var(--ljpc-small-spacing);
}

.ljpc-spec-table__label {
	background: var(--ljpc-soft);
	color: var(--ljpc-heading);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
 * Documents
 * ----------------------------------------------------------------------- */

.ljpc-documents-section {
	padding: 40px;
	border: 1px solid rgba(213, 224, 226, 0.72);
	border-radius: 4px;
	background: var(--ljpc-soft);
}

.ljpc-document-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 18px;
	align-items: stretch;
}

.ljpc-document-card {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 22px;
	border: 1px solid var(--ljpc-border);
	border-radius: 12px;
	background: var(--ljpc-white);
	box-shadow: 0 10px 24px rgba(23, 62, 70, 0.05);
	color: var(--ljpc-heading);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.ljpc-document-card:hover,
.ljpc-document-card:focus-visible {
	border-color: var(--ljpc-primary);
	box-shadow: 0 14px 30px rgba(23, 62, 70, 0.10);
	transform: translateY(-2px);
	outline: none;
}

.ljpc-document-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 10px;
	background: var(--ljpc-primary);
	color: var(--ljpc-white);
	font-size: var(--ljpc-body-size);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.4px;
}

.ljpc-document-card__content {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.ljpc-document-card__eyebrow {
	color: var(--ljpc-text);
	font-size: var(--ljpc-caption-size);
	font-weight: var(--ljpc-caption-weight);
	line-height: var(--ljpc-caption-line);
	letter-spacing: var(--ljpc-caption-spacing);
}

.ljpc-document-card__title {
	display: block;
	color: var(--ljpc-heading);
	font-size: var(--ljpc-body-size);
	font-weight: 600;
	line-height: var(--ljpc-body-line);
	letter-spacing: var(--ljpc-body-spacing);
	word-break: break-word;
}

.ljpc-document-card__action {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 11px 15px;
	border: 1px solid rgba(0, 93, 115, 0.18);
	border-radius: 999px;
	background: rgba(0, 93, 115, 0.05);
	color: var(--ljpc-primary);
	font-size: var(--ljpc-button-size);
	font-weight: var(--ljpc-button-weight);
	line-height: var(--ljpc-button-line);
	letter-spacing: var(--ljpc-button-spacing);
	white-space: nowrap;
}

.ljpc-document-card__arrow {
	font-size: 16px;
	line-height: 1;
}

/* --------------------------------------------------------------------------
 * Astra Desktop: >= 922px
 * ----------------------------------------------------------------------- */

@media (min-width: 922px) {
	.ljpc-product-hero,
	.ljpc-story {
		min-width: 0;
	}
}

/* --------------------------------------------------------------------------
 * Astra Tablet: 545px - 921px
 * ----------------------------------------------------------------------- */

@media (min-width: 545px) and (max-width: 921px) {
	.ljpc-single {
		--ljpc-h1-size: 38px;
		--ljpc-h1-line: 1.2em;
		--ljpc-h1-spacing: -0.3px;

		--ljpc-h2-size: 30px;
		--ljpc-h2-line: 1.3em;
		--ljpc-h2-spacing: -0.2px;

		--ljpc-h3-size: 22px;
		--ljpc-h3-line: 1.35em;

		--ljpc-h4-size: 19px;
		--ljpc-h4-line: 1.4em;

		--ljpc-lead-size: 18px;
		--ljpc-lead-line: 1.6em;
		--ljpc-lead-spacing: 0.1px;

		--ljpc-body-size: 16px;
		--ljpc-body-line: 1.75em;
		--ljpc-body-spacing: 0.2px;

		--ljpc-small-size: 14px;
		--ljpc-small-line: 1.6em;
		--ljpc-small-spacing: 0.2px;

		--ljpc-eyebrow-size: 15px;
		--ljpc-eyebrow-line: 1.5em;
		--ljpc-eyebrow-spacing: 0.5px;

		--ljpc-navigation-size: 16px;
		--ljpc-navigation-line: 1.4em;
		--ljpc-navigation-spacing: 0.2px;

		--ljpc-button-size: 16px;
		--ljpc-button-line: 1.25em;
		--ljpc-button-spacing: 0.3px;

		--ljpc-label-size: 14px;
		--ljpc-label-line: 1.4em;
		--ljpc-label-spacing: 0.4px;

		--ljpc-caption-size: 13px;
		--ljpc-caption-line: 1.5em;
		--ljpc-caption-spacing: 0.2px;

		--ljpc-data-size: 22px;
		--ljpc-data-line: 1.3em;

		--ljpc-data-note-size: 14px;
		--ljpc-data-note-line: 1.5em;
		--ljpc-data-note-spacing: 0.2px;
	}

	.ljpc-single__inner {
		max-width: 1200px;
		padding: 64px 28px;
	}

	.ljpc-single__back {
		margin-bottom: 28px;
	}

	.ljpc-product-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 38px;
	}

	.ljpc-product-gallery__main {
		max-height: 520px;
		padding: 24px;
	}

	.ljpc-product-gallery__thumb {
		flex-basis: 78px;
	}

	.ljpc-product-summary {
		padding-top: 0;
	}

	.ljpc-detail-section {
		margin-top: 64px;
	}

	.ljpc-features-section,
	.ljpc-documents-section {
		padding: 32px;
	}

	.ljpc-feature-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.ljpc-feature-card {
		min-height: 82px;
		padding: 18px;
		gap: 14px;
	}

	.ljpc-story,
	.ljpc-story--right {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.ljpc-story__media,
	.ljpc-story--right .ljpc-story__media {
		order: 0;
		min-height: 340px;
		padding: 20px;
		border-radius: 14px 14px 0 0;
	}

	.ljpc-story__media img {
		max-height: 300px;
	}

	.ljpc-story__media--wide img {
		transform: scale(1.10);
	}

	.ljpc-story__content,
	.ljpc-story--left .ljpc-story__content,
	.ljpc-story--right .ljpc-story__content {
		order: 1;
		margin: -18px 22px 0;
		padding: 32px;
	}

	.ljpc-story--text {
		padding: 38px 38px 38px 44px;
	}

	.ljpc-story--text .ljpc-story__content {
		margin: 0;
		padding: 0;
	}
}

/* --------------------------------------------------------------------------
 * Astra Mobile: <= 544px
 * ----------------------------------------------------------------------- */

@media (max-width: 544px) {
	.ljpc-single {
		--ljpc-h1-size: 32px;
		--ljpc-h1-line: 1.2em;
		--ljpc-h1-spacing: -0.2px;

		--ljpc-h2-size: 26px;
		--ljpc-h2-line: 1.3em;
		--ljpc-h2-spacing: -0.1px;

		--ljpc-h3-size: 20px;
		--ljpc-h3-line: 1.35em;

		--ljpc-h4-size: 18px;
		--ljpc-h4-line: 1.4em;

		--ljpc-lead-size: 17px;
		--ljpc-lead-line: 1.6em;
		--ljpc-lead-spacing: 0.1px;

		--ljpc-body-size: 16px;
		--ljpc-body-line: 1.75em;
		--ljpc-body-spacing: 0.2px;

		--ljpc-small-size: 14px;
		--ljpc-small-line: 1.6em;
		--ljpc-small-spacing: 0.2px;

		--ljpc-eyebrow-size: 14px;
		--ljpc-eyebrow-line: 1.5em;
		--ljpc-eyebrow-spacing: 0.4px;

		--ljpc-navigation-size: 15px;
		--ljpc-navigation-line: 1.4em;
		--ljpc-navigation-spacing: 0.2px;

		--ljpc-button-size: 15px;
		--ljpc-button-line: 1.25em;
		--ljpc-button-spacing: 0.3px;

		--ljpc-label-size: 13px;
		--ljpc-label-line: 1.4em;
		--ljpc-label-spacing: 0.3px;

		--ljpc-caption-size: 13px;
		--ljpc-caption-line: 1.5em;
		--ljpc-caption-spacing: 0.2px;

		--ljpc-data-size: 20px;
		--ljpc-data-line: 1.3em;

		--ljpc-data-note-size: 13px;
		--ljpc-data-note-line: 1.5em;
		--ljpc-data-note-spacing: 0.2px;
	}

	.ljpc-single__inner {
		max-width: 1200px;
		padding: 48px 20px;
	}

	.ljpc-single__back {
		margin-bottom: 24px;
	}

	.ljpc-product-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.ljpc-product-gallery__main {
		padding: 16px;
	}

	.ljpc-product-gallery__arrow {
		width: 38px;
		height: 38px;
	}

	.ljpc-product-gallery__arrow-icon {
		width: 18px;
		height: 18px;
		flex-basis: 18px;
	}

	.ljpc-product-gallery__arrow--prev {
		left: 8px;
	}

	.ljpc-product-gallery__arrow--next {
		right: 8px;
	}

	.ljpc-product-gallery__counter {
		bottom: 8px;
		padding: 4px 8px;
	}

	.ljpc-product-gallery__thumbs {
		gap: 8px;
		margin-top: 10px;
	}

	.ljpc-product-gallery__thumb {
		flex-basis: 68px;
		padding: 6px;
		border-radius: 10px;
	}

	.ljpc-product-summary {
		padding-top: 0;
	}

	.ljpc-product-summary__category {
		margin-bottom: 10px;
	}

	.ljpc-product-summary__meta {
		margin-top: 22px;
		padding: 16px 18px;
	}

	.ljpc-product-summary__meta span {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 10px;
	}

	.ljpc-product-summary__text {
		margin-top: 22px;
	}

	.ljpc-detail-section {
		margin-top: 48px;
	}

	.ljpc-detail-section__title {
		margin-bottom: 22px;
	}

	.ljpc-features-section,
	.ljpc-documents-section {
		padding: 24px 20px;
	}

	.ljpc-feature-list,
	.ljpc-document-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.ljpc-feature-list {
		gap: 12px;
	}

	.ljpc-features-section__heading {
		margin-bottom: 22px;
	}

	.ljpc-features-section__accent {
		width: 44px;
	}

	.ljpc-feature-card {
		min-height: 0;
		padding: 16px;
		gap: 12px;
	}

	.ljpc-feature-card__icon {
		flex-basis: 22px;
		width: 22px;
		height: 22px;
		margin-top: 1px;
	}

	.ljpc-story,
	.ljpc-story--right {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.ljpc-story__media,
	.ljpc-story--right .ljpc-story__media {
		order: 0;
		min-height: 240px;
		padding: 14px;
		border-radius: 12px 12px 0 0;
	}

	.ljpc-story__media img {
		max-height: 215px;
	}

	.ljpc-story__media--wide img {
		transform: scale(1.05);
	}

	.ljpc-story__content,
	.ljpc-story--left .ljpc-story__content,
	.ljpc-story--right .ljpc-story__content {
		order: 1;
		margin: -10px 10px 0;
		padding: 24px 20px;
		border-radius: 12px;
		box-shadow: 0 12px 26px rgba(23, 62, 70, 0.08);
	}

	.ljpc-story__number {
		gap: 10px;
		margin-bottom: 12px;
	}

	.ljpc-story__number i {
		width: 34px;
	}

	.ljpc-story__title {
		margin-bottom: 12px;
	}

	.ljpc-story--text {
		padding: 30px 22px 30px 26px;
		border-radius: 12px;
	}

	.ljpc-story--text .ljpc-story__content {
		margin: 0;
		padding: 0;
		box-shadow: none;
	}

	.ljpc-spec-table__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.ljpc-spec-table__label {
		padding-bottom: 8px;
		border-bottom: 0;
	}

	.ljpc-spec-table__value {
		padding-top: 8px;
	}

	.ljpc-document-card {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 14px;
		padding: 18px;
	}

	.ljpc-document-card__icon {
		width: 54px;
		height: 54px;
	}

	.ljpc-document-card__content {
		grid-column: 2;
	}

	.ljpc-document-card__action {
		grid-column: 1 / -1;
		justify-content: center;
		width: 100%;
	}
}



/* =========================================
   Product enquiry floating action
========================================= */
.ljpc-product-contact-fab {
	position: fixed;
	right: 28px;
	bottom: 88px;
	z-index: 50;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	height: 48px;
	padding: 0 18px;
	border: 1px solid rgba(0, 93, 115, 0.18);
	border-radius: 999px;
	background: var(--ljpc-white);
	box-shadow: 0 10px 26px rgba(23, 62, 70, 0.16);
	color: var(--ljpc-primary);
	font-size: var(--ljpc-button-size);
	font-weight: var(--ljpc-button-weight);
	line-height: var(--ljpc-button-line);
	letter-spacing: var(--ljpc-button-spacing);
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.ljpc-product-contact-fab:hover,
.ljpc-product-contact-fab:focus-visible {
	border-color: var(--ljpc-primary);
	background: var(--ljpc-primary);
	box-shadow: 0 12px 30px rgba(23, 62, 70, 0.22);
	color: var(--ljpc-white);
	outline: none;
	transform: translateY(-2px);
}

.ljpc-product-contact-fab__icon {
	display: block;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
}

.ljpc-product-contact-fab__label {
	display: block;
}

/* =========================================
   Back to top
========================================= */
.ljpc-back-to-top {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 50;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(0, 93, 115, 0.18);
	border-radius: 50%;
	background: var(--ljpc-primary);
	box-shadow: 0 10px 26px rgba(23, 62, 70, 0.18);
	color: var(--ljpc-white);
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(12px);
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease,
		transform 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease;
}

.ljpc-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.ljpc-back-to-top:hover,
.ljpc-back-to-top:focus-visible {
	background: var(--ljpc-heading);
	box-shadow: 0 12px 30px rgba(23, 62, 70, 0.24);
	outline: none;
	transform: translateY(-2px);
}

.ljpc-back-to-top__icon {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	flex: 0 0 20px;
	pointer-events: none;
}




@media (min-width: 545px) and (max-width: 921px) {
	.ljpc-product-contact-fab {
		right: 22px;
		bottom: 80px;
		height: 46px;
		padding: 0 16px;
	}

	.ljpc-back-to-top {
		right: 22px;
		bottom: 22px;
		width: 46px;
		height: 46px;
	}
}

@media (max-width: 544px) {
	.ljpc-product-contact-fab {
		right: 16px;
		bottom: 72px;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 50%;
	}

	.ljpc-product-contact-fab__icon {
		flex-basis: 18px;
		width: 18px;
		height: 18px;
	}

	.ljpc-product-contact-fab__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.ljpc-back-to-top {
		right: 16px;
		bottom: 16px;
		width: 44px;
		height: 44px;
	}

	.ljpc-back-to-top__icon {
		width: 18px;
		height: 18px;
		flex-basis: 18px;
	}
}


@media (prefers-reduced-motion: reduce) {
	.ljpc-product-gallery__main-image,
	.ljpc-product-gallery__arrow,
	.ljpc-product-gallery__thumb,
	.ljpc-document-card,
	.ljpc-single__back,
	.ljpc-product-contact-fab,
	.ljpc-back-to-top {
		transition: none;
	}

	.ljpc-product-gallery__thumb:hover,
	.ljpc-product-gallery__thumb:focus-visible,
	.ljpc-document-card:hover,
	.ljpc-document-card:focus-visible,
	.ljpc-single__back:hover,
	.ljpc-single__back:focus-visible,
	.ljpc-product-contact-fab:hover,
	.ljpc-product-contact-fab:focus-visible,
	.ljpc-back-to-top:hover,
	.ljpc-back-to-top:focus-visible {
		transform: none;
	}
}

/* v4.3 feature typography / Astra breakpoints */
@media (min-width: 545px) and (max-width: 921px) {
	.ljpc-feature-card {
		min-height: 118px;
		padding: 20px;
		gap: 16px;
	}

	.ljpc-feature-card__icon {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
	}

	.ljpc-feature-card__icon svg {
		width: 20px;
		height: 20px;
	}

	.ljpc-feature-card__title {
		font-size: 19px;
		line-height: 1.4em;
	}

	.ljpc-feature-card__description {
		font-size: 14px;
		line-height: 1.6em;
	}
}

@media (max-width: 544px) {
	.ljpc-feature-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ljpc-feature-card {
		min-height: 0;
		padding: 18px;
		gap: 14px;
	}

	.ljpc-feature-card__icon {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
	}

	.ljpc-feature-card__icon svg {
		width: 18px;
		height: 18px;
	}

	.ljpc-feature-card__title {
		font-size: 18px;
		line-height: 1.4em;
	}

	.ljpc-feature-card__description {
		font-size: 14px;
		line-height: 1.6em;
	}
}
