/*
Theme Name: Nyírség FC
Theme URI: https://nyirsegfc.hu/
Author: OpenAI
Description: Egyedi, reszponzív kezdő WordPress-téma a Nyírség FC számára. A meglévő bejegyzéseket és a SportsPress funkcióit nem módosítja.
Version: 0.6.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: nyirseg-fc
*/
:root {
  --nfc-primary: #31b2fc;
  --nfc-primary-dark: #101820;
  --nfc-accent: #31b2fc;
  --nfc-paper: #f4f6f9;
  --nfc-ink: #172235;
  --nfc-muted: #667085;
  --nfc-radius: 16px;
  --nfc-shadow: 0 12px 35px rgba(11,31,61,.09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--nfc-paper); color:var(--nfc-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
a { color:var(--nfc-primary); text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%; height:auto; }
.nfc-wrap { width:min(1160px, calc(100% - 36px)); margin-inline:auto; }
.nfc-topline { height:5px; background:linear-gradient(90deg,#31b2fc 0 70%,#101820 70% 100%); }
.nfc-header { background:#fff; border-bottom:1px solid #e6eaf0; position:relative; z-index:10; }
.nfc-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; }
.nfc-brand { display:flex; align-items:center; gap:14px; color:var(--nfc-primary-dark); font-weight:900; letter-spacing:.04em; font-size:1.15rem; }
.nfc-brand img { width:58px; max-height:58px; object-fit:contain; }
.nfc-brand .custom-logo { width:auto; max-width:68px; max-height:62px; }
.nfc-brand-name small { display:block; font-size:.65rem; color:var(--nfc-muted); letter-spacing:.16em; font-weight:700; }
.nfc-nav ul { display:flex; align-items:center; flex-wrap:wrap; gap:20px; list-style:none; margin:0; padding:0; }
.nfc-nav a { color:var(--nfc-ink); font-size:.92rem; font-weight:750; }
.nfc-nav a:hover { color:var(--nfc-primary); }
.nfc-hero { color:#fff; background:radial-gradient(circle at 82% 18%,rgba(49,173,244,.22),transparent 27%),linear-gradient(125deg,#080d12 0%,#101820 58%,#163b51 100%); padding:76px 0 68px; overflow:hidden; }
.nfc-hero-grid { display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:40px; }
.nfc-eyebrow { text-transform:uppercase; letter-spacing:.18em; font-weight:800; color:var(--nfc-accent); font-size:.78rem; }
.nfc-hero h1 { font-size:clamp(2.5rem,6vw,5rem); line-height:1.02; letter-spacing:-.045em; margin:14px 0 20px; max-width:760px; }
.nfc-hero p { color:#e4ebf7; max-width:600px; font-size:1.08rem; }
.nfc-hero-mark { min-height:240px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.06); padding:24px; }
.nfc-hero-mark img { max-height:230px; width:auto; object-fit:contain; }
.nfc-hero-placeholder { font-weight:950; font-size:clamp(3rem,7vw,6rem); line-height:1; color:rgba(255,255,255,.9); letter-spacing:-.07em; }
.nfc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.nfc-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 19px; border-radius:999px; font-weight:800; background:var(--nfc-accent); color:#101820; }
.nfc-button.secondary { background:transparent; border:1px solid rgba(255,255,255,.5); color:#fff; }
.nfc-section { padding:54px 0; }
.nfc-section-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:22px; }
.nfc-section h2 { margin:0; font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.15; letter-spacing:-.035em; }
.nfc-kicker { margin:0 0 7px; text-transform:uppercase; letter-spacing:.14em; font-size:.73rem; color:var(--nfc-primary); font-weight:900; }
.nfc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.nfc-card { background:#fff; border:1px solid #e7ebf1; border-radius:var(--nfc-radius); overflow:hidden; box-shadow:var(--nfc-shadow); }
.nfc-card-body { padding:20px; }
.nfc-card img.wp-post-image, .nfc-card .nfc-thumb { width:100%; height:210px; object-fit:cover; display:block; background:#dfe6ef; }
.nfc-card h3 { font-size:1.16rem; line-height:1.35; margin:0 0 10px; }
.nfc-meta { font-size:.8rem; color:var(--nfc-muted); margin-bottom:8px; }
.nfc-excerpt { color:#4c586b; font-size:.94rem; }
.nfc-sport { background:#fff; border-radius:var(--nfc-radius); border:1px solid #e7ebf1; padding:24px; overflow-x:auto; }
.nfc-sport table { width:100%; border-collapse:collapse; }
.nfc-sport th,.nfc-sport td { padding:10px 12px; border-bottom:1px solid #e7ebf1; text-align:left; }
.nfc-sport th { background:#f4f6f9; }
.nfc-empty { color:var(--nfc-muted); }
.nfc-content { background:#fff; padding:clamp(24px,4vw,48px); border-radius:var(--nfc-radius); box-shadow:var(--nfc-shadow); }
.nfc-content h1,.nfc-content h2,.nfc-content h3 { line-height:1.2; }
.nfc-footer { background:var(--nfc-primary-dark); color:#e8eef8; padding:36px 0; margin-top:40px; }
.nfc-footer a { color:#fff; }
.nfc-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.nfc-footer p { margin:0; }
.nfc-pagination { padding:28px 0; }
.nfc-pagination .page-numbers { display:inline-block; padding:8px 12px; margin-right:5px; background:#fff; border-radius:8px; }
.screen-reader-text { position:absolute; left:-9999px; }
@media(max-width:800px) {
 .nfc-header-inner { align-items:flex-start; flex-direction:column; padding:16px 0; gap:12px; }
 .nfc-nav ul { gap:10px 16px; }
 .nfc-hero { padding:50px 0; }
 .nfc-hero-grid { grid-template-columns:1fr; }
 .nfc-hero-mark { min-height:160px; }
 .nfc-hero-mark img { max-height:150px; }
 .nfc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
 .nfc-wrap { width:min(100% - 24px,1160px); }
 .nfc-grid { grid-template-columns:1fr; }
 .nfc-section { padding:38px 0; }
 .nfc-section-head { align-items:flex-start; flex-direction:column; }
 .nfc-card img.wp-post-image, .nfc-card .nfc-thumb { height:200px; }
}


/* Accessible dropdown navigation */
.nfc-nav ul { list-style:none; }
.nfc-nav li { position:relative; }
.nfc-nav li.menu-item-has-children > a::after,
.nfc-nav li.page_item_has_children > a::after {
  content:"⌄"; display:inline-block; margin-left:6px; font-size:.8em;
}
.nfc-nav .sub-menu,
.nfc-nav .children {
  display:none; position:absolute; top:100%; left:0; min-width:245px; z-index:100;
  flex-direction:column; align-items:stretch; gap:0; padding:8px;
  background:#fff; border:1px solid #e4e9ef; border-radius:12px;
  box-shadow:0 14px 35px rgba(16,24,32,.18);
}
.nfc-nav .sub-menu li, .nfc-nav .children li { width:100%; }
.nfc-nav .sub-menu a, .nfc-nav .children a {
  display:block; padding:10px 12px; border-radius:7px; color:#172235;
  white-space:normal; line-height:1.35;
}
.nfc-nav .sub-menu a:hover, .nfc-nav .children a:hover,
.nfc-nav .sub-menu a:focus, .nfc-nav .children a:focus {
  background:#e8f6ff; color:#101820; text-decoration:none;
}
@media (hover:hover) and (pointer:fine) {
  .nfc-nav li.menu-item-has-children:hover > .sub-menu,
  .nfc-nav li.menu-item-has-children:focus-within > .sub-menu,
  .nfc-nav li.page_item_has_children:hover > .children,
  .nfc-nav li.page_item_has_children:focus-within > .children {
    display:flex;
  }
}
.nfc-nav li.nfc-submenu-open > .sub-menu,
.nfc-nav li.nfc-submenu-open > .children { display:flex; }
@media(max-width:800px) {
  .nfc-nav { width:100%; }
  .nfc-nav ul { gap:8px 14px; }
  .nfc-nav .sub-menu, .nfc-nav .children {
    position:static; min-width:0; width:100%; box-shadow:none;
    border:0; border-left:3px solid #31b2fc; border-radius:0;
    padding:4px 0 4px 10px; margin-top:5px; background:#f4f8fb;
  }
  .nfc-nav .sub-menu a, .nfc-nav .children a { padding:9px 10px; }
}


/* 0.4.0 homepage polish: dark football-club hero + light content */
.nfc-hero { position:relative; }
.nfc-hero::after {
  content:""; position:absolute; width:420px; height:420px; right:-150px; bottom:-250px;
  border:1px solid rgba(49,173,244,.22); border-radius:50%; pointer-events:none;
}
.nfc-hero-grid { position:relative; z-index:1; }
.nfc-eyebrow { display:flex; align-items:center; gap:9px; }
.nfc-live-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#31b2fc; box-shadow:0 0 0 5px rgba(49,173,244,.13); }
.nfc-hero h1 span { color:#31b2fc; }
.nfc-hero-mark { background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(49,173,244,.06)); border-color:rgba(255,255,255,.15); }
.nfc-hero-mark img { filter:drop-shadow(0 14px 28px rgba(0,0,0,.24)); }
.nfc-section { background:#f4f6f9; }
.nfc-section:nth-of-type(3) { background:#fff; }
.nfc-section-intro { margin:.65rem 0 0; color:#667085; }
.nfc-card { transition:transform .18s ease, box-shadow .18s ease; }
.nfc-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(11,31,61,.13); }
.nfc-feature-card { display:block; color:var(--nfc-ink); border-top:4px solid #31b2fc; }
.nfc-feature-card:hover { text-decoration:none; }
.nfc-button { transition:transform .15s ease, background .15s ease; }
.nfc-button:hover { transform:translateY(-1px); background:#66c7ff; text-decoration:none; }
.nfc-button.secondary:hover { background:rgba(255,255,255,.1); color:#fff; }
.nfc-sport { color:#172235; }
.nfc-sport a { color:#087dbd; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .nfc-card,.nfc-button { transition:none; }
}

/* Nyírség FC official club blue */
:root { --nfc-primary: #31b2fc; --nfc-accent: #31b2fc; }
.nfc-button:hover, .nfc-nav a:focus-visible, a:focus-visible { outline-color: #31b2fc; }
.nfc-live-dot { background:#31b2fc; box-shadow:0 0 0 4px rgba(49,178,252,.16); }
.nfc-hero h1 span { color:#31b2fc; }
.nfc-topline { background:linear-gradient(90deg,#31b2fc 0 70%,#101820 70% 100%); }


/* 0.6.0: improved homepage sections, club links, footer and mobile comfort */
.nfc-hero { background: radial-gradient(circle at 82% 18%,rgba(49,178,252,.25),transparent 28%), linear-gradient(125deg,#071321 0%,#101820 58%,#123b57 100%); }
.nfc-button { background:var(--nfc-primary); color:#071321; box-shadow:0 8px 22px rgba(49,178,252,.18); }
.nfc-section-head > a { font-weight:800; white-space:nowrap; }
.nfc-club-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.nfc-club-link { display:flex; flex-direction:column; min-height:190px; padding:26px; background:linear-gradient(145deg,#fff,#f3f9fd); border:1px solid #dceaf4; border-top:4px solid var(--nfc-primary); border-radius:var(--nfc-radius); box-shadow:var(--nfc-shadow); color:var(--nfc-ink); transition:transform .18s ease, box-shadow .18s ease; }
.nfc-club-link:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(11,31,61,.13); text-decoration:none; }
.nfc-club-link .nfc-club-icon { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:12px; margin-bottom:16px; color:#071321; background:var(--nfc-primary); font-size:1.25rem; font-weight:900; }
.nfc-club-link h3 { margin:0 0 8px; font-size:1.2rem; }
.nfc-club-link p { margin:0 0 12px; color:var(--nfc-muted); }
.nfc-club-link .nfc-club-arrow { margin-top:auto; color:#087dbd; font-weight:850; }
.nfc-footer { border-top:5px solid var(--nfc-primary); }
.nfc-footer-brand { display:flex; align-items:center; gap:14px; }
.nfc-footer-brand img { width:58px; height:auto; }
.nfc-footer-links { display:flex; flex-wrap:wrap; gap:10px 18px; }
.nfc-footer a:hover { color:var(--nfc-primary); }
.nfc-sport { max-width:100%; }
.nfc-sport table { min-width:520px; }
@media(max-width:800px) { .nfc-club-links { grid-template-columns:repeat(2,minmax(0,1fr)); } .nfc-footer-inner { align-items:flex-start; } }
@media(max-width:560px) { .nfc-club-links { grid-template-columns:1fr; } .nfc-club-link { min-height:0; padding:22px; } .nfc-footer-inner { flex-direction:column; align-items:flex-start; } .nfc-footer-brand img { width:48px; } .nfc-sport { padding:14px; } }
