/*
 * PF multilingue (mu-plugins/00-pf-i18n.php) : menu des langues, en-tête et pied de page des pages traduites,
 * polices et coupures pour le japonais, le chinois et l'allemand.
 */

/* ---- Menu des langues (en-tête, toutes langues) ---- */
.pf-langmenu { position: relative; }
.pf-langmenu__btn {
    display: inline-flex; align-items: center; gap: 6px;
    height: 40px; padding: 0 10px; border-radius: 999px;
    list-style: none; cursor: pointer; user-select: none;
    color: inherit; font: 700 13px/1 var(--pfb-font-texte); letter-spacing: .04em;
}
.pf-langmenu__btn::-webkit-details-marker { display: none; }
.pf-langmenu__btn:hover, .pf-langmenu[open] .pf-langmenu__btn { background: color-mix(in srgb, currentColor 10%, transparent); }
.pf-langmenu__list {
    position: absolute; right: 0; top: calc(100% + 6px); z-index: 60;
    min-width: 168px; margin: 0; padding: 6px; list-style: none;
    background: var(--pfb-fond, #fff); color: var(--pfb-encre, #111);
    border: 1px solid color-mix(in srgb, currentColor 14%, transparent); border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
}
.pf-langmenu__list a {
    display: block; padding: 9px 12px; border-radius: 8px;
    color: inherit; text-decoration: none; font: 500 14px/1.2 var(--pfb-font-texte);
}
.pf-langmenu__list a:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.pf-langmenu__list a[aria-current] { font-weight: 700; }
.pf-langmenu__list a[aria-current]::after { content: " ✓"; }

/* ---- Bandeau « Ce Pokédex existe aussi en » (pages françaises du Pokédex) ---- */
.pf-lang { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; }
.pf-lang__label { opacity: .8; }
.pf-lang__item { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pf-lang__item.is-current { font-weight: 700; text-decoration: none; }

/* ---- En-tête des pages traduites ---- */
.pfi-nav__inner { gap: 24px; }
.pfi-nav__links { display: flex; gap: 4px; margin: 0 auto 0 8px; padding: 0; list-style: none; }
.pfi-nav__links a {
    display: inline-block; padding: 10px 14px; border-radius: 999px;
    color: inherit; text-decoration: none; font: 700 15px/1 var(--pfb-font-texte);
}
.pfi-nav__links a:hover, .pfi-nav__links a[aria-current] { background: color-mix(in srgb, currentColor 9%, transparent); }
@media (max-width: 600px) {
    .pfi-nav__inner { gap: 8px; }
    .pfi-nav__links { margin-left: 0; }
    .pfi-nav__links a { padding: 8px 10px; font-size: 14px; }
    .pfi-nav .nav-logo img { width: 72px; height: auto; }
}

/* ---- Pied de page des pages traduites ---- */
.pfi-foot__grid { grid-template-columns: 1.3fr 1fr 1fr 1.3fr; }
.pfi-foot__about { margin: 0 0 10px; opacity: .8; font-size: 14px; line-height: 1.5; }
@media (max-width: 900px) { .pfi-foot__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pfi-foot__grid { grid-template-columns: 1fr; } }

/* ---- Écritures ---- */
:lang(ja) {
    --pfb-font-texte: 'Inter', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic UI', Meiryo, system-ui, sans-serif;
    --pfb-font-titre: 'Unbounded', 'Hiragino Sans', 'Noto Sans JP', 'Yu Gothic UI', Meiryo, sans-serif;
    line-break: strict;
}
:lang(zh-Hans) {
    --pfb-font-texte: 'Inter', 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans SC', 'Microsoft YaHei', system-ui, sans-serif;
    --pfb-font-titre: 'Unbounded', 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
    line-break: strict;
}
:lang(ja) em, :lang(ja) i, :lang(zh-Hans) em, :lang(zh-Hans) i { font-style: normal; font-weight: 700; }
:lang(de) h1, :lang(de) h2, :lang(de) h3 { hyphens: auto; overflow-wrap: break-word; }

/* ---- Accueil d'une langue (template-parts/i18n/home.php) ---- */
.pfi-home__hero { padding: 56px 0 48px; background: linear-gradient(135deg, #E62829 0%, #FF8C00 70%, #FFB347 100%); color: #fff; }
.pfi-home__kicker { margin: 0 0 8px; font: 700 13px/1 var(--pfb-font-texte); letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.pfi-home__title { margin: 0 0 14px; font: 900 clamp(40px, 7vw, 76px)/1 var(--pfb-font-titre); text-wrap: balance; }
.pfi-home__lead { max-width: 60ch; margin: 0 0 24px; font-size: 18px; line-height: 1.55; }
.pfi-home__search { display: flex; gap: 8px; max-width: 560px; }
.pfi-home__search input { flex: 1; min-width: 0; height: 52px; padding: 0 18px; border: 0; border-radius: 999px; font: 500 16px var(--pfb-font-texte); color: #111; background: #fff; }
.pfi-home__search button { height: 52px; padding: 0 22px; border: 0; border-radius: 999px; background: #111; color: #fff; font: 700 15px var(--pfb-font-texte); cursor: pointer; }
.pfi-home__cta { margin: 18px 0 0; }
.pfi-home__cta a, .pfi-home__more a, .pfi-home__next a { color: inherit; font-weight: 700; }
.pfi-home__sec { padding-block: 40px 8px; }
.pfi-home__sec h2 { margin: 0 0 18px; font: 900 clamp(24px, 3vw, 32px)/1.15 var(--pfb-font-titre); }
.pfi-home__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.pfi-home__mon {
    display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; padding: 14px 10px 16px;
    border-radius: 16px; background: color-mix(in srgb, currentColor 3%, transparent); color: inherit; text-decoration: none;
    border: 1px solid color-mix(in srgb, currentColor 10%, transparent); transition: transform .15s;
}
.pfi-home__mon:hover { transform: translateY(-3px); }
.pfi-home__mon img { width: 110px; height: 110px; object-fit: contain; }
.pfi-home__num { font-size: 12px; opacity: .6; font-variant-numeric: tabular-nums; }
.pfi-home__name { font-weight: 700; text-align: center; }
.pfi-home__types { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.pfi-home__types .type-badge { font-size: 11px; }
.pfi-home__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pfi-home__chips .type-badge { padding: 8px 14px; font-size: 14px; text-decoration: none; }
.pfi-home__gens { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.pfi-home__gens a {
    display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 14px; color: inherit; text-decoration: none;
    border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}
.pfi-home__gens a:hover { background: color-mix(in srgb, currentColor 6%, transparent); }
.pfi-home__gens span { font-size: 13px; opacity: .7; }
.pfi-home__more { margin: 16px 0 0; }
.pfi-home__next { padding-bottom: 56px; }
.pfi-home__next p { max-width: 65ch; line-height: 1.6; }
