/* FutbolFichajes v10 - fichas de jugadores y equipos */
.ff-player-page,.ff-team-page{color:#22364e}
.ff-player-page>.container,.ff-team-page>.container{max-width:1280px;width:100%;padding:0 16px}
.ff-player-page .ff-profile-container,.ff-team-page .ff-profile-container{max-width:1200px;margin:0 auto 36px;float:none;width:100%;min-width:0}
.ff-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#64748b;margin:12px 0 14px}
.ff-breadcrumbs a{color:#52657c;text-decoration:none}.ff-breadcrumbs a:hover{text-decoration:underline;color:#c16b00}
.ff-player-hero,.ff-team-hero{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid #dce3ed;border-top:4px solid #ffa31b;box-shadow:0 6px 24px rgba(17,33,53,.05);border-radius:15px;padding:22px 26px;margin:0 0 20px;min-width:0}
.ff-player-portrait{flex:0 0 132px;width:132px;height:132px;border-radius:16px;background:linear-gradient(135deg,#eff4f8,#f8fafc);overflow:hidden;display:flex;align-items:center;justify-content:center}
.ff-player-portrait img{display:block;width:132px;height:132px;object-fit:contain;object-position:center bottom}
.ff-player-identity{flex:1;min-width:0}.ff-overline{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#a34210;display:block;margin-bottom:6px}
.ff-player-hero h1,.ff-team-hero h1{font-family:'Fjalla One','PT Sans',Arial,sans-serif;font-size:clamp(28px,3vw,40px);line-height:1.13;margin:0 0 12px!important;color:#112238!important}
.ff-player-affiliation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0!important;font-size:13px}.ff-team-link{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#203650}.ff-team-link img{object-fit:contain}
.ff-position-tag,.ff-age-tag,.ff-health-status{display:inline-block;padding:5px 9px;font-size:12px;line-height:1.15;font-weight:700;border-radius:20px;background:#eef2f7;color:#233b57}
.ff-position-tag.pos-gk{background:#dcf4ff;color:#075985}.ff-position-tag.pos-def{background:#e1f5e6;color:#166534}.ff-position-tag.pos-mid{background:#fff0c7;color:#8c4c03}.ff-position-tag.pos-fwd{background:#fee5e5;color:#a32028}
.ff-health-status{background:#fff0ec;color:#b22f24}
.ff-player-value{flex:0 0 220px;display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right;padding-left:22px;border-left:1px solid #dde4ec}
.ff-player-value>span{font-size:12px;font-weight:700;color:#617389}.ff-player-value strong{font-size:clamp(21px,2.2vw,30px);line-height:1.12;color:#102842;font-weight:900;white-space:nowrap}.ff-player-value small{font-size:11px;color:#65788a}
.ff-profile-section{background:#fff;border:1px solid #dce3ed;border-radius:15px;padding:20px 22px;margin-bottom:16px;box-shadow:0 5px 20px rgba(17,33,53,.035)}
.ff-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.ff-section-heading h2,.ff-profile-section>h2{font-family:'PT Sans',Arial,sans-serif;font-size:21px!important;line-height:1.2;font-weight:800;color:#172f49!important;margin:0!important}
.ff-section-heading p{font-size:13px;color:#6b7c90;margin:0}
.ff-ranking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ff-ranking-stat{border:1px solid #dce4ee;border-radius:12px;background:#f9fbfd;padding:14px 16px;display:flex;flex-direction:column;gap:5px;min-width:0}
.ff-ranking-stat>span{font-size:13px;font-weight:700;color:#536982}.ff-ranking-stat strong{font-size:31px;line-height:1.1;color:#14283f}.ff-ranking-stat small{font-size:12px;color:#6a7b8e}
.ff-summary-section p{font-size:15px;line-height:1.65;color:#44586f;margin:12px 0 0;max-width:880px}
.ff-profile-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ff-related-player,.ff-team-player{border:1px solid #dfe6ee;border-radius:12px;background:#fff;min-width:0;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.ff-related-player:hover,.ff-team-player:hover{border-color:#f4b24d;box-shadow:0 8px 20px rgba(17,33,53,.06)}
.ff-related-player>a,.ff-team-player>a{display:flex;align-items:center;gap:12px;padding:12px;color:#172f49;text-decoration:none!important;min-width:0}
.ff-related-player img,.ff-team-player img{display:block;flex:0 0 66px;width:66px;height:66px;border-radius:10px;object-fit:contain;background:#f1f5f9}
.ff-related-player-info,.ff-team-player-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.ff-related-player-info strong,.ff-team-player-copy strong{font-size:15px;line-height:1.25;font-weight:800;overflow-wrap:anywhere}
.ff-related-player-info>span,.ff-team-player-copy>span{font-size:12px;color:#697d91;line-height:1.3}
.ff-related-player-price,.ff-team-player-price{font-weight:800;font-size:14px;color:#142a42;white-space:nowrap;margin-left:auto;text-align:right}
.ff-back-link{margin:20px 0}.ff-back-link a{color:#a8431d;font-weight:700}
.ff-team-hero>img{flex:0 0 86px;width:86px;height:86px;object-fit:contain;padding:8px;border-radius:14px;background:#f2f5f9}
.ff-team-hero>div:nth-child(2){flex:1;min-width:0}.ff-team-hero p{font-size:14px;color:#596c7e;margin:0}
.ff-team-total{border-left:1px solid #e1e7ef;padding-left:22px;display:flex;flex-direction:column;gap:2px;text-align:right;white-space:nowrap}.ff-team-total strong{color:#10263d;font-size:28px;line-height:1.1}.ff-team-total span{color:#687c90;font-size:12px}
.ff-team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ff-empty-state{padding:18px;background:#f6f8fa;border-radius:12px;color:#66788a}
/* Cards shared by the AJAX player search and hot-streak list */
.ff-jmini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.ff-jmini-col{min-width:0;width:100%;float:none!important;padding:0!important}.ff-jmini-grid--racha{grid-template-columns:1fr}.ff-jmini-col.ff-jmini-full{grid-column:1/-1}
.ff-jmini{border:1px solid #dce3ed;border-radius:12px;background:#fff;box-shadow:0 4px 15px rgba(17,33,53,.04);min-width:0;overflow:hidden}
.ff-jmini-main{display:flex;align-items:center;gap:10px;padding:12px;color:#1d3349;text-decoration:none!important}.ff-jmini-main:hover,.ff-jmini-main:focus-visible{color:#ac4a12}.ff-jmini-face{flex:0 0 62px;display:block;width:62px;height:62px;object-fit:contain;border-radius:10px;background:#edf2f7}.ff-jmini-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ff-jmini-copy>strong{font-size:15px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}.ff-jmini-team{color:#6e8091;font-size:12px}.ff-jmini-team img{vertical-align:-2px;object-fit:contain}.ff-jmini-team em{font-style:normal;color:#b63831}.ff-jmini-value{font-weight:800;font-size:14px;color:#182e46}.ff-jmini-value small{font-weight:400;color:#6f7e90;font-size:10px}
.ff-jmini-total{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid #e5e9ef;padding-left:12px;min-width:50px}.ff-jmini-total strong{font-size:22px;line-height:1.1;color:#142f4b}.ff-jmini-total span{font-size:10px;color:#738396}
.ff-jmini-form{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid #e6ecf2;align-items:center;font-size:11px;color:#738396}.ff-jmini-points{display:flex;gap:4px}.ff-score{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:24px;border-radius:7px;font-size:11px;font-weight:800;background:#eff2f6;color:#596b80}.ff-score-good{background:#e3f4e7;color:#166534}.ff-score-low{background:#feeded;color:#a12d2d}.ff-score-neutral{background:#fff3da;color:#8a5d0c}
@media(max-width:1024px){.ff-team-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ff-player-page>.container,.ff-team-page>.container{padding:0 12px}.ff-player-hero,.ff-team-hero{gap:12px;padding:16px;flex-wrap:wrap}.ff-player-portrait{flex-basis:86px;width:86px;height:86px}.ff-player-portrait img{width:86px;height:86px}.ff-player-hero h1,.ff-team-hero h1{font-size:27px!important}.ff-player-identity{flex:1 1 calc(100% - 100px)}.ff-player-value{flex:1 1 100%;border:0;border-top:1px solid #e1e7ee;padding:12px 0 0;align-items:flex-start;text-align:left}.ff-player-value strong{font-size:25px}.ff-profile-section{padding:15px}.ff-ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ff-ranking-stat{padding:10px 8px}.ff-ranking-stat>span{font-size:11px;min-height:28px}.ff-ranking-stat strong{font-size:23px}.ff-ranking-stat small{font-size:10px}.ff-profile-related-grid,.ff-team-roster,.ff-jmini-grid{grid-template-columns:1fr}.ff-team-hero>img{flex-basis:65px;width:65px;height:65px}.ff-team-total{padding:10px 0 0;border:0;border-top:1px solid #e1e7ee;text-align:left;width:100%}.ff-related-player-price,.ff-team-player-price{font-size:12px}.ff-jmini-main{gap:8px}}
@media(prefers-reduced-motion:reduce){.ff-related-player,.ff-team-player{transition:none}}

/* V12: noticias enlazadas desde la ficha del equipo */
.ff-team-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.ff-team-news-item{min-width:0;border:1px solid #dde5ee;border-radius:12px;background:#fcfdff}
.ff-team-news-item a{display:flex;flex-direction:column;gap:8px;justify-content:space-between;height:100%;padding:14px 16px;color:#172f49;text-decoration:none}
.ff-team-news-item a:hover{border-color:#c16b00;color:#aa4d00}
.ff-team-news-item strong{font-size:15px;line-height:1.42;font-weight:800}
.ff-team-news-item time{font-size:12px;color:#69798c}
@media(max-width:767px){.ff-team-news-grid{grid-template-columns:1fr}}

/* v13: enlazado editorial visible, compacto y accesible */
.ff-seo-breadcrumbs{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 0 12px;color:#68778a;font-size:12px;line-height:1.4}
.ff-seo-breadcrumbs a{color:#51647a;text-decoration:none}.ff-seo-breadcrumbs a:hover{text-decoration:underline;color:#a34b18}
.ff-seo-breadcrumbs [aria-current="page"]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ff-seo-context{margin:18px 0;padding:13px 16px;border:1px solid #e1e7ee;border-radius:12px;background:#f9fbfd;display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.ff-seo-context-title{font-size:13px;font-weight:800;color:#172f49;margin-right:auto}
.ff-seo-context a{font-size:13px;color:#9b3f15;font-weight:700;text-decoration:none}.ff-seo-context a:hover{text-decoration:underline}
@media(max-width:560px){.ff-seo-context{align-items:flex-start;flex-direction:column;gap:7px}.ff-seo-context-title{margin-right:0}}
