/* ==========================================================================
   ASSETS/CSS/MAIN.CSS

   PURPOSE:
   - All theme styling lives here (not in style.css) for cleaner structure.
   - Designed to be lightweight and PageSpeed-friendly.
   - Minimal layout: header/nav, cards, single article, footer.
   ========================================================================== */


/* ==========================================================
   BASE / RESET (Fast, simple, PageSpeed-friendly)
   ========================================================== */

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100dvh;

  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.1px;

  color: rgba(0, 0, 0, 0.92);
  background: #ffffff;

  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button { border: 0; background: none; }

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }

p { margin: 0 0 12px 0; }

h1,h2,h3,h4,h5,h6 {
  margin: 0 0 10px 0;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.2px;
}

h1 { font-size: 30px; }
h2 { font-size: 22px; }
h3 { font-size: 18px; }
h4 { font-size: 16px; }
h5 { font-size: 14px; }
h6 { font-size: 13px; }

@media (max-width: 640px) {
  h1 { font-size: 26px; }
  h2 { font-size: 20px; }
}

ul, ol {
  margin: 0 0 12px 0;
  padding-left: 18px;
}

table { width: 100%; border-collapse: collapse; }
th, td {
  padding: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

::selection { background: rgba(167, 46, 131, 0.35); }

:focus-visible {
  outline: 2px solid rgba(167, 46, 131, 0.65);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ==========================================================
   LAYOUT UTILITIES
   ========================================================== */

.container {
  width: min(1240px, 100%);
  margin-inline: auto;
  padding-inline: 16px;
}

main, section, article, aside, header, footer { min-width: 0; }

.panel {
  background: #f3f3f3;
  border: 1px solid rgba(0, 0, 0, 0.10);
  border-radius: 14px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.10);
  background: rgba(0, 0, 0, 0.06);

  color: rgba(0, 0, 0, 0.92);
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  font-size: 12px;
}
.btn:hover { background: rgba(0, 0, 0, 0.08); }

/* ==========================================================
   ACCESSIBILITY HELPERS
   ========================================================== */

.sr-only,
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================
   HEADER (News-style, dark + red accent)
   ========================================================== */

.site-header {
  position: sticky;
  top: 36px;
  z-index: 1000;
  background: #15102d;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  margin-top: 36px;
}

.site-header::before {
  content: "";
  display: block;
  height: 3px;
  background: #a72e83;
}

.header-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-block: 12px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 180px;
  max-width: 250px;
}
.brand img {
  object-fit: contain;
  height: 80px;
}

.site-title {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #211b2e;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 1;
  min-height: 34px;
}

/* If your .site-title link is empty, show fallback text */
.site-title:empty::after {
  content: "Today's Sports News";
  display: inline-block;
}

/* NAV */
.primary-nav { flex: 1; min-width: 0; }

.menu.menu-primary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
}

.menu.menu-primary > li { position: relative; }

.menu.menu-primary > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.menu.menu-primary > li.current-menu-item > a,
.menu.menu-primary > li.current_page_item > a {
  background: rgba(167, 46, 131, 0.16);
  color: #fff;
}

.menu.menu-primary > li:hover > a {
  background: rgba(0, 0, 0, 0.07);
  transform: translateY(-1px);
}

.menu.menu-primary > li.menu-item-has-children > a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid rgba(255, 255, 255, 0.65);
  border-bottom: 2px solid rgba(255, 255, 255, 0.65);
  transform: rotate(45deg);
  margin-left: 2px;
}

/* DROPDOWNS */
.menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 8px;
  background: #15102d;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 14px;
  min-width: 240px;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  z-index: 1100;
}

.menu li:hover > .sub-menu,
.menu li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.menu .sub-menu li { position: relative; }

.menu .sub-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  transition: background-color 160ms ease;
}
.menu .sub-menu a:hover { background: rgba(0, 0, 0, 0.06); }

.menu .sub-menu .sub-menu {
  top: 0;
  left: calc(100% + 10px);
}

.menu .sub-menu li.menu-item-has-children > a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid rgba(0, 0, 0, 0.65);
  border-bottom: 2px solid rgba(0, 0, 0, 0.65);
  transform: rotate(-45deg);
  flex: 0 0 auto;
}

/* HEADER SOCIALS */
.header-socials { display: flex; align-items: center; }

/* Social icons inline */
.header-social--icons{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items: center;
}

.header-social--icons a{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: rgba(255, 255, 255,0.04);
  border: 1px solid rgba(255, 255, 255,0.06);
  color: rgba(255, 255, 255,0.92);
  text-decoration:none;
  transition: transform 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

.header-social--icons a:hover{
  background: rgba(0, 0, 0,0.06);
  transform: translateY(-1px);
  opacity: 0.95;
  text-decoration:none;
}

.header-social--icons .social-ico{
  display: inline-flex;
  line-height: 0;
}

/* MOBILE NAV toggle base */
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  cursor: pointer;
  position: relative;
}

.nav-toggle-lines {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
}
.nav-toggle-lines::before,
.nav-toggle-lines::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
}
.nav-toggle-lines::before { top: -6px; }
.nav-toggle-lines::after  { top: 6px; }

@media (max-width: 1024px) {
  .header-inner { gap: 10px; }
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .header-socials { margin-left: auto; }
  .search-field { width: 160px; max-width: 42vw; }

  .primary-nav {
    position: absolute;
    left: 16px;
    right: 16px;
    top: calc(100% + 10px);
    background: #15102d;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    padding: 10px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    z-index: 2000;
  }

  body.nav-open .primary-nav,
  .primary-nav.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .menu.menu-primary {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
  }

  .menu.menu-primary > li > a {
    width: 100%;
    justify-content: space-between;
    border-radius: 12px;
    padding: 12px 12px;
    font-size: 13px;
  }

  .menu .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    border: 0;
    padding: 6px 0 0 0;
    margin: 0;
    min-width: 0;
    background: transparent;
  }

  .menu .sub-menu a {background: rgba(255, 255, 255, 0.04);}
  .menu .sub-menu .sub-menu a { background: rgba(0, 0, 0, 0.03); }
}

@media (max-width: 520px) {
  .header-inner { flex-wrap: wrap; }
  .brand { flex: 1 1 auto; }
  .header-socials { width: 100%; }
  .search-form { width: 100%; }
  .search-field { width: 100%; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .menu .sub-menu,
  .menu.menu-primary > li > a,
  .search-submit {
    transition: none;
  }
}

/* ==========================================================
   FRONT PAGE LAYOUT
   ========================================================== */

.home-page { padding-block: 18px 30px; }

.home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

@media (max-width: 1024px) {
  .home-grid { grid-template-columns: minmax(0, 1fr); }
}

.home-left { min-width: 0; }

@media (min-width: 1025px) {
  .home-right { position: sticky; top: 154px; }
}

/* Panels */
.home-cat-section,
.home-right-block,
.focus-box {
  background: #f3f3f3;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  padding: 12px;
}

/* Section heading style (accent bar like EOTK) */
.home-cat-header,
.popular-header,
.focus-head {
  position: relative;
  padding-left: 12px;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(0, 0, 0,0.10);
}

.home-cat-header::before,
.popular-header::before,
.focus-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 12px;
  width: 4px;
  border-radius: 4px;
  background: #a72e83;
}

.home-cat-title,
.popular-title,
.focus-title {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-weight: 900;
  font-size: 14px;
}

/* ==========================================================
   AD SLOT (300x250) - home-right-block--empty
   - CLS-safe fixed size
   - Matches theme cards
   ========================================================== */

.home-right-block--empty{
  display: grid;
  place-items: center;

  background: #f3f3f3;
  border: 1px solid rgba(0, 0, 0,0.08);
  border-radius: 14px;

  padding: 14px;

  margin-bottom: 16px;

  min-height: 250px;
}

/* Inner frame for the 300x250 ad */
.home-right-block--empty .ad-slot{
  width: 300px;
  height: 250px;

  border-radius: 12px;
  overflow: hidden;

  background: rgba(0, 0, 0,0.03);
  border: 1px dashed rgba(0, 0, 0,0.14);

  contain: content;
}

/* If Google outputs an iframe/ins/div inside */
.home-right-block--empty .ad-slot iframe,
.home-right-block--empty .ad-slot ins,
.home-right-block--empty .ad-slot > div{
  display: block;
  width: 300px !important;
  height: 250px !important;
}

/* Ultra-narrow screens: scale down safely */
@media (max-width: 340px){
  .home-right-block--empty .ad-slot{
    width: 100%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 300 / 250;
  }

  .home-right-block--empty .ad-slot iframe,
  .home-right-block--empty .ad-slot ins,
  .home-right-block--empty .ad-slot > div{
    width: 100% !important;
    height: 100% !important;
  }
}

/* Post card (main list design) */
.home-feed { display: grid; gap: 12px; }

.post-card {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 12px;
  align-items: start;

  padding: 10px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

@media (max-width: 640px) {
  .post-card { grid-template-columns: 1fr; }
}

.post-card-thumb {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
  aspect-ratio: 16 / 10; /* CLS-safe */
}
.post-card-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.post-card-thumb-placeholder { display:block; width:100%; height:100%; }

.post-card-body { min-width: 0; }

.post-card-title {
  margin: 0 0 6px 0;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
}
.post-card-title a {color: #000;}
.post-card-title a:hover { text-decoration: underline; }

.post-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.72);
  margin-bottom: 8px;
}
.post-card-dot { opacity: 0.7; }

.post-card-excerpt {
  margin: 0;
  color: rgba(0, 0, 0, 0.80);
  font-size: 13px;
  line-height: 1.55;
  opacity: 0.9;
}

.home-empty {
  margin: 0;
  padding: 10px 0 0;
  color: rgba(0, 0, 0, 0.7);
  font-size: 13px;
}

/* Right sidebar */
.popular-list { counter-reset: pop; display: grid; gap: 8px; }

.popular-item {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  align-items: start;

  padding: 8px;
  padding-left: 44px;

  border-radius: 12px;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.popular-item::before {
  counter-increment: pop;
  content: counter(pop, decimal-leading-zero);
  position: absolute;
  left: 10px;
  top: 10px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.8px;
  color: rgba(0, 0, 0, 0.65);
}

.popular-thumb {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
}
.popular-thumb-img { width: 100%; height: 100%; object-fit: cover; display:block; }
.popular-thumb-placeholder { display:block; width:56px; height:56px; }

.popular-item-title {
  margin: 0 0 4px 0;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
}
.popular-item-title a:hover { text-decoration: underline; }

.popular-meta { font-size: 12px; color: rgba(0, 0, 0, 0.62); }

@media (max-width: 640px) {
  .popular-item { padding-left: 8px; }
  .popular-item::before { display: none; }
}

/* ==========================================================
   SWIPER: HOME LATEST SLIDER
   ========================================================== */

.home-latest-slider { margin-bottom: 3rem; }

.latest-posts-swiper {
	width: 100%;
	min-width: 0;
}

.latest-posts-swiper .swiper-wrapper {
  align-items: stretch;
}

.latest-posts-swiper .latest-slide { display: flex; flex-direction: column; height: auto; }

.latest-slide-thumb {
  position: relative;
  display: block;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  background: rgba(0, 0, 0,0.06);
  flex: 0 0 auto;
}

.latest-slide-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.latest-slide-overlay {
  position: absolute;
  inset: 0;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  color: #fff;
  background: linear-gradient(
    to top,
    rgba(7, 10, 15, 0.7),
    rgba(7, 10, 15, 0.25) 55%,
    rgba(7, 10, 15, 0.0)
  );
}

.latest-slide-meta {
  width: 90%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.4rem;
}

.latest-slide-cat {
  background: #15102d;
  border-radius: 14px;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 2px 8px;
  transition: all 160ms ease;
}
.latest-slide-cat:hover { background: #211b2e70; transform: translateY(-1px); text-decoration: none; }

.latest-slide-date { color: rgba(255, 255, 255, 0.85); }

.latest-slide-title {
  width: 90%;
  font-size: clamp(1.35rem, 2vw, 1.5rem);
  line-height: 1.2;
  margin: 0;
  font-weight: 600;
}
.latest-slide-title a { color: #fff; text-decoration: none; }
.latest-slide-title a:hover { text-decoration: underline; }

.latest-slide-content {
  padding: 1rem 1.25rem 2.75rem;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 0 0 14px 14px;
  flex: 1 1 auto;
}

.latest-slide-excerpt {
  font-size: 0.95rem;
  color: rgba(0, 0, 0, 0.75);
  margin: 0;
}

.latest-posts-swiper .swiper-pagination {
  position: absolute;
  bottom: 0.9rem !important;
  left: 50% !important;
  transform: translateX(-50%);
  width: auto;
}

.latest-posts-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(0, 0, 0, 0.25);
  opacity: 1;
  margin: 0 8px !important;
}

.latest-posts-swiper .swiper-pagination-bullet-active { background: #a72e83; }

.latest-posts-swiper .swiper-button-prev,
.latest-posts-swiper .swiper-button-next {
  width: 36px;
  height: 36px;
  background: rgba(7, 10, 15, 0.5);
  border: 2px solid transparent;
  border-radius: 50%;
  padding: 3px;
  color: #fff;
  backdrop-filter: blur(4px);
}

.latest-posts-swiper .swiper-button-prev:hover,
.latest-posts-swiper .swiper-button-next:hover { border-color: #fff; }

@media (max-width: 768px) {
  .latest-slide-overlay { padding: 1rem; }
  .latest-slide-meta { width: 100%; }
  .latest-slide-title { width: 100%; font-size: 1.2rem; }
  .latest-slide-content { padding: 1rem 1.25rem 2.25rem; }
  .latest-posts-swiper .swiper-button-prev,
  .latest-posts-swiper .swiper-button-next { display: none; }
}

/* ==========================================================
   HOME LEFT INNER SPLIT (below slider): 2:1
   ========================================================== */

.home-left-split {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.home-left-split .home-left-main {
  min-width: 0;
}

@media (max-width: 900px) {
  .home-left-split { grid-template-columns: 1fr; }
}

/* Pagination */
.pagination {
  margin-top: 14px;
  display: flex;
  justify-content: center;
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  margin: 0 4px;

  border-radius: 12px;
  background: rgba(0, 0, 0,0.04);
  border: 1px solid rgba(0, 0, 0,0.08);
  color: rgba(0, 0, 0,0.92);

  font-weight: 800;
  font-size: 13px;
  text-decoration: none;
}
.pagination .page-numbers.current {
  background: rgba(167, 46, 131,0.16);
  border-color: rgba(167, 46, 131,0.25);
}

/* ==========================================================
   FOCUS CATEGORY (small column inside LEFT) - sticky
   - Screenshot style: image top + title under + category pill link
   ========================================================== */

.home-left-focus { min-width: 0; }

@media (min-width: 901px) {
  .home-left-focus { position: sticky; top: 154px; }
}

/* Focus list */
.focus-list { display: grid; gap: 12px; }

/* Card */
.focus-item{
  position: relative;
  display:flex;
  flex-direction: column;
  padding:0;
  border-radius:14px;
  overflow:hidden;
  background:rgba(0, 0, 0,0.03);
  border:1px solid rgba(0, 0, 0,0.06);
  transition:transform 160ms ease, background-color 160ms ease;
}

/* Thumb container with fixed ratio */
.focus-thumb{
  position:relative;
  width:100%;
  aspect-ratio:16 / 10;
  background:rgba(0, 0, 0,0.06);
  overflow:hidden;
}

/* Post thumb link fills the box */
.focus-thumb-link{
  position:absolute;
  inset:0;
  display:block;
}

/* Image inside link */
.focus-thumb-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Placeholder */
.focus-thumb-placeholder{
  position:absolute;
  inset:0;
  display:block;
}

/* Category pill (real link) */
.focus-pill{
  position:absolute;
  left:10px;
  top:10px;
  z-index:3;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(7,10,15,0.78);
  border:1px solid rgba(0, 0, 0,0.18);
  color: rgba(255, 255, 255,0.95);
  font-size:11px;
  font-weight:900;
  letter-spacing:0.8px;
  text-transform:uppercase;
  backdrop-filter:blur(4px);
  text-decoration:none;
}

.focus-pill:hover{
  text-decoration:none;
  background:rgba(7,10,15,0.88);
  border-color: rgba(0, 0, 0,0.28);
}

/* Title under image */
.focus-item-title{
  margin:0;
  padding:10px 12px 12px;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:0.2px;
}

.focus-item-title a{
  color:rgba(0, 0, 0,0.92);
  text-decoration:none;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.focus-item:hover{
  background:rgba(0, 0, 0,0.04);
  transform:translateY(-1px);
}
.focus-item-title a:hover{ text-decoration: underline; }

@media (max-width: 900px){
  .focus-thumb{ aspect-ratio:16 / 9; }
}

@media (min-width: 1025px) {
  .home-left-split {grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .home-left-main { order: 1; }
  .home-left-focus { order: 0; }
}

@media (prefers-reduced-motion: reduce){
  .focus-item{ transition:none; }
}

/* ==========================================================
   FOOTER (UPDATED: 3 columns + inline social icons)
   ========================================================== */

.site-footer {
  margin-top: 26px;
  background: #15102d;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  position: relative;
}

.site-footer::before {
  content: "";
  display: block;
  height: 3px;
  background: #a72e83;
}

/* 3 columns */
.footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding-block: 20px 18px;
}

@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr; }
}

.footer-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 14px;
  min-width: 0;
}

.footer-box h3 {
  margin: 0 0 10px 0;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  color: #fff;
  position: relative;
  padding-left: 12px;
}

.footer-box h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 4px;
  border-radius: 4px;
  background: #a72e83;
}

.footer-box p {
  margin: 0 0 12px 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.6;
}

.muted { color: rgba(0, 0, 0, 0.68); font-size: 13px; }

/* Contacts */
.footer-contacts{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

.footer-contacts a{
  color: rgba(255, 255, 255, 0.86);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}
.footer-contacts a:hover{ text-decoration: underline; }

/* Make the privacy link look like a "secondary" item */
.footer-contacts .footer-privacy a{
  font-weight: 800;
  opacity: 0.85;
}

/* Optional footer menu (pills) */
.menu.menu-footer{
  list-style:none;
  margin:12px 0 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.menu.menu-footer a{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(0, 0, 0,0.04);
  border: 1px solid rgba(0, 0, 0,0.06);
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  color: rgba(0, 0, 0,0.90);
}
.menu.menu-footer a:hover{
  background: rgba(0, 0, 0,0.06);
  text-decoration:none;
}

/* Social icons inline */
.footer-social--icons{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items: center;
}

.footer-social--icons a{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: rgba(255, 255, 255,0.04);
  border: 1px solid rgba(255, 255, 255,0.06);
  color: rgba(255, 255, 255,0.92);
  text-decoration:none;
  transition: transform 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

.footer-social--icons a:hover{
  background: rgba(0, 0, 0,0.06);
  transform: translateY(-1px);
  opacity: 0.95;
  text-decoration:none;
}

.footer-social--icons .social-ico{
  display: inline-flex;
  line-height: 0;
}

/* Most read list */
.footer-trending{
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:ftr;
  display:grid;
  gap:8px;
}

.footer-trending li{
  counter-increment:ftr;
  position:relative;
  padding-left:34px;
}

.footer-trending li::before{
  content: counter(ftr, decimal-leading-zero);
  position:absolute;
  left:10px;
  top:0;
  font-weight:900;
  font-size:12px;
  letter-spacing:0.8px;
  color: rgba(255, 255, 255,0.62);
}

.footer-trending a{
  color: rgba(255, 255, 255,0.90);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  line-height:1.25;
}
.footer-trending a:hover{ text-decoration: underline; }

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:14px;
  border-top: 1px solid rgba(255, 255, 255,0.08);
  color: rgba(255, 255, 255,0.62);
  font-size:12px;
}

.footer-bottom small{ font-size:12px; letter-spacing:0.4px; }

@media (prefers-reduced-motion: reduce){
  .header-social--icons a{ transition:none; }
  .footer-social--icons a{ transition:none; }
}

/* ----------------------------------------------------------
   FOOTER: Mobile/Tablet polish (added)
   - Social icons centered on smaller screens
   - "Most read" becomes 2 columns on tablet, 1 on mobile
   - Footer bottom stacks nicely on mobile
   ---------------------------------------------------------- */

@media (max-width: 1024px) {
  .footer-social--icons {
    justify-content: center;
  }

  /* Make Most read compact in 2 columns on tablet */
  .footer-trending {
    display: block;
    column-count: 2;
    column-gap: 16px;
  }

  .footer-trending li {
    break-inside: avoid;
    margin: 0 0 8px 0;
  }

  .footer-bottom {
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media (max-width: 640px) {
  .footer-social--icons {
    justify-content: center;
  }

  .footer-trending {
    column-count: 1;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
  }
}

/* ==========================================================
   Breadcrumbs (used on category/single pages)
   ========================================================== */

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;

  margin: 0 0 12px 0;
  padding: 10px 12px;

  border-radius: 12px;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.06);

  font-size: 12px;
  color: rgba(0, 0, 0, 0.72);
}

.crumb-link {
  color: rgba(0, 0, 0, 0.92);
  font-weight: 800;
  text-decoration: none;
}
.crumb-link:hover { text-decoration: underline; }
.crumb-sep { opacity: 0.6; }
.crumb-current { color: rgba(0, 0, 0, 0.92); font-weight: 900; }

/* ==========================================================
   SINGLE POST STYLES (kept for later)
   ========================================================== */

.single-article {
  background: #f3f3f3;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 16px;
}

.single-head {
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

.single-cat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(167, 46, 131, 0.16);
  border: 1px solid rgba(167, 46, 131, 0.25);
  color: #000;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.single-cat:hover { text-decoration: none; opacity: 0.95; }

.single-title {
  margin: 0 0 10px 0;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: 0.2px;
}
@media (max-width: 640px) { .single-title { font-size: 24px; } }

.single-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.72);
}

.single-hero {
  margin: 0 0 14px 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
  aspect-ratio: 16 / 9;
}
.single-hero-img { width: 100%; height: 100%; object-fit: cover; }

.entry-content {
  color: rgba(0, 0, 0, 0.88);
  font-size: 16px;
  line-height: 1.75;
}
.entry-content p { margin: 0 0 14px 0; }
.entry-content h2, .entry-content h3 { margin-top: 18px; }

.entry-content p > a {
  color: rgba(0, 0, 0, 0.88);
  text-decoration: underline;
  text-decoration-color: rgba(167, 46, 131, 0.65);
}
.entry-content p > a:hover { text-decoration-color: rgba(167, 46, 131, 0.9); }

.entry-content blockquote {
  margin: 16px 0;
  padding: 12px 14px;
  border-left: 4px solid #a72e83;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 12px;
  color: rgba(0, 0, 0, 0.85);
}

.entry-content ul,
.entry-content ol { padding-left: 18px; margin: 0 0 14px 0; }
.entry-content li { margin: 6px 0; }

.single-article .wp-block-cover::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background: #00000060;
  z-index: 1;
}

/* ==========================================================
   Small CLS/Speed touches
   ========================================================== */

.post-card-thumb,
.popular-thumb,
.latest-slide-thumb,
.focus-thumb { contain: content; }


/* ================================
   SHORTCODE: [fn_latest_posts]
   ================================ */

.fn-latest-posts {
  margin: 18px 0;
}

.fn-latest-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0,0.10);
}

.fn-latest-title {
  margin: 0;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.9px;
  text-transform: uppercase;
}

/* Reuse existing post-card styles */
.fn-latest-grid {
  display: grid;
  gap: 12px;
}

/* Category pill (link) inside cards */
.post-card-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  margin: 0 0 8px 0;
  border-radius: 999px;
  background: rgba(167, 46, 131, 0.16);
  border: 1px solid rgba(167, 46, 131, 0.25);
  color: rgba(0, 0, 0,0.95);
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  text-decoration: none;
}

.post-card-pill:hover {
  opacity: 0.92;
  text-decoration: none;
}

/* ==========================================================
   TRENDING STRIP (Swiper) - full width above home-left
   ========================================================== */

.home-trending-strip{
  grid-column: 1 / -1; /* Span both columns of .home-grid */
  margin-bottom: 14px;
}

.trending-inner{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f3f3f3;
  border: 1px solid rgba(0, 0, 0,0.08);
  min-width: 0;
}

.trending-badge{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: #000;
  background: rgba(167, 46, 131,0.16);
  border: 1px solid rgba(167, 46, 131,0.25);
}

/* Swiper area grows */
.trending-posts-swiper{
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* Make marquee motion smooth (pairs with JS autoplay delay ~0) */
.trending-posts-swiper .swiper-wrapper{
  transition-timing-function: linear !important;
}

/* IMPORTANT:
   With slidesPerView: 'auto' the slide widths MUST come from CSS.
   Do not let Swiper inline-width override your layout. */
.trending-item{
  width: min(86vw, 360px);
}

@media (min-width: 768px){
  .trending-item{
    width: calc((100% - 12px) / 2);
  }
}

@media (min-width: 1100px){
  .trending-item{
    width: calc((100% - (12px * 2)) / 3);
  }
}

/* Optional cap on huge screens */
@media (min-width: 1400px){
  .trending-item{
    width: 360px;
  }
}

/* Card link */
.trending-link{
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 7px;
  border-radius: 12px;
  text-decoration: none;
  background: rgba(0, 0, 0,0.03);
  border: 1px solid rgba(0, 0, 0,0.06);
}

.trending-link:hover{
  background: rgba(0, 0, 0,0.05);
  text-decoration: none;
}

/* Thumb */
.trending-thumb{
  width: 54px;
  height: 54px;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0,0.06);
  contain: content;
}

.trending-thumb-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.trending-thumb-placeholder{
  display: block;
  width: 54px;
  height: 54px;
}

/* Text stack */
.trending-text{
  display: grid;
  gap: 6px;
  min-width: 0;
}

/* Category pill */
.trending-pill{
  justify-self: start;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0,0.06);
  border: 1px solid rgba(0, 0, 0,0.10);
  color: rgba(0, 0, 0,0.92);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1;
}

/* Title */
.trending-title{
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
  color: rgba(0, 0, 0,0.92);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Nav buttons */
.trending-nav{
  flex: 0 0 auto;
  display: inline-flex;
  gap: 8px;
  position: relative;
  z-index: 5;
  pointer-events: auto;
}

.trending-prev,
.trending-next{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0,0.12);
  background: rgba(0, 0, 0,0.06);
  cursor: pointer;
  position: relative;
}

.trending-prev::before,
.trending-next::before{
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(0, 0, 0,0.85);
  border-bottom: 2px solid rgba(0, 0, 0,0.85);
}

.trending-prev::before{ transform: rotate(135deg); }
.trending-next::before{ transform: rotate(-45deg); }

@media (max-width: 768px){
  .trending-nav{ display: none; } /* Swipe on mobile */
}


/* ==========================================================
   HOME: CATEGORY TILES (2 per row on desktop)
   ========================================================== */

.home-category-tiles{
  grid-column: 1 / -1; /* Span both columns of .home-grid */
  margin-bottom: 16px;
  width: min(1240px, 100%);
  margin-inline: auto;
  padding-inline: 16px;
}

.cat-tiles-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 900px){
  .cat-tiles-grid{
    grid-template-columns: 1fr;
  }
}

.cat-tile{
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;

  padding: 10px;
  border-radius: 14px;

  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.06);

  text-decoration: none;
  transition: transform 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

.cat-tile:hover{
  background: rgba(0, 0, 0, 0.045);
  transform: translateY(-1px);
  text-decoration: none;
}

.cat-tile-thumb{
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
  aspect-ratio: 16 / 10;
  contain: content;
}

.cat-tile-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cat-tile-placeholder{
  display: block;
  width: 100%;
  height: 100%;
}

.cat-tile-body{
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding-top: 2px;
}

.cat-tile-title{
  font-weight: 900;
  letter-spacing: 0.3px;
  font-size: 15px;
  line-height: 1.2;
  color: rgba(0, 0, 0,0.95);
}

.cat-tile-desc{
  font-size: 13px;
  line-height: 1.55;
  color: rgba(0, 0, 0,0.75);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 520px){
  .cat-tile{
    grid-template-columns: 1fr;
  }

  .cat-tile-thumb{
    aspect-ratio: 16 / 9;
  }
}

@media (prefers-reduced-motion: reduce){
  .cat-tile{ transition: none; }
}
