/* RV product detail adjustments that previously lived in single-rv.php. */
.single-rv .product__image-stage {
    position: relative;
}

.single-rv .model__light-panel {
    padding: 10px;
}

@media screen and (min-width: 951px) {
    .single-rv .product__center {
        width: 50%;
    }

    .single-rv .product__left {
        width: 30%;
    }
}

.single-rv .accessories-ad {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.single-rv .accessories-ad__heading {
    margin: 0 0 14px;
    color: #000;
    font-size: 11px;
    font-weight: var(--exg-weight-strong);
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.single-rv .accessories-ad__items {
    display: flex;
    gap: 12px;
}

.single-rv .accessories-ad__item {
    display: block;
    flex: 1;
    text-decoration: none;
}

.single-rv .accessories-ad__img {
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #eee;
}

.single-rv .accessories-ad__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.2s ease;
}

.single-rv .accessories-ad__item:hover .accessories-ad__img img {
    opacity: 0.85;
}

.single-rv .accessories-ad__item--contain .accessories-ad__img img {
    object-fit: contain;
}

.single-rv .accessories-ad__name {
    display: block;
    margin-top: 8px;
    color: #000;
    font-size: 11px;
    font-weight: var(--exg-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

/* Legacy RV detail content still uses these utility classes. Scoping the
 * rules here removes its dependency on database-level Additional CSS. */
body.single-rv .guard__title {
	margin-bottom: 20px;
	line-height: 1;
}

body.single-rv .pdp-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-top: 20px;
}

body.single-rv .pdp-logos img {
	width: auto;
	max-width: 90px;
	height: 100px;
	margin: 0 25px 0 0;
	padding: 10px 0;
	object-fit: contain;
}

body.single-rv .product__extraText > .grid-container {
	width: min(1180px, calc(100% - 64px));
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

body.single-rv .coatingdesignbox {
	display: grid;
	max-width: 1180px;
	grid-template-columns: 35% 65%;
	margin: 40px auto;
	padding: 0;
	background: var(--exg-charcoal);
	color: var(--exg-white);
}

body.single-rv .coatingdesignbox .img img {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.single-rv .coatingdesignbox .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 60px;
}

body.single-rv .coatingdesignbox h2 {
	margin-bottom: 40px;
	color: var(--exg-white);
	font-family: var(--exg-display);
	font-size: 3rem;
	font-weight: var(--exg-weight-strong);
	letter-spacing: -0.03em;
	line-height: 0.9;
}

body.single-rv .coatingdesignbox .text p {
	margin-bottom: 20px;
}

body.single-rv .gridhalf {
	display: flex;
	align-items: center;
	margin: 50px 0;
}

body.single-rv .gridhalf > div {
	width: 50%;
}

body.single-rv .gridhalf iframe {
	max-height: 300px;
}

body.single-rv .bglight {
	background: #f4f4f4;
}

body.single-rv .textalignc {
	text-align: center;
}

body.single-rv .btn-howtoopen {
	display: block;
	width: fit-content;
	margin: 20px auto;
	padding: 3px 15px 5px;
	background: #333;
	color: var(--exg-white);
	font-size: 14px;
}

body.single-rv .btn-preTripGuide {
	background: var(--exg-gold);
	color: var(--exg-black);
}

body.single-rv .icon-scroll-right {
	text-align: right;
}

body.single-rv .icon-scroll-right img {
	width: 125px;
	max-width: 100%;
	margin-bottom: -15px;
}

@media (min-width: 800px) {
	body.single-rv .icon-scroll-right {
		display: none;
	}
}

@media (max-width: 950px) {
	body.single-rv .coatingdesignbox {
		grid-template-columns: 1fr;
	}

	body.single-rv .coatingdesignbox .img {
		padding: 10% 10% 2%;
	}

	body.single-rv .coatingdesignbox h2 {
		font-size: 2rem;
	}
}

@media (max-width: 900px) {
	body.single-rv .gridhalf {
		display: block;
	}

	body.single-rv .gridhalf > div {
		width: 100%;
	}
}

/* Unified heavy-duty detail system: mirrors the semi PDP hierarchy. */
body.single-rv .model--unified {
	padding: clamp(52px, 6vw, 78px) 0;
	background: #f5f5f3;
}

body.single-rv .model--unified > .grid-container {
	width: min(1180px, calc(100% - 64px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

body.single-rv .model--unified .model__intro {
	max-width: 1040px;
	margin: 0 auto 30px;
	text-align: center;
}

body.single-rv .model--unified .model__eyebrow,
body.single-rv .model--unified .model__card-eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #9b6700;
	font-size: 10px;
	font-weight: var(--exg-weight-action);
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

body.single-rv .model--unified .model__title,
body.single-rv .model--unified .model__comparison-header h2 {
	margin: 0;
	color: var(--exg-black);
	font-family: var(--exg-display);
	font-size: clamp(38px, 4.2vw, 56px);
	font-weight: var(--exg-weight-display);
	line-height: 0.96;
	text-transform: uppercase;
}

body.single-rv .model--unified .model__description {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 26px;
	color: #545454;
	font-size: 15px;
	line-height: 1.55;
	text-align: left;
}

body.single-rv .model--unified .model__description p {
	margin: 0;
	padding: 21px 23px;
	border: 1px solid #e1e1e1;
	border-top: 3px solid var(--exg-gold);
	border-radius: 6px;
	background: #fff;
}

body.single-rv .model--unified .model__information-grid,
body.single-rv .model--unified .model__media-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}

body.single-rv .model--unified :is(.model__details-card, .model__support-card, .model__media-card) {
	min-width: 0;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

body.single-rv .model--unified .model__details-card {
	padding: clamp(22px, 2.5vw, 28px);
	border-top: 5px solid var(--exg-gold);
}

body.single-rv .model--unified :is(.model__details-card, .model__support-card, .model__media-card) h3 {
	margin: 0;
	font-family: var(--exg-display);
	font-size: 28px;
	font-weight: var(--exg-weight-action);
	line-height: 1;
	text-transform: uppercase;
}

body.single-rv .model--unified .model__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 30px;
	margin-top: 14px;
}

body.single-rv .model--unified .model__detail-row {
	display: grid;
	grid-template-columns: minmax(130px, 0.78fr) minmax(0, 1.22fr);
	gap: 16px;
	align-items: center;
	padding: 10px 0;
	border-top: 1px solid #e7e7e7;
}

body.single-rv .model--unified .model__detail-row[hidden] {
	display: none !important;
}

body.single-rv .model--unified .model__detail-row :is(dt, dd) {
	margin: 0;
	color: #525252;
	font-size: 14px;
	line-height: 1.45;
}

body.single-rv .model--unified .model__detail-row dt {
	color: var(--exg-black);
	font-weight: var(--exg-weight-strong);
}

body.single-rv .model--unified .model__support-card.dn {
	display: none !important;
}

body.single-rv .model--unified .singleGuard__model-plate {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 30px;
	align-items: center;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 24px 30px !important;
	background: #fff !important;
}

body.single-rv .model--unified .singleGuard__model-plate-description {
	margin: 10px 0 16px;
	color: #545454;
	font-size: 15px;
	line-height: 1.5;
}

body.single-rv .model--unified .singleGuard__model-plate-button {
	display: inline-flex !important;
	width: auto !important;
}

body.single-rv .model--unified .model__media-grid {
	margin-top: 22px;
}

body.single-rv .model--unified .model__latch-card {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
}

body.single-rv .model--unified .model__latch-copy,
body.single-rv .model--unified .model__latch-video {
	padding: 24px;
}

body.single-rv .model--unified .model__latch-copy > p {
	margin: 10px 0 0;
	color: #545454;
	font-size: 14px;
	line-height: 1.5;
}

body.single-rv .model--unified .model__latch-media {
	max-width: 300px;
	margin: 16px auto 0;
}

body.single-rv .model--unified .model__latch-media img {
	display: block;
	width: 100%;
	height: auto;
}

body.single-rv .model--unified .model__latch-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 16px;
}

body.single-rv .model--unified .model__latch-actions .btn-howtoopen {
	display: flex;
	width: 100%;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 8px 10px;
	text-align: center;
}

body.single-rv .model--unified .model__latch-video {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	border-left: 1px solid #e1e1e1;
}

body.single-rv .model--unified .singleGuard__model-video iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto !important;
}

body.single-rv .model--unified .model__comparison {
	margin-top: 42px;
	padding-top: 38px;
	border-top: 1px solid #d9d9d9;
}

body.single-rv .model--unified .model__comparison-header {
	max-width: 760px;
	margin-bottom: 24px;
}

body.single-rv .model--unified .model__comparison-tables > div:not(.dn) {
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 760px) {
	body.single-rv .model--unified {
		padding: 40px 0;
	}

	body.single-rv .model--unified > .grid-container {
		width: calc(100% - 32px);
	}

	body.single-rv .model--unified .model__intro {
		margin-bottom: 24px;
	}

	body.single-rv .model--unified .model__title {
		font-size: 32px;
	}

	body.single-rv .product__extraText > .grid-container {
		width: calc(100% - 32px);
	}

	body.single-rv .model--unified .model__description,
	body.single-rv .model--unified .model__details,
	body.single-rv .model--unified .model__latch-card,
	body.single-rv .model--unified .singleGuard__model-plate {
		grid-template-columns: 1fr;
	}

	body.single-rv .model--unified .model__description {
		gap: 14px;
		margin-top: 20px;
	}

	body.single-rv .model--unified .model__description p,
	body.single-rv .model--unified .model__details-card {
		padding: 19px;
	}

	body.single-rv .model--unified .model__detail-row {
		grid-template-columns: 1fr;
		gap: 3px;
	}

	body.single-rv .model--unified .model__latch-video {
		border-top: 1px solid #e1e1e1;
		border-left: 0;
	}
}
