/*
 * Single product pages (2026-11-08): single-model.php, single-inventory.php,
 * helpers in includes/func_single.php. Loaded only on those pages.
 * Phone: title, photos, price box, then the rest. Desktop: photos left
 * (spanning), title + price box right.
 */
.lc-pp {
	--pp-red: var(--red, #f5333f);
	--pp-red-ink: #c81f2b;
	--pp-red-tint: #fdecee;
	--pp-ink: var(--charcoal, #24272a);
	--pp-muted: #62676c;
	--pp-line: var(--border-color, #e3e8e8);
	--pp-wash: #f4f6f6;
	--pp-ok: #1d7a46;
}

/* ---------- top: title / photos / side ---------- */
.lc-pp-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "title" "gallery" "side";
	gap: 1.5rem;
	padding-top: 1rem;
}
.lc-pp-title { grid-area: title; min-width: 0; }
.lc-pp-top > .product-image-carousels { grid-area: gallery; width: auto; max-width: none; flex: none; padding: 0; min-width: 0; }
.lc-pp-side { grid-area: side; display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }

@media (min-width: 992px) {
	.lc-pp-top {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		grid-template-rows: auto 1fr;
		grid-template-areas: "gallery title" "gallery side";
		column-gap: 3rem;
		row-gap: 1.25rem;
		align-items: start;
	}
}

.lc-pp-eyebrow {
	margin: 0 0 .35rem;
	font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--pp-red-ink);
}
.lc-pp-name { display: flex; align-items: flex-start; gap: 1rem; justify-content: space-between; }
.lc-pp-name h1 { margin: 0; font-size: 1.75rem; line-height: 1.2; font-weight: 700; text-wrap: balance; }
.lc-pp-name .canada-leaf { flex: none; }
@media (min-width: 992px) { .lc-pp-name h1 { font-size: 2rem; } }

/* ---------- photos: one fixed 4:3 frame, fitted not cropped ---------- */
.lc-pp .main-image-slider .slick-track { height: auto; max-height: none; }
.lc-pp .main-image-slider img,
.lc-pp .main-image-slider .slick-slide img {
	aspect-ratio: 4 / 3; width: 100%; height: auto; max-width: 100%;
	object-fit: contain; background: var(--pp-wash); border-radius: 8px;
}
.lc-pp .main-image-slider-wrapper { border-radius: 8px; }
.lc-pp .thumbnails-slider { margin-top: .6rem; }
.lc-pp-badge {
	position: absolute; top: 12px; left: 12px; z-index: 6;
	font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1;
	padding: .45rem .65rem; border-radius: 4px; background: var(--pp-ink); color: #fff;
}
.lc-pp-badge-rent { background: var(--pp-ok); }
.lc-pp-badge-sale, .lc-pp-badge-callout.red { background: var(--pp-red); }
.lc-pp-badge-sold { background: var(--pp-ink); }

/* ---------- price box ---------- */
.lc-pp-price { border: 1px solid var(--pp-line); border-radius: 8px; overflow: hidden; background: #fff; }
.lc-pp-prow { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1rem; padding: .9rem 1rem; align-items: baseline; }
.lc-pp-prow + .lc-pp-prow { border-top: 1px solid var(--pp-line); }
.lc-pp-plabel { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pp-muted); }
.lc-pp-pval { min-width: 0; }
.lc-pp-big { font-size: 1.6rem; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; }
.lc-pp-per { font-size: .9rem; font-weight: 400; color: var(--pp-muted); }
.lc-pp-was { font-size: 1rem; font-weight: 400; color: var(--pp-muted); margin-left: .35rem; }
.lc-pp-from { font-size: .8rem; color: var(--pp-muted); }
.lc-pp-call { font-weight: 700; }
.lc-pp-fee { font-size: .85rem; color: var(--pp-muted); margin-top: .35rem; }
.lc-pp-fee p { margin: 0; }
.lc-pp-rates { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .25rem 1.25rem; margin: 0; }
.lc-pp-rates div { display: flex; justify-content: space-between; gap: .5rem; }
.lc-pp-rates dt { font-weight: 400; color: var(--pp-muted); }
.lc-pp-rates dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- buttons + help line ---------- */
/* Real buttons (2026-11-08b): full-size, filled, rounded, with icons; the site's
   .btn-secondary is a pale outlined box that read as a tab here. */
.lc-pp-ctas { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .6rem; }
.lc-pp-ctas .btn {
	margin: 0; display: flex; align-items: center; justify-content: center; gap: .55rem;
	min-height: 3.25rem; padding: .85rem 1.25rem; border-radius: 6px;
	font-size: .95rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2;
	text-align: center; cursor: pointer; text-decoration: none;
	box-shadow: 0 2px 0 rgba(36, 39, 42, .18);
	transition: background-color .15s, border-color .15s, transform .15s, box-shadow .15s;
}
.lc-pp-ctas .btn:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(36, 39, 42, .18); }
.lc-pp-ctas .btn:focus-visible { outline: 3px solid var(--pp-ink); outline-offset: 2px; }
.lc-pp-ctas .btn-primary { background: var(--pp-red); border: 2px solid var(--pp-red); color: #fff; }
.lc-pp-ctas .btn-secondary { background: var(--pp-ink); border: 2px solid var(--pp-ink); color: #fff; }
.lc-pp-ctas .btn-secondary:hover, .lc-pp-ctas .btn-secondary:focus { background: #000 !important; border-color: #000 !important; color: #fff !important; }
.lc-pp-ctas .btn-call { background: #fff; border: 2px solid var(--pp-red); color: var(--pp-red); grid-column: 1 / -1; }
.lc-pp-ctas .btn-call.d-none { display: none !important; }
@media (prefers-reduced-motion: reduce) { .lc-pp-ctas .btn, .lc-pp-ctas .btn:hover { transition: none; transform: none; } }
.lc-pp-help { margin: 0; font-size: .9rem; color: var(--pp-muted); }
.lc-pp-help strong { color: var(--pp-ink); font-weight: 600; }

/* ---------- at a glance + downloads ---------- */
.lc-pp-h3 { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .5rem; color: var(--pp-ink); }
.lc-pp-glance dl { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid var(--pp-line); }
.lc-pp-glance dl > div { padding: .6rem 0; border-bottom: 1px solid var(--pp-line); min-width: 0; }
.lc-pp-glance dl > div:nth-child(odd) { padding-right: 1rem; }
.lc-pp-glance dt { font-size: .75rem; font-weight: 400; color: var(--pp-muted); }
.lc-pp-glance dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.lc-pp-dl-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.lc-pp-dl-list a {
	display: inline-flex; gap: .45rem; align-items: center; font-size: .9rem; font-weight: 600;
	text-decoration: none; color: var(--pp-ink); border: 1px solid var(--pp-line); border-radius: 6px; padding: .45rem .75rem;
}
.lc-pp-dl-list a:hover { border-color: var(--pp-ink); }
.lc-pp-dl-list svg, .lc-pp-dl-list i { color: var(--pp-red); }

/* side column used to be squeezed to 80% with a big left pad */
@media (min-width: 992px) { .lc-pp .product-side-wrapper { width: auto; padding-left: 0; } }

/* ---------- pasted content: one house style ---------- */
.lc-pp-copy { max-width: 75ch; }
.lc-pp-tabs.lc-pp-copy { max-width: none; }
.lc-pp-copy [style] { font-family: inherit !important; font-size: inherit !important; color: inherit !important; background: transparent !important; }
.lc-pp-copy h2, .lc-pp-copy h3, .lc-pp-copy h4 { font-size: 1.1rem; font-weight: 700; margin: 1.25rem 0 .5rem; }
.lc-pp-copy p { margin: 0 0 .8rem; }
.lc-pp-copy ul, .lc-pp-copy ol { margin: 0 0 .8rem; padding-left: 1.25rem; }
.lc-pp-copy li { margin-bottom: .3rem; }
.lc-pp-copy table { width: 100%; border-collapse: collapse; margin: 0 0 1rem; font-size: .92rem; display: block; overflow-x: auto; }
.lc-pp-copy th, .lc-pp-copy td { border-bottom: 1px solid var(--pp-line); padding: .45rem .6rem; text-align: left; vertical-align: top; }
.lc-pp-copy img { max-width: 100%; height: auto; }
.lc-pp-copy iframe { max-width: 100%; }

/* ---------- section headings ---------- */
.lc-pp-h2 { font-size: 1.5rem; font-weight: 700; margin: 0 0 1rem; }

/* ---------- more from this brand ---------- */
.lc-pp-more { padding-top: 2.5rem; padding-bottom: 1rem; }
.lc-pp-series { display: flex; gap: .6rem; overflow-x: auto; padding-bottom: .6rem; scroll-snap-type: x proximity; }
.lc-pp-series a {
	flex: 0 0 11.5rem; scroll-snap-align: start;
	border: 1px solid var(--pp-line); border-radius: 8px; padding: .5rem .5rem .7rem;
	text-decoration: none; color: var(--pp-ink); display: flex; flex-direction: column; gap: .15rem; background: #fff;
}
.lc-pp-series img {
	display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain;
	background: var(--pp-wash); border-radius: 5px; margin-bottom: .45rem;
}
.lc-pp-series b, .lc-pp-series span { padding: 0 .3rem; }
.lc-pp-series a:hover { border-color: var(--pp-ink); }
.lc-pp-series b { font-size: .92rem; line-height: 1.3; }
.lc-pp-series span { font-size: .8rem; color: var(--pp-muted); font-variant-numeric: tabular-nums; }
.lc-pp-series a[aria-current="page"] { border-color: var(--pp-red); background: var(--pp-red-tint); }
.lc-pp-series a[aria-current="page"] span { color: var(--pp-red-ink); }
.lc-pp-all { display: inline-block; margin-top: .35rem; font-size: .9rem; font-weight: 600; color: var(--pp-red-ink); }
