/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* =============================================================================
   BEGIN 965PLAY REDESIGN
   Header, mega menu, mobile menu and footer (Figma "965Play Redesign").
   Rollback: delete from BEGIN to END 965PLAY REDESIGN.
   ========================================================================== */

:root {
	--p965-bg: #0f0b16;
	--p965-bg-deep: #0a0710;
	--p965-surface: #15101e;
	--p965-surface-2: #1b1624;
	--p965-border: #2a2238;
	--p965-primary: #6e17c4;
	--p965-purple: #7a1bd8;
	--p965-pink: #ff4fb8;
	--p965-pink-soft: #ff7fcb;
	--p965-blue: #1514e0;
	--p965-lavender: #c7a3ff;
	--p965-text: #f3f0f8;
	--p965-muted: #b4acc6;
	--p965-muted-2: #aea5c2;
	--p965-nav: #b3aac8;
	--p965-dot: #4a3d63;
	--p965-on-pink: #1a0410;
	--p965-thumb-gradient: linear-gradient(135deg, #6a1bd8 14.3%, #e0249a 85.7%);
	--p965-font: "Zain", Arial, Helvetica, sans-serif;
}

/* ---- Shared ---------------------------------------------------------------- */

/* Sticky header: top bar, main bar, categories and neon line stay at the top while the page scrolls.
   position: sticky keeps the header's place in the page flow, so nothing jumps when it sticks. On phones and
   tablets the thin top bar scrolls away first (negative top) and only the logo and search rows stay.
   --p965-hdr-stick is the height that stays on screen; sticky columns, anchor jumps and the mega menu use it. */
:root {
	--p965-hdr-stick: 194px;
	--p965-hdr-hide: 0px;
}

.p965-site-header {
	position: sticky;
	top: calc(var(--wd-admin-bar-h, 0px) - var(--p965-hdr-hide));
	z-index: 400;
	background: var(--p965-bg);
}

html {
	scroll-padding-top: calc(var(--p965-hdr-stick) + 16px);
}

/* WoodMart sticky columns (category filters, product gallery, product tabs bar) stuck 80-150px from the top,
   which is now under the header: keep them just below it. !important: WoodMart's script writes its own offset
   inline once a column sticks. */
@media (min-width: 1025px) {
	body .wd-sticky-container-lg {
		top: calc(var(--wd-admin-bar-h, 0px) + var(--p965-hdr-stick) + 16px) !important;
	}

	body .wd-sticky-container-lg:has(.wd-nav-horizontal) {
		top: calc(var(--wd-admin-bar-h, 0px) + var(--p965-hdr-stick)) !important;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	body .wd-sticky-container-md-sm {
		top: calc(var(--wd-admin-bar-h, 0px) + var(--p965-hdr-stick) + 16px) !important;
	}
}

@media (max-width: 768.98px) {
	body .wd-sticky-container-md {
		top: calc(var(--wd-admin-bar-h, 0px) + var(--p965-hdr-stick) + 16px) !important;
	}
}

@media (max-width: 1024px) {
	:root {
		--p965-hdr-stick: 124px;
		--p965-hdr-hide: 46px;
	}
}

/* WordPress's admin bar scrolls away on small phones. */
@media (max-width: 600px) {
	.p965-site-header {
		top: calc(0px - var(--p965-hdr-hide));
	}
}

.p965-hdr,
.p965-drawer,
.p965-footer {
	direction: rtl;
	font-family: var(--p965-font);
	color: var(--p965-text);
	text-align: right;
	-webkit-font-smoothing: antialiased;
	/* WoodMart's deferred focus outline reads these variables. */
	--wd-otl-color: var(--p965-lavender);
	--wd-otl-style: solid;
	--wd-otl-width: 2px;
}

.p965-hdr *,
.p965-hdr *::before,
.p965-hdr *::after,
.p965-drawer *,
.p965-drawer *::before,
.p965-drawer *::after,
.p965-footer *,
.p965-footer *::before,
.p965-footer *::after {
	box-sizing: border-box;
}

/* Resets use :where() so the component classes below always win. */
:where(.p965-hdr, .p965-drawer, .p965-footer) p {
	margin: 0;
}

:where(.p965-hdr, .p965-drawer, .p965-footer) ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* WoodMart spaces list items; none of the redesign items need that. */
.p965-hdr li,
.p965-drawer li,
.p965-footer li {
	margin: 0;
	padding: 0;
}

:where(.p965-hdr, .p965-drawer, .p965-footer) a {
	color: inherit;
	text-decoration: none;
	transition: color .15s ease, background-color .15s ease;
}

:where(.p965-hdr, .p965-drawer, .p965-footer) a:hover {
	color: inherit;
}

.p965-hdr a:focus-visible,
.p965-hdr button:focus-visible,
.p965-drawer a:focus-visible,
.p965-drawer button:focus-visible,
.p965-footer a:focus-visible,
.p965-footer button:focus-visible,
.p965-footer input:focus-visible {
	outline: 2px solid var(--p965-lavender);
	outline-offset: 2px;
}

.p965-container {
	width: min(1280px, calc(100% - 32px));
	margin-inline: auto;
}

.p965-icon {
	display: block;
	flex: none;
	width: 18px;
	height: 18px;
}

.p965-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.p965-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 45px;
	padding: 0 18px;
	border: 0;
	border-radius: 10px;
	background: var(--p965-primary);
	color: var(--p965-text);
	font: 700 15px/1 var(--p965-font);
	cursor: pointer;
}

.p965-hdr .p965-btn:hover,
.p965-footer .p965-btn:hover {
	background: var(--p965-purple);
	color: var(--p965-text);
}

.p965-iconbtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	background: transparent;
	color: var(--p965-text);
	cursor: pointer;
}

.p965-iconbtn .p965-icon {
	width: 20px;
	height: 20px;
}

.p965-iconbtn:hover {
	border-color: var(--p965-dot);
	background: var(--p965-surface-2);
}

/* WoodMart footer and copyright bar are replaced by .p965-footer. */
.wd-footer.footer-container {
	display: none;
}

/* ---- Header: top bar ------------------------------------------------------- */

.p965-topbar {
	height: 40px;
	background: var(--p965-bg-deep);
}

.p965-topbar__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.p965-topbar__note,
.p965-topbar__links a {
	font-size: 14px;
	line-height: 16px;
	color: var(--p965-muted);
}

.p965-topbar__links {
	display: flex;
	gap: 20.4px;
}

.p965-hdr .p965-topbar__links a:hover {
	color: var(--p965-text);
}

/* ---- Header: main bar ------------------------------------------------------ */

.p965-mainbar {
	display: flex;
	align-items: center;
	gap: 20px;
	height: 65px;
	margin-top: 14px;
}

.p965-logo {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 65px;
}

.p965-logo__img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.p965-burger {
	display: none;
}

.p965-actions {
	display: flex;
	flex: none;
	gap: 10px;
}

.p965-cartbtn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--p965-primary);
	color: var(--p965-text);
}

.p965-hdr .p965-cartbtn:hover {
	background: var(--p965-purple);
	color: var(--p965-text);
}

.p965-cartbtn .p965-icon {
	width: 20px;
	height: 20px;
}

.p965-cart-count {
	position: absolute;
	top: -6px;
	left: -6px;
	min-width: 17px;
	height: 18px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--p965-pink-soft);
	color: var(--p965-on-pink);
	font: 700 11px/18px var(--p965-font);
	text-align: center;
}

.p965-cart-count.is-empty {
	display: none;
}

/* ---- Header: search (WoodMart AJAX search, restyled) ----------------------- */

.p965-hdr .p965-search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

.p965-hdr .p965-search form.searchform {
	position: relative;
	display: block;
	height: 53px;
	margin: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.p965-hdr .p965-search form.searchform input.s,
.p965-hdr .p965-search form.searchform input[type="search"] {
	width: 100%;
	height: 53px;
	padding: 0 45px 0 16px;
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	background: var(--p965-surface-2);
	box-shadow: none;
	color: var(--p965-text);
	font: 400 16px/1 var(--p965-font);
	text-align: right;
}

.p965-hdr .p965-search form.searchform input.s::placeholder {
	color: var(--p965-muted-2);
	opacity: 1;
}

/* The old dot-colour border was barely distinguishable from the idle border: use a clear lavender ring. */
.p965-hdr .p965-search form.searchform input.s:focus {
	border-color: var(--p965-lavender);
	outline: none;
	box-shadow: 0 0 0 1px var(--p965-lavender);
}

.p965-hdr .p965-search .searchsubmit {
	position: absolute;
	top: 0;
	right: 17px;
	bottom: 0;
	left: auto;
	width: 18px;
	min-width: 0;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: transparent;
	font-size: 0;
	cursor: pointer;
}

.p965-hdr .p965-search .searchsubmit > span {
	display: none;
}

/* WoodMart draws the icon on ::after and the loading spinner on ::before. */
.p965-hdr .p965-search .searchsubmit::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	margin: -9px 0 0;
	background-color: var(--p965-text);
	font-size: 0;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='544 144 24 24' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.33'%3E%3Cpath d='M555 162C558.866 162 562 158.866 562 155C562 151.134 558.866 148 555 148C551.134 148 548 151.134 548 155C548 158.866 551.134 162 555 162Z'/%3E%3Cpath d='M564 164L560.5 160.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='544 144 24 24' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.33'%3E%3Cpath d='M555 162C558.866 162 562 158.866 562 155C562 151.134 558.866 148 555 148C551.134 148 548 151.134 548 155C548 158.866 551.134 162 555 162Z'/%3E%3Cpath d='M564 164L560.5 160.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

.p965-hdr .p965-search .searchsubmit::before {
	left: 0;
	right: auto;
	width: 18px;
	height: 18px;
	margin: -9px 0 0;
	border-color: var(--p965-muted-2);
	border-left-color: transparent;
}

.p965-hdr .p965-search .wd-clear-search {
	left: 12px;
	right: auto;
	color: var(--p965-muted-2);
}

/* Live search results on the dark header. */
.p965-hdr .p965-search .wd-dropdown-results {
	margin-top: 8px;
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	background: var(--p965-surface);
	box-shadow: 0 16px 40px rgba(5, 3, 9, .6);
	color: var(--p965-text);
}

.p965-hdr .p965-search .wd-dropdown-results a,
.p965-hdr .p965-search .wd-dropdown-results .wd-entities-title,
.p965-hdr .p965-search .wd-dropdown-results .price,
.p965-hdr .p965-search .wd-dropdown-results .amount {
	color: var(--p965-text);
}

.p965-hdr .p965-search .wd-dropdown-results .wd-suggestion,
.p965-hdr .p965-search .wd-dropdown-results .wd-all-results {
	border-color: var(--p965-border);
	background-color: var(--p965-surface);
}

.p965-hdr .p965-search .wd-dropdown-results .wd-suggestion:hover,
.p965-hdr .p965-search .wd-dropdown-results .wd-suggestion.wd-active,
.p965-hdr .p965-search .wd-dropdown-results .wd-all-results:hover,
.p965-hdr .p965-search .wd-dropdown-results .autocomplete-suggestion:hover,
.p965-hdr .p965-search .wd-dropdown-results .autocomplete-selected {
	background-color: var(--p965-surface-2);
}

.p965-hdr .p965-search .wd-dropdown-results .wd-all-results {
	color: var(--p965-lavender);
}

.p965-hdr .p965-search .wd-dropdown-results del,
.p965-hdr .p965-search .wd-dropdown-results del .amount {
	color: var(--p965-muted-2);
}

.p965-hdr .p965-search .wd-dropdown-results .view-all-results,
.p965-hdr .p965-search .wd-dropdown-results .wd-search-history {
	border-color: var(--p965-border);
	color: var(--p965-lavender);
}

/* ---- Header: category navigation ------------------------------------------- */

.p965-catnav {
	margin-top: 30.5px;
}

.p965-catnav__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 24px;
}

.p965-catnav__list {
	display: flex;
	align-items: center;
}

.p965-catnav__link,
.p965-catnav__deals {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 24px;
	font-size: 15px;
	line-height: 24px;
	white-space: nowrap;
}

.p965-catnav__link {
	padding: 0 8.2px;
	color: var(--p965-nav);
}

.p965-catnav__link .p965-icon {
	color: var(--p965-text);
}

.p965-hdr .p965-catnav__link:hover,
.p965-catnav__item.is-open > .p965-catnav__link,
.p965-catnav__item.is-current > .p965-catnav__link {
	color: var(--p965-lavender);
	font-weight: 700;
}

.p965-catnav__link:hover .p965-icon,
.p965-catnav__item.is-open > .p965-catnav__link .p965-icon,
.p965-catnav__item.is-current > .p965-catnav__link .p965-icon {
	color: var(--p965-lavender);
}

.p965-catnav__deals,
.p965-hdr .p965-catnav__deals:hover {
	color: var(--p965-pink-soft);
	font-weight: 700;
}

.p965-hdr .p965-catnav__deals:hover {
	color: var(--p965-pink);
}

.p965-neon {
	height: 2px;
	margin-top: 18.5px;
	background: linear-gradient(90deg, rgba(122, 27, 216, 0) 0%, #7a1bd8 20%, #ff4fb8 50%, #7a1bd8 80%, rgba(122, 27, 216, 0) 100%);
	filter: drop-shadow(0 0 12px rgba(199, 6, 140, .45));
}

/* ---- Mega menu ------------------------------------------------------------- */

.p965-hdr {
	position: relative;
}

.p965-mega {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 2;
	/* The header is sticky, so a panel taller than the screen could not be scrolled into view. */
	max-height: calc(100vh - var(--wd-admin-bar-h, 0px) - var(--p965-hdr-stick));
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 32px 0 37px;
	background: var(--p965-surface);
}

.p965-mega[hidden],
.p965-mega-overlay[hidden],
.p965-drawer[hidden],
.p965-drawer__sub[hidden] {
	display: none;
}

.p965-mega__in {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

.p965-mega__main {
	flex: 1 1 auto;
	min-width: 0;
	padding-top: 4.4px;
}

.p965-mega__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.p965-mega__title {
	font-size: 22px;
	font-weight: 800;
	line-height: 28px;
}

.p965-mega__all {
	font-size: 15px;
	line-height: 20px;
	color: var(--p965-lavender);
}

.p965-hdr .p965-mega__all:hover {
	color: var(--p965-text);
}

.p965-mega__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24.6px;
}

.p965-tile {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px;
	border-radius: 14px;
}

.p965-hdr .p965-tile:hover {
	background: var(--p965-surface-2);
}

.p965-tile__thumb,
.p965-drawer__thumb {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--p965-surface-2);
}

.p965-tile__thumb {
	width: 60px;
	height: 60px;
	border-radius: 12px;
}

.p965-tile__thumb img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.p965-tile__thumb.is-icon,
.p965-drawer__thumb.is-icon {
	background: var(--p965-thumb-gradient);
	color: var(--p965-text);
}

.p965-tile__thumb.is-icon .p965-icon {
	width: 28px;
	height: 28px;
}

.p965-tile__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding-top: 1px;
}

.p965-tile__title {
	font-size: 17px;
	font-weight: 700;
	line-height: 21px;
	color: var(--p965-text);
}

.p965-tile__sub {
	font-size: 14px;
	line-height: 18px;
	color: var(--p965-muted-2);
}

/* Figma takes each line's direction from its first letter, so lines that start
   in Latin ("RTX و Radeon", "© 2026 965Play.") read left to right. */
.p965-tile__sub,
.p965-footer__bottom p {
	unicode-bidi: plaintext;
	text-align: right;
}

.p965-feature {
	display: flex;
	flex: 0 0 300px;
	flex-direction: column;
	align-items: flex-start;
	width: 300px;
	padding: 22px;
	border-radius: 16px;
	background: var(--p965-surface-2);
}

.p965-feature__tag {
	height: 26px;
	padding: 0 10px;
	border-radius: 13px;
	background: var(--p965-pink-soft);
	color: var(--p965-on-pink);
	font: 700 13px/26px var(--p965-font);
}

.p965-feature__media {
	display: flex;
	align-items: center;
	align-self: center;
	justify-content: center;
	width: 140px;
	height: 140px;
	margin-top: 14px;
	overflow: hidden;
	border-radius: 24px;
	background: var(--p965-surface-2);
}

.p965-feature__media img {
	width: 130px;
	height: 130px;
	object-fit: contain;
}

/* Drive covers are square artwork with their own background: they fill the
   tile (square into square, so nothing is cropped) and take its corners. */
.p965-feature__media.is-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p965-feature__title {
	margin-top: 20.4px;
	font-size: 22px;
	font-weight: 800;
	line-height: 28px;
}

.p965-feature__text {
	margin-top: 14.5px;
	font-size: 15px;
	line-height: 23px;
	color: var(--p965-muted);
}

.p965-feature__cta {
	margin-top: 10px;
}

.p965-mega-overlay {
	position: fixed;
	inset: 0;
	z-index: 399;
	background: rgba(5, 3, 9, .55);
}

/* ---- Mobile drawer --------------------------------------------------------- */

.p965-drawer {
	position: fixed;
	inset: 0;
	z-index: 100001;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 16px 16px 30px;
	background: var(--p965-surface);
}

html.p965-drawer-open,
html.p965-drawer-open body {
	overflow: hidden;
}

/* The WhatsApp chat widget (z-index 999999) sat on top of the open drawer and its category covers. */
html.p965-drawer-open #mpwa-chat-widget {
	display: none !important;
}

/* Product pages: while WoodMart's sticky add-to-cart bar is shown (95px desktop, 44px phone), the chat button
   sat on the bar and on the phone covered the add-to-cart button; lift it above the bar. */
#mpwa-chat-widget {
	transition: bottom .2s ease;
}

html:has(.wd-sticky-btn.wd-sticky-btn-shown) #mpwa-chat-widget {
	bottom: 112px !important;
}

@media (max-width: 768px) {
	html:has(.wd-sticky-btn.wd-sticky-btn-shown) #mpwa-chat-widget {
		bottom: 70px !important;
	}
}

/* ---- WhatsApp chat widget (plugin mpwa-woocomercee 3.3.2) in the 965Play style --------------------------
   Only its look and size change: markup, number, quick replies, messages and script stay the plugin's own.
   The ID selectors outrank the plugin's classes and WoodMart's generic button styles (which made the round
   trigger and the close buttons grey squares). The greeting bubble no longer pops up over the page after 3 s;
   the chat stays closed until the button is pressed. */
#mpwa-chat-widget {
	right: 24px;
	bottom: 24px;
	font-family: var(--p965-font);
	transition: bottom 0.2s ease, transform 0.25s ease, opacity 0.25s ease;
}

/* Out of the way while the page scrolls (phones / tablets) and whenever it would rest on a price, product photo
   or buy button (see p965_chat_widget_a11y()). */
#mpwa-chat-widget.p965-wa-away {
	opacity: 0;
	transform: translateY(calc(100% + 24px));
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	#mpwa-chat-widget {
		transition: none;
	}
}

#mpwa-chat-widget .mpwa-chat-trigger {
	width: 52px;
	height: 52px;
	min-height: 0;
	padding: 0;
	border: 1px solid rgba(199, 163, 255, 0.45);
	border-radius: 50%;
	background: linear-gradient(145deg, #8a2be6, var(--p965-primary));
	color: #fff;
	box-shadow: 0 6px 18px rgba(122, 27, 216, 0.45), 0 0 0 4px rgba(122, 27, 216, 0.12);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

#mpwa-chat-widget .mpwa-chat-trigger:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(122, 27, 216, 0.55), 0 0 0 5px rgba(199, 163, 255, 0.16);
}

#mpwa-chat-widget .mpwa-chat-trigger:active {
	transform: scale(0.95);
}

#mpwa-chat-widget button:focus-visible,
#mpwa-chat-widget a:focus-visible {
	outline: 2px solid var(--p965-lavender);
	outline-offset: 2px;
}

/* The message field's focus shows on its row (lavender border); no second ring inside it. */
#mpwa-chat-widget .mpwa-chat-input-row input:focus,
#mpwa-chat-widget .mpwa-chat-input-row input:focus-visible {
	outline: none;
	box-shadow: none;
}

#mpwa-chat-widget .mpwa-official-wa-icon {
	width: 26px;
	height: 26px;
	transform: none !important;
}

/* A small WhatsApp-green dot keeps the button recognisable; no pulse rings, no fake "1" message badge. */
#mpwa-chat-widget .mpwa-chat-trigger::after {
	content: "";
	position: absolute;
	top: 2px;
	right: 2px;
	width: 11px;
	height: 11px;
	border: 2px solid var(--p965-bg);
	border-radius: 50%;
	background: #25d366;
}

#mpwa-chat-widget.mpwa-open .mpwa-chat-trigger::after,
#mpwa-chat-widget .mpwa-chat-pulse,
#mpwa-chat-widget .mpwa-chat-badge,
#mpwa-chat-widget .mpwa-chat-tooltip {
	display: none !important;
}

#mpwa-chat-widget .mpwa-chat-icon-close {
	font-size: 17px;
	transform: none;
}

/* Chat window: dark card above the button, 340 px wide, never taller than the screen allows. */
#mpwa-chat-widget .mpwa-chat-box {
	bottom: 64px;
	display: flex;
	flex-direction: column;
	width: 340px;
	max-width: calc(100vw - 32px);
	max-height: min(460px, calc(100vh - 140px));
	border: 1px solid var(--p965-border);
	border-radius: 18px;
	background: var(--p965-surface);
	box-shadow: 0 18px 50px rgba(5, 3, 9, 0.65), 0 0 0 1px rgba(199, 163, 255, 0.06);
	backdrop-filter: none;
	color: var(--p965-text);
}

#mpwa-chat-widget .mpwa-chat-box-header {
	flex: none;
	gap: 10px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--p965-border);
	background: linear-gradient(135deg, rgba(122, 27, 216, 0.35), rgba(21, 20, 224, 0.16)), var(--p965-surface-2);
	backdrop-filter: none;
}

#mpwa-chat-widget .mpwa-chat-box-avatar-wrap,
#mpwa-chat-widget .mpwa-chat-box-avatar {
	width: 38px;
	height: 38px;
}

#mpwa-chat-widget .mpwa-chat-box-avatar {
	border: 1px solid rgba(37, 211, 102, 0.5);
	background: rgba(37, 211, 102, 0.14);
}

#mpwa-chat-widget .mpwa-chat-box-avatar svg {
	width: 20px;
	height: 20px;
}

#mpwa-chat-widget .mpwa-chat-box-online-dot {
	width: 11px;
	height: 11px;
	border-color: var(--p965-surface-2);
}

#mpwa-chat-widget .mpwa-chat-box-title-info h4 {
	color: var(--p965-text);
	font-size: 15px;
}

#mpwa-chat-widget .mpwa-chat-box-title-info p {
	color: var(--p965-muted);
	font-size: 12px;
}

/* Close: a clear round button, always at the same place in the header (left in RTL). */
#mpwa-chat-widget .mpwa-chat-box-close {
	flex: none;
	width: 34px;
	height: 34px;
	min-height: 0;
	padding: 0;
	border: 1px solid var(--p965-border);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.04);
	color: var(--p965-text);
	font-size: 14px;
	line-height: 1;
}

#mpwa-chat-widget .mpwa-chat-box-close:hover {
	border-color: rgba(199, 163, 255, 0.5);
	background: rgba(199, 163, 255, 0.14);
	color: var(--p965-lavender);
}

#mpwa-chat-widget .mpwa-chat-box-body {
	flex: 1 1 auto;
	min-height: 0;
	max-height: none;
	padding: 14px;
	background: var(--p965-surface); /* also stops the plugin's third-party wallpaper image */
	overflow-y: auto;
}

#mpwa-chat-widget .mpwa-chat-msg-bubble,
#mpwa-chat-widget .mpwa-chat-typing-row {
	border: 1px solid var(--p965-border);
	background: var(--p965-surface-2);
	box-shadow: none;
}

#mpwa-chat-widget .mpwa-chat-msg-bubble {
	border-radius: 14px 14px 4px 14px;
}

#mpwa-chat-widget .mpwa-chat-msg-bubble p {
	color: var(--p965-text);
	font-size: 14px;
}

#mpwa-chat-widget .mpwa-chat-msg-time,
#mpwa-chat-widget .mpwa-typing-txt {
	color: var(--p965-muted-2);
}

#mpwa-chat-widget .mpwa-typing-dot {
	background: var(--p965-lavender);
}

#mpwa-chat-widget .mpwa-chat-box-footer {
	flex: none;
	padding: 10px 14px 14px;
	border-top: 1px solid var(--p965-border);
	background: var(--p965-surface);
}

#mpwa-chat-widget .mpwa-chip-btn {
	flex: none;
	height: auto;
	min-height: 0;
	padding: 6px 12px;
	border: 1px solid rgba(199, 163, 255, 0.35);
	border-radius: 16px;
	background: rgba(199, 163, 255, 0.08);
	box-shadow: none;
	color: var(--p965-lavender);
	font-family: var(--p965-font);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

#mpwa-chat-widget .mpwa-chip-btn:hover {
	border-color: var(--p965-lavender);
	background: rgba(199, 163, 255, 0.18);
	box-shadow: none;
	color: #fff;
	transform: none;
}

#mpwa-chat-widget .mpwa-chat-input-row {
	padding: 4px 4px 4px 10px;
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	background: var(--p965-surface-2);
}

#mpwa-chat-widget .mpwa-chat-input-row:focus-within {
	border-color: var(--p965-lavender);
	background: var(--p965-surface-2);
}

#mpwa-chat-widget .mpwa-chat-input-row input {
	height: auto;
	min-height: 0;
	padding: 8px 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--p965-text);
	font-family: var(--p965-font);
	font-size: 14px;
}

#mpwa-chat-widget .mpwa-chat-send-btn {
	width: 36px;
	height: 36px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--p965-purple);
	color: #fff;
}

#mpwa-chat-widget .mpwa-chat-send-btn:hover {
	background: var(--p965-primary);
	transform: none;
}

#mpwa-chat-widget .mpwa-chat-direct-link {
	gap: 8px;
	margin-top: 10px;
	padding: 10px 12px;
	border: 0;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--p965-purple), var(--p965-primary));
	box-shadow: none;
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
}

#mpwa-chat-widget .mpwa-chat-direct-link:hover {
	background: linear-gradient(135deg, #8a2be6, var(--p965-purple));
	box-shadow: 0 6px 16px rgba(122, 27, 216, 0.4);
}

#mpwa-chat-widget .mpwa-chat-direct-link svg {
	width: 18px;
	height: 18px;
}

@media (max-width: 768px) {
	#mpwa-chat-widget {
		right: 16px;
		bottom: 16px;
	}

	#mpwa-chat-widget .mpwa-chat-trigger {
		width: 48px;
		height: 48px;
	}

	#mpwa-chat-widget .mpwa-official-wa-icon {
		width: 24px;
		height: 24px;
	}

	#mpwa-chat-widget .mpwa-chat-box {
		bottom: 60px;
		width: calc(100vw - 32px);
		max-height: calc(100vh - 150px);
		max-height: calc(100dvh - 150px);
	}

	/* 16 px keeps iOS Safari from zooming into the page when the message field is tapped. */
	#mpwa-chat-widget .mpwa-chat-input-row input {
		font-size: 16px;
	}
}

.p965-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 44px;
}

.p965-drawer__title {
	font-size: 22px;
	font-weight: 800;
	line-height: 28px;
}

.p965-drawer__list {
	margin-top: 11.4px;
}

/* 1px divider under every category; a shadow keeps the 49px row rhythm. */
.p965-drawer__item {
	box-shadow: 0 1px 0 var(--p965-border);
}

.p965-drawer__row {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: 49px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--p965-text);
	font: 700 17px/1 var(--p965-font);
	text-align: right;
	cursor: pointer;
}

.p965-drawer .p965-drawer__row:hover,
.p965-drawer .p965-drawer__row:focus,
.p965-drawer .p965-drawer__row:active {
	background: none;
	box-shadow: none;
	color: var(--p965-text);
}

.p965-drawer__row[aria-expanded="true"] {
	font-weight: 800;
}

.p965-drawer__icon {
	width: 20px;
	height: 20px;
}

.p965-drawer__plus,
.p965-drawer__minus {
	margin-inline-start: auto;
}

.p965-drawer__row[aria-expanded="true"] .p965-drawer__plus,
.p965-drawer__row[aria-expanded="false"] .p965-drawer__minus {
	display: none;
}

.p965-drawer__sub {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 5.5px 16px 13px 0;
}

.p965-drawer__link {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 32px;
	font-size: 16px;
	line-height: 20px;
	color: var(--p965-nav);
}

.p965-drawer .p965-drawer__link:hover {
	color: var(--p965-text);
}

.p965-drawer__thumb {
	width: 32px;
	height: 32px;
	border-radius: 8px;
}

.p965-drawer__thumb img {
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.p965-drawer__thumb.is-icon .p965-icon {
	width: 28px;
	height: 28px;
}

.p965-drawer__all {
	display: block;
	margin-top: 4.5px;
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
	color: var(--p965-lavender);
}

.p965-drawer__deals {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 49px;
	margin-top: 6px;
	font-size: 17px;
	font-weight: 700;
	color: var(--p965-pink-soft);
}

.p965-drawer__deals .p965-icon {
	width: 20px;
	height: 20px;
}

.p965-drawer__links {
	display: flex;
	gap: 20.6px;
	margin-top: 12px;
}

.p965-drawer__links a {
	font-size: 15px;
	line-height: 20px;
	color: var(--p965-muted);
}

/* ---- Footer ---------------------------------------------------------------- */

.p965-footer {
	position: relative;
	padding-top: 66px;
	background: var(--p965-bg-deep);
	--p965-glow-a: 255, 79, 184;
	--p965-glow-b: 122, 27, 216;
}

.p965-footer::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1;
	height: 2px;
	background: linear-gradient(90deg, rgba(var(--p965-glow-a), .15) 0%, rgb(var(--p965-glow-a)) 15%, rgb(var(--p965-glow-b)) 50%, #1514e0 85%, rgba(21, 20, 224, .15) 100%);
}

.p965-footer__glow {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 300px;
	overflow: hidden;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(180deg, #000 0, rgba(0, 0, 0, .22) 75px, rgba(0, 0, 0, 0) 225px);
	mask-image: linear-gradient(180deg, #000 0, rgba(0, 0, 0, .22) 75px, rgba(0, 0, 0, 0) 225px);
}

.p965-footer__glow::before,
.p965-footer__glow::after {
	content: "";
	position: absolute;
	right: -60px;
	left: -60px;
}

.p965-footer__glow::before {
	top: -50px;
	height: 180px;
	background: linear-gradient(90deg, rgba(var(--p965-glow-a), .16), rgba(var(--p965-glow-b), .16), rgba(21, 20, 224, .16));
	filter: blur(40px);
}

.p965-footer__glow::after {
	top: -24px;
	height: 44px;
	background: linear-gradient(90deg, rgba(var(--p965-glow-a), .3), rgba(var(--p965-glow-b), .3), rgba(21, 20, 224, .3));
	filter: blur(11px);
}

.p965-footer__cols {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 340px;
	grid-template-areas: "about cats links news";
	align-items: start;
}

.p965-footer__about {
	grid-area: about;
}

.p965-footer__col:nth-of-type(1) {
	grid-area: cats;
}

.p965-footer__col:nth-of-type(2) {
	grid-area: links;
}

.p965-footer__news {
	grid-area: news;
}

.p965-footer__heading {
	font-size: 17px;
	font-weight: 700;
	line-height: 22px;
	color: var(--p965-text);
}

.p965-footer__col,
.p965-footer__news {
	padding-top: 2.9px;
}

.p965-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 19px;
	margin-top: 18.5px;
}

.p965-footer__col a {
	display: block;
	font-size: 16px;
	line-height: 20px;
	color: var(--p965-muted);
}

.p965-footer .p965-footer__col a:hover {
	color: var(--p965-text);
}

.p965-footer__logo {
	width: 56px;
	height: 65px;
}

.p965-footer__text {
	max-width: 260px;
	margin-top: 13.9px;
	font-size: 16px;
	line-height: 26px;
	color: var(--p965-muted);
}

.p965-footer__follow {
	margin-top: 21px;
}

.p965-footer__social {
	display: flex;
	gap: 12px;
	margin-top: 13px;
}

.p965-footer__social li {
	display: flex;
	gap: 12px;
}

.p965-footer__social a {
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 50%;
}

/* Google Maps icon added next to WhatsApp by the theme's Custom JS. */
.p965-footer .p965-footer__social #gmaps-social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--p965-purple);
	color: #fff;
	font-size: 20px;
}

.p965-footer__social svg {
	display: block;
	width: 36px;
	height: 36px;
}

.p965-footer .p965-footer__social a:hover {
	opacity: .85;
}

.p965-footer__desc {
	margin-top: 15px;
	font-size: 15px;
	line-height: 24px;
	color: var(--p965-muted);
}

.p965-footer__form {
	margin-top: 12px;
}

/* WhatsApp newsletter form (mpwa plugin), restyled. */
.p965-footer .mpwa-newsletter-wrapper {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.p965-footer .mpwa-nl-simple-row {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
}

.p965-footer .mpwa-newsletter-form input[name="mpwa_phone"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 51px;
	margin: 0;
	padding: 0 15px;
	border: 1px solid var(--p965-border);
	border-radius: 10px;
	background: var(--p965-surface-2);
	box-shadow: none;
	color: var(--p965-text);
	font: 400 15px/1 var(--p965-font);
	text-align: right;
}

.p965-footer .mpwa-newsletter-form input[name="mpwa_phone"]::placeholder {
	color: var(--p965-muted-2);
	opacity: 1;
}

.p965-footer .mpwa-newsletter-form input[name="mpwa_phone"]:focus {
	border-color: var(--p965-dot);
	outline: none;
}

.p965-footer .mpwa-newsletter-btn {
	flex: 0 0 97px;
	width: 97px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: var(--p965-primary);
	box-shadow: none;
	color: var(--p965-text);
	font: 700 17px/1 var(--p965-font);
	cursor: pointer;
}

.p965-footer .mpwa-newsletter-btn:hover {
	background: var(--p965-purple);
}

.p965-footer .mpwa-newsletter-msg {
	margin-top: 8px;
	font-size: 14px;
	line-height: 20px;
	color: var(--p965-lavender);
}

.p965-footer__bottom {
	position: relative;
	margin-top: 47px;
	padding: 19.4px 0 23.6px;
	border-top: 2px solid var(--p965-border);
}

.p965-footer__bottom p {
	font-size: 14px;
	line-height: 20px;
	color: var(--p965-muted-2);
}

/* ---- Tablet and mobile (WoodMart switches at 1024px) ----------------------- */

@media (max-width: 1024px) {
	.p965-topbar {
		height: 36px;
	}

	.p965-topbar__in {
		justify-content: center;
	}

	.p965-topbar__note {
		font-size: 13px;
	}

	.p965-topbar__links,
	.p965-catnav,
	.p965-actions__wishlist,
	.p965-actions__account {
		display: none;
	}

	.p965-mainbar {
		display: grid;
		grid-template-areas:
			"burger logo cart"
			"search search search";
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		gap: 10px 0;
		height: auto;
		margin-top: 10px;
	}

	.p965-burger {
		display: flex;
		grid-area: burger;
		justify-self: start;
	}

	.p965-hdr .p965-logo {
		grid-area: logo;
		width: 44px;
		height: 51px;
	}

	.p965-hdr .p965-logo__img {
		width: 44px;
		height: 44px;
	}

	.p965-actions {
		grid-area: cart;
		justify-self: end;
	}

	.p965-hdr .p965-search {
		grid-area: search;
	}

	.p965-hdr .p965-search form.searchform,
	.p965-hdr .p965-search form.searchform input.s,
	.p965-hdr .p965-search form.searchform input[type="search"] {
		height: 49px;
	}

	.p965-hdr .p965-search form.searchform input.s,
	.p965-hdr .p965-search form.searchform input[type="search"] {
		padding-right: 43px;
		font-size: 15px;
	}

	.p965-hdr .p965-search .searchsubmit {
		right: 15px;
	}

	.p965-neon {
		margin-top: 12px;
	}

	.p965-footer {
		padding-top: 33px;
		--p965-glow-a: 255, 127, 203;
		--p965-glow-b: 110, 23, 196;
	}

	.p965-footer__glow::before {
		right: -35px;
		left: -35px;
		top: -40px;
		height: 130px;
		filter: blur(30px);
	}

	.p965-footer__glow::after {
		right: -35px;
		left: -35px;
		top: -18px;
		height: 36px;
		filter: blur(9px);
	}

	.p965-footer__cols {
		grid-template-areas:
			"news news"
			"cats links"
			"about about";
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 16px;
	}

	.p965-footer__news {
		padding-top: 0;
	}

	.p965-footer__news .p965-footer__heading {
		font-size: 18px;
		line-height: 24px;
	}

	.p965-footer__desc {
		margin-top: 13px;
	}

	.p965-footer__form {
		margin-top: 10px;
	}

	.p965-footer .mpwa-newsletter-form input[name="mpwa_phone"],
	.p965-footer .mpwa-newsletter-btn {
		height: 53px;
	}

	.p965-footer .mpwa-newsletter-btn {
		flex-basis: 87px;
		width: 87px;
		border-radius: 10px;
		font-size: 16px;
	}

	.p965-footer__col {
		margin-top: 30.4px;
		padding-top: 0;
	}

	.p965-footer__col .p965-footer__heading {
		font-size: 16px;
	}

	.p965-footer__col ul {
		gap: 15px;
		margin-top: 15px;
	}

	.p965-footer__col a {
		font-size: 15px;
	}

	.p965-footer__about {
		margin-top: 30.6px;
		padding-top: 28px;
		border-top: 1px solid var(--p965-border);
	}

	.p965-footer__about .p965-logo {
		width: 48px;
		height: 56px;
	}

	.p965-footer__about .p965-logo__img {
		width: 48px;
		height: 48px;
	}

	.p965-footer__text {
		max-width: none;
		font-size: 15px;
		line-height: 25px;
	}

	.p965-footer__follow {
		display: none;
	}

	.p965-footer__social {
		margin-top: 14px;
	}

	.p965-footer__bottom {
		margin-top: 23px;
		padding: 17.4px 0 24px;
	}
}

/* END 965PLAY REDESIGN */

/* =============================================================================
   BEGIN 965PLAY HOME (preview)
   New homepage sections (Figma "Home — Desktop" 1440 and "Home — Mobile" 390).
   Rollback: delete from BEGIN to END 965PLAY HOME.
   ========================================================================== */

body.p965-home-page,
.p965-home-page .website-wrapper,
.p965-home-page .main-page-wrapper {
	background: var(--p965-bg);
}

.p965-home-page #main-content {
	max-width: none;
	padding: 0;
}

/* Bottom padding 48px (was 96px): with the Instagram strip as the last section, 96px plus the strip's own 10px left a
   106px empty band above the footer (2026-10-19). */
.p965-home {
	overflow-x: clip;
	padding: 32px 0 48px;
	color: var(--p965-text);
	font-family: var(--p965-font);
	direction: rtl;
}

.p965-home :where(h2, h3, p, ul) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.p965-home li {
	margin: 0;
}

.p965-home a {
	color: inherit;
	text-decoration: none;
}

.p965-home .p965-icon {
	color: inherit;
}

.p965-section + .p965-section {
	margin-top: 96px;
}

/* Sections that exist only in the mobile Figma ("أجهزة كمبيوتر" rail) or only in the desktop one
   (releases, new; the Funko rail shows everywhere); the wording of some links differs too. See p965_render_home(). */
@media (min-width: 1025px) {
	.p965-mobile-only {
		display: none !important;
	}
}

/* ---- Section heading ----------------------------------------------------- */

.p965-shead {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 50px;
}

.p965-home .p965-shead__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-inline-end: auto;
	color: var(--p965-text);
	font: 800 30px/50px var(--p965-font);
	white-space: nowrap;
}

.p965-shead__title::after {
	content: "";
	order: -1;
	width: 4px;
	height: 50px;
	background: linear-gradient(180deg, var(--p965-purple), var(--p965-pink));
}

.p965-shead__arrows {
	display: flex;
	flex-direction: row-reverse;
	gap: 8px;
}

.p965-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--p965-border);
	border-radius: 10px;
	background: none;
	color: var(--p965-text);
	cursor: pointer;
}

.p965-arrow:hover,
.p965-arrow:focus-visible {
	border-color: var(--p965-dot);
	background: var(--p965-surface);
	color: var(--p965-text);
}

.p965-arrow .p965-icon {
	width: 18px;
	height: 18px;
}

.p965-shead__link {
	flex: none;
	font-size: 16px;
	line-height: 26px;
	color: var(--p965-muted);
	white-space: nowrap;
}

.p965-shead__link.is-mobile-only {
	display: none;
}

/* ---- Dots ------------------------------------------------------------------ */

.p965-dots {
	display: flex;
	justify-content: center;
	height: 12px;
	margin-top: 16px;
}

.p965-dots__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16.5px;
	height: 24px;
	/* WoodMart gives every button min-height 42px, which drew the dots 9px below the Figma row. */
	min-height: 0;
	margin: -6px 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.p965-dots__dot::before {
	content: "";
	box-sizing: border-box;
	width: 10.5px;
	height: 10.5px;
	border: 1.5px solid var(--p965-dot);
	border-radius: 50%;
}

.p965-dots__dot.is-active::before {
	width: 12px;
	height: 12px;
	border: 0;
	background: var(--p965-pink-soft);
}

.p965-dots__dot:focus-visible {
	outline: 2px solid var(--p965-lavender);
	outline-offset: -4px;
	border-radius: 8px;
}

/* ---- Hero ------------------------------------------------------------------ */

.p965-hero__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 24px;
}

.p965-hero__track::-webkit-scrollbar,
.p965-cats__track::-webkit-scrollbar {
	display: none;
}

.p965-hero__slide {
	display: block;
	flex: 0 0 100%;
	aspect-ratio: 1280 / 487;
	/* Keep the ratio when an image file fails to load: the automatic minimum height let the broken image's box
	   stretch the hero from 515 to 1169px (tools/arch_resilience_check.py, 2026-10-20). */
	min-height: 0;
	overflow: hidden;
	scroll-snap-align: start;
}

.p965-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- Trust strip ------------------------------------------------------------ */

/* 32px under the hero dots (Figma: 64px). With the sticky header the hero slides under it, and the 64px band left
   above the strip read as empty space (2026-10-19). */
.p965-trust {
	margin-top: 32px;
}

.p965-trust__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	height: 66px;
	border: 1px solid transparent;
	border-radius: 16px;
	background:
		linear-gradient(var(--p965-surface), var(--p965-surface)) padding-box,
		linear-gradient(90deg, var(--p965-purple), rgba(255, 79, 184, 0.5) 50%, var(--p965-blue)) border-box;
}

.p965-trust__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.p965-trust__item + .p965-trust__item::before {
	content: "";
	position: absolute;
	top: 3.5px;
	bottom: 3.5px;
	right: -16.5px;
	width: 1px;
	background: #ed48bc;
}

.p965-home .p965-trust__icon {
	width: 26px;
	height: 26px;
	color: var(--p965-lavender);
}

.p965-trust__text {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.66;
	white-space: nowrap;
}

.p965-trust__text.is-mobile {
	display: none;
}

.p965-trust__label {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Payment methods under "ادفع زي ما تحب". */
.p965-trust__sub {
	color: var(--p965-muted);
	font-size: 13px;
	line-height: 18px;
	white-space: nowrap;
}

/* ---- Shop by category ---------------------------------------------------- */

.p965-cats {
	margin-top: 64px;
}

.p965-cats__track {
	display: flex;
	gap: 16px;
	margin-top: 32px;
	margin-inline-end: calc((100% - 100vw) / 2);
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.p965-cats__item {
	flex: 0 0 296px;
	scroll-snap-align: start;
}

.p965-cat {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 116px;
	padding: 16px;
	border-radius: 16px;
	background: var(--p965-surface);
}

.p965-cat:hover {
	background: var(--p965-surface-2);
}

.p965-cat__thumb {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 84px;
	height: 84px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--p965-surface-2);
}

.p965-cat__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p965-cat__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.p965-cat__title {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.66;
	color: var(--p965-text);
}

.p965-cat__sub {
	margin-top: 4.25px;
	font-size: 14px;
	line-height: 20px;
	color: var(--p965-muted-2);
}

/* ---- Today's deals: title row with countdown ------------------------------ */

.p965-shead__main {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-inline-end: auto;
}

.p965-home .p965-shead__main .p965-shead__title {
	margin-inline-end: 0;
}

.p965-timer {
	display: flex;
	align-items: center;
	gap: 5.8px;
}

.p965-timer__label {
	font-size: 15px;
	line-height: 25px;
	color: var(--p965-muted);
}

.p965-timer__units {
	display: flex;
	align-items: center;
	gap: 6.5px;
}

.p965-timer__unit {
	height: 36px;
	padding: 0 6.6px;
	border: 1px solid var(--p965-border);
	border-radius: 8px;
	background: var(--p965-surface-2);
	color: var(--p965-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 34px;
}

.p965-timer__sep {
	color: var(--p965-muted-2);
	font-size: 16px;
	font-weight: 700;
}

/* ---- Product rail and card ------------------------------------------------ */

.p965-rail {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin-top: 32px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.p965-rail::-webkit-scrollbar {
	display: none;
}

.p965-rail__item {
	flex: 0 0 calc((100% - 72px) / 4);
	scroll-snap-align: start;
}

.p965-pcard {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 16px 16px 18px;
	border-radius: 18px;
	background: var(--p965-surface);
}

.p965-pcard__link {
	display: block;
}

.p965-pcard__photo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 236px;
	max-width: 100%;
	aspect-ratio: 1;
	margin-inline: auto;
}

.p965-pcard__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.p965-pcard__badge {
	position: absolute;
	top: 30px;
	right: 30px;
	height: 29px;
	padding: 0 10px;
	border-radius: 14.5px;
	background: var(--p965-pink-soft);
	color: var(--p965-on-pink, #1a0410);
	font-size: 14px;
	font-weight: 700;
	line-height: 29px;
}

.p965-home .p965-pcard__title {
	display: -webkit-box;
	margin-top: 14px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--p965-text);
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
}

.p965-pcard__options {
	display: flex;
	align-items: center;
	gap: 6.5px;
	margin-top: 13px;
}

.p965-chip {
	height: 30px;
	padding: 0 8.5px;
	border: 1px solid var(--p965-border);
	border-radius: 6px;
	color: var(--p965-muted);
	font-size: 13px;
	line-height: 28px;
	white-space: nowrap;
}

.p965-chip.is-selected {
	border: 1.5px solid var(--p965-lavender);
	color: var(--p965-text);
	font-weight: 700;
	line-height: 27px;
}

.p965-pcard__more {
	color: var(--p965-muted-2);
	font-size: 13px;
}

.p965-pcard__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 12px;
}

.p965-pcard__prices {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.p965-pcard__old {
	color: var(--p965-muted-2);
	font-size: 14px;
	line-height: 1.66;
}

.p965-pcard__price {
	margin-top: 2px;
	color: var(--p965-text);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.66;
}

.p965-pcard__prices .amount,
.p965-pcard__prices bdi {
	color: inherit;
	font: inherit;
}

.p965-home .p965-pcard__cart {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	background: var(--p965-primary);
	color: #fff;
}

.p965-home .p965-pcard__cart:hover {
	background: var(--p965-purple);
	color: #fff;
}

.p965-pcard__cart .p965-icon {
	width: 18px;
	height: 18px;
}

.p965-pcard__cart.loading {
	opacity: 0.6;
}

.p965-pcard .added_to_cart {
	display: none;
}

/* ---- Out-of-stock card ---------------------------------------------------- */

.p965-pcard__badge.is-stock {
	background: var(--p965-surface-2);
	color: var(--p965-muted);
}

.p965-pcard.is-out .p965-pcard__img {
	opacity: 0.55;
}

.p965-home .p965-pcard.is-out .p965-pcard__cart {
	background: var(--p965-surface-2);
	color: var(--p965-text);
}

/* ---- Banner "ابن تجميعتك" ------------------------------------------------- */

.p965-banner__link {
	display: block;
	aspect-ratio: 1279 / 466;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 24px;
	background:
		linear-gradient(var(--p965-bg), var(--p965-bg)) padding-box,
		linear-gradient(98deg, var(--p965-purple), var(--p965-pink)) border-box;
}

.p965-banner__img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 23px;
	object-fit: cover;
}

/* ---- Game cards ---------------------------------------------------------- */

.p965-gcards__track {
	display: flex;
	gap: 16px;
	margin-top: 32px;
	overflow-x: auto;
	scrollbar-width: none;
}

.p965-gcards__track::-webkit-scrollbar,
.p965-articles__track::-webkit-scrollbar {
	display: none;
}

.p965-gcards__item {
	flex: 1 0 146px;
}

.p965-gcard {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	height: 100%;
	min-height: 179px;
	padding: 20px 12px;
	border: 1px solid var(--p965-border);
	border-radius: 16px;
	background: var(--p965-surface);
	text-align: center;
}

.p965-gcard:hover {
	border-color: var(--p965-dot);
}

.p965-gcard__logo {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--p965-surface-2);
}

.p965-gcard__logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p965-gcard__name {
	color: var(--p965-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

/* Figma's price line; "اسأل عن التوفّر" until the store lists game cards (4px under the name, like Figma). */
.p965-gcard__hint {
	margin-top: -12px;
	color: var(--p965-muted);
	font-size: 13px;
	line-height: 1.4;
}

/* ---- Articles ------------------------------------------------------------ */

.p965-articles__panel {
	padding: 40px;
	border-radius: 20px;
	background: var(--p965-surface);
}

.p965-articles__track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-top: 28px;
}

.p965-acard {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.p965-acard__thumb {
	display: block;
	width: 100%;
	aspect-ratio: 282 / 158;
	overflow: hidden;
	border-radius: 14px;
	background: var(--p965-surface-2);
}

.p965-acard__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p965-acard__tag {
	margin-top: 14px;
	padding: 0 10px;
	border-radius: 12px;
	background: rgba(199, 163, 255, 0.12);
	color: var(--p965-lavender);
	font-size: 12px;
	font-weight: 700;
	line-height: 24px;
}

.p965-home .p965-acard__title {
	display: -webkit-box;
	margin-top: 10px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--p965-text);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.p965-acard__more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 10px;
	color: var(--p965-pink-soft) !important;
	font-size: 14px;
	font-weight: 700;
}

.p965-acard__more .p965-icon {
	width: 14px;
	height: 14px;
}

/* ---- About 965Play ------------------------------------------------------- */

.p965-about {
	position: relative;
	padding-top: 152.5px;
}

.p965-about__card {
	display: flex;
	justify-content: flex-end;
	min-height: 274px;
	padding: 38.5px 0 38.5px 85.6px;
	border: 1px solid #f34af2;
	border-radius: 20px;
	background:
		linear-gradient(90deg, rgba(21, 20, 224, 0.18), rgba(122, 27, 216, 0.18) 50%, rgba(255, 79, 184, 0.18)),
		var(--p965-surface);
}

.p965-about__text {
	width: 678px;
	max-width: 100%;
	color: var(--p965-muted);
	font-size: 16px;
	line-height: 1.85;
}

.p965-home .p965-about__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	color: var(--p965-text);
	font: 800 26px/46px var(--p965-font);
}

.p965-about__title::before {
	content: "";
	flex: none;
	width: 4px;
	height: 46px;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--p965-primary), var(--p965-pink-soft));
}

.p965-about__more summary {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 10px;
	color: var(--p965-pink-soft);
	font-size: 15px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.p965-about__more summary::-webkit-details-marker {
	display: none;
}

.p965-about__more[open] summary .p965-icon {
	transform: rotate(180deg);
}

.p965-about__more p {
	margin-top: 10px;
}

.p965-about__logo {
	position: absolute;
	top: 0;
	right: -66px;
	width: 654px;
	height: 466px;
	pointer-events: none;
}

.p965-about__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ---- تابعنا على Instagram: endless strip ----------------------------------- */
/* The tiles are printed twice and the track slides by exactly one copy (each tile carries its own gap), so the
   loop restarts without a visible jump. Paused while the pointer or keyboard focus is on it; a plain swipeable
   row when the visitor prefers reduced motion. Only transform is animated (no layout work while it runs). */

.p965-insta {
	--p965-insta-size: 210px;
	--p965-insta-gap: 16px;
	--p965-insta-step: 5s; /* per tile: 226px in 5s, about 45px a second */
}

.p965-insta__viewport {
	margin-top: 24px;
	padding: 10px 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.p965-home .p965-insta__track {
	display: flex;
	width: max-content;
	animation: p965-insta-loop calc(var(--p965-insta-n, 12) * var(--p965-insta-step)) linear infinite;
}

.p965-insta__viewport:hover .p965-insta__track,
.p965-insta__viewport:focus-within .p965-insta__track {
	animation-play-state: paused;
}

@keyframes p965-insta-loop {
	to {
		transform: translateX(50%);
	}
}

.p965-home .p965-insta__item {
	flex: none;
	margin-inline-end: var(--p965-insta-gap);
}

.p965-insta__tile {
	position: relative;
	display: block;
	width: var(--p965-insta-size);
	height: var(--p965-insta-size);
	overflow: hidden;
	border: 1px solid rgba(155, 107, 255, 0.22);
	border-radius: 18px;
	background: var(--p965-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.p965-insta__tile img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.p965-insta__tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 11, 22, 0) 45%, rgba(122, 27, 216, 0.55));
	opacity: 0;
	transition: opacity 0.25s ease;
}

.p965-insta__icon {
	position: absolute;
	bottom: 12px;
	left: 12px;
	z-index: 1;
	width: 36px;
	height: 36px;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.p965-insta__tile:hover,
.p965-insta__tile:focus-visible {
	border-color: var(--p965-lavender);
	box-shadow: 0 0 12px rgba(199, 6, 140, 0.35);
}

.p965-insta__tile:hover img,
.p965-insta__tile:focus-visible img {
	transform: scale(1.06);
}

.p965-insta__tile:hover::after,
.p965-insta__tile:focus-visible::after,
.p965-insta__tile:hover .p965-insta__icon,
.p965-insta__tile:focus-visible .p965-insta__icon {
	opacity: 1;
	transform: none;
}

@media (max-width: 1024px) {
	.p965-insta {
		--p965-insta-size: 140px;
		--p965-insta-gap: 10px;
		--p965-insta-step: 4s; /* 150px in 4s */
	}

	.p965-insta__viewport {
		margin-top: 14px;
		padding: 8px 0;
	}

	.p965-insta__tile {
		border-radius: 14px;
	}

	.p965-insta__icon {
		bottom: 8px;
		left: 8px;
		width: 28px;
		height: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p965-home .p965-insta__track {
		animation: none;
	}

	.p965-insta__viewport {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.p965-insta__item {
		scroll-snap-align: start;
	}

	.p965-home .p965-insta__item[aria-hidden="true"] {
		display: none;
	}

	.p965-insta__tile,
	.p965-insta__tile img,
	.p965-insta__tile::after,
	.p965-insta__icon {
		transition: none;
	}
}

/* ---- Tablet and mobile ------------------------------------------------------ */

@media (max-width: 1024px) {
	.p965-desktop-only {
		display: none !important;
	}

	.p965-home {
		padding: 16px 0 32px; /* was 48px, see the desktop rule */
	}

	.p965-section + .p965-section {
		margin-top: 48px;
	}

	.p965-shead {
		height: 37px;
	}

	.p965-home .p965-shead__title {
		gap: 8px;
		font-size: 22px;
		line-height: 37px;
	}

	.p965-shead__title::after {
		height: 37px;
		border-radius: 2px;
	}

	.p965-shead__arrows {
		display: none;
	}

	.p965-shead__link {
		color: var(--p965-muted) !important;
		font-size: 15px;
		line-height: 25px;
	}

	.p965-shead__link.is-mobile-only {
		display: block;
	}

	.p965-dots {
		margin-top: 8px;
	}

	.p965-hero__track {
		border-radius: 0;
	}

	.p965-hero__slide {
		aspect-ratio: 358 / 126;
	}

	.p965-trust {
		margin-top: 24px;
	}

	.p965-trust__list {
		/* minmax(0, …): a longer label wraps instead of widening its column past the screen. */
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		height: auto;
		border: 0;
		background: none;
	}

	.p965-trust__item {
		order: var(--m-order);
		justify-content: flex-start;
		gap: 10px;
		height: 50px;
		padding-right: 12.05px;
		border: 1.5px solid transparent;
		border-radius: 14px;
		background:
			linear-gradient(var(--p965-surface), var(--p965-surface)) padding-box,
			linear-gradient(90deg, var(--p965-purple), rgba(255, 79, 184, 0.5) 50%, var(--p965-blue)) border-box;
	}

	.p965-trust__item + .p965-trust__item::before {
		content: none;
	}

	.p965-home .p965-trust__icon {
		width: 20px;
		height: 20px;
	}

	.p965-trust__text {
		font-size: 14px;
	}

	.p965-trust__text.is-desktop {
		display: none;
	}

	.p965-trust__text.is-mobile {
		display: inline;
	}

	.p965-trust__sub {
		font-size: 11px;
		line-height: 15px;
	}

	.p965-cats {
		margin-top: 47.95px;
	}

	.p965-cats__track {
		align-items: flex-start;
		gap: 12px;
		margin-top: 16px;
	}

	.p965-cats__item {
		flex: 0 0 120px;
		order: var(--m-order);
	}

	.p965-cat {
		flex-direction: column;
		gap: 9.83px;
		height: auto;
		padding: 12px 12px 13.8px;
		border-radius: 14px;
	}

	.p965-cat__thumb {
		align-self: center;
		width: 72px;
		height: 72px;
		border-radius: 12px;
	}

	.p965-cat__thumb img {
		width: 66.6px;
		height: 66.6px;
		object-fit: contain;
	}

	.p965-cat__thumb.is-cover img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.p965-cat__title {
		font-size: 14px;
		text-align: center;
	}

	.p965-cat__sub,
	.p965-cats .p965-dots {
		display: none;
	}

	.p965-shead__main {
		gap: 11px;
	}

	.p965-timer__label {
		display: none;
	}

	.p965-timer__units {
		gap: 4.75px;
	}

	.p965-timer__unit {
		height: 30px;
		padding: 0 5px;
		border-radius: 6px;
		font-size: 14px;
		line-height: 28px;
	}

	.p965-timer__sep {
		font-size: 14px;
	}

	.p965-rail {
		gap: 12px;
		margin-top: 16px;
	}

	.p965-rail__item {
		flex-basis: calc((100% - 12px) / 2);
	}

	.p965-pcard {
		padding: 17px 12px 14px;
	}

	.p965-pcard__photo {
		width: 140px;
	}

	.p965-pcard__badge {
		top: 22px;
		right: 22px;
		height: 26px;
		padding: 0 9px;
		border-radius: 13px;
		font-size: 12px;
		line-height: 26px;
	}

	.p965-home .p965-pcard__title {
		margin-top: 17px;
		-webkit-line-clamp: 3;
		font-size: 15px;
		line-height: 20px;
	}

	.p965-pcard__options {
		margin-top: 10px;
	}

	.p965-pcard__row {
		margin-top: 11px;
	}

	.p965-pcard__old {
		font-size: 13px;
	}

	.p965-pcard__price {
		font-size: 16px;
	}

	.p965-home .p965-pcard__cart {
		width: 38px;
		height: 38px;
	}

	.p965-pcard__cart .p965-icon {
		width: 16px;
		height: 16px;
	}
	/* Mobile Figma: the plain banner image, 345 × 126, 29 px from the left edge, no frame or rounding. */
	.p965-banner__link {
		margin-left: 13px;
		aspect-ratio: 345 / 126;
		border: 0;
		border-radius: 0;
		background: none;
	}

	.p965-banner__img {
		border-radius: 0;
	}

	/* Figma: 235 px from this title to the next one (padding, not margin: margins would collapse into the gap). */
	.p965-gcards {
		padding-bottom: 7px;
	}

	.p965-gcards__track {
		gap: 10px;
		margin-top: 16px;
	}

	/* Mobile Figma: 120 × 110 cards, cover 48 px at 15 px from the top, name 14 px; the cards grow for a
	   two-line name or the "اسأل عن التوفّر" line, and the cover keeps its square (flex: none). */
	.p965-gcards__item {
		flex: 0 0 120px;
	}

	.p965-gcard {
		justify-content: flex-start;
		gap: 11px;
		height: 100%;
		min-height: 110px;
		padding: 15px 8px 14px;
		border-radius: 14px;
	}

	.p965-gcard__logo {
		width: 48px;
		height: 48px;
		border-radius: 12px;
	}

	.p965-gcard__name {
		font-size: 14px;
		line-height: 20px;
	}

	.p965-gcard__hint {
		margin-top: -9px;
		font-size: 11px;
		line-height: 15px;
	}

	.p965-articles__panel {
		padding: 0;
		background: none;
	}

	.p965-articles__track {
		display: flex;
		gap: 12px;
		margin-top: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	/* Mobile Figma: 280-wide article cards on the surface colour, a 150-high image block inset 14 px, purple tag,
	   17 px title, lavender "اقرأ المزيد". */
	.p965-articles__item {
		flex: 0 0 280px;
		scroll-snap-align: start;
	}

	.p965-acard {
		height: 100%;
		padding: 0 14px 20px;
		border-radius: 18px;
		background: var(--p965-surface);
	}

	.p965-acard__thumb {
		height: 150px;
		aspect-ratio: auto;
		border-radius: 0;
	}

	.p965-acard__thumb img {
		object-fit: contain;
		object-position: top;
	}

	.p965-acard__tag {
		padding: 0 12px;
		border-radius: 14px;
		background: #27123f;
		font-size: 13px;
		line-height: 28px;
	}

	.p965-home .p965-acard__title {
		font-size: 17px;
	}

	.p965-acard__more {
		color: var(--p965-lavender) !important;
	}

	.p965-about {
		display: flex;
		flex-direction: column;
		padding-top: 0;
	}

	/* Mobile Figma: the logo is drawn about 235 px wide (the file has transparent margins) and overlaps the
	   card by 86 px; the card is 403 high with the gradient running pink (left) to blue (right). */
	.p965-about__logo {
		position: relative;
		right: 0;
		z-index: 1;
		align-self: center;
		width: 366px;
		height: 262px;
		margin: -15px 0 -134px;
	}

	.p965-about__card {
		display: block;
		min-height: 403px;
		padding: 107px 16px 24px;
		border-radius: 16px;
		background:
			linear-gradient(270deg, rgba(21, 20, 224, 0.18), rgba(122, 27, 216, 0.18) 50%, rgba(255, 79, 184, 0.18)),
			var(--p965-surface);
	}

	.p965-about__text {
		width: auto;
		font-size: 14px;
	}

	.p965-home .p965-about__title {
		gap: 8px;
		font-size: 20px;
		line-height: 34px;
	}

	.p965-about__title::before {
		display: none;
	}

	.p965-about__more summary {
		color: var(--p965-lavender);
	}

	.p965-about__card + .p965-about__logo {
		order: -1;
	}
}

/* Small phones: the trust labels («خيارات دفع متعددة», «توصيل في الكويت») are 13px and may wrap to two lines inside
   their 50px card; at 14px on one line they reached the card's rounded edge below 380px. */
@media (max-width: 380px) {
	.p965-trust__item {
		gap: 8px;
	}

	.p965-trust__text {
		font-size: 13px;
		line-height: 1.35;
		white-space: normal;
	}
}

/* =============================================================================
   END 965PLAY HOME
   ========================================================================== */

/* =============================================================================
   BEGIN 965PLAY PAGES
   Dark skin for inner pages (category, product, blog, contact, refund, 404).
   WoodMart's own colour variables are switched to the Figma palette, then the
   key components are restyled. Rollback: delete from BEGIN to END 965PLAY PAGES.
   ========================================================================== */

body.p965-dark {
	--wd-main-bgcolor: #0f0b16;
	--color-white: #0f0b16;
	--color-gray-100: rgba(255, 255, 255, 0.06);
	--color-gray-200: rgba(255, 255, 255, 0.12);
	--color-gray-300: #8e86a3;
	--color-gray-400: #9f97b4;
	--color-gray-500: #aea5c2;
	--color-gray-600: #b4acc6;
	--color-gray-700: #d6d0e2;
	--color-gray-800: #f3f0f8;
	--color-gray-900: #f3f0f8;
	--color-black-rgb: 255, 255, 255;
	--bgcolor-black-rgb: 255, 255, 255;
	--bgcolor-white-rgb: 21, 16, 30;
	--bgcolor-white: #15101e;
	--bgcolor-gray-100: #120e1a;
	--bgcolor-gray-200: #1b1624;
	--bgcolor-gray-300: #1b1624;
	--brdcolor-gray-200: #2a2238;
	--brdcolor-gray-300: #2a2238;
	--brdcolor-gray-400: #3a3050;
	--brdcolor-gray-500: #4a3d63;
	--wd-text-color: #b4acc6;
	--wd-title-color: #f3f0f8;
	--wd-entities-title-color: #f3f0f8;
	--wd-entities-title-color-hover: #c7a3ff;
	--wd-link-color: #c7a3ff;
	--wd-link-color-hover: #ff7fcb;
	--wd-widget-title-color: #f3f0f8;
	--wd-form-bg: #1b1624;
	--wd-form-color: #f3f0f8;
	--wd-form-placeholder-color: #8e86a3;
	--wd-form-brd-color: #2a2238;
	--wd-form-brd-color-focus: #7a1bd8;
	--wd-navigation-color: 243, 240, 248;
	--wd-primary-color: #7a1bd8;
	--wd-alternative-color: #ff7fcb;
	--btn-accented-bgcolor: #6e17c4;
	--btn-accented-bgcolor-hover: #7a1bd8;
	--btn-accented-color: #fff;
	--btn-accented-color-hover: #fff;
	--btn-default-bgcolor: #1b1624;
	--btn-default-bgcolor-hover: #2a2238;
	--btn-default-color: #f3f0f8;
	--btn-default-color-hover: #fff;
	background: var(--p965-bg);
	color: var(--p965-muted);
}

body.p965-dark,
body.p965-dark .website-wrapper,
body.p965-dark .main-page-wrapper,
body.p965-dark .wd-page-content {
	background-color: var(--p965-bg);
}

body.p965-dark .main-page-wrapper :where(h1, h2, h3, h4, h5, h6, .title, .wd-entities-title) {
	color: var(--p965-text);
	font-family: var(--p965-font);
}

body.p965-dark .main-page-wrapper :where(p, li, td, th, label, dd, dt) {
	color: var(--p965-muted);
}

body.p965-dark .main-page-wrapper :where(a:not(.button, .btn, .p965-pill, .p965-btn, .p965-wa-ask)) {
	color: var(--p965-lavender);
}

body.p965-dark .main-page-wrapper :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], input[type="password"], textarea, select) {
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	background-color: var(--p965-surface-2);
	color: var(--p965-text);
}

body.p965-dark .main-page-wrapper :is(.button, .btn, button[type="submit"], input[type="submit"]):not(.p965-arrow) {
	border-radius: 12px;
	font-family: var(--p965-font);
	font-weight: 700;
}

body.p965-dark .main-page-wrapper :is(.button.alt, .btn-accent, .single_add_to_cart_button, input[type="submit"], button[type="submit"].button) {
	background: var(--p965-primary);
	color: #fff;
}

body.p965-dark .main-page-wrapper :is(.button.alt, .btn-accent, .single_add_to_cart_button, input[type="submit"]):hover {
	background: var(--p965-purple);
	color: #fff;
}

/* Breadcrumbs and page titles */

body.p965-dark :is(.wd-breadcrumbs, .woocommerce-breadcrumb, .wd-el-breadcrumbs) {
	color: var(--p965-muted-2);
	font-size: 14px;
}

body.p965-dark :is(.wd-breadcrumbs, .woocommerce-breadcrumb) a {
	color: var(--p965-muted) !important;
}

body.p965-dark :is(.wd-woo-page-title .title, .page-title .title, .wd-page-title .title, .entry-title) {
	color: var(--p965-text);
	font: 800 34px/1.4 var(--p965-font);
}

/* Desktop archive title row: the title shrank with the sort controls and wrapped onto two lines once the web
   font loaded, pushing the product grid down (CLS 0.13). Keep its one-line width (Figma); very long names still
   wrap inside 60% of the row. */
@media (min-width: 1025px) {
	body.p965-dark .wd-woo-page-title {
		flex-shrink: 0 !important;
		max-width: 60%;
	}
}

/* ---- Category pages ------------------------------------------------------ */

.p965-archive-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin-bottom: 24px;
}

body.p965-dark .p965-archive-count {
	margin: 0;
	color: var(--p965-muted-2);
	font-size: 15px;
}

.p965-pills {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
}

.p965-pills::-webkit-scrollbar {
	display: none;
}

.p965-pill {
	flex: none;
	height: 40px;
	padding: 0 18px;
	border: 1px solid var(--p965-border);
	border-radius: 20px;
	background: var(--p965-surface);
	color: var(--p965-text) !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 38px;
	white-space: nowrap;
}

.p965-pill:hover {
	border-color: var(--p965-dot);
}

.p965-pill.is-active {
	border-color: var(--p965-primary);
	background: var(--p965-primary);
	color: #fff !important;
}

.p965-stock-toggle {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 14px;
	border: 1px solid var(--p965-border);
	border-radius: 18px;
	color: var(--p965-muted) !important;
	font-size: 14px;
	font-weight: 700;
}

.p965-stock-toggle .p965-icon {
	width: 16px;
	height: 16px;
	opacity: 0.35;
}

.p965-stock-toggle.is-active {
	border-color: var(--p965-lavender);
	color: var(--p965-text) !important;
}

.p965-stock-toggle.is-active .p965-icon {
	color: var(--p965-lavender);
	opacity: 1;
}

.p965-pills {
	order: 3;
	flex-basis: 100%;
}

/* Figma: three product columns next to the filters on desktop. */
body.p965-dark:is(.tax-product_cat, .post-type-archive-product) .wd-products-element .wd-products {
	--wd-col-lg: 3 !important;
	--wd-gap-lg: 24px !important;
}

/* The mobile filters button label is stored in English in the layout; show it in Arabic. */
.elementor-widget-wd_builder_off_canvas_column_btn .wd-action-text {
	font-size: 0;
}

.elementor-widget-wd_builder_off_canvas_column_btn .wd-action-text::after {
	content: "الفلاتر";
	font-size: 15px;
	font-weight: 700;
}

/* Product page: savings next to a genuine sale price. */
.p965-save {
	display: inline-block;
	margin-inline-start: 10px;
	padding: 0 12px;
	border-radius: 14px;
	background: rgba(255, 127, 203, 0.14);
	color: var(--p965-pink-soft);
	font-size: 14px;
	font-weight: 700;
	line-height: 28px;
	vertical-align: middle;
}

/* Sidebar filters as dark panels */
body.p965-dark .wd-sidebar .widget,
body.p965-dark .sidebar-container .widget {
	margin-bottom: 16px;
	padding: 20px;
	border: 1px solid var(--p965-border);
	border-radius: 16px;
	background: var(--p965-surface);
}

body.p965-dark .wd-sidebar .widget-title,
body.p965-dark .sidebar-container .widget-title {
	color: var(--p965-text);
	font-size: 17px;
	font-weight: 700;
}

body.p965-dark .wd-sidebar .count,
body.p965-dark .sidebar-container .count {
	border-color: var(--p965-border);
	background: var(--p965-surface-2);
	color: var(--p965-muted-2);
}

body.p965-dark .price_slider_wrapper .ui-slider {
	background: var(--p965-dot);
}

body.p965-dark .price_slider_wrapper .ui-slider-range,
body.p965-dark .price_slider_wrapper .ui-slider-handle {
	background: var(--p965-pink-soft);
}

/* Toolbar: sorting, per page, grid view */
body.p965-dark :is(.wd-shop-ordering, .woocommerce-ordering) select {
	height: 42px;
	padding-inline: 14px 36px;
}

body.p965-dark .wd-shop-prod-per-page a,
body.p965-dark .wd-shop-view a {
	color: var(--p965-muted) !important;
}

body.p965-dark .wd-shop-prod-per-page .current-variation,
body.p965-dark .wd-shop-view .current-variation {
	color: var(--p965-text) !important;
}

/* Product loop cards (category grid, related products, search results) */
body.p965-dark .wd-product.wd-col .wd-product-wrapper {
	height: 100%;
	padding: 16px 16px 18px;
	border: 0;
	border-radius: 18px;
	background: var(--p965-surface);
	box-shadow: none;
}

body.p965-dark .wd-product .wd-product-thumb,
body.p965-dark .wd-product .product-element-top {
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
}

body.p965-dark .wd-product :is(.wd-product-cats, .wd-product-brands-links) {
	display: none;
}

body.p965-dark .wd-product .wd-entities-title,
body.p965-dark .wd-product .wd-entities-title a {
	color: var(--p965-text);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.45;
}

body.p965-dark .wd-product .price,
body.p965-dark .wd-product .price .amount {
	color: var(--p965-text);
	font-size: 18px;
	font-weight: 700;
}

body.p965-dark .wd-product .price del,
body.p965-dark .wd-product .price del .amount {
	color: var(--p965-muted-2);
	font-size: 14px;
	font-weight: 400;
}

body.p965-dark .wd-product .price ins {
	background: none;
	text-decoration: none;
}

body.p965-dark .wd-product .wd-add-btn > a {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--p965-primary);
	color: #fff;
}

body.p965-dark .wd-product .wd-add-btn > a:hover {
	background: var(--p965-purple);
}

body.p965-dark .wd-product .onsale,
body.p965-dark .product-labels .onsale {
	border-radius: 14.5px;
	background: var(--p965-pink-soft);
	color: var(--p965-on-pink);
	font-weight: 700;
}

body.p965-dark .product-labels .out-of-stock {
	border-radius: 14.5px;
	background: var(--p965-surface-2);
	color: var(--p965-muted);
}

/* The store's imported single "Default Title" option is not a real choice. */
.wd-loop-prod-variations:has(.button-variable-item-default-title) {
	display: none;
}

body.p965-dark .variable-items-wrapper .variable-item:not(.radio-variable-item) {
	min-width: 48px;
	border: 1px solid var(--p965-border);
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
	color: var(--p965-muted);
}

body.p965-dark .variable-items-wrapper .variable-item.selected:not(.radio-variable-item) {
	border: 1.5px solid var(--p965-lavender);
	box-shadow: none;
	color: var(--p965-text);
	font-weight: 700;
}

body.p965-dark .variable-items-wrapper .variable-item .variable-item-span {
	color: inherit;
}

/* Pagination */
body.p965-dark .woocommerce-pagination ul li :is(a, span) {
	min-width: 40px;
	height: 40px;
	border: 1px solid var(--p965-border);
	border-radius: 10px;
	background: var(--p965-surface);
	color: var(--p965-text);
	line-height: 38px;
}

body.p965-dark .woocommerce-pagination ul li span.current {
	border-color: var(--p965-primary);
	background: var(--p965-primary);
	color: #fff;
}

/* ---- Product page ------------------------------------------------------- */

body.single-product.p965-dark .product_title {
	color: var(--p965-text);
	font: 800 30px/1.45 var(--p965-font);
}

body.single-product.p965-dark .summary .price,
body.single-product.p965-dark .wd-single-price .price,
body.single-product.p965-dark .elementor-widget-wd_single_product_price .price {
	color: var(--p965-text);
	font: 800 34px/1.3 var(--p965-font);
}

body.single-product.p965-dark .price del,
body.single-product.p965-dark .price del .amount {
	color: var(--p965-muted-2);
	font-size: 18px;
	font-weight: 400;
}

body.single-product.p965-dark .price ins {
	background: none;
	text-decoration: none;
}

body.single-product.p965-dark .stock.in-stock {
	color: #3ddc97;
	font-weight: 700;
}

body.single-product.p965-dark .stock.out-of-stock {
	color: var(--p965-pink-soft);
	font-weight: 700;
}

body.single-product .variations tr.p965-single-option {
	display: none;
}

body.single-product.p965-dark .variations :is(th, td, .label, label) {
	color: var(--p965-text);
	font-weight: 700;
}

body.single-product.p965-dark form.cart .quantity {
	overflow: hidden;
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	background: var(--p965-surface-2);
}

body.single-product.p965-dark form.cart .quantity :is(input, .minus, .plus) {
	border: 0;
	background: transparent;
	color: var(--p965-text);
}

body.single-product.p965-dark .single_add_to_cart_button,
body.single-product.p965-dark .wd-buy-now-btn {
	min-height: 48px;
	border-radius: 12px;
}

body.single-product.p965-dark .wd-buy-now-btn {
	border: 1px solid var(--p965-border);
	background: var(--p965-surface-2);
	color: var(--p965-text);
}

.p965-wa-ask {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 48px;
	margin-top: 12px;
	border: 1px solid var(--p965-border);
	border-radius: 12px;
	color: var(--p965-text) !important;
	font-size: 15px;
	font-weight: 700;
}

.p965-wa-ask:hover {
	border-color: var(--p965-dot);
	background: var(--p965-surface);
}

.p965-wa-ask .p965-icon {
	width: 20px;
	height: 20px;
	color: var(--p965-lavender);
}

body.single-product.p965-dark .woocommerce-product-gallery,
body.single-product.p965-dark .wd-single-gallery .woocommerce-product-gallery__image {
	border-radius: 18px;
}

body.single-product.p965-dark .wd-single-gallery,
body.single-product.p965-dark .elementor-widget-wd_single_product_gallery {
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
}

body.single-product.p965-dark :is(.wd-nav-tabs, .tabs-layout-tabs .tabs) a,
body.single-product.p965-dark .wd-nav-tabs .nav-link-text {
	color: var(--p965-muted);
	font-weight: 700;
}

body.single-product.p965-dark .wd-nav-tabs > li.active > a,
body.single-product.p965-dark .wd-nav-tabs > li.active .nav-link-text {
	color: var(--p965-lavender);
}

body.single-product.p965-dark :is(.woocommerce-product-attributes, .shop_attributes) :is(th, td) {
	border-color: var(--p965-border);
	background: var(--p965-surface);
	color: var(--p965-muted);
}

body.single-product.p965-dark :is(.woocommerce-product-attributes, .shop_attributes) th {
	color: var(--p965-text);
}

/* Product template 1620: tab bar, description and info boxes carry fixed light backgrounds. */
body.single-product.p965-dark :is(.elementor-element-e4246f9, .elementor-element-d61bfd6 > .elementor-widget-container, .elementor-element-f53450d > .elementor-widget-container) {
	border: 1px solid var(--p965-border);
	border-radius: 20px;
	background-color: var(--p965-surface) !important;
}

body.single-product.p965-dark .elementor-element-d61bfd6 :is([style*="color"], font[color]) {
	color: inherit !important;
}

body.single-product.p965-dark .wd-sticky-btn {
	border-top: 1px solid var(--p965-border);
	background: var(--p965-surface);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
}

body.single-product.p965-dark .wd-sticky-btn :is(.wd-entities-title, .price, .amount) {
	color: var(--p965-text);
}

/* ---- Blog listing and articles ---------------------------------------- */

body.p965-dark .wd-post .wd-post-inner,
body.p965-dark article.post .article-inner {
	overflow: hidden;
	border: 0;
	border-radius: 18px;
	background: var(--p965-surface);
}

body.p965-dark .wd-post .wd-post-content {
	padding: 16px 18px 20px;
}

body.p965-dark .wd-post-cat.wd-style-with-bg a,
body.p965-dark .meta-post-categories a {
	border-radius: 12px;
	background: rgba(199, 163, 255, 0.12) !important;
	color: var(--p965-lavender) !important;
	font-weight: 700;
}

body.p965-dark .wd-post-date.wd-style-with-bg {
	border-radius: 12px;
	background: var(--p965-surface-2);
	color: var(--p965-text);
}

body.p965-dark .wd-post-meta,
body.p965-dark .wd-post-meta :is(a, span, time) {
	color: var(--p965-muted-2);
}

body.p965-dark .wd-post-read-more a {
	color: var(--p965-pink-soft) !important;
	font-weight: 700;
}

body.single-post.p965-dark :is(.wd-single-post-content, .entry-content, .post-single-page) {
	color: var(--p965-muted);
	font-size: 17px;
	line-height: 1.95;
}

body.single-post.p965-dark :is(.entry-content, .wd-single-post-content) :is(h2, h3) {
	margin-top: 1.6em;
	color: var(--p965-text);
}

body.single-post.p965-dark :is(.entry-content, .wd-single-post-content) img {
	border-radius: 16px;
}

body.p965-dark :is(.comment-respond, .comments-area, .wd-single-post-comments) {
	border-color: var(--p965-border);
}

/* ---- Content pages: contact, refund, about, privacy -------------------- */

/* Product cards in page content (cart carousel) keep their own title layout. */
body.page.p965-dark .entry-content :is(h2, h3):not(.wd-product *) {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 1.6em 0 0.6em;
	color: var(--p965-text);
	font-weight: 800;
}

body.page.p965-dark .entry-content h2:not(.wd-product *)::before {
	content: "";
	flex: none;
	width: 4px;
	height: 1.3em;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--p965-primary), var(--p965-pink-soft));
}

body.page.p965-dark .entry-content :is(p, li) {
	color: var(--p965-muted);
	font-size: 16px;
	line-height: 1.95;
}

body.page.p965-dark .entry-content strong {
	color: var(--p965-text);
}

/* Contact page (Elementor page 941): its sections carry fixed light backgrounds. */
body.page-id-941.p965-dark :is(.elementor-element-5b72812, .elementor-element-ce91e61) {
	border: 1px solid var(--p965-border);
	border-radius: 20px;
	background-color: var(--p965-surface) !important;
}

body.page-id-941.p965-dark .elementor-element-43439eb {
	background-color: transparent !important;
}

body.page-id-941.p965-dark .elementor-element-16e2010,
body.page-id-941.p965-dark .elementor-widget-container {
	border-color: var(--p965-border) !important;
}

body.p965-dark .wpcf7-form :is(input:not([type="submit"]), textarea) {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
}

body.p965-dark .wpcf7-form input[type="submit"] {
	min-width: 180px;
	height: 48px;
}

body.p965-dark .wd-accordion-item,
body.p965-dark .wd-accordion .wd-accordion-item {
	margin-bottom: 10px;
	border: 1px solid var(--p965-border);
	border-radius: 14px;
	background: var(--p965-surface);
}

body.p965-dark .wd-accordion-title,
body.p965-dark .wd-accordion-title-text {
	color: var(--p965-text) !important;
	font-weight: 700;
}

body.p965-dark .elementor-widget-google_maps iframe {
	border-radius: 18px;
	filter: invert(0.9) hue-rotate(180deg);
}

/* Article header card and imported inline text colours (single post template 1570). */
body.single-post.p965-dark .elementor-element-24fb018 {
	border: 1px solid var(--p965-border);
	border-radius: 20px;
	background-color: var(--p965-surface) !important;
}

body.single-post.p965-dark .wd-single-post-content [style*="color"],
body.single-post.p965-dark .wd-single-post-content font[color] {
	color: inherit !important;
}

body.single-post.p965-dark .wd-single-post-content :is(b, strong) {
	color: var(--p965-text);
}

/* ---- Menu tiles with the store's subcategory covers ---------------------- */

.p965-tile__thumb.is-cover,
.p965-drawer__thumb.is-cover {
	overflow: hidden;
	padding: 0;
	background: var(--p965-surface-2);
}

.p965-tile__thumb.is-cover img,
.p965-drawer__thumb.is-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- Contact page (Figma layout; the original heading, map and form sections are hidden) ---- */

body.page-id-941.p965-dark :is(.elementor-element-af9efc8, .elementor-element-49dc097, .elementor-element-cdf4d9b) {
	display: none !important;
}

.p965-contact {
	padding: 24px 0 56px;
	direction: rtl;
}

.p965-crumbs {
	color: var(--p965-muted-2);
	font-size: 14px;
}

.p965-crumbs a {
	color: var(--p965-muted) !important;
}

body.p965-dark .p965-contact .p965-contact__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 8px;
	color: var(--p965-text);
	font: 800 34px/1.4 var(--p965-font);
}

.p965-contact__title::before {
	content: "";
	width: 4px;
	height: 44px;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--p965-primary), var(--p965-pink-soft));
}

body.p965-dark .p965-contact .p965-contact__intro {
	max-width: 560px;
	margin: 0 0 28px;
	color: var(--p965-muted);
	font-size: 17px;
	line-height: 1.8;
}

.p965-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 24px;
	align-items: start;
}

.p965-contact__side {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.p965-ccard {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid var(--p965-border);
	border-radius: 16px;
	background: var(--p965-surface);
	color: var(--p965-text) !important;
}

.p965-ccard.is-primary {
	border-color: rgba(255, 127, 203, 0.55);
	background: linear-gradient(90deg, rgba(255, 79, 184, 0.10), rgba(122, 27, 216, 0.10)), var(--p965-surface);
}

.p965-ccard:hover {
	border-color: var(--p965-dot);
}

.p965-ccard__icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--p965-surface-2);
	color: var(--p965-lavender);
}

.p965-ccard__icon .p965-icon {
	width: 22px;
	height: 22px;
}

.p965-ccard__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: var(--p965-muted);
	font-size: 15px;
}

.p965-ccard__text strong {
	color: var(--p965-text);
	font-size: 17px;
}

.p965-ccard__text [dir="ltr"] {
	text-align: right;
}

.p965-contact__map {
	overflow: hidden;
	border: 1px solid var(--p965-border);
	border-radius: 16px;
}

.p965-contact__map iframe {
	display: block;
	width: 100%;
	height: 260px;
	border: 0;
	filter: invert(0.9) hue-rotate(180deg);
}

.p965-contact__form {
	padding: 28px;
	border: 1px solid var(--p965-border);
	border-radius: 20px;
	background: var(--p965-surface);
}

body.p965-dark .p965-contact .p965-contact__form-title {
	margin: 0 0 4px;
	color: var(--p965-text);
	font: 800 24px/1.4 var(--p965-font);
}

body.p965-dark .p965-contact .p965-contact__form-text {
	margin: 0 0 18px;
	color: var(--p965-muted);
	font-size: 15px;
}

.p965-contact__form .wpcf7-form input[type="submit"] {
	width: 100%;
}

@media (max-width: 1024px) {
	.p965-contact {
		padding: 16px 0 40px;
	}

	body.p965-dark .p965-contact .p965-contact__title {
		font-size: 26px;
	}

	.p965-contact__title::before {
		height: 34px;
	}

	.p965-contact__grid {
		grid-template-columns: 1fr;
	}

	.p965-contact__form {
		padding: 18px;
	}

	.p965-contact__map iframe {
		height: 200px;
	}
}

/* ---- Cart, checkout and account pages in the dark design ---------------- */

body.p965-dark :is(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation, form.woocommerce-checkout .col2-set, .woocommerce-form-login, .woocommerce-form-register) {
	border-radius: 18px;
}

body.p965-dark :is(.shop_table, .woocommerce-table) :is(th, td) {
	border-color: var(--p965-border) !important;
	background: transparent;
	color: var(--p965-muted);
}

body.p965-dark :is(.shop_table, .woocommerce-table) :is(th, .product-name a, .amount) {
	color: var(--p965-text);
}

body.p965-dark :is(.cart_totals, .woocommerce-checkout-review-order, .cart-totals-inner, .wd-table-wrapper) {
	padding: 20px;
	border: 1px solid var(--p965-border);
	background: var(--p965-surface);
}

body.p965-dark #payment,
body.p965-dark .woocommerce-checkout-payment {
	border-radius: 16px;
	background: var(--p965-surface-2) !important;
}

body.p965-dark #payment :is(.payment_box, div.payment_box) {
	background: var(--p965-surface) !important;
	color: var(--p965-muted);
}

body.p965-dark #payment div.payment_box::before {
	border-bottom-color: var(--p965-surface) !important;
}

body.p965-dark :is(.select2-container--default .select2-selection--single, .select2-dropdown) {
	border-color: var(--p965-border);
	background: var(--p965-surface-2);
	color: var(--p965-text);
}

body.p965-dark .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--p965-text);
}

body.p965-dark .select2-results__option {
	color: var(--p965-muted);
}

body.p965-dark :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .wd-empty-block-title, .cart-empty) {
	border-color: var(--p965-border);
	background: var(--p965-surface);
	color: var(--p965-text);
}

body.p965-dark .woocommerce-MyAccount-navigation a {
	color: var(--p965-muted) !important;
}

body.p965-dark .woocommerce-MyAccount-navigation .is-active a {
	color: var(--p965-lavender) !important;
}

/* Cart and checkout templates (WoodMart builder) carry fixed light backgrounds. */
body.p965-dark:is(.woocommerce-cart, .woocommerce-checkout) .elementor-widget-container {
	background-color: transparent !important;
}

body.woocommerce-checkout.p965-dark :is(.elementor-element-da25fbf, .elementor-element-c33da1e, .elementor-element-4da8b45) {
	border: 1px solid var(--p965-border);
	border-radius: 20px;
	background-color: var(--p965-surface) !important;
}

/* Delivery plugin note (WW Delivery Services). */
body.p965-dark .wwds-delivery-note {
	border-color: rgba(61, 220, 151, 0.35) !important;
	background: rgba(61, 220, 151, 0.1) !important;
	color: #b8f5d8 !important;
}

/* The delivery shortcode prints its heading with an inline dark grey. */
body.p965-dark .elementor-shortcode p[style*="color:#333"] {
	color: var(--p965-text) !important;
}

/* Delivery options: the plugin and the Customizer CSS draw white boxes (all states). */
body.p965-dark .wwds-delivery-options label {
	border-color: var(--p965-border) !important;
	background: var(--p965-surface-2) !important;
	color: var(--p965-text);
}

body.p965-dark .wwds-delivery-options label span {
	color: inherit !important;
}

body.p965-dark .wwds-delivery-options label:has(input:checked) {
	border-color: var(--p965-lavender) !important;
	background: rgba(122, 27, 216, 0.22) !important;
}

/* WoodMart colours the coupon link with the primary purple (!important); retint it here. */
body.p965-dark .woocommerce-form-coupon-toggle {
	--wd-primary-color: var(--p965-lavender);
}

/* Required-field asterisks: WooCommerce red is too dark on the dark surface. */
body.p965-dark :is(.woocommerce form .form-row .required, .woocommerce-form-row .required, abbr.required, .comment-form .required) {
	color: #ff6b78;
}

/* ---- Contrast fixes found by the page audit (tools/audit.py) ------------- */

/* Category, shop and search: the sidebar column of template 2095 keeps a light grey background. */
body.p965-dark .elementor-element-955734e {
	border: 1px solid var(--p965-border);
	background-color: var(--p965-surface) !important;
}

/* About page: one Elementor section keeps a light grey background. */
body.p965-dark .elementor-element-2776692 {
	background-color: var(--p965-surface) !important;
}

/* Product tab bar: the active tab is a purple pill (widget setting); keep its text light. */
body.single-product.p965-dark .elementor-element-a21d5fe .woodmart-nav-link {
	color: var(--p965-text);
}

/* "Additional information" table: attribute values printed as WoodMart term chips. */
body.p965-dark .woocommerce-product-attributes :is(.wd-term, .wd-term-name) {
	color: var(--p965-text);
}

/* Out-of-stock badge: WoodMart's light pink chip. */
body.single-product.p965-dark .stock.out-of-stock.wd-style-with-bg > span {
	background-color: rgba(255, 79, 184, 0.14) !important;
}

/* Installation service card (white plugin card): its small note is too light. */
body.p965-dark .wwds-installation-card .wwds-price-calc-note {
	color: #5b6474;
}

/* Blog cards and article header: category chip on WoodMart's purple badge. */
body.p965-dark .wd-post-cat.wd-style-with-bg a {
	background: transparent !important;
	color: #fff !important;
}

/* Article: share label (widget colour #333) and the previous/next box (light grey panel). */
body.p965-dark .wd-social-icons .wd-label {
	color: var(--p965-muted) !important;
}

body.p965-dark .elementor-element-bd44894 > .elementor-widget-container {
	border: 1px solid var(--p965-border);
	background-color: var(--p965-surface) !important;
}

/* ---- Shared buttons and 404 ---------------------------------------------- */

.p965-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 28px;
	border: 1px solid var(--p965-primary);
	border-radius: 12px;
	background: var(--p965-primary);
	color: #fff !important;
	font: 700 16px/1 var(--p965-font);
}

.p965-btn:hover {
	background: var(--p965-purple);
}

.p965-btn.is-ghost {
	border-color: var(--p965-border);
	background: transparent;
	color: var(--p965-text) !important;
}

.p965-btn.is-ghost:hover {
	border-color: var(--p965-dot);
	background: var(--p965-surface);
}

.p965-404 {
	padding: 120px 0 140px;
	text-align: center;
	direction: rtl;
}

body.p965-dark .p965-404 .p965-404__code {
	margin: 0;
	background: linear-gradient(90deg, var(--p965-purple), var(--p965-pink));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font: 800 120px/1.1 var(--p965-font);
}

body.p965-dark .p965-404 .p965-404__title {
	margin: 18px 0 10px;
	color: var(--p965-text);
	font: 800 32px/1.4 var(--p965-font);
}

body.p965-dark .p965-404 .p965-404__text {
	margin: 0 auto 28px;
	max-width: 520px;
	color: var(--p965-muted);
	font-size: 17px;
}

.p965-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

/* ---- Tablet and mobile ------------------------------------------------------ */

@media (max-width: 1024px) {
	body.p965-dark :is(.wd-woo-page-title .title, .page-title .title, .wd-page-title .title, .entry-title) {
		font-size: 26px;
	}

	.p965-archive-bar {
		margin-bottom: 16px;
	}

	.p965-pills {
		width: 100%;
	}

	.p965-pill {
		height: 36px;
		padding: 0 14px;
		font-size: 14px;
		line-height: 34px;
	}

	body.p965-dark .wd-product.wd-col .wd-product-wrapper {
		padding: 12px 12px 14px;
	}

	body.p965-dark .wd-product .wd-entities-title,
	body.p965-dark .wd-product .wd-entities-title a {
		font-size: 15px;
	}

	body.p965-dark .wd-product .price,
	body.p965-dark .wd-product .price .amount {
		font-size: 16px;
	}

	body.p965-dark .wd-product .wd-add-btn > a {
		width: 38px;
		height: 38px;
	}

	body.single-product.p965-dark .product_title {
		font-size: 22px;
	}

	body.single-product.p965-dark .summary .price,
	body.single-product.p965-dark .elementor-widget-wd_single_product_price .price {
		font-size: 26px;
	}

	.p965-404 {
		padding: 72px 0 88px;
	}

	body.p965-dark .p965-404 .p965-404__code {
		font-size: 88px;
	}

	body.p965-dark .p965-404 .p965-404__title {
		font-size: 24px;
	}
}

/* Add-to-cart failure message (p965_add_to_cart_recovery): above the page and the WhatsApp button, readable on dark. */
.p965-cart-error {
	position: fixed;
	right: 16px;
	bottom: 16px;
	left: 16px;
	z-index: 100000;
	max-width: 560px;
	margin: 0 auto;
	padding: 14px 18px;
	border: 1px solid #ff6b78;
	border-radius: 14px;
	background: #1d1428;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 15px;
	line-height: 1.6;
	text-align: right;
}

.p965-cart-error[hidden] {
	display: none;
}

/* =============================================================================
   END 965PLAY PAGES
   ========================================================================== */
