/**
 * YOKO Kids Elementor homepage.
 * Shared visual system for all custom widgets.
 */

:root {
	--yoko-primary: #702587;
	--yoko-primary-dark: #4d1767;
	--yoko-pink: #e8397b;
	--yoko-yellow: #ffd326;
	--yoko-text: #211b25;
	--yoko-muted: #716a75;
	--yoko-bg-soft: #fbf7fd;
	--yoko-radius: 18px;
	--yoko-container-width: 1440px;
	--yoko-section-space: 92px;
	--yoko-header-offset: 0px;
	--yoko-shadow: 0 18px 50px rgba(58, 24, 75, 0.09);
}

.elementor-widget-yoko_hero_slider,
.elementor-widget-yoko_quick_categories,
.elementor-widget-yoko_season_cards,
.elementor-widget-yoko_products,
.elementor-widget-yoko_benefits,
.elementor-widget-yoko_lookbook,
.elementor-widget-yoko_distribution,
.elementor-widget-yoko_posts,
.elementor-widget-yoko_commitments {
	width: 100%;
}


.yoko-home-template-section,
.yoko-home-template-section > .elementor-container,
.yoko-home-template-section > .e-con-inner,
.elementor-widget-yoko_hero_slider {
	width: 100%;
	max-width: none !important;
	overflow: visible;
}

.yoko-home-template-section > .elementor-container > .elementor-column,
.yoko-home-template-section > .elementor-container > .elementor-column > .elementor-element-populated {
	padding: 0;
}

.elementor-widget-yoko_hero_slider .elementor-widget-container,
.elementor-widget-yoko_quick_categories .elementor-widget-container,
.elementor-widget-yoko_season_cards .elementor-widget-container,
.elementor-widget-yoko_products .elementor-widget-container,
.elementor-widget-yoko_benefits .elementor-widget-container,
.elementor-widget-yoko_lookbook .elementor-widget-container,
.elementor-widget-yoko_distribution .elementor-widget-container,
.elementor-widget-yoko_posts .elementor-widget-container,
.elementor-widget-yoko_commitments .elementor-widget-container {
	margin: 0;
}

.yoko-container {
	width: min(calc(100% - 48px), var(--yoko-container-width));
	margin-inline: auto;
}

.yoko-section {
	position: relative;
	padding-block: var(--yoko-section-space);
	color: var(--yoko-text);
	background: #fff;
}

.yoko-section-header {
	margin-bottom: 34px;
}

.yoko-section-header-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.yoko-eyebrow {
	display: block;
	margin-bottom: 8px;
	color: var(--yoko-primary);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.yoko-section-title {
	margin: 0;
	color: var(--yoko-primary);
	font-size: clamp(26px, 2.2vw, 38px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.yoko-title-center {
	text-align: center;
}

.yoko-section-copy {
	color: var(--yoko-muted);
	font-size: 15px;
	line-height: 1.72;
}

.yoko-section-copy p:last-child {
	margin-bottom: 0;
}

.yoko-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.035em;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.yoko-button:hover,
.yoko-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(74, 19, 102, 0.18);
}

.yoko-button-primary {
	background: var(--yoko-primary);
	color: #fff !important;
}

.yoko-button-outline {
	border-color: var(--yoko-primary);
	background: transparent;
	color: var(--yoko-primary) !important;
}

.yoko-text-link {
	color: var(--yoko-primary) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}

.yoko-empty-state,
.yoko-admin-placeholder {
	padding: 30px;
	border: 1px dashed #d7ccdc;
	border-radius: var(--yoko-radius);
	color: var(--yoko-muted);
	text-align: center;
}

/* Hero — native scroll progression, no wheel interception. */
.yoko-hero-stack {
	--yoko-hero-height: 92vh;
	position: relative;
	height: calc(var(--yoko-slide-count) * var(--yoko-hero-height));
	min-height: calc(var(--yoko-slide-count) * 620px);
	background: #fff;
	isolation: isolate;
}

.yoko-hero-viewport {
	position: sticky;
	top: var(--yoko-header-offset);
	height: min(var(--yoko-hero-height), calc(100svh - var(--yoko-header-offset)));
	min-height: 620px;
	overflow: hidden;
	background: #eef2f7;
	outline: 0;
}

.yoko-hero-track,
.yoko-hero-slide,
.yoko-hero-media,
.yoko-hero-media picture,
.yoko-hero-media img,
.yoko-hero-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.yoko-hero-slide {
	z-index: 0;
	overflow: hidden;
	background: var(--slide-bg, #dcefff);
	opacity: 0;
	visibility: hidden;
	transform: scale(1.025);
	transition: opacity 520ms ease, transform 900ms cubic-bezier(.2,.75,.25,1), visibility 0s linear 520ms;
}

.yoko-hero-slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	transform: scale(1);
	transition-delay: 0s;
}

.yoko-hero-media img {
	object-fit: cover;
	object-position: var(--slide-image-position, 50% 50%);
}

.yoko-hero-overlay {
	z-index: 1;
	background: var(--slide-overlay, #fff);
	opacity: var(--slide-overlay-opacity, 0);
	pointer-events: none;
}

.yoko-hero-inner {
	position: relative;
	z-index: 2;
	display: flex;
	height: 100%;
	align-items: center;
}

.yoko-hero-content {
	width: min(var(--slide-content-width, 46%), 760px);
	color: var(--slide-text, var(--yoko-text));
	text-align: left;
}

.yoko-content-center .yoko-hero-inner {
	justify-content: center;
}

.yoko-content-center .yoko-hero-content {
	text-align: center;
}

.yoko-content-right .yoko-hero-inner {
	justify-content: flex-end;
}

.yoko-content-right .yoko-hero-content {
	text-align: right;
}

.yoko-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin-bottom: 16px;
	padding: 6px 18px;
	border-radius: 999px;
	background: var(--slide-accent, var(--yoko-primary));
	color: #fff;
	font-size: clamp(14px, 1.3vw, 21px);
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	transform: rotate(-2deg);
}

.yoko-hero-title {
	max-width: 900px;
	margin: 0;
	color: var(--slide-title, var(--yoko-primary));
	font-size: clamp(54px, 7vw, 126px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.055em;
	text-wrap: balance;
}

.yoko-hero-subtitle {
	margin-top: 22px;
	color: var(--slide-text, var(--yoko-text));
	font-size: clamp(16px, 1.55vw, 25px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.015em;
	text-transform: uppercase;
	white-space: pre-line;
}

.yoko-hero-description {
	max-width: 620px;
	margin-top: 18px;
	color: var(--slide-text, var(--yoko-text));
	font-size: clamp(15px, 1.1vw, 18px);
	line-height: 1.65;
}

.yoko-hero-button {
	margin-top: 28px;
	background: var(--slide-button-bg, var(--yoko-primary));
	color: var(--slide-button-color, #fff) !important;
}

.yoko-hero-fraction {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: clamp(20px, 3.4vw, 64px);
	display: flex;
	align-items: baseline;
	gap: 6px;
	color: var(--yoko-text);
	font-size: 13px;
	transform: translateY(-50%);
}

.yoko-hero-fraction::after {
	position: absolute;
	top: calc(100% + 14px);
	left: 10px;
	width: 1px;
	height: 150px;
	background: currentColor;
	content: '';
	opacity: 0.45;
}

.yoko-hero-fraction strong {
	font-size: 24px;
	font-weight: 700;
}

.yoko-hero-navigation {
	position: absolute;
	z-index: 5;
	right: clamp(18px, 2.6vw, 48px);
	bottom: clamp(18px, 3vw, 42px);
	display: flex;
	gap: 8px;
}

.yoko-hero-navigation button {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid rgba(112, 37, 135, 0.35);
	border-radius: 50%;
	background: rgba(255,255,255,.86);
	color: var(--yoko-primary);
	font-size: 20px;
	box-shadow: 0 8px 30px rgba(48, 20, 63, 0.12);
	cursor: pointer;
	backdrop-filter: blur(10px);
}

.yoko-hero-navigation button:disabled {
	opacity: 0.42;
	cursor: default;
}

/* Quick categories. */
.yoko-quick-categories {
	padding-block: 26px 32px;
	border-bottom: 1px solid #eee8f1;
}

.yoko-quick-category-list {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 18px;
	align-items: start;
}

.yoko-quick-category {
	position: relative;
	display: flex;
	min-width: 0;
	align-items: center;
	flex-direction: column;
	gap: 11px;
	color: var(--yoko-text) !important;
	text-align: center;
	text-decoration: none !important;
}

.yoko-quick-category-media {
	display: grid;
	width: 82px;
	height: 82px;
	place-items: center;
	overflow: hidden;
	border: 1px solid #eee7f2;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 8px 25px rgba(66, 31, 80, 0.06);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.yoko-quick-category-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}

.yoko-quick-category-icon,
.yoko-quick-category-icon svg,
.yoko-quick-category-icon i {
	width: 34px;
	height: 34px;
	color: var(--yoko-primary);
	font-size: 32px;
	fill: currentColor;
}

.yoko-quick-category:hover .yoko-quick-category-media,
.yoko-quick-category:focus-visible .yoko-quick-category-media {
	border-color: var(--yoko-primary);
	box-shadow: 0 12px 30px rgba(112, 37, 135, 0.13);
	transform: translateY(-4px);
}

.yoko-quick-category-title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
}

.yoko-quick-category-badge {
	position: absolute;
	top: -5px;
	right: 4px;
	padding: 5px 8px;
	border-radius: 6px;
	background: #fff;
	color: var(--yoko-primary);
	font-size: 13px;
	font-weight: 700;
	box-shadow: var(--yoko-shadow);
}

/* Seasonal collection cards. */
.yoko-season-section {
	background: #fff;
}

.yoko-season-layout {
	display: grid;
	grid-template-columns: minmax(230px, .88fr) minmax(0, 3.2fr);
	gap: 38px;
	align-items: stretch;
}

.yoko-season-intro {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: 20px 8px 20px 0;
}

.yoko-season-intro .yoko-section-copy {
	margin: 20px 0 26px;
}

.yoko-season-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.yoko-season-card {
	min-width: 0;
	overflow: hidden;
	border-radius: var(--yoko-radius);
	background: #eee;
	box-shadow: 0 10px 32px rgba(51, 21, 65, .08);
}

.yoko-season-card-link {
	position: relative;
	display: block;
	height: 100%;
	min-height: 420px;
	color: #fff !important;
	text-decoration: none !important;
}

.yoko-season-card-media,
.yoko-season-card-media::after {
	position: absolute;
	inset: 0;
}

.yoko-season-card-media::after {
	background: linear-gradient(180deg, transparent 42%, rgba(30, 16, 37, .78) 100%);
	content: '';
}

.yoko-season-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}

.yoko-season-card:hover .yoko-season-card-media img {
	transform: scale(1.055);
}

.yoko-season-card-content {
	position: absolute;
	z-index: 2;
	right: 20px;
	bottom: 20px;
	left: 20px;
}

.yoko-season-card-content h3 {
	margin: 0 0 6px;
	color: inherit;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.yoko-season-card-content p {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.45;
	opacity: .9;
}

.yoko-season-card-content span {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

/* Product grid. */
.yoko-products-section {
	background: #fff;
}

.yoko-product-grid {
	--yoko-product-columns: 6;
	display: grid;
	grid-template-columns: repeat(var(--yoko-product-columns), minmax(0, 1fr));
	gap: 22px 16px;
}

.yoko-product-card {
	display: flex;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	flex-direction: column;
	background: #fff;
}

.yoko-product-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border: 1px solid #ede8ef;
	border-radius: 12px;
	background: #f8f7f8;
}

.yoko-product-media > a:first-child {
	display: block;
	width: 100%;
	height: 100%;
}

.yoko-product-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
	transition: opacity 320ms ease, transform 500ms cubic-bezier(.2,.7,.2,1);
}

.yoko-product-image-secondary {
	opacity: 0;
	transform: scale(1.035);
}

.yoko-product-card.has-secondary-image:hover .yoko-product-image-primary {
	opacity: 0;
	transform: scale(.985);
}

.yoko-product-card.has-secondary-image:hover .yoko-product-image-secondary {
	opacity: 1;
	transform: scale(1);
}

.yoko-product-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
}

.yoko-product-badges span {
	display: inline-flex;
	min-height: 23px;
	align-items: center;
	padding: 4px 8px;
	border-radius: 5px;
	background: var(--yoko-primary);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .04em;
}

.yoko-product-badges .is-sale {
	background: var(--yoko-pink);
}

.yoko-product-wishlist {
	position: absolute;
	z-index: 4;
	top: 9px;
	right: 9px;
}

.yoko-heart-link {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,.9);
	color: var(--yoko-primary) !important;
	font-size: 21px;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 7px 20px rgba(55, 25, 67, .09);
}

.yoko-product-quickview {
	position: absolute;
	z-index: 3;
	right: 10px;
	bottom: 10px;
	left: 10px;
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	border-radius: 7px;
	background: rgba(255,255,255,.94);
	color: var(--yoko-primary) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 180ms ease, transform 180ms ease;
	backdrop-filter: blur(8px);
}

.yoko-product-card:hover .yoko-product-quickview,
.yoko-product-card:focus-within .yoko-product-quickview {
	opacity: 1;
	transform: translateY(0);
}

.yoko-product-content {
	display: flex;
	padding: 14px 5px 0;
	flex: 1;
	flex-direction: column;
}

.yoko-product-title {
	min-height: 2.9em;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

.yoko-product-title a {
	color: var(--yoko-text) !important;
	text-decoration: none !important;
}

.yoko-product-price {
	margin-top: auto;
	color: var(--yoko-primary);
	font-size: 14px;
	font-weight: 700;
}

.yoko-product-price del {
	margin-right: 5px;
	color: #9a939e;
	font-size: 13px;
	font-weight: 500;
}

.yoko-product-price ins {
	text-decoration: none;
}

.yoko-product-colors {
	display: flex;
	gap: 5px;
	margin-top: 9px;
}

.yoko-color-dot {
	width: 10px;
	height: 10px;
	border: 1px solid rgba(28,22,31,.17);
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: 0 0 0 1px #fff inset;
}

/* Benefits. */
.yoko-benefits-section {
	padding-block: 36px var(--yoko-section-space);
}

.yoko-benefits-panel {
	padding: 34px 38px;
	border: 1px solid rgba(112, 37, 135, .06);
	border-radius: var(--yoko-radius);
	background: linear-gradient(135deg, #fff8fd 0%, #f7f0fb 100%);
}

.yoko-benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 8px;
	margin-top: 28px;
}

.yoko-benefit-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 12px 18px;
	border-right: 1px solid rgba(112, 37, 135, .13);
}

.yoko-benefit-item:last-child {
	border-right: 0;
}

.yoko-benefit-icon {
	display: grid;
	width: 45px;
	height: 45px;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	color: var(--yoko-primary);
	box-shadow: 0 8px 24px rgba(65, 29, 78, .07);
}

.yoko-benefit-icon svg,
.yoko-benefit-icon i {
	width: 23px;
	height: 23px;
	font-size: 23px;
	fill: currentColor;
}

.yoko-benefit-item h3 {
	margin: 0 0 5px;
	color: var(--yoko-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
}

.yoko-benefit-item p {
	margin: 0;
	color: var(--yoko-muted);
	font-size: 13px;
	line-height: 1.35;
}

/* Editorial lookbook. */
.yoko-lookbook-section {
	background: #fff;
}

.yoko-lookbook-layout {
	display: grid;
	grid-template-columns: minmax(240px, .8fr) minmax(0, 3.2fr);
	gap: 38px;
	align-items: stretch;
}

.yoko-lookbook-intro {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
}

.yoko-lookbook-intro .yoko-section-copy {
	margin: 20px 0 26px;
}

.yoko-lookbook-media {
	display: grid;
	grid-template-columns: 1.15fr 2.85fr;
	gap: 14px;
	min-height: 430px;
}

.yoko-lookbook-main,
.yoko-lookbook-small {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 14px;
	background: #f0edf2;
}

.yoko-lookbook-main img,
.yoko-lookbook-small img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.yoko-lookbook-main:hover img,
.yoko-lookbook-small:hover img {
	transform: scale(1.04);
}

.yoko-lookbook-small-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.yoko-lookbook-small span {
	position: absolute;
	right: 12px;
	bottom: 12px;
	left: 12px;
	padding: 8px 10px;
	border-radius: 6px;
	background: rgba(255,255,255,.9);
	color: var(--yoko-primary);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

/* Distribution / dealer. */
.yoko-distribution-section {
	background: var(--yoko-bg-soft);
}

.yoko-distribution-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(360px, .85fr);
	gap: 28px;
}

.yoko-network-panel,
.yoko-dealer-panel {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(112,37,135,.08);
	border-radius: var(--yoko-radius);
	background: #fff;
	box-shadow: var(--yoko-shadow);
}

.yoko-network-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, .75fr);
	min-height: 520px;
}

.yoko-network-copy {
	position: relative;
	z-index: 2;
	padding: 48px;
}

.yoko-network-stat {
	display: flex;
	align-items: flex-end;
	gap: 14px;
	margin: 28px 0 18px;
	color: var(--yoko-primary);
}

.yoko-network-stat strong {
	font-size: clamp(48px, 5vw, 82px);
	font-weight: 700;
	line-height: .9;
	letter-spacing: -.06em;
}

.yoko-network-stat span {
	max-width: 150px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
}

.yoko-partner-logos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 30px;
}

.yoko-partner-logo {
	display: grid;
	min-height: 62px;
	place-items: center;
	padding: 10px;
	border: 1px solid #ede8ef;
	border-radius: 9px;
	background: #fff;
	color: var(--yoko-muted) !important;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	text-decoration: none !important;
}

.yoko-partner-logo img {
	max-width: 100%;
	max-height: 42px;
	object-fit: contain;
}

.yoko-network-map {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 30px 20px 0 0;
	background: linear-gradient(135deg, #faf6fc, #f2e9f7);
}

.yoko-network-map img {
	width: 100%;
	height: 100%;
	max-height: 490px;
	object-fit: contain;
	object-position: center bottom;
}

.yoko-dealer-panel {
	display: grid;
	grid-template-rows: auto minmax(180px, .8fr);
	background: linear-gradient(145deg, var(--yoko-primary) 0%, var(--yoko-primary-dark) 100%);
	color: #fff;
}

.yoko-dealer-content {
	position: relative;
	z-index: 2;
	padding: 46px 42px 22px;
}

.yoko-dealer-content h2 {
	margin: 0 0 18px;
	color: #fff;
	font-size: clamp(28px, 2.4vw, 42px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.04em;
}

.yoko-dealer-content .yoko-section-copy {
	color: rgba(255,255,255,.78);
}

.yoko-dealer-benefits {
	display: grid;
	gap: 10px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.yoko-dealer-benefits li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
}

.yoko-dealer-icon {
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,.14);
	color: var(--yoko-yellow);
}

.yoko-dealer-icon svg,
.yoko-dealer-icon i {
	width: 12px;
	height: 12px;
	font-size: 13px;
	fill: currentColor;
}

.yoko-dealer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.yoko-dealer-panel .yoko-button-primary {
	background: #fff;
	color: var(--yoko-primary) !important;
}

.yoko-dealer-panel .yoko-button-outline {
	border-color: rgba(255,255,255,.65);
	color: #fff !important;
}

.yoko-dealer-image {
	align-self: end;
	min-height: 180px;
	text-align: right;
}

.yoko-dealer-image img {
	width: 100%;
	height: 100%;
	max-height: 300px;
	object-fit: contain;
	object-position: right bottom;
}

/* Posts. */
.yoko-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.yoko-post-card {
	min-width: 0;
}

.yoko-post-image {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	background: #f1eef2;
}

.yoko-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 480ms ease;
}

.yoko-post-card:hover .yoko-post-image img {
	transform: scale(1.045);
}

.yoko-post-content {
	padding: 16px 3px 0;
}

.yoko-post-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 10px;
	color: var(--yoko-muted);
	font-size: 13px;
}

.yoko-post-meta span::before {
	margin-right: 10px;
	content: '•';
}

.yoko-post-content h3 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
}

.yoko-post-content h3 a {
	color: var(--yoko-text) !important;
	text-decoration: none !important;
}

/* Commitments. */
.yoko-commitments {
	padding-block: 28px;
	background: var(--yoko-primary);
	color: #fff;
}

.yoko-commitment-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.yoko-commitment-item {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 4px 28px;
	border-right: 1px solid rgba(255,255,255,.2);
}

.yoko-commitment-item:last-child {
	border-right: 0;
}

.yoko-commitment-icon {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid rgba(255,255,255,.36);
	border-radius: 50%;
}

.yoko-commitment-icon svg,
.yoko-commitment-icon i {
	width: 22px;
	height: 22px;
	font-size: 22px;
	fill: currentColor;
}

.yoko-commitment-item h3 {
	margin: 0 0 4px;
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
}

.yoko-commitment-item p {
	margin: 0;
	font-size: 13px;
	line-height: 1.35;
	opacity: .76;
}

/* Large laptop / tablet landscape. */
@media (max-width: 1200px) {
	:root {
		--yoko-section-space: 74px;
	}

	.yoko-container {
		width: min(calc(100% - 40px), var(--yoko-container-width));
	}

	.yoko-hero-fraction {
		left: 20px;
	}

	.yoko-hero-content {
		width: min(var(--slide-content-width, 50%), 680px);
	}

	.yoko-quick-category-list {
		grid-template-columns: repeat(8, minmax(90px, 1fr));
		overflow-x: auto;
		scrollbar-width: none;
	}

	.yoko-quick-category-list::-webkit-scrollbar {
		display: none;
	}

	.yoko-season-layout,
	.yoko-lookbook-layout {
		grid-template-columns: 1fr;
	}

	.yoko-season-intro,
	.yoko-lookbook-intro {
		max-width: 760px;
		padding: 0;
	}

	.yoko-season-cards {
		grid-template-columns: repeat(4, minmax(220px, 1fr));
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.yoko-season-card {
		scroll-snap-align: start;
	}

	.yoko-benefits-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.yoko-benefit-item {
		border-right: 0;
	}

	.yoko-lookbook-media {
		grid-template-columns: .8fr 3.2fr;
	}

	.yoko-distribution-grid {
		grid-template-columns: 1fr;
	}

	.yoko-dealer-panel {
		grid-template-columns: 1.1fr .9fr;
		grid-template-rows: auto;
	}
}

@media (max-width: 1024px) {
	.yoko-hero-title {
		font-size: clamp(48px, 8vw, 84px);
	}

	.yoko-hero-content {
		width: min(var(--slide-content-width, 56%), 620px);
	}

	.yoko-product-grid {
		gap: 20px 14px;
	}

	.yoko-benefits-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yoko-network-panel {
		grid-template-columns: 1.2fr .8fr;
	}

	.yoko-post-grid {
		gap: 18px;
	}

	.yoko-commitment-item {
		padding-inline: 18px;
	}
}

/* Mobile: native swipe/scroll snap, no scroll-jacking. */
@media (max-width: 767px) {
	:root {
		--yoko-section-space: 58px;
		--yoko-radius: 14px;
	}

	.yoko-container {
		width: min(calc(100% - 28px), var(--yoko-container-width));
	}

	.yoko-section-header-row {
		align-items: flex-start;
	}

	.yoko-section-title {
		font-size: clamp(25px, 7vw, 32px);
	}

	.yoko-hero-stack {
		height: auto;
		min-height: 0;
	}

	.yoko-hero-viewport {
		position: relative;
		top: auto;
		height: var(--yoko-hero-height);
		min-height: 560px;
		overflow: hidden;
	}

	.yoko-hero-track {
		position: relative;
		display: flex;
		height: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
	}

	.yoko-hero-track::-webkit-scrollbar {
		display: none;
	}

	.yoko-hero-mobile-vertical .yoko-hero-track {
		flex-direction: column;
		overflow-x: hidden;
		overflow-y: auto;
		scroll-snap-type: y mandatory;
	}

	.yoko-hero-slide {
		position: relative;
		inset: auto;
		width: 100%;
		height: 100%;
		min-width: 100%;
		flex: 0 0 100%;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.yoko-hero-media img {
		object-position: var(--slide-image-position-mobile, 50% 50%);
	}

	.yoko-hero-overlay {
		background: linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.55) 55%, rgba(255,255,255,.08) 100%), var(--slide-overlay, transparent);
		opacity: max(.15, var(--slide-overlay-opacity, 0));
	}

	.yoko-hero-inner {
		align-items: flex-end;
		padding-bottom: 82px;
	}

	.yoko-hero-content,
	.yoko-content-center .yoko-hero-content,
	.yoko-content-right .yoko-hero-content {
		width: min(88%, 560px);
		text-align: left;
	}

	.yoko-content-center .yoko-hero-inner,
	.yoko-content-right .yoko-hero-inner {
		justify-content: flex-start;
	}

	.yoko-hero-eyebrow {
		min-height: 30px;
		margin-bottom: 12px;
		padding: 5px 14px;
		font-size: 14px;
	}

	.yoko-hero-title {
		font-size: clamp(43px, 13vw, 66px);
		line-height: .96;
	}

	.yoko-hero-subtitle {
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.3;
	}

	.yoko-hero-description {
		display: none;
	}

	.yoko-hero-button {
		margin-top: 20px;
	}

	.yoko-hero-fraction {
		top: 28px;
		left: 18px;
		transform: none;
	}

	.yoko-hero-fraction::after {
		display: none;
	}

	.yoko-hero-navigation {
		right: 16px;
		bottom: 18px;
	}

	.yoko-quick-categories {
		padding-block: 22px 26px;
	}

	.yoko-quick-category-list {
		display: flex;
		gap: 14px;
		margin-inline: -14px;
		padding-inline: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.yoko-quick-category {
		min-width: 82px;
		scroll-snap-align: start;
	}

	.yoko-quick-category-title {
		font-size: 13px;
	}

	.yoko-season-cards {
		display: flex;
		gap: 14px;
		margin-inline: -14px;
		padding-inline: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.yoko-season-card {
		min-width: min(82vw, 330px);
		scroll-snap-align: center;
	}

	.yoko-season-card-link {
		min-height: 460px;
	}

	.yoko-product-grid {
		gap: 18px 10px;
	}

	.yoko-product-title {
		font-size: 13px;
	}

	.yoko-product-price {
		font-size: 13px;
	}

	.yoko-product-quickview {
		display: none;
	}

	.yoko-benefits-panel {
		padding: 28px 18px;
	}

	.yoko-benefits-grid {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.yoko-benefit-item {
		padding: 14px 4px;
		border-bottom: 1px solid rgba(112,37,135,.09);
	}

	.yoko-benefit-item:last-child {
		border-bottom: 0;
	}

	.yoko-lookbook-media {
		display: block;
		min-height: 0;
	}

	.yoko-lookbook-main {
		aspect-ratio: 4 / 5;
		margin-bottom: 12px;
	}

	.yoko-lookbook-small-grid {
		display: flex;
		gap: 12px;
		margin-inline: -14px;
		padding-inline: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.yoko-lookbook-small {
		min-width: 72vw;
		aspect-ratio: 4 / 5;
		scroll-snap-align: center;
	}

	.yoko-network-panel {
		grid-template-columns: 1fr;
	}

	.yoko-network-copy {
		padding: 32px 24px;
	}

	.yoko-network-map {
		min-height: 270px;
		padding: 0 20px 10px;
	}

	.yoko-partner-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yoko-dealer-panel {
		display: block;
	}

	.yoko-dealer-content {
		padding: 34px 24px 20px;
	}

	.yoko-dealer-actions .yoko-button {
		width: 100%;
	}

	.yoko-dealer-image {
		min-height: 160px;
	}

	.yoko-post-grid {
		display: flex;
		gap: 14px;
		margin-inline: -14px;
		padding-inline: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.yoko-post-card {
		min-width: 82vw;
		scroll-snap-align: center;
	}

	.yoko-commitment-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 0;
	}

	.yoko-commitment-item {
		padding-inline: 12px;
		border-right: 0;
	}
}

@media (max-width: 430px) {
	.yoko-container {
		width: min(calc(100% - 24px), var(--yoko-container-width));
	}

	.yoko-section {
		padding-block: 50px;
	}

	.yoko-hero-viewport {
		min-height: 540px;
	}

	.yoko-hero-title {
		font-size: clamp(40px, 12vw, 56px);
	}

	.yoko-hero-inner {
		padding-bottom: 78px;
	}

	.yoko-product-content {
		padding-inline: 2px;
	}

	.yoko-product-media img {
		padding: 5px;
	}

	.yoko-network-stat {
		align-items: flex-start;
		flex-direction: column;
	}

	.yoko-network-stat strong {
		font-size: 56px;
	}

	.yoko-commitment-grid {
		grid-template-columns: 1fr;
	}

	.yoko-commitment-item {
		padding-block: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yoko-hero-slide,
	.yoko-season-card-media img,
	.yoko-lookbook-main img,
	.yoko-lookbook-small img,
	.yoko-product-media img,
	.yoko-post-image img,
	.yoko-button {
		transition: none !important;
	}

	.yoko-hero-track {
		scroll-behavior: auto !important;
	}
}

/* v1.7.0 shared token alignment */
.yoko-container{width:100%;max-width:var(--yoko-content-max);padding-inline:var(--yoko-page-gutter);box-sizing:border-box}
.yoko-section-copy{font-size:var(--yoko-copy-desktop)}
.yoko-button{min-height:54px;border-radius:10px;font-size:15px}
@media(max-width:767px){.yoko-section-copy{font-size:15px}.yoko-button{min-height:52px;font-size:15px}}

/* v1.7.0 caption floor and typography hierarchy */
.yoko-quick-category-title,
.yoko-quick-category-badge,
.yoko-season-card-content p,
.yoko-season-card-content span,
.yoko-product-badges span,
.yoko-product-quickview,
.yoko-benefit-item h3,
.yoko-benefit-item p,
.yoko-lookbook-small span,
.yoko-network-stat span,
.yoko-partner-logo,
.yoko-post-meta,
.yoko-commitment-item h3,
.yoko-commitment-item p{font-size:14px}
.yoko-section-description,.yoko-section-copy,.yoko-dealer-copy,.yoko-network-copy{font-size:var(--yoko-copy-desktop);line-height:1.65}
.yoko-wishlist-icon{width:22px;height:22px}
@media(max-width:767px){
 .yoko-quick-category-title,.yoko-quick-category-badge,.yoko-season-card-content span,.yoko-product-badges span,.yoko-product-quickview,.yoko-benefit-item h3,.yoko-benefit-item p,.yoko-lookbook-small span,.yoko-network-stat span,.yoko-partner-logo,.yoko-post-meta,.yoko-commitment-item h3,.yoko-commitment-item p{font-size: 13px}
 .yoko-section-description,.yoko-section-copy,.yoko-dealer-copy,.yoko-network-copy{font-size:var(--yoko-copy-mobile)}
}
