:root {
	--spk-swim-gold: #ddb33f;
	--spk-swim-gold-light: #f2ce68;
	--spk-swim-ink: #070707;
	--spk-swim-panel: #11100d;
	--spk-swim-muted: #b7b1a6;
	--spk-swim-line: rgba(221, 179, 63, .46);
}

body.spk-swim-spa-page {
	background: var(--spk-swim-ink) !important;
}

.spk-swim-product,
.spk-swim-product * {
	box-sizing: border-box;
}

.spk-swim-product {
	width: min(1480px, calc(100% - 48px));
	margin: 0 auto;
	padding: 38px 0 80px;
	color: #fff;
	font-family: inherit;
}

.spk-swim-product a { color: inherit; }
.spk-swim-product__breadcrumbs { margin: 0 0 26px; color: #aaa49a; font-size: 14px; }
.spk-swim-product__breadcrumbs .woocommerce-breadcrumb { margin: 0; color: inherit; }
.spk-swim-product__breadcrumbs a { color: var(--spk-swim-gold-light); text-decoration: none; }

.spk-swim-product__hero,
.spk-swim-product__intro,
.spk-swim-product__specifications,
.spk-swim-product__planning,
.spk-swim-product__cta {
	border: 1px solid var(--spk-swim-line);
	border-radius: 30px;
	background: linear-gradient(135deg, #090909 0%, #17140c 100%);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .34);
}

.spk-swim-product__hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr); overflow: hidden; }
.spk-swim-product__gallery { padding: 32px; border-right: 1px solid var(--spk-swim-line); }
.spk-swim-product__image-stage {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 570px;
	padding: 32px;
	border: 1px solid rgba(221, 179, 63, .28);
	border-radius: 24px;
	background: radial-gradient(circle at 50% 58%, rgba(221, 179, 63, .18), transparent 43%), #050505;
	overflow: hidden;
}
.spk-swim-product__image-stage > span { position: absolute; top: 22px; left: 22px; padding: 9px 15px; border-radius: 999px; background: var(--spk-swim-gold); color: #090909; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.spk-swim-product__main-image { width: 100%; height: 500px; object-fit: contain; filter: drop-shadow(0 20px 25px rgba(0, 0, 0, .55)); }
.spk-swim-product__thumbnails { display: flex; gap: 12px; margin-top: 16px; overflow-x: auto; padding-bottom: 4px; }
.spk-swim-product__thumbnails button { flex: 0 0 82px; width: 82px; height: 72px; padding: 6px; border: 1px solid #4a422d; border-radius: 13px; background: #0a0a09; cursor: pointer; opacity: .65; transition: .2s ease; }
.spk-swim-product__thumbnails button:hover,
.spk-swim-product__thumbnails button.is-active { border-color: var(--spk-swim-gold); opacity: 1; transform: translateY(-2px); }
.spk-swim-product__thumbnails img { width: 100%; height: 100%; object-fit: contain; }

.spk-swim-product__summary { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 5vw, 76px); }
.spk-swim-product__eyebrow { margin: 0 0 14px; color: var(--spk-swim-gold-light); font-size: 13px; font-weight: 800; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.spk-swim-product h1 { margin: 0; color: #fff; font-size: clamp(46px, 5.2vw, 82px); line-height: .98; letter-spacing: -.045em; }
.spk-swim-product__lead { margin: 25px 0 0; color: #d7d2c8; font-size: 20px; line-height: 1.65; }
.spk-swim-product__quick-specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 32px 0 0; overflow: hidden; border: 1px solid #403821; border-radius: 17px; background: #403821; }
.spk-swim-product__quick-specs div { min-width: 0; padding: 16px; background: #0c0c0b; }
.spk-swim-product__quick-specs span { display: block; margin-bottom: 6px; color: #9e978b; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.spk-swim-product__quick-specs strong { display: block; color: #fff; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.spk-swim-product__purchase { margin-top: 34px; padding-top: 30px; border-top: 1px solid #3d3728; }
.spk-swim-product__price { margin-bottom: 8px; color: #fff; font-size: clamp(32px, 3.2vw, 50px); font-weight: 800; }
.spk-swim-product__price del { color: #9b7e77; font-size: .52em; }
.spk-swim-product__price ins { text-decoration: none; }
.spk-swim-product__stock { min-height: 24px; color: #c9c4ba; }
.spk-swim-product__summary form.cart { display: flex; align-items: stretch; gap: 12px; margin: 22px 0 12px !important; }
.spk-swim-product__summary form.cart .quantity input { width: 82px; height: 58px; border: 1px solid var(--spk-swim-line); border-radius: 999px; background: #050505; color: #fff; text-align: center; }
.spk-swim-product__summary form.cart button,
.spk-swim-product__button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 58px; padding: 15px 27px !important; border: 1px solid var(--spk-swim-gold) !important; border-radius: 999px !important; background: linear-gradient(135deg, #c9931f, var(--spk-swim-gold-light)) !important; color: #080808 !important; font-weight: 800 !important; line-height: 1.2 !important; text-align: center; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease; }
.spk-swim-product__summary form.cart button { flex: 1; }
.spk-swim-product__button:hover,
.spk-swim-product__summary form.cart button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(221, 179, 63, .2); }
.spk-swim-product__button--outline { width: 100%; background: transparent !important; color: var(--spk-swim-gold-light) !important; }
.spk-swim-product__availability { color: #fff; font-size: 18px; line-height: 1.5; }
.spk-swim-product__assurance { display: grid; gap: 8px; margin-top: 22px; color: #aaa49a; font-size: 13px; }
.spk-swim-product__assurance span::before { content: '✓'; margin-right: 9px; color: var(--spk-swim-gold); font-weight: 800; }

.spk-swim-product__intro { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; margin-top: 30px; padding: clamp(42px, 6vw, 82px); background: #f4f1e9; color: #111; }
.spk-swim-product__intro h2,
.spk-swim-product__section-heading h2,
.spk-swim-product__cta h2 { margin: 0; color: inherit; font-size: clamp(38px, 4.4vw, 66px); line-height: 1.04; letter-spacing: -.035em; }
.spk-swim-product__copy { color: #433f38; font-size: 18px; line-height: 1.75; }
.spk-swim-product__copy > :first-child { margin-top: 0; }
.spk-swim-product__copy > :last-child { margin-bottom: 0; }
.spk-swim-product__intro .spk-swim-product__eyebrow { color: #9c700b; }

.spk-swim-product__specifications,
.spk-swim-product__planning { margin-top: 30px; padding: clamp(42px, 5vw, 72px); }
.spk-swim-product__section-heading { max-width: 820px; margin-bottom: 34px; }
.spk-swim-product__section-heading > p:last-child { color: var(--spk-swim-muted); font-size: 17px; line-height: 1.65; }
.spk-swim-product__spec-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.spk-swim-product__spec-grid article { display: flex; align-items: center; min-width: 0; gap: 17px; padding: 21px; border: 1px solid #3d3728; border-radius: 17px; background: rgba(0, 0, 0, .38); }
.spk-swim-product__spec-grid article > span { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: rgba(221, 179, 63, .13); color: var(--spk-swim-gold-light); font-size: 22px; }
.spk-swim-product__spec-grid div { min-width: 0; }
.spk-swim-product__spec-grid small { display: block; margin-bottom: 4px; color: #9e978b; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.spk-swim-product__spec-grid strong { display: block; color: #fff; font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }

.spk-swim-product__planning { background: #f4f1e9; color: #111; }
.spk-swim-product__planning .spk-swim-product__eyebrow { color: #9c700b; }
.spk-swim-product__planning-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.spk-swim-product__planning-grid article { padding: 25px; border: 1px solid #d4c49e; border-radius: 19px; background: #fff; }
.spk-swim-product__planning-grid b { color: #ae811e; font-size: 13px; letter-spacing: .15em; }
.spk-swim-product__planning-grid h3 { margin: 18px 0 9px; color: #111; font-size: 21px; }
.spk-swim-product__planning-grid p { margin: 0; color: #5b554b; line-height: 1.65; }

.spk-swim-product__cta { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 50px; margin-top: 30px; padding: clamp(42px, 6vw, 82px); }
.spk-swim-product__cta p:last-child { max-width: 780px; color: var(--spk-swim-muted); font-size: 18px; line-height: 1.65; }
.spk-swim-product__cta > div:last-child { display: grid; gap: 12px; }

@media (max-width: 1050px) {
	.spk-swim-product__hero { grid-template-columns: 1fr; }
	.spk-swim-product__gallery { border-right: 0; border-bottom: 1px solid var(--spk-swim-line); }
	.spk-swim-product__image-stage { min-height: 480px; }
	.spk-swim-product__main-image { height: 420px; }
	.spk-swim-product__spec-grid { grid-template-columns: repeat(2, 1fr); }
	.spk-swim-product__planning-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
	.spk-swim-product { width: min(100% - 24px, 1480px); padding-top: 20px; }
	.spk-swim-product__hero,
	.spk-swim-product__intro,
	.spk-swim-product__specifications,
	.spk-swim-product__planning,
	.spk-swim-product__cta { border-radius: 22px; }
	.spk-swim-product__gallery { padding: 13px; }
	.spk-swim-product__image-stage { min-height: 310px; padding: 18px; border-radius: 17px; }
	.spk-swim-product__main-image { height: 280px; }
	.spk-swim-product__summary { padding: 32px 22px 38px; }
	.spk-swim-product h1 { font-size: clamp(40px, 13vw, 58px); }
	.spk-swim-product__lead { font-size: 17px; }
	.spk-swim-product__quick-specs { grid-template-columns: 1fr; }
	.spk-swim-product__summary form.cart { flex-wrap: wrap; }
	.spk-swim-product__summary form.cart button { min-width: calc(100% - 96px); }
	.spk-swim-product__intro,
	.spk-swim-product__cta { grid-template-columns: 1fr; gap: 28px; padding: 38px 23px; }
	.spk-swim-product__specifications,
	.spk-swim-product__planning { padding: 38px 21px; }
	.spk-swim-product__spec-grid,
	.spk-swim-product__planning-grid { grid-template-columns: 1fr; }
	.spk-swim-product__section-heading { margin-bottom: 25px; }
}

@media (prefers-reduced-motion: reduce) {
	.spk-swim-product__button,
	.spk-swim-product__summary form.cart button,
	.spk-swim-product__thumbnails button { transition: none; }
}
