diff --git a/theme/front-page.php b/theme/front-page.php
index b87d192..e06c5f4 100644
--- a/theme/front-page.php
+++ b/theme/front-page.php
@@ -100,10 +100,12 @@ $shop_url = get_permalink(wc_get_page_id('shop'));
['DEPT. 01', 'For passive aggression at room temp.'],
- 'canvas' => ['DEPT. 02', 'Wall art for the soul-tired.'],
- 'planners' => ['DEPT. 03', 'Productivity, with a wink.'],
- 'apparel' => ['DEPT. 04', 'Casual Friday, but make it bitter.'],
+ 'drinkware' => ['DEPT. 01', 'For passive aggression at room temp.'],
+ 'wall-decor' => ['DEPT. 02', 'Wall art for the soul-tired.'],
+ 'stationery' => ['DEPT. 03', 'Productivity, with a wink.'],
+ 'apparel' => ['DEPT. 04', 'Casual Friday, but make it bitter.'],
+ 'stickers' => ['DEPT. 05', 'Stick it where they'll see it.'],
+ 'accessories' => ['DEPT. 06', 'The extras that speak for you.'],
];
if (!empty($categories)) {
@@ -236,23 +238,25 @@ $shop_url = get_permalink(wc_get_page_id('shop'));
['bg' => '#FBF8EF', 'fg' => '#1A1A1A'],
'ink' => ['bg' => '#1A1A1A', 'fg' => '#F5F1E8'],
'olive' => ['bg' => '#7B8C5A', 'fg' => '#F5F1E8'],
];
- foreach ($designs as [$title, $tag, $color, $lines, $count]) {
+ foreach ($designs as [$title, $tag, $color, $lines, $tag_slug]) {
+ $tag_term = get_term_by('slug', $tag_slug, 'product_tag');
+ $count = $tag_term ? $tag_term->count : 0;
+ $tag_url = $tag_term ? get_term_link($tag_term, 'product_tag') : home_url('/shop/');
$cm = $color_map[$color];
- $designs_url = home_url('/designs/');
?>
-
+
+
+
+
diff --git a/theme/js/rar.js b/theme/js/rar.js
index 70128a4..09fd6c3 100644
--- a/theme/js/rar.js
+++ b/theme/js/rar.js
@@ -176,7 +176,51 @@
} catch (e) {}
}
- // ─── WooCommerce quantity controls (override default +/-) ─────────────────
+ // ─── Search overlay toggle ───────────────────────────────────────────────────
+ window.rarToggleSearch = function () {
+ var overlay = document.getElementById('rar-search-overlay');
+ var btn = document.getElementById('rar-search-toggle');
+ if (!overlay) return;
+ var isHidden = overlay.hidden;
+ overlay.hidden = !isHidden;
+ if (btn) btn.setAttribute('aria-expanded', isHidden ? 'true' : 'false');
+ if (isHidden) {
+ var input = overlay.querySelector('input[type=search]');
+ if (input) { input.focus(); input.select(); }
+ }
+ };
+
+ // Close search overlay on Escape key
+ document.addEventListener('keydown', function (e) {
+ if (e.key === 'Escape') {
+ var overlay = document.getElementById('rar-search-overlay');
+ if (overlay && !overlay.hidden) {
+ overlay.hidden = true;
+ var btn = document.getElementById('rar-search-toggle');
+ if (btn) { btn.setAttribute('aria-expanded', 'false'); btn.focus(); }
+ }
+ }
+ });
+
+ // ─── Newsletter form submit (placeholder handler) ─────────────────────────
+ window.rarNewsletterSubmit = function (e, form) {
+ e.preventDefault();
+ var email = form.querySelector('input[type=email]');
+ if (!email || !email.value) return false;
+ var btn = form.querySelector('button[type=submit]');
+ if (btn) {
+ btn.textContent = 'Filed. ✓';
+ btn.disabled = true;
+ }
+ if (email) {
+ email.value = '';
+ email.placeholder = 'You're on the list.';
+ email.disabled = true;
+ }
+ return false;
+ };
+
+ // ─── WooCommerce quantity controls (override default +/-) ─────────────────
// Replace WC's quantity input with our styled controls
function initQtyControls() {
document.querySelectorAll('.quantity:not(.rar-qty-init)').forEach(function (wrap) {
diff --git a/theme/style.css b/theme/style.css
index 3f1d961..ff48bb4 100644
--- a/theme/style.css
+++ b/theme/style.css
@@ -160,6 +160,44 @@ button { font-family: inherit; cursor: pointer; border: none; background: none;
transition: background 0.15s;
}
.rar-nav__cart:hover { background: var(--stamp-dark) !important; }
+.rar-nav__search-btn {
+ display: inline-flex; align-items: center; gap: 6px;
+ background: none; border: none; cursor: pointer;
+ color: var(--manila); font-family: var(--mono); font-size: 11px;
+ letter-spacing: 0.12em; text-transform: uppercase; padding: 0;
+ transition: color 0.15s;
+}
+.rar-nav__search-btn:hover { color: var(--stamp); }
+.rar-search-overlay {
+ position: sticky; top: 0; z-index: 99;
+ background: var(--paper); border-bottom: 1.5px solid var(--ink);
+ padding: 12px 40px;
+}
+.rar-search-form {
+ display: flex; align-items: center; gap: 10px; max-width: 640px; margin: 0 auto;
+}
+.rar-search-input {
+ flex: 1; padding: 10px 14px;
+ border: 1.5px solid var(--ink); background: transparent;
+ font-family: var(--mono); font-size: 13px; letter-spacing: 0.04em;
+ color: var(--ink); outline: none;
+}
+.rar-search-input:focus { border-color: var(--stamp); }
+.rar-search-close {
+ background: none; border: none; cursor: pointer; font-size: 18px;
+ color: var(--ink-muted); padding: 4px 8px; line-height: 1;
+ transition: color 0.15s;
+}
+.rar-search-close:hover { color: var(--stamp); }
+.rar-newsletter-form { display: flex; gap: 8px; width: 100%; }
+.rar-newsletter-form input[type=email] {
+ flex: 1; max-width: 240px; padding: 10px 12px;
+ background: transparent;
+ border: 1px solid rgba(245,241,232,0.3);
+ color: var(--manila); font-family: var(--mono); font-size: 11px;
+ letter-spacing: 0.06em; outline: none; border-radius: 2px;
+}
+.rar-newsletter-form input[type=email]::placeholder { color: rgba(245,241,232,0.4); }
/* ───────── Buttons ───────── */
.rar-btn {
diff --git a/theme/woocommerce/archive-product.php b/theme/woocommerce/archive-product.php
index 20a255a..f967166 100644
--- a/theme/woocommerce/archive-product.php
+++ b/theme/woocommerce/archive-product.php
@@ -15,10 +15,12 @@ $cat_slug = $is_category ? $term->slug : 'shop';
// Category descriptions
$cat_desc_map = [
- 'mugs' => '47 ceramics, 12 enamels, and a few we honestly forgot to count. Dishwasher safe. Microwave safe. HR safe (mostly).',
- 'canvas' => 'Print-on-demand wall art for the soul-tired and decoratively passive-aggressive.',
- 'planners' => 'For the person who plans a lot and does a little. Or the other way around.',
- 'apparel' => 'Wear your grievances. Business casual with a quiet fury.',
+ 'drinkware' => 'Dishwasher safe. Microwave safe. HR safe (mostly). Mugs, tumblers, and vessels for the passively aggressive.',
+ 'wall-decor' => 'Print-on-demand wall art for the soul-tired and decoratively passive-aggressive.',
+ 'stationery' => 'For the person who plans a lot and does a little. Or the other way around.',
+ 'apparel' => 'Wear your grievances. Business casual with a quiet fury.',
+ 'stickers' => 'Stick your opinions where they'll be seen. Water-resistant, like your resolve.',
+ 'accessories' => 'The extras that speak for you when you've run out of words.',
];
if (empty($cat_desc)) {
$cat_desc = $cat_desc_map[$cat_slug] ?? 'The complete collection. Curated for the chronically employed.';