/*Theme Name: Chipmunk Hub TemplateTheme URI: https://example.com/Author: CustomDescription: Responsive WordPress theme/template with centered content, no sidebar, Bowlby One SC navigation, and red hover nav links.Version: 1.0License: GPLv2 or laterText Domain: chipmunk-hub*/
 @import url('https://fonts.googleapis.com/css2?family=Bowlby+One+SC&display=swap');
 :root {
     --nav-color: #666666;
     --nav-hover: #d71920;
     --content-bg: #eeeeee;
     --season-pink: #ff1c58;
     --season-active: #d62828;
}
 *,*::before,*::after {
     box-sizing: border-box;
}
 html {
     margin: 0;
     padding: 0;
     max-width: 100%;
     overflow-x: hidden;
}
 body {
     margin: 0;
     padding: 0;
     min-width: 320px;
     max-width: 100%;
     overflow-x: hidden;
     background: #ffffff;
     color: #222222;
     font-family: Arial, Helvetica, sans-serif;
     line-height: 1.6;
}
 a {
     color: inherit;
}
 img {
     max-width: 100%;
     height: auto;
}
/* Layout */
 .site-wrap {
     width: min(var(--page-width), calc(100% - 48px));
     margin: 0 auto;
}
 .site-header {
     padding: 5px;
     margin-bottom: 50px;
     margin-top: 25px;
}
 .header-inner {
     display: flex;
     align-items: center;
     gap: 56px;
}
 .site-logo {
     display: block;
     width: 260px;
     max-width: 34vw;
     line-height: 0;
}
 .site-logo img {
     display: block;
     max-width: 123%;
     height: auto;
}
 .site-title-text {
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-size: 28px;
     text-decoration: none;
     color: #333333;
}
 .site-main {
     min-height: 870px;
     width: 67%;
     max-width: 1270px;
     padding: 5px;
     margin-bottom: 40px;
}
 .post,.page {
     max-width: 100%;
}
 .entry-title,.page-title {
     margin-top: 0;
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-weight: normal;
}
 .site-footer {
     padding: 22px 0 34px;
     text-align: center;
     color: #777777;
     font-size: 14px;
}
/* Navigation */
 .menu-toggle {
     display: none;
     margin-left: auto;
     border: 0;
     background: transparent;
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-size: 32px;
     cursor: pointer;
}
 .main-navigation {
     flex: 1;
     text-align: center;
}
 .main-navigation ul {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 0;
     margin: 0;
     padding: 0;
     list-style: none;
     justify-content: center;
     align-content: center;
}
 .main-navigation li {
     display: flex;
     align-items: center;
     margin-top: 10px;
}
 .main-navigation li:not(:last-child)::after {
     content: "•";
     margin: 12px;
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-size: 10px;
     color: #555555;
}
 .main-navigation a {
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-size: clamp(16px, 2vw, 16px);
     line-height: 1;
     color: var(--nav-color);
     text-decoration: none;
     text-transform: uppercase;
     white-space: nowrap;
     transition: color 0.18s ease;
}
 .main-navigation a:hover,.main-navigation a:focus,.main-navigation .current-menu-item > a,.main-navigation .current_page_item > a {
     color: var(--nav-hover);
     transform: translateY(-3px);
     filter: brightness(1.14);
}
 .main-navigation .current-menu-item > a,.main-navigation .current_page_item > a {
     text-decoration: underline;
     text-underline-offset: 6px;
}
/* WordPress core helpers */
 .aligncenter {
     display: block;
     margin-left: auto;
     margin-right: auto;
}
 .alignleft {
     float: left;
     margin-right: 1.5em;
}
 .alignright {
     float: right;
     margin-left: 1.5em;
}
 .wp-caption {
     max-width: 100%;
}
/* Show page / season buttons */
 .season-tabs,.season-buttons {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 18px;
     width: 100%;
     max-width: 100%;
     margin: 20px 0 40px;
     padding: 0;
}
 .season-btn {
     flex: 0 0 auto;
     width: 128px;
     max-width: 100%;
     padding: 18px 20px;
     border: 0;
     border-radius: 10px;
     background: var(--season-pink);
     color: #ffffff;
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-size: 15px;
     line-height: 1.15;
     text-align: center;
     text-transform: uppercase;
     cursor: pointer;
     transition: background-color 0.18s ease, color 0.18s ease;
}
 .season-btn:hover {
     background: #00AD87;
     color: #ffffff;
}
 .season-btn.active {
     background: var(--season-active);
     color: #ffffff;
}
 .episode-btn {
     flex: 0 0 auto;
     width: 21%;
     max-width: 100%;
     padding: 15px;
     border: 0;
     border-radius: 10px;
     background: #00AD87;
     color: #ffffff;
     font-family: "Bowlby One SC", Arial, sans-serif;
     font-size: 14px;
     line-height: 1.15;
     text-align: center;
     text-transform: uppercase;
     cursor: pointer;
     transition: background-color 0.18s ease, color 0.18s ease;
}
 .episode-btn:hover {
     background: #00AD87;
     color: #ffffff;
}
 .episode-btn.active {
     background: var(--season-active);
     color: #ffffff;
}
/* Season visibility */
 .season-section {
     display: none;
}
 .season-section.active {
     display: block;
}
/* Episode cards */
 .cards {
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 34px;
     width: 100%;
     max-width: 100%;
     margin: 0 0 24px;
     padding: 0;
}
 .card {
     width: 100%;
     min-width: 0;
     max-width: none;
     margin: 0;
     overflow: hidden;
     background: #ffffff;
     border-radius: 16px;
     text-align: center;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
 .card:hover {
     transform: translateY(-3px);
     filter: brightness(1.14);
}
 .card img {
     display: block;
     width: 100%;
     max-width: 100%;
     height: 300px;
     object-fit: cover;
     border-radius: 0;
}
 .card-content {
     padding: 20px;
}
 .card-content p {
     margin: 0 0 8px;
     color: #f63b5b;
     font-size: 14px;
     font-weight: 800;
     line-height: 1.35;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     overflow-wrap: anywhere;
}
 .card-content h2 {
     margin: 0;
     font-size: 16px;
     line-height: 1.3;
}
 .card-content a {
     display: block;
     color: #00bdf2;
     font-size: 16px;
     line-height: 1.35;
     text-decoration: none;
     overflow-wrap: anywhere;
     word-break: normal;
}
 .card-content a:hover,.card-content a:focus {
     color: #d71920;
}
/* Tablet */
 @media (max-width: 1099px) {
     .cards {
         grid-template-columns: repeat(2, minmax(0, 1fr));
    }
     .card img {
         height: 260px;
    }
}
 @media (max-width: 980px) {
     .site-header {
         padding: 24px 0 22px;
    }
     .header-inner {
         gap: 20px;
         flex-wrap: wrap;
    }
     .site-logo {
         width: 280px;
         max-width: 70vw;
    }
     .menu-toggle {
         display: block;
    }
     .main-navigation {
         width: 100%;
         flex-basis: 100%;
         display: none;
    }
     body.nav-open .main-navigation {
         display: block;
    }
     .main-navigation ul {
         display: block;
         text-align: center;
    }
     .main-navigation li {
         display: block;
         border-top: 1px solid #e4e4e4;
    }
     .main-navigation li:not(:last-child)::after {
         content: none;
    }
     .main-navigation a {
         display: block;
         padding: 15px 0;
         font-size: 24px;
    }
     .site-main {
         min-height: 580px;
         width: 100%;
         padding: 28px;
    }
}
/* Phone */
 @media (max-width: 600px) {
     .season-tabs,.season-buttons {
         display: grid;
         grid-template-columns: repeat(1, minmax(0, 1fr));
         gap: 12px;
         margin: 16px 0 28px;
    }
     .season-btn {
         width: 100%;
         min-width: 0;
         padding: 14px 10px;
         font-size: 20px;
    }
     .episode-buttons {
         display: grid;
         grid-template-columns: repeat(1, minmax(0, 1fr));
         gap: 12px;
         margin: 16px 0 28px;
    }
     .episode-btn {
         width: 100%;
         min-width: 0;
         padding: 14px 10px;
         font-size: 20px;
    }
     .cards {
         grid-template-columns: 1fr;
         gap: 24px;
    }
     .card img {
         height: auto;
    }
}
 @media (max-width: 520px) {
     .site-wrap {
         width: min(100% - 24px, var(--page-width));
    }
     .site-logo {
         width: 230px;
    }
     .menu-toggle {
         font-size: 32px;
    }
     .site-main {
         min-height: 440px;
         width: 100%;
         padding: 20px;
    }
     .card {
         max-width: 100%;
    }
}
 @media (max-width: 1450px) {
     .site-main {
         min-height: 440px;
         width: 90%;
         padding: 20px;
    }
}
 @media (min-width: 1650px) {
     .main-navigation a {
         font-family: "Bowlby One SC", Arial, sans-serif;
         font-size: clamp(20px, 2vw, 20px);
         line-height: 1;
         color: var(--nav-color);
         text-decoration: none;
         text-transform: uppercase;
         white-space: nowrap;
         transition: color 0.18s ease;
    }
}
 .banner-desktop,.banner-mobile {
     width: 100%;
     height: auto;
     display: block;
}
 .banner-mobile {
     display: none;
}
 @media screen and (max-width: 768px) {
     .banner-desktop {
         display: none;
    }
     .banner-mobile {
         display: block;
    }
}
 .season-toggle {
     display: none;
     background: #f63b5b;
     color: white;
     border: none;
     padding: 15px 25px;
     border-radius: 12px;
     font-weight: bold;
     font-size: 18px;
}
 .season-menu {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 18px;
     margin: 35px;
     border-bottom: 1px;
     border-bottom-color: black;
     border-bottom-style: solid;
     padding-bottom: 35px;
}
 .season-menu button {
     background: #f63b5b;
     color: white;
     border: none;
     border-radius: 12px;
}
 .season-menu button:hover {
     transform: translateY(-3px);
     filter: brightness(1.14);
}
 .season-toggle {
     display: none;
     background: #f63b5b;
     color: white;
     border: none;
     padding: 15px 25px;
     border-radius: 12px;
     font-weight: bold;
     font-size: 18px;
}
 .episode-toggle {
     display: none;
     background: #00AD87;
     color: white;
     border: none;
     padding: 15px 25px;
     border-radius: 12px;
     font-weight: bold;
     font-size: 18px;
}
 .episode-menu {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 1%;
}
 .episode-menu button {
     background: #00AD87;
     color: white;
     border: none;
     border-radius: 12px;
}
 .episode-menu button:hover {
     transform: translateY(-3px);
     filter: brightness(1.14);
}
 @media (max-width: 768px) {
     .season-toggle {
         display: block;
         margin: 25px auto;
    }
     .season-menu {
         display: none;
         flex-direction: column;
         align-items: center;
         gap: 0px;
    }
     .season-menu.active {
         display: flex;
    }
     .season-menu button {
         width: 80%;
    }
     .episode-toggle {
         display: block;
         margin: 25px auto;
    }
     .episode-menu {
         display: none;
         flex-direction: column;
         align-items: center;
         gap: 0px;
    }
     .episode-menu.active {
         display: flex;
    }
     .episode-menu button {
         width: 80%;
    }
}
 .hero-banner {
     background: #ef3f5a;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding-left: 60px;
     padding-right: 60px;
     gap: 35px;
}
 .hero-logo img {
     max-width: 393px;
     width: 100%;
     min-width: 240px;
     /* width: 48vw; */
     /* height: auto; */
     display: block;
     /* padding-left: 34px; */
}
 .hero-text {
     color: white;
     text-align: center;
     font-family: Arial, Helvetica, sans-serif;
     font-weight: 800;
     flex: 1;
     /* padding: 20px; */
     margin-top: 20px;
     margin-bottom: 20px;
}
 .hero-text p {
     font-size: 22px;
     margin: 0 0 16px;
     font-weight: 800;
}
 .hero-text h1 {
     font-size: clamp(42px, 4vw, 76px);
     line-height: 1.12;
     margin: 0;
     font-weight: 900;
}
 @media (max-width: 768px) {
     .hero-banner {
         flex-direction: column;
         padding: 10px;
    }
 }

.episode-synopsis {
  background: #f3f2f2;
  padding: 32px 40px;
  max-width: 1100px;
  margin: 40px auto;
  font-family: Arial, Helvetica, sans-serif;
}

.episode-synopsis h2 {
  margin: 0 0 15px;
  font-size: 20px;
  font-weight: 700;
  color: #111;
}

.synopsis-item + .synopsis-item {
  margin-top: 17px;
}

.synopsis-item h3 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: #111;
}

.synopsis-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #222;
}