/* ============================================================
   Kaidok.net — Support Page (page-specific styles only)
   Base styles, mobile nav, hero bg, footer etc. are in global.css
   ============================================================ */

.page-hero .container { max-width: 720px; }
.page-hero {
    background-image:
        linear-gradient(to bottom, rgba(10,17,40,0.88) 0%, rgba(10,17,40,0.80) 60%, rgba(10,17,40,0.94) 100%),
        url('/assets/img/support-hero.png');
}
.primary-nav a[href="/support.php"] { color: var(--gold); }

.contact-section { padding: 80px 0; background: var(--navy-mid); }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.contact-card { background: var(--navy); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: 36px 28px; display: flex; flex-direction: column; gap: 14px; transition: border-color var(--transition), transform var(--transition); }
.contact-card:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.contact-card.contact-primary { border-color: var(--gold-border); }
.contact-icon { font-size: 2.2rem; line-height: 1; color: var(--gold); display: block; }
.contact-card h3 { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; text-transform: uppercase; color: var(--frost); }
.contact-card p { font-size: 0.9rem; color: var(--slate-light); line-height: 1.7; flex-grow: 1; }
.contact-meta { display: flex; align-items: center; gap: 10px; }
.contact-badge { font-family: var(--font-display); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; background: var(--gold-dim); color: var(--gold); border: 1px solid var(--gold-border); padding: 3px 10px; border-radius: 20px; }
.contact-link { color: var(--gold); font-size: 0.95rem; font-weight: 600; transition: color var(--transition); }
.contact-link:hover { color: var(--frost); text-decoration: underline; }
.contact-link-plain { color: var(--slate-light); font-size: 0.95rem; }

.response-section { padding: 80px 0; background: var(--navy); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.response-section .section-title { margin-bottom: 48px; }
.response-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 36px; }
.response-card { background: var(--navy-mid); border: 1px solid rgba(255,255,255,0.07); border-radius: var(--radius-lg); padding: 36px 28px; text-align: center; position: relative; }
.response-card.response-featured { border: 2px solid var(--gold); background: var(--navy-light); }
.response-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--navy); font-family: var(--font-display); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 16px; border-radius: 20px; white-space: nowrap; }
.response-plan { font-family: var(--font-display); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; }
.response-time { font-family: var(--font-display); font-size: 3.8rem; font-weight: 800; color: var(--frost); line-height: 1; margin-bottom: 6px; }
.response-unit { font-size: 0.45em; font-weight: 600; color: var(--slate-light); }
.response-channel { font-size: 0.85rem; color: var(--slate); margin-bottom: 20px; }
.response-details { text-align: left; border-top: 1px solid rgba(255,255,255,0.07); padding-top: 16px; }
.response-details li { font-size: 0.85rem; color: var(--slate-light); padding: 6px 0 6px 18px; position: relative; border-bottom: 1px solid rgba(255,255,255,0.05); }
.response-details li:last-child { border-bottom: none; }
.response-details li::before { content: '—'; position: absolute; left: 0; color: var(--gold); font-weight: 700; }
.response-note { display: flex; align-items: flex-start; gap: 16px; background: var(--navy-mid); border: 1px solid rgba(255,255,255,0.07); border-left: 3px solid var(--gold); border-radius: var(--radius-md); padding: 20px 24px; }
.rn-icon { font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
.response-note p { font-size: 0.9rem; color: var(--slate-light); line-height: 1.7; }
.response-note strong { color: var(--frost); }

.hours-section { padding: 80px 0; background: var(--navy-mid); }
.hours-inner { display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; align-items: start; }
.hours-copy p { font-size: 0.95rem; color: var(--slate-light); line-height: 1.75; }
.hours-table { width: 100%; border-collapse: collapse; }
.hours-table td { padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 0.95rem; }
.hours-table td:first-child { color: var(--frost); font-weight: 500; }
.hours-time { color: var(--slate-light); }
.tz { font-size: 0.78rem; color: var(--slate); margin-left: 4px; }
.hours-table td:last-child { text-align: right; }
.hours-badge { font-family: var(--font-display); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 10px; border-radius: 20px; white-space: nowrap; }
.hours-badge.open { background: rgba(34,197,94,0.15); color: #4ade80; border: 1px solid rgba(34,197,94,0.3); }
.hours-badge.limited { background: rgba(251,191,36,0.12); color: var(--gold); border: 1px solid var(--gold-border); }
.hours-badge.monitoring { background: rgba(139,148,173,0.15); color: var(--slate-light); border: 1px solid rgba(255,255,255,0.1); }
.hours-divider { border-top: 2px solid rgba(255,255,255,0.1); }
.hours-disclaimer { font-size: 0.78rem; color: var(--slate); margin-top: 16px; line-height: 1.6; }

.kb-section { padding: 80px 0; background: var(--navy); border-top: 1px solid var(--border); }
.kb-section .section-title { margin-bottom: 10px; }
.kb-sub { font-size: 0.97rem; color: var(--slate-light); margin-bottom: 48px; max-width: 560px; line-height: 1.7; }
.kb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 36px; }
.kb-card { background: var(--navy-mid); border: 1px solid rgba(255,255,255,0.07); border-radius: var(--radius-lg); padding: 28px 24px; display: flex; flex-direction: column; gap: 8px; color: var(--frost); transition: border-color var(--transition), transform var(--transition), background var(--transition); position: relative; }
.kb-card:hover { border-color: var(--gold-border); transform: translateY(-2px); background: var(--navy-light); }
.kb-icon { font-size: 1.8rem; line-height: 1; color: var(--gold); display: block; margin-bottom: 4px; }
.kb-card h3 { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; text-transform: uppercase; color: var(--frost); }
.kb-card p { font-size: 0.85rem; color: var(--slate-light); line-height: 1.6; flex-grow: 1; }
.kb-arrow { position: absolute; bottom: 24px; right: 24px; color: var(--gold); font-size: 1rem; transition: transform var(--transition); }
.kb-card:hover .kb-arrow { transform: translateX(4px); }
.kb-cta { text-align: center; }

.quick-ticket-section { padding: 80px 0; background: var(--navy-mid); border-top: 1px solid var(--border); }
.ticket-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; align-items: start; }
.ticket-copy p { font-size: 0.95rem; color: var(--slate-light); line-height: 1.75; }
.ticket-copy a { color: var(--gold); }
.ticket-copy a:hover { text-decoration: underline; }
.ticket-form-card { background: var(--navy); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: 40px 36px; }
.support-form { display: flex; flex-direction: column; gap: 20px; }

@media (max-width: 960px) {
    .contact-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
    .response-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto 36px; }
    .hours-inner { grid-template-columns: 1fr; gap: 40px; }
    .kb-grid { grid-template-columns: repeat(2, 1fr); }
    .ticket-layout { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 680px) {
    .contact-grid { max-width: 100%; }
    .kb-grid { grid-template-columns: 1fr; }
    .ticket-form-card { padding: 28px 20px; }
}
