/* ===== BuddyPress pages (activity, groups, single group) =====
   Targets both body class variants:
   - buddypress-template-elementor_canvas  (activity)
   - page-template-elementor_canvas on body.buddypress / body.groups  (groups)
   Structure: .row > .col-lg-8 + .col-lg-4 + footer#colophon
   Footer sits INSIDE .row, so it needs explicit full-width breakout. */

/* --- Shared selector variable for readability --- */

/* .row = full-width background layer */
body.buddypress-template-elementor_canvas .row,
body.buddypress.page-template-elementor_canvas .row,
body.groups.page-template-elementor_canvas .row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

/* Content column = boxed inner layer */
body.buddypress-template-elementor_canvas .col-lg-8,
body.buddypress.page-template-elementor_canvas .col-lg-8,
body.groups.page-template-elementor_canvas .col-lg-8 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	box-sizing: border-box;
}

/* Hide sidebar */
body.buddypress-template-elementor_canvas .col-lg-4,
body.buddypress.page-template-elementor_canvas .col-lg-4,
body.groups.page-template-elementor_canvas .col-lg-4,
body.buddypress-template-elementor_canvas #side-bar,
body.buddypress.page-template-elementor_canvas #side-bar,
body.groups.page-template-elementor_canvas #side-bar {
	display: none !important;
}

/* Footer lives inside .row — force it to break out of flex and go full width */
body.buddypress-template-elementor_canvas .row > footer,
body.buddypress-template-elementor_canvas .row > #colophon,
body.buddypress.page-template-elementor_canvas .row > footer,
body.buddypress.page-template-elementor_canvas .row > #colophon,
body.groups.page-template-elementor_canvas .row > footer,
body.groups.page-template-elementor_canvas .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* ===== Activity & Groups pages — dark theme color pass ===== */
/* Ink & Signal palette: bg=#14141C, surface=#1E1E29, ink=#EDEDF2,
   muted=#9A9AAE, accent=#E63946, support=#FFD23F, border=#2A2A38 */

/* Content column background merges with page bg */
body.buddypress-template-elementor_canvas .col-lg-8,
body.buddypress.page-template-elementor_canvas .col-lg-8,
body.groups.page-template-elementor_canvas .col-lg-8 {
	background: #14141C !important;
}

/* Page title */
body.buddypress-template-elementor_canvas .entry-title,
body.buddypress.page-template-elementor_canvas .entry-title,
body.groups.page-template-elementor_canvas .entry-title {
	color: #EDEDF2 !important;
	font-family: 'Space Grotesk', sans-serif;
}

/* All text inside #buddypress */
#buddypress,
#buddypress .buddypress-wrap,
#buddypress p,
#buddypress span,
#buddypress label {
	color: #C9C9D6;
}

/* Links */
#buddypress a { color: #EDEDF2; }
#buddypress a:hover { color: #E63946; }

/* Nav tabs (All Members, Mentions, etc.) */
#buddypress .bp-navs ul li a,
#buddypress .component-navigation a {
	color: #9A9AAE !important;
	background: transparent !important;
}
#buddypress .bp-navs ul li.current a,
#buddypress .bp-navs ul li.selected a,
#buddypress .bp-navs ul li.dynamic a {
	color: #EDEDF2 !important;
	border-bottom: 2px solid #E63946;
}
#buddypress .bp-navs ul li.current a .count,
#buddypress .bp-navs ul li a .count {
	background: #E63946 !important;
	color: #EDEDF2 !important;
}

/* "What's new" post box */
#buddypress #whats-new-form,
#buddypress .activity-update-form,
#buddypress textarea,
#buddypress input[type="text"],
#buddypress input[type="search"] {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	color: #EDEDF2 !important;
	border-radius: 8px;
}
#buddypress input::placeholder,
#buddypress textarea::placeholder { color: #6B6B7D !important; }

/* Search bar & filter dropdown */
#buddypress .subnav-filters,
#buddypress .subnav-search { border-color: #2A2A38; }
#buddypress select {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	color: #C9C9D6 !important;
	border-radius: 6px;
}
#buddypress .select-arrow { color: #9A9AAE; }

/* Buttons (search submit, post activity, etc.) */
#buddypress button,
#buddypress input[type="submit"],
#buddypress a.button,
#buddypress .generic-button a {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: none !important;
	border-radius: 8px;
}
#buddypress button:hover,
#buddypress a.button:hover { background: #C62D39 !important; }

/* Activity stream items */
#buddypress .activity-list > li,
#buddypress ul.item-list > li {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 12px;
}
#buddypress .activity-content { color: #C9C9D6; }
#buddypress .activity-header { color: #9A9AAE; }
#buddypress .activity-header a { color: #EDEDF2; }

/* "No activity found" info message */
#buddypress .bp-feedback {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	color: #9A9AAE !important;
	border-radius: 8px;
}
#buddypress .bp-feedback p { color: #9A9AAE !important; }

/* Group header card */
#buddypress #item-header,
#buddypress .groups-header {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-radius: 12px;
	padding: 24px;
	color: #C9C9D6;
}
#buddypress .highlight.group-status strong { color: #FFD23F !important; }
#buddypress #item-header-content h2 { color: #EDEDF2; }

/* Group nav tabs (Home, Members, Invite, Manage) */
#buddypress #object-nav {
	background: transparent !important;
	border-bottom: 1px solid #2A2A38 !important;
}

/* Members list */
#buddypress .item-title a { color: #EDEDF2 !important; font-weight: 700; }
#buddypress .item-meta,
#buddypress .item-desc { color: #9A9AAE; }

/* Avatars */
#buddypress img.avatar {
	border: 2px solid #2A2A38;
	border-radius: 50%;
}

/* RSS feed icon */
#buddypress .feed a { color: #9A9AAE; }
#buddypress .feed a:hover { color: #E63946; }
/* ===== Override Toocheke's hardcoded white backgrounds on BP pages ===== */
/* Toocheke style.css sets #left-col and #left-content to background:#fff */

body.buddypress-template-elementor_canvas #left-col,
body.buddypress-template-elementor_canvas #left-content,
body.buddypress-template-elementor_canvas article,
body.buddypress-template-elementor_canvas .entry-header,
body.buddypress-template-elementor_canvas .entry-content,
body.buddypress.page-template-elementor_canvas #left-col,
body.buddypress.page-template-elementor_canvas #left-content,
body.buddypress.page-template-elementor_canvas article,
body.buddypress.page-template-elementor_canvas .entry-header,
body.buddypress.page-template-elementor_canvas .entry-content,
body.groups.page-template-elementor_canvas #left-col,
body.groups.page-template-elementor_canvas #left-content,
body.groups.page-template-elementor_canvas article,
body.groups.page-template-elementor_canvas .entry-header,
body.groups.page-template-elementor_canvas .entry-content {
	background: #14141C !important;
	background-color: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Activity title — solid white, not faded */
body.buddypress-template-elementor_canvas .entry-title,
body.buddypress.page-template-elementor_canvas .entry-title,
body.groups.page-template-elementor_canvas .entry-title {
	color: #EDEDF2 !important;
	font-family: 'Space Grotesk', sans-serif;
	font-size: 32px;
	font-weight: 700;
	padding: 16px 0 8px !important;
}

/* Fix nav tabs — visible text, red active state */
#buddypress .bp-navs ul li a,
#buddypress .component-navigation a {
	color: #9A9AAE !important;
	background: transparent !important;
	font-weight: 600;
}
#buddypress .bp-navs ul li.current a,
#buddypress .bp-navs ul li.selected a {
	color: #E63946 !important;
	border-bottom: 2px solid #E63946;
}

/* Nav underline bar — dark border, not bright */
#buddypress .bp-navs,
#buddypress .main-navs {
	border-bottom-color: #2A2A38 !important;
}
/* ===== Kill all light borders/outlines on BP pages ===== */
body.buddypress-template-elementor_canvas #buddypress *,
body.buddypress.page-template-elementor_canvas #buddypress *,
body.groups.page-template-elementor_canvas #buddypress * {
	border-color: #2A2A38 !important;
	outline-color: #2A2A38 !important;
}

/* Explicitly remove borders from common offenders */
body.buddypress-template-elementor_canvas #buddypress .bp-navs,
body.buddypress-template-elementor_canvas #buddypress .bp-navs li,
body.buddypress-template-elementor_canvas #buddypress .bp-navs li a,
body.buddypress-template-elementor_canvas #buddypress .subnav-filters,
body.buddypress-template-elementor_canvas #buddypress .activity-list li,
body.buddypress-template-elementor_canvas #buddypress #whats-new-form,
body.buddypress-template-elementor_canvas #buddypress .bp-feedback,
body.buddypress-template-elementor_canvas #buddypress input,
body.buddypress-template-elementor_canvas #buddypress select,
body.buddypress-template-elementor_canvas #buddypress textarea,
body.buddypress.page-template-elementor_canvas #buddypress .bp-navs,
body.buddypress.page-template-elementor_canvas #buddypress .bp-navs li,
body.buddypress.page-template-elementor_canvas #buddypress .bp-navs li a,
body.buddypress.page-template-elementor_canvas #buddypress .subnav-filters,
body.buddypress.page-template-elementor_canvas #buddypress .activity-list li,
body.buddypress.page-template-elementor_canvas #buddypress #whats-new-form,
body.buddypress.page-template-elementor_canvas #buddypress .bp-feedback,
body.buddypress.page-template-elementor_canvas #buddypress input,
body.buddypress.page-template-elementor_canvas #buddypress select,
body.buddypress.page-template-elementor_canvas #buddypress textarea,
body.groups.page-template-elementor_canvas #buddypress .bp-navs,
body.groups.page-template-elementor_canvas #buddypress .bp-navs li,
body.groups.page-template-elementor_canvas #buddypress .bp-navs li a,
body.groups.page-template-elementor_canvas #buddypress .subnav-filters,
body.groups.page-template-elementor_canvas #buddypress .activity-list li,
body.groups.page-template-elementor_canvas #buddypress #whats-new-form,
body.groups.page-template-elementor_canvas #buddypress .bp-feedback,
body.groups.page-template-elementor_canvas #buddypress input,
body.groups.page-template-elementor_canvas #buddypress select,
body.groups.page-template-elementor_canvas #buddypress textarea {
	border-color: #2A2A38 !important;
	outline: none !important;
}
/* ===== Nuke remaining visible borders — remove entirely, not just recolor ===== */
body.buddypress-template-elementor_canvas #buddypress #whats-new-form,
body.buddypress-template-elementor_canvas #buddypress .activity-update-form,
body.buddypress-template-elementor_canvas #buddypress .bp-feedback,
body.buddypress-template-elementor_canvas #buddypress .subnav-filters,
body.buddypress-template-elementor_canvas #buddypress .screen-content,
body.buddypress-template-elementor_canvas #buddypress .main-navs,
body.buddypress-template-elementor_canvas #buddypress .bp-navs,
body.buddypress-template-elementor_canvas #buddypress .dir-navs,
body.buddypress-template-elementor_canvas #buddypress .activity-list > li,
body.buddypress-template-elementor_canvas #buddypress ul.item-list > li,
body.buddypress-template-elementor_canvas #buddypress #item-header,
body.buddypress-template-elementor_canvas #buddypress .groups-header,
body.buddypress.page-template-elementor_canvas #buddypress #whats-new-form,
body.buddypress.page-template-elementor_canvas #buddypress .activity-update-form,
body.buddypress.page-template-elementor_canvas #buddypress .bp-feedback,
body.buddypress.page-template-elementor_canvas #buddypress .subnav-filters,
body.buddypress.page-template-elementor_canvas #buddypress .screen-content,
body.buddypress.page-template-elementor_canvas #buddypress .main-navs,
body.buddypress.page-template-elementor_canvas #buddypress .bp-navs,
body.buddypress.page-template-elementor_canvas #buddypress .dir-navs,
body.buddypress.page-template-elementor_canvas #buddypress .activity-list > li,
body.buddypress.page-template-elementor_canvas #buddypress ul.item-list > li,
body.buddypress.page-template-elementor_canvas #buddypress #item-header,
body.buddypress.page-template-elementor_canvas #buddypress .groups-header,
body.groups.page-template-elementor_canvas #buddypress #whats-new-form,
body.groups.page-template-elementor_canvas #buddypress .activity-update-form,
body.groups.page-template-elementor_canvas #buddypress .bp-feedback,
body.groups.page-template-elementor_canvas #buddypress .subnav-filters,
body.groups.page-template-elementor_canvas #buddypress .screen-content,
body.groups.page-template-elementor_canvas #buddypress .main-navs,
body.groups.page-template-elementor_canvas #buddypress .bp-navs,
body.groups.page-template-elementor_canvas #buddypress .dir-navs,
body.groups.page-template-elementor_canvas #buddypress .activity-list > li,
body.groups.page-template-elementor_canvas #buddypress ul.item-list > li,
body.groups.page-template-elementor_canvas #buddypress #item-header,
body.groups.page-template-elementor_canvas #buddypress .groups-header {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}
/* ===== Global dark theme for ALL non-Elementor pages (EDD, comic reader, etc.) =====
   Targets: page-template-elementor_canvas (EDD pages, groups),
   single-comic (reader), and any other Toocheke-wrapped page.
   Overrides Toocheke's hardcoded #fff on #left-col, #left-content. */

/* --- Full-width bg, boxed content (same pattern as BP pages) --- */
body.page-template-elementor_canvas .row,
body.single-comic .row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.page-template-elementor_canvas .col-lg-8,
body.page-template-elementor_canvas .col-lg-9,
body.single-comic .col-lg-8,
body.single-comic .col-lg-9 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	box-sizing: border-box;
}

body.page-template-elementor_canvas .col-lg-4,
body.page-template-elementor_canvas #side-bar,
body.single-comic .col-lg-4,
body.single-comic #side-bar {
	display: none !important;
}

/* Footer inside .row — full width breakout */
body.page-template-elementor_canvas .row > footer,
body.page-template-elementor_canvas .row > #colophon,
body.single-comic .row > footer,
body.single-comic .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- Kill Toocheke's white backgrounds --- */
body.page-template-elementor_canvas #left-col,
body.page-template-elementor_canvas #left-content,
body.page-template-elementor_canvas article,
body.page-template-elementor_canvas .entry-header,
body.page-template-elementor_canvas .entry-content,
body.single-comic #left-col,
body.single-comic #left-content,
body.single-comic article,
body.single-comic .entry-header,
body.single-comic .entry-content {
	background: #14141C !important;
	background-color: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* --- Page titles --- */
body.page-template-elementor_canvas .entry-title,
body.single-comic .entry-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
	padding: 16px 0 8px !important;
}

/* --- Text colors --- */
body.page-template-elementor_canvas .entry-content,
body.page-template-elementor_canvas .entry-content p,
body.page-template-elementor_canvas .entry-content span,
body.page-template-elementor_canvas .entry-content label,
body.page-template-elementor_canvas .entry-content td,
body.page-template-elementor_canvas .entry-content th,
body.single-comic .entry-content,
body.single-comic .entry-content p,
body.single-comic .entry-content span {
	color: #C9C9D6 !important;
}
body.page-template-elementor_canvas .entry-content a,
body.single-comic .entry-content a {
	color: #EDEDF2;
}
body.page-template-elementor_canvas .entry-content a:hover,
body.single-comic .entry-content a:hover {
	color: #E63946;
}

/* --- EDD specific: forms, tables, buttons --- */
body.page-template-elementor_canvas #edd_checkout_form_wrap,
body.page-template-elementor_canvas .edd-table,
body.page-template-elementor_canvas #edd_purchase_form,
body.page-template-elementor_canvas .edd_downloads_list {
	background: #14141C !important;
	color: #C9C9D6 !important;
}
body.page-template-elementor_canvas .edd-table th {
	background: #1E1E29 !important;
	color: #EDEDF2 !important;
	border-color: #2A2A38 !important;
}
body.page-template-elementor_canvas .edd-table td {
	border-color: #2A2A38 !important;
}
body.page-template-elementor_canvas input[type="text"],
body.page-template-elementor_canvas input[type="email"],
body.page-template-elementor_canvas input[type="password"],
body.page-template-elementor_canvas input[type="number"],
body.page-template-elementor_canvas select,
body.page-template-elementor_canvas textarea {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	color: #EDEDF2 !important;
	border-radius: 8px;
}
body.page-template-elementor_canvas input::placeholder {
	color: #6B6B7D !important;
}

/* EDD buttons */
body.page-template-elementor_canvas .edd-submit,
body.page-template-elementor_canvas .edd-add-to-cart,
body.page-template-elementor_canvas .edd-submit.button,
body.page-template-elementor_canvas #edd-purchase-button {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: none !important;
	border-radius: 8px;
	font-weight: 600;
}
body.page-template-elementor_canvas .edd-submit:hover,
body.page-template-elementor_canvas .edd-add-to-cart:hover {
	background: #C62D39 !important;
}

/* EDD product cards on /products/ */
body.page-template-elementor_canvas .edd_download,
body.page-template-elementor_canvas .edd_downloads_list .edd_download {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-radius: 12px;
	padding: 16px;
}
body.page-template-elementor_canvas .edd_download_title a {
	color: #EDEDF2 !important;
	font-weight: 700;
}
body.page-template-elementor_canvas .edd_price {
	color: #FFD23F !important;
	font-weight: 700;
}
/* ===== Shop/Products page — boxed content =====
   No .row wrapper; EDD renders .edd-blocks__downloads directly after header.
   Body class: page-id-18 */

body.page-id-18 {
	background: #14141C;
}

body.page-id-18 > .edd-blocks__downloads,
body.page-id-18 > .wp-block-edd-downloads {
	max-width: 1140px;
	margin-inline: auto;
	padding: 24px 40px 40px;
	box-sizing: border-box;
}
/* ===== Collections page — dark theme, full-width bg, boxed content ===== */
/* Uses Toocheke's comic-collections template, same .row structure */

body.page-template-page-templatescomic-collections-php {
	background: #14141C;
}

body.page-template-page-templatescomic-collections-php .row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.page-template-page-templatescomic-collections-php .col-lg-8 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	box-sizing: border-box;
}

body.page-template-page-templatescomic-collections-php .col-lg-4,
body.page-template-page-templatescomic-collections-php #side-bar {
	display: none !important;
}

body.page-template-page-templatescomic-collections-php .row > footer,
body.page-template-page-templatescomic-collections-php .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.page-template-page-templatescomic-collections-php #left-col,
body.page-template-page-templatescomic-collections-php #left-content,
body.page-template-page-templatescomic-collections-php section,
body.page-template-page-templatescomic-collections-php .entry-header,
body.page-template-page-templatescomic-collections-php .entry-content {
	background: #14141C !important;
	background-color: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Title */
body.page-template-page-templatescomic-collections-php h1,
body.page-template-page-templatescomic-collections-php .entry-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
}

/* Collection links */
body.page-template-page-templatescomic-collections-php a {
	color: #EDEDF2 !important;
}
body.page-template-page-templatescomic-collections-php a:hover {
	color: #E63946 !important;
}

/* Text */
body.page-template-page-templatescomic-collections-php p,
body.page-template-page-templatescomic-collections-php span,
body.page-template-page-templatescomic-collections-php li {
	color: #C9C9D6 !important;
}

/* Borders/dividers */
body.page-template-page-templatescomic-collections-php hr,
body.page-template-page-templatescomic-collections-php section {
	border-color: #2A2A38 !important;
}
/* ===== Genre archive pages (taxonomy-genres.php) — dark theme ===== */
/* Body class: body.tax-genres */

body.tax-genres {
	background: #14141C;
}

body.tax-genres .row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.tax-genres .col-lg-8 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	box-sizing: border-box;
	background: #14141C !important;
}

body.tax-genres .col-lg-4,
body.tax-genres #side-bar {
	display: none !important;
}

body.tax-genres .row > footer,
body.tax-genres .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.tax-genres #left-col,
body.tax-genres #left-content,
body.tax-genres article,
body.tax-genres .page-header,
body.tax-genres .entry-header,
body.tax-genres .entry-content {
	background: #14141C !important;
	background-color: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Page title ("Genre: Action") */
body.tax-genres .page-title,
body.tax-genres h1 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
	padding: 16px 0 8px !important;
}

/* Archive description */
body.tax-genres .archive-description,
body.tax-genres .archive-description p {
	color: #9A9AAE !important;
}

/* Toocheke divider */
body.tax-genres hr.toocheke-hr,
body.tax-genres hr {
	border-color: #2A2A38 !important;
}

/* Series grid thumbnails */
body.tax-genres #series-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

body.tax-genres .series-thumbnail-wrapper {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	overflow: hidden;
}

body.tax-genres .series-rollover {
	background: rgba(20, 20, 28, 0.92) !important;
}

body.tax-genres .series-rollover h3,
body.tax-genres .series-link h3 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
}

body.tax-genres .series-rollover p,
body.tax-genres .series-link p,
body.tax-genres .series-link {
	color: #C9C9D6 !important;
}

body.tax-genres a {
	color: #EDEDF2 !important;
}
body.tax-genres a:hover {
	color: #E63946 !important;
}

/* Text */
body.tax-genres p,
body.tax-genres span,
body.tax-genres li {
	color: #C9C9D6 !important;
}

/* "No posts found" fallback */
body.tax-genres .no-results,
body.tax-genres .not-found {
	color: #9A9AAE !important;
}

/* ===== Single series pages — dark theme ===== */
/* Body class: body.single-series */

body.single-series {
	background: #14141C;
}

body.single-series .row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.single-series .col-lg-8 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	box-sizing: border-box;
	background: #14141C !important;
}

body.single-series .col-lg-4,
body.single-series #side-bar {
	display: none !important;
}

body.single-series .row > footer,
body.single-series .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-series #left-col,
body.single-series #left-content,
body.single-series article,
body.single-series .entry-header,
body.single-series .entry-content {
	background: #14141C !important;
	background-color: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

body.single-series .entry-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
	padding: 16px 0 8px !important;
}

body.single-series .entry-content,
body.single-series .entry-content p,
body.single-series .entry-content span {
	color: #C9C9D6 !important;
}

body.single-series .entry-content a {
	color: #EDEDF2;
}
body.single-series .entry-content a:hover {
	color: #E63946;
}

body.single-series hr {
	border-color: #2A2A38 !important;
}

/* Series thumbnail and comic list */
body.single-series .series-thumbnail-wrapper {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	overflow: hidden;
}

body.single-series .series-rollover {
	background: rgba(20, 20, 28, 0.92) !important;
}

body.single-series .series-rollover h3 {
	color: #EDEDF2 !important;
}

body.single-series .series-rollover p {
	color: #C9C9D6 !important;
}

body.single-series img.avatar {
	border: 2px solid #2A2A38;
	border-radius: 50%;
}

/* ===== Jetonomy community page — text visibility fixes ===== */
/* Body class: body.jt-page */

body.jt-page {
	background: #14141C !important;
}

/* Force the page wrapper backgrounds dark */
body.jt-page .row,
body.jt-page #left-col,
body.jt-page #left-content,
body.jt-page .site-content,
body.jt-page .content-area,
body.jt-page main#main,
body.jt-page #primary {
	background: #14141C !important;
}

/* Category headings — scoped to #jetonomy-app only (confirmed to close */
/* before the shared footer begins), so this never reaches the site footer's */
/* own headings/paragraphs below it. */
body.jt-page #jetonomy-app .jt-category-title,
body.jt-page #jetonomy-app .jt-category-name,
body.jt-page #jetonomy-app .jt-heading,
body.jt-page #jetonomy-app h2,
body.jt-page #jetonomy-app h3,
body.jt-page #jetonomy-app h4 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
}

/* Subtitle / description text — scoped the same way. This used to be a bare */
/* "body.jt-page p" rule, which was overriding the shared footer's own text */
/* colors (account links, nav labels) to one flat grey. */
body.jt-page #jetonomy-app .jt-subtitle,
body.jt-page #jetonomy-app .jt-description,
body.jt-page #jetonomy-app .jt-text-muted,
body.jt-page #jetonomy-app p {
	color: #9A9AAE !important;
}

/* Navigation tabs — Jetonomy's own in-page nav, not the site footer */
body.jt-page #jetonomy-app .jt-nav a,
body.jt-page #jetonomy-app .jt-tabs a {
	color: #9A9AAE !important;
}
body.jt-page #jetonomy-app .jt-nav a.active,
body.jt-page #jetonomy-app .jt-nav a:hover,
body.jt-page #jetonomy-app .jt-tabs a.active {
	color: #EDEDF2 !important;
}

/* Ensure page title is visible */
body.jt-page .entry-title,
body.jt-page .page-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
}

/* ===== Registration page — dark theme ===== */
/* Body class: body.registration */

body.registration {
	background: #14141C;
}

body.registration #register-page,
body.registration .register-page,
body.registration #buddypress,
body.registration .buddypress-wrap,
body.registration .entry-content,
body.registration .entry-header,
body.registration article {
	background: #14141C !important;
	max-width: 1140px;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
}

body.registration .page-title,
body.registration h1,
body.registration h2 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
}

body.registration label {
	color: #C9C9D6 !important;
	font-weight: 600;
}

body.registration p,
body.registration span,
body.registration .description {
	color: #9A9AAE !important;
}

body.registration input[type="text"],
body.registration input[type="email"],
body.registration input[type="password"],
body.registration textarea,
body.registration select {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	color: #EDEDF2 !important;
	border-radius: 8px;
}

body.registration input::placeholder {
	color: #6B6B7D !important;
}

body.registration input[type="submit"],
body.registration button,
body.registration .button {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: none !important;
	border-radius: 8px;
	font-weight: 600;
}

body.registration input[type="submit"]:hover {
	background: #C62D39 !important;
}

body.registration a {
	color: #EDEDF2;
}
body.registration a:hover {
	color: #E63946;
}

body.registration #left-col,
body.registration #left-content {
	background: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

body.registration .col-lg-4,
body.registration #side-bar {
	display: none !important;
}

body.registration .row {
	width: 100% !important;
	max-width: 100% !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.registration .col-lg-8 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	background: #14141C !important;
}

body.registration .row > footer,
body.registration .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* ===== Popular Series cards — image sizing fix ===== */

/* Image containers: prevent flex shrink, enforce width */
[data-id="popular-card-1-imgwrap"],
[data-id="popular-card-2-imgwrap"],
[data-id="popular-card-3-imgwrap"] {
	flex: 0 0 35% !important;
	min-width: 200px;
	overflow: hidden;
	border-radius: 10px;
}

/* Images fill their container */
[data-id="popular-card-1-imgwrap"] img,
[data-id="popular-card-2-imgwrap"] img,
[data-id="popular-card-3-imgwrap"] img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 10px;
}

/* Content side takes remaining space */
[data-id="popular-card-1-content"],
[data-id="popular-card-2-content"],
[data-id="popular-card-3-content"] {
	flex: 1 1 0% !important;
	min-width: 0;
}

/* Mobile: stack vertically, image full width */
@media (max-width: 767px) {
	[data-id="popular-card-1-imgwrap"],
	[data-id="popular-card-2-imgwrap"],
	[data-id="popular-card-3-imgwrap"] {
		flex: 0 0 100% !important;
		min-width: unset;
	}
	[data-id="popular-card-1-imgwrap"] img,
	[data-id="popular-card-2-imgwrap"] img,
	[data-id="popular-card-3-imgwrap"] img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
	}
}

/* ===== Header utility icons styling ===== */
[data-id="header-utils"] {
	flex: 0 0 auto !important;
}

[data-id="header-account"] .elementor-icon,
[data-id="header-cart"] .elementor-icon {
	color: #EDEDF2 !important;
	font-size: 18px !important;
	transition: color 0.2s ease;
}

[data-id="header-account"] .elementor-icon:hover,
[data-id="header-cart"] .elementor-icon:hover {
	color: #E63946 !important;
}

/* Hide Toocheke bookmark icon from nav menu */
li.comic-bookmark-item { display: none !important; }

/* ===== Loop Grid comic cards — image sizing ===== */

/* Image widget: fixed height box with overflow hidden */
.elementor-element[data-id="loop-card-img"] {
	overflow: hidden !important;
	border-radius: 8px;
}

.elementor-element[data-id="loop-card-img"] img {
	width: 100% !important;
	object-fit: cover;
	object-position: top center;
	border-radius: 8px;
}

@media (max-width: 767px) {
	.elementor-element[data-id="loop-card-img"] {
		height: 280px !important;
	}
	.elementor-element[data-id="loop-card-img"] img {
		height: 100% !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-element[data-id="loop-card-img"] {
		height: 300px !important;
	}
	.elementor-element[data-id="loop-card-img"] img {
		height: 100% !important;
	}
}

/* Loop card overflow fix */
[data-id="chapter-loop-card"],
.e-loop-item .e-con {
	overflow: hidden !important;
}

/* ===== Header mobile consistency fix ===== */
@media (max-width: 767px) {
	/* Force hide utility icons container on mobile */
	.elementor-element[data-id="37c19b5"],
	.elementor-element.elementor-hidden-mobile {
		display: none !important;
	}

	/* Ensure header is single row: logo + hamburger only */
	.elementor-element[data-id="3519267"] > .e-con-inner {
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	/* Logo sizing on mobile */
	.elementor-element[data-id="bf80bb5"] {
		flex: 0 0 auto !important;
	}

	/* Nav menu toggle alignment */
	.elementor-element[data-id="a2befec"] {
		flex: 1 1 auto !important;
		display: flex !important;
		justify-content: flex-end !important;
	}
}

/* ===== Login page — dark theme ===== */
body.page-id-783 {
	background: #14141C !important;
}

body.page-id-783 .jt-login,
body.page-id-783 .jt-auth,
body.page-id-783 .wp-block-jetonomy-login {
	max-width: 440px;
	margin: 80px auto;
	padding: 40px;
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 16px;
}

body.page-id-783 h1,
body.page-id-783 h2,
body.page-id-783 h3,
body.page-id-783 .jt-heading {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
	text-align: center;
}

body.page-id-783 p,
body.page-id-783 label,
body.page-id-783 span {
	color: #C9C9D6 !important;
}

body.page-id-783 input[type="text"],
body.page-id-783 input[type="email"],
body.page-id-783 input[type="password"],
body.page-id-783 textarea {
	background: #14141C !important;
	border: 1px solid #3A3A4A !important;
	color: #EDEDF2 !important;
	border-radius: 8px;
	padding: 12px 16px;
}

body.page-id-783 input::placeholder {
	color: #6B6B7D !important;
}

body.page-id-783 button,
body.page-id-783 input[type="submit"],
body.page-id-783 .jt-btn-primary {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: none !important;
	border-radius: 8px;
	font-weight: 600;
	padding: 12px 24px;
	cursor: pointer;
}

body.page-id-783 button:hover,
body.page-id-783 input[type="submit"]:hover {
	background: #C62D39 !important;
}

body.page-id-783 a {
	color: #E63946 !important;
}

body.page-id-783 a:hover {
	color: #FFD23F !important;
}

body.page-id-783 .jt-divider,
body.page-id-783 hr {
	border-color: #2A2A38 !important;
}

/* ===== Jetonomy community nav bar — hidden (redundant with site header + mobile tabs) ===== */
.jt-community-nav {
    display: none !important;
}

/* ===== Shared dark layout for remaining Toocheke-templated pages ===== */
/* Body classes: tax-collections, single-download, search-results, blog, error404 */

body.tax-collections,
body.single-download,
body.search-results,
body.blog,
body.error404 {
	background: #14141C;
}

body.tax-collections .row,
body.single-download .row,
body.search-results .row,
body.blog .row,
body.error404 .row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #14141C;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.tax-collections .col-lg-8,
body.single-download .col-lg-8,
body.search-results .col-lg-8,
body.blog .col-lg-8,
body.error404 .col-lg-8 {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 1140px !important;
	margin-inline: auto;
	padding: 24px 40px 40px !important;
	box-sizing: border-box;
	background: #14141C !important;
}

body.tax-collections .col-lg-4,
body.tax-collections #side-bar,
body.single-download .col-lg-4,
body.single-download #side-bar,
body.search-results .col-lg-4,
body.search-results #side-bar,
body.blog .col-lg-4,
body.blog #side-bar,
body.error404 .col-lg-4,
body.error404 #side-bar {
	display: none !important;
}

body.tax-collections .row > footer,
body.tax-collections .row > #colophon,
body.single-download .row > footer,
body.single-download .row > #colophon,
body.search-results .row > footer,
body.search-results .row > #colophon,
body.blog .row > footer,
body.blog .row > #colophon,
body.error404 .row > footer,
body.error404 .row > #colophon {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.tax-collections #left-col,
body.tax-collections #left-content,
body.tax-collections article,
body.tax-collections .page-header,
body.tax-collections .entry-header,
body.tax-collections .entry-content,
body.single-download #left-col,
body.single-download #left-content,
body.single-download article,
body.single-download .entry-header,
body.single-download .entry-content,
body.search-results #left-col,
body.search-results #left-content,
body.search-results article,
body.search-results .page-header,
body.search-results .entry-header,
body.search-results .entry-content,
body.blog #left-col,
body.blog #left-content,
body.blog article,
body.blog .page-header,
body.blog .entry-header,
body.blog .entry-content,
body.error404 #left-col,
body.error404 #left-content,
body.error404 article,
body.error404 .page-header,
body.error404 .entry-content {
	background: #14141C !important;
	background-color: #14141C !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Titles */
body.tax-collections .page-title,
body.tax-collections h1,
body.single-download .entry-title,
body.single-download h1,
body.search-results .page-title,
body.search-results h1,
body.blog h1,
body.error404 h1,
body.error404 .page-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
	padding: 16px 0 8px !important;
}

body.tax-collections h2,
body.tax-collections h3,
body.single-download h2,
body.single-download h3,
body.search-results h2,
body.search-results h3,
body.blog h2,
body.blog h3,
body.error404 h2 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 600;
}

/* Body text */
body.tax-collections p,
body.tax-collections span,
body.tax-collections li,
body.single-download p,
body.single-download span,
body.single-download li,
body.search-results p,
body.search-results span,
body.search-results li,
body.blog p,
body.blog span,
body.blog li,
body.error404 p,
body.error404 span {
	color: #C9C9D6 !important;
}

body.tax-collections .archive-description,
body.search-results .search-meta,
body.blog .entry-meta,
body.blog .posted-on,
body.single-download .entry-meta {
	color: #9A9AAE !important;
}

/* Links */
body.tax-collections a,
body.single-download a,
body.search-results a,
body.blog a,
body.error404 a {
	color: #EDEDF2 !important;
}
body.tax-collections a:hover,
body.single-download a:hover,
body.search-results a:hover,
body.blog a:hover,
body.error404 a:hover {
	color: #E63946 !important;
}

/* Dividers */
body.tax-collections hr,
body.single-download hr,
body.search-results hr,
body.blog hr,
body.error404 hr {
	border-color: #2A2A38 !important;
}

/* Comic / series thumbnails on collection archives */
body.tax-collections .series-thumbnail-wrapper,
body.tax-collections .comic-thumbnail-wrapper {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	overflow: hidden;
}

body.tax-collections .series-rollover,
body.tax-collections .comic-rollover {
	background: rgba(20, 20, 28, 0.92) !important;
}

body.tax-collections .series-rollover h3,
body.tax-collections .comic-rollover h3 {
	color: #EDEDF2 !important;
}

body.tax-collections .series-rollover p,
body.tax-collections .comic-rollover p {
	color: #C9C9D6 !important;
}

body.tax-collections #comic-list li,
body.tax-collections ul#comic-list li {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	list-style: none;
	padding: 14px;
	margin-bottom: 16px;
}

/* Search results list */
body.search-results article {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	padding: 20px !important;
	margin-bottom: 20px;
}

/* Blog post cards */
body.blog article {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	padding: 20px !important;
	margin-bottom: 20px;
}

/* Search form fields */
body.search-results input[type="search"],
body.search-results input[type="text"],
body.error404 input[type="search"],
body.error404 input[type="text"] {
	background: #1E1E29 !important;
	border: 1px solid #3A3A4A !important;
	color: #EDEDF2 !important;
	border-radius: 8px;
	padding: 10px 14px;
}

body.search-results input::placeholder,
body.error404 input::placeholder {
	color: #6B6B7D !important;
}

/* EDD purchase area on single download pages */
body.single-download .edd_download_purchase_form,
body.single-download .edd_purchase_submit_wrapper {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 12px;
	padding: 20px;
	margin-top: 20px;
}

body.single-download .edd_price,
body.single-download .edd_download_price {
	color: #FFD23F !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 24px;
	font-weight: 700;
}

body.single-download .edd-submit,
body.single-download .edd-add-to-cart,
body.single-download input[type="submit"],
body.single-download .button {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 600;
	padding: 12px 24px !important;
}

body.single-download .edd-submit:hover,
body.single-download .edd-add-to-cart:hover {
	background: #C62D39 !important;
}

/* 404 centering */
body.error404 .col-lg-8 {
	text-align: center;
	padding-top: 60px !important;
	padding-bottom: 80px !important;
}

/* ===== Empty cart state ===== */
.edd-blocks-form__cart,
p.edd-blocks-form__cart {
	text-align: center;
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 14px;
	padding: 48px 28px !important;
	max-width: 620px;
	margin: 60px auto !important;
}

.edd_empty_cart {
	display: block;
}

.sor-ec-title {
	display: block;
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 10px;
}

.sor-ec-copy {
	display: block;
	color: #9A9AAE !important;
	font-size: 15px;
	line-height: 1.6;
	max-width: 420px;
	margin: 0 auto 26px;
}

.sor-ec-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.sor-ec-btn,
.sor-ec-btn-ghost {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.sor-ec-btn {
	background: #E63946;
	color: #EDEDF2 !important;
	border: 1px solid #E63946;
}
.sor-ec-btn:hover {
	background: #C62D39;
	border-color: #C62D39;
	color: #EDEDF2 !important;
}

.sor-ec-btn-ghost {
	background: transparent;
	color: #EDEDF2 !important;
	border: 1px solid #3A3A4A;
}
.sor-ec-btn-ghost:hover {
	border-color: #E63946;
	color: #E63946 !important;
}

@media (max-width: 767px) {
	.edd-blocks-form__cart,
	p.edd-blocks-form__cart {
		padding: 36px 20px !important;
		margin: 32px 16px !important;
	}
	.sor-ec-actions { flex-direction: column; }
	.sor-ec-btn, .sor-ec-btn-ghost { width: 100%; }
}

/* ===== EDD Blocks — shop grid, checkout form, notices ===== */
/* EDD 3.x renders via blocks (.edd-blocks__*), which the older EDD rules above do not reach. */

/* --- Shop grid (wp:edd/downloads) --- */
.edd-blocks__downloads {
	max-width: 1140px;
	margin-inline: auto;
}

.edd-blocks__columns {
	gap: 28px;
}

.edd-blocks__download {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 14px;
	padding: 22px;
	box-sizing: border-box;
}

/* Product titles: override Toocheke default link colour (#10ae98) */
.edd-blocks__download-header a,
.edd-blocks__download-header h2,
.edd-blocks__download-header h3,
.edd-blocks__download-header h2 a,
.edd-blocks__download-header h3 a {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
}

.edd-blocks__download-header a:hover,
.edd-blocks__download-header h2 a:hover,
.edd-blocks__download-header h3 a:hover {
	color: #E63946 !important;
}

.edd-blocks__download-content,
.edd-blocks__download-content p {
	color: #9A9AAE !important;
	font-size: 14px;
	line-height: 1.6;
}

.edd-blocks__download-price,
.edd-blocks__download-price .edd_price,
.edd-blocks__download .edd_price {
	color: #FFD23F !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 18px !important;
	font-weight: 700;
}

@media (max-width: 767px) {
	.edd-blocks__columns { gap: 18px; }
	.edd-blocks__download-header a,
	.edd-blocks__download-header h2,
	.edd-blocks__download-header h3 { font-size: 18px !important; }
}

/* --- Checkout form: box and centre it like every other page --- */
.edd-blocks-form,
.wp-block-edd-checkout,
#edd_checkout_wrap,
.edd-blocks__checkout {
	max-width: 1140px !important;
	margin-inline: auto !important;
	box-sizing: border-box;
	padding-inline: 20px;
}

.edd-blocks-form fieldset,
.edd-blocks-form__group,
#edd_checkout_user_info,
#edd_cc_fields,
#edd_cc_address,
#edd_payment_mode_select,
#edd_purchase_submit {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-radius: 14px !important;
	padding: 24px !important;
	margin-bottom: 22px !important;
	max-width: 100%;
	box-sizing: border-box;
}

.edd-blocks-form legend,
.edd-blocks-form fieldset legend {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 18px !important;
	font-weight: 700;
	padding: 0 8px;
	width: auto;
	border: none;
}

.edd-blocks-form label,
.edd-blocks-form__group label {
	color: #C9C9D6 !important;
	font-weight: 600;
	font-size: 14px;
}

.edd-blocks-form .edd-description,
.edd-blocks-form small,
.edd-blocks-form__group small {
	color: #6B6B7D !important;
	font-size: 12px;
}

.edd-blocks-form input[type="text"],
.edd-blocks-form input[type="email"],
.edd-blocks-form input[type="password"],
.edd-blocks-form input[type="tel"],
.edd-blocks-form input[type="number"],
.edd-blocks-form select,
.edd-blocks-form textarea {
	background: #14141C !important;
	border: 1px solid #3A3A4A !important;
	color: #EDEDF2 !important;
	border-radius: 8px !important;
	padding: 11px 14px !important;
	width: 100%;
	box-sizing: border-box;
}

.edd-blocks-form input::placeholder,
.edd-blocks-form textarea::placeholder {
	color: #6B6B7D !important;
}

.edd-blocks-form input:focus,
.edd-blocks-form select:focus,
.edd-blocks-form textarea:focus {
	outline: none;
	border-color: #E63946 !important;
}

/* Cart table inside checkout */
.edd-blocks__cart,
.edd-blocks-form table,
#edd_checkout_cart {
	width: 100%;
	border-collapse: collapse;
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 14px;
	overflow: hidden;
}

.edd-blocks-form table th,
#edd_checkout_cart th {
	background: #2A2A38 !important;
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	text-align: left;
	padding: 14px 18px !important;
	border: none !important;
}

.edd-blocks-form table td,
#edd_checkout_cart td {
	color: #C9C9D6 !important;
	padding: 14px 18px !important;
	border-top: 1px solid #2A2A38 !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: none !important;
}

/* Buttons */
.edd-blocks__button,
.edd-blocks-form input[type="submit"],
.edd-blocks-form button,
#edd-purchase-button,
.edd-submit.button {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: 1px solid #E63946 !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	padding: 12px 24px !important;
	text-decoration: none !important;
	cursor: pointer;
}

.edd-blocks__button:hover,
.edd-blocks-form input[type="submit"]:hover,
#edd-purchase-button:hover {
	background: #C62D39 !important;
	border-color: #C62D39 !important;
}

/* --- Account info bar + notices --- */
.edd-blocks-form__logged-in,
.edd_logged_in_only,
#edd_checkout_login_register,
.edd-blocks-form__account {
	max-width: 1140px;
	margin: 20px auto !important;
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-radius: 10px;
	padding: 14px 18px !important;
	color: #9A9AAE !important;
	box-sizing: border-box;
}

.edd-blocks-form__logged-in a,
.edd_logged_in_only a {
	color: #E63946 !important;
}

/* EDD alerts — replace the default light theme */
.edd-alert,
.edd_errors,
.edd_error,
.edd-blocks-form .edd-alert {
	max-width: 1140px;
	margin: 20px auto !important;
	background: #2A1A1E !important;
	border: 1px solid #E63946 !important;
	border-radius: 10px !important;
	color: #EDEDF2 !important;
	padding: 14px 18px !important;
	box-sizing: border-box;
}

.edd-alert p,
.edd_errors p,
.edd_error p,
.edd-alert strong {
	color: #EDEDF2 !important;
	margin: 0;
}

.edd-alert-success {
	background: #14261A !important;
	border-color: #3E9B57 !important;
}

@media (max-width: 767px) {
	.edd-blocks-form fieldset,
	.edd-blocks-form__group,
	#edd_checkout_user_info {
		padding: 18px !important;
	}
	.edd-blocks-form table th,
	.edd-blocks-form table td {
		padding: 10px 12px !important;
		font-size: 14px;
	}
}

/* ===== Comics catalog cards — match Popular Series pattern ===== */
[data-id="cat-card-1-imgwrap"],
[data-id="cat-card-2-imgwrap"],
[data-id="cat-card-3-imgwrap"] {
	flex: 0 0 35% !important;
	min-width: 200px;
	overflow: hidden;
	border-radius: 10px;
}

[data-id="cat-card-1-imgwrap"] img,
[data-id="cat-card-2-imgwrap"] img,
[data-id="cat-card-3-imgwrap"] img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 10px;
}

[data-id="cat-card-1-content"],
[data-id="cat-card-2-content"],
[data-id="cat-card-3-content"] {
	flex: 1 1 0% !important;
	min-width: 0;
}

@media (max-width: 767px) {
	[data-id="cat-card-1-imgwrap"],
	[data-id="cat-card-2-imgwrap"],
	[data-id="cat-card-3-imgwrap"] {
		flex: 0 0 100% !important;
		min-width: unset;
	}
	[data-id="cat-card-1-imgwrap"] img,
	[data-id="cat-card-2-imgwrap"] img,
	[data-id="cat-card-3-imgwrap"] img {
		height: auto !important;
		object-fit: contain !important;
	}
}

/* ===== About page polish ===== */

/* Video: frame it like every other card on the site */
[data-id="about-video-player"] .elementor-wrapper,
[data-id="about-video-player"] video,
[data-id="about-video-player"] .elementor-video {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #2A2A38;
}

[data-id="about-video-inner"] {
	max-width: 900px;
	margin-inline: auto;
}

/* Pillars: even columns that do not collapse awkwardly */
[data-id="about-mission-grid"] {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

[data-id="about-pillar-1"],
[data-id="about-pillar-2"],
[data-id="about-pillar-3"] {
	flex: 1 1 260px !important;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

[data-id="about-pillar-1"]:hover,
[data-id="about-pillar-2"]:hover,
[data-id="about-pillar-3"]:hover {
	border-color: #E63946 !important;
	transform: translateY(-3px);
}

/* Story image: contained and rounded */
[data-id="about-story-visual"] img {
	width: 100% !important;
	height: auto;
	border-radius: 12px;
	display: block;
}

/* Mission statement image */
[data-id="about-mission-img"] img {
	border-radius: 12px;
	border: 1px solid #2A2A38;
}

/* Hero: keep text legible over the background art */
[data-id="about-hero"] {
	position: relative;
}

[data-id="about-hero-inner"] {
	position: relative;
	z-index: 2;
	max-width: 820px;
	margin-inline: auto;
}

[data-id="about-title"] .elementor-heading-title {
	text-shadow: 0 2px 18px rgba(20,20,28,0.6);
}

@media (max-width: 767px) {
	[data-id="about-mission-grid"] { gap: 16px; }
	[data-id="about-pillar-1"],
	[data-id="about-pillar-2"],
	[data-id="about-pillar-3"] {
		flex: 1 1 100% !important;
	}
	[data-id="about-mission-img"] img { width: 100% !important; }
}

/* ===== WooCommerce — dark theme (shop, cart, account, checkout) ===== */

body.woocommerce-page,
body.woocommerce-shop,
body.woocommerce-cart,
body.woocommerce-account,
body.woocommerce-checkout {
	background: #14141C;
}

.woocommerce,
.woocommerce-page .entry-content,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	max-width: 1140px;
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
}

/* Headings and text */
body.woocommerce-page h1,
body.woocommerce-page h2,
body.woocommerce-page h3,
body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-page legend {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
}

body.woocommerce-page p,
body.woocommerce-page td,
body.woocommerce-page li,
body.woocommerce-page label,
body.woocommerce-page .woocommerce-breadcrumb {
	color: #C9C9D6 !important;
}

body.woocommerce-page a {
	color: #EDEDF2;
}
body.woocommerce-page a:hover {
	color: #E63946;
}

/* Product cards on the shop archive */
.woocommerce ul.products li.product {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 14px;
	padding: 18px;
	box-sizing: border-box;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 18px !important;
	font-weight: 700;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #FFD23F !important;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
}

.woocommerce ul.products li.product img {
	border-radius: 10px;
}

/* Tables (cart, order review, account orders) */
.woocommerce table.shop_table,
.woocommerce table.woocommerce-orders-table {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 14px;
	border-collapse: collapse;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.woocommerce-orders-table th {
	background: #2A2A38 !important;
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	border: none !important;
	padding: 14px 18px !important;
}

.woocommerce table.shop_table td,
.woocommerce table.woocommerce-orders-table td {
	color: #C9C9D6 !important;
	border-top: 1px solid #2A2A38 !important;
	border-left: none !important;
	border-right: none !important;
	padding: 14px 18px !important;
}

/* Form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="tel"],
.woocommerce-page select,
.wc-block-components-text-input input {
	background: #14141C !important;
	border: 1px solid #3A3A4A !important;
	color: #EDEDF2 !important;
	border-radius: 8px !important;
	padding: 11px 14px !important;
}

.woocommerce-page input::placeholder {
	color: #6B6B7D !important;
}

.woocommerce-page input:focus,
.woocommerce-page select:focus,
.woocommerce-page textarea:focus {
	outline: none;
	border-color: #E63946 !important;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: 1px solid #E63946 !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	padding: 12px 22px !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: #C62D39 !important;
	border-color: #C62D39 !important;
	color: #EDEDF2 !important;
}

/* Notices — replace Woo default light theme */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-top: 3px solid #E63946 !important;
	border-radius: 10px !important;
	color: #EDEDF2 !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: #E63946 !important;
}

/* Account navigation */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 8px;
	margin-bottom: 8px;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 16px;
	color: #C9C9D6 !important;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
	color: #E63946 !important;
}

/* Cart totals / order review panels */
.cart_totals,
.woocommerce-checkout-review-order,
.wc-block-components-totals-wrapper {
	background: #1E1E29;
	border: 1px solid #2A2A38;
	border-radius: 14px;
	padding: 20px;
}

@media (max-width: 767px) {
	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 10px 12px !important;
		font-size: 14px;
	}
}

/* ===== Shop archive — tighten top spacing ===== */
/* Only body.woocommerce-shop, so the shared header padding used everywhere */
/* else is untouched. Without a hero/section right below the header, WooCommerce's */
/* own default top margins on these elements read as an oversized empty gap. */
body.woocommerce-shop .woocommerce {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.woocommerce-shop .woocommerce-notices-wrapper {
	margin: 0 !important;
}
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering {
	margin-top: 24px !important;
	margin-bottom: 16px !important;
}

/* ===== Cart, My Account, Orders — tighten top spacing (same treatment as Shop) ===== */
body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.woocommerce-account .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-notices-wrapper {
	margin: 0 !important;
}
body.woocommerce-account #customer_login,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .wc-empty-cart-message {
	margin-top: 24px !important;
}
/* My Account login/register headings match the site's heading style */
body.woocommerce-account #customer_login h2 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	margin-bottom: 20px;
}

/* ===== Empty genre archive — branded empty state ===== */
body.tax-genres .sor-empty-genre {
	text-align: center;
	padding: 60px 20px 80px;
}
body.tax-genres .sor-empty-genre .page-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 12px;
}
body.tax-genres .sor-empty-genre p {
	color: #9A9AAE !important;
	font-size: 15px;
	max-width: 420px;
	margin: 0 auto 28px;
}
body.tax-genres .sor-empty-genre-btn {
	display: inline-block;
	background: #E63946;
	color: #EDEDF2 !important;
	border-radius: 8px;
	padding: 12px 24px;
	font-weight: 600;
	text-decoration: none !important;
}
body.tax-genres .sor-empty-genre-btn:hover {
	background: #C62D39;
}

/* ===== Genres index page (pure Elementor Canvas, no Toocheke .row wrapper) ===== */
body.page-id-11 {
	background: #14141C;
}
body.page-id-11 .elementor {
	background: #14141C;
}

/* ===== Single comic reader — transcript panel, share icons, comments (Bootstrap classes) ===== */
/* These are Bootstrap 3 components (.panel, .form-control) loaded separately from */
/* Toocheke's own stylesheet, which is why earlier dark-theme passes never caught them. */

/* Transcript accordion panel */
body.single-comic .panel ,
body.single-series .panel ,
body.tax-collections .panel {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-radius: 10px;
}
body.single-comic .panel-heading ,
body.single-series .panel-heading ,
body.tax-collections .panel-heading {
	background: #1E1E29 !important;
	border-bottom: 1px solid #2A2A38 !important;
}
body.single-comic .panel-title a ,
body.single-series .panel-title a ,
body.tax-collections .panel-title a {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	text-decoration: none !important;
}
body.single-comic .panel-title a:hover ,
body.single-series .panel-title a:hover ,
body.tax-collections .panel-title a:hover {
	color: #E63946 !important;
}
body.single-comic .panel-body ,
body.single-series .panel-body ,
body.tax-collections .panel-body {
	background: #1E1E29 !important;
	color: #C9C9D6 !important;
}
body.single-comic .panel-body hr ,
body.single-series .panel-body hr ,
body.tax-collections .panel-body hr {
	border-color: #2A2A38 !important;
}

/* Share icons, view/like/bookmark — override Toocheke's default teal link color */
body.single-comic .entry-footer a,
body.single-series .entry-footer a,
body.tax-collections .entry-footer a,
body.single-comic .single-comic-navigation a,
body.single-series .single-comic-navigation a,
body.tax-collections .single-comic-navigation a,
body.single-comic .toocheke-likes-button,
body.single-series .toocheke-likes-button,
body.tax-collections .toocheke-likes-button,
body.single-comic .single-comic-bookmark,
body.single-series .single-comic-bookmark,
body.tax-collections .single-comic-bookmark,
body.single-comic .single-comic-total-views,
body.single-series .single-comic-total-views,
body.tax-collections .single-comic-total-views,
body.single-comic .single-comic-total-likes ,
body.single-series .single-comic-total-likes ,
body.tax-collections .single-comic-total-likes {
	color: #EDEDF2 !important;
}
body.single-comic .entry-footer a:hover,
body.single-series .entry-footer a:hover,
body.tax-collections .entry-footer a:hover,
body.single-comic .single-comic-navigation a:hover,
body.single-series .single-comic-navigation a:hover,
body.tax-collections .single-comic-navigation a:hover,
body.single-comic .toocheke-likes-button:hover ,
body.single-series .toocheke-likes-button:hover ,
body.tax-collections .toocheke-likes-button:hover {
	color: #E63946 !important;
}

/* Comments area + reply form */
body.single-comic .comments-area ,
body.single-series .comments-area ,
body.tax-collections .comments-area {
	background: #14141C !important;
	padding: 24px 0;
}
body.single-comic .comment-respond ,
body.single-series .comment-respond ,
body.tax-collections .comment-respond {
	background: #1E1E29 !important;
	border: 1px solid #2A2A38 !important;
	border-radius: 12px;
	padding: 20px !important;
}
body.single-comic .comment-reply-title,
body.single-series .comment-reply-title,
body.tax-collections .comment-reply-title,
body.single-comic .comments-area h2,
body.single-series .comments-area h2,
body.tax-collections .comments-area h2,
body.single-comic .comments-area h3 ,
body.single-series .comments-area h3 ,
body.tax-collections .comments-area h3 {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
}
body.single-comic .comments-area label,
body.single-series .comments-area label,
body.tax-collections .comments-area label,
body.single-comic .comment-notes,
body.single-series .comment-notes,
body.tax-collections .comment-notes,
body.single-comic .required-field-message ,
body.single-series .required-field-message ,
body.tax-collections .required-field-message {
	color: #9A9AAE !important;
}
body.single-comic .form-control ,
body.single-series .form-control ,
body.tax-collections .form-control {
	background: #14141C !important;
	border: 1px solid #3A3A4A !important;
	color: #EDEDF2 !important;
	border-radius: 8px !important;
}
body.single-comic .form-control::placeholder ,
body.single-series .form-control::placeholder ,
body.tax-collections .form-control::placeholder {
	color: #6B6B7D !important;
}
body.single-comic .form-control:focus ,
body.single-series .form-control:focus ,
body.tax-collections .form-control:focus {
	outline: none;
	border-color: #E63946 !important;
	box-shadow: none !important;
}
body.single-comic #submit,
body.single-series #submit,
body.tax-collections #submit,
body.single-comic .comment-form input[type="submit"] ,
body.single-series .comment-form input[type="submit"] ,
body.tax-collections .comment-form input[type="submit"] {
	background: #E63946 !important;
	color: #EDEDF2 !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	padding: 10px 22px !important;
}
body.single-comic #submit:hover ,
body.single-series #submit:hover ,
body.tax-collections #submit:hover {
	background: #C62D39 !important;
}

/* ===== Comic reader — neutralize intermediate wrapper backgrounds ===== */
/* One of these wrappers (between .row and the panel/share block) carries its own */
/* opaque background that was painting over the dark .row background beneath it. */
/* Forcing them all transparent lets the dark .row show through, while .panel and */
/* .comment-respond keep their own explicit dark backgrounds set separately. */
body.single-comic .single-comic-wrapper,
body.single-series .single-comic-wrapper,
body.tax-collections .single-comic-wrapper,
body.single-comic #one-comic-option,
body.single-series #one-comic-option,
body.tax-collections #one-comic-option,
body.single-comic #spliced-comic,
body.single-series #spliced-comic,
body.tax-collections #spliced-comic,
body.single-comic #unspliced-comic,
body.single-series #unspliced-comic,
body.tax-collections #unspliced-comic,
body.single-comic #single-comic-row,
body.single-series #single-comic-row,
body.tax-collections #single-comic-row,
body.single-comic #single-comic-col,
body.single-series #single-comic-col,
body.tax-collections #single-comic-col,
body.single-comic .col-lg-8,
body.single-series .col-lg-8,
body.tax-collections .col-lg-8,
body.single-comic .col-lg-12,
body.single-series .col-lg-12,
body.tax-collections .col-lg-12,
body.single-comic .blog-wrapper,
body.single-series .blog-wrapper,
body.tax-collections .blog-wrapper,
body.single-comic #comic-analytics,
body.single-series #comic-analytics,
body.tax-collections #comic-analytics,
body.single-comic #comic-social,
body.single-series #comic-social,
body.tax-collections #comic-social,
body.single-comic #chapter-navigation,
body.single-series #chapter-navigation,
body.tax-collections #chapter-navigation,
body.single-comic .panel-group,
body.single-series .panel-group,
body.tax-collections .panel-group {
	background: transparent !important;
	background-color: transparent !important;
}

/* ===== Comic social share icons — fix missing color rule ===== */
/* #comic-social (Facebook, X, Reddit, copy-link) was only covered by the earlier */
/* transparent-background fix, never given a color override, so it was still */
/* rendering in Toocheke's default teal (#10ae98). */
body.single-comic #comic-social a,
body.single-series #comic-social a,
body.tax-collections #comic-social a {
	color: #EDEDF2 !important;
}
body.single-comic #comic-social a:hover,
body.single-series #comic-social a:hover,
body.tax-collections #comic-social a:hover {
	color: #E63946 !important;
}

/* ===== Comic reader icons — strip unwanted teal pill background ===== */
/* Toocheke's own generic 'a { background-color: #10ae98 !important; }' rule (a */
/* share-button plugin default) was winning the cascade on every plain <a> tag not */
/* otherwise overridden, giving these icons a teal PILL background — that was the */
/* actual green/teal appearance, not the icon glyph color, which is why the earlier */
/* color-only fix made no visible difference. */
body.single-comic #comic-social a,
body.single-series #comic-social a,
body.tax-collections #comic-social a,
body.single-comic .single-comic-navigation a,
body.single-series .single-comic-navigation a,
body.tax-collections .single-comic-navigation a,
body.single-comic #comic-analytics a,
body.single-series #comic-analytics a,
body.tax-collections #comic-analytics a {
	background: transparent !important;
	background-color: transparent !important;
	color: #EDEDF2 !important;
	display: inline-block !important;
}
body.single-comic #comic-social a:hover,
body.single-series #comic-social a:hover,
body.tax-collections #comic-social a:hover,
body.single-comic .single-comic-navigation a:hover,
body.single-series .single-comic-navigation a:hover,
body.tax-collections .single-comic-navigation a:hover,
body.single-comic #comic-analytics a:hover,
body.single-series #comic-analytics a:hover,
body.tax-collections #comic-analytics a:hover {
	background: transparent !important;
	background-color: transparent !important;
	color: #E63946 !important;
}

/* ===== Latest Chapters cards - whole card is a link ===== */
/* The loop card container is now an <a>. Keep its look unchanged and guard */
/* against Toocheke's stray link background rule. */
.e-loop-item a.elementor-element-chapter-loop-card,
.e-loop-item a.elementor-element-chapter-loop-card:hover,
.e-loop-item a.elementor-element-chapter-loop-card:focus {
	background-color: #16161F !important;
	color: inherit !important;
	text-decoration: none !important;
	display: flex;
}
.e-loop-item a.elementor-element-chapter-loop-card:hover .elementor-heading-title {
	color: #E63946 !important;
}

/* ===== Genre filter (shared script: sor-genre-filter-ui.php) ===== */
[data-genre].sor-pill-active,
[data-genre].sor-pill-active:hover {
	background-color: #E63946 !important;
	border-color: #E63946 !important;
	color: #EDEDF2 !important;
}
[data-sor-genre-results] { margin-top: 28px; }
[data-sor-genre-results][hidden] { display: none !important; }
.sor-gf-msg { color: #9A9AAE; font-size: 15px; text-align: center; padding: 24px 0; margin: 0; }
.sor-gf-list { display: flex; flex-direction: column; gap: 16px; }
.sor-gf-card { display: flex; gap: 20px; align-items: center; background: #1E1E29 !important; border: 1px solid #2A2A38; border-radius: 14px; padding: 16px; text-decoration: none !important; transition: border-color 0.2s ease; }
.sor-gf-card:hover { border-color: #E63946; }
.sor-gf-card img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; flex-shrink: 0; }
.sor-gf-text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sor-gf-title { color: #EDEDF2; font-family: "Space Grotesk", sans-serif; font-size: 18px; font-weight: 700; }
.sor-gf-card:hover .sor-gf-title { color: #E63946; }
.sor-gf-excerpt { color: #9A9AAE; font-size: 14px; line-height: 1.5; }
@media (max-width: 767px) { .sor-gf-card img { width: 72px; height: 72px; } .sor-gf-title { font-size: 16px; } }

/* ===== Single product template (Elementor Pro template 981) ===== */
body.single-product { background: #14141C; }
.sor-product { background: #14141C; }
.sor-product .product_title,
.sor-product .elementor-widget-woocommerce-product-title .elementor-heading-title {
	color: #EDEDF2 !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 36px !important;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}
.sor-product .price,
.sor-product .price .amount { color: #FFD23F !important; font-family: "Space Grotesk", sans-serif; font-size: 26px !important; font-weight: 700; }
.sor-product .woocommerce-product-details__short-description,
.sor-product .woocommerce-product-details__short-description p { color: #9A9AAE !important; font-size: 16px; line-height: 1.6; margin: 0; }
.sor-product-media .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.sor-product-media .woocommerce-product-gallery img { border-radius: 14px; border: 1px solid #2A2A38; width: 100%; height: auto; }
.sor-product-media .woocommerce-product-gallery__trigger { background: #1E1E29 !important; border-radius: 50%; }
.sor-product .quantity { display: none !important; }
.sor-product form.cart { margin: 0 !important; display: flex; }
.sor-product .single_add_to_cart_button { background: #E63946 !important; color: #EDEDF2 !important; border: 1px solid #E63946 !important; border-radius: 8px !important; font-weight: 600 !important; padding: 14px 28px !important; font-size: 16px !important; }
.sor-product .single_add_to_cart_button:hover { background: #C62D39 !important; border-color: #C62D39 !important; }
.sor-preview-btn { display: inline-block; padding: 13px 26px; border: 1px solid #3A3A4A; border-radius: 8px; color: #EDEDF2 !important; background: transparent !important; font-weight: 600; font-size: 16px; text-decoration: none !important; transition: border-color 0.2s ease, color 0.2s ease; }
.sor-preview-btn:hover { border-color: #E63946; color: #E63946 !important; }
.sor-product .product_meta { color: #6B6B7D; font-size: 13px; }
.sor-product .product_meta a { color: #9A9AAE !important; }
.sor-product .product_meta a:hover { color: #E63946 !important; }
.sor-product .related > h2 { color: #EDEDF2 !important; font-family: "Space Grotesk", sans-serif; font-size: 24px; margin-bottom: 20px; }
.sor-product .elementor-widget-woocommerce-product-content:empty,
.sor-product .elementor-widget-woocommerce-product-content .elementor-widget-container:empty { display: none; }
@media (max-width: 767px) {
	.sor-product .product_title { font-size: 28px !important; }
	.sor-product-actions { flex-direction: column; align-items: stretch !important; }
	.sor-product .single_add_to_cart_button, .sor-preview-btn { width: 100%; text-align: center; }
}
/* Single product: SKU / Category labels (Elementor wraps them in .detail-label) */
.sor-product .product_meta .detail-label,
.sor-product .product_meta .sku_wrapper,
.sor-product .product_meta .posted_in,
.sor-product .product_meta .tagged_as { color: #9A9AAE !important; font-weight: 600; }
.sor-product .product_meta .sku,
.sor-product .product_meta .detail-content { color: #C9C9D6 !important; font-weight: 400; }
.sor-product .product_meta > span { display: inline-block; margin-right: 18px; }

/* ===== Product format picker (variable products) ===== */
.sor-product table.variations { background: transparent !important; border: 0 !important; margin: 0 0 12px !important; width: 100%; }
.sor-product table.variations th, .sor-product table.variations td { background: transparent !important; border: 0 !important; padding: 0 0 8px !important; display: block; text-align: left; }
.sor-product table.variations th.label label { color: #9A9AAE !important; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; }
.sor-product table.variations select { background: #1E1E29 !important; color: #EDEDF2 !important; border: 1px solid #3A3A4A !important; border-radius: 8px !important; padding: 12px 14px !important; min-width: 260px; font-size: 15px; }
.sor-product table.variations select:focus { border-color: #E63946 !important; outline: none; }
.sor-product a.reset_variations { color: #9A9AAE !important; font-size: 13px; margin-left: 8px; }
.sor-product .single_variation_wrap { display: flex; flex-direction: column; gap: 12px; }
.sor-product .woocommerce-variation-description p { color: #C9C9D6 !important; background: #1E1E29; border: 1px solid #2A2A38; border-left: 3px solid #E63946; border-radius: 8px; padding: 12px 14px; margin: 0; font-size: 14px; line-height: 1.6; }
.sor-product .woocommerce-variation-price .price { font-size: 22px !important; }
.sor-product .woocommerce-variation-availability .stock { color: #FFD23F !important; font-weight: 600; margin: 0; }
.sor-product .woocommerce-variation-add-to-cart { display: flex; gap: 12px; }
.sor-product .single_add_to_cart_button.disabled { opacity: 0.45 !important; cursor: not-allowed; }
.sor-product .woocommerce-product-details__short-description ul { margin: 8px 0 8px 18px; color: #C9C9D6; }
.sor-product .woocommerce-product-details__short-description li { color: #C9C9D6 !important; margin-bottom: 4px; }
.sor-product .woocommerce-product-details__short-description strong { color: #EDEDF2; }
/* ===== Homepage hero: mission statement first, video on demand ===== */
.sor-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.sor-hero-mission-first { gap: 28px !important; padding-top: 32px !important; padding-bottom: 40px !important; }
.sor-hero-mission-first .elementor-element-hero-media { width: 100%; }
.sor-hero-media { position: relative; width: 100%; max-width: 1140px; margin: 0 auto; aspect-ratio: 16 / 9; max-height: 78vh; border-radius: 14px; overflow: hidden; background: #FFFFFF; border: 1px solid #2A2A38; transition: background-color 0.6s ease; }
.sor-hero-media[data-state="video"] { background: #000000; }
.sor-hero-mission, .sor-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity 0.6s ease; }
.sor-hero-mission { object-fit: contain; opacity: 1; }
.sor-hero-video { object-fit: cover; opacity: 0; }
.sor-hero-media[data-state="video"] .sor-hero-mission { opacity: 0; }
.sor-hero-media[data-state="video"] .sor-hero-video { opacity: 1; }
.sor-hero-play { position: absolute; right: 16px; bottom: 16px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; background: #E63946 !important; color: #EDEDF2 !important; border: 0 !important; border-radius: 999px !important; padding: 12px 20px !important; font-family: "Space Grotesk", sans-serif; font-weight: 600; font-size: 15px; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,0.35); }
.sor-hero-play:hover, .sor-hero-play:focus-visible { background: #C62D39 !important; outline: 2px solid #EDEDF2; outline-offset: 2px; }
@media (max-width: 767px) {
	.sor-hero-media { aspect-ratio: 1420 / 1017; max-height: none; border-radius: 10px; }
	.sor-hero-play { right: 10px; bottom: 10px; padding: 9px 14px !important; font-size: 13px; }
	.sor-hero-mission-first { padding-top: 16px !important; gap: 20px !important; }
}

/* ===== Mission statement marquee (below the hero) ===== */
.sor-marquee-wrap { background: #1A1A26; border-top: 1px solid #2A2A38; border-bottom: 1px solid #2A2A38; overflow: hidden; cursor: pointer; }
.sor-marquee-wrap .elementor-widget-html { position: absolute; width: 0; height: 0; overflow: hidden; }
.sor-marquee-text, .sor-marquee-text .elementor-widget-container { width: 100%; margin: 0 !important; }
.sor-marquee-track { display: flex; width: max-content; animation: sor-marquee var(--sor-marquee-duration, 120s) linear infinite; }
.sor-marquee-item { white-space: nowrap; padding: 18px 64px 18px 0; color: #EDEDF2; font-family: "Space Grotesk", sans-serif; font-size: 20px; font-weight: 500; letter-spacing: 0.2px; }
.sor-marquee-item { display: inline-flex; align-items: center; }
.sor-marquee-label { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; margin-right: 18px; padding: 5px 14px 5px 6px; background: #E63946; color: #FFFFFF; border-radius: 999px; font-family: "Space Grotesk", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; line-height: 1; }
.sor-marquee-logo { width: 22px; height: 22px; border-radius: 50%; background: #FFFFFF; padding: 2px; object-fit: contain; display: block; }
.sor-marquee-wrap:hover .sor-marquee-track, .sor-marquee-wrap:focus-within .sor-marquee-track, .sor-marquee-wrap.sor-marquee-paused .sor-marquee-track { animation-play-state: paused; }
.sor-marquee-wrap:focus-visible { outline: 2px solid #E63946; outline-offset: -2px; }
@keyframes sor-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 767px) { .sor-marquee-item { font-size: 16px; padding: 14px 40px 14px 0; } .sor-marquee-label { font-size: 11px; padding: 4px 12px 4px 5px; margin-right: 14px; } .sor-marquee-logo { width: 18px; height: 18px; } }
@media (prefers-reduced-motion: reduce) {
	.sor-marquee-track { animation: none; width: 100%; flex-wrap: wrap; }
	.sor-marquee-item { white-space: normal; padding: 20px 24px; text-align: center; }
	.sor-marquee-item[aria-hidden="true"] { display: none; }
	.sor-marquee-item { display: block; }
	.sor-marquee-label { margin: 0 auto 12px; }
}
/* Homepage hero buttons: always side by side */
.sor-hero-cta-row .elementor-button { white-space: nowrap; }
@media (max-width: 360px) { .sor-hero-cta-row .elementor-button { font-size: 13px !important; padding: 11px 12px !important; } }

/* Hero video: mute / unmute */
.sor-hero-sound { position: absolute; top: 14px; right: 14px; z-index: 3; width: 44px; height: 44px; display: none; align-items: center; justify-content: center; border-radius: 50%; border: 0 !important; background: rgba(15,15,22,0.72) !important; color: #EDEDF2 !important; cursor: pointer; padding: 0 !important; }
.sor-hero-media[data-state="video"] .sor-hero-sound { display: inline-flex; }
.sor-hero-sound:hover, .sor-hero-sound:focus-visible { background: #E63946 !important; outline: 2px solid #EDEDF2; outline-offset: 2px; }
.sor-hero-sound .sor-snd-off { display: none; }
.sor-hero-media[data-muted="true"] .sor-hero-sound .sor-snd-on { display: none; }
.sor-hero-media[data-muted="true"] .sor-hero-sound .sor-snd-off { display: inline-flex; }
.sor-hero-sound span { display: inline-flex; }

/* ===== Mush Mush style (site-wide) - dots, slime drip, marshmallow band ===== */
:root { --sor-dots-dark: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Ccircle%20cx%3D%2238%22%20cy%3D%2242%22%20r%3D%2214%22%20fill%3D%22%23D4803F%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%2296%22%20r%3D%228%22%20fill%3D%22%238C7BC0%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22212%22%20cy%3D%2236%22%20r%3D%2211%22%20fill%3D%22%235B8FC7%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22110%22%20r%3D%2216%22%20fill%3D%22%23A3B85A%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22384%22%20cy%3D%2254%22%20r%3D%229%22%20fill%3D%22%23D1AE5F%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%22178%22%20r%3D%2210%22%20fill%3D%22%23A3B85A%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22170%22%20cy%3D%22210%22%20r%3D%2215%22%20fill%3D%22%23D4803F%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22262%22%20cy%3D%22186%22%20r%3D%227%22%20fill%3D%22%238C7BC0%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22352%22%20cy%3D%22236%22%20r%3D%2212%22%20fill%3D%22%235B8FC7%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%2230%22%20cy%3D%22300%22%20r%3D%2212%22%20fill%3D%22%23D1AE5F%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22118%22%20cy%3D%22332%22%20r%3D%229%22%20fill%3D%22%235B8FC7%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22214%22%20cy%3D%22300%22%20r%3D%2213%22%20fill%3D%22%23A3B85A%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22318%22%20cy%3D%22352%22%20r%3D%2210%22%20fill%3D%22%23D4803F%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22396%22%20cy%3D%22318%22%20r%3D%227%22%20fill%3D%22%238C7BC0%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22150%22%20cy%3D%22398%22%20r%3D%2211%22%20fill%3D%22%23D1AE5F%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%22270%22%20cy%3D%22404%22%20r%3D%228%22%20fill%3D%22%23A3B85A%22%20fill-opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%22250%22%20r%3D%229%22%20fill%3D%22none%22%20stroke%3D%22%23EDEDF2%22%20stroke-opacity%3D%220.14%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22244%22%20cy%3D%22120%22%20r%3D%227%22%20fill%3D%22none%22%20stroke%3D%22%23EDEDF2%22%20stroke-opacity%3D%220.14%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22340%22%20cy%3D%22168%22%20r%3D%226%22%20fill%3D%22none%22%20stroke%3D%22%23EDEDF2%22%20stroke-opacity%3D%220.14%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22190%22%20cy%3D%22352%22%20r%3D%228%22%20fill%3D%22none%22%20stroke%3D%22%23EDEDF2%22%20stroke-opacity%3D%220.14%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%22370%22%20r%3D%226%22%20fill%3D%22none%22%20stroke%3D%22%23EDEDF2%22%20stroke-opacity%3D%220.14%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22400%22%20cy%3D%22190%22%20r%3D%227%22%20fill%3D%22none%22%20stroke%3D%22%23EDEDF2%22%20stroke-opacity%3D%220.14%22%20stroke-width%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); --sor-dots-bold: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22420%22%20height%3D%22420%22%20viewBox%3D%220%200%20420%20420%22%3E%3Ccircle%20cx%3D%2238%22%20cy%3D%2242%22%20r%3D%2217%22%20fill%3D%22%23D4803F%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%2296%22%20r%3D%2211%22%20fill%3D%22%234A3F63%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22212%22%20cy%3D%2236%22%20r%3D%2214%22%20fill%3D%22%233A6187%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22110%22%20r%3D%2219%22%20fill%3D%22%239AAE4C%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22384%22%20cy%3D%2254%22%20r%3D%2212%22%20fill%3D%22%23C8A55A%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%22178%22%20r%3D%2213%22%20fill%3D%22%239AAE4C%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22170%22%20cy%3D%22210%22%20r%3D%2218%22%20fill%3D%22%23D4803F%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22262%22%20cy%3D%22186%22%20r%3D%2210%22%20fill%3D%22%234A3F63%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22352%22%20cy%3D%22236%22%20r%3D%2215%22%20fill%3D%22%233A6187%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2230%22%20cy%3D%22300%22%20r%3D%2215%22%20fill%3D%22%23C8A55A%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22118%22%20cy%3D%22332%22%20r%3D%2212%22%20fill%3D%22%233A6187%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22214%22%20cy%3D%22300%22%20r%3D%2216%22%20fill%3D%22%239AAE4C%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22318%22%20cy%3D%22352%22%20r%3D%2213%22%20fill%3D%22%23D4803F%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22396%22%20cy%3D%22318%22%20r%3D%2210%22%20fill%3D%22%234A3F63%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22150%22%20cy%3D%22398%22%20r%3D%2214%22%20fill%3D%22%23C8A55A%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22270%22%20cy%3D%22404%22%20r%3D%2211%22%20fill%3D%22%239AAE4C%22%20fill-opacity%3D%220.85%22%20stroke%3D%22%231E1E29%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%22250%22%20r%3D%2211%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%232A2A38%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22244%22%20cy%3D%22120%22%20r%3D%229%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%232A2A38%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22340%22%20cy%3D%22168%22%20r%3D%228%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%232A2A38%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22190%22%20cy%3D%22352%22%20r%3D%2210%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%232A2A38%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%22370%22%20r%3D%228%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%232A2A38%22%20stroke-width%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%22400%22%20cy%3D%22190%22%20r%3D%229%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%232A2A38%22%20stroke-width%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); --sor-slime: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22356%22%20height%3D%2234%22%20viewBox%3D%220%200%20356%2034%22%3E%3Cpath%20d%3D%22M0%200H356V10C340%2010%20338%2028%20328%2028C318%2028%20320%2012%20300%2012C285%2012%20286%2022%20270%2022C258%2022%20260%2010%20240%2010C222%2010%20224%2031%20210%2031C197%2031%20200%2011%20178%2011C160%2011%20163%2020%20148%2020C135%2020%20138%209%20118%209C100%209%20104%2026%2090%2026C77%2026%2080%2012%2060%2012C44%2012%2046%2022%2032%2022C20%2022%2022%2010%200%2010Z%22%20fill%3D%22%237FA23A%22%2F%3E%3Cpath%20d%3D%22M0%200H356V6C300%208%20240%205%20178%207C120%209%2060%205%200%207Z%22%20fill%3D%22%239CB84A%22%2F%3E%3Cellipse%20cx%3D%22210%22%20cy%3D%2226%22%20rx%3D%222%22%20ry%3D%223%22%20fill%3D%22%23C9DE7E%22%20fill-opacity%3D%220.8%22%2F%3E%3Cellipse%20cx%3D%2290%22%20cy%3D%2221%22%20rx%3D%221.6%22%20ry%3D%222.4%22%20fill%3D%22%23C9DE7E%22%20fill-opacity%3D%220.8%22%2F%3E%3Cellipse%20cx%3D%22328%22%20cy%3D%2223%22%20rx%3D%221.8%22%20ry%3D%222.6%22%20fill%3D%22%23C9DE7E%22%20fill-opacity%3D%220.8%22%2F%3E%3C%2Fsvg%3E"); }
body:not(.single-comic) { background-image: var(--sor-dots-dark) !important; background-repeat: repeat !important; background-size: 420px 420px !important; }
.e-con.e-parent { background-image: var(--sor-dots-dark); background-repeat: repeat; background-size: 420px 420px; }
#masthead .e-con, .e-loop-item .e-con, body.single-comic .elementor-location-single .e-con { background-image: none !important; }
#masthead { background: var(--sor-slime) repeat-x left bottom / 356px 26px !important; padding-bottom: 22px !important; }
.elementor-47 .elementor-element.elementor-element-popular-section { background-color: #FAFAF7 !important; background-image: var(--sor-slime), var(--sor-dots-bold) !important; background-repeat: repeat-x, repeat !important; background-position: left top, 0 0 !important; background-size: 356px 26px, 420px 420px !important; }
.elementor-47 .elementor-element.elementor-element-popular-heading .elementor-heading-title { color: #14141C !important; }
@media (max-width: 767px) { body:not(.single-comic), .e-con.e-parent { background-size: 300px 300px !important; } .elementor-47 .elementor-element.elementor-element-popular-section { background-size: 300px 22px, 300px 300px !important; } #masthead { background-size: 300px 22px !important; padding-bottom: 18px !important; } }

/* Homepage hero: image + video fill the full section width on desktop (phones unchanged) */
@media (min-width: 1025px) {
	.sor-hero-mission-first { padding-top: 0 !important; }
	.sor-hero-mission-first .elementor-element-hero-media, .sor-hero-mission-first .elementor-element-hero-media .elementor-widget-container { width: 100% !important; max-width: none !important; }
	.sor-hero-media { max-width: none; width: 100%; aspect-ratio: auto; height: min(82vh, 860px); max-height: none; border-radius: 0; border: 0; border-bottom: 1px solid #2A2A38; }
	.sor-hero-mission { object-fit: contain; }
	.sor-hero-video { object-fit: cover; object-position: center; }
	.sor-hero-play { right: 28px; bottom: 28px; }
	.sor-hero-sound { top: 22px; right: 28px; }
}

/* Hero mission image: beat Elementor's global '.elementor img { height:auto }' so the whole image fits the frame */
.sor-hero-media img.sor-hero-mission, .sor-hero-media video.sor-hero-video { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; }
.sor-hero-media img.sor-hero-mission { object-fit: contain !important; object-position: center !important; }

/* ===== Homepage: hero / latest / genre / community / social sections switched to white + bold dots ===== */
/* Scoped to these specific sections only - the site-wide dark-page rule and every other page are untouched. */
.elementor-47 .elementor-element.elementor-element-hero,
.elementor-47 .elementor-element.elementor-element-latest-section,
.elementor-47 .elementor-element.elementor-element-genre-section,
.elementor-47 .elementor-element.elementor-element-community-section,
.elementor-47 .elementor-element.elementor-element-social-section,
.sor-marquee-wrap {
	background-color: #FAFAF7 !important;
	background-image: var(--sor-dots-bold) !important;
	background-repeat: repeat !important;
	background-size: 420px 420px !important;
}
@media (max-width: 767px) {
	.elementor-47 .elementor-element.elementor-element-hero,
	.elementor-47 .elementor-element.elementor-element-latest-section,
	.elementor-47 .elementor-element.elementor-element-genre-section,
	.elementor-47 .elementor-element.elementor-element-community-section,
	.elementor-47 .elementor-element.elementor-element-social-section,
	.sor-marquee-wrap { background-size: 300px 300px !important; }
}
/* Text that sits directly on those backgrounds (not inside a solid card) needs to flip to dark */
.elementor-element-latest-heading .elementor-heading-title,
.elementor-element-genre-heading .elementor-heading-title,
.elementor-element-community-heading .elementor-heading-title,
.elementor-element-social-heading .elementor-heading-title,
.sor-marquee-item { color: #14141C !important; }
.elementor-element-community-subtext, .elementor-element-community-subtext p,
.elementor-element-social-subtext, .elementor-element-social-subtext p { color: #4A4A57 !important; }
.elementor-element-community-tag { color: #C62D39 !important; }
/* Outline button + genre pills: were light-on-dark, now need a dark border/text on the white section (active pill state is untouched - it already has higher-specificity red styling) */
.elementor-element-hero-cta-secondary .elementor-button,
[data-genre-group="home"].elementor-button { border-color: #2A2A38 !important; color: #14141C !important; }
.elementor-element-hero-cta-secondary .elementor-button:hover,
[data-genre-group="home"].elementor-button:hover { border-color: #14141C !important; color: #14141C !important; }
/* Genre results card (JS-rendered) also gets the translucent treatment, to match the loop/popular cards */
.sor-gf-card { background: rgba(30,30,41,0.88) !important; }
/* ===== Readability on the white / dotted sections ===== */
/* The bold dot pattern was made for a band behind cards, not behind body text. Behind
   text it competes badly, so: soften it on white sections, give pills a solid fill so
   they read as buttons, and darken the body text. */
/* 1. Softer dots on white sections - a translucent white veil over the pattern only */
.sor-white-sec { position: relative; }
.sor-white-sec::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: rgba(250,250,247,0.18); }
.sor-white-sec > * { position: relative; z-index: 1; }
/* 2. Genre pills + hero outline button: solid white fill, strong border, dark text.
      The active (red) pill state has its own higher-specificity rule and is unaffected. */
[data-genre-group].elementor-button:not(.sor-pill-active), .elementor-element-hero-cta-secondary .elementor-button {
	background-color: #FFFFFF !important; border-color: #14141C !important; border-width: 2px !important; color: #14141C !important; font-weight: 600 !important;
}
[data-genre-group].elementor-button:not(.sor-pill-active):hover, .elementor-element-hero-cta-secondary .elementor-button:hover {
	background-color: #14141C !important; border-color: #14141C !important; color: #FFFFFF !important;
}
/* 3. Body text on the white sections: dark enough to read over the pattern */
.elementor-element-community-subtext, .elementor-element-community-subtext p, .elementor-element-social-subtext, .elementor-element-social-subtext p { color: #16161F !important; }

/* ===== GROUP 1: comics pages switched to white (Comics, Genres, Collections, Series) ===== */
/* Added last so it overrides the earlier dark rules for these page types. The dot pattern
   is layered under a translucent white veil, matching the homepage treatment. */
body.tax-genres, body.tax-collections, body.single-series, body.page-id-11, body.page-id-58,
body.tax-genres .row, body.tax-collections .row, body.single-series .row,
body.page-id-11 .elementor {
	background-color: #FAFAF7 !important;
	background-image: linear-gradient(rgba(250,250,247,0.18), rgba(250,250,247,0.18)), var(--sor-dots-bold) !important;
	background-repeat: repeat !important;
	background-size: auto, 420px 420px !important;
}
/* Inner content wrappers: transparent, so the page pattern shows through */
body.tax-genres #left-col, body.tax-genres #left-content, body.tax-genres article, body.tax-genres .page-header, body.tax-genres .entry-header, body.tax-genres .entry-content,
body.tax-collections #left-col, body.tax-collections #left-content, body.tax-collections article, body.tax-collections .page-header, body.tax-collections .entry-header, body.tax-collections .entry-content,
body.single-series #left-col, body.single-series #left-content, body.single-series article, body.single-series .entry-header, body.single-series .entry-content {
	background: transparent !important;
}
/* Headings and body text flip to dark */
body.tax-genres h1, body.tax-genres h2, body.tax-genres h3, body.tax-genres .page-title, body.tax-genres .entry-title,
body.tax-collections h1, body.tax-collections h2, body.tax-collections h3, body.tax-collections .page-title, body.tax-collections .entry-title,
body.single-series h1, body.single-series h2, body.single-series h3, body.single-series .entry-title {
	color: #14141C !important;
}
body.tax-genres p, body.tax-collections p, body.single-series p,
body.tax-genres .entry-content, body.tax-collections .entry-content, body.single-series .entry-content {
	color: #16161F !important;
}
/* Series / comic hover cards stay dark and translucent - they sit over cover art,
   exactly like the homepage cards. Only nudged slightly more opaque for contrast. */
body.tax-genres .series-rollover, body.single-series .series-rollover,
body.tax-collections .series-rollover, body.tax-collections .comic-rollover {
	background: rgba(20, 20, 28, 0.9) !important;
}
/* Genres index + Comics page (Elementor): sections transparent so the page pattern shows */
body.page-id-11 .elementor-11 > .e-con.e-parent, body.page-id-58 .elementor-58 > .e-con.e-parent { background-image: none !important; background-color: transparent !important; }
body.page-id-11 .elementor-heading-title, body.page-id-58 .elementor-heading-title { color: #14141C !important; }
@media (max-width: 767px) {
	body.tax-genres, body.tax-collections, body.single-series, body.page-id-11, body.page-id-58,
	body.tax-genres .row, body.tax-collections .row, body.single-series .row, body.page-id-11 .elementor { background-size: auto, 300px 300px !important; }
}

/* Comics page filter buttons: plain archive links, so not covered by the pill rule above.
   Same solid-white treatment so they stay visible on the white background. */
.elementor-element-catalog-filter-slice .elementor-button,
.elementor-element-catalog-filter-supernatural .elementor-button,
.elementor-element-catalog-filter-comedy .elementor-button {
	background-color: #FFFFFF !important; border-color: #14141C !important; border-width: 2px !important; color: #14141C !important; font-weight: 600 !important;
}
.elementor-element-catalog-filter-slice .elementor-button:hover,
.elementor-element-catalog-filter-supernatural .elementor-button:hover,
.elementor-element-catalog-filter-comedy .elementor-button:hover {
	background-color: #14141C !important; color: #FFFFFF !important;
}

/* ===== GROUP 1 fixes ===== */
/* 1. .col-lg-8 is the main content column and forces its own dark background with
      !important - it was missed in the first pass, leaving a dark block on the page. */
body.tax-genres .col-lg-8, body.tax-collections .col-lg-8, body.single-series .col-lg-8,
body.tax-genres .col-lg-9, body.tax-collections .col-lg-9, body.single-series .col-lg-9 {
	background: transparent !important;
}
/* 2. Archive/series titles and text - stronger selectors to beat the theme defaults */
body.tax-genres .page-title, body.tax-genres h1, body.tax-genres h2, body.tax-genres h3,
body.tax-collections .page-title, body.tax-collections h1, body.tax-collections h2, body.tax-collections h3,
body.single-series .entry-title, body.single-series h1, body.single-series h2, body.single-series h3,
body.tax-genres .entry-title, body.tax-collections .entry-title {
	color: #14141C !important;
}
/* 3. The thumbnail frame behind each cover was dark-on-dark; now a light card on white */
body.tax-genres .series-thumbnail-wrapper, body.tax-collections .series-thumbnail-wrapper,
body.single-series .series-thumbnail-wrapper {
	background: #FFFFFF !important; border: 1px solid #D8D8DE !important;
}
/* 4. Active genre pill: white text, no underline (was inheriting a dark link colour) */
[data-genre].sor-pill-active, [data-genre].sor-pill-active:hover {
	background-color: #E63946 !important; border-color: #E63946 !important; color: #FFFFFF !important; text-decoration: none !important; font-weight: 700 !important;
}
[data-genre].sor-pill-active .elementor-button-text { color: #FFFFFF !important; text-decoration: none !important; }
/* 5. Genre result card: was translucent, so the dotted background showed through and
      made the text hard to read. Now solid. */
.sor-gf-card { background: #1E1E29 !important; }
.sor-gf-excerpt { color: #C9C9D6 !important; }

/* Genre result card thumbnail: was a small square crop that cut off the wide cover art.
   Now wider, showing the whole cover. */
.sor-gf-card img { width: 150px !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: contain !important; background: #14141C; border-radius: 8px; align-self: flex-start; }
@media (max-width: 767px) { .sor-gf-card { align-items: flex-start !important; } .sor-gf-card img { width: 110px !important; } }

/* ===== GROUP 2: shop pages switched to white (Shop, Product, Cart, Checkout, Account) ===== */
body.woocommerce-page, body.woocommerce-shop, body.woocommerce-cart, body.woocommerce-account, body.woocommerce-checkout, .sor-product {
	background-color: #FAFAF7 !important; background-image: linear-gradient(rgba(250,250,247,0.18), rgba(250,250,247,0.18)), var(--sor-dots-bold) !important; background-repeat: repeat !important; background-size: auto, 420px 420px !important;
}
/* Headings, body text and links */
body.woocommerce-page h1, body.woocommerce-page h2, body.woocommerce-page h3,
body.woocommerce-page .woocommerce-products-header__title, body.woocommerce-page legend,
body.woocommerce-account #customer_login h2,
.sor-product .product_title, .sor-product .elementor-widget-woocommerce-product-title .elementor-heading-title,
.sor-product .related > h2 { color: #14141C !important; }
body.woocommerce-page p, body.woocommerce-page td, body.woocommerce-page li, body.woocommerce-page label, body.woocommerce-page .woocommerce-breadcrumb,
.sor-product .woocommerce-product-details__short-description, .sor-product .woocommerce-product-details__short-description p,
.sor-product .woocommerce-product-details__short-description li, .sor-product .woocommerce-variation-description p { color: #16161F !important; }
.sor-product .woocommerce-product-details__short-description strong { color: #14141C !important; }
body.woocommerce-page a { color: #14141C; }
body.woocommerce-page a:hover { color: #C62D39; }
/* Price: the gold was made for a dark background and is unreadable on white */
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price,
.sor-product .price, .sor-product .price .amount, .sor-product .woocommerce-variation-price .price { color: #8A5F00 !important; }
.sor-product .woocommerce-variation-availability .stock { color: #8A5F00 !important; }
/* Product cards, tables, panels and account nav: white cards with light borders */
.woocommerce ul.products li.product,
.woocommerce table.shop_table, .woocommerce table.woocommerce-orders-table,
.cart_totals, .woocommerce-checkout-review-order, .wc-block-components-totals-wrapper,
.woocommerce-MyAccount-navigation ul li,
body.woocommerce-account #customer_login, body.woocommerce-account .woocommerce-MyAccount-content, body.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #FFFFFF !important; border-color: #D8D8DE !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: #14141C !important; }
.woocommerce table.shop_table th, .woocommerce table.woocommerce-orders-table th { background: #F0F0EE !important; color: #14141C !important; }
.woocommerce table.shop_table td, .woocommerce table.woocommerce-orders-table td { color: #16161F !important; border-top-color: #E2E2E6 !important; }
/* Form fields */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.sor-product table.variations select, .wc-block-components-text-input input {
	background: #FFFFFF !important; color: #14141C !important; border-color: #B9B9C2 !important;
}
.sor-product table.variations th.label label { color: #16161F !important; }
/* Product gallery + meta on the product page */
.sor-product-media .woocommerce-product-gallery img { border-color: #D8D8DE !important; }
.sor-product .product_meta { color: #4A4A57 !important; }
.sor-product .product_meta .detail-label { color: #4A4A57 !important; }
.sor-product .product_meta .sku, .sor-product .product_meta .detail-content, .sor-product .product_meta a { color: #16161F !important; }
/* Outline 'Read the free preview' button */
.sor-preview-btn { border-color: #14141C !important; color: #14141C !important; background: #FFFFFF !important; border-width: 2px !important; }
.sor-preview-btn:hover { background: #14141C !important; color: #FFFFFF !important; border-color: #14141C !important; }
/* Variation description panel */
.sor-product .woocommerce-variation-description p { background: #FFFFFF !important; border-color: #D8D8DE !important; }
@media (max-width: 767px) {
	body.woocommerce-page, body.woocommerce-shop, body.woocommerce-cart, body.woocommerce-account, body.woocommerce-checkout, .sor-product { background-size: auto, 300px 300px !important; }
}

/* ===== GROUP 1/2 fixes: footer + faded text ===== */
/* 1. BUG: the earlier rule made every top-level Elementor container transparent on the
      Genres and Comics pages - which also hit the FOOTER, leaving its light text on
      white. Re-assert the footer's own dark background everywhere, always. */
#colophon .e-con.e-parent, footer .e-con.e-parent,
.elementor-283 .e-con.e-parent, .elementor-element-footer-wrap {
	background-color: #16161F !important;
	background-image: var(--sor-dots-dark) !important;
	background-repeat: repeat !important;
	background-size: 420px 420px !important;
}
@media (max-width: 767px) {
	#colophon .e-con.e-parent, footer .e-con.e-parent,
	.elementor-283 .e-con.e-parent, .elementor-element-footer-wrap { background-size: 300px 300px !important; }
}
/* Footer text stays light, since the footer stays dark */
#colophon, #colophon p, #colophon a, footer .elementor-283 a { color: #C9C9D6 !important; }
#colophon a:hover, footer .elementor-283 a:hover { color: #E63946 !important; }
/* 2. Comics page: subtitle and card text were built for a dark background */
.elementor-element-catalog-subtitle, .elementor-element-catalog-subtitle p { color: #16161F !important; }
/* Comics page series card: solid dark, matching the homepage cards, so its light text reads */
.elementor-element-cat-card-1 { background-color: #16161F !important; border: 1px solid #2A2A38 !important; }
/* 3. Genres page heading/subtitle on white */
body.page-id-11 .elementor-widget-text-editor, body.page-id-11 .elementor-widget-text-editor p { color: #16161F !important; }



/* ===== Header + footer: always span the full screen width ===== */
/* If either is sitting inside a centred/constrained parent, this breaks it out to the
   full viewport width. Where they are already full width this changes nothing, so it
   is safe on every page. Height and padding are untouched. */
#masthead, #colophon {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* ===== GROUP 3: About + Community (BuddyPress/Jetonomy) switched to white ===== */
body.page-id-67, body.buddypress, body.buddypress-template-elementor_canvas, body.groups, body.activity,
body.page-id-452, body.page-id-75, body.page-id-76, body.page-id-783,
body.buddypress .row, body.groups .row {
	background-color: #FAFAF7 !important; background-image: linear-gradient(rgba(250,250,247,0.18), rgba(250,250,247,0.18)), var(--sor-dots-bold) !important; background-repeat: repeat !important; background-size: auto, 420px 420px !important;
}
/* About page sections sit on the page pattern */
body.page-id-67 .elementor-67 > .e-con.e-parent { background-color: transparent !important; background-image: none !important; }
/* About page text flips to dark (the red pillar titles already read fine on white) */
.elementor-element-about-title .elementor-heading-title, .elementor-element-about-story-heading .elementor-heading-title,
.elementor-element-about-video-heading .elementor-heading-title, .elementor-element-about-mission-heading .elementor-heading-title,
.elementor-element-about-mission-img-heading .elementor-heading-title, .elementor-element-about-cta-heading .elementor-heading-title {
	color: #14141C !important;
}
.elementor-element-about-hero-sub, .elementor-element-about-hero-sub p,
.elementor-element-about-story-text, .elementor-element-about-story-text p,
.elementor-element-about-pillar-1-text, .elementor-element-about-pillar-1-text p,
.elementor-element-about-pillar-2-text, .elementor-element-about-pillar-2-text p,
.elementor-element-about-pillar-3-text, .elementor-element-about-pillar-3-text p { color: #16161F !important; }
.elementor-element-about-tag { color: #C62D39 !important; }
/* Community (BuddyPress): wrappers transparent, text dark, cards white */
body.buddypress #left-col, body.buddypress #left-content, body.buddypress .col-lg-8, body.buddypress .col-lg-9,
body.groups #left-col, body.groups #left-content, body.groups .col-lg-8, body.groups .col-lg-9 { background: transparent !important; }
#buddypress h1, #buddypress h2, #buddypress h3, #buddypress .entry-title { color: #14141C !important; }
#buddypress, #buddypress p, #buddypress li, #buddypress td, #buddypress label, #buddypress .activity-header, #buddypress .activity-content { color: #16161F !important; }
#buddypress .activity-list > li, #buddypress ul.item-list > li, #buddypress #item-header, #buddypress .groups-header,
#buddypress .bp-feedback, #buddypress #whats-new-form, #buddypress .activity-update-form {
	background: #FFFFFF !important; border-color: #D8D8DE !important; color: #16161F !important;
}
#buddypress textarea, #buddypress input[type="text"], #buddypress input[type="email"], #buddypress input[type="password"], #buddypress input[type="search"], #buddypress select {
	background: #FFFFFF !important; color: #14141C !important; border-color: #B9B9C2 !important;
}
#buddypress .bp-navs ul li a, #buddypress .component-navigation a { color: #4A4A57 !important; }
#buddypress .bp-navs ul li.current a, #buddypress .bp-navs ul li.selected a { color: #14141C !important; }
@media (max-width: 767px) {
	body.page-id-67, body.buddypress, body.groups, body.activity, body.buddypress .row, body.groups .row { background-size: auto, 300px 300px !important; }
}

/* ===== GROUP 4: comic reader switched to white ===== */
/* The comic pages carry their own white print margins, so a white page blends with the
   artwork instead of framing it. The reader strip itself stays plain (no dots behind
   the pages) so nothing competes with the comic. */
body.single-comic {
	background-color: #FAFAF7 !important; background-image: linear-gradient(rgba(250,250,247,0.18), rgba(250,250,247,0.18)), var(--sor-dots-bold) !important; background-repeat: repeat !important; background-size: auto, 420px 420px !important;
}
body.single-comic .row, body.single-comic .col-lg-8, body.single-comic .col-lg-9,
body.single-comic #left-col, body.single-comic #left-content, body.single-comic article,
body.single-comic .entry-header, body.single-comic .entry-content { background: transparent !important; }
body.single-comic h1, body.single-comic h2, body.single-comic h3, body.single-comic .entry-title { color: #14141C !important; }
body.single-comic p, body.single-comic li, body.single-comic td { color: #16161F !important; }
/* Transcript panel, comments and share icons: light cards with dark text */
body.single-comic .panel, body.single-comic .panel-heading, body.single-comic .panel-body {
	background: #FFFFFF !important; border-color: #D8D8DE !important; color: #16161F !important;
}
body.single-comic .panel-heading a, body.single-comic .panel-title a { color: #14141C !important; }
body.single-comic .form-control { background: #FFFFFF !important; color: #14141C !important; border-color: #B9B9C2 !important; }
body.single-comic #comic-social a, body.single-comic .single-comic-navigation a, body.single-comic #comic-analytics a { color: #14141C !important; }
body.single-comic #comic-social a:hover, body.single-comic .single-comic-navigation a:hover { color: #C62D39 !important; }
/* Paywall prompt: light card so it matches the rest of the page */
body.single-comic .comic-paywall-prompt { background: #FFFFFF !important; border-color: #D8D8DE !important; }
body.single-comic .comic-paywall-prompt p:first-child { color: #14141C !important; }
body.single-comic .comic-paywall-prompt p { color: #4A4A57 !important; }
body.single-comic .comic-paywall-prompt strong { color: #14141C !important; }
@media (max-width: 767px) { body.single-comic { background-size: auto, 300px 300px !important; } }

/* ===== About page: hero, pillar cards and CTA on the white theme ===== */
/* Hero text now sits on a light overlay, so it must be dark */
.elementor-element-about-title .elementor-heading-title { color: #14141C !important; }
.elementor-element-about-hero-sub, .elementor-element-about-hero-sub p { color: #16161F !important; }
/* Pillar cards are translucent now, so their text reads dark */
.elementor-element-about-pillar-1-text, .elementor-element-about-pillar-1-text p,
.elementor-element-about-pillar-2-text, .elementor-element-about-pillar-2-text p,
.elementor-element-about-pillar-3-text, .elementor-element-about-pillar-3-text p { color: #16161F !important; }
/* 'Join the Community' outline button: same solid-white treatment as the rest of the site */
.elementor-element-about-cta-btn-2 .elementor-button {
	background-color: #FFFFFF !important; border-color: #14141C !important; border-width: 2px !important; color: #14141C !important; font-weight: 600 !important;
}
.elementor-element-about-cta-btn-2 .elementor-button:hover { background-color: #14141C !important; color: #FFFFFF !important; }
/* Keep both CTA buttons on one line on small screens */
.elementor-element-about-cta-row .elementor-button { white-space: nowrap; }
@media (max-width: 480px) { .elementor-element-about-cta-row .elementor-button { font-size: 13px !important; padding: 11px 14px !important; } }

/* ===== GROUP 3b: Jetonomy community pages switched to white ===== */
/* Jetonomy is built on its own CSS variables, so setting those converts the whole
   interface in one go - cards, borders, inputs, nav and menus all follow. */
body.jt-page #jetonomy-app, body.jt-page .jt-app {
	--jt-text: #14141C;
	--jt-text-secondary: #3A3A47;
	--jt-text-tertiary: #5A5A66;
	--jt-bg: #FFFFFF;
	--jt-surface: #FFFFFF;
	--jt-bg-subtle: #F7F7F4;
	--jt-bg-muted: #F0F0EE;
	--jt-bg-hover: #F2F2F0;
	--jt-border: #D8D8DE;
	--jt-border-strong: #B9B9C2;
	--jt-accent: #E63946;
	--jt-accent-hover: #C62D39;
	color: #14141C;
}
/* Page background matches the rest of the site */
body.jt-page {
	background-color: #FAFAF7 !important; background-image: linear-gradient(rgba(250,250,247,0.18), rgba(250,250,247,0.18)), var(--sor-dots-bold) !important; background-repeat: repeat !important; background-size: auto, 420px 420px !important;
}
body.jt-page .row, body.jt-page #left-col, body.jt-page #left-content, body.jt-page .site-content,
body.jt-page .col-lg-8, body.jt-page .col-lg-9, body.jt-page article, body.jt-page .entry-content { background: transparent !important; }
/* Override the earlier dark text rules for this page */
body.jt-page .entry-title, body.jt-page .page-title,
body.jt-page #jetonomy-app h1, body.jt-page #jetonomy-app h2, body.jt-page #jetonomy-app h3,
body.jt-page #jetonomy-app h4, body.jt-page #jetonomy-app h5 { color: #14141C !important; }
body.jt-page #jetonomy-app p, body.jt-page #jetonomy-app li, body.jt-page #jetonomy-app span { color: #16161F !important; }
body.jt-page #jetonomy-app .jt-nav a, body.jt-page #jetonomy-app .jt-tabs a { color: #4A4A57 !important; }
body.jt-page #jetonomy-app .jt-nav a.active, body.jt-page #jetonomy-app .jt-nav a:hover,
body.jt-page #jetonomy-app .jt-tabs a.active { color: #14141C !important; }
/* Cards and the bottom bar */
body.jt-page #jetonomy-app .jt-card, body.jt-page #jetonomy-app .jt-panel, body.jt-page #jetonomy-app .jt-surface {
	background: #FFFFFF !important; border-color: #D8D8DE !important;
}
body.jt-page #jetonomy-app input, body.jt-page #jetonomy-app textarea, body.jt-page #jetonomy-app select {
	background: #FFFFFF !important; color: #14141C !important; border-color: #B9B9C2 !important;
}
@media (max-width: 767px) { body.jt-page { background-size: auto, 300px 300px !important; } }

/* ===== Remove the empty strip below the footer ===== */
/* Toocheke's stylesheet sets body { margin-bottom: 45px }, which leaves a blank band
   under the footer on every page. */
body { margin-bottom: 0 !important; }

/* Series title promoted from h3 to h1 for SEO - keep its original size */
body.single-series h1.sor-series-title { font-size: 1.75rem; line-height: 1.3; margin: 0 0 12px; }

/* ===== Larger, more readable type across the site ===== */
/* Body copy was too small against the dotted background. Paragraphs get the biggest
   lift, with headings raised proportionally. Uses rem/px with !important so it beats
   Elementor's per-widget sizes. */
body, body p, body li, body td, body dd, body label,
.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li,
#buddypress p, #buddypress li, .sor-gf-excerpt {
	font-size: 18px !important;
	line-height: 1.7 !important;
}
/* Product and shop copy */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px !important; }
.sor-product .woocommerce-product-details__short-description, .sor-product .woocommerce-product-details__short-description p,
.sor-product .woocommerce-product-details__short-description li, .sor-product .woocommerce-variation-description p { font-size: 18px !important; line-height: 1.7 !important; }
/* Headings up a step */
h1, .elementor-widget-heading h1.elementor-heading-title { font-size: 44px !important; line-height: 1.2 !important; }
h2, .elementor-widget-heading h2.elementor-heading-title { font-size: 34px !important; line-height: 1.25 !important; }
h3, .elementor-widget-heading h3.elementor-heading-title { font-size: 26px !important; line-height: 1.3 !important; }
/* Buttons and menu */
.elementor-button, .woocommerce .button, button, input[type=submit] { font-size: 17px !important; }
.elementor-nav-menu .elementor-item { font-size: 17px !important; }
/* The moving mission strip */
.sor-marquee-item { font-size: 22px !important; }
/* Small print stays small, but not tiny */
.sor-product .product_meta, .sor-gf-msg { font-size: 15px !important; }
@media (max-width: 767px) {
	body, body p, body li, body td, body label,
	.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li { font-size: 17px !important; line-height: 1.65 !important; }
	h1, .elementor-widget-heading h1.elementor-heading-title { font-size: 32px !important; }
	h2, .elementor-widget-heading h2.elementor-heading-title { font-size: 26px !important; }
	h3, .elementor-widget-heading h3.elementor-heading-title { font-size: 21px !important; }
	.sor-marquee-item { font-size: 18px !important; }
}

/* ===== Block-based Cart & Checkout (Elementor Canvas template) ===== */
/* These pages render WooCommerce BLOCKS on the Canvas template, so there is no
   .entry-content wrapper to centre and the classic .form-row selectors do not apply.
   Everything below targets the block classes directly. */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .wc-block-cart {
	max-width: 1140px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wp-block-woocommerce-cart { padding-top: 40px !important; padding-bottom: 60px !important; }
/* Form fields: white, not the old dark-theme boxes */
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox-control input.components-combobox-control__input {
	background-color: #FFFFFF !important;
	color: #16161F !important;
	border: 1px solid #C9C9D6 !important;
	border-radius: 8px !important;
	font-size: 16px !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: #E63946 !important; outline: 2px solid rgba(230,57,70,0.25) !important; }
/* Labels and body text on the white background */
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label,
.wc-block-components-checkbox .wc-block-components-checkbox__label,
.wc-block-components-title, .wc-block-components-text-input.is-active label,
.wc-block-components-order-summary-item__description,
.wc-block-components-product-name, .wc-block-components-totals-item__label,
.wc-block-components-totals-item__value, .wc-block-cart__submit-container,
.wc-block-components-sidebar .wc-block-components-panel__button { color: #16161F !important; }
/* Panels and summary cards */
.wc-block-components-sidebar .wc-block-components-order-meta,
.wc-block-components-order-summary, .wc-block-components-totals-wrapper,
.wc-block-components-panel { background: #FFFFFF !important; border-color: #E4E4EC !important; }
/* Place order / proceed buttons keep the brand red */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button { background: #E63946 !important; color: #FFFFFF !important; border-radius: 8px !important; font-size: 17px !important; }
@media (max-width: 782px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout,
	body.woocommerce-cart .wp-block-woocommerce-cart { padding-left: 16px !important; padding-right: 16px !important; padding-top: 24px !important; }
}

/* ===== Shop pagination — overriding an older, more specific theme rule
   (.woocommerce nav.woocommerce-pagination ul li) that was floating items left
   and clipping them with overflow:hidden. Every property that rule set is now
   explicitly reset with !important so there's no ambiguity. ===== */
.woocommerce nav.woocommerce-pagination { text-align: center !important; margin: 36px 0 20px !important; }
.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	list-style: none !important;
	white-space: normal !important;
	gap: 8px !important;
	padding: 0 !important;
	margin: 0 auto !important;
	border: none !important;
	width: auto !important;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
	display: flex !important;
	float: none !important;
	overflow: visible !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce nav.woocommerce-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 42px !important;
	height: 42px !important;
	padding: 0 14px !important;
	border: 1px solid #C9C9D6 !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	color: #14141C !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	line-height: 1 !important;
	text-decoration: none !important;
}
.woocommerce nav.woocommerce-pagination .page-numbers:hover { background: #F3F3F7 !important; color: #14141C !important; }
.woocommerce nav.woocommerce-pagination .page-numbers.current {
	background: #E63946 !important;
	border-color: #E63946 !important;
	color: #FFFFFF !important;
}
.woocommerce nav.woocommerce-pagination .page-numbers.next, .woocommerce nav.woocommerce-pagination .page-numbers.prev { font-size: 18px !important; }

/* ===== Product grid: 3 per row on desktop, 1 per row on mobile ===== */

/* Desktop (and the tablet gap left by the mobile rule below): override the
   theme's columns-4 to 3, matching what the client asked for. */
@media (min-width: 601px) {
	.woocommerce ul.products.columns-4 {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 24px !important;
	}
	.woocommerce ul.products.columns-4 li.product {
		width: 100% !important;
		margin: 0 !important;
		float: none !important;
	}
}
@media (max-width: 600px) {
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
	.woocommerce ul.products li.product {
		width: 100% !important;
		margin: 0 !important;
		float: none !important;
	}
}
}

/* ===== Comics page: genre filter buttons were rendering as bare, unstyled
   Elementor 'link' buttons (no background/border at all) instead of pills —
   that's why they looked like stray loose text under the title. Forcing the
   intended pill style directly, bypassing Elementor's button-type presets. ===== */
#catalog-filter-bar .elementor-button,
#catalog-filter-bar .elementor-button-link {
	display: inline-flex !important;
	align-items: center !important;
	background: transparent !important;
	border: 1px solid #3A3A4A !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	color: #4A4A57 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	font-size: 14px !important;
}
#catalog-filter-bar .elementor-button:hover { border-color: #E63946 !important; color: #E63946 !important; }
/* 'All' pill marked active/selected */
#catalog-filter-bar .elementor-button.sor-pill-active,
#catalog-filter-bar .elementor-button-link.sor-pill-active {
	background: #E63946 !important;
	border-color: #E63946 !important;
	color: #FFFFFF !important;
}
#catalog-filter-bar { flex-wrap: wrap !important; gap: 10px !important; }

/* 'All Comics' page title in red, matching the card titles below it */
#catalog-title.elementor-heading-title, h1#catalog-title, .elementor-element-catalog-title .elementor-heading-title { color: #E63946 !important; }
