Style Reference Tarot Card Reading

/* =============================================================================
   EZ HOROSCOPE - TAROT 3-CARD SPREAD BLOCK
   MYSTICAL THEME - Inspired by ImmortalEmbrace.com
   =============================================================================
   
   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. Loading State
   4. Header Area
   5. Deck & Cards
   6. Selected Card Slots
   7. Reading Container
   8. Reading Content (API Output)
   9. Animations (Themed)
   10. RTL (Right-to-Left) Support
   11. Responsive Design
   12. Print Styles
   
   ============================================================================= */


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

.ez-tarot-spread {
    
    /* -------------------------------------------------------------------------
       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);
    --ezhp-bg-slot: rgba(255, 255, 255, 0.6);
    
    /* 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;
    
    /* 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);
    
    /* Glow colors (for animations) */
    --ezhp-glow-gold: rgba(201, 169, 98, 0.8);
    --ezhp-glow-gold-intense: rgba(201, 169, 98, 1);
    --ezhp-glow-lavender: rgba(155, 164, 196, 0.6);
    
    /* -------------------------------------------------------------------------
       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-size-4xl: 2rem;
    
    --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-border-width-thick: 3px;
    
    --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.12);
    --ezhp-shadow-glow: 0 0 20px rgba(201, 169, 98, 0.3);
    --ezhp-shadow-card: 0 4px 15px rgba(45, 49, 66, 0.15);
    
    /* -------------------------------------------------------------------------
       TRANSITIONS
       ------------------------------------------------------------------------- */
    
    --ezhp-transition-fast: 150ms ease;
    --ezhp-transition-normal: 250ms ease;
    --ezhp-transition-slow: 400ms ease;
}


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

.ez-tarot-spread {
    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);
}

.ez-tarot-spread .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--ezhp-spacing-lg);
}


/* =============================================================================
   3. LOADING STATE
   ============================================================================= */

.ez-tarot-spread .tarot-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
    background: var(--ezhp-bg-mystical);
    border-radius: var(--ezhp-radius-lg);
}

/* Mystical gold spinner */
.ez-tarot-spread .tarot-spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgba(201, 169, 98, 0.2) !important;
    border-top-color: var(--ezhp-color-secondary) !important;
    border-radius: 50%;
    animation: ezhp-tarot-spin 1s linear infinite;
    box-shadow: 0 0 20px rgba(201, 169, 98, 0.3);
}

@keyframes ezhp-tarot-spin {
    to { transform: rotate(360deg); }
}


/* =============================================================================
   4. HEADER AREA
   ============================================================================= */

.ez-tarot-spread .header-area {
    text-align: center;
    margin-bottom: var(--ezhp-spacing-xl);
    padding: var(--ezhp-spacing-lg);
    background: var(--ezhp-bg-mystical) !important;
    border-radius: var(--ezhp-radius-lg);
    border: 1px solid rgba(155, 164, 196, 0.2);
}

/* Main title */
.ez-tarot-spread .header-area h1,
.ez-tarot-spread #selectHeader {
    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;
    color: var(--ezhp-color-primary) !important;
    margin: 0 0 var(--ezhp-spacing-md) 0 !important;
    letter-spacing: var(--ezhp-letter-spacing-wide);
}

/* Decorative stars around title */
.ez-tarot-spread #selectHeader::before {
    content: "✦ ";
    color: var(--ezhp-color-secondary);
    font-style: normal;
}

.ez-tarot-spread #selectHeader::after {
    content: " ✦";
    color: var(--ezhp-color-secondary);
    font-style: normal;
}

/* Instructions text */
.ez-tarot-spread #selectInstructions {
    font-family: var(--ezhp-font-family-base) !important;
    font-size: var(--ezhp-font-size-base) !important;
    color: var(--ezhp-text-muted) !important;
    margin: var(--ezhp-spacing-md) 0 0 0 !important;
    font-style: italic;
}

/* Shuffle button - inherits theme styling */


/* =============================================================================
   5. DECK & CARDS
   ============================================================================= */

.ez-tarot-spread #deckArea {
    position: relative;
    margin: var(--ezhp-spacing-xl) 0;
    padding: var(--ezhp-spacing-xl) var(--ezhp-spacing-lg);
    background: linear-gradient(180deg, 
        rgba(103, 80, 150, 0.25) 0%, 
        rgba(103, 80, 150, 0.40) 30%, 
        rgba(103, 80, 150, 0.45) 70%,
        rgba(103, 80, 150, 0.30) 100%);
    border-radius: var(--ezhp-radius-xl);
    border: 1px solid rgba(103, 80, 150, 0.35);
    box-shadow: inset 0 2px 20px rgba(103, 80, 150, 0.25);
}

.ez-tarot-spread .deck-container {
    position: relative;
    width: 100%;
    height: 320px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    overflow: visible;
    pointer-events: none;
}

/* Individual card styling */
.ez-tarot-spread .card {
    width: 130px;
    height: 230px;
    position: absolute;
    pointer-events: auto;
    transform-origin: center bottom;
    transition: transform 0.6s ease;
    border-radius: var(--ezhp-radius-md);
    box-shadow: var(--ezhp-shadow-card);
}

.ez-tarot-spread .card:hover {
    box-shadow: 0 0 20px var(--ezhp-glow-gold);
}

.ez-tarot-spread .card-face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: var(--ezhp-radius-md);
    overflow: hidden;
}

.ez-tarot-spread .card-back {
    transform: rotateY(0deg);
}

.ez-tarot-spread .card-front {
    transform: rotateY(180deg);
}

.ez-tarot-spread .card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--ezhp-radius-md);
}


/* =============================================================================
   6. SELECTED CARD SLOTS
   ============================================================================= */

.ez-tarot-spread .selected-cards {
    display: flex;
    gap: var(--ezhp-spacing-lg);
    justify-content: center;
    flex-wrap: wrap;
    margin-top: var(--ezhp-spacing-xl);
}

.ez-tarot-spread .selected-slot {
    background: var(--ezhp-bg-slot) !important;
    border: var(--ezhp-border-width-medium) solid var(--ezhp-color-tertiary) !important;
    border-radius: var(--ezhp-radius-lg) !important;
    padding: var(--ezhp-spacing-md) !important;
    width: 265px !important;
    min-width: 265px !important;
    max-width: 265px !important;
    text-align: center;
    box-shadow: var(--ezhp-shadow-sm);
    transition: all var(--ezhp-transition-normal);
}

.ez-tarot-spread .selected-slot:hover {
    border-color: var(--ezhp-color-secondary) !important;
    box-shadow: var(--ezhp-shadow-glow);
}

/* Position labels (Past / Present / Future) */
.ez-tarot-spread .position-label {
    font-family: var(--ezhp-font-family-accent) !important;
    font-size: var(--ezhp-font-size-lg) !important;
    font-weight: var(--ezhp-font-weight-semibold) !important;
    font-style: italic !important;
    color: var(--ezhp-color-primary) !important;
    margin-bottom: var(--ezhp-spacing-sm) !important;
    text-transform: uppercase;
    letter-spacing: var(--ezhp-letter-spacing-wider);
}

/* Placeholder text */
.ez-tarot-spread .selected-slot > div:not(.position-label) {
    color: var(--ezhp-text-muted);
    font-style: italic;
}

/* Card name in slot */
.ez-tarot-spread .selected-slot h3 {
    font-family: var(--ezhp-font-family-accent) !important;
    font-size: var(--ezhp-font-size-xl) !important;
    font-weight: var(--ezhp-font-weight-normal) !important;
    font-style: italic !important;
    color: var(--ezhp-color-secondary) !important;
    margin: var(--ezhp-spacing-sm) 0 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

/* Card image in slot */
.ez-tarot-spread .selected-slot img {
    width: 100%;
    max-width: 200px;
    height: auto;
    margin: 0 auto;
    border-radius: var(--ezhp-radius-md);
    box-shadow: var(--ezhp-shadow-md);
}


/* =============================================================================
   7. READING CONTAINER
   ============================================================================= */

.ez-tarot-spread .reading-container,
.ez-tarot-spread #tarotReading {
    margin-top: var(--ezhp-spacing-2xl);
    padding: var(--ezhp-spacing-xl);
    background: var(--ezhp-bg-mystical);
    border-radius: var(--ezhp-radius-xl);
    border: 1px solid rgba(155, 164, 196, 0.2);
}

.ez-tarot-spread .reading-container.hidden,
.ez-tarot-spread #tarotReading.hidden {
    display: none;
}


/* =============================================================================
   8. READING CONTENT (API OUTPUT)
   ============================================================================= */

/* Card section headings (h2) */
.ez-tarot-spread .reading-container h2,
.ez-tarot-spread #tarotReading 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: var(--ezhp-spacing-xl) 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;
}

/* First h2 no top margin */
.ez-tarot-spread .reading-container h2:first-child,
.ez-tarot-spread #tarotReading h2:first-child {
    margin-top: 0 !important;
}

/* Decorative element before card headings */
.ez-tarot-spread .reading-container h2::before,
.ez-tarot-spread #tarotReading h2::before {
    content: "✧ ";
    color: var(--ezhp-color-secondary);
    font-style: normal;
}

/* Colored spans in headings (from API) */
.ez-tarot-spread .reading-container h2 span[style*="color"],
.ez-tarot-spread #tarotReading h2 span[style*="color"] {
    color: var(--ezhp-color-secondary) !important;
}

/* Paragraphs */
.ez-tarot-spread .reading-container p,
.ez-tarot-spread #tarotReading 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;
}

/* Strong/bold text */
.ez-tarot-spread .reading-container strong,
.ez-tarot-spread .reading-container b,
.ez-tarot-spread #tarotReading strong,
.ez-tarot-spread #tarotReading b {
    font-weight: var(--ezhp-font-weight-semibold) !important;
    color: var(--ezhp-text-primary) !important;
}

/* Practical Step / Action Step labels */
.ez-tarot-spread .reading-container b:first-child,
.ez-tarot-spread #tarotReading b:first-child {
    color: var(--ezhp-color-secondary) !important;
}

/* Emphasis/italic text */
.ez-tarot-spread .reading-container em,
.ez-tarot-spread .reading-container i,
.ez-tarot-spread #tarotReading em,
.ez-tarot-spread #tarotReading i {
    font-style: italic !important;
    color: var(--ezhp-color-primary) !important;
}

/* Affirmation styling */
.ez-tarot-spread .reading-container span[style*="color:#845EC2"],
.ez-tarot-spread #tarotReading span[style*="color:#845EC2"] {
    color: var(--ezhp-color-primary) !important;
    font-style: italic;
}

/* Lists */
.ez-tarot-spread .reading-container ul,
.ez-tarot-spread #tarotReading ul {
    margin: var(--ezhp-spacing-md) 0 var(--ezhp-spacing-lg) 0 !important;
    padding-left: var(--ezhp-spacing-lg) !important;
    list-style: none !important;
}

.ez-tarot-spread .reading-container li,
.ez-tarot-spread #tarotReading li {
    font-family: var(--ezhp-font-family-base) !important;
    font-size: var(--ezhp-font-size-base) !important;
    line-height: var(--ezhp-line-height-relaxed) !important;
    color: var(--ezhp-text-secondary) !important;
    margin-bottom: var(--ezhp-spacing-sm) !important;
    padding-left: var(--ezhp-spacing-sm) !important;
    position: relative;
}

/* Custom list bullet using star */
.ez-tarot-spread .reading-container li::before,
.ez-tarot-spread #tarotReading li::before {
    content: "✧";
    position: absolute;
    left: calc(-1 * var(--ezhp-spacing-md));
    color: var(--ezhp-color-tertiary);
    font-size: var(--ezhp-font-size-sm);
}

/* Connecting Journey section (special styling) */
.ez-tarot-spread .reading-container h2:contains("Connecting"),
.ez-tarot-spread .reading-container h2:contains("Weaving"),
.ez-tarot-spread #tarotReading h2:contains("Connecting"),
.ez-tarot-spread #tarotReading h2:contains("Weaving") {
    margin-top: var(--ezhp-spacing-2xl) !important;
    padding-top: var(--ezhp-spacing-lg) !important;
    border-top: 1px solid rgba(155, 164, 196, 0.3) !important;
}


/* =============================================================================
   9. ANIMATIONS (THEMED)
   ============================================================================= */

/* Card click feedback - gold glow */
.ez-tarot-spread .ez-card-click-feedback {
    animation: ezhp-tarot-click 0.42s ease-out forwards;
}

@keyframes ezhp-tarot-click {
    0% {
        transform: translate3d(0, 0, 0) var(--tarot-base-transform) scale(1);
        box-shadow: 0 0 0 rgba(201, 169, 98, 0);
        filter: brightness(1);
    }
    30% {
        transform: translate3d(0, -30px, 0) var(--tarot-base-transform) scale(1.22);
        box-shadow: 0 0 45px 18px var(--ezhp-glow-gold);
        filter: brightness(1.4);
    }
    55% {
        transform: translate3d(0, -48px, 0) var(--tarot-base-transform) scale(1.28);
        box-shadow: 0 0 60px 24px var(--ezhp-glow-gold-intense);
        filter: brightness(1.7);
    }
    100% {
        transform: translate3d(0, -22px, 0) var(--tarot-base-transform) scale(1.12);
        box-shadow: 0 0 18px 6px rgba(201, 169, 98, 0.5);
        filter: brightness(1.2);
    }
}

/* Slot glow when card lands */
.ez-tarot-spread .selected-slot.slot-glow {
    animation: ezhp-slot-glow 0.8s ease-out forwards;
}

@keyframes ezhp-slot-glow {
    0% {
        box-shadow: 0 0 0 rgba(201, 169, 98, 0);
        filter: brightness(1);
    }
    30% {
        box-shadow: 0 0 40px 15px var(--ezhp-glow-gold);
        filter: brightness(1.3);
    }
    100% {
        box-shadow: var(--ezhp-shadow-sm);
        filter: brightness(1);
    }
}

/* Vortex shuffle animation - gold themed */
.ez-tarot-spread .deck-container.shuffling {
    perspective: 1000px;
}

.ez-tarot-spread .card.vortex-shuffle {
    animation: ezhp-vortex-shuffle 2.5s ease-in-out forwards;
    animation-delay: var(--card-delay, 0ms);
}

@keyframes ezhp-vortex-shuffle {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(0.8);
        opacity: 0;
        filter: brightness(1);
        box-shadow: 0 0 0 rgba(201, 169, 98, 0);
    }
    8% {
        transform: translate(0, 0) rotate(0deg) scale(0.9);
        opacity: 1;
        filter: brightness(1);
        box-shadow: 0 0 5px rgba(201, 169, 98, 0.3);
    }
    20% {
        transform: 
            rotate(var(--card-angle))
            translateX(var(--orbit-radius))
            rotate(calc(-1 * var(--card-angle)))
            scale(0.85);
        opacity: 1;
        filter: brightness(1.3);
        box-shadow: 0 0 25px 8px var(--ezhp-glow-gold);
    }
    40% {
        transform: 
            rotate(calc(var(--card-angle) + 120deg))
            translateX(var(--orbit-radius))
            rotate(calc(-1 * (var(--card-angle) + 120deg)))
            scale(0.85);
        opacity: 1;
        filter: brightness(1.5);
        box-shadow: 0 0 35px 12px var(--ezhp-glow-gold);
    }
    60% {
        transform: 
            rotate(calc(var(--card-angle) + 280deg))
            translateX(calc(var(--orbit-radius) * 1.1))
            rotate(calc(-1 * (var(--card-angle) + 280deg)))
            scale(0.9);
        opacity: 1;
        filter: brightness(1.6);
        box-shadow: 0 0 45px 15px var(--ezhp-glow-gold-intense);
    }
    80% {
        transform: 
            translate(calc(var(--final-x) * 0.7), calc(var(--final-y) * 0.7))
            rotate(calc(var(--final-rotation) * 0.8))
            scale(0.95);
        opacity: 1;
        filter: brightness(1.2);
        box-shadow: 0 0 20px 6px rgba(201, 169, 98, 0.5);
    }
    100% {
        transform: 
            translate(var(--final-x), var(--final-y))
            rotate(var(--final-rotation))
            scale(1);
        opacity: 1;
        filter: brightness(1);
        box-shadow: 0 0 0 rgba(201, 169, 98, 0);
    }
}

/* Vortex glow trail */
.ez-tarot-spread .deck-container.shuffling::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 350px;
    height: 350px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 169, 98, 0.15) 0%, transparent 70%);
    animation: ezhp-vortex-glow 2.5s ease-in-out forwards;
    pointer-events: none;
}

@keyframes ezhp-vortex-glow {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.5);
    }
    20% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    60% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.2);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.5);
    }
}


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

.ez-tarot-spread[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

/* Header decorations flip */
.ez-tarot-spread[dir="rtl"] #selectHeader::before {
    content: " ✦";
}

.ez-tarot-spread[dir="rtl"] #selectHeader::after {
    content: "✦ ";
}

/* Reading headings decoration flip */
.ez-tarot-spread[dir="rtl"] .reading-container h2::before,
.ez-tarot-spread[dir="rtl"] #tarotReading h2::before {
    content: " ✧";
}

/* Lists RTL */
.ez-tarot-spread[dir="rtl"] .reading-container ul,
.ez-tarot-spread[dir="rtl"] #tarotReading ul {
    padding-left: 0 !important;
    padding-right: var(--ezhp-spacing-lg) !important;
}

.ez-tarot-spread[dir="rtl"] .reading-container li,
.ez-tarot-spread[dir="rtl"] #tarotReading li {
    padding-left: 0 !important;
    padding-right: var(--ezhp-spacing-sm) !important;
}

.ez-tarot-spread[dir="rtl"] .reading-container li::before,
.ez-tarot-spread[dir="rtl"] #tarotReading li::before {
    left: auto;
    right: calc(-1 * var(--ezhp-spacing-md));
}

/* Selected cards remain centered */
.ez-tarot-spread[dir="rtl"] .selected-cards {
    justify-content: center;
}


/* =============================================================================
   11. RESPONSIVE DESIGN
   ============================================================================= */

@media (max-width: 768px) {
    .ez-tarot-spread {
        --ezhp-font-size-2xl: 1.375rem;
        --ezhp-font-size-3xl: 1.5rem;
        --ezhp-spacing-lg: 1.25rem;
        --ezhp-spacing-xl: 1.5rem;
    }
    
    .ez-tarot-spread .header-area {
        padding: var(--ezhp-spacing-md);
    }
    
    .ez-tarot-spread .reading-container,
    .ez-tarot-spread #tarotReading {
        padding: var(--ezhp-spacing-lg);
    }
}

@media (max-width: 600px) {
    .ez-tarot-spread {
        --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;
    }
    
    .ez-tarot-spread .card {
        width: 85px;
        height: 150px;
    }
    
    .ez-tarot-spread .deck-container {
        height: 240px;
    }
    
    .ez-tarot-spread .selected-cards {
        flex-direction: column !important;
        align-items: center !important;
        gap: var(--ezhp-spacing-sm) !important;
    }
    
    .ez-tarot-spread .selected-slot {
        width: 95% !important;
        max-width: 360px !important;
        min-width: unset !important;
    }
    
    /* Smaller vortex on mobile */
    .ez-tarot-spread .card.vortex-shuffle {
        --orbit-radius: 100px;
    }
    
    .ez-tarot-spread .deck-container.shuffling::after {
        width: 200px;
        height: 200px;
    }
    
    /* Title decorations hidden on mobile */
    .ez-tarot-spread #selectHeader::before,
    .ez-tarot-spread #selectHeader::after {
        display: none;
    }
}


/* =============================================================================
   12. PRINT STYLES
   ============================================================================= */

@media print {
    .ez-tarot-spread {
        font-size: 10pt;
        color: #000 !important;
        background: #fff !important;
    }
    
    .ez-tarot-spread .tarot-loader,
    .ez-tarot-spread .header-area,
    .ez-tarot-spread #deckArea,
    .ez-tarot-spread .deck-container {
        display: none !important;
    }
    
    .ez-tarot-spread .selected-cards {
        margin-top: 0 !important;
        transform: none !important;
    }
    
    .ez-tarot-spread .selected-slot {
        background: none !important;
        border: 1px solid #000 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
    
    .ez-tarot-spread .position-label {
        color: #000 !important;
    }
    
    .ez-tarot-spread .reading-container,
    .ez-tarot-spread #tarotReading {
        background: none !important;
        border: none !important;
        padding: 1rem !important;
    }
    
    .ez-tarot-spread .reading-container h2,
    .ez-tarot-spread #tarotReading h2 {
        font-size: 14pt !important;
        color: #000 !important;
        font-style: normal !important;
        border-bottom-color: #000 !important;
    }
    
    .ez-tarot-spread .reading-container h2::before,
    .ez-tarot-spread #tarotReading h2::before {
        content: none;
    }
    
    .ez-tarot-spread .reading-container p,
    .ez-tarot-spread .reading-container li,
    .ez-tarot-spread #tarotReading p,
    .ez-tarot-spread #tarotReading li {
        color: #000 !important;
    }
    
    .ez-tarot-spread .reading-container strong,
    .ez-tarot-spread .reading-container b,
    .ez-tarot-spread #tarotReading strong,
    .ez-tarot-spread #tarotReading b {
        color: #000 !important;
    }
    
    .ez-tarot-spread .reading-container em,
    .ez-tarot-spread .reading-container i,
    .ez-tarot-spread #tarotReading em,
    .ez-tarot-spread #tarotReading i {
        color: #333 !important;
    }
    
    .ez-tarot-spread .reading-container li::before,
    .ez-tarot-spread #tarotReading li::before {
        color: #666;
    }
}


/* =============================================================================
   13. EDITOR STYLES
   ============================================================================= */

.ez-tarot-block-editor {
    border: 2px solid var(--ezhp-color-tertiary, #9BA4C4) !important;
    padding: var(--ezhp-spacing-lg, 1.5rem);
    border-radius: var(--ezhp-radius-lg, 12px);
    background: linear-gradient(135deg, rgba(93, 107, 138, 0.03) 0%, rgba(155, 164, 196, 0.05) 100%) !important;
}

.ez-tarot-block-editor .tarot-editor-placeholder {
    text-align: center;
    padding: var(--ezhp-spacing-xl, 2rem);
}

.ez-tarot-block-editor .tarot-editor-placeholder h2 {
    font-family: var(--ezhp-font-family-accent, Georgia, serif);
    font-style: italic;
    color: var(--ezhp-color-primary, #5D6B8A);
    margin-bottom: var(--ezhp-spacing-md, 1rem);
}

.ez-tarot-block-editor .tarot-editor-placeholder p {
    color: var(--ezhp-text-muted, rgba(45, 49, 66, 0.6));
}


/* =============================================================================
   END OF TAROT 3-CARD SPREAD MYSTICAL THEME STYLESHEET
   
   COLOR REFERENCE:
   ----------------
   Primary (dusty blue-purple): #5D6B8A
   Secondary (warm gold): #C9A962
   Tertiary (soft lavender): #9BA4C4
   Quaternary (deep navy): #2D3142
   
   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">
   
   ============================================================================= */