/* Dev PDP summary: feature checklist + open description */

body.pk-dev-pdp-summary .woocommerce-product-details__short-description {
	display: none;
}

.pk-summary-features {
	margin: 10px 0 16px;
	padding-top: 12px;
	border-top: 1px solid var(--pk-border);
}

.pk-summary-features-list {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}

.pk-summary-features-list li {
	margin: 0;
	padding: 0;
}

.pk-summary-feature-link {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	padding: 8px 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	color: var(--pk-ink);
	font: inherit;
}

button.pk-summary-feature-link:hover,
button.pk-summary-feature-link:active,
button.pk-summary-feature-link:focus {
	color: var(--pk-accent);
	background-color: #fff;
}

.pk-summary-feature-check {
	flex: 0 0 auto;
	color: var(--pk-muted);
	margin-top: 1px;
}

.pk-summary-feature-label {
	text-decoration: underline;
	text-underline-offset: 3px;
	line-height: 1.35;
}

.pk-summary-features-all {
	/* Uses shared .pk-text-btn */
	padding-top: 6px;
}

.pk-summary-features-all-icon {
	display: inline-flex;
}

.pk-summary-features-modal[x-cloak] {
	display: none !important;
}

/* Shell comes from shared .pk-popup-overlay / .pk-popup-modal */
.pk-summary-features-dialog {
	overflow: auto;
}

.pk-summary-features-body {
	padding: 36px 36px 28px;
}

.pk-summary-features-kicker {
	margin: 0 0 4px;
	font-size: var(--pk-fs-sm);
	color: #888;
}

.pk-summary-features-dialog h3,
.pk-summary-features-body h3 {
	margin: 0 0 22px;
}

.pk-summary-features-dialog h3 span,
.pk-summary-features-body h3 span {
	font-weight: 500;
	color: var(--pk-muted);
}

.pk-summary-features-modal-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pk-summary-features-modal-item {
	padding: 20px 0;
	border-top: 1px solid var(--pk-border);
}

.pk-summary-features-modal-item:last-child {
	border-bottom: 1px solid var(--pk-border);
}

.pk-summary-features-modal-item.has-media {
	display: grid;
	grid-template-columns: minmax(180px, 280px) 1fr;
	gap: 20px 28px;
	align-items: start;
}

.pk-summary-features-modal-media {
	overflow: hidden;
	border-radius: 6px;
	background: var(--pk-surface);
}

.pk-summary-features-modal-media img,
.pk-summary-features-modal-media video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.pk-summary-features-modal-copy strong {
	display: block;
	font-size: var(--pk-fs-base);
	margin-bottom: 6px;
	line-height: 1.3;
}

.pk-summary-features-modal-copy p {
	margin: 0;
	color: var(--pk-muted);
	font-size: var(--pk-fs-base);
	line-height: 1.5;
}

.pk-summary-features-modal-more {
	margin: 20px 0 0;
}

.pk-summary-features-modal-more a {
	color: var(--pk-accent);
	font-weight: 600;
}

@media (max-width: 700px) {
	.pk-summary-features-body {
		padding: 28px 18px 20px;
	}

	.pk-summary-features-modal-item.has-media {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.pk-summary-features-modal-media img,
	.pk-summary-features-modal-media video {
		aspect-ratio: 16 / 10;
	}
}

/* Detail stack: title, show-more description, thin accordions */

.pk-detail {
	margin: 36px 0 8px;
	padding: 8px 0 24px;
	background: #fff;
}

.pk-detail--archive-faqs {
	margin-top: 48px;
	margin-bottom: 40px;
}

.pk-detail-title {
	margin: 0 0 14px;
	color: var(--pk-ink);
	font-size: clamp(var(--pk-fs-lg), 2.2vw, var(--pk-fs-xl));
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.pk-detail-desc {
	max-width: 720px;
	margin: 0 0 28px;
}

/* Description + required accessories: 50/50 on desktop, stacked on mobile */
.pk-detail-desc-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 0 0 28px;
	align-items: start;
}

.pk-detail-desc-row .pk-detail-desc {
	max-width: none;
	margin: 0;
}

.pk-detail-desc-row .pk-req-section.pk-highlight {
	margin: 0;
	width: 100%;
}

.pk-detail-desc-row .pk-req-grid {
	display: flex;
	flex-direction: column;
	overflow: visible;
	padding-bottom: 0;
	gap: 8px;
}

.pk-detail-desc-row .pk-req-item {
	min-width: 0;
	max-width: none;
	width: 100%;
	flex-shrink: 1;
}

@media (min-width: 900px) {
	.pk-detail-desc-row.has-req {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
}

.pk-detail-desc-body {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 16;
	overflow: hidden;
}

.pk-detail--acc {
	margin-top: 8px;
	padding-top: 0;
}

.pk-detail-heading {
	margin: 0;
	padding: 0;
}

.pk-detail-group-label {
	margin: 0;
	padding: 22px 0;
	font-weight: 700;
	line-height: 1.2;
	border-bottom: 1px solid var(--pk-border);
}

.pk-detail-faq-answer {
	color: var(--pk-ink);
	font-size: var(--pk-fs-base);
	line-height: 1.55;
	padding: 15px;
}
.pk-detail-faq-answer .wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before {display: inline;}
.pk-detail-item--faq button {
    padding: 15px;
}
.pk-detail-faq-answer > *:first-child {
	margin-top: 0;
}

.pk-detail-faq-answer > *:last-child {
	margin-bottom: 0;
}

.pk-detail-faq-answer p {
	margin: 0 0 12px;
}

.pk-detail-desc-body.is-expanded {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.pk-detail-desc-body > *:first-child {
	margin-top: 0;
}

.pk-detail-desc-body > *:last-child {
	margin-bottom: 0;
}

.pk-detail-desc-body p {
	margin: 0 0 12px;
}

.pk-detail-show-more {
	/* Uses shared .pk-text-btn */
	margin-top: 10px;
	padding-top: 0;
}

.pk-detail-show-more[x-cloak] {
	display: none !important;
}
p.pk-doc-terms {
    font-size: var(--pk-fs-xs);
}
.pk-detail-show-more-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	color: #9a9a9a;
	font-size: var(--pk-fs-base);
	line-height: 1;
	font-weight: 300;
}

.pk-detail-acc {
	border-top: 1px solid var(--pk-border);
}

.pk-detail-item {
	border-bottom: 1px solid var(--pk-border);
}

.pk-detail-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 22px 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	color: var(--pk-ink);
	font: inherit;
}

button.pk-detail-toggle:hover,
button.pk-detail-toggle:active,
button.pk-detail-toggle:focus,
button.pk-detail-toggle:hover .pk-detail-plus,
button.pk-detail-toggle:active .pk-detail-plus,
button.pk-detail-toggle:focus .pk-detail-plus {
	color: var(--pk-accent);
	background-color: #fff;
}

.pk-detail-label {
	font-weight: 700;
	line-height: 1.2;
}

.pk-detail-faq-question {
	font-size: var(--pk-fs-base);

	line-height: 1.2;
}

.pk-detail-plus {
	flex: 0 0 auto;
	color: #b0b0b0;
	font-size: var(--pk-fs-lg);
	font-weight: 300;
	line-height: 1;
	transition: color .15s ease;
}

.pk-detail-plus.is-open {
	color: #888;
}

.pk-detail-panel {
	padding: 0 0 10px;
}

.pk-detail-panel[x-cloak] {
	display: none !important;
}

/* Quiet nested section chrome inside accordion panels */
.pk-detail-panel .pk-section-header,
.pk-detail-panel #pk-war-section {
	margin-left: 0;
	margin-right: 0;
}

.pk-detail-panel .pk-feat-container,
.pk-detail-panel .pk-review-section,
.pk-detail-panel .pk-war-section,
.pk-detail-panel .pk-container,
.pk-detail-panel .pk-detail-acc-body {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.pk-detail-panel .pk-acc-type-heading {
	margin: 0 0 12px;
}

.pk-detail-panel .pk-acc-type-group + .pk-acc-type-group {
	margin-top: 24px;
}

.pk-detail-panel #pk-war-section {
	background: transparent;
}

.pk-detail-panel .pk-spec-group {
	margin-bottom: 28px;
}

/* Group titles use shared .pk-specs-group-title / .pk-spec-heading hierarchy. */

/* Videos body inside the shared detail accordion (no grey section chrome). */
.pk-detail-panel .pk-video2-body,
.pk-detail-panel #product-video-v2 {
	background: transparent;
	padding: 0;
	margin: 0;
}

.pk-detail-panel .pk-video2-header {
	margin-bottom: 12px;
}

.pk-detail-panel .pk-video2-swiper {
	margin: 0;
}

/* Features read as a list inside the accordion, not a carousel: two columns
   that pack to each card's natural height. Swiper is deliberately not
   initialised on this instance (see parkland-frontend.js) — its loop mode
   clones every slide, which a static grid would render as visible duplicates.
   The :not(.swiper-initialized) qualifier both matches that permanent state
   and outranks the pre-init CLS rules in parkland-style.css. */
.pk-detail-panel .pk-feat-swiper {
	margin: 0;
	overflow: visible;
}

/* A grid rather than CSS columns: columns fill top-to-bottom, so feature 2
   landed under feature 1 and the reading order ran down each column. Rows read
   across, which is the order the features were written in. */
.pk-detail-panel .pk-feat-swiper:not(.swiper-initialized) .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	height: auto;
	overflow: visible;
}

.pk-detail-panel .pk-feat-swiper:not(.swiper-initialized) .swiper-slide {
	width: auto;
	height: auto;
	padding-bottom: 0;
	margin: 0;
}

/* Fill the row so cards beside each other end level. */
.pk-detail-panel .pk-feat-swiper:not(.swiper-initialized) .pk-feat-item {
	height: 100%;
}

/* Carousel chrome is not output when this block is nested in the accordion. */
.pk-detail-panel .pk-feat-swiper .swiper-pagination {
	display: none;
}

@media (max-width: 1024px) {
	.pk-detail-panel .pk-feat-swiper:not(.swiper-initialized) .swiper-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.pk-detail-panel .pk-feat-swiper:not(.swiper-initialized) .swiper-wrapper {
		grid-template-columns: 1fr;
	}
}
