/* Anakty Boudoir: site layer. Tokens first, then components. Logical properties keep it RTL-ready. */
:root {
	--ak-bg: #ffffff;
	--ak-surface: #fbf5f5;
	--ak-ink: #1d1a1b;
	--ak-muted: #6e6668;
	--ak-line: #e9e1e2;
	--ak-accent: #c8506a;
	--ak-accent-soft: #f6e4e7;
	--ak-display: "Bodoni Moda", "Times New Roman", serif;
	--ak-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
	--ak-wrap: 1440px;
	--ak-gutter: clamp(16px, 3vw, 40px);
	--ak-gap: clamp(10px, 1.4vw, 20px);
}

/* ---------- base ---------- */
body.ak {
	background: var(--ak-bg);
	color: var(--ak-ink);
	font-family: var(--ak-sans);
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
	--theme-font-family: var(--ak-sans);
	--theme-text-color: var(--ak-ink);
	--theme-headings-color: var(--ak-ink);
	--theme-link-initial-color: var(--ak-ink);
	--theme-link-hover-color: var(--ak-accent);
	--theme-button-background-initial-color: var(--ak-ink);
	--theme-button-background-hover-color: var(--ak-accent);
	--theme-button-text-initial-color: #fff;
	--theme-button-border-radius: 0;
	--theme-palette-color-1: var(--ak-ink);
	--theme-palette-color-2: var(--ak-accent);
}
body.ak :where(h1, h2, h3, h4, h5, h6) { font-family: var(--ak-display); font-weight: 500; letter-spacing: 0; }
body.ak a { text-decoration: none; }
body.ak :where(img) { max-width: 100%; height: auto; }
body.ak .woo-multi-currency.wmc-sidebar,
body.ak .wmc-sidebar { display: none !important; }
.ak-wrap { max-width: var(--ak-wrap); margin-inline: auto; padding-inline: var(--ak-gutter); box-sizing: border-box; }
.ak-center { text-align: center; }

/* Old theme chrome is replaced. */
body.ak #header,
body.ak #footer,
body.ak .ct-footer,
body.ak .woocommerce-products-header,
body.ak.archive .hero-section,
body.ak.post-type-archive-product .hero-section,
body.ak .ct-breadcrumbs { display: none !important; }

/* ---------- promo ---------- */
.ak-promo { background: var(--ak-accent-soft); color: var(--ak-ink); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.ak-promo__in { display: flex; align-items: center; justify-content: center; min-height: 34px; position: relative; }
.ak-promo__msg { margin: 0; }
.ak-cur { position: absolute; inset-inline-end: var(--ak-gutter); display: flex; gap: 2px; }
.ak-cur a { padding: 3px 7px; color: var(--ak-muted); font-weight: 500; }
.ak-cur a.is-on { color: var(--ak-ink); box-shadow: inset 0 -1px 0 var(--ak-ink); }

/* ---------- header ---------- */
.ak-head { background: #fff; border-bottom: 1px solid var(--ak-line); position: sticky; top: 0; z-index: 60; }
.admin-bar .ak-head { top: 32px; }
.ak-head__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 76px; }
.ak-head__side { display: flex; align-items: center; gap: 6px; }
.ak-head__side--end { justify-content: flex-end; }
.ak-logo img { display: block; height: 46px; width: auto; }
.ak-logo span { font-family: var(--ak-display); font-size: 32px; }
.ak-btn-ic { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; background: none; border: 0; color: var(--ak-ink); cursor: pointer; position: relative; border-radius: 0; }
.ak-btn-ic:hover { color: var(--ak-accent); background: none; }
.ak-count { position: absolute; top: 4px; inset-inline-end: 2px; min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box; border-radius: 999px; background: var(--ak-ink); color: #fff; font-size: 10px; line-height: 17px; text-align: center; }
.ak-count[data-n="0"] { display: none; }
.ak-nav ul { display: flex; justify-content: center; gap: clamp(18px, 3vw, 44px); list-style: none; margin: 0 auto; padding-block: 0 14px; }
.ak-nav a { display: block; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--ak-ink); padding-block: 4px; border-bottom: 1px solid transparent; }
.ak-nav a:hover, .ak-nav a[aria-current] { border-bottom-color: var(--ak-ink); color: var(--ak-ink); }
.ak-only-m { display: none; }

/* search overlay */
.ak-search { position: fixed; inset: 0 0 auto 0; z-index: 90; background: #fff; border-bottom: 1px solid var(--ak-line); box-shadow: 0 18px 40px rgba(60, 30, 36, .08); }
.ak-search__form { display: flex; align-items: center; gap: 12px; min-height: 84px; }
.ak-search__form input[type="search"] { flex: 1; border: 0 !important; border-bottom: 1px solid var(--ak-ink) !important; border-radius: 0 !important; font: 400 20px/1.3 var(--ak-sans); padding: 10px 0 !important; background: transparent !important; box-shadow: none !important; height: auto !important; }

/* drawer */
.ak-drawer { position: fixed; inset: 0; z-index: 95; }
.ak-drawer__scrim { position: absolute; inset: 0; background: rgba(29, 26, 27, .35); }
.ak-drawer__panel { position: absolute; inset-block: 0; inset-inline-start: 0; width: min(86vw, 360px); background: #fff; z-index: 1; padding: 16px 24px; overflow-y: auto; box-sizing: border-box; }
.ak-drawer__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.ak-drawer__title { font: 500 12px var(--ak-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ak-muted); }
.ak-drawer__nav, .ak-drawer__sub { list-style: none; margin: 0; padding: 0; }
.ak-drawer__nav a { display: block; padding: 13px 0; border-bottom: 1px solid var(--ak-line); font: 500 22px/1.2 var(--ak-display); color: var(--ak-ink); }
.ak-drawer__sub { margin-top: 24px; }
.ak-drawer__sub a { display: block; padding: 8px 0; color: var(--ak-muted); font-size: 15px; }

/* ---------- buttons & links ---------- */
.ak-btn,
body.ak .woocommerce .button,
body.ak .single_add_to_cart_button,
body.ak .checkout-button,
body.ak #place_order {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 50px; padding: 0 34px; border: 0; border-radius: 0 !important;
	background: var(--ak-ink) !important; color: #fff !important;
	font: 500 13px/1 var(--ak-sans) !important; letter-spacing: .14em; text-transform: uppercase;
	transition: background-color .2s ease;
}
.ak-btn:hover,
body.ak .single_add_to_cart_button:hover,
body.ak .checkout-button:hover,
body.ak #place_order:hover { background: var(--ak-accent) !important; color: #fff !important; }
.ak-link { font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.ak-link:hover { color: var(--ak-accent); }

/* ---------- home ---------- */
.ak-home { padding-bottom: 40px; }
.ak-hero { background: var(--ak-surface); }
.ak-hero__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: center; padding-block: clamp(24px, 4vw, 48px); }
.ak-hero__title { font: 500 clamp(40px, 5.4vw, 80px)/1.04 var(--ak-display); margin: 0 0 22px; color: var(--ak-ink); }
.ak-hero__title em { font-style: italic; color: var(--ak-accent); }
.ak-hero__lede { max-width: 30em; font-size: 17px; line-height: 1.6; color: var(--ak-muted); margin: 0 0 30px; }
.ak-hero__media { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ak-gap); }
.ak-hero__img { display: block; overflow: hidden; aspect-ratio: 4 / 5; background: #eee; }
.ak-hero__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ak-hero__img:hover img { transform: scale(1.03); }
.ak-hero__img--b { margin-top: clamp(24px, 5vw, 72px); }

.ak-sec { padding-block: clamp(48px, 6vw, 88px) 0; }
.ak-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.ak-h2 { font: 500 clamp(28px, 3vw, 42px)/1.1 var(--ak-display) !important; margin: 0 0 26px; color: var(--ak-ink); }
.ak-sec__head .ak-h2 { margin: 0; }

.ak-tiles { display: grid; grid-template-columns: repeat(var(--ak-tiles, 4), minmax(0, 1fr)); gap: var(--ak-gap); list-style: none; margin: 0; padding: 0; }
.ak-tiles a { display: block; color: var(--ak-ink); }
.ak-tiles__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ak-surface); }
.ak-tiles__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ak-tiles a:hover img { transform: scale(1.04); }
.ak-tiles__label { display: block; margin-top: 14px; text-align: center; font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }

.ak-band { margin-top: clamp(56px, 7vw, 96px); background: var(--ak-ink); color: #fff; }
.ak-band__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: end; padding-block: clamp(40px, 5vw, 72px); }
.ak-band__big { font: 500 clamp(28px, 3.4vw, 50px)/1.1 var(--ak-display); margin: 0; }
.ak-band__small { margin: 0; color: rgba(255, 255, 255, .72); font-size: 16px; line-height: 1.6; max-width: 34em; }

.ak-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, calc((100% - 4 * var(--ak-gap)) / 4.4)); gap: var(--ak-gap); overflow-x: auto; scroll-snap-type: x mandatory; list-style: none; margin: 0; padding: 0 0 14px; scrollbar-width: thin; }
.ak-rail li { scroll-snap-align: start; }
.ak-rail a { display: block; color: var(--ak-ink); }
.ak-rail__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ak-surface); }
.ak-rail__img img { width: 100%; height: 100%; object-fit: cover; }
.ak-rail__name { display: block; margin-top: 12px; font-size: 14px; }
.ak-rail__price { display: block; margin-top: 4px; font-size: 14px; font-weight: 500; }

/* ---------- product grid (Woo/Blocksy loop) ---------- */
body.ak ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: clamp(28px, 3vw, 44px) var(--ak-gap) !important;
	margin: 0 !important;
	--grid-columns-gap: var(--ak-gap);
}
body.ak ul.products li.product { text-align: start !important; margin: 0 !important; width: auto !important; align-items: flex-start !important; --horizontal-alignment: flex-start; --text-horizontal-alignment: start; }
body.ak ul.products li.product > * { text-align: start !important; align-self: stretch; }
/* VS-style cards: photo, name, colour dots, price. Sizes and buttons live on the product page. */
body.ak ul.products .cfvsw-swatches-container:has(.cfvsw-label-option),
body.ak ul.products .ct-woo-card-actions { display: none !important; }
body.ak ul.products li.product figure { margin: 0 0 12px !important; position: relative; }
body.ak ul.products li.product .ct-media-container { border-radius: 0 !important; background: var(--ak-surface); }
body.ak ul.products li.product .ct-media-container img { aspect-ratio: 4 / 5 !important; object-fit: cover; border-radius: 0 !important; }
body.ak ul.products .woocommerce-loop-product__title { font: 400 14px/1.4 var(--ak-sans) !important; margin: 0 !important; letter-spacing: .01em; }
body.ak ul.products .woocommerce-loop-product__title a { color: var(--ak-ink) !important; }
body.ak ul.products .ak-ref { display: block; font-size: 12px; color: var(--ak-muted); margin-top: 2px; letter-spacing: .04em; }
body.ak ul.products .price { display: block; margin-top: 6px !important; font: 500 14px/1.3 var(--ak-sans) !important; color: var(--ak-ink) !important; }
body.ak ul.products .price del { color: var(--ak-muted) !important; font-weight: 400; margin-inline-end: 6px; }
body.ak ul.products .price ins { color: var(--ak-accent) !important; text-decoration: none; }
body.ak .onsale,
body.ak .out-of-stock-badge {
	position: absolute; top: 10px !important; inset-inline-start: 10px !important; inset-inline-end: auto !important;
	border-radius: 0 !important; padding: 5px 9px !important; min-height: 0 !important; line-height: 1 !important;
	font: 500 10px/1 var(--ak-sans) !important; letter-spacing: .12em; text-transform: uppercase;
}
body.ak .onsale { background: var(--ak-accent) !important; color: #fff !important; }
body.ak .out-of-stock-badge { background: #fff !important; color: var(--ak-ink) !important; }
/* Sold-out items: badge only, full-strength photo (dimming made the stacked hover photo show through). */
body.ak ul.products li.product .ct-media-container img { opacity: 1 !important; filter: none !important; }
body.ak ul.products li.product .ct-media-container img.ct-swap { opacity: 0 !important; }
body.ak ul.products li.product .ct-media-container:hover img.ct-swap { opacity: 1 !important; }
/* colour dots */
body.ak ul.products .cfvsw_variations_form,
body.ak ul.products .cfvsw-swatches-container { margin-top: 8px !important; gap: 6px !important; justify-content: flex-start !important; text-align: start !important; }
body.ak ul.products .cfvsw-swatches-option { width: 14px !important; height: 14px !important; min-width: 14px !important; min-height: 14px !important; border-radius: 50% !important; padding: 1px !important; border: 1px solid var(--ak-line) !important; }
body.ak ul.products .cfvsw-swatches-option .cfvsw-swatch-inner { border-radius: 50% !important; }
body.ak ul.products .cfvsw-swatches-option.cfvsw-label-option { width: auto !important; height: auto !important; border-radius: 0 !important; padding: 2px 6px !important; font-size: 11px; }
/* quiet add-to-cart on cards */
body.ak ul.products .ct-woo-card-actions { margin-top: 10px !important; }
body.ak ul.products .ct-woo-card-actions .button { min-height: 40px; padding: 0 16px; font-size: 11px !important; width: 100%; background: #fff !important; color: var(--ak-ink) !important; box-shadow: inset 0 0 0 1px var(--ak-ink); }
body.ak ul.products .ct-woo-card-actions .button:hover { background: var(--ak-ink) !important; color: #fff !important; }

/* ---------- archive head + toolbar ---------- */
body.ak.archive #main > .ct-container,
body.ak.post-type-archive-product #main > .ct-container,
body.ak.search #main > .ct-container { max-width: var(--ak-wrap); padding-inline: var(--ak-gutter); width: auto; display: block; }
body.ak.archive #sidebar,
body.ak.post-type-archive-product #sidebar { display: none !important; }
.ak-arch { text-align: center; padding-block: 28px 8px; }
.ak-crumbs { font-size: 12px; color: var(--ak-muted); letter-spacing: .06em; display: flex; justify-content: center; gap: 8px; }
.ak-crumbs a { color: var(--ak-muted); }
.ak-arch__title { font: 500 clamp(34px, 4.2vw, 58px)/1.05 var(--ak-display) !important; margin: 14px 0 6px !important; }
.ak-arch__count { color: var(--ak-muted); font-size: 13px; margin: 0 0 22px; }
.ak-chips { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0 0 4px; justify-content: center; overflow-x: auto; scrollbar-width: none; }
.ak-chips::-webkit-scrollbar { display: none; }
.ak-chips a { display: block; white-space: nowrap; padding: 9px 18px; border: 1px solid var(--ak-line); border-radius: 999px; font-size: 13px; color: var(--ak-ink); }
.ak-chips a:hover { border-color: var(--ak-ink); }
.ak-chips a[aria-current] { background: var(--ak-ink); border-color: var(--ak-ink); color: #fff; }
body.ak .woo-listing-top {
	position: sticky; top: 123px; z-index: 20; background: #fff;
	display: flex !important; justify-content: space-between; align-items: center;
	border-block: 1px solid var(--ak-line); margin: 22px 0 28px !important; padding: 8px 0 !important; min-height: 50px;
}
.admin-bar.ak .woo-listing-top { top: 155px; }
body.ak .woocommerce-result-count { margin: 0 !important; font-size: 13px; color: var(--ak-muted); }
body.ak .woocommerce-ordering select { border: 0 !important; background-color: transparent !important; font: 500 13px var(--ak-sans) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ak-ink) !important; padding-inline-end: 26px !important; box-shadow: none !important; }
body.ak .woocommerce-pagination { margin-top: 56px !important; }
body.ak .woocommerce-pagination .page-numbers { border-radius: 0 !important; }

/* ---------- single product ---------- */
body.ak.single-product .product_title { font: 500 clamp(26px, 2.6vw, 38px)/1.15 var(--ak-display) !important; margin-bottom: 12px !important; }
body.ak.single-product .summary .price { font: 500 20px var(--ak-sans) !important; color: var(--ak-ink) !important; }
body.ak.single-product .summary .price ins { color: var(--ak-accent) !important; text-decoration: none; }
body.ak.single-product .woocommerce-product-details__short-description { color: var(--ak-muted); line-height: 1.7; }
body.ak.single-product .variations label { font: 500 12px var(--ak-sans) !important; letter-spacing: .14em; text-transform: uppercase; }
body.ak.single-product .cfvsw-swatches-option { border-radius: 0 !important; min-width: 44px !important; min-height: 40px !important; border: 1px solid var(--ak-line) !important; }
body.ak.single-product .cfvsw-swatches-option.cfvsw-selected-swatch { border-color: var(--ak-ink) !important; box-shadow: inset 0 0 0 1px var(--ak-ink) !important; }
body.ak.single-product .cfvsw-swatches-option:not(.cfvsw-label-option) { border-radius: 50% !important; min-width: 34px !important; min-height: 34px !important; }
body.ak.single-product .single_add_to_cart_button { flex: 1; }
body.ak.single-product .summary .variations,
body.ak.single-product .summary .variations td,
body.ak.single-product .summary .variations th { text-align: start !important; }
body.ak.single-product .summary table.variations { width: 100% !important; margin: 0 0 18px !important; border: 0 !important; }
body.ak.single-product .summary table.variations :is(tbody, tr, th, td) { display: block !important; width: 100% !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.ak.single-product .summary table.variations tr { margin-bottom: 18px !important; }
body.ak.single-product .summary table.variations th.label { display: block !important; visibility: visible !important; margin-bottom: 10px !important; }
body.ak.single-product .summary table.variations th.label label { text-transform: uppercase; }
body.ak.single-product .summary .cfvsw-swatches-container { display: flex !important; flex-wrap: wrap; gap: 8px; justify-content: flex-start !important; margin: 0 !important; }
body.ak ul.products .cfvsw_variations_form { margin: 0 !important; padding: 0 !important; }
body.ak ul.products .cfvsw_variations_form:not(:has(.cfvsw-swatches-option:not(.cfvsw-label-option))) { display: none !important; }
body.ak.single-product .quantity input { border-radius: 0 !important; }
body.ak.single-product .flexy-container,
body.ak.single-product .woocommerce-product-gallery img { border-radius: 0 !important; }
body.ak.single-product .woocommerce-tabs .tabs a { font: 500 12px var(--ak-sans) !important; letter-spacing: .14em; text-transform: uppercase; }
body.ak .related > h2, body.ak .upsells > h2 { font: 500 clamp(26px, 2.6vw, 36px)/1.1 var(--ak-display) !important; text-align: center; margin-bottom: 28px !important; }

/* ---------- forms (cart/checkout/account) ---------- */
body.ak :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], select, textarea) { border-radius: 0 !important; }
body.ak .woocommerce-cart h1, body.ak .woocommerce-checkout h1 { font-family: var(--ak-display); }

/* ---------- footer ---------- */
.ak-foot { background: var(--ak-surface); border-top: 1px solid var(--ak-line); margin-top: clamp(56px, 7vw, 96px); font-size: 14px; }
.ak-foot__grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 32px; padding-block: 56px 40px; }
.ak-foot__brand img { height: 42px; width: auto; display: block; margin-bottom: 16px; }
.ak-foot__brand p { color: var(--ak-muted); max-width: 32em; line-height: 1.7; margin: 0; }
.ak-foot__h { font: 500 12px var(--ak-sans) !important; letter-spacing: .16em; text-transform: uppercase; margin: 6px 0 16px !important; color: var(--ak-ink); }
.ak-foot ul { list-style: none; margin: 0; padding: 0; }
.ak-foot li { margin-bottom: 9px; }
.ak-foot a { color: var(--ak-ink); }
.ak-foot a:hover { color: var(--ak-accent); }
.ak-foot__plain li { color: var(--ak-muted); }
.ak-foot__h--gap { margin-top: 28px !important; }
.ak-foot__base { display: flex; justify-content: space-between; gap: 16px; padding-block: 18px 22px; border-top: 1px solid var(--ak-line); color: var(--ak-muted); font-size: 12px; letter-spacing: .06em; }

/* ---------- affiliate link in nav ---------- */
.ak-nav .ak-nav__aff { padding-inline-start: clamp(18px, 3vw, 44px); border-inline-start: 1px solid var(--ak-line); }
.ak-nav .ak-nav__aff a { color: var(--ak-accent); }
.ak-nav .ak-nav__aff a:hover, .ak-nav .ak-nav__aff a[aria-current] { color: var(--ak-accent); border-bottom-color: var(--ak-accent); }

/* ---------- My account: customer or affiliate ---------- */
.ak-acct { text-align: center; padding-block: 12px 36px; }
.ak-acct__title { font: 500 clamp(32px, 4vw, 52px)/1.1 var(--ak-display) !important; margin: 0 0 8px !important; }
.ak-acct__lede { color: var(--ak-muted); margin: 0 0 28px; }
.ak-acct__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ak-gap); text-align: start; }
.ak-acct__card { border: 1px solid var(--ak-line); padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; background: #fff; }
.ak-acct__card--aff { background: var(--ak-surface); border-color: var(--ak-accent-soft); }
.ak-acct__card h2 { font: 500 26px/1.2 var(--ak-display) !important; margin: 0 !important; }
.ak-acct__card p { margin: 0; color: var(--ak-muted); line-height: 1.6; flex: 1; }
.ak-acct__card--aff h2 { color: var(--ak-accent); }
.ak-acct__small { font-size: 13px; color: var(--ak-muted); text-decoration: underline; }
.ak-anchor { display: block; position: relative; top: -140px; visibility: hidden; }
.ak-acct-promo { margin-top: 28px; padding: 24px 26px; background: var(--ak-surface); border: 1px solid var(--ak-accent-soft); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.ak-acct-promo h3 { font: 500 22px/1.2 var(--ak-display) !important; margin: 0 !important; flex-basis: 100%; color: var(--ak-accent); }
.ak-acct-promo p { margin: 0; color: var(--ak-muted); flex-basis: 100%; }
body.ak .woocommerce-MyAccount-navigation-link--ak-affiliate a { color: var(--ak-accent) !important; }
body.ak.woocommerce-account:not(.logged-in) :is(.hero-section, .entry-header, .page-title) { display: none !important; }
body.ak #customer_login h2 { font: 500 26px/1.2 var(--ak-display) !important; }

/* ---------- language + currency button ---------- */
.ak-pref { position: relative; }
.ak-pref__btn { display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 10px; background: none !important; border: 0; color: var(--ak-ink) !important; cursor: pointer; font: 500 12px/1 var(--ak-sans) !important; letter-spacing: .1em; border-radius: 0; }
.ak-pref__btn:hover, .ak-pref__btn[aria-expanded="true"] { color: var(--ak-accent) !important; }
.ak-pref__btn .ak-ic { width: 20px; height: 20px; }
.ak-pref__now { display: inline-flex; align-items: center; gap: 5px; }
.ak-pref__sep { color: var(--ak-muted); }
.ak-pref__cur { font-family: "Jost", sans-serif; }
.ak-pref__panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 80; min-width: 250px; background: #fff; border: 1px solid var(--ak-line); box-shadow: 0 18px 40px rgba(60, 30, 36, .1); padding: 18px 20px; display: grid; gap: 16px; }
.ak-pref__panel[hidden] { display: none; }
.ak-pref__label { margin: 0 0 8px; font: 500 11px var(--ak-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ak-muted); }
body.ak.rtl .ak-pref__label { letter-spacing: 0; font-size: 13px; }
.ak-pref__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ak-pref__list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; color: var(--ak-ink); font-size: 14px; border: 1px solid transparent; }
.ak-pref__list a:hover { background: var(--ak-surface); color: var(--ak-ink); }
.ak-pref__list a.is-on { border-color: var(--ak-ink); }
.ak-pref__list a.is-on::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ak-accent); }
.ak-pref__list a[lang="ar"] { font-family: "Tajawal", sans-serif; font-size: 15px; }
.ak-drawer__prefs { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ak-line); display: grid; gap: 18px; }

/* ---------- languages ---------- */
.ak-langs { position: absolute; inset-inline-start: var(--ak-gutter); display: flex; gap: 2px; }
.ak-langs a { padding: 3px 7px; color: var(--ak-muted); font-weight: 500; }
.ak-langs a.is-on { color: var(--ak-ink); box-shadow: inset 0 -1px 0 var(--ak-ink); }
.ak-langs a[lang="ar"] { font-family: "Tajawal", sans-serif; font-size: 14px; line-height: 1; }
body.ak.rtl {
	--ak-display: "Tajawal", "Bodoni Moda", serif;
	--ak-sans: "Tajawal", "Jost", Arial, sans-serif;
	font-size: 16px;
}
body.ak.rtl :where(.ak-promo, .ak-nav a, .ak-btn, .ak-link, .ak-tiles__label, .ak-foot__h) { letter-spacing: 0; }
body.ak.rtl :where(h1, h2, h3, .ak-hero__title, .ak-arch__title, .ak-h2) { font-weight: 700; line-height: 1.25; }
body.ak.rtl .ak-hero__title em { font-style: normal; }
body.ak.rtl .ak-cur a, body.ak.rtl .ak-ref { font-family: "Jost", sans-serif; }

/* ---------- affiliate page ---------- */
.ak-aff-hero { background: var(--ak-surface); }
.ak-aff-hero__in { padding-block: clamp(48px, 7vw, 104px); max-width: 980px; text-align: center; }
.ak-aff-hero__kicker { margin: 0 0 18px; font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--ak-accent); }
.ak-aff-hero__title { font: 500 clamp(36px, 5vw, 72px)/1.05 var(--ak-display) !important; margin: 0 auto 20px !important; max-width: 14em; }
.ak-aff-hero__lede { font-size: 17px; line-height: 1.6; color: var(--ak-muted); max-width: 34em; margin: 0 auto 32px; }
.ak-aff-hero__cta { display: flex; gap: 24px; align-items: center; justify-content: center; flex-wrap: wrap; }
.ak-aff-how { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px; align-items: start; }
.ak-aff-steps { list-style: none; margin: 0; padding: 0; }
.ak-aff-steps li { display: grid; grid-template-columns: 88px 1fr; gap: 20px; padding-block: 26px; border-top: 1px solid var(--ak-line); }
.ak-aff-steps li:last-child { border-bottom: 1px solid var(--ak-line); }
.ak-aff-steps__n { font: 500 64px/0.9 var(--ak-display); color: var(--ak-accent); }
.ak-aff-steps h3 { font: 500 24px/1.2 var(--ak-display) !important; margin: 4px 0 8px !important; }
.ak-aff-steps p { margin: 0; color: var(--ak-muted); line-height: 1.7; max-width: 36em; }
.ak-aff-band__in { display: flex; align-items: center; gap: clamp(20px, 4vw, 56px); padding-block: clamp(40px, 5vw, 64px); }
.ak-aff-band__num { margin: 0; font: 500 clamp(80px, 12vw, 168px)/0.85 var(--ak-display); color: #fff; }
.ak-aff-band__txt { margin: 0; font: 400 clamp(20px, 2.2vw, 30px)/1.35 var(--ak-display); color: rgba(255, 255, 255, .86); max-width: 20em; }
.ak-aff-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin: 0; }
.ak-aff-rules > div { padding-block: 22px; border-top: 1px solid var(--ak-line); }
.ak-aff-rules dt { font: 500 14px var(--ak-sans); letter-spacing: .04em; margin-bottom: 8px; color: var(--ak-ink); }
.ak-aff-rules dd { margin: 0; color: var(--ak-muted); line-height: 1.7; }
.ak-aff-faq { max-width: 860px; }
.ak-aff-faq details { border-top: 1px solid var(--ak-line); }
.ak-aff-faq details:last-of-type { border-bottom: 1px solid var(--ak-line); }
.ak-aff-faq summary { cursor: pointer; list-style: none; padding: 20px 0; font-size: 17px; display: flex; justify-content: space-between; gap: 16px; }
.ak-aff-faq summary::-webkit-details-marker { display: none; }
.ak-aff-faq summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--ak-muted); }
.ak-aff-faq details[open] summary::after { content: "\2212"; }
.ak-aff-faq details p { margin: 0 0 20px; color: var(--ak-muted); line-height: 1.7; max-width: 44em; }
.ak-aff-join__box { max-width: 640px; margin-inline: auto; padding: clamp(28px, 4vw, 48px); border: 1px solid var(--ak-line); background: #fff; }
.ak-aff-join__box > p { color: var(--ak-muted); margin: 0 0 24px; }

/* SliceWP forms and affiliate account */
body.ak .slicewp-form label, body.ak .slicewp-field-label-wrapper label { font: 500 12px var(--ak-sans) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ak-ink); }
body.ak.rtl .slicewp-form label, body.ak.rtl .slicewp-field-label-wrapper label { letter-spacing: 0; text-transform: none; font-size: 14px !important; }
body.ak .slicewp-field-wrapper { margin-bottom: 18px !important; }
body.ak :is(.slicewp-form, .slicewp-affiliate-account) :is(input[type="text"], input[type="email"], input[type="password"], input[type="url"], select, textarea) { width: 100%; min-height: 48px; border: 1px solid var(--ak-line) !important; border-radius: 0 !important; padding: 10px 14px !important; font: 400 15px var(--ak-sans) !important; background: #fff !important; box-shadow: none !important; }
body.ak :is(.slicewp-form, .slicewp-affiliate-account) :is(input, select, textarea):focus { border-color: var(--ak-ink) !important; outline: none; }
body.ak :is(.slicewp-form, .slicewp-affiliate-account) :is(button, .slicewp-button-primary, input[type="submit"]) { min-height: 50px; padding: 0 34px !important; border: 0 !important; border-radius: 0 !important; background: var(--ak-ink) !important; color: #fff !important; font: 500 13px var(--ak-sans) !important; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
body.ak :is(.slicewp-form, .slicewp-affiliate-account) :is(button, .slicewp-button-primary, input[type="submit"]):hover { background: var(--ak-accent) !important; }
body.ak .slicewp-affiliate-account { --slicewp-color-primary: var(--ak-ink); }
body.ak .slicewp-nav-tab a, body.ak .slicewp-affiliate-account .slicewp-tab-navigation a { font-family: var(--ak-sans); }
body.ak .slicewp-user-notice { border-radius: 0 !important; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
	body.ak ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.ak-foot__grid { grid-template-columns: 1fr 1fr; }
	.ak-foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
	.admin-bar .ak-head { top: 46px; }
}
@media (max-width: 760px) {
	.ak-only-m { display: inline-grid; }
	.ak-only-d { display: none; }
	.ak-nav { display: none; }
	.ak-head__bar { min-height: 60px; }
	.ak-logo img { height: 36px; }
	.ak-promo__in { justify-content: space-between; gap: 8px; }
	.ak-cur, .ak-langs { position: static; }
	.ak-promo__in { justify-content: center; text-align: center; }
	.ak-pref__btn { padding: 0 6px; gap: 5px; letter-spacing: .04em; }
	.ak-pref { position: static; }
	.ak-pref__now:not(.ak-pref__now--cur) :is(.ak-pref__sep, .ak-pref__cur) { display: none; }
	.ak-pref__panel { top: 100%; inset-inline: 12px; min-width: 0; margin-top: 6px; }
	.ak-head__bar { position: relative; }
	.ak-aff-how, .ak-aff-rules, .ak-acct__choices { grid-template-columns: 1fr; }
	.ak-aff-steps li { grid-template-columns: 56px 1fr; }
	.ak-aff-steps__n { font-size: 46px; }
	.ak-aff-band__in { flex-direction: column; align-items: flex-start; }
	.ak-promo__msg { font-size: 11px; }
	body.ak ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 26px 10px !important; }
	.ak-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ak-hero__in { grid-template-columns: 1fr; padding-block: 28px 32px; }
	.ak-hero__copy { order: 2; text-align: center; }
	.ak-hero__lede { margin-inline: auto; font-size: 16px; }
	.ak-hero__img--b { margin-top: 28px; }
	.ak-band__in { grid-template-columns: 1fr; gap: 14px; }
	.ak-rail { grid-auto-columns: 62%; }
	body.ak .woo-listing-top { top: 60px; }
	.admin-bar.ak .woo-listing-top { top: 106px; }
	.ak-chips { justify-content: flex-start; }
	.ak-foot__base { flex-direction: column; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.ak-hero__img img, .ak-tiles__img img { transition: none; }
	.ak-hero__img:hover img, .ak-tiles a:hover img { transform: none; }
}
