/*
Theme Name: CREATROVE
Theme URI: https://creatrove.com/
Author: CREATROVE
Description: Marketing and account-shell theme for the CREATROVE creator operations platform.
Version: 1.1.6
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: creatrove
*/

:root {
  --color-brand-primary: #ff22e6;
  --color-brand-secondary: #d93cff;
  --color-brand-accent: #7b3cff;
  --color-brand-support: #3a58ff;
  --color-surface-dark: #0a0e1e;
  --color-surface-deep: #060914;
  --color-surface-light: #f8f9ff;
  --color-surface-tint: #f1efff;
  --color-text: #101327;
  --color-text-inverse: #f8f9ff;
  --color-text-muted: #a1a7b8;
  --color-border-dark: rgba(123, 60, 255, .28);
  --color-border-light: #e4e6f0;
  --color-success: #35d39a;
  --color-warning: #ffb84d;
  --color-danger: #ff5d73;
  --gradient-brand: linear-gradient(110deg, #ff22e6 0%, #d93cff 45%, #7b3cff 100%);
  --font-display: "Space Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;
  --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-8: 48px; --space-10: 64px;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-xl: 24px;
  --content-max: 1240px; --header-h: 76px;
  --shadow-sm: 0 10px 30px rgba(10, 14, 30, .08);
  --shadow-md: 0 22px 70px rgba(5, 7, 18, .18);
  --glow: 0 0 36px rgba(217, 60, 255, .24);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-ui); color: var(--color-text); background: var(--color-surface-light); line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--color-brand-accent); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { clip: auto; width: auto; height: auto; margin: 8px; padding: 12px 16px; z-index: 9999; background: #fff; color: #111; }
.container { width: min(calc(100% - 40px), var(--content-max)); margin-inline: auto; }
.section { padding: 108px 0; }
.section--dark { color: var(--color-text-inverse); background: var(--color-surface-dark); }
.section--tint { background: var(--color-surface-tint); }
.eyebrow { margin: 0 0 16px; color: var(--color-brand-accent); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.section--dark .eyebrow { color: #ef8cff; }
.display { margin: 0; font: 700 clamp(42px, 6vw, 72px)/.98 var(--font-display); letter-spacing: -.055em; }
.title { margin: 0; font: 700 clamp(32px, 4vw, 52px)/1.08 var(--font-display); letter-spacing: -.04em; }
.lead { max-width: 680px; margin: 22px 0 0; color: #555c70; font-size: clamp(17px, 2vw, 20px); line-height: 1.65; }
.section--dark .lead, .hero .lead { color: #bdc2d2; }
.gradient-text { color: #ee44f0; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 50; color: #fff; }
.creatrove-site:not(.home) .site-header { background: var(--color-surface-deep); }
.site-header.is-stuck { position: fixed; background: rgba(6, 9, 20, .9); border-bottom: 1px solid var(--color-border-dark); backdrop-filter: blur(18px); animation: header-in .2s ease-out; }
@keyframes header-in { from { transform: translateY(-100%); } }
.header-inner { min-height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 800 20px/1 var(--font-display); letter-spacing: .03em; }
.brand img { width: 34px; height: 34px; }
.brand--lockup img { width: 205px; height: auto; }
.footer-brand .brand--lockup img { width: 240px; }
.brand--lockup .theme-logo { width: 240px; height: auto; }
.brand--lockup .theme-logo--light { display: none; }
:root[data-theme="light"] .brand--lockup .theme-logo--dark { display: none; }
:root[data-theme="light"] .brand--lockup .theme-logo--light { display: block; }
:root[data-theme="dark"] .brand--lockup .theme-logo--dark { display: block; }
:root[data-theme="dark"] .brand--lockup .theme-logo--light { display: none; }
.brand--header { gap: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: 900; letter-spacing: -.02em; }
.brand--header img { width: 42px; height: 42px; filter: drop-shadow(0 0 8px rgba(255,34,230,.32)); }
.site-nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 600; }
.site-nav li { display: contents; }
.site-nav a:not(.button) { color: #c7cada; transition: color .12s ease-out; }
.site-nav a:not(.button):hover { color: #fff; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--color-border-dark); border-radius: 12px; background: transparent; color: #fff; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after { content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; transition: .2s; }

.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border: 1px solid transparent; border-radius: var(--radius-md); font-size: 14px; font-weight: 750; cursor: pointer; transition: transform .12s ease-out, border-color .12s, background .12s; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(.98); }
.button--primary { color: #fff; background: var(--gradient-brand); box-shadow: 0 10px 34px rgba(217, 60, 255, .28); }
.button--secondary { color: #fff; border-color: rgba(162, 126, 255, .55); background: rgba(123,60,255,.08); }
.button--light { color: var(--color-text); border-color: var(--color-border-light); background: #fff; }
.button--small { min-height: 40px; padding-inline: 17px; }

.hero { min-height: 860px; display: grid; align-items: center; position: relative; overflow: hidden; color: #fff; background: var(--color-surface-deep); padding: 152px 0 90px; }
.hero::before { content: ""; position: absolute; width: 900px; height: 520px; right: -240px; top: 35px; border: 1px solid rgba(255,34,230,.28); border-radius: 50%; transform: rotate(-20deg); box-shadow: 0 0 90px rgba(123,60,255,.15), inset 0 0 50px rgba(255,34,230,.08); }
.hero::after { content: ""; position: absolute; width: 520px; height: 520px; right: 7%; top: 17%; background: radial-gradient(circle, rgba(255,34,230,.2), transparent 55%); filter: blur(12px); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 64px; align-items: center; position: relative; z-index: 1; }
.hero-copy { max-width: 610px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; padding: 7px 12px; border: 1px solid rgba(123,60,255,.4); border-radius: 999px; background: rgba(123,60,255,.08); color: #dad5ff; font-size: 12px; font-weight: 700; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--color-success); box-shadow: 0 0 12px var(--color-success); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-note { margin: 18px 0 0; color: #858ba1; font-size: 12px; }

.product-stage { position: relative; perspective: 1200px; }
.product-window { overflow: hidden; display: grid; grid-template-columns: 190px 1fr; min-height: 520px; border: 1px solid rgba(123,60,255,.38); border-radius: 22px; color: #f8f9ff; background: #0e1328; box-shadow: 0 35px 90px rgba(0,0,0,.5), 0 0 80px rgba(123,60,255,.13); transform: rotateY(var(--pointer-x, -3deg)) rotateX(var(--pointer-y, 1deg)); transition: transform .22s cubic-bezier(.2,.8,.2,1); }
.app-rail { padding: 18px 13px; border-right: 1px solid rgba(123,60,255,.22); background: #090d1c; }
.app-brand { display: flex; align-items: center; gap: 8px; margin: 0 8px 28px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.app-brand img { width: 27px; }
.rail-label { margin: 18px 9px 8px; color: #676e84; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rail-item { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 9px; color: #9298ad; font-size: 12px; }
.rail-item.active { color: #fff; background: linear-gradient(90deg, rgba(123,60,255,.45), rgba(123,60,255,.08)); }
.rail-dot { width: 8px; height: 8px; border: 2px solid currentColor; border-radius: 50%; }
.rail-badge { margin-left: auto; min-width: 18px; padding: 2px 5px; border-radius: 99px; color: #fff; background: #7b3cff; font-size: 9px; text-align: center; }
.app-main { padding: 22px; color: #f8f9ff; }
.app-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.app-title { font: 700 22px/1.1 var(--font-display); }
.mode-badge { padding: 6px 9px; border: 1px solid rgba(217,60,255,.3); border-radius: 99px; color: #eca8ff; background: rgba(217,60,255,.08); font-size: 10px; font-weight: 700; }
.queue-card { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; margin-bottom: 10px; padding: 14px; border: 1px solid rgba(123,60,255,.2); border-radius: 13px; background: #131831; }
.queue-card.warning { border-color: rgba(255,184,77,.38); background: linear-gradient(100deg, rgba(255,184,77,.08), #131831 40%); }
.queue-card.featured { border-color: rgba(255,34,230,.4); box-shadow: inset 3px 0 0 #ff22e6; }
.queue-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: #d4c5ff; background: rgba(123,60,255,.16); }
.queue-name { font-size: 13px; font-weight: 700; }
.queue-meta { margin-top: 3px; color: #81889e; font-size: 10px; }
.queue-time { color: #e4e6ef; font-size: 10px; text-align: right; }
.quick-dock { display: flex; gap: 8px; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(123,60,255,.16); }
.quick-action { flex: 1; padding: 10px 6px; border: 1px solid rgba(123,60,255,.26); border-radius: 10px; color: #b9bdd0; background: rgba(123,60,255,.07); font-size: 10px; text-align: center; }
.floating-stat { position: absolute; right: -20px; bottom: -30px; width: 190px; padding: 16px; border: 1px solid rgba(255,34,230,.35); border-radius: 16px; background: rgba(13,17,35,.94); box-shadow: var(--glow); }
.floating-stat strong { display: block; font: 700 26px/1 var(--font-display); }
.floating-stat span { color: #9da3b7; font-size: 10px; }

.proof { position: relative; z-index: 2; margin-top: -38px; }
.proof-inner { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--color-border-light); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
.proof-item { padding: 26px; border-right: 1px solid var(--color-border-light); }
.proof-item:last-child { border: 0; }
.proof-item strong { display: block; font: 700 16px var(--font-display); }
.proof-item span { color: #687084; font-size: 13px; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 52px; }
.section-head .lead { max-width: 520px; margin: 0; }
.problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.problem-card { padding: 30px; border: 1px solid var(--color-border-light); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.number { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 46px; border-radius: 12px; color: var(--color-brand-accent); background: #f0ebff; font-weight: 800; }
.problem-card h3, .feature-card h3 { margin: 0 0 10px; font: 700 21px var(--font-display); }
.problem-card p, .feature-card p { margin: 0; color: #697085; line-height: 1.65; }

.workflow-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.feature-card { min-height: 280px; position: relative; overflow: hidden; padding: 30px; border: 1px solid var(--color-border-dark); border-radius: var(--radius-xl); background: #10152a; }
.feature-card:nth-child(1), .feature-card:nth-child(2) { grid-column: span 6; }
.feature-card:nth-child(n+3) { grid-column: span 4; min-height: 230px; }
.feature-card p { max-width: 440px; color: #9299ad; }
.feature-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 40px; border: 1px solid rgba(217,60,255,.34); border-radius: 14px; color: #f184ff; background: rgba(217,60,255,.08); font-size: 23px; }
.feature-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -80px; bottom: -90px; border: 1px solid rgba(217,60,255,.22); border-radius: 50%; box-shadow: 0 0 45px rgba(123,60,255,.12); }

.mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mode-card { padding: 38px; border: 1px solid var(--color-border-light); border-radius: var(--radius-xl); background: #fff; }
.mode-card--smart { color: #fff; border-color: var(--color-border-dark); background: var(--color-surface-dark); box-shadow: var(--glow); }
.mode-tag { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 54px; padding: 7px 10px; border-radius: 99px; color: #3a58ff; background: #edf0ff; font-size: 11px; font-weight: 800; }
.mode-card--smart .mode-tag { color: #f09dff; background: rgba(217,60,255,.1); }
.mode-card h3 { margin: 0 0 12px; font: 700 28px var(--font-display); }
.mode-card p { color: #686f82; }
.mode-card--smart p { color: #9fa5b7; }
.check-list { padding: 0; margin: 25px 0 0; list-style: none; }
.check-list li { position: relative; padding: 9px 0 9px 28px; }
.check-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--color-success); font-weight: 900; }

.audience-tabs { display: flex; gap: 8px; width: max-content; margin-bottom: 32px; padding: 5px; border-radius: 13px; background: #e9e7f3; }
.audience-tab { padding: 11px 20px; border: 0; border-radius: 9px; color: #646b7d; background: transparent; font-weight: 700; cursor: pointer; }
.audience-tab.active { color: #fff; background: var(--color-surface-dark); }
.audience-panel { display: none; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; }
.audience-panel.active { display: grid; }
.audience-panel h3 { margin: 0 0 16px; font: 700 38px/1.1 var(--font-display); letter-spacing: -.03em; }
.audience-visual { padding: 28px; border: 1px solid var(--color-border-light); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-md); }
.mini-row { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; margin: 10px 0; padding: 13px; border-radius: 12px; background: #f6f5fb; }
.avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gradient-brand); font-size: 12px; font-weight: 800; }
.mini-row strong, .mini-row small { display: block; }
.mini-row small { color: #7a8092; }
.status { font-size: 11px; font-weight: 700; }
.status--good { color: #168b64; } .status--warn { color: #b36d00; }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 56px; counter-reset: step; }
.step { position: relative; padding-right: 50px; }
.step:not(:last-child)::after { content: ""; position: absolute; top: 24px; right: 16px; width: 36px; height: 1px; background: linear-gradient(90deg, #7b3cff, #ff22e6); }
.step::before { counter-increment: step; content: "0" counter(step); display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 24px; border: 1px solid rgba(217,60,255,.35); border-radius: 14px; color: #f18cff; background: rgba(217,60,255,.08); font-weight: 800; }
.step h3 { margin: 0 0 8px; font: 700 19px var(--font-display); }
.step p { color: #969caf; }

.pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }
.price-card { position: relative; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--color-border-light); border-radius: var(--radius-lg); background: #fff; }
.price-card--featured { color: #fff; border-color: #9d51ff; background: #11152a; box-shadow: 0 0 0 1px rgba(255,34,230,.18), var(--glow); transform: translateY(-8px); }
.price-card--studio { color: #fff; border-color: #283052; background: #090d1c; }
.recommend { position: absolute; top: -13px; left: 24px; padding: 5px 10px; border-radius: 99px; color: #fff; background: var(--gradient-brand); font-size: 10px; font-weight: 800; }
.plan-name { font: 700 20px var(--font-display); }
.price { margin: 20px 0 5px; font: 700 34px var(--font-display); letter-spacing: -.04em; }
.price small { color: #8b91a3; font: 500 12px var(--font-ui); letter-spacing: 0; }
.plan-copy { min-height: 62px; color: #747b8d; font-size: 13px; }
.price-card--featured .plan-copy, .price-card--studio .plan-copy { color: #979daf; }
.price-card .check-list { flex: 1; font-size: 13px; }
.price-card .button { margin-top: 22px; }

.security-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.security-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.security-item { padding: 22px; border: 1px solid var(--color-border-dark); border-radius: 14px; background: #11162c; }
.security-item strong { display: block; margin-bottom: 5px; }
.security-item span { color: #8e95a9; font-size: 12px; }

.final-cta { padding: 100px 0; color: #fff; background: #070a16; }
.cta-panel { position: relative; overflow: hidden; padding: 74px 40px; border: 1px solid rgba(217,60,255,.35); border-radius: 28px; background: radial-gradient(circle at 80% 30%, rgba(123,60,255,.27), transparent 40%), #0e1328; text-align: center; }
.cta-panel::before { content: ""; position: absolute; width: 500px; height: 180px; left: -100px; bottom: -140px; border: 2px solid rgba(255,34,230,.22); border-radius: 50%; box-shadow: 0 0 60px rgba(255,34,230,.18); transform: rotate(-12deg); }
.cta-panel .title { max-width: 740px; margin-inline: auto; }
.cta-panel .lead { margin: 18px auto 28px; }

.site-footer { padding: 68px 0 28px; color: #959bad; background: #050812; }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 50px; }
.footer-brand p { max-width: 310px; font-size: 13px; line-height: 1.7; }
.footer-col strong { display: block; margin-bottom: 16px; color: #fff; font-size: 13px; }
.footer-col a { display: block; margin: 9px 0; font-size: 13px; }
.footer-col a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 56px; padding-top: 22px; border-top: 1px solid rgba(123,60,255,.17); font-size: 11px; }

.page-shell { min-height: 60vh; padding: 150px 0 90px; }
.page-shell h1 { font: 700 clamp(38px, 5vw, 62px) var(--font-display); letter-spacing: -.04em; }
.page-content { max-width: 780px; }
.page-content > * + * { margin-top: 1.25em; }
.portal-wrap { padding: 140px 0 90px; background: #f6f6fb; min-height: 80vh; }
.ct-auth-page { min-height: 100vh; display: grid; align-items: center; padding: 120px 0 80px; color: #f8f9ff; background: radial-gradient(circle at 82% 18%, rgba(123,60,255,.2), transparent 30%), #070a16; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease-out, transform .65s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.problem-card:nth-child(2), .feature-card:nth-child(2), .price-card:nth-child(2), .security-item:nth-child(2) { transition-delay: .08s; }
.problem-card:nth-child(3), .feature-card:nth-child(3), .price-card:nth-child(3), .security-item:nth-child(3) { transition-delay: .16s; }
.feature-card:nth-child(4), .price-card:nth-child(4), .security-item:nth-child(4) { transition-delay: .24s; }
.feature-card:hover, .problem-card:hover { border-color: rgba(123,60,255,.5); transform: translateY(-5px); box-shadow: 0 22px 60px rgba(10,14,30,.12); }
.feature-card, .problem-card { transition-property: opacity, transform, border-color, box-shadow; }

@media (max-width: 1024px) {
  .site-nav { gap: 18px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .product-stage { max-width: 720px; }
  .hero { min-height: auto; }
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .security-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  :root { --header-h: 66px; }
  .container { width: min(calc(100% - 32px), var(--content-max)); }
  .section { padding: 76px 0; }
  .nav-toggle { display: block; }
  .site-nav { position: fixed; inset: var(--header-h) 0 auto; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 20px; border-top: 1px solid var(--color-border-dark); background: rgba(6,9,20,.98); }
  body.admin-bar .site-nav { top: calc(var(--header-h) + 46px); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 13px; }
  .hero { padding-top: 120px; }
  .display { font-size: clamp(41px, 13vw, 58px); }
  .product-window { grid-template-columns: 64px 1fr; min-height: 440px; transform: none; }
  .app-rail { padding: 14px 8px; }
  .app-brand span, .rail-item span:not(.rail-dot), .rail-label, .rail-badge { display: none; }
  .app-brand { margin-inline: 8px; }
  .rail-item { justify-content: center; }
  .app-main { padding: 15px; }
  .floating-stat { right: 8px; bottom: -42px; }
  .proof { margin-top: 0; }
  .proof-inner { grid-template-columns: 1fr 1fr; }
  .proof-item:nth-child(2) { border-right: 0; }
  .proof-item:nth-child(-n+2) { border-bottom: 1px solid var(--color-border-light); }
  .section-head { display: block; }
  .section-head .lead { margin-top: 20px; }
  .problem-grid, .mode-grid, .steps, .security-list, .footer-grid { grid-template-columns: 1fr; }
  .feature-card, .feature-card:nth-child(n) { grid-column: 1 / -1; min-height: auto; }
  .audience-panel.active { grid-template-columns: 1fr; }
  .step { padding: 0 0 26px 0; }
  .step:not(:last-child)::after { display: none; }
  .pricing-grid { grid-template-columns: 1fr; }
  .price-card--featured { transform: none; }
  .footer-grid { gap: 30px; }
  .footer-bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Site-wide colour themes. The attribute is set in <head> before paint. */
:root[data-theme="light"] {
  --theme-page: #f8f9ff;
  --theme-surface: #ffffff;
  --theme-surface-soft: #f1efff;
  --theme-text: #101327;
  --theme-muted: #697187;
  --theme-border: #e0e3ee;
  --theme-header: rgba(255,255,255,.9);
  --theme-shadow: 0 18px 52px rgba(20,15,45,.1);
}
:root[data-theme="dark"] {
  --color-surface-light: #080b18;
  --color-surface-tint: #0e1325;
  --color-text: #f6f7ff;
  --color-border-light: rgba(145,104,255,.24);
  --shadow-sm: 0 10px 30px rgba(0,0,0,.2);
  --shadow-md: 0 22px 70px rgba(0,0,0,.34);
  --theme-page: #080b18;
  --theme-surface: #101529;
  --theme-surface-soft: #151b32;
  --theme-text: #f6f7ff;
  --theme-muted: #9da6bc;
  --theme-border: rgba(145,104,255,.24);
  --theme-header: rgba(8,11,24,.9);
  --theme-shadow: 0 18px 52px rgba(0,0,0,.3);
}
html { background: var(--theme-page); }
body, .portal-wrap { color: var(--theme-text); background: var(--theme-page); transition: color .2s ease, background-color .2s ease; }
.site-theme-toggle { order: 2; width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; margin-left: auto; padding: 0; border: 1px solid rgba(151,115,255,.34); border-radius: 11px; color: #fff; background: rgba(123,60,255,.12); cursor: pointer; transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.site-theme-toggle:hover { transform: translateY(-1px); border-color: #b66cff; background: rgba(123,60,255,.22); }
.site-theme-toggle span { font-size: 16px; line-height: 1; }
.site-nav { order: 3; }
.nav-toggle { order: 4; }
body.admin-bar .site-header { top: 32px; }

:root[data-theme="light"] .site-header { color: var(--theme-text); }
:root[data-theme="light"] .creatrove-site:not(.home) .site-header,
:root[data-theme="light"] .site-header.is-stuck { border-bottom: 1px solid var(--theme-border); background: var(--theme-header); box-shadow: 0 8px 28px rgba(20,15,45,.07); }
:root[data-theme="light"] .site-nav a:not(.button) { color: #4f5870; }
:root[data-theme="light"] .site-nav a:not(.button):hover { color: #11152a; }
:root[data-theme="light"] .site-theme-toggle, :root[data-theme="light"] .nav-toggle { color: #252a40; background: rgba(123,60,255,.07); }

/* Make intentionally dark marketing areas follow the selected site theme. */
:root[data-theme="light"] .hero,
:root[data-theme="light"] .section--dark,
:root[data-theme="light"] .final-cta,
:root[data-theme="light"] .site-footer,
:root[data-theme="light"] .ct-auth-page { color: var(--theme-text); background: var(--theme-page); }
:root[data-theme="light"] .hero .lead,
:root[data-theme="light"] .section--dark .lead,
:root[data-theme="light"] .site-footer,
:root[data-theme="light"] .footer-brand p,
:root[data-theme="light"] .footer-col a { color: var(--theme-muted); }
:root[data-theme="light"] .feature-card,
:root[data-theme="light"] .security-item,
:root[data-theme="light"] .cta-panel { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface); box-shadow: var(--theme-shadow); }
:root[data-theme="light"] .feature-card p,
:root[data-theme="light"] .security-item span,
:root[data-theme="light"] .cta-panel .lead { color: var(--theme-muted); }
:root[data-theme="light"] .hero-kicker { color: #59457f; background: rgba(123,60,255,.08); }

:root[data-theme="dark"] .proof-inner,
:root[data-theme="dark"] .problem-card,
:root[data-theme="dark"] .mode-card:not(.mode-card--smart),
:root[data-theme="dark"] .audience-visual,
:root[data-theme="dark"] .price-card:not(.price-card--featured):not(.price-card--studio) { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface); box-shadow: var(--theme-shadow); }
:root[data-theme="dark"] .mini-row,
:root[data-theme="dark"] .audience-tabs { color: var(--theme-text); background: var(--theme-surface-soft); }
:root[data-theme="dark"] .audience-tab { color: var(--theme-muted); }
:root[data-theme="dark"] .audience-tab.active { color: #fff; background: #37206a; }
:root[data-theme="dark"] .number, :root[data-theme="dark"] .mode-tag { color: #d7b9ff; background: rgba(123,60,255,.18); }
:root[data-theme="dark"] .button--light { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface-soft); }
:root[data-theme="dark"] .lead,
:root[data-theme="dark"] .plan-copy,
:root[data-theme="dark"] .proof-item span,
:root[data-theme="dark"] .problem-card p,
:root[data-theme="dark"] .mode-card p,
:root[data-theme="dark"] .mini-row small { color: var(--theme-muted); }

/* Account portal and module settings. */
:root[data-theme="dark"] .ct-portal,
:root[data-theme="dark"] .ct-login { --ct-border: var(--theme-border); color: var(--theme-text); background: var(--theme-surface); box-shadow: var(--theme-shadow); }
:root[data-theme="dark"] .ct-portal-main,
:root[data-theme="dark"] .ct-card,
:root[data-theme="dark"] .ct-login,
:root[data-theme="dark"] .ct-module-marketplace article { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface); }
:root[data-theme="dark"] .ct-card p,
:root[data-theme="dark"] .ct-lead,
:root[data-theme="dark"] .ct-note,
:root[data-theme="dark"] .ct-module-marketplace small,
:root[data-theme="dark"] .ct-login p { color: var(--theme-muted); }
:root[data-theme="dark"] .ct-capabilities span,
:root[data-theme="dark"] .ct-setting-options label { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface-soft); }
:root[data-theme="dark"] .ct-module-settings > form > label,
:root[data-theme="dark"] .ct-setting-grid label { color: #cbd0df; }
:root[data-theme="dark"] .ct-module-settings input:not([type=checkbox]),
:root[data-theme="dark"] .ct-module-settings select { color: var(--theme-text); border-color: var(--theme-border); background: #0b1021; }
:root[data-theme="dark"] .ct-status { border-color: rgba(53,211,154,.28); background: rgba(53,211,154,.09); }
:root[data-theme="dark"] .ct-status span { color: #a8bcb5; }

/* Login, registration, setup and checkout surfaces. */
:root[data-theme="light"] .ct-auth-page { color: var(--theme-text); }
:root[data-theme="light"] .ct-auth-story p,
:root[data-theme="light"] .ct-onboarding-copy > p,
:root[data-theme="light"] .ct-checkout-copy p { color: var(--theme-muted); }
:root[data-theme="light"] .ct-auth-points,
:root[data-theme="light"] .ct-trust span,
:root[data-theme="light"] .ct-checkout-trust b { color: #505970; }
:root[data-theme="light"] .ct-auth-card,
:root[data-theme="light"] .ct-signup-card,
:root[data-theme="light"] .ct-setup { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface); box-shadow: var(--theme-shadow); }
:root[data-theme="light"] .ct-auth-card label,
:root[data-theme="light"] .ct-signup-card label,
:root[data-theme="light"] .ct-setup form,
:root[data-theme="light"] .ct-setup label { color: var(--theme-text); }
:root[data-theme="light"] .ct-auth-card input:not([type=checkbox]),
:root[data-theme="light"] .ct-signup-card input:not([type=checkbox]),
:root[data-theme="light"] .ct-setup input,
:root[data-theme="light"] .ct-setup select,
:root[data-theme="light"] .ct-setup textarea { color: var(--theme-text); border-color: var(--theme-border); background: #fafaff; }
:root[data-theme="light"] .ct-plan-picker button,
:root[data-theme="light"] .ct-platform-grid label,
:root[data-theme="light"] .ct-setup-summary div { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface-soft); }
:root[data-theme="light"] .ct-setup aside { color: #fff; background: #0a0e1e; }

/* Solutions pages. */
:root[data-theme="light"] .ct-solutions,
:root[data-theme="light"] .ct-solution { color: var(--theme-text); background: var(--theme-page); }
:root[data-theme="light"] .ct-solutions-hero p,
:root[data-theme="light"] .ct-solution-hero p,
:root[data-theme="light"] .ct-solution-detail p,
:root[data-theme="light"] .ct-solution-cta p,
:root[data-theme="light"] .ct-solution-cta > span { color: var(--theme-muted); }
:root[data-theme="light"] .ct-solution-grid article,
:root[data-theme="light"] .ct-solution-benefits article { border-color: var(--theme-border); background: var(--theme-surface); box-shadow: var(--theme-shadow); }

@media (max-width: 760px) {
  .site-theme-toggle { margin-left: auto; }
  :root[data-theme="light"] .site-nav { border-color: var(--theme-border); background: rgba(255,255,255,.98); }
  :root[data-theme="dark"] .site-nav { background: rgba(6,9,20,.98); }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

/* Contrast safeguards for both themes. */
:root[data-theme="light"] .button--secondary { color: #352553; border-color: #8e62de; background: #f2ecff; }
:root[data-theme="light"] .section--dark .eyebrow { color: #7130c9; }
:root[data-theme="light"] .footer-col strong { color: #171b2e; }
:root[data-theme="light"] .footer-col a:hover { color: #5521ad; }
:root[data-theme="light"] .footer-bottom { color: #616a80; border-color: var(--theme-border); }
:root[data-theme="light"] .ct-auth-card > img { content: url('assets/images/creatrove-logo-light.svg'); }
:root[data-theme="light"] .ct-auth-card > p,
:root[data-theme="light"] .ct-auth-row,
:root[data-theme="light"] .ct-signup-card > p,
:root[data-theme="light"] .ct-progress span,
:root[data-theme="light"] .ct-plan-picker small,
:root[data-theme="light"] .ct-setup section > p,
:root[data-theme="light"] .ct-setup label small,
:root[data-theme="light"] .ct-setup-summary span { color: #626b81; }
:root[data-theme="light"] .ct-plan-picker button { color: #343a50; }
:root[data-theme="light"] .ct-signup-card .ct-login-link,
:root[data-theme="light"] .ct-signup-card .ct-account-link { color: #596278 !important; }
:root[data-theme="light"] .ct-setup footer .secondary { color: #422b68; border-color: #8e62de; background: #f1ebff; }
:root[data-theme="light"] .ct-solution-grid p,
:root[data-theme="light"] .ct-solution-back { color: #626b81; }
:root[data-theme="light"] .ct-solution-grid a { color: #6722b4; }

:root[data-theme="dark"] { --theme-muted: #b0b8ca; }
:root[data-theme="dark"] .footer-col strong { color: #fff; }
:root[data-theme="dark"] .footer-col a,
:root[data-theme="dark"] .footer-brand p,
:root[data-theme="dark"] .footer-bottom { color: #aeb6c9; }
:root[data-theme="dark"] .ct-text-link,
:root[data-theme="dark"] .ct-module-marketplace .ct-text-link { color: #c48aff; }
:root[data-theme="dark"] .ct-label,
:root[data-theme="dark"] .ct-kicker { color: #c988ff; }
:root[data-theme="dark"] .ct-module-settings input::placeholder,
:root[data-theme="dark"] .ct-auth-card input::placeholder,
:root[data-theme="dark"] .ct-signup-card input::placeholder,
:root[data-theme="dark"] .ct-setup input::placeholder,
:root[data-theme="dark"] .ct-setup textarea::placeholder { color: #8993aa; opacity: 1; }
:root[data-theme="dark"] .status--good { color: #58e0ad; }
:root[data-theme="dark"] .status--warn { color: #ffc66d; }
:root[data-theme="dark"] .ct-plan-picker small,
:root[data-theme="dark"] .ct-progress span,
:root[data-theme="dark"] .ct-auth-card > p,
:root[data-theme="dark"] .ct-auth-row,
:root[data-theme="dark"] .ct-signup-card > p,
:root[data-theme="dark"] .ct-setup section > p,
:root[data-theme="dark"] .ct-setup label small,
:root[data-theme="dark"] .ct-setup-summary span { color: #aeb6c9; }
:root[data-theme="dark"] .ct-module-tabs button,
:root[data-theme="dark"] .ct-module-panel,
:root[data-theme="dark"] .ct-integration-preview { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface); }
:root[data-theme="dark"] .ct-module-tabs button:hover,
:root[data-theme="dark"] .ct-module-tabs button.active { border-color: #a865ff; background: #21153d; }
:root[data-theme="dark"] .ct-module-tabs button small,
:root[data-theme="dark"] .ct-module-panel header p { color: var(--theme-muted); }
:root[data-theme="dark"] .ct-module-tabs button.is-enabled small { color: #58e0ad; }
:root[data-theme="dark"] .ct-module-panel form > label { color: #d6daE7; }
:root[data-theme="dark"] .ct-module-panel input:not([type=checkbox]),
:root[data-theme="dark"] .ct-module-panel select,
:root[data-theme="dark"] .ct-module-panel textarea { color: var(--theme-text); border-color: var(--theme-border); background: #0b1021; }
:root[data-theme="dark"] .ct-module-lock { color: var(--theme-text); border-color: rgba(168,101,255,.42); background: rgba(13,17,35,.9); }
:root[data-theme="dark"] .ct-module-lock > span { background: #29164a; }
:root[data-theme="dark"] .ct-release-notes-button { color: #d5b6ff; border-color: rgba(168,101,255,.38); background: #21153d; }
:root[data-theme="dark"] .ct-release-notes-button:hover { border-color: #b674ff; background: #2a194d; }
:root[data-theme="dark"] .ct-release-dialog { color: var(--theme-text); border-color: var(--theme-border); background: var(--theme-surface); }
:root[data-theme="dark"] .ct-release-close { color: #c7cddd; background: #20263b; }
:root[data-theme="dark"] .ct-release-copy { color: #c4cada; border-color: var(--theme-border); background: #0b1021; }
