/*! Electro Kuwait — generated by tools/build.mjs from assets/css/src/. Do not edit directly. */
/* ==========================================================================
   Electro Kuwait — Apple-clean storefront
   Spacing scale (use these, nothing in between): 4 8 12 16 24 32 48 64 96
   ========================================================================== */

:root {
	--ek-yellow: #FCBE00;
	--ek-yellow-deep: #A87C00;   /* yellow for text on white (AA contrast) */
	--ek-yellow-soft: #FFF5D1;
	--ek-ink: #1d1d1f;
	--ek-ink-2: #6e6e73;
	--ek-ink-3: #86868b;
	--ek-line: #e3e3e8;
	--ek-line-2: #d2d2d7;
	--ek-bg: #ffffff;
	--ek-bg-2: #f5f5f7;
	--ek-dark: #0b0b0c;
	--ek-sale: #d70015;
	--ek-ok: #1f8a3b;

	--ek-r-sm: 12px;
	--ek-r: 18px;
	--ek-r-lg: 28px;

	--ek-gutter: 32px;
	--ek-max: 1280px;
	--ek-section: 72px;     /* vertical rhythm between sections */
	--ek-gap: 16px;         /* grid / rail gap */

	--ek-ease: cubic-bezier(.28, .11, .32, 1);
	--ek-ease-out: cubic-bezier(.16, 1, .3, 1);
	--ek-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px -12px rgba(0, 0, 0, .12);
	--ek-shadow-lg: 0 2px 6px rgba(0, 0, 0, .04), 0 24px 48px -20px rgba(0, 0, 0, .22);

	--ek-topbar-h: 36px;
	--ek-header-h: 68px;
	--ek-font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
	--ek-font-ar: "IBM Plex Sans Arabic", "SF Arabic", -apple-system, "Inter", sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; background: var(--ek-bg); color: var(--ek-ink);
	font-family: var(--ek-font); font-size: 16px; line-height: 1.5; letter-spacing: -0.011em;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden;
}
html[lang^="ar"] body, [dir="rtl"] body { font-family: var(--ek-font-ar); letter-spacing: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
ul { margin: 0; padding: 0; list-style: none; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--ek-ink); outline-offset: 3px; border-radius: 8px; }
::selection { background: var(--ek-yellow); color: var(--ek-ink); }

.screen-reader-text, .skip-link:not(:focus) {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus { position: fixed; top: 8px; inset-inline-start: 8px; z-index: 999; background: var(--ek-yellow); padding: 12px 16px; border-radius: 999px; }

.ek-container { width: min(100% - var(--ek-gutter) * 2, var(--ek-max)); margin-inline: auto; }
.ek-wrap { width: min(100% - var(--ek-gutter) * 2, 1080px); margin-inline: auto; }
.ek-icon { width: 20px; height: 20px; flex: none; }
.ek-muted { color: var(--ek-ink-2); }
.ek-center { text-align: center; margin: 32px 0 0; }
.ek-empty { color: var(--ek-ink-2); padding: 24px 0; }

/* ---------- Type ---------- */
.ek-h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.06; font-weight: 700; letter-spacing: -0.035em; margin: 0; }
.ek-h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.12; font-weight: 700; letter-spacing: -0.03em; margin: 0; }
.ek-h2--icon { display: inline-flex; align-items: center; gap: 8px; }
.ek-h2--icon .ek-icon { width: 30px; height: 30px; color: #ff6a00; }
.ek-h3 { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 16px; }
.ek-lead { font-size: clamp(18px, 2vw, 21px); color: var(--ek-ink-2); margin: 16px 0 0; }
.ek-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--ek-yellow-deep); margin: 0 0 8px; }
.ek-eyebrow--muted { color: var(--ek-ink-3); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 14px; }
.ek-link { color: #0066cc; white-space: nowrap; }
.ek-link:hover { text-decoration: underline; }
.ek-link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; white-space: nowrap; }
.ek-link-arrow .ek-icon { width: 16px; height: 16px; transition: translate .35s var(--ek-ease-out); }
.ek-link-arrow:hover .ek-icon, a:hover .ek-link-arrow .ek-icon { translate: 4px 0; }

/* ---------- Buttons ---------- */
.ek-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 12px 24px; border-radius: 999px;
	font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: -0.01em; white-space: nowrap;
	transition: transform .35s var(--ek-ease-out), background-color .25s, box-shadow .35s, color .25s;
}
.ek-btn .ek-icon { width: 18px; height: 18px; }
.ek-btn:hover { transform: translateY(-1px); }
.ek-btn:active { transform: scale(.97); }
.ek-btn--lg { min-height: 52px; padding: 16px 32px; font-size: 16px; }
.ek-btn--sm { min-height: 36px; padding: 8px 16px; font-size: 14px; }
.ek-btn--block { display: flex; width: 100%; }
.ek-btn--yellow { background: var(--ek-yellow); color: var(--ek-ink); box-shadow: 0 8px 20px -10px rgba(252, 190, 0, .9); }
.ek-btn--yellow:hover { box-shadow: 0 12px 28px -10px rgba(252, 190, 0, 1); }
.ek-btn--dark { background: var(--ek-ink); color: #fff; }
.ek-btn--dark:hover { background: #000; }
.ek-btn--outline { box-shadow: inset 0 0 0 1.5px var(--ek-ink); color: var(--ek-ink); }
.ek-btn--outline:hover { background: var(--ek-ink); color: #fff; }
.ek-roundbtn {
	width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
	background: #fff; color: var(--ek-ink); box-shadow: var(--ek-shadow);
	transition: background-color .25s, transform .3s var(--ek-ease-out), opacity .25s;
}
.ek-roundbtn:hover { background: var(--ek-yellow); transform: scale(1.06); }

/* ---------- Top bar ---------- */
.ek-topbar { background: var(--ek-ink); color: #f5f5f7; font-size: 13px; }
.ek-topbar__inner { height: var(--ek-topbar-h); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ek-topbar__list { display: flex; gap: 32px; overflow: hidden; }
.ek-topbar__list li { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-weight: 500; }
.ek-topbar__list .ek-icon, .ek-topbar__phone .ek-icon { width: 16px; height: 16px; color: var(--ek-yellow); }
.ek-topbar__phone { display: inline-flex; align-items: center; gap: 8px; color: #f5f5f7; font-weight: 500; white-space: nowrap; }
.ek-topbar__phone:hover { color: var(--ek-yellow); }

/* ---------- Header ---------- */
/* The blur lives on ::before — backdrop-filter on the header itself would
   become the containing block for the fixed mobile menu and clip it. */
.ek-header { position: sticky; top: 0; z-index: 100; transition: transform .45s var(--ek-ease), box-shadow .3s; }
.ek-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.ek-header.is-scrolled { box-shadow: 0 8px 24px -16px rgba(0, 0, 0, .2); }
.ek-header.is-hidden:not(.is-mega) { transform: translateY(-100%); }
.admin-bar .ek-header { top: 32px; }
.ek-header__bar { height: var(--ek-header-h); display: flex; align-items: center; gap: 24px; }
.ek-logo { flex: none; }
.ek-logo img { height: 38px; width: auto; transition: transform .4s var(--ek-ease-out); }
.ek-logo a:hover img { transform: scale(1.04) rotate(-2deg); }
.ek-logo .custom-logo-link img { max-height: 38px; width: auto; }

.ek-nav { display: flex; align-items: center; }
.ek-nav__foot { display: none; }
.ek-menu { display: flex; align-items: center; gap: 4px; }
.ek-menu > li > a, .ek-menu__link {
	display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 12px; border-radius: 999px;
	font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: var(--ek-ink); white-space: nowrap;
	transition: background-color .2s, color .2s;
}
.ek-menu__link .ek-icon { width: 14px; height: 14px; transition: transform .3s var(--ek-ease-out); }
.ek-menu > li > a:hover, .ek-menu__item.is-open > .ek-menu__link { background: var(--ek-bg-2); }
.ek-menu__item.is-open > .ek-menu__link .ek-icon { transform: rotate(180deg); }
.ek-menu__item.is-hot > .ek-menu__link { color: #d93800; }
.ek-menu__item.is-hot > .ek-menu__link .ek-icon { width: 16px; height: 16px; animation: ek-flicker 1.6s ease-in-out infinite; }
@keyframes ek-flicker { 50% { transform: scale(1.15) rotate(-6deg); } }
/* Custom menus (wp_nav_menu) — simple dropdowns */
.ek-menu > li { position: relative; }
.ek-menu > li > .sub-menu {
	position: absolute; top: calc(100% + 8px); inset-inline-start: 0; min-width: 220px; padding: 8px;
	background: #fff; border-radius: var(--ek-r); box-shadow: var(--ek-shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .25s, transform .35s var(--ek-ease-out), visibility .25s;
}
.ek-menu > li:hover > .sub-menu, .ek-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ek-menu .sub-menu a { display: block; padding: 8px 12px; border-radius: 10px; font-size: 14px; font-weight: 500; }
.ek-menu .sub-menu a:hover { background: var(--ek-bg-2); }

/* Mega menu */
.ek-mega {
	position: absolute; inset-inline: 0; top: 100%; padding: 24px 0 32px;
	background: rgba(255, 255, 255, .98); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
	border-top: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 32px 48px -24px rgba(0, 0, 0, .18);
	opacity: 0; visibility: hidden; transform: translateY(-8px); pointer-events: none;
	transition: opacity .25s var(--ek-ease), transform .4s var(--ek-ease-out), visibility .25s;
}
.ek-menu__item.has-mega { position: static; }
.ek-menu__item.is-open > .ek-mega { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.ek-mega__inner { display: grid; grid-template-columns: 1fr 380px; gap: 32px; align-items: start; }
.ek-mega__cats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 24px; }
.ek-mega__cats a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 14px; transition: background-color .2s; }
.ek-mega__cats a:hover { background: var(--ek-bg-2); }
.ek-mega__thumb { width: 52px; height: 52px; border-radius: 12px; background: var(--ek-bg-2); display: grid; place-items: center; flex: none; overflow: hidden; }
.ek-mega__thumb img { width: 80%; height: 80%; object-fit: contain; transition: transform .4s var(--ek-ease-out); }
.ek-mega__cats a:hover .ek-mega__thumb img { transform: scale(1.12); }
.ek-mega__cats strong { display: block; font-size: 15px; letter-spacing: -0.01em; }
.ek-mega__cats small { display: block; font-size: 13px; color: var(--ek-ink-2); }
.ek-mega__promo { display: block; align-self: start; border-radius: var(--ek-r); overflow: hidden; box-shadow: var(--ek-shadow); transition: transform .45s var(--ek-ease-out), box-shadow .45s; }
.ek-mega__promo:hover { transform: translateY(-3px); box-shadow: var(--ek-shadow-lg); }
.ek-mega__promo img { width: 100%; height: auto; display: block; }
.ek-mega__inner--brands { display: block; }
.ek-mega__brands { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.ek-mega__brands .ek-wordmark { height: 80px; font-size: 18px; }

/* Header search */
.ek-hsearch {
	position: relative; flex: 1; max-width: 420px; margin-inline-start: auto;
	display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px;
	background: var(--ek-bg-2); border-radius: 999px; transition: background-color .2s, box-shadow .2s;
}
.ek-hsearch:focus-within { background: #fff; box-shadow: 0 0 0 1.5px var(--ek-ink), var(--ek-shadow); }
.ek-hsearch > .ek-icon { width: 18px; height: 18px; color: var(--ek-ink-2); }
.ek-hsearch input[type="search"] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; padding: 0; font: inherit; font-size: 15px; color: var(--ek-ink); outline: none; box-shadow: none; }
.ek-hsearch input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ek-hsearch__panel {
	position: absolute; top: calc(100% + 8px); inset-inline: 0; z-index: 5; padding: 16px; min-width: 320px;
	background: #fff; border-radius: var(--ek-r); box-shadow: var(--ek-shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .3s var(--ek-ease-out), visibility .2s;
}
.ek-hsearch.is-open .ek-hsearch__panel { opacity: 1; visibility: visible; transform: none; }
.ek-hsearch__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ek-ink-3); margin: 0 0 8px; }
.ek-hsearch__label:not(:first-child) { margin-top: 16px; }
.ek-hsearch__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ek-hsearch__tags a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--ek-bg-2); font-size: 13px; font-weight: 500; transition: background-color .2s; }
.ek-hsearch__tags a:hover { background: var(--ek-yellow); }
.ek-hsearch__cats { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.ek-hsearch__cats a { display: flex; align-items: center; gap: 8px; padding: 6px; border-radius: 10px; font-size: 14px; font-weight: 500; }
.ek-hsearch__cats a:hover { background: var(--ek-bg-2); }
.ek-hsearch__cats img { width: 32px; height: 32px; object-fit: contain; }

.ek-header__actions { display: flex; align-items: center; gap: 4px; flex: none; }
.ek-iconbtn { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: var(--ek-ink); position: relative; transition: background-color .2s; }
.ek-iconbtn .ek-icon { width: 22px; height: 22px; }
.ek-iconbtn:hover { background: var(--ek-bg-2); }
.ek-count {
	position: absolute; top: 4px; inset-inline-end: 2px; min-width: 18px; height: 18px; padding: 0 5px;
	border-radius: 999px; background: var(--ek-yellow); color: var(--ek-ink); box-shadow: 0 0 0 2px #fff;
	font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; transition: transform .4s var(--ek-ease-out);
}
.ek-count[data-count="0"] { transform: scale(0); }
.is-bump .ek-count { animation: ek-bump .6s var(--ek-ease-out); }
@keyframes ek-bump { 30% { transform: scale(1.6); } 60% { transform: scale(.9); } }
.ek-show-sm, .ek-header__toggle { display: none; }
.ek-burger { width: 20px; height: 14px; position: relative; display: block; }
.ek-burger span { position: absolute; inset-inline: 0; height: 2px; background: currentColor; border-radius: 2px; transition: transform .4s var(--ek-ease-out), top .3s, opacity .2s; }
.ek-burger span:nth-child(1) { top: 0; }
.ek-burger span:nth-child(2) { top: 6px; }
.ek-burger span:nth-child(3) { top: 12px; }
.is-menu-open .ek-burger span:nth-child(1) { top: 6px; transform: rotate(45deg); }
.is-menu-open .ek-burger span:nth-child(2) { opacity: 0; }
.is-menu-open .ek-burger span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

.ek-scrim { position: fixed; inset: 0; z-index: 90; background: rgba(0, 0, 0, .3); opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
.ek-scrim.is-on { opacity: 1; visibility: visible; }

/* ---------- Entry animations ---------- */
.ek-anim { opacity: 0; transform: translateY(24px); filter: blur(6px); animation: ek-in 1s var(--ek-ease-out) forwards; animation-delay: var(--d, 0ms); }
@keyframes ek-in { to { opacity: 1; transform: none; filter: blur(0); } }
.reveal { opacity: 0; transform: translateY(32px); transition: opacity .9s var(--ek-ease-out), transform 1s var(--ek-ease-out); transition-delay: var(--d, 0ms); }
.reveal.is-in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }
.ek-word { display: inline-block; opacity: 0; transform: translateY(.45em) rotateX(-40deg); transform-origin: 50% 100%; animation: ek-word .9s var(--ek-ease-out) forwards; animation-delay: calc(var(--d, 0ms) + var(--i) * 90ms); }
@keyframes ek-word { to { opacity: 1; transform: none; } }

/* ---------- Sections ---------- */
.ek-section { padding: var(--ek-section) 0; }
.ek-section--grey { background: var(--ek-bg-2); }
.ek-section--flush { padding-top: 0; }
.ek-section--grey + .ek-section--flush { padding-top: var(--ek-section); }
.ek-shead { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; }
.ek-shead__sub { margin: 8px 0 0; color: var(--ek-ink-2); font-size: 16px; }

/* ---------- 1. Hero slider ---------- */
.ek-slider { position: relative; overflow: hidden; background: var(--ek-dark); isolation: isolate; }
.ek-slides { display: grid; }
.ek-slide { grid-area: 1 / 1; position: relative; display: flex; align-items: center; min-height: clamp(460px, 40vw, 620px); opacity: 0; visibility: hidden; transition: opacity .9s var(--ek-ease), visibility .9s; }
.ek-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.ek-slide__bg { position: absolute; inset: 0; z-index: -1; }
.ek-slide__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 75% 50%; transform: scale(1.06); transition: transform 7s var(--ek-ease); }
.ek-slide.is-active .ek-slide__bg img { transform: scale(1); }
.ek-slide--dark { color: #fff; }
.ek-slide--dark .ek-slide__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 8, 9, .82) 0%, rgba(8, 8, 9, .55) 32%, rgba(8, 8, 9, 0) 58%); }
.ek-slide--light { color: var(--ek-ink); background: #fbf5e8; }
.ek-slide--light .ek-slide__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(251, 246, 234, .9) 0%, rgba(251, 246, 234, .5) 34%, rgba(251, 246, 234, 0) 55%); }
.ek-slide__inner { position: relative; padding: 64px 0 88px; }
.ek-slide__copy { max-width: 540px; }
.ek-slide__eyebrow { margin: 0 0 16px; font-size: 13px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; opacity: .8; }
.ek-slide__title { margin: 0; font-size: clamp(42px, 5.4vw, 76px); line-height: 1.02; font-weight: 800; letter-spacing: -0.045em; }
.ek-slide__title em { font-style: normal; }
.ek-slide__title span { display: block; color: var(--ek-yellow); }
.ek-slide--light .ek-slide__title span { color: var(--ek-yellow-deep); }
.ek-slide__sub { margin: 24px 0 0; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.5; opacity: .85; max-width: 460px; }
.ek-slide__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ek-btn--ghostlight { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); color: #fff; }
.ek-btn--ghostlight:hover { background: #fff; color: var(--ek-ink); }
.ek-slide--light .ek-btn--ghostlight { box-shadow: inset 0 0 0 1.5px var(--ek-ink); color: var(--ek-ink); }
.ek-slide--light .ek-btn--ghostlight:hover { background: var(--ek-ink); color: #fff; }
/* Copy animates in each time a slide becomes active */
.ek-slide__copy > * { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ek-ease-out), transform .9s var(--ek-ease-out); }
.ek-slide.is-active .ek-slide__copy > * { opacity: 1; transform: none; }
.ek-slide.is-active .ek-slide__copy > :nth-child(2) { transition-delay: .1s; }
.ek-slide.is-active .ek-slide__copy > :nth-child(3) { transition-delay: .2s; }
.ek-slide.is-active .ek-slide__copy > :nth-child(4) { transition-delay: .3s; }
.no-js .ek-slide__copy > * { opacity: 1; transform: none; }
.ek-slider__arrow { position: absolute; top: 50%; z-index: 3; translate: 0 -50%; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); transition: background-color .2s, transform .3s var(--ek-ease-out); }
.ek-slider__arrow:hover { background: var(--ek-yellow); color: var(--ek-ink); }
.ek-slider__arrow--prev { left: 24px; }
.ek-slider__arrow--next { right: 24px; }
.ek-slider.is-light .ek-slider__arrow { color: var(--ek-ink); background: rgba(255, 255, 255, .6); box-shadow: var(--ek-shadow); }
.ek-slider__dots { position: absolute; left: 0; right: 0; bottom: 40px; z-index: 3; display: flex; gap: 8px; }
.ek-slider__dots button { width: 40px; height: 24px; display: grid; align-items: center; }
.ek-slider__dots span { display: block; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .35); overflow: hidden; position: relative; }
.ek-slider.is-light .ek-slider__dots span { background: rgba(29, 29, 31, .2); }
.ek-slider__dots span::after { content: ""; position: absolute; inset: 0; background: var(--ek-yellow); transform: scaleX(0); transform-origin: left; }
.ek-slider__dots [aria-current="true"] span::after { transform: scaleX(1); transition: transform var(--ek-slide-ms, 6000ms) linear; }
.ek-slider.is-paused .ek-slider__dots [aria-current="true"] span::after { transition: none; }

/* ---------- 2. Trust ---------- */
.ek-trust { position: relative; z-index: 2; margin-top: -24px; }
.ek-trust__list { display: grid; grid-template-columns: repeat(5, 1fr); padding: 8px; border-radius: var(--ek-r); background: #fff; box-shadow: var(--ek-shadow-lg); }
.ek-trust__item { display: flex; align-items: center; gap: 12px; padding: 16px; }
.ek-trust__item + .ek-trust__item { border-inline-start: 1px solid var(--ek-line); }
.ek-trust__icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--ek-yellow); color: var(--ek-ink); transition: transform .5s var(--ek-ease-out); }
.ek-trust__item:hover .ek-trust__icon { transform: rotate(-10deg) scale(1.08); }
.ek-trust__icon .ek-icon { width: 22px; height: 22px; }
.ek-trust__item strong { display: block; font-size: 14px; line-height: 1.3; letter-spacing: -0.01em; }
.ek-trust__item small { display: block; font-size: 13px; color: var(--ek-ink-2); line-height: 1.35; margin-top: 2px; }
.ek-section--tightbottom { padding-bottom: 0; }

/* ---------- 3. Category row ---------- */
.ek-catrow { display: grid; grid-template-columns: repeat(var(--ek-cats, 10), minmax(0, 1fr)); gap: 12px; }
.ek-catchip { display: flex; flex-direction: column; align-items: center; gap: 8px; height: 100%; padding: 12px 8px 16px; border-radius: var(--ek-r); background: var(--ek-bg-2); text-align: center; transition: background-color .3s, transform .45s var(--ek-ease-out), box-shadow .45s; }
.ek-catchip:hover { background: #fff; transform: translateY(-4px); box-shadow: var(--ek-shadow-lg); }
.ek-catchip__img { position: relative; width: 100%; aspect-ratio: 1; }
.ek-catchip__img img { position: absolute; inset: 6%; width: 88%; height: 88%; object-fit: contain; filter: drop-shadow(0 10px 10px rgba(0, 0, 0, .14)); transition: transform .5s var(--ek-ease-out); }
.ek-catchip:hover .ek-catchip__img img { transform: scale(1.1) rotate(-3deg); }
.ek-catchip__name { font-size: 13px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }

/* ---------- 4. Shop by need ---------- */
.ek-need { position: relative; overflow: hidden; isolation: isolate; padding: 40px; border-radius: var(--ek-r-lg); background: var(--ek-dark); color: #fff; }
.ek-need::before { content: ""; position: absolute; z-index: -1; width: 46%; aspect-ratio: 1; right: -20%; bottom: -46%; border-radius: 50%; box-shadow: -56px -40px 0 0 var(--ek-yellow); }
[dir="rtl"] .ek-need::before { right: auto; left: -20%; box-shadow: 56px -40px 0 0 var(--ek-yellow); }
.ek-need__head { margin-bottom: 24px; }
.ek-need__title { margin: 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; font-weight: 800; letter-spacing: -0.03em; color: var(--ek-yellow); }
.ek-need__head p { margin: 8px 0 0; color: #c7c7cc; }
.ek-need__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ek-needcard { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8px; height: 100%; aspect-ratio: 2.45; padding: 12px 16px; border-radius: var(--ek-r); background: #f4f4f5; color: var(--ek-ink); transition: transform .45s var(--ek-ease-out), box-shadow .45s; }
.ek-needcard:hover { transform: translateY(-4px); box-shadow: 0 0 0 2px var(--ek-yellow), 0 20px 40px -20px rgba(252, 190, 0, .6); }
.ek-needcard__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 100% 50%; transition: transform .8s var(--ek-ease-out); }
.ek-needcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(250, 250, 251, .85) 0%, rgba(250, 250, 251, .4) 38%, rgba(250, 250, 251, 0) 55%); }
.ek-needcard:hover .ek-needcard__img { transform: scale(1.06); }
.ek-needcard__icon { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--ek-yellow); color: var(--ek-ink); }
.ek-needcard__icon .ek-icon { width: 20px; height: 20px; }
.ek-needcard__copy small { display: block; font-size: 13px; line-height: 1.3; color: var(--ek-ink-2); }
.ek-needcard__copy strong { display: inline-flex; align-items: center; gap: 4px; font-size: 15px; line-height: 1.2; letter-spacing: -0.01em; white-space: nowrap; }
.ek-needcard__copy small { white-space: nowrap; }
.ek-needcard__copy .ek-icon { width: 16px; height: 16px; transition: translate .35s var(--ek-ease-out); }
.ek-needcard:hover .ek-needcard__copy .ek-icon { translate: 4px 0; }

/* ---------- 5. Photo banners ---------- */
.ek-pbanners { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ek-gap); }
.ek-pbanners--3 { grid-template-columns: repeat(3, 1fr); }
.ek-pbanner { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 300px; padding: 40px; border-radius: var(--ek-r-lg); background: #fbf5e8; color: var(--ek-ink); }
.ek-pbanner--sm { min-height: 240px; padding: 32px; align-items: flex-start; }
.ek-pbanner__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: 80% 50%; transition: transform 1.2s var(--ek-ease-out); }
.ek-pbanner:hover .ek-pbanner__img { transform: scale(1.05); }
.ek-pbanner__copy { display: flex; flex-direction: column; align-items: flex-start; max-width: 48%; }
.ek-pbanner--sm .ek-pbanner__copy { max-width: 56%; height: 100%; }
.ek-pbanner .ek-eyebrow { letter-spacing: .2em; color: var(--ek-yellow-deep); }
.ek-pbanner__title { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.1; font-weight: 700; letter-spacing: -0.03em; }
.ek-pbanner--sm .ek-pbanner__title { font-size: 20px; margin-bottom: 16px; }
.ek-pbanner__sub { margin: 8px 0 24px; color: var(--ek-ink-2); font-size: 15px; }
.ek-pbanner--sm .ek-link-arrow { margin-top: auto; }

/* Archive header with a photo banner */
.ek-archhead.has-photo { position: relative; isolation: isolate; background: #fbf5e8; }
.ek-archhead.has-photo .ek-archhead__inner { min-height: 320px; }
.ek-archhead__photo { position: absolute; inset: 0 0 0 auto; z-index: -1; width: 64%; height: 100%; object-fit: cover; object-position: 85% 60%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%); mask-image: linear-gradient(90deg, transparent, #000 28%); }
.ek-archhead.has-photo .ek-archhead__copy { max-width: 50%; }


/* Photo slide on a bright sky: darker accent colour and a slightly stronger fade behind the copy. */
.ek-slide--sky .ek-slide__title span { color: #7a5700; }
.ek-slide--sky .ek-slide__bg::after { background: linear-gradient(90deg, rgba(255, 248, 238, .94) 0%, rgba(255, 248, 238, .7) 30%, rgba(255, 248, 238, 0) 54%); }
.ek-slide--sky .ek-slide__eyebrow, .ek-slide--sky .ek-slide__sub { opacity: 1; }
/* ---------- Tabs ---------- */
.ek-tabs { display: flex; gap: 8px; margin: -8px 0 24px; overflow-x: auto; scrollbar-width: none; }
.ek-tabs::-webkit-scrollbar { display: none; }
.ek-tab { flex: none; height: 40px; padding: 0 20px; border-radius: 999px; background: #fff; font-size: 14px; font-weight: 600; box-shadow: inset 0 0 0 1px var(--ek-line); transition: background-color .2s, color .2s, box-shadow .2s; }
.ek-tab:hover { box-shadow: inset 0 0 0 1px var(--ek-ink); }
.ek-tab[aria-selected="true"] { background: var(--ek-ink); color: #fff; box-shadow: none; }
.ek-tabpanel { animation: ek-fade-up .5s var(--ek-ease-out); }
@keyframes ek-fade-up { from { opacity: 0; transform: translateY(12px); } }

/* ---------- Rail ---------- */
.ek-rail { position: relative; }
.ek-rail__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - var(--ek-gap) * 4) / 5); gap: var(--ek-gap);
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
	padding: 4px 0 16px; margin: -4px 0 -16px;
}
.ek-rail__track::-webkit-scrollbar { display: none; }
.ek-rail__track.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.ek-rail__item { scroll-snap-align: start; min-width: 0; }
.ek-rail__btn { position: absolute; top: 30%; z-index: 3; opacity: 0; transition: opacity .25s, transform .3s var(--ek-ease-out), background-color .2s; }
.ek-rail__btn--prev { inset-inline-start: -22px; }
.ek-rail__btn--next { inset-inline-end: -22px; }
.ek-rail:hover .ek-rail__btn:not([disabled]) { opacity: 1; }
.ek-rail__btn[disabled] { pointer-events: none; }

/* ---------- Product card ---------- */
.ek-card {
	position: relative; height: 100%; display: flex; flex-direction: column;
	background: #fff; border-radius: var(--ek-r); padding: 12px; box-shadow: inset 0 0 0 1px var(--ek-line);
	transition: transform .45s var(--ek-ease-out), box-shadow .45s var(--ek-ease-out);
}
.ek-section--grey .ek-card { box-shadow: none; }
.ek-card:hover { transform: translateY(-4px); box-shadow: var(--ek-shadow-lg); }
.ek-card__media { position: relative; aspect-ratio: 1; border-radius: var(--ek-r-sm); background: #fff; overflow: hidden; }
.ek-card__img { position: absolute; inset: 0; display: grid; place-items: center; padding: 8%; }
.ek-card__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .7s var(--ek-ease-out); }
.ek-card:hover .ek-card__img img { transform: scale(1.06); }
.ek-card__badges { position: absolute; top: 4px; inset-inline-start: 4px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.ek-badge { display: inline-block; padding: 4px 8px; border-radius: 8px; font-size: 12px; font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.ek-badge--sale { background: var(--ek-yellow); color: var(--ek-ink); }
.ek-badge--new { background: var(--ek-ink); color: #fff; }
.ek-card__wish {
	position: absolute; top: 4px; inset-inline-end: 4px; z-index: 2; width: 36px; height: 36px; border-radius: 50%;
	display: grid; place-items: center; background: rgba(255, 255, 255, .9); color: var(--ek-ink-2); box-shadow: inset 0 0 0 1px var(--ek-line);
	transition: color .2s, transform .35s var(--ek-ease-out), background-color .2s;
}
.ek-card__wish .ek-icon, .ek-single__wish .ek-icon { width: 18px; height: 18px; }
.ek-card__wish:hover { color: var(--ek-sale); transform: scale(1.08); }
[data-wish][aria-pressed="true"] { color: var(--ek-sale); }
[data-wish][aria-pressed="true"] .ek-icon { fill: currentColor; animation: ek-heart .5s var(--ek-ease-out); }
@keyframes ek-heart { 40% { transform: scale(1.35); } }
.ek-card__soldout { position: absolute; bottom: 8px; inset-inline-start: 8px; padding: 4px 8px; border-radius: 8px; background: rgba(29, 29, 31, .8); color: #fff; font-size: 12px; font-weight: 600; }

.ek-card__body { display: flex; flex-direction: column; flex: 1; padding: 12px 4px 4px; }
.ek-card__brand { margin: 0 0 4px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ek-ink-3); }
.ek-card__title { margin: 0; font-size: 15px; line-height: 1.35; font-weight: 600; letter-spacing: -0.01em; min-height: calc(1.35em * 2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ek-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ek-chips { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0 0; }
.ek-chips li { padding: 2px 8px; border-radius: 6px; background: var(--ek-bg-2); font-size: 12px; font-weight: 600; color: var(--ek-ink-2); line-height: 1.6; }
.ek-chips--lg { gap: 8px; margin: 16px 0; }
.ek-chips--lg li { padding: 6px 12px; border-radius: 10px; font-size: 14px; color: var(--ek-ink); }
.ek-card__rating { min-height: 20px; margin-top: 8px; display: flex; align-items: center; }
.ek-stars { position: relative; display: inline-block; font-size: 14px; line-height: 1; letter-spacing: 1px; }
.ek-stars__bg { color: #dcdce1; }
.ek-stars__fg { position: absolute; inset-block: 0; inset-inline-start: 0; overflow: hidden; white-space: nowrap; color: var(--ek-yellow); }
.ek-stars__count { margin-inline-start: 6px; font-size: 12px; color: var(--ek-ink-3); }
.ek-card__price { margin: auto 0 0; padding-top: 8px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.ek-card__price strong { font-size: 18px; font-weight: 700; letter-spacing: -0.02em; }
.ek-card__price del { font-size: 13px; color: var(--ek-ink-3); }
.ek-card__price .woocommerce-Price-amount { font-weight: 700; }
.ek-card__cta {
	position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 6px;
	height: 40px; margin-top: 12px; border-radius: 999px; background: var(--ek-yellow); color: var(--ek-ink);
	font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	transition: background-color .25s, color .25s, transform .3s var(--ek-ease-out);
}
.ek-card__cta:hover { background: var(--ek-ink); color: #fff; }
.ek-card__cta:active { transform: scale(.97); }
.ek-card__cta--ghost { background: var(--ek-bg-2); }
.ek-card__cta-done { display: none; align-items: center; gap: 6px; }
.ek-card__cta-done .ek-icon { width: 16px; height: 16px; stroke-width: 2.4; }
.ek-card__cta.loading { pointer-events: none; color: transparent; }
.ek-card__cta.loading::after { content: ""; position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--ek-ink); border-right-color: transparent; animation: ek-spin .7s linear infinite; }
.ek-card__cta.added { background: var(--ek-ink); color: #fff; }
.ek-card__cta.added .ek-card__cta-label { display: none; }
.ek-card__cta.added .ek-card__cta-done { display: inline-flex; }
.ek-card .added_to_cart { display: none !important; }

/* ---------- 6. Countdown ---------- */
.ek-countdown { display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.ek-countdown__label { font-size: 14px; font-weight: 600; color: var(--ek-ink-2); margin-inline-end: 4px; }
.ek-countdown__box { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--ek-ink); color: #fff; font-size: 18px; font-weight: 700; }
.ek-countdown i { font-style: normal; font-weight: 700; color: var(--ek-ink-3); }

/* ---------- 10. Brands ---------- */
.ek-brandgrid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.ek-wordmark {
	display: flex; align-items: center; justify-content: center; gap: 8px; height: 96px; padding: 0 12px; border-radius: var(--ek-r);
	background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); font-size: 20px; color: var(--ek-ink); white-space: nowrap;
	transition: transform .4s var(--ek-ease-out), box-shadow .4s, color .25s;
}
.ek-section--grey .ek-wordmark { box-shadow: none; }
.ek-wordmark:hover { transform: translateY(-4px); box-shadow: var(--ek-shadow-lg); }
.ek-wordmark--apple { font-weight: 600; letter-spacing: -0.03em; }
.ek-wordmark--anker { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ek-wordmark--anker:hover { color: #00a7e1; }
.ek-wordmark--soundcore { font-weight: 600; letter-spacing: -0.02em; }
.ek-wordmark--soundcore:hover { color: #0aa7e6; }
.ek-wordmark--eufy { font-weight: 700; font-size: 24px; letter-spacing: -0.03em; }
.ek-wordmark--eufy:hover { color: #0a6fe6; }
.ek-wordmark--ugreen { font-weight: 800; letter-spacing: .02em; }
.ek-wordmark--ugreen:hover { color: #1aa64a; }
.ek-wordmark--baseus { font-weight: 700; letter-spacing: .01em; }
.ek-wordmark--choetech { font-weight: 800; font-style: italic; letter-spacing: .02em; font-size: 17px; }
.ek-wordmark--choetech:hover { color: #e60012; }
.ek-wordmark--all { font-size: 15px; font-weight: 600; background: var(--ek-ink); color: #fff; box-shadow: none; }
.ek-wordmark--all:hover { color: var(--ek-yellow); }
.ek-wordmark--all .ek-icon { width: 18px; height: 18px; }
.ek-brandgrid--page { grid-template-columns: repeat(7, 1fr); margin-bottom: 48px; }
@media (max-width: 1240px) { .ek-brandgrid--page { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px) { .ek-brandgrid--page { grid-template-columns: repeat(2, 1fr); } }
.ek-brandlist { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.ek-brandlist a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px; border-radius: var(--ek-r-sm); background: var(--ek-bg-2); font-weight: 600; transition: background-color .2s; }
.ek-brandlist a:hover { background: var(--ek-yellow-soft); }
.ek-brandlist small { color: var(--ek-ink-3); font-weight: 500; font-size: 13px; }

/* ---------- 11. Help band ---------- */
.ek-help {
	position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 32px;
	padding: 48px; border-radius: var(--ek-r-lg); background: var(--ek-yellow);
}
.ek-help::after { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; inset-inline-end: -80px; top: -180px; background: rgba(255, 255, 255, .28); filter: blur(30px); animation: ek-drift 12s ease-in-out infinite; }
@keyframes ek-drift { 50% { transform: translate(-80px, 60px); } }
.ek-help__copy { position: relative; z-index: 1; max-width: 560px; }
.ek-help__copy p { margin: 8px 0 0; color: rgba(29, 29, 31, .78); font-size: 17px; }
.ek-help__cta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Footer ---------- */
.ek-footer { background: var(--ek-bg-2); color: var(--ek-ink-2); font-size: 14px; padding: 64px 0 24px; }
.ek-footer a { transition: color .2s; }
.ek-footer a:hover { color: var(--ek-ink); }
.ek-footer__top { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 32px; padding-bottom: 48px; }
.ek-footer__logo img { height: 36px; width: auto; }
.ek-footer__brand p { margin: 16px 0 0; max-width: 300px; line-height: 1.55; }
.ek-footer__contact { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px; }
.ek-footer__phone { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--ek-ink); }
.ek-footer__phone .ek-icon { width: 18px; height: 18px; }
.ek-footer__social { display: flex; gap: 16px; }
.ek-footer__title { font-size: 14px; font-weight: 700; color: var(--ek-ink); margin: 0 0 16px; }
.ek-footer__col li { margin-bottom: 8px; }
.ek-footer__pay { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 24px 0; border-top: 1px solid var(--ek-line-2); }
.ek-footer__paylabel { font-weight: 600; color: var(--ek-ink); font-size: 13px; }
.ek-footer__pay ul { display: flex; flex-wrap: wrap; gap: 8px; }
.ek-footer__pay li { padding: 4px 12px; border-radius: 8px; background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); font-size: 12px; font-weight: 700; color: var(--ek-ink); letter-spacing: .02em; }
.ek-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid var(--ek-line-2); font-size: 13px; }
.ek-footer__bottom p { margin: 0; }
.ek-footer__legal { display: flex; gap: 16px; }

/* Floating WhatsApp + toast */
.ek-wa {
	position: fixed; bottom: 24px; inset-inline-end: 24px; z-index: 80; width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center; background: #25d366; color: #fff;
	box-shadow: 0 12px 32px -8px rgba(0, 0, 0, .35); transition: transform .4s var(--ek-ease-out);
	animation: ek-pop .8s var(--ek-ease-out) 1.5s both;
}
.ek-wa::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366; animation: ek-ping 2.4s ease-out infinite 2.4s; }
.ek-wa:hover { transform: scale(1.08); }
.ek-wa .ek-icon { width: 28px; height: 28px; }
@keyframes ek-pop { from { transform: scale(0); } }
@keyframes ek-ping { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.7); opacity: 0; } }
.ek-toast {
	position: fixed; left: 50%; bottom: 24px; z-index: 200; translate: -50% 0; display: flex; align-items: center; gap: 16px;
	padding: 12px 12px 12px 20px; border-radius: 999px; background: var(--ek-ink); color: #fff; font-size: 14px; font-weight: 500;
	box-shadow: var(--ek-shadow-lg); opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity .3s, transform .45s var(--ek-ease-out);
}
.ek-toast.is-on { opacity: 1; transform: none; pointer-events: auto; }
.ek-toast a { padding: 8px 16px; border-radius: 999px; background: var(--ek-yellow); color: var(--ek-ink); font-weight: 600; }
.ek-toast:empty { display: none; }

/* ---------- Archives ---------- */
.ek-shop { padding-bottom: 96px; }
.ek-archhead { background: var(--ek-bg-2); margin-bottom: 32px; overflow: hidden; }
.ek-archhead--yellow { background: var(--ek-yellow); }
.ek-archhead--yellow .ek-eyebrow { color: rgba(29, 29, 31, .7); }
.ek-archhead--yellow .ek-crumbs, .ek-archhead--yellow .ek-archhead__desc { color: rgba(29, 29, 31, .75); }
.ek-archhead__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 200px; padding: 32px 0; }
.ek-archhead__title { display: flex; align-items: center; gap: 12px; font-size: clamp(32px, 4.4vw, 52px); line-height: 1.05; font-weight: 800; letter-spacing: -0.04em; margin: 8px 0 0; }
.ek-archhead__title .ek-icon { width: 40px; height: 40px; color: #d93800; }
.ek-archhead__desc { color: var(--ek-ink-2); max-width: 620px; margin: 12px 0 0; }
.ek-archhead__desc p { margin: 0; }
.ek-archhead__count { margin: 12px 0 0; font-size: 14px; color: var(--ek-ink-3); font-weight: 500; }
.ek-archhead__art { height: 180px; width: auto; max-width: 40%; object-fit: contain; filter: drop-shadow(0 24px 24px rgba(0, 0, 0, .18)); margin-inline-end: 32px; }
.ek-crumbs { font-size: 13px; color: var(--ek-ink-2); }
.ek-crumbs .sep { margin: 0 8px; color: var(--ek-ink-3); }
.ek-crumbs a:hover { color: var(--ek-ink); text-decoration: underline; }
.ek-subchips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 24px; }
.ek-subchips a { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border-radius: 999px; background: var(--ek-bg-2); font-size: 14px; font-weight: 600; }
.ek-subchips a:hover { background: var(--ek-yellow); }
.ek-subchips span { color: var(--ek-ink-3); font-weight: 500; }

.ek-shoplayout { display: grid; grid-template-columns: 232px 1fr; gap: 32px; align-items: start; }
.ek-filters { position: sticky; top: calc(var(--ek-header-h) + 24px); max-height: calc(100vh - var(--ek-header-h) - 48px); overflow-y: auto; scrollbar-width: thin; padding-inline-end: 4px; }
.admin-bar .ek-filters { top: calc(var(--ek-header-h) + 56px); }
.ek-filters__head, .ek-filters__scrim { display: none; }
.ek-filters__group + .ek-filters__group { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--ek-line); }
.ek-filters__title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ek-ink-3); margin: 0 0 8px; }
.ek-filters a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 10px; font-size: 14px; font-weight: 500; transition: background-color .2s; }
.ek-filters a:hover { background: var(--ek-bg-2); }
.ek-filters a.is-active { background: var(--ek-yellow-soft); font-weight: 700; }
.ek-filters a span { font-size: 12px; color: var(--ek-ink-3); }
.ek-shopmain { min-width: 0; }
.ek-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.ek-toolbar__filters { display: none; }
.ek-toolbar .woocommerce-notices-wrapper { flex-basis: 100%; }
.ek-toolbar .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .ek-toolbar .woocommerce-result-count { margin: 0; color: var(--ek-ink-2); font-size: 14px; float: none; }
.woocommerce .ek-toolbar .woocommerce-ordering { margin: 0; margin-inline-start: auto; float: none; }

.woocommerce ul.products, ul.products.ek-grid {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ek-gap); margin: 0 0 48px !important; padding: 0;
}
.woocommerce ul.products.columns-5, .ek-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, ul.products .ek-loop-item { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; min-width: 0; }
.ek-collection .woocommerce-result-count, .ek-collection .woocommerce-ordering { margin-bottom: 24px !important; }

.woocommerce nav.woocommerce-pagination { text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid !important; place-items: center; min-width: 44px; height: 44px; border-radius: 999px; padding: 0 12px !important; font-weight: 600; background: var(--ek-bg-2); }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--ek-line); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ek-ink) !important; color: #fff !important; }

.ek-emptystate { text-align: center; padding: 64px 24px; border-radius: var(--ek-r-lg); background: var(--ek-bg-2); }
.ek-emptystate__icon { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: var(--ek-shadow); }
.ek-emptystate__icon .ek-icon { width: 28px; height: 28px; }
.ek-emptystate h2 { font-size: 24px; letter-spacing: -0.02em; margin: 0; }
.ek-emptystate p { color: var(--ek-ink-2); margin: 8px auto 0; max-width: 440px; }
.ek-emptystate__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px !important; }

/* ---------- Single product ---------- */
.ek-shop--single { padding-top: 24px; }
.ek-shop--single .ek-crumbs { margin-bottom: 24px; }
.ek-shop--single div.product { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.ek-shop--single div.product > .onsale { position: absolute; top: 16px !important; left: 16px !important; z-index: 3; }
.ek-shop--single div.product div.images, .ek-shop--single div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.ek-shop--single div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--ek-r-lg); background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); overflow: hidden; }
.ek-shop--single div.product div.images .woocommerce-product-gallery__image img { aspect-ratio: 1; object-fit: contain; padding: 6%; background: #fff; }
.ek-shop--single div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 12px !important; }
.ek-shop--single div.product div.images .flex-control-thumbs li { width: 72px !important; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); }
.ek-shop--single div.product div.images .flex-control-thumbs li img { width: 100%; height: 100%; object-fit: contain; padding: 8%; opacity: .6; transition: opacity .2s; }
.ek-shop--single div.product div.images .flex-control-thumbs li img.flex-active, .ek-shop--single div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.ek-shop--single div.product div.images .woocommerce-product-gallery__trigger { top: 16px; right: 16px; }
.ek-shop--single div.summary { position: relative; }
.ek-single__brand { display: inline-block; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ek-yellow-deep); margin-bottom: 8px; }
.ek-single__wish { position: absolute; top: 0; inset-inline-end: 0; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--ek-bg-2); color: var(--ek-ink-2); transition: color .2s, background-color .2s; }
.ek-single__wish:hover { color: var(--ek-sale); }
.ek-single__wish .ek-icon { width: 22px; height: 22px; }
.ek-shop--single .product_title { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.15; letter-spacing: -0.03em; font-weight: 700; margin: 0 56px 8px 0; }
[dir="rtl"] .ek-shop--single .product_title { margin: 0 0 8px 56px; }
.ek-single__rating { margin-bottom: 16px; }
.ek-single__rating .ek-stars { font-size: 16px; }
.ek-shop--single div.product .summary .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; font-size: 28px !important; font-weight: 700; color: var(--ek-ink) !important; margin: 0 0 8px; letter-spacing: -0.02em; }
.ek-shop--single div.product .summary .price del { font-size: 18px; font-weight: 500; color: var(--ek-ink-3); order: 2; }
.ek-shop--single div.product .summary .price ins { text-decoration: none; }
.ek-single__stock { display: flex; align-items: center; gap: 8px; color: var(--ek-ok); font-weight: 600; font-size: 14px; margin: 0 0 8px; }
.ek-single__stock .ek-icon { width: 18px; height: 18px; stroke-width: 2.4; }
.ek-shop--single div.product .summary .woocommerce-product-details__short-description { color: var(--ek-ink-2); }
.ek-shop--single div.product .stock.out-of-stock { color: var(--ek-sale); font-weight: 600; }
.ek-shop--single div.product form.cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 24px 0 16px; margin: 16px 0 0 !important; border-top: 1px solid var(--ek-line); }
.ek-shop--single div.product form.cart .quantity { margin: 0 !important; }
.ek-shop--single div.product form.cart .quantity input { width: 88px; height: 52px; border-radius: 999px; text-align: center; font-weight: 600; }
.ek-shop--single div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 52px; font-size: 16px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .04em; }
.ek-shop--single div.product form.cart.variations_form { display: block; }
.ek-shop--single table.variations select { border-radius: 12px; }
.ek-single__wa { margin-bottom: 24px; }
.ek-single__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 24px; }
.ek-single__trust li { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border-radius: var(--ek-r-sm); background: var(--ek-bg-2); font-size: 13px; color: var(--ek-ink-2); line-height: 1.4; }
.ek-single__trust .ek-icon { width: 22px; height: 22px; color: var(--ek-ink); }
.ek-single__trust strong { display: block; color: var(--ek-ink); font-size: 14px; }
.ek-shop--single .product_meta { font-size: 13px; color: var(--ek-ink-2); display: grid; gap: 4px; }
.ek-shop--single .product_meta a { color: #0066cc; }
.ek-shop--single .woocommerce-tabs, .ek-shop--single .related, .ek-shop--single .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs { margin-top: 32px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 24px !important; display: flex; gap: 8px; justify-content: flex-start; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--ek-bg-2) !important; border: 0 !important; border-radius: 999px !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 24px !important; font-weight: 600 !important; color: var(--ek-ink) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ek-ink) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 860px; padding: 32px; border-radius: var(--ek-r-lg); background: var(--ek-bg-2); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 22px; margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel img { border-radius: var(--ek-r-sm); }
.ek-shop--single .related > h2, .ek-shop--single .upsells > h2 { font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -0.03em; margin: 64px 0 24px; }

/* ---------- Generic pages ---------- */
.ek-pagehead { padding: 64px 0 24px; }
.ek-pagehead--post { text-align: start; }
.ek-prose { max-width: 760px; }
.ek-prose h2 { font-size: 30px; letter-spacing: -0.03em; margin: 48px 0 12px; }
.ek-prose h3 { font-size: 22px; margin: 32px 0 8px; }
.ek-prose a:not(.wp-element-button):not(.button):not(.ek-btn) { color: #0066cc; }
.ek-prose a:not(.wp-element-button):not(.button):not(.ek-btn):hover { text-decoration: underline; }
.ek-prose img { border-radius: var(--ek-r-sm); }
.ek-prose blockquote { margin: 32px 0; padding-inline-start: 24px; border-inline-start: 4px solid var(--ek-yellow); font-size: 22px; font-weight: 600; }
.ek-feature-img img { border-radius: var(--ek-r-lg); width: 100%; }
.ek-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ek-post { background: var(--ek-bg-2); border-radius: var(--ek-r-lg); overflow: hidden; transition: transform .5s var(--ek-ease-out); }
.ek-post:hover { transform: translateY(-4px); }
.ek-post__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--ek-yellow-soft); }
.ek-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ek-ease-out); }
.ek-post__ph { display: grid; place-items: center; height: 100%; color: var(--ek-yellow-deep); }
.ek-post__ph .ek-icon { width: 48px; height: 48px; }
.ek-post__body { padding: 24px; }
.ek-post__title { font-size: 20px; line-height: 1.25; margin: 0 0 8px; }
.ek-post__body p:last-child { color: var(--ek-ink-2); font-size: 15px; margin: 0; }
.ek-pagination { margin-top: 48px; text-align: center; }
.ek-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; border-radius: 999px; padding: 0 12px; }
.ek-pagination .page-numbers.current { background: var(--ek-yellow); font-weight: 600; }
.ek-searchform { display: flex; align-items: center; gap: 8px; background: var(--ek-bg-2); border-radius: 999px; padding: 6px 6px 6px 16px; max-width: 520px; margin: 24px auto 0; }
.ek-searchform input { flex: 1; border: 0; background: transparent; font: inherit; outline: none; min-width: 0; padding: 0; box-shadow: none; }
.ek-404 { text-align: center; padding: 96px 0; }
.ek-404__code {
	font-size: clamp(120px, 22vw, 240px); line-height: .9; font-weight: 800; letter-spacing: -0.06em; margin: 0;
	background: linear-gradient(120deg, var(--ek-yellow) 20%, #e0a200 50%, var(--ek-yellow) 80%); background-size: 200% 100%;
	-webkit-background-clip: text; background-clip: text; color: transparent; animation: ek-in 1.1s var(--ek-ease-out) forwards, ek-shine 4s linear infinite;
}
@keyframes ek-shine { to { background-position: -200% 0; } }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], textarea, select {
	font: inherit; font-size: 16px; color: var(--ek-ink); background: #fff;
	border: 1px solid var(--ek-line-2); border-radius: 12px; padding: 12px 16px; width: 100%; transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--ek-ink); box-shadow: 0 0 0 4px rgba(252, 190, 0, .3); }

/* ---------- WooCommerce: buttons, notices, cart, checkout, account ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--ek-yellow) !important; color: var(--ek-ink) !important; border-radius: 999px !important; padding: 12px 24px !important;
	font-weight: 600 !important; font-size: 15px !important; line-height: 1.1 !important; border: 0 !important;
	transition: transform .35s var(--ek-ease-out), box-shadow .3s, background-color .2s !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -10px rgba(201, 147, 0, .8); }
.woocommerce .checkout-button { background: var(--ek-ink) !important; color: #fff !important; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5 !important; }
.woocommerce span.onsale { min-height: 0; min-width: 0; line-height: 1.2; padding: 6px 10px; border-radius: 8px; font-size: 13px; font-weight: 700; background: var(--ek-yellow); color: var(--ek-ink); margin: 0 !important; }
.woocommerce .star-rating span::before { color: var(--ek-yellow); }

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 0 !important; border-radius: var(--ek-r-sm); background: var(--ek-bg-2) !important; color: var(--ek-ink) !important;
	border-inline-start: 4px solid var(--ek-yellow) !important; padding: 16px 24px 16px 52px !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--ek-yellow-deep) !important; }
.woocommerce-message .button { float: right; padding: 8px 16px !important; }
.woocommerce-error { border-inline-start-color: var(--ek-sale) !important; }
.woocommerce table.shop_table { border: 0 !important; border-radius: var(--ek-r) !important; background: var(--ek-bg-2); overflow: hidden; border-collapse: separate !important; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--ek-line) !important; padding: 16px !important; }
.woocommerce table.shop_table img { width: 72px !important; border-radius: 12px; background: #fff; }
.woocommerce a.remove { color: var(--ek-ink-3) !important; }
.woocommerce a.remove:hover { background: var(--ek-ink) !important; color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order { background: var(--ek-bg-2); border-radius: var(--ek-r); padding: 24px; }
.woocommerce-checkout #payment { background: #fff !important; border-radius: var(--ek-r-sm) !important; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ek-yellow); font-weight: 600; }

/* WooCommerce blocks (cart / checkout) */
.ek-store-page { padding-bottom: 24px; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--ek-yellow) !important; color: var(--ek-ink) !important; border: 0 !important; border-radius: 999px !important;
	min-height: 52px; font-weight: 700 !important; font-size: 16px !important; text-decoration: none !important;
	transition: transform .35s var(--ek-ease-out), box-shadow .3s !important;
}
.wc-block-components-button:not(.is-link):hover { transform: scale(1.02); box-shadow: 0 10px 24px -10px rgba(201, 147, 0, .8); }
.wc-block-components-button .wc-block-components-button__text { color: inherit; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea, .wc-block-components-quantity-selector { border-radius: 12px !important; border-color: var(--ek-line-2) !important; }
.wc-block-components-text-input input:focus, .wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--ek-ink) !important; box-shadow: 0 0 0 4px rgba(252, 190, 0, .3) !important; }
.wc-block-components-product-name { color: var(--ek-ink) !important; font-weight: 600; text-decoration: none !important; }
.wc-block-components-product-badge, .wc-block-components-sale-badge { background: var(--ek-yellow) !important; color: var(--ek-ink) !important; border: 0 !important; border-radius: 8px !important; padding: 3px 8px !important; font-weight: 700; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 10px; background: #fff; object-fit: contain; }
.wc-block-components-order-summary-item__quantity { background: var(--ek-ink) !important; color: #fff !important; border: 0 !important; }
.wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-checkout-order-summary-block { border-radius: var(--ek-r) !important; }
.wc-block-components-totals-wrapper, .wc-block-components-panel { border-color: var(--ek-line) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--ek-yellow); border-color: var(--ek-yellow-deep); }
.wc-block-components-radio-control__input:checked::before { background: var(--ek-ink) !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { object-fit: contain; }

/* ---------- Responsive ---------- */
@media (max-width: 1240px) {
	.ek-hsearch { max-width: 300px; }
	.ek-menu > li > a, .ek-menu__link { padding: 0 10px; }
	.ek-rail__track { grid-auto-columns: calc((100% - var(--ek-gap) * 3) / 4); }
	.ek-mega__brands, .ek-brandgrid { grid-template-columns: repeat(4, 1fr); }
	.woocommerce ul.products.columns-5, .ek-grid--5 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	.woocommerce .ek-shopmain ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1060px) {
	:root { --ek-gutter: 24px; --ek-section: 56px; --ek-header-h: 64px; }
	.ek-header__toggle { display: grid; margin-inline-start: -8px; }
	.ek-header__bar { gap: 12px; }
	.ek-hide-sm { display: none; }
	.ek-hsearch { max-width: none; }
	/* Off-canvas nav */
	.ek-nav {
		position: fixed; top: var(--ek-nav-top, var(--ek-header-h)); bottom: 0; inset-inline-start: 0; z-index: 99;
		width: min(400px, 88vw); background: #fff; display: flex; flex-direction: column; align-items: stretch;
		padding: 16px 24px 32px; overflow-y: auto; box-shadow: var(--ek-shadow-lg);
		transform: translateX(-100%); visibility: hidden; transition: transform .45s var(--ek-ease-out), visibility .45s;
	}
	[dir="rtl"] .ek-nav { transform: translateX(100%); }
	.is-menu-open .ek-nav { transform: none; visibility: visible; }
	.ek-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.ek-menu > li { border-bottom: 1px solid var(--ek-line); }
	.ek-menu > li > a, .ek-menu__link { height: 56px; padding: 0 4px; font-size: 18px; justify-content: space-between; border-radius: 0; }
	.ek-menu > li > a:hover, .ek-menu__item.is-open > .ek-menu__link { background: none; }
	.ek-menu__item.is-hot > .ek-menu__link { justify-content: flex-start; }
	.ek-mega, .ek-menu > li > .sub-menu {
		position: static; padding: 0 0 16px; background: none; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
		opacity: 1; visibility: visible; transform: none; pointer-events: auto; display: none;
	}
	.ek-menu > li > .sub-menu { display: block; }
	.ek-menu__item.is-open > .ek-mega { display: block; }
	.ek-mega .ek-container { width: auto; }
	.ek-mega__inner { grid-template-columns: 1fr; gap: 12px; }
	.ek-mega__cats { grid-template-columns: 1fr; gap: 0; }
	.ek-mega__cats a { padding: 6px 0; }
	.ek-mega__cats small { display: none; }
	.ek-mega__thumb { width: 40px; height: 40px; }
	.ek-mega__promo { display: none; }
	.ek-mega__brands { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.ek-mega__brands .ek-wordmark { height: 56px; font-size: 16px; background: var(--ek-bg-2); box-shadow: none; }
	.ek-nav__foot { display: grid; gap: 4px; margin-top: 24px; }
	.ek-nav__foot a { display: flex; align-items: center; gap: 12px; padding: 12px 0; font-weight: 600; }
	.ek-scrim.is-on { z-index: 98; }

	.ek-help { flex-direction: column; align-items: flex-start; }
	.ek-footer__top { grid-template-columns: repeat(2, 1fr); }
	.ek-footer__brand { grid-column: 1 / -1; }

	/* Filters drawer */
	.ek-shoplayout { grid-template-columns: 1fr; }
	.ek-toolbar__filters { display: inline-flex; }
	.ek-filters {
		position: fixed; inset: 0 auto 0 0; z-index: 130; width: min(340px, 86vw); max-height: none; padding: 0 24px 32px; background: #fff;
		transform: translateX(-100%); visibility: hidden; transition: transform .45s var(--ek-ease-out), visibility .45s; box-shadow: var(--ek-shadow-lg);
	}
	[dir="rtl"] .ek-filters { inset: 0 0 0 auto; transform: translateX(100%); }
	.ek-filters.is-open { transform: none; visibility: visible; }
	.ek-filters__head { display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 1; background: #fff; padding: 16px 0; margin-bottom: 8px; font-size: 18px; }
	.ek-filters__scrim { display: block; position: fixed; inset: 0; z-index: 129; background: rgba(0, 0, 0, .3); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
	.ek-filters.is-open + .ek-filters__scrim { opacity: 1; visibility: visible; }
	.woocommerce .ek-shopmain ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ek-shop--single div.product { grid-template-columns: 1fr; gap: 32px; }
	.ek-shop--single div.product div.images { position: static; }
	.ek-posts { grid-template-columns: 1fr 1fr; }
	.admin-bar .ek-header { top: 46px; }
}

@media (max-width: 782px) {
	.ek-rail__track { grid-auto-columns: calc((100% - var(--ek-gap) * 2) / 3); }
	.woocommerce ul.products, ul.products.ek-grid, .woocommerce ul.products.columns-5, .ek-grid--5, .woocommerce .ek-shopmain ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ek-brandlist { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
	:root { --ek-gutter: 16px; --ek-section: 48px; --ek-gap: 12px; --ek-header-h: 60px; }
	body { font-size: 15px; }
	.ek-topbar__list li:not(:first-child) { display: none; }
	.ek-topbar__inner { justify-content: center; }
	.ek-topbar__phone { display: none; }
	.ek-header__bar { flex-wrap: wrap; height: auto; padding: 8px 0; row-gap: 8px; }
	.ek-logo { flex: 1; }
	.ek-logo img { height: 32px; }
	.ek-hsearch { order: 5; flex-basis: 100%; height: 42px; margin: 0; }
	.ek-hsearch__panel { min-width: 0; }
	.ek-header.is-hidden:not(.is-mega) { transform: translateY(-100%); }
	.ek-iconbtn { width: 40px; height: 40px; }


	.ek-shead { align-items: center; margin-bottom: 16px; }
	.ek-shead__sub { font-size: 14px; margin-top: 4px; }
	.ek-shead .ek-countdown { display: none; }

	.ek-rail__track { grid-auto-columns: 46%; margin-inline: calc(var(--ek-gutter) * -1); padding-inline: var(--ek-gutter); scroll-padding-inline: var(--ek-gutter); }
	.ek-rail__btn { display: none; }
	.ek-card { padding: 8px; }
	.ek-card__body { padding: 8px 4px 4px; }
	.ek-card__title { font-size: 14px; }
	.ek-card__price strong { font-size: 16px; }
	.ek-card__cta { height: 38px; font-size: 12px; }
	.ek-card__wish { width: 32px; height: 32px; }

	.ek-brandgrid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.ek-wordmark { height: 72px; font-size: 18px; }
	.ek-help { padding: 32px 24px; }
	.ek-help__cta { width: 100%; }
	.ek-help__cta .ek-btn { flex: 1; }

	.ek-footer { padding-top: 48px; }
	.ek-footer__top { gap: 32px 16px; padding-bottom: 32px; }
	.ek-wa { width: 52px; height: 52px; bottom: 16px; inset-inline-end: 16px; }
	.single-product .ek-wa { bottom: 88px; }

	.ek-archhead { margin-bottom: 24px; }
	.ek-archhead__inner { min-height: 0; padding: 24px 0; }
	.ek-archhead__art { height: 110px; margin: 0; }
	.ek-toolbar { flex-wrap: wrap; }
	.woocommerce .ek-toolbar .woocommerce-result-count { display: none; }
	.ek-single__trust { grid-template-columns: 1fr; }
	.woocommerce div.product .woocommerce-tabs .panel { padding: 24px 16px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; }
	.ek-posts { grid-template-columns: 1fr; }
	.ek-pagehead { padding-top: 40px; }
}

@media (max-width: 600px) {
	.admin-bar .ek-header { top: 0; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.reveal, .ek-anim, .ek-word { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Mixed-language text (English names on the Arabic site): let each block pick its
   own direction so "iPhone 17 Pro" never renders as "Pro 17 iPhone". */
.ek-slide__copy > *, .ek-pbanner__title, .ek-need__title, .ek-h2, .ek-card__title, .ek-catchip__name,
.woocommerce-loop-product__title, .product_title, .ek-topbar__list li, .ek-mega__cats strong {
	unicode-bidi: plaintext;
}
[dir="rtl"] .ek-card__title, [dir="rtl"] .product_title, [dir="rtl"] .ek-h2, [dir="rtl"] .ek-slide__copy > * { text-align: right; }

/* WooCommerce's own loop styles (".woocommerce ul.products li.product a img", "… h3") are more
   specific than the card's — pin the card's image fit and title so photos are never cropped. */
.woocommerce ul.products li.product .ek-card__img img,
.ek-card .ek-card__img img { width: 100%; height: 100%; margin: 0; object-fit: contain; box-shadow: none; }
.woocommerce ul.products li.product .ek-card__title { padding: 0; margin: 0; font-size: 15px; }
.woocommerce-page .ek-archhead img.ek-archhead__art { height: 180px; width: auto; max-width: 40%; }
@media (max-width: 640px) {
	.woocommerce ul.products li.product .ek-card__title { font-size: 14px; }
	.woocommerce-page .ek-archhead img.ek-archhead__art { height: 110px; }
}
@media (max-width: 640px) {
	.ek-card__price { gap: 2px 6px; }
	.ek-card__price strong { font-size: 15px; }
	.ek-card__price del { font-size: 12px; }
	.ek-card__rating { min-height: 16px; }
	.ek-stars { font-size: 12px; }
}
.ek-section--tight { padding: 16px 0 96px; }

/* ---------- Concept layout: responsive ---------- */
@media (max-width: 1240px) {
	.ek-catrow { grid-template-columns: repeat(min(var(--ek-cats, 10), 5), minmax(0, 1fr)); }
	.ek-trust__list { grid-template-columns: repeat(3, 1fr); }
	.ek-trust__item:nth-child(n+4) { display: none; }
	.ek-trust__item:nth-child(4) + .ek-trust__item, .ek-trust__item:nth-child(4) { border: 0; }
}
@media (max-width: 1060px) {
	.ek-need__grid { grid-template-columns: repeat(2, 1fr); }
	.ek-pbanners--3 { grid-template-columns: 1fr 1fr; }
	.ek-pbanners--3 .ek-pbanner:last-child { grid-column: 1 / -1; }
	.ek-slider__arrow { display: none; }
	.ek-archhead.has-photo .ek-archhead__copy { max-width: 60%; }
}
@media (max-width: 782px) {
	.ek-pbanners, .ek-pbanners--3 { grid-template-columns: 1fr; }
	.ek-trust__list { grid-template-columns: 1fr 1fr; }
	.ek-trust__item:nth-child(n+4) { display: flex; }
	.ek-trust__item { border: 0 !important; }
	.ek-trust__item:last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	/* Hero: copy on a solid panel, product photo underneath */
	.ek-slide { flex-direction: column; align-items: stretch; min-height: 0; }
	.ek-slide__bg { position: relative; inset: auto; order: 2; z-index: 0; }
	.ek-slide__bg img { height: auto; aspect-ratio: 4 / 3; }
	.ek-slide__bg::after { display: none; }
	.ek-slide--dark { background: #0b0b0c; }
	.ek-slide__inner { padding: 32px 0 8px; }
	.ek-slide__eyebrow { letter-spacing: .2em; font-size: 12px; margin-bottom: 12px; }
	.ek-slide__sub { margin-top: 16px; }
	.ek-slide__cta { margin-top: 24px; }
	.ek-slide__cta .ek-btn { flex: 1; padding-inline: 16px; }
	.ek-slider__dots { position: static; padding: 8px 0 36px; justify-content: center; background: inherit; }
	.ek-slider { background: #0b0b0c; }
	.ek-slider.is-light { background: #fbf5e8; }
	.ek-trust { margin-top: -24px; }
}
@media (max-width: 640px) {
	.ek-catrow { display: flex; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--ek-gutter) * -1); padding: 4px var(--ek-gutter) 8px; gap: 8px; }
	.ek-catrow::-webkit-scrollbar { display: none; }
	.ek-catrow li { flex: none; width: 92px; }
	.ek-catchip__name { font-size: 12px; }
	.ek-need { padding: 24px 16px; border-radius: var(--ek-r); }
	.ek-need__grid { grid-template-columns: 1fr; gap: 8px; }
	.ek-needcard::after { background: linear-gradient(90deg, rgba(250, 250, 251, .9) 0%, rgba(250, 250, 251, .5) 40%, rgba(250, 250, 251, 0) 58%); }
	.ek-needcard__icon { width: 32px; height: 32px; }
	.ek-needcard__copy strong { font-size: 15px; }
	/* Photo banners: copy above, photo below — never text over the product */
	.ek-pbanner, .ek-pbanner--sm { flex-direction: column; align-items: stretch; min-height: 0; padding: 0; }
	.ek-pbanner__copy, .ek-pbanner--sm .ek-pbanner__copy { order: 1; max-width: none; height: auto; padding: 24px 24px 0; }
	.ek-pbanner__img { order: 2; position: relative; inset: auto; z-index: 0; height: 200px; object-position: 88% 70%; }
	.ek-pbanner--sm .ek-pbanner__title { margin-bottom: 8px; }
	.ek-pbanner__sub { margin-bottom: 16px; }
	.ek-archhead__photo { width: 70%; opacity: .9; }
	.ek-trust__item { padding: 12px; gap: 10px; }
	.ek-trust__icon { width: 36px; height: 36px; }
	.ek-trust__item small { display: none; }
	.ek-archhead.has-photo .ek-archhead__inner { min-height: 220px; }
	.ek-archhead.has-photo .ek-archhead__copy { max-width: 64%; }
}

/* RTL banners (mirrored photo, copy on the right) live in 25-rtl-banners.css. */
[dir="rtl"] .ek-slider__dots { direction: ltr; }

/* ---------- Language switch ---------- */
.ek-topbar__end { display: flex; align-items: center; gap: 24px; }
.ek-lang { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; white-space: nowrap; }
.ek-lang .ek-icon { width: 16px; height: 16px; }
.ek-topbar .ek-lang { color: #f5f5f7; }
.ek-topbar .ek-lang .ek-icon { color: var(--ek-yellow); }
.ek-topbar .ek-lang:hover { color: var(--ek-yellow); }
.ek-lang[lang="ar"] span { font-family: var(--ek-font-ar); }
.ek-lang[lang="en"] span { font-family: var(--ek-font); }
.ek-lang-sm { display: none; }
.ek-nav__foot .ek-lang { padding: 12px 0; }
.ek-nav__foot .ek-lang .ek-icon { width: 20px; height: 20px; }
@media (max-width: 640px) {
	.ek-topbar__end { display: none; }
	.ek-lang-sm { display: inline-flex; }
	.ek-lang-sm .ek-lang { height: 40px; padding: 0 8px; border-radius: 999px; font-size: 13px; }
	.ek-lang-sm .ek-lang .ek-icon { display: none; }
}

/* ---------- Select menus (sorting, variations, checkout) ----------
   One custom chevron with real breathing room, instead of the browser arrow
   pressed against the edge. */
select {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	padding-inline: 16px 44px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1d1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-size: 16px; background-position: right 16px center;
	cursor: pointer; text-overflow: ellipsis;
}
[dir="rtl"] select { background-position: left 16px center; }
select::-ms-expand { display: none; }
.woocommerce .woocommerce-ordering select, .ek-collection .woocommerce-ordering select {
	width: auto; min-width: 200px; height: 44px; padding-block: 0; border-radius: 999px; border: 1px solid var(--ek-line-2);
	font-size: 14px; font-weight: 500; color: var(--ek-ink); transition: border-color .2s, box-shadow .2s;
}
.woocommerce .woocommerce-ordering select:hover { border-color: var(--ek-ink); }
.ek-collection .woocommerce-ordering { float: right; }
[dir="rtl"] .ek-collection .woocommerce-ordering { float: left; }
.ek-collection .woocommerce-result-count { float: left; line-height: 44px; margin: 0 0 24px !important; color: var(--ek-ink-2); font-size: 14px; }
[dir="rtl"] .ek-collection .woocommerce-result-count { float: right; }
.ek-collection ul.products { clear: both; }

/* ---------- Wide photo headers (Best Sellers, Offers) ---------- */
.ek-archhead.has-photo--full .ek-archhead__photo { width: 100%; -webkit-mask-image: none; mask-image: none; object-position: center; }
.ek-archhead.has-photo--full .ek-archhead__copy { max-width: 40%; }
@media (max-width: 1060px) { .ek-archhead.has-photo--full .ek-archhead__copy { max-width: 44%; } .ek-archhead.has-photo--full .ek-archhead__photo { object-position: 70% center; } }
.ek-archhead.has-photo .ek-eyebrow { color: var(--ek-yellow-deep); }
.ek-archhead.has-photo .ek-archhead__title .ek-icon { color: #d93800; }
@media (max-width: 640px) {
	/* Photo headers on phones: copy on top, the full photo underneath. */
	.ek-archhead.has-photo { display: flex; flex-direction: column; }
	.ek-archhead.has-photo .ek-archhead__inner { order: 1; min-height: 0; padding: 24px 0 16px; }
	.ek-archhead.has-photo .ek-archhead__copy { max-width: none; }
	.ek-archhead.has-photo .ek-archhead__photo { order: 2; position: relative; inset: auto; z-index: 0; width: 100%; height: 150px; opacity: 1; -webkit-mask-image: none; mask-image: none; object-position: right center; }
	.ek-archhead.has-photo--full .ek-archhead__photo { height: 120px; }
	.woocommerce .woocommerce-ordering select { min-width: 0; }
}
@media (max-width: 640px) {
	.ek-collection .woocommerce-result-count { display: none; }
	.ek-collection .woocommerce-ordering, [dir="rtl"] .ek-collection .woocommerce-ordering { float: none; margin-bottom: 16px !important; }
	.ek-collection .woocommerce-ordering select { width: 100%; min-width: 0; }
}
.wc-blocks-components-select__select, .wc-block-components-select-input select { background-image: none; padding-inline-end: 40px; }

/* ---------- Direction-aware icons ---------- */
[dir="rtl"] .ek-icon--dir { transform: scaleX(-1); }
[dir="rtl"] .ek-link-arrow:hover .ek-icon, [dir="rtl"] a:hover .ek-link-arrow .ek-icon, [dir="rtl"] .ek-needcard:hover .ek-needcard__copy .ek-icon { translate: -4px 0; }
.ek-btn .ek-icon--dir { transition: translate .35s var(--ek-ease-out); }
.ek-btn:hover .ek-icon--dir { translate: 3px 0; }
[dir="rtl"] .ek-btn:hover .ek-icon--dir { translate: -3px 0; }
.ek-icon--fire { color: #ff5a00; }
.ek-menu__item.is-hot > .ek-menu__link .ek-icon--fire { color: #ff5a00; }

/* ---------- Notices: text and button centred on one row ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error li, .woocommerce-error {
	display: flex !important; align-items: center; flex-wrap: wrap; gap: 12px 16px;
	padding: 16px 20px !important; line-height: 1.45;
}
.woocommerce-error { flex-direction: column; align-items: stretch; }
.woocommerce-error li { padding: 0 !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	position: static !important; flex: none; margin: 0 !important; line-height: 1;
}
.woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button { float: none !important; order: 3; margin-inline-start: auto !important; padding: 10px 20px !important; }
.woocommerce-message .button:hover { transform: none; }

/* ---------- Offers page: strong contrast on the yellow photo ---------- */
.ek-archhead.has-photo .ek-archhead__copy { position: relative; }
.ek-archhead.has-photo--full .ek-archhead__copy::before {
	content: ""; position: absolute; z-index: -1; inset: -32px -48px -32px -400px;
	background: radial-gradient(closest-side, rgba(255, 252, 244, .9), rgba(255, 252, 244, .6) 60%, rgba(255, 252, 244, 0));
}
.ek-archhead.has-photo--full .ek-eyebrow { color: var(--ek-ink); }
.ek-archhead.has-photo--full .ek-archhead__desc { color: rgba(29, 29, 31, .86); font-weight: 500; }
@media (max-width: 640px) { .ek-archhead.has-photo--full .ek-archhead__copy::before { display: none; } }

/* ---------- RTL layout fixes ---------- */
/* Slider: "previous" sits on the right and "next" on the left, arrows mirrored. */
[dir="rtl"] .ek-slider__arrow--prev { left: auto; right: 24px; }
[dir="rtl"] .ek-slider__arrow--next { right: auto; left: 24px; }
/* Single product: sale badge and zoom button swap sides. */
[dir="rtl"] .ek-shop--single div.product > .onsale { left: auto !important; right: 16px !important; }
[dir="rtl"] .ek-shop--single div.product div.images .woocommerce-product-gallery__trigger { right: auto; left: 16px; }
/* Countdown digits always read 09:05:28; the label sits to their right. */
[dir="rtl"] .ek-countdown { direction: ltr; }
[dir="rtl"] .ek-countdown__label { order: 9; margin: 0 0 0 4px; }
/* Notice icon and button on the correct sides. */
[dir="rtl"] .woocommerce-message, [dir="rtl"] .woocommerce-info, [dir="rtl"] .woocommerce-error { border-inline-start: 4px solid var(--ek-yellow) !important; border-left: 0 !important; }
[dir="rtl"] .woocommerce-error { border-inline-start-color: var(--ek-sale) !important; }
/* Product text stays in its own language direction (English specs on the Arabic site read correctly). */
.woocommerce-product-details__short-description p, .woocommerce-product-details__short-description li,
.woocommerce-Tabs-panel--description p, .woocommerce-Tabs-panel--description li, .ek-card__brand, .ek-chips li { unicode-bidi: plaintext; }
[dir="rtl"] .woocommerce-product-details__short-description, [dir="rtl"] .woocommerce-Tabs-panel--description { text-align: right; }
/* WooCommerce moves focus to new notices for screen readers; no visible ring needed there. */
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-notices-wrapper:focus { outline: none; }
/* Category studio banners (Mobile Accessories, Power Banks, Audio): show the whole product set. */
.ek-archhead.has-photo--full .ek-archhead__photo { object-position: 85% 50%; }
.ek-archhead.has-photo--full .ek-archhead__inner { min-height: 360px; }
.tax-product_cat .ek-archhead.has-photo--full { background: #e7e7e8; }
.tax-product_cat .ek-archhead.has-photo--full .ek-archhead__copy::before { background: radial-gradient(closest-side, rgba(240, 240, 241, .85), rgba(240, 240, 241, .4) 60%, rgba(240, 240, 241, 0)); }
@media (max-width: 640px) {
	.ek-archhead.has-photo--full .ek-archhead__inner { min-height: 0; }
	.ek-archhead.has-photo--full .ek-archhead__photo { height: 160px; object-position: 90% 50%; }
}

/* Every banner photo is cropped from its middle, never just the top. */
.ek-archhead__photo, .ek-pbanner__img, .ek-slide__bg img, .ek-needcard__img { object-position: var(--ek-photo-x, 80%) 50% !important; }
.ek-archhead.has-photo--full { --ek-photo-x: 85%; }
.ek-needcard { --ek-photo-x: 100%; }
@media (max-width: 640px) {
	.ek-archhead__photo, .ek-pbanner__img { --ek-photo-x: 90%; }
}
/* Studio category banners: same header height; the whole photo is fitted on the right (products
   centred, nothing cut top or bottom) and its empty left side fades into a matching studio grey. */
.tax-product_cat .ek-archhead.has-photo--full { background: linear-gradient(180deg, #f6f6f7 0%, #e3e3e7 60%, #e6e6e9 100%); }
.tax-product_cat .ek-archhead.has-photo--full .ek-archhead__photo {
	inset: 0 0 0 auto; width: auto; height: 100%; max-width: 78%; object-fit: cover; object-position: 100% 50% !important;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%); mask-image: linear-gradient(90deg, transparent 0%, #000 22%);
}
.tax-product_cat .ek-archhead.has-photo--full .ek-archhead__copy::before { display: none; }
@media (max-width: 640px) {
	.tax-product_cat .ek-archhead.has-photo--full .ek-archhead__photo { width: 100%; max-width: none; height: auto; aspect-ratio: 2000 / 731; -webkit-mask-image: none; mask-image: none; }
}


/* ---------- Arabic through GPTranslate ----------
   The WordPress language stays English, so WooCommerce loads its left-to-right stylesheet and
   <html dir="rtl"> is set by the theme script. These rules finish the right-to-left layout. */

/* Cart, checkout totals and order tables: text starts on the right. */
[dir="rtl"] .woocommerce table.shop_table th,
[dir="rtl"] .woocommerce table.shop_table td,
[dir="rtl"] .woocommerce-cart .cart-collaterals .cart_totals table th,
[dir="rtl"] .woocommerce-cart .cart-collaterals .cart_totals table td,
[dir="rtl"] .woocommerce-checkout-review-order-table th,
[dir="rtl"] .woocommerce-checkout-review-order-table td {
	text-align: right !important;
}
[dir="rtl"] .woocommerce .cart_totals h2,
[dir="rtl"] .woocommerce .cart_totals p,
[dir="rtl"] .woocommerce-shipping-destination,
[dir="rtl"] .shipping-calculator-button,
[dir="rtl"] .woocommerce-shipping-methods { text-align: right; }
[dir="rtl"] .woocommerce .cart_totals .woocommerce-shipping-methods { padding-inline-start: 0; }

/* Menu labels are "plaintext" so mixed English names keep their word order; a Latin-only word
   would then start on the left. Keep every label on the right edge. */
[dir="rtl"] .ek-mega__cats strong,
[dir="rtl"] .ek-mega__cats small { text-align: right; }
/* ==========================================================================
   Phones: every banner keeps the desktop layout — text on the left, a smaller
   photo on the right — instead of stacking the text above the image.
   ========================================================================== */
@media (max-width: 640px) {
	/* Page / category headers */
	.ek-archhead.has-photo, .tax-product_cat .ek-archhead.has-photo--full { display: block; position: relative; min-height: 200px; aspect-ratio: auto; max-height: none; }
	.ek-archhead.has-photo .ek-archhead__inner, .tax-product_cat .ek-archhead.has-photo--full .ek-archhead__inner { min-height: 200px; padding: 20px 0; display: flex; align-items: center; }
	.ek-archhead.has-photo .ek-archhead__photo,
	.tax-product_cat .ek-archhead.has-photo--full .ek-archhead__photo {
		position: absolute !important; inset: 0 0 0 auto !important; order: 0; z-index: -1;
		width: 62% !important; max-width: none; height: 100% !important; aspect-ratio: auto;
		object-fit: cover; object-position: 92% 50% !important;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34%); mask-image: linear-gradient(90deg, transparent 0%, #000 34%);
	}
	.ek-archhead.has-photo--full:not(.tax-product_cat *) .ek-archhead__photo { object-position: 74% 50% !important; }
	.ek-archhead.has-photo .ek-archhead__copy, .tax-product_cat .ek-archhead.has-photo--full .ek-archhead__copy { max-width: 52% !important; }
	.ek-archhead.has-photo .ek-crumbs { font-size: 12px; }
	.ek-archhead.has-photo .ek-archhead__title { font-size: 26px; gap: 6px; margin-top: 6px; }
	.ek-archhead.has-photo .ek-archhead__title .ek-icon { width: 24px; height: 24px; }
	.ek-archhead.has-photo .ek-eyebrow { font-size: 11px; margin-bottom: 4px; }
	.ek-archhead.has-photo .ek-archhead__desc { font-size: 13px; line-height: 1.4; margin-top: 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.ek-archhead.has-photo .ek-archhead__count { font-size: 13px; margin-top: 8px; }
	.ek-archhead.has-photo .ek-archhead__copy::before { display: none !important; }

	/* Homepage photo banners */
	.ek-pbanner, .ek-pbanner--sm { flex-direction: row; align-items: center; min-height: 200px; padding: 20px; }
	.ek-pbanner__img { position: absolute; inset: 0; z-index: -1; height: 100%; order: 0; object-fit: cover; }
	.ek-pbanner__copy, .ek-pbanner--sm .ek-pbanner__copy { order: 0; max-width: 54%; height: auto; padding: 0; }
	.ek-pbanner .ek-eyebrow { font-size: 11px; letter-spacing: .14em; margin-bottom: 4px; }
	.ek-pbanner__title, .ek-pbanner--sm .ek-pbanner__title { font-size: 19px; margin-bottom: 6px; }
	.ek-pbanner__sub { font-size: 13px; margin: 0 0 12px; }
	.ek-pbanner .ek-btn { min-height: 34px; padding: 8px 14px; font-size: 13px; }
	.ek-pbanner--sm .ek-link-arrow { margin-top: 4px; font-size: 13px; }

	/* Hero slider */
	.ek-slide { flex-direction: row; align-items: center; min-height: 460px; }
	.ek-slide__bg { position: absolute; inset: 0; order: 0; z-index: -1; }
	.ek-slide__bg img { height: 100%; aspect-ratio: auto; object-position: 78% 50% !important; }
	.ek-slide__bg::after { display: block; }
	.ek-slide--dark .ek-slide__bg::after { background: linear-gradient(90deg, rgba(8, 8, 9, .92) 0%, rgba(8, 8, 9, .7) 45%, rgba(8, 8, 9, .1) 80%); }
	.ek-slide--light .ek-slide__bg::after { background: linear-gradient(90deg, rgba(251, 246, 234, .95) 0%, rgba(251, 246, 234, .75) 45%, rgba(251, 246, 234, .1) 80%); }
	.ek-slide__inner { padding: 32px 0 56px; }
	.ek-slide__copy { max-width: 64%; }
	.ek-slide__eyebrow { font-size: 11px; margin-bottom: 8px; }
	.ek-slide__title { font-size: 32px; }
	.ek-slide__sub { font-size: 14px; margin-top: 12px; }
	.ek-slide__cta { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 20px; }
	.ek-slide__cta .ek-btn { min-height: 44px; padding: 10px 16px; font-size: 14px; }
	.ek-slider__dots { position: absolute; padding: 0; bottom: 36px; justify-content: flex-start; background: none; }
	.ek-slider { background: var(--ek-dark); }
	.ek-trust { margin-top: -20px; }
}
@media (max-width: 640px) {
	.page .ek-archhead.has-photo .ek-archhead__photo { width: 56% !important; object-position: 88% 50% !important; }
	.page .ek-archhead.has-photo .ek-archhead__copy { max-width: 48% !important; }
}

/* ==========================================================================
   Buy Now, Pay Later (Deema / Taly)
   ========================================================================== */
.ek-paylogos { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; direction: ltr; }
.ek-paylogo { display: block; width: auto; }
.ek-paylogos--xs .ek-paylogo { height: 14px; }
.ek-paylogos--sm .ek-paylogo { height: 20px; }
.ek-paylogos--md .ek-paylogo { height: 24px; }
.ek-paylogos--lg .ek-paylogo { height: 32px; }

/* Menu item */
.ek-menu__item.is-bnpl > .ek-menu__link { color: #a2536a; }

/* Product card line */
.ek-card__bnpl { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; margin: 6px 0 0; font-size: 12px; color: var(--ek-ink-2); font-weight: 500; }

/* Product page box */
.ek-bnpl-box { margin: 12px 0 16px; padding: 16px; border-radius: var(--ek-r); background: #fbf2f4; box-shadow: inset 0 0 0 1px #f0d9df; }
.ek-bnpl-box__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.ek-bnpl-box__top strong { font-size: 14px; }
.ek-bnpl-box__price { margin: 0; font-size: 15px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.ek-bnpl-box__price b { font-size: 17px; }
.ek-bnpl-box__price span { color: var(--ek-ink-2); font-size: 14px; }
.ek-bnpl-box__note { margin: 8px 0 0; font-size: 13px; color: var(--ek-ok); font-weight: 600; }

/* Steps */
.ek-bnpl-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ek-bnpl-steps li { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border-radius: var(--ek-r-sm); background: #fff; box-shadow: var(--ek-shadow); font-size: 14px; color: var(--ek-ink-2); line-height: 1.4; }
.ek-bnpl-steps strong { display: block; color: var(--ek-ink); font-size: 15px; margin-bottom: 2px; }
.ek-bnpl-steps__n { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--ek-ink); color: #fff; font-weight: 700; font-size: 14px; }
.ek-bnpl-fineprint { margin: 12px 0 0; font-size: 13px; color: var(--ek-ink-2); }

/* Homepage band */
.ek-bnpl-band { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: center; padding: 40px; margin-bottom: 24px; border-radius: var(--ek-r-lg); background: linear-gradient(120deg, #fbeef1 0%, #fff6dd 100%); }
.ek-bnpl-band__title { margin: 16px 0 8px; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; font-weight: 800; letter-spacing: -0.03em; }
.ek-bnpl-band__copy p { margin: 0 0 24px; color: var(--ek-ink-2); font-size: 17px; max-width: 420px; }

/* Page header */
.ek-bnpl-hero { margin-bottom: 32px; background: linear-gradient(120deg, #fbeef1 0%, #fff6dd 100%); }
.ek-bnpl-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; padding: 48px 0; }
.ek-bnpl-hero__title { margin: 16px 0 8px; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.05; font-weight: 800; letter-spacing: -0.04em; }
.ek-bnpl-hero__sub { margin: 0; color: var(--ek-ink-2); font-size: 18px; max-width: 440px; }

@media (max-width: 1060px) {
	.ek-bnpl-band, .ek-bnpl-hero__inner { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.ek-bnpl-band { padding: 24px 20px; gap: 20px; }
	.ek-bnpl-hero__inner { padding: 28px 0; gap: 20px; }
	.ek-bnpl-steps li { padding: 12px; }
	.ek-card__bnpl { font-size: 11px; }
	.ek-paylogos--lg .ek-paylogo { height: 28px; }
}

/* ==========================================================================
   Cart (block cart): roomy rows, readable type, 44px touch targets
   ========================================================================== */
.wp-block-woocommerce-cart .wc-block-cart { gap: 32px; }
.wc-block-cart-items { border: 0 !important; border-collapse: separate !important; border-spacing: 0 12px !important; margin-top: -12px; }
.wc-block-cart-items__header { font-size: 13px !important; text-transform: uppercase; letter-spacing: .06em; color: var(--ek-ink-2); }
.wc-block-cart-items__header th { padding: 0 0 4px !important; font-weight: 600 !important; }
.wc-block-cart-items__row { background: #fff; }
.wc-block-cart-items__row > td { border: 0 !important; border-block: 1px solid var(--ek-line) !important; padding: 20px 16px !important; vertical-align: top; }
.wc-block-cart-items__row > td:first-child { border-inline-start: 1px solid var(--ek-line) !important; border-start-start-radius: var(--ek-r); border-end-start-radius: var(--ek-r); padding-inline-start: 20px !important; }
.wc-block-cart-items__row > td:last-child { border-inline-end: 1px solid var(--ek-line) !important; border-start-end-radius: var(--ek-r); border-end-end-radius: var(--ek-r); padding-inline-end: 20px !important; }
.wc-block-cart-item__image { width: 132px; }
.wc-block-cart-item__image a, .wc-block-cart-item__image img { display: block; width: 112px !important; height: 112px; max-width: none; }
.wc-block-cart-item__image img { object-fit: contain; padding: 8px; border-radius: var(--ek-r-sm); background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); }
.wc-block-cart-item__wrap { display: flex; flex-direction: column; gap: 8px; }
.wc-block-cart .wc-block-components-product-name { font-size: 17px !important; line-height: 1.35; font-weight: 600 !important; color: var(--ek-ink) !important; max-width: 46ch; }
.wc-block-cart .wc-block-components-product-name:hover { text-decoration: underline !important; }
.wc-block-cart-item__prices { font-size: 15px; }
.wc-block-cart-item__prices del { color: var(--ek-ink-3); margin-inline-end: 6px; }
.wc-block-cart-item__prices ins { text-decoration: none; font-weight: 600; }
/* Long product descriptions add noise in the cart */
.wc-block-cart .wc-block-components-product-metadata__description { display: none; }
.wc-block-cart-item__quantity { display: flex; align-items: center; gap: 16px; margin-top: 4px; }
.wc-block-components-quantity-selector { height: 44px; min-width: 132px; border-radius: 999px !important; border: 1px solid var(--ek-line-2) !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-quantity-selector__button { width: 44px !important; min-width: 44px !important; font-size: 20px !important; color: var(--ek-ink) !important; opacity: 1 !important; }
.wc-block-components-quantity-selector__button:hover { background: var(--ek-bg-2) !important; }
.wc-block-components-quantity-selector__button:disabled { color: var(--ek-ink-3) !important; }
.wc-block-components-quantity-selector__input { font-size: 16px !important; font-weight: 600; color: var(--ek-ink) !important; }
.wc-block-cart-item__remove-link {
	display: inline-flex !important; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px !important; border-radius: 999px;
	font-size: 14px !important; font-weight: 600; color: var(--ek-ink-2) !important; text-decoration: none !important;
}
.wc-block-cart-item__remove-link:hover { background: #fdecee; color: var(--ek-sale) !important; }
.wc-block-cart-item__remove-link svg { width: 20px; height: 20px; }
.wc-block-cart-item__total { width: 160px; text-align: end; }
.wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 18px; font-weight: 700; }
.wc-block-cart-item__total .wc-block-components-sale-badge { margin-top: 8px; font-size: 12px !important; }
/* Summary */
.wc-block-cart__sidebar { position: sticky; top: calc(var(--ek-header-h) + 24px); align-self: start; padding: 24px !important; border-radius: var(--ek-r-lg); background: var(--ek-bg-2); }
.wc-block-cart__totals-title { font-size: 20px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: -0.02em; padding: 0 0 12px !important; margin: 0 !important; }
.wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-color: var(--ek-line-2) !important; padding: 16px 0 !important; }
.wc-block-cart__sidebar .wc-block-components-panel__button { font-size: 15px !important; font-weight: 600; min-height: 44px; }
.wc-block-cart__sidebar .wc-block-components-totals-item { font-size: 15px; }
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 20px !important; font-weight: 800 !important; }
.wc-block-cart__submit-button { min-height: 56px !important; font-size: 17px !important; }
.wc-block-cart__submit { margin-bottom: 0 !important; }
.ek-cart-trust { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 16px; text-align: center; }
.ek-cart-trust__secure { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; font-weight: 600; color: var(--ek-ink-2); }
.ek-cart-trust__secure .ek-icon { width: 18px; height: 18px; color: var(--ek-ok); }

@media (max-width: 782px) {
	.wc-block-cart-items__header { display: none; }
	.wc-block-cart-items__row { display: grid !important; grid-template-columns: 96px 1fr; gap: 0 12px; padding: 16px; border: 1px solid var(--ek-line); border-radius: var(--ek-r); margin-bottom: 12px; }
	.wc-block-cart-items { border-spacing: 0 !important; margin-top: 0; }
	.wc-block-cart-items__row > td { border: 0 !important; padding: 0 !important; }
	.wc-block-cart-item__image { width: auto; grid-row: span 2; }
	.wc-block-cart-item__image a, .wc-block-cart-item__image img { width: 96px !important; height: 96px; }
	.wc-block-cart .wc-block-components-product-name { font-size: 16px !important; }
	.wc-block-cart-item__total { width: auto; text-align: start; grid-column: 2; margin-top: 8px; }
	.wc-block-cart-item__quantity { flex-wrap: wrap; gap: 8px; }
	.wc-block-cart__sidebar { position: static; padding: 20px !important; }
}

/* ==========================================================================
   Checkout: two steps (Information → Payment)
   ========================================================================== */
.ek-steps { display: flex; align-items: center; gap: 12px; margin: 0 0 32px; padding: 0; list-style: none; max-width: 640px; }
.ek-steps__item { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; color: var(--ek-ink-3); white-space: nowrap; }
.ek-steps__n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 14px; font-weight: 700; background: var(--ek-bg-2); color: var(--ek-ink-2); box-shadow: inset 0 0 0 1px var(--ek-line-2); }
.ek-steps__item.is-current { color: var(--ek-ink); }
.ek-steps__item.is-current .ek-steps__n { background: var(--ek-ink); color: #fff; box-shadow: none; }
.ek-steps__item.is-done { color: var(--ek-ink); cursor: pointer; }
.ek-steps__item.is-done .ek-steps__n { background: var(--ek-yellow); color: var(--ek-ink); box-shadow: none; }
.ek-steps__item.is-done:hover span:last-child { text-decoration: underline; }
.ek-steps__sep { flex: 1; height: 2px; min-width: 24px; background: var(--ek-line-2); border-radius: 2px; }
.ek-co-step-2 .ek-steps__sep { background: var(--ek-yellow); }

/* Step 1: details only */
.ek-co-step-1 .wp-block-woocommerce-checkout-payment-block,
.ek-co-step-1 .wp-block-woocommerce-checkout-order-note-block,
.ek-co-step-1 .wp-block-woocommerce-checkout-terms-block,
.ek-co-step-1 .wp-block-woocommerce-checkout-actions-block,
.ek-co-step-1 .ek-cosum,
.ek-co-step-1 form.woocommerce-checkout #payment,
.ek-co-step-1 form.woocommerce-checkout .woocommerce-additional-fields { display: none !important; }
/* Step 2: payment, with a summary of the details */
.ek-co-step-2 .wp-block-woocommerce-checkout-contact-information-block,
.ek-co-step-2 .wp-block-woocommerce-checkout-billing-address-block,
.ek-co-step-2 .wp-block-woocommerce-checkout-shipping-address-block,
.ek-co-step-2 .ek-costep-next,
.ek-co-step-2 form.woocommerce-checkout #customer_details { display: none !important; }
.ek-costep-next { margin: 8px 0 24px; }
.ek-costep-next .ek-btn { min-height: 56px; font-size: 17px; }
.ek-cosum { position: relative; display: grid; gap: 16px; margin-bottom: 32px; padding: 20px 24px; border-radius: var(--ek-r); background: var(--ek-bg-2); }
.ek-cosum p { margin: 0; font-size: 15px; line-height: 1.5; }
.ek-cosum .ek-cosum__label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ek-ink-2); margin-bottom: 4px; }
.ek-cosum__edit { position: absolute; top: 12px; inset-inline-end: 12px; min-height: 44px; padding: 0 16px; border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ek-cosum__edit:hover { background: #fff; }

/* Readable checkout */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 20px !important; font-weight: 700 !important; }
.wp-block-woocommerce-checkout .wc-block-components-text-input input, .wp-block-woocommerce-checkout .wc-blocks-components-select__select { min-height: 52px; font-size: 16px !important; }
.wp-block-woocommerce-checkout .wc-block-components-text-input label, .wp-block-woocommerce-checkout .wc-blocks-components-select__label { font-size: 14px !important; }
.wc-block-components-checkout-place-order-button { min-height: 56px !important; font-size: 17px !important; }
.wc-block-components-validation-error { font-size: 14px !important; color: var(--ek-sale) !important; }

/* ==========================================================================
   Payment method logos (matched by the payment method's ID, so they work with
   the real KNET / Deema / Taly plugins on the block and classic checkouts)
   ========================================================================== */
.wc-block-components-radio-control__option { min-height: 64px; display: flex !important; align-items: center; }
.wc-block-components-radio-control__option-layout { flex: 1; }
.wc-block-components-radio-control__label { font-size: 16px !important; font-weight: 600; }
.wc-block-components-radio-control__option:has(input[value*="knet" i])::after,
.wc-block-components-radio-control__option:has(input[value*="deema" i])::after,
.wc-block-components-radio-control__option:has(input[value*="taly" i])::after,
.wc_payment_method[class*="knet" i] > label::after,
.wc_payment_method[class*="deema" i] > label::after,
.wc_payment_method[class*="taly" i] > label::after {
	content: "" !important; display: block !important; position: static !important; flex: none; width: 86px; height: 28px;
	margin-inline-start: auto; background: no-repeat right center / contain; border: 0 !important; transform: none !important;
}
[dir="rtl"] .wc-block-components-radio-control__option::after, [dir="rtl"] .wc_payment_method > label::after { background-position: left center; }
.wc-block-components-radio-control__option:has(input[value*="knet" i])::after, .wc_payment_method[class*="knet" i] > label::after { background-image: url("../img/pay/knet.svg"); }
.wc-block-components-radio-control__option:has(input[value*="deema" i])::after, .wc_payment_method[class*="deema" i] > label::after { background-image: url("../img/pay/deema.svg"); }
.wc-block-components-radio-control__option:has(input[value*="taly" i])::after, .wc_payment_method[class*="taly" i] > label::after { background-image: url("../img/pay/taly.svg"); }
.wc_payment_method > label { display: inline-flex; align-items: center; width: calc(100% - 32px); }

@media (max-width: 640px) {
	.ek-steps { margin-bottom: 24px; }
	.ek-steps__item { font-size: 15px; }
	.ek-cosum { padding: 16px; }
}

/* Cart rows as cards (consistent borders at every width) */
.wp-block-woocommerce-cart table.wc-block-cart-items, .wp-block-woocommerce-cart .wc-block-cart-items tbody { display: block; }
.wp-block-woocommerce-cart .wc-block-cart-items { border-spacing: 0 !important; margin-top: 0; }
.wp-block-woocommerce-cart .wc-block-cart-items__header { display: none; }
.wp-block-woocommerce-cart .wc-block-cart-items__row {
	display: grid !important; grid-template-columns: 112px 1fr auto; gap: 0 20px; align-items: start;
	padding: 20px; margin-bottom: 12px; border: 1px solid var(--ek-line); border-radius: var(--ek-r); background: #fff;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row > td { display: block; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__image { width: auto; }
.wp-block-woocommerce-cart .wc-block-cart-item__total { width: auto; min-width: 120px; }
/* Remove: a real, labelled button with a 44px target */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex !important; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px !important; margin: 0 !important;
	border-radius: 999px; font-size: 14px !important; font-weight: 600; color: var(--ek-ink-2) !important; text-decoration: none !important; opacity: 1 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link::after { content: var(--ek-remove-label, "Remove"); }
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg { width: 20px; height: 20px; fill: currentColor; }
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover { background: #fdecee; color: var(--ek-sale) !important; }
/* Checkout order summary: name + price only */
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description { display: none; }
.wc-block-components-order-summary-item__description .wc-block-components-product-name { font-weight: 600; }
@media (max-width: 782px) {
	.wp-block-woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 88px 1fr; gap: 0 14px; padding: 16px; }
	.wp-block-woocommerce-cart .wc-block-cart-item__image a, .wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 88px !important; height: 88px; }
	.wp-block-woocommerce-cart .wc-block-cart-item__total { grid-column: 2; min-width: 0; text-align: start; margin-top: 8px; }
}
@media (max-width: 782px) { .woocommerce-checkout .ek-wa, .woocommerce-cart .ek-wa { display: none; } }


/* ==========================================================================
   Order confirmation ("Thank you") page
   ========================================================================== */
.ek-ty { max-width: 1080px; margin: 0 auto; padding-top: 48px; }
.woocommerce-order-received .ek-section--tight { padding-top: 0; }

/* Hero */
.ek-ty__hero { text-align: center; margin-bottom: 40px; }
.ek-ty__check {
	width: 72px; height: 72px; margin: 0 auto 20px; border-radius: 50%; display: grid; place-items: center;
	background: var(--ek-ok); color: #fff; box-shadow: 0 0 0 10px rgba(31, 138, 59, .12);
	animation: ek-ty-pop .7s var(--ek-ease-out) both;
}
.ek-ty__check .ek-icon { width: 36px; height: 36px; stroke-width: 2.6; stroke-dasharray: 30; stroke-dashoffset: 30; animation: ek-ty-draw .5s .35s ease-out forwards; }
.ek-ty__hero--failed .ek-ty__check { background: var(--ek-sale); box-shadow: 0 0 0 10px rgba(215, 0, 21, .1); }
@keyframes ek-ty-pop { from { transform: scale(.4); opacity: 0; } }
@keyframes ek-ty-draw { to { stroke-dashoffset: 0; } }
.ek-ty__eyebrow { margin: 0 0 8px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ek-ok); }
.ek-ty__title { margin: 0; font-size: clamp(32px, 4.4vw, 48px); line-height: 1.1; font-weight: 800; letter-spacing: -0.035em; }
.ek-ty__lead { max-width: 560px; margin: 16px auto 0; font-size: 17px; line-height: 1.55; color: var(--ek-ink-2); }
.ek-ty__lead strong { color: var(--ek-ink); }
.ek-ty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

/* Progress */
.ek-ty-progress { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 24px; list-style: none; border-radius: var(--ek-r-lg); background: var(--ek-bg-2); }
.ek-ty-progress__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; font-size: 14px; font-weight: 600; color: var(--ek-ink-3); }
.ek-ty-progress__step:not(:first-child)::before {
	content: ""; position: absolute; top: 22px; inset-inline-end: calc(50% + 30px); width: calc(100% - 60px); height: 3px; border-radius: 3px; background: var(--ek-line-2);
}
.ek-ty-progress__step.is-done:not(:first-child)::before, .ek-ty-progress__step.is-current:not(:first-child)::before { background: var(--ek-yellow); }
.ek-ty-progress__icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--ek-ink-3); box-shadow: inset 0 0 0 2px var(--ek-line-2); }
.ek-ty-progress__icon .ek-icon { width: 22px; height: 22px; }
.ek-ty-progress__step.is-done { color: var(--ek-ink); }
.ek-ty-progress__step.is-done .ek-ty-progress__icon { background: var(--ek-yellow); color: var(--ek-ink); box-shadow: none; }
.ek-ty-progress__step.is-current { color: var(--ek-ink); }
.ek-ty-progress__step.is-current .ek-ty-progress__icon { background: var(--ek-ink); color: #fff; box-shadow: 0 0 0 6px rgba(29, 29, 31, .08); }
.ek-ty-progress__note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 12px 0 40px; font-size: 14px; color: var(--ek-ink-2); }
.ek-ty-progress__note .ek-icon { width: 18px; height: 18px; color: var(--ek-ok); }

/* Layout */
.ek-ty__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.ek-ty__side { display: grid; gap: 16px; position: sticky; top: calc(var(--ek-header-h) + 24px); }
.ek-ty-card { padding: 24px; border-radius: var(--ek-r-lg); background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); }
.ek-ty-card + .ek-ty-card { margin-top: 0; }
.ek-ty-card__title { margin: 0 0 16px; font-size: 19px; font-weight: 700; letter-spacing: -0.02em; }

/* Items */
.ek-ty-items { margin: 0; padding: 0; list-style: none; }
.ek-ty-item { display: grid; grid-template-columns: 80px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--ek-line); }
.ek-ty-item:first-child { padding-top: 0; }
.ek-ty-item__img { position: relative; width: 80px; height: 80px; border-radius: var(--ek-r-sm); background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); }
.ek-ty-item__img img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.ek-ty-item__qty { position: absolute; top: -8px; inset-inline-end: -8px; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; background: var(--ek-ink); color: #fff; font-size: 12px; font-weight: 700; }
.ek-ty-item__name { display: block; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--ek-ink); }
a.ek-ty-item__name:hover { text-decoration: underline; }
.ek-ty-item__meta { display: block; margin-top: 4px; font-size: 14px; color: var(--ek-ink-2); }
.ek-ty-item__price { font-size: 16px; font-weight: 700; white-space: nowrap; }

/* Totals */
.ek-ty-totals { margin: 16px 0 0; }
.ek-ty-totals__row { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; font-size: 15px; color: var(--ek-ink-2); }
.ek-ty-totals__row dt, .ek-ty-totals__row dd { margin: 0; }
.ek-ty-totals__row dd { color: var(--ek-ink); font-weight: 600; text-align: end; }
.ek-ty-totals__row.is-total { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--ek-line); font-size: 20px; font-weight: 800; color: var(--ek-ink); }
.ek-ty-totals__row.is-total dd { font-weight: 800; }
.ek-ty-totals__row small { display: block; font-weight: 400; font-size: 13px; color: var(--ek-ink-2); }

/* Facts */
.ek-ty-facts { margin: 0; display: grid; gap: 12px; }
.ek-ty-facts > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 15px; }
.ek-ty-facts dt { margin: 0; color: var(--ek-ink-2); }
.ek-ty-facts dd { margin: 0; font-weight: 700; text-align: end; }
.ek-ty-facts__pay { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.ek-ty-facts__pay span { font-size: 13px; font-weight: 500; color: var(--ek-ink-2); }

/* Address */
.ek-ty-address { font-style: normal; font-size: 15px; line-height: 1.6; }
.ek-ty-address__line { display: flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--ek-ink-2); }
.ek-ty-address__line .ek-icon { width: 18px; height: 18px; }

/* Help + next */
.ek-ty-help { padding: 24px; border-radius: var(--ek-r-lg); background: var(--ek-yellow-soft); }
.ek-ty-help__title { margin: 0 0 6px; font-size: 17px; font-weight: 700; }
.ek-ty-help p { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--ek-ink-2); }
.ek-ty-next { display: grid; gap: 10px; }

/* Payment instructions printed by gateways */
.ek-ty__main > p, .ek-ty__main > section:not(.ek-ty-card), .ek-ty__main > .woocommerce-bacs-bank-details { margin-top: 16px; padding: 20px 24px; border-radius: var(--ek-r); background: var(--ek-bg-2); }

@media (max-width: 900px) {
	.ek-ty__grid { grid-template-columns: 1fr; }
	.ek-ty__side { position: static; }
}
@media (max-width: 640px) {
	.ek-ty { padding-top: 32px; }
	.ek-ty__check { width: 60px; height: 60px; margin-bottom: 16px; }
	.ek-ty__lead { font-size: 15px; }
	.ek-ty-progress { padding: 20px 8px; }
	.ek-ty-progress__step { font-size: 12px; gap: 8px; }
	.ek-ty-progress__icon { width: 36px; height: 36px; }
	.ek-ty-progress__step:not(:first-child)::before { top: 18px; inset-inline-end: calc(50% + 24px); width: calc(100% - 48px); }
	.ek-ty-card, .ek-ty-help { padding: 20px 16px; }
	.ek-ty-item { grid-template-columns: 64px 1fr; gap: 12px; }
	.ek-ty-item__img { width: 64px; height: 64px; }
	.ek-ty-item__price { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
	.ek-ty__check .ek-icon { stroke-dashoffset: 0; }
}
/* ---------- Plugins on electrokuwait.com ---------- */

/* Some plugins print WordPress's error-page styles (body max-width 700px, centred) on normal pages. */
html body { max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; }

/* Taly's stylesheet styles every h1 (centred, Tahoma, 80px margins); keep the theme's headings. */
body h1 { font-family: inherit; text-align: inherit; margin: 0 0 .5em; }
.ek-shop--single .product_title { text-align: start; }

/* Variation Gallery replaces div.images and caps its width (plugin setting, sized for the old theme). */
.ek-shop--single div.product .woo-variation-product-gallery { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; }
/* Match the design's gallery card: large photo in a rounded white card, small rounded thumbnails. */
.ek-shop--single div.product .woo-variation-gallery-slider-wrapper { border-radius: var(--ek-r-lg); background: #fff; box-shadow: inset 0 0 0 1px var(--ek-line); overflow: hidden; }
.ek-shop--single div.product .woo-variation-product-gallery .woo-variation-gallery-slider img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 2%; background: #fff; }
.ek-shop--single div.product .woo-variation-gallery-thumbnail-slider { margin-top: 12px; }
.ek-shop--single div.product .woo-variation-gallery-thumbnail-slider img { border-radius: 12px; box-shadow: inset 0 0 0 1px var(--ek-line); background: #fff; padding: 8%; opacity: .6; }
.ek-shop--single div.product .woo-variation-gallery-thumbnail-slider .slick-current img { opacity: 1; }

/* The theme has its own wishlist (header heart and the heart by the product title); YITH
   Compare and Quick View buttons aren't part of the design. */
.yith-wcwl-add-to-wishlist, .yith-add-to-wishlist-button-block,
.ek-shop .compare.button, .ek-shop a.compare, .yith-wcqv-button { display: none !important; }

/* The theme's pay-later box covers Deema and Taly, so the Taly plugin's own box is hidden. */
.finance-talypay-box { display: none !important; }

/* The theme's own "In stock" line replaces WooCommerce's "N in stock" line. */
.ek-shop--single .summary .ek-single__stock.is-in ~ .stock.in-stock { display: none; }

/* The theme has its own WhatsApp button; the Click to Chat plugin's fixed green button is hidden
   (plugin stays installed and unchanged). */
.ht-ctc, .ht_ctc_style, #ht-ctc-chat, .ht-ctc-chat { display: none !important; }

/* GPTranslate: the theme's "العربية / English" selector drives GPTranslate, so its floating flag is
   hidden visually. It stays in the page (the selector clicks its language links). */
#gpt_float_wrapper,
.gpt_float_switcher {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Ovic Addon Toolkit "growl" popup (add to cart / wishlist notice). The plugin paints it green and
   only mirrors it for body.rtl, which GPTranslate pages never get. Same markup, restyled to match the
   theme: white card, image and text side by side, mirrored when the page direction is RTL. */
#growls-default {
	position: fixed;
	top: 96px;
	right: 16px;
	left: auto;
	max-width: calc(100% - 32px);
	z-index: 100001;
}
[dir="rtl"] #growls-default { right: auto; left: 16px; }
.growl,
.growl.growl-notice,
.growl.growl-default,
.growl.growl-warning {
	width: 340px;
	max-width: 100%;
	padding: 14px 16px;
	background: #fff;
	color: var(--ek-ink);
	border: 1px solid var(--ek-line);
	border-inline-start: 4px solid var(--ek-yellow);
	border-radius: var(--ek-r-sm);
	box-shadow: var(--ek-shadow-lg);
}
.growl.growl-error { background: #fff; color: var(--ek-ink); border-inline-start-color: var(--ek-sale); }
.growl .growl-title {
	display: block;
	padding: 0 32px 8px 0;
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	color: var(--ek-ink);
	border-bottom: 1px solid var(--ek-line);
	text-align: start;
}
[dir="rtl"] .growl .growl-title { padding: 0 0 8px 32px; }
.growl .growl-close {
	top: 6px;
	right: 6px;
	left: auto;
	width: 28px;
	height: 28px;
}
[dir="rtl"] .growl .growl-close { right: auto; left: 6px; }
.growl .growl-close::before,
.growl .growl-close::after { background: var(--ek-ink-2); }
.growl .growl-close:hover::before,
.growl .growl-close:hover::after { background: var(--ek-ink); }
.growl .growl-message {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
	line-height: 20px;
	text-align: start;
}
.growl .growl-message > * { display: block !important; }
.growl .growl-message figure {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
	background: var(--ek-bg-2);
}
.growl .growl-message figure img {
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	transform: none;
	object-fit: contain;
}
.growl .growl-content {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	padding: 0;
	margin: 0;
	color: var(--ek-ink-2);
	font-size: 13px;
	line-height: 20px;
	text-align: start;
}
.growl .growl-content span {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
	overflow: hidden;
	margin-bottom: 2px;
	color: var(--ek-ink);
	font-size: 14px;
	font-weight: 600;
}
.growl .growl-content a {
	position: static;
	display: inline-block;
	margin-top: 6px;
	color: var(--ek-ink);
	font-weight: 600;
	text-decoration: underline;
}
.growl .growl-message > *:first-child:last-child { width: 100%; padding: 0; }

/* GPTranslate's "Page translation in progress" toast is hidden; the translation itself keeps running
   in the background and the text switches to Arabic as soon as it is ready. */
div.progress-gptranslate,
div.progress-gptranslate .toast { display: none !important; }
/* ==========================================================================
   Arabic (RTL) banners: every banner with a photo is mirrored, so the photo
   sits on the left and the text sits on the right, right-aligned.
   Applies to the homepage slider, the photo promo banners, the "Shop by Need"
   cards, and the page / category headers.
   ========================================================================== */

/* Homepage slider: the whole background (photo and its fade) is mirrored. */
[dir="rtl"] .ek-slide__bg { transform: scaleX(-1); }
[dir="rtl"] .ek-slide__inner { direction: rtl; }
[dir="rtl"] .ek-slide__copy { direction: rtl; text-align: right; margin-inline-start: 0; }

/* Photo promo banners (Apple / Anker / audio / smart home / car). */
[dir="rtl"] .ek-pbanner { direction: rtl; }
[dir="rtl"] .ek-pbanner__img { scale: -1 1; }
[dir="rtl"] .ek-pbanner__copy { direction: rtl; align-items: flex-start; text-align: right; }

/* "Shop by Need" cards. */
[dir="rtl"] .ek-needcard { direction: rtl; align-items: flex-start; }
[dir="rtl"] .ek-needcard__img { scale: -1 1; }
[dir="rtl"] .ek-needcard::after { transform: scaleX(-1); }
[dir="rtl"] .ek-needcard__copy { direction: rtl; text-align: right; }

/* Page and category headers with a photo (the text moves to the right, the photo to the left). */
[dir="rtl"] .ek-archhead.has-photo .ek-archhead__inner { direction: rtl; }
[dir="rtl"] .ek-archhead.has-photo .ek-archhead__copy { direction: rtl; text-align: right; }
[dir="rtl"] .ek-archhead.has-photo .ek-archhead__photo,
[dir="rtl"] .tax-product_cat .ek-archhead.has-photo--full .ek-archhead__photo {
	inset: 0 auto 0 0 !important;
	scale: -1 1;
}
/* Headers with a product cut-out instead of a photo. */
[dir="rtl"] .ek-archhead__art { scale: -1 1; }

/* Phones: the stacked header photo stays full width (only mirrored). */
@media (max-width: 760px) {
	[dir="rtl"] .ek-archhead.has-photo .ek-archhead__photo { inset: auto !important; object-position: left center; }
}

/* Slider arrows: on laptop-width screens the side arrows would sit on top of the headline, so they
   move to the bottom corner (same place in English and Arabic). Wider screens keep them at the sides. */
@media (min-width: 1061px) and (max-width: 1480px) {
	.ek-slider__arrow { top: auto; bottom: 28px; translate: none; width: 44px; height: 44px; }
	.ek-slider__arrow--prev,
	[dir="rtl"] .ek-slider__arrow--prev { left: auto; right: 84px; }
	.ek-slider__arrow--next,
	[dir="rtl"] .ek-slider__arrow--next { left: auto; right: 28px; }
}
