/*
Theme Name: PluginTheme
Theme URI: https://wpthemebazar.com/plugintheme
Author: WP Theme Bazar
Author URI: https://wpthemebazar.com
Description: PluginTheme is a modern WooCommerce marketplace theme designed for selling digital products like WordPress themes, plugins, and software. Features include custom checkout, license management integration, advanced search, customizer options, and full RTL support.
Version: 2.4.0
Requires at least: 5.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: plugintheme
Domain Path: /languages
Tags: e-commerce, two-columns, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, rtl-language-support, theme-options
*/

/* ================================================================
   PLUGINTHEME v2.0 — WHITE/BLUE SAAS MARKETPLACE
   Primary: #2563EB | Dark: #0F172A | Accent: #22C55E
   ================================================================ */

:root {
  --color-primary:     #f97316;
  --color-primary-hover: #ea6c0a;
  --color-primary-light: rgba(249,115,22,.1);
  --color-primary-muted: rgba(249,115,22,.25);
  --color-dark:        #0F172A;
  --color-dark-muted:  #1E293B;
  --color-slate:       #f1f5f9;
  --color-slate-light: #94a3b8;
  --color-border:      #E2E8F0;
  --color-bg:          #FFFFFF;
  --color-bg-soft:     #F8FAFC;
  --color-accent:      #f97316;
  --color-accent-light:rgba(249,115,22,.12);
  --color-warning:     #F59E0B;
  --color-danger:      #EF4444;
  --shadow-xs:         0 1px 3px rgba(0,0,0,.06);
  --shadow-sm:         0 2px 8px rgba(0,0,0,.08);
  --shadow-md:         0 4px 20px rgba(0,0,0,.10);
  --shadow-lg:         0 8px 40px rgba(0,0,0,.12);
  --shadow-xl:         0 20px 60px rgba(0,0,0,.15);
  --radius-sm:         6px;
  --radius-md:         10px;
  --radius-lg:         16px;
  --radius-xl:         24px;
  --radius-full:       9999px;
  --font-heading:      'Inter', 'Poppins', -apple-system, sans-serif;
  --font-body:         'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --transition:        all .2s ease;
  --container:         1240px;
}

/* ======================== RESET & BASE ======================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; scrollbar-gutter: stable; }
body { font-family: var(--font-body); background: var(--color-bg); color: var(--color-dark); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; max-width: 100%; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
button, input, select, textarea { font-family: inherit; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); line-height: 1.25; color: var(--color-dark); }

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* ======================== HEADER / NAV ======================== */
#masthead {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.96); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
  transition: box-shadow .3s;
}
#masthead.scrolled { box-shadow: var(--shadow-md); }
.site-header-inner {
  display: flex; align-items: center; gap: 24px;
  height: 68px; max-width: var(--container); margin: 0 auto; padding: 0 24px;
}
/* Logo */
.site-logo { flex-shrink: 0; display: flex; align-items: center; gap: 8px; }
.site-logo img { height: 34px; width: auto; }
.site-logo-text { font-size: 1.2rem; font-weight: 800; color: var(--color-primary); letter-spacing: -.02em; }
.site-logo-text span { color: var(--color-dark); }

/* Mega Menu */
.mega-menu-nav { flex: 1; }
.mega-menu-nav > ul { display: flex; align-items: center; gap: 2px; }
.mega-menu-nav > ul > li { position: relative; }
.mega-menu-nav > ul > li > a {
  display: flex; align-items: center; gap: 4px; padding: 8px 12px;
  font-size: .875rem; font-weight: 500; color: var(--color-slate);
  border-radius: var(--radius-sm); transition: var(--transition); white-space: nowrap;
}
.mega-menu-nav > ul > li > a:hover,
.mega-menu-nav > ul > li.current-menu-item > a { color: var(--color-primary); background: var(--color-primary-light); }
.mega-menu-nav > ul > li > a .arrow { font-size: .6rem; transition: transform .2s; }
.mega-menu-nav > ul > li:hover > a .arrow { transform: rotate(180deg); }

/* Mega Dropdown */
.mega-dropdown {
  position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
  background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl); padding: 20px; min-width: 560px; opacity: 0; visibility: hidden;
  transition: opacity .2s, transform .2s; transform: translateX(-50%) translateY(-4px); pointer-events: none;
}
.mega-menu-nav > ul > li:hover .mega-dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); pointer-events: all; }
.mega-dropdown-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mega-dropdown-item {
  display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
  border-radius: var(--radius-md); transition: var(--transition);
}
.mega-dropdown-item:hover { background: var(--color-primary-light); }
.mega-dropdown-item-icon { font-size: 1.25rem; flex-shrink: 0; margin-top: 1px; }
.mega-dropdown-item-text strong { display: block; font-size: .8rem; font-weight: 600; color: var(--color-dark); }
.mega-dropdown-item-text span { display: block; font-size: .72rem; color: var(--color-slate-light); margin-top: 1px; }
.mega-dropdown-footer { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--color-border); display: flex; gap: 12px; align-items: center; }
.mega-dropdown-footer a { font-size: .8rem; color: var(--color-primary); font-weight: 500; }
.mega-dropdown-footer a:hover { text-decoration: underline; }

/* Header Right */
.header-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.header-search-wrap { position: relative; }
.header-search-input {
  width: 200px; height: 36px; padding: 0 36px 0 12px;
  border: 1.5px solid var(--color-border); border-radius: var(--radius-full);
  font-size: .8rem; color: var(--color-dark); outline: none; background: var(--color-bg-soft);
  transition: border-color .2s, width .3s;
}
.header-search-input:focus { border-color: var(--color-primary); width: 240px; background: #fff; }
.header-search-icon { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--color-slate-light); pointer-events: none; font-size: .8rem; }
.header-cart-btn {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--radius-md); background: var(--color-bg-soft);
  border: 1.5px solid var(--color-border); color: var(--color-slate); transition: var(--transition); cursor: pointer;
}
.header-cart-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.cart-count {
  position: absolute; top: -6px; right: -6px; background: var(--color-primary); color: #fff;
  font-size: .6rem; font-weight: 700; width: 16px; height: 16px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: var(--radius-md); font-size: .875rem; font-weight: 600; border: none; cursor: pointer; transition: var(--transition); white-space: nowrap; text-decoration: none; }
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-hover); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(37,99,235,.3); }
.btn-outline { background: transparent; color: var(--color-primary); border: 1.5px solid var(--color-primary); padding: 8px 16px; }
.btn-outline:hover { background: var(--color-primary-light); }
.btn-ghost { background: transparent; color: var(--color-slate); }
.btn-ghost:hover { background: var(--color-bg-soft); }
.btn-accent { background: var(--color-accent); color: #fff; }
.btn-accent:hover { background: #ea6c0a; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(34,197,94,.3); }
.btn-lg { padding: 13px 28px; font-size: 1rem; border-radius: var(--radius-lg); }
.btn-xl { padding: 16px 36px; font-size: 1.05rem; border-radius: var(--radius-lg); }
.btn-sm { padding: 6px 12px; font-size: .78rem; }

/* Mobile toggle */
.mobile-menu-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
.mobile-menu-toggle span { width: 22px; height: 2px; background: var(--color-dark); border-radius: 2px; transition: var(--transition); display: block; }

/* ======================== HERO SECTION ======================== */
.hero-section {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, #F0F7FF 0%, #EFF6FF 50%, #F8FAFC 100%);
  padding: 80px 0 70px;
}
.hero-section::before {
  content: ''; position: absolute; top: -80px; right: -80px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,.08) 0%, transparent 70%);
}
.hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; position: relative; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--color-primary-light); color: var(--color-primary);
  border: 1px solid var(--color-primary-muted); border-radius: var(--radius-full);
  padding: 5px 14px; font-size: .78rem; font-weight: 600; margin-bottom: 20px;
}
.hero-badge span { width: 6px; height: 6px; background: var(--color-primary); border-radius: 50%; animation: pulse 2s infinite; }
.hero-title { font-size: 3rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.15; margin-bottom: 20px; }
.hero-title .highlight { color: var(--color-primary); }
.hero-desc { font-size: 1.05rem; color: var(--color-slate); max-width: 520px; margin-bottom: 32px; line-height: 1.7; }
.hero-cta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hero-stats { display: flex; gap: 28px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--color-border); }
.hero-stat-item strong { display: block; font-size: 1.4rem; font-weight: 800; color: var(--color-dark); }
.hero-stat-item span { font-size: .78rem; color: var(--color-slate-light); }
.hero-visual { position: relative; }
.hero-card {
  background: #fff; border-radius: var(--radius-xl); padding: 24px; box-shadow: var(--shadow-xl);
  border: 1px solid var(--color-border);
}
.hero-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.hero-card-header h4 { font-size: .9rem; font-weight: 700; }
.hero-card-products { display: flex; flex-direction: column; gap: 10px; }
.hero-mini-product { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: var(--radius-md); background: var(--color-bg-soft); }
.hero-mini-thumb { width: 40px; height: 30px; border-radius: var(--radius-sm); background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary-muted)); flex-shrink: 0; }
.hero-mini-info { flex: 1; min-width: 0; }
.hero-mini-info h5 { font-size: .75rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero-mini-info span { font-size: .65rem; color: var(--color-slate-light); }
.hero-mini-price { font-size: .8rem; font-weight: 700; color: var(--color-primary); }
.hero-floating-badge {
  position: absolute; background: #fff; border-radius: var(--radius-lg); padding: 10px 16px;
  box-shadow: var(--shadow-lg); border: 1px solid var(--color-border); display: flex; align-items: center; gap: 8px;
}
.hero-floating-badge .icon { font-size: 1.2rem; }
.hero-floating-badge strong { font-size: .8rem; color: var(--color-dark); display: block; }
.hero-floating-badge span { font-size: .7rem; color: var(--color-slate-light); }
.badge-top { top: -20px; right: 20px; }
.badge-bottom { bottom: -16px; left: 10px; }

@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.7;transform:scale(1.3)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.hero-card { animation: float 6s ease-in-out infinite; }

/* ======================== TRUST BAR ======================== */
.trust-bar { background: var(--color-dark); padding: 18px 0; }
.trust-bar-inner { display: flex; align-items: center; justify-content: center; gap: 40px; flex-wrap: wrap; }
.trust-item { display: flex; align-items: center; gap: 8px; }
.trust-item-icon { font-size: 1.1rem; }
.trust-item-text { font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.8); }
.trust-divider { width: 1px; height: 20px; background: rgba(255,255,255,.15); }

/* ======================== SECTION BASE ======================== */
.section { padding: 80px 0; }
.section-alt { background: var(--color-bg-soft); }
.section-header { text-align: center; max-width: 640px; margin: 0 auto 56px; }
.section-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--color-primary-light); color: var(--color-primary);
  border-radius: var(--radius-full); padding: 4px 14px; font-size: .75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px;
}
.section-title { font-size: 2.2rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.2; margin-bottom: 14px; }
.section-subtitle { font-size: 1rem; color: var(--color-slate); line-height: 1.7; }

/* ======================== CATEGORY CARDS ======================== */
.categories-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.category-card {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 24px 16px; background: #fff; border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg); text-align: center; transition: var(--transition); cursor: pointer;
}
.category-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.category-card:hover .category-icon { background: var(--color-primary); color: #fff; }
.category-icon {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  background: var(--color-primary-light); color: var(--color-primary);
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
  transition: var(--transition);
}
.category-name { font-size: .875rem; font-weight: 700; color: var(--color-dark); }
.category-count { font-size: .72rem; color: var(--color-slate-light); }

/* ======================== PRODUCT CARDS ======================== */
.products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.product-card {
  background: #fff; border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg); overflow: hidden;
  transition: var(--transition); position: relative;
}
.product-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.product-thumb { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--color-bg-soft); }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.product-card:hover .product-thumb img { transform: scale(1.04); }
.product-badge {
  position: absolute; top: 10px; left: 10px; padding: 3px 10px;
  border-radius: var(--radius-full); font-size: .65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
}
.badge-new { background: var(--color-primary); color: #fff; }
.badge-sale { background: var(--color-danger); color: #fff; }
.badge-popular { background: var(--color-warning); color: #fff; }
.badge-free { background: var(--color-accent); color: #fff; }
.product-quick-view {
  position: absolute; bottom: 10px; right: 10px; background: #fff;
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  padding: 6px 12px; font-size: .72rem; font-weight: 600; color: var(--color-dark);
  opacity: 0; transform: translateY(4px); transition: var(--transition); cursor: pointer;
}
.product-card:hover .product-quick-view { opacity: 1; transform: translateY(0); }
.product-body { padding: 14px 16px; }
.product-category { font-size: .7rem; font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.product-title { font-size: .9rem; font-weight: 700; color: var(--color-dark); margin-bottom: 8px; line-height: 1.35; }
.product-title a:hover { color: var(--color-primary); }
.product-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.product-rating { display: flex; align-items: center; gap: 4px; font-size: .72rem; color: var(--color-warning); }
.product-rating span { color: var(--color-slate-light); }
.product-downloads { font-size: .7rem; color: var(--color-slate-light); }
.product-price-row { display: flex; align-items: center; gap: 8px; }
.product-price { font-size: 1.1rem; font-weight: 800; color: var(--color-dark); }
.product-price-old { font-size: .8rem; color: var(--color-slate-light); text-decoration: line-through; }
.product-price-free { font-size: 1rem; font-weight: 800; color: var(--color-accent); }
.product-footer { padding: 0 16px 14px; display: flex; gap: 8px; }
.product-footer .btn { flex: 1; justify-content: center; font-size: .78rem; padding: 8px 12px; }

/* ======================== MEMBERSHIP SECTION ======================== */
.membership-section { background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%); padding: 90px 0; }
.membership-section .section-title { color: #fff; }
.membership-section .section-subtitle { color: rgba(255,255,255,.6); }
.membership-section .section-badge { background: rgba(37,99,235,.2); color: #93C5FD; border: 1px solid rgba(37,99,235,.3); }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pricing-card {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-xl); padding: 32px; position: relative; transition: var(--transition);
}
.pricing-card:hover { background: rgba(255,255,255,.08); border-color: rgba(37,99,235,.4); }
.pricing-card.featured {
  background: var(--color-primary); border-color: var(--color-primary);
  transform: scale(1.03);
}
.pricing-card.featured:hover { transform: scale(1.04); box-shadow: 0 20px 60px rgba(37,99,235,.4); }
.pricing-popular-badge {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--color-accent); color: #fff; font-size: .7rem; font-weight: 700;
  padding: 4px 16px; border-radius: var(--radius-full); white-space: nowrap;
}
.pricing-plan { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.5); margin-bottom: 8px; }
.pricing-card.featured .pricing-plan { color: rgba(255,255,255,.7); }
.pricing-price { margin-bottom: 6px; }
.pricing-price strong { font-size: 2.8rem; font-weight: 800; color: #fff; letter-spacing: -.04em; }
.pricing-price span { font-size: .875rem; color: rgba(255,255,255,.5); }
.pricing-desc { font-size: .8rem; color: rgba(255,255,255,.5); margin-bottom: 24px; }
.pricing-features { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.pricing-feature { display: flex; align-items: center; gap: 8px; font-size: .82rem; color: rgba(255,255,255,.8); }
.pricing-feature::before { content: '✓'; width: 18px; height: 18px; background: rgba(255,255,255,.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; flex-shrink: 0; }
.pricing-card.featured .pricing-feature::before { background: rgba(255,255,255,.25); }
.pricing-card .btn { width: 100%; justify-content: center; }
.pricing-card:not(.featured) .btn-primary { background: rgba(37,99,235,.8); }
.pricing-card:not(.featured) .btn-primary:hover { background: var(--color-primary); }

/* ======================== BRANDS SECTION ======================== */
.brands-track { overflow: hidden; position: relative; }
.brands-track::before, .brands-track::after {
  content: ''; position: absolute; top: 0; width: 120px; height: 100%; z-index: 1;
}
.brands-track::before { left: 0; background: linear-gradient(to right, var(--color-bg-soft), transparent); }
.brands-track::after { right: 0; background: linear-gradient(to left, var(--color-bg-soft), transparent); }
.brands-list { display: flex; gap: 48px; align-items: center; animation: marquee 20s linear infinite; width: max-content; }
.brands-list:hover { animation-play-state: paused; }
.brand-item { display: flex; align-items: center; gap: 8px; opacity: .5; transition: opacity .2s; cursor: default; white-space: nowrap; font-size: .875rem; font-weight: 700; color: var(--color-slate); }
.brand-item:hover { opacity: 1; }
.brand-item .brand-icon { font-size: 1.2rem; }
@keyframes marquee { from { transform: translateX(0) } to { transform: translateX(-50%) } }

/* ======================== CTA SECTION ======================== */
.cta-section { background: linear-gradient(135deg, var(--color-primary) 0%, #1D4ED8 100%); padding: 80px 0; text-align: center; }
.cta-section h2 { font-size: 2.5rem; font-weight: 800; color: #fff; margin-bottom: 14px; letter-spacing: -.03em; }
.cta-section p { font-size: 1.05rem; color: rgba(255,255,255,.8); max-width: 540px; margin: 0 auto 36px; }
.cta-section .cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.cta-section .btn-white { background: #fff; color: var(--color-primary); }
.cta-section .btn-white:hover { background: rgba(255,255,255,.92); transform: translateY(-1px); }
.cta-section .btn-outline-white { border: 2px solid rgba(255,255,255,.4); color: #fff; background: transparent; }
.cta-section .btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,.1); }

/* ======================== SHOP PAGE ======================== */
.shop-layout { display: grid; grid-template-columns: 260px 1fr; gap: 32px; }
.shop-sidebar { position: sticky; top: 90px; height: fit-content; }
.filter-widget { background: #fff; border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 20px; margin-bottom: 16px; }
.filter-widget-title { font-size: .85rem; font-weight: 700; color: var(--color-dark); margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; }
.filter-widget-title button { font-size: .7rem; color: var(--color-primary); background: none; border: none; cursor: pointer; font-weight: 600; }
.filter-option { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 0; cursor: pointer; }
.filter-option label { display: flex; align-items: center; gap: 8px; font-size: .82rem; color: var(--color-slate); cursor: pointer; flex: 1; }
.filter-option input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--color-primary); flex-shrink: 0; }
.filter-option .count { font-size: .7rem; color: var(--color-slate-light); }
.price-range-input { width: 100%; accent-color: var(--color-primary); }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--color-border); }
.shop-toolbar select { font-size: .82rem; border: 1.5px solid var(--color-border); border-radius: var(--radius-md); padding: 7px 12px; outline: none; background: var(--color-bg-soft); }
.shop-products-count { font-size: .82rem; color: var(--color-slate); }

/* ======================== SINGLE PRODUCT ======================== */
.product-hero { display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: start; padding: 48px 0; }
.product-gallery { border-radius: var(--radius-xl); overflow: hidden; border: 1.5px solid var(--color-border); aspect-ratio: 16/10; background: var(--color-bg-soft); }
.product-info-box { position: sticky; top: 88px; }
.product-info-category { font-size: .72rem; font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.product-info-title { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; margin-bottom: 12px; line-height: 1.25; }
.product-info-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.stars { color: var(--color-warning); letter-spacing: 1px; }
.review-count { font-size: .8rem; color: var(--color-slate-light); }
.product-price-display { margin-bottom: 20px; }
.product-price-main { font-size: 2.2rem; font-weight: 800; color: var(--color-dark); letter-spacing: -.04em; }
.product-price-original { font-size: .9rem; color: var(--color-slate-light); text-decoration: line-through; margin-left: 6px; }
.product-price-badge { display: inline-block; background: var(--color-danger); color: #fff; font-size: .7rem; font-weight: 700; padding: 2px 8px; border-radius: var(--radius-full); margin-left: 8px; }
.product-key-features { background: var(--color-bg-soft); border-radius: var(--radius-lg); padding: 16px; margin-bottom: 20px; }
.product-key-features h4 { font-size: .8rem; font-weight: 700; color: var(--color-dark); margin-bottom: 10px; }
.key-feature { display: flex; align-items: center; gap: 7px; font-size: .8rem; color: var(--color-slate); padding: 3px 0; }
.key-feature::before { content: '✓'; color: var(--color-accent); font-weight: 700; }
.product-cta-stack { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.product-cta-stack .btn { justify-content: center; font-size: .9rem; }
.license-badge {
  display: flex; align-items: center; gap: 8px; padding: 10px 14px;
  background: var(--color-accent-light); border: 1px solid #BBF7D0; border-radius: var(--radius-md);
  font-size: .78rem; color: #15803D; font-weight: 600; margin-bottom: 16px;
}
.product-tabs { margin-top: 48px; }
.tab-nav { display: flex; border-bottom: 2px solid var(--color-border); gap: 0; margin-bottom: 28px; }
.tab-btn { padding: 10px 20px; font-size: .875rem; font-weight: 600; color: var(--color-slate); background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; transition: var(--transition); }
.tab-btn.active { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.tab-content { display: none; }
.tab-content.active { display: block; }

/* ======================== CLIENT DASHBOARD ======================== */
.dashboard-layout { display: grid; grid-template-columns: 240px 1fr; gap: 28px; padding: 40px 0; }
.dashboard-sidebar { position: sticky; top: 90px; height: fit-content; }
.dashboard-nav { background: #fff; border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.dashboard-nav-item { display: flex; align-items: center; gap: 10px; padding: 12px 16px; font-size: .875rem; font-weight: 500; color: var(--color-slate); transition: var(--transition); cursor: pointer; border-left: 3px solid transparent; }
.dashboard-nav-item:hover, .dashboard-nav-item.active { background: var(--color-primary-light); color: var(--color-primary); border-left-color: var(--color-primary); }
.dashboard-nav-item .nav-icon { font-size: 1rem; }
.dashboard-welcome { background: linear-gradient(135deg, var(--color-primary) 0%, #1D4ED8 100%); border-radius: var(--radius-xl); padding: 24px; color: #fff; margin-bottom: 24px; }
.dashboard-welcome h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: 4px; }
.dashboard-welcome p { font-size: .82rem; opacity: .8; }
.dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
.dash-stat-card { background: #fff; border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 18px; }
.dash-stat-icon { font-size: 1.5rem; margin-bottom: 10px; }
.dash-stat-value { font-size: 1.8rem; font-weight: 800; color: var(--color-dark); letter-spacing: -.03em; }
.dash-stat-label { font-size: .75rem; color: var(--color-slate-light); margin-top: 2px; }
.license-table { width: 100%; border-collapse: collapse; }
.license-table th { text-align: left; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-slate-light); padding: 10px 14px; border-bottom: 2px solid var(--color-border); }
.license-table td { padding: 14px; border-bottom: 1px solid var(--color-border); font-size: .82rem; color: var(--color-slate); }
.license-table tr:last-child td { border-bottom: none; }
.license-table tr:hover td { background: var(--color-bg-soft); }
.license-status { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: var(--radius-full); font-size: .7rem; font-weight: 700; }
.status-active { background: var(--color-accent-light); color: #15803D; }
.status-expired { background: #FEE2E2; color: #DC2626; }
.status-pending { background: #FEF9C3; color: #A16207; }

/* ======================== FOOTER ======================== */
.site-footer { background: var(--color-dark); padding-top: 64px; }
.footer-grid { display: grid; grid-template-columns: 280px repeat(4, 1fr); gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-brand {}
.footer-logo { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.footer-logo-text { font-size: 1.1rem; font-weight: 800; color: #fff; }
.footer-logo-text span { color: var(--color-primary); }
.footer-desc { font-size: .82rem; color: rgba(255,255,255,.4); line-height: 1.7; margin-bottom: 20px; }
.footer-socials { display: flex; gap: 8px; }
.footer-social-btn { width: 32px; height: 32px; border-radius: var(--radius-md); background: rgba(255,255,255,.06); color: rgba(255,255,255,.5); display: flex; align-items: center; justify-content: center; font-size: .8rem; transition: var(--transition); }
.footer-social-btn:hover { background: var(--color-primary); color: #fff; }
.footer-col-title { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.5); margin-bottom: 16px; }
.footer-links { display: flex; flex-direction: column; gap: 8px; }
.footer-links a { font-size: .82rem; color: rgba(255,255,255,.4); transition: color .2s; }
.footer-links a:hover { color: #fff; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; flex-wrap: wrap; gap: 14px; }
.footer-copyright { font-size: .78rem; color: rgba(255,255,255,.3); }
.payment-icons { display: flex; align-items: center; gap: 8px; }
.payment-icon { display: flex; align-items: center; padding: 4px 10px; background: rgba(255,255,255,.06); border-radius: var(--radius-sm); font-size: .7rem; font-weight: 700; color: rgba(255,255,255,.5); }
.footer-legal-links { display: flex; gap: 16px; }
.footer-legal-links a { font-size: .75rem; color: rgba(255,255,255,.3); }
.footer-legal-links a:hover { color: rgba(255,255,255,.7); }

/* ======================== MISC UTILITIES ======================== */
.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: var(--radius-full); font-size: .7rem; font-weight: 700; }
.badge-primary { background: var(--color-primary-light); color: var(--color-primary); }
.badge-success { background: var(--color-accent-light); color: #15803D; }
.alert { border-radius: var(--radius-md); padding: 12px 16px; font-size: .875rem; margin-bottom: 16px; }
.alert-info { background: var(--color-primary-light); color: var(--color-primary); border: 1px solid var(--color-primary-muted); }
.alert-success { background: var(--color-accent-light); color: #15803D; border: 1px solid #BBF7D0; }
.woocommerce-message, .woocommerce-info { background: var(--color-primary-light); border-top: 3px solid var(--color-primary); color: var(--color-primary); border-radius: var(--radius-md); padding: 14px 16px; margin-bottom: 20px; }
.woocommerce-error { background: #FEF2F2; border-top: 3px solid var(--color-danger); color: var(--color-danger); border-radius: var(--radius-md); padding: 14px 16px; }

/* ======================== RESPONSIVE ======================== */
@media (max-width: 1100px) {
  .products-grid { grid-template-columns: repeat(3, 1fr); }
  .categories-grid { grid-template-columns: repeat(4, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; row-gap: 32px; }
  .hero-inner { gap: 36px; }
  .hero-title { font-size: 2.4rem; }
}
@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .mega-menu-nav, .header-search-wrap { display: none; }
  .mobile-menu-toggle { display: flex; }
  .shop-layout { grid-template-columns: 1fr; }
  .shop-sidebar { position: static; }
  .product-hero { grid-template-columns: 1fr; }
  .dashboard-layout { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-card.featured { transform: scale(1); }
  .categories-grid { grid-template-columns: repeat(3, 1fr); }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .section { padding: 56px 0; }
  .section-title { font-size: 1.7rem; }
  .hero-title { font-size: 1.9rem; }
  .products-grid { grid-template-columns: 1fr 1fr; }
  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-bar-inner { gap: 16px; }
  .trust-divider { display: none; }
  .footer-grid { grid-template-columns: 1fr !important; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ======================== MOBILE MENU ======================== */
#mobile-nav {
  position: fixed; inset: 0; z-index: 999; background: #fff;
  transform: translateX(100%); transition: transform .3s; overflow-y: auto;
  display: flex; flex-direction: column;
}
#mobile-nav.open { transform: translateX(0); }
.mobile-nav-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--color-border); }
.mobile-nav-close { background: none; border: none; font-size: 1.4rem; cursor: pointer; color: var(--color-dark); }
.mobile-nav-links { padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.mobile-nav-links a { display: block; padding: 10px 12px; font-size: .9rem; font-weight: 500; color: var(--color-dark); border-radius: var(--radius-md); }
.mobile-nav-links a:hover { background: var(--color-primary-light); color: var(--color-primary); }
.mobile-nav-footer { padding: 16px; border-top: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.mobile-nav-footer .btn { justify-content: center; }

/* ================================================================
   WOOCOMMERCE COMPLETE STYLING — v2.0
   Shop · Single Product · Cart · Checkout · Thank You · Account
   ================================================================ */

/* -- Global WC layout -- */
.woocommerce-page .site-main,
.woocommerce-page .entry-content { max-width: var(--container, 1200px); margin: 0 auto; padding: 40px 24px; }
.woocommerce-page body { background: #F8FAFC; }

/* -- Breadcrumbs -- */
.woocommerce-breadcrumb {
  font-size: .78rem; color: #64748B; padding: 14px 0 0; margin: 0 0 24px;
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.woocommerce-breadcrumb a { color: #60a5fa; text-decoration: none; font-weight: 500; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }
.woocommerce-breadcrumb .separator { color: #CBD5E1; }

/* -- Notices -- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: 10px; padding: 12px 16px; font-size: .85rem; font-weight: 500;
  display: flex; align-items: center; gap: 10px; margin-bottom: 20px;
}
.woocommerce-message { background: #DCFCE7; border-left: 4px solid #f97316; color: #15803D; }
.woocommerce-info    { background: #EFF6FF; border-left: 4px solid #f97316; color: #60a5fa; }
.woocommerce-error   { background: #FEE2E2; border-left: 4px solid #EF4444; color: #DC2626; }
.woocommerce-message a, .woocommerce-info a { color: inherit; font-weight: 700; margin-right: 10px; }

/* ============================================================
   SHOP / ARCHIVE PAGE
   ============================================================ */
.woocommerce-products-header { margin-bottom: 20px; }
.woocommerce-products-header__title { font-size: 1.5rem; font-weight: 800; color: #f1f5f9; }

/* WC Ordering / result count bar */
.woocommerce-ordering,
.woocommerce-result-count { margin-bottom: 20px; }
.woocommerce-ordering select {
  padding: 8px 14px; border: 1.5px solid #E2E8F0; border-radius: 8px;
  font-size: .82rem; font-weight: 600; color: #f1f5f9; background: #fff;
  cursor: pointer; outline: none;
}
.woocommerce-ordering select:focus { border-color: #60a5fa; }
.woocommerce-result-count { font-size: .78rem; color: #64748B; }

/* Product loop grid */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important; list-style: none; margin: 0; padding: 0;
}
ul.products li.product {
  background: #fff; border: 1.5px solid #E2E8F0; border-radius: 14px;
  overflow: hidden; transition: all .2s; display: flex; flex-direction: column;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(0,0,0,.1); border-color: #BFDBFE; }
ul.products li.product a { text-decoration: none; }
ul.products li.product img { width: 100%; aspect-ratio: 16/10; object-fit: contain; display: block; background: #ffffff; padding: 4px; }
ul.products li.product .woocommerce-loop-product__title {
  font-size: .88rem; font-weight: 700; color: #f1f5f9; padding: 14px 14px 6px; line-height: 1.3;
}
ul.products li.product .price {
  display: flex; align-items: center; gap: 8px; padding: 0 14px 12px; font-size: .95rem;
}
ul.products li.product .price ins { text-decoration: none; font-weight: 800; color: #60a5fa; }
ul.products li.product .price del { font-size: .78rem; color: #94A3B8; }
ul.products li.product .price .amount { font-weight: 800; color: #60a5fa; }
ul.products li.product .star-rating { padding: 0 14px; margin-bottom: 6px; }
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  display: block; margin: auto 14px 14px; padding: 9px 0; text-align: center;
  background: #f97316; color: #fff !important; font-size: .8rem; font-weight: 700;
  border-radius: 8px; border: none; cursor: pointer; transition: all .2s; text-decoration: none !important;
}
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover { background: #ea6c0a; transform: translateY(-1px); }
ul.products li.product .onsale {
  position: absolute; top: 10px; left: 10px; background: #EF4444; color: #fff;
  font-size: .68rem; font-weight: 800; padding: 3px 10px; border-radius: 6px;
  text-transform: uppercase; letter-spacing: .06em; z-index: 1;
}
ul.products li.product { position: relative; }

/* WC pagination */
.woocommerce-pagination ul {
  display: flex; gap: 6px; list-style: none; padding: 0; margin: 32px 0;
  justify-content: center; align-items: center;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 9px; font-size: .82rem; font-weight: 700;
  border: 1.5px solid #E2E8F0; color: #f1f5f9; text-decoration: none; transition: all .2s;
}
.woocommerce-pagination ul li a:hover { border-color: #60a5fa; color: #60a5fa; }
.woocommerce-pagination ul li span.current { background: #f97316; color: #fff; border-color: #60a5fa; }

/* Product archive title/header bar */
.pt-archive-header {
  background: linear-gradient(135deg, #1e1b38 0%, #221e40 100%);
  padding: 40px 0; margin-bottom: 0;
}
.pt-archive-header-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.pt-archive-header h1 { font-size: 1.6rem; font-weight: 800; color: #fff; margin-bottom: 6px; }
.pt-archive-header p  { color: rgba(255,255,255,.55); font-size: .9rem; }

/* Filter sidebar */
.pt-shop-layout { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: start; }
.pt-shop-sidebar { background: #fff; border: 1.5px solid #E2E8F0; border-radius: 14px; padding: 20px; }
.pt-shop-sidebar h3 { font-size: .8rem; font-weight: 700; color: #94A3B8; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
.widget_product_categories ul { list-style: none; padding: 0; margin: 0; }
.widget_product_categories ul li { padding: 7px 0; border-bottom: 1px solid #F1F5F9; }
.widget_product_categories ul li:last-child { border-bottom: none; }
.widget_product_categories ul li a { font-size: .82rem; color: #f1f5f9; text-decoration: none; font-weight: 500; display: flex; justify-content: space-between; }
.widget_product_categories ul li a:hover { color: #60a5fa; }

@media (max-width: 800px) {
  ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .pt-shop-layout { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
  ul.products { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* ============================================================
   SINGLE PRODUCT PAGE
   ============================================================ */
.woocommerce div.product {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start;
  background: #fff; border: 1.5px solid #E2E8F0; border-radius: 16px;
  padding: 32px; margin-bottom: 40px;
}
/* Gallery */
.woocommerce div.product div.images img { border-radius: 12px; width: 100%; }
.woocommerce div.product div.images .flex-viewport { border-radius: 12px; overflow: hidden; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 80px; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 8px; cursor: pointer; }

/* Product summary */
.woocommerce div.product div.summary {}
.woocommerce div.product .product_title { font-size: 1.6rem; font-weight: 800; color: #f1f5f9; line-height: 1.25; margin-bottom: 12px; }
.woocommerce div.product p.price { font-size: 1.8rem; margin-bottom: 14px; }
.woocommerce div.product p.price ins { text-decoration: none; color: #60a5fa; font-weight: 900; }
.woocommerce div.product p.price del { color: #94A3B8; font-size: 1.1rem; margin-right: 8px; }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.woocommerce div.product .woocommerce-product-rating .star-rating { font-size: .95rem; }
.woocommerce div.product .woocommerce-review-link { font-size: .8rem; color: #64748B; text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: .9rem; color: #f1f5f9; line-height: 1.7; margin-bottom: 20px; border-top: 1px solid #F1F5F9; padding-top: 16px; }

/* Add to cart */
.woocommerce div.product form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.woocommerce div.product form.cart .quantity { display: flex; align-items: center; gap: 0; }
.woocommerce div.product form.cart .qty {
  width: 56px; height: 46px; border: 1.5px solid #E2E8F0; border-radius: 8px; text-align: center;
  font-size: 1rem; font-weight: 700; color: #f1f5f9; outline: none;
}
.woocommerce div.product form.cart .qty:focus { border-color: #60a5fa; }
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: linear-gradient(135deg, #2563EB, #1D4ED8) !important; color: #fff !important;
  font-size: .9rem; font-weight: 700; padding: 12px 28px; border-radius: 10px;
  border: none; cursor: pointer; transition: all .2s; text-decoration: none;
  box-shadow: 0 4px 14px rgba(37,99,235,.25);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,99,235,.4); }
/* Wishlist */
.woocommerce .product_meta { font-size: .78rem; color: #94A3B8; padding-top: 14px; border-top: 1px solid #F1F5F9; }
.woocommerce .product_meta span { display: flex; gap: 8px; margin-bottom: 6px; }
.woocommerce .product_meta a { color: #60a5fa; }

/* Trust badges on single product */
.pt-product-trust { display: flex; gap: 12px; flex-wrap: wrap; padding: 14px; background: #F8FAFC; border-radius: 10px; margin-bottom: 16px; }
.pt-product-trust-item { display: flex; align-items: center; gap: 6px; font-size: .74rem; color: #f1f5f9; font-weight: 600; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex; gap: 0; list-style: none; padding: 0; margin: 0 0 0;
  border-bottom: 2px solid #E2E8F0; overflow-x: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding: 0; margin: 0; background: none; border: none; border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block; padding: 12px 20px; font-size: .85rem; font-weight: 700;
  color: #64748B; text-decoration: none; border-bottom: 2px solid transparent;
  margin-bottom: -2px; transition: all .15s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #60a5fa; border-bottom-color: #60a5fa; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 24px 0; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1rem; font-weight: 700; color: #f1f5f9; margin-bottom: 12px; }
.woocommerce div.product .woocommerce-tabs .panel p { font-size: .88rem; color: #f1f5f9; line-height: 1.7; }

/* Related products */
.related.products, .up-sells.upsells.products { padding: 40px 0 0; }
.related.products h2, .up-sells.upsells.products h2 { font-size: 1.25rem; font-weight: 800; color: #f1f5f9; margin-bottom: 20px; }

@media (max-width: 760px) {
  .woocommerce div.product { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================================================
   CART PAGE — DARK THEME
   ============================================================ */
body.woocommerce-cart { background: #0a0d1a !important; }
body.woocommerce-cart .site-main,
body.woocommerce-cart .content-area { background: #0a0d1a; }

/* Cart page title */
body.woocommerce-cart .entry-title { color: #f1f5f9 !important; }

/* Cart table */
.woocommerce-cart table.cart { border-collapse: collapse; width: 100%; margin-bottom: 24px; }
.woocommerce-cart table.cart thead th {
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em;
  color: #64748b; padding: 10px 14px; border-bottom: 2px solid rgba(255,255,255,.08); text-align: left;
}
.woocommerce-cart table.cart tbody tr { border-bottom: 1px solid rgba(255,255,255,.06); transition: background .15s; }
.woocommerce-cart table.cart tbody tr:hover { background: rgba(255,255,255,.03); }
.woocommerce-cart table.cart td { padding: 16px 14px; vertical-align: middle; font-size: .85rem; color: #cbd5e1; background: transparent; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 72px; height: 72px; border-radius: 10px; object-fit: cover; border: 1.5px solid rgba(255,255,255,.1); background: #1e293b; }
.woocommerce-cart table.cart td.product-name a { font-weight: 700; color: #f1f5f9; text-decoration: none; font-size: .9rem; }
.woocommerce-cart table.cart td.product-name a:hover { color: #60a5fa; }
.woocommerce-cart table.cart td.product-price .amount,
.woocommerce-cart table.cart td.product-subtotal .amount { font-weight: 700; color: #60a5fa; }
.woocommerce-cart table.cart td.product-remove a { background: rgba(239,68,68,.15); color: #ef4444; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 700; text-decoration: none; transition: all .15s; border: 1px solid rgba(239,68,68,.25); }
.woocommerce-cart table.cart td.product-remove a:hover { background: #ef4444; color: #fff; }

/* Cart qty input */
.woocommerce-cart table.cart .qty { width: 56px; height: 38px; border: 1.5px solid rgba(255,255,255,.12); border-radius: 8px; text-align: center; font-size: .88rem; font-weight: 700; background: #1e293b; color: #f1f5f9; }

/* Cart actions bar */
.woocommerce-cart .actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.06); }
.woocommerce-cart .actions .button { background: #1e293b !important; color: #94a3b8 !important; border: 1.5px solid rgba(255,255,255,.1) !important; font-size: .82rem !important; padding: 9px 16px !important; border-radius: 8px !important; }
.woocommerce-cart .actions .button:hover { background: #334155 !important; color: #f1f5f9 !important; }

/* Cart collaterals / totals */
.cart-collaterals { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; margin-top: 20px; }
.cart_totals { background: #111827; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 24px; }
.cart_totals h2 { font-size: 1rem; font-weight: 800; color: #f1f5f9; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.08); }
.cart_totals table { width: 100%; }
.cart_totals table th { font-size: .78rem; font-weight: 600; color: #64748b; padding: 8px 0; text-align: left; }
.cart_totals table td { font-size: .9rem; font-weight: 700; color: #e2e8f0; padding: 8px 0; text-align: right; }
.cart_totals table .order-total th,
.cart_totals table .order-total td { font-size: 1.05rem; font-weight: 800; color: #f1f5f9; border-top: 2px solid rgba(255,255,255,.08); padding-top: 12px; }
.cart_totals table .order-total td .amount { color: #60a5fa; }
.wc-proceed-to-checkout { margin-top: 14px; }
.wc-proceed-to-checkout .checkout-button {
  display: block; width: 100%; text-align: center; padding: 14px;
  background: linear-gradient(135deg,#2563eb,#1d4ed8); color: #fff !important;
  font-size: .95rem; font-weight: 800; border-radius: 10px; text-decoration: none;
  transition: all .2s; box-shadow: 0 4px 16px rgba(37,99,235,.4);
  letter-spacing: .02em;
}
.wc-proceed-to-checkout .checkout-button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,99,235,.55); }

/* Coupon */
.woocommerce-cart .coupon { display: flex; gap: 8px; }
.woocommerce-cart .coupon input { padding: 9px 14px; border: 1.5px solid rgba(255,255,255,.1); border-radius: 8px; font-size: .85rem; outline: none; flex: 1; background: #1e293b; color: #f1f5f9; }
.woocommerce-cart .coupon input::placeholder { color: #f1f5f9; }
.woocommerce-cart .coupon input:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.woocommerce-cart .coupon .button { padding: 9px 16px; font-size: .82rem !important; background: #1e3a5f !important; color: #93c5fd !important; border: 1px solid rgba(59,130,246,.3) !important; border-radius: 8px !important; }
.woocommerce-cart .coupon .button:hover { background: #2563eb !important; color: #fff !important; }

/* Cart notices */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info { background: #1e293b !important; border-left-color: #3b82f6 !important; color: #cbd5e1 !important; }

@media (max-width: 700px) { .cart-collaterals { grid-template-columns: 1fr; } }

/* ============================================================
   CHECKOUT PAGE — DARK THEME
   ============================================================ */
body.woocommerce-checkout { background: #0a0d1a !important; }

/* Cards / sections */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { background: #111827 !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 16px; padding: 28px; }

/* Section headings */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading { font-size: 1rem; font-weight: 800; color: #f1f5f9 !important; margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.08) !important; }

/* Coupon toggle */
.woocommerce-checkout .woocommerce-form-coupon-toggle { background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.2); border-radius: 8px; padding: 10px 16px; margin-bottom: 20px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent !important; border: none !important; color: #93c5fd; margin: 0; padding: 0; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: #60a5fa; }
.woocommerce-checkout .woocommerce-form-coupon { background: #111827 !important; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.woocommerce-checkout .woocommerce-form-coupon p { color: #94a3b8; font-size: .85rem; margin-bottom: 12px; }
.woocommerce-checkout .woocommerce-form-coupon .form-row { display: flex; gap: 10px; align-items: flex-end; }
.woocommerce-checkout .woocommerce-form-coupon input.input-text { flex: 1; background: #1e293b !important; border: 1px solid rgba(255,255,255,.1) !important; color: #f1f5f9 !important; border-radius: 8px !important; padding: 10px 14px !important; }

/* Form layout */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: 20px; }
.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row,
.woocommerce-additional-fields .form-row { margin-bottom: 14px; }

/* Labels */
.woocommerce-billing-fields .form-row label,
.woocommerce-shipping-fields .form-row label,
.woocommerce-additional-fields .form-row label { display: block; font-size: .78rem; font-weight: 700; color: #94a3b8; margin-bottom: 5px; }
.woocommerce-billing-fields .form-row label .required,
.woocommerce-shipping-fields .form-row label .required { color: #f87171; }

/* Inputs */
.woocommerce-billing-fields .form-row input,
.woocommerce-billing-fields .form-row select,
.woocommerce-billing-fields .form-row textarea,
.woocommerce-shipping-fields .form-row input,
.woocommerce-shipping-fields .form-row select,
.woocommerce-additional-fields .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%; padding: 11px 14px; border: 1.5px solid rgba(255,255,255,.1); border-radius: 9px;
  font-size: .88rem; color: #f1f5f9; outline: none; transition: border-color .15s, box-shadow .15s;
  background: #1e293b !important; -webkit-appearance: none;
}
.woocommerce-billing-fields .form-row select,
.woocommerce-checkout select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 12px center !important; padding-right: 36px !important; }
.woocommerce-billing-fields .form-row input::placeholder,
.woocommerce-checkout input::placeholder { color: #f1f5f9; }
.woocommerce-billing-fields .form-row input:focus,
.woocommerce-billing-fields .form-row select:focus,
.woocommerce-billing-fields .form-row textarea:focus,
.woocommerce-shipping-fields .form-row input:focus,
.woocommerce-additional-fields .form-row textarea:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }

/* Order review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #64748b; padding: 8px 0; border-bottom: 2px solid rgba(255,255,255,.08); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr th { padding: 10px 0; font-size: .85rem; border-bottom: 1px solid rgba(255,255,255,.06); color: #cbd5e1; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td .amount { font-size: 1.1rem; font-weight: 900; color: #60a5fa; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th { color: #94a3b8; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { color: #f1f5f9; font-weight: 800; border-top: 2px solid rgba(255,255,255,.1); border-bottom: none; }

/* Payment methods */
.woocommerce-checkout #payment { background: #0f172a !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 12px; padding: 20px; margin-top: 20px; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.06); margin-bottom: 8px; background: rgba(255,255,255,.03); }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_bacs.active,
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label { color: #60a5fa; }
.woocommerce-checkout #payment ul.payment_methods li label { font-size: .88rem; font-weight: 600; color: #cbd5e1; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.woocommerce-checkout #payment .payment_box { background: rgba(59,130,246,.06); border: 1px solid rgba(59,130,246,.15); border-radius: 8px; padding: 12px; margin-top: 10px; color: #94a3b8; font-size: .83rem; }
.woocommerce-checkout #payment .payment_method_paypal img { height: 24px; }

/* Checkout notices */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info { background: #1e293b !important; border-left-color: #3b82f6 !important; color: #cbd5e1 !important; border-radius: 8px; }
.woocommerce-checkout .woocommerce-error { border-left-color: #ef4444 !important; }

/* Place Order button */
#place_order {
  display: block !important; width: 100% !important; padding: 16px !important;
  font-size: 1rem !important; font-weight: 800 !important; letter-spacing: .03em !important;
  background: linear-gradient(135deg,#2563eb,#1d4ed8) !important; color: #fff !important;
  border-radius: 12px !important; border: none !important; cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(37,99,235,.45) !important; transition: all .2s !important;
  margin-top: 14px !important;
}
#place_order:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(37,99,235,.6) !important; }

/* Checkout layout: two-column */
@media (min-width: 800px) {
  .woocommerce-checkout form.woocommerce-checkout {
    display: grid; grid-template-columns: 1fr 400px; gap: 28px; align-items: start;
  }
  .woocommerce-checkout #customer_details { grid-column: 1; }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column: 2; }
}
@media (max-width: 799px) {
  .woocommerce-checkout form.woocommerce-checkout { display: block; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review { padding: 20px; }
}

/* ============================================================
   THANK YOU / ORDER CONFIRMATION PAGE
   ============================================================ */
.woocommerce-order { max-width: 700px; margin: 0 auto; }
.woocommerce-thankyou-order-received {
  background: linear-gradient(135deg,#1e1b38,#221e40);
  border-radius: 16px; padding: 40px; text-align: center; margin-bottom: 28px; color: #fff;
}
.woocommerce-thankyou-order-received::before {
  content: '✅'; display: block; font-size: 3rem; margin-bottom: 16px;
}
.woocommerce-thankyou-order-received { font-size: 1.2rem; font-weight: 800; }
.woocommerce-order-overview {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 28px;
}
.woocommerce-order-overview li {
  background: #fff; border: 1.5px solid #E2E8F0; border-radius: 12px; padding: 16px;
  text-align: center; list-style: none;
}
.woocommerce-order-overview li strong { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #94A3B8; margin-bottom: 6px; }
.woocommerce-order-overview li span { font-size: .92rem; font-weight: 800; color: #f1f5f9; }
.woocommerce-order-overview li .woocommerce-Price-amount { color: #60a5fa; }
.woocommerce-order-details, .woocommerce-customer-details { background: #fff; border: 1.5px solid #E2E8F0; border-radius: 14px; padding: 24px; margin-bottom: 20px; }
.woocommerce-order-details__title, .woocommerce-column__title { font-size: 1rem; font-weight: 800; color: #f1f5f9; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #E2E8F0; }
.woocommerce-table.woocommerce-table--order-details { width: 100%; }
.woocommerce-table.woocommerce-table--order-details thead th { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #94A3B8; padding: 8px 0; border-bottom: 2px solid #E2E8F0; text-align: left; }
.woocommerce-table.woocommerce-table--order-details td { padding: 12px 0; border-bottom: 1px solid #F1F5F9; font-size: .88rem; color: #f1f5f9; }
.woocommerce-table.woocommerce-table--order-details tfoot .order-total td .woocommerce-Price-amount { font-size: 1rem; font-weight: 900; color: #60a5fa; }
/* Thank you CTA */
.pt-order-cta { background: linear-gradient(135deg,#2563EB,#1D4ED8); border-radius: 12px; padding: 24px; text-align: center; color: #fff; margin-top: 20px; }
.pt-order-cta h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 8px; }
.pt-order-cta p { font-size: .85rem; opacity: .75; margin-bottom: 14px; }
.pt-order-cta a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 22px; background: #fff; color: #60a5fa; border-radius: 8px; font-size: .85rem; font-weight: 800; text-decoration: none; }
@media (max-width: 600px) { .woocommerce-order-overview { grid-template-columns: 1fr 1fr; } }

/* ============================================================
   MY ACCOUNT PAGE
   ============================================================ */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: start; }
.woocommerce-MyAccount-navigation { background: linear-gradient(145deg,#1e1b38,#221e40); border-radius: 14px; padding: 16px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation ul li { margin-bottom: 2px; }
.woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 10px 14px; border-radius: 9px;
  font-size: .82rem; font-weight: 600; color: rgba(255,255,255,.65); text-decoration: none; transition: all .15s;
}
.woocommerce-MyAccount-navigation ul li a:hover { background: rgba(255,255,255,.08); color: #fff; }
.woocommerce-MyAccount-navigation ul li.is-active a { background: rgba(37,99,235,.25); color: #93C5FD; font-weight: 700; }
.woocommerce-MyAccount-content { background: #fff; border: 1.5px solid #E2E8F0; border-radius: 14px; padding: 24px; }
.woocommerce-MyAccount-content h3 { font-size: 1rem; font-weight: 800; color: #f1f5f9; margin-bottom: 16px; }
.woocommerce-account .woocommerce-orders-table { width: 100%; border-collapse: collapse; }
.woocommerce-account .woocommerce-orders-table th { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #94A3B8; padding: 8px 12px; border-bottom: 2px solid #E2E8F0; text-align: left; }
.woocommerce-account .woocommerce-orders-table td { padding: 12px; border-bottom: 1px solid #F1F5F9; font-size: .85rem; color: #f1f5f9; }
.woocommerce-account .woocommerce-orders-table .button { padding: 5px 12px; font-size: .72rem; }
@media (max-width: 700px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } }

/* ============================================================
   STAR RATINGS (global)
   ============================================================ */
.star-rating { font-size: .85rem; overflow: hidden; position: relative; height: 1em; width: 5.3em; line-height: 1; font-family: star; }
.star-rating::before { content: 'sssss'; letter-spacing: .1em; color: #E2E8F0; position: absolute; top: 0; left: 0; font-family: star; }
.star-rating span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; }
.star-rating span::before { content: 'sssss'; top: 0; position: absolute; left: 0; letter-spacing: .1em; color: #F59E0B; font-family: star; }
.woocommerce-product-rating .star-rating { color: #F59E0B; font-family: star; }

/* ============================================================
   PRODUCT CATEGORY ARCHIVE (WC Category)
   ============================================================ */
.woocommerce-products-header .woocommerce-products-header__title { margin-bottom: 8px; }
.term-description { font-size: .9rem; color: #64748B; margin-bottom: 24px; }
.pt-cat-hero {
  background: linear-gradient(135deg,#1e1b38,#221e40); border-radius: 14px;
  padding: 32px 28px; margin-bottom: 28px; color: #fff;
}
.pt-cat-hero h1 { font-size: 1.5rem; font-weight: 800; margin-bottom: 8px; }
.pt-cat-hero p { color: rgba(255,255,255,.6); font-size: .88rem; }

/* ============================================================
   UTILITIES
   ============================================================ */
.woocommerce span.onsale {
  background: linear-gradient(135deg,#EF4444,#DC2626) !important; color: #fff !important;
  border-radius: 6px !important; font-size: .65rem !important; font-weight: 800 !important;
  min-width: auto !important; min-height: auto !important; line-height: 1 !important;
  padding: 4px 10px !important; letter-spacing: .06em !important; text-transform: uppercase !important;
  top: 10px !important; left: 10px !important;
}
.woocommerce .woocommerce-loop-product__title { font-size: .88rem !important; font-weight: 700 !important; color: #f1f5f9 !important; margin-bottom: 6px !important; }
.woocommerce a.added_to_cart { font-size: .72rem; color: #22C55E !important; font-weight: 700; text-decoration: none !important; display: block; margin-top: 4px; text-align: center; }

/* ============================================================
   SHOP PAGE IMPROVEMENTS
   ============================================================ */
/* Hide duplicate page title on shop page (WC adds its own) */
.woocommerce-page h1.page-title { display: none; }
/* Shop breadcrumb + page layout */
.woocommerce-breadcrumb { font-size: .8rem; color: #94A3B8; padding: 12px 0; }
.woocommerce-breadcrumb a { color: #64748B; text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: #60a5fa; }

/* WooCommerce page shop header */
.woocommerce-products-header { margin-bottom: 20px; }
.woocommerce-products-header__title.page-title {
  font-size: 1.6rem; font-weight: 800; color: #f1f5f9; margin-bottom: 6px;
}

/* Results count + ordering bar */
.woocommerce-result-count { font-size: .8rem; color: #94A3B8; }
.woocommerce-ordering select {
  padding: 7px 14px; border: 1.5px solid #E2E8F0; border-radius: 8px;
  font-size: .8rem; color: #f1f5f9; outline: none; background: #fff; cursor: pointer;
}
.woocommerce-ordering select:focus { border-color: #60a5fa; }

/* Product card improvements */
.woocommerce ul.products li.product {
  background: #fff !important; border-radius: 14px !important;
  border: 1.5px solid #E2E8F0 !important; overflow: hidden !important;
  transition: all .2s !important; padding: 0 !important;
  box-shadow: 0 1px 4px rgba(15,23,42,.04) !important;
}
.woocommerce ul.products li.product:hover {
  border-color: #60a5fa !important;
  box-shadow: 0 8px 28px rgba(37,99,235,.12) !important;
  transform: translateY(-3px) !important;
}
.woocommerce ul.products li.product a img {
  border-radius: 0 !important; width: 100% !important; height: 200px !important;
  object-fit: cover !important; display: block !important;
  transition: transform .3s !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04) !important; }

/* Product info area */
.woocommerce ul.products li.product .woocommerce-loop-product__link + .price,
.woocommerce ul.products li.product h2 + .price,
.woocommerce ul.products li.product .price {
  padding: 0 16px 4px !important; font-size: .9rem !important;
}
.woocommerce ul.products li.product .price ins { text-decoration: none !important; color: #60a5fa !important; font-weight: 800 !important; }
.woocommerce ul.products li.product .price del { color: #94A3B8 !important; font-size: .78rem !important; margin-right: 6px !important; }
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  padding: 14px 16px 4px !important; line-height: 1.35 !important;
}
.woocommerce ul.products li.product .button {
  margin: 8px 16px 16px !important; display: block !important; width: calc(100% - 32px) !important;
  text-align: center !important; border-radius: 9px !important;
  padding: 10px 16px !important; font-size: .82rem !important; font-weight: 700 !important;
  background: linear-gradient(135deg,#2563EB,#1D4ED8) !important; color: #fff !important;
  transition: all .2s !important; border: none !important;
  box-shadow: 0 3px 10px rgba(37,99,235,.2) !important;
}
.woocommerce ul.products li.product .button:hover {
  transform: translateY(-1px) !important; box-shadow: 0 6px 18px rgba(37,99,235,.3) !important;
}

/* Shop page banner */
.pt-shop-banner {
  background: linear-gradient(135deg,#1e1b38 0%,#2563EB 100%);
  border-radius: 16px; padding: 32px 40px; margin-bottom: 28px;
  display: flex; align-items: center; justify-content: space-between; color: #fff;
}
.pt-shop-banner h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 6px; }
.pt-shop-banner p { color: rgba(255,255,255,.7); font-size: .9rem; }
.pt-shop-banner .badge { background: rgba(255,255,255,.15); padding: 6px 14px; border-radius: 20px; font-size: .75rem; font-weight: 700; backdrop-filter: blur(4px); }
@media (max-width: 600px) { .pt-shop-banner { flex-direction: column; gap: 12px; text-align: center; } }

/* Pagination */
.woocommerce-pagination ul.page-numbers { display: flex; gap: 6px; list-style: none; justify-content: center; padding: 24px 0; }
.woocommerce-pagination ul.page-numbers li .page-numbers {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 8px; font-size: .82rem; font-weight: 600;
  color: #64748B; text-decoration: none; border: 1.5px solid #E2E8F0; transition: all .15s;
}
.woocommerce-pagination ul.page-numbers li .page-numbers:hover,
.woocommerce-pagination ul.page-numbers li .page-numbers.current {
  background: #f97316; border-color: #60a5fa; color: #fff;
}

/* Notices */
.woocommerce-message, .woocommerce-info {
  background: #EFF6FF !important; border-top-color: #60a5fa !important;
  color: #1E40AF !important; font-size: .85rem !important; border-radius: 0 10px 10px 0 !important;
}
.woocommerce-error { background: #FEF2F2 !important; border-top-color: #EF4444 !important; color: #991B1B !important; border-radius: 0 10px 10px 0 !important; }

/* Empty cart improvements */
.woocommerce-cart-empty { text-align: center; padding: 40px 20px; font-size: 1rem; color: #64748B; }
.pt-empty-cart-icon { font-size: 4rem; display: block; margin-bottom: 16px; }
.cart-empty.woocommerce-info { margin-bottom: 20px; }

/* ================================================================
   ✦ MOBILE DESIGN ENHANCEMENTS v2.0
   Beautiful, Attractive & Organized Mobile UI
   Breakpoints: 768px, 480px, 360px
   ================================================================ */

/* -- Announcement Bar: Mobile -- */
@media (max-width: 768px) {
  .pt-announce-bar {
    font-size: 12px !important;
    padding: 7px 12px !important;
    letter-spacing: 0 !important;
  }
  .pt-announce-text {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.4 !important;
  }
  .pt-announce-btn {
    font-size: 11px !important;
    padding: 4px 10px !important;
    white-space: nowrap !important;
  }
  .pt-announce-bar .container {
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: center !important;
  }
  .pt-announce-close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* -- Header: Mobile Sticky + Clean -- */
@media (max-width: 900px) {
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 500 !important;
    background: rgba(255,255,255,0.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
  }
  .header-inner {
    padding: 10px 16px !important;
    height: 56px !important;
    min-height: 56px !important;
  }
  .site-logo img, .site-logo .logo-text {
    height: 32px !important;
    font-size: 1.2rem !important;
  }
  /* Make mobile toggle button beautiful */
  .mobile-menu-toggle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: #f1f5ff !important;
    border: 1.5px solid #e0e7ff !important;
    color: #3730a3 !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 1px 4px rgba(55,48,163,0.10) !important;
    transition: background 0.2s !important;
  }
  .mobile-menu-toggle:active {
    background: #e0e7ff !important;
  }
  /* Hide some header items on mobile to reduce clutter */
  .pt-header-top-bar {
    display: none !important;
  }
  .nav-right .btn:not(.btn-primary):not([href*="cart"]) {
    display: none !important;
  }
}

/* -- Mobile Navigation Drawer: Beautiful -- */
@media (max-width: 900px) {
  #mobile-nav {
    background: linear-gradient(165deg, #ffffff 0%, #f8f9ff 100%) !important;
    box-shadow: -4px 0 40px rgba(0,0,0,0.15) !important;
    width: 85% !important;
    max-width: 320px !important;
    left: auto !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    border-radius: 24px 0 0 24px !important;
  }
  .mobile-nav-header {
    background: linear-gradient(135deg, #1e1b38, #3730a3) !important;
    padding: 20px 20px 16px !important;
    border-radius: 24px 0 0 0 !important;
    border-bottom: none !important;
  }
  .mobile-nav-header .site-logo {
    filter: brightness(0) invert(1) !important;
  }
  .mobile-nav-close {
    color: rgba(255,255,255,0.8) !important;
    font-size: 1.6rem !important;
    background: rgba(255,255,255,0.1) !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .mobile-nav-links {
    padding: 12px 12px !important;
    gap: 2px !important;
  }
  .mobile-nav-links > a,
  .mobile-nav-links .mobile-menu-item > a {
    padding: 11px 14px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    color: #1e1b38 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.2s !important;
  }
  .mobile-nav-links > a:hover,
  .mobile-nav-links .mobile-menu-item > a:hover {
    background: #ede9fe !important;
    color: #3730a3 !important;
    padding-left: 18px !important;
  }
  .mobile-nav-footer {
    background: #f8f9ff !important;
    border-top: 1px solid #e8eaf6 !important;
    border-radius: 0 0 0 24px !important;
    padding: 16px !important;
    gap: 10px !important;
  }
  .mobile-nav-footer .btn {
    border-radius: 12px !important;
    padding: 11px 20px !important;
    font-size: 0.875rem !important;
  }
}

/* -- Hero / Slider: Mobile Gorgeous -- */
@media (max-width: 768px) {
  .pt-hero-slider,
  .hero-section,
  .hero-wrapper {
    min-height: 80vw !important;
    padding: 32px 0 24px !important;
  }
  .hero-content, .pt-slide-content {
    padding: 0 20px !important;
    text-align: center !important;
  }
  .hero-title, .pt-slide-title {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 10px !important;
  }
  .hero-subtitle, .pt-slide-sub {
    font-size: 0.9rem !important;
    margin-bottom: 8px !important;
  }
  .hero-desc, .pt-slide-desc {
    font-size: 0.82rem !important;
    line-height: 1.55 !important;
    margin-bottom: 20px !important;
  }
  .hero-actions, .pt-slide-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  .hero-actions .btn, .pt-slide-actions .btn {
    flex: 1 1 auto !important;
    min-width: 140px !important;
    max-width: 200px !important;
    padding: 11px 18px !important;
    font-size: 0.85rem !important;
    border-radius: 12px !important;
    text-align: center !important;
  }
  /* Trust pills below hero */
  .hero-trust, .trust-bar {
    padding: 12px 16px !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .trust-item {
    font-size: 0.75rem !important;
    padding: 5px 10px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,0.12) !important;
  }
}

/* -- Product Grid: Mobile Beautiful -- */
@media (max-width: 768px) {
  .products-grid,
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 0 12px !important;
  }
  .product-card,
  ul.products li.product {
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
    border: 1px solid #eef0f7 !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
  }
  .product-card:active,
  ul.products li.product:active {
    transform: scale(0.98) !important;
  }
  .product-card .product-thumb img,
  ul.products li.product img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
  }
  .product-card .product-info,
  ul.products li.product .woocommerce-loop-product__title {
    padding: 10px 10px 6px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }
  .product-card .product-price,
  ul.products li.product .price {
    padding: 0 10px 10px !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
  }
  /* Badges on mobile product cards */
  .product-badge, .pt-badge {
    font-size: 9px !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    top: 7px !important;
    left: 7px !important;
  }
}

/* -- Feature/Service Boxes: Mobile -- */
@media (max-width: 768px) {
  .features-grid,
  .services-grid,
  .pt-feature-boxes {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 12px !important;
  }
  .feature-box, .service-card {
    padding: 18px 14px !important;
    border-radius: 14px !important;
    text-align: center !important;
  }
  .feature-box .icon, .service-card .icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 1.3rem !important;
    margin: 0 auto 10px !important;
  }
  .feature-box h3, .service-card h3 {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
  }
  .feature-box p, .service-card p {
    font-size: 0.74rem !important;
    line-height: 1.45 !important;
  }
}

/* -- Categories Grid: Mobile -- */
@media (max-width: 768px) {
  .categories-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    padding: 0 12px !important;
  }
  .category-card {
    padding: 14px 8px !important;
    border-radius: 12px !important;
    text-align: center !important;
    border: 1.5px solid #eef0f7 !important;
    background: #fff !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
    transition: all 0.2s !important;
  }
  .category-card:active {
    background: #f0f4ff !important;
    border-color: #c7d2fe !important;
  }
  .category-card .cat-icon {
    font-size: 1.4rem !important;
    margin-bottom: 6px !important;
  }
  .category-card .cat-name {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }
}
@media (max-width: 480px) {
  .categories-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
}

/* -- Section Headings: Mobile -- */
@media (max-width: 768px) {
  .section-header, .section-title-wrap {
    text-align: center !important;
    padding: 0 16px !important;
    margin-bottom: 24px !important;
  }
  .section-badge, .section-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    background: linear-gradient(135deg, #ede9fe, #e0e7ff) !important;
    color: #4338ca !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    margin-bottom: 8px !important;
  }
  .section-title {
    font-size: clamp(1.3rem, 5.5vw, 1.7rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }
  .section-subtitle, .section-desc {
    font-size: 0.83rem !important;
    line-height: 1.6 !important;
    max-width: 100% !important;
  }
}

/* -- Homepage Quick Links (4 boxes): Mobile -- */
@media (max-width: 768px) {
  .pt-quick-links,
  .pt-home-boxes {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 12px !important;
  }
  .pt-quick-link-card,
  .pt-home-box {
    padding: 18px 14px !important;
    border-radius: 16px !important;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08) !important;
  }
  .pt-quick-link-card .icon,
  .pt-home-box .icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
  }
  .pt-quick-link-card h3,
  .pt-home-box h3 {
    font-size: 0.85rem !important;
    margin-bottom: 4px !important;
  }
  .pt-quick-link-card p,
  .pt-home-box p {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }
  .pt-quick-link-card .link-arrow,
  .pt-home-box .link-arrow {
    font-size: 0.72rem !important;
    margin-top: 8px !important;
  }
}

/* -- Contact Page: Mobile -- */
@media (max-width: 768px) {
  .contact-hero, .page-contact-hero {
    padding: 48px 20px 36px !important;
    text-align: center !important;
  }
  .contact-hero h1 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
  }
  .contact-stat-pills {
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .contact-stat-pill {
    width: auto !important;
    padding: 7px 16px !important;
    font-size: 0.78rem !important;
  }
  /* Contact cards: stack to 2 columns */
  .contact-cards-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 12px !important;
  }
  .contact-card {
    padding: 16px 12px !important;
    border-radius: 14px !important;
    text-align: center !important;
  }
  .contact-card .cc-icon {
    width: 42px !important;
    height: 42px !important;
    margin: 0 auto 8px !important;
  }
  .contact-card .cc-label {
    font-size: 0.67rem !important;
    margin-bottom: 4px !important;
  }
  .contact-card .cc-value {
    font-size: 0.8rem !important;
    word-break: break-all !important;
  }
  /* Form + FAQ layout: stack on mobile */
  .contact-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 12px !important;
  }
  .contact-form-wrap, .contact-faq-wrap {
    border-radius: 16px !important;
  }
  /* Form fields: single column */
  .contact-form-grid,
  .wpcf7-form .form-row-split {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form select,
  .wpcf7-form textarea {
    padding: 12px 14px !important;
    font-size: 0.9rem !important;
    border-radius: 10px !important;
  }
  .wpcf7-form textarea {
    min-height: 110px !important;
  }
  .wpcf7-form input[type="submit"],
  .wpcf7-submit {
    width: 100% !important;
    padding: 13px !important;
    font-size: 0.9rem !important;
    border-radius: 12px !important;
  }
}

/* -- Footer: Mobile Accordion-Style -- */
@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .footer-col {
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    padding: 14px 20px !important;
  }
  .footer-col:last-child {
    border-bottom: none !important;
  }
  /* Footer col headings become toggle-like */
  .footer-col-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0 !important;
  }
  .footer-col-title::after {
    content: "+" !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.5) !important;
    transition: transform 0.2s !important;
  }
  /* Footer about col - always show */
  .footer-col.footer-about .footer-col-title::after {
    display: none !important;
  }
  .footer-col-links {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease !important;
    margin-top: 0 !important;
  }
  .footer-col.open .footer-col-links {
    max-height: 300px !important;
    margin-top: 12px !important;
  }
  .footer-col.footer-about .footer-col-links {
    max-height: none !important;
    margin-top: 10px !important;
  }
  .footer-col-links a {
    padding: 6px 0 !important;
    font-size: 0.83rem !important;
    display: block !important;
    color: rgba(255,255,255,0.6) !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  }
  /* Payment badges on mobile */
  .pt-payment-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .pt-pay-badge {
    font-size: 0.72rem !important;
    padding: 5px 9px !important;
    border-radius: 8px !important;
  }
  /* Stats bar: horizontal scroll on mobile */
  .pt-footer-pre-inner {
    flex-wrap: wrap !important;
    gap: 16px !important;
    padding: 0 16px !important;
  }
  .pt-payment-row {
    width: 100% !important;
    flex: none !important;
  }
  .pt-payment-label {
    font-size: 0.75rem !important;
  }
  .pt-footer-stats {
    width: 100% !important;
    justify-content: space-around !important;
    padding: 8px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
  }
  .pt-fstat {
    text-align: center !important;
    flex: 1 1 auto !important;
  }
  .pt-fstat-num {
    font-size: 1rem !important;
  }
  .pt-fstat-label {
    font-size: 0.65rem !important;
  }
  /* Footer bottom */
  .footer-bottom-inner {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    font-size: 0.75rem !important;
  }
  .footer-bottom-links {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
  }
}

/* -- Floating WhatsApp CTA: Mobile Only -- */
@media (max-width: 768px) {
  .pt-float-wa {
    position: fixed !important;
    bottom: 20px !important;
    right: 16px !important;
    z-index: 800 !important;
    width: 52px !important;
    height: 52px !important;
    background: #25D366 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 20px rgba(37,211,102,0.45) !important;
    animation: pt-wa-pulse 2s infinite !important;
    text-decoration: none !important;
    transition: transform 0.2s !important;
  }
  .pt-float-wa:active {
    transform: scale(0.92) !important;
  }
  .pt-float-wa svg {
    width: 26px !important;
    height: 26px !important;
    fill: #fff !important;
  }
  @keyframes pt-wa-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(37,211,102,0.5); }
    70%  { box-shadow: 0 0 0 12px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
  }
}

/* -- Single Product Page: Mobile -- */
@media (max-width: 768px) {
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }
  .woocommerce div.product .product_title {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
  }
  .woocommerce div.product p.price {
    font-size: 1.4rem !important;
  }
  .woocommerce div.product .woocommerce-variation-price .price {
    font-size: 1.2rem !important;
  }
  /* Add to cart button */
  .single_add_to_cart_button,
  .woocommerce div.product .cart .single_add_to_cart_button {
    border-radius: 12px !important;
    padding: 13px 24px !important;
    font-size: 0.95rem !important;
    width: 100% !important;
    justify-content: center !important;
  }
  /* Product meta */
  .product-meta-row, .pt-product-meta {
    padding: 12px 16px !important;
    border-radius: 12px !important;
    font-size: 0.8rem !important;
  }
}

/* -- Cart & Checkout: Mobile -- */
@media (max-width: 768px) {
  .woocommerce-cart table.cart {
    font-size: 0.82rem !important;
  }
  .woocommerce-cart table.cart td {
    padding: 10px 8px !important;
  }
  .cart_item .product-thumbnail {
    display: none !important;
  }
  .woocommerce-checkout .col2-set {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .woocommerce-checkout #payment .place-order .button {
    border-radius: 12px !important;
    padding: 14px !important;
    font-size: 1rem !important;
    width: 100% !important;
  }
}

/* -- Shop Archive: Mobile -- */
@media (max-width: 768px) {
  .pt-archive-header {
    padding: 24px 16px !important;
    text-align: center !important;
  }
  .pt-archive-header h1 {
    font-size: 1.2rem !important;
  }
  .pt-shop-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 12px !important;
  }
  .pt-shop-sidebar {
    border-radius: 12px !important;
    padding: 14px !important;
  }
  /* Filters toggle: show on mobile */
  .pt-mobile-filter-btn {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #fff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    font-size: 0.83rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    color: #f1f5f9 !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    justify-content: center !important;
  }
}

/* -- FAQ Accordion: Mobile -- */
@media (max-width: 768px) {
  .pt-faq-item,
  .faq-item {
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
  }
  .pt-faq-q,
  .faq-question {
    padding: 14px 16px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
  }
  .pt-faq-a,
  .faq-answer {
    padding: 0 16px 14px !important;
    font-size: 0.82rem !important;
    line-height: 1.6 !important;
  }
}

/* -- Brands Marquee: Mobile -- */
@media (max-width: 768px) {
  .pt-brands-marquee,
  .brand-marquee-wrap {
    padding: 12px 0 !important;
  }
  .pt-brand-item img {
    height: 32px !important;
    max-width: 90px !important;
  }
}

/* -- General Mobile Polish -- */
@media (max-width: 768px) {
  /* Section padding: tighter on mobile */
  .section, .pt-section {
    padding: 40px 0 !important;
  }
  /* Container: proper mobile padding */
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Buttons: min tap size */
  .btn {
    min-height: 42px !important;
    min-width: 42px !important;
    border-radius: 10px !important;
  }
  /* Better scroll snap for sliders */
  .pt-slider-track {
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .pt-slider-track > * {
    scroll-snap-align: start !important;
  }
  /* Images: never overflow */
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  /* Tables: horizontal scroll */
  .entry-content table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 10px !important;
  }
}

/* -- Extra Small: 360px -- */
@media (max-width: 360px) {
  .products-grid, ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .categories-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .features-grid, .services-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .hero-actions .btn, .pt-slide-actions .btn {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .header-inner {
    padding: 8px 12px !important;
  }
}


/* ==============================================
   GLOBAL HORIZONTAL OVERFLOW FIX — Mobile
   ============================================== */

/* Prevent any element from causing horizontal scroll */
@media (max-width: 1024px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* All sections must stay within viewport */
  section, .site-main, .site-content,
  .container, .pt-container,
  #page, #content, #colophon,
  .site-header, .site-footer,
  .woocommerce, .woocommerce-page {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* Tables scroll inside instead of page overflowing */
  table {
    display: block !important;
    overflow-x: auto !important;
    max-width: 100% !important;
  }

  /* Prevent media from overflowing */
  img, video, iframe, embed, object {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  /* Mega dropdown menus hidden on mobile */
  .pt-mega-drop,
  .mega-dropdown {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Footer stats wrap on mobile */
  .pt-footer-stats {
    max-width: 100% !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  /* WooCommerce containers: no overflow */
  .woocommerce ul.products,
  .products-grid,
  ul.products {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Decorative pseudo-elements clipped */
  .hero-section::before,
  .hero-section::after {
    max-width: 100vw !important;
    right: 0 !important;
    overflow: hidden !important;
  }
}

/* -- Hide "3 categories" sub-label in category filter widget -- */
.pt-cat-widget__sub {
    display: none !important;
}


/* ============================================================
   THEMECHECK: WordPress required CSS classes
   ============================================================ */
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.wp-caption .wp-caption-text {
    margin: 0.5em 0 0;
    text-align: center;
    font-size: 0.875em;
    color: #6b7280;
    font-style: italic;
}
.wp-caption-text {
    margin: 0.5em 0 0;
    font-size: 0.875em;
    color: #6b7280;
    font-style: italic;
}
.gallery-caption {
    display: block;
    font-size: 0.8125em;
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
    padding: 0.5em 0;
}
.sticky {
    display: block;
}
.sticky .post-title::before {
    content: "★ ";
    color: #f59e0b;
}
.bypostauthor {
    display: block;
}
.alignright {
    float: right;
    margin: 0.4em 0 1em 1.5em;
}
.alignleft {
    float: left;
    margin: 0.4em 1.5em 1em 0;
}
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    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 {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}




/* ===========================================
   GLOBAL COLOR PALETTE OVERRIDE
   🟠 #f97316  ⚪ #f1f5f9  🔵 #60a5fa
   =========================================== */



/* ===========================================================
   RESPONSIVE FIXES — Added for 100/100 mobile score
   =========================================================== */

/* 1. Global image & media max-width */
img, video, svg, canvas, audio {
  max-width: 100%;
  height: auto;
}
iframe {
  max-width: 100%;
}

/* 2. WooCommerce tables — horizontal scroll on mobile */
.woocommerce-cart table.cart,
.woocommerce-account .woocommerce table,
.woocommerce table.shop_table,
.woocommerce table.order_details {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 3. Prevent horizontal scroll from any fixed/wide element */
body {
  overflow-x: hidden;
}
.container, .pt-hero-container {
  box-sizing: border-box;
}

/* 4. Feature grid — 1-col on very small screens */
@media (max-width: 360px) {
  .pt-feature-wrap { grid-template-columns: 1fr !important; }
  .pt-reviews-section .container { padding: 0 12px !important; }
  .pt-rv-summary { grid-template-columns: 1fr !important; }
}

/* 5. Products grid mobile fix */
@media (max-width: 540px) {
  ul.products.columns-4,
  ul.products.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 360px) {
  ul.products { grid-template-columns: 1fr !important; }
}

/* 6. WooCommerce checkout — input full width */
@media (max-width: 600px) {
  .woocommerce-billing-fields .form-row,
  .woocommerce-shipping-fields .form-row,
  .woocommerce form .form-row {
    width: 100% !important;
    float: none !important;
  }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* 7. Mobile font size minimum — prevent too-small text */
@media (max-width: 480px) {
  body, p, li, td, th {
    font-size: max(14px, .875rem);
  }
}

/* 8. Tap target size — buttons & links minimum 44px */
@media (max-width: 768px) {
  .pt-nav-cta, .pt-mobile-toggle,
  .woocommerce button.button,
  .woocommerce input[type="submit"],
  .checkout-button {
    min-height: 44px;
    min-width: 44px;
  }
}

/* 9. Review card single-column on very small */
@media (max-width: 400px) {
  .pt-rv-card { flex: 0 0 100% !important; }
  .pt-rv-score-num { font-size: 2.4rem; }
}

/* 10. Single product page mobile */
@media (max-width: 600px) {
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
  }
  .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* — Base link */
a:not(.button):not(.btn):not(.wp-block-button__link):not(.add_to_cart_button):not(.checkout-button):not(.single_add_to_cart_btn) {
  color: #60a5fa;
}
a:not(.button):not(.btn):not(.wp-block-button__link):not(.add_to_cart_button):not(.checkout-button):not(.single_add_to_cart_btn):hover {
  color: #f97316;
  text-decoration: none;
}
a:visited:not(.button):not(.btn) {
  color: #60a5fa;
}

/* — Body text */
body, p, li, td, th, label, span, div {
  color: #f1f5f9;
}

/* — Headings */
h1, h2, h3, h4, h5, h6 {
  color: #f1f5f9;
}

/* — Buttons (orange) */
.button, .btn, .wp-block-button__link,
.add_to_cart_button, .single_add_to_cart_btn,
.checkout-button, .woocommerce-button,
input[type="submit"], button[type="submit"] {
  background: #f97316 !important;
  color: #fff !important;
  border-color: #f97316 !important;
}
.button:hover, .btn:hover, .wp-block-button__link:hover,
.add_to_cart_button:hover, .single_add_to_cart_btn:hover,
.checkout-button:hover, .woocommerce-button:hover,
input[type="submit"]:hover, button[type="submit"]:hover {
  background: #ea6c0a !important;
  border-color: #ea6c0a !important;
  color: #fff !important;
}

/* — Active nav link */
.mega-menu-nav > ul > li.current-menu-item > a,
.mega-menu-nav > ul > li > a:hover {
  color: #f97316 !important;
  background: rgba(249,115,22,.1) !important;
}

/* — WooCommerce links */
.woocommerce-breadcrumb a,
.woocommerce .product_meta a,
.woocommerce div.product p.price ins,
.woocommerce-pagination ul li a,
.widget_product_categories ul li a {
  color: #60a5fa !important;
}
.woocommerce-breadcrumb a:hover,
.woocommerce .product_meta a:hover,
.widget_product_categories ul li a:hover {
  color: #f97316 !important;
}

/* — WooCommerce add to cart (shop listing) */
ul.products li.product .add_to_cart_button {
  background: #f97316 !important;
  color: #fff !important;
}
ul.products li.product .add_to_cart_button:hover {
  background: #ea6c0a !important;
}

/* — Cart coupon button */
.woocommerce-cart .coupon .button {
  background: rgba(249,115,22,.15) !important;
  color: #f97316 !important;
  border: 1px solid rgba(249,115,22,.3) !important;
}
.woocommerce-cart .coupon .button:hover {
  background: #f97316 !important;
  color: #fff !important;
}

/* — Cart product name link */
.woocommerce-cart table.cart td.product-name a {
  color: #f1f5f9 !important;
}
.woocommerce-cart table.cart td.product-name a:hover {
  color: #f97316 !important;
}

/* — Cart subtotal amount */
.woocommerce-cart table.cart td.product-subtotal .amount,
.woocommerce-cart .order-total .amount {
  color: #f97316 !important;
}

/* — Proceed to checkout */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: #f97316 !important;
  color: #fff !important;
}


/* ======================================================
   SHOP — Product Card Hover Effects & Quick View
====================================================== */

.woocommerce ul.products li.product {
  position: relative;
  transition: transform .28s cubic-bezier(.4,0,.2,1), box-shadow .28s ease !important;
  border-radius: 14px;
  overflow: hidden;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 56px rgba(0,0,0,.18) !important;
  z-index: 2;
}

/* Image zoom on hover */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img {
  transition: transform .45s ease !important;
}
.woocommerce ul.products li.product:hover .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product:hover img {
  transform: scale(1.06) !important;
}

/* Quick View overlay button */
.pt-quick-view-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(.8);
  opacity: 0;
  background: rgba(255,255,255,.96);
  color: #0d1b4b;
  padding: 9px 20px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  z-index: 10;
  border: none;
  transition: opacity .22s ease, transform .22s cubic-bezier(.4,0,.2,1);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  pointer-events: none;
}
.woocommerce ul.products li.product:hover .pt-quick-view-btn {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: auto;
}
.pt-quick-view-btn:hover {
  background: #f97316;
  color: #fff;
}

/* Add to Cart button — animated */
.woocommerce ul.products li.product .button.add_to_cart_button {
  transition: all .2s ease !important;
  font-weight: 700 !important;
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover {
  transform: scale(1.04) !important;
  box-shadow: 0 4px 16px rgba(249,115,22,.35) !important;
}
.woocommerce ul.products li.product .added_to_cart {
  animation: ptCartPop .4s cubic-bezier(.4,0,.2,1);
}
@keyframes ptCartPop {
  0%{transform:scale(1)} 50%{transform:scale(1.12)} 100%{transform:scale(1)}
}

/* ======================================================
   PRODUCT PAGE — Tabs Redesign
====================================================== */

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 2px solid rgba(255,255,255,.08) !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
  list-style: none !important;
  background: transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 12px 22px !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.45) !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: color .18s, border-color .18s !important;
  white-space: nowrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #f97316 !important;
  border-bottom-color: #f97316 !important;
}

/* Tab content panel */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 14px !important;
  padding: 28px !important;
}

/* ======================================================
   PRODUCT PAGE — Gallery Redesign
====================================================== */

.woocommerce-product-gallery {
  border-radius: 16px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.04) !important;
}
.woocommerce-product-gallery__image img {
  border-radius: 12px !important;
  transition: transform .35s ease !important;
}
.woocommerce-product-gallery__image:hover img {
  transform: scale(1.03) !important;
}
/* Thumbnails row */
.flex-control-thumbs li img {
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  transition: border-color .2s, opacity .2s !important;
  opacity: .7 !important;
}
.flex-control-thumbs li img:hover,
.flex-control-thumbs li.flex-active img {
  border-color: #f97316 !important;
  opacity: 1 !important;
}

/* ======================================================
   CART & CHECKOUT — Polish
====================================================== */

/* Cart table headings */
.woocommerce-cart .shop_table thead th {
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.4) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: 14px 16px !important;
}
/* Cart table rows */
.woocommerce-cart table.cart td {
  padding: 18px 16px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}
.woocommerce-cart table.cart tbody tr:hover {
  background: rgba(255,255,255,.02) !important;
}

/* Cart totals box */
.woocommerce-cart .cart-collaterals .cart_totals {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  padding: 24px !important;
}
.cart_totals h2 {
  font-size: 1rem !important;
  font-weight: 800 !important;
  margin: 0 0 20px !important;
}
.cart_totals table th {
  font-size: .8rem !important;
  color: rgba(255,255,255,.5) !important;
  padding: 12px 0 !important;
}
.cart_totals table td {
  font-weight: 700 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.cart_totals tr.order-total td {
  font-size: 1.1rem !important;
  color: #f97316 !important;
}

/* Checkout form sections */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-size: 1rem !important;
  font-weight: 800 !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid rgba(255,255,255,.07) !important;
}
/* Checkout input fields */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.05) !important;
  color: #f1f5f9 !important;
  padding: 12px 14px !important;
  transition: border-color .2s !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: #f97316 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.15) !important;
}
/* Order review box */
.woocommerce-checkout #order_review_heading {
  font-size: 1rem !important;
  font-weight: 800 !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid rgba(255,255,255,.07) !important;
}
.woocommerce-checkout-review-order-table thead th {
  font-size: .78rem !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.4) !important;
}
/* Place order button */
#place_order {
  width: 100% !important;
  padding: 16px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  letter-spacing: .03em !important;
  transition: all .2s !important;
}
#place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(249,115,22,.4) !important;
}

/* ======================================================
   THEME SETTINGS PAGE — Admin UI Polish
====================================================== */

/* Admin page improvements already handled by ptd-settings.php */
