/* Scoped entirely to plugin templates; no changes to news posts. */
.yp-page{max-width:1200px;margin:24px auto 60px;padding:30px 34px;background:#fff;box-sizing:border-box;min-height:50vh;color:#222}
.yp-page *{box-sizing:border-box}
.yp-header h1{font-size:32px;line-height:1.25;font-weight:800;margin:0 0 8px}
.yp-header p{font-size:15px;color:#777;margin:0 0 24px}
.yp-search{display:flex;gap:10px;max-width:600px;margin:0 0 22px}
.yp-search input{flex:1;min-width:0;border:1px solid #ddd;border-radius:5px;padding:12px 14px;font-size:15px;background:#fff;color:#222}
.yp-search button{border:0;border-radius:5px;background:#de0510;color:#fff;padding:0 22px;font-size:14px;font-weight:700;cursor:pointer}
.yp-alphabet{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid #e8e8e8}
.yp-alphabet a{display:inline-flex!important;align-items:center;justify-content:center;min-width:33px;height:35px;padding:0 8px!important;border-radius:4px;background:#f1f1f1;color:#222!important;font-size:13px;font-weight:700;text-decoration:none!important;line-height:1}
.yp-alphabet a.active,.yp-alphabet a:hover{background:#de0510;color:#fff!important}
.yp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.yp-card{display:flex;align-items:center;gap:18px;min-width:0;padding-bottom:22px;border-bottom:1px solid #eee}
.yp-avatar{display:block;flex:0 0 120px;width:120px;height:120px;overflow:hidden;border-radius:50%;background:#f0f0f0}
.yp-avatar img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;transform:none!important;margin:0!important}
.yp-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;color:#aaa}
.yp-card-content{min-width:0}.yp-card h2{font-size:18px;line-height:1.35;margin:0 0 9px;font-weight:750}
.yp-card h2 a{color:#222!important;text-decoration:none!important}.yp-card h2 a:hover{color:#de0510!important}
.yp-card p{margin:0;color:#777;font-size:14px;line-height:1.5}
.yp-pagination{margin-top:28px}.yp-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}.yp-pagination .page-numbers{padding:8px 12px;background:#f2f2f2;border-radius:4px;text-decoration:none}.yp-pagination .current{background:#de0510;color:white}
.yp-empty{padding:30px 0;color:#777}
.yp-back{margin-bottom:20px}.yp-back a{font-size:13px;color:#777!important;text-decoration:none!important}
.yp-category{display:inline-block;background:#de0510;color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:800;letter-spacing:.4px;padding:6px 10px;margin-bottom:12px}
.yp-profile-head h1{font-size:34px;line-height:1.2;font-weight:800;margin:0 0 12px}
.yp-profile-excerpt{font-size:19px;line-height:1.45;color:#777;margin:0 0 20px}
.yp-profile-photo{width:220px;height:220px;margin:24px auto 34px;border-radius:50%;overflow:hidden;background:#f1f1f1}
.yp-profile-photo img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;transform:none!important}
.yp-biography{max-width:850px;margin:0 auto;font-size:16px;line-height:1.75}.yp-biography p{margin:0 0 1.1em}.yp-biography h2,.yp-biography h3{margin:1.5em 0 .6em;font-weight:750}
@media(max-width:767px){.yp-page{margin:10px auto 30px;padding:22px 16px}.yp-header h1{font-size:26px}.yp-grid{grid-template-columns:1fr;gap:18px}.yp-avatar{width:90px;height:90px;flex-basis:90px}.yp-card{gap:14px}.yp-card h2{font-size:16px}.yp-card p{font-size:13px}.yp-profile-head h1{font-size:27px}.yp-profile-excerpt{font-size:16px}.yp-profile-photo{width:180px;height:180px}.yp-biography{font-size:15px}.yp-search button{padding:0 12px}}

/* Version 2.0: groups, scoped to person pages only. */
.yp-groups{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;align-items:center}
.yp-groups a{display:inline-flex!important;align-items:center;padding:8px 14px!important;border:1px solid #e7e7e7;border-radius:20px;background:#f5f5f5;color:#333!important;text-decoration:none!important;font-size:13px;font-weight:700;line-height:1.2}
.yp-groups a.active,.yp-groups a:hover{background:#de0510!important;border-color:#de0510!important;color:#fff!important}
.yp-card-groups,.yp-profile-groups{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 9px}
.yp-card-groups span{font-size:11px;color:#de0510;font-weight:700}
.yp-profile-groups a{display:inline-block;padding:5px 10px;border-radius:4px;background:#f3f3f3;color:#555!important;font-size:12px;text-decoration:none!important;font-weight:700}
.yp-profile-groups a:hover{background:#de0510;color:#fff!important}
@media(max-width:767px){.yp-groups{gap:6px}.yp-groups a{padding:7px 10px!important;font-size:12px}}

/* 3.1: VIP DOSSIER sidebar widget */
.yp-vip-widget{width:100%;max-width:340px;margin:0 auto 22px;padding:0 14px 15px;background:#fff;border:1px solid #e3e6ec;border-top:2px solid #de0510;border-radius:12px;text-align:center;box-sizing:border-box;overflow:hidden;color:#222;box-shadow:0 3px 14px rgba(0,0,0,.04)}
.yp-vip-heading{margin:0 -14px 15px;padding:12px 10px;border-bottom:1px solid #eee;font-size:15px;line-height:1.2;font-weight:750;color:#222;letter-spacing:.3px}
.yp-vip-photo{display:block;width:100px;height:100px;margin:0 auto 12px;border-radius:50%;overflow:hidden;background:#edf0f4}
.yp-vip-photo img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;transform:none!important;margin:0!important;padding:0!important}
.yp-vip-no-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#b9b9b9;font-size:28px}
.yp-vip-name{display:block;color:#151515!important;font-size:15px;font-weight:750;line-height:1.35;text-decoration:none!important;margin-bottom:6px}
.yp-vip-name:hover{color:#de0510!important}
.yp-vip-desc{font-size:13px;line-height:1.4;color:#555;margin:0 0 13px}
.yp-vip-button{display:inline-block;background:#de0510;color:#fff!important;border-radius:5px;padding:9px 17px;font-size:12px;font-weight:750;line-height:1.2;text-decoration:none!important}
.yp-vip-button:hover{background:#b9000b;color:#fff!important}

/* 3.2: keep button label white even under theme link rules. */
.yp-vip-widget a.yp-vip-button,.yp-vip-widget a.yp-vip-button:link,.yp-vip-widget a.yp-vip-button:visited,.yp-vip-widget a.yp-vip-button:hover,.yp-vip-widget a.yp-vip-button:focus{color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important}
.yp-search-summary{margin:0 0 20px;font-size:14px;color:#555}.yp-search-summary a{margin-left:12px;color:#de0510!important}

/* 3.3: four random profiles below each biography */
.yp-related{margin:48px 0 0;padding:28px 0 0;border-top:1px solid #e8e8e8}
.yp-related-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}
.yp-related-heading h2{font-size:24px;line-height:1.3;font-weight:800;margin:0;color:#222}
.yp-related-all,.yp-related-bottom a{color:#de0510!important;font-size:13px;font-weight:750;text-decoration:none!important}
.yp-related-all:hover,.yp-related-bottom a:hover{text-decoration:underline!important}
.yp-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.yp-related-card{min-width:0;text-align:center;padding:20px 12px;border:1px solid #eee;border-radius:10px;background:#fff}
.yp-related-avatar{display:block;width:110px;height:110px;margin:0 auto 14px;overflow:hidden;border-radius:50%;background:#f2f2f2}
.yp-related-avatar img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;margin:0!important;transform:none!important}
.yp-related-card h3{font-size:15px;line-height:1.4;font-weight:750;margin:0 0 8px}
.yp-related-card h3 a{color:#222!important;text-decoration:none!important}
.yp-related-card h3 a:hover{color:#de0510!important}
.yp-related-card p{font-size:12px;line-height:1.45;color:#777;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.yp-related-bottom{text-align:center;margin-top:22px}
@media(max-width:850px){.yp-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.yp-related-heading h2{font-size:20px}.yp-related-avatar{width:90px;height:90px}.yp-related-card{padding:14px 8px}.yp-related-card h3{font-size:13px}.yp-related-all{font-size:12px}}

/* 3.4: muted, comma-separated clickable groups in cards and profiles. */
.yp-page .yp-card-groups,.yp-page .yp-profile-groups{display:block!important;margin:0 0 9px!important;font-size:11px!important;line-height:1.5!important;color:#999!important;font-weight:400!important}
.yp-page .yp-card-groups a,.yp-page .yp-profile-groups a{display:inline!important;padding:0!important;margin:0!important;background:none!important;border:0!important;border-radius:0!important;color:#999!important;font-size:11px!important;font-weight:400!important;text-decoration:none!important;box-shadow:none!important}
.yp-page .yp-card-groups a:hover,.yp-page .yp-profile-groups a:hover{color:#de0510!important;text-decoration:underline!important;background:none!important}
