/* =====================================================================
   MUEVO · Design Tokens
   One source of truth. Every component reads ONLY from these variables.
   The website owner overrides any of these to re-skin the whole plugin.

   Three shipped themes are expressed purely as token scopes:
     .muevo-theme-luxury   — dark, warm, gold, boutique (source of truth)
     .muevo-theme-modern   — bright, airy, sage, friendly minimal
     .muevo-theme-premium  — light pro surface, indigo, refined SaaS
   ===================================================================== */

/* ---------------------------------------------------------------------
   Root defaults  (= Luxury, so a bare component still looks "Muevo")
   --------------------------------------------------------------------- */
:root,
.muevo-theme-luxury{
  /* brand */
  --muevo-primary:        #c9a24e;
  --muevo-primary-strong: #ddc089;
  --muevo-primary-deep:   #a07e34;
  --muevo-on-primary:     #1a1306;
  --muevo-secondary:      #6f5a2e;
  --muevo-accent:         #c9a24e;

  /* surfaces */
  --muevo-background:     #0c0b0a;
  --muevo-surface:        #131110;
  --muevo-surface-soft:   #1a1714;
  --muevo-surface-2:      #221d19;

  /* text */
  --muevo-text:           #f4f1ea;
  --muevo-text-soft:      #d8d2c8;
  --muevo-text-muted:     #a59d92;
  --muevo-text-faint:     #6c655c;

  /* lines */
  --muevo-border:         rgba(244,241,234,.10);
  --muevo-border-soft:    rgba(244,241,234,.05);
  --muevo-border-strong:  rgba(201,162,78,.32);
  --muevo-border-opacity: 1;
  --muevo-stroke-width:   1px;

  /* feedback */
  --muevo-success:        #7fae6e;
  --muevo-success-bg:     rgba(127,174,110,.14);
  --muevo-warning:        #d9a441;
  --muevo-warning-bg:     rgba(217,164,65,.14);
  --muevo-error:          #d97a6a;
  --muevo-error-bg:       rgba(217,122,106,.14);
  --muevo-info:           #7aa6c2;
  --muevo-info-bg:        rgba(122,166,194,.14);

  /* calendar slots */
  --muevo-cal-available:      rgba(201,162,78,.10);
  --muevo-cal-available-ink:  var(--muevo-text-soft);
  --muevo-cal-selected:       var(--muevo-primary);
  --muevo-cal-selected-ink:   var(--muevo-on-primary);
  --muevo-cal-limited:        rgba(217,164,65,.16);
  --muevo-cal-limited-ink:    var(--muevo-warning);
  --muevo-cal-unavailable:    transparent;
  --muevo-cal-unavailable-ink:var(--muevo-text-faint);
  --muevo-cal-closed:         repeating-linear-gradient(135deg, rgba(244,241,234,.04) 0 5px, transparent 5px 10px);

  /* booking status */
  --muevo-status-confirmed:   #7fae6e;
  --muevo-status-pending:     #d9a441;
  --muevo-status-cancelled:   #d97a6a;
  --muevo-status-completed:   #7aa6c2;
  --muevo-status-noshow:      #9a8f82;

  /* product accents */
  --muevo-gift:           #c98fae;
  --muevo-gift-2:         #d8b08c;
  --muevo-package:        #8fa6c9;
  --muevo-membership:     #c9a24e;

  /* loyalty tiers */
  --muevo-tier-bronze:    #b07d52;
  --muevo-tier-silver:    #b9b6ad;
  --muevo-tier-gold:      #d6b35e;
  --muevo-tier-platinum:  #cfd6da;

  /* radius scale */
  --muevo-radius-sm:      8px;
  --muevo-radius-md:      14px;
  --muevo-radius-lg:      22px;
  --muevo-radius-xl:      30px;
  --muevo-radius-card:    var(--muevo-radius-lg);
  --muevo-radius-btn:     100px;
  --muevo-radius-input:   12px;

  /* shadows */
  --muevo-shadow-sm:      0 6px 18px -10px rgba(0,0,0,.6);
  --muevo-shadow-md:      0 24px 60px -28px rgba(0,0,0,.7);
  --muevo-shadow-lg:      0 50px 110px -40px rgba(0,0,0,.85);
  --muevo-shadow-color:   rgba(201,162,78,.40);

  /* type */
  --muevo-font:           'Manrope', system-ui, sans-serif;
  --muevo-font-display:   'Sora', Georgia, serif;
  --muevo-font-mono:      'JetBrains Mono', ui-monospace, monospace;
  --muevo-font-scale:     1;          /* multiplier the admin can nudge */
  --muevo-display-weight: 500;
  --muevo-label-spacing:  .2em;
  --muevo-label-transform:uppercase;

  /* motion */
  --muevo-ease:           cubic-bezier(.22,.61,.36,1);

  /* glass / featured fill */
  --muevo-glass:          rgba(26,23,20,.55);
  --muevo-feature-fill:   linear-gradient(180deg, rgba(201,162,78,.10), rgba(19,17,16,.4) 46%);
}

/* ---------------------------------------------------------------------
   MODERN LIGHT — clean, bright, friendly, minimal · sage accent
   --------------------------------------------------------------------- */
.muevo-theme-modern{
  --muevo-primary:        #1f9b76;
  --muevo-primary-strong: #15805f;
  --muevo-primary-deep:   #0f6b4f;
  --muevo-on-primary:     #ffffff;
  --muevo-secondary:      #e8b96a;
  --muevo-accent:         #2f9e8f;

  --muevo-background:     #f6f8f7;
  --muevo-surface:        #ffffff;
  --muevo-surface-soft:   #f1f4f3;
  --muevo-surface-2:      #e9eeec;

  --muevo-text:           #16201c;
  --muevo-text-soft:      #38453f;
  --muevo-text-muted:     #6c7a73;
  --muevo-text-faint:     #9aa8a1;

  --muevo-border:         rgba(22,32,28,.10);
  --muevo-border-soft:    rgba(22,32,28,.06);
  --muevo-border-strong:  rgba(31,155,118,.34);
  --muevo-border-opacity: 1;
  --muevo-stroke-width:   1px;

  --muevo-success:        #1f9b76;
  --muevo-success-bg:     rgba(31,155,118,.12);
  --muevo-warning:        #d8902f;
  --muevo-warning-bg:     rgba(216,144,47,.12);
  --muevo-error:          #d65745;
  --muevo-error-bg:       rgba(214,87,69,.10);
  --muevo-info:           #2f7fb0;
  --muevo-info-bg:        rgba(47,127,176,.10);

  --muevo-cal-available:      #ffffff;
  --muevo-cal-available-ink:  var(--muevo-text-soft);
  --muevo-cal-selected:       var(--muevo-primary);
  --muevo-cal-selected-ink:   #ffffff;
  --muevo-cal-limited:        rgba(216,144,47,.14);
  --muevo-cal-limited-ink:    #b9741f;
  --muevo-cal-unavailable:    transparent;
  --muevo-cal-unavailable-ink:var(--muevo-text-faint);
  --muevo-cal-closed:         repeating-linear-gradient(135deg, rgba(22,32,28,.05) 0 5px, transparent 5px 10px);

  --muevo-status-confirmed:   #1f9b76;
  --muevo-status-pending:     #d8902f;
  --muevo-status-cancelled:   #d65745;
  --muevo-status-completed:   #2f7fb0;
  --muevo-status-noshow:      #8a958f;

  --muevo-gift:           #d77fa6;
  --muevo-gift-2:         #e0a06a;
  --muevo-package:        #4f86c6;
  --muevo-membership:     #1f9b76;

  --muevo-tier-bronze:    #c08552;
  --muevo-tier-silver:    #9fb0aa;
  --muevo-tier-gold:      #d8a93f;
  --muevo-tier-platinum:  #7f97a3;

  --muevo-radius-sm:      10px;
  --muevo-radius-md:      16px;
  --muevo-radius-lg:      22px;
  --muevo-radius-xl:      28px;
  --muevo-radius-card:    var(--muevo-radius-lg);
  --muevo-radius-btn:     12px;
  --muevo-radius-input:   12px;

  --muevo-shadow-sm:      0 4px 14px -8px rgba(22,32,28,.18);
  --muevo-shadow-md:      0 18px 44px -24px rgba(22,32,28,.20);
  --muevo-shadow-lg:      0 40px 80px -40px rgba(22,32,28,.26);
  --muevo-shadow-color:   rgba(31,155,118,.30);

  --muevo-font:           'Manrope', system-ui, sans-serif;
  --muevo-font-display:   'Manrope', system-ui, sans-serif;
  --muevo-font-mono:      'JetBrains Mono', ui-monospace, monospace;
  --muevo-font-scale:     1;
  --muevo-display-weight: 700;
  --muevo-label-spacing:  .14em;
  --muevo-label-transform:uppercase;

  --muevo-glass:          rgba(255,255,255,.7);
  --muevo-feature-fill:   linear-gradient(180deg, rgba(31,155,118,.08), #ffffff 52%);
}

/* ---------------------------------------------------------------------
   PREMIUM — polished, refined, SaaS-grade · indigo accent
   --------------------------------------------------------------------- */
.muevo-theme-premium{
  --muevo-primary:        #5b54e0;
  --muevo-primary-strong: #4a43cf;
  --muevo-primary-deep:   #3a34b0;
  --muevo-on-primary:     #ffffff;
  --muevo-secondary:      #0f1222;
  --muevo-accent:         #8a84f2;

  --muevo-background:     #eef0f5;
  --muevo-surface:        #ffffff;
  --muevo-surface-soft:   #f5f6fa;
  --muevo-surface-2:      #eceef4;

  --muevo-text:           #11131c;
  --muevo-text-soft:      #353a49;
  --muevo-text-muted:     #6b7184;
  --muevo-text-faint:     #9aa0b2;

  --muevo-border:         rgba(17,19,28,.10);
  --muevo-border-soft:    rgba(17,19,28,.06);
  --muevo-border-strong:  rgba(91,84,224,.34);
  --muevo-border-opacity: 1;
  --muevo-stroke-width:   1px;

  --muevo-success:        #18926b;
  --muevo-success-bg:     rgba(24,146,107,.10);
  --muevo-warning:        #c9871f;
  --muevo-warning-bg:     rgba(201,135,31,.10);
  --muevo-error:          #d6453f;
  --muevo-error-bg:       rgba(214,69,63,.09);
  --muevo-info:           #2f76d6;
  --muevo-info-bg:        rgba(47,118,214,.10);

  --muevo-cal-available:      #f5f6fa;
  --muevo-cal-available-ink:  var(--muevo-text-soft);
  --muevo-cal-selected:       var(--muevo-primary);
  --muevo-cal-selected-ink:   #ffffff;
  --muevo-cal-limited:        rgba(201,135,31,.14);
  --muevo-cal-limited-ink:    #a76e16;
  --muevo-cal-unavailable:    transparent;
  --muevo-cal-unavailable-ink:var(--muevo-text-faint);
  --muevo-cal-closed:         repeating-linear-gradient(135deg, rgba(17,19,28,.05) 0 5px, transparent 5px 10px);

  --muevo-status-confirmed:   #18926b;
  --muevo-status-pending:     #c9871f;
  --muevo-status-cancelled:   #d6453f;
  --muevo-status-completed:   #2f76d6;
  --muevo-status-noshow:      #828897;

  --muevo-gift:           #c356a0;
  --muevo-gift-2:         #e07d52;
  --muevo-package:        #2f76d6;
  --muevo-membership:     #5b54e0;

  --muevo-tier-bronze:    #b9763f;
  --muevo-tier-silver:    #9298a8;
  --muevo-tier-gold:      #cf9f2e;
  --muevo-tier-platinum:  #5b6677;

  --muevo-radius-sm:      6px;
  --muevo-radius-md:      10px;
  --muevo-radius-lg:      16px;
  --muevo-radius-xl:      22px;
  --muevo-radius-card:    var(--muevo-radius-lg);
  --muevo-radius-btn:     10px;
  --muevo-radius-input:   8px;

  --muevo-shadow-sm:      0 2px 8px -2px rgba(17,19,28,.10), 0 1px 2px rgba(17,19,28,.06);
  --muevo-shadow-md:      0 12px 28px -12px rgba(17,19,28,.18), 0 2px 6px rgba(17,19,28,.05);
  --muevo-shadow-lg:      0 30px 60px -24px rgba(17,19,28,.24), 0 4px 10px rgba(17,19,28,.06);
  --muevo-shadow-color:   rgba(91,84,224,.30);

  --muevo-font:           'Manrope', system-ui, sans-serif;
  --muevo-font-display:   'Sora', system-ui, sans-serif;
  --muevo-font-mono:      'JetBrains Mono', ui-monospace, monospace;
  --muevo-font-scale:     1;
  --muevo-display-weight: 600;
  --muevo-label-spacing:  .12em;
  --muevo-label-transform:uppercase;

  --muevo-glass:          rgba(255,255,255,.72);
  --muevo-feature-fill:   linear-gradient(180deg, rgba(91,84,224,.07), #ffffff 52%);
}
