/* Light / dark theme — toggled via data-theme on <html> */

[data-theme="light"] {
  --bg-deep: #f4f4f5;
  --bg-card: #ffffff;
  --bg-elevated: #ffffff;
  --text: #0f172a;
  --text-muted: #334155;
  --text-dim: #475569;
  --border: rgba(15, 23, 42, 0.12);
  --border-red: rgba(229, 9, 20, 0.35);
  --shadow: 0 24px 80px rgba(15, 23, 42, 0.08);
  --bg-portfolio: #eef2f7;
  --red-glow: rgba(229, 9, 20, 0.2);
  --about-section-bg: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 50%, #f8fafc 100%);
  --vm-card-accent-bg: linear-gradient(160deg, rgba(229, 9, 20, 0.06) 0%, transparent 50%);
  --service-featured-bg: linear-gradient(165deg, rgba(229, 9, 20, 0.05) 0%, transparent 55%);
  --pricing-section-bg: #ececef;
  --brief-strip-bg: #f8fafc;
  /* Buttons: page text goes dark; red buttons keep white label */
  --text-on-primary: #ffffff;
  --btn-outline-fg: #0f172a;
  --btn-outline-border: rgba(15, 23, 42, 0.2);
  --btn-ghost-fg: #0f172a;
  --btn-ghost-border: rgba(15, 23, 42, 0.22);
  --admin-editor-row-bg: #f1f5f9;
  --admin-editor-input-bg: #ffffff;
  --admin-editor-input-border: rgba(15, 23, 42, 0.14);
  --admin-save-bar-gradient: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 255, 255, 0.92) 30%,
    var(--bg-deep) 68%
  );
  --admin-save-bar-backdrop: rgba(15, 23, 42, 0.06);
}

[data-theme="light"] body {
  background: var(--bg-deep);
  color: var(--text);
}

[data-theme="light"] .film-grain,
[data-theme="light"] .admin-grain {
  opacity: 0.02;
}

[data-theme="light"] .site-header {
  background: rgba(255, 255, 255, 0.88);
  border-bottom-color: var(--border);
}

[data-theme="light"] .site-header.scrolled {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .hero-shade {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 255, 255, 0.94) 38%,
    rgba(255, 255, 255, 0.72) 52%,
    rgba(255, 255, 255, 0.25) 68%,
    transparent 82%
  );
}

[data-theme="light"] .hero-lead,
[data-theme="light"] .section-desc,
[data-theme="light"] .how-step p,
[data-theme="light"] .service-card > p,
[data-theme="light"] .service-card li,
[data-theme="light"] .value-grid p {
  color: #334155;
}

[data-theme="light"] .hero-proof p {
  color: #475569;
}

[data-theme="light"] .hero-proof strong,
[data-theme="light"] .how-step h4,
[data-theme="light"] .service-card h3 {
  color: #0f172a;
}

[data-theme="light"] .process-steps h4 {
  color: #0f172a;
}

[data-theme="light"] .step-num {
  color: var(--red);
  opacity: 1;
}

[data-theme="light"] .proof-sub {
  color: #475569 !important;
}

[data-theme="light"] .btn-demo {
  color: #0f172a;
  font-weight: 600;
}

[data-theme="light"] .btn-demo:hover {
  color: var(--red);
}

[data-theme="light"] .demo-play {
  color: #0f172a;
}

[data-theme="light"] .logo-text small {
  color: #475569;
}

[data-theme="light"] .admin-logo-mark {
  filter: drop-shadow(0 0 10px rgba(229, 9, 20, 0.2));
}

[data-theme="light"] .theme-toggle-label {
  color: #64748b;
}

[data-theme="light"] .nav-links a:not(.active):not(.btn-nav) {
  color: #475569;
}

[data-theme="light"] .nav-links a:not(.active):not(.btn-nav):hover {
  color: #0f172a;
}

[data-theme="light"] .how-section {
  background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);
}

[data-theme="light"] .service-card.featured {
  background-color: #ffffff;
  background-image: var(--service-featured-bg);
  border-color: var(--border-red);
  box-shadow: 0 8px 40px rgba(229, 9, 20, 0.1);
}

[data-theme="light"] .service-card.featured h3,
[data-theme="light"] .service-card.featured > p,
[data-theme="light"] .service-card.featured li {
  color: #334155;
}

[data-theme="light"] .service-card.featured h3 {
  color: #0f172a;
}

[data-theme="light"] .service-card .script-free-badge {
  color: #15803d;
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(22, 163, 74, 0.45);
}

[data-theme="light"] .about-intro p,
[data-theme="light"] .about-vm-card > p:last-child,
[data-theme="light"] .about-what-card li {
  color: #475569;
}

[data-theme="light"] .about-vm-card h3,
[data-theme="light"] .about-what-card h4,
[data-theme="light"] .about-what-head h3 {
  color: #0f172a;
}

[data-theme="light"] .contact-form input,
[data-theme="light"] .contact-form select,
[data-theme="light"] .contact-form textarea {
  background-color: var(--bg-elevated);
  background-image: none;
  color: var(--text);
  border-color: var(--border);
}

[data-theme="light"] .contact-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-color: var(--bg-elevated);
  padding-right: 2.25rem;
}

[data-theme="light"] .contact-form input:focus,
[data-theme="light"] .contact-form select:focus,
[data-theme="light"] .contact-form textarea:focus {
  background-color: var(--bg-elevated);
  box-shadow: 0 0 0 3px rgba(229, 9, 20, 0.12);
}

[data-theme="light"] .contact-form select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
}

[data-theme="light"] .page-hero {
  background: linear-gradient(180deg, rgba(229, 9, 20, 0.05) 0%, transparent 85%);
}

[data-theme="light"] .terms-expand-fade {
  background: linear-gradient(
    180deg,
    rgba(244, 244, 245, 0) 0%,
    rgba(244, 244, 245, 0.55) 42%,
    var(--bg-deep) 92%
  );
}

[data-theme="light"] .terms-expand-fade::before {
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
}

[data-theme="light"] .terms-expand.is-collapsed:not(.is-animating) .terms-expand-fade::before {
  animation-name: terms-fade-blur-in-light;
}

@keyframes terms-fade-blur-in-light {
  from {
    opacity: 0;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

[data-theme="light"] .terms-expand-chevron {
  border-color: rgba(15, 23, 42, 0.2);
}

[data-theme="light"] .terms-expand-trigger:hover .terms-expand-chevron {
  border-color: rgba(229, 9, 20, 0.35);
  background: rgba(229, 9, 20, 0.06);
}

[data-theme="light"] .stats-bar,
[data-theme="light"] .value-strip {
  background: var(--bg-card);
}

[data-theme="light"] .service-card,
[data-theme="light"] .price-card,
[data-theme="light"] .site-footer {
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .tab:not(.active):not(:hover) {
  background: var(--bg-card);
  color: var(--text-muted);
  border-color: var(--border);
}

[data-theme="light"] .tab.active,
[data-theme="light"] .tab:hover {
  background: var(--btn-primary-bg);
  border-color: var(--btn-primary-bg);
  color: var(--text-on-primary);
}

[data-theme="light"] .brief-progress-inner.brief-progress-cinema {
  background: linear-gradient(165deg, #ffffff 0%, #f8fafc 55%, #fff1f2 100%);
  border-color: rgba(229, 9, 20, 0.28);
  box-shadow:
    0 0 0 1px rgba(168, 85, 247, 0.08),
    0 20px 48px rgba(15, 23, 42, 0.1);
}

[data-theme="light"] .brief-progress-pct {
  background: linear-gradient(135deg, #0f172a 0%, var(--red) 45%, #7c3aed 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-theme="light"] .brief-progress-unit {
  color: #64748b;
}

[data-theme="light"] .brief-form {
  --field-invalid: #d97706;
  --field-invalid-strong: #b45309;
  --field-invalid-glow: rgba(217, 119, 6, 0.28);
  --field-invalid-bg: rgba(251, 191, 36, 0.15);
}

[data-theme="light"] .brief-validation-banner strong {
  color: #92400e;
}

[data-theme="light"] .contact-form {
  --field-invalid: #d97706;
  --field-invalid-strong: #b45309;
  --field-invalid-glow: rgba(217, 119, 6, 0.28);
  --field-invalid-bg: rgba(251, 191, 36, 0.15);
}

[data-theme="light"] .brief-progress-ring-bg {
  stroke: rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .brief-progress-track {
  background: rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .brief-progress-scene {
  background: #fff;
  border-color: rgba(15, 23, 42, 0.15);
}

[data-theme="light"] .brief-form fieldset {
  box-shadow: none;
}

[data-theme="light"] .brief-form fieldset.is-active {
  border-color: rgba(220, 38, 38, 0.35);
  box-shadow: none;
  transform: none;
}

[data-theme="light"] .brief-form fieldset.has-errors {
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.2) !important;
}

[data-theme="light"] .brief-form .package-card.is-selected .package-card-inner,
[data-theme="light"] .brief-form .package-card input:checked + .package-card-inner {
  border-color: rgba(220, 38, 38, 0.45);
  box-shadow: none;
  transform: none;
}

[data-theme="light"] .brief-form .package-card:hover .package-card-inner {
  transform: none;
}

[data-theme="light"] .brief-form .choice-chips,
[data-theme="light"] .brief-form .choice-chip-terms {
  background: rgba(15, 23, 42, 0.04);
}

[data-theme="light"] .brief-form .choice-chips label {
  background: var(--bg-elevated);
}

[data-theme="light"] .brief-form .choice-chips label::before,
[data-theme="light"] .brief-form .terms-check-box {
  border-color: rgba(15, 23, 42, 0.22);
  background: #fff;
}

/* Creative brief — softer selected chips (less neon red on white) */
[data-theme="light"] .brief-form .choice-chips label:hover {
  border-color: rgba(220, 38, 38, 0.28);
}

[data-theme="light"] .brief-form .choice-chips label:has(input:checked) {
  border-color: rgba(220, 38, 38, 0.38);
  background: linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);
  color: #0f172a !important;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.1), 0 2px 8px rgba(15, 23, 42, 0.05);
}

[data-theme="light"] .brief-form .choice-chips label:has(input:checked)::before {
  border-color: #dc2626;
  background-color: #dc2626;
  box-shadow: none;
}

[data-theme="light"] .brief-form .choice-chips label:has(input:focus-visible) {
  outline-color: rgba(220, 38, 38, 0.45);
}

[data-theme="light"] .brief-form .choice-chip-terms:hover {
  border-color: rgba(220, 38, 38, 0.28);
}

[data-theme="light"] .brief-form .choice-chip-terms:has(input:checked) {
  border-color: rgba(220, 38, 38, 0.35);
  background: linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.08);
}

[data-theme="light"] .brief-form .choice-chip-terms:has(input:checked) .terms-check-box {
  border-color: #dc2626;
  background-color: #dc2626;
  box-shadow: none;
}

[data-theme="light"] .brief-reset-btn {
  color: var(--btn-outline-fg);
  border-color: var(--btn-outline-border);
}

[data-theme="light"] .brief-reset-btn:hover {
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.35);
  background: #fef2f2;
}

[data-theme="light"] .form-status-brief.is-draft-notice {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(22, 163, 74, 0.25);
  color: #166534;
}

[data-theme="light"] .brief-marketing-inner {
  background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: none;
  border-color: rgba(15, 23, 42, 0.1);
}

[data-theme="light"] .brief-form input:not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] .brief-form select,
[data-theme="light"] .brief-form textarea {
  background-color: var(--bg-elevated);
  background-image: none;
  color: var(--text);
  border-color: var(--border);
}

[data-theme="light"] .brief-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-color: var(--bg-elevated);
  padding-right: 2.25rem;
}

[data-theme="light"] .brief-form input:focus,
[data-theme="light"] .brief-form select:focus,
[data-theme="light"] .brief-form textarea:focus {
  background-color: var(--bg-elevated);
  background-image: none;
  box-shadow: 0 0 0 3px rgba(229, 9, 20, 0.12);
}

[data-theme="light"] .brief-form select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
}

[data-theme="light"] .brief-form label.field-animated.is-filled input,
[data-theme="light"] .brief-form label.field-animated.is-filled select,
[data-theme="light"] .brief-form label.field-animated.is-filled textarea {
  background-color: var(--bg-elevated);
  background-image: none;
}

[data-theme="light"] .brief-form label.field-animated.is-filled select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
}

[data-theme="light"] .subpage select,
[data-theme="light"] .brief-form select,
[data-theme="light"] .contact-form select {
  color-scheme: light;
}

[data-theme="light"] .subpage select option,
[data-theme="light"] .brief-form select option,
[data-theme="light"] .contact-form select option {
  background-color: #ffffff;
  color: #0f172a;
}

[data-theme="light"] .subpage select option:checked,
[data-theme="light"] .brief-form select option:checked,
[data-theme="light"] .contact-form select option:checked {
  background-color: #f1f5f9;
  color: #0f172a;
}

[data-theme="light"] .brief-review-panel {
  background: var(--bg-card);
  border-color: var(--border-red);
  box-shadow: none;
}

[data-theme="light"] .brief-review-panel h3 {
  color: var(--text);
}

[data-theme="light"] .review-intro {
  color: var(--text-muted);
}

[data-theme="light"] .review-summary {
  background: var(--bg-elevated);
  border-color: var(--border);
}

[data-theme="light"] .review-summary dt {
  color: var(--text-dim);
}

[data-theme="light"] .review-summary dd {
  color: var(--text);
}

[data-theme="light"] .review-actions .btn-outline {
  color: var(--btn-outline-fg);
  border-color: var(--btn-outline-border);
}

[data-theme="light"] .contact-card-muted {
  background: var(--bg-elevated);
  border-color: var(--border);
}

[data-theme="light"] .contact-form-panel {
  box-shadow: var(--shadow);
}

[data-theme="light"] .admin-sidebar {
  background: #ffffff;
  border-right: 1px solid var(--border);
}

[data-theme="light"] .admin-main,
[data-theme="light"] .admin-login-page {
  background: var(--bg-deep);
}

[data-theme="light"] .stat-card,
[data-theme="light"] .admin-panel-card,
[data-theme="light"] .inbox-pane,
[data-theme="light"] .admin-login-card,
[data-theme="light"] .settings-form .admin-card,
[data-theme="light"] .card-faq-editor {
  background: var(--bg-card);
  border-color: var(--border);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .stat-card.stat-highlight strong {
  color: var(--red);
}

[data-theme="light"] .stat-card.stat-warn strong {
  color: #b45309;
}

[data-theme="light"] .maintenance-admin-banner {
  background: rgba(251, 191, 36, 0.22);
  border-color: rgba(180, 83, 9, 0.35);
  color: #78350f;
}

[data-theme="light"] .maintenance-admin-banner a {
  color: #b45309;
  font-weight: 600;
}

[data-theme="light"] .maintenance-admin-banner a:hover {
  color: #92400e;
}

[data-theme="light"] .faq-editor-row {
  background: var(--admin-editor-row-bg);
  border-color: var(--admin-editor-input-border);
}

[data-theme="light"] .faq-editor-empty {
  background: var(--admin-editor-row-bg);
  border-color: var(--admin-editor-input-border);
  color: var(--text-muted);
}

[data-theme="light"] .faq-editor-row label {
  color: var(--text-muted);
}

[data-theme="light"] .faq-editor-enabled {
  color: var(--text-muted);
}

[data-theme="light"] .faq-editor-row input[type="text"],
[data-theme="light"] .faq-editor-row textarea {
  color: var(--text);
  background: var(--admin-editor-input-bg);
  border-color: var(--admin-editor-input-border);
}

[data-theme="light"] .faq-editor-row input[type="text"]::placeholder,
[data-theme="light"] .faq-editor-row textarea::placeholder {
  color: var(--text-dim);
}

[data-theme="light"] .faq-editor-row input[type="text"]:focus,
[data-theme="light"] .faq-editor-row textarea:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 3px var(--red-glow);
}

[data-theme="light"] .faq-editor-row-actions .btn-admin.btn-ghost {
  color: var(--btn-ghost-fg);
  border-color: var(--btn-ghost-border);
  background: var(--bg-card);
}

[data-theme="light"] .faq-editor-row-actions .btn-admin.btn-ghost:hover:not(:disabled) {
  color: var(--red);
  border-color: var(--border-red);
  background: rgba(229, 9, 20, 0.06);
}

[data-theme="light"] .faq-editor-delete {
  color: #b91c1c;
}

[data-theme="light"] .faq-editor-delete:hover:not(:disabled) {
  color: #dc2626;
  background: rgba(229, 9, 20, 0.08);
  border-color: rgba(229, 9, 20, 0.25);
}

[data-theme="light"] .settings-save-bar-inner {
  background: var(--admin-save-bar-gradient);
  border-color: var(--border);
  box-shadow: 0 -8px 24px var(--admin-save-bar-backdrop);
}

[data-theme="light"] .settings-save-bar .settings-save-hint {
  color: var(--text-muted);
  background: none;
  border: none;
}

[data-theme="light"] .settings-save-bar .settings-save-hint strong {
  color: var(--text);
}

[data-theme="light"] .settings-save-bar .btn-admin.btn-ghost {
  color: var(--btn-ghost-fg);
  border-color: var(--btn-ghost-border);
  background: var(--bg-card);
}

[data-theme="light"] .settings-save-bar .btn-admin.btn-ghost:hover {
  color: var(--red);
  border-color: var(--border-red);
  background: rgba(229, 9, 20, 0.06);
}

[data-theme="light"] .pricing-field-group-stripe {
  background: #f0fdf4;
  border-color: rgba(22, 163, 74, 0.22);
}

[data-theme="light"] .pricing-field-group-stripe .pricing-group-label {
  color: #15803d;
}

/* Nav cluster — compact row height on desktop */
@media (min-width: 769px) {
  .site-header {
    padding: 0.55rem 0;
  }

  .logo-text {
    font-size: 1.1rem;
  }

  .logo-text small {
    font-size: 0.5rem;
    margin-top: 1px;
  }

  .nav-links {
    padding: 0;
    align-items: center;
    gap: 1rem;
  }

  .nav-links > li {
    display: flex;
    align-items: center;
  }

  .nav-links .theme-toggle-wrap {
    flex-shrink: 0;
    width: 2.85rem;
  }

  .nav-links .theme-toggle {
    --toggle-w: 2.85rem;
    --toggle-h: 1.5rem;
    width: 2.85rem;
  }

  .nav-links > li:has(.btn-nav) {
    overflow: visible;
  }

  .nav-links .btn-nav {
    flex-shrink: 0;
    box-shadow: 0 4px 16px rgba(229, 9, 20, 0.32);
  }
}

@media (max-width: 768px) {
  [data-theme="light"] .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(255, 255, 255, 0.98);
  }

  [data-theme="light"] .nav-links {
    background: #ffffff;
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.15);
    border-radius: 0;
    padding: calc(4.25rem + env(safe-area-inset-top, 0)) 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0));
  }

  [data-theme="light"] .nav-backdrop:not([hidden]) {
    background: rgba(0, 0, 0, 0.45);
  }
}

/* Filled buttons — always white text on brand red */
[data-theme="light"] .btn-primary,
[data-theme="light"] .btn-nav,
[data-theme="light"] a.btn-primary,
[data-theme="light"] a.btn-nav,
[data-theme="light"] .popular-tag,
[data-theme="light"] .service-badge {
  color: var(--text-on-primary);
}

[data-theme="light"] .btn-primary:hover,
[data-theme="light"] .btn-nav:hover {
  color: var(--text-on-primary);
}

[data-theme="light"] .btn-outline {
  color: var(--btn-outline-fg);
  border-color: var(--btn-outline-border);
}

[data-theme="light"] .btn-outline:hover {
  color: var(--red);
  background: rgba(229, 9, 20, 0.08);
}

[data-theme="light"] .btn-ghost {
  color: var(--btn-ghost-fg);
  border-color: var(--btn-ghost-border);
}

[data-theme="light"] .popular-tag.gold {
  color: var(--text-on-primary);
}

[data-theme="light"] .admin-main .btn-primary,
[data-theme="light"] .admin-login-card .btn-primary {
  color: var(--text-on-primary);
}

/* Theme toggle — pill switch (sun / moon) */
.theme-toggle {
  --toggle-w: 3.25rem;
  --toggle-h: 1.75rem;
  --toggle-gap: 0.1875rem;
  --toggle-thumb: calc(var(--toggle-h) - var(--toggle-gap) * 2);
  --toggle-travel: calc(var(--toggle-w) - var(--toggle-thumb) - var(--toggle-gap) * 2 - 2px);
  --toggle-ease: cubic-bezier(0.34, 1.35, 0.64, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  line-height: 1;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.theme-toggle:hover {
  transform: none;
}

.theme-toggle:hover .theme-toggle-track {
  transform: scale(1.04);
}

.theme-toggle:focus-visible {
  outline: none;
}

.theme-toggle:focus-visible .theme-toggle-track {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.theme-toggle-track {
  position: relative;
  display: block;
  width: var(--toggle-w);
  height: var(--toggle-h);
  box-sizing: border-box;
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--border);
  background: linear-gradient(145deg, #1a1a22 0%, #0c0c10 100%);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.06);
  transform: scale(1);
  transition:
    transform 0.2s ease,
    background 0.45s ease,
    border-color 0.45s ease,
    box-shadow 0.45s ease;
}

.theme-toggle-thumb {
  position: absolute;
  top: 50%;
  left: var(--toggle-gap);
  width: var(--toggle-thumb);
  height: var(--toggle-thumb);
  border-radius: 50%;
  background: linear-gradient(180deg, #f4f4f5 0%, #d4d4d8 100%);
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.08);
  transform: translateY(-50%) translateX(0);
  transition:
    transform 0.45s var(--toggle-ease),
    background 0.4s ease,
    box-shadow 0.4s ease;
  pointer-events: none;
  will-change: transform;
}

.theme-toggle-icon {
  position: absolute;
  top: 50%;
  width: 0.85rem;
  height: 0.85rem;
  transform: translateY(-50%) scale(0.9);
  opacity: 0.38;
  transition:
    opacity 0.35s ease,
    transform 0.45s var(--toggle-ease),
    color 0.35s ease;
  pointer-events: none;
}

.theme-toggle-icon--sun {
  left: calc(var(--toggle-gap) + (var(--toggle-thumb) - 0.85rem) / 2);
  color: #fbbf24;
}

.theme-toggle-icon--moon {
  right: calc(var(--toggle-gap) + (var(--toggle-thumb) - 0.85rem) / 2);
  color: #a5b4fc;
}

[data-theme="dark"] .theme-toggle-icon--moon {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
}

[data-theme="light"] .theme-toggle-thumb {
  transform: translateY(-50%) translateX(var(--toggle-travel));
  background: linear-gradient(180deg, #ffffff 0%, #fef3c7 100%);
  box-shadow: 0 2px 8px rgba(180, 120, 0, 0.2);
}

[data-theme="light"] .theme-toggle-track {
  background: linear-gradient(145deg, #fff7ed 0%, #fde68a 100%);
  border-color: rgba(251, 191, 36, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

[data-theme="light"] .theme-toggle-icon--sun {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
}

[data-theme="light"] .theme-toggle-icon--moon {
  opacity: 0.35;
  transform: translateY(-50%) scale(0.88);
}

.theme-toggle:active .theme-toggle-thumb {
  transform: translateY(-50%) translateX(0) scale(0.94);
}

[data-theme="light"] .theme-toggle:active .theme-toggle-thumb {
  transform: translateY(-50%) translateX(var(--toggle-travel)) scale(0.94);
}

.theme-toggle--labeled {
  width: 100%;
  justify-content: flex-start;
  gap: 0.65rem;
  padding: 0.15rem 0;
}

.theme-toggle-label {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-muted);
  white-space: nowrap;
}

.nav-links .theme-toggle-wrap {
  display: flex;
  align-items: center;
  list-style: none;
}

@media (min-width: 769px) {
  .nav-links .theme-toggle-wrap {
    margin-left: 0.15rem;
    padding: 0;
    border-top: none;
    min-height: auto;
    width: 3.25rem;
    flex-shrink: 0;
  }
}

.admin-theme-wrap {
  padding: 0.65rem 1rem 0.25rem;
}

.admin-login-theme {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle,
  .theme-toggle-thumb,
  .theme-toggle-track,
  .theme-toggle-icon {
    transition: none;
  }

  .btn-nav::before,
  .hero-cta .btn-primary::before {
    animation: none;
    background-size: 100% 100%;
    background-position: 50% 50%;
  }

  .btn-nav,
  .hero-cta .btn-primary {
    transition: none;
  }

  .btn-nav:hover,
  .hero-cta .btn-primary:hover {
    --btn-lift-y: 0px;
    --btn-lift-scale: 1;
    transform: none;
    filter: none;
  }
}

/* Free script writing badge */
.script-free-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #22c55e;
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  padding: 0.25rem 0.6rem;
  border-radius: var(--radius-pill, 999px);
  margin-bottom: 0.75rem;
  animation: scriptBadgePulse 2.5s ease-in-out infinite;
}

@keyframes scriptBadgePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.2); }
  50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
}

.price-final-card .price-was {
  font-size: 1rem;
}

.price-final-card .price-now {
  font-size: 2.25rem;
}
