/* Product page. */
.ks-pdp .ks-crumbs { padding: 12px 0 16px; }
.ks-pdp__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 1024px) {
	.ks-pdp__grid { grid-template-columns: minmax(0, 54%) minmax(0, 36%); justify-content: space-between; gap: 0; }
	.ks-pdp__sticky { position: sticky; top: calc(var(--ks-header-h) + 16px); }
}
.ks-pdp__media { min-width: 0; }

/* Gallery. */
.ks-gallery { display: flex; flex-direction: column-reverse; gap: 12px; }
.ks-gallery__thumbs { display: none; }
.ks-gallery__stage { position: relative; flex: 1; min-width: 0; }
.ks-gallery__slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ks-gallery__slides::-webkit-scrollbar { display: none; }
.ks-gallery__slide { flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 16 / 11; display: flex; align-items: center; justify-content: center; }
.ks-gallery__slide > svg, .ks-gallery__slide > img { width: 100%; height: 100%; object-fit: contain; }
.ks-gallery__actions { position: absolute; top: 0; right: 0; display: flex; gap: 16px; }
.ks-roundbtn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--ks-gray5); background: var(--ks-white); }
.ks-roundbtn:hover { border-color: var(--ks-black); }
.ks-roundbtn[aria-pressed="true"] { color: var(--ks-red); border-color: var(--ks-red); }
.ks-roundbtn[aria-pressed="true"] .ks-icon { fill: currentColor; }
.ks-gallery__dots { display: flex; justify-content: center; gap: 6px; margin-top: 8px; }
.ks-gallery__dots span { width: 6px; height: 6px; border-radius: 50%; background: var(--ks-gray5); }
.ks-gallery__dots span.is-active { background: var(--ks-black); }
@media (min-width: 1024px) {
	.ks-gallery { flex-direction: row; gap: 18px; }
	.ks-gallery__thumbs { display: flex; flex-direction: column; gap: 10px; width: 90px; flex-shrink: 0; max-height: 360px; overflow-y: auto; scrollbar-width: none; }
	.ks-gallery__thumb { width: 90px; height: 88px; flex-shrink: 0; padding: 6px; border: 1px solid var(--ks-gray6); border-radius: var(--ks-r-xs); background: var(--ks-white); }
	.ks-gallery__thumb[aria-selected="true"] { border: 2px solid var(--ks-black); }
	.ks-gallery__thumb svg, .ks-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
	.ks-gallery__slides { display: block; overflow: visible; }
	.ks-gallery__slide { display: none; aspect-ratio: auto; height: 360px; }
	.ks-gallery__slide.is-active { display: flex; }
	.ks-gallery__dots { display: none; }
}

.ks-colorways { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 24px; padding: 8px 0 24px; border-top: 1px solid var(--ks-gray6); }
.ks-colorways__list { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; }
.ks-colorways__list a { display: block; width: 64px; height: 54px; padding: 2px; border-radius: 2px; }
.ks-colorways__list .is-current a { background: var(--ks-gray6); }
.ks-colorways__list svg, .ks-colorways__list img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 1024px) { .ks-colorways__list a { width: 72px; } }

.ks-pdp-block { margin-top: 32px; }
.ks-pdp-block__title { font-size: var(--ks-fs-18); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 20px; }
@media (min-width: 1024px) { .ks-pdp-block__title { font-size: var(--ks-fs-20); } .ks-pdp-block { margin-top: 40px; } }
.ks-details__text { font-size: var(--ks-fs-15); line-height: 1.35; }
.ks-details__text p + p { margin-top: 12px; }
.ks-details__specs { margin: 20px 0 0; display: flex; flex-direction: column; gap: 10px; }
.ks-details__specs > div { display: grid; grid-template-columns: 112px 1fr; gap: 12px; font-size: var(--ks-fs-15); text-transform: uppercase; }
.ks-details__specs dt { color: var(--ks-black); }
.ks-details__specs dd { margin: 0; font-weight: 600; }
.ks-details__specs dd a { text-decoration: underline; text-underline-offset: 3px; }
.ks-details__toggle { margin-top: 16px; text-transform: none; }
.ks-pdp-looks__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
@media (min-width: 1024px) { .ks-pdp-looks__grid { grid-template-columns: repeat(4, 1fr); } }

/* Summary column. */
.ks-pdp__title { font-size: var(--ks-fs-18); font-weight: 500; line-height: 1.3; }
.ks-pdp__sku { margin-left: 4px; }
@media (min-width: 1024px) { .ks-pdp__title { font-size: var(--ks-fs-20); } }
.ks-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ks-chip--best { margin-top: 8px; background: var(--ks-light-orange); color: var(--ks-black); text-transform: uppercase; }
.ks-pdp-price { margin-top: 20px; }
.ks-pdp-price__main { display: flex; align-items: baseline; gap: 6px; }
.ks-pdp-price__value { font-size: var(--ks-fs-24); font-weight: 700; letter-spacing: -.01em; }
@media (min-width: 1024px) { .ks-pdp-price__value { font-size: 26px; } }
.ks-pdp-price__note { font-size: var(--ks-fs-11); font-style: italic; color: var(--ks-gray3); }
.ks-pdp-price__last { display: flex; align-items: center; gap: 6px; margin-top: 14px; color: var(--ks-red); font-size: var(--ks-fs-14); }
.ks-pdp-price__last.is-hidden { visibility: hidden; }
.ks-pdp-price__last del { color: var(--ks-red); }

.ks-authbar {
	position: relative; overflow: hidden;
	display: flex; align-items: center; gap: 10px;
	margin-top: 14px; padding: 0 16px; height: 44px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--ks-mint-from), var(--ks-mint-to));
}
.ks-authbar__mark { font-size: 15px; }
.ks-authbar__sep { width: 1px; height: 16px; background: var(--ks-black); }
.ks-authbar__text { font-size: var(--ks-fs-14); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.ks-authbar__shield { position: absolute; right: 40px; top: 50%; transform: translateY(-50%); color: rgba(255, 255, 255, .9); stroke-width: 1.2; }
.ks-authbar__arrow { margin-left: auto; position: relative; }

.ks-buy-form { margin-top: 24px; }
.ks-sizesys { display: flex; gap: 12px; margin-bottom: 18px; }
.ks-sizesys__btn { min-width: 48px; height: 32px; padding: 0 8px; border-radius: 2px; background: var(--ks-gray7); font-size: var(--ks-fs-14); font-weight: 500; }
.ks-sizesys__btn[aria-pressed="true"] { background: var(--ks-black); color: var(--ks-white); }
.ks-sizebar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ks-sizebar__chart { font-size: var(--ks-fs-14); color: var(--ks-gray1); text-decoration: underline; text-underline-offset: 3px; }
.ks-sizebar .ks-check { font-size: var(--ks-fs-14); text-transform: uppercase; color: var(--ks-black); }
.ks-sizegrid {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	max-height: 280px; overflow-y: auto; scrollbar-width: thin;
	border-top: 1px solid var(--ks-gray6); border-left: 1px solid var(--ks-gray6);
}
.ks-sizegrid.is-instock .ks-size.is-disabled { display: none; }
.ks-size {
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	min-height: 56px; padding: 6px 2px;
	border-right: 1px solid var(--ks-gray6); border-bottom: 1px solid var(--ks-gray6);
	cursor: pointer; text-align: center;
}
.ks-size input { position: absolute; opacity: 0; pointer-events: none; }
.ks-size__label { display: inline-flex; align-items: center; gap: 2px; font-size: var(--ks-fs-14); font-weight: 600; }
.ks-size__label .ks-icon { color: var(--ks-green); }
.ks-size__price { font-size: var(--ks-fs-12); color: var(--ks-gray2); }
.ks-size:hover { background: var(--ks-gray8); }
.ks-size:has(input:checked) { outline: 1px solid var(--ks-black); outline-offset: -1px; z-index: 1; }
.ks-size.is-checked { outline: 1px solid var(--ks-black); outline-offset: -1px; z-index: 1; }
.ks-size:has(input:focus-visible) { outline: 2px solid var(--ks-blue); outline-offset: -2px; }
.ks-size.is-disabled { cursor: not-allowed; color: var(--ks-gray4); }
.ks-size.is-disabled .ks-size__price { color: var(--ks-gray4); }
.ks-buy-form__error { margin-top: 8px; color: var(--ks-red); font-size: var(--ks-fs-13); }
.ks-buy-form.has-error .ks-sizegrid { animation: ks-shake .3s; border-color: var(--ks-red); }
@keyframes ks-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

.ks-buy {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	width: 100%; min-height: 64px; margin-top: 10px; padding: 10px 16px;
	border-radius: var(--ks-r-xs);
	background: var(--ks-black); color: var(--ks-white);
}
.ks-buy:hover:not([disabled]) { background: var(--ks-charcoal); }
.ks-buy[disabled] { background: var(--ks-gray4); cursor: not-allowed; }
.ks-buy__main { font-size: var(--ks-fs-15); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.ks-buy__main del { margin-left: 4px; font-size: var(--ks-fs-12); font-weight: 400; color: var(--ks-gray4); }
.ks-buy__sep { margin: 0 4px; font-weight: 400; }
.ks-buy__sub { display: inline-flex; align-items: center; gap: 4px; font-size: var(--ks-fs-12); }
.ks-sell { display: block; margin-top: 12px; padding: 14px; border: 1px solid var(--ks-black); border-radius: var(--ks-r-xs); text-align: center; font-size: var(--ks-fs-14); text-transform: uppercase; }
.ks-sell:hover { background: var(--ks-gray7); }

.ks-pdp-trust { margin-top: 24px; border-top: 1px solid var(--ks-gray6); }
.ks-pdp-trust li { border-bottom: 1px solid var(--ks-gray6); }
.ks-pdp-trust a, .ks-pdp-trust__pay { display: flex; align-items: center; gap: 12px; padding: 14px 0; font-size: var(--ks-fs-14); }
.ks-pdp-trust a span { margin-right: auto; }
.ks-pdp-trust a:hover span { text-decoration: underline; }
.ks-paycards { display: inline-flex; gap: 6px; margin-left: auto; color: var(--ks-gray2); }
.ks-pdp-reviews-summary { margin-top: 20px; }
.ks-pdp-reviews-summary__label { font-size: var(--ks-fs-13); font-weight: 600; text-transform: uppercase; }
.ks-pdp-reviews-summary__score { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.ks-pdp-reviews-summary__score strong { font-size: var(--ks-fs-20); }
.ks-pdp-reviews-summary__score a { font-size: var(--ks-fs-13); color: var(--ks-gray2); text-decoration: underline; }

.ks-stickybuy {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 12px var(--ks-gutter) calc(12px + env(safe-area-inset-bottom));
	background: var(--ks-white); border-top: 1px solid var(--ks-gray6);
	box-shadow: 0 -6px 20px rgba(10, 10, 10, .06);
}
.ks-stickybuy__price { font-size: var(--ks-fs-18); font-weight: 700; }
.ks-stickybuy__btn { flex: 0 0 55%; height: 46px; border-radius: var(--ks-r-xs); background: var(--ks-black); color: var(--ks-white); font-weight: 700; text-transform: uppercase; }
@media (min-width: 1024px) { .ks-stickybuy { display: none !important; } }

.ks-pdp > .ks-rail { margin-top: var(--ks-section-gap); }
.ks-pdp-reviews .comment-reply-title, .ks-pdp-reviews .woocommerce-Reviews-title { font-size: var(--ks-fs-18); text-transform: uppercase; margin-bottom: 12px; }
