﻿/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.2.4.1724602800
Updated: 2026-08-25 19:55:00

*/

/* -------------------------------------------------------------------------
 * Brand Bridge tokens (light / dark) — layout system for homepage redesign.
 * Content/copy lives in the Front Page editor; do not ship mock lorem.
 * ------------------------------------------------------------------------- */
:root,
[data-theme="light"] {
  --kp-bg: #f8fcff;
  --kp-surface: #ffffff;
  --kp-surface-variant: #eef6ff;
  --kp-text: #1a1a2e;
  --kp-text-muted: #718096;
  --kp-border: #d4e5f7;
  --kp-accent: #e30613;
  --kp-accent-hover: #b8050f;
  --kp-accent-soft: #fde8ea;
  --kp-header-bg: #0f172a;
  --kp-header-text: #f8fafc;
  --kp-focus: #e30613;
  --kp-radius: 8px;
  color-scheme: light;
}

[data-theme="dark"] {
  --kp-bg: #0f172a;
  --kp-surface: #1e293b;
  --kp-surface-variant: #334155;
  --kp-text: #f8fafc;
  --kp-text-muted: #94a3b8;
  --kp-border: #334155;
  --kp-accent: #ff4d4d;
  --kp-accent-hover: #e30613;
  --kp-accent-soft: #3f1215;
  --kp-header-bg: #0f172a;
  --kp-header-text: #f8fafc;
  --kp-focus: #ff4d4d;
  color-scheme: dark;
}

/* Dark tokens only when html[data-theme="dark"] is set explicitly.
 * Do NOT follow prefers-color-scheme — it makes light hero H1 invisible
 * and paints home sections navy while the mock is light Brand Bridge. */

.button,
.wp-block-button .wp-block-button__link {
  padding: 15px 25px;
}
.page-header h1 {
  font-size: 1.5em;
}
.row::after {
  display: table;
  clear: both;
  content: "";
}
.kp-similar-songs {
  margin-top: 18px;
}
.kp-similar-songs:empty {
  display: none;
}
.similar-lyrics {
  margin: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.similar-lyrics h3 {
  margin: 0;
  padding: 14px 18px;
  text-align: left;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #1f2937;
  background: linear-gradient(180deg, #f8f7ff 0%, #ffffff 100%);
  border-bottom: 1px solid #e5e7eb;
}
.similar-lyrics ul {
  list-style: none;
  padding: 10px;
  margin: 0;
  display: grid;
  gap: 8px;
}
.similar-lyrics li {
  margin-bottom: 0;
}
.similar-lyrics li a {
  display: flex;
  font-weight: 600;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  text-decoration: none;
  box-shadow: none;
  padding: 8px 10px;
  color: #1f2937;
  gap: 10px;
  background: #fff;
}
.similar-lyrics li a:hover {
  background-color: #f8f7ff;
  border-color: #ddd6fe;
}
.similar-lyrics li.link1 a,
.similar-lyrics li.link2 a,
.similar-lyrics li.link3 a {
  background-color: #fff;
  color: #1f2937;
}
.similar-lyrics li img {
  margin-right: 0;
  max-width: 48px;
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}
.similar-lyrics h3 a.kp-similar-hub-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.similar-lyrics h3 a.kp-similar-hub-link:hover {
  opacity: 0.9;
}
.tags a {
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  line-height: 24px;
  font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
  background-color: #777;
  position: relative;
  height: 24px;
  text-decoration: none;
  color: #fff;
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  -moz-border-bottom-right-radius: 3px;
  -webkit-border-bottom-right-radius: 3px;
  -o-border-bottom-right-radius: 3px;
  border-bottom-right-radius: 3px;
  -moz-border-top-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  -o-border-top-right-radius: 3px;
  border-top-right-radius: 3px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  padding: 0 10px 0 12px;
}
.link_custom {
  color: #2c003e;
}
.tags a.color1 {
  background-color: #2c003e;
}
.tags a.color2 {
  background-color: #eb455f;
}
.tags a.color3 {
  background-color: #de3f3e;
}
.tags a.color4 {
  background-color: #ec008c;
}
.tags a.color5 {
  background-color: #00a6df;
}
.tags a:hover {
  background-color: #222;
  color: white !important;
}
.hrCustom {
  margin-top: 7px;
  margin-bottom: 3px;
  border: 0;
  background-color: rgba(0, 0, 0, 0.1);
  height: 1px;
}

/* Movie single hero: constrain background so it doesn’t paint past the viewport */
.kp-movie-hero-section {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background-size: cover;
  background-position: 50% 25%;
  background-repeat: no-repeat;
}

/* -------------------------------------------------------------------------
 * Single CPT pages — movie & artist (shared design system: .kp-cpt-*)
 * ------------------------------------------------------------------------- */
.kp-cpt-page {
  --kp-cpt-surface: #ffffff;
  --kp-cpt-border: #e5e7eb;
  --kp-cpt-text: #1f2937;
  --kp-cpt-muted: #6b7280;
  --kp-cpt-accent: #5e60ce;
  --kp-cpt-accent-dark: #4845b8;
  --kp-cpt-accent-soft: #eef0ff;
  --kp-cpt-hero-bg: none;
}

.kp-cpt-page .inside-article > .entry-header.kp-cpt-header {
  padding: 0;
  margin: 0;
  border: 0;
}

.kp-cpt-header > .kp-cpt-hero {
  margin: 0;
}

/* Hero — backdrop image + dark gradient overlay */
.kp-cpt-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 16px;
  background-color: #1a1a2e;
  background-image: var(--kp-cpt-hero-bg);
  background-size: cover;
  background-position: 50% 30%;
  background-repeat: no-repeat;
  color: #fff;
  margin: 0 0 22px;
  min-height: 260px;
}

.kp-cpt-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(15, 12, 41, 0.45) 0%, rgba(15, 12, 41, 0.85) 100%),
    linear-gradient(135deg, rgba(94, 96, 206, 0.45) 0%, rgba(123, 93, 250, 0.25) 100%);
  backdrop-filter: blur(2px);
}

.kp-cpt-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px 22px 26px;
}

.kp-cpt-hero__poster,
.kp-cpt-hero__avatar {
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.kp-cpt-hero__poster {
  width: 130px;
  aspect-ratio: 2 / 3;
}

.kp-cpt-hero__avatar {
  width: 130px;
  height: 130px;
  border-radius: 999px;
  aspect-ratio: 1 / 1;
}

.kp-cpt-hero__poster img,
.kp-cpt-hero__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kp-cpt-hero__content {
  min-width: 0;
  flex: 1;
}

.kp-cpt-hero__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.kp-cpt-hero__title {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.55rem, 4.2vw, 2.25rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

.kp-cpt-hero__meta {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kp-cpt-hero__meta li {
  list-style: none;
  margin: 0;
}

.kp-cpt-hero__meta-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  text-decoration: none;
  backdrop-filter: blur(6px);
  transition: background 0.15s ease, border-color 0.15s ease;
}

a.kp-cpt-hero__meta-chip--link:hover,
a.kp-cpt-hero__meta-chip--link:focus {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
  outline: none;
}

.kp-cpt-hero__meta-chip--year {
  background: rgba(245, 207, 60, 0.22);
  border-color: rgba(245, 207, 60, 0.55);
}

.kp-cpt-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px;
}

.kp-cpt-stat {
  display: flex;
  flex-direction: column;
  min-width: 90px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px);
}

.kp-cpt-stat__num {
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.05;
  color: #fff;
  letter-spacing: -0.01em;
}

.kp-cpt-stat__label {
  margin-top: 2px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.kp-cpt-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.kp-cpt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 0.15s ease, transform 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.kp-cpt-btn--primary {
  background: #fff;
  color: #1f1f3a;
}

.kp-cpt-btn--primary:hover,
.kp-cpt-btn--primary:focus {
  background: var(--kp-cpt-accent-soft);
  color: var(--kp-cpt-accent-dark);
  outline: none;
}

.kp-cpt-btn--ghost {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}

.kp-cpt-btn--ghost:hover,
.kp-cpt-btn--ghost:focus {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
  outline: none;
}

.kp-cpt-btn--app {
  background: #14532d;
  color: #fff !important;
  border-color: #14532d;
}

.kp-cpt-btn--app:hover,
.kp-cpt-btn--app:focus {
  background: #166534;
  border-color: #166534;
  color: #fff !important;
  outline: none;
}

@media (min-width: 720px) {
  .kp-cpt-hero {
    min-height: 320px;
  }

  .kp-cpt-hero__inner {
    flex-direction: row;
    align-items: center;
    gap: 26px;
    padding: 34px 30px;
  }

  .kp-cpt-hero__poster {
    width: 170px;
  }

  .kp-cpt-hero__avatar {
    width: 160px;
    height: 160px;
  }
}

/* Content area */
.kp-cpt-content {
  margin-top: 0;
}

.kp-cpt-about {
  margin: 0 0 24px;
  padding: 18px 20px;
  background: var(--kp-cpt-surface);
  border: 1px solid var(--kp-cpt-border);
  border-left: 4px solid var(--kp-cpt-accent);
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  font-size: 15px;
  line-height: 1.7;
  color: var(--kp-cpt-text);
}

.kp-cpt-about > *:first-child {
  margin-top: 0;
}

.kp-cpt-about > *:last-child {
  margin-bottom: 0;
}

.kp-cpt-about .kp-hub-intro {
  margin: 0;
}

/* Section blocks with anchors + count badges */
.kp-cpt-section {
  margin: 0 0 28px;
  scroll-margin-top: 92px;
}

.kp-cpt-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #2b2350 0%, #4a3fa1 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: 0 6px 18px rgba(74, 63, 161, 0.18);
}

.kp-cpt-section__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  letter-spacing: -0.01em;
}

.kp-cpt-section__title-name {
  color: #ffd56b;
  font-weight: 800;
}

.kp-cpt-section__count {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 28px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
}

.kp-cpt-section .kp-same-row-ui {
  margin: 0;
  padding: 0;
  background: var(--kp-cpt-surface);
  border: 1px solid var(--kp-cpt-border);
  border-top: 0;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.kp-cpt-section .kp-same-row-ui .az-rows {
  margin: 0;
  padding: 0;
}

.kp-cpt-section .kp-same-row-ui__empty {
  margin: 0;
  padding: 24px 20px;
  text-align: center;
  font-size: 14px;
  color: var(--kp-cpt-muted);
}

.kp-cpt-list-more {
  margin: 0;
  padding: 12px 16px 14px;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--kp-cpt-muted, #6b7280);
  border-top: 1px solid var(--kp-cpt-border, #e5e7eb);
  background: #fafafa;
}

.kp-cpt-list-more__link {
  margin-left: 0.35em;
  font-weight: 700;
  color: var(--kp-cpt-accent, #5e60ce);
  text-decoration: none;
}

.kp-cpt-list-more__link:hover {
  text-decoration: underline;
}

/* Share block */
.kp-cpt-share {
  margin: 18px 0 6px;
  padding: 18px 18px 14px;
  background: linear-gradient(180deg, #f8f7ff 0%, #ffffff 100%);
  border: 1px solid var(--kp-cpt-border);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.kp-cpt-share__title {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
  color: var(--kp-cpt-text);
}

.kp-cpt-share .social-share-buttons {
  margin: 0;
  padding: 0;
}

@media (max-width: 480px) {
  .kp-cpt-hero {
    border-radius: 12px;
  }

  .kp-cpt-hero__inner {
    padding: 22px 16px 20px;
  }

  .kp-cpt-hero__poster,
  .kp-cpt-hero__avatar {
    width: 110px;
  }

  .kp-cpt-hero__avatar {
    height: 110px;
  }

  .kp-cpt-section__head {
    padding: 12px 14px;
    flex-wrap: wrap;
  }

  .kp-cpt-section__title {
    font-size: 0.98rem;
  }

  .kp-cpt-about {
    padding: 14px 16px;
  }
}

/*
 * Google AdSense Auto Ads often inject wide iframes / min-width — widen scrollWidth vs viewport.
 * Clamp creatives inside viewport without disabling ads entirely (still renders scaled/clipped).
 */
ins.adsbygoogle,
.adsbygoogle,
.google-auto-placed,
div[id^="google_ads_iframe"],
iframe[id^="google_ads_iframe"],
iframe[name^="google_ads_iframe"],
iframe[id^="aswift_"],
iframe[name^="aswift_"] {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

ins.adsbygoogle {
  min-width: 0 !important;
  overflow: hidden;
}

/* Fluid ad iframes inside ins / auto-placed wrappers */
ins.adsbygoogle iframe,
.google-auto-placed iframe {
  max-width: 100% !important;
}

/* Direct children of body (some auto formats inject here) */
body > ins.adsbygoogle,
body > .google-auto-placed {
  max-width: 100vw !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 782px) {
  /* Horizontal scroll / “white gutter” — site-wide (singles, archives, shortcodes) */
  html {
    overflow-x: hidden;
    max-width: 100%;
  }

  body {
    overflow-x: hidden;
    max-width: 100%;
    position: relative;
  }

  #page.site {
    overflow-x: hidden;
    max-width: 100%;
  }

  .site-content .content-area,
  .inside-article,
  .inside-article .entry-content,
  .single .inside-article,
  .inside-article .entry-header {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  /* Float grid in content-single: padding + %-width without border-box overflows */
  .entry-content .row {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .entry-content [class*="custom-col-"] {
    max-width: 100%;
    min-width: 0;
  }

  /* WP content: never wider than viewport */
  .entry-content iframe,
  .entry-content embed,
  .entry-content video,
  .entry-content svg,
  .entry-content img {
    max-width: 100%;
    height: auto;
  }

  /* Song info table (single): fixed layout + wrapping beats page-wide overflow */
  .entry-content table.customTableCard {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    box-sizing: border-box;
  }

  .entry-content table.customTableCard td {
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: top;
  }

  .entry-content figure.wp-block-table {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .entry-content {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Long pre/code URLs */
  .entry-content pre {
    overflow-x: auto;
    max-width: 100%;
  }

  .kp-same-row-ui.kp-rich-rows {
    max-width: 100%;
    min-width: 0;
  }

  .kp-same-row-ui.kp-rich-rows .kp-row-meta-html {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .az-post-list-wrapper.az-by-letter .az-index {
    gap: 6px;
    padding: 0;
  }

  /* Share row must not exceed viewport — nowrap breaks ~320px widths */
  .social-share-buttons {
    flex-wrap: wrap !important;
    max-width: 100%;
    padding-left: 4px !important;
    padding-right: 4px !important;
    box-sizing: border-box;
  }
}

@media (max-width: 480px) {
  /* Override narrower breakpoint that forced nowrap + horizontal page scroll */
  .social-share-buttons {
    gap: 8px !important;
    justify-content: center !important;
  }

  .share-btn {
    white-space: normal;
    text-align: center;
  }
}
/* Visually hide tab radios — avoid `left:-100vw/-200vw` (widens horizontal scroll width) */
.tabset > input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  opacity: 0;
  clip: rect(0, 0, 1px, 1px);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
.tabset .tab-panel {
  display: none;
}
.tabset > input:first-child:checked ~ .tab-panels > .tab-panel:first-child,
.tabset > input:nth-child(3):checked ~ .tab-panels > .tab-panel:nth-child(2),
.tabset > input:nth-child(5):checked ~ .tab-panels > .tab-panel:nth-child(3),
.tabset > input:nth-child(7):checked ~ .tab-panels > .tab-panel:nth-child(4),
.tabset > input:nth-child(9):checked ~ .tab-panels > .tab-panel:nth-child(5),
.tabset > input:nth-child(11):checked ~ .tab-panels > .tab-panel:nth-child(6) {
  display: block;
}
.tabset > label {
  display: inline-block;
  font-weight: 600;
  border: 1px solid transparent;
  position: relative;
  border-bottom: 0;
  cursor: pointer;
  padding: 15px 15px 25px;
}
.tabset > label::after {
  width: 22px;
  background-color: #8d8d8d;
  position: absolute;
  height: 4px;
  bottom: 10px;
  left: 15px;
  content: "";
}
.tabset > label:hover,
.tabset > input:focus + label {
  color: #06c;
}
.tabset > label:hover::after,
.tabset > input:focus + label::after,
.tabset > input:checked + label::after {
  background-color: #06c;
}
.tabset > input:checked + label {
  margin-bottom: -1px;
  border-bottom: 1px solid #fff;
  border-color: #ccc;
}
.tab-panel {
  border-top: 1px solid #ccc;
  padding: 30px 0;
}
.tabset {
  position: relative;
  max-width: 65em;
}

/* -------------------------------------------------------------------------
 * Chord single — stacked content sections (no tabs)
 * Reuses the same .customTableCard, .tags, .social-share-buttons, .embed-container
 * styles as content-single.php, so the rest of the page already matches.
 * ------------------------------------------------------------------------- */
.kp-chord-content {
  margin: 8px 0 18px;
}

.kp-chord-content__section {
  margin: 0 0 22px;
  padding: 18px 18px 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #5e60ce;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.kp-chord-content__section:last-child {
  margin-bottom: 0;
}

.kp-chord-content__title {
  margin: 0 0 12px;
  padding: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #1f2937;
  border-bottom: 1px solid #eef0f4;
}

.kp-chord-content__body {
  font-size: 16px;
  line-height: 1.7;
  color: #1f2937;
}

.kp-chord-content__body p:last-child {
  margin-bottom: 0;
}

.kp-chord-content__body pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  background: #f8f9fc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.75;
  overflow-x: auto;
  white-space: pre;
}

/* -------------------------------------------------------------------------
 * Global FAQ design (used by content-single, content-chord, etc.)
 * Targets the markup emitted by display_dynamic_faq().
 * ------------------------------------------------------------------------- */
.faqDisplay {
  margin-top: 18px;
}

.faqDisplay .faq {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.faqDisplay .faq > h2 {
  margin: 0;
  padding: 16px 20px;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #1f2937;
  background: linear-gradient(180deg, #f8f7ff 0%, #ffffff 100%);
  border-bottom: 1px solid #e5e7eb;
}

.faqDisplay .faq > ul,
.faqDisplay .faq > ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.faqDisplay .faq > ul > li,
.faqDisplay .faq > ol > li {
  list-style: none;
  margin: 0;
  padding: 16px 20px;
  border-bottom: 1px solid #f3f4f6;
}

.faqDisplay .faq > ul > li:last-child,
.faqDisplay .faq > ol > li:last-child {
  border-bottom: none;
}

.faqDisplay .faq-question {
  margin: 0 0 8px;
  padding: 0 0 0 30px;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.45;
  color: #1f2937;
  position: relative;
}

.faqDisplay .faq-question::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  color: #ffffff;
  background: linear-gradient(135deg, #5e60ce 0%, #7b5dfa 100%);
  border-radius: 999px;
  letter-spacing: 0;
}

.faqDisplay .faq-answer {
  margin: 0;
  padding: 0 0 0 30px;
  font-size: 0.95rem;
  line-height: 1.65;
  color: #4b5563;
  position: relative;
}

.faqDisplay .faq-answer::before {
  content: "A";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  color: #5e60ce;
  background: #eef0ff;
  border-radius: 999px;
}

.faqDisplay .faq-answer p {
  margin: 0 0 6px;
}

.faqDisplay .faq-answer p:last-child {
  margin-bottom: 0;
}

.faqDisplay .faq-answer a {
  color: #5e60ce;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease;
}

.faqDisplay .faq-answer a:hover,
.faqDisplay .faq-answer a:focus {
  border-bottom-color: #5e60ce;
  outline: none;
}

@media (max-width: 480px) {
  .faqDisplay .faq > h2 {
    padding: 14px 16px;
    font-size: 1.05rem;
  }

  .faqDisplay .faq > ul > li,
  .faqDisplay .faq > ol > li {
    padding: 14px 16px;
  }

  .kp-chord-content__section {
    padding: 14px 14px 16px;
  }
}

.snip1578 {
  text-align: left;
  display: inline-block;
  font-size: 16px;
  width: 100%;
  background-color: rgba(0, 0, 255, 0.1);
  max-width: 350px;
  position: relative;
  min-width: 230px;
  color: #000;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  backdrop-filter: blur(10px);
  margin: 10px;
}
.snip1578 *,
.snip1578:before,
.snip1578:after {
  -moz-transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.snip1578 img {
  margin-top: -15px;
  margin-bottom: 15px;
  margin-left: 60%;
  vertical-align: top;
  max-width: 35%;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  backface-visibility: hidden;
}
.snip1578 figcaption {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 40%;
  padding: 15px;
}
.snip1578 h3 {
  font-weight: normal;
  font-size: 1.1em;
  margin: 0;
}
.inside-article div .link_custom {
  font-weight: bold;
  font-size: 14px;
  line-height: 2em;
}
.inside-article div .snip1578 {
  margin-right: 294px;
  -moz-transform: translatex(0) translatey(0);
  -webkit-transform: translatex(0) translatey(0);
  -o-transform: translatex(0) translatey(0);
  transform: translatex(0) translatey(0);
  min-height: 160px;
}
/* .inside-article div h3 {
  margin-bottom: 11px;
  text-transform: capitalize;
  font-size: 19px;
  text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px;
} */
.inside-article .snip1578 span {
  font-weight: 600;
  font-size: 14px;
  color: #34495e;
}
.customTableCard tr td {
  font-weight: bold;
  font-size: 14px;
  width: auto;
  border: none;
  border-bottom: 1px solid #ccc;
}
.customTableCard {
  border: none;
}
.card-container {
  justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
.card {
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  background-color: rgba(72, 191, 227, 0.4);
  -moz-border-radius: 11px;
  -webkit-border-radius: 11px;
  -o-border-radius: 11px;
  border-radius: 11px;
  padding: 5px;
  margin: 6px 0;
}
.card > .card-content-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}
.card > .card-content-layout img {
  width: 100%;
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  -o-border-radius: 7px;
  border-radius: 7px;
}
.button-layout {
  margin-bottom: 7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 7px;
}
.card > .card-content-layout > figure {
  margin-bottom: 7px;
}
.content > .card-title {
  font-weight: 400;
  font-size: 1.3em;
}
.content > .card-description {
  color: #8a8c8d;
  margin: 7px 0;
}
.content > .rating {
  margin-top: 10px;
  margin-bottom: 5px;
  color: #bbb;
}
.card > .card-content-layout > .card-content {
  margin-left: 10px;
  flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
}
.button {
  text-align: center;
  font-weight: 700;
  font-size: 1.34em;
  -moz-transition: 0.2s ease-in-out;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  border: 3px solid #f96d00;
  background-color: #f96d00;
  text-decoration: none;
  color: white;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px;
  border-radius: 6px;
  flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
  padding: 12px 0;
  margin: 4px;
}
.button.bordered {
  border: 3px solid #f96d00;
  background-color: transparent;
  color: #f96d00;
}
.button:hover {
  background-color: white;
  color: #f96d00;
  border-color: white;
}
.rate-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.rate-icons div:first-child {
  margin-left: 0;
}
.icon {
  width: 15px;
  border: 2px solid #f96d00;
  background-color: transparent;
  height: 15px;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  -o-border-radius: 100%;
  border-radius: 100%;
  margin: 4px;
}
.icon.is-active {
  background-color: #f96d00;
}
[class*="custom-col-"] {
  box-sizing: border-box;
  width: 100%;
  float: left;
  padding: 10px;
}

.entry-content .row {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
.lyrics-year {
  margin-bottom: 40px;
  font-weight: bold;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  padding: 10px;
}
.lyrics-year h2 {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  background-color: #5e60ce;
  color: #80ffdb;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  padding: 10px;
  margin: -10px -10px 10px;
}
.lyrics-year h3 {
  font-weight: bold;
}
.lyrics-item {
  margin-bottom: 10px;
  margin-bottom: 20px;
  display: flex;
  border: 1px solid #ccc;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  padding: 10px;
}
.lyrics-image {
  margin-right: 10px;
  flex: 0 0 120px;
}
.lyrics-image img {
  max-width: 100%;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
.lyrics-details {
  flex: 1;
}
.lyrics-title {
  font-size: 24px;
  margin: 0 0 10px;
}
.lyrics-singer {
  margin-bottom: 10px;
}
.embed-container {
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  position: relative;
  height: auto;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
  width: 100%;
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
}
.artist-item {
  margin-bottom: 10px;
  margin-bottom: 20px;
  display: flex;
  border: 1px solid #ccc;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  padding: 10px;
}
.artist-image {
  margin-right: 10px;
  flex: 0 0 75px;
}
.artist-image img {
  max-width: 100%;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
.artist-details {
  flex: 1;
}
.artist-title {
  margin: 0 0 10px;
  color: #00a8b4;
}

.post-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.post-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.post-item {
  margin-bottom: 20px;
  display: flex;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  padding: 10px;
  flex: 1 1 calc(20% - 20px); /* responsive grid: 5 items per row with 20px gap */
  min-width: 220px;
  background: #fff;
}

.post-image {
  margin-right: 10px;
  flex: 0 0 75px;
}

.post-image img {
  max-width: 100%;
  border-radius: 5px;
}

.post-details {
  flex: 1;
}

.post-title {
  margin: 0 0 10px;
  color: #00a8b4;
  font-size: 16px;
  font-weight: 600;
}

.post-category {
  font-size: 14px;
  color: #555;
}

.h3-design {
  background-image: -webkit-linear-gradient(left, #200122 0%, #6f0000 100%);
  background-image: -o-linear-gradient(left, #200122 0%, #6f0000 100%);
  background-image: linear-gradient(to right, #200122 0%, #6f0000 100%);
  padding-left: 7px;
  padding-right: 7px;
  padding-top: 7px;
  padding-bottom: 7px;
  -webkit-transform: translatex(0px) translatey(0px);
  -ms-transform: translatex(0px) translatey(0px);
  transform: translatex(0px) translatey(0px);
  text-align: center;
  color: #ecf0f1;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
/* Link */
.artist-list .artist-title a {
  color: #009688;
  font-weight: 500;
}

@media (max-width: 768px) {
  .post-image img {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .lyrics-item {
    display: block;
  }
  .lyrics-image {
    text-align: center;
    width: 20%;
    margin: 0 auto 10px;
  }
  .lyrics-year h2 {
    font-size: 24px;
    padding: 5px;
  }
  .artist-item {
    display: block;
  }
  .artist-image {
    text-align: center;
    width: 20%;
    margin: 0 auto 10px;
  }
  .artist-year h2 {
    font-size: 24px;
    padding: 5px;
  }
}
@media (max-width: 420px) {
  .inside-article div .snip1578 {
    min-height: 192px;
  }
}
@media (max-width: 379px) {
  .inside-article div .link_custom {
    white-space: normal;
  }
  .inside-article div .snip1578 {
    min-height: 186px;
  }
}
@media only screen and (min-width: 768px) {
  .custom-col-1 {
    width: 8.33%;
  }
  .custom-col-2 {
    width: 16.66%;
  }
  .custom-col-3 {
    width: 25%;
  }
  .custom-col-4 {
    width: 33.33%;
  }
  .custom-col-5 {
    width: 41.66%;
  }
  .custom-col-6 {
    width: 50%;
  }
  .custom-col-7 {
    width: 58.33%;
  }
  .custom-col-8 {
    width: 66.66%;
  }
  .custom-col-9 {
    width: 75%;
  }
  .custom-col-10 {
    width: 83.33%;
  }
  .custom-col-11 {
    width: 91.66%;
  }
  .custom-col-12 {
    width: 100%;
  }
}

.horizontal-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
  border-radius: 5px;
  background-color: var(--base-3);
  box-shadow: 0 0 4px 0 rgba(158, 157, 157, 0.35);
  transition: all 0.5s ease;
}

.horizontal-thumb {
  width: 120px;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #eee;
  flex-shrink: 0;
}

.horizontal-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.horizontal-content {
  flex: 1;
  padding-left: 14px;
}

.horizontal-title {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 6px;
  color: #00a8b4;
}

.horizontal-title a {
  text-decoration: none;
  color: inherit;
}

.horizontal-title a:hover {
  color: #e92020;
}

.horizontal-meta {
  font-size: 14px;
  color: #444;
  margin-bottom: 4px;
}

.horizontal-meta a {
  color: #333;
  text-decoration: none;
}

.horizontal-meta a:hover {
  text-decoration: underline;
}

.horizontal-more-info {
  display: none;
  margin-top: 6px;
  font-size: 13px;
}

.horizontal-more-info.visible {
  display: block;
}

.info-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

.info-icon img {
  width: 100%;
  height: 100%;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.info-icon:hover img {
  opacity: 1;
}

/* Mobile styles */
@media (max-width: 768px) {
  .horizontal-card {
    flex-direction: row;
  }

  .horizontal-thumb {
    width: 90px;
    height: 90px;
  }

  .horizontal-title {
    font-size: 16px;
  }

  .horizontal-meta {
    font-size: 13px;
  }
}

.inside-article h5 a {
  text-transform: capitalize;
  border-bottom-style: dotted;
  border-bottom-width: 2px;
}

.gp-popular-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin: 2rem 0;
  overflow-x: hidden;
}

/* GP COMPACT LIST DYNAMIC POST */
.gp-compact-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 15px;
}

/* Category archive: force one card per row */
.category-archive-wrapper .gp-compact-list {
  grid-template-columns: 1fr;
}

/* Category archive readability improvements */
.category-archive-wrapper .gp-compact-card {
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
}

.category-archive-wrapper .gp-card-left {
  margin-right: 0;
}

.category-archive-wrapper .gp-card-thumb {
  width: 64px;
  height: 64px;
}

.category-archive-wrapper .gp-card-content {
  flex: 1;
}

.category-archive-wrapper .gp-card-title {
  margin-bottom: 6px;
  line-height: 1.3;
}

.category-archive-wrapper .gp-card-title a {
  color: #0b4f8a;
  text-decoration: none;
}

.category-archive-wrapper .gp-card-title a:hover {
  text-decoration: underline;
}

.category-archive-wrapper .gp-card-meta {
  display: block;
  margin-bottom: 3px;
  line-height: 1.35;
  color: #222;
  font-size: 15px;
}

.category-archive-wrapper .gp-card-meta strong {
  font-weight: 700;
  color: #111;
}

.category-archive-wrapper .gp-card-meta a {
  color: #0b4f8a;
}

.category-archive-wrapper .gp-card-content br {
  display: none;
}

.category-archive-wrapper .kp-category-intro {
  margin: 0 0 16px;
  max-width: 52rem;
  line-height: 1.55;
  opacity: 0.92;
}

.category-archive-wrapper .kp-category-intro p {
  margin: 0 0 0.75em;
}

.category-archive-wrapper .kp-category-intro p:last-child {
  margin-bottom: 0;
}

/* Keep auto-ads from disturbing category card flow */
.category-archive-wrapper .google-auto-placed,
.category-archive-wrapper ins.adsbygoogle {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 10px 0 !important;
  overflow: hidden;
}

@media (max-width: 768px) {
  .category-archive-wrapper .az-content {
    gap: 14px;
  }

  .category-archive-wrapper .az-section {
    padding: 12px;
    border-radius: 10px;
  }

  .category-archive-wrapper .az-letter-heading {
    font-size: 1.45rem;
    margin-bottom: 12px;
  }

  .category-archive-wrapper .az-letter-heading::before {
    width: 30px;
    height: 30px;
    margin-right: 10px;
    font-size: 1rem;
  }

  .category-archive-wrapper .gp-compact-card {
    padding: 10px;
    gap: 8px;
    border-radius: 12px;
  }

  .category-archive-wrapper .gp-card-thumb {
    width: 48px;
    height: 48px;
  }

  .category-archive-wrapper .gp-type-chip {
    font-size: 7px;
    padding: 1px 5px;
    bottom: -5px;
  }

  .category-archive-wrapper .gp-card-title {
    font-size: 1.05rem;
    margin-bottom: 4px;
  }

  .category-archive-wrapper .gp-card-meta {
    font-size: 0.95rem;
    line-height: 1.3;
    margin-bottom: 2px;
  }
}

@media (max-width: 480px) {
  .category-archive-wrapper .az-section {
    padding: 10px;
  }

  .category-archive-wrapper .az-letter-heading {
    font-size: 1.2rem;
  }

  .category-archive-wrapper .gp-compact-list {
    gap: 10px;
  }

  .category-archive-wrapper .gp-compact-card {
    padding: 8px;
    gap: 7px;
  }

  .category-archive-wrapper .gp-card-thumb {
    width: 42px;
    height: 42px;
  }

  .category-archive-wrapper .gp-card-title {
    font-size: 1rem;
  }

  .category-archive-wrapper .gp-card-meta {
    font-size: 0.9rem;
  }

  /* Optional: avoid large auto-ads breaking vertical rhythm on phones */
  .category-archive-wrapper .google-auto-placed {
    margin: 8px 0 !important;
  }
}

.gp-compact-card {
  display: flex;
  align-items: center;
  padding: 12px 18px;
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 22px; /* Matches the rounded look in image_4966a6.png */
  text-decoration: none !important;
  transition: box-shadow 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.gp-compact-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Circular Thumb and Chip */
.gp-card-left {
  position: relative;
  margin-right: 15px;
  flex-shrink: 0;
}

.gp-card-thumb {
  width: 60px;
  height: 60px;
}

.gp-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%; /* Circle */
}

.gp-type-chip {
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  background: #2d2d2d; /* Dark chip for high contrast */
  color: #fff;
  font-size: 8px;
  padding: 2px 6px;
  border-radius: 8px;
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 700;
}

/* Text Styling */
.gp-card-content {
  min-width: 0;
}

.gp-card-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
}

.gp-card-movie-info {
  font-size: 14px;
  color: #0073aa; /* Blue color matching the "Bollywood" text */
  font-weight: 500;
  margin-top: 2px;
}

.gp-card-cats {
  display: flex;
  gap: 4px;
  margin-top: 6px;
}

/* Category chips: contrast ≥ WCAG AA for small text (avoid #888 on #f5f5f5) */
.gp-mini-tag {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  color: #1e1b26;
  background: #e4e6ee;
  border: 1px solid #c8ccd6;
  padding: 2px 6px;
  border-radius: 4px;
}

/* trending  post design */
/* Container for the 4 Columns */
.gp-trending-sections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  padding: 10px 0;
}

.gp-trending-heading {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
}

/* Reusing the Compact Card Style */
.gp-trending-column .gp-compact-card {
  display: flex;
  align-items: center;
  padding: 10px;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid #f0f3f7;
  border-radius: 18px; /* Rounded card as per image */
  text-decoration: none !important;
  transition: transform 0.2s ease;
}

.gp-trending-column .gp-compact-card:hover {
  transform: translateX(5px);
  background: #fafafa;
}

/* Circular Image Styling */
.gp-trending-column .gp-card-thumb {
  width: 45px; /* Slightly smaller for trending lists */
  height: 45px;
  flex-shrink: 0;
  margin-right: 12px;
}

.gp-trending-column .gp-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%; /* Circle shape */
  display: block;
}

/* Text Styling */
.gp-trending-column .gp-card-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #222;
  line-height: 1.3;
}

.gp-trending-column .gp-card-meta {
  font-size: 12px;
  color: #0073aa; /* Blueish meta text from image */
  display: block;
  margin-top: 2px;
}
/*Trending Post design end*/
/* Hide the entire wrapper if it doesn't contain an 'ins' tag (the ad) */
.gp-inline-ad:not(:has(ins)) {
  display: none !important;
}

/* Or, hide the label specifically if the ad hasn't loaded yet */
.gp-inline-ad ins:empty + .ad-label {
  display: none;
}
/* Dynamic post card Ends */

.gp-post-card {
  position: relative; /* Needed for absolute elements inside */
  display: block;
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}

.gp-post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.gp-post-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.gp-post-card__link:hover .pn-note-title,
.gp-post-card__link:focus .pn-note-title {
  text-decoration: underline;
}

.gp-post-card .pn-readmore-wrap {
  margin: 0.75rem 0 0;
}

.gp-post-type-label {
  position: absolute;
  top: 5px;
  right: 5px;
  background: #ffe0ec;
  color: #bf3c72;
  padding: 1px 4px;
  font-size: 0.6em;
  font-weight: bold;
  border-radius: 3px;
  text-transform: uppercase;
  z-index: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  max-width: 80%;
}

.gp-post-icon {
  font-size: 20px;
  margin-right: 6px;
  vertical-align: middle;
}

.gp-post-title {
  font-size: 18px;
  font-weight: 600;
  margin: 8px 0;
  display: flex;
  align-items: center;
}

.gp-post-meta {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
}

.gp-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.gp-tag {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  background: #eee;
  color: #333;
}

/* Example category slug-based styles */
.gp-tag-piano {
  background: #e0e8ff;
  color: #3c4dbf;
}

.gp-tag-guitar {
  background: #ffe0ec;
  color: #bf3c72;
}

.gp-tag-harmonium {
  background: #d8f4e0;
  color: #2b8c6a;
}

.gp-tag-bollywood {
  background: #f9e7d9;
  color: #aa4f08;
}

/* Views section */
.gp-post-views {
  font-size: 12px;
  color: #888;
  margin-top: 12px;
  line-height: 1.4;
}

/* Icon Menu */
.wp-icon-menu {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 16px;
  background-color: #eef1ff;
  font-family: sans-serif;
  font-size: 18px;
}

.wp-icon-item {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  font-weight: 500;
  transition: opacity 0.2s ease;
  color: inherit;
}

.wp-icon-item:hover {
  opacity: 0.75;
}

.wp-icon-piano {
  color: #3b82f6;
}

.wp-icon-guitar {
  color: #a855f7;
}

.wp-icon-chords {
  color: #f59e0b;
}

.wp-icon-sheets {
  color: #1f2937;
}

/* SEARCH BAR */

/* Container: optional centering and width */
.asp_w_container_2 {
  max-width: 600px;
  margin: 10px auto;
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 0 1px #ddd;
}

/* Input field styling */
.asp_w_container_2 .proinput input.orig {
  flex: 1;
  padding: 14px 20px;
  font-size: 16px;
  border: none;
  border-radius: 0;
  color: #333;
}

/* .asp_w_container_2 .proinput input.orig::placeholder {
  color: #aaa;
  font-weight: 500;
}

/* Remove any native border/focus styles */
/* .asp_w_container_2 .proinput input.orig:focus {
  outline: none;
  box-shadow: none;
} */

/* Search button (purple right side) */
.asp_w_container_2 .promagnifier {
  background-color: #5c4dff !important; /* Vibrant purple */
  color: white;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.asp_w_container_2 .promagnifier:hover {
  background-color: #4a3dcb;
}

/* Optional: icon inside button white */
.asp_w_container_2 .promagnifier svg {
  fill: white;
  margin-right: 6px;
}

.gp-featured-btn {
  display: inline-block;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  margin-top: 16px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.gp-featured-btn span {
  margin-left: 8px;
}

.gp-btn-purple {
  background-color: #4338ca;
  color: #fff;
}

.gp-btn-purple:hover {
  background-color: #312e81;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 16px rgba(49, 46, 129, 0.3);
}

.gp-btn-pink {
  background-color: #db2777;
  color: #fff;
}

.gp-btn-pink:hover {
  background-color: #be185d;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 16px rgba(190, 24, 93, 0.25);
}

.gp-featured-week-wrap {
  margin: 12px 0;
}

/* Container for both blocks */
.gp-featured-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: space-between;
  align-items: stretch;
}

/* Shared card layout */
.gp-featured-card {
  display: grid;
  flex: 1 1 420px;
  min-width: 300px;
  background: #ffffff;
  padding: 20px;
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.06);
}

.gp-featured-card-head {
  margin-bottom: 14px;
}

/* Shared layout for image + content */
.gp-featured-left {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  flex: 1;
}

/* Text content */
.gp-featured-content {
  flex: 1;
}

.gp-featured-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #374151;
  background: #f3f4f6;
  padding: 6px 10px;
  border-radius: 999px;
}

.gp-featured-title {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
  margin: 0 0 8px;
}

.gp-featured-content p {
  font-size: 15px;
  color: #374151;
  margin: 0;
  line-height: 1.6;
}

/* .gp-featured-btn {
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  color: #f97316;
  text-decoration: none;
  transition: all 0.2s ease;
}

.gp-featured-btn:hover {
  text-decoration: underline;
} */

/* Image containers */
.gp-featured-image img {
  width: 104px;
  height: 104px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 8px 16px rgba(17, 24, 39, 0.15);
}

/* Artist-specific styling */
.gp-artist .gp-featured-image img {
  border-radius: 50%;
  border: 3px solid #4338ca;
}

/* Artist-specific styling */
.gp-movie .gp-featured-image img {
  border: 3px solid #db2777;
}

.gp-artist {
  background: linear-gradient(145deg, #eff6ff 0%, #ffffff 55%, #eef2ff 100%);
}

.gp-movie {
  background: linear-gradient(145deg, #fff1f2 0%, #ffffff 55%, #fdf2f8 100%);
}
/* Responsive */
@media (max-width: 768px) {
  .gp-featured-row {
    flex-direction: column;
  }

  .gp-featured-card {
    padding: 18px;
  }

  .gp-featured-left {
    gap: 14px;
  }

  .gp-featured-image img {
    width: 72px;
    height: 72px;
  }

  .gp-featured-title {
    font-size: 19px;
  }
}

.kpnotes-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  padding: 30px 20px;
  border-radius: 12px;
}

.kp-category {
  background-color: #ffffff;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  padding: 14px 22px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  transition: all 0.3s ease;
}

.kp-category:hover {
  background-color: #f0f0f0;
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
}

/* Responsive text sizing */
@media (max-width: 600px) {
  .kp-category {
    font-size: 14px;
    padding: 12px 16px;
  }
  .kp-category span {
    display: inline-block;
  }
}

.kpnotes-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  padding: 30px 20px;
}

.kp-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  padding: 20px 24px;
  border-radius: 16px;
  min-width: 120px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  text-align: center;
  color: #000;
  gap: 10px;
  background: #f7f7f7;
}

.kp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.kp-icon {
  font-size: 32px;
  line-height: 1;
}

.kp-label {
  font-size: 16px;
}

/* Gradient Backgrounds */
.gradient-blue {
  background: linear-gradient(135deg, #e0f0ff, #d6ecff);
}

.gradient-purple {
  background: linear-gradient(135deg, #f3e8ff, #f0e4ff);
}

.gradient-green {
  background: linear-gradient(135deg, #e9fff4, #dff9ec);
}

.gradient-yellow {
  background: linear-gradient(135deg, #fff9e6, #fff5cc);
}

.gradient-pink {
  background: linear-gradient(135deg, #ffe9ec, #ffdce5);
}

.gradient-indigo {
  background: linear-gradient(135deg, #e8ebff, #dde2ff);
}

/* Responsive */
@media (max-width: 600px) {
  .kp-card {
    min-width: 100px;
    font-size: 14px;
    padding: 16px;
  }
  .kp-icon {
    font-size: 28px;
  }
}

.kp-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.kp-section-header h1 {
  font-size: 1.875rem;
  font-weight: 700;
  color: #2f2fa2;
  margin: 0;
}

.see-all-link {
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  color: #2f2fa2;
  transition: color 0.2s ease;
}

.see-all-link:hover {
  color: #4338ca;
}

.gp-trending-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin: 40px 0;
}

.gp-trending-card {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.gp-trending-heading {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.gp-trending-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gp-trending-list li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 15px;
}

.gp-trending-list li a {
  text-decoration: none;
  color: #111;
}

.gp-trending-list li .gp-views {
  color: #5f36ff;
  font-weight: 500;
  font-size: 14px;
}

.gp-trending-item {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb; /* Light gray line */
  font-size: 15px;
}

.gp-trending-item:last-child {
  border-bottom: none; /* Remove line after last item */
}

.gp-trending-title {
  font-weight: 500;
  color: #111827;
}

.gp-trending-meta {
  color: #6366f1; /* Indigo-500 */
  font-weight: 500;
  font-size: 14px;
}

.song-detail-wrapper {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  margin: 2rem 0;
}
.song-cover img {
  max-width: 250px;
  border-radius: 1rem;
}
.song-meta {
  flex: 1;
}
.song-title {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.song-categories .badge {
  display: inline-block;
  background: #eee;
  padding: 0.3em 0.6em;
  margin-right: 0.5em;
  border-radius: 999px;
  font-size: 0.85rem;
}
.song-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.info-card small {
  color: #777;
  display: block;
}
.song-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.btn-primary {
  background: #3b82f6;
  color: white;
  padding: 0.6em 1.2em;
  border-radius: 8px;
  text-decoration: none;
}
.btn-secondary {
  background: white;
  border: 1px solid #ccc;
  padding: 0.6em 1.2em;
  border-radius: 8px;
  cursor: pointer;
}

.lyrics-list {
  display: flex;

  gap: 2%;
}

.lyrics-list > .lyrics-item {
  width: 48%;
}
.lyrics-details {
  padding-left: 10px;
}

.artist-list {
  display: flex;

  gap: 2%;
}

.artist-list > .artist-item {
  width: 48%;
}
.artist-details {
  padding-left: 10px;
}

@media screen and (max-width: 768px) {
  .lyrics-item {
    display: flex;
  }
  .lyrics-list > .lyrics-item {
    width: 100%;
  }
  .lyrics-list {
    flex-wrap: wrap;
  }
  .lyrics-image {
    flex: 0 0 90px;
  }

  .artist-item {
    display: flex;
  }
  .artist-list > .artist-item {
    width: 100%;
  }
  .artist-list {
    flex-wrap: wrap;
  }
  .artist-image {
    flex: 0 0 90px;
  }
}

/* Pagination container */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2em 0;
}

/* Pagination links */
.pagination a {
  display: inline-block;
  padding: 0.25em 0.5em;
  background-color: #fff;
  border: 1px solid #ddd;
  color: #555;
  text-decoration: none;
  margin: 0.25em;
  transition: all 0.2s ease-in-out;
}

/* Current page link */
.pagination .current {
  background-color: #007cba;
  border-color: #007cba;
  color: #fff;
  padding: 0.25em 0.5em;
}

/* Hover state */
.pagination a:hover {
  background-color: #eee;
  border-color: #bbb;
  color: #333;
}

/* Disabled state */
.pagination .disabled {
  pointer-events: none;
  opacity: 0.5;
}

.custom-search-results {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.custom-search-result-item {
  display: flex;
  justify-content: center;
}
.custom-search-card {
  display: flex;
  align-items: center;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 15px;
  width: 100%;
}
.custom-search-thumbnail {
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin-right: 15px;
  border-radius: 8px;
}
.custom-result-text {
  display: flex;
  flex-direction: column;
}
.custom-search-link {
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}
.custom-search-excerpt {
  font-size: 14px;
  color: #555;
  margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .custom-search-card {
    align-items: flex-start;
    padding: 10px;
  }
  .custom-search-thumbnail {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  .custom-result-text {
    width: 100%;
  }
  .custom-search-link {
    font-size: 16px;
  }
  .custom-search-excerpt {
    font-size: 13px;
  }
}

/* Modern Social Sharing Buttons */
.social-share-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 20px 0;
  padding: 10px 0;
}

.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border: none;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: #333;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  text-decoration: none;
  white-space: nowrap;
}

.share-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.share-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.share-btn i {
  font-size: 18px;
}

/* Platform-specific colors */
.share-btn.mobile-share {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.share-btn.mobile-share:hover {
  background: linear-gradient(135deg, #5568d3 0%, #63408a 100%);
}

.share-btn.whatsapp {
  background-color: #25d366;
}

.share-btn.whatsapp:hover {
  background-color: #20bd5a;
}

.share-btn.facebook {
  background-color: #1877f2;
}

.share-btn.facebook:hover {
  background-color: #1565d8;
}

.share-btn.twitter {
  background-color: #1da1f2;
}

.share-btn.twitter:hover {
  background-color: #1a8cd8;
}

/* Responsive Design - Tablet */
@media only screen and (max-width: 768px) {
  .social-share-buttons {
    gap: 10px;
    padding: 8px 0;
  }

  .share-btn {
    padding: 10px 20px;
    font-size: 15px;
  }

  .share-btn i {
    font-size: 16px;
  }
}

/* Responsive Design - Mobile */
@media only screen and (max-width: 480px) {
  .social-share-buttons {
    gap: 4px;
    padding: 6px 0;
    flex-wrap: wrap;
    justify-content: center;
  }

  .share-btn {
    padding: 4px 8px;
    font-size: 11px;
    flex-shrink: 1;
    min-width: 0;
  }

  .share-btn i {
    font-size: 12px;
  }
}

/* Responsive styles */
@media screen and (max-width: 600px) {
  .pagination {
    flex-wrap: wrap;
  }
}
.artist-category-button {
  display: inline-block;
  padding: 5px 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  border: 2px solid #333;
  border-radius: 5px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  background-color: #fff;
  transition: all 0.3s ease;
}

.artist-category-button:hover {
  background-color: #333;
  color: #fff;
  cursor: pointer;
}

@media (max-width: 768px) {
  .artist-category-button {
    display: inline-block;
    padding: 2px 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    border: 2px solid #333;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: #333;
    background-color: #fff;
    transition: all 0.3s ease;
  }
  .artist-category-button:hover {
    background-color: #333;
    color: #fff !important;
    cursor: pointer;
  }
}
.artist-category-button.active {
  background-color: #13ac9a;
  color: #fff;
}

/*
 * Artist / movie taxonomy filters — compact grid (no horizontal scroll).
 */
.kp-tax-filter {
  --kp-tax-pill-radius: 8px;
  --kp-tax-pill-border: rgba(18, 24, 38, 0.1);
  --kp-tax-pill-bg: #fff;
  --kp-tax-pill-text: #1e1b29;
  --kp-tax-pill-muted: #5c5968;
  --kp-tax-pill-active-bg: linear-gradient(135deg, #6a0dad 0%, #7c3aed 100%);
  --kp-tax-pill-active-text: #fff;
  --kp-tax-pill-active-shadow: 0 2px 10px rgba(106, 13, 173, 0.22);

  margin: 0 0 0.85rem;
  padding: 0;
}

.kp-tax-filter__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(118px, 100%), 1fr));
  gap: 6px;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kp-tax-filter__item {
  margin: 0;
  padding: 0;
  min-width: 0;
}

.kp-tax-filter__pill {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 36px;
  padding: 5px 8px;
  border-radius: var(--kp-tax-pill-radius);
  border: 1px solid var(--kp-tax-pill-border);
  background: var(--kp-tax-pill-bg);
  color: var(--kp-tax-pill-text);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  hyphens: auto;
  cursor: pointer;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    color 0.16s ease,
    background 0.16s ease;
}

.kp-tax-filter__pill:hover {
  border-color: rgba(124, 58, 237, 0.42);
  color: #5a0b9d;
  box-shadow: 0 1px 6px rgba(106, 13, 173, 0.1);
}

.kp-tax-filter__pill:focus-visible {
  outline: 2px solid rgba(124, 58, 237, 0.5);
  outline-offset: 2px;
}

.kp-tax-filter__pill.is-active {
  border-color: transparent;
  background: var(--kp-tax-pill-active-bg);
  color: var(--kp-tax-pill-active-text);
  box-shadow: var(--kp-tax-pill-active-shadow);
  transform: none;
}

.kp-tax-filter__pill.is-active:hover {
  color: var(--kp-tax-pill-active-text);
  filter: brightness(1.05);
  box-shadow: 0 3px 12px rgba(106, 13, 173, 0.26);
}

/* Movie strip: teal accent keeps movies visually distinct */
.kp-tax-filter--movie {
  --kp-tax-pill-active-bg: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
  --kp-tax-pill-active-shadow: 0 2px 10px rgba(15, 118, 110, 0.24);
}

.kp-tax-filter--movie .kp-tax-filter__pill:hover {
  border-color: rgba(20, 184, 166, 0.5);
  color: #0f766e;
  box-shadow: 0 2px 10px rgba(15, 118, 110, 0.12);
}

.kp-tax-filter--movie .kp-tax-filter__pill:focus-visible {
  outline-color: rgba(20, 184, 166, 0.55);
}

@media (max-width: 560px) {
  .kp-tax-filter__list {
    grid-template-columns: repeat(auto-fill, minmax(min(104px, 100%), 1fr));
    gap: 5px;
  }

  .kp-tax-filter__pill {
    min-height: 34px;
    padding: 4px 6px;
    font-size: 11px;
    line-height: 1.25;
  }

  .kp-tax-filter__pill:focus-visible {
    outline-width: 1px;
    outline-offset: 1px;
  }
}

@media (min-width: 900px) {
  .kp-tax-filter__list {
    grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
    gap: 6px;
  }
}

.artist-category {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 14px;
  margin-top: 5px;
  font-weight: 600;
  color: #fff;
  background-color: #0f4c75;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
}
.artist-category:hover {
  background-color: #3282b8;
  color: #fff;
}

/* -------------------------------------------------------------------------
   A→Z shortcode UI (.az-by-letter only — category archives stay on gp-cards)
------------------------------------------------------------------------- */

.az-post-list-wrapper.az-by-letter {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(16px, 3vw, 28px);
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
  background:
    radial-gradient(
      ellipse 120% 80% at 50% -40%,
      rgba(106, 13, 173, 0.08),
      transparent 65%
    ),
    #f3f5f9;
  border-radius: 16px;
  box-sizing: border-box;
}

.az-post-list-wrapper.az-by-letter *,
.az-post-list-wrapper.az-by-letter *::before,
.az-post-list-wrapper.az-by-letter *::after {
  box-sizing: border-box;
}

.az-by-letter__layout {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.az-post-list-wrapper.az-by-letter .az-index-container {
  z-index: 20;
  padding: 1rem 0.85rem 1.05rem;
  margin-bottom: 0;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #ede9fe;
  box-shadow: 0 4px 16px rgba(44, 0, 62, 0.05);
}

.az-post-list-wrapper.az-by-letter .az-index-sidebar__header {
  margin-bottom: 0.75rem;
}

.az-post-list-wrapper.az-by-letter .az-index-sidebar .kp-az-grid-section__title::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  background: #7c3aed;
  vertical-align: middle;
}

.az-post-list-wrapper.az-by-letter .az-index {
  display: block;
  padding: 0;
}

.az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__item {
  min-width: 0;
}

.az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__link {
  width: 100%;
  height: auto;
}

.az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem;
}

@media (min-width: 480px) {
  .az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__list {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .az-by-letter__layout {
    display: grid;
    grid-template-columns: minmax(150px, 176px) minmax(0, 1fr);
    gap: 1.35rem;
    align-items: start;
  }

  .az-post-list-wrapper.az-by-letter .az-index-sidebar {
    position: sticky;
    top: 72px;
    max-height: calc(100vh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  body.admin-bar .az-post-list-wrapper.az-by-letter .az-index-sidebar {
    top: 104px;
    max-height: calc(100vh - 120px);
  }

  .az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__link {
    min-height: 2.55rem;
    padding: 0.3rem 0.15rem;
    border-radius: 10px;
  }

  .az-post-list-wrapper.az-by-letter .az-index .kp-az-grid__single {
    font-size: 0.92rem;
  }
}

@media (max-width: 991px) {
  .az-post-list-wrapper.az-by-letter .az-index-sidebar {
    position: sticky;
    top: 8px;
  }
}

/* generic wrapper (categories + legacy) */

.az-post-list-wrapper:not(.az-by-letter) {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
  background: #f8f9fa; /* Lighter background */
}

.az-index-container {
  z-index: 100;
  background: #fff;
  padding: 15px 0;
  margin-bottom: 30px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
}

.az-index {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
}

.az-index-link,
.az-index-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px; /* Slightly rounded corners */
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.az-index-link {
  background: linear-gradient(145deg, #f0f0f0, #e6e6e6);
  color: #333;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.az-index-link:hover {
  background: linear-gradient(145deg, #cdcde6, #b8b8d6);
  color: #2c003e;
}

.az-index-link.active {
  background: linear-gradient(145deg, #6a0dad, #5a0b9d);
  color: #fff;
}

.az-index-disabled {
  background: linear-gradient(145deg, #f8f8f8, #f0f0f0);
  color: #bbb;
  cursor: not-allowed;
}

/* Same row/card UI as A→Z lists (shortcode + movie singles) */
.kp-same-row-ui {
  scroll-margin-top: 92px;
  background: #fff;
  border-radius: 14px;
  padding: 0;
  border: 1px solid rgba(18, 24, 32, 0.07);
  box-shadow: 0 14px 42px rgba(14, 18, 34, 0.05);
  overflow: hidden;
  margin: 0 0 1.75rem;
  box-sizing: border-box;
}

.kp-same-row-ui *,
.kp-same-row-ui *::before,
.kp-same-row-ui *::after {
  box-sizing: border-box;
}

.kp-same-row-ui .kp-same-row-ui__empty {
  margin: 0;
  padding: 1.35rem 1.25rem 1.65rem;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: #54607f;
}

/* shortcode A→Z: sections, list rows, sticky index */
.az-post-list-wrapper.az-by-letter .az-content {
  gap: 22px;
  padding: 0;
  min-width: 0;
}

.az-post-list-wrapper.az-by-letter .az-section {
  scroll-margin-top: 92px;
  background: #fff;
  border-radius: 14px;
  padding: 0;
  border: 1px solid rgba(18, 24, 32, 0.07);
  box-shadow: 0 14px 42px rgba(14, 18, 34, 0.05);
  overflow: hidden;
}

.az-post-list-wrapper.az-by-letter .az-section-head {
  padding: 16px 18px 12px;
  border-bottom: 1px solid rgba(18, 24, 32, 0.06);
  background: linear-gradient(180deg, #fafbff 0%, #fff 88%);
}

.az-post-list-wrapper.az-by-letter .az-letter-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  flex-wrap: wrap;
  font-size: 1.06rem;
  font-weight: 600;
  color: #131826;
  letter-spacing: -0.02em;
}

.az-post-list-wrapper.az-by-letter .az-letter-head__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border-radius: 12px;
  background: linear-gradient(145deg, #6a0dad, #4d0b8a);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  box-shadow: 0 6px 16px rgba(106, 13, 173, 0.22);
}

.az-post-list-wrapper.az-by-letter .az-letter-head__label {
  flex: 1 1 auto;
  min-width: 0;
}

.az-post-list-wrapper.az-by-letter .az-count-pill {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  color: #465066;
  background: #eef1f8;
  border: 1px solid rgba(130, 140, 160, 0.35);
  padding: 6px 11px;
  border-radius: 999px;
}

.kp-same-row-ui .az-rows,
.az-post-list-wrapper.az-by-letter .az-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.kp-same-row-ui .az-row-li,
.az-post-list-wrapper.az-by-letter .az-row-li {
  margin: 0;
  padding: 0;
}

.kp-same-row-ui .az-row,
.az-post-list-wrapper.az-by-letter .az-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 12px 14px;
  padding: 12px 17px;
  text-decoration: none !important;
  color: inherit;
  border-bottom: 1px solid rgba(18, 24, 32, 0.06);
  transition:
    background 0.14s ease,
    box-shadow 0.14s ease;
}

.kp-same-row-ui .az-row-li:last-child .az-row,
.az-post-list-wrapper.az-by-letter .az-row-li:last-child .az-row {
  border-bottom: none;
}

.kp-same-row-ui .az-row:hover,
.kp-same-row-ui .az-row:focus-visible,
.az-post-list-wrapper.az-by-letter .az-row:hover,
.az-post-list-wrapper.az-by-letter .az-row:focus-visible {
  background: rgba(106, 13, 173, 0.045);
  outline: none;
  box-shadow: inset 3px 0 0 #6a0dad;
}

.kp-same-row-ui .az-row__thumb-wrap,
.az-post-list-wrapper.az-by-letter .az-row__thumb-wrap {
  border-radius: 11px;
  overflow: hidden;
  background: #e9edf5;
  box-shadow: inset 0 0 0 1px rgba(18, 24, 32, 0.05);
}

.kp-same-row-ui .az-row__thumb,
.az-post-list-wrapper.az-by-letter .az-row__thumb {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: cover;
}

.kp-same-row-ui .az-row__main,
.az-post-list-wrapper.az-by-letter .az-row__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.kp-same-row-ui .az-row__title,
.az-post-list-wrapper.az-by-letter .az-row__title {
  font-size: 15px;
  font-weight: 700;
  color: #141826;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kp-same-row-ui .az-row__meta,
.az-post-list-wrapper.az-by-letter .az-row__meta {
  font-size: 13px;
  color: #55607f;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kp-same-row-ui .az-row__chevron,
.az-post-list-wrapper.az-by-letter .az-row__chevron {
  color: rgba(74, 86, 110, 0.38);
  font-size: 1.4rem;
  line-height: 1;
  justify-self: end;
}

/* Movie singles: credits as links + type chip (row is a div, not one outer <a>) */
.kp-same-row-ui.kp-rich-rows .kp-movie-az-row.az-row {
  grid-template-columns: 58px minmax(0, 1fr) 26px;
}

.kp-same-row-ui.kp-rich-rows .kp-movie-az-row:focus-within {
  background: rgba(106, 13, 173, 0.045);
  box-shadow: inset 3px 0 0 #6a0dad;
}

.kp-same-row-ui.kp-rich-rows .kp-movie-thumb-stack {
  margin-right: 0;
  align-self: center;
}

.kp-same-row-ui.kp-rich-rows .az-row__thumb-hit {
  display: block;
  text-decoration: none !important;
  color: inherit;
  align-self: center;
  justify-self: center;
}

.kp-same-row-ui.kp-rich-rows .az-row__title-link {
  display: block;
  text-decoration: none !important;
  color: #141826;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kp-same-row-ui.kp-rich-rows .az-row__title-link:hover {
  color: #5a0b9d;
}

.kp-same-row-ui.kp-rich-rows .az-row__title-link:focus-visible {
  color: #5a0b9d;
  outline: 2px solid rgba(106, 13, 173, 0.4);
  outline-offset: 2px;
  border-radius: 3px;
}

.kp-same-row-ui.kp-rich-rows .az-row__chevron-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-decoration: none !important;
  color: rgba(74, 86, 110, 0.38);
  font-size: 1.4rem;
  line-height: 1;
}

.kp-same-row-ui.kp-rich-rows .az-row__chevron-link:hover {
  color: #5a0b9d;
}

.kp-same-row-ui.kp-rich-rows .az-row__chevron-link:focus-visible {
  color: #5a0b9d;
  outline: 2px solid rgba(106, 13, 173, 0.35);
  outline-offset: 2px;
  border-radius: 3px;
}

.kp-same-row-ui.kp-rich-rows .kp-meta-credit-link:focus-visible {
  outline: 2px solid rgba(15, 76, 117, 0.45);
  outline-offset: 2px;
  border-radius: 2px;
}

.kp-same-row-ui.kp-rich-rows .kp-row-meta-html {
  white-space: normal;
  text-overflow: unset;
  overflow: visible;
  line-height: 1.45;
}

.kp-same-row-ui.kp-rich-rows
  .kp-row-meta-html
  .kp-meta-credit-link:not(.kp-meta-chip) {
  color: #0f4c75;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 76, 117, 0.28);
}

.kp-same-row-ui.kp-rich-rows
  .kp-row-meta-html
  .kp-meta-credit-link:not(.kp-meta-chip):hover {
  border-bottom-color: transparent;
  color: #3282b8;
}

.kp-same-row-ui.kp-rich-rows .kp-row-meta-html strong {
  font-weight: 700;
  color: #394056;
}

/* App-style credits: caption label + wrapping pill chips (not one run-on sentence) */
.kp-same-row-ui.kp-rich-rows .kp-row-meta-html.kp-row-meta--app {
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 100%;
  max-width: 100%;
}

.kp-same-row-ui.kp-rich-rows .kp-meta-app-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  max-width: 100%;
}

.kp-same-row-ui.kp-rich-rows .kp-meta-app-row__label {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(85, 96, 127, 0.78);
  line-height: 1.2;
}

.kp-same-row-ui.kp-rich-rows .kp-meta-app-row__chips {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}

.kp-same-row-ui.kp-rich-rows .kp-meta-chip.kp-meta-credit-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.28;
  text-decoration: none !important;
  border: 1px solid rgba(15, 76, 117, 0.14);
  border-bottom-width: 1px !important;
  background-color: rgba(238, 244, 250, 0.95);
  color: #0f4c75 !important;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.kp-same-row-ui.kp-rich-rows .kp-meta-chip.kp-meta-credit-link:hover {
  background-color: rgba(226, 236, 247, 1);
  border-color: rgba(15, 76, 117, 0.22);
  color: #084a71 !important;
}

@media (min-width: 480px) {
  .kp-same-row-ui.kp-rich-rows .kp-meta-app-row {
    flex-direction: row;
    align-items: flex-start;
    column-gap: 10px;
  }

  .kp-same-row-ui.kp-rich-rows .kp-meta-app-row__label {
    flex: 0 0 auto;
    min-width: 4.75rem;
    padding-top: 5px;
  }

  .kp-same-row-ui.kp-rich-rows .kp-meta-app-row__chips {
    flex: 1;
    min-width: 0;
  }
}

.az-post-list-wrapper.az-by-letter .az-back-wrap {
  margin: 0;
  padding: 11px 18px 15px;
  text-align: center;
  border-top: 1px solid rgba(18, 24, 32, 0.06);
  background: linear-gradient(180deg, #fcfcfd 0%, #f6f7fb 100%);
}

.az-post-list-wrapper.az-by-letter .az-back-to-top {
  font-size: 13px;
  font-weight: 600;
  color: #582599;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(88, 37, 153, 0.35);
  transition:
    color 0.14s ease,
    border-color 0.14s ease;
}

.az-post-list-wrapper.az-by-letter .az-back-to-top:hover {
  color: #421c75;
  border-bottom-color: transparent;
}

@media (max-width: 520px) {
  .kp-same-row-ui .az-row,
  .az-post-list-wrapper.az-by-letter .az-row {
    grid-template-columns: 46px minmax(0, 1fr) 18px;
    padding: 10px 13px;
  }

  .kp-same-row-ui.kp-rich-rows .kp-movie-az-row.az-row {
    grid-template-columns: 50px minmax(0, 1fr) 20px;
  }

  .kp-same-row-ui .az-row__thumb,
  .kp-same-row-ui .az-row__thumb-wrap img,
  .az-post-list-wrapper.az-by-letter .az-row__thumb,
  .az-post-list-wrapper.az-by-letter .az-row__thumb-wrap img {
    width: 46px;
    height: 46px;
  }

  .az-post-list-wrapper.az-by-letter .az-letter-head__badge {
    min-width: 38px;
    height: 38px;
  }

  .az-post-list-wrapper.az-by-letter .az-count-pill {
    width: 100%;
    margin-left: 0;
    text-align: center;
    order: 3;
  }

  .az-post-list-wrapper.az-by-letter .az-letter-head {
    gap: 10px;
  }

  .az-post-list-wrapper.az-by-letter .az-letter-head__label {
    flex-basis: 100%;
  }

  .kp-same-row-ui .az-row__title,
  .kp-same-row-ui .az-row__meta,
  .az-post-list-wrapper.az-by-letter .az-row__title,
  .az-post-list-wrapper.az-by-letter .az-row__meta {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .kp-same-row-ui.kp-rich-rows .az-row__title-link {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .kp-same-row-ui.kp-rich-rows .kp-row-meta-html {
    -webkit-line-clamp: 4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .kp-same-row-ui.kp-rich-rows .kp-row-meta-html.kp-row-meta--app {
    display: flex !important;
    flex-direction: column !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    gap: 6px !important;
  }

  /* Phone: caption above chips (matches native list detail screens) */
  .kp-same-row-ui.kp-rich-rows .kp-meta-app-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .kp-same-row-ui.kp-rich-rows .kp-meta-app-row__label {
    min-width: 0 !important;
    padding-top: 0 !important;
  }
}

.az-content {
  display: grid;
  gap: 30px;
  padding: 0px; /* Adjust padding */
}

.az-section {
  scroll-margin-top: 100px;
  background: linear-gradient(to bottom, #fff, #fafafa);
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #eee;
}

.az-section:hover {
  transform: none; /* Remove transform */
}

.az-letter-heading {
  display: flex;
  align-items: center;
  font-size: 1.8em;
  color: #333; /* Darker color for heading */
  margin: 0 0 20px; /* Adjust margin */
  padding-bottom: 0px; /* Remove border-bottom */
  border-bottom: none; /* Remove border-bottom */
  font-weight: 700;
  letter-spacing: normal;
}

.az-letter-heading[data-letter]::before {
  content: attr(data-letter);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: linear-gradient(145deg, #6a0dad, #5a0b9d);
  color: #fff;
  font-size: 1.2em;
  font-weight: 600;
  margin-right: 15px;
}

.az-post-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px; /* Adjust gap */
}

.az-post-item {
  background: linear-gradient(to right, #fff, #fafafa);
  border-radius: 8px;
  transition: box-shadow 0.2s ease;
  border: 1px solid #eee;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.az-post-item:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  background: linear-gradient(to right, #fafafa, #f5f5f5);
}

.az-post-item a {
  display: flex;
  align-items: center;
  justify-content: space-between; /* Space out content and arrow */
  padding: 15px 20px;
  color: #333; /* Dark text for main link */
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: background 0.2s ease;
  position: relative;
}

.az-post-item a:hover {
  background: #f8f8f8; /* Light gray background on hover */
  color: #333; /* Keep text color */
}

.az-post-item a::before {
  content: ""; /* Remove purple bar */
  width: 0;
  height: 0;
  background: none;
}

.az-post-item:hover a::before {
  transform: none; /* Remove transform */
}

/* Add icons for play and arrow */
.az-post-item .icon-play {
  width: 20px;
  height: 20px;
  fill: #6a0dad; /* Purple color for play icon */
  margin-right: 10px;
  flex-shrink: 0;
}

.az-post-item .icon-arrow {
  width: 16px;
  height: 16px;
  fill: #ccc; /* Light gray for arrow icon */
  margin-left: 10px;
  flex-shrink: 0;
}

.az-post-item .text-content {
  flex-grow: 1;
}

.az-post-item .post-title {
  font-size: 1.1em;
  font-weight: 600;
  color: #333;
}

.az-post-item .post-meta {
  font-size: 0.9em;
  color: #777;
  margin-top: 2px;
  display: block; /* Ensure it appears on a new line */
}

.az-back-to-top {
  display: inline-flex;
  align-items: center;
  margin-top: 25px;
  padding: 10px 20px;
  background: linear-gradient(145deg, #f0f0f0, #e6e6e6);
  color: #333;
  text-decoration: none;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.az-back-to-top:hover {
  background: linear-gradient(145deg, #e0e0e0, #d6d6d6);
}

@media (max-width: 768px) {
  .az-index-container {
    padding: 10px 0;
  }
  .az-index-link,
  .az-index-disabled {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }
  .az-letter-heading {
    font-size: 1.5em;
  }
  .az-letter-heading::before {
    width: 32px;
    height: 32px;
    font-size: 1em;
    margin-right: 10px;
  }
  .az-post-item a {
    padding: 12px 15px;
    font-size: 15px;
  }
  .az-post-item .icon-play {
    width: 18px;
    height: 18px;
  }
  .az-post-item .icon-arrow {
    width: 14px;
    height: 14px;
  }
}

@media (max-width: 480px) {
  .az-index-link,
  .az-index-disabled {
    width: 28px;
    height: 28px;
    font-size: 13px;
  }
  .az-letter-heading {
    font-size: 1.3em;
  }
  .az-letter-heading::before {
    width: 28px;
    height: 28px;
    font-size: 0.9em;
  }
  .az-post-item a {
    padding: 10px 12px;
    font-size: 14px;
  }
  .az-post-item .icon-play {
    width: 16px;
    height: 16px;
  }
  .az-post-item .icon-arrow {
    width: 12px;
    height: 12px;
  }
}

.like-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px;
}

.like-card {
  flex: 1 1 120px;
  background: linear-gradient(145deg, #ffffff, #e6e6e6);
  border-radius: 10px;
  padding: 30px 15px;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  color: white;
  cursor: pointer;
  transition: all 0.1s ease;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.like-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

/* Custom colors for each button */
.piano {
  background: #6a5acd;
} /* Slate Blue */
.chords {
  background: #ff6f61;
} /* Coral Red */
.movies {
  background: #20b2aa;
} /* Light Sea Green */
.artists {
  background: #ffb400;
} /* Amber */

/* Responsive tweaks */
@media (max-width: 768px) {
  .like-card {
    flex: 1 1 calc(50% - 16px);
  }
}

@media (max-width: 480px) {
  .like-card {
    flex: 1 1 100%;
  }
}
.song-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2rem;
  margin-top: 2rem;
}

.song-main {
  background: #fff;
  padding: 1rem;
}

.song-sidebar {
  background: #f7fafc;
  padding: 1.5rem;
  border-radius: 10px;
  position: sticky;
  top: 100px;
  height: fit-content;
}

.sidebar-box {
  margin-bottom: 2rem;
}

.sidebar-box h3 {
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
  border-bottom: 2px solid #cbd5e0;
  padding-bottom: 0.3rem;
}

.sidebar-box ul {
  list-style: disc;
  padding-left: 1.2rem;
}

.sidebar-box li {
  margin-bottom: 0.5rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .song-layout {
    grid-template-columns: 1fr;
  }
  .song-sidebar {
    margin-top: 2rem;
  }
}

.az-letter-heading .post-count {
  font-size: 0.7em;
  color: #666;
  font-weight: normal;
  margin-left: 4px;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .az-letter-heading .post-count {
    font-size: 0.65em;
  }
}

@media (max-width: 480px) {
  .az-letter-heading .post-count {
    font-size: 0.6em;
  }
}

/* Keep auto-ads out of app-promo card */
.kp-app-promo-card .google-auto-placed,
.kp-app-promo-card ins.adsbygoogle,
.kp-app-promo-card [id^="google_ads_iframe"],
.kp-app-promo-card iframe[id*="google_ads_iframe"] {
  display: none !important;
}

/* Native top CTA (non-sticky) */
.kp-inline-top-cta {
  margin-top: 10px;
}

.kp-inline-top-cta a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #14532d;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
}

.kp-inline-top-cta a:hover {
  background: #166534;
}

/* Single post: featured image in sidebar column */
.kp-single-cover-img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
/* Homepage css starts */

.kp-hero-content {
  max-width: 860px;
  margin-inline: auto;
}
.kp-hero-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 8px;
  backdrop-filter: blur(8px);
}
.kp-hero-title {
  margin: 0 0 8px;
  font-size: clamp(1.6rem, 4.2vw, 2.5rem);
  line-height: 1.12;
  font-weight: 800;
  color: #fff;
}
.kp-hero-desc {
  margin: 0 auto;
  max-width: 40rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.93);
}
.kp-hero-trust {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 8px;
}
.kp-hero-trust span {
  background: rgba(255, 255, 255, 0.15);
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  color: #fff;
}

.kp-hero-quicklinks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 8px;
}
.kp-quicklink {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 12px;
  background: #fff;
  color: #4c1d95;
  text-decoration: none;
  font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  transition: all 0.25s ease;
  font-size: 0.88rem;
}
.kp-quicklink:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
}
.kp-quicklink:focus-visible,
.kp-side-link:focus-visible {
  outline: 3px solid #c4b5fd;
  outline-offset: 2px;
}

.kp-popular-searches {
  margin-top: 10px;
}
.kp-popular-searches h2 {
  font-size: 0.95rem;
  color: #fff;
  margin: 0 0 8px;
}
.kp-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.kp-tag-cloud a {
  background: #fff;
  color: #4c1d95;
  text-decoration: none;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}
.kp-tag-soon {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
}

.kp-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.kp-home-content {
  min-width: 0;
  order: 1;
}
.kp-home-sidebar {
  min-width: 0;
  order: 2;
  align-self: start;
}
.kp-sidebar-sticky {
  width: 100%;
}

.kp-section-intro {
  margin: 6px 0 14px;
  color: #4b5563;
  font-size: 0.96rem;
  line-height: 1.55;
}

.kp-seo-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 14px;
  margin: 18px 0;
}
.kp-seo-card h2 {
  font-size: 1.1rem;
  margin: 0 0 8px;
  color: #312e81;
}
.kp-seo-card p {
  margin: 0;
  color: #4b5563;
  line-height: 1.5;
}

.kp-side-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.kp-side-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
}
.kp-side-title {
  font-size: 1.05rem;
  line-height: 1.2;
  font-weight: 800;
  color: #312e81;
  text-align: center;
}
.kp-side-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kp-side-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8f7ff;
  color: #1f2937;
  text-decoration: none;
  font-weight: 600;
}
.kp-side-link:hover {
  background: #ede9fe;
  color: #4c1d95;
}

.kp-home-faq {
  margin-top: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
}
.kp-home-faq h2 {
  margin: 0 0 10px;
  font-size: 1.3rem;
  color: #312e81;
}
.kp-home-faq details {
  border-top: 1px solid #eef2f7;
  padding: 10px 0;
}
.kp-home-faq details:first-of-type {
  border-top: 0;
}
.kp-home-faq summary {
  cursor: pointer;
  font-weight: 700;
  color: #111827;
}
.kp-home-faq p {
  margin: 8px 0 0;
  color: #4b5563;
  line-height: 1.55;
}

.kp-home-content > .wp-block-generateblocks-container {
  background: transparent;
}
.kp-home-grid,
.kp-home-grid > * {
  align-items: start;
}

/* movie + artist list cards */
.gb-container-11b21da4-new,
.gb-container-dfbfe868-new {
  min-height: auto !important;
  height: auto !important;
}
.gb-container-11b21da4-new img,
.gb-container-dfbfe868-new img {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px;
  min-height: 72px;
  object-fit: cover;
  border-radius: 999px;
  display: block;
  margin: 0 !important;
}
.gb-headline-11c90c8d-new,
.gb-headline-334333b6-new,
h3.gb-headline-11c90c8d-new,
h3.gb-headline-334333b6-new {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gb-headline-e3c299c4-new,
.gb-headline-5270de54-new,
p.gb-headline-e3c299c4-new,
p.gb-headline-5270de54-new {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  opacity: 0.85;
}
.gb-container-kp-movie-text-wrap,
.gb-container-kp-artist-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

@media (min-width: 768px) {
  .kp-hero-quicklinks {
    grid-template-columns: repeat(4, max-content);
    justify-content: center;
  }
  .kp-home-grid {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 24px;
    align-items: start;
  }
  .kp-sidebar-sticky {
    position: sticky;
    position: -webkit-sticky;
    top: 20px;
    align-self: start;
  }
}

@media (max-width: 767px) {
  .gb-container-kp-home-hero {
    padding-top: 1.75rem !important;
    padding-bottom: 1.25rem !important;
  }
  .kp-hero-title {
    font-size: clamp(1.3rem, 6.5vw, 1.75rem);
    line-height: 1.15;
  }
  .kp-hero-desc {
    font-size: 0.9rem;
    line-height: 1.42;
  }
  .kp-hero-trust {
    display: none;
  }

  .gb-container-11b21da4-new,
  .gb-container-dfbfe868-new {
    padding: 10px !important;
    column-gap: 10px !important;
  }
  .gb-container-11b21da4-new img,
  .gb-container-dfbfe868-new img {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px;
    min-height: 60px;
  }
  .gb-headline-11c90c8d-new,
  .gb-headline-334333b6-new {
    font-size: 14px !important;
  }
  .gb-headline-e3c299c4-new,
  .gb-headline-5270de54-new {
    font-size: 12px !important;
  }
}

/* --------------------------------------------------------------------------
   Google sign-in (public) — see inc/google-sign-in.php
   -------------------------------------------------------------------------- */
.kp-google-sign-in {
  max-width: 28rem;
  margin: 1.5rem auto;
  text-align: center;
}
.kp-google-sign-in__notice {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #5c2b2b;
  background: #fdecea;
  border: 1px solid #f5c6cb;
  border-radius: 6px;
}
.kp-google-sign-in__notice--admin {
  color: #3d3d00;
  background: #fffde7;
  border-color: #e6e200;
}
.kp-google-sign-in__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 48px;
  padding: 0 1.35rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  color: #1f1f1f;
  text-decoration: none;
  background: #fff;
  border: 1px solid #dadce0;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.kp-google-sign-in__button:hover,
.kp-google-sign-in__button:focus-visible {
  color: #1f1f1f;
  text-decoration: none;
  background: #f8f9fa;
  border-color: #c6c8cc;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.kp-google-sign-in__icon {
  display: flex;
  flex-shrink: 0;
}
.kp-google-sign-in__logged-in {
  margin: 1rem 0;
  font-size: 1.05rem;
}
.kp-google-sign-in__logged-in-nav {
  margin-top: 0.5rem;
  font-size: 0.98rem;
  line-height: 1.5;
}
.kp-google-sign-in__sep {
  opacity: 0.55;
  padding: 0 0.05em;
}

/* My account — full main column so GeneratePress sidebar stays visible (body.kp-account-page) */
body.kp-account-page .kp-account-dashboard {
  width: 100%;
  max-width: 100%;
  margin: 0 0 2.5rem;
  box-sizing: border-box;
}

.kp-account-page__masthead .entry-title {
  margin-bottom: 0.35rem;
  line-height: 1.2;
}
.kp-account-page__intro {
  margin: 0 0 1.5rem;
  font-size: 0.98rem;
  line-height: 1.5;
  opacity: 0.88;
}

.kp-account-dashboard__notice {
  margin: 0 0 1.25rem;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  background: #e8f5e9;
  border: 1px solid #a5d6a7;
  border-radius: 10px;
  color: #1b5e20;
}
.kp-account-dashboard__guest {
  font-size: 1rem;
  line-height: 1.55;
}

.kp-account-dashboard__card {
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.35rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.kp-account-dashboard__section {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.kp-account-dashboard__section--profile {
  margin-bottom: 1.25rem;
}

.kp-account-dashboard__favourite-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .kp-account-dashboard__favourite-grid {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
}

.kp-account-dashboard__heading {
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.kp-account-dashboard__email {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0 0 1.15rem;
  font-size: 0.95rem;
  line-height: 1.45;
}
@media (min-width: 480px) {
  .kp-account-dashboard__email {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.6rem;
  }
}
.kp-account-dashboard__email-label {
  font-weight: 700;
  flex-shrink: 0;
}
.kp-account-dashboard__email-value {
  word-break: break-word;
  opacity: 0.92;
}

.kp-account-dashboard__form .kp-account-dashboard__label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
  font-size: 0.9rem;
}
.kp-account-dashboard__input {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
  line-height: 1.4;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.kp-account-dashboard__input:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.2);
}

.kp-account-dashboard__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.5rem 1.25rem;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  border-radius: 8px;
  border: 1px solid transparent;
  box-sizing: border-box;
  transition: filter 0.15s ease, transform 0.05s ease;
}
.kp-account-dashboard__button--primary {
  border-color: #1565c0;
  background: #1976d2;
  color: #fff;
}
.kp-account-dashboard__button--primary:hover {
  filter: brightness(1.06);
}
.kp-account-dashboard__button--primary:active {
  transform: translateY(1px);
}

.kp-account-dashboard__empty,
.kp-account-dashboard__hint,
.kp-account-dashboard__summary {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.55;
}
.kp-account-dashboard__summary {
  margin-bottom: 0.65rem;
  font-weight: 600;
  opacity: 0.9;
}

.kp-account-dashboard__saved {
  margin: 0;
  padding: 0;
  list-style: none;
}
.kp-account-dashboard__saved li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.kp-account-dashboard__saved li:last-child {
  border-bottom: none;
}
.kp-account-dashboard__saved a {
  display: block;
  padding: 0.65rem 0.15rem 0.65rem 0;
  min-height: 44px;
  line-height: 1.4;
  text-decoration: none;
  box-sizing: border-box;
}
.kp-account-dashboard__saved a:hover {
  text-decoration: underline;
}

.kp-account-dashboard__actions {
  margin: 0;
  padding: 1rem 1.25rem;
  text-align: center;
}
.kp-account-dashboard__card--muted {
  background: rgba(0, 0, 0, 0.03);
  border-style: dashed;
}
.kp-account-dashboard__link {
  font-weight: 600;
  text-decoration: none;
}
.kp-account-dashboard__link:hover {
  text-decoration: underline;
}
.kp-account-dashboard__link--danger {
  color: #c62828;
}

/* Logged-in strip under site header */
.kp-account-header-strip {
  background: rgba(248, 250, 252, 0.92);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.kp-account-header-strip__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 2.45rem;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .kp-account-header-strip__inner {
    justify-content: center;
    text-align: center;
  }
  .kp-account-menu {
    justify-content: center;
  }
}

.kp-account-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem 0.5rem;
  font-size: 0.92rem;
  line-height: 1.45;
}
.kp-account-menu__link {
  font-weight: 600;
  padding: 0.25rem 0.1rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.kp-account-menu__sep {
  opacity: 0.45;
  user-select: none;
}
.kp-account-menu__you {
  opacity: 0.88;
  max-width: min(42vw, 14rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767px) {
  body.kp-account-page .kp-account-dashboard__card {
    padding: 1.1rem 1rem;
    border-radius: 10px;
  }
}

/* Header auth — refined neutral UI (inc/auth-nav.php) */
.kp-auth-nav {
  --kp-auth-fg: rgba(15, 23, 42, 0.92);
  --kp-auth-muted: rgba(15, 23, 42, 0.5);
  --kp-auth-border: rgba(15, 23, 42, 0.12);
  --kp-auth-bg: rgba(255, 255, 255, 0.92);
  --kp-auth-chip: rgba(248, 250, 252, 0.95);
  --kp-auth-accent: #1d4ed8;
  --kp-auth-accent-soft: rgba(29, 78, 216, 0.09);
  --kp-auth-danger: #b91c1c;
  --kp-auth-danger-soft: rgba(185, 28, 28, 0.08);
  --kp-auth-radius: 10px;
  --kp-auth-shadow: 0 4px 14px rgba(15, 23, 42, 0.08), 0 12px 32px rgba(15, 23, 42, 0.06);

  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 0.875rem;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: var(--kp-auth-fg);
}

.kp-auth-nav__signin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0;
  font-weight: 600;
  color: var(--kp-auth-fg);
  text-decoration: none;
  background: var(--kp-auth-bg);
  border: 1px solid var(--kp-auth-border);
  border-radius: var(--kp-auth-radius);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}
.kp-auth-nav__signin:hover {
  color: var(--kp-auth-accent);
  border-color: rgba(29, 78, 216, 0.35);
  background: var(--kp-auth-accent-soft);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.kp-auth-nav__signin:focus-visible {
  outline: none;
  border-color: var(--kp-auth-accent);
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.22);
}

/* Direct Google OAuth (inc/auth-nav.php) — neutral “Sign in with Google” surface */
.kp-auth-nav__google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0;
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  color: #3c4043;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  box-shadow:
    0 1px 2px rgba(60, 64, 67, 0.08),
    0 0 0 1px rgba(60, 64, 67, 0.04);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}
.kp-auth-nav__google:hover {
  background: #f8f9fa;
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow:
    0 2px 6px rgba(60, 64, 67, 0.12),
    0 0 0 1px rgba(60, 64, 67, 0.06);
  color: #202124;
}
.kp-auth-nav__google:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(66, 133, 244, 0.35),
    0 1px 2px rgba(60, 64, 67, 0.1);
}
.kp-auth-nav__google-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 1.05rem 0.45rem 0.65rem;
}
.kp-auth-nav__google .kp-google-sign-in__icon {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
}

.kp-auth-nav__signin-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 1rem;
}
.kp-auth-nav__signin-icon {
  flex-shrink: 0;
  opacity: 0.85;
}

.kp-auth-nav__details {
  position: relative;
}
.kp-auth-nav__details summary::-webkit-details-marker {
  display: none;
}
.kp-auth-nav__summary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 40px;
  padding: 0.25rem 0.65rem 0.25rem 0.35rem;
  list-style: none;
  cursor: pointer;
  color: var(--kp-auth-fg);
  background: var(--kp-auth-chip);
  border: 1px solid var(--kp-auth-border);
  border-radius: 999px;
  box-sizing: border-box;
  user-select: none;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}
.kp-auth-nav__summary:hover {
  border-color: rgba(15, 23, 42, 0.18);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}
.kp-auth-nav__summary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.2);
}

.kp-auth-nav__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  flex-shrink: 0;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(160deg, #334155 0%, #1e293b 100%);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.kp-auth-nav__name {
  max-width: 8.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.8125rem;
  color: var(--kp-auth-fg);
}
@media (max-width: 480px) {
  .kp-auth-nav__name {
    max-width: 5.5rem;
  }
}

.kp-auth-nav__chev {
  width: 0.35rem;
  height: 0.35rem;
  margin-right: 0.2rem;
  margin-left: -0.05rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.45;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.kp-auth-nav__details[open] .kp-auth-nav__chev {
  transform: rotate(225deg);
  opacity: 0.65;
}

.kp-auth-nav__panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 500;
  min-width: min(100vw - 1.5rem, 13.5rem);
  padding: 0.4rem;
  background: var(--kp-auth-bg);
  border: 1px solid var(--kp-auth-border);
  border-radius: 12px;
  box-shadow: var(--kp-auth-shadow);
}
.kp-auth-nav__details[open] .kp-auth-nav__summary {
  border-color: rgba(15, 23, 42, 0.14);
}

.kp-auth-nav__item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 42px;
  padding: 0.45rem 0.65rem;
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--kp-auth-fg);
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease;
}
.kp-auth-nav__item-icon {
  flex-shrink: 0;
  opacity: 0.55;
  stroke-width: 2;
}
.kp-auth-nav__item:hover,
.kp-auth-nav__item:focus-visible {
  background: rgba(15, 23, 42, 0.05);
  color: var(--kp-auth-fg);
  text-decoration: none;
}
.kp-auth-nav__item:hover .kp-auth-nav__item-icon,
.kp-auth-nav__item:focus-visible .kp-auth-nav__item-icon {
  opacity: 0.75;
}

.kp-auth-nav__item--logout {
  margin-top: 0.2rem;
  padding-top: 0.55rem;
  color: var(--kp-auth-danger);
  border-top: 1px solid var(--kp-auth-border);
  border-radius: 0 0 8px 8px;
}
.kp-auth-nav__item--logout .kp-auth-nav__item-icon {
  opacity: 0.65;
  stroke: var(--kp-auth-danger);
}
.kp-auth-nav__item--logout:hover,
.kp-auth-nav__item--logout:focus-visible {
  background: var(--kp-auth-danger-soft);
  color: var(--kp-auth-danger);
}

@media (max-width: 480px) {
  .kp-auth-nav__panel {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

/*
 * Menu slot only (.kp-auth-nav-slot on one Custom Link — inc/auth-nav.php).
 * Does not change other menu items or the whole <ul>.
 */
li.menu-item.kp-auth-nav-slot {
  display: flex;
  align-items: center;
  list-style: none;
}
li.menu-item.kp-auth-nav-slot .kp-auth-nav {
  line-height: 1;
}
/* Push slot to the right when the bar uses flex (many GP layouts); harmless otherwise */
@media (min-width: 769px) {
  li.menu-item.kp-auth-nav-slot {
    margin-left: auto;
  }
}
@media (max-width: 768px) {
  li.menu-item.kp-auth-nav-slot {
    justify-content: flex-start;
    width: 100%;
    margin-left: 0;
    padding-top: 0.35rem;
    margin-top: 0.35rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
  }
}

/* --------------------------------------------------------------------------
   [kp_site_nav] — enterprise dark header + overlay drawer (drawer above bar)
   Tune: --kp-sn-glow-from / --kp-sn-glow-to
   -------------------------------------------------------------------------- */
.kp-site-nav {
  --kp-sn-bg: #030306;
  --kp-sn-bg-elevated: #0e0e18;
  --kp-sn-border: rgba(255, 255, 255, 0.09);
  --kp-sn-text: #f1f5f9;
  --kp-sn-muted: #8b9cb8;
  --kp-sn-link: #c7d4ea;
  --kp-sn-link-hover: #ffffff;
  --kp-sn-hint: #a5b4fc;
  --kp-sn-active-bg: rgba(139, 92, 246, 0.14);
  --kp-sn-active-ring: rgba(167, 139, 250, 0.45);
  --kp-sn-glow-from: #8b5cf6;
  --kp-sn-glow-to: #3b82f6;
  --kp-sn-glass: rgba(255, 255, 255, 0.05);

  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  isolation: isolate;
  width: 100%;
  z-index: 10000;
  box-sizing: border-box;
  color: var(--kp-sn-text);
  /* Keep transparent: bar carries the chrome; otherwise --hidden leaves an empty black strip (bar slides up). */
  background: transparent;
}

body.kp-has-site-nav {
  padding-top: var(--kp-site-nav-h, 72px);
}

/* Slide only the bar: transform on <nav> breaks position:fixed for backdrop/panel (mobile drawer). */
.kp-site-nav.kp-site-nav--hidden {
  pointer-events: none;
}

.kp-site-nav.kp-site-nav--hidden .kp-site-nav__bar {
  transform: translate3d(0, -100%, 0);
}

body.admin-bar .kp-site-nav {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .kp-site-nav {
    top: 46px;
  }
}

.kp-site-nav__bar {
  position: relative;
  z-index: 2;
  transform: translate3d(0, 0, 0);
  background: linear-gradient(180deg, #08080e 0%, var(--kp-sn-bg) 55%, #030306 100%);
  border-bottom: 1px solid var(--kp-sn-border);
  box-shadow:
    0 1px 0 rgba(139, 92, 246, 0.14),
    0 12px 48px rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  transition:
    transform 0.38s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.45s ease,
    box-shadow 0.45s ease,
    border-color 0.45s ease,
    backdrop-filter 0.45s ease,
    -webkit-backdrop-filter 0.45s ease;
}

.kp-site-nav__bar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  pointer-events: none;
  opacity: 0.9;
  transition: opacity 0.45s ease;
  background: linear-gradient(90deg, transparent 0%, var(--kp-sn-glow-from) 35%, var(--kp-sn-glow-to) 65%, transparent 100%);
}

@media (prefers-reduced-motion: reduce) {
  .kp-site-nav__bar,
  .kp-site-nav__bar::after {
    transition-duration: 0.05s;
  }
}

@media (prefers-reduced-motion: reduce) and (min-width: 769px) {
  .kp-site-nav__panel {
    transition-duration: 0.05s;
  }
}

.kp-site-nav__inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  box-sizing: border-box;
}

.kp-site-nav__checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.kp-site-nav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex: 1 1 auto;
  min-width: 0;
}

.kp-site-nav__brand-wrap .custom-logo-link,
.kp-site-nav__brand-wrap a.custom-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}

/* Full-size asset + CSS cap avoids soft browser upscale blur */
.kp-site-nav__brand-wrap img,
.kp-site-nav .custom-logo,
.kp-site-nav__logo-img {
  max-height: 44px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: left center;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.kp-site-nav__brand--text {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
  text-decoration: none;
  color: inherit;
}
.kp-site-nav__title {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--kp-sn-text);
}
.kp-site-nav__tagline {
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-sn-muted);
}

.kp-site-nav__toggle {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  cursor: pointer;
  border-radius: 12px;
  border: 1px solid var(--kp-sn-border);
  background: var(--kp-sn-glass);
  color: var(--kp-sn-text);
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.kp-site-nav__toggle:hover {
  background: rgba(124, 58, 237, 0.12);
  border-color: rgba(124, 58, 237, 0.35);
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.15);
}

.kp-site-nav__burger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 1.25rem;
  height: 14px;
}
.kp-site-nav__burger-bar {
  display: block;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition:
    transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.2s ease;
}
.kp-site-nav__checkbox:checked ~ .kp-site-nav__bar .kp-site-nav__burger-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.kp-site-nav__checkbox:checked ~ .kp-site-nav__bar .kp-site-nav__burger-bar:nth-child(2) {
  opacity: 0;
}
.kp-site-nav__checkbox:checked ~ .kp-site-nav__bar .kp-site-nav__burger-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.kp-site-nav__backdrop {
  display: none;
}

.kp-site-nav__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem 1.75rem;
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
}

.kp-site-nav__panel-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem 1.75rem;
  width: 100%;
}

.kp-site-nav__menu-wrap {
  flex: 1 1 auto;
  min-width: 0;
}

.kp-site-nav__auth-col {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.4rem;
}

.kp-site-nav__signup-hint {
  margin: 0;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-sn-hint);
  line-height: 1.2;
  white-space: nowrap;
}

.kp-site-nav__auth {
  display: flex;
  align-items: center;
  padding: 0;
  background: transparent;
  border: none;
}

.kp-site-nav__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kp-site-nav__menu > li {
  position: relative;
  margin: 0;
  padding: 0;
}

.kp-site-nav__menu > li > a.kp-site-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.45rem 0.9rem;
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  color: var(--kp-sn-link) !important;
  border-radius: 10px;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}
.kp-site-nav__menu > li > a.kp-site-nav__link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 5px;
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--kp-sn-glow-from), var(--kp-sn-glow-to));
  transform: translateX(-50%);
  transition: width 0.22s ease;
}
.kp-site-nav__menu > li > a.kp-site-nav__link:hover,
.kp-site-nav__menu > li > a.kp-site-nav__link:focus-visible {
  color: var(--kp-sn-link-hover) !important;
  background: rgba(139, 92, 246, 0.1);
  text-decoration: none;
}
.kp-site-nav__menu > li > a.kp-site-nav__link:hover::after,
.kp-site-nav__menu > li > a.kp-site-nav__link:focus-visible::after {
  width: 55%;
}

/* Current page / section — clear “active” affordance */
.kp-site-nav__menu > li.current-menu-item > a.kp-site-nav__link,
.kp-site-nav__menu > li.current-menu-ancestor > a.kp-site-nav__link,
.kp-site-nav__menu > li.current_page_item > a.kp-site-nav__link,
.kp-site-nav__menu > li.current_page_parent > a.kp-site-nav__link,
.kp-site-nav__menu > li.current_page_ancestor > a.kp-site-nav__link {
  color: var(--kp-sn-link-hover) !important;
  background: var(--kp-sn-active-bg);
  box-shadow: inset 0 0 0 1px var(--kp-sn-active-ring);
}
.kp-site-nav__menu > li.current-menu-item > a.kp-site-nav__link::after,
.kp-site-nav__menu > li.current-menu-ancestor > a.kp-site-nav__link::after,
.kp-site-nav__menu > li.current_page_item > a.kp-site-nav__link::after {
  width: 55%;
}

.kp-site-nav .kp-site-nav__sub {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 200;
  min-width: 16rem;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  background: linear-gradient(165deg, #12121a 0%, #0a0a10 100%);
  border: 1px solid var(--kp-sn-border);
  border-radius: 14px;
  box-shadow:
    0 0 0 1px rgba(124, 58, 237, 0.08),
    0 20px 50px rgba(0, 0, 0, 0.55);
}

/* Invisible hit-area so the pointer can travel from parent link into submenu without losing hover */
.kp-site-nav .kp-site-nav__sub::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 16px;
}

@media (min-width: 769px) {
  .kp-site-nav .kp-site-nav__menu > li.menu-item-has-children {
    padding-bottom: 0.35rem;
    margin-bottom: -0.35rem;
  }

  .kp-site-nav li.menu-item-has-children:hover > .kp-site-nav__sub,
  .kp-site-nav li.menu-item-has-children:focus-within > .kp-site-nav__sub {
    display: block;
  }

  /* Fly-out row: bridge horizontal gap to nested submenu */
  .kp-site-nav .kp-site-nav__sub li.menu-item-has-children {
    position: relative;
  }
  .kp-site-nav .kp-site-nav__sub .kp-site-nav__sub {
    left: 100%;
    top: 0;
    margin-left: 0;
  }
  .kp-site-nav .kp-site-nav__sub .kp-site-nav__sub::before {
    left: auto;
    right: 100%;
    top: 0;
    bottom: 0;
    width: 12px;
    height: auto;
  }
}

.kp-site-nav__sub-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  align-self: stretch;
  min-height: 44px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.85);
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.kp-site-nav__sub-toggle:hover,
.kp-site-nav__sub-toggle:focus-visible {
  background: rgba(124, 58, 237, 0.2);
  color: #fff;
  outline: none;
}
.kp-site-nav__sub-toggle-icon {
  display: block;
  width: 0.45rem;
  height: 0.45rem;
  margin-top: -0.15rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.22s ease;
}
.kp-site-nav li.kp-sn-sub-open > .kp-site-nav__sub-toggle .kp-site-nav__sub-toggle-icon {
  margin-top: 0.1rem;
  transform: rotate(-135deg);
}

.kp-site-nav .kp-site-nav__sub a {
  display: block;
  padding: 0.55rem 1.15rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--kp-sn-link);
  border-radius: 8px;
  margin: 0 0.35rem;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.kp-site-nav .kp-site-nav__sub a:hover {
  background: rgba(139, 92, 246, 0.14);
  color: var(--kp-sn-link-hover);
}
.kp-site-nav .kp-site-nav__sub li.current-menu-item > a,
.kp-site-nav .kp-site-nav__sub li.current-menu-ancestor > a {
  background: var(--kp-sn-active-bg);
  color: var(--kp-sn-link-hover);
  box-shadow: inset 0 0 0 1px var(--kp-sn-active-ring);
}

/* Auth — dark enterprise */
.kp-site-nav .kp-auth-nav {
  --kp-auth-fg: #f1f5f9;
  --kp-auth-muted: #94a3b8;
  --kp-auth-border: rgba(255, 255, 255, 0.1);
  --kp-auth-bg: rgba(255, 255, 255, 0.06);
  --kp-auth-chip: rgba(255, 255, 255, 0.06);
  --kp-auth-accent: #a78bfa;
  --kp-auth-accent-soft: rgba(124, 58, 237, 0.15);
  --kp-auth-danger: #fca5a5;
  --kp-auth-danger-soft: rgba(248, 113, 113, 0.12);
  --kp-auth-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}

.kp-site-nav .kp-auth-nav__signin {
  border-color: rgba(124, 58, 237, 0.35);
  background: rgba(124, 58, 237, 0.12);
  color: #e9e7ff;
}
.kp-site-nav .kp-auth-nav__signin:hover {
  background: rgba(124, 58, 237, 0.22);
  border-color: rgba(167, 139, 250, 0.45);
  color: #fff;
}

.kp-site-nav .kp-auth-nav__google {
  background: linear-gradient(135deg, var(--kp-sn-glow-from) 0%, var(--kp-sn-glow-to) 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff !important;
  box-shadow:
    0 4px 16px rgba(37, 99, 235, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.kp-site-nav .kp-auth-nav__google:hover {
  filter: brightness(1.06);
  color: #fff !important;
}
.kp-site-nav .kp-auth-nav__google .kp-google-sign-in__icon svg path {
  filter: brightness(1.15);
}

.kp-site-nav .kp-auth-nav__google-inner span:last-child {
  color: #fff;
  font-weight: 600;
}

.kp-site-nav .kp-auth-nav__avatar {
  background: linear-gradient(145deg, var(--kp-sn-glow-from) 0%, var(--kp-sn-glow-to) 100%);
  box-shadow: 0 2px 12px rgba(124, 58, 237, 0.35);
}

/* Desktop — logged-in pill + glass dropdown (ref: enterprise account menu) */
@media (min-width: 769px) {
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__summary {
    gap: 0.55rem;
    min-height: 44px;
    padding: 0.28rem 0.9rem 0.28rem 0.42rem;
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 6px 28px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(12px) saturate(1.15);
    -webkit-backdrop-filter: blur(12px) saturate(1.15);
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__summary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.22);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      0 8px 32px rgba(0, 0, 0, 0.4);
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__details[open] .kp-auth-nav__summary {
    border-color: rgba(167, 139, 250, 0.45);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      0 0 0 1px rgba(124, 58, 237, 0.2),
      0 8px 36px rgba(0, 0, 0, 0.45);
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__name {
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.01em;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__chev {
    width: 0.4rem;
    height: 0.4rem;
    margin-right: 0.15rem;
    opacity: 0.85;
    border-color: rgba(255, 255, 255, 0.9);
    border-right-width: 2px;
    border-bottom-width: 2px;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__panel {
    top: calc(100% + 10px);
    right: 0;
    left: auto;
    transform: none;
    min-width: 13.75rem;
    padding: 0.45rem;
    background: rgba(10, 8, 20, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    box-shadow:
      0 8px 40px rgba(0, 0, 0, 0.55),
      0 1px 0 rgba(255, 255, 255, 0.06) inset;
    backdrop-filter: blur(20px) saturate(1.35);
    -webkit-backdrop-filter: blur(20px) saturate(1.35);
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item:not(.kp-auth-nav__item--logout) {
    color: #f8fafc;
    border-radius: 10px;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item:not(.kp-auth-nav__item--logout) .kp-auth-nav__item-icon {
    opacity: 1;
    stroke: #f1f5f9;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item:not(.kp-auth-nav__item--logout):hover,
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item:not(.kp-auth-nav__item--logout):focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item:not(.kp-auth-nav__item--logout):hover .kp-auth-nav__item-icon,
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item:not(.kp-auth-nav__item--logout):focus-visible .kp-auth-nav__item-icon {
    opacity: 1;
    stroke: #fff;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item--logout {
    margin-top: 0.15rem;
    padding-top: 0.5rem;
    color: #fdba74;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0 0 10px 10px;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item--logout .kp-auth-nav__item-icon {
    opacity: 1;
    stroke: #fdba74;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item--logout:hover,
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item--logout:focus-visible {
    background: rgba(253, 186, 116, 0.12);
    color: #fed7aa;
  }

  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item--logout:hover .kp-auth-nav__item-icon,
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__item--logout:focus-visible .kp-auth-nav__item-icon {
    stroke: #fed7aa;
    opacity: 1;
  }
}

@media (min-width: 769px) and (prefers-reduced-motion: reduce) {
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__summary,
  .kp-site-nav .kp-auth-nav--logged-in .kp-auth-nav__panel {
    transition: none;
  }
}

/* Drawer chrome — mobile only */
.kp-site-nav__drawer-head {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex: 0 0 auto;
  padding-bottom: 1rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid var(--kp-sn-border);
}
.kp-site-nav__drawer-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
  line-height: 0;
}
.kp-site-nav__drawer-logo-img {
  max-height: 36px;
  width: auto;
  display: block;
  object-fit: contain;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.kp-site-nav__drawer-title {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--kp-sn-text);
  line-height: 1.2;
}
.kp-site-nav__drawer-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  cursor: pointer;
  border-radius: 12px;
  border: 1px solid var(--kp-sn-border);
  background: var(--kp-sn-glass);
  color: var(--kp-sn-text);
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}
.kp-site-nav__drawer-close:hover {
  background: rgba(124, 58, 237, 0.15);
  border-color: rgba(167, 139, 250, 0.35);
}
.kp-site-nav__drawer-close-icon {
  position: relative;
  display: block;
  width: 1rem;
  height: 1rem;
}
.kp-site-nav__drawer-close-icon::before,
.kp-site-nav__drawer-close-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.1rem;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
}
.kp-site-nav__drawer-close-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.kp-site-nav__drawer-close-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 768px) {
  body.kp-site-nav-drawer-open {
    overflow: hidden;
  }

  /* Bar stays below overlay so drawer + dimmer cover the full viewport including header */
  .kp-site-nav__bar {
    z-index: 2;
  }

  .kp-site-nav__drawer-head {
    display: flex;
  }

  .kp-site-nav__backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 99990;
    margin: 0;
    cursor: pointer;
    background: rgba(2, 3, 8, 0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.32s ease,
      visibility 0.32s ease;
  }

  .kp-site-nav__checkbox:checked ~ .kp-site-nav__backdrop {
    opacity: 1;
    visibility: visible;
  }

  .kp-site-nav__inner {
    flex-direction: row;
    align-items: center;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
  }

  .kp-site-nav__toggle {
    display: inline-flex;
    flex-shrink: 0;
  }

  .kp-site-nav__top {
    flex: 1 1 auto;
    width: auto;
  }

  .kp-site-nav__panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(100vw - 2rem, 21rem);
    max-width: 100%;
    max-height: 100dvh;
    z-index: 99999;
    margin: 0;
    padding: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    transform: translate3d(-108%, 0, 0);
    transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1);
    pointer-events: none;
    overflow: hidden;
    min-height: 0;
    background: linear-gradient(180deg, #0b0b12 0%, #050508 45%, #020203 100%);
    border-right: 1px solid var(--kp-sn-border);
    border-radius: 0 20px 20px 0;
    box-shadow:
      8px 0 0 0 rgba(124, 58, 237, 0.15),
      24px 0 64px rgba(0, 0, 0, 0.65);
  }

  .kp-site-nav__checkbox:checked ~ .kp-site-nav__panel {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }

  .kp-site-nav__panel-inner {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.85rem;
    width: 100%;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    padding: calc(0.75rem + env(safe-area-inset-top, 0px)) 1.1rem calc(1rem + env(safe-area-inset-bottom, 0px))
      calc(1rem + env(safe-area-inset-left, 0px));
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .kp-site-nav__menu-wrap {
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-right: 2px;
  }

  .kp-site-nav__menu {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--kp-sn-border);
    background: var(--kp-sn-glass);
  }

  .kp-site-nav li.menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 0;
    border-bottom: 1px solid var(--kp-sn-border);
  }

  .kp-site-nav li.menu-item-has-children:last-child {
    border-bottom: none;
  }

  .kp-site-nav li.menu-item-has-children > a.kp-site-nav__link {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    justify-content: flex-start;
    padding: 0.8rem 0.35rem 0.8rem 1rem;
    border-radius: 0;
    color: var(--kp-sn-text) !important;
    font-weight: 600;
  }

  .kp-site-nav li.menu-item-has-children > a.kp-site-nav__link::after {
    display: none;
  }

  .kp-site-nav__sub-toggle {
    display: inline-flex;
    border-radius: 0;
    border-left: 1px solid var(--kp-sn-border);
  }

  .kp-site-nav li.menu-item-has-children:not(.kp-sn-sub-open) > .kp-site-nav__sub {
    display: none !important;
  }

  .kp-site-nav li.kp-sn-sub-open > .kp-site-nav__sub {
    display: block !important;
  }

  .kp-site-nav .kp-site-nav__sub {
    position: static;
    flex: 1 1 100%;
    min-width: 0;
    margin: 0;
    padding: 0.2rem 0 0.4rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: rgba(0, 0, 0, 0.35);
  }

  .kp-site-nav .kp-site-nav__sub .kp-site-nav__sub {
    background: rgba(0, 0, 0, 0.25);
  }

  .kp-site-nav .kp-site-nav__sub a {
    padding: 0.55rem 1rem 0.55rem 1.5rem;
    font-size: 0.9rem;
    border-radius: 0;
    margin: 0;
    color: var(--kp-sn-link);
  }

  .kp-site-nav .kp-site-nav__sub li.current-menu-item > a,
  .kp-site-nav .kp-site-nav__sub li.current-menu-ancestor > a {
    color: var(--kp-sn-link-hover);
  }

  .kp-site-nav .kp-site-nav__sub .kp-site-nav__sub a {
    padding-left: 1.85rem;
  }

  .kp-site-nav__menu > li:not(.menu-item-has-children) > a.kp-site-nav__link {
    width: 100%;
    justify-content: flex-start;
    padding: 0.8rem 1rem;
    border-radius: 0;
    border-bottom: 1px solid var(--kp-sn-border);
    color: var(--kp-sn-text) !important;
    font-weight: 600;
  }

  .kp-site-nav__menu > li:not(.menu-item-has-children):last-child > a.kp-site-nav__link {
    border-bottom: none;
  }

  .kp-site-nav__menu > li:not(.menu-item-has-children) > a.kp-site-nav__link::after {
    display: none;
  }

  .kp-site-nav__auth-col {
    flex-shrink: 0;
    justify-content: stretch;
    align-items: stretch;
    margin-top: auto;
    width: 100%;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid var(--kp-sn-border);
    background: rgba(139, 92, 246, 0.07);
    gap: 0.55rem;
  }

  .kp-site-nav__signup-hint {
    text-align: center;
    white-space: normal;
    color: var(--kp-sn-hint);
  }

  .kp-site-nav .kp-auth-nav {
    width: 100%;
    justify-content: center;
  }

  /*
   * Logged-in account uses <details> + absolutely positioned panel (desktop).
   * In the drawer, overflow:hidden clipped profile / logout below the chip.
   * Show links in-flow and always visible on small screens.
   */
  .kp-site-nav .kp-auth-nav__details {
    width: 100%;
    max-width: 100%;
  }

  .kp-site-nav .kp-auth-nav__details > .kp-auth-nav__panel {
    position: static;
    display: flex !important;
    flex-direction: column;
    gap: 0.2rem;
    margin-top: 0.55rem;
    padding: 0.35rem;
    min-width: 0;
    width: 100%;
    max-width: none;
    transform: none;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid var(--kp-sn-border);
    border-radius: 12px;
    box-shadow: none;
  }

  .kp-site-nav .kp-auth-nav__summary {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }

  .kp-site-nav .kp-auth-nav__name {
    max-width: none;
  }
}

@media (min-width: 769px) {
  .kp-site-nav__drawer-head {
    display: none !important;
  }

  /* One continuous strip: logo + menu share nav chrome (panel is transparent on desktop). */
  .kp-site-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0 1.25rem;
    background: linear-gradient(180deg, #08080e 0%, var(--kp-sn-bg) 55%, #030306 100%);
    border-bottom: 1px solid var(--kp-sn-border);
    box-shadow:
      0 1px 0 rgba(139, 92, 246, 0.14),
      0 12px 48px rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(18px) saturate(1.2);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
  }

  .kp-site-nav::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    pointer-events: none;
    z-index: 3;
    opacity: 0.9;
    background: linear-gradient(90deg, transparent 0%, var(--kp-sn-glow-from) 35%, var(--kp-sn-glow-to) 65%, transparent 100%);
  }

  .kp-site-nav.kp-site-nav--hidden {
    background: transparent;
    border-bottom-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .kp-site-nav.kp-site-nav--hidden::after {
    opacity: 0;
  }

  .kp-site-nav__bar {
    flex: 0 0 auto;
    align-self: stretch;
    display: flex;
    align-items: center;
    background: transparent;
    border-bottom: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .kp-site-nav__bar::after {
    display: none;
  }

  .kp-site-nav__inner {
    align-items: center;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }

  .kp-site-nav__backdrop {
    display: none !important;
  }

  .kp-site-nav__top {
    flex: 0 0 auto;
    width: auto;
    max-width: 260px;
  }

  .kp-site-nav__sub-toggle {
    display: none !important;
  }

  .kp-site-nav__toggle,
  .kp-site-nav__checkbox {
    display: none !important;
  }

  .kp-site-nav__panel {
    position: static !important;
    display: flex !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate3d(0, 0, 0);
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: auto !important;
    overflow: visible !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    flex-direction: row !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Menu is a sibling of the bar on desktop; slide it with the bar when smart-sticky hides. */
  .kp-site-nav.kp-site-nav--hidden .kp-site-nav__panel {
    transform: translate3d(0, -100%, 0);
  }

  .kp-site-nav__panel-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 1rem 1.75rem !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .kp-site-nav__menu-wrap {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
  }

  .kp-site-nav__menu {
    justify-content: center;
  }

  .kp-site-nav__auth-col {
    flex: 0 0 auto;
    margin-left: 0.5rem;
  }
}

.kp-site-nav__admin-note {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  background: #fff8e1;
  border: 1px solid #ffe082;
  border-radius: 8px;
  color: #5d4037;
}

/* Antakshari — A–Z hub & letter archives */
.kp-antakshari-hub-lead,
.kp-antakshari-intro {
  margin: 0 0 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #374151;
}

.kp-antakshari-hub-meta {
  margin: -0.4rem 0 0.9rem;
  font-size: 0.86rem;
  color: #6b7280;
}

/* Mobile-first quick letter chips */
.kp-az-chips {
  margin: 0 0 1rem;
}

.kp-az-chips__list {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  list-style: none;
  margin: 0;
  padding: 0.15rem 0 0.4rem;
}

.kp-az-chips__item {
  flex: 0 0 auto;
}

.kp-az-chips__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.75rem;
  min-width: 2.75rem;
  padding: 0.35rem 0.75rem;
  border: 2px solid #e9d5ff;
  border-radius: 999px;
  background: #fff;
  color: #5b21b6;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(44, 0, 62, 0.05);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.kp-az-chips__link:hover {
  border-color: #c4b5fd;
  background: #f5f3ff;
  color: #4c1d95;
}

.kp-az-chips__link.is-active {
  border-color: #7c3aed;
  background: #7c3aed;
  color: #fff;
}

.kp-az-chips__roman {
  font-size: 0.78rem;
  font-weight: 700;
}

.kp-az-chips__deva {
  font-size: 1rem;
}

.kp-az-chips__count {
  font-size: 0.68rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.85;
  border-left: 1px solid currentColor;
  padding-left: 0.35rem;
}

.kp-az-chips__link.is-active .kp-az-chips__count {
  opacity: 0.9;
}

.kp-antakshari-breadcrumb {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}

.kp-antakshari-breadcrumb a {
  color: #6d28d9;
  text-decoration: none;
}

.kp-antakshari-breadcrumb a:hover {
  text-decoration: underline;
}

.kp-antakshari-letter-header {
  margin-bottom: 1.5rem;
}

.kp-antakshari-letter-header .page-title {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

.kp-antakshari-songs-title {
  font-size: 1.15rem;
  margin: 0 0 1rem;
  font-weight: 600;
}

/* Letter grid — mobile-first touch tiles */
.kp-az-grid__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 0.85rem;
  color: #2c003e;
}

.kp-antakshari-letter-grids {
  padding: 1rem 0.85rem 1.1rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #ede9fe;
}

.kp-antakshari-letter-grids__header {
  margin-bottom: 0.95rem;
}

.kp-antakshari-letter-grids__title {
  margin: 0 0 0.3rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.25;
  color: #2c003e;
}

.kp-antakshari-letter-grids__lead {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #6b7280;
}

/* Mobile script tabs — one grid at a time */
.kp-az-tabs__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.kp-az-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.kp-az-tabs__label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  border: 2px solid #e9d5ff;
  border-radius: 12px;
  background: #faf8ff;
  color: #5b21b6;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

.kp-az-tabs__label--hindi {
  border-color: #fecdd3;
  background: #fff5f5;
  color: #be123c;
}

.kp-az-tabs__input:first-of-type:checked ~ .kp-az-tabs .kp-az-tabs__label--roman,
.kp-az-tabs__input:nth-of-type(2):checked ~ .kp-az-tabs .kp-az-tabs__label--hindi {
  color: #fff;
  box-shadow: 0 2px 8px rgba(44, 0, 62, 0.12);
}

.kp-az-tabs__input:first-of-type:checked ~ .kp-az-tabs .kp-az-tabs__label--roman {
  background: #7c3aed;
  border-color: #7c3aed;
}

.kp-az-tabs__input:nth-of-type(2):checked ~ .kp-az-tabs .kp-az-tabs__label--hindi {
  background: #eb455f;
  border-color: #eb455f;
}

.kp-az-tab-panels .kp-az-grid-section {
  display: none;
}

.kp-az-tabs__input:first-of-type:checked ~ .kp-az-tab-panels .kp-az-grid-section--roman,
.kp-az-tabs__input:nth-of-type(2):checked ~ .kp-az-tab-panels .kp-az-grid-section--hindi {
  display: block;
}

.kp-az-grid-section + .kp-az-grid-section {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.kp-az-grid-section__header {
  margin-bottom: 0.7rem;
}

.kp-antakshari-letter-grids--dual .kp-az-grid-section__header {
  display: none;
}

.kp-az-grid-section__title {
  margin: 0 0 0.2rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  color: #2c003e;
}

.kp-az-grid-section__desc {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #6b7280;
}

.kp-az-grid-section--roman .kp-az-grid-section__title::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  background: #7c3aed;
  vertical-align: middle;
}

.kp-az-grid-section--hindi .kp-az-grid-section__title::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  background: #eb455f;
  vertical-align: middle;
}

.kp-az-grid__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 480px) {
  .kp-az-grid__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.55rem;
  }
}

@media (min-width: 640px) {
  .kp-az-grid__list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .kp-az-chips__list {
    flex-wrap: wrap;
    overflow-x: visible;
    padding-bottom: 0;
  }

  .kp-antakshari-letter-grids {
    padding: 1.15rem 1rem 1.25rem;
    background: linear-gradient(180deg, #faf8ff 0%, #f5f3ff 100%);
    border-color: #e9d5ff;
    box-shadow: 0 8px 24px rgba(44, 0, 62, 0.06);
  }

  .kp-antakshari-letter-grids__title {
    font-size: clamp(1.15rem, 2.5vw, 1.35rem);
  }

  .kp-az-tabs {
    display: none;
  }

  .kp-antakshari-letter-grids--dual .kp-az-grid-section__header {
    display: block;
  }

  .kp-az-tab-panels .kp-az-grid-section {
    display: block;
  }

  .kp-az-grid-section + .kp-az-grid-section {
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e9d5ff;
  }

  .kp-az-grid--hub .kp-az-grid__list,
  .kp-antakshari-letter-grids .kp-az-grid__list {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
}

.kp-az-grid__link {
  --kp-az-accent: #7c3aed;
  --kp-az-soft: #f5f3ff;
  --kp-az-border: #ddd6fe;
  --kp-az-text: #5b21b6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.45rem 0.25rem;
  border: 2px solid var(--kp-az-border);
  border-radius: 12px;
  background: #fff;
  text-decoration: none;
  color: var(--kp-az-text);
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(44, 0, 62, 0.04);
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}

.kp-az-grid--hindi .kp-az-grid__link {
  --kp-az-accent: #eb455f;
  --kp-az-soft: #fff5f5;
  --kp-az-border: #fecdd3;
  --kp-az-text: #be123c;
}

.kp-az-grid__link:hover {
  background: var(--kp-az-soft);
  border-color: var(--kp-az-accent);
  color: var(--kp-az-text);
}

.kp-az-grid__link:active {
  transform: scale(0.96);
  background: var(--kp-az-accent);
  border-color: var(--kp-az-accent);
  color: #fff;
}

.kp-az-grid__link.is-active {
  background: var(--kp-az-accent);
  border-color: var(--kp-az-accent);
  color: #fff;
  box-shadow: 0 2px 8px rgba(44, 0, 62, 0.14);
}

.kp-az-grid__link.is-active:hover {
  color: #fff;
  filter: brightness(1.03);
}

.kp-az-grid__link--disabled {
  background: #f9fafb;
  border-color: #e5e7eb;
  color: #9ca3af;
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.72;
}

.kp-az-grid__link--disabled:hover,
.kp-az-grid__link--disabled:active {
  transform: none;
  background: #f9fafb;
  border-color: #e5e7eb;
  color: #9ca3af;
}

.az-post-list-wrapper.az-by-letter .az-index-link.active {
  background: var(--kp-az-accent, #7c3aed);
  border-color: var(--kp-az-accent, #7c3aed);
  color: #fff;
  box-shadow: 0 2px 8px rgba(44, 0, 62, 0.14);
}

.kp-az-grid__single {
  display: block;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.kp-az-grid--hindi .kp-az-grid__single {
  font-size: 1.12rem;
}

.kp-az-grid__link--long .kp-az-grid__single {
  font-size: 0.72rem;
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  .kp-az-grid__link {
    min-height: 2.75rem;
    padding: 0.35rem 0.2rem;
    border-radius: 10px;
  }

  .kp-az-grid__single {
    font-size: 0.95rem;
  }

  .kp-az-grid--hindi .kp-az-grid__single {
    font-size: 1.05rem;
  }
}

.kp-az-grid__roman {
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.kp-az-grid__deva {
  font-size: 0.92rem;
  line-height: 1.2;
  margin-top: 0.02rem;
}

.kp-az-grid__count {
  margin-top: 0.08rem;
  font-size: 0.63rem;
  line-height: 1;
  color: #6b7280;
}

.kp-az-grid__link.is-active .kp-az-grid__count {
  color: rgba(255, 255, 255, 0.9);
}

.kp-az-grid--combined .kp-az-grid__link {
  min-height: 3rem;
}

.kp-antakshari-letters-panel {
  margin: 2rem 0 1rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.kp-antakshari-letters-panel summary {
  cursor: pointer;
  font-weight: 600;
  color: #4b5563;
  font-size: 0.95rem;
}

.kp-antakshari-letters-panel[open] .kp-az-grid {
  margin-top: 1rem;
}

.kp-antakshari-opening {
  margin: 0.35rem 0 0.5rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #4b5563;
}

.kp-antakshari-empty {
  padding: 1.5rem;
  text-align: center;
  color: #6b7280;
  background: #f9fafb;
  border-radius: 8px;
}

.kp-antakshari-faq {
  margin-top: 2rem;
}

.gp-mini-tag--notes {
  background: #ecfdf5;
  color: #047857;
}

.gp-mini-tag--chords {
  background: #eff6ff;
  color: #1d4ed8;
}

/* -------------------------------------------------------------------------
 * Homepage Brand Bridge — layout for editable Front Page + list shortcodes.
 * Mock = structure only. Copy stays in the editor (SEO).
 * ------------------------------------------------------------------------- */

/* Quiet existing GB hero until the Front Page is rebuilt */
.gb-container-kp-home-hero,
.gb-container-kp-home-hero.gb-container,
.gb-container-kp-hero-inner {
  background: linear-gradient(180deg, var(--kp-surface-variant) 0%, var(--kp-bg) 70%) !important;
  background-image: none !important;
  color: var(--kp-text) !important;
  box-shadow: none !important;
}

.gb-container-kp-home-root {
  background: var(--kp-bg);
}

.kp-hero-badge {
  display: none !important;
}

.gb-container-kp-home-hero .kp-hero-title,
.gb-container-kp-home-hero h1 {
  color: var(--kp-text) !important;
  font-weight: 800;
}

.gb-container-kp-home-hero .kp-hero-desc {
  color: var(--kp-text-muted) !important;
}

.kp-tag-soon {
  display: none !important;
}


/* Front-page Brand Bridge UI lives in assets/css/brand-bridge-home.css (inc/brand-bridge-home.php). */

