/* 15 thèmes portail / landing public (data-portal-theme) */

.portal-page { --p-accent: var(--accent, #06b6d4); transition: background 0.4s; }

.portal-theme-void { background: radial-gradient(circle at 50% 0%, #111 0%, #000 70%); }
.portal-theme-void .portal-hero { flex-direction: column; text-align: center; }
.portal-theme-void .portal-card { border-radius: 4px; background: rgba(255,255,255,0.03); }

.portal-theme-orbit { background: linear-gradient(135deg, #0a0a12 40%, #1a1a3a); }
.portal-theme-orbit .portal-hero { flex-direction: row-reverse; }
.portal-theme-orbit .portal-card { border-left: 3px solid var(--p-accent); border-radius: 0 12px 12px 0; }

.portal-theme-prism .portal-card {
    background: rgba(255,255,255,0.06);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
}
.portal-theme-prism { background: linear-gradient(180deg, #0f172a, #020617); }

.portal-theme-flux { background: repeating-linear-gradient(-45deg, #0a0a0a, #0a0a0a 8px, #111 8px, #111 16px); }
.portal-theme-flux .portal-header { border-bottom: 3px solid var(--p-accent); }

.portal-theme-zenith { background: #f8fafc; color: #0f172a; }
.portal-theme-zenith .portal-card { background: #fff; border: 1px solid #e2e8f0; color: #0f172a; }
.portal-theme-zenith .text-secondary { color: #64748b !important; }

.portal-theme-aurora {
    background: linear-gradient(120deg, #0f172a 0%, #1e3a5f 40%, #312e81 100%);
    animation: portal-aurora-shift 12s ease infinite alternate;
}
@keyframes portal-aurora-shift { to { filter: hue-rotate(25deg); } }

.portal-theme-ember { background: linear-gradient(180deg, #1c0a00, #451a03); }
.portal-theme-ember .portal-card { border-radius: 24px; border-color: rgba(251,146,60,0.3); }

.portal-theme-cipher { background: #000; font-family: 'Courier New', monospace; }
.portal-theme-cipher .portal-card { border: 1px dashed #22c55e; color: #86efac; }

.portal-theme-bloom { background: linear-gradient(180deg, #fdf2f8, #1f1020); }
.portal-theme-bloom .portal-hero { gap: 2rem; align-items: flex-start; }
.portal-theme-bloom .portal-card { border-radius: 32px 8px 32px 8px; }

.portal-theme-steel { background: linear-gradient(180deg, #1e293b, #0f172a); }
.portal-theme-steel .portal-card { border-radius: 0; border: 1px solid #475569; }

.portal-theme-pulse { background: #050508; }
.portal-theme-pulse .portal-card { box-shadow: 0 0 0 1px var(--p-accent), 0 0 40px rgba(6,182,212,0.08); }

.portal-theme-horizon .portal-main { max-width: 960px; }
.portal-theme-horizon .portal-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.portal-theme-horizon { background: linear-gradient(90deg, #020617 50%, #0c4a6e 100%); }

.portal-theme-nova { background: radial-gradient(circle at 80% 20%, #4c1d95, #0f172a 50%); }
.portal-theme-nova .portal-avatar { border-radius: 50%; width: 120px; height: 120px; }

.portal-theme-eclipse { background: #000; }
.portal-theme-eclipse .portal-card { background: transparent; border: none; border-top: 1px solid #333; border-radius: 0; }

.portal-theme-gravity {
    background: radial-gradient(ellipse at 30% 0%, rgba(37,99,235,0.25), transparent 50%), #030305;
}
.portal-theme-gravity .portal-header { backdrop-filter: blur(20px); }

.portal-invalid-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
}

.guild-pick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.guild-pick-card {
    padding: 1rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: border-color 0.2s, transform 0.2s;
}
.guild-pick-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.guild-pick-card.disabled { opacity: 0.45; cursor: not-allowed; }
