/* Safaa Para Kit – front-end styles
   Colors come from the settings page as CSS variables. Logical properties keep RTL and LTR in step. */

:root {
	--spk-primary: #0F766E;
	--spk-accent: #C8A96A;
	--spk-soft: #CCF3E8;
	--spk-ink: #134E4A;
	--spk-dark: #0B3B37;
	--spk-bg: #FAFAF7;
	--spk-white: #FFFFFF;
	--spk-muted: #56635F;
	--spk-line: #E3E6DF;
	--spk-primary-deep: color-mix(in srgb, var(--spk-primary) 78%, #000);
	--spk-soft-2: color-mix(in srgb, var(--spk-soft) 38%, #fff);
	--spk-accent-ink: color-mix(in srgb, var(--spk-accent) 60%, #000);
	--spk-font-display: 'El Messiri', 'Jost', Georgia, serif;
	--spk-font-body: 'Jost', 'El Messiri', 'Segoe UI', Tahoma, sans-serif;
	--spk-radius: 18px;
	--spk-container: 1280px;
	--spk-admin-bar: var(--wp-admin--admin-bar--height, 0px);
}

/* ---------- Base resets inside our components (Flatsome styles buttons, lists and inputs globally) */
.spk-hf, .spk-sc, .spk-chips, .spk-card, .spk-single-trust, .spk-review-summary, .spk-review-upload {
	font-family: var(--spk-font-body);
	color: var(--spk-ink);
	line-height: 1.5;
}
.spk-hf *, .spk-sc *, .spk-card *, .spk-chips * { box-sizing: border-box; }
.spk-hf ul, .spk-sc ul, .spk-chips ul, .spk-single-trust, .spk-review-photos, .spk-review-summary ul, .spk-review-upload ul {
	list-style: none; margin: 0; padding: 0;
}
.spk-hf li, .spk-sc li, .spk-chips li, .spk-single-trust li, .spk-review-photos li, .spk-review-summary li { margin: 0; }
.spk-hf button, .spk-sc button {
	margin: 0; min-height: 0; text-transform: none; letter-spacing: 0; line-height: 1;
	font-family: inherit; font-weight: 500; box-shadow: none;
}
.spk-hf a, .spk-sc a, .spk-card a, .spk-chips a { text-decoration: none; }
.spk-hf h2, .spk-sc h2, .spk-sc h3, .spk-card h2, .spk-card h3 { margin: 0; text-transform: none; letter-spacing: 0; }
.spk-hf p, .spk-sc p { margin: 0; }
.spk-hf :focus-visible, .spk-sc :focus-visible, .spk-card :focus-visible, .spk-chips :focus-visible {
	outline: 2px solid var(--spk-accent-ink); outline-offset: 2px; border-radius: 6px;
}
.spk-container { width: 100%; max-width: var(--spk-container); margin-inline: auto; padding-inline: 20px; }
.spk-ic { flex: none; display: block; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.spk-empty { padding: 16px; border: 1px dashed var(--spk-line); border-radius: 12px; color: var(--spk-muted); font-size: 14px; }

/* ---------- Buttons */
.spk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 0 22px; border-radius: 999px;
	font: 600 15px/1 var(--spk-font-body); letter-spacing: 0; text-transform: none;
	border: 1.5px solid var(--spk-primary); color: var(--spk-primary); background: transparent;
	transition: background-color .2s, color .2s, border-color .2s; cursor: pointer; margin: 0;
}
.spk-btn:hover { background: var(--spk-primary); color: #fff; }
.spk-btn--solid { background: var(--spk-primary); color: #fff; }
.spk-btn--solid:hover { background: var(--spk-primary-deep); border-color: var(--spk-primary-deep); color: #fff; }
.spk-btn--ghost { border-color: currentColor; }
.spk-btn--lg { min-height: 54px; padding: 0 30px; font-size: 16px; }
.spk-btn.loading { opacity: .6; pointer-events: none; }
.spk-btn.added::after { display: none; }
a.added_to_cart { display: none !important; }

/* ---------- Topbar */
.spk-header-wrap { display: contents; }
.spk-topbar { background: var(--spk-primary); color: #fff; font-size: 13.5px; }
.spk-topbar__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.spk-topbar__msg { font-weight: 500; }
.spk-topbar__side { display: flex; align-items: center; gap: 18px; }
.spk-topbar__side a { display: inline-flex; align-items: center; gap: 6px; color: #fff; opacity: .92; }
.spk-topbar__side a:hover { opacity: 1; color: #fff; }

/* Language switcher */
.spk-lang ul { display: flex; gap: 2px; }
.spk-lang a {
	display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 28px; padding: 0 8px;
	border-radius: 999px; font-size: 13px; font-weight: 600; color: inherit; opacity: .8;
}
.spk-lang a:hover { opacity: 1; }
.spk-lang a.is-current { background: rgba(255, 255, 255, .18); opacity: 1; }
.spk-lang a[lang="ar"] { font-family: var(--spk-font-display); font-size: 15px; }

/* ---------- Header */
.spk-header { background: var(--spk-white); border-bottom: 1px solid var(--spk-line); z-index: 60; }
.spk-header-wrap.is-sticky .spk-header { position: sticky; top: var(--spk-admin-bar); }
.spk-header.is-scrolled { box-shadow: 0 6px 24px -18px rgba(11, 59, 55, .5); }
.spk-header__row { display: flex; align-items: center; gap: 24px; min-height: 84px; }
.spk-header__burger { display: none; }

.spk-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--spk-primary); flex: none; }
.spk-logo__img { display: block; max-height: 56px; width: auto; }
.spk-logo__text { display: flex; flex-direction: column; line-height: 1; }
.spk-logo__text b { font: 700 26px/1 var(--spk-font-display); letter-spacing: .04em; color: var(--spk-primary); }
.spk-logo__text small { font: 500 10.5px/1 var(--spk-font-body); letter-spacing: .28em; color: var(--spk-ink); margin-top: 6px; }

.spk-search { position: relative; flex: 1; display: flex; max-width: 620px; margin: 0; }
.spk-search input[type="search"] {
	width: 100%; height: 50px; margin: 0; padding-block: 0; padding-inline: 22px 56px;
	border: 1.5px solid transparent; border-radius: 999px; background: var(--spk-soft-2);
	font: 400 15px var(--spk-font-body); color: var(--spk-ink); box-shadow: none; transition: border-color .2s, background-color .2s;
}
.spk-search input[type="search"]::placeholder { color: var(--spk-muted); opacity: 1; }
.spk-search input[type="search"]:focus { border-color: var(--spk-primary); background: #fff; outline: none; }
.spk-search button {
	position: absolute; inset-inline-end: 5px; top: 5px; width: 40px; height: 40px; padding: 0;
	display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--spk-primary); color: #fff; cursor: pointer;
}
.spk-search button:hover { background: var(--spk-primary-deep); }

.spk-actions { display: flex; align-items: center; gap: 6px; margin-inline-start: auto; }
.spk-icon-btn {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-width: 44px; height: 44px; padding: 0 10px; border: 0; border-radius: 999px;
	background: transparent; color: var(--spk-ink); cursor: pointer; transition: background-color .2s;
}
.spk-icon-btn:hover { background: var(--spk-soft-2); color: var(--spk-primary); }
.spk-cart-count {
	position: absolute; top: 3px; inset-inline-end: 1px; min-width: 19px; height: 19px; padding: 0 5px;
	display: grid; place-items: center; border-radius: 999px; background: var(--spk-accent); color: #2A220E;
	font: 700 11px/1 var(--spk-font-body); border: 2px solid #fff;
}
.spk-cart-count[data-count="0"] { display: none; }

/* Primary navigation */
.spk-nav--bar { border-top: 1px solid var(--spk-line); }
.spk-menu { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.spk-menu > li { position: relative; }
.spk-menu > li > a {
	display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 14px;
	font: 500 15px var(--spk-font-body); color: var(--spk-ink); position: relative;
}
.spk-menu > li > a::after {
	content: ""; position: absolute; inset-inline: 14px; bottom: 10px; height: 2px; background: var(--spk-accent);
	transform: scaleX(0); transition: transform .25s;
}
.spk-menu > li > a:hover, .spk-menu > li.current-menu-item > a { color: var(--spk-primary); }
.spk-menu > li > a:hover::after, .spk-menu > li.current-menu-item > a::after { transform: scaleX(1); }
.spk-menu .spk-ic { color: var(--spk-primary); }
.spk-menu .sub-menu {
	position: absolute; top: 100%; inset-inline-start: 0; min-width: 220px; padding: 8px !important; z-index: 70;
	background: #fff; border: 1px solid var(--spk-line); border-radius: 14px; box-shadow: 0 18px 40px -24px rgba(11, 59, 55, .45);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s;
}
.spk-menu li:hover > .sub-menu, .spk-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.spk-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--spk-ink); font-size: 14.5px; }
.spk-menu .sub-menu a:hover { background: var(--spk-soft-2); color: var(--spk-primary); }

/* Header variants */
.spk-header--centered .spk-header__row { display: grid; grid-template-columns: 1fr auto 1fr; }
.spk-header--centered .spk-logo { justify-self: center; }
.spk-header--centered .spk-header__start { justify-self: start; }
.spk-header--centered .spk-header__start .spk-icon-btn { font-size: 14.5px; }
.spk-header--centered .spk-nav--bar .spk-menu { justify-content: center; }
.spk-header--centered .spk-actions { justify-self: end; }
.spk-header--minimal .spk-header__row { min-height: 76px; }
.spk-header--minimal .spk-nav--inline { flex: 1; }
.spk-header--minimal .spk-nav--inline .spk-menu { justify-content: center; }
.spk-search-panel { border-top: 1px solid var(--spk-line); padding-block: 14px; background: #fff; }
.spk-search-panel .spk-search { max-width: 720px; margin-inline: auto; }

/* Drawer (mobile menu) */
.spk-drawer { position: fixed; inset: 0; z-index: 100000; }
.spk-drawer[hidden] { display: none; }
.spk-drawer__backdrop { position: absolute; inset: 0; background: rgba(11, 30, 28, .45); }
.spk-drawer__panel {
	position: absolute; inset-block: 0; inset-inline-start: 0; width: min(88vw, 380px); overflow-y: auto;
	background: #fff; padding: 18px 18px 28px; display: flex; flex-direction: column; gap: 18px;
	animation: spk-drawer-in .25s ease-out;
}
[dir="rtl"] .spk-drawer__panel { animation-name: spk-drawer-in-rtl; }
@keyframes spk-drawer-in { from { transform: translateX(-100%); } }
@keyframes spk-drawer-in-rtl { from { transform: translateX(100%); } }
.spk-drawer__head { display: flex; align-items: center; justify-content: space-between; }
.spk-drawer .spk-search { max-width: none; }
.spk-drawer__menu li { border-bottom: 1px solid var(--spk-line); }
.spk-drawer__menu a { display: flex; align-items: center; gap: 10px; padding: 14px 4px; font-size: 16px; font-weight: 500; color: var(--spk-ink); }
.spk-drawer__menu .spk-ic { color: var(--spk-primary); }
.spk-drawer__menu .sub-menu { padding-inline-start: 16px !important; }
.spk-drawer__menu .sub-menu li { border: 0; }
.spk-drawer__menu .sub-menu a { padding: 9px 4px; font-size: 15px; color: var(--spk-muted); }
.spk-drawer__foot { margin-top: auto; display: flex; flex-direction: column; gap: 4px; }
.spk-drawer__foot > a { display: flex; align-items: center; gap: 10px; padding: 10px 4px; color: var(--spk-ink); }
.spk-drawer__foot .spk-lang { margin-top: 8px; }
.spk-drawer__foot .spk-lang a { background: var(--spk-soft-2); color: var(--spk-ink); height: 36px; min-width: 44px; }
.spk-drawer__foot .spk-lang a.is-current { background: var(--spk-primary); color: #fff; }
body.spk-drawer-open { overflow: hidden; }

/* ---------- Trust strip & features */
.spk-trust { background: var(--spk-soft-2); border-top: 1px solid var(--spk-line); padding-block: 28px; }
.spk-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.spk-feature { display: flex; align-items: center; gap: 14px; }
.spk-feature__icon {
	flex: none; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px;
	background: #fff; color: var(--spk-primary); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--spk-primary) 16%, transparent);
}
.spk-feature__text { display: flex; flex-direction: column; gap: 2px; }
.spk-feature__text b { font: 600 15.5px/1.3 var(--spk-font-display); color: var(--spk-ink); }
.spk-feature__text small { font-size: 13.5px; color: var(--spk-muted); }
.spk-features-wrap { margin-block: 12px 28px; }
.spk-features-wrap--strip .spk-features { padding: 22px; border-radius: var(--spk-radius); background: var(--spk-soft-2); }
.spk-features-wrap--cards .spk-feature { flex-direction: column; text-align: center; padding: 22px 16px; border: 1px solid var(--spk-line); border-radius: var(--spk-radius); background: #fff; }
.spk-features-wrap--cards .spk-feature__icon { background: var(--spk-soft-2); }

/* ---------- Footer */
.spk-footer { background: var(--spk-dark); color: rgba(255, 255, 255, .78); font-size: 14.5px; }
.spk-footer a { color: rgba(255, 255, 255, .82); transition: color .2s; }
.spk-footer a:hover { color: #fff; }
.spk-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-block: 56px 40px; }
.spk-footer .spk-logo__text b { color: #fff; }
.spk-footer .spk-logo__text small { color: var(--spk-accent); }
.spk-footer__about p { margin-block: 18px; max-width: 34ch; line-height: 1.7; }
.spk-footer__h { font: 600 17px/1.2 var(--spk-font-display) !important; color: var(--spk-accent) !important; margin: 0 0 18px !important; }
.spk-footer__links { display: flex; flex-direction: column; gap: 10px; }
.spk-footer__links a { display: inline-flex; align-items: center; gap: 8px; }
.spk-footer__links .spk-ic { color: var(--spk-accent); }
.spk-footer__contact { display: flex; flex-direction: column; gap: 12px; }
.spk-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.spk-footer__contact .spk-ic { color: var(--spk-accent); margin-top: 2px; }
.spk-social { display: flex; gap: 8px; }
.spk-social a {
	width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .22); color: #fff;
}
.spk-social a:hover { background: var(--spk-accent); border-color: var(--spk-accent); color: #2A220E; }
.spk-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13.5px; }
.spk-footer__bottom-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; flex-wrap: wrap; padding-block: 12px; }
.spk-footer__cod { display: inline-flex; align-items: center; gap: 8px; color: #fff; }
.spk-footer__cod .spk-ic { color: var(--spk-accent); }
.spk-footer__compact { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding-block: 32px; }
.spk-footer__compact .spk-footer__links { flex-direction: row; flex-wrap: wrap; gap: 8px 22px; }

/* ---------- Section titles */
.spk-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.spk-title--center { flex-direction: column; align-items: center; text-align: center; }
.spk-title h2 { font: 700 clamp(24px, 3vw, 32px)/1.2 var(--spk-font-display); color: var(--spk-ink); }
.spk-title p { margin-top: 6px; color: var(--spk-muted); font-size: 15px; }
.spk-title__link { display: inline-flex; align-items: center; gap: 4px; flex: none; font-weight: 600; font-size: 14.5px; color: var(--spk-primary); padding-block: 6px; border-bottom: 1.5px solid var(--spk-accent); }
.spk-title__link:hover { color: var(--spk-primary-deep); }

/* ---------- Slider */
.spk-slider { position: relative; overflow: hidden; border-radius: 24px; background: var(--spk-soft); margin-bottom: 28px; }
.spk-slider__track { position: relative; height: var(--spk-slider-h, 520px); }
.spk-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.spk-slide.is-active { opacity: 1; visibility: visible; }
.spk-slide picture, .spk-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spk-slide__content { position: relative; height: 100%; display: flex; align-items: center; padding-inline: clamp(24px, 6vw, 80px); max-width: none; }
.spk-slide--center .spk-slide__content { justify-content: center; text-align: center; }
.spk-slide--end .spk-slide__content { justify-content: flex-end; }
.spk-slide__box { max-width: 520px; display: flex; flex-direction: column; gap: 14px; }
.spk-slide--center .spk-slide__box { align-items: center; }
.spk-slide__sub { font-weight: 600; font-size: 15px; color: var(--spk-accent-ink); }
.spk-slide__title { font: 700 clamp(30px, 4.6vw, 56px)/1.12 var(--spk-font-display) !important; color: var(--spk-ink) !important; }
.spk-slide__text { font-size: 17px; line-height: 1.6; color: var(--spk-ink); max-width: 44ch; }
.spk-slide__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.spk-slide--dark .spk-slide__actions .spk-btn--ghost { color: var(--spk-ink); }
.spk-slide--light .spk-slide__title, .spk-slide--light .spk-slide__text { color: #fff !important; }
.spk-slide--light .spk-slide__sub { color: var(--spk-soft); }
.spk-slide--light .spk-btn--ghost { color: #fff; }
.spk-slide--light .spk-btn--ghost:hover { background: #fff; color: var(--spk-ink); border-color: #fff; }
.spk-slide.is-active .spk-slide__box > * { animation: spk-rise .7s both; }
.spk-slide.is-active .spk-slide__box > *:nth-child(2) { animation-delay: .08s; }
.spk-slide.is-active .spk-slide__box > *:nth-child(3) { animation-delay: .16s; }
.spk-slide.is-active .spk-slide__box > *:nth-child(4) { animation-delay: .24s; }
@keyframes spk-rise { from { opacity: 0; transform: translateY(14px); } }
.spk-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; padding: 0 !important; z-index: 3;
	display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--spk-ink); cursor: pointer;
}
.spk-slider__arrow:hover { background: #fff; color: var(--spk-primary); }
.spk-slider__arrow--prev { inset-inline-start: 18px; }
.spk-slider__arrow--next { inset-inline-end: 18px; }
[dir="rtl"] .spk-slider__arrow .spk-ic, [dir="rtl"] .spk-rail__btn .spk-ic { transform: scaleX(-1); }
.spk-slider__dots { position: absolute; bottom: 18px; inset-inline: 0; display: flex; justify-content: center; gap: 4px; z-index: 3; }
.spk-slider__dots button { width: 28px; height: 28px; padding: 0 !important; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; }
.spk-slider__dots button::before { content: ""; width: 9px; height: 9px; border-radius: 999px; background: rgba(19, 78, 74, .3); transition: width .3s, background-color .3s; }
.spk-slider__dots button[aria-current="true"]::before { width: 24px; background: var(--spk-primary); }

/* ---------- Banners */
.spk-banners { display: grid; grid-template-columns: repeat(var(--spk-cols, 3), minmax(0, 1fr)); gap: 20px; margin-bottom: 28px; }
.spk-banner {
	position: relative; display: flex; align-items: flex-end; min-height: var(--spk-banner-h, 260px); padding: 26px;
	border-radius: 22px; overflow: hidden; background: var(--spk-banner-bg, var(--spk-soft)); color: var(--spk-ink);
	isolation: isolate;
}
.spk-banner--wide { grid-column: span 2; }
.spk-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .6s ease; }
a.spk-banner:hover .spk-banner__img { transform: scale(1.04); }
.spk-banner__content { display: flex; flex-direction: column; gap: 6px; max-width: 70%; }
.spk-banner__sub { font-weight: 600; font-size: 14px; color: var(--spk-accent-ink); }
.spk-banner__title { font: 700 clamp(20px, 2.2vw, 28px)/1.2 var(--spk-font-display); }
.spk-banner__cta { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; font-weight: 600; font-size: 14.5px; color: var(--spk-primary); }
.spk-banner--light { color: #fff; }
.spk-banner--light .spk-banner__sub { color: var(--spk-soft); }
.spk-banner--light .spk-banner__cta { color: #fff; }
.spk-banner--light::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(8, 36, 33, .6), transparent 65%); }
[dir="rtl"] .spk-banner__cta .spk-ic, [dir="rtl"] .spk-title__link .spk-ic { transform: none; }

/* ---------- Categories */
.spk-cats { margin-bottom: 28px; }
.spk-cats ul { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: thin; }
.spk-cats li { scroll-snap-align: start; flex: none; }
.spk-cat { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; color: var(--spk-ink); }
.spk-cats--circle .spk-cat { width: 112px; }
.spk-cat__media {
	width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; overflow: hidden;
	background: var(--spk-soft-2); color: var(--spk-primary); transition: background-color .25s, color .25s, transform .25s;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--spk-primary) 14%, transparent);
}
.spk-cat__media img { width: 100%; height: 100%; object-fit: cover; }
.spk-cat:hover .spk-cat__media.is-icon { background: var(--spk-primary); color: #fff; }
.spk-cat:hover .spk-cat__media { transform: translateY(-3px); }
.spk-cat__name { font: 600 14.5px/1.3 var(--spk-font-display); }
.spk-cat__count { font-size: 12.5px; color: var(--spk-muted); margin-top: -6px; }
.spk-cats--card ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); overflow: visible; }
.spk-cats--card .spk-cat { padding: 22px 12px; border-radius: var(--spk-radius); background: #fff; border: 1px solid var(--spk-line); transition: border-color .2s; }
.spk-cats--card .spk-cat:hover { border-color: var(--spk-primary); }
.spk-cats--card .spk-cat__media { width: 64px; height: 64px; border-radius: 18px; }

/* ---------- Product grid & rail */
.spk-products, .spk-ptabs { margin-bottom: 36px; }
.spk-grid { display: grid; grid-template-columns: repeat(var(--spk-cols, 4), minmax(0, 1fr)); gap: 20px; }
.spk-rail { position: relative; }
.spk-rail__track {
	display: grid; grid-auto-flow: column; grid-template-columns: none;
	grid-auto-columns: calc((100% - (var(--spk-cols, 4) - 1) * 20px) / var(--spk-cols, 4));
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px 2px 6px;
}
.spk-rail__track::-webkit-scrollbar { display: none; }
.spk-rail__track > * { scroll-snap-align: start; }
.spk-rail__btn {
	position: absolute; top: 34%; z-index: 2; width: 44px; height: 44px; padding: 0 !important; display: grid; place-items: center;
	border: 1px solid var(--spk-line); border-radius: 50%; background: #fff; color: var(--spk-ink); cursor: pointer;
	box-shadow: 0 8px 20px -14px rgba(11, 59, 55, .6);
}
.spk-rail__btn:hover { color: var(--spk-primary); border-color: var(--spk-primary); }
.spk-rail__btn[disabled] { opacity: 0; pointer-events: none; }
.spk-rail__btn--prev { inset-inline-start: -14px; }
.spk-rail__btn--next { inset-inline-end: -14px; }

/* ---------- Product card */
.spk-card { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--spk-radius); border: 1px solid var(--spk-line); transition: border-color .25s, box-shadow .25s; }
.spk-card:hover { border-color: color-mix(in srgb, var(--spk-primary) 35%, var(--spk-line)); box-shadow: 0 16px 32px -26px rgba(11, 59, 55, .55); }
.spk-card__media { position: relative; display: block; margin: 8px 8px 0; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--spk-soft-2); }
.spk-card__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; padding: 10%; mix-blend-mode: multiply; transition: opacity .35s, transform .5s; }
.spk-card__img--alt { opacity: 0; }
.spk-card.has-alt:hover .spk-card__img:not(.spk-card__img--alt) { opacity: 0; }
.spk-card.has-alt:hover .spk-card__img--alt { opacity: 1; }
.spk-card:not(.has-alt):hover .spk-card__img { transform: scale(1.04); }
.spk-card.is-out .spk-card__img { opacity: .55; }
.spk-card__badges { position: absolute; top: 10px; inset-inline-start: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.spk-seal {
	display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%;
	background: var(--spk-accent); color: #2A220E; font: 700 14px/1 var(--spk-font-body);
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .85);
}
.spk-seal--lg { position: absolute; top: 18px; inset-inline-start: 18px; width: 76px; height: 76px; font-size: 20px; }
.spk-badge { display: inline-block; padding: 5px 10px; border-radius: 999px; font: 600 12px/1 var(--spk-font-body); }
.spk-badge--new { background: var(--spk-primary); color: #fff; }
.spk-badge--out { background: #fff; color: var(--spk-muted); border: 1px solid var(--spk-line); }
.spk-card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.spk-card__brand { margin: 0; font-size: 12.5px; font-weight: 500; color: var(--spk-muted); }
.spk-card__title { font: 600 15.5px/1.35 var(--spk-font-display) !important; margin: 0 !important; padding: 0 !important; }
.spk-card__title a { color: var(--spk-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.spk-card__title a:hover { color: var(--spk-primary); }
.spk-card__price { font: 700 17px/1.2 var(--spk-font-body); color: var(--spk-primary); margin-top: 2px; }
.spk-card__price del { font-size: 13.5px; font-weight: 400; color: var(--spk-muted); opacity: 1; margin-inline-end: 6px; }
.spk-card__price ins { text-decoration: none; background: none; }
.spk-card__price .woocommerce-Price-currencySymbol { font-size: .8em; }
.spk-card__cta { margin-top: auto; width: 100%; min-height: 44px; font-size: 14.5px; }
.spk-card .spk-countdown { margin-top: 2px; }

/* Stars */
.spk-rating { display: inline-flex; align-items: center; gap: 6px; }
.spk-stars {
	--spk-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E");
	display: inline-block; width: 80px; height: 15px; flex: none;
	background: linear-gradient(to right, var(--spk-accent) var(--spk-r, 0%), #DADFD9 var(--spk-r, 0%));
	-webkit-mask: var(--spk-star) 0 0 / 16px 15px repeat-x; mask: var(--spk-star) 0 0 / 16px 15px repeat-x;
}
[dir="rtl"] .spk-stars { transform: scaleX(-1); }
.spk-rating__count { font-size: 12.5px; color: var(--spk-muted); }

/* Countdown */
.spk-countdown { display: flex; flex-direction: column; gap: 6px; }
.spk-countdown__label { font-size: 12.5px; font-weight: 600; color: var(--spk-accent-ink); }
.spk-countdown__units { display: flex; gap: 6px; }
.spk-countdown__unit { display: flex; align-items: baseline; gap: 2px; padding: 5px 7px; border-radius: 8px; background: var(--spk-soft-2); color: var(--spk-ink); }
.spk-countdown__unit b { font: 700 14px/1 var(--spk-font-body); font-variant-numeric: tabular-nums; }
.spk-countdown__unit small { font-size: 11px; color: var(--spk-muted); }
.spk-countdown--big .spk-countdown__unit { flex-direction: column; align-items: center; min-width: 64px; padding: 12px 10px; border-radius: 14px; background: #fff; gap: 4px; }
.spk-countdown--big .spk-countdown__unit b { font-size: 26px; color: var(--spk-primary); }
.spk-countdown--big .spk-countdown__label { font-size: 14px; }
.spk-countdown.is-ended .spk-countdown__units { display: none; }

/* ---------- Product tabs */
.spk-ptabs__list { display: flex; gap: 8px; margin-bottom: 20px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.spk-ptabs__list button {
	display: inline-flex; align-items: center; gap: 8px; flex: none; height: 44px; padding: 0 18px !important;
	border: 1px solid var(--spk-line); border-radius: 999px; background: #fff; color: var(--spk-ink); font-size: 14.5px; cursor: pointer;
}
.spk-ptabs__list button:hover { border-color: var(--spk-primary); }
.spk-ptabs__list button[aria-selected="true"] { background: var(--spk-primary); border-color: var(--spk-primary); color: #fff; }
.spk-ptabs__more { text-align: center; margin-top: 22px !important; }

/* ---------- Deal */
.spk-deal { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 4vw, 56px); align-items: center; padding: clamp(18px, 3vw, 36px); border-radius: 26px; background: var(--spk-soft-2); margin-bottom: 36px; }
.spk-deal__media { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 20px; overflow: hidden; background: #fff; }
.spk-deal__media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.spk-deal__body { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.spk-deal__kicker { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--spk-accent-ink); }
.spk-deal__title { font: 700 clamp(24px, 3vw, 36px)/1.2 var(--spk-font-display) !important; }
.spk-deal__title a { color: var(--spk-ink); }
.spk-deal__desc { color: var(--spk-muted); max-width: 52ch; }
.spk-deal__desc p { margin: 0; }
.spk-deal__price { font: 700 28px/1.2 var(--spk-font-body); color: var(--spk-primary); }
.spk-deal__price del { font-size: 18px; font-weight: 400; color: var(--spk-muted); margin-inline-end: 8px; }
.spk-deal__price ins { text-decoration: none; }
.spk-deal__save { font-weight: 600; color: var(--spk-accent-ink); }

/* ---------- Catalog (shop & category pages) */
.spk-chips { margin: 0 0 24px; }
.spk-chips ul { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.spk-chips li { flex: none; }
.spk-chips a {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 999px;
	border: 1px solid var(--spk-line); background: #fff; color: var(--spk-ink); font-size: 14.5px; font-weight: 500;
}
.spk-chips a:hover { border-color: var(--spk-primary); color: var(--spk-primary); }
.spk-chips a[aria-current="page"] { background: var(--spk-primary); color: #fff; border-color: var(--spk-primary); }
.spk-chips .spk-ic { color: var(--spk-primary); }
.spk-chips a[aria-current="page"] .spk-ic { color: #fff; }
.spk-chips small { font-size: 12px; opacity: .65; }
.spk-catalog .products .spk-col { margin-bottom: 20px; }
.spk-catalog .products .spk-col .col-inner { height: 100%; }
.spk-catalog .products .spk-col .spk-card { height: 100%; }

/* Product page trust points */
.spk-single-trust { display: grid; gap: 10px; margin: 18px 0 !important; padding: 16px 18px !important; border-radius: 16px; background: var(--spk-soft-2); }
.spk-single-trust li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--spk-ink); }
.spk-single-trust .spk-ic { color: var(--spk-primary); }
.spk-single-trust small { color: var(--spk-muted); font-size: 13px; }

/* ---------- Reviews */
.spk-review-summary { display: grid; grid-template-columns: auto 1fr; gap: 20px 36px; align-items: center; padding: 22px; margin-bottom: 26px; border-radius: 20px; background: var(--spk-soft-2); }
.spk-review-summary__score { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.spk-review-summary__score b { font: 700 46px/1 var(--spk-font-display); color: var(--spk-primary); }
.spk-review-summary__score small { font-size: 13px; color: var(--spk-muted); }
.spk-review-summary__bars { display: flex; flex-direction: column; gap: 7px; max-width: 420px; }
.spk-review-summary__bars li { display: grid; grid-template-columns: 70px 1fr 32px; align-items: center; gap: 10px; font-size: 13.5px; }
.spk-bar { display: block; height: 8px; border-radius: 999px; background: #fff; overflow: hidden; }
.spk-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--spk-accent); }
.spk-review-summary__photos { grid-column: 1 / -1; }
.spk-review-summary__photos h3 { font: 600 16px var(--spk-font-display); margin: 0 0 10px; color: var(--spk-ink); }
.spk-review-photos { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0 !important; }
.spk-review-photos a { display: block; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; background: #fff; }
.spk-review-photos img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.spk-review-photos a:hover img { transform: scale(1.06); }
.spk-review-photos--sm a { width: 58px; height: 58px; border-radius: 10px; }

.spk-review-upload { margin: 14px 0; padding: 16px; border: 1.5px dashed color-mix(in srgb, var(--spk-primary) 40%, var(--spk-line)); border-radius: 16px; background: var(--spk-soft-2); }
.spk-review-upload__label { display: inline-flex !important; align-items: center; gap: 10px; font-weight: 600; color: var(--spk-primary); cursor: pointer; margin: 0 0 10px !important; }
.spk-review-upload input[type="file"] { display: block; width: 100%; font-size: 14px; margin: 0; }
.spk-review-upload__hint { font-size: 13px; color: var(--spk-muted); margin: 8px 0 0 !important; }
.spk-review-upload__error { margin: 8px 0 0 !important; font-size: 13.5px; font-weight: 600; color: #A12622; }
.spk-review-upload__preview { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px !important; }
.spk-review-upload__preview img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; display: block; }

.spk-reviews-sc { margin-bottom: 36px; }
.spk-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.spk-review-card { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: var(--spk-radius); background: #fff; border: 1px solid var(--spk-line); }
.spk-review-card__text { font-size: 15px; line-height: 1.65; color: var(--spk-ink); }
.spk-review-card__meta { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13.5px; }
.spk-review-card__meta b { color: var(--spk-ink); }
.spk-review-card__meta a { color: var(--spk-primary); flex-basis: 100%; }
.spk-verified { display: inline-flex; align-items: center; gap: 4px; color: var(--spk-primary); font-size: 12.5px; }

/* Lightbox */
.spk-lightbox { border: 0; padding: 0; background: transparent; max-width: min(92vw, 900px); max-height: 90vh; }
.spk-lightbox::backdrop { background: rgba(8, 20, 19, .82); }
.spk-lightbox img { display: block; max-width: 100%; max-height: 86vh; border-radius: 14px; }
.spk-lightbox button { position: fixed; top: 16px; inset-inline-end: 16px; width: 48px; height: 48px; margin: 0; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; color: #134E4A; cursor: pointer; }

/* ---------- Responsive */
@media (max-width: 1024px) {
	.spk-grid { --spk-cols: 3 !important; }
	.spk-rail { --spk-cols: 3 !important; }
	.spk-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.spk-footer__grid { grid-template-columns: 1fr 1fr; }
	.spk-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 849px) {
	.spk-nav--bar, .spk-header--minimal .spk-nav--inline, .spk-hide-sm { display: none !important; }
	.spk-header__burger { display: inline-flex; }
	.spk-header__row { min-height: 68px; gap: 10px; }
	.spk-header--classic .spk-header__row { flex-wrap: wrap; padding-bottom: 12px; }
	.spk-header--classic .spk-search { order: 5; flex-basis: 100%; max-width: none; }
	.spk-header--centered .spk-header__row { grid-template-columns: auto 1fr auto; }
	.spk-header--centered .spk-header__start { display: none; }
	.spk-header--centered .spk-actions .spk-icon-btn[data-spk-toggle] { display: inline-flex; }
	.spk-logo__img { max-height: 44px; }
	.spk-logo__text b { font-size: 22px; }
	.spk-topbar__row { justify-content: center; }
	.spk-topbar__msg { font-size: 12.5px; text-align: center; }
	.spk-banners { grid-template-columns: 1fr; }
	.spk-banner--wide { grid-column: auto; }
	.spk-deal { grid-template-columns: 1fr; }
	.spk-slider { border-radius: 18px; }
	.spk-slider__track { height: min(var(--spk-slider-h, 520px), 78vh); }
	.spk-slider__arrow { display: none; }
	.spk-slide__content { align-items: flex-end; padding-bottom: 60px; }
	.spk-review-summary { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.spk-grid, .spk-rail { --spk-cols: 2 !important; gap: 12px; }
	.spk-rail__track { grid-auto-columns: 72%; gap: 12px; }
	.spk-rail__btn { display: none; }
	.spk-card__body { padding: 12px; }
	.spk-card__title { font-size: 14.5px !important; }
	.spk-card__cta { font-size: 13.5px; padding: 0 10px; }
	.spk-card__cta .spk-ic { display: none; }
	.spk-seal { width: 42px; height: 42px; font-size: 12.5px; }
	.spk-features { grid-template-columns: 1fr; }
	.spk-footer__grid { grid-template-columns: 1fr; gap: 30px; padding-block: 40px 28px; }
	.spk-footer__bottom-row { justify-content: center; text-align: center; }
	.spk-reviews-grid { grid-template-columns: 1fr; }
	.spk-cats--circle .spk-cat { width: 88px; }
	.spk-cat__media { width: 76px; height: 76px; }
	.spk-title { align-items: flex-start; flex-direction: column; gap: 8px; }
	.spk-title--center { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
	.spk-hf *, .spk-sc *, .spk-card * { animation: none !important; transition: none !important; }
}
