/*
Theme Name: The Geek Cat
Theme URI:
Description: A dark, monospace-styled tech-cat theme for The Geek Cat store. Child of Twenty Twenty-Five.
Author: The Geek Cat
Template: twentytwentyfive
Version: 1.0
Text Domain: the-geek-cat
*/

/* ===========================
   GLOBAL DARK THEME OVERRIDES
   =========================== */

body {
	background-color: #0d1117 !important;
	color: #c9d1d9 !important;
	font-family: "Fira Code", monospace !important;
}

/* ===========================
   HEADER / NAVIGATION
   =========================== */

.wp-site-blocks > header,
header.wp-block-template-part {
	background-color: #0d1117;
	border-bottom: 1px solid #1e2a3a;
}

/* Navigation links */
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content {
	font-family: "Fira Code", monospace !important;
	text-transform: uppercase;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	color: #c9d1d9 !important;
	text-decoration: none !important;
	font-weight: 500;
}

.wp-block-navigation a:hover,
.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: #58d68d !important;
}

/* Site title */
.wp-block-site-title a,
.wp-block-site-title {
	font-family: "Fira Code", monospace !important;
	text-transform: uppercase;
	color: #e6edf3 !important;
	text-decoration: none !important;
	font-weight: 700;
}

/* ===========================
   HERO / COVER BLOCK
   =========================== */

.wp-block-cover {
	border-radius: 16px;
	overflow: hidden;
	min-height: 350px !important;
}

.wp-block-cover .wp-block-cover__background,
.wp-block-cover.has-background-dim::before {
	background: linear-gradient(135deg, #6b3fa0 0%, #3a8f7a 50%, #58d68d 100%) !important;
	opacity: 1 !important;
}

.geek-cat-hero .wp-block-cover__background {
	background: linear-gradient(135deg, #7b3fa8 0%, #4a9f8a 45%, #58d68d 100%) !important;
	opacity: 1 !important;
}

.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover .wp-block-heading {
	font-family: "Fira Code", monospace !important;
	text-transform: uppercase;
	color: #ffffff !important;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* ===========================
   BUTTONS
   =========================== */

.wp-block-button__link,
.wp-element-button {
	font-family: "Fira Code", monospace !important;
	text-transform: uppercase;
	background-color: #161b22 !important;
	color: #58d68d !important;
	border: 2px solid #30363d !important;
	border-radius: 8px !important;
	padding: 0.8rem 2rem !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.1em;
	font-weight: 600;
	transition: all 0.25s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	background-color: #1c2530 !important;
	border-color: #58d68d !important;
	color: #ffffff !important;
}

/* ===========================
   PRODUCT / CONTENT CARDS
   =========================== */

/* Group blocks used as cards */
.wp-block-group.has-background,
.wp-block-column.has-background {
	background-color: #161b22 !important;
	border: 1px solid #1e2a3a;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.25s ease, transform 0.25s ease;
}

.wp-block-group.has-background:hover,
.wp-block-column.has-background:hover {
	border-color: #30363d;
	transform: translateY(-2px);
}

/* Prevent header & footer from shifting on hover */
header .wp-block-group.has-background:hover,
header .wp-block-group:hover,
footer .wp-block-group.has-background:hover,
footer .wp-block-group:hover,
.wp-block-template-part .wp-block-group.has-background:hover {
	transform: none;
}

/* Card headings */
.wp-block-column h2,
.wp-block-column h3,
.wp-block-group h2,
.wp-block-group h3 {
	font-family: "Fira Code", monospace !important;
	text-transform: uppercase;
	color: #e6edf3 !important;
	letter-spacing: 0.03em;
	font-weight: 600;
}

/* Card descriptions */
.wp-block-column p,
.wp-block-group p {
	font-family: "Fira Code", monospace !important;
	color: #8b949e !important;
	font-size: 0.85rem;
	line-height: 1.5;
}

/* Prices */
.wc-block-components-product-price,
.price,
.wp-block-column .has-large-font-size,
.wp-block-group .has-large-font-size {
	font-family: "Fira Code", monospace !important;
	color: #58d68d !important;
	font-weight: 700;
}

/* ===========================
   IMAGES
   =========================== */

.wp-block-image img,
.wp-block-cover img {
	border-radius: 8px;
}

.wp-block-column .wp-block-image img {
	border-radius: 8px;
	transition: transform 0.3s ease;
}

.wp-block-column .wp-block-image img:hover {
	transform: scale(1.03);
}

/* ===========================
   HEADINGS
   =========================== */

h1, h2, h3, h4, h5, h6 {
	font-family: "Fira Code", monospace !important;
	color: #e6edf3 !important;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* ===========================
   LINKS
   =========================== */

a {
	color: #58d68d;
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: #7ff5a8;
}

/* ===========================
   FOOTER
   =========================== */

.wp-site-blocks > footer,
footer.wp-block-template-part {
	background-color: #0d1117 !important;
	border-top: 1px solid #1e2a3a;
	color: #8b949e !important;
}

footer a {
	color: #8b949e !important;
	text-decoration: none !important;
}

footer a:hover {
	color: #58d68d !important;
}

.footer-links p {
	margin: 0;
	line-height: 1.8;
	display: inline;
}

.footer-links p::after {
	content: "·";
	margin: 0 0.5rem;
	color: #30363d;
}

.footer-links p:last-child::after {
	content: none;
}

/* ===========================
   SITE LOGO
   =========================== */

.geek-cat-logo img {
	width: 48px !important;
	height: 48px !important;
	object-fit: contain;
}

.geek-cat-logo {
	margin: 0 !important;
}

/* ===========================
   SEARCH / ICONS
   =========================== */

.wp-block-search__input {
	background-color: #21293a !important;
	border: 1px solid #3d4f6a !important;
	color: #e6edf3 !important;
	border-radius: 6px !important;
	font-family: "Fira Code", monospace !important;
	font-size: 0.85rem !important;
}

.wp-block-search__input::placeholder {
	color: #8b949e !important;
	opacity: 1 !important;
}

.wp-block-search__input:focus {
	border-color: #58d68d !important;
	outline: none !important;
}

.wp-block-search__button {
	background-color: #161b22 !important;
	color: #58d68d !important;
	border: 1px solid #30363d !important;
}

/* ===========================
   SCROLLBAR
   =========================== */

::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: #0d1117;
}

::-webkit-scrollbar-thumb {
	background: #30363d;
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: #484f58;
}

/* ===========================
   SELECTIONS
   =========================== */

::selection {
	background-color: #58d68d;
	color: #0d1117;
}

/* ===========================
   COLUMNS / GRID LAYOUT
   =========================== */

.wp-block-columns {
	gap: 1.5rem !important;
}

/* ===========================
   GENERAL BLOCKS
   =========================== */

.wp-block-separator {
	border-color: #1e2a3a !important;
	opacity: 1 !important;
}

.wp-block-quote {
	border-color: #58d68d !important;
	color: #c9d1d9 !important;
}

.wp-block-code,
.wp-block-preformatted {
	background-color: #161b22 !important;
	color: #58d68d !important;
	border: 1px solid #1e2a3a;
	border-radius: 8px;
}

/* ===========================
   POST / ARCHIVE STYLES
   =========================== */

.wp-block-post-title a {
	color: #e6edf3 !important;
	font-family: "Fira Code", monospace !important;
	text-transform: uppercase;
}

.wp-block-post-title a:hover {
	color: #58d68d !important;
}

.wp-block-post-date,
.wp-block-post-terms a {
	font-family: "Fira Code", monospace !important;
	color: #8b949e !important;
	font-size: 0.8rem;
}

.wp-block-post-excerpt {
	font-family: "Fira Code", monospace !important;
	color: #8b949e !important;
}

/* ===========================
   WOOCOMMERCE — PRODUCT ARCHIVE / SHOP
   =========================== */

/* Sorting dropdown & results count */
.woocommerce-ordering,
.woocommerce-result-count {
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.woocommerce .woocommerce-result-count {
	color: #8b949e;
	font-family: "Fira Code", monospace;
	font-size: 0.82rem;
}

.woocommerce .woocommerce-ordering select.orderby {
	appearance: none;
	-webkit-appearance: none;
	background-color: #161b22;
	color: #c9d1d9;
	border: 1px solid #30363d;
	border-radius: 6px;
	padding: 0.5rem 2.2rem 0.5rem 0.75rem;
	font-family: "Fira Code", monospace;
	font-size: 0.82rem;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.6rem center;
	background-size: 14px;
}

.woocommerce .woocommerce-ordering select.orderby:hover {
	border-color: #58d68d;
}

.woocommerce .woocommerce-ordering select.orderby:focus {
	border-color: #58d68d;
	box-shadow: 0 0 0 2px rgba(88, 214, 141, 0.25);
	outline: none;
}

.woocommerce .woocommerce-ordering select.orderby option {
	background: #161b22;
	color: #c9d1d9;
	padding: 0.4rem;
}

/* Product grid layout — force CSS grid so cards never stretch full-width */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem !important;
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
	list-style: none;
	padding: 0 !important;
}

.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
		max-width: 360px;
	}
}

/* Product cards in shop grid */
.woocommerce ul.products li.product,
.wc-block-grid__product {
	background-color: #161b22;
	border: 1px solid #1e2a3a;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.25s ease, transform 0.25s ease;
	padding: 0 !important;
	max-width: 400px;
	width: 100%;
	margin: 0 !important;
	float: none !important;
	position: relative;
	display: flex !important;
	flex-direction: column;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	flex: 1;
	display: flex !important;
	flex-direction: column;
}

/* Push price to bottom of link area */
.woocommerce ul.products li.product .price {
	margin-top: auto !important;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover {
	border-color: #30363d;
	transform: translateY(-3px);
}

.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img {
	border-radius: 12px 12px 0 0;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
	font-family: "Fira Code", monospace !important;
	font-weight: 600;
	font-size: 0.95rem !important;
	text-transform: uppercase;
	color: #c9d1d9 !important;
	padding: 1rem 1.25rem 0.25rem !important;
	margin: 0 !important;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
	font-family: "Fira Code", monospace !important;
	font-size: 1.1rem !important;
	font-weight: 700;
	color: #58d68d !important;
	padding: 0.25rem 1.25rem 1rem !important;
}

.woocommerce ul.products li.product .price del {
	color: #8b949e !important;
	font-size: 0.85rem;
}

.woocommerce ul.products li.product .price ins {
	color: #58d68d !important;
	text-decoration: none;
	font-weight: 700;
}

/* Star ratings */
.woocommerce .star-rating {
	color: #58d68d !important;
}

/* Onsale badge — classic template */
.woocommerce span.onsale {
	background-color: #58d68d !important;
	color: #0d1117 !important;
	font-family: "Fira Code", monospace;
	font-weight: 700;
	border-radius: 6px;
	padding: 0.3rem 0.8rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	position: absolute !important;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	margin: 0 !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1.4;
	display: inline-block !important;
}

/* Onsale badge — WooCommerce blocks (shop page) */
.wc-block-components-product-sale-badge {
	position: absolute !important;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	background-color: #58d68d !important;
	color: #0d1117 !important;
	font-family: "Fira Code", monospace;
	font-weight: 700;
	border-radius: 6px;
	padding: 0.3rem 0.8rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.4;
	border: none !important;
}

.wp-block-woocommerce-product-sale-badge {
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2;
	pointer-events: none;
}

/* Ensure product image wrapper is positioned for badge */
.wc-block-grid__product,
.wc-block-components-product-image {
	position: relative !important;
}

/* Fix WooCommerce injecting <br> around onsale badge causing misalignment */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link > br {
	display: none;
}

/* Fix stray <p> tags wrapping price/title in loop */
.woocommerce ul.products li.product a > p {
	margin: 0 !important;
	padding: 0 !important;
}

/* Add to Cart button in grid */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.added_to_cart {
	font-family: "Fira Code", monospace !important;
	font-size: 0.8rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background-color: #58d68d !important;
	color: #0d1117 !important;
	border: none !important;
	border-radius: 0 0 12px 12px !important;
	padding: 0.85rem 1.5rem !important;
	margin: 0 !important;
	width: 100%;
	text-align: center;
	transition: background-color 0.2s ease !important;
	display: block !important;
	box-sizing: border-box;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover {
	background-color: #7ff5a8 !important;
}

/* ===========================
   WOOCOMMERCE — SINGLE PRODUCT
   =========================== */

.woocommerce div.product {
	font-family: "Fira Code", monospace;
}

.woocommerce div.product .product_title {
	font-family: "Fira Code", monospace !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #e6edf3 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: "Fira Code", monospace !important;
	font-size: 1.75rem !important;
	font-weight: 700;
	color: #58d68d !important;
}

.woocommerce div.product p.price del {
	color: #8b949e !important;
	font-size: 1.2rem;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
	color: #58d68d !important;
}

/* Woo stock status */
.woocommerce div.product .stock {
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	padding: 0.25rem 0.75rem;
	border-radius: 4px;
}

.woocommerce div.product .stock.in-stock {
	color: #58d68d;
	background-color: rgba(88, 214, 141, 0.1);
}

.woocommerce div.product .stock.out-of-stock {
	color: #f85149;
	background-color: rgba(248, 81, 73, 0.1);
}

/* SKU */
.woocommerce div.product .sku_wrapper {
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	color: #8b949e;
}

/* Product images */
.woocommerce div.product div.images img {
	border-radius: 12px;
	border: 1px solid #1e2a3a;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: 8px;
	border: 1px solid #1e2a3a;
	opacity: 0.6;
	transition: opacity 0.2s, border-color 0.2s;
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: #58d68d;
}

/* Quantity input */
.woocommerce .quantity .qty {
	font-family: "Fira Code", monospace;
	font-size: 0.9rem;
	width: 60px;
	padding: 0.6rem;
	text-align: center;
	background-color: #0d1117;
	border: 1px solid #30363d;
	border-radius: 6px;
	color: #c9d1d9;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce .quantity .qty:focus {
	border-color: #58d68d;
	outline: none;
}

/* Single product add to cart button */
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
	font-family: "Fira Code", monospace !important;
	font-size: 0.9rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 0.85rem 2.5rem !important;
	background-color: #58d68d !important;
	color: #0d1117 !important;
	border: 2px solid #58d68d !important;
	border-radius: 8px !important;
	cursor: pointer;
	transition: all 0.25s ease !important;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
	background-color: #7ff5a8 !important;
	border-color: #7ff5a8 !important;
	box-shadow: 0 0 20px rgba(88, 214, 141, 0.3);
}

/* Variation form selects */
.woocommerce div.product form.cart .variations select {
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	padding: 0.6rem 0.9rem;
	background-color: #0d1117;
	border: 1px solid #30363d;
	border-radius: 6px;
	color: #c9d1d9;
}

.woocommerce div.product form.cart .variations select:focus {
	border-color: #58d68d;
	outline: none;
}

.woocommerce div.product form.cart .variations label {
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #c9d1d9;
}

.woocommerce div.product form.cart .variations td {
	padding: 0.5rem 0;
	border: none;
}

.woocommerce div.product form.cart .reset_variations {
	color: #8b949e !important;
	font-family: "Fira Code", monospace;
	font-size: 0.75rem;
}

/* WooCommerce Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: flex;
	gap: 0;
	border-bottom: 1px solid #1e2a3a;
	background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: #58d68d !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #8b949e !important;
	padding: 0.75rem 1.25rem;
	display: block;
	transition: color 0.2s;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #58d68d !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: #c9d1d9 !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
	background: transparent !important;
	color: #c9d1d9;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: "Fira Code", monospace;
	font-weight: 700;
	text-transform: uppercase;
	color: #c9d1d9;
	font-size: 1.1rem;
	margin-bottom: 1rem;
}

/* Related / Upsell products */
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
	font-family: "Fira Code", monospace;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #c9d1d9;
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
}

/* ===========================
   WOOCOMMERCE — CART
   =========================== */

.woocommerce-cart .woocommerce table.shop_table {
	border-collapse: collapse;
	border: none;
	font-family: "Fira Code", monospace;
}

.woocommerce table.shop_table {
	border: 1px solid #1e2a3a !important;
	border-radius: 12px !important;
	overflow: hidden;
}

.woocommerce table.shop_table thead th {
	font-family: "Fira Code", monospace;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	color: #58d68d;
	background-color: #161b22 !important;
	border-bottom: 2px solid #30363d !important;
	padding: 0.85rem 1rem;
}

.woocommerce table.shop_table td {
	padding: 1rem;
	color: #c9d1d9;
	border-bottom: 1px solid #1e2a3a !important;
	background-color: #0d1117 !important;
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
}

.woocommerce table.shop_table td.product-name a {
	color: #c9d1d9 !important;
	text-decoration: none;
	font-weight: 600;
}

.woocommerce table.shop_table td.product-name a:hover {
	color: #58d68d !important;
}

.woocommerce table.shop_table img {
	width: 64px !important;
	height: 64px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #1e2a3a;
}

.woocommerce a.remove {
	color: #8b949e !important;
	font-size: 1.2rem;
	transition: color 0.2s;
}

.woocommerce a.remove:hover {
	color: #f85149 !important;
	background: rgba(248, 81, 73, 0.1) !important;
	border-radius: 4px;
}

/* Cart totals */
.woocommerce .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
	background-color: #161b22;
	border: 1px solid #1e2a3a;
	border-radius: 12px;
	padding: 1.5rem;
}

.woocommerce .cart_totals h2 {
	font-family: "Fira Code", monospace;
	font-weight: 700;
	text-transform: uppercase;
	color: #c9d1d9;
	font-size: 1rem;
	margin-bottom: 1rem;
}

.woocommerce .cart_totals table {
	border: none !important;
}

.woocommerce .cart_totals th {
	color: #8b949e;
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	background: transparent !important;
	border: none !important;
	padding: 0.75rem 0;
}

.woocommerce .cart_totals td {
	color: #c9d1d9;
	font-family: "Fira Code", monospace;
	background: transparent !important;
	border: none !important;
	padding: 0.75rem 0;
	text-align: right;
}

.woocommerce .cart_totals .order-total td {
	color: #58d68d;
	font-weight: 700;
	font-size: 1.1rem;
}

/* Proceed to checkout */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button {
	font-family: "Fira Code", monospace !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: linear-gradient(135deg, #58d68d, #3dba78) !important;
	color: #0d1117 !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 1rem 2rem !important;
	transition: box-shadow 0.3s ease, transform 0.2s ease !important;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	box-shadow: 0 0 20px rgba(88, 214, 141, 0.3);
	transform: translateY(-1px);
}

/* Update cart / coupon */
.woocommerce .cart .coupon .input-text {
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	padding: 0.6rem 0.9rem;
	background: #0d1117;
	border: 1px solid #30363d;
	border-radius: 6px;
	color: #c9d1d9;
}

.woocommerce .cart .coupon .input-text:focus {
	border-color: #58d68d;
	outline: none;
}

.woocommerce button[name="update_cart"],
.woocommerce button[name="apply_coupon"],
.woocommerce .coupon .button {
	font-family: "Fira Code", monospace !important;
	font-size: 0.8rem !important;
	font-weight: 600;
	text-transform: uppercase;
	padding: 0.6rem 1.2rem !important;
	background-color: #161b22 !important;
	color: #c9d1d9 !important;
	border: 1px solid #30363d !important;
	border-radius: 6px !important;
	transition: border-color 0.2s !important;
}

.woocommerce button[name="update_cart"]:hover,
.woocommerce button[name="apply_coupon"]:hover,
.woocommerce .coupon .button:hover {
	border-color: #58d68d !important;
	color: #58d68d !important;
}

/* Empty cart */
.woocommerce .cart-empty,
.woocommerce .return-to-shop {
	font-family: "Fira Code", monospace;
	text-align: center;
	color: #8b949e;
}

.woocommerce .return-to-shop .button {
	font-family: "Fira Code", monospace !important;
	background-color: #58d68d !important;
	color: #0d1117 !important;
	border-radius: 8px !important;
	font-weight: 700;
	padding: 0.85rem 2rem !important;
}

/* ===========================
   WOOCOMMERCE — CHECKOUT
   =========================== */

.woocommerce-checkout {
	font-family: "Fira Code", monospace;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background-color: #161b22 !important;
	border: 1px solid #1e2a3a !important;
	border-radius: 12px !important;
	padding: 1.5rem !important;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce h3#order_review_heading {
	font-family: "Fira Code", monospace;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #c9d1d9;
	font-size: 1rem;
}

/* Form fields */
.woocommerce form .form-row label {
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #8b949e;
	margin-bottom: 0.4rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	font-family: "Fira Code", monospace;
	font-size: 0.9rem;
	padding: 0.7rem 0.9rem;
	background: #0d1117 !important;
	border: 1px solid #30363d !important;
	border-radius: 6px !important;
	color: #c9d1d9 !important;
	transition: border-color 0.2s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: #58d68d !important;
	outline: none;
}

/* Order review table */
.woocommerce-checkout #order_review {
	background-color: #161b22;
	border: 1px solid #1e2a3a;
	border-radius: 12px;
	padding: 1.5rem;
}

.woocommerce-checkout #payment {
	background-color: #161b22 !important;
	border-radius: 12px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	padding: 0;
	border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 0.85rem 1rem;
	border: 1px solid #1e2a3a;
	background: #0d1117;
	margin-bottom: -1px;
	transition: border-color 0.2s, background 0.2s;
}

.woocommerce-checkout #payment ul.payment_methods li:first-child {
	border-radius: 8px 8px 0 0;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
	border-radius: 0 0 8px 8px;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	color: #c9d1d9;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: #58d68d;
}

.woocommerce-checkout #payment div.payment_box {
	background-color: rgba(88, 214, 141, 0.02) !important;
	border: 1px solid #1e2a3a;
	color: #8b949e;
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	padding: 1rem;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
}

/* Place order button */
.woocommerce #place_order {
	font-family: "Fira Code", monospace !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: linear-gradient(135deg, #58d68d, #3dba78) !important;
	color: #0d1117 !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 1.1rem 2.5rem !important;
	width: 100%;
	transition: box-shadow 0.3s ease !important;
}

.woocommerce #place_order:hover {
	box-shadow: 0 0 25px rgba(88, 214, 141, 0.4);
}

/* ===========================
   WOOCOMMERCE — MY ACCOUNT
   =========================== */

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 25%;
	float: left;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	border-right: 1px solid #1e2a3a;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.75rem 1rem;
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	color: #8b949e;
	text-decoration: none;
	border-bottom: none;
	border-left: 2px solid transparent;
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: #c9d1d9;
	background: rgba(88, 214, 141, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: #58d68d;
	border-left-color: #58d68d;
	background: rgba(88, 214, 141, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 72%;
	float: right;
	font-family: "Fira Code", monospace;
	color: #c9d1d9;
}

/* Login / Register forms in account */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background-color: #161b22;
	border: 1px solid #1e2a3a;
	border-radius: 12px;
	padding: 2rem;
}

.woocommerce form.woocommerce-form-login .button,
.woocommerce form.woocommerce-form-register .button {
	font-family: "Fira Code", monospace !important;
	background-color: #58d68d !important;
	color: #0d1117 !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.85rem 2rem !important;
}

.woocommerce-form__label-for-checkbox {
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	color: #8b949e;
}

.woocommerce-form__label-for-checkbox input {
	accent-color: #58d68d;
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table {
	border-collapse: collapse;
	font-size: 0.85rem;
}

.woocommerce-account .woocommerce-orders-table th {
	text-align: left;
	padding: 0.75rem;
	border-bottom: 1px solid #1e2a3a;
	color: #8b949e;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
}

.woocommerce-account .woocommerce-orders-table td {
	padding: 0.75rem;
	border-bottom: 1px solid #161b22;
	color: #c9d1d9;
}

.woocommerce-account .woocommerce-orders-table .button {
	font-family: "Fira Code", monospace !important;
	font-size: 0.75rem !important;
	padding: 0.4rem 0.8rem !important;
	background-color: #161b22 !important;
	color: #58d68d !important;
	border: 1px solid #58d68d !important;
	border-radius: 4px !important;
}

/* Order status badges */
.woocommerce-account .woocommerce-orders-table .order-status {
	font-family: "Fira Code", monospace;
	font-size: 0.75rem;
	font-weight: 600;
}

/* ===========================
   WOOCOMMERCE — MESSAGES & NOTICES
   =========================== */

.woocommerce-message,
.woocommerce-info {
	background-color: #161b22 !important;
	border: 1px solid #58d68d !important;
	border-radius: 8px !important;
	color: #c9d1d9 !important;
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	padding: 1rem 1.5rem !important;
}

.woocommerce-message::before {
	color: #58d68d !important;
}

.woocommerce-info::before {
	color: #58a6ff !important;
}

.woocommerce-error {
	background-color: #161b22 !important;
	border: 1px solid #f85149 !important;
	border-radius: 8px !important;
	color: #c9d1d9 !important;
	font-family: "Fira Code", monospace;
	font-size: 0.85rem;
	padding: 1rem 1.5rem !important;
}

.woocommerce-error::before {
	color: #f85149 !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
	font-family: "Fira Code", monospace !important;
	background-color: #58d68d !important;
	color: #0d1117 !important;
	border-radius: 6px !important;
	font-weight: 700;
	font-size: 0.8rem !important;
	padding: 0.5rem 1rem !important;
}

/* ===========================
   WOOCOMMERCE — ORDER CONFIRMATION
   =========================== */

.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-family: "Fira Code", monospace;
	color: #58d68d;
	font-weight: 700;
	font-size: 1.1rem;
	text-align: center;
	margin-bottom: 2rem;
}

/* ===========================
   WOOCOMMERCE — PAGINATION
   =========================== */

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	font-family: "Fira Code", monospace;
	color: #8b949e !important;
	background: #161b22 !important;
	border-color: #1e2a3a !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	color: #58d68d !important;
	border-color: #58d68d !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	color: #0d1117 !important;
	background: #58d68d !important;
	border-color: #58d68d !important;
}

/* ===========================
   WOOCOMMERCE — BREADCRUMB
   =========================== */

.woocommerce .woocommerce-breadcrumb {
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	color: #8b949e;
	margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-breadcrumb a {
	color: #8b949e;
	text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
	color: #58d68d;
}

/* ===========================
   WOOCOMMERCE — RESPONSIVE
   =========================== */

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
		float: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
		border-right: none;
		border-bottom: 1px solid #1e2a3a;
		margin-bottom: 1.5rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		border-left: none;
		border-bottom: 2px solid transparent;
		padding: 0.5rem 0.75rem;
		font-size: 0.75rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		border-left-color: transparent;
		border-bottom-color: #58d68d;
	}

	.woocommerce table.shop_table_responsive thead {
		display: none;
	}

	.woocommerce table.shop_table_responsive tr td {
		display: block;
		text-align: right;
	}

	.woocommerce table.shop_table_responsive tr td::before {
		content: attr(data-title) ": ";
		float: left;
		font-weight: 600;
		color: #8b949e;
		text-transform: uppercase;
		font-size: 0.75rem;
	}
}

/* ===========================
   CART ICON (Header)
   =========================== */

.cart-icon-link {
	position: relative;
	color: #c9d1d9;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: color 0.2s ease;
}

.cart-icon-link:hover {
	color: #58d68d;
}

.cart-count {
	position: absolute;
	top: -8px;
	right: -10px;
	background-color: #58d68d;
	color: #0d1117;
	font-family: "Fira Code", monospace;
	font-size: 0.6rem;
	font-weight: 700;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ===========================
   ACCOUNT ICON IN HEADER
   =========================== */

/* Account dropdown */
.account-dropdown-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.account-icon-btn {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	color: #c9d1d9;
	padding: 0;
	transition: color 0.2s ease;
}

.account-icon-btn:hover,
.account-icon-btn:focus {
	color: #58d68d;
	outline: none;
}

.account-dropdown {
	display: none;
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	min-width: 180px;
	background: #161b22;
	border: 1px solid #30363d;
	border-radius: 6px;
	padding: 0.5rem 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
	z-index: 9999;
}

.account-dropdown-wrap.open .account-dropdown {
	display: block;
}

/* Ensure parent blocks don't clip the dropdown */
.account-dropdown-wrap p {
	margin: 0;
}

.wp-block-group:has(.account-dropdown-wrap) {
	overflow: visible !important;
}

.account-dropdown-user {
	display: block;
	padding: 0.5rem 1rem 0.4rem;
	color: #58d68d;
	font-size: 0.85rem;
	font-weight: 600;
	border-bottom: 1px solid #30363d;
	margin-bottom: 0.25rem;
}

.account-dropdown-item {
	display: block;
	padding: 0.4rem 1rem;
	color: #c9d1d9;
	text-decoration: none;
	font-size: 0.85rem;
	transition: background 0.15s ease, color 0.15s ease;
}

.account-dropdown-item:hover {
	background: #21262d;
	color: #58d68d;
}

.account-dropdown-sep {
	display: block;
	height: 1px;
	background: #30363d;
	margin: 0.25rem 0;
}

.account-dropdown-logout:hover {
	color: #f85149;
}

/* ===========================
   LANGUAGE SWITCHER
   =========================== */

/* Language dropdown */
.lang-dropdown-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.lang-icon-btn {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.35rem;
	color: #c9d1d9;
	padding: 0;
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
	font-weight: 600;
	transition: color 0.2s ease;
}

.lang-icon-btn:hover,
.lang-icon-btn:focus {
	color: #58d68d;
	outline: none;
}

.lang-current {
	letter-spacing: 0.05em;
}

.lang-dropdown {
	display: none;
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	min-width: 130px;
	background: #161b22;
	border: 1px solid #30363d;
	border-radius: 6px;
	padding: 0.5rem 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
	z-index: 9999;
}

.lang-dropdown-wrap.open .lang-dropdown {
	display: block;
}

.wp-block-group:has(.lang-dropdown-wrap) {
	overflow: visible !important;
}

.lang-dropdown-item {
	display: block;
	padding: 0.4rem 1rem;
	color: #c9d1d9;
	text-decoration: none;
	font-size: 0.85rem;
	font-family: "Fira Code", monospace;
	transition: background 0.15s ease, color 0.15s ease;
}

.lang-dropdown-item:hover {
	background: #21262d;
	color: #58d68d;
}

.lang-dropdown-item.lang-item-active {
	color: #58d68d;
	pointer-events: none;
}

/* ===========================
   LEGAL PAGES
   =========================== */

.geekcat-legal-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem 1rem;
	color: #c9d1d9;
	font-family: "Fira Code", monospace;
	line-height: 1.8;
}

.geekcat-legal-page h2 {
	font-size: 1.6rem;
	color: #e6edf3;
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid #58d68d;
}

.geekcat-legal-page h3 {
	font-size: 1.15rem;
	color: #58d68d;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.geekcat-legal-page h4 {
	font-size: 1rem;
	color: #e6edf3;
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
}

.geekcat-legal-page p {
	margin-bottom: 1rem;
	font-size: 0.9rem;
}

.geekcat-legal-page a {
	color: #58d68d;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.geekcat-legal-page a:hover {
	color: #7ee8a8;
}

.geekcat-legal-page ul,
.geekcat-legal-page ol {
	padding-left: 1.5rem;
	margin-bottom: 1rem;
}

.geekcat-legal-page li {
	margin-bottom: 0.4rem;
	font-size: 0.9rem;
}

.geekcat-legal-page strong {
	color: #e6edf3;
}

.geekcat-legal-page em {
	color: #8b949e;
}

.legal-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0 1.5rem;
	font-size: 0.85rem;
}

.legal-table th,
.legal-table td {
	padding: 0.6rem 1rem;
	text-align: left;
	border: 1px solid #1e2a3a;
}

.legal-table th {
	background-color: #161b22;
	color: #58d68d;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
}

.legal-table td {
	background-color: #0d1117;
	color: #c9d1d9;
}

.legal-table tr:hover td {
	background-color: #161b22;
}

@media (max-width: 600px) {
	.geekcat-legal-page {
		padding: 1rem 0.5rem;
	}

	.geekcat-legal-page h2 {
		font-size: 1.3rem;
	}

	.legal-table {
		font-size: 0.75rem;
	}

	.legal-table th,
	.legal-table td {
		padding: 0.4rem 0.5rem;
	}
}

/* ===========================
   RESPONSIVE – HEADER
   =========================== */

/* -- Tablet (≤ 900px): hide search, tighten gaps -- */
@media (max-width: 900px) {
	/* Hide search in header */
	header .wp-block-search,
	.wp-block-template-part header .wp-block-search {
		display: none !important;
	}

	/* Reduce header side padding */
	header > .wp-block-group,
	.wp-block-template-part header > .wp-block-group {
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}

	/* Tighten left group gap */
	header > .wp-block-group > .wp-block-group:first-child {
		gap: 1rem;
	}
}

/* -- Mobile (≤ 600px): stack-friendly layout -- */
@media (max-width: 600px) {
	/* Allow header to wrap */
	header > .wp-block-group {
		flex-wrap: wrap !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		padding-top: 0.75rem !important;
		padding-bottom: 0.75rem !important;
		gap: 0.5rem !important;
	}

	/* Logo + title: keep compact */
	header .geek-cat-logo img {
		width: 36px !important;
		height: 36px !important;
	}

	header .wp-block-site-title {
		font-size: 0.9rem !important;
	}

	/* Left group: shrink and allow nav hamburger */
	header > .wp-block-group > .wp-block-group:first-child {
		gap: 0.5rem;
		flex: 1 1 auto;
		min-width: 0;
	}

	/* Right group: keep icons together */
	header > .wp-block-group > .wp-block-group:last-child {
		gap: 0.5rem !important;
	}

	/* Hide language switcher on small phones */
	header .lang-dropdown-wrap {
		display: none !important;
	}
}

/* -- Navigation overlay (hamburger menu) styles -- */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: #0d1117 !important;
	padding: 2rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-content {
	gap: 1.5rem;
	padding-top: 1rem;
}

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content {
	font-size: 1.1rem !important;
	padding: 0.5rem 0;
}

/* Hamburger button colors */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	color: #c9d1d9 !important;
}

.wp-block-navigation__responsive-container-open:hover,
.wp-block-navigation__responsive-container-close:hover {
	color: #58d68d !important;
}

/* ===========================
   BREADCRUMBS
   =========================== */

.geekcat-breadcrumbs {
	margin-bottom: 1.5rem;
	font-family: "Fira Code", monospace;
	font-size: 0.8rem;
}

.geekcat-breadcrumbs ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

.geekcat-breadcrumbs li {
	display: flex;
	align-items: center;
}

.geekcat-breadcrumbs a {
	color: #8b949e;
	text-decoration: none;
	transition: color 0.2s;
}

.geekcat-breadcrumbs a:hover {
	color: #58d68d;
}

.breadcrumb-sep {
	color: #3d4f6a;
	margin: 0 0.5rem;
	user-select: none;
}

.breadcrumb-current {
	color: #c9d1d9;
}