/* =========================================================
   Goodwood United — Exco Slider
   Uses the host theme's CSS variables when present
   (--gu-primary, --gu-gold, --gu-dark, --gu-font-heading, etc.)
   and falls back to sensible defaults otherwise, so it also
   looks correct on any other theme.
   ========================================================= */

.gu-es-section{
	--_primary: var(--gu-primary, #146c80);
	--_gold: var(--gu-gold, #f2b705);
	--_dark: var(--gu-dark, #101613);
	--_light: var(--gu-light, #f6f8f8);
	--_gray: var(--gu-gray, #6b7570);
	--_radius: var(--gu-radius, 10px);
	--_heading-font: var(--gu-font-heading, inherit);
	--_body-font: var(--gu-font-body, inherit);

	padding:80px 24px;
	box-sizing:border-box;
	font-family:var(--_body-font);
}
.gu-es-section *{box-sizing:border-box;}
.gu-es-header{max-width:900px;margin:0 auto 40px;text-align:center;}
.gu-es-eyebrow{
	display:block;color:var(--_gold);font-family:var(--_heading-font);text-transform:uppercase;
	letter-spacing:.15em;font-size:13px;font-weight:600;margin-bottom:8px;
}
.gu-es-title{
	font-family:var(--_heading-font);text-transform:uppercase;letter-spacing:.03em;
	font-size:clamp(24px,3.4vw,36px);color:var(--_dark);margin:0;
}

.gu-es-slider{position:relative;max-width:1200px;margin:0 auto;overflow:hidden;}
.gu-es-track{display:flex;will-change:transform;}
.gu-es-slide{
	flex:0 0 calc(100% / var(--gu-es-desktop, 4));
	max-width:calc(100% / var(--gu-es-desktop, 4));
	padding:10px;
}
@media (max-width:960px){
	.gu-es-slide{flex-basis:calc(100% / var(--gu-es-tablet, 2));max-width:calc(100% / var(--gu-es-tablet, 2));}
}
@media (max-width:640px){
	.gu-es-slide{flex-basis:calc(100% / var(--gu-es-mobile, 1));max-width:calc(100% / var(--gu-es-mobile, 1));}
}

.gu-es-card{
	background:#fff;border-radius:var(--_radius);padding:28px 22px;text-align:center;height:100%;
	box-shadow:0 6px 24px rgba(16,22,19,.08);transition:transform .25s ease,box-shadow .25s ease;
}
.gu-es-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(16,22,19,.14);}
.gu-es-photo{
	width:110px;height:110px;border-radius:50%;overflow:hidden;margin:0 auto 18px;
	border:4px solid var(--_gold);background:var(--_light);
	display:flex;align-items:center;justify-content:center;
}
.gu-es-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.gu-es-initial{font-family:var(--_heading-font);font-size:34px;color:var(--_primary);font-weight:700;}
.gu-es-name{font-family:var(--_heading-font);text-transform:uppercase;letter-spacing:.02em;font-size:17px;margin:0 0 4px;color:var(--_dark);}
.gu-es-role{display:block;color:var(--_primary);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:10px;}
.gu-es-bio{font-size:14px;color:var(--_gray);margin:0;line-height:1.6;}

.gu-es-arrow{
	position:absolute;top:50%;transform:translateY(-50%);z-index:5;
	width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
	background:#fff;color:var(--_dark);font-size:16px;box-shadow:0 6px 18px rgba(16,22,19,.15);
	display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;
}
.gu-es-arrow:hover{background:var(--_gold);color:var(--_dark);}
.gu-es-prev{left:-4px;}
.gu-es-next{right:-4px;}
@media (max-width:640px){
	.gu-es-arrow{width:36px;height:36px;}
}

.gu-es-dots{display:flex;justify-content:center;gap:10px;margin-top:26px;}
.gu-es-dots button{
	width:10px;height:10px;border-radius:50%;border:none;background:#d8dedb;cursor:pointer;padding:0;
	transition:background .2s ease,transform .2s ease;
}
.gu-es-dots button.is-active{background:var(--_primary);transform:scale(1.2);}

.gu-es-empty-notice{
	max-width:600px;margin:40px auto;padding:16px 20px;background:#fbe9e9;color:#a93226;
	border-radius:8px;text-align:center;font-family:var(--_body-font, inherit);
}

@media (prefers-reduced-motion: reduce){
	.gu-es-track{transition:none !important;}
}
