/* ==========================================================================
   JugZone Field Guide — Design System
   Global tokens + base rules + component styles
   ========================================================================== */

:root{
  --jz-bg:#F7F8F4;
  --jz-surface:#FFFFFF;
  --jz-ink:#15170F;
  --jz-accent:#84BA24;
  --jz-accent-hover:#729f1e;
  --jz-dark-surface:#121412;
  --jz-dark-surface-raised:#1C1F1A;
  --jz-dark-ink:#EDEFEA;
  --jz-heading-font:'Big Shoulders Display',sans-serif;
  --jz-body-font:'Source Sans 3',sans-serif;
  --jz-radius-sm:6px;
  --jz-radius-md:10px;
  --jz-radius-pill:999px;
  --jz-muted:#6b6f63;
}

/* ---- Global base rules (apply site-wide, not scoped) ---- */
body{
  background-color:var(--jz-bg);
  color:var(--jz-ink);
}
a{ color:var(--jz-accent); }
a:hover{ color:var(--jz-accent-hover); }
::selection{ background:var(--jz-accent); color:var(--jz-dark-ink); }

/* Divi already sets heading/body font-family globally via Theme Customizer
   (et_divi heading_font/body_font options). These rules cover weight/case
   refinements that aren't exposed there. */
h1,h2,h3,h4,h5,h6{ letter-spacing:-0.01em; }

/* ---- Hero ---- */
.jz-hero{background:var(--jz-bg);}
.jz-hero h1,.jz-hero h1 span{font-family:var(--jz-heading-font)!important;font-weight:800!important;line-height:1.02!important;letter-spacing:-0.01em;color:var(--jz-ink)!important;}
.jz-hero .jz-eyebrow{font-family:var(--jz-body-font);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--jz-accent);font-size:13px;}
.jz-hero p,.jz-hero .et_pb_text_inner p{font-family:var(--jz-body-font)!important;color:var(--jz-ink)!important;}
.jz-hero .et_pb_button{font-family:var(--jz-body-font)!important;font-weight:700!important;background:var(--jz-accent)!important;color:var(--jz-dark-ink)!important;border-radius:8px!important;border:none!important;padding:14px 28px!important;text-transform:none!important;letter-spacing:0!important;}
.jz-hero .et_pb_button:hover{background:var(--jz-accent-hover)!important;}

/* ---- Game data callout (dark stat/quick-facts card) ---- */
.jz-game-data{background:var(--jz-dark-surface);color:var(--jz-dark-ink);border-radius:4px;clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);border-left:4px solid var(--jz-accent);padding:22px 26px;font-family:var(--jz-body-font);}
.jz-game-data h3,.jz-game-data h4{font-family:var(--jz-heading-font)!important;color:var(--jz-dark-ink)!important;text-transform:uppercase;letter-spacing:0.02em;}

.jz-tag-pill{display:inline-block;background:var(--jz-accent);color:var(--jz-dark-ink);font-family:var(--jz-body-font);font-weight:700;font-size:12px;letter-spacing:0.03em;text-transform:uppercase;padding:6px 14px;border-radius:999px;}

/* ---- Homepage: game tiles ---- */
.jz-tile-grid h1,.jz-tile-grid h2,.jz-tile-grid h3,.jz-news-slider h1,.jz-news-slider h2,.jz-news-slider h3{font-family:var(--jz-heading-font)!important;font-weight:800!important;}
.jz-tile h3,.jz-tile .et_pb_heading__title{font-family:var(--jz-heading-font)!important;font-weight:700!important;}
.jz-tile{border-radius:10px;overflow:hidden;transition:transform .2s ease;}
.jz-tile:hover{transform:translateY(-3px);}

/* ---- Homepage: news slider ---- */
.jz-news-slider .et_pb_post_slider,.jz-news-slider .et_pb_slide_description{font-family:var(--jz-body-font)!important;}
.jz-news-slider .et_pb_slide_description h2 a,.jz-news-slider .et_pb_slide_description h2{font-family:var(--jz-heading-font)!important;color:var(--jz-dark-ink)!important;text-shadow:0 1px 3px rgba(0,0,0,.55);}
.jz-news-slider .et_pb_slide{position:relative;}
.jz-news-slider .et_pb_slide_description{position:relative;z-index:2;}
.jz-news-slider .et_pb_slide::after{content:'';position:absolute;left:0;right:0;bottom:0;height:65%;background:linear-gradient(180deg, rgba(18,20,18,0) 0%, rgba(18,20,18,0.82) 100%);pointer-events:none;z-index:1;}
.jz-news-slider .et_pb_slide_description p{color:var(--jz-dark-ink)!important;opacity:.9;}
.jz-news-slider .et-pb-controllers .et-pb-active-control{background-color:var(--jz-accent)!important;}
.jz-news-slider .et_pb_slide_description .et_pb_more_button{background:var(--jz-accent)!important;color:var(--jz-dark-ink)!important;border-color:var(--jz-accent)!important;}

/* ---- Homepage: stats band ---- */
.jz-social-band h1,.jz-social-band h2,.jz-social-band h3{font-family:var(--jz-heading-font)!important;font-weight:800!important;}
.jz-social-band .et_pb_number_counter_container .percent{font-family:var(--jz-heading-font)!important;}

/* ---- Homepage: Latest Guides grid ---- */
.jz-guides-grid h1,.jz-guides-grid h2,.jz-guides-grid h3{font-family:var(--jz-heading-font)!important;font-weight:800!important;}
.jz-guides-grid .et_pb_post{background:var(--jz-surface);border-radius:var(--jz-radius-md);overflow:hidden;box-shadow:0 1px 3px rgba(21,23,15,.08);transition:transform .2s ease,box-shadow .2s ease;}
.jz-guides-grid .et_pb_post:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(21,23,15,.12);}
.jz-guides-grid .entry-title,.jz-guides-grid .entry-title a{font-family:var(--jz-heading-font)!important;font-weight:700!important;color:var(--jz-ink)!important;}
.jz-guides-grid .post-meta,.jz-guides-grid .post-meta *{font-family:var(--jz-body-font);color:var(--jz-muted)!important;font-size:13px;text-transform:uppercase;letter-spacing:.03em;}
.jz-guides-grid .more-link,.jz-guides-grid a.more-link{color:var(--jz-accent)!important;font-weight:700;text-decoration:none;}
.jz-guides-grid .et_pb_post_content{padding:18px 20px 22px;}
.jz-guides-grid article.et_pb_post{margin-bottom:0;}

/* ---- Game Hub / category archive hero (modern, editorial) ---- */
.jz-hub-hero{background:radial-gradient(120% 140% at 50% 0%, #1c1f1a 0%, #121412 55%, #0d0f0b 100%);}
.jz-hub-hero .jz-eyebrow,.jz-hub-hero .jz-eyebrow p{font-family:var(--jz-body-font)!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--jz-accent)!important;font-size:13px;margin:0;}
.jz-hub-hero .jz-hub-title h1,.jz-hub-hero .jz-hub-title h2,.jz-hub-hero .jz-hub-title .et_pb_module_heading{font-family:var(--jz-heading-font)!important;font-weight:800!important;font-size:56px;line-height:.98;color:var(--jz-dark-ink)!important;letter-spacing:-.015em;margin:14px 0 0;text-transform:uppercase;}
.jz-hub-hero .jz-hub-subtext,.jz-hub-hero .jz-hub-subtext p{font-family:var(--jz-body-font)!important;color:var(--jz-dark-ink)!important;opacity:.72;font-size:17px;margin:16px 0 0;}

/* ---- Hub grid cards: image-forward, editorial overlay-title style ---- */
.jz-hub-grid .et_pb_post{background:var(--jz-surface);border-radius:var(--jz-radius-md);overflow:hidden;box-shadow:0 1px 3px rgba(21,23,15,.08);transition:transform .25s ease,box-shadow .25s ease;}
.jz-hub-grid .et_pb_post:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(21,23,15,.16);}
.jz-hub-grid .et_pb_image_container{position:relative;overflow:hidden;aspect-ratio:16/10;margin:0;}
.jz-hub-grid .et_pb_image_container img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.jz-hub-grid .et_pb_post:hover .et_pb_image_container img{transform:scale(1.06);}
.jz-hub-grid .entry-title{position:relative;margin:-58px 0 0;padding:36px 16px 12px;background:linear-gradient(180deg,rgba(18,20,18,0) 0%,rgba(18,20,18,.88) 72%);z-index:2;}
.jz-hub-grid .entry-title a{font-family:var(--jz-heading-font)!important;font-weight:700!important;font-size:18px;line-height:1.2;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.4);}
.jz-hub-grid .post-meta{padding:3px 16px 16px;margin:0;font-family:var(--jz-body-font);font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--jz-muted)!important;}
.jz-hub-grid .post-meta a{color:var(--jz-accent)!important;font-weight:700;text-decoration:none;}
.jz-hub-grid .post-meta a:hover{color:var(--jz-accent-hover)!important;}
.jz-hub-grid .post-content{display:none;}

/* ---- Empty-state card (no posts yet in this category) ---- */
.jz-hub-grid .not-found-title{font-family:var(--jz-heading-font)!important;font-weight:800!important;color:var(--jz-ink)!important;}
.jz-hub-grid .entry p{font-family:var(--jz-body-font);color:var(--jz-muted);}

/* ---- Hub pagination ---- */
.jz-hub-grid .pagination{clear:both;margin-top:36px;text-align:center;font-family:var(--jz-body-font);}
.jz-hub-grid .pagination .alignleft,.jz-hub-grid .pagination .alignright{display:inline-block;float:none;}
.jz-hub-grid .pagination a{display:inline-block;color:var(--jz-ink);font-weight:700;padding:10px 22px;border-radius:var(--jz-radius-pill);background:var(--jz-surface);box-shadow:0 1px 3px rgba(21,23,15,.08);text-decoration:none;}
.jz-hub-grid .pagination a:hover{background:var(--jz-accent);color:var(--jz-dark-ink);}


/* ---- Legal / info pages (About, Community Guidelines, Disclaimer, Privacy, Terms) ---- */
.jz-legal-page .entry-content{max-width:800px;margin:0 auto;padding:56px 24px 80px;}
.jz-legal-body{position:relative;}
.jz-legal-body::before{content:attr(data-eyebrow);display:block;font-family:var(--jz-body-font);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--jz-accent);font-size:13px;margin:0 0 10px;}
.jz-legal-updated{order:-1;}
.jz-legal-updated::before{content:attr(data-date);display:block;font-family:var(--jz-body-font);font-style:italic;color:var(--jz-muted);font-size:14px;margin:-6px 0 28px;}

.jz-legal-page .et_pb_heading_container .et_pb_module_heading{font-family:var(--jz-heading-font)!important;font-weight:800!important;font-size:44px;line-height:1.02;color:var(--jz-ink)!important;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 8px;}

.jz-legal-page .et_pb_text_inner{font-family:var(--jz-body-font);color:var(--jz-ink);font-size:16px;line-height:1.7;}
.jz-legal-page .et_pb_text_inner p{margin:0 0 18px;}
.jz-legal-page .et_pb_text_inner p:first-of-type em{color:var(--jz-muted);font-style:italic;}
.jz-legal-page .et_pb_text_inner h2{font-family:var(--jz-heading-font)!important;font-weight:800!important;font-size:28px;color:var(--jz-ink);text-transform:uppercase;letter-spacing:-.005em;margin:44px 0 14px;padding-top:24px;border-top:2px solid var(--jz-bg);}
.jz-legal-page .et_pb_text_inner h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.jz-legal-page .et_pb_text_inner h3{font-family:var(--jz-heading-font)!important;font-weight:700!important;font-size:20px;color:var(--jz-ink);margin:32px 0 10px;position:relative;padding-left:16px;}
.jz-legal-page .et_pb_text_inner h3::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:var(--jz-accent);}
.jz-legal-page .et_pb_text_inner h4{font-family:var(--jz-body-font);font-weight:700;font-size:16px;color:var(--jz-ink);margin:24px 0 8px;}
.jz-legal-page .et_pb_text_inner ul,.jz-legal-page .et_pb_text_inner ol{margin:0 0 18px;padding-left:22px;}
.jz-legal-page .et_pb_text_inner li{margin:0 0 8px;line-height:1.65;}
.jz-legal-page .et_pb_text_inner li::marker{color:var(--jz-accent);font-weight:700;}
.jz-legal-page .et_pb_text_inner strong{color:var(--jz-ink);font-weight:700;}
.jz-legal-page .et_pb_text_inner a{color:var(--jz-accent-hover);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.jz-legal-page .et_pb_text_inner a:hover{color:var(--jz-accent);}
.jz-legal-page .et_pb_text_inner blockquote{margin:0 0 18px;padding:14px 20px;background:var(--jz-bg);border-left:4px solid var(--jz-accent);border-radius:0 var(--jz-radius-sm) var(--jz-radius-sm) 0;color:var(--jz-muted);}
.jz-legal-page .et_pb_text_inner table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:15px;}
.jz-legal-page .et_pb_text_inner table th,.jz-legal-page .et_pb_text_inner table td{padding:10px 14px;border:1px solid #E4E6DE;text-align:left;}
.jz-legal-page .et_pb_text_inner table th{background:var(--jz-bg);font-family:var(--jz-body-font);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--jz-muted);}

@media (max-width:767px){
  .jz-legal-page .entry-content{padding:36px 20px 60px;}
  .jz-legal-page .et_pb_heading_container .et_pb_module_heading{font-size:32px;}
  .jz-legal-page .et_pb_text_inner h2{font-size:22px;}
  .jz-legal-page .et_pb_text_inner h3{font-size:18px;}
}

/* ---- Guides hub search + filter toolbar (top-level Guide archive) ---- */
.jz-hub-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;max-width:1080px;margin:0 auto 32px;padding:0 20px;}
.jz-hub-filters .jz-hub-search{flex:1 1 240px;min-width:180px;padding:11px 16px;border:1px solid #E4E6DE;border-radius:var(--jz-radius-pill);font-family:var(--jz-body-font);font-size:14px;color:var(--jz-ink);background:var(--jz-surface);}
.jz-hub-filters .jz-hub-search:focus{outline:none;border-color:var(--jz-accent);}
.jz-hub-filters select{padding:11px 16px;border:1px solid #E4E6DE;border-radius:var(--jz-radius-pill);font-family:var(--jz-body-font);font-size:14px;font-weight:600;color:var(--jz-ink);background:var(--jz-surface);cursor:pointer;}
.jz-hub-filters select:focus{outline:none;border-color:var(--jz-accent);}
.jz-hub-filters .jz-hub-filter-reset{padding:11px 18px;border:none;border-radius:var(--jz-radius-pill);background:var(--jz-bg);font-family:var(--jz-body-font);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--jz-muted);cursor:pointer;transition:background .2s ease,color .2s ease;}
.jz-hub-filters .jz-hub-filter-reset:hover{background:var(--jz-accent);color:var(--jz-dark-ink);}
.jz-hub-no-results{max-width:1080px;margin:0 auto 40px;padding:0 20px;text-align:center;font-family:var(--jz-body-font);color:var(--jz-muted);font-size:15px;}
@media (max-width:600px){
  .jz-hub-filters{flex-direction:column;align-items:stretch;}
  .jz-hub-filters select,.jz-hub-filters .jz-hub-search{width:100%;}
}

/* ---- News search (top-level News archive) ---- */
.jz-news-search-wrap{max-width:1080px;margin:0 auto 32px;padding:0 20px;}
.jz-news-search{width:100%;max-width:420px;padding:11px 16px;border:1px solid #E4E6DE;border-radius:var(--jz-radius-pill);font-family:var(--jz-body-font);font-size:14px;color:var(--jz-ink);background:var(--jz-surface);}
.jz-news-search:focus{outline:none;border-color:var(--jz-accent);}
.jz-news-no-results{max-width:1080px;margin:0 auto 40px;padding:0 20px;text-align:center;font-family:var(--jz-body-font);color:var(--jz-muted);font-size:15px;}
@media (max-width:600px){
  .jz-news-search{max-width:100%;}
}

/* ---- About page (post 583) -- light brand polish for the custom hero/connect/CTA build ---- */
.page-id-583 .et_pb_heading_3 .et_pb_module_header{color:var(--jz-dark-ink)!important;}
.page-id-583 .et_pb_button_0{font-family:var(--jz-body-font)!important;font-weight:700!important;background:var(--jz-accent)!important;color:var(--jz-dark-ink)!important;border-radius:8px!important;border:none!important;padding:14px 30px!important;text-transform:none!important;letter-spacing:0!important;}
.page-id-583 .et_pb_button_0:hover{background:var(--jz-accent-hover)!important;}
.page-id-583 .et_pb_social_media_follow{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;padding:0;margin:0 0 8px;list-style:none;}
.page-id-583 .et_pb_social_media_follow_network{transition:transform .2s ease;}
.page-id-583 .et_pb_social_media_follow_network:hover{transform:translateY(-3px);}
.page-id-583 .et_pb_social_media_follow_network a.icon{border-radius:999px;}
.page-id-583 .et_pb_text_1{max-width:520px;margin:0 auto;text-align:center;}
.page-id-583 .et_pb_text_1 a{color:var(--jz-accent-hover);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.page-id-583 .et_pb_text_1 a:hover{color:var(--jz-accent);}