/**
 * /items/ shop archive styles, enqueued on is_shop() and is_product_category().
 *
 * Design tokens are defined here in addition to the global theme stylesheet,
 * so dark mode works even if the parent theme hasn't yet wired the tokens
 * across the rest of the site.
 */

/* ============================================================
   DESIGN TOKENS, light + dark
   ============================================================ */
:root,
:root[data-theme="light"]{
  --bg:#FFFFFF; --bg-2:#F7F4ED; --bg-3:#EFEAE0;
  --bg-card:#FFFFFF; --bg-card-2:#FBF8F2;
  --line:#E5E0D5; --line-2:#D2CCBC; --line-3:#BDB6A4;
  --text:#0F1419; --text-2:#2A3344; --text-3:#56607A; --muted:#8B92A0;
}
:root[data-theme="dark"]{
  --bg:#0A0E1A; --bg-2:#141929; --bg-3:#1B2236;
  --bg-card:#141929; --bg-card-2:#1B2236;
  --line:#252B3D; --line-2:#363E55; --line-3:#4A5470;
  --text:#FFF8F0; --text-2:rgba(255,248,240,.85); --text-3:rgba(255,248,240,.65); --muted:rgba(255,248,240,.45);
}

/* ============================================================
   HERO
   ============================================================ */
.it-hero{padding:96px 0 56px;position:relative;overflow:hidden;text-align:center}
.it-hero .wrap{max-width:880px;position:relative}
.it-hero-eyebrow{margin-bottom:16px}
.it-hero h1{margin-bottom:20px}
.it-hero-lede{font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:var(--text-2,#2A3344);max-width:58ch;margin:0 auto 28px}
.it-hero-lede strong{color:var(--text,#0F1419);font-weight:700}

.it-hero-stats{display:inline-flex;gap:24px;flex-wrap:wrap;justify-content:center;padding:14px 24px;background:var(--bg-2,#F7F4ED);border:1px solid var(--line,#E5E0D5);border-radius:99px;font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:13px;font-weight:600;color:var(--text-2,#2A3344)}
.it-hero-stats .v{color:var(--purple,#8A63CD);font-weight:800}
[data-theme="dark"] .it-hero-stats .v{color:var(--purple-light,#A88AE0)}
.it-hero-stats .dot{width:4px;height:4px;border-radius:50%;background:var(--line-2,#D2CCBC);align-self:center;display:inline-block}
@media(max-width:560px){.it-hero-stats{gap:14px;padding:12px 18px;font-size:12px}}

/* Atmosphere blobs */
.blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:-1}
.blob-1{width:520px;height:520px;background:#8A63CD;top:-180px;right:-120px;opacity:.16;animation:blob-drift-1 22s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.blob-2{width:380px;height:380px;background:#3847D3;bottom:-160px;left:-100px;opacity:.10;animation:blob-drift-2 26s cubic-bezier(.45,.05,.55,.95) infinite alternate}
[data-theme="dark"] .blob-1{opacity:.28}
[data-theme="dark"] .blob-2{opacity:.18}
@keyframes blob-drift-1{from{transform:translate(0,0)}to{transform:translate(-60px,40px)}}
@keyframes blob-drift-2{from{transform:translate(0,0)}to{transform:translate(50px,-30px)}}
@media(max-width:760px){.blob{display:none}}

/* ============================================================
   CATALOG, filter pills + grid
   ============================================================ */
.it-catalog{padding:24px 0 96px;position:relative}
.it-catalog .wrap{max-width:1280px}

.it-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:48px;padding:0 8px}
.it-filter-btn{font-family:var(--font-sans,'Inter',sans-serif);font-size:13px;font-weight:700;letter-spacing:-0.005em;padding:9px 16px;border-radius:99px;background:var(--bg-card,#FFFFFF);border:1px solid var(--line,#E5E0D5);color:var(--text-2,#2A3344);transition:all .2s;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.it-filter-btn:hover{border-color:var(--purple,#8A63CD);color:var(--purple,#8A63CD)}
[data-theme="dark"] .it-filter-btn:hover{color:var(--purple-light,#A88AE0)}
.it-filter-btn.active{background:linear-gradient(135deg,#8A63CD 0%,#3847D3 100%);color:#FFF;border-color:transparent;box-shadow:0 18px 60px -18px rgba(56,71,211,.40),0 8px 24px -8px rgba(138,99,205,.35)}
.it-filter-btn .count{font-family:var(--font-mono,'JetBrains Mono',monospace);font-weight:600;opacity:.6;font-size:11px}
.it-filter-btn.active .count{opacity:.75}

.it-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:980px){.it-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.it-grid{grid-template-columns:1fr}}

.it-empty{text-align:center;font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:13px;color:var(--text-3,#56607A);padding:48px 0}

/* Plugin card. Icon tile has no colored gradient now; product image fills it. */
.it-card{background:var(--bg-card,#FFFFFF);border:1px solid var(--line,#E5E0D5);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s,border-color .2s;text-decoration:none;color:inherit;position:relative;overflow:hidden;min-height:280px}
.it-card:hover{transform:translateY(-3px);border-color:var(--purple,#8A63CD);box-shadow:0 4px 12px rgba(15,20,25,.08),0 12px 30px rgba(15,20,25,.06)}

.it-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.it-card-ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;background:var(--bg-2,#F7F4ED)}
.it-card-ic svg{width:24px;height:24px;color:var(--text-3,#56607A)}
.it-card-ic .it-card-img,.it-card-ic img{width:48px;height:48px;object-fit:cover;display:block;border-radius:12px}

.it-card-pill{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:var(--bg-2,#F7F4ED);color:var(--text-3,#56607A);border:1px solid var(--line,#E5E0D5);white-space:nowrap}

.it-card-name{font-size:17px;font-weight:800;color:var(--text,#0F1419);letter-spacing:-0.02em;line-height:1.2;margin-top:2px;font-family:var(--font-sans,'Inter',sans-serif)}
.it-card-tag{font-size:13.5px;color:var(--text-3,#56607A);line-height:1.55;margin:0;flex:1}

.it-card-meta{display:flex;align-items:center;gap:10px;font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:11px;color:var(--text-3,#56607A);font-weight:600;letter-spacing:.02em}
.it-card-meta .rating{display:inline-flex;align-items:center;gap:3px;color:var(--text-2,#2A3344)}
.it-card-meta .rating svg{width:11px;height:11px;color:#FFB400}

.it-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;border-top:1px dashed var(--line-2,#D2CCBC);margin-top:auto}
.it-card-price{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:12px;font-weight:700;color:var(--text-2,#2A3344);letter-spacing:0}
.it-card-price .v{color:var(--text,#0F1419);font-weight:800}
.it-card-price .v .woocommerce-Price-amount{color:inherit;font-weight:inherit}
.it-card-price .v .woocommerce-Price-currencySymbol{font-weight:inherit}

/* All Access card price override. The cheapest yearly variation ($249/yr) is
   renewal-only and no longer sold, so the live "From $249.00/yr" is misleading.
   We keep the product listed (for renewals) but relabel the price to the
   lifetime offer. The card is uniquely tagged data-cat="all-access". Pure CSS:
   collapse the real price text, then paint the replacement via pseudo-elements
   so no PHP template change is needed. */
.it-card[data-cat="all-access"] .it-card-price{font-size:0}
.it-card[data-cat="all-access"] .it-card-price::before{content:"From ";font-size:12px;font-weight:700;color:rgba(255,248,240,.75)}
.it-card[data-cat="all-access"] .it-card-price::after{content:"$499, Lifetime";font-size:12px;font-weight:800;color:#FFF8F0}

/* All Access card: dark navy treatment so the flagship bundle stands out from
   the plugin grid. Colors mirror the .it-aa band (#0F1A3F) for consistency, and
   inner text/pill/dividers are re-tinted for legibility on the dark surface.
   Same for light and dark site themes, this card is always dark on purpose. */
.it-card[data-cat="all-access"]{background:linear-gradient(160deg,#141C3D 0%,#0F1A3F 100%);border-color:#2A356B;box-shadow:0 18px 50px -20px rgba(56,71,211,.55)}
.it-card[data-cat="all-access"]:hover{border-color:#8A63CD;box-shadow:0 22px 60px -18px rgba(138,99,205,.6)}
.it-card[data-cat="all-access"] .it-card-ic{background:rgba(255,255,255,.08)}
.it-card[data-cat="all-access"] .it-card-pill{background:linear-gradient(135deg,#8A63CD 0%,#3847D3 100%);color:#FFF;border-color:transparent}
.it-card[data-cat="all-access"] .it-card-name{color:#FFF8F0}
.it-card[data-cat="all-access"] .it-card-tag{color:rgba(255,248,240,.70)}
.it-card[data-cat="all-access"] .it-card-meta{color:rgba(255,248,240,.65)}
.it-card[data-cat="all-access"] .it-card-meta .rating{color:rgba(255,248,240,.85)}
.it-card[data-cat="all-access"] .it-card-foot{border-top-color:rgba(255,248,240,.20)}
.it-card[data-cat="all-access"] .it-card-go{color:#A88AE0}
.it-card-go{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:11px;font-weight:700;color:var(--purple,#8A63CD);letter-spacing:.06em;text-transform:uppercase;transition:gap .2s}
[data-theme="dark"] .it-card-go{color:var(--purple-light,#A88AE0)}
.it-card:hover .it-card-go{gap:9px}

/* ============================================================
   WC PAGINATION, aggressive overrides for parent-theme styles
   ============================================================ */
.woocommerce-pagination,
nav.woocommerce-pagination{
  margin:48px 0 0 !important;
  padding:0 !important;
  text-align:center !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  float:none !important;
  clear:both !important;
  border:0 !important;
}
.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  justify-content:center !important;
  align-items:center !important;
  border:0 !important;
  background:transparent !important;
  float:none !important;
}
.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  width:auto !important;
  height:auto !important;
  line-height:1 !important;
}
.woocommerce-pagination ul li > *,
.woocommerce-pagination ul.page-numbers li > *{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:40px !important;
  height:40px !important;
  padding:0 12px !important;
  margin:0 !important;
  line-height:1 !important;
  border-radius:10px !important;
  background:var(--bg-card,#FFFFFF) !important;
  border:1px solid var(--line,#E5E0D5) !important;
  font-family:var(--font-mono,'JetBrains Mono',monospace) !important;
  font-size:13px !important;
  font-weight:700 !important;
  color:var(--text-2,#2A3344) !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:all .2s !important;
}
.woocommerce-pagination ul li > a:hover,
.woocommerce-pagination ul.page-numbers li > a:hover{
  border-color:var(--purple,#8A63CD) !important;
  color:var(--purple,#8A63CD) !important;
  transform:translateY(-1px);
}
[data-theme="dark"] .woocommerce-pagination ul.page-numbers li > a:hover{color:var(--purple-light,#A88AE0) !important}
/* Active page, white text on purple gradient */
.woocommerce-pagination ul li > .current,
.woocommerce-pagination ul li > span.current,
.woocommerce-pagination ul li > a.current,
.woocommerce-pagination ul.page-numbers li > .current,
.woocommerce-pagination ul.page-numbers li > span.current,
.woocommerce-pagination ul.page-numbers li > a.current{
  background:linear-gradient(135deg,#8A63CD 0%,#3847D3 100%) !important;
  color:#FFFFFF !important;
  border-color:transparent !important;
  box-shadow:0 8px 24px -10px rgba(138,99,205,.5) !important;
}
.woocommerce-pagination ul.page-numbers li > .dots,
.woocommerce-pagination ul.page-numbers li > span.dots{
  background:transparent !important;
  border:0 !important;
  color:var(--text-3,#56607A) !important;
}

/* ============================================================
   ALL ACCESS, big band, FULL-BLEED
   ============================================================ */
.it-aa{
  background:#0F1A3F;
  color:#FFF;
  position:relative;
  overflow:hidden;
  border-top:1px solid #1A2654;
  border-bottom:1px solid #1A2654;
  padding:96px 0;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
@media(max-width:980px){.it-aa{padding:72px 0}}
@media(max-width:560px){.it-aa{padding:56px 0}}
.it-aa::before{content:"";position:absolute;top:-30%;right:-10%;width:55vw;height:55vw;max-width:760px;max-height:760px;background:radial-gradient(circle,rgba(138,99,205,.30) 0%,rgba(56,71,211,.18) 40%,transparent 70%);border-radius:50%;filter:blur(60px);pointer-events:none}
.it-aa::after{content:"";position:absolute;bottom:-30%;left:-10%;width:50vw;height:50vw;max-width:680px;max-height:680px;background:radial-gradient(circle,rgba(56,71,211,.25) 0%,rgba(138,99,205,.12) 40%,transparent 70%);border-radius:50%;filter:blur(60px);pointer-events:none}
.it-aa .wrap{max-width:1100px;position:relative;z-index:1;margin:0 auto;padding:0 24px}
.it-aa-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
@media(max-width:980px){.it-aa-grid{grid-template-columns:1fr;gap:40px;text-align:center}}

.it-aa-kicker{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#A88AE0;margin-bottom:14px;display:block}
.it-aa h2{color:#FFF;margin-bottom:18px;font-family:var(--font-sans,'Inter',sans-serif);font-size:clamp(28px,3.4vw,44px);font-weight:900;letter-spacing:-0.035em;line-height:1.08}
.it-aa h2 .em{background:linear-gradient(120deg,#C9B5EE 0%,#5969E5 60%,#FFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:900}
.it-aa-lede{font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:rgba(255,248,240,.78);max-width:54ch;margin:0 0 28px}
@media(max-width:980px){.it-aa-lede{margin-inline:auto}}
.it-aa-lede strong{color:#FFF;font-weight:700}

.it-aa-ctas{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:980px){.it-aa-ctas{justify-content:center}}
.it-aa-ghost{color:rgba(255,248,240,.85) !important;border-color:rgba(255,248,240,.25) !important}
.it-aa-ghost:hover{color:#FFF !important;border-color:#A88AE0 !important}

.it-aa-price-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,248,240,.14);border-radius:20px;padding:32px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.it-aa-price-card .label{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#A88AE0;margin-bottom:10px;display:block}
.it-aa-price{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.it-aa-price .currency{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:24px;font-weight:700;color:rgba(255,248,240,.7)}
.it-aa-price .amt{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:64px;font-weight:900;color:#FFF;letter-spacing:-0.04em;line-height:1}
.it-aa-price .per{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:13px;font-weight:600;color:rgba(255,248,240,.7);margin-left:4px}
.it-aa-price-sub{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:12px;color:rgba(255,248,240,.65);letter-spacing:.02em;margin-bottom:18px}
.it-aa-feat{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.it-aa-feat li{font-size:13.5px;color:rgba(255,248,240,.88);line-height:1.45;display:flex;align-items:flex-start;gap:8px}
.it-aa-feat li svg{width:14px;height:14px;color:#A88AE0;flex-shrink:0;margin-top:2px}

/* ============================================================
   WBW FAMILY, FULL-BLEED
   ============================================================ */
.it-wbw{
  background:var(--bg-2,#F7F4ED);
  border-top:1px solid var(--line,#E5E0D5);
  border-bottom:1px solid var(--line,#E5E0D5);
  padding:96px 0;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
@media(max-width:980px){.it-wbw{padding:72px 0}}
@media(max-width:560px){.it-wbw{padding:56px 0}}
.it-wbw .wrap{max-width:1180px;margin:0 auto;padding:0 24px}

.it-wbw-head{max-width:680px;margin:0 auto 48px;text-align:center}
.it-wbw-head h2{margin-top:10px;font-family:var(--font-sans,'Inter',sans-serif);font-size:clamp(28px,3.4vw,44px);font-weight:900;letter-spacing:-0.035em;line-height:1.08;color:var(--text,#0F1419)}
.it-wbw-head .lede{margin:14px auto 0;font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:var(--text-2,#2A3344);max-width:60ch}
.it-wbw-head .wmark{display:inline-flex;align-items:baseline;gap:0;font-family:var(--font-mono,'JetBrains Mono',monospace);font-weight:900;font-size:18px;letter-spacing:-0.03em;color:var(--text-3,#56607A);margin-bottom:8px}
.it-wbw-head .wmark .accent{color:var(--purple,#8A63CD)}
[data-theme="dark"] .it-wbw-head .wmark .accent{color:var(--purple-light,#A88AE0)}

.it-wbw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px}
@media(max-width:760px){.it-wbw-grid{grid-template-columns:1fr}}

.it-wbw-card{background:var(--bg-card,#FFFFFF);border:1px solid var(--line,#E5E0D5);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .25s,box-shadow .25s,border-color .2s;text-decoration:none;color:inherit;min-height:200px}
.it-wbw-card:hover{transform:translateY(-3px);border-color:var(--purple,#8A63CD);box-shadow:0 4px 12px rgba(15,20,25,.08),0 12px 30px rgba(15,20,25,.06)}
.it-wbw-card .ic{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,rgba(138,99,205,.15) 0%,rgba(56,71,211,.15) 100%);color:var(--purple,#8A63CD);display:grid;place-items:center;flex-shrink:0}
[data-theme="dark"] .it-wbw-card .ic{color:var(--purple-light,#A88AE0)}
.it-wbw-card .ic svg{width:20px;height:20px}
.it-wbw-card .name{font-size:16px;font-weight:800;color:var(--text,#0F1419);letter-spacing:-0.015em;line-height:1.2;font-family:var(--font-sans,'Inter',sans-serif)}
.it-wbw-card .tag{font-size:13px;color:var(--text-3,#56607A);line-height:1.55;margin:0;flex:1}
.it-wbw-card .foot{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:11px;font-weight:700;color:var(--purple,#8A63CD);letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--line-2,#D2CCBC);transition:gap .2s}
[data-theme="dark"] .it-wbw-card .foot{color:var(--purple-light,#A88AE0)}
.it-wbw-card:hover .foot{gap:9px}

.it-wbw-bundle{background:var(--bg-card,#FFFFFF);border:1px solid var(--line,#E5E0D5);border-radius:20px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
@media(max-width:760px){.it-wbw-bundle{grid-template-columns:1fr;text-align:center;gap:20px;padding:24px}}
.it-wbw-bundle .label{font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--purple,#8A63CD);margin-bottom:8px;display:block}
[data-theme="dark"] .it-wbw-bundle .label{color:var(--purple-light,#A88AE0)}
.it-wbw-bundle h3{font-family:var(--font-sans,'Inter',sans-serif);font-size:clamp(20px,2.2vw,26px);margin:0 0 8px;letter-spacing:-0.02em;font-weight:800;color:var(--text,#0F1419);line-height:1.2}
.it-wbw-bundle p{font-size:14.5px;color:var(--text-3,#56607A);line-height:1.55;margin:0;max-width:60ch}
.it-wbw-bundle .ctas{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.it-wbw-bundle .ctas{justify-content:center}}

/* ============================================================
   HELP NUDGE
   ============================================================ */
.it-help{text-align:center;padding:96px 0}
@media(max-width:980px){.it-help{padding:72px 0}}
@media(max-width:560px){.it-help{padding:56px 0}}
.it-help .wrap{max-width:680px;margin:0 auto;padding:0 24px}
.it-help h2{margin:8px 0 14px;font-family:var(--font-sans,'Inter',sans-serif);font-size:clamp(24px,2.6vw,34px);font-weight:900;letter-spacing:-0.03em;color:var(--text,#0F1419);line-height:1.1}
.it-help p{font-size:15.5px;color:var(--text-3,#56607A);line-height:1.6;max-width:50ch;margin:0 auto 24px}
