/* ==========================================================================
   Mikasei Store: dark navy + gold, from the Mikasei logo
   ========================================================================== */

body.mks-site {
	--mks-bg: #070a1c;
	--mks-bg-2: #0a0f26;
	--mks-panel: #10173a;
	--mks-panel-2: #151e4a;
	--mks-line: rgba(130, 145, 255, 0.18);
	--mks-line-strong: rgba(150, 130, 255, 0.4);
	--mks-text: #eef0ff;
	--mks-muted: #a5acd4;
	--mks-gold: #ffc81e;
	--mks-gold-2: #f5a000;
	--mks-red: #e8323c;
	--mks-blue: #3b7bff;
	--mks-purple: #8b46ff;
	--mks-pink: #e040a0;
	--mks-radius: 14px;
	--mks-head: 'Poppins', 'Segoe UI', sans-serif;
	--mks-body: 'Nunito Sans', 'Segoe UI', sans-serif;

	/* Astra and Elementor global colors follow the Mikasei palette */
	--ast-global-color-0: var(--mks-gold);
	--ast-global-color-1: var(--mks-gold-2);
	--ast-global-color-2: var(--mks-text);
	--ast-global-color-3: var(--mks-muted);
	--ast-global-color-4: var(--mks-bg);
	--ast-global-color-5: var(--mks-panel);
	--ast-global-color-6: var(--mks-bg-2);
	--ast-global-color-7: var(--mks-panel-2);
	--ast-global-color-8: #000;
	--e-global-color-primary: var(--mks-text);
	--e-global-color-secondary: var(--mks-gold);
	--e-global-color-text: var(--mks-muted);
	--e-global-color-accent: var(--mks-gold);
	--e-global-typography-primary-font-family: 'Poppins';
	--e-global-typography-secondary-font-family: 'Poppins';
	--e-global-typography-text-font-family: 'Nunito Sans';
	--e-global-typography-accent-font-family: 'Poppins';

	background: var(--mks-bg);
	background-image:
		radial-gradient(1200px 600px at 85% -10%, rgba(139, 70, 255, 0.10), transparent 60%),
		radial-gradient(900px 500px at -10% 30%, rgba(59, 123, 255, 0.08), transparent 60%);
	background-attachment: fixed;
	color: var(--mks-muted);
	font-family: var(--mks-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.mks-site.ast-separate-container,
body.mks-site.ast-plain-container,
body.mks-site.ast-page-builder-template {
	background-color: var(--mks-bg);
}

body.mks-site h1, body.mks-site h2, body.mks-site h3,
body.mks-site h4, body.mks-site h5, body.mks-site h6,
body.mks-site .elementor-heading-title,
body.mks-site .entry-title {
	font-family: var(--mks-head);
	color: var(--mks-text);
	letter-spacing: -0.01em;
}

body.mks-site button, body.mks-site input, body.mks-site select, body.mks-site textarea {
	font-family: var(--mks-body);
}

body.mks-site a { color: var(--mks-gold); text-decoration: none; transition: color .2s ease; }
body.mks-site a:hover { color: #ffe07a; }
body.mks-site strong { color: var(--mks-text); }
body.mks-site ::selection { background: var(--mks-gold); color: #10131f; }

.mks-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }

/* Astra containers: transparent, and full width on Elementor pages */
body.mks-site .site-content,
body.mks-site #primary,
body.mks-site .ast-article-single,
body.mks-site .ast-article-post,
body.mks-site .ast-woocommerce-container,
body.mks-site.ast-separate-container .ast-article-single,
body.mks-site.ast-separate-container .ast-article-post,
body.mks-site.ast-separate-container .comments-area,
body.mks-site.ast-separate-container .ast-woocommerce-container {
	background: transparent;
	box-shadow: none;
	border: 0;
}
body.mks-site.elementor-template-full-width #content > .ast-container,
body.mks-site.ast-page-builder-template #content > .ast-container {
	max-width: none;
	padding: 0;
	display: block;
}
body.mks-site:not(.elementor-template-full-width) #content {
	padding: 40px 0 80px;
}
body.mks-site .entry-header { text-align: center; margin-bottom: 30px; }
body.mks-site .entry-title { font-size: clamp(28px, 4vw, 44px); font-weight: 800; text-transform: uppercase; }

/* ==========================================================================
   Header
   ========================================================================== */

.mks-header { position: sticky; top: 0; z-index: 999; }
body.admin-bar .mks-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .mks-header { top: 0; } }

.mks-header svg {
	width: 22px; height: 22px; fill: none; stroke: currentColor;
	stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none;
}
.mks-header__top {
	background: rgba(7, 10, 28, 0.94);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--mks-line);
}
.mks-header__row { display: flex; align-items: center; gap: 28px; min-height: 84px; }

.mks-logo { display: flex; align-items: center; gap: 12px; flex: none; }
.mks-logo img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 0 14px rgba(255, 200, 30, 0.28)); transition: transform .3s ease; }
.mks-logo:hover img { transform: rotate(-6deg) scale(1.05); }
.mks-logo__text { display: flex; flex-direction: column; line-height: 1; }
.mks-logo__text strong {
	font-family: var(--mks-head); font-weight: 900; font-size: 26px; letter-spacing: 0.02em;
	background: linear-gradient(180deg, #ffe066, var(--mks-gold) 45%, var(--mks-gold-2));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.mks-logo__text small { font-family: var(--mks-head); font-weight: 600; font-size: 10.5px; letter-spacing: 0.32em; color: var(--mks-text); margin-top: 6px; }

.mks-search {
	flex: 1; max-width: 620px; margin: 0 auto;
	display: flex; align-items: center;
	background: var(--mks-panel); border: 1px solid var(--mks-line);
	border-radius: 999px; padding: 4px 4px 4px 20px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.mks-search:focus-within { border-color: rgba(255, 200, 30, .55); box-shadow: 0 0 0 4px rgba(255, 200, 30, .08); }
.mks-search input[type="search"] {
	flex: 1; min-width: 0; background: transparent !important; border: 0 !important; box-shadow: none !important;
	color: var(--mks-text) !important; font-size: 14px; padding: 8px 0 !important; outline: none;
}
.mks-search input::placeholder { color: #7d85b3; }
.mks-search select {
	background: transparent !important; border: 0 !important; border-left: 1px solid var(--mks-line) !important;
	color: var(--mks-text) !important; font-size: 13px; padding: 6px 12px !important; max-width: 170px;
	border-radius: 0 !important; cursor: pointer; height: auto !important;
}
.mks-search select option { background: var(--mks-panel); color: var(--mks-text); }
.mks-search button {
	width: 44px; height: 40px; border-radius: 999px !important; border: 0; flex: none;
	background: linear-gradient(180deg, var(--mks-gold), var(--mks-gold-2)) !important;
	color: #12152a !important; display: grid; place-items: center; cursor: pointer; padding: 0 !important;
	transition: transform .2s ease, box-shadow .2s ease;
}
.mks-search button:hover { transform: scale(1.05); box-shadow: 0 0 18px rgba(255, 200, 30, .45); }
.mks-search button svg { width: 20px; height: 20px; stroke-width: 2.4; }

.mks-actions { display: flex; align-items: center; gap: 22px; flex: none; }
.mks-action {
	display: flex; align-items: center; gap: 8px; color: var(--mks-text) !important;
	font-family: var(--mks-head); font-weight: 500; font-size: 14px; position: relative;
}
.mks-action:hover { color: var(--mks-gold) !important; }
.mks-cart-count {
	position: absolute; top: -9px; left: 13px;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
	background: var(--mks-red); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
	box-shadow: 0 0 0 2px var(--mks-bg);
}

.mks-burger {
	display: none; background: transparent !important; border: 1px solid var(--mks-line) !important;
	color: var(--mks-text) !important; border-radius: 10px !important; width: 44px; height: 44px; padding: 0 !important;
	place-items: center; cursor: pointer;
}

/* Main navigation */
.mks-nav { background: linear-gradient(180deg, #0b1130, #090d24); border-bottom: 1px solid var(--mks-line); }
.mks-menu, .mks-menu ul { list-style: none; margin: 0; padding: 0; }
.mks-menu { display: flex; justify-content: center; gap: 6px; }
.mks-menu > li { position: relative; }
.mks-menu > li > a {
	display: flex; align-items: center; gap: 6px; padding: 15px 16px;
	font-family: var(--mks-head); font-weight: 600; font-size: 13.5px; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--mks-text) !important; position: relative;
}
.mks-menu > li > a::before {
	content: ""; position: absolute; left: 16px; right: 16px; bottom: 8px; height: 2px; border-radius: 2px;
	background: var(--mks-gold); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.mks-menu > li:hover > a, .mks-menu > li.current-menu-item > a, .mks-menu > li.current-menu-ancestor > a { color: var(--mks-gold) !important; }
.mks-menu > li:hover > a::before, .mks-menu > li.current-menu-item > a::before, .mks-menu > li.current-menu-ancestor > a::before { transform: scaleX(1); }
.mks-menu > li.menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-3px); margin-left: 4px; opacity: .8;
}
.mks-menu .sub-menu {
	position: absolute; top: 100%; left: 8px; min-width: 230px; padding: 10px;
	background: var(--mks-panel); border: 1px solid var(--mks-line-strong); border-radius: 12px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .45), 0 0 30px rgba(139, 70, 255, .15);
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .2s ease; z-index: 20;
}
.mks-menu li:hover > .sub-menu, .mks-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mks-menu .sub-menu a { display: block; padding: 10px 14px; border-radius: 8px; color: var(--mks-text) !important; font-size: 14px; font-family: var(--mks-head); font-weight: 500; }
.mks-menu .sub-menu a:hover { background: rgba(255, 200, 30, .1); color: var(--mks-gold) !important; }

@media (max-width: 1100px) {
	.mks-menu > li > a { padding: 14px 10px; font-size: 12.5px; }
	.mks-menu > li > a::before { left: 10px; right: 10px; }
	.mks-action span:not(.mks-cart-count) { display: none; }
}

@media (max-width: 921px) {
	.mks-burger { display: grid; }
	.mks-header__row { flex-wrap: wrap; gap: 12px 14px; min-height: 0; padding: 10px 20px 12px; }
	.mks-logo img { width: 48px; height: 48px; }
	.mks-logo__text strong { font-size: 21px; }
	.mks-logo__text small { font-size: 9px; }
	.mks-actions { margin-left: auto; gap: 16px; }
	.mks-search { order: 5; flex-basis: 100%; max-width: none; }
	.mks-search select { display: none; }
	.mks-nav { display: none; max-height: calc(100vh - 140px); overflow-y: auto; }
	body.mks-nav-open .mks-nav { display: block; }
	.mks-menu { flex-direction: column; gap: 0; padding: 8px 0 14px; }
	.mks-menu > li > a { padding: 13px 4px; font-size: 14px; border-bottom: 1px solid var(--mks-line); }
	.mks-menu > li > a::before { display: none; }
	.mks-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; background: transparent; padding: 0 0 6px 14px; min-width: 0; }
}

/* ==========================================================================
   Buttons and shared bits
   ========================================================================== */

.mks-btn,
body.mks-site .woocommerce a.button,
body.mks-site .woocommerce button.button,
body.mks-site .woocommerce input.button,
body.mks-site .woocommerce #respond input#submit,
body.mks-site a.button,
body.mks-site button.button,
body.mks-site .wc-block-components-button:not(.is-link),
body.mks-site .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 14px 26px; border-radius: 10px; border: 0;
	background: linear-gradient(180deg, var(--mks-gold), var(--mks-gold-2));
	color: #12152a !important;
	font-family: var(--mks-head); font-weight: 700; font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.2;
	box-shadow: 0 6px 20px rgba(245, 160, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .35);
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
	cursor: pointer;
}
.mks-btn:hover,
body.mks-site .woocommerce a.button:hover,
body.mks-site .woocommerce button.button:hover,
body.mks-site a.button:hover,
body.mks-site button.button:hover,
body.mks-site .wc-block-components-button:not(.is-link):hover,
body.mks-site .wp-element-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(255, 200, 30, .4), inset 0 1px 0 rgba(255, 255, 255, .35);
	color: #12152a !important; filter: brightness(1.05);
}
.mks-btn span { font-size: 20px; line-height: 0; transition: transform .2s ease; }
.mks-btn:hover span { transform: translateX(4px); }
.mks-btn--ghost {
	background: rgba(255, 255, 255, .03); color: var(--mks-text) !important;
	border: 1px solid rgba(255, 200, 30, .55); box-shadow: none;
}
.mks-btn--ghost:hover { background: rgba(255, 200, 30, .1); color: var(--mks-gold) !important; box-shadow: 0 0 22px rgba(255, 200, 30, .2); }
.mks-btn--sm { padding: 10px 16px; font-size: 12px; }

.mks-cta { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.mks-cta--end { justify-content: flex-end; }
@media (max-width: 767px) { .mks-cta--end { justify-content: flex-start; } }

.mks-eyebrow {
	display: inline-block; padding: 7px 16px; border-radius: 999px;
	border: 1px solid rgba(255, 200, 30, .45); background: rgba(255, 200, 30, .08);
	color: var(--mks-gold); font-family: var(--mks-head); font-weight: 600; font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
}

.mks-section-title .elementor-heading-title,
h2.mks-section-title {
	font-size: clamp(24px, 3vw, 34px) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: 0.01em; line-height: 1.15 !important;
}
.mks-section-title .elementor-heading-title span { color: var(--mks-gold); }

.mks-link-more { display: inline-flex; gap: 8px; align-items: center; justify-content: flex-end; width: 100%; font-family: var(--mks-head); font-weight: 600; text-transform: uppercase; font-size: 13px; letter-spacing: .08em; }
.mks-link-more span { font-size: 20px; line-height: 0; }

body.mks-site .elementor-widget-text-editor { color: var(--mks-muted); font-size: 16px; }

/* ==========================================================================
   Home: hero
   ========================================================================== */

.mks-hero { position: relative; overflow: hidden; }
/* Show the whole hero image (3:2) on tablet and desktop: the section is as tall as the image,
   the text sits near the top in the dark middle, the lower characters appear on scroll. */
body.mks-site .mks-hero { background-position: center top !important; }
@media (min-width: 768px) {
	body.mks-site .mks-hero > .elementor-container {
		min-height: max(560px, 66.667vw) !important;
		align-items: flex-start !important;
		padding-top: clamp(56px, 6.5vw, 130px);
	}
}
@media (min-width: 768px) and (max-width: 1100px) {
	.mks-hero__title .elementor-heading-title { font-size: 5vw !important; }
	body.mks-site .mks-hero .mks-hero__lead { max-width: 46vw; }
	body.mks-site .mks-hero .mks-hero__lead p { font-size: 15px; }
}
.mks-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		radial-gradient(ellipse 46% 60% at 50% 48%, rgba(5, 7, 20, .78), rgba(5, 7, 20, 0) 70%),
		linear-gradient(180deg, rgba(7, 10, 28, .25) 0%, rgba(7, 10, 28, 0) 30%, rgba(7, 10, 28, .2) 70%, var(--mks-bg) 100%);
}
.mks-hero > .elementor-container { position: relative; z-index: 1; padding: 40px 20px 70px; }
.mks-hero__eyebrow { text-align: center; margin-bottom: 18px !important; }
.mks-hero__title .elementor-heading-title {
	font-size: clamp(40px, 6.6vw, 88px) !important; line-height: 1.02 !important; font-weight: 900 !important;
	text-transform: uppercase; letter-spacing: -0.015em; color: #fff;
	text-shadow: 0 4px 30px rgba(0, 0, 0, .6);
}
.mks-hero__title .elementor-heading-title span {
	color: var(--mks-gold);
	text-shadow: 0 0 26px rgba(255, 200, 30, .55), 0 0 60px rgba(245, 160, 0, .3), 0 4px 18px rgba(0, 0, 0, .6);
}
.mks-hero__lead { max-width: 600px; margin: 22px auto 30px !important; text-align: center; }
.mks-hero__lead p { font-size: clamp(16px, 1.6vw, 19px); color: #d4d8f5; text-shadow: 0 2px 12px rgba(0, 0, 0, .7); }
.mks-hero__lead strong { color: var(--mks-gold); }

@media (max-width: 767px) {
	.mks-hero { min-height: 0 !important; }
	.mks-hero > .elementor-container { min-height: 520px !important; padding: 50px 16px 60px; }
	.mks-hero__title .elementor-heading-title { font-size: clamp(28px, 9vw, 44px) !important; }
	body.mks-site .mks-hero { background-position: 22% center !important; }
	.mks-hero::before { background: linear-gradient(180deg, rgba(5, 7, 20, .55), rgba(5, 7, 20, .7) 60%, var(--mks-bg)); }
}

/* Trust bar */
.mks-trust { border-top: 1px solid var(--mks-line); border-bottom: 1px solid var(--mks-line); background: rgba(10, 15, 38, .85); }
.mks-trust > .elementor-container { padding: 22px 0; }
.mks-iconbox .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 14px; text-align: left !important; }
.mks-iconbox .elementor-icon-box-icon { margin: 0 !important; flex: none; }
body.mks-site .mks-iconbox .elementor-icon { color: var(--mks-gold) !important; fill: var(--mks-gold) !important; font-size: 30px !important; }
body.mks-site .mks-iconbox .elementor-icon svg { fill: var(--mks-gold) !important; width: 30px; height: 30px; }
.mks-iconbox .elementor-icon-box-title { margin: 0 0 2px !important; font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .04em; color: var(--mks-text) !important; }
.mks-iconbox .elementor-icon-box-title a { color: inherit; }
.mks-iconbox .elementor-icon-box-description { margin: 0; font-size: 13.5px; color: var(--mks-muted) !important; line-height: 1.45; }
@media (max-width: 1024px) and (min-width: 768px) {
	.mks-trust > .elementor-container { flex-wrap: wrap; }
	.mks-trust > .elementor-container > .elementor-column { width: 50% !important; }
}
@media (max-width: 767px) {
	.mks-trust > .elementor-container { flex-wrap: wrap; }
	.mks-trust > .elementor-container > .elementor-column { width: 50% !important; }
	.mks-iconbox .elementor-icon-box-wrapper { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* Section heads */
.mks-section-head > .elementor-container { padding-top: 64px; padding-bottom: 6px; align-items: flex-end; }

/* Category cards */
.mks-cats > .elementor-container { padding-bottom: 10px; }
.mks-cat-card .elementor-image-box-wrapper {
	position: relative; display: flex !important; align-items: center; gap: 14px;
	padding: 14px; border-radius: var(--mks-radius); text-align: left !important;
	background: linear-gradient(150deg, var(--mks-panel-2), var(--mks-panel) 55%, #0b1029);
	border: 1px solid var(--mks-glow, var(--mks-line-strong));
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .02) inset, 0 0 26px -6px var(--mks-glow, rgba(139, 70, 255, .5));
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	min-height: 132px;
}
.mks-cats .elementor-column:nth-child(1) { --mks-glow: rgba(59, 123, 255, .65); }
.mks-cats .elementor-column:nth-child(2) { --mks-glow: rgba(255, 200, 30, .55); }
.mks-cats .elementor-column:nth-child(3) { --mks-glow: rgba(139, 70, 255, .7); }
.mks-cats .elementor-column:nth-child(4) { --mks-glow: rgba(224, 64, 160, .65); }
.mks-cats .elementor-column:nth-child(5) { --mks-glow: rgba(232, 50, 60, .65); }
.mks-cat-card:hover .elementor-image-box-wrapper { transform: translateY(-4px); box-shadow: 0 0 0 1px rgba(255, 255, 255, .04) inset, 0 14px 40px -10px var(--mks-glow); }
.mks-cat-card .elementor-image-box-img { margin: 0 !important; flex: none; }
.mks-cat-card .elementor-image-box-img img { height: 100px; width: 100%; object-fit: contain; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .5)); transition: transform .3s ease; }
.mks-cat-card:hover .elementor-image-box-img img { transform: scale(1.06) rotate(-2deg); }
.mks-cat-card .elementor-image-box-content { flex: 1; min-width: 0; }
.mks-cat-card .elementor-image-box-title { margin: 0 0 6px !important; font-size: 15px !important; font-weight: 800 !important; text-transform: uppercase; line-height: 1.2; color: var(--mks-text) !important; }
.mks-cat-card .elementor-image-box-title a { color: inherit !important; }
.mks-cat-card .elementor-image-box-title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--mks-radius); }
.mks-cat-card .elementor-image-box-description { margin: 0; font-size: 12.5px; color: var(--mks-gold) !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 1024px) {
	.mks-cats > .elementor-container { flex-wrap: wrap; }
	.mks-cats > .elementor-container > .elementor-column { width: 33.333% !important; }
}
@media (max-width: 767px) {
	.mks-cats > .elementor-container > .elementor-column { width: 50% !important; }
	.mks-cat-card .elementor-image-box-wrapper { flex-direction: column; text-align: center !important; min-height: 0; }
	.mks-cat-card .elementor-image-box-img { width: 100% !important; }
	.mks-cat-card .elementor-image-box-img img { height: 90px; }
}

/* Why Mikasei */
.mks-why > .elementor-container { padding: 90px 0 60px; }
.mks-why .mks-section-title { margin-top: 14px; }
.mks-checklist .elementor-icon-list-item { padding: 6px 0 !important; }
.mks-checklist .elementor-icon-list-text { color: var(--mks-text) !important; font-weight: 600; }
body.mks-site .mks-checklist .elementor-icon-list-icon i { color: var(--mks-gold) !important; }
body.mks-site .mks-checklist .elementor-icon-list-icon svg { fill: var(--mks-gold) !important; }
.mks-float-img img {
	max-height: 460px; width: auto !important; object-fit: contain;
	filter: drop-shadow(0 30px 50px rgba(139, 70, 255, .35)) drop-shadow(0 0 40px rgba(59, 123, 255, .15));
	animation: mks-float 6s ease-in-out infinite;
}
@keyframes mks-float { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-14px) rotate(1deg); } }

/* B2B band */
.mks-b2b-band { margin: 20px auto 90px; max-width: 1200px; }
.mks-b2b-band > .elementor-container {
	padding: 40px 44px; border-radius: 20px;
	background:
		radial-gradient(600px 200px at 0% 0%, rgba(255, 200, 30, .14), transparent 70%),
		linear-gradient(120deg, #1b1550, #10173a 55%, #0d2350);
	border: 1px solid var(--mks-line-strong);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}
.mks-b2b-band .elementor-widget-text-editor p { margin: 0; }
@media (max-width: 767px) { .mks-b2b-band { margin: 10px 16px 60px; } .mks-b2b-band > .elementor-container { padding: 28px 22px; } }

/* ==========================================================================
   Inner pages
   ========================================================================== */

.mks-page-hero {
	background:
		radial-gradient(700px 260px at 50% 0%, rgba(139, 70, 255, .22), transparent 70%),
		radial-gradient(500px 200px at 50% 100%, rgba(255, 200, 30, .07), transparent 70%);
	border-bottom: 1px solid var(--mks-line);
}
.mks-page-hero > .elementor-container { padding: 70px 20px 46px; }
.mks-page-hero__title .elementor-heading-title { font-size: clamp(32px, 5vw, 56px) !important; font-weight: 900 !important; text-transform: uppercase; }
.mks-page-hero__lead { max-width: 680px; margin: 10px auto 0 !important; text-align: center; }
.mks-page-hero__lead p { margin: 0; font-size: 17px; }

.mks-products-section > .elementor-container { padding: 30px 0 70px; }
.mks-contact > .elementor-container, .mks-b2b-perks > .elementor-container { padding: 50px 0 20px; }
.mks-contact { padding-bottom: 70px; }
.mks-iconbox--card { margin-bottom: 14px !important; }
.mks-iconbox--card .elementor-icon-box-wrapper,
.mks-b2b-perks .mks-iconbox .elementor-icon-box-wrapper {
	padding: 18px 20px; border-radius: var(--mks-radius); background: var(--mks-panel); border: 1px solid var(--mks-line);
}
.mks-b2b-perks .mks-iconbox .elementor-icon-box-wrapper { flex-direction: column; align-items: flex-start; height: 100%; padding: 26px; }
.mks-b2b-perks .mks-iconbox .elementor-icon-box-title { font-size: 16px !important; }
.mks-steps { margin: 18px 0 0 1.2em; padding: 0; }
.mks-steps li { margin-bottom: 14px; padding-left: 6px; }
.mks-steps li::marker { color: var(--mks-gold); font-family: var(--mks-head); font-weight: 800; }

/* Form */
.mks-form-card .mks-form-wrap,
.mks-form-wrap {
	padding: 30px; border-radius: 18px; background: linear-gradient(160deg, var(--mks-panel-2), var(--mks-panel));
	border: 1px solid var(--mks-line-strong); box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}
.mks-form p { margin: 0 0 16px; }
.mks-form label { display: block; margin-bottom: 6px; font-family: var(--mks-head); font-weight: 600; font-size: 13px; color: var(--mks-text); letter-spacing: .02em; }
.mks-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 600px) { .mks-form__row { grid-template-columns: 1fr; } .mks-form-wrap { padding: 22px 18px; } }
.mks-form__consent label { display: flex; gap: 10px; align-items: flex-start; font-family: var(--mks-body); font-weight: 400; color: var(--mks-muted); }
.mks-form__consent input { margin-top: 5px; accent-color: var(--mks-gold); }
.mks-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.mks-alert { padding: 14px 18px; border-radius: 10px; margin-bottom: 20px; font-weight: 600; }
.mks-alert--ok { background: rgba(46, 204, 113, .12); border: 1px solid rgba(46, 204, 113, .45); color: #8ff0b8; }
.mks-alert--err { background: rgba(232, 50, 60, .12); border: 1px solid rgba(232, 50, 60, .45); color: #ff9aa0; }

body.mks-site input[type="text"], body.mks-site input[type="email"], body.mks-site input[type="tel"],
body.mks-site input[type="password"], body.mks-site input[type="number"], body.mks-site input[type="search"],
body.mks-site input[type="url"], body.mks-site select, body.mks-site textarea,
body.mks-site .select2-container--default .select2-selection--single,
body.mks-site .wc-block-components-text-input input,
body.mks-site .wc-block-components-combobox .components-combobox-control__input,
body.mks-site .wc-blocks-components-select__select {
	background: #0b1029 !important; border: 1px solid var(--mks-line) !important; color: var(--mks-text) !important;
	border-radius: 10px !important; box-shadow: none !important;
}
body.mks-site input:focus, body.mks-site select:focus, body.mks-site textarea:focus {
	border-color: rgba(255, 200, 30, .6) !important; outline: none; box-shadow: 0 0 0 3px rgba(255, 200, 30, .12) !important;
}
body.mks-site .mks-form input:not([type="checkbox"]), body.mks-site .mks-form select, body.mks-site .mks-form textarea { width: 100%; padding: 12px 14px !important; font-size: 15px; }
body.mks-site .mks-form select { height: auto !important; min-height: 50px; line-height: 1.4 !important; }

/* Empty product lists: friendly note, and hide the home block until products are published */
.mks-empty { padding: 30px; text-align: center; border: 1px dashed var(--mks-line-strong); border-radius: var(--mks-radius); color: var(--mks-muted); }
body.mks-site:has(.mks-home-new .mks-empty) .mks-home-new { display: none; }
body.mks-site .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--mks-text); }
body.mks-site .wc-block-components-text-input label, body.mks-site .wc-block-components-combobox label { color: var(--mks-muted) !important; }

/* Legal pages */
.mks-legal { max-width: 860px; margin: 0 auto; padding: 0 20px; }
.mks-legal h2 { font-size: 20px !important; margin: 36px 0 12px; padding-top: 18px; border-top: 1px solid var(--mks-line); text-transform: uppercase; letter-spacing: .02em; }
.mks-legal h2:first-of-type { border-top: 0; }
.mks-legal ul, .mks-legal ol { margin-left: 1.3em; }
.mks-legal li { margin-bottom: 8px; }
.mks-legal li::marker { color: var(--mks-gold); }
.mks-legal .mks-lead { font-size: 19px; color: var(--mks-text); text-align: center; }
.mks-legal-note { padding: 14px 18px; border-radius: 10px; border: 1px dashed rgba(255, 200, 30, .5); background: rgba(255, 200, 30, .06); color: var(--mks-text); font-size: 14px; }
mark.mks-todo { background: rgba(255, 200, 30, .2); color: var(--mks-gold); padding: 1px 5px; border-radius: 4px; }

/* ==========================================================================
   WooCommerce
   ========================================================================== */

body.mks-site .woocommerce-breadcrumb, body.mks-site .ast-breadcrumbs, body.mks-site .woocommerce-result-count { color: var(--mks-muted) !important; font-size: 13px; }
body.mks-site .woocommerce-products-header__title, body.mks-site .ast-archive-title { text-transform: uppercase; font-weight: 900; }
body.mks-site .term-description { color: var(--mks-muted); }

body.mks-site ul.products li.product,
body.mks-site .wc-block-grid__product {
	background: linear-gradient(165deg, var(--mks-panel-2), var(--mks-panel) 60%);
	border: 1px solid var(--mks-line); border-radius: var(--mks-radius);
	padding: 14px 14px 18px !important; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
body.mks-site ul.products li.product:hover {
	transform: translateY(-4px); border-color: rgba(255, 200, 30, .45);
	box-shadow: 0 16px 40px -14px rgba(255, 200, 30, .35);
}
body.mks-site ul.products li.product img {
	background: radial-gradient(circle at 50% 40%, rgba(139, 70, 255, .25), transparent 70%);
	border-radius: 10px; aspect-ratio: 1 / 1; object-fit: contain; padding: 8px;
}
body.mks-site ul.products li.product .woocommerce-loop-product__title,
body.mks-site ul.products li.product .woocommerce-loop-product__link h2 {
	color: var(--mks-text) !important; font-family: var(--mks-head); font-weight: 700; font-size: 15px !important; line-height: 1.3;
}
body.mks-site ul.products li.product .ast-woo-product-category { color: var(--mks-muted); text-transform: uppercase; font-size: 11px; letter-spacing: .1em; }
body.mks-site .woocommerce .price, body.mks-site .price, body.mks-site .woocommerce-Price-amount { color: var(--mks-gold) !important; font-family: var(--mks-head); font-weight: 700; }
body.mks-site .price del { opacity: .55; color: var(--mks-muted) !important; }
body.mks-site span.onsale, body.mks-site .ast-onsale-card {
	background: var(--mks-red) !important; color: #fff !important; border-radius: 999px; font-family: var(--mks-head); font-weight: 700; min-height: 0; line-height: 1; padding: 7px 10px;
}
body.mks-site ul.products li.product .button { width: 100%; margin-top: 10px; padding: 12px 14px; font-size: 12.5px; }

body.mks-site .woocommerce-ordering select, body.mks-site .orderby { padding: 8px 12px !important; }
body.mks-site nav.woocommerce-pagination ul { border: 0 !important; }
body.mks-site nav.woocommerce-pagination ul li { border: 0 !important; }
body.mks-site nav.woocommerce-pagination ul li a, body.mks-site nav.woocommerce-pagination ul li span {
	background: var(--mks-panel) !important; color: var(--mks-text) !important; border: 1px solid var(--mks-line) !important; border-radius: 8px; margin: 0 3px; min-width: 40px; padding: 10px !important;
}
body.mks-site nav.woocommerce-pagination ul li span.current { background: var(--mks-gold) !important; color: #12152a !important; }

/* Single product */
body.mks-site div.product .product_title { font-size: clamp(26px, 3vw, 38px); font-weight: 800; }
body.mks-site div.product .woocommerce-product-gallery {
	background: radial-gradient(circle at 50% 40%, rgba(139, 70, 255, .22), transparent 70%), var(--mks-panel);
	border: 1px solid var(--mks-line); border-radius: 18px; padding: 20px;
}
body.mks-site div.product p.price { font-size: 28px; }
body.mks-site div.product .woocommerce-product-details__short-description { color: var(--mks-muted); }
body.mks-site .quantity .qty { background: #0b1029; color: var(--mks-text); border: 1px solid var(--mks-line); border-radius: 10px; }
body.mks-site .woocommerce-tabs ul.tabs li a { color: var(--mks-muted) !important; }
body.mks-site .woocommerce-tabs ul.tabs li.active a { color: var(--mks-gold) !important; }
body.mks-site .woocommerce-tabs ul.tabs::before, body.mks-site .woocommerce-tabs ul.tabs li { border-color: var(--mks-line) !important; background: transparent !important; }
body.mks-site .product_meta { color: var(--mks-muted); font-size: 14px; border-top: 1px solid var(--mks-line); padding-top: 14px; }

/* Notices, tables, account */
body.mks-site .woocommerce-message, body.mks-site .woocommerce-info, body.mks-site .woocommerce-error,
body.mks-site .wc-block-components-notice-banner {
	background: var(--mks-panel) !important; color: var(--mks-text) !important; border: 1px solid var(--mks-line) !important; border-top: 3px solid var(--mks-gold) !important; border-radius: 10px;
}
body.mks-site .woocommerce-error { border-top-color: var(--mks-red) !important; }
body.mks-site table.shop_table, body.mks-site .woocommerce table.shop_table td, body.mks-site .woocommerce table.shop_table th { border-color: var(--mks-line) !important; color: var(--mks-text); background: transparent; }
body.mks-site .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--mks-line); border-radius: 12px; overflow: hidden; }
body.mks-site .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; color: var(--mks-text); border-bottom: 1px solid var(--mks-line); }
body.mks-site .woocommerce-MyAccount-navigation li.is-active a { background: rgba(255, 200, 30, .1); color: var(--mks-gold); }
body.mks-site .woocommerce form.login, body.mks-site .woocommerce form.register, body.mks-site .woocommerce form.checkout_coupon {
	background: var(--mks-panel); border: 1px solid var(--mks-line) !important; border-radius: 14px;
}
body.mks-site .wc-block-cart, body.mks-site .wc-block-checkout, body.mks-site .wp-block-woocommerce-cart, body.mks-site .wp-block-woocommerce-checkout { color: var(--mks-text); }
body.mks-site .wc-block-components-totals-wrapper, body.mks-site .wc-block-components-sidebar .wc-block-components-panel,
body.mks-site .wc-block-cart-items, body.mks-site .wc-block-cart-items td, body.mks-site .wc-block-cart-items th { border-color: var(--mks-line) !important; }
body.mks-site .wc-block-components-product-name { color: var(--mks-text) !important; }
body.mks-site .wc-block-components-radio-control__option, body.mks-site .wc-block-components-radio-control-accordion-option { border-color: var(--mks-line) !important; }

/* ==========================================================================
   Footer
   ========================================================================== */

.mks-footer { position: relative; background: #050716; border-top: 1px solid var(--mks-line); margin-top: 0; }
.mks-footer::before {
	content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--mks-purple), var(--mks-gold), var(--mks-blue), transparent); opacity: .8;
}
.mks-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr 1fr; gap: 40px; padding-top: 64px; padding-bottom: 46px; }
.mks-footer__brand p { margin-top: 18px; font-size: 14.5px; max-width: 340px; }
.mks-logo--footer img { width: 56px; height: 56px; }
.mks-footer h4 { font-size: 13px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mks-gold) !important; margin: 6px 0 18px; }
.mks-footer__links { list-style: none; margin: 0; padding: 0; }
.mks-footer__links li { margin: 0 0 10px; }
.mks-footer__links a { color: var(--mks-muted) !important; font-size: 14.5px; transition: color .2s ease, padding .2s ease; }
.mks-footer__links a:hover { color: var(--mks-gold) !important; padding-left: 4px; }
.mks-footer__contact li { display: flex; align-items: center; gap: 10px; word-break: break-all; }
.mks-footer__contact svg { width: 18px; height: 18px; fill: none; stroke: var(--mks-gold); stroke-width: 1.8; flex: none; }
.mks-footer__contact .mks-btn { color: var(--mks-text) !important; margin-top: 6px; }
.mks-footer__contact .mks-btn:hover { padding-left: 16px; color: var(--mks-gold) !important; }
.mks-footer__bottom { border-top: 1px solid var(--mks-line); padding: 22px 0 26px; font-size: 13px; }
.mks-footer__bottom .mks-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 30px; }
.mks-footer__bottom p { margin: 0; }
.mks-footer__tm { max-width: 720px; opacity: .7; font-size: 12px; }
@media (max-width: 921px) { .mks-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; } }
@media (max-width: 560px) { .mks-footer__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Reveal on scroll (only when JS runs and motion is welcome)
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
	html.mks-js body.mks-site:not(.elementor-editor-active) .mks-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
	html.mks-js body.mks-site:not(.elementor-editor-active) .mks-reveal.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.mks-float-img img { animation: none; }
	* { scroll-behavior: auto !important; }
}

/* Hide Astra's scroll-to-top button colors mismatch */
body.mks-site #ast-scroll-top { background: var(--mks-gold); color: #12152a; }
