/* MFM 64: CTA rail and blog card consistency. */

.mfm-cta-rail {
    left: 22px !important;
    bottom: 22px !important;
    z-index: 9999 !important;
    display: grid !important;
    gap: 10px !important;
    justify-items: start !important;
}

.mfm-cta-rail__toggle {
    position: relative;
    min-width: 166px !important;
    height: 58px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
        rgba(25, 15, 14, 0.92) !important;
    color: #fff8ef !important;
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.38) !important;
}

.mfm-cta-rail__toggle-mark {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px;
    background: #d9aa5d;
}

.mfm-cta-rail__toggle-mark::before {
    top: auto !important;
    left: auto !important;
    width: 17px !important;
    height: 12px !important;
    border-radius: 6px !important;
    background: #24120e !important;
}

.mfm-cta-rail__toggle-mark::after {
    left: 7px !important;
    bottom: 5px !important;
    width: 7px !important;
    height: 7px !important;
    background: #24120e !important;
}

.mfm-cta-rail__toggle-label {
    font-size: 15px !important;
    font-weight: 900 !important;
}

.mfm-cta-rail__panel {
    bottom: 72px !important;
    width: 76px !important;
    padding: 10px 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
        rgba(10, 8, 8, 0.82) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.42) !important;
    backdrop-filter: blur(18px);
}

.mfm-cta-rail__header {
    display: none;
}

.mfm-cta-rail__list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.mfm-cta-rail__item,
.mfm-cta-rail__list .mfm-cta-rail__item {
    position: relative;
    width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #15110f !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34) !important;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.mfm-cta-rail__item:hover,
.mfm-cta-rail__item:focus-visible {
    transform: translateY(-2px) scale(1.03) !important;
    border-color: #d9aa5d !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42) !important;
}

.mfm-cta-rail__item .mfm-media-hub-link__icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: currentColor !important;
}

.mfm-cta-rail__item .mfm-media-hub-link__icon svg {
    display: block;
    width: 27px;
    height: 27px;
    fill: currentColor;
}

.mfm-cta-rail__item.is-call .mfm-media-hub-link__icon {
    color: #ec1c24 !important;
}

.mfm-cta-rail__item.is-zalo .mfm-media-hub-link__icon {
    color: #0068ff !important;
}

.mfm-cta-rail__item.is-whatsapp .mfm-media-hub-link__icon {
    color: #20c263 !important;
}

.mfm-cta-rail__item.is-telegram .mfm-media-hub-link__icon {
    color: #31aee9 !important;
}

.mfm-cta-rail__item.is-messenger .mfm-media-hub-link__icon {
    color: #5b86ff !important;
}

.mfm-cta-rail__item.is-map .mfm-media-hub-link__icon {
    color: #d9aa5d !important;
}

.mfm-cta-rail__item .mfm-media-hub-link__label {
    display: none !important;
}

.mfm-blog-grid {
    align-items: stretch !important;
}

.mfm-blog-card,
.gx827-journal-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 8px !important;
}

.mfm-blog-card__image-link,
.gx827-journal-image {
    display: block !important;
    flex: 0 0 auto !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
}

.mfm-blog-card__image,
.gx827-journal-image img,
.mfm-blog-card__placeholder {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.mfm-blog-card__body,
.gx827-journal-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 250px !important;
    padding: 24px !important;
}

.mfm-blog-card--text-only .mfm-blog-card__body,
.gx827-journal-card--text-only .gx827-journal-content {
    min-height: 410px !important;
    justify-content: flex-end;
    padding: clamp(28px, 3.2vw, 46px) !important;
    border-top: 1px solid rgba(216, 173, 99, .2);
    background:
        radial-gradient(circle at 80% 12%, rgba(216, 173, 99, .18), transparent 18rem),
        linear-gradient(145deg, rgba(31, 18, 16, .98), rgba(8, 8, 8, .98));
}

.mfm-blog-card h2,
.gx827-journal-content h3 {
    min-height: 72px !important;
    margin-bottom: 14px !important;
}

.mfm-blog-card h2 a,
.gx827-journal-content h3 a {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 24px !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
}

.mfm-blog-card p,
.gx827-journal-content p {
    display: -webkit-box !important;
    overflow: hidden !important;
    min-height: 68px !important;
    margin-bottom: 22px !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.mfm-blog-card .mfm-btn,
.gx827-journal-btn {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: auto !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.gx827-journal-grid {
    align-items: stretch !important;
}

@media (max-width: 768px) {
    .mfm-cta-rail {
        left: 14px !important;
        bottom: 14px !important;
    }

    .mfm-cta-rail__panel {
        bottom: 64px !important;
        width: 68px !important;
        border-radius: 22px !important;
    }

    .mfm-cta-rail__toggle {
        min-width: 150px !important;
        height: 52px !important;
    }

    .mfm-cta-rail__item,
    .mfm-cta-rail__list .mfm-cta-rail__item {
        width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
        border-radius: 16px !important;
    }

    .mfm-blog-card__body,
    .gx827-journal-content {
        min-height: 228px !important;
    }
}


/* MFM-2F3: respect reduced-motion preferences for persistent support controls. */
@media (prefers-reduced-motion: reduce) {
    .mfm-cta-rail,
    .mfm-cta-rail *,
    .mfm-cta-rail *::before,
    .mfm-cta-rail *::after,
    .mfm-ai-concierge,
    .mfm-ai-concierge *,
    .mfm-ai-concierge *::before,
    .mfm-ai-concierge *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* MFM-CODEX-M3: floating contact safe area */
.mfm-cta-rail { bottom: calc(14px + env(safe-area-inset-bottom)) !important; }
.mfm-cta-rail__toggle,.mfm-cta-rail__item { min-height: 48px !important; }
@media (max-width: 430px) {
  .mfm-cta-rail__toggle { min-width: 0 !important; width: 52px !important; padding: 0 !important; }
  .mfm-cta-rail__toggle-label { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
}
