/* Southern Range Product Content 2.5.0 — responsive audit and Round 3 corrections. */

/* The page template applies bottom padding to <main>; this was the remaining
   white band between the closing CTA and the global planner pre-footer. */
body.single-product main.wp-block-group,
body.single-product main.wp-block-group.is-layout-constrained {
	padding-block-end: 0 !important;
}

/* The ribbon sits in a deliberate white breathing field. The space belongs to
   the product-summary region, not between later coloured sections. */
body.single-product .srpc-trust {
	padding-block: clamp(24px, 2.4vw, 34px) clamp(48px, 4.5vw, 64px) !important;
	background: #fff;
}
body.single-product .srpc-trust-item {
	min-height: calc(var(--srpc-trust-icon-size) + 2rem);
	padding-block: clamp(16px, 1.6vw, 22px);
}

/* The SVG pieces remain authoritative; stronger overlap closes the perceived
   gaps without changing their slope or proportions. */
.srpc-tess-nav--primary { --srpc-tess-overlap: 22px; }
.srpc-explorer-navigator.srpc-tess-nav--compact { --srpc-tess-overlap: 18px; }
.srpc-tess-nav--compact .srpc-tess-leader { width: 103.28px; height: 48px; }
.srpc-explorer-navigator.srpc-tess-nav--compact .srpc-tess-segment {
	width: 143.4px;
	height: 48px;
	min-height: 48px;
	font-size: 13px;
}
.srpc-tess-nav--compact .srpc-tess-segment-shape { top: 0; height: 48px; }

/* Product Explorer: retain useful detail while preventing the image stage from
   becoming a multi-screen mobile billboard. */
.srpc-explorer-media-well { min-height: clamp(360px, 44vw, 580px); }
.srpc-explorer-media-frame picture { display: flex; justify-content: center; }
.srpc-explorer-media-frame img { width: auto; max-width: 100%; max-height: 620px; margin-inline: auto; }

/* Quiet Southern Range texture on the reviews band. */
.srpc-reviews { position: relative; isolation: isolate; }
.srpc-reviews::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background: url("images/tessellation-portrait-refined.svg") center / cover no-repeat;
	filter: invert(1) grayscale(1);
	opacity: .055;
	pointer-events: none;
}
.srpc-reviews::after {
	position: absolute;
	inset: 16% 3% 10%;
	z-index: -1;
	content: "";
	background: rgba(28, 30, 31, .38);
	filter: blur(42px);
	pointer-events: none;
}

/* Closing CTA: one proposition, live price/stock, and a transparent image
   surface. A CTA-specific media override is available in the product editor. */
.srpc-cta--purchase .srpc-shell {
	grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(2rem, 3.2vw, 3rem);
}
.srpc-cta--purchase h2 { font-size: clamp(2.1rem, 3.5vw, 3.7rem); }
.srpc-cta-product-summary { gap: .75rem 1.1rem; }
.srpc-cta-product-summary strong { font-size: clamp(1.45rem, 2vw, 2rem); }
.srpc-cta-product-summary span { font: 600 .75rem/1 var(--wp--preset--font-family--mono, monospace); text-transform: uppercase; }
.srpc-cta-product-summary .is-in-stock { color: #a9c6b2; }
.srpc-cta-product-summary .is-out-of-stock { color: #e2a18f; }
.srpc-cta-media { display: grid; min-width: 0; place-items: center; background: transparent !important; }
.srpc-cta-media img {
	width: min(100%, 430px);
	max-height: 310px;
	object-fit: contain;
	background: transparent !important;
	filter: drop-shadow(0 18px 22px rgba(0,0,0,.18));
}

/* Comparison module responsive contract. This deliberately overrides the
   separately installed comparison plugin only at constrained widths. */
@media (max-width: 820px) {
	.srcm { padding: clamp(38px, 8vw, 56px) clamp(16px, 5vw, 28px) !important; }
	.srcm-header { display: block !important; margin-bottom: 1.25rem !important; }
	.srcm-heading { max-width: 18ch; font-size: clamp(2.1rem, 9vw, 3.25rem) !important; line-height: .96 !important; }
	.srcm-intro { margin-top: .7rem !important; }
	.srcm-helper { display: none !important; }
	.srcm-tabs { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px !important; margin: 1.1rem 0 !important; }
	.srcm-tab { min-width: 0 !important; min-height: 44px; padding: .65rem .45rem !important; font-size: .72rem !important; line-height: 1.15 !important; white-space: normal !important; }
	.srcm-layout { display: block !important; }
	.srcm-metrics { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px !important; margin-bottom: .75rem !important; }
	.srcm-metric { min-height: 44px; padding: .65rem .55rem !important; font-size: .72rem !important; }
	.srcm-panel { padding: clamp(14px,4vw,20px) !important; }
	.srcm-panel__title { margin-bottom: .9rem !important; font-size: .78rem !important; }
	.srcm-chart-row { gap: .55rem !important; padding-block: .55rem !important; }
	.srcm-details { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin-top: 12px !important; }
	.srcm-detail-card { min-height: 0 !important; grid-template-columns: minmax(88px, 30%) 1fr !important; padding: 12px !important; }
	.srcm-detail-card__media { min-height: 104px !important; }
	.srcm-product-image--large { max-height: 132px !important; object-fit: contain !important; }
	.srcm-detail-card__tagline,
	.srcm-detail-card__note { font-size: .72rem !important; line-height: 1.35 !important; }
	.srcm-price-disclosure { margin-top: 1rem !important; padding-top: 1rem !important; font-size: .7rem !important; }
}

@media (max-width: 767px) {
	body.single-product .srpc-trust { padding-block: 16px 32px !important; }
	.srpc-product-explorer { padding: clamp(38px, 10vw, 52px) 16px !important; }
	.srpc-product-explorer .srpc-section-header { margin-bottom: 1rem !important; }
	.srpc-explorer-stage { width: 100%; margin-top: 20px; padding: 8px; border-radius: 16px; }
	.srpc-explorer-media-well { min-height: 0; padding: 0 0 8px; }
	.srpc-explorer-media-frame picture { max-height: min(56svh, 500px); overflow: hidden; }
	.srpc-explorer-media-frame img { width: auto; max-width: 100%; max-height: min(56svh, 500px); object-fit: contain; }
	.srpc-explorer-detail { min-height: 0; padding: 16px; }
	.srpc-explorer-detail h3 { font-size: clamp(1.25rem, 6vw, 1.65rem); }
	.srpc-explorer-note { margin-top: 12px; font-size: .75rem; }
	.srpc-cta--purchase .srpc-shell { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 2.25rem; }
	.srpc-cta-copy { order: 1; }
	.srpc-cta-media { order: 2; }
	.srpc-cta-media img { width: min(92%, 360px); max-height: 250px; }
	.srpc-cta--purchase .srpc-actions { gap: .75rem; }
	.srpc-reviews::before { opacity: .035; background-size: auto 100%; }
}

@media (max-width: 420px) {
	.srcm-chart-row { grid-template-columns: minmax(76px, 1fr) minmax(82px, 1.25fr) auto !important; }
	.srcm-chart-row__name small { display: none !important; }
	.srcm-detail-card { grid-template-columns: 82px 1fr !important; }
	.srpc-explorer-navigator.srpc-tess-nav--compact { max-width: 100%; }
}

@media print {
	.srpc-reviews::before,
	.srpc-reviews::after { display: none; }
}
