/* ============================================================
   RESIDENCIAS MÉDICAS — Design System
   Aesthetic: HTML Skill Library (premium, fluid, animated)
   Version: 1.2.0
   Palette: RM navy/turquoise/coral
   ============================================================ */

/* ─── DESIGN TOKENS ────────────────────────────────────── */
:root {
    /* Core Palette */
    --rm-navy: #1a3a5c;
    --rm-navy-light: #2a4a6c;
    --rm-navy-dark: #0f1b2d;
    --rm-turquoise: #2ab7b7;
    --rm-turquoise-dark: #1a8f8f;
    --rm-turquoise-light: #3fd4d4;
    --rm-coral: #e86c4f;
    --rm-coral-dark: #c45a3f;
    --rm-coral-light: #f08060;

    /* Extended Grays */
    --rm-gray-50: #fafafa;
    --rm-gray-100: #f8f8f7;
    --rm-gray-200: #e8e6e3;
    --rm-gray-300: #d0cec8;
    --rm-gray-400: #71716a;
    --rm-gray-500: #8a8880;
    --rm-gray-600: #6a6860;
    --rm-gray-700: #4a4840;
    --rm-gray-800: #2a2820;

    /* Semantic */
    --rm-bg: #ffffff;
    --rm-bg-alt: var(--rm-gray-50);
    --rm-text: var(--rm-gray-800);
    --rm-text-muted: var(--rm-gray-600);
    --rm-text-light: var(--rm-gray-400);
    --rm-border: var(--rm-gray-200);

    /* Fluid Typography */
    --rm-text-hero: clamp(1.75rem, 4vw, 3rem);
    --rm-text-h2: clamp(1.3rem, 3vw, 2rem);
    --rm-text-h3: clamp(1.05rem, 2vw, 1.35rem);
    --rm-text-body: clamp(0.875rem, 1.3vw, 1rem);
    --rm-text-small: clamp(0.75rem, 1vw, 0.875rem);
    --rm-text-xs: clamp(0.65rem, 0.9vw, 0.75rem);

    /* Layered Shadows */
    --rm-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --rm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --rm-shadow-md: 0 4px 16px rgba(26, 58, 92, 0.08);
    --rm-shadow-lg: 0 8px 30px rgba(26, 58, 92, 0.1);
    --rm-shadow-xl: 0 16px 48px rgba(26, 58, 92, 0.12);
    --rm-shadow-glow-turquoise: 0 6px 24px rgba(42, 183, 183, 0.25);
    --rm-shadow-glow-coral: 0 6px 24px rgba(232, 108, 79, 0.3);

    /* Border Radius */
    --rm-radius-sm: var(--rm-global-radius-sm, 8px);
    --rm-radius: var(--rm-global-radius, 12px);
    --rm-radius-lg: var(--rm-global-radius-lg, 16px);
    --rm-radius-pill: 50px;

    /* Transitions */
    --rm-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --rm-duration-fast: 0.2s;
    --rm-duration: 0.3s;
    --rm-duration-slow: 0.4s;

    /* Z-index scale */
    --rm-z-badge: 10;
    --rm-z-header: 100;
    --rm-z-overlay: 500;
    --rm-z-modal: 1000;
}


/* ─── TYPOGRAPHY ───────────────────────────────────────── */
.rm-sc h1, .rm-sc h2, .rm-sc h3,
.rm-sc .rm-hero__title,
.rm-sc .rm-section-badge,
.rm-sc .rm-catmod__header-title {
    font-family: 'Montserrat', 'Inter', -apple-system, sans-serif;
}

.rm-sc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--rm-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.rm-sc *, .rm-sc *::before, .rm-sc *::after {
    box-sizing: border-box;
}

/* Force disable diagonal ribbons on pricing cards */
.rm-pricing-card::before,
.rm-pricing-card::after,
.rm-pricing-card--classic::before,
.rm-pricing-card--classic::after,
.rm-pricing-card--featured::before,
.rm-pricing-card--featured::after,
.rm-pricing-card[data-ribbon]::before,
.rm-pricing-card[data-ribbon]::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
}
