/*
Theme Name: LazyToolkits
Theme URI: https://lazytoolkits.com
Author: LazyToolkits Team
Author URI: https://lazytoolkits.com
Description: Accessible WooCommerce storefront for WordPress software products. Operational features are provided by the companion LazyToolkits Core plugin.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 8.0
WC requires at least: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lazytoolkits
Tags: woocommerce, e-commerce, digital-download, responsive, custom-colors
*/

/* ============================================================
   CSS VARIABLES / SKIN SYSTEM
   ============================================================ */
:root {
  /* Brand */
  --primary: #1a56db;
  --primary-dark: #1341a8;
  --primary-light: #e8f0fe;
  --secondary: #0e7490;

  /* UI */
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface2: #f1f5f9;
  --border: #e2e8f0;
  --border-strong: #cbd5e1;

  /* Text */
  --text: #0f172a;
  --text2: #334155;
  --text3: #64748b;
  --text4: #94a3b8;

  /* Status */
  --success: #059669;
  --success-bg: #ecfdf5;
  --warning: #d97706;
  --warning-bg: #fffbeb;
  --danger: #dc2626;
  --danger-bg: #fef2f2;

  /* Typography */
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Layout */
  --container: 1200px;
  --sidebar: 280px;
  --radius: 8px;
  --radius-lg: 12px;
  --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.05);
  --shadow-lg: 0 10px 25px rgba(0,0,0,0.1), 0 4px 10px rgba(0,0,0,0.05);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--primary); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--primary-dark); }

/* ============================================================
   LAYOUT
   ============================================================ */
.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.site-content { padding: 32px 0 60px; }
.content-area { display: grid; grid-template-columns: 1fr var(--sidebar); gap: 32px; }
.content-area.full-width { grid-template-columns: 1fr; }
@media (max-width: 1024px) { .content-area { grid-template-columns: 1fr; } }

/* ============================================================
   TOP BAR
   ============================================================ */
.top-bar {
  background: var(--text);
  color: #94a3b8;
  font-size: 12px;
  padding: 8px 0;
}
.top-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-bar a { color: #94a3b8; transition: color 0.2s; }
.top-bar a:hover { color: #fff; }
.top-bar-links { display: flex; gap: 20px; align-items: center; }
.top-bar-links .separator { color: #334155; }

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: var(--shadow);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  gap: 24px;
}
.site-logo a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.logo-icon {
  width: 32px;
  height: 32px;
  background: var(--primary);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
}
.logo-text {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.5px;
}
.logo-text span { color: var(--primary); }

/* Search */
.header-search {
  flex: 1;
  max-width: 380px;
  display: flex;
  align-items: center;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 8px 16px;
  gap: 8px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.header-search:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(26,86,219,0.1);
}
.header-search input {
  border: none;
  background: transparent;
  font-size: 13px;
  color: var(--text);
  outline: none;
  width: 100%;
  font-family: var(--font);
}
.header-search input::placeholder { color: var(--text4); }
.header-search .search-icon { color: var(--text3); font-size: 16px; flex-shrink: 0; }

/* Header Actions */
.header-actions { display: flex; align-items: center; gap: 12px; }
.cart-btn {
  position: relative;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 8px 14px;
  color: var(--text2);
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  text-decoration: none;
}
.cart-btn:hover { border-color: var(--primary); color: var(--primary); }
.cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--danger);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.account-btn {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s;
  text-decoration: none;
}
.account-btn:hover { background: var(--primary-dark); color: #fff; }
.mobile-toggle {
  display: none;
  background: none;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 8px 12px;
  cursor: pointer;
  font-size: 20px;
  color: var(--text);
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.main-nav {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.main-nav ul {
  list-style: none;
  display: flex;
  gap: 0;
  padding: 0;
  margin: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.main-nav ul::-webkit-scrollbar { display: none; }
.main-nav ul li { position: relative; }
.main-nav ul li a {
  display: block;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text2);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
}
.main-nav ul li a:hover,
.main-nav ul li.current-menu-item > a,
.main-nav ul li.current-menu-parent > a {
  color: var(--primary);
  border-bottom-color: var(--primary);
}
/* Dropdown */
.main-nav ul li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 2px solid var(--primary);
  min-width: 220px;
  box-shadow: var(--shadow-lg);
  border-radius: 0 0 var(--radius) var(--radius);
  z-index: 100;
  flex-direction: column;
}
.main-nav ul li:hover > ul { display: flex; }
.main-nav ul li ul li a {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  font-weight: 400;
}
.main-nav ul li ul li:last-child a { border-bottom: none; }
.main-nav ul li ul li a:hover { background: var(--bg); color: var(--primary); border-bottom-color: var(--border); }

/* ============================================================
   ANNOUNCEMENT / PROMO BAR
   ============================================================ */
.promo-bar {
  background: var(--primary);
  color: #fff;
  text-align: center;
  padding: 8px;
  font-size: 13px;
  font-weight: 500;
}
.promo-bar a { color: #fff; text-decoration: underline; }
.countdown-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 12px;
  font-weight: 600;
}
.countdown-inline span {
  background: rgba(255,255,255,0.2);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 13px;
  min-width: 32px;
  text-align: center;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero-section {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
  padding: 64px 0;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(26,86,219,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 20px;
}
.hero-title {
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -1px;
}
.hero-title span { color: #60a5fa; }
.hero-desc {
  font-size: 16px;
  color: #94a3b8;
  max-width: 520px;
  margin-bottom: 32px;
  line-height: 1.7;
}
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.btn-hero-primary {
  background: var(--primary);
  color: #fff;
  padding: 13px 28px;
  border-radius: var(--radius);
  font-size: 15px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-hero-primary:hover { background: var(--primary-dark); color: #fff; transform: translateY(-1px); }
.btn-hero-secondary {
  background: rgba(255,255,255,0.1);
  color: #fff;
  padding: 13px 24px;
  border-radius: var(--radius);
  font-size: 15px;
  font-weight: 500;
  border: 1px solid rgba(255,255,255,0.2);
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.btn-hero-secondary:hover { background: rgba(255,255,255,0.15); color: #fff; }
.hero-stats {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.hero-stat .num {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}
.hero-stat .lbl {
  font-size: 12px;
  color: #64748b;
  margin-top: 2px;
}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.section-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
}
.section-title::before {
  content: '';
  display: block;
  width: 4px;
  height: 20px;
  background: var(--primary);
  border-radius: 2px;
}
.section-more {
  font-size: 13px;
  color: var(--primary);
  font-weight: 500;
}
.section-more:hover { color: var(--primary-dark); }

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .products-grid { grid-template-columns: 1fr; } }

.product-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all 0.2s;
  position: relative;
}
.product-card:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.product-card.featured { border: 2px solid var(--primary); }
.product-badge-wrap {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 6px;
  z-index: 2;
}
.badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}
.badge-primary { background: var(--primary); color: #fff; }
.badge-success { background: var(--success); color: #fff; }
.badge-warning { background: var(--warning); color: #fff; }
.badge-danger { background: var(--danger); color: #fff; }
.badge-gray { background: var(--text2); color: #fff; }

.product-thumb {
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, #e8f0fe, #c7d7fd);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  position: relative;
  overflow: hidden;
}
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-thumb .product-icon { font-size: 48px; }

.product-body { padding: 16px; }
.product-cats {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.product-cat {
  font-size: 11px;
  font-weight: 600;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.product-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 6px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-name a { color: inherit; }
.product-name a:hover { color: var(--primary); }
.product-excerpt {
  font-size: 13px;
  color: var(--text3);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
}
.product-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.stars { color: #f59e0b; font-size: 13px; letter-spacing: 1px; }
.rating-count { font-size: 12px; color: var(--text3); }

.product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}
.product-price { }
.price-regular { font-size: 20px; font-weight: 700; color: var(--text); }
.price-original { font-size: 13px; color: var(--text4); text-decoration: line-through; margin-right: 6px; }
.price-sale { font-size: 20px; font-weight: 700; color: var(--danger); }
.price-discount {
  display: inline-block;
  background: var(--danger-bg);
  color: var(--danger);
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 6px;
}

.btn-buy {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.btn-buy:hover { background: var(--primary-dark); color: #fff; transform: translateY(-1px); }
.btn-buy-outline {
  background: transparent;
  color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: var(--radius);
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.btn-buy-outline:hover { background: var(--primary); color: #fff; }

/* ============================================================
   SINGLE PRODUCT PAGE
   ============================================================ */
.single-product-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: start;
}
@media (max-width: 900px) { .single-product-layout { grid-template-columns: 1fr; } }

.product-gallery { }
.product-main-img {
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, #e8f0fe, #c7d7fd);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 80px;
  margin-bottom: 12px;
  overflow: hidden;
}
.product-main-img img { width: 100%; height: 100%; object-fit: cover; }

.product-tabs { margin-top: 32px; }
.tab-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--border);
  margin-bottom: 24px;
}
.tab-btn {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text3);
  border: none;
  background: none;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
}
.tab-btn.active { color: var(--primary); border-bottom-color: var(--primary); }
.tab-content { display: none; }
.tab-content.active { display: block; }

/* Product sidebar/purchase box */
.product-purchase-box {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-md);
  position: sticky;
  top: 100px;
}
.purchase-price { margin-bottom: 20px; }
.purchase-price .price-sale { font-size: 32px; }
.purchase-price .price-original { font-size: 16px; }
.purchase-includes {
  background: var(--bg);
  border-radius: var(--radius);
  padding: 16px;
  margin-bottom: 20px;
}
.include-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 13px;
  color: var(--text2);
}
.include-item .icon { color: var(--success); font-size: 15px; }
.btn-add-cart {
  width: 100%;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  padding: 14px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 10px;
  font-family: var(--font);
}
.btn-add-cart:hover { background: var(--primary-dark); }
.btn-wishlist {
  width: 100%;
  background: transparent;
  color: var(--text2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 11px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--font);
}
.btn-wishlist:hover { border-color: var(--danger); color: var(--danger); }
.purchase-meta {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}
.meta-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  padding: 4px 0;
  color: var(--text3);
}
.meta-row strong { color: var(--text2); }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials-section {
  background: var(--surface);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 48px 0;
}
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
@media (max-width: 800px) { .testimonials-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .testimonials-grid { grid-template-columns: 1fr; } }
.testi-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
}
.testi-stars { color: #f59e0b; font-size: 14px; margin-bottom: 10px; }
.testi-text {
  font-size: 14px;
  color: var(--text2);
  line-height: 1.6;
  margin-bottom: 16px;
  font-style: italic;
}
.testi-author { display: flex; align-items: center; gap: 10px; }
.testi-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
  flex-shrink: 0;
}
.testi-name { font-size: 13px; font-weight: 600; color: var(--text); }
.testi-role { font-size: 11px; color: var(--text3); }

/* ============================================================
   DEMO PREVIEW SECTION
   ============================================================ */
.demo-section { padding: 48px 0; }
.demo-container {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  margin-top: 24px;
}
.demo-topbar {
  background: #1e293b;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.demo-dots { display: flex; gap: 6px; }
.demo-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.demo-dot.red { background: #ff5f57; }
.demo-dot.yellow { background: #ffbd2e; }
.demo-dot.green { background: #28c840; }
.demo-url {
  flex: 1;
  background: #334155;
  border-radius: 4px;
  padding: 4px 12px;
  font-size: 12px;
  color: #94a3b8;
  text-align: center;
}
.demo-tabs {
  display: flex;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
}
.demo-tab {
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text3);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
}
.demo-tab.active { color: var(--primary); border-bottom-color: var(--primary); background: var(--surface); }
.demo-content { padding: 24px; }
.demo-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
.demo-stat-box {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px;
  text-align: center;
}
.demo-stat-box .n { font-size: 22px; font-weight: 700; color: var(--text); }
.demo-stat-box .l { font-size: 11px; color: var(--text3); text-transform: uppercase; }
.demo-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.demo-table th {
  background: var(--bg);
  padding: 8px 12px;
  text-align: left;
  font-weight: 600;
  color: var(--text2);
  border-bottom: 1px solid var(--border);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.demo-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); color: var(--text2); }
.status-dot {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 500;
}
.status-dot::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.status-dot.published { color: var(--success); }
.status-dot.published::before { background: var(--success); }
.status-dot.pending { color: var(--warning); }
.status-dot.pending::before { background: var(--warning); }

/* ============================================================
   SIDEBAR
   ============================================================ */
.sidebar { display: flex; flex-direction: column; gap: 20px; }
.widget {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.widget-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text);
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}
.widget-body { padding: 16px; }
.widget-product {
  display: flex;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.widget-product:last-child { border-bottom: none; padding-bottom: 0; }
.widget-product-thumb {
  width: 56px;
  height: 40px;
  background: var(--primary-light);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.widget-product-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.widget-product-name a { color: inherit; }
.widget-product-name a:hover { color: var(--primary); }
.widget-product-price { font-size: 13px; font-weight: 700; color: var(--primary); }

/* ============================================================
   MY ACCOUNT / WOOCOMMERCE
   ============================================================ */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  align-items: start;
}
@media (max-width: 768px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } }

.woocommerce-MyAccount-navigation {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: sticky;
  top: 100px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text2);
  border-bottom: 1px solid var(--border);
  transition: all 0.2s;
}
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--bg); color: var(--primary); }
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--primary-light);
  color: var(--primary);
  font-weight: 600;
}
.woocommerce-MyAccount-content {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
}

/* WC General overrides */
.woocommerce-message,
.woocommerce-info {
  background: var(--primary-light);
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--text2);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.woocommerce-error {
  background: var(--danger-bg);
  border-left: 4px solid var(--danger);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--danger);
  margin-bottom: 20px;
  list-style: none;
}

/* Forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-size: 14px;
  font-family: var(--font);
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  background: var(--surface);
  color: var(--text);
}
.woocommerce form .form-row input.input-text:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(26,86,219,0.1);
}
.woocommerce form .form-row label { font-size: 13px; font-weight: 500; color: var(--text2); margin-bottom: 6px; display: block; }

/* Buttons WC */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius) !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  font-family: var(--font) !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--primary-dark) !important;
  color: #fff !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--success) !important;
}

/* ============================================================
   FLOATING WHATSAPP
   ============================================================ */
.wa-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999;
  background: #25d366;
  color: #fff;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: var(--shadow-lg);
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}
.wa-float:hover { transform: scale(1.1); color: #fff; }
.wa-tooltip {
  position: absolute;
  right: 60px;
  background: var(--text);
  color: #fff;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: var(--radius);
  white-space: nowrap;
  display: none;
}
.wa-float:hover .wa-tooltip { display: block; }

/* ============================================================
   SUBSCRIBE MODAL
   ============================================================ */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(4px);
}
.modal-overlay.show { display: flex; }
.modal-box {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 32px;
  max-width: 440px;
  width: 100%;
  position: relative;
  box-shadow: var(--shadow-lg);
}
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  color: var(--text3);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
}
.modal-close:hover { background: var(--bg); }
.modal-box h3 { font-size: 22px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.modal-box p { color: var(--text3); font-size: 14px; margin-bottom: 20px; }
.modal-input {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
  font-size: 14px;
  margin-bottom: 12px;
  outline: none;
  font-family: var(--font);
  transition: border-color 0.2s;
}
.modal-input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(26,86,219,0.1); }
.modal-submit {
  width: 100%;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  padding: 13px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font);
  transition: background 0.2s;
}
.modal-submit:hover { background: var(--primary-dark); }
.modal-success { display: none; text-align: center; padding: 16px 0; }
.modal-success p { color: var(--success); font-weight: 600; font-size: 16px; }

/* ============================================================
   READING PROGRESS
   ============================================================ */
.reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--primary);
  z-index: 9999;
  width: 0%;
  transition: width 0.1s;
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.breadcrumb-wrap {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  padding: 10px 0;
}
.breadcrumb {
  font-size: 13px;
  color: var(--text3);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.breadcrumb a { color: var(--text3); transition: color 0.2s; }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb .sep { color: var(--border-strong); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: #0f172a;
  color: #64748b;
  margin-top: 60px;
}
.footer-top {
  padding: 48px 0 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  border-bottom: 1px solid #1e293b;
}
@media (max-width: 800px) { .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .footer-top { grid-template-columns: 1fr; } }
.footer-brand .logo-text { color: #fff; font-size: 20px; margin-bottom: 12px; display: block; }
.footer-desc { font-size: 13px; line-height: 1.7; color: #64748b; margin-bottom: 16px; }
.footer-socials { display: flex; gap: 10px; }
.footer-socials a {
  width: 36px;
  height: 36px;
  background: #1e293b;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 16px;
  transition: all 0.2s;
  text-decoration: none;
}
.footer-socials a:hover { background: var(--primary); color: #fff; }
.footer-widget-title {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.footer-links { list-style: none; padding: 0; }
.footer-links li { margin-bottom: 8px; }
.footer-links a { color: #64748b; font-size: 13px; transition: color 0.2s; }
.footer-links a:hover { color: #fff; }
.footer-bottom {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  flex-wrap: wrap;
  gap: 8px;
}
.footer-bottom a { color: #64748b; }
.footer-bottom a:hover { color: #fff; }
.footer-payment { display: flex; gap: 8px; align-items: center; }
.payment-badge {
  background: #1e293b;
  color: #64748b;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
}

/* ============================================================
   UTILITIES & MOBILE
   ============================================================ */
.text-center { text-align: center; }
.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mb-24 { margin-bottom: 24px; }

@media (max-width: 768px) {
  .top-bar { display: none; }
  .header-search { display: none; }
  .mobile-toggle { display: block; }
  .main-nav ul { display: none; flex-direction: column; }
  .main-nav ul.open { display: flex; }
  .hero-section { padding: 40px 0; }
  .hero-stats { gap: 20px; }
  .promo-bar { font-size: 11px; }
  .countdown-inline { display: none; }
  body { padding-bottom: 80px; }
}

@media print {
  .site-header, .main-nav, .promo-bar, .site-footer,
  .wa-float, .modal-overlay, .reading-progress { display: none !important; }
}

/* ============================================================
   V2 HARDENING, ACCESSIBILITY & APPLICATION UI
   ============================================================ */
[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px;
  margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus, .skip-link:focus {
  clip: auto !important; clip-path: none; height: auto; width: auto; top: 8px; left: 8px;
  background: #fff; color: #111827; padding: 10px 14px; z-index: 10000; border-radius: 6px;
}
:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 55%, white); outline-offset: 3px; }
.header-search { padding: 0 14px; }
.header-search input { width: 100%; padding: 9px 0; }
.header-search button { border: 0; background: transparent; }
.main-nav .menu { list-style: none; }
.breadcrumb { display:flex;align-items:center;flex-wrap:wrap;gap:8px;list-style:none; }
.breadcrumb li + li::before { content:'›';margin-right:8px;color:var(--text4); }
.countdown-inline > span { display:inline-flex; gap:4px; align-items:center; }
.countdown-inline strong { font-variant-numeric: tabular-nums; }
.section-head h2, .section-head h1 { margin:0; }
.section-kicker { margin-top:4px;color:var(--text3);font-size:13px; }
.product-name { line-height:1.35; }
.product-thumb { display:flex;align-items:center;justify-content:center; }
.product-price .amount { font-weight:700;color:var(--text); }
.empty-state { background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center; }
.empty-state.large { padding:80px 24px; }
.empty-state h1,.empty-state h2,.empty-state h3 { margin-bottom:8px; }
.empty-state p { color:var(--text3);margin-bottom:20px; }
.empty-icon { font-size:44px;font-weight:800;color:var(--primary);margin-bottom:12px; }
.post-list { display:flex;flex-direction:column;gap:20px; }
.post-card { background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;grid-template-columns:200px 1fr;overflow:hidden;transition:border-color .2s,transform .2s; }
.post-card:hover { border-color:var(--primary);transform:translateY(-1px); }
.post-card-thumb img { width:100%;height:100%;min-height:150px;object-fit:cover; }
.post-card-body { padding:20px; }
.post-card-body h2 { font-size:19px;line-height:1.35;margin:5px 0 8px; }
.post-card-body h2 a { color:var(--text); }
.post-card-body p { color:var(--text3);margin-bottom:12px; }
.post-card-category { font-size:11px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.05em; }
.post-card-meta { font-size:12px;color:var(--text4); }
.content-card { background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px; }
.content-card > h1 { font-size:clamp(26px,4vw,36px);line-height:1.2;margin-bottom:24px; }
.entry-content { color:var(--text2);line-height:1.8; }
.entry-content > * + * { margin-top:1.2em; }
.entry-content ul,.entry-content ol { padding-left:1.4em; }
.search-form { display:flex; }
.search-field { min-width:0;flex:1;border:1px solid var(--border);border-right:0;border-radius:8px 0 0 8px;padding:10px 12px;font:inherit; }
.search-submit { border:0;border-radius:0 8px 8px 0;background:var(--primary);color:#fff;padding:0 16px;cursor:pointer; }
.category-list { list-style:none; }
.category-list li { display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--surface2); }
.category-list li:last-child { border-bottom:0; }
.category-list a { color:var(--text2); }
.category-list span { background:var(--surface2);padding:1px 8px;border-radius:999px;font-size:11px;color:var(--text3); }
.widget-product-thumb img { width:100%;height:100%;object-fit:cover;border-radius:4px; }
.widget-product-name { margin:0;line-height:1.3; }
.widget-cta { color:#fff;background:linear-gradient(135deg,#1e3a5f,#0f172a);border:0; }
.widget-cta h2 { color:#fff;margin-bottom:8px; }
.widget-cta p { color:#cbd5e1;font-size:13px;margin-bottom:14px; }
.demo-tab { border:0;border-bottom:2px solid transparent;background:transparent;font-family:inherit; }
.demo-tab:hover { color:var(--primary); }
.table-scroll { overflow-x:auto; }
.demo-settings-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.demo-settings-grid div { background:var(--bg);border:1px solid var(--border);padding:12px;border-radius:8px; }
.demo-settings-grid dt { font-size:12px;color:var(--text3); }
.demo-settings-grid dd { margin:4px 0 0;font-weight:700;color:var(--text); }
.testi-text { margin:12px 0 18px;quotes:none; }
.newsletter-cta { padding:48px 0;background:var(--primary-light);border-top:1px solid var(--border);border-bottom:1px solid var(--border); }
.newsletter-cta-inner { display:flex;justify-content:space-between;align-items:center;gap:24px; }
.newsletter-cta h2 { margin-bottom:6px; }
.newsletter-cta p { color:var(--text3); }
.footer-logo { display:inline-block;margin-bottom:12px; }
.footer-logo .logo-text span { color:#60a5fa; }
.footer-subscribe { margin-bottom:16px; }
.button-secondary { border:1px solid #334155;background:#1e293b;color:#fff;border-radius:8px;padding:9px 14px;font:inherit;font-weight:600;cursor:pointer; }
.button-secondary:hover { border-color:#60a5fa; }
.modal-box h2 { font-size:22px;margin:0 36px 8px 0; }
.modal-box label:not(.newsletter-consent) { display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:6px; }
.newsletter-consent { display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text3);margin:4px 0 14px; }
.newsletter-consent input { margin-top:3px; }
.lt-honeypot { position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden; }
.form-status { min-height:22px;margin:12px 0 0 !important;font-size:13px !important; }
.form-status.is-success { color:var(--success) !important; }
.form-status.is-error { color:var(--danger) !important; }
.modal-submit:disabled { opacity:.65;cursor:wait; }
.image-error { background:var(--surface2);min-height:80px; }
.content-area-full { min-width:0; }

/* WooCommerce default templates: style through hooks instead of brittle full-template overrides. */
.woocommerce div.product { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:40px; }
.woocommerce div.product div.images,.woocommerce div.product div.summary { width:auto;float:none;margin:0; }
.woocommerce div.product div.summary { background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;align-self:start;position:sticky;top:104px; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0;display:flex;flex-wrap:wrap;gap:6px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:1px solid var(--border);background:var(--bg);border-radius:8px;margin:0;padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:9px 14px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--primary-light);border-color:var(--primary); }
.ltc-feature-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0 !important; }
.ltc-feature-list li { padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px; }
.ltc-feature-list li::before { content:'✓';color:var(--success);font-weight:800;margin-right:8px; }
.ltc-faq { border:1px solid var(--border);border-radius:8px;margin:10px 0;overflow:hidden; }
.ltc-faq summary { cursor:pointer;padding:14px;font-weight:700;background:var(--bg); }
.ltc-faq > div { padding:0 14px 14px; }
.ltc-product-meta { margin-top:18px;border-top:1px solid var(--border);padding-top:12px; }
.ltc-product-meta div { display:flex;justify-content:space-between;gap:16px;padding:5px 0; }
.ltc-product-meta dt { color:var(--text3); }.ltc-product-meta dd { font-weight:700;margin:0; }
.ltc-account-list { display:grid;gap:16px; }
.ltc-account-card { border:1px solid var(--border);border-radius:10px;padding:18px;background:var(--surface); }
.ltc-account-card h3 { margin-bottom:12px; }
.ltc-account-card code { overflow-wrap:anywhere; }
.ltc-account-actions { margin-top:14px; }
.ltc-ticket-thread { display:grid;gap:14px;margin:20px 0; }
.ltc-ticket-message { border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:8px;padding:16px;background:var(--surface); }
.ltc-ticket-message.is-staff { border-left-color:var(--primary);background:var(--primary-light); }
.ltc-ticket-message header { display:flex;justify-content:space-between;gap:16px;margin-bottom:8px; }
.ltc-ticket-message time { font-size:12px;color:var(--text3); }

@media (max-width: 900px) {
  .woocommerce div.product { grid-template-columns:1fr; }
  .woocommerce div.product div.summary { position:static; }
  .post-card { grid-template-columns:150px 1fr; }
}
@media (max-width: 640px) {
  .container { padding-left:16px;padding-right:16px; }
  .post-card { grid-template-columns:1fr; }
  .post-card-thumb img { height:190px; }
  .newsletter-cta-inner { align-items:flex-start;flex-direction:column; }
  .demo-settings-grid,.ltc-feature-list { grid-template-columns:1fr; }
  .demo-content { padding:16px; }
  .content-card { padding:22px; }
  .woocommerce div.product div.summary,.woocommerce div.product .woocommerce-tabs { padding:18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important; }
}

@media (max-width:768px){body{padding-bottom:0;}}

/* Single content and comments */
.single-entry .entry-header { margin-bottom: 20px; }
.single-entry .entry-meta { color: var(--text3); }
.entry-featured { margin: 0 0 24px; }
.entry-featured img { width: 100%; height: auto; border-radius: var(--radius); }
.entry-content > * + * { margin-top: 1em; }
.entry-content img { max-width: 100%; height: auto; }
.entry-footer { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--border); }
.post-navigation { margin: 20px 0; }
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.post-navigation a { display: block; padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.comments-area { margin-top: 24px; }
.comment-list { padding-left: 24px; }
.comment-list .comment-body { padding: 16px 0; border-bottom: 1px solid var(--border); }
.comment-form input:not([type="submit"]), .comment-form textarea { width: 100%; }
@media (max-width: 640px) { .post-navigation .nav-links { grid-template-columns: 1fr; } }
.ltc-product-links { display:flex;flex-wrap:wrap;gap:10px;margin-top:14px; }

/* ============================================================
   WOOCOMMERCE OVERRIDES & NEW COMPONENTS
   ============================================================ */

/* Shop toolbar */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 10px;
}
.woocommerce-result-count { font-size: 13px; color: var(--text3); margin: 0; }
.woocommerce-ordering select {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 7px 12px;
  font-size: 13px;
  font-family: var(--font);
  background: var(--surface);
  color: var(--text);
  outline: none;
}

/* Category filter pills */
.cat-filter {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.cat-pill {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text2);
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.cat-pill:hover, .cat-pill.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.cat-count {
  background: rgba(255,255,255,0.25);
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 10px;
}

/* Feature list */
.feature-list { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 600px) { .feature-list { grid-template-columns: 1fr; } }
.feature-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 14px;
  color: var(--text2);
}
.feature-check { color: var(--success); font-size: 16px; flex-shrink: 0; font-weight: 700; }

/* FAQ */
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.faq-question {
  padding: 14px 16px;
  background: var(--bg);
  font-weight: 600;
  font-size: 14px;
  color: var(--text);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.faq-question::-webkit-details-marker { display: none; }
.faq-question::before { content: '+ '; color: var(--primary); }
.faq-item[open] .faq-question::before { content: '− '; }
.faq-answer { padding: 14px 16px; font-size: 14px; color: var(--text2); line-height: 1.6; }

/* My Account layout */
.myaccount-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  align-items: start;
  padding: 32px 0 60px;
}
@media (max-width: 768px) { .myaccount-layout { grid-template-columns: 1fr; } }
.myaccount-nav {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: sticky;
  top: 100px;
}
.myaccount-nav-item {
  display: block;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text2);
  border-bottom: 1px solid var(--border);
  transition: all 0.2s;
  text-decoration: none;
}
.myaccount-nav-item:last-child { border-bottom: none; }
.myaccount-nav-item:hover { background: var(--bg); color: var(--primary); }
.myaccount-nav-item.active { background: var(--primary-light); color: var(--primary); font-weight: 600; }
.myaccount-content {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
}

/* WC buttons override */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius) !important;
  padding: 11px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  font-family: var(--font) !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--primary-dark) !important;
  color: #fff !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--success) !important;
}

/* WC forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-family: var(--font) !important;
  background: var(--surface) !important;
  color: var(--text) !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.woocommerce form .form-row input.input-text:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(26,86,219,0.1) !important;
}
.woocommerce form .form-row label { font-size: 13px; font-weight: 500; color: var(--text2); }

/* WC messages */
.woocommerce-message,
.woocommerce-info {
  background: var(--primary-light);
  border-top: none;
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--text2);
  margin-bottom: 20px;
}
.woocommerce-error {
  background: var(--danger-bg);
  border-left: 4px solid var(--danger);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--danger);
  margin-bottom: 20px;
  list-style: none;
}

/* Post list (archive.php) */
.post-list { display: flex; flex-direction: column; gap: 20px; }
.post-list-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  display: flex;
  gap: 20px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.post-list-item:hover { border-color: var(--primary); }
.list-thumb { width: 200px; flex-shrink: 0; }
.list-thumb img { width: 100%; height: 130px; object-fit: cover; display: block; }
.list-body { padding: 20px 20px 20px 0; flex: 1; }
.list-cat { font-size: 11px; font-weight: 600; color: var(--primary); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.list-cat a { color: inherit; }
.list-title { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 8px; line-height: 1.3; }
.list-title a { color: inherit; }
.list-title a:hover { color: var(--primary); }
.list-excerpt { font-size: 14px; color: var(--text3); margin-bottom: 12px; line-height: 1.5; }
.post-meta { display: flex; gap: 16px; font-size: 12px; color: var(--text4); }
@media (max-width: 600px) { .post-list-item { flex-direction: column; } .list-thumb { width: 100%; } .list-body { padding: 14px; } }

/* Empty state */
.empty-state { text-align: center; padding: 60px 20px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.empty-icon { font-size: 48px; margin-bottom: 16px; }

/* Single product */
.product-short-desc { font-size: 14px; color: var(--text2); line-height: 1.6; margin-bottom: 20px; }
.product-sale-badge { position: absolute; top: 12px; right: 12px; background: var(--danger); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 4px; }
.product-purchase-title { font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 12px; line-height: 1.3; }
.product-placeholder-icon { font-size: 80px; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 200px; }

/* Archive desc */
.archive-desc { font-size: 14px; color: var(--text3); margin-bottom: 20px; }

/* WC pagination */
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 6px; justify-content: center; list-style: none; padding: 0; margin: 32px 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; border-radius: var(--radius);
  font-size: 13px; font-weight: 600; border: 1px solid var(--border);
  background: var(--surface); color: var(--text2); transition: all 0.2s; text-decoration: none;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--primary); border-color: var(--primary); color: #fff; }
