/*
 * LONG WINTER STUDIOS — Full Theme CSS
 * Replaces all Hub/WooThemes visual styles.
 * All layout, typography, components, and WooCommerce styles live here.
 */

/* ═══════════════════════════════════════════
   GOOGLE FONTS
═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&family=DM+Mono:wght@400;500&display=swap');

/* ═══════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════ */
:root {
  --bg:       #111213;
  --surface:  #1a1b1d;
  --raised:   #1e2022;
  --border:   #2a2b2e;
  --accent:   #1bc2ff;
  --orange:   #ff7b4a;
  --gold:     #f0c060;
  --text:     #e8e9ea;
  --muted:    #7a7c80;
  --dim:      #4a4c50;
  --nav-h:    68px;
  --max-w:    1280px;
  --gutter:   6vw;
}

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  overflow-x: hidden;
  /* subtle noise grain */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E") !important;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-decoration: none; transition: color .2s; }
a:hover { color: var(--text); }
p { margin-bottom: 1.2rem; color: var(--muted); line-height: 1.75; }
p strong, p b { color: var(--text); font-weight: 500; }

h1,h2,h3,h4,h5,h6 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-weight: 400 !important;
  line-height: 0.95;
  letter-spacing: 0.02em;
  color: var(--text);
  margin-bottom: 0.5em;
}
h1 { font-size: clamp(2.5rem,5vw,4.5rem); }
h2 { font-size: clamp(2rem,4vw,3.5rem); }
h3 { font-size: clamp(1.6rem,3vw,2.5rem); }
h4 { font-size: 1.6rem; }
h5 { font-size: 1.2rem; }
h6 { font-family: 'DM Mono', monospace !important; font-size: 0.8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--orange); }

ul, ol { padding-left: 1.5rem; color: var(--muted); }
li { margin-bottom: .4rem; }
blockquote {
  border-left: 3px solid var(--accent);
  background: var(--raised);
  padding: 1.2rem 1.8rem;
  margin: 2rem 0;
  font-style: italic;
}
blockquote p { color: var(--text); margin: 0; }
hr { border: none; border-top: 1px solid var(--border); margin: 3rem 0; }
code, pre { font-family: 'DM Mono', monospace; font-size: .85rem; background: var(--raised); border: 1px solid var(--border); }
code { padding: .1em .4em; }
pre { padding: 1.2rem; overflow-x: auto; margin-bottom: 1.5rem; }

::-webkit-scrollbar { width: 5px; background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border); }
::-webkit-scrollbar-thumb:hover { background: var(--dim); }

/* ═══════════════════════════════════════════
   OUTER WRAPPER — kill Hub's wrapper styles
═══════════════════════════════════════════ */
#wrapper, #inner-wrapper { all: unset; display: block; }
#lw-wrapper { min-height: 100vh; display: flex; flex-direction: column; }

/* ═══════════════════════════════════════════
   HEADER & NAV
═══════════════════════════════════════════ */
/* Kill old header-wrapper in case it still renders */
#header-wrapper { display: none !important; }

#lw-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-h);
  background: rgba(17,18,19,.95);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 900;
}

.lw-header-inner {
  height: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex;
  align-items: center;
  gap: 2rem;
}

/* Logo */
.lw-logo {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 1.6rem;
  letter-spacing: .1em;
  color: var(--text) !important;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
}
.lw-logo img { height: 40px; width: auto; display: block; }

/* Nav */
#lw-nav {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: auto;
}

ul.lw-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0; margin: 0;
  gap: 0;
}

ul.lw-nav-list > li {
  position: relative;
}

ul.lw-nav-list > li > a {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--muted) !important;
  padding: .5em 1em;
  display: block;
  transition: color .2s;
  line-height: 1;
  white-space: nowrap;
}

ul.lw-nav-list > li > a:hover,
ul.lw-nav-list > li.current-menu-item > a,
ul.lw-nav-list > li.current_page_item > a {
  color: var(--text) !important;
}

/* Dropdowns */
ul.lw-nav-list ul {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  min-width: 200px;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  list-style: none;
  padding: .5rem 0;
  z-index: 999;
}
ul.lw-nav-list li:hover > ul { display: block; }
ul.lw-nav-list ul li a {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted) !important;
  padding: .6em 1.2em;
  display: block;
}
ul.lw-nav-list ul li a:hover { color: var(--text) !important; background: var(--raised); }

/* Cart */
.lw-nav-cart { margin-left: 1.2rem; padding-left: 1.2rem; border-left: 1px solid var(--border); }
.lw-cart-link {
  display: flex;
  align-items: center;
  gap: .4rem;
  color: var(--muted) !important;
  transition: color .2s;
}
.lw-cart-link:hover { color: var(--accent) !important; }
.lw-cart-count {
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  background: var(--accent);
  color: var(--bg);
  border-radius: 50%;
  width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 500;
  line-height: 1;
}

/* Hamburger */
.lw-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem;
  margin-left: auto;
  flex-direction: column;
  gap: 5px;
}
.lw-nav-toggle span {
  display: block;
  width: 22px; height: 1.5px;
  background: var(--muted);
  transition: all .25s;
}

/* ═══════════════════════════════════════════
   CONTENT AREA PUSH
═══════════════════════════════════════════ */
#lw-content, #lw-homepage {
  margin-top: var(--nav-h);
  flex: 1;
}

/* ═══════════════════════════════════════════
   CONTAINERS
═══════════════════════════════════════════ */
.lw-container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 5rem var(--gutter);
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
}

/* When sidebar is present via PHP */
.lw-container:has(#lw-sidebar) {
  grid-template-columns: 1fr 280px;
}

.lw-container-wide { max-width: 100%; }
.lw-main-full { min-width: 0; }

/* ═══════════════════════════════════════════
   HOMEPAGE — HERO BAND
═══════════════════════════════════════════ */
#lw-homepage {
  margin-top: 0;
}

/* WooFramework homepage sections */
#intro-message.home-section {
  position: relative;
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 var(--gutter) 8vh;
  overflow: hidden;
  background: var(--bg);
}

#intro-message.home-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 65% 35%, rgba(27,194,255,.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 15% 80%, rgba(255,123,74,.05) 0%, transparent 55%);
  pointer-events: none;
}

/* Animated grid */
#intro-message.home-section::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(27,194,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,194,255,.03) 1px, transparent 1px);
  background-size: 80px 80px;
  animation: gridDrift 40s linear infinite;
  pointer-events: none;
}

@keyframes gridDrift {
  from { transform: translate(0,0); }
  to   { transform: translate(80px,80px); }
}

#intro-message.home-section .wrapper {
  position: relative;
  z-index: 1;
  max-width: var(--max-w);
  margin: 0 auto;
  width: 100%;
}

#intro-message.home-section h2 {
  font-size: clamp(4.5rem, 12vw, 11rem);
  line-height: .88;
  color: var(--text);
  margin-bottom: .4em;
  animation: fadeUp .8s ease both;
}

#intro-message.home-section p {
  font-size: 1.1rem;
  color: var(--muted);
  max-width: 520px;
  margin-bottom: 2.5rem;
  animation: fadeUp .8s .12s ease both;
}

#intro-message.home-section .button {
  animation: fadeUp .8s .22s ease both;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Homepage section utility */
.home-section {
  padding: 6rem var(--gutter);
  border-top: 1px solid var(--border);
}

.home-section .wrapper {
  max-width: var(--max-w);
  margin: 0 auto;
}

.home-section h2 {
  margin-bottom: .6em;
}

/* ═══════════════════════════════════════════
   SECTION LABELS (utility)
═══════════════════════════════════════════ */
.lw-label {
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  letter-spacing: .22em;
  color: var(--orange);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: .8rem;
}
.lw-label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--orange); }

/* ═══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.button, .lw-btn, .lw-read-more,
button[type="submit"],
input[type="submit"] {
  font-family: 'DM Mono', monospace !important;
  font-size: .72rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  background: var(--accent) !important;
  color: var(--bg) !important;
  border: none !important;
  padding: .8em 1.8em !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: background .2s, color .2s !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
}
.button:hover, .lw-btn:hover, .lw-read-more:hover,
button[type="submit"]:hover, input[type="submit"]:hover {
  background: var(--text) !important;
  color: var(--bg) !important;
}

.button.outline {
  background: transparent !important;
  color: var(--accent) !important;
  border: 1px solid rgba(27,194,255,.4) !important;
}
.button.outline:hover {
  background: var(--accent) !important;
  color: var(--bg) !important;
}

/* ═══════════════════════════════════════════
   FORMS
═══════════════════════════════════════════ */
input[type="text"], input[type="email"], input[type="search"],
input[type="url"], input[type="password"], input[type="number"],
textarea, select {
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: .92rem !important;
  padding: .65em 1em !important;
  border-radius: 0 !important;
  outline: none !important;
  width: 100% !important;
  transition: border-color .2s !important;
  appearance: none;
}
input:focus, textarea:focus, select:focus { border-color: var(--accent) !important; }
label {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  display: block !important;
  margin-bottom: .4rem !important;
}
::placeholder { color: var(--dim) !important; }

/* ═══════════════════════════════════════════
   ENTRIES / ARTICLES
═══════════════════════════════════════════ */
.lw-article {}

.lw-entry-header {
  border-bottom: 1px solid var(--border);
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
}

.lw-page-title, .lw-post-title {
  color: var(--text);
  margin-bottom: .3em;
}

.lw-entry-content { color: var(--muted); }
.lw-entry-content h1,.lw-entry-content h2,.lw-entry-content h3,
.lw-entry-content h4,.lw-entry-content h5,.lw-entry-content h6 { color: var(--text); margin-top: 2.5rem; }

.lw-entry-content h2::after {
  content: '';
  display: block;
  width: 32px; height: 2px;
  background: var(--orange);
  margin-top: .4rem;
}

.lw-entry-content a { color: var(--accent); border-bottom: 1px solid rgba(27,194,255,.25); padding-bottom: 1px; }
.lw-entry-content a:hover { color: var(--text); border-bottom-color: rgba(255,255,255,.3); }

.lw-entry-content img { margin: 2rem auto; border: 1px solid var(--border); }
.lw-entry-content iframe { max-width: 100%; border: 1px solid var(--border); margin: 2rem 0; }

.lw-edit-link { font-family: 'DM Mono', monospace; font-size: .65rem; color: var(--dim); letter-spacing: .1em; margin-top: 1.5rem; display: inline-block; }

/* Post meta */
.post-meta, .entry-meta {
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .12em !important;
  color: var(--muted) !important;
  text-transform: uppercase !important;
  margin-top: .5rem !important;
}
.post-meta a, .entry-meta a { color: var(--muted) !important; }
.post-meta a:hover, .entry-meta a:hover { color: var(--accent) !important; }

/* Tags */
.lw-tags a, p.tags a {
  font-family: 'DM Mono', monospace !important;
  font-size: .62rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  color: var(--muted) !important;
  padding: .25em .8em !important;
  display: inline-block !important;
  margin: .2rem !important;
  transition: all .2s !important;
}
.lw-tags a:hover, p.tags a:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  background: rgba(27,194,255,.05) !important;
}

/* ═══════════════════════════════════════════
   BLOG GRID / POST CARDS
═══════════════════════════════════════════ */
.lw-post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 3rem;
}

.lw-post-card {
  background: var(--bg);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.lw-post-card:hover { background: var(--raised); }
.lw-post-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--accent);
  opacity: 0;
  transition: opacity .3s;
}
.lw-post-card:hover::before { opacity: 1; }

.lw-post-thumb { display: block; overflow: hidden; }
.lw-thumb-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  filter: grayscale(20%) contrast(1.05);
  transition: filter .4s, transform .5s;
}
.lw-post-card:hover .lw-thumb-img { filter: grayscale(0%); transform: scale(1.03); }

.lw-post-card-body { padding: 1.8rem; flex: 1; display: flex; flex-direction: column; }
.lw-post-card-title { font-size: 1.5rem; margin-bottom: .3em; }
.lw-post-card-title a { color: var(--text) !important; }
.lw-post-card-title a:hover { color: var(--accent) !important; }
.lw-post-card-excerpt { color: var(--muted); font-size: .9rem; flex: 1; margin: .8rem 0 1.2rem; }
.lw-read-more {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.lw-read-more:hover { color: var(--text) !important; }

/* Archive header */
.lw-archive-header { margin-bottom: 3rem; border-bottom: 1px solid var(--border); padding-bottom: 2rem; }
.lw-archive-header h1,.lw-archive-header h2 { color: var(--text); margin-bottom: .3em; }
.lw-archive-header p { color: var(--muted); }

.lw-no-posts { color: var(--muted); font-family: 'DM Mono', monospace; font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; }

/* ═══════════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════════ */
#lw-sidebar { min-width: 0; }

.lw-sidebar-inner .widget,
#lw-sidebar .widget {
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  padding: 1.6rem !important;
  margin-bottom: 1.5rem !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#lw-sidebar .widgettitle,
#lw-sidebar .widget-title,
#lw-sidebar h3 {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--orange) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: .7rem !important;
  margin-bottom: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

#lw-sidebar .widget ul { list-style: none; padding: 0; }
#lw-sidebar .widget ul li { border-bottom: 1px solid var(--border); padding: .5rem 0; font-size: .88rem; color: var(--muted); }
#lw-sidebar .widget ul li:last-child { border-bottom: none; }
#lw-sidebar .widget ul li a { color: var(--muted) !important; font-size: .88rem; }
#lw-sidebar .widget ul li a:hover { color: var(--accent) !important; }

/* Sidebar also used in WooCommerce (shop sidebar gets #sidebar fallback) */
aside#sidebar { all: unset; display: block; }

/* ═══════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════ */
.lw-pagenav, .woo-pagination, .navigation, .page-navigation {
  display: flex;
  gap: .4rem;
  margin: 3rem 0;
  flex-wrap: wrap;
}

.lw-pagenav a, .lw-pagenav span,
.woo-pagination a, .woo-pagination span,
.navigation a, .navigation span {
  font-family: 'DM Mono', monospace !important;
  font-size: .7rem !important;
  letter-spacing: .12em !important;
  padding: .5em 1em !important;
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  color: var(--muted) !important;
  transition: all .2s !important;
  display: inline-block !important;
}
.lw-pagenav a:hover, .navigation a:hover { background: var(--accent) !important; color: var(--bg) !important; border-color: var(--accent) !important; }
.lw-pagenav .current, .navigation .current, .woo-pagination .current { background: var(--accent) !important; color: var(--bg) !important; border-color: var(--accent) !important; }

/* ═══════════════════════════════════════════
   POST NAVIGATION
═══════════════════════════════════════════ */
.nav-links, .post-nav {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid var(--border);
  padding-top: 2rem;
  margin-top: 2rem;
}

.nav-links a, .post-nav a {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}
.nav-links a:hover, .post-nav a:hover { color: var(--accent) !important; }

/* ═══════════════════════════════════════════
   COMMENTS
═══════════════════════════════════════════ */
#comments { border-top: 1px solid var(--border); padding-top: 3rem; margin-top: 3rem; }
#comments h3 { color: var(--text); margin-bottom: 2rem; }

.comment-list { list-style: none; padding: 0; }
.comment-list .comment { background: var(--raised); border: 1px solid var(--border); padding: 1.5rem; margin-bottom: 1rem; }
.comment-author .fn { font-family: 'DM Mono', monospace; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.comment-meta { font-size: .72rem; color: var(--muted); margin-bottom: .8rem; }
.comment-content { color: var(--muted); }

/* Comment form */
#respond { margin-top: 3rem; border-top: 1px solid var(--border); padding-top: 2rem; }
#respond h3 { color: var(--text); margin-bottom: 2rem; }
.comment-form-comment label,
.comment-form-author label,
.comment-form-email label,
.comment-form-url label { margin-bottom: .4rem; }
.form-submit input[type="submit"] { margin-top: 1rem; }

/* ═══════════════════════════════════════════
   404
═══════════════════════════════════════════ */
.lw-404 {
  min-height: calc(100vh - var(--nav-h));
  display: flex;
  align-items: center;
}
.lw-404-inner { text-align: center; max-width: 500px; margin: 0 auto; padding: 4rem 0; }
.lw-404-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(8rem,20vw,16rem);
  color: var(--border);
  line-height: .9;
  margin-bottom: .2em;
}
.lw-404-inner h1 { color: var(--text); font-size: 3rem; margin-bottom: .5em; }
.lw-404-inner p { margin-bottom: 2rem; }

/* ═══════════════════════════════════════════
   GALLERIES & MEDIA (Gutenberg / WP)
═══════════════════════════════════════════ */
.gallery, .wp-block-gallery, ul.wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 2px !important;
  background: var(--border) !important;
  border: 1px solid var(--border) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 2.5rem 0 !important;
}

.gallery-item, .blocks-gallery-item, .wp-block-gallery li {
  overflow: hidden !important;
  aspect-ratio: 4/3 !important;
  background: var(--raised) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  display: block !important;
}

.gallery-item img, .blocks-gallery-item img, .wp-block-gallery li img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  display: block !important; margin: 0 !important;
  filter: grayscale(15%) contrast(1.05) !important;
  transition: filter .4s, transform .5s !important;
}

.gallery-item:hover img, .blocks-gallery-item:hover img, .wp-block-gallery li:hover img {
  filter: grayscale(0%) contrast(1.1) !important;
  transform: scale(1.04) !important;
}

.blocks-gallery-item figure { height: 100%; }

/* wp-block-media-text */
.wp-block-media-text {
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  margin: 2rem 0 !important;
  gap: 2.5rem !important;
}

/* Separator */
.wp-block-separator { border: none !important; border-top: 1px solid var(--border) !important; margin: 2.5rem 0 !important; }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
/* Kill old footer-wrapper */
#footer-wrapper { display: none !important; }

#lw-footer {
  background: var(--raised);
  border-top: 1px solid var(--border);
  margin-top: auto;
}

.lw-footer-widgets {
  border-bottom: 1px solid var(--border);
  padding: 4rem var(--gutter);
}

.lw-footer-widgets-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.lw-footer-col .widgettitle,
.lw-footer-col .widget-title,
.lw-footer-col h3 {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--orange) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: .6rem !important;
  margin-bottom: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.lw-footer-col .widget { background: transparent !important; border: none !important; padding: 0 !important; }
.lw-footer-col ul { list-style: none; padding: 0; }
.lw-footer-col ul li { border-bottom: 1px solid var(--border); padding: .4rem 0; font-size: .85rem; }
.lw-footer-col ul li a { color: var(--muted) !important; }
.lw-footer-col ul li a:hover { color: var(--accent) !important; }

.lw-footer-bar {
  padding: 1.8rem var(--gutter);
}

.lw-footer-bar-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.lw-footer-copy p, .lw-footer-tagline p {
  margin: 0;
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .12em !important;
  color: var(--muted) !important;
  text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════
   WOOCOMMERCE — GLOBAL
═══════════════════════════════════════════ */
.lw-woocommerce { }

/* WC notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  border-left: 3px solid var(--accent) !important;
  color: var(--text) !important;
  padding: 1rem 1.5rem !important;
  margin-bottom: 1.5rem !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  box-shadow: none !important;
}
.woocommerce-error { border-left-color: #ff5a5a !important; }
.woocommerce-info { border-left-color: var(--accent) !important; }
.woocommerce-message::before,
.woocommerce-info::before { display: none !important; }

/* WC breadcrumbs */
.woocommerce-breadcrumb {
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin-bottom: 2rem !important;
  display: block !important;
}
.woocommerce-breadcrumb a { color: var(--muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--accent) !important; }

/* ═══════════════════════════════════════════
   WOOCOMMERCE — SHOP / ARCHIVE
═══════════════════════════════════════════ */
.woocommerce-page .lw-main-full h1.page-title,
.woocommerce-page .lw-main-full h1.woocommerce-products-header__title {
  color: var(--text);
  margin-bottom: 1rem;
}

/* Results & ordering bar */
.woocommerce-ordering select,
.woocommerce form .select2-container,
.woocommerce-ordering .orderby {
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .1em !important;
  padding: .5em 1em !important;
  border-radius: 0 !important;
  outline: none !important;
  width: auto !important;
}

.woocommerce-result-count {
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .12em !important;
  color: var(--muted) !important;
  text-transform: uppercase !important;
}

/* Product grid */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1px !important;
  background: var(--border) !important;
  border: 1px solid var(--border) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem 0 !important;
}

ul.products li.product {
  background: var(--bg) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: background .3s !important;
  display: flex !important;
  flex-direction: column !important;
}

ul.products li.product:hover { background: var(--raised) !important; }

ul.products li.product::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--accent);
  opacity: 0;
  transition: opacity .3s;
  z-index: 1;
}
ul.products li.product:hover::before { opacity: 1; }

/* Product inner wrapper (from woo_wc_before/after_shop_loop_item) */
.lw-product-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
}

/* Product image */
ul.products li.product .woocommerce-loop-product__link { display: block; }

ul.products li.product img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  filter: grayscale(10%) contrast(1.05) !important;
  transition: filter .4s, transform .5s !important;
  margin: 0 !important;
}

ul.products li.product:hover img {
  filter: grayscale(0%) contrast(1.1) !important;
  transform: scale(1.03) !important;
}

/* Product title */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  padding: 1rem 1.2rem .3rem !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}

/* Price */
ul.products li.product .price {
  font-family: 'DM Mono', monospace !important;
  font-size: .8rem !important;
  color: var(--accent) !important;
  letter-spacing: .08em !important;
  padding: 0 1.2rem .8rem !important;
  display: block !important;
}

ul.products li.product .price del {
  color: var(--dim) !important;
  font-size: .75rem !important;
  margin-right: .4rem !important;
}

ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--orange) !important;
}

/* Add to cart button in loop */
ul.products li.product .button {
  margin: auto 1.2rem 1.2rem !important;
  width: calc(100% - 2.4rem) !important;
  text-align: center !important;
  font-size: .65rem !important;
  padding: .65em 1em !important;
  opacity: 0;
  transition: opacity .25s, background .2s !important;
}

ul.products li.product:hover .button { opacity: 1 !important; }

/* Sale badge */
.onsale {
  background: var(--orange) !important;
  color: var(--bg) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: .6rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: .3em .7em !important;
  border-radius: 0 !important;
  top: .8rem !important;
  left: .8rem !important;
  right: auto !important;
  min-width: unset !important;
  min-height: unset !important;
  line-height: 1.4 !important;
}

/* ═══════════════════════════════════════════
   WOOCOMMERCE — SINGLE PRODUCT
═══════════════════════════════════════════ */
.single-product div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin-bottom: 4rem;
}

.single-product .woocommerce-product-gallery {
  position: relative;
}

.single-product .woocommerce-product-gallery img {
  border: 1px solid var(--border);
}

.single-product .woocommerce-product-gallery__trigger {
  background: var(--accent) !important;
  border-radius: 0 !important;
}

.single-product .summary {
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.single-product .summary .product_title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2rem,5vw,3.5rem) !important;
  color: var(--text) !important;
  line-height: .95 !important;
  margin-bottom: .3em !important;
}

.single-product .summary .price {
  font-family: 'DM Mono', monospace !important;
  font-size: 1.3rem !important;
  color: var(--accent) !important;
  letter-spacing: .05em !important;
}

.single-product .summary .price del { color: var(--dim) !important; font-size: 1rem !important; }
.single-product .summary .price ins { text-decoration: none !important; color: var(--orange) !important; }

.single-product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.single-product .woocommerce-product-details__short-description {
  color: var(--muted);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 1.2rem 0;
  font-size: .95rem;
  line-height: 1.7;
}

/* Add to cart form */
.single-product form.cart {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.single-product form.cart .quantity input {
  background: var(--raised) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'DM Mono', monospace !important;
  width: 64px !important;
  text-align: center !important;
  padding: .6em !important;
}

.single-product form.cart .single_add_to_cart_button {
  flex: 1;
}

/* Product meta */
.product_meta {
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .12em !important;
  color: var(--muted) !important;
  text-transform: uppercase !important;
  border-top: 1px solid var(--border) !important;
  padding-top: 1rem !important;
}
.product_meta a { color: var(--accent) !important; }

/* Tabs */
.woocommerce-tabs {
  margin-top: 4rem;
  border-top: 1px solid var(--border);
}

.woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0 0 0 0;
  border-bottom: 1px solid var(--border);
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { display: none !important; }

.woocommerce-tabs ul.tabs li a {
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 1rem 1.5rem !important;
  display: block !important;
  border-bottom: 2px solid transparent !important;
  transition: all .2s !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
  color: var(--text) !important;
  border-bottom-color: var(--accent) !important;
}

.woocommerce-tabs .panel {
  padding: 2rem 0 !important;
  background: transparent !important;
  border: none !important;
  color: var(--muted) !important;
}

.woocommerce-tabs .panel h2 { display: none; }

/* Reviews */
#reviews .woocommerce-Reviews-title { color: var(--text); margin-bottom: 1.5rem; }
#reviews .comment_container { display: flex; gap: 1.2rem; background: var(--raised); border: 1px solid var(--border); padding: 1.2rem; margin-bottom: 1rem; }
#reviews .comment-text { flex: 1; }
#reviews .meta { font-family: 'DM Mono', monospace; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
#reviews .description p { color: var(--muted); }

/* Related / Upsells */
.related, .upsells {
  margin-top: 4rem;
  border-top: 1px solid var(--border);
  padding-top: 2rem;
}

.related h2, .upsells h2 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: var(--text);
}

/* ═══════════════════════════════════════════
   WOOCOMMERCE — CART
═══════════════════════════════════════════ */
.woocommerce-cart table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--border) !important;
}

.woocommerce-cart table.shop_table th {
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  background: var(--raised) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: .9rem 1rem !important;
  text-align: left !important;
}

.woocommerce-cart table.shop_table td {
  border-bottom: 1px solid var(--border) !important;
  padding: 1rem !important;
  color: var(--text) !important;
  background: var(--bg) !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table .product-name a { color: var(--text) !important; }
.woocommerce-cart table.shop_table .product-name a:hover { color: var(--accent) !important; }

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  font-family: 'DM Mono', monospace !important;
  font-size: .85rem !important;
  color: var(--accent) !important;
}

.woocommerce-cart table.shop_table img {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border: 1px solid var(--border) !important;
}

.woocommerce-cart .cart-collaterals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 2rem;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cross-sells h2 {
  font-size: 1.8rem;
  color: var(--text);
  margin-bottom: 1.2rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: .8rem;
}

.woocommerce-cart .cart_totals table {
  width: 100%;
  border: 1px solid var(--border);
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--border);
  font-family: 'DM Mono', monospace !important;
  font-size: .75rem !important;
  letter-spacing: .08em !important;
}

.woocommerce-cart .cart_totals table th { color: var(--muted); background: var(--raised); }
.woocommerce-cart .cart_totals table td { color: var(--text); background: var(--bg); }

.woocommerce-cart .cart_totals table .order-total td { color: var(--accent) !important; font-size: .9rem !important; }

/* ═══════════════════════════════════════════
   WOOCOMMERCE — CHECKOUT
═══════════════════════════════════════════ */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  margin-bottom: 2rem;
}

.woocommerce-checkout h3 {
  font-size: 1.8rem;
  color: var(--text);
  border-bottom: 1px solid var(--border);
  padding-bottom: .8rem;
  margin-bottom: 1.5rem;
}

.woocommerce-checkout .form-row { margin-bottom: 1.2rem; }

.woocommerce-checkout table.shop_table {
  width: 100%;
  border: 1px solid var(--border);
}
.woocommerce-checkout table.shop_table th {
  background: var(--raised) !important;
  color: var(--muted) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: .65rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  padding: .8rem 1rem !important;
}
.woocommerce-checkout table.shop_table td {
  padding: .8rem 1rem !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text) !important;
  background: var(--bg) !important;
}

#payment { background: var(--raised) !important; border: 1px solid var(--border) !important; padding: 1.5rem !important; }
#payment .payment_methods { list-style: none !important; padding: 0 !important; margin-bottom: 1.5rem !important; }
#payment .payment_methods li { border-bottom: 1px solid var(--border) !important; padding: .8rem 0 !important; color: var(--text) !important; font-size: .9rem !important; }
#payment .place-order { }

/* ═══════════════════════════════════════════
   WOOCOMMERCE — ACCOUNT
═══════════════════════════════════════════ */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  border: 1px solid var(--border);
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: .8rem 1.2rem;
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  transition: all .2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--text) !important;
  background: var(--raised);
  border-left: 2px solid var(--accent);
}

.woocommerce-account .woocommerce-MyAccount-content h2 { color: var(--text); border-bottom: 1px solid var(--border); padding-bottom: .8rem; margin-bottom: 1.5rem; }
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--muted); }

/* WC table (orders) */
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.shop_table {
  width: 100%;
  border: 1px solid var(--border);
  border-collapse: collapse;
}
.woocommerce-account table th {
  background: var(--raised) !important;
  color: var(--muted) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: .62rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  padding: .8rem 1rem !important;
  border-bottom: 1px solid var(--border) !important;
}
.woocommerce-account table td {
  padding: .8rem 1rem !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text) !important;
  background: var(--bg) !important;
  font-size: .88rem !important;
}

/* Stars */
.star-rating span::before,
.woocommerce .star-rating span::before { color: var(--gold) !important; }

/* ═══════════════════════════════════════════
   SEARCH FORM
═══════════════════════════════════════════ */
.searchform, form.woocommerce-product-search {
  display: flex;
  gap: 0;
}
.searchform input[type="text"],
.searchform input[type="search"],
form.woocommerce-product-search input[type="search"] {
  flex: 1;
  border-right: none !important;
}
.searchform button, .searchform input[type="submit"],
form.woocommerce-product-search button[type="submit"] {
  flex-shrink: 0;
  width: auto !important;
  padding: .65em 1.2em !important;
}

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  ul.products { grid-template-columns: repeat(3, 1fr) !important; }
  .single-product div.product { grid-template-columns: 1fr; gap: 2.5rem; }
}

@media (max-width: 768px) {
  :root { --nav-h: 60px; --gutter: 5vw; }

  /* Mobile nav */
  .lw-nav-toggle { display: flex; }

  #lw-nav {
    display: none;
    position: fixed;
    top: var(--nav-h); left: 0; right: 0; bottom: 0;
    background: rgba(17,18,19,.98);
    backdrop-filter: blur(12px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2rem var(--gutter);
    overflow-y: auto;
    z-index: 800;
    gap: 0;
  }

  #lw-nav.open { display: flex; }

  ul.lw-nav-list { flex-direction: column; width: 100%; }
  ul.lw-nav-list > li { width: 100%; border-bottom: 1px solid var(--border); }
  ul.lw-nav-list > li > a { font-size: .8rem; padding: 1rem 0; }

  ul.lw-nav-list ul { position: static; display: block; background: var(--raised); border: none; box-shadow: none; padding-left: 1rem; }

  .lw-nav-cart { margin: 1.5rem 0 0; padding: 1.5rem 0 0; border-left: none; border-top: 1px solid var(--border); width: 100%; }

  /* Layout */
  .lw-container { padding: 3rem var(--gutter); }
  .lw-container:has(#lw-sidebar) { grid-template-columns: 1fr; }
  #lw-sidebar { order: -1; }

  ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  ul.products li.product .button { opacity: 1 !important; }

  .woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; }

  .lw-post-grid { grid-template-columns: 1fr; }

  .gallery, .wp-block-gallery, ul.wp-block-gallery { grid-template-columns: repeat(2,1fr) !important; }

  .lw-footer-bar-inner { flex-direction: column; align-items: flex-start; }

  #intro-message.home-section { min-height: 70vh; }
}

@media (max-width: 480px) {
  ul.products { grid-template-columns: 1fr !important; }
  .gallery, .wp-block-gallery, ul.wp-block-gallery { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════
   HEADER FIXES v2
   - Kill the #top woo bar entirely
   - Logo sizing
   - Account dropdown
   - Nav utils cluster
═══════════════════════════════════════════ */

/* Nuke the top-menu bar — we've absorbed it into main nav */
#top { display: none !important; }

/* Also kill woo_header_before / woo_header_inside output that
   Hub injects (old logo hook etc.) */
#header-wrapper { display: none !important; }

/* Header height — slightly more breathing room */
#lw-header {
  height: var(--nav-h) !important; /* keeps 68px from token */
}

/* Logo container */
.lw-logo {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.lw-logo-img {
  height: 44px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
  /* keep image crisp on dark bg */
  filter: brightness(1) !important;
}

.lw-logo-text {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 1.55rem !important;
  letter-spacing: .1em !important;
  color: var(--text) !important;
  line-height: 1 !important;
}

/* Nav: push to right of logo */
#lw-nav {
  display: flex !important;
  align-items: center !important;
  margin-left: auto !important;
  gap: 0 !important;
}

/* Utility cluster — cart + account, right side */
.lw-nav-utils {
  display: flex;
  align-items: center;
  gap: .2rem;
  margin-left: 1.2rem;
  padding-left: 1.2rem;
  border-left: 1px solid var(--border);
}

/* Shared pill button */
.lw-util-btn {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  color: var(--muted);
  padding: .45rem .55rem;
  transition: color .2s;
  position: relative;
  line-height: 1;
}
.lw-util-btn:hover,
.lw-util-btn:focus { color: var(--text); outline: none; }

/* Cart icon */
.lw-cart-link {
  color: var(--muted) !important;
}
.lw-cart-link:hover { color: var(--accent) !important; }

.lw-cart-count {
  font-family: 'DM Mono', monospace;
  font-size: .6rem;
  font-weight: 500;
  background: var(--accent);
  color: var(--bg);
  border-radius: 50%;
  width: 17px; height: 17px;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}

/* Account dropdown */
.lw-account-menu {
  position: relative;
}

.lw-account-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 160px;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 12px 40px rgba(0,0,0,.6);
  z-index: 9999;
  padding: .4rem 0;
}

/* Small arrow notch */
.lw-account-dropdown::before {
  content: '';
  position: absolute;
  top: -5px; right: 12px;
  width: 9px; height: 9px;
  background: var(--surface);
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
  transform: rotate(45deg);
}

.lw-account-menu:hover .lw-account-dropdown,
.lw-account-menu:focus-within .lw-account-dropdown {
  display: block;
}

.lw-account-dropdown a {
  display: block;
  font-family: 'DM Mono', monospace !important;
  font-size: .68rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: .65rem 1.1rem !important;
  border-bottom: 1px solid var(--border) !important;
  transition: all .18s !important;
  white-space: nowrap !important;
}
.lw-account-dropdown a:last-child { border-bottom: none !important; }
.lw-account-dropdown a:hover {
  color: var(--text) !important;
  background: var(--raised) !important;
}

/* Mobile: account dropdown becomes inline */
@media (max-width: 768px) {
  .lw-nav-utils {
    margin: 1.5rem 0 0;
    padding: 1.5rem 0 0;
    border-left: none;
    border-top: 1px solid var(--border);
    width: 100%;
    gap: .5rem;
  }

  .lw-account-dropdown {
    position: static;
    display: block !important;
    box-shadow: none;
    border: 1px solid var(--border);
    margin-top: .5rem;
  }

  .lw-account-dropdown::before { display: none; }

  .lw-account-dropdown a {
    padding: .8rem 0 !important;
  }
}

/* ═══════════════════════════════════════════
   ADMIN BAR SPACER
   WordPress adds 32px bar at top for logged-in
   admins. Push our fixed header down to sit below it.
═══════════════════════════════════════════ */
.admin-bar #lw-header {
  top: 32px !important;
}
.admin-bar #lw-content,
.admin-bar #lw-homepage {
  margin-top: calc(var(--nav-h) + 32px) !important;
}
/* WP shrinks admin bar to 46px on small screens */
@media screen and (max-width: 782px) {
  .admin-bar #lw-header { top: 46px !important; }
  .admin-bar #lw-content,
  .admin-bar #lw-homepage { margin-top: calc(var(--nav-h) + 46px) !important; }
}
@media screen and (max-width: 600px) {
  .admin-bar #lw-header { top: 0 !important; }
  .admin-bar #lw-content,
  .admin-bar #lw-homepage { margin-top: var(--nav-h) !important; }
}

/* ═══════════════════════════════════════════
   HOMEPAGE — FULL REWRITE
═══════════════════════════════════════════ */

/* Kill WooFramework homepage sections from bleeding in */
#lw-homepage .home-section:not(.lw-home-hero) { display: none !important; }
#intro-message, #popular-posts, #testimonials,
#recent-posts, #our-team, #featured-products { display: none !important; }

#lw-homepage {
  margin-top: 0;
  overflow-x: hidden;
}

/* ── HERO ── */
.lw-home-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 0 var(--gutter);
}

/* Animated grid */
.lw-hero-grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(27,194,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,194,255,.04) 1px, transparent 1px);
  background-size: 72px 72px;
  animation: heroGrid 60s linear infinite;
  pointer-events: none;
}
@keyframes heroGrid {
  from { transform: translate(0,0); }
  to   { transform: translate(72px,72px); }
}

/* Radial glow blobs */
.lw-hero-glow {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 70% 30%, rgba(27,194,255,.08) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 15% 75%, rgba(255,123,74,.06) 0%, transparent 55%);
  pointer-events: none;
}

.lw-hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--max-w);
  margin: 0 auto;
  width: 100%;
  padding: 8vh 0 10vh;
}

/* Eyebrow */
.lw-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: .7rem;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 2.5rem;
  animation: fadeUp .7s ease both;
}
.lw-hero-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px var(--accent);
  animation: pulse 2.5s ease infinite;
  flex-shrink: 0;
}
@keyframes pulse {
  0%,100% { opacity: 1; box-shadow: 0 0 6px var(--accent); }
  50%      { opacity: .6; box-shadow: 0 0 14px var(--accent); }
}

/* Hero title */
.lw-hero-title {
  display: flex;
  flex-direction: column;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(5.5rem, 14vw, 13rem) !important;
  line-height: .88 !important;
  letter-spacing: .01em !important;
  color: var(--text) !important;
  margin-bottom: .5em !important;
}

.lw-hero-line {
  display: block;
  opacity: 0;
  animation: fadeUp .8s ease both;
  animation-delay: calc(var(--i) * 0.1s);
}
.lw-hero-line--accent {
  /* Outlined text treatment */
  -webkit-text-stroke: 2px var(--accent);
  color: transparent !important;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Hero subtext */
.lw-hero-sub {
  font-size: clamp(.9rem, 1.5vw, 1.05rem) !important;
  color: var(--muted) !important;
  max-width: 480px;
  line-height: 1.75 !important;
  margin-bottom: 2.8rem !important;
  opacity: 0;
  animation: fadeUp .8s ease both;
  animation-delay: calc(var(--i) * 0.1s);
}

/* CTA buttons */
.lw-hero-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 4rem;
  opacity: 0;
  animation: fadeUp .8s ease both;
  animation-delay: calc(var(--i) * 0.1s);
}

.lw-btn-primary {
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  background: var(--accent);
  color: var(--bg) !important;
  padding: .85em 2em;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  transition: background .2s, gap .2s;
  white-space: nowrap;
}
.lw-btn-primary:hover {
  background: var(--text);
  color: var(--bg) !important;
  gap: .9rem;
}

.lw-btn-ghost {
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted) !important;
  padding: .85em 1.8em;
  border: 1px solid var(--border);
  display: inline-block;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.lw-btn-ghost:hover {
  color: var(--text) !important;
  border-color: var(--dim);
}

.lw-btn-outline {
  font-family: 'DM Mono', monospace;
  font-size: .7rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent) !important;
  padding: .8em 1.6em;
  border: 1px solid rgba(27,194,255,.35);
  display: inline-block;
  transition: all .2s;
  margin-top: 1.5rem;
}
.lw-btn-outline:hover {
  background: var(--accent);
  color: var(--bg) !important;
  border-color: var(--accent);
}

/* Stats row */
.lw-hero-stats {
  display: flex;
  align-items: center;
  gap: 0;
  opacity: 0;
  animation: fadeUp .8s ease both;
  animation-delay: calc(var(--i) * 0.1s);
}
.lw-stat {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: 0 2.5rem 0 0;
}
.lw-stat:first-child { padding-left: 0; }
.lw-stat-n {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.8rem;
  color: var(--text);
  line-height: 1;
}
.lw-stat-label {
  font-family: 'DM Mono', monospace;
  font-size: .6rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
}
.lw-stat-divider {
  width: 1px;
  height: 40px;
  background: var(--border);
  margin: 0 2.5rem 0 0;
  flex-shrink: 0;
}

/* Scroll cue */
.lw-scroll-cue {
  position: absolute;
  bottom: 2.5rem;
  left: var(--gutter);
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: 'DM Mono', monospace;
  font-size: .6rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--dim);
  z-index: 2;
  animation: fadeUp 1s .6s ease both;
}
.lw-scroll-line {
  width: 40px;
  height: 1px;
  background: var(--dim);
  transform-origin: left;
  animation: scrollLine 2s 1s ease-in-out infinite;
}
@keyframes scrollLine {
  0%   { transform: scaleX(0); transform-origin: left; }
  50%  { transform: scaleX(1); transform-origin: left; }
  51%  { transform-origin: right; }
  100% { transform: scaleX(0); transform-origin: right; }
}

/* ── TICKER ── */
.lw-ticker {
  overflow: hidden;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--raised);
  padding: .85rem 0;
  position: relative;
  z-index: 3;
}
.lw-ticker::before,
.lw-ticker::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 1;
  pointer-events: none;
}
.lw-ticker::before { left: 0;  background: linear-gradient(90deg, var(--raised), transparent); }
.lw-ticker::after  { right: 0; background: linear-gradient(-90deg, var(--raised), transparent); }

.lw-ticker-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: ticker 40s linear infinite;
  will-change: transform;
}
@keyframes ticker {
  from { transform: translateX(0); }
  to   { transform: translateX(-33.333%); }
}
.lw-ticker-item {
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0 1.5rem;
}
.lw-ticker-sep {
  color: var(--accent);
  font-size: .45rem;
  opacity: .6;
}

/* ── PILLARS ── */
.lw-pillars {
  padding: 9rem var(--gutter);
  position: relative;
}

.lw-section-label {
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--orange);
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.2rem;
}
.lw-section-label::before {
  content: '';
  display: block;
  width: 20px; height: 1px;
  background: var(--orange);
}

.lw-pillars-header {
  max-width: var(--max-w);
  margin: 0 auto 5rem;
}

.lw-pillars-title {
  font-size: clamp(3rem, 6vw, 5.5rem) !important;
  color: var(--text) !important;
  line-height: .9 !important;
}

.lw-pillars-grid {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}

.lw-pillar {
  background: var(--bg);
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.lw-pillar:hover { background: var(--raised); }

/* Top accent bar — slides in on hover */
.lw-pillar::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.lw-pillar:hover::before { transform: scaleX(1); }

/* Featured pillar */
.lw-pillar--featured {
  background: var(--raised);
}
.lw-pillar--featured::before {
  background: var(--orange);
  transform: scaleX(1);
}

.lw-pillar-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 5rem;
  line-height: 1;
  color: var(--border);
  position: absolute;
  top: 1.5rem; right: 1.8rem;
  transition: color .3s;
  pointer-events: none;
}
.lw-pillar:hover .lw-pillar-num { color: var(--raised); }
.lw-pillar--featured .lw-pillar-num { color: var(--surface); }

.lw-pillar-icon {
  width: 44px; height: 44px;
  color: var(--accent);
  flex-shrink: 0;
}
.lw-pillar--featured .lw-pillar-icon { color: var(--orange); }
.lw-pillar-icon svg { width: 100%; height: 100%; }

.lw-pillar h3 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 2rem !important;
  color: var(--text) !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.lw-pillar p {
  font-size: .92rem !important;
  color: var(--muted) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  flex: 1;
}

.lw-pillar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .5rem;
}
.lw-pillar-tags span {
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dim);
  border: 1px solid var(--border);
  padding: .25em .7em;
}
.lw-pillar--featured .lw-pillar-tags span { border-color: rgba(255,123,74,.25); color: rgba(255,123,74,.6); }

/* ── TOOLS STRIP ── */
.lw-tools-strip {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--raised);
  padding: 7rem var(--gutter);
  position: relative;
  overflow: hidden;
}

/* Background text watermark */
.lw-tools-strip::before {
  content: 'BLINK';
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(10rem, 22vw, 20rem);
  color: rgba(27,194,255,.025);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

.lw-tools-strip-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

.lw-tools-copy h2 {
  font-size: clamp(3rem, 6vw, 5rem) !important;
  line-height: .88 !important;
  color: var(--text) !important;
  margin-bottom: 1.5rem !important;
}

.lw-tools-copy p {
  font-size: .95rem !important;
  color: var(--muted) !important;
  max-width: 400px;
  line-height: 1.75 !important;
}

.lw-tools-features {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border);
}

.lw-tool-feat {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid var(--border);
  transition: background .2s;
  opacity: 0;
  animation: fadeUp .5s ease both;
  animation-delay: calc(var(--fi) * 0.07s + 0.2s);
}
.lw-tool-feat:last-child { border-bottom: none; }
.lw-tool-feat:hover { background: var(--surface); }

.lw-tool-feat-icon {
  font-family: 'DM Mono', monospace;
  font-size: .9rem;
  color: var(--accent);
  width: 24px;
  text-align: center;
  flex-shrink: 0;
}

.lw-tool-feat-text {
  font-size: .88rem;
  color: var(--muted);
  font-family: 'DM Sans', sans-serif;
  letter-spacing: .01em;
}

/* ── CTA BAND ── */
.lw-cta {
  padding: 9rem var(--gutter);
  position: relative;
  overflow: hidden;
}

/* Grid accent in corner */
.lw-cta-grid-accent {
  position: absolute;
  top: 0; right: 0;
  width: 50%; height: 100%;
  background-image:
    linear-gradient(rgba(27,194,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,194,255,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  mask-image: linear-gradient(to left, rgba(0,0,0,.6), transparent);
  -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,.6), transparent);
}

.lw-cta-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

.lw-cta-title {
  font-size: clamp(3.5rem, 7vw, 6.5rem) !important;
  line-height: .88 !important;
  color: var(--text) !important;
  margin: 0 !important;
}
.lw-cta-title em {
  font-style: normal;
  -webkit-text-stroke: 1.5px var(--accent);
  color: transparent !important;
}

.lw-cta-right p {
  font-size: .95rem !important;
  color: var(--muted) !important;
  max-width: 420px;
  line-height: 1.75 !important;
  margin-bottom: 2rem !important;
}

.lw-cta-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.lw-cta-fine {
  font-family: 'DM Mono', monospace !important;
  font-size: .6rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--dim) !important;
  margin: 0 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .lw-pillars-grid { grid-template-columns: 1fr; }
  .lw-pillar--featured { order: -1; }
  .lw-pillar-num { font-size: 3.5rem; }
  .lw-tools-strip-inner { grid-template-columns: 1fr; gap: 3rem; }
  .lw-cta-inner { grid-template-columns: 1fr; gap: 3rem; }
}

@media (max-width: 600px) {
  .lw-hero-title { font-size: clamp(4rem, 18vw, 6rem) !important; }
  .lw-hero-stats { gap: 0; flex-wrap: wrap; }
  .lw-stat { padding: 0 1.8rem 0 0; }
  .lw-stat-divider { margin-right: 1.8rem; }
  .lw-stat-n { font-size: 2.2rem; }
  .lw-pillars { padding: 5rem var(--gutter); }
  .lw-cta { padding: 5rem var(--gutter); }
  .lw-tools-strip { padding: 5rem var(--gutter); }
}
