/* PointsTravelClub — site styles */

body { font-family: 'Inter', sans-serif; background-color: #fcfcfc; color: #0f172a; }
.font-header { font-family: 'Manrope', sans-serif; }

/* Credit card visual styles */
.card-amex {
    background: linear-gradient(135deg, #d1d5db 0%, #94a3b8 50%, #cbd5e1 100%);
    border: 1px solid #94a3b8;
}
.card-chase {
    background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
    border: 1px solid #1d4ed8;
}
.card-capital {
    background: linear-gradient(135deg, #334155 0%, #0f172a 100%);
    border: 1px solid #475569;
}

.premium-shadow { box-shadow: 0 20px 40px -15px rgba(0,0,0,0.1); }
.glass-dark { background: rgba(15, 23, 42, 0.8); backdrop-filter: blur(12px); }

.deal-ticker { animation: ticker 25s linear infinite; }
@keyframes ticker { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }

/* Dropdown sub-tabs */
.nav-item { position: relative; }
.nav-item > a.nav-trigger { display: inline-flex; align-items: center; gap: 4px; }
.nav-item > a.nav-trigger .chev { transition: transform 0.2s ease; }
.nav-item:hover > a.nav-trigger .chev { transform: rotate(180deg); }

.nav-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 260px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.04);
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    z-index: 100;
}
.nav-dropdown::before {
    content: "";
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    height: 14px;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.nav-dropdown a {
    display: block;
    padding: 10px 22px;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.nav-dropdown a:hover {
    background: #f1f5f9;
    color: #0ea5e9;
}

/* Prose for markdown post bodies */
.prose-post { max-width: 720px; margin: 0 auto; line-height: 1.75; font-size: 1.125rem; color: #1e293b; }
.prose-post h2 { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 2rem; margin: 2.5rem 0 1rem; letter-spacing: -0.02em; }
.prose-post h3 { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 1.5rem; margin: 2rem 0 0.75rem; }
.prose-post p { margin: 1.25rem 0; }
.prose-post a { color: #0284c7; text-decoration: underline; text-underline-offset: 3px; }
.prose-post a:hover { color: #0369a1; }
.prose-post ul, .prose-post ol { padding-left: 1.5rem; margin: 1.25rem 0; }
.prose-post li { margin: 0.5rem 0; }
.prose-post blockquote { border-left: 4px solid #0ea5e9; padding-left: 1.25rem; margin: 1.5rem 0; font-style: italic; color: #475569; }
.prose-post img { border-radius: 1rem; margin: 2rem 0; box-shadow: 0 20px 40px -15px rgba(0,0,0,0.15); }
.prose-post code { background: #f1f5f9; padding: 2px 6px; border-radius: 4px; font-size: 0.95em; }
.prose-post pre { background: #0f172a; color: #e2e8f0; padding: 1.25rem; border-radius: 0.75rem; overflow-x: auto; }
.prose-post pre code { background: transparent; padding: 0; color: inherit; }
