/* Portal F1 Racing Dark 5.0 – optional, page-scoped enhancements. */
.pfr5-home-section { margin: 52px 0 15px; }
.pfr5-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; align-items: stretch; }
.pfr5-panel { min-width: 0; background: linear-gradient(147deg,#161e29,#0e141c); border: 1px solid #344151; border-radius: 10px; padding: clamp(18px,2vw,26px); color: #e6ecf4; }
.pfr5-eyebrow { color: #ff5369; letter-spacing: .09em; font-weight: 900; font-size: 11px; display: block; margin-bottom: 10px; }
.pfr5-panel h3 { color: #fff; font-size: clamp(19px,1.7vw,25px); font-weight: 900; line-height: 1.2; margin: 0 0 12px; }
.pfr5-panel p { color: #bcc8d7; font-size: 13px; line-height: 1.6; margin: 0 0 17px; }
.pfr5-muted { color: #bac4d0 !important; font-size: 13px; line-height: 1.6; }
.pfr5-panel .pfr5-label { display: block; font-size: 11px; color: #d0d9e6; text-transform: uppercase; letter-spacing: .06em; font-weight: 900; margin: 16px 0 7px; }
.pfr5-panel select { width: 100%; max-width: 100%; background: #0b1119 !important; color: #f1f5fa !important; border: 1px solid #586779 !important; border-radius: 7px; min-height: 45px; padding: 8px 12px; font-size: 14px; }
.pfr5-panel select option { background: #121923 !important; color: #f2f5fa !important; }
.pfr5-team-output { margin-top: 18px; min-height: 54px; }
.pfr5-team-stories { padding: 0 !important; margin: 0 !important; list-style: none !important; }
.pfr5-team-stories li { list-style: none !important; padding: 10px 0; margin: 0; border-top: 1px solid #303b49; }
.pfr5-team-stories a { display: flex; align-items: center; gap: 12px; color: #fff !important; font-size: 13px; text-decoration: none !important; }
.pfr5-team-stories a:hover strong { color: #ff6479 !important; }
.pfr5-team-stories img { flex: none; width: 76px; height: 56px; object-fit: cover; border-radius: 5px; }
.pfr5-team-story-copy { display: block; min-width: 0; }
.pfr5-team-story-copy strong { display: block; font-weight: 800; line-height: 1.35; }
.pfr5-team-story-copy small { display: block; font-size: 11px; margin-top: 4px; color: #a5b4c4; }
.pfr5-text-button { background: transparent; border: 0; border-bottom: 1px solid #596675; color: #dce6f1; padding: 6px 1px; font-size: 12px; cursor: pointer; margin-top: 14px; }
.pfr5-button { background: #ed1632; color: #fff !important; border: 0; border-radius: 6px; padding: 12px 18px; margin: 13px 0; font-weight: 850; cursor: pointer; min-height: 44px; }
.pfr5-button:disabled { opacity: .65; cursor: not-allowed; }
[data-pfr5-poll-message] { font-size: 12px; color: #dce5ef; line-height: 1.5; }
.pfr5-results { margin-top: 16px; }
.pfr5-results-heading { display: block; font-size: 12px; color: #fff; margin-bottom: 10px; }
.pfr5-poll-line { margin: 9px 0; }
.pfr5-poll-line-label { font-size: 12px; color: #edf3fa; display: block; margin-bottom: 5px; }
.pfr5-poll-bar { height: 7px; overflow: hidden; background: #303a47; border-radius: 5px; }
.pfr5-poll-bar span { display: block; height: 100%; max-width: 100%; background: #ed2340; border-radius: inherit; }
.pfr5-caption { display: block; font-size: 11px; line-height: 1.55; margin: 14px 0 0; color: #acbbc9; }
.pfr5-history-year { display: inline-flex; padding: 5px 10px; background: #2d2029; color: #ff657b; border-radius: 5px; font-weight: 900; margin: 8px 0 15px; }
.pfr5-panel h4 { font-size: 18px; line-height: 1.3; color: #fff; margin: 0 0 12px; }
.pfr5-history-link { color: #ff667d !important; font-size: 12px; font-weight: 850; }
.pfr5-session-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.pfr5-center-results { margin: 46px 0 48px; }
.pfr5-subtitle { color: #c0cad6; font-size: 14px; }
.pfr5-session { border: 1px solid #364355; background: #131b25; border-radius: 10px; min-width: 0; overflow: hidden; align-self: start; }
.pfr5-session summary { padding: 17px; display: flex; justify-content: space-between; gap: 10px; color: #fff; font-weight: 900; cursor: pointer; border-bottom: 1px solid #293749; list-style: none; }
.pfr5-session summary::-webkit-details-marker { display: none; }
.pfr5-session[open] summary > span { transform: rotate(180deg); }
.pfr5-session-list { margin: 0 !important; padding: 5px 16px 16px !important; list-style: none !important; }
.pfr5-session-list li { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 10px 0; list-style: none !important; border-bottom: 1px solid #293645; font-size: 12px; }
.pfr5-session-list li > b { color: #ff596e; }
.pfr5-session-list li > span { color: #f0f3f8; min-width: 0; }
.pfr5-session-list li small { color: #9fabb9; font-size: 10px; display: block; }
.pfr5-session-list li strong { color: #e0e9f4; font-variant-numeric: tabular-nums; font-size: 11px; text-align: right; }
.pfr5-session > .pfr5-muted { padding: 2px 16px 12px; }
.pfr5-center-results > .pfr5-caption { margin-top: 14px; }
@media (max-width: 1050px) { .pfr5-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .pfr5-history { grid-column: 1/-1; } .pfr5-session-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 690px) { .pfr5-feature-grid,.pfr5-session-grid { grid-template-columns: 1fr; } .pfr5-history { grid-column: auto; } .pfr5-home-section { margin-top: 35px; } .pfr5-panel { padding: 20px; } }

/* Respect the existing 4.3 mobile content priority: news before any new widgets. */
@media (max-width: 1024px) {
  .pfr3-home-content > .pfr5-home-section { order: 3; }
  .pfr3-home-content > .pfr3-categories { order: 4; }
}
