/* ============================================================
   Planvion – Freemius Shop & Checkout CSS Customization
   Primary: #FF785F  |  Dark: #1C1C1E  |  Light: #f8f8f8
   Fonts: Inter (body) · Poppins (headings)
   Hosted at: https://planvion.com/custom-fs-checkout.css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700;800&display=swap');

/* ── 1. Design Tokens ─────────────────────────────────────── */
:root {
  /* Primary accent */
  --fs-ds-theme-primary-accent-color:       #FF785F;
  --fs-ds-theme-primary-accent-color-hover: #e56b55;

  /* Planvion orange scale (replaces Freemius brand palette) */
  --fs-ds-freemius-100: #fff0ed;
  --fs-ds-freemius-200: #ffd5cc;
  --fs-ds-freemius-300: #ffb8aa;
  --fs-ds-freemius-400: #ff9b87;
  --fs-ds-freemius-500: #FF785F;
  --fs-ds-freemius-600: #e56b55;
  --fs-ds-freemius-700: #c45a46;
  --fs-ds-freemius-800: #9e4638;
  --fs-ds-freemius-900: #7a3229;

  /* Warm neutrals (replaces blue secondary palette) */
  --fs-ds-blue-100: #f5f5f5;
  --fs-ds-blue-200: #e8e8e8;
  --fs-ds-blue-300: #d0d0d0;
  --fs-ds-blue-400: #a8a8a8;
  --fs-ds-blue-500: #737373;
  --fs-ds-blue-600: #525252;
  --fs-ds-blue-700: #3a3a3a;
  --fs-ds-blue-800: #1C1C1E;
  --fs-ds-blue-900: #111111;

  /* Neutral palette */
  --fs-ds-neutral-10:  #ffffff;
  --fs-ds-neutral-50:  #f8f8f8;
  --fs-ds-neutral-100: #f0f0f0;
  --fs-ds-neutral-200: #e0e0e0;
  --fs-ds-neutral-300: #c2c2c2;
  --fs-ds-neutral-400: #a3a3a3;
  --fs-ds-neutral-500: #737373;
  --fs-ds-neutral-600: #525252;
  --fs-ds-neutral-700: #404040;
  --fs-ds-neutral-800: #2a2a2a;
  --fs-ds-neutral-900: #1C1C1E;

  /* Typography */
  --fs-ds-typography-font-family:         'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --fs-ds-typography-heading-font-family: 'Poppins', 'Inter', sans-serif;
  --fs-ds-typography-font-size-base:      15px;
  --fs-ds-typography-font-size-sm:        13px;
  --fs-ds-typography-line-height-base:    1.65;

  /* Radii */
  --fs-ds-appearance-border-radius-xs: 6px;
  --fs-ds-appearance-border-radius-sm: 8px;
  --fs-ds-appearance-border-radius:    12px;
  --fs-ds-appearance-border-radius-lg: 16px;
  --fs-ds-appearance-border-radius-xl: 20px;

  /* Transitions */
  --fs-ds-appearance-transition:        0.2s ease;
  --fs-ds-appearance-transition-slow:   0.35s ease;

  /* Shadows */
  --fs-ds-shadow-sm:  0 2px 8px rgba(0,0,0,.06);
  --fs-ds-shadow:     0 4px 16px rgba(0,0,0,.08);
  --fs-ds-shadow-lg:  0 8px 32px rgba(0,0,0,.10);
  --fs-ds-shadow-cta: 0 4px 14px rgba(255,120,95,.32);
}

/* ── 2. Base & Body ───────────────────────────────────────── */
body,
.fs-checkout,
.fs-customer-portal {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size:   15px !important;
  color:       #1C1C1E !important;
  background:  #f8f8f8 !important;
  -webkit-font-smoothing: antialiased !important;
}

/* ── 3. Headings ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.fs-checkout-title,
.fs-plan-title,
.fs-section-title,
.fs-portal-title,
.fs-dialog-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  color:       #1C1C1E !important;
  line-height: 1.25 !important;
}

/* ── 4. Cards & Containers ────────────────────────────────── */
.fs-checkout-wrapper,
.fs-checkout-container,
.fs-plan-card,
.fs-portal-card,
.fs-license-card,
.fs-subscription-card,
.fs-payment-card,
.fs-dialog,
.fs-modal,
.fs-section,
.fs-box {
  background:    #ffffff !important;
  border:        1px solid #e8e8e8 !important;
  border-radius: 20px !important;
  box-shadow:    0 8px 32px rgba(0,0,0,.08) !important;
}

/* ── 5. Primary Buttons ───────────────────────────────────── */
.fs-button-primary,
.fs-btn-primary,
button[type="submit"],
.fs-submit-btn,
.fs-upgrade-btn,
.fs-purchase-btn,
.fs-start-trial-btn,
.fs-activate-btn {
  background-color: #FF785F !important;
  border:           1px solid #FF785F !important;
  border-radius:    12px !important;
  color:            #ffffff !important;
  font-family:      'Inter', sans-serif !important;
  font-weight:      600 !important;
  font-size:        15px !important;
  letter-spacing:   0.01em !important;
  padding:          12px 24px !important;
  box-shadow:       0 4px 14px rgba(255,120,95,.32) !important;
  transition:       background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
  cursor:           pointer !important;
}

.fs-button-primary:hover,
.fs-btn-primary:hover,
button[type="submit"]:hover,
.fs-submit-btn:hover,
.fs-upgrade-btn:hover,
.fs-purchase-btn:hover,
.fs-start-trial-btn:hover,
.fs-activate-btn:hover {
  background-color: #e56b55 !important;
  border-color:     #e56b55 !important;
  box-shadow:       0 6px 20px rgba(255,120,95,.40) !important;
  transform:        translateY(-1px) !important;
}

.fs-button-primary:active,
.fs-btn-primary:active,
button[type="submit"]:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(255,120,95,.25) !important;
}

/* ── 6. Secondary Buttons ─────────────────────────────────── */
.fs-button-secondary,
.fs-btn-secondary,
.fs-cancel-btn,
.fs-back-btn {
  background-color: transparent !important;
  border:           2px solid #e0e0e0 !important;
  border-radius:    12px !important;
  color:            #525252 !important;
  font-family:      'Inter', sans-serif !important;
  font-weight:      600 !important;
  transition:       border-color 0.2s ease, color 0.2s ease !important;
}

.fs-button-secondary:hover,
.fs-btn-secondary:hover,
.fs-cancel-btn:hover {
  border-color: #FF785F !important;
  color:        #FF785F !important;
}

/* ── 7. Input Fields ──────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
select,
textarea {
  font-family:   'Inter', sans-serif !important;
  font-size:     15px !important;
  border:        1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding:       10px 14px !important;
  color:         #1C1C1E !important;
  background:    #ffffff !important;
  transition:    border-color 0.2s ease, box-shadow 0.2s ease !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #FF785F !important;
  box-shadow:   0 0 0 3px rgba(255,120,95,.15) !important;
  outline:      none !important;
}

input::placeholder,
textarea::placeholder {
  color: #a3a3a3 !important;
}

/* ── 8. Labels & Form Text ────────────────────────────────── */
label,
.fs-label,
.fs-field-label {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size:   13px !important;
  color:       #525252 !important;
}

/* ── 9. Price Display ─────────────────────────────────────── */
.fs-price,
.fs-plan-price,
.fs-amount,
.fs-total,
.fs-billing-total {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  color:       #FF785F !important;
}

.fs-price-period,
.fs-billing-cycle,
.fs-per-period {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  color:       #737373 !important;
}

/* ── 10. Plan Cards ───────────────────────────────────────── */
.fs-plan-card.fs-featured,
.fs-plan-card[data-recommended],
.fs-plan-card.fs-recommended {
  border:     2px solid #FF785F !important;
  box-shadow: 0 8px 32px rgba(255,120,95,.15) !important;
}

.fs-plan-badge,
.fs-recommended-badge,
.fs-popular-badge {
  background-color: #FF785F !important;
  color:            #ffffff !important;
  font-family:      'Inter', sans-serif !important;
  font-weight:      600 !important;
  border-radius:    20px !important;
}

/* ── 11. Feature List ─────────────────────────────────────── */
.fs-feature-item,
.fs-plan-feature {
  font-family: 'Inter', sans-serif !important;
  font-size:   14px !important;
  color:       #404040 !important;
}

.fs-feature-check,
.fs-checkmark,
.fs-feature-included {
  color: #FF785F !important;
}

/* ── 12. Navigation & Tabs ────────────────────────────────── */
.fs-tab,
.fs-nav-item,
.fs-step {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  color:       #737373 !important;
  transition:  color 0.2s ease, border-color 0.2s ease !important;
}

.fs-tab.active,
.fs-tab[aria-selected="true"],
.fs-nav-item.active,
.fs-step.active,
.fs-step.fs-current {
  color:        #FF785F !important;
  border-color: #FF785F !important;
  font-weight:  600 !important;
}

/* ── 13. Progress / Step Indicator ───────────────────────── */
.fs-progress-bar,
.fs-step-progress {
  background: #f0f0f0 !important;
  border-radius: 99px !important;
}

.fs-progress-bar-fill,
.fs-step-progress-fill {
  background:    #FF785F !important;
  border-radius: 99px !important;
}

/* ── 14. Notices & Alerts ─────────────────────────────────── */
.fs-notice-success,
.fs-alert-success {
  background:   #fff0ed !important;
  border-color: #FF785F !important;
  color:        #c45a46 !important;
  border-radius: 12px !important;
}

.fs-notice-info,
.fs-alert-info {
  background:    #f8f8f8 !important;
  border-color:  #e0e0e0 !important;
  border-radius: 12px !important;
}

.fs-notice-error,
.fs-alert-error {
  border-radius: 12px !important;
}

/* ── 15. Links ────────────────────────────────────────────── */
a,
.fs-link {
  color:      #FF785F !important;
  transition: color 0.15s ease !important;
}

a:hover,
.fs-link:hover {
  color: #e56b55 !important;
}

/* ── 16. Dividers & Borders ───────────────────────────────── */
hr,
.fs-divider,
.fs-separator {
  border-color: #e8e8e8 !important;
}

/* ── 17. Badges & Tags ────────────────────────────────────── */
.fs-badge,
.fs-tag,
.fs-label-badge {
  background-color: #fff0ed !important;
  color:            #FF785F !important;
  font-family:      'Inter', sans-serif !important;
  font-weight:      600 !important;
  font-size:        12px !important;
  border-radius:    20px !important;
  padding:          2px 10px !important;
}

/* ── 18. Checkboxes & Radio ───────────────────────────────── */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  accent-color: #FF785F !important;
}

/* ── 19. Coupon / Promo field ─────────────────────────────── */
.fs-coupon-row,
.fs-promo-row {
  border-top: 1px solid #e8e8e8 !important;
}

.fs-coupon-applied,
.fs-discount-applied {
  color:       #FF785F !important;
  font-weight: 600 !important;
}

/* ── 20. Order Summary ────────────────────────────────────── */
.fs-order-summary,
.fs-cart-summary {
  background:    #f8f8f8 !important;
  border:        1px solid #e8e8e8 !important;
  border-radius: 16px !important;
  padding:       20px !important;
}

.fs-order-total,
.fs-cart-total {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size:   18px !important;
  color:       #1C1C1E !important;
  border-top:  1.5px solid #e8e8e8 !important;
  padding-top: 12px !important;
}

/* ── 21. Testimonials / Trust ─────────────────────────────── */
.fs-testimonial,
.fs-trust-badge,
.fs-ssl-badge {
  font-family: 'Inter', sans-serif !important;
  color:       #737373 !important;
}

/* ── 22. Powered by / Footer ──────────────────────────────── */
.fs-powered-by,
.fs-checkout-footer,
.fs-branding {
  font-family: 'Inter', sans-serif !important;
  font-size:   12px !important;
  color:       #a3a3a3 !important;
}

/* ── 23. Customer Portal ──────────────────────────────────── */
.fs-portal-header,
.fs-customer-header {
  background:    #ffffff !important;
  border-bottom: 1px solid #e8e8e8 !important;
}

.fs-portal-sidebar,
.fs-customer-sidebar {
  background: #f8f8f8 !important;
  border-right: 1px solid #e8e8e8 !important;
}

.fs-portal-sidebar a.active,
.fs-customer-sidebar a.active {
  background: #fff0ed !important;
  color:      #FF785F !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
}

/* ── 24. Subscription Status ──────────────────────────────── */
.fs-status-active,
.fs-license-active {
  color:            #FF785F !important;
  background-color: #fff0ed !important;
  border-color:     #ffd5cc !important;
  border-radius:    20px !important;
  font-weight:      600 !important;
}

/* ── 25. WP Dashboard embedded mode ──────────────────────── */
.dashboard-mode,
.fs-embedded {
  --fs-ds-theme-primary-accent-color:       #FF785F;
  --fs-ds-theme-primary-accent-color-hover: #e56b55;
}

/* ── 26. Responsive ───────────────────────────────────────── */
@media (max-width: 600px) {
  .fs-checkout-wrapper,
  .fs-checkout-container,
  .fs-plan-card,
  .fs-portal-card {
    border-radius: 16px !important;
  }

  body,
  .fs-checkout,
  .fs-customer-portal {
    background: #ffffff !important;
  }
}
