/* Grimm Forge Store — storefront styling for the Experon Dark theme. */
:root {
	--gfs-red: #c62a1e;
	--gfs-red-hi: #ff3b2a;
	--gfs-red-dk: #a3190f;
	--gfs-card: #111;
	--gfs-line: #262626;
	--gfs-text: #e8e8e8;
	--gfs-muted: #a7a7a7;
}

/* ---------- Header menu icons ---------- */
li.gfs-ico > a::before,
li.gfs-account > a::before,
li.gfs-cart > a::before {
	font-family: FontAwesome;
	font-weight: normal;
	display: inline-block;
	margin-right: 6px;
	color: var(--gfs-red-hi);
}
li.gfs-ico-home > a::before { content: "\f015"; }
li.gfs-ico-new > a::before { content: "\f0e7"; }
li.gfs-ico-holiday > a::before { content: "\f06b"; }
li.gfs-ico-garage-forge > a::before { content: "\f0ad"; }
li.gfs-ico-icon-forge > a::before { content: "\f005"; }
li.gfs-ico-tiny-forge > a::before { content: "\f1b2"; }
li.gfs-ico-legends > a::before { content: "\f091"; }
li.gfs-account > a::before { content: "\f007"; }
li.gfs-cart > a::before { content: "\f07a"; color: #fff; font-size: 1.15em; }

#header-links li.gfs-ico-holiday > a span { color: #ffd76a; }

/* Big, obvious cart button. */
#header-links li.gfs-cart > a {
	background: var(--gfs-red);
	border-radius: 999px;
	padding-left: 16px !important;
	padding-right: 16px !important;
	color: #fff !important;
}
#header-links li.gfs-cart > a:hover { background: var(--gfs-red-hi); }
#header-links li.gfs-account { margin-left: 10px; }
.gfs-cart-count {
	display: inline-block;
	min-width: 20px;
	height: 20px;
	line-height: 20px;
	margin-left: 4px;
	padding: 0 5px;
	border-radius: 10px;
	background: #fff;
	color: var(--gfs-red-dk);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}
.gfs-cart-count.is-empty { background: rgba(255, 255, 255, .25); color: #fff; }

/* ---------- Store homepage ---------- */
.gfs-home-page #intro,
.gfs-home-page .entry-header,
.gfs-home-page .page-title { display: none; }

.gfs-home { color: var(--gfs-text); }
.gfs-sec { margin: 0 0 48px; }
.gfs-sec-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 2px solid var(--gfs-red);
	padding-bottom: 8px;
	margin-bottom: 20px;
}
.gfs-sec-head h2 { margin: 0; color: #fff; text-transform: uppercase; letter-spacing: .04em; font-size: 24px; }
.gfs-more { color: var(--gfs-red-hi) !important; font-weight: 600; white-space: nowrap; }
.gfs-empty { color: var(--gfs-muted); font-style: italic; }

.gfs-forge-grid,
.gfs-help-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.gfs-help-grid { grid-template-columns: repeat(3, 1fr); }
.gfs-forge,
.gfs-help {
	display: block;
	background: var(--gfs-card);
	border: 1px solid var(--gfs-line);
	border-top: 3px solid var(--gfs-red);
	border-radius: 6px;
	padding: 22px 18px;
	text-align: center;
	color: var(--gfs-text) !important;
	text-decoration: none !important;
	transition: transform .15s ease, border-color .15s ease;
}
.gfs-forge:hover,
.gfs-help:hover { transform: translateY(-3px); border-color: var(--gfs-red-hi); }
.gfs-forge .fa,
.gfs-help .fa { font-size: 38px; color: var(--gfs-red-hi); margin-bottom: 10px; }
.gfs-forge h3,
.gfs-help h3 { color: #fff; margin: 4px 0 6px; font-size: 19px; }
.gfs-forge p,
.gfs-help p { color: var(--gfs-muted); font-size: 14px; margin: 0 0 10px; min-height: 2.6em; }
.gfs-forge-go { color: var(--gfs-red-hi); font-weight: 600; font-size: 14px; }

.gfs-two { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.gfs-signup {
	margin-top: 20px;
	background: var(--gfs-card);
	border: 1px solid var(--gfs-line);
	border-radius: 6px;
	padding: 20px;
	text-align: center;
}
.gfs-signup h3 { color: #fff; margin: 0 0 4px; }
.gfs-signup p { color: var(--gfs-muted); }

@media (max-width: 900px) {
	.gfs-forge-grid { grid-template-columns: repeat(2, 1fr); }
	.gfs-two, .gfs-help-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.gfs-forge-grid { grid-template-columns: 1fr; }
}

/* ---------- WooCommerce on a dark theme ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--gfs-card);
	border: 1px solid var(--gfs-line);
	border-radius: 6px;
	padding: 12px 12px 16px;
	text-align: center;
	transition: border-color .15s ease;
}
.woocommerce ul.products li.product:hover { border-color: var(--gfs-red); }
.woocommerce ul.products li.product a img { border-radius: 4px; margin-bottom: 10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce-loop-category__title { color: #fff !important; }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--gfs-red-hi) !important; font-weight: 700; }
.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del { color: var(--gfs-muted) !important; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button:not(.is-link),
.wp-element-button {
	background: var(--gfs-red) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	font-weight: 700;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-element-button:hover { background: var(--gfs-red-hi) !important; }

.woocommerce span.onsale { background: var(--gfs-red); color: #fff; }
.woocommerce div.product .stock { color: #7bd88f; }
.woocommerce div.product .stock.available-on-backorder,
.woocommerce .backorder_notification { color: #ffd76a; }
.woocommerce div.product .stock.out-of-stock { color: var(--gfs-red-hi); }

.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--gfs-card); border-color: var(--gfs-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #000; border-bottom-color: #000; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--gfs-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--gfs-line); }

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-result-count,
.woocommerce .product_meta { color: var(--gfs-muted); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce .quantity .qty,
.woocommerce select.orderby,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-blocks-components-select__select {
	background: #0d0d0d !important;
	color: var(--gfs-text) !important;
	border: 1px solid #333 !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkbox__label,
.wc-block-components-title,
.wc-block-components-totals-item,
.wc-block-components-product-name,
.wc-block-cart,
.wc-block-checkout { color: var(--gfs-text); }

.woocommerce table.shop_table,
.woocommerce-page table.shop_table { border-color: var(--gfs-line); background: var(--gfs-card); color: var(--gfs-text); }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-color: var(--gfs-line); }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: var(--gfs-card) !important;
	color: var(--gfs-text) !important;
	border-top-color: var(--gfs-red) !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--gfs-red-hi); }

.woocommerce div.product .summary p.price,
.woocommerce div.product .summary p.price .amount,
.woocommerce div.product .summary span.price .amount,
.woocommerce ul.products li.product .price .amount { color: var(--gfs-red-hi) !important; }
.woocommerce div.product .summary p.price { font-size: 26px; }

/* Tracking */
.gfs-track { background: var(--gfs-card); border: 1px solid var(--gfs-line); border-left: 4px solid var(--gfs-red); border-radius: 6px; padding: 16px 20px; margin: 0 0 24px; }
.gfs-track h2 { margin: 0 0 10px; color: #fff; font-size: 20px; }
.gfs-track h2 .fa { color: var(--gfs-red-hi); margin-right: 6px; }
.gfs-track ul { list-style: none; margin: 0; padding: 0; }
.gfs-track li { margin: 6px 0; color: var(--gfs-muted); }

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--gfs-line); border-radius: 6px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; color: var(--gfs-text); border-bottom: 1px solid var(--gfs-line); background: var(--gfs-card); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--gfs-red); color: #fff; }
