/* ==========================================================================
   MANGA & — Design System & Main Stylesheet
   Mobile-first, RTL/LTR Logical Properties, Lightweight & Fast
   ========================================================================== */

:root {
	--ma-font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--ma-font-arabic: 'Readex Pro', 'Plus Jakarta Sans', system-ui, sans-serif;
	--ma-ink: #0f141a;
	--ma-red: #c91f28;
	--ma-red-hover: #aa171f;
	--ma-red-subtle: #fff1f2;
	--ma-paper: #faf9f6;
	--ma-card-bg: #ffffff;
	--ma-line: #e6e3df;
	--ma-line-subtle: #f0ece7;
	--ma-muted: #5e646a;
	--ma-muted-light: #8e959d;
	--ma-width: 1280px;
	--ma-radius: 6px;
	--ma-radius-pill: 9999px;
	--ma-shadow-sm: 0 1px 3px rgba(15, 20, 26, 0.05), 0 1px 2px rgba(15, 20, 26, 0.03);
	--ma-shadow-md: 0 4px 14px rgba(15, 20, 26, 0.07), 0 1px 4px rgba(15, 20, 26, 0.03);
	--ma-shadow-hover: 0 8px 24px rgba(15, 20, 26, 0.1), 0 2px 6px rgba(15, 20, 26, 0.04);
}

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--ma-paper);
	color: var(--ma-ink);
	font-family: var(--ma-font-sans);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html[lang^="ar"] body, body.rtl {
	font-family: var(--ma-font-arabic);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

button, input, select, textarea {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

a:hover {
	color: var(--ma-red);
}

:focus-visible {
	outline: 2px solid var(--ma-red);
	outline-offset: 3px;
}

button {
	cursor: pointer;
	border: 0;
	background: transparent;
}

.screen-reader-text {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	overflow: hidden;
	white-space: nowrap;
}

.ma-icon {
	display: inline-block;
	vertical-align: middle;
	flex-shrink: 0;
}

/* ==========================================================================
   Layout Containers & Common Components
   ========================================================================== */

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

.ma-main {
	padding-block: 32px 80px;
	min-height: 55vh;
}

.ma-skip-link {
	position: absolute;
	inset-inline-start: 12px;
	top: -100px;
	z-index: 1000;
	padding: 10px 16px;
	background: #fff;
	border: 1px solid var(--ma-ink);
	font-weight: 700;
	transition: top 0.2s ease;
}

.ma-skip-link:focus {
	top: 12px;
}

/* Buttons */
.ma-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 10px 22px;
	border: 1px solid var(--ma-ink);
	border-radius: var(--ma-radius);
	background: var(--ma-ink);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ma-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--ma-red);
	border-color: var(--ma-red);
	color: #fff;
}

.ma-button--primary {
	background: var(--ma-red);
	border-color: var(--ma-red);
}

.ma-button--primary:hover {
	background: var(--ma-red-hover);
	border-color: var(--ma-red-hover);
}

.ma-button--outline {
	background: transparent;
	color: var(--ma-ink);
	border-color: var(--ma-line);
}

.ma-button--outline:hover {
	background: var(--ma-card-bg);
	border-color: var(--ma-red);
	color: var(--ma-red);
}

.ma-button--sm {
	min-height: 38px;
	padding: 6px 14px;
	font-size: 13px;
}

/* Badges */
.ma-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.ma-badge--lang {
	background: #fff;
	color: var(--ma-ink);
	border: 1px solid var(--ma-line);
	box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.ma-badge--sale {
	background: #e6f7ec;
	color: #107e3e;
	border: 1px solid #b8e6c8;
}

.ma-badge--out {
	background: #fdf2f2;
	color: #b8232c;
	border: 1px solid #f6caca;
}

.ma-badge--series-count {
	background: rgba(15, 20, 26, 0.85);
	color: #fff;
	backdrop-filter: blur(4px);
}

/* ==========================================================================
   Site Header & Navigation
   ========================================================================== */

.ma-site-header {
	background: #fff;
	border-bottom: 1px solid var(--ma-line);
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
}

.ma-header-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 76px;
}

.ma-brand-logo-link {
	display: inline-flex !important;
	align-items: center !important;
	text-decoration: none !important;
	flex-shrink: 0 !important;
	width: 140px !important;
	max-width: 140px !important;
	height: 52px !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.ma-brand-logo-img,
img.ma-brand-logo-img {
	width: 140px !important;
	max-width: 140px !important;
	height: auto !important;
	max-height: 50px !important;
	object-fit: contain !important;
	display: block !important;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.ma-brand-logo-link:hover .ma-brand-logo-img {
	transform: scale(1.02);
}

.ma-footer-brand {
	display: inline-flex !important;
	align-items: center !important;
	text-decoration: none !important;
	width: 130px !important;
	max-width: 130px !important;
	height: 48px !important;
	overflow: hidden !important;
	margin-bottom: 12px;
}

.ma-footer-logo-img,
img.ma-footer-logo-img {
	width: 130px !important;
	max-width: 130px !important;
	height: auto !important;
	max-height: 48px !important;
	object-fit: contain !important;
	display: block !important;
}

.ma-wordmark {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	white-space: nowrap;
	font-size: 27px;
	font-weight: 900;
	letter-spacing: -0.06em;
	text-decoration: none;
	line-height: 1;
	color: var(--ma-ink);
}

.ma-wordmark em {
	color: var(--ma-red);
	font-style: normal;
	font-size: 1.15em;
}

.ma-menu-toggle {
	display: none;
	padding: 8px 12px;
	min-height: 44px;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	font-weight: 700;
	font-size: 13px;
}

.ma-primary-nav {
	flex: 1;
}

.ma-nav-list {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ma-nav-list a {
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	color: var(--ma-ink);
	padding-block: 4px;
}

.ma-nav-list a:hover {
	color: var(--ma-red);
}

/* Search bar */
.ma-header-search {
	display: flex;
	align-items: center;
	width: min(280px, 24vw);
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius-pill);
	background: var(--ma-paper);
	padding-inline: 12px 6px;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.ma-header-search:focus-within {
	border-color: var(--ma-red);
	background: #fff;
}

.ma-header-search input {
	min-width: 0;
	width: 100%;
	border: 0;
	background: transparent;
	padding: 8px 0;
	font-size: 13px;
	outline: none;
}

.ma-header-search button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	color: var(--ma-muted);
}

.ma-header-search button:hover {
	color: var(--ma-red);
}

/* Header Action Links */
.ma-header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ma-action-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	color: var(--ma-ink);
	padding: 6px 8px;
	border-radius: var(--ma-radius);
	position: relative;
	transition: color 0.15s ease, background 0.15s ease;
}

.ma-action-link:hover {
	color: var(--ma-red);
	background: var(--ma-paper);
}

.ma-cart-badge {
	display: none;
	align-items: center;
	justify-content: center;
	background: var(--ma-red);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: var(--ma-radius-pill);
	line-height: 1;
}

.ma-cart-badge.is-visible {
	display: inline-flex;
}

/* Language Switcher */
.ma-lang-switch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 12px;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius-pill);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	color: var(--ma-ink);
	background: #fff;
	white-space: nowrap;
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.ma-lang-switch:hover {
	border-color: var(--ma-red);
	color: var(--ma-red);
	background: var(--ma-red-subtle);
}

.ma-nav-lang {
	display: none;
}

.ma-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ma-red);
	font-size: 12px;
	font-weight: 800;
	margin: 0 0 12px;
}

.ma-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* ==========================================================================
   Trust Strip
   ========================================================================== */

.ma-trust-strip {
	background: #fff;
	border-block: 1px solid var(--ma-line);
	padding-block: 28px;
	margin-block-end: 48px;
}

.ma-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.ma-trust-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.ma-trust-item__icon {
	color: var(--ma-red);
	display: inline-flex;
	padding: 10px;
	background: var(--ma-red-subtle);
	border-radius: var(--ma-radius);
	flex-shrink: 0;
}

.ma-trust-item__text strong {
	display: block;
	font-size: 14px;
	margin-bottom: 3px;
	color: var(--ma-ink);
}

.ma-trust-item__text p {
	margin: 0;
	font-size: 12px;
	color: var(--ma-muted);
	line-height: 1.4;
}

/* ==========================================================================
   Category Feature Cards
   ========================================================================== */

.ma-category-banner {
	margin-block-end: 54px;
}

.ma-category-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ma-cat-card {
	background: #fff;
	border: 2px solid var(--ma-ink);
	border-radius: var(--ma-radius);
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 180px;
	transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.18s ease, box-shadow 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
	position: relative;
	overflow: hidden;
	box-shadow: 4px 4px 0px var(--ma-ink);
}

.ma-cat-card::before {
	content: '';
	position: absolute;
	top: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 4px;
	background: var(--ma-ink);
	transition: background 0.18s ease;
	z-index: 2;
}

.ma-cat-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, rgba(17, 17, 17, 0.08) 1.2px, transparent 1.2px);
	background-size: 7px 7px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
	z-index: 1;
}

.ma-cat-card:hover,
.ma-cat-card:focus-within {
	transform: translate(-3px, -3px);
	border-color: var(--ma-red);
	box-shadow: 7px 7px 0px var(--ma-red);
}

.ma-cat-card:hover::before,
.ma-cat-card:focus-within::before {
	background: var(--ma-red);
}

.ma-cat-card:hover::after,
.ma-cat-card:focus-within::after {
	opacity: 1;
}

.ma-cat-card__tag {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ma-muted);
	font-weight: 700;
	display: block;
	margin-bottom: 6px;
}

.ma-cat-card__title {
	font-size: 22px;
	margin: 0 0 8px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.ma-cat-card__desc {
	margin: 0;
	font-size: 13px;
	color: var(--ma-muted);
	line-height: 1.45;
}

.ma-cat-card__cta {
	margin-top: 18px;
	font-size: 13px;
	font-weight: 800;
	color: var(--ma-ink);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.ma-cat-card:hover .ma-cat-card__cta {
	color: var(--ma-red);
}

/* ==========================================================================
   Product & Series Cards Grid
   ========================================================================== */

.ma-section {
	margin-block: 54px 72px;
}

.ma-section--alt {
	background: #fff;
	border-block: 1px solid var(--ma-line);
	padding-block: 54px 72px;
}

.ma-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.ma-section__head h2, .ma-page-head h1 {
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.15;
	letter-spacing: -0.03em;
	margin: 0;
	font-weight: 800;
}

.ma-section__link {
	font-size: 14px;
	font-weight: 800;
	color: var(--ma-ink);
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.ma-section__link:hover {
	color: var(--ma-red);
}

.ma-grid,
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products::before, .woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	float: none;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
}

/* Product Card Component */
.ma-card {
	min-width: 0;
	background: var(--ma-card-bg);
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ma-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--ma-shadow-hover);
	border-color: #d8d4ce;
}

.ma-card__media {
	position: relative;
	background: var(--ma-paper);
	aspect-ratio: 2/3;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ma-card__image {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.ma-card__image img,
.woocommerce ul.products li.product a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
	transition: transform 0.22s ease;
}

.ma-card:hover .ma-card__image img {
	transform: scale(1.03);
}

/* Stylized placeholder artwork */
.ma-card__placeholder-art {
	width: 100%;
	height: 100%;
	background: linear-gradient(145deg, #f5f3ef, #edeae3);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border: 1px dashed var(--ma-line);
}

.ma-card__placeholder-spine {
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	bottom: 0;
	width: 8px;
	background: repeating-linear-gradient(0deg, var(--ma-red), var(--ma-red) 6px, #fff 6px, #fff 12px);
	opacity: 0.8;
}

.ma-card__placeholder-content {
	text-align: center;
	padding: 16px;
}

.ma-card__placeholder-logo {
	display: block;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -0.05em;
	color: var(--ma-ink);
}

.ma-card__placeholder-logo em {
	color: var(--ma-red);
	font-style: normal;
}

.ma-card__placeholder-vol {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--ma-muted);
	margin-top: 6px;
}

.ma-card__placeholder-dots {
	display: block;
	letter-spacing: 4px;
	color: var(--ma-muted-light);
	font-size: 16px;
	margin-top: 8px;
}

/* Badges overlay */
.ma-card__badges {
	position: absolute;
	top: 10px;
	inset-inline-start: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 2;
	pointer-events: none;
}

.ma-card__quick-wishlist {
	position: absolute;
	top: 10px;
	inset-inline-end: 10px;
	z-index: 2;
}

.ma-card__body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.ma-card__title {
	font-size: 15px;
	line-height: 1.35;
	margin: 0 0 6px;
	font-weight: 700;
}

.ma-card__title a {
	color: var(--ma-ink);
}

.ma-card__title a:hover {
	color: var(--ma-red);
}

.ma-card__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
	margin-bottom: 12px;
}

.ma-card__meta {
	font-size: 12px;
	color: var(--ma-muted);
	font-weight: 600;
}

.ma-card__price {
	font-size: 15px;
	font-weight: 800;
	color: var(--ma-ink);
	margin: 0;
}

.ma-card__actions {
	margin-top: 4px;
}

.ma-card__add-to-cart, .ma-card__view-btn {
	width: 100%;
}

.ma-card.is-out-of-stock .ma-card__image img {
	filter: grayscale(80%);
	opacity: 0.7;
}

/* ==========================================================================
   Bilingual Callout Section
   ========================================================================== */

.ma-bilingual-callout {
	margin-block: 54px;
}

.ma-callout-inner {
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: clamp(28px, 4vw, 48px);
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 36px;
	align-items: center;
	box-shadow: var(--ma-shadow-sm);
}

.ma-callout-copy h2 {
	font-size: clamp(24px, 3vw, 36px);
	letter-spacing: -0.03em;
	margin: 0 0 14px;
	font-weight: 800;
}

.ma-callout-copy p {
	color: var(--ma-muted);
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

.ma-callout-badges {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ma-badge-sample {
	background: var(--ma-paper);
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.ma-badge-sample__desc {
	font-size: 13px;
	color: var(--ma-muted);
	font-weight: 600;
}

/* ==========================================================================
   Single Product Showcase
   ========================================================================== */

.ma-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--ma-muted);
	font-size: 13px;
	margin-bottom: 24px;
}

.ma-breadcrumb__sep {
	color: var(--ma-line);
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(300px, 460px) minmax(340px, 1fr);
	gap: 56px;
	align-items: start;
	margin-bottom: 72px;
	position: relative;
}

/* Force float reset for WooCommerce single product layout */
.woocommerce div.product div.images.woocommerce-product-gallery,
.woocommerce-page div.product div.images.woocommerce-product-gallery,
.woocommerce #content div.product div.images,
.woocommerce div.product div.images {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	opacity: 1 !important;
}

.woocommerce div.product div.summary.entry-summary,
.woocommerce-page div.product div.summary.entry-summary,
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	clear: none !important;
}

/* All full-width sections below product summary */
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .ma-other-editions,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	clear: both !important;
}

/* Custom Manga Single Cover Art Placeholder */
.ma-single-placeholder-wrap {
	border-radius: var(--ma-radius-lg);
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(15, 20, 26, 0.1);
	border: 1px solid var(--ma-line);
	background: #0f141a;
}

.ma-single-cover-art {
	aspect-ratio: 3 / 4;
	min-height: 480px;
	display: flex;
	position: relative;
	background: radial-gradient(circle at 50% 25%, #242e3a 0%, #0d1217 100%);
	color: #fff;
	overflow: hidden;
}

.ma-single-cover-art__spine {
	width: 24px;
	background: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(255,255,255,0.08) 50%, rgba(0,0,0,0.4) 100%);
	border-inline-end: 1px solid rgba(255,255,255,0.12);
	flex-shrink: 0;
}

.ma-single-cover-art__inner {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 40px 28px;
	position: relative;
	z-index: 1;
}

.ma-single-cover-art__logo,
.woocommerce div.product div.images img.ma-single-cover-art__logo,
img.ma-single-cover-art__logo {
	width: 150px !important;
	max-width: 150px !important;
	height: auto !important;
	max-height: 75px !important;
	margin: 0 auto 24px !important;
	filter: brightness(0) invert(1);
	opacity: 0.95;
	display: block !important;
}

.ma-single-cover-art__series {
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #ffffff;
	margin: 0 0 14px;
	line-height: 1.25;
	max-width: 90%;
}

.ma-single-cover-art__vol {
	display: inline-block;
	font-size: 16px;
	font-weight: 800;
	color: #fff;
	background: var(--ma-red);
	padding: 5px 18px;
	border-radius: 999px;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 12px rgba(201, 31, 40, 0.4);
	margin-bottom: 20px;
}

.ma-single-cover-art__dots {
	font-size: 18px;
	letter-spacing: 0.3em;
	color: rgba(255,255,255,0.25);
	margin-bottom: 16px;
}

.ma-single-cover-art__tag {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255,255,255,0.5);
	font-weight: 700;
}

.woocommerce div.product .product_title {
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin: 0 0 16px;
	color: var(--ma-ink);
}

.woocommerce div.product p.price {
	font-size: 30px;
	font-weight: 800;
	color: var(--ma-ink);
	margin: 0 0 18px;
	line-height: 1;
}

.woocommerce div.product p.stock {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 20px;
}

.woocommerce div.product p.stock.in-stock {
	color: #0d8244;
}

/* Edition Selector Pills */
.ma-edition-switch {
	border: 1px solid var(--ma-line);
	background: #fff;
	border-radius: var(--ma-radius);
	padding: 20px;
	margin-block: 22px;
}

.ma-edition-switch__title {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ma-muted);
	margin: 0 0 14px;
	font-weight: 800;
}

.ma-edition-switch__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

.ma-edition-pill {
	display: block;
	border: 2px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: 12px 14px;
	background: #fff;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.ma-edition-pill:hover {
	border-color: var(--ma-muted-light);
	background: var(--ma-paper);
}

.ma-edition-pill.is-active {
	border-color: var(--ma-red);
	background: var(--ma-red-subtle);
}

.ma-edition-pill__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}

.ma-edition-pill__lang {
	font-size: 14px;
	font-weight: 700;
	color: var(--ma-ink);
}

.ma-edition-pill__current-badge {
	font-size: 10px;
	font-weight: 800;
	background: var(--ma-red);
	color: #fff;
	padding: 2px 6px;
	border-radius: 2px;
	text-transform: uppercase;
}

.ma-edition-pill__price {
	font-size: 14px;
	font-weight: 800;
	color: var(--ma-ink);
}

.ma-edition-pill__stock {
	font-size: 11px;
	color: #b8232c;
	margin-inline-start: 8px;
}

/* Product Facts Card */
.ma-edition-facts {
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: 16px 20px;
	margin-block: 22px;
	display: grid;
	gap: 10px;
}

.ma-fact-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	border-bottom: 1px dashed var(--ma-line-subtle);
	padding-bottom: 8px;
	font-size: 13.5px;
}

.ma-fact-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ma-fact-row__label {
	color: var(--ma-muted);
	font-weight: 600;
}

.ma-fact-row__val {
	font-weight: 700;
	color: var(--ma-ink);
	text-align: end;
}

/* Product Delivery Assurance Note */
.ma-product-assurance {
	background: var(--ma-paper);
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: 14px 18px;
	margin-block: 20px;
	display: grid;
	gap: 8px;
}

.ma-assurance-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ma-ink);
}

.ma-assurance-icon {
	color: var(--ma-red);
	display: inline-flex;
}

/* Single Add to Cart Form & Actions */
.woocommerce div.product form.cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-block: 24px;
}

.woocommerce div.product form.cart .quantity {
	display: inline-flex;
}

.woocommerce div.product form.cart .quantity .qty {
	width: 68px;
	height: 50px;
	text-align: center;
	border: 2px solid var(--ma-line);
	border-radius: var(--ma-radius);
	font-size: 16px;
	font-weight: 800;
	color: var(--ma-ink);
	background: #fff;
	padding: 0 8px;
}

.woocommerce div.product form.cart .quantity .qty:focus {
	border-color: var(--ma-ink);
	outline: none;
}

.woocommerce div.product form.cart button.single_add_to_cart_button.button,
.woocommerce div.product form.cart .button {
	height: 50px;
	padding: 0 36px;
	background: var(--ma-ink) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--ma-radius) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.1s ease !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--ma-shadow-sm);
}

.woocommerce div.product form.cart button.single_add_to_cart_button.button:hover,
.woocommerce div.product form.cart .button:hover {
	background: var(--ma-red) !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button.button:active,
.woocommerce div.product form.cart .button:active {
	transform: scale(0.98);
}

/* Wishlist Button on Single Page */
.woocommerce div.product .ma-wishlist-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	color: var(--ma-ink);
	cursor: pointer;
	margin-block: 8px 18px;
	transition: all 0.15s ease;
}

.woocommerce div.product .ma-wishlist-button:hover {
	border-color: var(--ma-red);
	color: var(--ma-red);
	background: #fff7f7;
}

/* Product Meta (SKU, Categories) */
.woocommerce div.product .product_meta {
	border-top: 1px solid var(--ma-line);
	padding-top: 20px;
	margin-top: 20px;
	font-size: 13px;
	color: var(--ma-muted);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.woocommerce div.product .product_meta a {
	color: var(--ma-ink);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce div.product .product_meta a:hover {
	color: var(--ma-red);
}

/* Tabs (Description, Reviews) */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 48px;
	border-top: 1px solid var(--ma-line);
	padding-top: 36px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 12px;
	border-bottom: 2px solid var(--ma-line) !important;
	padding: 0 !important;
	margin: 0 0 28px !important;
	list-style: none !important;
	background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 20px;
	font-weight: 800;
	font-size: 15px;
	color: var(--ma-muted) !important;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--ma-ink) !important;
	border-bottom-color: var(--ma-red) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	line-height: 1.7;
	color: var(--ma-ink-light);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 16px;
	color: var(--ma-ink);
}

/* Other Editions / More from this series section */
.ma-other-editions {
	margin-top: 56px;
	padding-top: 48px;
	border-top: 1px solid var(--ma-line);
}

/* Single Series Page */
.ma-series-intro {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: clamp(24px, 4vw, 44px);
	margin-bottom: 48px;
}

.ma-series-intro__cover {
	aspect-ratio: 2/3;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	overflow: hidden;
}

.ma-series-title {
	font-size: clamp(32px, 4vw, 54px);
	letter-spacing: -0.03em;
	margin: 0 0 16px;
	font-weight: 800;
}

.ma-series-copy {
	font-size: 16px;
	color: var(--ma-muted);
	line-height: 1.6;
	margin-bottom: 24px;
}

.ma-series-facts {
	display: grid;
	gap: 10px;
	max-width: 440px;
}

/* ==========================================================================
   Shop & Catalog Filters
   ========================================================================== */

.ma-filter-wrapper {
	margin-bottom: 32px;
}

.ma-filters {
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	background: #fff;
	padding: 16px 20px;
}

.ma-filters__summary {
	cursor: pointer;
	font-weight: 800;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	user-select: none;
}

.ma-filters__summary-left {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.ma-filters__badge {
	background: var(--ma-red);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	padding: 2px 7px;
	border-radius: var(--ma-radius-pill);
}

.ma-filters__summary-toggle {
	font-size: 12px;
	color: var(--ma-muted);
	font-weight: 600;
}

.ma-filters__form {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	padding-top: 20px;
	border-top: 1px solid var(--ma-line-subtle);
	margin-top: 16px;
}

.ma-field-label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
}

.ma-select, .ma-input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	background: #fff;
	padding: 8px 12px;
	font-size: 14px;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ma-select:focus, .ma-input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--ma-red);
	box-shadow: 0 0 0 3px var(--ma-red-subtle);
}

.ma-filters__check {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	grid-column: 1 / -1;
	cursor: pointer;
}

.ma-filters__check input {
	width: 18px;
	height: 18px;
	accent-color: var(--ma-red);
}

.ma-filters__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	grid-column: 1 / -1;
	margin-top: 4px;
}

/* Active Chips */
.ma-active-chips {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px;
	padding-inline: 4px;
}

.ma-active-chips__title {
	font-size: 13px;
	font-weight: 700;
	color: var(--ma-muted);
}

.ma-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius-pill);
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ma-ink);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.ma-chip:hover {
	border-color: var(--ma-red);
	color: var(--ma-red);
}

.ma-chip__remove {
	color: var(--ma-muted);
	font-size: 14px;
	font-weight: 900;
}

.ma-chip-clear-all {
	font-size: 12px;
	font-weight: 700;
	color: var(--ma-red);
	text-decoration: underline;
	margin-inline-start: 6px;
}

/* ==========================================================================
   Cart & Checkout Pages
   ========================================================================== */

.woocommerce table.shop_table {
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	background: #fff;
	overflow: hidden;
}

.woocommerce table.shop_table th {
	background: var(--ma-paper);
	padding: 14px 16px;
	font-weight: 800;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.woocommerce table.shop_table td {
	padding: 16px;
	border-top: 1px solid var(--ma-line-subtle);
}

.ma-cart-edition {
	display: block;
	font-weight: 600;
	color: var(--ma-muted);
	font-size: 12px;
	margin-top: 4px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: 24px;
}

.woocommerce-checkout #customer_details {
	margin-bottom: 32px;
}

.woocommerce-checkout .woocommerce-checkout-review-order {
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: var(--ma-radius);
	padding: 24px;
}

.woocommerce-checkout #payment {
	background: transparent;
	border: 0;
	padding: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--ma-line);
	padding-bottom: 18px;
}

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

.ma-site-footer {
	position: relative;
	background-color: #0b0c10;
	background-image: 
		radial-gradient(circle at 8% 18%, rgba(201, 31, 40, 0.09) 0%, transparent 45%),
		radial-gradient(circle at 92% 75%, rgba(201, 31, 40, 0.06) 0%, transparent 50%),
		url('../img/manga-footer-pattern.svg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding-block: 68px 30px;
	margin-top: auto;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 -12px 35px rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

.ma-site-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--ma-red) 20%, rgba(255, 255, 255, 0.5) 50%, var(--ma-red) 80%, transparent);
	opacity: 0.85;
	pointer-events: none;
}

.ma-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1.2fr 1.5fr;
	gap: clamp(24px, 4vw, 48px);
	position: relative;
	z-index: 1;
}

.ma-footer-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.ma-footer-logo-img {
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.7));
	transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.2s ease;
}

.ma-footer-brand:hover .ma-footer-logo-img {
	transform: scale(1.05);
	filter: drop-shadow(0 4px 16px rgba(201, 31, 40, 0.5));
}

.ma-footer-slogan {
	color: var(--ma-muted-light);
	font-size: 14px;
	margin: 2px 0 12px;
	font-weight: 600;
}

.ma-footer-desc {
	color: #a4abb3;
	font-size: 13.5px;
	line-height: 1.6;
	margin: 0 0 18px;
	max-width: 34ch;
}

.ma-footer-heading {
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
	margin: 0 0 16px;
}

.ma-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ma-footer-links li {
	margin-bottom: 10px;
}

.ma-footer-links a {
	color: #b8bcc2;
	font-size: 13.5px;
	transition: color 0.15s ease;
}

.ma-footer-links a:hover {
	color: #fff;
}

.ma-footer-text {
	color: #a4abb3;
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 14px;
}

.ma-payment-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}

.ma-pay-pill {
	display: inline-block;
	background: #1e2630;
	color: #d1d5db;
	border: 1px solid #2d3744;
	border-radius: 4px;
	padding: 3px 8px;
	font-size: 11px;
	font-weight: 700;
}

.ma-footer-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #8ed6a3;
	font-size: 12px;
	font-weight: 700;
}

.ma-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #222b35;
	padding-top: 24px;
	margin-top: 48px;
	color: #7b838c;
	font-size: 12.5px;
}

.ma-footer-eg {
	color: #9aa1a9;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */

@media (max-width: 1100px) {
	.ma-header-inner {
		gap: 16px;
	}
	.ma-grid, .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ma-footer-grid {
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
	}
	.ma-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.ma-header-inner {
		display: grid;
		grid-template-columns: auto 1fr auto;
		gap: 12px;
		padding-block: 12px;
		min-height: 64px;
	}
	.ma-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-self: end;
		grid-column: 3;
		grid-row: 1;
	}
	.ma-primary-nav {
		grid-column: 1 / -1;
		grid-row: 3;
		display: none;
	}
	.js .ma-primary-nav.is-open {
		display: block;
		background: #fff;
		border-top: 1px solid var(--ma-line);
		padding-block: 12px;
	}
	.ma-nav-list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.ma-nav-list a {
		display: block;
		padding: 10px 8px;
		border-bottom: 1px solid var(--ma-line-subtle);
	}
	.ma-nav-lang {
		display: block;
		padding: 12px 8px 4px;
	}
	.ma-header-search {
		grid-column: 1 / 3;
		grid-row: 2;
		width: 100%;
	}
	.ma-header-actions {
		grid-column: 3;
		grid-row: 2;
		justify-self: end;
		gap: 8px;
	}
	.ma-header-actions .ma-lang-switch {
		display: none;
	}
	.ma-action-text {
		display: none;
	}
	.ma-category-cards {
		grid-template-columns: 1fr;
	}
	.ma-callout-inner {
		grid-template-columns: 1fr;
	}
	.ma-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
	.ma-footer-col--brand {
		grid-column: 1 / -1;
	}
	.ma-filters__form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ma-series-intro {
		grid-template-columns: 1fr;
	}
	.ma-series-intro__cover {
		max-width: 240px;
	}
	.woocommerce div.product {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.ma-single-cover-art {
		min-height: 380px;
	}
	.ma-brand-logo-img {
		height: 40px;
		max-width: 130px;
	}
}

@media (max-width: 640px) {
	.ma-container {
		width: min(calc(100% - 24px), var(--ma-width));
	}
	.ma-grid, .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.ma-card__body {
		padding: 10px 12px;
	}
	.ma-card__title {
		font-size: 13.5px;
	}
	.ma-trust-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.ma-filters__form {
		grid-template-columns: 1fr;
	}
	.ma-footer-grid {
		grid-template-columns: 1fr;
	}
	.ma-footer-bottom {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none;
		width: 100%;
	}
}
