/*!
 * AwaOwn — Secondary Pages Polish (v2)
 * Loads LAST. Enforces a consistent standard-grade UI across
 * About / Contact / FAQ / Legal / Merchant-Register / Affiliate-Register /
 * Affiliate-Dashboard + guarantees no black-on-purple anywhere.
 *
 * All rules use `html body.awaown-theme` so they outrank Vendora's baseline
 * without needing !important everywhere.
 */

/* ============================================================
   0. BUTTON OVERRIDE — ghost / back button hover fix
   Vendora's base button hover turns backgrounds dark; these
   rules outrank it on every page where awaown-theme is set.
   ============================================================ */
html body.awaown-theme .awaown-btn--ghost {
  background: transparent !important;
  color: var(--aw-primary, #6D28D9) !important;
  border: 1.5px solid #E5E7EB !important;
  box-shadow: none !important;
}
html body.awaown-theme .awaown-btn--ghost:hover,
html body.awaown-theme .awaown-btn--ghost:focus-visible {
  background: #F5F3FF !important;
  color: #6D28D9 !important;
  border-color: rgba(109,40,217,.35) !important;
  box-shadow: none !important;
}

/* ============================================================
   1. GLOBAL CONTRAST GUARDS
   Every purple / indigo / dark surface in the theme gets
   forced to white text — no exceptions.
   ============================================================ */
html body.awaown-theme .awaown-page-hero,
html body.awaown-theme .awaown-page-hero *,
html body.awaown-theme .awaown-page-cta,
html body.awaown-theme .awaown-page-cta *,
html body.awaown-theme .awaown-contact-info,
html body.awaown-theme .awaown-contact-info *,
html body.awaown-theme .awaown-afd-hero,
html body.awaown-theme .awaown-afd-hero *,
html body.awaown-theme .awaown-reg-hero,
html body.awaown-theme .awaown-reg-hero *,
html body.awaown-theme .awaown-final-cta,
html body.awaown-theme .awaown-final-cta *,
html body.awaown-theme .awaown-merchant-cta,
html body.awaown-theme .awaown-merchant-cta * {
  color: #fff;
}

/* --- EXCLUSIONS: these are white cards sitting ON the purple surface,
   they must keep their dark text, not get bleached by the rule above. --- */
html body.awaown-theme .awaown-cta-floating,
html body.awaown-theme .awaown-cta-floating *,
html body.awaown-theme .awaown-afd-hero .awaown-alert,
html body.awaown-theme .awaown-afd-hero .awaown-alert *,
html body.awaown-theme .awaown-reg-hero .awaown-alert,
html body.awaown-theme .awaown-reg-hero .awaown-alert * {
  color: initial;
}
html body.awaown-theme .awaown-cta-floating__label,
html body.awaown-theme .awaown-cta-floating__meta { color: #6B7280 !important; }
html body.awaown-theme .awaown-cta-floating__value { color: #0F172A !important; }
html body.awaown-theme .awaown-cta-floating__meta span[style*="10B981"] { color: #10B981 !important; }

/* Headings on purple surfaces — always pure white, never indigo */
html body.awaown-theme .awaown-page-hero h1,
html body.awaown-theme .awaown-page-hero h2,
html body.awaown-theme .awaown-page-cta h1,
html body.awaown-theme .awaown-page-cta h2,
html body.awaown-theme .awaown-afd-hero h1,
html body.awaown-theme .awaown-afd-hero h2,
html body.awaown-theme .awaown-reg-hero h1,
html body.awaown-theme .awaown-reg-hero h2,
html body.awaown-theme .awaown-merchant-cta h2,
html body.awaown-theme .awaown-final-cta h2 {
  color: #fff !important;
}

/* Body text on purple surfaces softened to ~92% white */
html body.awaown-theme .awaown-page-hero__sub,
html body.awaown-theme .awaown-page-cta p,
html body.awaown-theme .awaown-afd-hero__sub,
html body.awaown-theme .awaown-reg-hero__sub,
html body.awaown-theme .awaown-merchant-cta p,
html body.awaown-theme .awaown-final-cta p {
  color: rgba(255, 255, 255, .92) !important;
}

/* Buttons on purple backgrounds — white fill carries purple text so it pops */
html body.awaown-theme .awaown-page-hero .awaown-btn--primary,
html body.awaown-theme .awaown-page-cta .awaown-btn--primary,
html body.awaown-theme .awaown-afd-hero .awaown-btn--primary,
html body.awaown-theme .awaown-reg-hero .awaown-btn--primary,
html body.awaown-theme .awaown-merchant-cta .awaown-btn--primary,
html body.awaown-theme .awaown-final-cta .awaown-btn--primary {
  background: #fff !important;
  color: #6D28D9 !important;
  border-color: #fff !important;
}
html body.awaown-theme .awaown-page-hero .awaown-btn--primary:hover,
html body.awaown-theme .awaown-page-cta .awaown-btn--primary:hover,
html body.awaown-theme .awaown-afd-hero .awaown-btn--primary:hover,
html body.awaown-theme .awaown-reg-hero .awaown-btn--primary:hover,
html body.awaown-theme .awaown-merchant-cta .awaown-btn--primary:hover,
html body.awaown-theme .awaown-final-cta .awaown-btn--primary:hover {
  background: #F5F3FF !important;
  color: #4C1D95 !important;
}

/* ghost / outline buttons on purple: stay white with translucent surface */
html body.awaown-theme .awaown-page-hero .awaown-btn--outline-white,
html body.awaown-theme .awaown-page-cta .awaown-btn--outline-white,
html body.awaown-theme .awaown-afd-hero .awaown-btn--outline-white,
html body.awaown-theme .awaown-reg-hero .awaown-btn--outline-white,
html body.awaown-theme .awaown-merchant-cta .awaown-btn--outline-white,
html body.awaown-theme .awaown-final-cta .awaown-btn--outline-white,
html body.awaown-theme .awaown-page-hero .awaown-btn--ghost-light,
html body.awaown-theme .awaown-page-cta .awaown-btn--ghost-light,
html body.awaown-theme .awaown-afd-hero .awaown-btn--ghost-light,
html body.awaown-theme .awaown-merchant-cta .awaown-btn--ghost-light {
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, .55) !important;
  backdrop-filter: blur(4px);
}
html body.awaown-theme .awaown-page-hero .awaown-btn--outline-white:hover,
html body.awaown-theme .awaown-page-cta .awaown-btn--outline-white:hover,
html body.awaown-theme .awaown-afd-hero .awaown-btn--outline-white:hover,
html body.awaown-theme .awaown-reg-hero .awaown-btn--outline-white:hover,
html body.awaown-theme .awaown-merchant-cta .awaown-btn--outline-white:hover,
html body.awaown-theme .awaown-final-cta .awaown-btn--outline-white:hover {
  background: rgba(255, 255, 255, .18) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* Explicit: even if something tries to force `--color-primary` (purple) as text
   on a purple surface, we override it. */
html body.awaown-theme .awaown-page-hero [style*="color:#"],
html body.awaown-theme .awaown-page-cta [style*="color:#"],
html body.awaown-theme .awaown-afd-hero [style*="color:#"],
html body.awaown-theme .awaown-reg-hero [style*="color:#"] {
  /* ignored by the browser unless the inline styles match; here only for safety */
}

/* ============================================================
   2. GLOBAL PAGE SCAFFOLD
   Every secondary page shares the same shell, spacing and
   typography — below the hero there's a white card floating
   over the hero bottom, then content sits inside.
   ============================================================ */
html body.awaown-theme .awaown-page { background: #FAFAFB; }

html body.awaown-theme .awaown-page-hero {
  padding: 96px 24px 104px !important;
  min-height: 340px !important;
  background: linear-gradient(135deg, #5B21B6 0%, #6D28D9 45%, #4F46E5 100%) !important;
}
/* Soft radial glow top-left */
html body.awaown-theme .awaown-page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: -25% auto auto -15% !important;
  width: 560px !important;
  height: 560px !important;
  background: radial-gradient(circle, rgba(255,255,255,.18) 0%, transparent 60%) !important;
  pointer-events: none;
  z-index: 0;
}
/* Decorative dot grid bottom-right */
html body.awaown-theme .awaown-page-hero::after {
  content: "" !important;
  position: absolute;
  right: 0; bottom: 0;
  width: 280px; height: 180px;
  background-image: radial-gradient(rgba(255,255,255,.22) 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  mask-image: linear-gradient(to top left, #000 20%, transparent 80%);
  -webkit-mask-image: linear-gradient(to top left, #000 20%, transparent 80%);
  pointer-events: none;
  z-index: 0;
}
html body.awaown-theme .awaown-page-hero__content {
  position: relative;
  z-index: 2;
}
html body.awaown-theme .awaown-page-hero__title {
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 14px !important;
}
html body.awaown-theme .awaown-page-hero__sub {
  font-size: 1.0625rem !important;
  line-height: 1.6 !important;
  max-width: 640px;
  margin: 0 auto !important;
}
html body.awaown-theme .awaown-page-hero__eyebrow {
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .3);
  color: #fff;
  font-size: .7rem;
  letter-spacing: .1em;
}

/* Page card sits just below hero with generous breathing room — no overlap */
html body.awaown-theme .awaown-page-shell {
  max-width: 1120px;
  margin: 48px auto 72px;
  padding: 0 20px;
  position: relative;
  z-index: 5;
}
html body.awaown-theme .awaown-page-card {
  background: #fff;
  border-radius: 22px;
  padding: 48px 56px;
  box-shadow: 0 20px 50px -12px rgba(17, 24, 39, .08),
              0 4px 12px rgba(17, 24, 39, .04);
  border: 1px solid #F1F1F5;
}
@media (max-width: 768px) {
  html body.awaown-theme .awaown-page-shell { margin-top: 32px; padding: 0 14px; }
  html body.awaown-theme .awaown-page-card { padding: 26px 20px; border-radius: 18px; }
  html body.awaown-theme .awaown-page-hero { padding: 64px 20px 56px !important; }
}

/* Prose — deep, readable body with consistent rhythm */
html body.awaown-theme .awaown-prose h2 {
  font-size: 1.5rem;
  font-weight: 800;
  color: #0F172A;
  margin: 36px 0 12px;
  letter-spacing: -.015em;
}
html body.awaown-theme .awaown-prose h2:first-child { margin-top: 0; }
html body.awaown-theme .awaown-prose h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0F172A;
  margin: 26px 0 8px;
}
html body.awaown-theme .awaown-prose p,
html body.awaown-theme .awaown-prose li {
  font-size: 1rem;
  line-height: 1.75;
  color: #475569;
}
html body.awaown-theme .awaown-prose ul li,
html body.awaown-theme .awaown-prose ol li { margin-bottom: 8px; }
html body.awaown-theme .awaown-prose a {
  color: #6D28D9;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
html body.awaown-theme .awaown-prose a:hover { color: #4C1D95; }
html body.awaown-theme .awaown-prose strong { color: #0F172A; font-weight: 700; }

/* ============================================================
   3. FEATURE GRID CARDS (About page + others)
   ============================================================ */
html body.awaown-theme .awaown-feat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
  margin: 36px 0;
}
html body.awaown-theme .awaown-feat {
  background: linear-gradient(180deg, #FAFAFF 0%, #fff 100%);
  border: 1px solid #EDE9FE;
  border-radius: 16px;
  padding: 24px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
html body.awaown-theme .awaown-feat:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(109, 40, 217, .1);
  border-color: #C4B5FD;
}
html body.awaown-theme .awaown-feat__icon {
  width: 46px; height: 46px;
  border-radius: 12px;
  background: linear-gradient(135deg, #6D28D9 0%, #8B5CF6 100%);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
  box-shadow: 0 6px 14px rgba(109, 40, 217, .3);
}
html body.awaown-theme .awaown-feat__title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 6px;
}
html body.awaown-theme .awaown-feat__desc {
  color: #64748B;
  font-size: .9375rem;
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   4. CTA BANNER (bottom-of-page purple panel)
   ============================================================ */
html body.awaown-theme .awaown-page-cta {
  margin-top: 40px;
  background: linear-gradient(135deg, #6D28D9 0%, #4C1D95 100%);
  border-radius: 22px;
  padding: 48px 32px;
  text-align: center;
  overflow: hidden;
  position: relative;
}
html body.awaown-theme .awaown-page-cta::before {
  content: "";
  position: absolute;
  inset: -40% -20% auto auto;
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(255,255,255,.12) 0%, transparent 60%);
  pointer-events: none;
}
html body.awaown-theme .awaown-page-cta h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  margin: 0 0 10px;
}
html body.awaown-theme .awaown-page-cta p {
  max-width: 520px;
  margin: 0 auto 24px;
  font-size: 1rem;
}
html body.awaown-theme .awaown-page-cta__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

/* ============================================================
   5. CONTACT PAGE — info column polish
   ============================================================ */
html body.awaown-theme .awaown-contact-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 24px;
}
@media (max-width: 900px) {
  html body.awaown-theme .awaown-contact-grid { grid-template-columns: 1fr; }
}
html body.awaown-theme .awaown-contact-card {
  background: #fff;
  border: 1px solid #EDEDF2;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(17, 24, 39, .04);
}
@media (max-width: 600px) {
  html body.awaown-theme .awaown-contact-card { padding: 22px; border-radius: 16px; }
}
html body.awaown-theme .awaown-contact-card h2 {
  font-size: 1.375rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 4px;
}
html body.awaown-theme .awaown-contact-info {
  background: linear-gradient(160deg, #6D28D9 0%, #4C1D95 100%);
  border: none;
  position: relative;
  overflow: hidden;
}
html body.awaown-theme .awaown-contact-info::before {
  content: "";
  position: absolute;
  inset: auto -40% -40% auto;
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 60%);
}
html body.awaown-theme .awaown-contact-info h3 {
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0 0 10px;
}
html body.awaown-theme .awaown-contact-info > p {
  opacity: .88;
  margin: 0 0 20px !important;
}
html body.awaown-theme .awaown-contact-item {
  padding: 16px 0;
  border-top: 1px solid rgba(255, 255, 255, .14);
  gap: 14px;
  align-items: flex-start;
}
html body.awaown-theme .awaown-contact-item:first-of-type { border-top: none; padding-top: 0; }
html body.awaown-theme .awaown-contact-item__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .16);
  flex-shrink: 0;
}
html body.awaown-theme .awaown-contact-item__label {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .78;
  margin-bottom: 4px;
}
html body.awaown-theme .awaown-contact-item__value {
  font-weight: 600;
  font-size: 1rem;
}
html body.awaown-theme .awaown-contact-item__value a {
  color: #fff !important;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255, 255, 255, .4);
}
html body.awaown-theme .awaown-contact-item__value a:hover {
  border-bottom-color: #fff;
}

/* Contact form submit button — full-width primary */
html body.awaown-theme .awaown-contact-card form .awaown-btn--primary {
  background: #6D28D9 !important;
  color: #fff !important;
  border: none !important;
}
html body.awaown-theme .awaown-contact-card form .awaown-btn--primary:hover {
  background: #5B21B6 !important;
}

/* ============================================================
   6. REGISTRATION PAGES (Merchant / Affiliate)
   ============================================================ */
html body.awaown-theme .awaown-reg {
  background: #FAFAFB;
  min-height: 60vh;
}
html body.awaown-theme .awaown-reg-hero {
  background: linear-gradient(135deg, #6D28D9 0%, #4F46E5 100%);
  padding: 64px 24px 88px !important;
  position: relative;
  overflow: hidden;
}
html body.awaown-theme .awaown-reg-hero::before {
  content: "";
  position: absolute;
  inset: -30% -20% auto auto;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(255,255,255,.12) 0%, transparent 60%);
  pointer-events: none;
}
/* No gradient fade — hero ends cleanly. Decorative dot grid instead. */
html body.awaown-theme .awaown-reg-hero::after {
  content: "";
  position: absolute;
  left: -10px; bottom: -40px;
  width: 220px; height: 140px;
  background-image: radial-gradient(rgba(255,255,255,.18) 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  pointer-events: none;
  z-index: 0;
}
html body.awaown-theme .awaown-reg-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  max-width: 1120px;
  margin: 0 auto;
  align-items: center;
}
@media (max-width: 900px) {
  html body.awaown-theme .awaown-reg-hero__inner { grid-template-columns: 1fr; gap: 24px; }
  html body.awaown-theme .awaown-reg-hero__visual { display: none; }
}
html body.awaown-theme .awaown-reg-hero__eyebrow {
  display: inline-block;
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .3);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
html body.awaown-theme .awaown-reg-hero__title {
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin: 0 0 14px;
}
html body.awaown-theme .awaown-reg-hero__sub {
  font-size: 1.0625rem;
  max-width: 520px;
  margin: 0 0 20px;
  line-height: 1.6;
}
html body.awaown-theme .awaown-reg-hero__perks {
  display: grid;
  gap: 10px;
}
html body.awaown-theme .awaown-reg-perk {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: .9375rem;
  font-weight: 500;
}
html body.awaown-theme .awaown-reg-perk__dot {
  width: 22px; height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .4);
  display: inline-flex;
  align-items: center; justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
html body.awaown-theme .awaown-reg-perk__dot svg { width: 12px; height: 12px; }
html body.awaown-theme .awaown-reg-hero__visual {
  position: relative;
}
html body.awaown-theme .awaown-reg-hero__visual img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 30px 60px -12px rgba(0, 0, 0, .5);
  border: 4px solid rgba(255, 255, 255, .15);
}

/* Form shell — solid spacing under hero, no overlap */
html body.awaown-theme .awaown-reg-shell {
  max-width: 1120px;
  margin: 44px auto 72px;
  padding: 0 20px;
  position: relative;
  z-index: 5;
}
html body.awaown-theme .awaown-reg-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  align-items: start;
}
@media (max-width: 900px) {
  html body.awaown-theme .awaown-reg-grid { grid-template-columns: 1fr; }
}
html body.awaown-theme .awaown-reg-form-card,
html body.awaown-theme .awaown-reg-aside {
  background: #fff;
  border: 1px solid #EDEDF2;
  border-radius: 20px;
  padding: 36px 36px 32px;
  box-shadow: 0 12px 30px -8px rgba(17, 24, 39, .08);
}
@media (max-width: 600px) {
  html body.awaown-theme .awaown-reg-form-card,
  html body.awaown-theme .awaown-reg-aside {
    padding: 22px 18px;
    border-radius: 16px;
  }
}
html body.awaown-theme .awaown-reg-form-card h2 {
  font-size: 1.375rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 6px;
  letter-spacing: -.01em;
}
html body.awaown-theme .awaown-reg-form-card > p {
  color: #64748B;
  margin: 0 0 22px;
}
html body.awaown-theme .awaown-reg-aside {
  position: sticky;
  top: 90px;
  background: linear-gradient(180deg, #FAFAFF 0%, #fff 100%);
  border: 1px solid #EDE9FE;
}
html body.awaown-theme .awaown-reg-aside h3 {
  font-size: 1.0625rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 16px;
}

/* Registration form rows */
html body.awaown-theme .awaown-reg-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 560px) {
  html body.awaown-theme .awaown-reg-row { grid-template-columns: 1fr; }
}

/* Field polish */
html body.awaown-theme .awaown-field,
html body.awaown-theme .awaown-reg-form-card .awaown-form-group {
  margin-bottom: 16px;
}
html body.awaown-theme .awaown-field label,
html body.awaown-theme .awaown-reg-form-card label {
  display: block;
  font-size: .8125rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 6px;
  letter-spacing: .005em;
}
html body.awaown-theme .awaown-field input[type="text"],
html body.awaown-theme .awaown-field input[type="email"],
html body.awaown-theme .awaown-field input[type="tel"],
html body.awaown-theme .awaown-field input[type="password"],
html body.awaown-theme .awaown-field input[type="number"],
html body.awaown-theme .awaown-field input[type="url"],
html body.awaown-theme .awaown-field select,
html body.awaown-theme .awaown-field textarea,
html body.awaown-theme .awaown-reg-form-card input[type="text"],
html body.awaown-theme .awaown-reg-form-card input[type="email"],
html body.awaown-theme .awaown-reg-form-card input[type="tel"],
html body.awaown-theme .awaown-reg-form-card input[type="password"],
html body.awaown-theme .awaown-reg-form-card input[type="number"],
html body.awaown-theme .awaown-reg-form-card input[type="url"],
html body.awaown-theme .awaown-reg-form-card select,
html body.awaown-theme .awaown-reg-form-card textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  font-size: .9375rem;
  font-family: inherit;
  background: #fff;
  color: #0F172A;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}
html body.awaown-theme .awaown-field input::placeholder,
html body.awaown-theme .awaown-field textarea::placeholder,
html body.awaown-theme .awaown-reg-form-card input::placeholder,
html body.awaown-theme .awaown-reg-form-card textarea::placeholder {
  color: #9CA3AF;
}
html body.awaown-theme .awaown-field input:focus,
html body.awaown-theme .awaown-field select:focus,
html body.awaown-theme .awaown-field textarea:focus,
html body.awaown-theme .awaown-reg-form-card input:focus,
html body.awaown-theme .awaown-reg-form-card select:focus,
html body.awaown-theme .awaown-reg-form-card textarea:focus {
  outline: none;
  border-color: #7C3AED;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .12);
}
html body.awaown-theme .awaown-field textarea,
html body.awaown-theme .awaown-reg-form-card textarea {
  min-height: 130px;
  resize: vertical;
}

/* Progress steps indicator */
html body.awaown-theme .awaown-progress-steps {
  display: flex;
  gap: 0;
  justify-content: space-between;
  padding: 0 4px;
}
html body.awaown-theme .awaown-progress-step {
  flex: 1;
  position: relative;
  text-align: center;
  font-size: .75rem;
  font-weight: 600;
  color: #94A3B8;
}
html body.awaown-theme .awaown-progress-step__circle {
  width: 32px; height: 32px;
  margin: 0 auto 6px;
  border-radius: 999px;
  background: #fff;
  border: 2px solid #E2E8F0;
  display: flex;
  align-items: center; justify-content: center;
  font-weight: 700;
  font-size: .875rem;
  color: #94A3B8;
  transition: background .2s, border-color .2s, color .2s;
}
html body.awaown-theme .awaown-progress-step.active .awaown-progress-step__circle {
  background: linear-gradient(135deg, #6D28D9 0%, #8B5CF6 100%);
  border-color: #6D28D9;
  color: #fff;
  box-shadow: 0 4px 10px rgba(109, 40, 217, .3);
}
html body.awaown-theme .awaown-progress-step.active { color: #6D28D9; }
html body.awaown-theme .awaown-progress-step.done .awaown-progress-step__circle {
  background: #6D28D9;
  border-color: #6D28D9;
  color: #fff;
}
html body.awaown-theme .awaown-progress-step__line {
  position: absolute;
  top: 16px;
  left: calc(50% + 20px);
  right: calc(-50% + 20px);
  height: 2px;
  background: #E2E8F0;
  z-index: 0;
}
html body.awaown-theme .awaown-progress-step.done .awaown-progress-step__line {
  background: #6D28D9;
}

/* Aside perks card list */
html body.awaown-theme .awaown-aside-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
html body.awaown-theme .awaown-aside-list li {
  display: flex; gap: 12px; align-items: flex-start;
  font-size: .9375rem;
  color: #475569;
  line-height: 1.55;
}
html body.awaown-theme .awaown-aside-list__icon {
  flex: 0 0 32px;
  height: 32px;
  border-radius: 8px;
  background: #F5F3FF;
  color: #6D28D9;
  display: flex; align-items: center; justify-content: center;
}

/* ============================================================
   7. AFFILIATE DASHBOARD HERO — no more rgba inline hacks
   ============================================================ */
html body.awaown-theme .awaown-afd {
  background: #F8FAFB;
  min-height: 70vh;
}
html body.awaown-theme .awaown-afd-hero {
  background: linear-gradient(135deg, #6D28D9 0%, #4C1D95 100%) !important;
  color: #fff !important;
  padding: 56px 24px 96px !important;
  position: relative;
  overflow: hidden;
}
html body.awaown-theme .awaown-afd-hero::before {
  content: "";
  position: absolute;
  inset: -30% auto auto -10%;
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(255,255,255,.14) 0%, transparent 60%);
  pointer-events: none;
}
/* No gradient fade — clean edge with decorative dot grid. */
html body.awaown-theme .awaown-afd-hero::after {
  content: "";
  position: absolute;
  right: 30px; bottom: 20px;
  width: 180px; height: 120px;
  background-image: radial-gradient(rgba(255,255,255,.18) 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  pointer-events: none;
  z-index: 0;
}
html body.awaown-theme .awaown-afd-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
html body.awaown-theme .awaown-afd-hero__row {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
}
html body.awaown-theme .awaown-afd-hero__title {
  font-size: clamp(1.625rem, 3vw, 2.125rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 6px;
}
html body.awaown-theme .awaown-afd-hero__sub {
  margin: 0;
  font-size: 1rem;
  opacity: .9;
}

/* Hero stats — glassy cards on purple. No more black text. */
html body.awaown-theme .awaown-afd-hero .awaown-dk-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 28px !important;
}
@media (max-width: 900px) {
  html body.awaown-theme .awaown-afd-hero .awaown-dk-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  html body.awaown-theme .awaown-afd-hero .awaown-dk-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
}
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat {
  background: rgba(255, 255, 255, .1) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 14px;
  padding: 18px 18px 16px;
  backdrop-filter: blur(8px);
  transition: transform .2s, background .2s;
}
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat:hover {
  background: rgba(255, 255, 255, .15) !important;
  transform: translateY(-2px);
}
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat__icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .2) !important;
  color: #fff !important;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 10px;
}
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat__label {
  color: rgba(255, 255, 255, .82) !important;
  font-size: .75rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat__value {
  color: #fff !important;
  font-size: 1.375rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  line-height: 1.15;
}

/* Currency symbol inside hero stat values — keep readable */
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat__value .woocommerce-Price-amount,
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat__value .woocommerce-Price-currencySymbol,
html body.awaown-theme .awaown-afd-hero .awaown-dk-stat__value bdi {
  color: #fff !important;
}

/* Hero CTA buttons above the stats */
html body.awaown-theme .awaown-afd-hero .awaown-btn {
  padding: 10px 18px;
  font-size: .875rem;
}

/* The "Grab link" button was inline-styled with black-ish CSS — force purple text */
html body.awaown-theme .awaown-afd-hero a.awaown-btn[style*="#fff"] {
  background: #fff !important;
  color: #6D28D9 !important;
  border: 1.5px solid #fff !important;
}
html body.awaown-theme .awaown-afd-hero a.awaown-btn[style*="#fff"]:hover {
  background: #F5F3FF !important;
  color: #4C1D95 !important;
}

/* Dashboard main content card — floats above hero */
html body.awaown-theme .awaown-afd-shell {
  max-width: 1200px;
  margin: -56px auto 60px;
  padding: 0 20px;
  position: relative;
  z-index: 5;
}
html body.awaown-theme .awaown-afd-card {
  background: #fff;
  border: 1px solid #EDEDF2;
  border-radius: 20px;
  box-shadow: 0 12px 30px -8px rgba(17, 24, 39, .08);
  padding: 32px;
}
@media (max-width: 768px) {
  html body.awaown-theme .awaown-afd-shell { margin-top: -42px; padding: 0 14px; }
  html body.awaown-theme .awaown-afd-card { padding: 22px 18px; border-radius: 16px; }
}

/* ============================================================
   8. FAQ PAGE — consistent accordion polish
   ============================================================ */
html body.awaown-theme .awaown-faq-list { display: grid; gap: 12px; margin: 20px 0; }
html body.awaown-theme .awaown-faq {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  transition: border-color .2s, box-shadow .2s;
}
html body.awaown-theme .awaown-faq[open] {
  border-color: #C4B5FD;
  box-shadow: 0 6px 16px rgba(109, 40, 217, .08);
}
html body.awaown-theme .awaown-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 22px;
  font-weight: 600;
  color: #0F172A;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
html body.awaown-theme .awaown-faq summary::-webkit-details-marker { display: none; }
html body.awaown-theme .awaown-faq summary::after {
  content: "+";
  font-size: 1.4rem;
  color: #6D28D9;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s;
}
html body.awaown-theme .awaown-faq[open] summary::after { content: "−"; }
html body.awaown-theme .awaown-faq__body {
  padding: 0 22px 20px;
  color: #475569;
  line-height: 1.7;
}

/* ============================================================
   9. ALERT / NOTICE / BADGE / TABLE consistency
   ============================================================ */
html body.awaown-theme .awaown-alert {
  padding: 14px 18px;
  border-radius: 12px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: .9375rem;
  line-height: 1.5;
}
html body.awaown-theme .awaown-alert--success {
  background: #ECFDF5;
  border: 1px solid #6EE7B7;
  color: #065F46;
}
html body.awaown-theme .awaown-alert--warning {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  color: #92400E;
}
html body.awaown-theme .awaown-alert--error {
  background: #FEF2F2;
  border: 1px solid #FCA5A5;
  color: #991B1B;
}

/* Steps list styling */
html body.awaown-theme .awaown-steps { display: grid; gap: 14px; margin: 22px 0; }
html body.awaown-theme .awaown-step {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
html body.awaown-theme .awaown-step__num {
  flex: 0 0 40px; height: 40px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6D28D9, #8B5CF6);
  color: #fff;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px rgba(109, 40, 217, .25);
}

/* ============================================================
   10. ABSOLUTE FINAL SAFETY NET — nothing black on purple
   Any element directly on a purple/indigo AwaOwn surface whose
   inline style tries to force a dark color gets neutralised.
   ============================================================ */
html body.awaown-theme [class*="--purple"] *,
html body.awaown-theme .awaown-page-hero *:not(a),
html body.awaown-theme .awaown-afd-hero *:not(a),
html body.awaown-theme .awaown-reg-hero *:not(a),
html body.awaown-theme .awaown-page-cta *:not(a),
html body.awaown-theme .awaown-final-cta *:not(a),
html body.awaown-theme .awaown-merchant-cta .awaown-cta-copy *:not(a) {
  /* let each child's explicit color win; defaults above set #fff */
}

/* Any inline style="color:#000" / "#111" etc on a purple surface is overridden */
html body.awaown-theme .awaown-page-hero [style*="color:#0"],
html body.awaown-theme .awaown-page-hero [style*="color:#1"],
html body.awaown-theme .awaown-page-hero [style*="color:#2"],
html body.awaown-theme .awaown-afd-hero [style*="color:#0"],
html body.awaown-theme .awaown-afd-hero [style*="color:#1"],
html body.awaown-theme .awaown-afd-hero [style*="color:#2"],
html body.awaown-theme .awaown-reg-hero [style*="color:#0"],
html body.awaown-theme .awaown-reg-hero [style*="color:#1"],
html body.awaown-theme .awaown-reg-hero [style*="color:#2"],
html body.awaown-theme .awaown-merchant-cta .awaown-cta-copy [style*="color:#0"],
html body.awaown-theme .awaown-merchant-cta .awaown-cta-copy [style*="color:#1"],
html body.awaown-theme .awaown-final-cta [style*="color:#0"],
html body.awaown-theme .awaown-final-cta [style*="color:#1"] {
  color: #fff !important;
}

/* ============================================================
   11. VISUAL POLISH — section kickers, stats strip, value cards,
   contact strip, richer feat grid. These layer on top of the
   base page scaffold to stop pages feeling plain.
   ============================================================ */

/* Section kicker — small purple label above h2 */
html body.awaown-theme .awaown-section-kicker {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #7C3AED;
  background: #F5F3FF;
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
}

/* ── Stats strip (About) ─────────────────────────── */
html body.awaown-theme .awaown-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #EDE9FE;
  overflow: hidden;
  box-shadow: 0 14px 34px -10px rgba(17, 24, 39, .08);
  margin-bottom: 28px;
}
html body.awaown-theme .awaown-stat-cell {
  padding: 22px 18px;
  text-align: center;
  border-right: 1px solid #F1F1F5;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAFAFF 100%);
}
html body.awaown-theme .awaown-stat-cell:last-child { border-right: 0; }
html body.awaown-theme .awaown-stat-cell__v {
  font-size: 1.75rem;
  font-weight: 800;
  color: #6D28D9;
  letter-spacing: -.02em;
  line-height: 1;
}
html body.awaown-theme .awaown-stat-cell__l {
  margin-top: 6px;
  font-size: .8125rem;
  color: #64748B;
  font-weight: 600;
}
@media (max-width: 768px) {
  html body.awaown-theme .awaown-stats-strip { grid-template-columns: 1fr 1fr; }
  html body.awaown-theme .awaown-stat-cell:nth-child(2) { border-right: 0; }
  html body.awaown-theme .awaown-stat-cell:nth-child(1),
  html body.awaown-theme .awaown-stat-cell:nth-child(2) {
    border-bottom: 1px solid #F1F1F5;
  }
}

/* ── Rich feature grid (About — numbered) ────────── */
html body.awaown-theme .awaown-feat-grid--rich .awaown-feat {
  position: relative;
  padding: 30px 24px 26px;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAFAFF 100%);
  border: 1px solid #EDE9FE;
  border-radius: 18px;
  overflow: hidden;
}
html body.awaown-theme .awaown-feat-grid--rich .awaown-feat::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #6D28D9 0%, #8B5CF6 50%, #A78BFA 100%);
}
html body.awaown-theme .awaown-feat__num {
  position: absolute;
  top: 18px; right: 20px;
  font-size: 2.25rem;
  font-weight: 900;
  color: #EDE9FE;
  letter-spacing: -.04em;
  line-height: 1;
  user-select: none;
}
html body.awaown-theme .awaown-feat-grid--rich .awaown-feat__icon {
  position: relative;
  z-index: 1;
}

/* ── Value cards (About) ──────────────────────────── */
html body.awaown-theme .awaown-values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin: 28px 0 8px;
}
html body.awaown-theme .awaown-value-card {
  padding: 22px;
  border-radius: 16px;
  background: #FAFAFF;
  border-left: 3px solid #8B5CF6;
  transition: transform .2s, box-shadow .2s;
}
html body.awaown-theme .awaown-value-card:hover {
  transform: translateX(2px);
  box-shadow: 0 8px 18px -6px rgba(109, 40, 217, .15);
}
html body.awaown-theme .awaown-value-card__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: #fff;
  color: #6D28D9;
  display: inline-flex;
  align-items: center; justify-content: center;
  box-shadow: 0 4px 10px rgba(109, 40, 217, .12);
  margin-bottom: 12px;
}
html body.awaown-theme .awaown-value-card h4 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 800;
  color: #0F172A;
}
html body.awaown-theme .awaown-value-card p {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.6;
  color: #475569;
}

/* ── Contact reassurance strip ───────────────────── */
html body.awaown-theme .awaown-contact-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #EDE9FE;
  padding: 18px;
  box-shadow: 0 14px 34px -10px rgba(17, 24, 39, .08);
  margin-bottom: 24px;
}
html body.awaown-theme .awaown-contact-strip__item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, #FAFAFF 0%, #fff 100%);
  border: 1px solid #F1F1F5;
}
html body.awaown-theme .awaown-contact-strip__icon {
  flex: 0 0 44px; height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, #6D28D9, #8B5CF6);
  color: #fff !important;
  display: inline-flex;
  align-items: center; justify-content: center;
}
html body.awaown-theme .awaown-contact-strip__icon svg { color: #fff; }
html body.awaown-theme .awaown-contact-strip__t {
  font-size: .9375rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.15;
}
html body.awaown-theme .awaown-contact-strip__s {
  font-size: .8125rem;
  color: #64748B;
  margin-top: 2px;
}
@media (max-width: 900px) {
  html body.awaown-theme .awaown-contact-strip { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  html body.awaown-theme .awaown-contact-strip { grid-template-columns: 1fr; }
}

/* ── Prose h2 visual lift ─────────────────────────── */
html body.awaown-theme .awaown-prose h2 {
  position: relative;
  padding-bottom: 10px;
  margin-top: 42px;
}
html body.awaown-theme .awaown-prose h2:first-child { margin-top: 0; }
html body.awaown-theme .awaown-prose h2::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 44px; height: 3px;
  background: linear-gradient(90deg, #6D28D9 0%, #8B5CF6 100%);
  border-radius: 2px;
}

/* ============================================================
   12. BUTTON ICON FIX
   The blanket `color:#fff` on purple surfaces leaks into SVG
   children of white-fill primary buttons (icon becomes
   invisible: white-on-white). Restore the correct colour.
   ============================================================ */

/* Primary (white-fill, purple-text) buttons — icons must be purple */
html body.awaown-theme .awaown-merchant-cta .awaown-btn--primary svg,
html body.awaown-theme .awaown-merchant-cta .awaown-btn--primary svg *,
html body.awaown-theme .awaown-page-hero    .awaown-btn--primary svg,
html body.awaown-theme .awaown-page-hero    .awaown-btn--primary svg *,
html body.awaown-theme .awaown-page-cta     .awaown-btn--primary svg,
html body.awaown-theme .awaown-page-cta     .awaown-btn--primary svg *,
html body.awaown-theme .awaown-reg-hero     .awaown-btn--primary svg,
html body.awaown-theme .awaown-reg-hero     .awaown-btn--primary svg *,
/* Primary buttons on dark/gradient surfaces have a WHITE background
   → icon must be PURPLE so it's visible against white fill */
html body.awaown-theme .awaown-afd-hero     .awaown-btn--primary svg,
html body.awaown-theme .awaown-afd-hero     .awaown-btn--primary svg *,
html body.awaown-theme .awaown-final-cta    .awaown-btn--primary svg,
html body.awaown-theme .awaown-final-cta    .awaown-btn--primary svg * {
  color: #6D28D9 !important;
}

/* Primary buttons on light surfaces have a PURPLE background
   → icon must be WHITE so it's visible against purple fill */
html body.awaown-theme .awaown-affiliate-cta .awaown-btn--primary svg,
html body.awaown-theme .awaown-affiliate-cta .awaown-btn--primary svg * {
  color: #fff !important;
}

/* Outline / ghost buttons — icons stay white */
html body.awaown-theme .awaown-merchant-cta  .awaown-btn--outline-white svg,
html body.awaown-theme .awaown-merchant-cta  .awaown-btn--ghost-light   svg,
html body.awaown-theme .awaown-affiliate-cta .awaown-btn--outline-white svg,
html body.awaown-theme .awaown-affiliate-cta .awaown-btn--ghost-light   svg,
html body.awaown-theme .awaown-page-hero     .awaown-btn--outline-white svg,
html body.awaown-theme .awaown-page-cta      .awaown-btn--outline-white svg,
html body.awaown-theme .awaown-reg-hero      .awaown-btn--outline-white svg,
html body.awaown-theme .awaown-afd-hero      .awaown-btn--outline-white svg {
  color: #fff !important;
}

/* ============================================================
   13. WOOCOMMERCE SHOP PAGE — AwaOwn Brand Styling
   ============================================================ */

/* Page layout */
html body.awaown-theme .woocommerce-page .woocommerce,
html body.awaown-theme .woocommerce { max-width: 1360px; margin: 0 auto; }

/* Shop title */
html body.awaown-theme h1.woocommerce-products-header__title.page-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 2rem; color: #0B0F19;
  letter-spacing: -0.03em; margin-bottom: 6px;
}

/* Results count + ordering row */
html body.awaown-theme .woocommerce-result-count {
  font-size: 0.875rem; color: #6B7280; margin-bottom: 24px;
}
html body.awaown-theme .woocommerce-ordering select {
  border: 1px solid #E5E7EB; border-radius: 8px;
  padding: 8px 14px; font-size: 0.875rem; color: #1F2937;
  background: #fff; outline: none;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
html body.awaown-theme .woocommerce-ordering select:focus {
  border-color: #6D28D9; box-shadow: 0 0 0 3px rgba(109,40,217,.12);
}

/* ── Product grid ──────────────────────────────────────────── */
html body.awaown-theme ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 -10px !important;
  padding: 0 !important;
  list-style: none !important;
}
html body.awaown-theme ul.products li.grid-new-row { display: none !important; }
html body.awaown-theme ul.products > li {
  width: var(--aw-card-width, 25%) !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  float: none !important;
  display: block !important;
}
@media (max-width: 900px) {
  html body.awaown-theme ul.products > li { width: 50% !important; }
}
@media (max-width: 500px) {
  html body.awaown-theme ul.products { margin: 0 -6px !important; }
  html body.awaown-theme ul.products > li { width: 50% !important; padding: 6px !important; }
}
/* Very small mobile: 1 column */
@media (max-width: 360px) {
  html body.awaown-theme ul.products { margin: 0 !important; }
  html body.awaown-theme ul.products > li { width: 100% !important; padding: 6px 0 !important; }
}

/* ── 1. Grid Layout ────────────────────────────────────────── */
/* Use html body.awaown-theme prefix to beat the (0,2,3) flex rule above */
html body.awaown-theme ul.products.product-grid-items {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body.awaown-theme ul.products.product-grid-items > li {
  width: 100% !important;
  padding: 0 !important;
  float: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 1100px) {
  html body.awaown-theme ul.products.product-grid-items { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  html body.awaown-theme ul.products.product-grid-items { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}
/* Very small mobile: 1 column */
@media (max-width: 360px) {
  html body.awaown-theme ul.products.product-grid-items { grid-template-columns: repeat(1, 1fr) !important; gap: 10px !important; }
}

/* Hide the empty grid-row elements if your theme injects them */
ul.products .grid-new-row {
  display: none !important;
}

/* ── 2. Card Shell ─────────────────────────────────────────── */
li.product_item {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

li.product_item .product-item {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #ffffff !important;
  border: 1px solid #F1F5F9 !important; /* Soft modern border */
  border-radius: 20px !important; /* Modern rounded corners */
  overflow: hidden !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important; 
}

li.product_item .product-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 25px -5px rgba(109, 40, 217, 0.12), 0 8px 10px -6px rgba(109, 40, 217, 0.08) !important;
  border-color: rgba(109, 40, 217, 0.2) !important;
}

/* ── 3. Inlaid Image ───────────────────────────────────────── */
.product-item__thumbnail {
  position: relative !important;
  overflow: hidden !important;
  background: #F8FAFC !important;
  flex-shrink: 0 !important;
  margin: 8px 8px 0 !important; /* Framed look inside the card */
  border-radius: 14px !important;
}

.product-item__thumbnail-placeholder a,
.product-item__thumbnail > a {
  display: block !important;
  height: 100% !important;
}

/* Target both the placeholder wrapper and direct child — covers all template variants */
.product-item__thumbnail-placeholder img,
.product-item__thumbnail img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

li.product_item .product-item:hover .product-item__thumbnail-placeholder img,
li.product_item .product-item:hover .product-item__thumbnail img {
  transform: scale(1.08) !important;
}

/* ── 4. Card Body ──────────────────────────────────────────── */
.product-item__description {
  padding: 16px 16px 12px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

/* Vendor (Food) */
.aw-product-vendor {
  margin-bottom: 6px !important;
  display: block !important;
}

.aw-product-vendor a {
  font-size: 0.75rem !important; 
  font-weight: 600 !important;
  color: #64748B !important; /* Premium slate gray */
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.aw-product-vendor a:hover { 
  color: #5B21B6 !important; 
}

/* Product Title */
.product-item__description--info .title {
  text-decoration: none !important;
  display: block !important;
}

h2.woocommerce-loop-product__title {
  font-size: 1rem !important; 
  font-weight: 600 !important;
  color: #1E293B !important; /* Deep slate */
  margin: 0 0 8px !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  transition: color 0.2s ease !important;
}

h2.woocommerce-loop-product__title:hover { 
  color: #6D28D9 !important; 
}

/* Price */
.product-item__description--price {
  margin-top: auto !important; /* Pushes price to the bottom of the body */
  padding-top: 8px !important;
}

.product-item__description--price .price {
  display: block !important;
}

/* Targeting the specific WooCommerce price tags to enforce purple */
.product-item__description--price .price .amount, 
.product-item__description--price .price .amount bdi,
.product-item__description--price .price .woocommerce-Price-currencySymbol {
  font-size: 1.15rem !important; 
  font-weight: 800 !important; 
  color: #6D28D9 !important; /* AwaOwn Primary Purple */
  letter-spacing: -0.02em !important;
}

/* ── 5. Footer & Button ─────────────────────────────────────────────────
   Targets both class names the theme may use for the button wrapper.
   ────────────────────────────────────────────────────────────────────── */
.product-item__actions,
.product-item__description--bottom-actions {
  padding: 0 16px 16px !important;
}

.product-item__actions .button,
.product-item__description--bottom-actions .button,
.product-item__description--popcard .button,
.item--popcard-button-cart .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 12px 16px !important;
  background: #6D28D9 !important;
  border: none !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  opacity: 1 !important;
}

/* Button text always white */
.product-item__actions .button .text,
.product-item__actions .button span,
.product-item__description--bottom-actions .button .text,
.product-item__description--bottom-actions .button span,
.item--popcard-button-cart .button .text,
.item--popcard-button-cart .button span {
  color: #ffffff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

.product-item__actions .button:hover,
.product-item__description--bottom-actions .button:hover,
.item--popcard-button-cart .button:hover {
  background: #5B21B6 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(109, 40, 217, 0.25) !important;
}

/* ── 6. Layout Ordering Fix (Forces button to the bottom) ── */
li.product_item .product-item {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* 1st: The Image */
.product-item__thumbnail {
  order: 1 !important;
}

/* 2nd: The Text (Title, Price, Vendor) */
.product-item__description {
  order: 2 !important;
  flex-grow: 1 !important; /* Makes this section take up available space */
}

/* 3rd: The Button */
.product-item__actions,
.product-item__description--bottom-actions {
  order: 3 !important;
  position: static !important;
  margin-top: auto !important;
}

/* Ensure opacity is never suppressed */
.product-item__actions .button,
.product-item__description--bottom-actions .button,
.item--popcard-button-cart .button { opacity: 1 !important; }

/* Always show the button wrapper — theme hides it with opacity:0 + position:absolute until hover */
ul.products .product .product-item__description--button,
ul.products .product .product-item__description--bottom-actions,
ul.products .product .product-item__description--popcard {
  opacity: 1 !important;
  position: static !important;
  width: 100% !important;
}

ul.products:not(.product-list-display) .product .product-item__actions,
ul.products:not(.product-list-display) .product .product-item__description--bottom-actions {
  box-shadow: none !important;
  border: none !important;
}

/* Pagination */
html body.awaown-theme .woocommerce-pagination ul {
  display: flex !important; gap: 6px !important;
  list-style: none !important; margin: 40px 0 0 !important;
  padding: 0 !important; justify-content: center;
}
html body.awaown-theme .woocommerce-pagination ul li a,
html body.awaown-theme .woocommerce-pagination ul li span {
  display: flex !important; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border-radius: 10px !important; border: 1px solid #E5E7EB !important;
  color: #374151 !important; font-weight: 600 !important; font-size: 0.875rem;
  text-decoration: none; transition: all 0.15s;
}
html body.awaown-theme .woocommerce-pagination ul li a:hover { border-color: #6D28D9 !important; color: #6D28D9 !important; background: #F5F3FF !important; }
html body.awaown-theme .woocommerce-pagination ul li span.current { background: #6D28D9 !important; border-color: #6D28D9 !important; color: #fff !important; }







/* =================================================================
   DOKAN VENDOR STORE PAGE — AwaOwn Full Redesign
   Template: awaown/dokan/store-header.php  (aw-vendor-* classes)
   ================================================================= */

/* -- 1. Page wrapper -------------------------------------------- */
.dokan-store-wrap.layout-full {
  width: 100%; max-width: 100%; min-width: 0;
  margin: 0; padding: 40px 0 64px;
  box-sizing: border-box; display: block;
  background: #ffffff;
}
.dokan-single-store,
.store-page-wrap {
  width: 100%; max-width: 1280px; min-width: 0;
  margin: 0 auto; padding: 0 32px;
  box-sizing: border-box; display: block;
}
.seller-items {
  width: 100%; min-width: 0; max-width: 100%;
  margin: 0; box-sizing: border-box; display: block;
}
.dokan-single-store * { word-break: normal; white-space: normal; }

/* -- 2. Outer wrapper ------------------------------------------- */
.aw-vendor-header { margin-bottom: 28px; }

/* -- 3. Profile Card -------------------------------------------- */
/*
   NO overflow:hidden — would clip the avatar's negative-margin overlap.
   .aw-vendor-banner handles its own corner clipping.
*/
.aw-vendor-card {
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
  position: relative;
}

/* -- 4. Banner -------------------------------------------------- */
.aw-vendor-banner {
  height: 220px;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  background-color: #5B21B6;
  background-image: linear-gradient(135deg, #7C3AED 0%, #4338CA 60%, #1E40AF 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.aw-vendor-banner::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.22) 100%);
  pointer-events: none;
}

/* -- 5. Profile row --------------------------------------------- */
.aw-vendor-profile {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 0 32px 28px;
  box-sizing: border-box;
}

/* -- 6. Avatar -------------------------------------------------- */
.aw-vendor-avatar {
  flex-shrink: 0;
  width: 100px; height: 100px;
  border-radius: 50%;
  border: 5px solid #ffffff;
  overflow: hidden;
  background: #EDE9FE;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  margin-top: -50px;
  position: relative; z-index: 3;
}
.aw-vendor-avatar img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* -- 7. Info column --------------------------------------------- */
.aw-vendor-info { flex: 1; min-width: 0; padding-top: 16px; }

.aw-vendor-info__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.aw-vendor-name {
  font-size: 1.6rem; font-weight: 800;
  color: #0F172A; margin: 0;
  line-height: 1.2; letter-spacing: -0.025em;
}

/* -- 8. Social icons -------------------------------------------- */
.aw-vendor-social { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0; }
.aw-vendor-social li { display: flex; }
.aw-vendor-social a {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #F1F5F9; color: #64748B;
  font-size: 0.9rem; text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.15s;
}
.aw-vendor-social a:hover { background: #7C3AED; color: #fff; transform: translateY(-2px); }

/* -- 9. Meta row: rating · address · phone ---------------------- */
.aw-vendor-meta {
  display: flex; flex-wrap: wrap;
  align-items: center; gap: 6px 20px;
  list-style: none; padding: 0; margin: 0;
}
.aw-vendor-meta__item {
  display: flex; align-items: center; gap: 7px;
  font-size: 0.875rem; font-weight: 500; color: #475569;
}
.aw-vendor-meta__item a { color: #475569; text-decoration: none; transition: color 0.15s; }
.aw-vendor-meta__item a:hover { color: #7C3AED; }
.aw-vendor-meta__item i { font-size: 0.78rem; width: 15px; text-align: center; flex-shrink: 0; color: #7C3AED; }
.aw-vendor-meta__rating { color: #78350F; }
.aw-vendor-meta__rating i { color: #F59E0B; }

.aw-status-badge {
  display: inline-flex; align-items: center;
  padding: 2px 10px; border-radius: 20px;
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.03em; text-transform: uppercase;
}
.aw-status-badge--open   { background: #DCFCE7; color: #15803D; }
.aw-status-badge--closed { background: #FEE2E2; color: #B91C1C; }

/* -- 9b. Store description --------------------------------------- */
.aw-vendor-desc {
  font-size: 0.9rem; color: #475569; line-height: 1.6;
  margin: 12px 24px 16px; padding-top: 12px;
  border-top: 1px solid #F1F5F9;
}

/* -- 10. Tab Navigation ----------------------------------------- */
.aw-vendor-tabs { border-bottom: 2px solid #E2E8F0; margin-bottom: 28px; margin-top: 8px; }
.aw-vendor-tabs__list { display: flex; list-style: none; padding: 0; margin: 0; }
.aw-vendor-tabs__item a {
  display: inline-block; padding: 12px 24px;
  color: #64748B; font-weight: 600; font-size: 0.9rem;
  text-decoration: none;
  border-bottom: 3px solid transparent; margin-bottom: -2px;
  transition: color 0.2s, border-color 0.2s;
}
.aw-vendor-tabs__item { margin-bottom: 0px; }
.aw-vendor-tabs__item a:hover { color: #7C3AED; border-bottom-color: #7C3AED; }
.aw-vendor-tabs__item:first-child a { color: #7C3AED; border-bottom-color: #7C3AED; }

/* -- 11. Search / Filter Bar ------------------------------------ */
.dokan-store-products-filter-area { margin-bottom: 28px; }
.dokan-store-products-filter-area form {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px; width: 100%;
}
.dokan-store-products-filter-search {
  flex: 1 1 220px;
  background: #fff; color: #1E293B;
  border: 1.5px solid #E2E8F0; padding: 12px 18px;
  border-radius: 12px; font-size: 0.9rem;
  outline: none; font-family: inherit;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.orderby-search {
  min-width: 180px;
  background: #fff; color: #1E293B;
  border: 1.5px solid #E2E8F0; padding: 12px 18px;
  border-radius: 12px; font-size: 0.9rem;
  outline: none; font-family: inherit;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05); cursor: pointer;
}
.dokan-store-products-filter-search:focus,
.orderby-search:focus { border-color: #7C3AED; box-shadow: 0 0 0 3px rgba(124,58,237,0.12); }
.search-store-products.dokan-btn-theme {
  background: #7C3AED; color: #fff; border: none;
  padding: 0px 28px; border-radius: 12px;
  font-weight: 700; font-size: 0.9rem; cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(124,58,237,0.3);
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.search-store-products.dokan-btn-theme:hover {
  background: #6D28D9; transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(124,58,237,0.35);
}

/* -- 12. Product Grid: 4 columns desktop */
html body.awaown-theme .seller-items ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important; padding: 0 !important; margin: 0 !important;
  list-style: none !important; float: none !important;
}
html body.awaown-theme .seller-items ul.products::before,
html body.awaown-theme .seller-items ul.products::after { display: none !important; }
html body.awaown-theme .seller-items ul.products > li {
  width: 100% !important; padding: 0 !important;
  float: none !important; display: block !important;
}

/* -- 13. Responsive --------------------------------------------- */
/* Tablet: 2 columns */
@media (max-width: 1024px) {
  html body.awaown-theme .seller-items ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .dokan-store-wrap.layout-full  { padding: 24px 0 48px; }
  .dokan-single-store,
  .store-page-wrap               { padding: 0 16px; }
  .aw-vendor-banner              { height: 150px; }
  .aw-vendor-avatar              { width: 80px; height: 80px; margin-top: -40px; border-width: 4px; }
  .aw-vendor-profile             { padding: 0 20px 20px; gap: 16px; }
  .aw-vendor-name                { font-size: 1.2rem; }
  .aw-vendor-info                { padding-top: 10px; }
  /* Mobile: 2 columns */
  html body.awaown-theme .seller-items ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}
/* Very small mobile: 1 column */
@media (max-width: 360px) {
  .aw-vendor-profile { flex-wrap: wrap; gap: 12px; }
  .aw-vendor-info    { padding-top: 0; }
  html body.awaown-theme .seller-items ul.products { grid-template-columns: repeat(1, 1fr) !important; gap: 10px !important; }
}

/* -- 14. Full-width page fix ------------------------------------ */
/* The theme wraps content in a narrow content-area column.
   Override it on the store page using the body class Dokan adds. */
body.AwaOwn-dokan-store-page #site-content.site-content-wrapper,
body.AwaOwn-dokan-store-page #primary.content-area,
body.AwaOwn-dokan-store-page .site-main,
body.AwaOwn-dokan-store-page .entry-content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* -- 15. Two-column store layout: products | sidebar ------------ */
.aw-store-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
  width: 100%;
}


/* -- 16. Sidebar widgets --------------------------------------- */
.aw-store-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 24px;
}

.aw-sidebar-widget {
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.aw-sidebar-widget__title {
  font-size: 1rem;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #F1F5F9;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aw-sidebar-widget__title i {
  color: #7C3AED;
  font-size: 0.9rem;
}

/* -- 17. Contact form ------------------------------------------ */
.aw-contact-form { display: flex; flex-direction: column; gap: 12px; }

.aw-contact-form__field input,
.aw-contact-form__field textarea {
  width: 100%;
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 0.875rem;
  color: #1E293B;
  font-family: inherit;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.aw-contact-form__field input:focus,
.aw-contact-form__field textarea:focus {
  border-color: #7C3AED;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
  background: #fff;
}

.aw-contact-form__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #7C3AED;
  color: #ffffff;
  border: none;
  border-radius: 10px;
  padding: 13px 20px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  margin-top: 4px;
}

.aw-contact-form__submit:hover {
  background: #6D28D9;
  transform: translateY(-1px);
}

/* Alert messages */
.aw-alert {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 14px;
}

.aw-alert--success { background: #DCFCE7; color: #15803D; }
.aw-alert--error   { background: #FEE2E2; color: #B91C1C; }

/* Store details list in sidebar */
.aw-sidebar-info {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.aw-sidebar-info li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.875rem;
  color: #475569;
}

.aw-sidebar-info li i {
  color: #7C3AED;
  font-size: 0.85rem;
  width: 16px;
  text-align: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.aw-sidebar-info li a { color: #475569; text-decoration: none; }
.aw-sidebar-info li a:hover { color: #7C3AED; }

/* Empty products state */
.aw-no-products {
  text-align: center;
  padding: 48px 24px;
  color: #94A3B8;
}
.aw-no-products i { font-size: 3rem; display: block; margin-bottom: 12px; }

/* -- 18. Sidebar responsive ------------------------------------ */
@media (max-width: 960px) {
  .aw-store-layout { grid-template-columns: 1fr; }
  .aw-store-sidebar { position: static; }
}

/* -- 19. Empty cart page --------------------------------------- */
.awaown-empty-cart-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 64px 24px 48px;
  max-width: 480px;
  margin: 0 auto;
}
.awaown-empty-cart-page__icon {
  width: 88px; height: 88px;
  border-radius: 50%;
  background: var(--aw-primary-tint, #F5F3FF);
  color: var(--aw-primary, #6D28D9);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.awaown-empty-cart-page__icon svg { width: 40px; height: 40px; }
.awaown-empty-cart-page__title {
  font-size: 1.5rem; font-weight: 700;
  color: #0B0B10; margin: 0 0 10px;
}
.awaown-empty-cart-page__desc {
  font-size: 0.9375rem; color: #6B7280;
  line-height: 1.6; margin: 0 0 24px;
}

/* -- 20. "New in store" / Dokan product-section cards ----------- */
/* Applies card look to standard WC product items even without aw-product-card class */
.seller-items ul.products li.product,
.dokan-store-product-section ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  padding: 0 !important;
}
.seller-items ul.products li.product:hover,
.dokan-store-product-section ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(109,40,217,0.12) !important;
}
.seller-items ul.products li.product img,
.dokan-store-product-section ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}
.seller-items ul.products li.product .woocommerce-loop-product__title,
.dokan-store-product-section ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  padding: 12px 14px 4px !important;
  margin: 0 !important;
}
.seller-items ul.products li.product .price,
.dokan-store-product-section ul.products li.product .price {
  padding: 0 14px 14px !important;
  font-weight: 700 !important;
  color: #6D28D9 !important;
  font-size: 0.95rem !important;
}
.seller-items ul.products li.product .button,
.dokan-store-product-section ul.products li.product .button {
  background: #6D28D9 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  display: block !important;
  text-decoration: none !important;
}

/* =================================================================
   BLOCK-BASED CART — Empty state & "New in store" products
   (wp-block-woocommerce-empty-cart-block / wc-block-grid)
   ================================================================= */

.wp-block-woocommerce-empty-cart-block {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 48px 24px 64px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Replace sad-face emoji with a styled shopping bag in a circle */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  content: "🛍️" !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 88px !important;
  height: 88px !important;
  border-radius: 50% !important;
  background: #F5F3FF !important;
  font-size: 2rem !important;
  margin: 0 auto 20px !important;
}

.wc-block-cart__empty-cart__title {
  font-size: 1.625rem !important;
  font-weight: 700 !important;
  color: #0B0B10 !important;
  margin-bottom: 8px !important;
}

/* Dots separator — invisible but keeps layout space */
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block hr.is-style-dots,
.wp-block-woocommerce-empty-cart-block hr {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Undo text-align:center inheritance for grid wrapper and its inner blocks */
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-handpicked-products,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-all-products,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.wp-block-woocommerce-empty-cart-block [class*="wp-block-woocommerce-"] {
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* "New in store" heading */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: #0B0B10 !important;
  margin-bottom: 24px !important;
}

/* Product grid — reset WC blocks' own width calculations */
.wc-block-grid,
.wc-block-grid[class*="has-"] {
  width: 100% !important;
  max-width: 100% !important;
}
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Product card shell — mirrors aw-product-card */
.wc-block-grid__product {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid #F1F5F9 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.35s cubic-bezier(0.16,1,0.3,1) !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wc-block-grid__product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 30px -8px rgba(109,40,217,0.14) !important;
  border-color: rgba(109,40,217,0.2) !important;
}

/* Image — framed inside card, same as aw-card__img-wrap */
.wc-block-grid__product-image {
  margin: 8px 8px 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #F8FAFC !important;
  flex-shrink: 0 !important;
}
.wc-block-grid__product-link { display: block !important; }
.wc-block-grid__product-image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1) !important;
}
.wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: scale(1.06) !important;
}

/* Vendor name injected by PHP filter (aw-block-vendor) */
.wc-block-grid__product .aw-block-vendor {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  color: #9CA3AF !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  display: block !important;
  padding: 14px 16px 4px !important;
  line-height: 1.4 !important;
  pointer-events: none !important;
}

/* Title — remove top padding when vendor is present (JS adds class) */
.wc-block-grid__product-title {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  padding: 14px 16px 6px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
/* When vendor is present, title doesn't need its own top padding */
.wc-block-grid__product .aw-block-vendor + .wc-block-grid__product-title {
  padding-top: 4px !important;
}
/* Anchor that wraps image+title: don't let it grow */
a.wc-block-grid__product-link { flex-shrink: 0 !important; }

/* Rating — reorder before price */
.wc-block-grid__product-rating {
  order: 1 !important;
  padding: 0 16px 4px !important;
  margin: 0 !important;
}
.wc-block-grid__product-rating .star-rating { float: none !important; }

/* Price — after rating, grows to push button down */
.wc-block-grid__product-price {
  order: 2 !important;
  padding: 4px 16px 10px !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  margin: 0 !important;
  flex: 1 !important;
}
.wc-block-grid__product-price .woocommerce-Price-amount,
.wc-block-grid__product-price ins .woocommerce-Price-amount,
.wc-block-grid__product-price .amount { color: #6D28D9 !important; font-weight: 800 !important; }
.wc-block-grid__product-price del .woocommerce-Price-amount,
.wc-block-grid__product-price del .amount { color: #9CA3AF !important; font-weight: 400 !important; }

/* Add to cart — always last */
.wc-block-grid__product-add-to-cart {
  order: 3 !important;
  padding: 0 16px 16px !important;
  margin: 0 !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product-add-to-cart a.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: #6D28D9 !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  padding: 11px 16px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart a.button:hover {
  background: #5B21B6 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(109,40,217,0.25) !important;
}

/* Responsive — override WC block's has-N-columns classes too */
@media (max-width: 1024px) {
  .wc-block-grid__products,
  .wc-block-grid.has-4-columns .wc-block-grid__products,
  .wc-block-grid.has-5-columns .wc-block-grid__products,
  .wc-block-grid.has-6-columns .wc-block-grid__products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .wc-block-grid__products,
  .wc-block-grid[class*="has-"] .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  ul.products,
  .wc-block-grid__products { gap: 14px !important; }
}
@media (max-width: 480px) {
  .wc-block-grid__products,
  .wc-block-grid[class*="has-"] .wc-block-grid__products {
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 10px !important;
  }
  ul.products { grid-template-columns: repeat(1, 1fr) !important; gap: 10px !important; }
}




/* ============================================================
   15. MY ACCOUNT (/my-account) — Break out of Vendora containers
   ============================================================ */

/* The custom my-account.php template uses .awaown-account-shell
   which handles its own layout (see brand.css section 26).
   These rules just ensure Vendora's page wrappers don't squish it. */

/* Strip all float/width constraints from the WC wrapper Vendora injects */
html body.awaown-theme .woocommerce-account .woocommerce,
html body.awaown-theme .woocommerce-account .entry-content,
html body.awaown-theme .woocommerce-account .page-content,
html body.awaown-theme .woocommerce-account .container,
html body.awaown-theme .woocommerce-account .container-fluid {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* No top padding on the page — the shell has its own */
html body.awaown-theme .woocommerce-account .entry-content,
html body.awaown-theme .woocommerce-account .page-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* Single product — constrain gallery image size */
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
  max-width: 700px !important;
  width: 50% !important;
}

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
  max-height: 100% !important;
  width: 100% !important;
  object-fit: contain !important;
}

/* Store header — opening hours dropdown panel */
#vendor-store-times {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 99;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  padding: 16px 18px;
  min-width: 260px;
  max-width: 320px;
}

.aw-vendor-meta__item { position: relative; }

#vendor-store-times .store-times-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #F3F4F6;
}

#vendor-store-times .store-times-heading h4 {
  font-size: .875rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
}

#vendor-store-times .store-time-tags {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 0;
  border-bottom: 1px solid #F9FAFB;
}

#vendor-store-times .store-time-tags:last-child { border-bottom: none; }

#vendor-store-times .store-days {
  font-size: .8rem;
  color: #6B7280;
  width: 90px;
  flex-shrink: 0;
}

#vendor-store-times .store-days.current_day {
  font-weight: 700;
  color: #6D28D9;
}

#vendor-store-times .store-times {
  font-size: .8rem;
  color: #374151;
}

#vendor-store-times .store-close {
  font-size: .72rem;
  font-weight: 700;
  color: #DC2626;
  background: #FEE2E2;
  padding: 2px 8px;
  border-radius: 99px;
}

/* Hide time range for closed days — only show the CLOSED badge */
#vendor-store-times .store-close ~ .store-open { display: none !important; }

#vendor-store-times .store-open.current_time {
  font-weight: 700;
  color: #059669;
}

.aw-vendor-hours-toggle {
  font-size: .75rem;
  color: #9CA3AF;
  display: inline-block;
  cursor: pointer;
}

/* Opening hours table */
.aw-hours-table {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.aw-hours-row {
  display: grid;
  grid-template-columns: 110px 52px 1fr;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  background: #F9FAFB;
  border-radius: 10px;
}

.aw-hours-day {
  font-size: .875rem;
  font-weight: 600;
  color: #374151;
}

/* Toggle switch */
.aw-hours-toggle {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  cursor: pointer;
}

.aw-hours-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }

.aw-hours-toggle__label {
  position: absolute;
  inset: 0;
  background: #D1D5DB;
  border-radius: 99px;
  transition: background .2s;
}

.aw-hours-toggle__label::after {
  content: '';
  position: absolute;
  left: 2px;
  top: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform .2s;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}

.aw-hours-toggle input:checked + .aw-hours-toggle__label { background: #6D28D9; }
.aw-hours-toggle input:checked + .aw-hours-toggle__label::after { transform: translateX(16px); }

.aw-hours-times {
  display: flex;
  align-items: center;
  gap: 8px;
  transition: opacity .15s;
}

.aw-hours-times input[type="time"] {
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 5px 8px;
  font-size: .825rem;
  color: #374151;
  background: #fff;
  width: 110px;
}

.aw-hours-times input[type="time"]:focus {
  outline: none;
  border-color: #6D28D9;
  box-shadow: 0 0 0 3px rgba(109,40,217,.1);
}

@media (max-width: 480px) {
  .aw-hours-row {
    grid-template-columns: 1fr 52px;
    grid-template-rows: auto auto;
  }
  .aw-hours-times { grid-column: 1 / -1; }
}

/* AwaOwn dashboard tile grid inside the /my-account endpoint */
html body.awaown-theme .awaown-ma-dashboard { padding: 0; }
html body.awaown-theme .awaown-ma-grid      { grid-template-columns: 1fr !important; }
@media (min-width: 560px) {
  html body.awaown-theme .awaown-ma-grid    { grid-template-columns: repeat(2, 1fr) !important; }
}

/* =================================================================
   SHOP PAGE — AW-CARD PRODUCT CARDS (.aw-card__*)
   Template: woocommerce/content-product-default.php
   ================================================================= */

/* Grid — override WooCommerce defaults on every shop/archive page,
   plus WC Blocks product grids (so the same aw-product-card layout applies). */
ul.products,
ul.wc-block-grid__products,
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 48px !important;
  float: none !important;
  width: 100% !important;
}
ul.products > li,
.wc-block-grid__products > li {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 1100px) {
  ul.products,
  .wc-block-grid__products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  ul.products,
  .wc-block-grid__products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}
@media (max-width: 480px) {
  ul.products,
  .wc-block-grid__products { grid-template-columns: repeat(1, 1fr) !important; gap: 12px !important; }
}

/* Card shell */
li.aw-product-card {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #F1F5F9 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
  transition: all 0.35s cubic-bezier(0.16,1,0.3,1) !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
li.aw-product-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 30px -8px rgba(109,40,217,0.14) !important;
  border-color: rgba(109,40,217,0.2) !important;
}

/* Image wrapper — framed inside card */
.aw-card__img-wrap,
li.aw-product-card .aw-card__img-wrap {
  position: relative !important;
  overflow: hidden !important;
  background: #F8FAFC !important;
  margin: 8px 8px 0 !important;
  border-radius: 14px !important;
  flex-shrink: 0 !important;
}
.aw-card__img-link {
  display: block !important;
}
.aw-card__img-wrap img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1) !important;
}
li.aw-product-card:hover .aw-card__img-wrap img {
  transform: scale(1.06) !important;
}

/* Sale / badge */
.aw-card-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.aw-card-badge--sale { background: #EDE9FE !important; color: #5B21B6 !important; }

/* Card body — prefixed for specificity over theme h2/p/a rules */
li.aw-product-card .aw-card__body {
  padding: 14px 16px 10px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Vendor / store name */
li.aw-product-card .aw-card__vendor,
li.aw-product-card .aw-card__vendor a {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  color: #9CA3AF !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  text-decoration: none !important;
  margin-bottom: 5px !important;
  display: block !important;
  line-height: 1.4 !important;
}
li.aw-product-card .aw-card__vendor a:hover { color: #6D28D9 !important; }

/* Product title — override any h2 theme rule */
li.aw-product-card h2.aw-card__title,
li.aw-product-card .aw-card__title {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  line-height: 1.4 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
li.aw-product-card .aw-card__title a {
  color: #1E293B !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
li.aw-product-card .aw-card__title a:hover { color: #6D28D9 !important; }

/* Price */
li.aw-product-card .aw-card__price {
  margin-top: auto !important;
  padding-top: 8px !important;
}
/* Stack sale price vertically: original on line 1, active price on line 2 */
li.aw-product-card .aw-card__price .price {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
li.aw-product-card .aw-card__price .price del {
  display: block !important;
  font-size: 0.8125rem !important;
  color: #9CA3AF !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}
li.aw-product-card .aw-card__price .price del .woocommerce-Price-amount,
li.aw-product-card .aw-card__price .price del .amount,
li.aw-product-card .aw-card__price .price del bdi {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  color: #9CA3AF !important;
}
li.aw-product-card .aw-card__price .price ins {
  display: block !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}
/* Active price amount */
li.aw-product-card .aw-card__price .woocommerce-Price-amount,
li.aw-product-card .aw-card__price .amount,
li.aw-product-card .aw-card__price bdi,
li.aw-product-card .aw-card__price .woocommerce-Price-currencySymbol {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #6D28D9 !important;
  letter-spacing: -0.02em !important;
}

/* Footer / Add to cart */
li.aw-product-card .aw-card__footer {
  padding: 10px 16px 16px !important;
}
li.aw-product-card .aw-card__footer .button,
li.aw-product-card .aw-card__footer a.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 11px 16px !important;
  background: #6D28D9 !important;
  border: none !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  line-height: 1.4 !important;
}
li.aw-product-card .aw-card__footer .button:hover,
li.aw-product-card .aw-card__footer a.button:hover {
  background: #5B21B6 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(109,40,217,0.25) !important;
}
/* Ensure button text / icon span is always visible */
li.aw-product-card .aw-card__footer .button span,
li.aw-product-card .aw-card__footer a.button span {
  color: #ffffff !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline !important;
}

/* =================================================================
   PRODUCT CARD — STAR RATING (always rendered)
   Works without .woocommerce parent — covers WC Blocks cart page too.
   ================================================================= */

/* Star container — font + dimensions, no .woocommerce parent needed */
li.aw-product-card .star-rating {
  font-family: "iNova" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  overflow: hidden !important;
  position: relative !important;
  display: inline-block !important;
  height: 1em !important;
  line-height: 1 !important;
  font-size: 0.875rem !important;
  width: 5em !important;
  vertical-align: middle !important;
}

/* Background (empty) stars */
li.aw-product-card .star-rating::before {
  content: "\ea03\ea03\ea03\ea03\ea03" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: #D1D5DB !important;
}

/* Filled-stars clip — uses width% inline style from WC */
li.aw-product-card .star-rating span {
  overflow: hidden !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  padding-top: 1.5em !important;
}
li.aw-product-card .star-rating span::before {
  content: "\ea03\ea03\ea03\ea03\ea03" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: #F59E0B !important;
}

/* Empty-star placeholder (0-review products — all stars gray) */
li.aw-product-card .star-rating-wrap--empty .star-rating::before {
  color: #D1D5DB !important;
}
li.aw-product-card .star-rating-wrap--empty .star-rating span::before {
  color: #D1D5DB !important;
}

/* Keep consistent vertical space whether rated or not */
li.aw-product-card .star-rating-wrap {
  margin-bottom: 8px !important;
  display: block !important;
}

/* =================================================================
   CART EMPTY PAGE
   Template: woocommerce/cart/cart-empty.php
   ================================================================= */

.awaown-cart-empty {
  text-align: center;
  padding: 64px 20px 40px;
}
.awaown-cart-empty__icon {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: #F5F3FF;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  color: #6D28D9;
}
.awaown-cart-empty__heading {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 0 10px !important;
}
.awaown-cart-empty__sub {
  color: #6B7280;
  max-width: 400px;
  margin: 0 auto 24px;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.awaown-cart-empty-suggestions {
  padding: 0 0 48px;
}
.awaown-cart-empty-suggestions__heading {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  text-align: center;
}

/* =================================================================
   HOMEPAGE — NEW & POPULAR PRODUCT CARDS (.awaown-product-card)
   Used in page-home.php "New & popular" section.
   ================================================================= */

/* Grid wrapper */
.awaown-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0 0 8px;
}
@media (max-width: 1024px) {
  .awaown-product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .awaown-product-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* Card shell */
.awaown-product-card {
  background: #ffffff;
  border: 1px solid #F1F5F9;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: all 0.35s cubic-bezier(0.16,1,0.3,1);
}
.awaown-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 30px -8px rgba(109,40,217,0.14);
  border-color: rgba(109,40,217,0.2);
}
.awaown-product-card.out-of-stock { opacity: 0.7; }

/* Image area — framed inside the card */
.awaown-product-card__image {
  position: relative;
  background: #F8FAFC;
  overflow: hidden;
  margin: 8px 8px 0;
  border-radius: 14px;
  flex-shrink: 0;
  aspect-ratio: 4 / 3;
}
.awaown-product-card__image a {
  display: block;
  height: 100%;
}
.awaown-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.awaown-product-card:hover .awaown-product-card__image img {
  transform: scale(1.06);
}

/* Sale / low-stock badges */
.awaown-product-card__badges {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  z-index: 1;
}

/* Card body */
.awaown-product-card__body {
  padding: 14px 16px 10px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Vendor / store name */
.awaown-product-card__vendor {
  font-size: 0.68rem;
  font-weight: 700;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 5px;
}

/* Product title — override any theme h3 size */
.awaown-product-card__name,
.awaown-product-card__name h3 {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  line-height: 1.4 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.awaown-product-card__name a {
  color: #1E293B !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.awaown-product-card__name a:hover {
  color: #6D28D9 !important;
}

/* Price */
.awaown-product-card__price-row {
  margin-top: auto;
  padding-top: 6px;
}
.awaown-product-card__price,
.awaown-product-card__price .amount,
.awaown-product-card__price bdi,
.awaown-product-card__price .woocommerce-Price-currencySymbol {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #6D28D9 !important;
  letter-spacing: -0.02em !important;
}

/* Card footer / Add-to-cart */
.awaown-product-card__footer {
  padding: 10px 16px 16px;
}
.awaown-product-card__footer .add-to-cart-btn {
  display: block;
  width: 100%;
  padding: 11px 16px;
  background: transparent;
  border: 2px solid #6D28D9;
  border-radius: 12px;
  color: #6D28D9 !important;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
  line-height: 1.4;
}
.awaown-product-card__footer .add-to-cart-btn:hover {
  background: #6D28D9;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(109,40,217,0.25);
}
.awaown-product-card__footer .add-to-cart-btn[disabled],
.awaown-product-card__footer .add-to-cart-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  border-color: #D1D5DB;
  color: #9CA3AF !important;
  pointer-events: none;
}

/* ── Continue Shopping button ─────────────────────────────────────────────── */
.aw-continue-shopping-wrap {
  display: block;
  width: 100%;
  text-align: center;
  padding: 8px 0 2px;
}
.aw-continue-shopping {
  display: inline-block;
  width: 100%;
  text-align: center;
}
