/*
Theme Name: Ricky-Child
Theme URI: https://parkofideas.com/ricky/
Text Domain: ricky-child
Description: Pet Shop & Care WooCommerce Theme
License: GNU General Public License v2.0 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Version: 4.6
Template: ricky
Author: parkofideas.com
Author URI: https://parkofideas.com
Tags: right-sidebar, custom-background, custom-colors, featured-images, full-width-template, post-formats, theme-options, translation-ready
*/
/*  make category images square instead of round
-------------------------------------------------------------- */
.c-sub-categories__thumb-wrap, .c-page-header__sub-cat-item img {border-radius: 0%}/*  describe css changes below-------------------------------------------------------------- */

/* Mom's Party Rental — Ricky-wide brand treatment.
 * Ricky keeps ownership of all templates, navigation and WooCommerce behavior;
 * this layer changes only the visual system so every page belongs to the same site.
 */
:root {
	--header-color: #101735;
	--header-color-light: #5d6688;
	--text-color: #59627d;
	--text-color-light: #9299ad;
	--text-color-tr: rgba(16, 23, 53, .12);
	--background-color: #f7f8fd;
	--background-color-light: #fff;
	--background-color-dark: #eef1fa;
	--border-color-light: #e2e6f2;
	--border-color-tr: rgba(16, 23, 53, .12);
	--border-color-tr-2: rgba(16, 23, 53, .2);
	--product-page-title-color: #101735;
	--product-grid-title-color: #182454;
	--accent-color: #ff2f83;
	--accent-color_light: #ff97c0;
	--accent-color-tr: rgba(255, 47, 131, .15);
	--accent-color-scroll: #dd1265;
	--accent-color-scroll-bg: #ffd3e4;
	--accent-color-2: #0aaedb;
	--accent-color-3: #8d4dff;
	--hover-color: #8d4dff;
	--form-color: #fff;
	--form-border-color: #d9deeb;
	--placeholder-color: rgba(16, 23, 53, .48);
	--mobile-popup-color: #fff;
	--mobile-popup-bg-color: #070b24;
	--shadow-color: rgba(18, 28, 67, .11);
	--font-text: "Inter", sans-serif;
	--font-header: "Barlow Condensed", sans-serif;
	--theme-border-radius: 16px;
	--box-shadow: 0 14px 38px rgba(18, 28, 67, .12);
}

body {
	background: #f7f8fd;
}

/* Concept header palette applied to Ricky's original navigation structure.
 * Ricky keeps control of visibility and positioning, preserving dropdowns,
 * mega menus and the mobile navigation behavior.
 */
#main-header {
	position: relative;
	z-index: 10000;
	overflow: visible;
	color: #dce1f4;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: rgba(2, 6, 23, .94);
	box-shadow: 0 12px 34px rgba(2, 6, 23, .2);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

#main-header .c-header__top-row,
#main-header .c-header__row,
#main-header .c-header__menu-bottom,
#main-header .c-header__menu,
#main-header .c-top-menu,
#main-header .c-top-menu__item {
	overflow: visible;
}

#main-header .c-header__top-row {
	color: #b9c0dc;
	background: rgba(2, 6, 23, .94);
}

#main-header .c-header__top-row a,
#main-header .c-header__top-row .a,
#main-header .c-header__top-row i {
	color: #dce1f4;
}

#main-header .c-header__top-row a:hover,
#main-header .c-header__top-row .a:hover {
	color: #13c9ff;
}

#main-header .c-header__row {
	color: #fff;
	background: rgba(2, 6, 23, .94);
}

#main-header .c-header__menu-bottom {
	color: #fff;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: rgba(5, 9, 30, .78);
}

#main-header .c-header__row--decor::after,
#main-header .c-header__top-row--decor::after {
	border-color: rgba(255, 255, 255, .09);
}

/* Keep the full rental menu on one desktop row and remove Ricky's decorative
 * edge marks, which appear as a stray colored rule with this dark treatment. */
@media (min-width: 768px) {
	#main-header .c-header__row--header-type-1 {
		display: grid;
		grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) 54px;
		align-items: center;
		column-gap: 16px;
		padding-inline: clamp(18px, 3vw, 50px);
	}

	#main-header .c-header__col-left,
	#main-header .c-header__col-center,
	#main-header .c-header__col-right {
		min-width: 0;
	}

	#main-header .c-header__logo-img--desktop {
		width: min(100%, 205px);
		height: auto;
	}

	#main-header .c-top-menu__list--header-type-1 {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		gap: clamp(8px, 1.25vw, 24px);
	}

	#main-header .c-top-menu__item--header-type-1 {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	#main-header .c-top-menu__item--header-type-1 > a,
	#main-header .c-top-menu__item--header-type-1 > .a {
		padding-inline: 0;
		font-size: clamp(12px, 1.02vw, 15px);
	}

	#main-header .c-header__row--decor::before,
	#main-header .c-header__row--decor::after {
		display: none;
	}
}

#main-header .c-top-menu > .c-top-menu__item > a,
#main-header .c-header__menu > ul > li > a {
	position: relative;
	color: #dce1f4;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 700;
	letter-spacing: .035em;
	text-transform: uppercase;
}

#main-header .c-top-menu > .c-top-menu__item > a::after,
#main-header .c-header__menu > ul > li > a::after {
	content: "";
	position: absolute;
	right: 50%;
	bottom: 0;
	left: 50%;
	height: 3px;
	border: 0;
	background: linear-gradient(90deg, #ff2f83, #13c9ff);
	opacity: 0;
	transition: left .2s ease, right .2s ease, opacity .2s ease;
}

#main-header .c-top-menu > .c-top-menu__item:hover > a,
#main-header .c-top-menu > .current-menu-item > a,
#main-header .c-top-menu > .current-menu-ancestor > a,
#main-header .c-header__menu > ul > li:hover > a,
#main-header .c-header__menu > ul > .current-menu-item > a,
#main-header .c-header__menu > ul > .current-menu-ancestor > a {
	color: #fff;
}

#main-header .c-top-menu > .c-top-menu__item:hover > a::after,
#main-header .c-top-menu > .current-menu-item > a::after,
#main-header .c-top-menu > .current-menu-ancestor > a::after,
#main-header .c-header__menu > ul > li:hover > a::after,
#main-header .c-header__menu > ul > .current-menu-item > a::after,
#main-header .c-header__menu > ul > .current-menu-ancestor > a::after {
	right: 0;
	left: 0;
	opacity: 1;
}

#main-header .c-top-menu__submenu,
#main-header .c-top-menu__submenu--content,
#main-header .c-top-bar-menu__submenu {
	z-index: 10020;
	color: #dce1f4;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
	background: rgba(11, 16, 48, .98);
	box-shadow: 0 22px 50px rgba(2, 6, 23, .38);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

#main-header .c-top-menu__submenu a,
#main-header .c-top-menu__submenu--content a,
#main-header .c-top-bar-menu__submenu a {
	color: #dce1f4 !important;
}

#main-header .c-top-menu__submenu li,
#main-header .c-top-menu__submenu li > span,
#main-header .c-top-menu__submenu li > .a,
#main-header .c-top-menu__submenu--content li,
#main-header .c-top-menu__submenu--content li > span,
#main-header .c-top-menu__submenu--content li > .a {
	color: #dce1f4 !important;
}

#main-header .c-top-menu__submenu a:hover,
#main-header .c-top-menu__submenu--content a:hover,
#main-header .c-top-bar-menu__submenu a:hover,
#main-header .c-top-menu__submenu .current-menu-item > a {
	color: #fff !important;
	background: rgba(19, 201, 255, .09);
}

#main-header .c-top-menu__submenu .widget-title,
#main-header .c-top-menu__submenu--content .widget-title,
#main-header .c-top-menu__submenu h2,
#main-header .c-top-menu__submenu h3,
#main-header .c-top-menu__submenu h4 {
	color: #fff !important;
	font-family: "Barlow Condensed", sans-serif;
	letter-spacing: .025em;
}

#main-header .c-top-menu__submenu .c-top-menu__title,
#main-header .c-top-menu__submenu .c-top-menu__submenu-title,
#main-header .c-top-menu__submenu--content .c-top-menu__title,
#main-header .c-top-menu__submenu--content .c-top-menu__submenu-title {
	color: #fff !important;
}

#main-header .c-top-menu__submenu .icon,
#main-header .c-top-menu__submenu [class*="arrow"] {
	color: #ff5ca5;
	fill: currentColor;
	stroke: currentColor;
}

#main-header .c-header__search-button,
#main-header .c-header__button-link,
#main-header .c-header__cart-button,
#main-header .c-header__wishlist-button {
	color: #fff;
	border-color: rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .07);
}

#main-header .c-header__search-button:hover,
#main-header .c-header__button-link:hover,
#main-header .c-header__cart-button:hover,
#main-header .c-header__wishlist-button:hover {
	color: #fff;
	border-color: transparent;
	background: linear-gradient(135deg, #ff2f83, #8d4dff 58%, #13c9ff);
}

.c-header__search-button,
.c-header__button-link,
.c-header__cart-button,
.c-header__wishlist-button {
	border-radius: 50%;
}

.c-page-header {
	background:
		radial-gradient(circle at 12% 50%, rgba(19, 201, 255, .14), transparent 28%),
		radial-gradient(circle at 88% 40%, rgba(255, 47, 131, .13), transparent 30%),
		linear-gradient(135deg, #fff, #f4f1ff);
}

.c-page-header__title,
.entry-title,
.woocommerce-products-header__title {
	color: #101735;
	letter-spacing: -.025em;
}

.button,
.c-button,
button[type="submit"],
input[type="submit"],
.added_to_cart {
	border-radius: 14px !important;
}

.button:not(.alt),
.c-button,
button[type="submit"],
input[type="submit"] {
	box-shadow: 0 10px 24px rgba(255, 47, 131, .2);
}

.c-product-grid__item,
.c-product-card,
.product,
.widget,
.woocommerce form.checkout,
.woocommerce-cart-form,
.cart_totals {
	border-radius: 18px;
}

.c-product-grid__thumb-wrap,
.c-product__gallery,
.woocommerce-product-gallery,
.c-post-list__thumb-wrap {
	overflow: hidden;
	border-radius: 18px;
}

input[type="search"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="date"],
textarea,
select {
	border-radius: 11px;
}

#main-footer,
.c-footer {
	color: #d9def1;
	background: #070b24;
}

#main-footer a:hover,
.c-footer a:hover {
	color: #13c9ff;
}

/* Footer: MPR conversion panel wrapped around Ricky's editable footer block. */
.c-footer--mpr {
	position: relative;
	overflow: hidden;
	padding-top: 48px;
	color: #dce5f5;
	background:
		radial-gradient(circle at 84% 18%, rgba(19, 201, 255, .1), transparent 28%),
		radial-gradient(circle at 17% 45%, rgba(141, 77, 255, .12), transparent 30%),
		#020617;
}

.mpr-footer-conversion,
.mpr-footer-native > .elementor,
.mpr-footer-native > .elementor > .elementor-section-wrap {
	width: min(1480px, calc(100% - 48px));
	margin-inline: auto;
}

.mpr-footer-conversion__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(290px, 1.15fr) minmax(360px, 1fr) minmax(280px, .8fr);
	align-items: center;
	gap: 36px;
	min-height: 260px;
	padding: 42px 60px;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 22px;
	background:
		linear-gradient(110deg, rgba(72, 23, 126, .93), rgba(12, 20, 66, .97) 62%, rgba(4, 20, 47, .98)) padding-box,
		linear-gradient(90deg, #a94cff, #ff2f83 48%, #13c9ff) border-box;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .09);
}

.mpr-footer-conversion__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 26% 20%, rgba(255,255,255,.08), transparent 32%), repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 8px);
}

.mpr-footer-conversion__intro,
.mpr-footer-benefits,
.mpr-footer-conversion__action {
	position: relative;
	z-index: 1;
}

.mpr-footer-eyebrow {
	display: block;
	margin-bottom: 12px;
	color: #ff5ca5;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.mpr-footer-conversion h2 {
	margin: 0;
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(44px, 4.3vw, 70px);
	font-weight: 900;
	line-height: .96;
	letter-spacing: -.025em;
	text-transform: uppercase;
}

.mpr-footer-conversion h2 em {
	color: #ff2f83;
	font-style: normal;
}

.mpr-footer-conversion__intro p {
	margin: 18px 0 0;
	color: #dfe5f4;
	font-size: 17px;
	line-height: 1.55;
}

.mpr-footer-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.mpr-footer-benefit {
	display: grid;
	justify-items: center;
	min-width: 0;
	padding: 8px 18px;
	text-align: center;
}

.mpr-footer-benefit + .mpr-footer-benefit {
	border-left: 1px solid rgba(255, 255, 255, .18);
}

.mpr-footer-benefit__icon {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 12px;
	border: 2px solid currentColor;
	border-radius: 14px;
	color: #ff2f83;
	place-items: center;
}

.mpr-footer-benefit__icon svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mpr-footer-benefit:nth-child(2) .mpr-footer-benefit__icon { color: #a94cff; }
.mpr-footer-benefit:nth-child(3) .mpr-footer-benefit__icon { color: #13c9ff; }

.mpr-footer-benefit strong {
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 27px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.mpr-footer-benefit small {
	margin-top: 8px;
	color: #cdd6e9;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.mpr-footer-conversion__action {
	display: grid;
	justify-items: center;
	gap: 14px;
	padding-left: 38px;
	border-left: 1px dashed rgba(255, 255, 255, .22);
	text-align: center;
}

.mpr-footer-availability {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	width: 100%;
	min-height: 72px;
	padding: 16px 24px;
	border-radius: 13px;
	color: #fff !important;
	background: linear-gradient(135deg, #ff2f83, #e90055);
	box-shadow: 0 18px 35px rgba(255, 47, 131, .28);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 25px;
	font-weight: 900;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.mpr-footer-availability:hover {
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 22px 42px rgba(255, 47, 131, .4);
}

.mpr-footer-availability span,
.mpr-footer-availability svg {
	display: block;
	width: 27px;
	height: 27px;
}

.mpr-footer-availability svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mpr-footer-conversion__action > small {
	color: #cbd5e1;
	font-size: 14px;
}

.mpr-footer-call {
	color: #d9e5f6 !important;
	font-size: 15px;
}

.mpr-footer-call b { color: #13c9ff; }

.mpr-footer-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 28px 44px;
	padding: 28px 20px 34px;
	color: #dce5f5;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 16px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.mpr-footer-trust span:not(:first-child)::before {
	content: "•";
	margin-right: 38px;
	color: #a94cff;
}

.mpr-footer-trust span:nth-child(even)::before { color: #ff2f83; }
.mpr-footer-trust span:last-child::before { color: #13c9ff; }
.mpr-footer-trust b { color: #ff2f83; }

.mpr-footer-native {
	position: relative;
	border-top: 2px solid transparent;
	background: linear-gradient(#020617, #020617) padding-box, linear-gradient(90deg, #ff2f83, #8d4dff, #13c9ff) border-box;
}

/* The old theme benefit row is replaced by the focused trust strip above. */
.mpr-footer-native .elementor-element-140657d { display: none; }

.mpr-footer-native .elementor-element-c3d9af7 {
	padding: 50px 0 0 !important;
	background: transparent !important;
}

.mpr-footer-native .elementor-element-c3d9af7 > .elementor-background-overlay { display: none; }

.mpr-footer-native .elementor-container {
	width: 100%;
	max-width: 1480px !important;
}

.mpr-footer-native .elementor-column { min-width: 0; }

.mpr-footer-native,
.mpr-footer-native p,
.mpr-footer-native li,
.mpr-footer-native .elementor-icon-box-description {
	color: #cbd5e1 !important;
}

.mpr-footer-native h1,
.mpr-footer-native h2,
.mpr-footer-native h3,
.mpr-footer-native h4,
.mpr-footer-native h5,
.mpr-footer-native h6,
.mpr-footer-native .elementor-heading-title {
	color: #fff !important;
	font-family: "Barlow Condensed", sans-serif !important;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.mpr-footer-native a { color: #dce5f5 !important; }
.mpr-footer-native a:hover { color: #13c9ff !important; }

/* Elementor already supplies icons for editable footer lists. Do not add a
 * second arrow before those links. */
.mpr-footer-native .c-ip-inline-menu a::before,
.mpr-footer-native .elementor-icon-list-item a::before { content: none !important; }

.mpr-footer-native .elementor-icon-list-icon {
	margin-right: 12px;
}

.mpr-footer-native .elementor-icon-list-icon svg,
.mpr-footer-native .elementor-icon-list-icon svg * {
	fill: #ff2f83 !important;
}

/* Legal links use Ricky's editable inline menu, with quiet dividers instead
 * of arrows plus blue dot glyphs. */
.mpr-footer-native .c-ip-inline-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
}

.mpr-footer-native .c-ip-inline-menu__separator {
	display: block !important;
	width: 1px;
	height: 16px;
	margin: 0 !important;
	background: rgba(220, 229, 245, .32);
	font-size: 0;
}

.mpr-footer-native .c-ip-inline-menu__separator::before,
.mpr-footer-native .c-ip-inline-menu__separator::after {
	display: none !important;
	content: none !important;
}

.mpr-footer-native .c-ip-social__link {
	display: inline-grid;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 47, 131, .65);
	border-radius: 50%;
	background: rgba(255, 255, 255, .035);
	place-items: center;
}

@media (max-width: 1120px) {
	.mpr-footer-conversion__panel {
		grid-template-columns: 1fr 1fr;
	}

	.mpr-footer-conversion__action {
		grid-column: 1 / -1;
		grid-template-columns: minmax(280px, 480px) auto;
		justify-content: center;
		padding: 28px 0 0;
		border-top: 1px dashed rgba(255, 255, 255, .22);
		border-left: 0;
	}

	.mpr-footer-call { grid-column: 2; }
}

@media (max-width: 767px) {
	.c-footer--mpr { padding-top: 28px; }

	.mpr-footer-conversion,
	.mpr-footer-native > .elementor,
	.mpr-footer-native > .elementor > .elementor-section-wrap {
		width: min(100% - 28px, 1480px);
	}

	.mpr-footer-conversion__panel {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 34px 24px;
	}

	.mpr-footer-benefits { grid-template-columns: 1fr; }
	.mpr-footer-benefit { grid-template-columns: 48px 1fr; justify-items: start; column-gap: 14px; text-align: left; }
	.mpr-footer-benefit + .mpr-footer-benefit { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
	.mpr-footer-benefit__icon { grid-row: 1 / 3; margin: 0; }
	.mpr-footer-benefit small { margin-top: 2px; }

	.mpr-footer-conversion__action {
		grid-template-columns: 1fr;
		padding-top: 26px;
	}

	.mpr-footer-call { grid-column: auto; }
	.mpr-footer-trust { display: grid; justify-content: start; gap: 12px; padding-inline: 14px; }
	.mpr-footer-trust span::before { content: "•" !important; margin-right: 12px !important; color: #ff2f83 !important; }

	.mpr-footer-native .elementor-element-c3d9af7 { padding-top: 32px !important; }
}

/* Recently viewed: polished continuation-shopping carousel. */
#js-recently-container.c-product__products--recently {
	position: relative;
	width: 100%;
	max-width: none;
	margin-top: 64px;
	padding: 54px max(24px, calc((100vw - 1480px) / 2)) 68px;
	overflow: hidden;
	background: linear-gradient(135deg, #f8fbff 0%, #fbf9ff 52%, #fff8fc 100%);
}

.mpr-recently-head {
	display: grid;
	grid-template-columns: minmax(330px, .95fr) minmax(260px, 1fr) auto;
	align-items: end;
	gap: 36px;
	margin-bottom: 30px;
}

.mpr-recently-head__title {
	position: relative;
	padding-bottom: 18px;
}

.mpr-recently-head__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: min(100%, 410px);
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(90deg, #ff2f83, #8d4dff, #13c9ff);
}

.mpr-recently-head__title > span {
	display: block;
	margin-bottom: 8px;
	color: #7547dc;
	font-size: 14px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.mpr-recently-head .c-product__products-title {
	margin: 0;
	color: #071742;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(48px, 5.4vw, 78px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: -.025em;
	text-transform: uppercase;
}

.mpr-recently-head > p {
	margin: 0 0 20px;
	color: #47516b;
	font-size: 15px;
}

.mpr-recently-head > a {
	margin-bottom: 18px;
	padding-bottom: 4px;
	border-bottom: 1px solid #18264d;
	color: #18264d;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.mpr-recently-head > a span {
	margin-left: 8px;
	transition: transform .2s ease;
}

.mpr-recently-head > a:hover span { display: inline-block; transform: translateX(4px); }

#js-recently-container .c-product-grid {
	margin: 0;
}

#js-recently-container .c-product-grid__list {
	padding: 0 2px 10px;
}

#js-recently-container .c-product-grid__item {
	overflow: hidden;
	border: 1px solid #dfe4ef;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 30px rgba(28, 39, 73, .07);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

#js-recently-container .c-product-grid__item:hover {
	border-color: rgba(117, 71, 220, .35);
	box-shadow: 0 20px 40px rgba(28, 39, 73, .12);
	transform: translateY(-4px);
}

#js-recently-container .c-product-grid__thumb-wrap {
	margin: 0;
	border-radius: 0;
	background: #eef1f7;
}

#js-recently-container .c-product-grid__thumb-wrap img {
	width: 100%;
	transition: transform .45s ease;
}

#js-recently-container .c-product-grid__item:hover .c-product-grid__thumb-wrap img {
	transform: scale(1.035);
}

#js-recently-container .c-product-grid__badges {
	top: 13px;
	left: 13px;
}

#js-recently-container .c-badge {
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(19, 25, 50, .12);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

#js-recently-container .c-product-grid__details {
	padding: 14px 16px 16px;
}

#js-recently-container .c-product-grid__title {
	min-height: 2.45em;
	margin-bottom: 4px;
	color: #101c46;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.12;
}

#js-recently-container .c-product-grid__title a { color: inherit; }

#js-recently-container .c-product-grid__title-wrap::after {
	display: block;
	margin: 8px 0 4px;
	color: #526078;
	font-size: 11px;
	font-weight: 600;
}

#js-recently-container .instock .c-product-grid__title-wrap::after {
	content: "●  Available for your date";
	color: #139f64;
}

#js-recently-container .outofstock .c-product-grid__title-wrap::after {
	content: "Check another date";
	color: #d05a70;
}

#js-recently-container .c-product-grid__bottom {
	align-items: end;
	gap: 10px;
	margin-top: 10px;
}

#js-recently-container .c-product-grid__price-wrap,
#js-recently-container .price {
	color: #0aaed2;
	font-size: 20px;
	font-weight: 850;
}

#js-recently-container .c-product-grid__atc-wrap {
	width: 100%;
	margin-top: 12px;
}

#js-recently-container .c-product-grid__atc-wrap .button,
#js-recently-container .c-product-grid__atc-wrap .added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	border: 0;
	border-radius: 9px !important;
	color: #fff !important;
	background: linear-gradient(135deg, #ff2f83, #f0005b);
	box-shadow: 0 10px 22px rgba(255, 47, 131, .2);
	font-size: 12px;
	font-weight: 850;
	text-transform: uppercase;
}

#js-recently-container .c-product-grid__atc-wrap .button::after,
#js-recently-container .c-product-grid__atc-wrap .added_to_cart::after {
	content: none;
}

#js-recently-container .c-product-grid__atc-wrap .button:hover,
#js-recently-container .c-product-grid__atc-wrap .added_to_cart:hover {
	background: linear-gradient(135deg, #e80057, #cc004c);
}

#js-recently-container .h-carousel__button,
#js-recently-container .swiper-button-prev,
#js-recently-container .swiper-button-next {
	width: 48px;
	height: 48px;
	border: 1px solid #e3e7f0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 10px 24px rgba(28, 39, 73, .1);
}

@media (max-width: 900px) {
	.mpr-recently-head {
		grid-template-columns: 1fr auto;
		gap: 18px;
	}

	.mpr-recently-head > p { grid-column: 1 / -1; grid-row: 2; margin: 0; }
	.mpr-recently-head > a { grid-column: 2; grid-row: 1; }
}

@media (max-width: 600px) {
	#js-recently-container.c-product__products--recently {
		margin-top: 42px;
		padding: 40px 14px 48px;
	}

	.mpr-recently-head { grid-template-columns: 1fr; }
	.mpr-recently-head > a,
	.mpr-recently-head > p { grid-column: auto; grid-row: auto; margin: 0; }
	.mpr-recently-head .c-product__products-title { font-size: 50px; }

	#js-recently-container .c-product-grid__details { padding: 11px 12px 13px; }
	#js-recently-container .c-product-grid__title { font-size: 17px; }
	#js-recently-container .c-product-grid__price-wrap,
	#js-recently-container .price { font-size: 17px; }
}

/* Product-showcase alignment cleanup: one grid, one card border, full width. */
#js-recently-container .c-product-grid,
.c-product__products--related .c-product-grid {
	width: 100% !important;
	max-width: 1480px !important;
	margin-inline: auto !important;
}

/* Ricky draws a carousel frame around the entire row. The cards already have
 * their own boundary, so the extra frame only creates a box-inside-a-box look. */
#js-recently-container .h-carousel--border,
.c-product__products--related .h-carousel--border,
#js-recently-container .c-product-grid,
.c-product__products--related .c-product-grid {
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

#js-recently-container .c-product-grid::before,
#js-recently-container .c-product-grid::after,
#js-recently-container .c-product-grid__list::before,
#js-recently-container .c-product-grid__list::after,
.c-product__products--related .c-product-grid::before,
.c-product__products--related .c-product-grid::after,
.c-product__products--related .c-product-grid__list::before,
.c-product__products--related .c-product-grid__list::after {
	display: none !important;
	content: none !important;
}

#js-recently-container .c-product-grid__list,
.c-product__products--related .c-product-grid__list {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	width: 100% !important;
	max-width: none !important;
	padding: 0 0 12px !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Owl wraps the cards after page load and assigns a fixed pixel width to its
 * stage and items. Normalize those generated wrappers so neither product rail
 * is cropped by the carousel viewport. */
#js-recently-container .c-product-grid__list.owl-carousel,
.c-product__products--related .c-product-grid__list.owl-carousel {
	display: block !important;
}

#js-recently-container .c-product-grid__list.owl-carousel .owl-stage-outer,
.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage-outer {
	width: 100% !important;
	overflow: visible !important;
}

#js-recently-container .c-product-grid__list.owl-carousel .owl-stage,
.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	width: 100% !important;
	transform: none !important;
}

#js-recently-container .c-product-grid__list.owl-carousel .owl-item,
.c-product__products--related .c-product-grid__list.owl-carousel .owl-item {
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}

#js-recently-container .c-product-grid__list.owl-carousel .owl-item.cloned,
.c-product__products--related .c-product-grid__list.owl-carousel .owl-item.cloned {
	display: none !important;
}

#js-recently-container .c-product-grid__item,
.c-product__products--related .c-product-grid__item {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	border: 1px solid #dfe4ef !important;
	border-radius: 18px !important;
}

/* SRS already prints the live availability status; do not repeat it in CSS. */
#js-recently-container .c-product-grid__title-wrap::after,
.c-product__products--related .c-product-grid__title-wrap::after {
	content: none !important;
	display: none !important;
}

/* Native carousel controls are unnecessary when all four cards fit. */
#js-recently-container .h-carousel__button,
#js-recently-container .swiper-button-prev,
#js-recently-container .swiper-button-next,
.c-product__products--related .h-carousel__button,
.c-product__products--related .swiper-button-prev,
.c-product__products--related .swiper-button-next {
	display: none !important;
}

@media (max-width: 900px) {
	#js-recently-container .c-product-grid__list,
	.c-product__products--related .c-product-grid__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#js-recently-container .c-product-grid__list.owl-carousel .owl-stage,
	.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	#js-recently-container .c-product-grid__list,
	.c-product__products--related .c-product-grid__list,
	#js-recently-container .c-product-grid__list.owl-carousel .owl-stage,
	.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Premium rental mega menu.
 * Ricky and WordPress still own the menu item, Elementor block, categories,
 * products and promo image. This layer only turns that native content into a
 * clearer rental-first navigation experience on large screens.
 */
@media (min-width: 1190px) {
	#main-header .mpr-rental-mega-owner > .mpr-rental-mega {
		left: var(--mpr-mega-left, -40px) !important;
		width: var(--mpr-mega-width, min(1680px, calc(100vw - 36px))) !important;
		max-width: none !important;
		min-height: 560px;
		padding: 0 !important;
		overflow: hidden;
		color: #172043 !important;
		border: 1px solid #dce1ed;
		border-radius: 18px;
		background: #fff !important;
		box-shadow: 0 30px 70px rgba(5, 12, 40, .2);
		white-space: normal;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	#main-header .mpr-rental-mega::before {
		content: "";
		position: absolute;
		top: -9px;
		left: clamp(220px, 43vw, 760px);
		width: 18px;
		height: 18px;
		border: 1px solid #dce1ed;
		border-right: 0;
		border-bottom: 0;
		background: #fff;
		transform: rotate(45deg);
	}

	#main-header .mpr-rental-mega > .elementor,
	#main-header .mpr-rental-mega > .elementor > .elementor-section,
	#main-header .mpr-rental-mega .elementor-container {
		width: 100% !important;
		max-width: none !important;
		min-height: inherit;
		overflow: visible !important;
	}

	#main-header .mpr-rental-mega > .elementor > .elementor-section {
		padding: 0 !important;
	}

	#main-header .mpr-rental-mega .elementor-container {
		display: grid !important;
		grid-template-columns: minmax(260px, .82fr) minmax(570px, 1.55fr) minmax(390px, 1.25fr);
		gap: 0;
		padding: 36px 38px 32px !important;
	}

	#main-header .mpr-rental-mega .elementor-column {
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
	}

	#main-header .mpr-rental-mega .elementor-column > .elementor-widget-wrap {
		align-content: stretch;
		padding: 0 !important;
	}

	/* Category directory. */
	#main-header .mpr-rental-mega .elementor-column:first-child {
		padding: 10px 32px 0 8px !important;
		border-right: 1px solid #dfe3ec;
	}

	#main-header .mpr-rental-mega .c-ip-mega-menu__title {
		display: block !important;
		margin: 0 0 10px;
		color: #6333cc !important;
		font-family: "Inter", sans-serif;
		font-size: 13px;
		font-weight: 850;
		line-height: 1.25;
		letter-spacing: .11em;
		text-transform: uppercase;
	}

	#main-header .mpr-rental-mega .mpr-mega-display-title {
		display: block;
		max-width: 8.4ch;
		margin-bottom: 24px;
		color: #101a42;
		font-family: "Barlow Condensed", sans-serif;
		font-size: clamp(38px, 2.65vw, 54px);
		font-weight: 850;
		line-height: .96;
		letter-spacing: -.025em;
		text-transform: none;
		white-space: normal;
	}

	#main-header .mpr-rental-mega .c-ip-mega-menu__list {
		display: grid;
		gap: 7px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#main-header .mpr-rental-mega .c-ip-mega-menu__item {
		margin: 0;
		padding: 0;
	}

	#main-header .mpr-rental-mega .c-ip-mega-menu__item-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 54px;
		gap: 12px;
		padding: 10px 15px;
		color: #26304f !important;
		border-radius: 11px;
		background: transparent;
		font-family: "Inter", sans-serif;
		font-size: 15px;
		font-weight: 650;
		line-height: 1.25;
		transition: color .18s ease, background .18s ease, transform .18s ease;
	}

	#main-header .mpr-rental-mega .c-ip-mega-menu__item:first-child .c-ip-mega-menu__item-link,
	#main-header .mpr-rental-mega .c-ip-mega-menu__item-link:hover {
		color: #161f48 !important;
		background: linear-gradient(90deg, rgba(255, 47, 131, .1), rgba(141, 77, 255, .08));
		transform: translateX(2px);
	}

	#main-header .mpr-rental-mega .c-ip-mega-menu__item:first-child .c-ip-mega-menu__item-link {
		box-shadow: inset 4px 0 #ff2f83;
	}

	#main-header .mpr-rental-mega .mpr-mega-category-meta {
		display: inline-flex;
		align-items: center;
		gap: 14px;
		margin-left: auto;
		color: #747c93;
	}

	#main-header .mpr-rental-mega .mpr-mega-category-meta b {
		color: #ff2f83;
		font-size: 13px;
		font-weight: 800;
	}

	#main-header .mpr-rental-mega .mpr-mega-category-meta i {
		color: #27314f;
		font-family: sans-serif;
		font-size: 26px;
		font-style: normal;
		font-weight: 400;
		line-height: 1;
	}

	#main-header .mpr-rental-mega .mpr-mega-view-all {
		display: inline-flex;
		align-items: center;
		gap: 12px;
		margin: 24px 0 0 14px;
		color: #f32176 !important;
		font-family: "Inter", sans-serif;
		font-size: 14px;
		font-weight: 750;
	}

	#main-header .mpr-rental-mega .mpr-mega-view-all:hover { color: #743df0 !important; }

	/* Popular products. */
	#main-header .mpr-rental-mega .elementor-column:nth-child(2) {
		padding: 7px 30px 0 36px !important;
	}

	#main-header .mpr-rental-mega .mpr-mega-products-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		margin: 0 0 24px;
	}

	#main-header .mpr-rental-mega .mpr-mega-products-head strong {
		color: #6031c9;
		font-family: "Inter", sans-serif;
		font-size: 13px;
		font-weight: 850;
		letter-spacing: .11em;
		text-transform: uppercase;
	}

	#main-header .mpr-rental-mega .mpr-mega-products-head a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		color: #ff1670 !important;
		font-family: "Inter", sans-serif;
		font-size: 14px;
		font-weight: 750;
	}

	#main-header .mpr-rental-mega .c-ip-woocommerce-grid,
	#main-header .mpr-rental-mega .c-ip-woocommerce-grid .woocommerce,
	#main-header .mpr-rental-mega .c-ip-product-grid__list {
		width: 100%;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__list {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px !important;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__item {
		position: relative;
		display: grid !important;
		grid-template-columns: minmax(105px, 43%) minmax(0, 1fr);
		align-items: center;
		min-width: 0;
		min-height: 190px;
		gap: 17px;
		padding: 16px !important;
		border: 1px solid #d9deea;
		border-radius: 13px;
		background: #fff;
		box-shadow: 0 8px 20px rgba(18, 28, 67, .05);
		transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__item:hover {
		border-color: rgba(141, 77, 255, .35);
		box-shadow: 0 14px 30px rgba(18, 28, 67, .11);
		transform: translateY(-2px);
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__thumb-col,
	#main-header .mpr-rental-mega .c-ip-product-grid__thumb-col a {
		display: block;
		width: 100%;
		height: 100%;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__thumb {
		width: 100% !important;
		height: 100% !important;
		min-height: 142px;
		border-radius: 10px;
		object-fit: cover;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__title-col {
		display: flex;
		align-self: stretch;
		flex-direction: column;
		justify-content: center;
		min-width: 0;
		padding: 12px 0 4px;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__title {
		margin: 0;
		color: #111b42 !important;
		font-family: "Barlow Condensed", sans-serif;
		font-size: clamp(18px, 1.2vw, 23px);
		font-weight: 800;
		line-height: 1.08;
		letter-spacing: -.01em;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__title-link { color: inherit !important; }

	#main-header .mpr-rental-mega .c-ip-product-grid__price {
		margin-top: auto;
		padding-top: 14px;
		color: #0aaedb !important;
		font-family: "Barlow Condensed", sans-serif;
		font-size: 25px;
		font-weight: 850;
		line-height: 1;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__price del {
		display: none;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__price ins {
		color: inherit;
		text-decoration: none;
	}

	#main-header .mpr-rental-mega .mpr-mega-popular-badge {
		position: absolute;
		top: 18px;
		right: 16px;
		z-index: 2;
		padding: 5px 10px;
		color: #fff;
		border-radius: 999px;
		background: #ff1670;
		font-family: "Inter", sans-serif;
		font-size: 10px;
		font-weight: 850;
		letter-spacing: .04em;
		text-transform: uppercase;
	}

	/* Promotional story card. */
	#main-header .mpr-rental-mega .elementor-column:last-child {
		position: relative;
		min-height: 490px;
		margin-left: 10px;
		padding: 38px 34px 28px !important;
		overflow: hidden;
		border: 0 !important;
		border-radius: 15px !important;
		background-position: center !important;
		background-size: cover !important;
		isolation: isolate;
	}

	#main-header .mpr-rental-mega .elementor-column:last-child::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(180deg, rgba(4, 10, 35, .03) 20%, rgba(4, 10, 35, .42) 57%, rgba(4, 10, 35, .96) 100%);
	}

	#main-header .mpr-rental-mega .elementor-column:last-child > .elementor-widget-wrap {
		display: flex;
		align-content: initial;
		justify-content: flex-end;
		flex-direction: column;
	}

	#main-header .mpr-rental-mega .elementor-column:last-child .elementor-widget-heading:first-child .elementor-heading-title {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin: 0;
		color: #fff !important;
		font-family: "Inter", sans-serif !important;
		text-shadow: none !important;
	}

	#main-header .mpr-rental-mega .elementor-column:last-child .elementor-heading-title span {
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .09em;
		text-transform: uppercase;
	}

	#main-header .mpr-rental-mega .elementor-column:last-child .elementor-heading-title strong {
		max-width: 12ch;
		font-family: "Barlow Condensed", sans-serif;
		font-size: clamp(35px, 2.45vw, 50px);
		font-weight: 850;
		line-height: .98;
		letter-spacing: -.015em;
		text-transform: uppercase;
	}

	#main-header .mpr-rental-mega .elementor-column:last-child .elementor-widget-heading:nth-child(2) {
		width: auto !important;
		margin: 8px 0 17px !important;
	}

	#main-header .mpr-rental-mega .elementor-column:last-child .elementor-widget-heading:nth-child(2) .elementor-heading-title {
		max-width: 35ch;
		margin: 0;
		color: #f3f5ff !important;
		font-family: "Inter", sans-serif !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.45 !important;
		text-shadow: none !important;
	}

	#main-header .mpr-rental-mega .c-ip-button__wrap { margin: 0; }

	#main-header .mpr-rental-mega .c-ip-button {
		display: inline-flex;
		width: auto;
		min-height: 48px;
		padding: 0 21px;
		color: #fff !important;
		border: 0;
		border-radius: 9px !important;
		background: linear-gradient(135deg, #ff2f83, #ef0064);
		box-shadow: 0 12px 25px rgba(239, 0, 100, .24);
		font-family: "Barlow Condensed", sans-serif;
		font-size: 17px;
		font-weight: 800;
		letter-spacing: .025em;
		text-transform: uppercase;
	}

	#main-header .mpr-rental-mega .mpr-mega-promo-badges {
		display: flex;
		flex-wrap: wrap;
		gap: 9px;
		margin-top: 16px;
	}

	#main-header .mpr-rental-mega .mpr-mega-promo-badges span {
		padding: 6px 12px;
		color: #dfe8ff;
		border: 1px solid rgba(255, 255, 255, .55);
		border-radius: 999px;
		background: rgba(5, 11, 35, .4);
		font-family: "Inter", sans-serif;
		font-size: 11px;
		font-weight: 650;
	}
}

@media (min-width: 1190px) and (max-width: 1400px) {
	#main-header .mpr-rental-mega .elementor-container {
		grid-template-columns: minmax(235px, .78fr) minmax(520px, 1.5fr) minmax(330px, 1.05fr);
		padding: 28px !important;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__item {
		grid-template-columns: 105px minmax(0, 1fr);
		min-height: 170px;
		padding: 12px !important;
	}

	#main-header .mpr-rental-mega .c-ip-product-grid__thumb { min-height: 130px; }
}

@media (max-width: 480px) {
	#js-recently-container .c-product-grid__list,
	.c-product__products--related .c-product-grid__list {
		gap: 10px;
	}
}

/* Related products: companion treatment to Recently Viewed. */
.c-product__products--related {
	position: relative;
	width: 100%;
	max-width: none;
	margin-top: 0;
	padding: 58px max(24px, calc((100vw - 1480px) / 2)) 70px;
	overflow: hidden;
	background: linear-gradient(135deg, #fff 0%, #faf9ff 54%, #f5fcff 100%);
}

.mpr-related-head {
	display: grid;
	grid-template-columns: minmax(330px, .95fr) minmax(260px, 1fr) auto;
	align-items: end;
	gap: 36px;
	margin-bottom: 30px;
}

.mpr-related-head__title {
	position: relative;
	padding-bottom: 18px;
}

.mpr-related-head__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: min(100%, 410px);
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(90deg, #13c9ff, #8d4dff, #ff2f83);
}

.mpr-related-head__title > span {
	display: block;
	margin-bottom: 8px;
	color: #0b9ec3;
	font-size: 14px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.mpr-related-head .c-product__products-title {
	margin: 0;
	color: #071742;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(48px, 5.4vw, 78px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: -.025em;
	text-transform: uppercase;
}

.mpr-recently-head .c-product__products-title,
.mpr-related-head .c-product__products-title {
	text-align: left !important;
}

.mpr-related-head > p {
	margin: 0 0 20px;
	color: #47516b;
	font-size: 15px;
}

.mpr-related-head > a {
	margin-bottom: 18px;
	padding-bottom: 4px;
	border-bottom: 1px solid #18264d;
	color: #18264d;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.mpr-related-head > a span {
	margin-left: 8px;
	transition: transform .2s ease;
}

.mpr-related-head > a:hover span { display: inline-block; transform: translateX(4px); }

.c-product__products--related .c-product-grid { margin: 0; }
.c-product__products--related .c-product-grid__list { padding: 0 2px 10px; }

.c-product__products--related .c-product-grid__item {
	overflow: hidden;
	border: 1px solid #dfe4ef;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 30px rgba(28, 39, 73, .07);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.c-product__products--related .c-product-grid__item:hover {
	border-color: rgba(19, 174, 210, .38);
	box-shadow: 0 20px 40px rgba(28, 39, 73, .12);
	transform: translateY(-4px);
}

.c-product__products--related .c-product-grid__thumb-wrap {
	margin: 0;
	border-radius: 0;
	background: #eef1f7;
}

.c-product__products--related .c-product-grid__thumb-wrap img {
	width: 100%;
	transition: transform .45s ease;
}

.c-product__products--related .c-product-grid__item:hover .c-product-grid__thumb-wrap img { transform: scale(1.035); }
.c-product__products--related .c-product-grid__badges { top: 13px; left: 13px; }

.c-product__products--related .c-badge {
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(19, 25, 50, .12);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.c-product__products--related .c-product-grid__details { padding: 14px 16px 16px; }

.c-product__products--related .c-product-grid__title {
	min-height: 2.45em;
	margin-bottom: 4px;
	color: #101c46;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.12;
}

.c-product__products--related .c-product-grid__title a { color: inherit; }

.c-product__products--related .c-product-grid__title-wrap::after {
	display: block;
	margin: 8px 0 4px;
	font-size: 11px;
	font-weight: 600;
}

.c-product__products--related .instock .c-product-grid__title-wrap::after {
	content: "●  Available for your date";
	color: #139f64;
}

.c-product__products--related .outofstock .c-product-grid__title-wrap::after {
	content: "Check another date";
	color: #d05a70;
}

.c-product__products--related .c-product-grid__bottom { align-items: end; gap: 10px; margin-top: 10px; }
.c-product__products--related .c-product-grid__price-wrap,
.c-product__products--related .price { color: #0aaed2; font-size: 20px; font-weight: 850; }
.c-product__products--related .c-product-grid__atc-wrap { width: 100%; margin-top: 12px; }

.c-product__products--related .c-product-grid__atc-wrap .button,
.c-product__products--related .c-product-grid__atc-wrap .added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	border: 0;
	border-radius: 9px !important;
	color: #fff !important;
	background: linear-gradient(135deg, #ff2f83, #f0005b);
	box-shadow: 0 10px 22px rgba(255, 47, 131, .2);
	font-size: 12px;
	font-weight: 850;
	text-transform: uppercase;
}

.c-product__products--related .c-product-grid__atc-wrap .button::after,
.c-product__products--related .c-product-grid__atc-wrap .added_to_cart::after {
	content: none;
}

.c-product__products--related .c-product-grid__atc-wrap .button:hover,
.c-product__products--related .c-product-grid__atc-wrap .added_to_cart:hover {
	background: linear-gradient(135deg, #e80057, #cc004c);
}

@media (max-width: 900px) {
	.mpr-related-head { grid-template-columns: 1fr auto; gap: 18px; }
	.mpr-related-head > p { grid-column: 1 / -1; grid-row: 2; margin: 0; }
	.mpr-related-head > a { grid-column: 2; grid-row: 1; }
}

@media (max-width: 600px) {
	.c-product__products--related { padding: 40px 14px 48px; }
	.mpr-related-head { grid-template-columns: 1fr; }
	.mpr-related-head > a,
	.mpr-related-head > p { grid-column: auto; grid-row: auto; margin: 0; }
	.mpr-related-head .c-product__products-title { font-size: 50px; }
	.c-product__products--related .c-product-grid__details { padding: 11px 12px 13px; }
	.c-product__products--related .c-product-grid__title { font-size: 17px; }
	.c-product__products--related .c-product-grid__price-wrap,
	.c-product__products--related .price { font-size: 17px; }
}

/* Compact discovery panels. Keep these secondary recommendations visually
 * separate from the primary product while rendering thumbnails near their
 * native dimensions instead of stretching them across the viewport. */
#js-recently-container.c-product__products--recently,
.c-product__products--related {
	box-sizing: border-box;
	width: min(calc(100% - 32px), 1160px) !important;
	max-width: 1160px !important;
	margin: 36px auto !important;
	padding: 28px !important;
	border: 1px solid #e0e5f0;
	border-radius: 24px;
	box-shadow: 0 18px 48px rgba(19, 30, 67, .07);
}

#js-recently-container.c-product__products--recently {
	background: linear-gradient(135deg, #faf8ff 0%, #fff 62%, #fff8fc 100%);
}

.c-product__products--related {
	background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
}

.mpr-recently-head,
.mpr-related-head {
	grid-template-columns: minmax(245px, .8fr) minmax(220px, 1fr) auto;
	align-items: center;
	gap: 24px;
	margin-bottom: 20px;
}

.mpr-recently-head__title,
.mpr-related-head__title {
	padding-bottom: 12px;
}

.mpr-recently-head__title::after,
.mpr-related-head__title::after {
	width: min(100%, 245px);
	height: 2px;
}

.mpr-recently-head__title > span,
.mpr-related-head__title > span {
	margin-bottom: 5px;
	font-size: 11px;
}

.mpr-recently-head .c-product__products-title,
.mpr-related-head .c-product__products-title {
	font-size: clamp(34px, 4vw, 48px);
	line-height: .94;
}

.mpr-recently-head > p,
.mpr-related-head > p {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

.mpr-recently-head > a,
.mpr-related-head > a {
	margin: 0;
	font-size: 13px;
}

#js-recently-container .c-product-grid__list,
.c-product__products--related .c-product-grid__list,
#js-recently-container .c-product-grid__list.owl-carousel .owl-stage,
.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage {
	gap: 14px;
}

#js-recently-container .c-product-grid__item,
.c-product__products--related .c-product-grid__item {
	border-radius: 14px !important;
	box-shadow: 0 8px 20px rgba(28, 39, 73, .06);
}

#js-recently-container .c-product-grid__thumb-wrap,
.c-product__products--related .c-product-grid__thumb-wrap {
	height: 150px !important;
	min-height: 150px !important;
	padding: 0 !important;
	aspect-ratio: auto !important;
}

#js-recently-container .c-product-grid__thumb-wrap img,
.c-product__products--related .c-product-grid__thumb-wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

#js-recently-container .c-product-grid__details,
.c-product__products--related .c-product-grid__details {
	padding: 11px 12px 12px;
}

#js-recently-container .c-product-grid__title,
.c-product__products--related .c-product-grid__title {
	min-height: 2.3em;
	font-size: 17px;
	line-height: 1.15;
}

#js-recently-container .c-product-grid__bottom,
.c-product__products--related .c-product-grid__bottom {
	margin-top: 7px;
}

#js-recently-container .c-product-grid__price-wrap,
#js-recently-container .price,
.c-product__products--related .c-product-grid__price-wrap,
.c-product__products--related .price {
	font-size: 17px;
}

#js-recently-container .c-product-grid__atc,
.c-product__products--related .c-product-grid__atc,
#js-recently-container .c-product-grid__atc-wrap .button,
.c-product__products--related .c-product-grid__atc-wrap .button {
	min-height: 38px;
}

/* Shared discovery-card rhythm: category, title, status, price, and action
 * occupy predictable rows in both Related and Recently Viewed. */
#js-recently-container .c-product-grid__item,
.c-product__products--related .c-product-grid__item {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	height: 100% !important;
	box-sizing: border-box;
}

#js-recently-container .c-product-grid__details,
.c-product__products--related .c-product-grid__details {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
}

#js-recently-container .c-product-grid__title-wrap,
.c-product__products--related .c-product-grid__title-wrap {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

#js-recently-container .c-product-grid__title,
.c-product__products--related .c-product-grid__title {
	display: -webkit-box;
	height: 2.3em;
	min-height: 2.3em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

#js-recently-container .srs-badge,
.c-product__products--related .srs-badge {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	max-width: 100%;
	margin-top: 8px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#js-recently-container .c-product-grid__bottom,
.c-product__products--related .c-product-grid__bottom {
	display: flex;
	align-items: flex-end;
	min-height: 26px;
	margin-top: auto;
}

#js-recently-container .c-product-grid__price-wrap,
.c-product__products--related .c-product-grid__price-wrap {
	display: flex;
	align-items: flex-end;
	min-height: 26px;
}

#js-recently-container .c-product-grid__atc,
.c-product__products--related .c-product-grid__atc {
	display: flex;
	flex: 0 0 40px;
	align-self: stretch !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 40px !important;
	min-height: 40px !important;
	margin-top: 9px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 0 14px !important;
	white-space: nowrap !important;
}

#js-recently-container .c-product-grid__atc-text,
.c-product__products--related .c-product-grid__atc-text {
	display: block !important;
	width: auto !important;
	max-width: 100%;
	overflow: hidden;
	line-height: 1.1 !important;
	text-overflow: ellipsis;
	white-space: nowrap !important;
}

/* Ricky's AJAX-ready state switches text buttons back to its 40px icon mode.
 * These rails intentionally use explicit text actions, so keep that state wide. */
body.single-product #js-recently-container .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button,
body.single-product .c-product__products--related .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button {
	inline-size: 100% !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 40px !important;
}

body.single-product #js-recently-container .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button .c-product-grid__atc-icon,
body.single-product .c-product__products--related .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button .c-product-grid__atc-icon {
	display: none !important;
}

body.single-product #js-recently-container .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button .c-product-grid__atc-text,
body.single-product .c-product__products--related .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button .c-product-grid__atc-text {
	width: auto !important;
	max-width: none !important;
	overflow: visible;
	text-overflow: clip;
}

#js-recently-container a.mpr-rail-cart-button,
.c-product__products--related a.mpr-rail-cart-button {
	border: 0 !important;
	border-radius: 9px !important;
	color: #fff !important;
	background: linear-gradient(135deg, #ff2f83, #f0005b) !important;
	box-shadow: 0 10px 22px rgba(255, 47, 131, .2) !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	letter-spacing: .01em;
	text-decoration: none !important;
	text-indent: 0 !important;
	text-transform: uppercase;
}

#js-recently-container a.mpr-rail-cart-button::before,
#js-recently-container a.mpr-rail-cart-button::after,
.c-product__products--related a.mpr-rail-cart-button::before,
.c-product__products--related a.mpr-rail-cart-button::after {
	display: none !important;
	content: none !important;
}

#js-recently-container a.mpr-rail-cart-button:hover,
.c-product__products--related a.mpr-rail-cart-button:hover {
	background: linear-gradient(135deg, #e80057, #cc004c) !important;
}

#js-recently-container .mpr-discovery-category,
.c-product__products--related .mpr-discovery-category {
	position: absolute;
	top: 116px;
	left: 12px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	max-width: calc(100% - 24px);
	min-height: 23px;
	padding: 0 9px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 999px;
	color: #fff;
	background: rgba(7, 23, 66, .84);
	box-shadow: 0 5px 14px rgba(7, 23, 66, .2);
	backdrop-filter: blur(8px);
	font: 800 9px/1 Inter, sans-serif;
	letter-spacing: .04em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
}

#js-recently-container .c-product-grid__thumb-button-list,
.c-product__products--related .c-product-grid__thumb-button-list {
	right: 10px !important;
	left: auto !important;
	z-index: 5;
}

#js-recently-container .c-product-grid__item.srs-avail-no,
.c-product__products--related .c-product-grid__item.srs-avail-no {
	border-color: #efc7cf !important;
	background: #f8f8fa;
	box-shadow: none;
}

#js-recently-container .c-product-grid__item.srs-avail-no .c-product-grid__thumb-wrap img,
.c-product__products--related .c-product-grid__item.srs-avail-no .c-product-grid__thumb-wrap img {
	filter: grayscale(.85) saturate(.55);
	opacity: .72;
}

#js-recently-container .srs-badge-soldout,
.c-product__products--related .srs-badge-soldout {
	color: #a8203a;
	background: #fde4e9;
}

#js-recently-container .mpr-booked-button,
.c-product__products--related .mpr-booked-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border: 1px solid #d9aab4 !important;
	color: #9a2940 !important;
	background: #f7e8eb !important;
	box-shadow: none !important;
	cursor: not-allowed;
	pointer-events: none;
}

#js-recently-container .c-product-grid__atc.is-adding,
.c-product__products--related .c-product-grid__atc.is-adding {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}

#js-recently-container .c-product-grid__atc.is-adding::after,
.c-product__products--related .c-product-grid__atc.is-adding::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 17px;
	height: 17px;
	margin: -9px 0 0 -9px;
	border: 2px solid rgba(255, 47, 131, .28);
	border-top-color: #ff2f83;
	border-radius: 50%;
	animation: mpr-cart-spin .65s linear infinite;
}

#js-recently-container .mpr-in-cart-button,
.c-product__products--related .mpr-in-cart-button {
	border-color: #9ad9b5 !important;
	color: #187748 !important;
	background: #e6f7ed !important;
	cursor: default;
	pointer-events: none;
}

#js-recently-container .c-product-grid__item.mpr-just-added,
.c-product__products--related .c-product-grid__item.mpr-just-added {
	animation: mpr-card-added .85s ease;
}

/* Rental snapshot: replace the inherited editor bullet list with a party-ready spec panel. */
.c-product__short-description:has(.mpr-rental-snapshot) {
	width: min(100%, 560px);
	max-width: 560px;
	margin-top: 14px;
}

.c-product__short-description:has(.mpr-rental-snapshot) > p:empty,
.c-product__short-description:has(.mpr-rental-snapshot) > p:has(> br:only-child) {
	display: none;
}

.mpr-rental-snapshot {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 560px;
	padding: 12px;
	border: 1px solid rgba(92, 218, 255, .24);
	border-radius: 20px;
	background:
		radial-gradient(circle at 100% 0, rgba(121, 54, 255, .38), transparent 44%),
		linear-gradient(145deg, #091535 0%, #111d4d 58%, #221352 100%);
	box-shadow: 0 18px 42px rgba(7, 17, 48, .18);
}

.mpr-rental-snapshot::after {
	content: "";
	position: absolute;
	right: -42px;
	top: -66px;
	width: 155px;
	height: 155px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%;
	box-shadow: 0 0 0 24px rgba(255, 255, 255, .025), 0 0 0 50px rgba(255, 255, 255, .018);
	pointer-events: none;
}

.mpr-rental-snapshot > header {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 8px;
}

.mpr-rental-snapshot > header small {
	color: #55def8;
	font: 850 9px/1.2 Inter, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.mpr-rental-snapshot > header strong {
	color: #fff;
	font: 850 17px/1.05 "Barlow Condensed", sans-serif;
	letter-spacing: .01em;
	text-transform: uppercase;
}

.mpr-rental-snapshot > ul {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.mpr-rental-snapshot .mpr-rental-spec {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: center;
	gap: 7px;
	min-width: 0;
	min-height: 46px;
	margin: 0 !important;
	padding: 6px 7px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 13px;
	background: rgba(255, 255, 255, .07);
	box-shadow: inset 0 1px rgba(255, 255, 255, .06);
}

.mpr-rental-snapshot .mpr-rental-spec::before { content: none !important; }

.mpr-rental-spec__icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	color: #fff;
	background: linear-gradient(135deg, #ff2f83, #7b39ff);
	box-shadow: 0 8px 18px rgba(255, 47, 131, .24);
	font: 900 13px/1 Inter, sans-serif;
}

.mpr-rental-spec--setup .mpr-rental-spec__icon { background: linear-gradient(135deg, #7b39ff, #13c9ff); }
.mpr-rental-spec--power .mpr-rental-spec__icon { color: #111b3f; background: linear-gradient(135deg, #ffe341, #ff9e2c); }
.mpr-rental-spec--age .mpr-rental-spec__icon { background: linear-gradient(135deg, #11cfa0, #00a9d8); }

.mpr-rental-spec__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	line-height: 1.1;
}

.mpr-rental-spec__copy small {
	overflow: hidden;
	color: #9eaee0;
	font: 750 8px/1.15 Inter, sans-serif;
	letter-spacing: .09em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.mpr-rental-spec__copy strong {
	overflow: hidden;
	margin-top: 3px;
	color: #fff;
	font: 800 12px/1.1 Inter, sans-serif;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mpr-rental-spec__copy > span {
	margin-top: 4px;
	color: #65dff7;
	font: 700 8px/1 Inter, sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
}

@media (max-width: 340px) {
	.mpr-rental-snapshot { padding: 10px; border-radius: 17px; }
	.mpr-rental-snapshot > ul { grid-template-columns: 1fr; }
	.mpr-rental-snapshot .mpr-rental-spec { min-height: 44px; }
}

.mpr-cart-toast-stack {
	position: fixed;
	right: max(18px, env(safe-area-inset-right));
	bottom: max(88px, calc(env(safe-area-inset-bottom) + 18px));
	z-index: 100000;
	display: grid;
	gap: 12px;
	width: min(390px, calc(100vw - 28px));
	pointer-events: none;
}

.mpr-cart-toast {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 28px;
	gap: 12px;
	align-items: start;
	padding: 17px;
	overflow: hidden;
	border: 1px solid #dce4ee;
	border-radius: 18px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 22px 60px rgba(8, 20, 52, .22);
	opacity: 0;
	transform: translate3d(20px, 12px, 0) scale(.96);
	transition: opacity .24s ease, transform .24s ease;
	pointer-events: auto;
	backdrop-filter: blur(16px);
}

.mpr-cart-toast.is-visible { opacity: 1; transform: none; }
.mpr-cart-toast.is-leaving { opacity: 0; transform: translate3d(18px, 0, 0) scale(.97); }

.mpr-cart-toast__icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	color: #fff;
	background: linear-gradient(135deg, #16b976, #079dcb);
	box-shadow: 0 8px 18px rgba(12, 166, 142, .24);
	font-size: 22px;
	font-weight: 900;
}

.mpr-cart-toast--booked .mpr-cart-toast__icon,
.mpr-cart-toast--error .mpr-cart-toast__icon {
	background: linear-gradient(135deg, #ff5b78, #d52b4a);
	box-shadow: 0 8px 18px rgba(213, 43, 74, .2);
}

.mpr-cart-toast__body { display: grid; gap: 4px; min-width: 0; }
.mpr-cart-toast__body strong { color: #0c1a42; font-size: 16px; line-height: 1.2; }
.mpr-cart-toast__body > span { color: #556079; font-size: 13px; line-height: 1.45; }

.mpr-cart-toast__close {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	color: #68728a;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.mpr-cart-toast__actions { display: flex; gap: 9px; margin-top: 9px; }
.mpr-cart-toast__actions a,
.mpr-cart-toast__actions button {
	min-height: 34px;
	padding: 7px 11px;
	border: 1px solid #d9dfeb;
	border-radius: 9px;
	color: #18264d;
	background: #fff;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}
.mpr-cart-toast__actions a { border-color: #ff2f83; color: #fff; background: #ff2f83; }

.mpr-cart-toast__timer {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, #ff2f83, #7b55f5, #12bde6);
	transform-origin: left;
	animation: mpr-toast-timer 7s linear forwards;
}

.mpr-cart-toast--booked .mpr-cart-toast__timer,
.mpr-cart-toast--error .mpr-cart-toast__timer { animation-duration: 8.5s; }

@keyframes mpr-cart-spin { to { transform: rotate(360deg); } }
@keyframes mpr-card-added {
	0%, 100% { box-shadow: 0 8px 20px rgba(28, 39, 73, .06); }
	45% { border-color: #28bd78; box-shadow: 0 0 0 5px rgba(40, 189, 120, .16), 0 16px 34px rgba(28, 39, 73, .12); }
}
@keyframes mpr-toast-timer { to { transform: scaleX(0); } }

@media (max-width: 600px) {
	.mpr-cart-toast-stack {
		right: 14px;
		bottom: max(82px, calc(env(safe-area-inset-bottom) + 12px));
		left: 14px;
		width: auto;
	}
	.mpr-cart-toast { grid-template-columns: 38px minmax(0, 1fr) 24px; padding: 14px; border-radius: 15px; }
	.mpr-cart-toast__icon { width: 38px; height: 38px; border-radius: 11px; }
}

@media (max-width: 900px) {
	#js-recently-container.c-product__products--recently,
	.c-product__products--related {
		width: calc(100% - 24px) !important;
		padding: 22px !important;
	}

	.mpr-recently-head,
	.mpr-related-head {
		grid-template-columns: 1fr auto;
		gap: 12px 18px;
	}

	#js-recently-container .c-product-grid__list.owl-carousel .owl-stage,
	.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage {
		max-width: 540px;
		margin-inline: auto;
	}
}

@media (max-width: 600px) {
	#js-recently-container.c-product__products--recently,
	.c-product__products--related {
		margin-block: 24px !important;
		padding: 18px !important;
		border-radius: 18px;
	}

	.mpr-recently-head,
	.mpr-related-head {
		grid-template-columns: 1fr;
		margin-bottom: 16px;
	}

	.mpr-recently-head > a,
	.mpr-recently-head > p,
	.mpr-related-head > a,
	.mpr-related-head > p {
		grid-column: auto;
		grid-row: auto;
	}

	.mpr-recently-head .c-product__products-title,
	.mpr-related-head .c-product__products-title {
		max-width: 100%;
		font-size: clamp(28px, 9.2vw, 36px);
		white-space: nowrap;
	}

	.mpr-recently-head .c-product__products-title {
		font-size: clamp(26px, 8.2vw, 32px);
	}

	#js-recently-container .c-product-grid__list.owl-carousel .owl-stage,
	.c-product__products--related .c-product-grid__list.owl-carousel .owl-stage {
		max-width: 280px;
	}

	#js-recently-container .c-product-grid__thumb-wrap,
	.c-product__products--related .c-product-grid__thumb-wrap {
		height: 160px !important;
		min-height: 160px !important;
	}

	#js-recently-container .mpr-discovery-category,
	.c-product__products--related .mpr-discovery-category {
		top: 126px;
	}
}

@media (max-width: 767px) {
	#main-header .c-header__row {
		background: rgba(2, 6, 23, .98);
	}

	#main-header .c-mobile-menu,
	#main-header .c-header__menu {
		color: #dce1f4;
		background: #070b24;
	}

	#main-header .c-mobile-menu a,
	#main-header .c-header__menu a {
		color: #dce1f4;
	}

	#main-header .c-mobile-menu a:hover,
	#main-header .c-header__menu a:hover,
	#main-header .c-mobile-menu .current-menu-item > a {
		color: #13c9ff;
	}
}

/* Discovery-card footer refinement: one availability status, a readable price
   row, and a compact action inset from the card edges. */
#js-recently-container .c-product-grid__item:has(.srs-badge) .c-product-grid__title-wrap::after,
.c-product__products--related .c-product-grid__item:has(.srs-badge) .c-product-grid__title-wrap::after {
	display: none !important;
	content: none !important;
}

#js-recently-container .srs-badge,
.c-product__products--related .srs-badge {
	min-height: 20px;
	margin: 9px 0 7px;
	padding: 3px 9px;
	border-radius: 6px;
	font-size: 11px;
	line-height: 1.15;
}

#js-recently-container .c-product-grid__bottom,
.c-product__products--related .c-product-grid__bottom {
	align-items: center;
	min-height: 30px;
	margin-top: 2px;
}

#js-recently-container .c-product-grid__price-wrap,
#js-recently-container .price,
.c-product__products--related .c-product-grid__price-wrap,
.c-product__products--related .price {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline !important;
	gap: 3px 7px;
	min-height: 28px;
	margin: 0 !important;
	line-height: 1.05;
}

#js-recently-container .price del,
.c-product__products--related .price del {
	font-size: 11px;
	line-height: 1;
}

#js-recently-container .price ins,
.c-product__products--related .price ins {
	font-size: 17px;
	line-height: 1;
	text-decoration: none;
}

#js-recently-container .c-product-grid__atc,
.c-product__products--related .c-product-grid__atc,
body.single-product #js-recently-container .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button,
body.single-product .c-product__products--related .c-product-grid__item--atc-text > a.c-product-grid__atc.add_to_cart_button {
	flex: 0 0 34px !important;
	align-self: center !important;
	width: calc(100% - 20px) !important;
	min-width: 0 !important;
	max-width: calc(100% - 20px) !important;
	height: 34px !important;
	min-height: 34px !important;
	margin: 7px 10px 10px !important;
	padding: 0 12px !important;
	border-radius: 9px !important;
	font-size: 11px !important;
}
/* Empty cart: keep familiar commerce actions while clarifying the rental context. */
.c-cart-empty__header {
	margin-bottom: 0;
}

.c-cart-empty__copy {
	width: 100%;
	max-width: 440px;
	margin: 12px auto 0;
	color: var(--text-color, #5b6078);
	font-size: 16px;
	line-height: 1.55;
	text-align: center;
	overflow-wrap: break-word;
}

.c-cart-empty__backward {
	margin-top: 28px;
}

@media (max-width: 600px) {
	.c-cart-empty__copy {
		max-width: 320px;
		padding: 0;
		font-size: 15px;
	}
}

/* Sale badges describe the benefit instead of showing an unexplained number. */
.c-badge.c-badge--sale {
	width: auto;
	min-width: 0;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: .02em;
	text-transform: none;
	white-space: nowrap;
	box-shadow: 0 5px 14px rgba(184, 45, 16, .18);
}

/* Let the primary product panel use the available desktop canvas. */
@media (min-width: 1190px) {
	body.single-product .c-product__section--boxed {
		width: calc(100% - 48px);
		max-width: none;
	}
}

/* Compact discovery cards use one consistent information stack. Product-page
 * reviews remain available without creating uneven rows in these small cards. */
#js-recently-container .star-rating,
.c-product__products--related .star-rating {
	display: none !important;
}

#js-recently-container .c-product-grid__item,
.c-product__products--related .c-product-grid__item {
	height: auto !important;
}

#js-recently-container .c-product-grid__details,
.c-product__products--related .c-product-grid__details,
#js-recently-container .c-product-grid__title-wrap,
.c-product__products--related .c-product-grid__title-wrap {
	flex: 0 0 auto;
}

#js-recently-container .c-product-grid__bottom,
.c-product__products--related .c-product-grid__bottom {
	margin-top: 6px;
}

/* Never enlarge the primary product photo beyond its intrinsic dimensions.
 * Smaller sources stay crisp and centered; larger sources may still use the
 * available gallery area, while mobile naturally scales them down. */
body.single-product .c-product__slider-item img.c-product__slider-img {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	transform: translate(-50%, -50%);
}

/* Unconfirmed base prices are quotes, not free rentals. */
body .mpr-quote-price{display:inline-block;color:#125787;font-size:clamp(14px,1.2vw,17px);font-weight:800;line-height:1.3}
body .mpr-product-quote-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 20px;border-radius:12px;background:#ed007c;color:#fff!important;font:750 15px/1.3 Inter,sans-serif;text-decoration:none!important}
body .mpr-product-quote-link:hover{background:#ce006c;color:#fff!important}
body.mpr-quote-product .mpr-pilot-price .mpr-quote-price{font-size:clamp(28px,3.2vw,42px);color:#092745}
body.mpr-quote-product .mpr-pilot-quote-note{max-width:480px;margin:0 0 16px;color:#50647d;font:500 15px/1.5 Inter,sans-serif}
body.mpr-quote-product .mpr-pilot-booking-actions>.mpr-product-quote-link{width:100%}
body.mpr-quote-product #srs-sticky-bar,body.mpr-quote-product .srs-product-date-card,body.mpr-quote-product .srs-booking-terms,body.mpr-quote-product .srs-product-ordering,body.mpr-quote-product form.cart{display:none!important}
body.mpr-quote-product.srs-has-sticky-bar--bottom{padding-bottom:0!important}

/* Ricky repeats a generic title banner before the page's actual content.
 * Remove that banner everywhere so pages begin with their useful content. */
body .c-page-header {
	display: none !important;
}
