/*
 * Accueil : éléments propres à cette page (hero animé, accès rapide, projets).
 * Les composants communs (hero, pastilles, bandeaux…) sont dans pyl-pages.css.
 */

.pyl-hero-title { min-height: 3.1em; /* réserve les 3 lignes : la phrase animée ne fait pas bouger la page */ }
.pyl-hero-title [style*="84f98d"] {
    background: linear-gradient(90deg, #20dfdf 0%, #3491ef 50%, #ae71f4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
}
.pyl-hero-title [style*="f98484"] { color: #fff !important; }
.pyl-hero-logo { display: grid; place-items: center; }
.pyl-hero-logo img {
    width: min(100%, 360px);
    height: auto;
    filter: drop-shadow(0 0 60px rgba(var(--section-rgb), 0.45));
    animation: pylFloat 6s ease-in-out infinite;
}
@keyframes pylFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

/* ---------- Accès rapide (utilisateur connecté) ---------- */
.pyl-quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 20px;
    padding: 16px 22px;
    border-radius: 20px;
    border: 1px solid var(--pyl-line);
    background: var(--pyl-surface);
}
.pyl-quick-hello { display: flex; flex-direction: column; gap: 2px; margin-right: auto; }
.pyl-quick-hello strong { font-size: 1.05rem; color: #fff; }
.pyl-quick-hello span { font-size: 0.8rem; color: var(--pyl-muted); }
.pyl-quick-list { display: flex; flex-wrap: wrap; gap: 10px; }
.pyl-guild {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 240px;
    padding: 6px 14px 6px 6px;
    border-radius: 999px;
    border: 1px solid var(--pyl-line);
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s, background-color 0.15s, transform 0.15s;
}
.pyl-guild:hover { border-color: rgba(32, 223, 223, 0.6); background: rgba(32, 223, 223, 0.12); color: #fff; transform: translateY(-1px); }
.pyl-guild img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex: none; }
.pyl-guild span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pyl-guild-primary { color: #ffc107; font-size: 0.75rem; flex: none; }
.pyl-guild-picker { white-space: nowrap; }

/* ---------- Projets ---------- */
.pyl-projects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pyl-project {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    gap: 18px;
    padding: clamp(20px, 3vw, 32px);
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(var(--section-rgb), 0.28);
    background:
        radial-gradient(70% 90% at 100% 0%, rgba(var(--section-rgb), 0.24) 0%, rgba(var(--section-rgb), 0) 65%),
        var(--pyl-surface);
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.pyl-project:hover { border-color: rgba(var(--section-rgb), 0.65); transform: translateY(-3px); box-shadow: 0 20px 50px rgba(var(--section-rgb), 0.16); }
.pyl-project--wide { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr); }
.pyl-project--assistant { --section-rgb: 32, 223, 223; }
.pyl-project--app { --section-rgb: 255, 193, 7; }
.pyl-project-body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; }
.pyl-project h3 {
    margin: 0;
    font-family: var(--pyl-font-display);
    font-weight: 800;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    line-height: 1.05;
}
.pyl-project h3, .pyl-project h3 a { color: #fff; text-decoration: none; }
.pyl-project p { margin: 0; color: var(--pyl-muted); }
.pyl-project .btn { position: relative; z-index: 2; margin-top: 4px; }
.pyl-project-visual { display: grid; place-items: center; }
.pyl-project-visual img { width: 100%; max-width: 260px; height: auto; filter: drop-shadow(0 0 40px rgba(var(--section-rgb), 0.35)); }

@media (max-width: 991.98px) {
    .pyl-hero-logo { order: -1; }
    .pyl-hero-logo img { width: min(60%, 220px); }
    .pyl-hero-title { min-height: 4.2em; }
    .pyl-projects { grid-template-columns: 1fr; }
    .pyl-project--wide { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); }
}
@media (max-width: 575.98px) {
    .pyl-project, .pyl-project--wide { grid-template-columns: 1fr; }
    .pyl-project-visual { order: -1; }
    .pyl-project-visual img { max-width: 180px; }
}
@media (prefers-reduced-motion: reduce) {
    .pyl-hero-logo img { animation: none; }
    .pyl-project, .pyl-guild { transition: none; }
}
