/**
 * ============================================
 * PRICING DISPLAY SYSTEM v1.0.0
 * P0 FIX: Issue #7 - Smart pricing display
 * ============================================
 * Problem: Zero price (€0) creates trust issues
 * Solution: Smart fallback + range display
 * 
 * Date: January 24, 2026
 * Author: CapriEasy Frontend Team
 * ============================================
 */

/* ==========================================
   PRICING RANGE DISPLAY
   Modern, minimal pricing presentation
   ========================================== */

.pricing-range {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;

    @media (max-width: 767.98px) {
        flex-direction: column;
        gap: var(--spacing-1);
    }
}

.pricing-range__from {
    font-size: var(--font-size-sm);     /* 13px */
    color: var(--color-neutral-600);    /* Gray */
    font-weight: var(--font-weight-normal);
    line-height: 1;

    @media (prefers-contrast: more) {
        color: var(--color-neutral-700);
        font-weight: var(--font-weight-semibold);
    }
}

.pricing-range__amount {    /* 39px */
    font-weight: var(--font-weight-bold);    /* Brand blue */
    line-height: 1;

    @media (max-width: 767.98px) {
        font-size: var(--font-size-3xl);    /* 31px on mobile */
    }

    @media (prefers-contrast: more) {
        color: var(--color-primary-700);
    }

    @media print {
        color: black;
    }
}

.pricing-period {
    font-size: var(--font-size-base);   /* 14px */
    color: var(--color-neutral-600);
    font-weight: var(--font-weight-normal);
    margin-top: var(--spacing-1);

    @media (prefers-contrast: more) {
        color: var(--color-neutral-700);
        font-weight: var(--font-weight-semibold);
    }
}

/* ==========================================
   PRICING HERO (Detail Page)
   Large, prominent price display
   ========================================== */

.listing-price-hero {
    text-align: left;
    margin-bottom: var(--spacing-4);
    border-radius: var(--radius-lg);

    @media (max-width: 767.98px) {
        padding: var(--spacing-3);
    }

    @media print {
        border: 2px solid black;
        background: transparent;
    }
}

.listing-price-hero__label {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-neutral-600);
    margin-bottom: var(--spacing-1);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    font-weight: var(--font-weight-semibold);
}

.listing-price-hero__amount {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-1);
}

.listing-price-hero__currency {
    font-size: var(--font-size-2xl);    /* 24px */
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-600);
}

.listing-price-hero__value {
    font-size: var(--font-size-4xl);    /* 39px */
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-700);
    line-height: 1;
}

.listing-price-hero__period {
    font-size: var(--font-size-base);   /* 14px */
    color: var(--color-neutral-600);

    @media (max-width: 767.98px) {
        text-align: left;
        margin-left: 0;
        margin-top: var(--spacing-2);
    }
}

/* ==========================================
   PRICING - UNSET / CONTACT HOST
   Fallback when price is zero or missing
   ========================================== */

.pricing-amount.pricing--unset {
    font-size: var(--font-size-lg);     /* 16px */
    font-weight: var(--font-weight-medium);
    color: var(--color-neutral-700);
    padding: var(--spacing-4);
    background: var(--color-neutral-50);
    border-radius: var(--radius-md);
    text-align: center;
    border: 1px solid var(--color-neutral-200);
    font-style: italic;
}

/* Alternative: Inline contact */
.pricing-amount.pricing--unset::before {
    content: "💬 ";
    margin-right: var(--spacing-1);
}

/* ==========================================
   ACCESSIBILITY
   Ensure sufficient color contrast
   ========================================== */

/* Focus state for interactive price display */
.pricing-range:focus-visible,
.listing-price-hero:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
}

/* ==========================================
   PRINT STYLES
   (hero / amount: nested on selectors above)
   ========================================== */
