/* Southern Range Product Content 2.3.3 — compiled corrections 01–06. */
:root {
	--srpc-signal-ochre: var(--wp--preset--color--signal-ochre, #EEC044);
	--srpc-red-earth: var(--wp--preset--color--red-earth, #73574C);
	--srpc-soft-eucalyptus: var(--wp--preset--color--soft-eucalyptus, #77997D);
	--srpc-tess-inactive: #5b5b5d;
	--srpc-tess-inactive-hover: #69696b;
	--srpc-tess-active: var(--wp--preset--color--chalk, #F6F4F1);
	--srpc-tess-ink: var(--wp--preset--color--charcoal, #1C1E1F);
}

/* Straight, structurally contiguous section transitions. */
.srpc-content-stack,
.sr-product-content-stack,
.wp-block-southern-range-product-content-content-stack {
	display: block !important;
	gap: 0 !important;
	margin-block: 0 !important;
	padding-block-end: 0 !important;
}

/* WordPress can render Product Content as one consolidated stack or as
   individually inserted dynamic blocks. Neutralise layout flow margins in
   both structures, while leaving the intentional padding inside each section. */
body.single-product main.sr-product-page,
body.single-product .wp-site-blocks > main,
body.single-product .wp-site-blocks > footer,
body.single-product footer.wp-block-template-part {
	margin-block: 0 !important;
	padding-block-end: 0 !important;
}

body.single-product .wp-site-blocks,
body.single-product main.sr-product-page,
body.single-product main .wp-block-post-content,
body.single-product .sr-product-content-stack,
body.single-product .srpc-content-stack,
body.single-product footer.wp-block-template-part {
	column-gap: 0 !important;
	row-gap: 0 !important;
}

body.single-product .wp-site-blocks > main + *,
body.single-product .wp-site-blocks > * + footer,
body.single-product main.sr-product-page > * + *,
body.single-product main .wp-block-post-content > * + *,
body.single-product .sr-product-content-stack > * + *,
body.single-product .srpc-content-stack > * + * {
	margin-block-start: 0 !important;
}

body.single-product main .srpc-block,
body.single-product main [class*="wp-block-southern-range-product-content-"] {
	margin-block: 0 !important;
	padding-block: 0 !important;
}

body.single-product footer.wp-block-template-part,
body.single-product footer.wp-block-template-part > .sr-planner-prefooter {
	margin-block-start: 0 !important;
	padding-block-start: 0 !important;
}

body.single-product .srpc-block + .srpc-block,
body.single-product [class*="wp-block-southern-range-product-content-"] + [class*="wp-block-southern-range-product-content-"] {
	margin-block-start: 0 !important;
}

.srpc-content-stack > .srpc-section,
.sr-product-content-stack > .srpc-section,
.wp-block-southern-range-product-content-content-stack > .srpc-section,
.srpc-content-stack > .srcm,
.sr-product-content-stack > .srcm {
	margin-block: 0 !important;
}

.srpc-benefits,
.srpc-product-explorer,
.srpc-reviews,
.srpc-specs--cards,
.srpc-cta--purchase {
	margin-block: 0 !important;
	border-block: 0 !important;
}

.srpc-benefits::before,
.srpc-benefits::after {
	display: none !important;
	content: none !important;
}

.srcm + .srpc-benefits,
.srpc-benefits + .srpc-product-explorer,
.srpc-reviews + .srpc-specs--cards,
.srpc-cta--purchase:last-child {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Reusable SVG-driven tessellated navigation. */
.srpc-tess-nav {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	width: max-content;
	max-width: 100%;
	margin-inline: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	isolation: isolate;
}

.srpc-tess-leader,
.srpc-tess-segment {
	position: relative;
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	min-width: 0;
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.srpc-explorer-tabs .srpc-tess-segment,
.srpc-explorer-navigator .srpc-tess-segment {
	flex: 0 0 auto;
	min-width: 0;
	min-height: 0;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.srpc-tess-leader svg,
.srpc-tess-segment-shape {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.srpc-tess-leader path { fill: var(--srpc-tess-leader-fill); }
.srpc-tess-segment path {
	fill: var(--srpc-tess-fill, var(--srpc-tess-inactive));
	stroke: transparent;
	stroke-width: 3px;
	vector-effect: non-scaling-stroke;
	paint-order: stroke fill;
	transition: fill 180ms ease-out, stroke 180ms ease-out, opacity 180ms ease-out;
}

.srpc-tess-segment {
	--srpc-tess-fill: var(--srpc-tess-inactive);
	color: var(--wp--preset--color--chalk, #F6F4F1) !important;
	font-family: var(--wp--preset--font-family--mono, "IBM Plex Mono", monospace);
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: color 180ms ease-out, opacity 180ms ease-out;
}

.srpc-tess-segment + .srpc-tess-segment,
.srpc-tess-leader + .srpc-tess-segment { margin-inline-start: -2px; }
.srpc-tess-label { position: relative; z-index: 1; pointer-events: none; }
.srpc-tess-segment[aria-selected="true"],
.srpc-tess-segment[aria-checked="true"] {
	--srpc-tess-fill: var(--srpc-tess-active);
	color: var(--srpc-tess-ink) !important;
	font-weight: 700;
}

@media (hover: hover) {
	.srpc-tess-segment:not([aria-selected="true"]):not([aria-checked="true"]):hover {
		--srpc-tess-fill: var(--srpc-tess-inactive-hover);
	}
}

.srpc-tess-segment:active { opacity: .88; }
.srpc-tess-segment:focus { outline: 0; }
.srpc-explorer-tabs .srpc-tess-segment:focus-visible,
.srpc-explorer-navigator .srpc-tess-segment:focus-visible {
	outline: 0 !important;
	outline-offset: 0 !important;
}
.srpc-tess-segment:focus-visible path { stroke: var(--srpc-soft-eucalyptus); }
.srpc-tess-segment:disabled { opacity: .45; cursor: default; }

.srpc-tess-nav--primary {
	--srpc-tess-leader-fill: var(--srpc-soft-eucalyptus);
	margin: 0 0 clamp(18px, 3vw, 30px);
}
.srpc-tess-nav--primary .srpc-tess-leader { width: 124px; height: 48px; }
.srpc-tess-nav--primary .srpc-tess-segment { width: 180px; height: 48px; font-size: 15px; }

.srpc-explorer-navigator.srpc-tess-nav--compact {
	--srpc-tess-leader-fill: var(--srpc-signal-ochre);
	justify-content: flex-start;
	width: max-content;
	max-width: 100%;
	margin: 0 0 14px;
	padding: 4px 0;
	overflow-x: auto;
	overflow-y: hidden;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	scrollbar-width: thin;
}
.srpc-tess-nav--compact .srpc-tess-leader { width: 78px; height: 36px; }
.srpc-explorer-navigator.srpc-tess-nav--compact .srpc-tess-segment { width: 112px; height: 44px; min-height: 44px; font-size: 13px; }
.srpc-tess-nav--compact .srpc-tess-segment-shape { top: 4px; height: 36px; }
.srpc-tess-nav--compact .srpc-tess-label { transform: translateY(0); }

.srpc-explorer-accordion-trigger {
	display: none;
	width: 100%;
	min-height: 48px;
	padding: 12px 2px;
	color: var(--wp--preset--color--chalk, #F6F4F1);
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(246, 244, 241, .25);
	border-radius: 0;
	font: 700 14px/1.2 var(--wp--preset--font-family--mono, monospace);
	text-align: left;
}
.srpc-explorer-accordion-trigger span:last-child { margin-left: auto; }
.srpc-explorer-stage.is-accordion-layout .srpc-explorer-tabs { display: none; }
.srpc-explorer-stage.is-accordion-layout .srpc-explorer-accordion-trigger { display: flex; align-items: center; justify-content: space-between; }
.srpc-explorer-stage.is-accordion-layout .srpc-explorer-accordion-trigger.is-selected { color: var(--srpc-soft-eucalyptus); }

/* Tessellation-backed FAQ field with discrete chalk cards. */
.srpc-faqs {
	background-color: #d4d8d7 !important;
	background-image: url("images/tessellation-portrait-refined.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}
.srpc-faqs .srpc-section-header { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.srpc-faq-list {
	display: grid;
	gap: 12px;
	border: 0 !important;
}
.srpc-faq-item {
	margin: 0 !important;
	background: #fff;
	border: 1px solid rgba(28, 30, 31, .14) !important;
	border-radius: 8px;
	box-shadow: none;
	overflow: clip;
}
.srpc-faq-toggle {
	min-height: 58px;
	padding: 1rem 1.25rem !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow-wrap: normal;
	word-break: normal;
}
.srpc-faq-toggle:focus-visible { outline: 3px solid var(--srpc-soft-eucalyptus); outline-offset: -4px; }
.srpc-faq-answer { width: min(100%, 90ch); padding: 0 1.25rem 1.25rem !important; }

@media (max-width: 720px) {
	.srpc-tess-nav--primary .srpc-tess-leader { width: 100px; height: 44px; }
	.srpc-tess-nav--primary .srpc-tess-segment { width: 164px; height: 44px; font-size: 14px; }
	.srpc-faqs { background-size: auto 100% !important; }
}

@media (max-width: 360px) {
	.srpc-tess-nav--compact .srpc-tess-leader { width: 70px; }
	.srpc-tess-nav--compact .srpc-tess-segment { width: 104px; }
}

@media (forced-colors: active) {
	.srpc-explorer-tabs .srpc-tess-segment:focus-visible,
	.srpc-explorer-navigator .srpc-tess-segment:focus-visible { outline: 2px solid ButtonText !important; outline-offset: -5px !important; }
	.srpc-tess-segment[aria-selected="true"],
	.srpc-tess-segment[aria-checked="true"] { outline: 2px solid ButtonText; outline-offset: -6px; }
}

@media (prefers-reduced-motion: reduce) {
	.srpc-tess-segment,
	.srpc-tess-segment path { transition: none; }
}
