Style Reference – Numerology

/* =============================================================================
   EZ HOROSCOPE - NUMEROLOGY BLOCK
   MYSTICAL THEME - Inspired by Soul Spot aesthetic
   =============================================================================
   
   A dreamy, spiritual color scheme featuring dusty blue-purples, soft lavenders,
   deep navy tones, and warm gold accents. Perfect for tarot, astrology, and
   spiritual wellness websites.
   
   TABLE OF CONTENTS:
   ------------------
   1. CSS Custom Properties (Variables)
   2. Block Container
   3. Form Styles
   4. Result Container
   5. Report Sections
   6. Hero Elements
   7. Loading & Progress States
   8. RTL (Right-to-Left) Support
   9. Responsive Design
   10. Print Styles
   
   ============================================================================= */


/* =============================================================================
   1. CSS CUSTOM PROPERTIES (VARIABLES)
   ============================================================================= */

.numerology-block {
    
    /* -------------------------------------------------------------------------
       COLORS - MYSTICAL PALETTE
       ------------------------------------------------------------------------- */
    
    /* Primary - Deep mystical purple-blue */
    --ezhp-color-primary: #5D6B8A;
    
    /* Secondary - Warm gold accent */
    --ezhp-color-secondary: #C9A962;
    
    /* Tertiary - Soft lavender */
    --ezhp-color-tertiary: #9BA4C4;
    
    /* Quaternary - Deep navy */
    --ezhp-color-quaternary: #2D3142;
    
    /* Background colors */
    --ezhp-bg-primary: transparent;
    --ezhp-bg-secondary: rgba(93, 107, 138, 0.04);
    --ezhp-bg-accent: rgba(201, 169, 98, 0.06);
    --ezhp-bg-mystical: linear-gradient(135deg, rgba(93, 107, 138, 0.03) 0%, rgba(155, 164, 196, 0.05) 100%);
    --ezhp-bg-section: rgba(255, 255, 255, 0.4);
    
    /* Text colors */
    --ezhp-text-primary: #2D3142;
    --ezhp-text-secondary: #4F5D75;
    --ezhp-text-muted: rgba(45, 49, 66, 0.6);
    --ezhp-text-accent: #5D6B8A;
    --ezhp-text-light: #FFFFFF;
    
    /* Input/Form colors */
    --ezhp-input-bg: rgba(255, 255, 255, 0.8);
    --ezhp-input-border: var(--ezhp-color-tertiary);
    --ezhp-input-text: var(--ezhp-text-primary);
    --ezhp-input-focus-shadow: rgba(93, 107, 138, 0.25);
    
    /* Button colors */
    --ezhp-button-text: var(--ezhp-color-primary);
    --ezhp-button-border: var(--ezhp-color-primary);
    --ezhp-button-hover-bg: var(--ezhp-color-primary);
    --ezhp-button-hover-text: var(--ezhp-text-light);
    
    /* Progress bar colors */
    --ezhp-progress-track: rgba(155, 164, 196, 0.2);
    --ezhp-progress-fill: linear-gradient(90deg, var(--ezhp-color-tertiary), var(--ezhp-color-secondary));
    
    /* Section highlight colors */
    --ezhp-highlight-positive: rgba(123, 158, 135, 0.1);
    --ezhp-highlight-warning: rgba(201, 169, 98, 0.1);
    
    /* -------------------------------------------------------------------------
       TYPOGRAPHY
       ------------------------------------------------------------------------- */
    
    --ezhp-font-family-base: inherit;
    --ezhp-font-family-accent: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    
    --ezhp-font-size-xs: 0.75rem;
    --ezhp-font-size-sm: 0.875rem;
    --ezhp-font-size-base: 1rem;
    --ezhp-font-size-lg: 1.125rem;
    --ezhp-font-size-xl: 1.25rem;
    --ezhp-font-size-2xl: 1.5rem;
    --ezhp-font-size-3xl: 1.75rem;
    
    --ezhp-font-weight-light: 300;
    --ezhp-font-weight-normal: 400;
    --ezhp-font-weight-medium: 500;
    --ezhp-font-weight-semibold: 600;
    --ezhp-font-weight-bold: 700;
    
    --ezhp-line-height-tight: 1.2;
    --ezhp-line-height-normal: 1.5;
    --ezhp-line-height-relaxed: 1.65;
    --ezhp-line-height-loose: 1.85;
    
    --ezhp-letter-spacing-wide: 0.025em;
    --ezhp-letter-spacing-wider: 0.05em;
    --ezhp-letter-spacing-widest: 0.1em;
    
    /* -------------------------------------------------------------------------
       SPACING
       ------------------------------------------------------------------------- */
    
    --ezhp-spacing-xs: 0.25rem;
    --ezhp-spacing-sm: 0.5rem;
    --ezhp-spacing-md: 1rem;
    --ezhp-spacing-lg: 1.5rem;
    --ezhp-spacing-xl: 2rem;
    --ezhp-spacing-2xl: 3rem;
    
    /* -------------------------------------------------------------------------
       BORDERS & SHADOWS
       ------------------------------------------------------------------------- */
    
    --ezhp-radius-sm: 4px;
    --ezhp-radius-md: 8px;
    --ezhp-radius-lg: 12px;
    --ezhp-radius-xl: 16px;
    
    --ezhp-border-width-thin: 1px;
    --ezhp-border-width-medium: 2px;
    
    --ezhp-shadow-sm: 0 1px 3px rgba(93, 107, 138, 0.06);
    --ezhp-shadow-md: 0 4px 12px rgba(93, 107, 138, 0.08);
    --ezhp-shadow-lg: 0 8px 24px rgba(93, 107, 138, 0.1);
    --ezhp-shadow-glow: 0 0 20px rgba(201, 169, 98, 0.2);
    
    /* -------------------------------------------------------------------------
       TRANSITIONS
       ------------------------------------------------------------------------- */
    
    --ezhp-transition-fast: 150ms ease;
    --ezhp-transition-normal: 250ms ease;
    --ezhp-transition-slow: 400ms ease;
}


/* =============================================================================
   2. BLOCK CONTAINER
   ============================================================================= */

.numerology-block {
    font-family: var(--ezhp-font-family-base);
    font-size: var(--ezhp-font-size-base);
    line-height: var(--ezhp-line-height-relaxed);
    color: var(--ezhp-text-primary);
    background: var(--ezhp-bg-primary);
}


/* =============================================================================
   3. FORM STYLES
   ============================================================================= */

.numerology-block .ezhp-form {
    margin: var(--ezhp-spacing-lg) 0;
    padding: var(--ezhp-spacing-lg);
    display: flex;
    flex-wrap: wrap;
    gap: var(--ezhp-spacing-md);
    align-items: center;
    background: var(--ezhp-bg-mystical);
    border-radius: var(--ezhp-radius-lg);
    border: var(--ezhp-border-width-thin) solid rgba(155, 164, 196, 0.2);
}

/* Form label */
.numerology-block .ezhp-form label {
    width: 100%;
    font-family: var(--ezhp-font-family-accent);
    font-size: var(--ezhp-font-size-lg);
    font-weight: var(--ezhp-font-weight-light);
    font-style: italic;
    color: var(--ezhp-color-primary);
    margin-bottom: var(--ezhp-spacing-xs);
}

/* Decorative element before label */
.numerology-block .ezhp-form label::before {
    content: "✦ ";
    color: var(--ezhp-color-secondary);
    font-style: normal;
}

/* Text input */
.numerology-block .ezhp-form input[type="text"] {
    flex: 1;
    min-width: 180px;
    padding: var(--ezhp-spacing-sm) var(--ezhp-spacing-md);
    font-family: var(--ezhp-font-family-base);
    font-size: var(--ezhp-font-size-base);
    color: var(--ezhp-input-text);
    background: var(--ezhp-input-bg);
    border: var(--ezhp-border-width-medium) solid var(--ezhp-input-border);
    border-radius: var(--ezhp-radius-md);
    transition: border-color var(--ezhp-transition-fast),
                box-shadow var(--ezhp-transition-fast);
}

/* Date input */
.numerology-block .ezhp-form input[type="date"] {
    padding: var(--ezhp-spacing-sm) var(--ezhp-spacing-md);
    font-family: var(--ezhp-font-family-base);
    font-size: var(--ezhp-font-size-base);
    color: var(--ezhp-input-text);
    background: var(--ezhp-input-bg);
    border: var(--ezhp-border-width-medium) solid var(--ezhp-input-border);
    border-radius: var(--ezhp-radius-md);
    transition: border-color var(--ezhp-transition-fast),
                box-shadow var(--ezhp-transition-fast);
}

/* Input focus states */
.numerology-block .ezhp-form input[type="text"]:focus,
.numerology-block .ezhp-form input[type="date"]:focus {
    outline: none;
    border-color: var(--ezhp-color-secondary);
    box-shadow: 0 0 0 3px var(--ezhp-input-focus-shadow);
}

/* Input hover */
.numerology-block .ezhp-form input[type="text"]:hover,
.numerology-block .ezhp-form input[type="date"]:hover {
    border-color: var(--ezhp-color-primary);
}

/* Submit button - outlined mystical style */
.numerology-block .ezhp-form button.ezhp-fetch-button,
.numerology-block .ezhp-form .wp-element-button {
    padding: var(--ezhp-spacing-sm) var(--ezhp-spacing-lg);
    font-family: var(--ezhp-font-family-base);
    font-size: var(--ezhp-font-size-sm);
    font-weight: var(--ezhp-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: var(--ezhp-letter-spacing-wider);
    color: var(--ezhp-button-text);
    background: transparent;
    border: var(--ezhp-border-width-medium) solid var(--ezhp-button-border);
    border-radius: var(--ezhp-radius-sm);
    cursor: pointer;
    transition: all var(--ezhp-transition-normal);
}

.numerology-block .ezhp-form button:hover,
.numerology-block .ezhp-form .wp-element-button:hover {
    background: var(--ezhp-button-hover-bg);
    color: var(--ezhp-button-hover-text);
    transform: translateY(-2px);
    box-shadow: var(--ezhp-shadow-md);
}

.numerology-block .ezhp-form button:focus,
.numerology-block .ezhp-form .wp-element-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--ezhp-input-focus-shadow);
}


/* =============================================================================
   4. RESULT CONTAINER
   ============================================================================= */

.numerology-block .numerology-result {
    margin-top: var(--ezhp-spacing-lg);
}


/* =============================================================================
   5. REPORT SECTIONS
   =============================================================================
   Note: Uses !important to override base theme's inherit declarations
   ============================================================================= */

/* Main report wrapper */
.numerology-block .numerology-report,
.numerology-block .numerology-result .numerology-report {
    color: var(--ezhp-text-secondary) !important;
}

/* Individual sections - the API returns div.section elements */
.numerology-block .numerology-report .section,
.numerology-block .numerology-report div.section,
.numerology-block .numerology-result .section {
    margin-bottom: var(--ezhp-spacing-xl) !important;
    padding: var(--ezhp-spacing-lg) !important;
    background: var(--ezhp-bg-section) !important;
    border-radius: var(--ezhp-radius-lg) !important;
    border-left: 3px solid var(--ezhp-color-tertiary) !important;
    box-shadow: var(--ezhp-shadow-sm) !important;
}

.numerology-block .numerology-report .section:last-child,
.numerology-block .numerology-report div.section:last-child,
.numerology-block .numerology-result .section:last-child {
    margin-bottom: 0 !important;
}

/* Section headings (h2) */
.numerology-block .numerology-report h2,
.numerology-block .numerology-result h2,
.numerology-block .section h2 {
    font-family: var(--ezhp-font-family-accent) !important;
    font-size: var(--ezhp-font-size-2xl) !important;
    font-weight: var(--ezhp-font-weight-light) !important;
    font-style: italic !important;
    line-height: var(--ezhp-line-height-tight) !important;
    color: var(--ezhp-color-primary) !important;
    background: transparent !important;
    margin: 0 0 var(--ezhp-spacing-md) 0 !important;
    padding-bottom: var(--ezhp-spacing-sm) !important;
    border-bottom: 1px solid rgba(155, 164, 196, 0.3) !important;
}

/* Numerology title (report header) */
.numerology-block .numerology-title,
.numerology-block h2.numerology-title {
    font-family: var(--ezhp-font-family-accent) !important;
    font-size: var(--ezhp-font-size-3xl) !important;
    font-weight: var(--ezhp-font-weight-light) !important;
    font-style: italic !important;
    line-height: var(--ezhp-line-height-tight) !important;
    color: var(--ezhp-color-primary) !important;
    background: transparent !important;
    margin: 0 0 var(--ezhp-spacing-lg) 0 !important;
    text-align: center !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

/* Decorative stars around title */
.numerology-block .numerology-title::before,
.numerology-block h2.numerology-title::before {
    content: "✦ ";
    color: var(--ezhp-color-secondary);
    font-style: normal;
}

.numerology-block .numerology-title::after,
.numerology-block h2.numerology-title::after {
    content: " ✦";
    color: var(--ezhp-color-secondary);
    font-style: normal;
}

/* Paragraphs */
.numerology-block .numerology-report p,
.numerology-block .numerology-result p,
.numerology-block .section p {
    font-family: var(--ezhp-font-family-base) !important;
    font-size: var(--ezhp-font-size-base) !important;
    line-height: var(--ezhp-line-height-loose) !important;
    color: var(--ezhp-text-secondary) !important;
    background: transparent !important;
    margin: 0 0 var(--ezhp-spacing-md) 0 !important;
}

.numerology-block .numerology-report p:last-child,
.numerology-block .section p:last-child {
    margin-bottom: 0 !important;
}

/* Strong/bold text */
.numerology-block .numerology-report strong,
.numerology-block .section strong {
    font-weight: var(--ezhp-font-weight-semibold) !important;
    color: var(--ezhp-text-primary) !important;
}

/* Emphasis/italic text */
.numerology-block .numerology-report em,
.numerology-block .section em {
    font-style: italic !important;
    color: var(--ezhp-color-primary) !important;
}

/* Practical step paragraphs - has strong at start */
.numerology-block .section p strong:first-child {
    display: inline-block;
    margin-bottom: var(--ezhp-spacing-xs);
    color: var(--ezhp-color-secondary) !important;
}

/* Life area headings with emojis (💖 💼 💰 🎭 ⚕️) */
.numerology-block .section p > strong:first-child {
    font-size: var(--ezhp-font-size-lg);
}

/* Practical Step boxes */
.numerology-block .section p:has(> strong:first-child:contains("Practical Step")),
.numerology-block .section p:last-of-type:has(strong:first-child) {
    padding: var(--ezhp-spacing-md) !important;
    background: var(--ezhp-bg-accent) !important;
    border-radius: var(--ezhp-radius-md) !important;
    border-left: 3px solid var(--ezhp-color-secondary) !important;
    margin-top: var(--ezhp-spacing-md) !important;
}


/* =============================================================================
   6. HERO ELEMENTS
   ============================================================================= */

.numerology-block .ez-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-bottom: var(--ezhp-spacing-lg);
    border-radius: var(--ezhp-radius-lg);
}

.numerology-block .ez-hero-content {
    position: relative;
    z-index: 10;
    padding: 0;
}

.numerology-block .ez-hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 5;
}

/* Inline hero image */
.numerology-block .ez-daily-inline-image {
    position: relative;
}

.numerology-block .ez-daily-inline-image img {
    display: block;
    height: auto;
    border-radius: var(--ezhp-radius-lg);
    max-width: 100%;
    box-shadow: var(--ezhp-shadow-md);
}

/* Clear floats */
.numerology-block .ez-hero-text::after {
    content: "";
    display: block;
    clear: both;
}

/* Background hero mode text */
.numerology-block .ez-hero[style*="background-image"] .ez-hero-content {
    padding: var(--ezhp-spacing-xl);
    text-shadow: 0 2px 8px rgba(45, 49, 66, 0.5);
}

.numerology-block .ez-hero[style*="background-image"] .numerology-title {
    color: var(--ezhp-text-light);
}


/* =============================================================================
   7. LOADING & PROGRESS STATES
   ============================================================================= */

/* Progress bar container */
.numerology-block .ezhp-progress-container {
    width: 100%;
    height: 6px;
    background: var(--ezhp-progress-track);
    overflow: hidden;
    border-radius: var(--ezhp-radius-sm);
    margin: var(--ezhp-spacing-md) 0;
    position: relative;
}

/* Progress bar fill */
.numerology-block .ezhp-progress-bar {
    position: absolute;
    height: 100%;
    width: 30%;
    background: var(--ezhp-progress-fill);
    border-radius: var(--ezhp-radius-sm);
    animation: ezhp-numerology-slide 1.5s ease-in-out infinite;
}

@keyframes ezhp-numerology-slide {
    0% { left: -30%; }
    100% { left: 100%; }
}

/* Loading text */
.numerology-block .numerology-result > div:not(.ezhp-progress-container):not(.section):not(.numerology-report):not(.ez-hero) {
    text-align: center;
    padding: var(--ezhp-spacing-md);
    color: var(--ezhp-text-muted);
    font-family: var(--ezhp-font-family-accent);
    font-style: italic;
}


/* =============================================================================
   8. RTL (RIGHT-TO-LEFT) SUPPORT
   ============================================================================= */

/* Base RTL wrapper */
.numerology-block[dir="rtl"],
.numerology-block.is-rtl {
    text-align: right;
    direction: rtl;
}

/* Form layout for RTL */
.numerology-block[dir="rtl"] .ezhp-form,
.numerology-block.is-rtl .ezhp-form {
    flex-direction: row-reverse;
}

/* Label decoration flip */
.numerology-block[dir="rtl"] .ezhp-form label::before,
.numerology-block.is-rtl .ezhp-form label::before {
    content: " ✦";
}

.numerology-block[dir="rtl"] .ezhp-form label::after,
.numerology-block.is-rtl .ezhp-form label::after {
    content: none;
}

/* Input text alignment for RTL */
.numerology-block[dir="rtl"] .ezhp-form input[type="text"],
.numerology-block.is-rtl .ezhp-form input[type="text"] {
    text-align: right;
}

/* Date input direction (keep LTR for numbers but align right) */
.numerology-block[dir="rtl"] .ezhp-form input[type="date"],
.numerology-block.is-rtl .ezhp-form input[type="date"] {
    direction: ltr;
    text-align: right;
}

/* Labels for RTL */
.numerology-block[dir="rtl"] label,
.numerology-block.is-rtl label {
    text-align: right;
    width: 100%;
}

/* Hero section RTL */
.numerology-block[dir="rtl"] .ez-hero,
.numerology-block.is-rtl .ez-hero {
    text-align: right;
}

.numerology-block[dir="rtl"] .ez-hero-text,
.numerology-block.is-rtl .ez-hero-text {
    text-align: right;
}

/* Numerology result RTL */
.numerology-block[dir="rtl"] .numerology-result,
.numerology-block.is-rtl .numerology-result {
    text-align: right;
}

/* Section border flip */
.numerology-block[dir="rtl"] .numerology-report .section,
.numerology-block[dir="rtl"] .section,
.numerology-block.is-rtl .numerology-report .section,
.numerology-block.is-rtl .section {
    border-left: none !important;
    border-right: 3px solid var(--ezhp-color-tertiary) !important;
}

/* Practical step border flip */
.numerology-block[dir="rtl"] .section p:last-of-type:has(strong:first-child),
.numerology-block.is-rtl .section p:last-of-type:has(strong:first-child) {
    border-left: none !important;
    border-right: 3px solid var(--ezhp-color-secondary) !important;
}

/* Title decorations */
.numerology-block[dir="rtl"] .numerology-title::before,
.numerology-block.is-rtl .numerology-title::before {
    content: " ✦";
}

.numerology-block[dir="rtl"] .numerology-title::after,
.numerology-block.is-rtl .numerology-title::after {
    content: "✦ ";
}

/* Titles and headings RTL */
.numerology-block[dir="rtl"] h2,
.numerology-block[dir="rtl"] h3,
.numerology-block.is-rtl h2,
.numerology-block.is-rtl h3 {
    text-align: right !important;
}

/* Paragraphs RTL */
.numerology-block[dir="rtl"] p,
.numerology-block.is-rtl p {
    text-align: right !important;
}

/* Progress bar animation for RTL (slide from right to left) */
.numerology-block[dir="rtl"] .ezhp-progress-bar,
.numerology-block.is-rtl .ezhp-progress-bar {
    animation: ezhp-numerology-slide-rtl 1.5s ease-in-out infinite;
}

@keyframes ezhp-numerology-slide-rtl {
    0% { right: -30%; left: auto; }
    100% { right: 100%; left: auto; }
}

/* Lists for RTL */
.numerology-block[dir="rtl"] ul,
.numerology-block[dir="rtl"] ol,
.numerology-block.is-rtl ul,
.numerology-block.is-rtl ol {
    padding-right: var(--ezhp-spacing-lg);
    padding-left: 0;
}

.numerology-block[dir="rtl"] li,
.numerology-block.is-rtl li {
    text-align: right;
}


/* =============================================================================
   9. RESPONSIVE DESIGN
   ============================================================================= */

@media (max-width: 768px) {
    .numerology-block {
        --ezhp-font-size-2xl: 1.375rem;
        --ezhp-font-size-3xl: 1.5rem;
        --ezhp-spacing-lg: 1.25rem;
        --ezhp-spacing-xl: 1.5rem;
    }
    
    .numerology-block .ezhp-form {
        padding: var(--ezhp-spacing-md);
    }
    
    .numerology-block .ezhp-form input[type="text"] {
        min-width: 100%;
    }
    
    .numerology-block .numerology-report .section,
    .numerology-block .section {
        padding: var(--ezhp-spacing-md) !important;
    }
}

@media (max-width: 480px) {
    .numerology-block {
        --ezhp-font-size-lg: 1rem;
        --ezhp-font-size-xl: 1.125rem;
        --ezhp-font-size-2xl: 1.25rem;
        --ezhp-font-size-3xl: 1.375rem;
        --ezhp-spacing-md: 0.75rem;
        --ezhp-spacing-lg: 1rem;
    }
    
    .numerology-block .ezhp-form {
        flex-direction: column;
        align-items: stretch;
    }
    
    .numerology-block .ezhp-form input[type="text"],
    .numerology-block .ezhp-form input[type="date"],
    .numerology-block .ezhp-form button {
        width: 100%;
    }
    
    .numerology-block .numerology-title::before,
    .numerology-block .numerology-title::after {
        display: none;
    }
    
    /* RTL mobile - stack form vertically */
    .numerology-block[dir="rtl"] .ezhp-form,
    .numerology-block.is-rtl .ezhp-form {
        flex-direction: column;
        align-items: stretch;
    }
}


/* =============================================================================
   10. PRINT STYLES
   ============================================================================= */

@media print {
    .numerology-block {
        font-size: 10pt;
        color: #000 !important;
        background: #fff !important;
    }
    
    .numerology-block .ezhp-form {
        display: none;
    }
    
    .numerology-block .numerology-report .section,
    .numerology-block .section {
        background: none !important;
        box-shadow: none !important;
        border: none !important;
        border-left: 2px solid #000 !important;
        page-break-inside: avoid;
        padding: 1rem !important;
    }
    
    .numerology-block .numerology-report h2,
    .numerology-block .section h2 {
        font-size: 14pt !important;
        color: #000 !important;
        font-style: normal !important;
        border-bottom-color: #000 !important;
    }
    
    .numerology-block .numerology-title,
    .numerology-block h2.numerology-title {
        font-size: 16pt !important;
        color: #000 !important;
        font-style: normal !important;
    }
    
    .numerology-block .numerology-title::before,
    .numerology-block .numerology-title::after {
        content: none;
    }
    
    .numerology-block .numerology-report p,
    .numerology-block .section p {
        color: #000 !important;
        background: none !important;
    }
    
    .numerology-block .numerology-report strong,
    .numerology-block .section strong {
        color: #000 !important;
    }
    
    .numerology-block .numerology-report em,
    .numerology-block .section em {
        color: #333 !important;
    }
    
    .numerology-block .ezhp-progress-container {
        display: none;
    }
    
    .numerology-block .ez-hero[style*="background-image"] {
        background-image: none !important;
    }
    
    .numerology-block .ez-hero-overlay {
        display: none;
    }
    
    .numerology-block .section p:last-of-type:has(strong:first-child) {
        background: none !important;
        border-left: 2px solid #666 !important;
        padding-left: 1rem !important;
    }
}


/* =============================================================================
   END OF NUMEROLOGY BLOCK MYSTICAL THEME STYLESHEET
   
   COLOR REFERENCE:
   ----------------
   Primary (dusty blue-purple): #5D6B8A
   Secondary (warm gold): #C9A962
   Tertiary (soft lavender): #9BA4C4
   
   GOOGLE FONT SUGGESTION:
   -----------------------
   <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap" rel="stylesheet">
   
   ============================================================================= */