/* LHR Pricelist — brand-styled frontend
   Tokens mirror the LHR editorial system. Override any --lhrpl-* var
   in your theme/Elementor custom CSS to retheme without touching the plugin. */

.lhrpl{
	--lhrpl-ink:#484848;
	--lhrpl-ink-soft:#6a6a6a;
	--lhrpl-cream:#F5F1EA;
	--lhrpl-cream-deep:#EFE7DC;
	--lhrpl-peach:#E8A880;
	--lhrpl-mint:#B8E8A8;
	--lhrpl-yellow:#F0E888;
	--lhrpl-line:#E2D9CC;
	--lhrpl-white:#FCFAF6;
	--lhrpl-display:'Cormorant Garamond',Georgia,serif;
	--lhrpl-body:'DM Sans',system-ui,sans-serif;

	font-family:var(--lhrpl-body);
	color:var(--lhrpl-ink);
	max-width:880px;
	margin:0 auto;
	font-weight:300;
	line-height:1.6;
}

/* ---------- tabs ---------- */
.lhrpl-tabs{
	position:sticky;
	top:0;
	z-index:5;
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	padding:14px 0;
	background:var(--lhrpl-white);
	border-bottom:1px solid var(--lhrpl-line);
	margin-bottom:28px;
}
.lhrpl .lhrpl-tab,
.lhrpl button.lhrpl-tab{
	font-family:var(--lhrpl-body);
	font-size:11px;
	letter-spacing:.14em;
	text-transform:uppercase;
	font-weight:500;
	color:var(--lhrpl-ink-soft);
	background:transparent;
	background-image:none;
	border:1px solid var(--lhrpl-line);
	border-radius:2px;
	padding:9px 16px;
	margin:0;
	cursor:pointer;
	box-shadow:none;
	text-decoration:none;
	text-shadow:none;
	outline:none;
	-webkit-appearance:none;
	appearance:none;
	line-height:1.2;
	transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.lhrpl .lhrpl-tab:hover,
.lhrpl .lhrpl-tab:focus,
.lhrpl button.lhrpl-tab:hover,
.lhrpl button.lhrpl-tab:focus{
	color:var(--lhrpl-ink);
	background:transparent;
	background-image:none;
	border-color:var(--lhrpl-peach);
	box-shadow:none;
}
.lhrpl .lhrpl-tab.is-active,
.lhrpl .lhrpl-tab.is-active:hover,
.lhrpl .lhrpl-tab.is-active:focus,
.lhrpl button.lhrpl-tab.is-active{
	background:var(--lhrpl-ink);
	background-image:none;
	color:var(--lhrpl-white);
	border-color:var(--lhrpl-ink);
	box-shadow:none;
}

/* ---------- panels ---------- */
.lhrpl-panel{ display:none; }
.lhrpl-panel.is-active{ display:block; animation:lhrpl-fade .25s ease; }
@keyframes lhrpl-fade{ from{opacity:0;transform:translateY(4px);} to{opacity:1;transform:none;} }

.lhrpl-intro{
	font-size:14px;
	line-height:1.65;
	color:var(--lhrpl-ink-soft);
	max-width:640px;
	margin:0 0 40px;
}

/* ---------- group ---------- */
.lhrpl-group{ margin:0 0 30px; }
/* extra space when a group follows the intro paragraph */
.lhrpl-intro + .lhrpl-group{ margin-top:8px; }
.lhrpl-group-head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:16px;
	padding:0 0 8px;
	border-bottom:1.5px solid var(--lhrpl-ink);
	margin-bottom:6px;
}
.lhrpl-group-title{
	font-family:var(--lhrpl-display);
	font-size:26px;
	font-weight:500;
	color:var(--lhrpl-ink);
	margin:0;
	line-height:1.1;
}
.lhrpl-col-heads{
	display:grid;
	grid-template-columns:repeat(2,72px);
	gap:18px;
	text-align:right;
	font-size:10px;
	letter-spacing:.16em;
	text-transform:uppercase;
	font-weight:500;
	color:var(--lhrpl-peach);
	flex:0 0 auto;
}
.lhrpl-col-heads.is-single{ grid-template-columns:72px; }

/* ---------- rows ---------- */
.lhrpl-rows{ list-style:none; margin:0; padding:0; }
.lhrpl-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:9px 0;
	border-bottom:1px solid var(--lhrpl-line);
}
.lhrpl-row:last-child{ border-bottom:none; }
.lhrpl-name{ font-size:14px; color:var(--lhrpl-ink); }
.lhrpl-prices{
	display:grid;
	grid-template-columns:repeat(2,72px);
	gap:18px;
	text-align:right;
	flex:0 0 auto;
}
.lhrpl-prices.is-single{ grid-template-columns:72px; }
.lhrpl-price{
	font-size:13.5px;
	font-weight:400;
	color:var(--lhrpl-ink);
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}

/* ---------- callout ---------- */
.lhrpl-callout{
	background:var(--lhrpl-cream);
	border:1px solid var(--lhrpl-line);
	border-radius:6px;
	padding:22px 24px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:16px 24px;
	margin:8px 0 30px;
}
.lhrpl-callout-title{
	font-family:var(--lhrpl-display);
	font-size:22px;
	font-weight:500;
	color:var(--lhrpl-ink);
}
.lhrpl-callout-items{ display:flex; flex-wrap:wrap; gap:10px; }
.lhrpl-chip{
	font-size:12px;
	font-weight:500;
	letter-spacing:.02em;
	color:var(--lhrpl-ink);
	background:var(--lhrpl-yellow);
	padding:7px 14px;
	border-radius:40px;
}

/* ---------- responsive ---------- */
@media (max-width:560px){
	.lhrpl-group-head{ flex-direction:column; align-items:stretch; gap:4px; }
	.lhrpl-group-title{ font-size:23px; }
	.lhrpl-name{ font-size:13px; padding-right:10px; }
	.lhrpl-row{ gap:10px; align-items:flex-start; }

	/* fixed-width columns (wide enough for a double range like R1750-2000)
	   so every row's prices line up in two clean vertical columns */
	.lhrpl-col-heads,
	.lhrpl-prices{
		grid-template-columns:repeat(2,88px);
		gap:8px;
		margin-left:auto;
	}
	.lhrpl-col-heads.is-single,
	.lhrpl-prices.is-single{ grid-template-columns:88px; }
	.lhrpl-price{ font-size:12.5px; white-space:nowrap; }
}

@media (max-width:380px){
	/* tighter columns + smaller type to fit the narrowest phones */
	.lhrpl-col-heads,
	.lhrpl-prices{ grid-template-columns:repeat(2,76px); gap:6px; }
	.lhrpl-col-heads.is-single,
	.lhrpl-prices.is-single{ grid-template-columns:76px; }
	.lhrpl-price{ font-size:11.5px; }
	.lhrpl-name{ font-size:12.5px; }
}
