/*--------------------------------------------------------------
# Classic Polo — Our Retail Network
#
# The page argues one thing: there are two routes to the customer.
# Shelves that belong to someone else (multi-brand), and stores that
# belong to us (exclusive). The design carries that split rather than
# decorating it — the multi-brand half is light and shared, the
# exclusive half is dark and owned.
#
# Tokens come from .cp-sec in cp-sections.css.
--------------------------------------------------------------*/

/* Opening ---------------------------------------------------------- */

.cp-r-open {
	max-width: 62ch;
}

.cp-r-open .cp-r-statement .elementor-heading-title {
	font-size: clamp( 1.75rem, 3.4vw, 2.75rem );
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -0.02em;
}

/* Figures sit on a rule rather than in boxes. */
.cp-r-figs {
	border-top: 2px solid var( --cp-ink );
}

.cp-r-fig {
	border-left: 1px solid var( --cp-rule );
}

.cp-r-fig:first-child {
	border-left: 0;
}

.cp-r-fig .cp-r-n .elementor-heading-title {
	font-family: var( --monofont );
	font-size: clamp( 1.75rem, 3.2vw, 2.75rem );
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var( --cp-navy );
	font-variant-numeric: tabular-nums;
}

.cp-sec .cp-r-fig p {
	font-size: 0.8125rem;
	line-height: 1.5;
	max-width: 30ch;
}

/* The two routes --------------------------------------------------- */

.cp-r-route {
	border-top: 2px solid var( --cp-navy );
}

.cp-r-route--own {
	border-top-color: var( --cp-gold );
}

.cp-r-route .cp-r-kicker .elementor-heading-title {
	font-family: var( --monofont );
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var( --cp-muted );
}

/* The shelf -------------------------------------------------------
   Retail types sit on a common baseline, the way stock sits on a
   shelf. Nothing is singled out: Classic Polo is present across all four. */

.cp-r-shelf {
	border-bottom: 2px solid var( --cp-ink );
	align-items: stretch !important;
}

.cp-r-tile {
	border-left: 1px solid var( --cp-rule );
	position: relative;
}

.cp-r-tile:first-child {
	border-left: 0;
}

.cp-r-tile .elementor-heading-title {
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.45;
	color: var( --cp-ink );
	letter-spacing: 0;
}

/* The exchange ----------------------------------------------------
   Two facing columns: what retailers get from us, what we give back.
   The centre rule is the point — this is a trade, not a list. */

.cp-r-exchange {
	align-items: stretch !important;
}

.cp-r-give {
	border-left: 1px solid var( --cp-rule );
}

.cp-r-head .elementor-heading-title {
	font-family: var( --monofont );
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var( --cp-muted );
}

.cp-r-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cp-r-list li {
	position: relative;
	padding: 14px 0 14px 26px;
	border-top: 1px solid var( --cp-rule );
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var( --cp-ink );
}

.cp-r-list li:first-child {
	border-top: 0;
}

.cp-r-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 22px;
	width: 8px;
	height: 8px;
	background: var( --cp-gold );
	transform: rotate( 45deg );
}

.cp-r-list--give li::before {
	background: none;
	border: 1px solid var( --cp-navy );
}

/* Exclusive stores — the owned half ------------------------------- */

.cp-sec.cp-r-ebo {
	background: var( --cp-navy );
}

.cp-sec.cp-r-ebo .elementor-heading-title,
.cp-sec.cp-r-ebo h2,
.cp-sec.cp-r-ebo h3 {
	color: #fff;
}

.cp-sec.cp-r-ebo p {
	color: rgba( 255, 255, 255, 0.78 );
}

.cp-sec.cp-r-ebo .cp-r-kicker .elementor-heading-title {
	color: rgba( 255, 255, 255, 0.6 );
}

.cp-r-count .elementor-heading-title {
	font-family: var( --monofont );
	font-size: clamp( 3.5rem, 11vw, 8.5rem );
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.04em;
	color: var( --cp-gold ) !important;
	font-variant-numeric: tabular-nums;
}

/* The brand promise, set as the one quoted line on the page. */
.cp-r-quote .elementor-heading-title {
	font-size: clamp( 1.25rem, 2.4vw, 1.875rem );
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -0.01em;
	padding-left: 22px;
	border-left: 2px solid var( --cp-gold );
	color: #fff;
}

/* Map placeholder -------------------------------------------------- */

.cp-r-map {
	border: 2px dashed rgba( 255, 255, 255, 0.28 );
	min-height: clamp( 240px, 34vw, 420px );
	align-items: center !important;
	justify-content: center !important;
	text-align: center;
}

.cp-r-map .cp-r-maplabel .elementor-heading-title {
	font-family: var( --monofont );
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba( 255, 255, 255, 0.72 );
}

.cp-sec.cp-r-ebo .cp-r-map p {
	color: rgba( 255, 255, 255, 0.5 );
	font-size: 0.8125rem;
	max-width: 42ch;
	margin-inline: auto;
}

/* Closing actions -------------------------------------------------- */

.cp-r-act {
	border-top: 2px solid var( --cp-ink );
}

.cp-r-act--alt {
	border-top-color: var( --cp-gold );
}

.cp-sec .cp-r-act p {
	max-width: 40ch;
}

/* Sustainability strip --------------------------------------------- */

.cp-r-sustain {
	border-top: 1px solid var( --cp-rule );
}

.cp-r-sust-item {
	border-left: 1px solid var( --cp-rule );
}

.cp-r-sust-item:first-child {
	border-left: 0;
}

.cp-sec .cp-r-sust-item p {
	font-size: 0.875rem;
}

/* Responsive -------------------------------------------------------- */

@media screen and ( max-width: 1024px ) {
	.cp-r-fig,
	.cp-r-tile,
	.cp-r-give,
	.cp-r-sust-item {
		border-left: 0;
		border-top: 1px solid var( --cp-rule );
	}

	.cp-r-fig:first-child,
	.cp-r-tile:first-child,
	.cp-r-sust-item:first-child {
		border-top: 0;
	}

	.cp-r-give {
		border-top: 2px solid var( --cp-navy );
		margin-top: 8px;
	}

}
