@layer components {
  /* ===================================================
     TGK Form Styles – Unified & Centered
     Version: 1.6 – Tokenised, Consistent & Accent-Safe
     =================================================== */

  /* 🌀 Form Container Layout */
  .form-vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }

  /* ================================
     🜁 Sacred Input Field Styles
     ================================ */
  .input-field {
    width: 100%;
    max-width: 480px;
    display: block;
    padding: var(--input-padding, 0.85rem 1.1rem);
    font-size: var(--font-size-base);
    font-family: var(--font-serif);
    color: var(--input-text, var(--text-primary));
    background-color: var(--input-bg, #f7f5f0);
    border: 1px solid var(--input-border, #2a2a2a);
    border-radius: var(--border-radius-base);
    transition: all 0.3s ease;
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.08);
  }

  .input-field::placeholder {
    color: var(--input-placeholder, #b49e7a);
    opacity: 0.85;
    font-style: italic;
  }

  .input-field:focus {
    outline: none;
    background-color: var(--input-bg-focus, #fffdf9);
    border-color: var(--input-focus, var(--text-accent));
    box-shadow:
      0 0 0 2px var(--input-focus, var(--text-accent)),
      0 0 12px var(--shadow-glow, rgba(0,0,0,0.1));
  }

  /* ================================
     🜁 Labels & Input Grouping
     ================================ */
  .input-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 400px;
  }

  .form-label {
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: var(--font-size-sm);
    color: var(--text-accent);
    margin-bottom: var(--space-xs);
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  /* ===============================
     💬 Feedback & Form Messaging
     =============================== */
  .form-message {
    font-size: var(--font-size-sm);
    margin-top: var(--space-sm);
    color: var(--text-secondary);
    font-style: italic;
    text-align: center;
  }

  .form-error {
    color: var(--form-error-color, #d63c3c);
    margin-top: var(--space-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
    text-align: center;
  }

  .form-success {
    color: var(--form-success-color, #32a862);
    margin-top: var(--space-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
    text-align: center;
  }

  /* ================================
     🔐 Auth Container Block
     ================================ */
  .auth-block {
    width: 100%;
    max-width: 960px;
    margin: var(--space-xl) auto;
    padding: var(--auth-padding, var(--space-xl));
    background: var(--section-bg-bottom, #f9f5ec);
    border-radius: var(--border-radius-lg);
    box-shadow: 0 0 40px var(--shadow-glow);
    border: 1px solid var(--section-border, rgba(0,0,0,0.1));
    text-align: center;
  }

  .auth-block .section-title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-sm);
    color: var(--text-accent);
    font-family: var(--font-display, 'Cinzel', serif);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  /* ================================
     📬 Subscribe Form
     ================================ */
  .subscribe-form {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .subscribe-form .input-wrap {
    width: 100%;
    margin-bottom: var(--space-md);
  }

  /* ================================
     ⛔ Hidden Upgrade Block
     ================================ */
  #upgrade-options {
    display: none;
  }
}
