/* VARIABLES */
:root {--midnight-navy: #191049;--light-blue: #e6e8f5;--white: #ffffff;--accent-pink: #ff3366;}


/* RESET & GLOBALS */
*, *::before, *::after {box-sizing: border-box;}
body, html {margin:0; padding:0; font-family: Arial, sans-serif; background-color: var(--light-blue); color: var(--midnight-navy); overflow-x: hidden; }
a {text-decoration: none;}


/* SITE HEADER */
header {position: fixed;top: 0;left: 0;width: 100%;background: var(--midnight-navy);display: flex;justify-content: space-between;align-items: center;padding: 10px 15px;z-index: 1000;box-shadow: 0 3px 8px rgba(0,0,0,0.45);}
body {padding-top: 72px;}
#logo-container {display: flex; align-items: center; gap: 10px; cursor: pointer;}
#logo {height: 50px;}
#logo-text h1 {font-size: 18px; margin: 0; white-space: nowrap; color: white;}
#logo-text p {font-size: 12px; margin: 2px 0 0; color: #cccccc; white-space: nowrap;}
.youth-logo {margin-top:-140px;margin-left: 640px;}
@media (max-width: 700px) {
.youth-logo {float: none; display: block;margin: 0 auto 20px auto;}}


/* BURGER MENU */
#burger {background: none; border: none; cursor: pointer;display: flex; flex-direction: column; gap: 4px; padding: 5px;}
#burger span {display: block; height: 3px; width: 22px; background: white; border-radius: 2px; transition: 0.3s; }


/* NAVIGATION */
nav {position: fixed;top: 68px;left: 0;width: 100%;background: var(--midnight-navy);display: none;flex-direction: column;border-bottom: 3px solid var(--accent-pink);z-index: 999;}
nav.active {display: flex;}
nav a {padding: 10px 20px;border-top: 1px solid rgba(255,255,255,0.1);font-size: 14px;color: white;cursor: pointer;transition: background 0.2s;}
nav a:hover,
nav a.current {background: rgba(255,51,102,0.15);color: var(--accent-pink);}
.members-link {border-top: 2px solid rgba(255,51,102,0.4) !important;color: #ff9999 !important;}
@media (min-width: 900px) {
nav {width: 300px;left: auto;right: 1px;border-radius: 0 0 8px 8px;box-shadow: 0 6px 18px rgba(0,0,0,.25);}}


/* PAGE SYSTEM */
main {color: var(--midnight-navy);padding: 40px 20px;max-width: 900px;margin: 0 auto;}


/* PAGE LOADING */
#page-home,
#page-shows,
#page-pastproductions {visibility: hidden;opacity: 0;transition: opacity .25s ease;}
#page-home.ready,
#page-shows.ready,
#page-pastproductions.ready {visibility: visible;opacity: 1;}


/* CONTENT CARDS */
.content-card {background: var(--white);padding: 25px;border-radius: 8px;box-shadow: 0 2px 10px rgba(0,0,0,0.08);margin-bottom: 20px;}
.content-card h2 {margin-top: 0;border-bottom: 2px solid var(--midnight-navy);padding-bottom: 10px;font-size: 20px;margin-bottom: 15px;}
.content-card p {line-height: 1.6; margin-bottom: 10px; font-size: 1em;}
.content-card a {color: var(--accent-pink); text-decoration: underline; font-weight: bold;}
.content-card ul {line-height: 1.8; color: var(--midnight-navy); margin-bottom: 15px; padding-left: 20px;}


/* HERO BANNER */
.hero {position: relative;height:160px;overflow:hidden;display:flex;align-items:flex-end;background:#191049;}
.hero-overlay {position: relative;z-index: 2;background: rgba(25,16,73,0.75);padding: 10px;margin: 10px;width: 90px;border-radius: 6px;}
.hero-overlay h1 {margin: 0;font-size: 14px;color: white;}
.hero-overlay p {margin: 4px 0 0;font-size: 9px;color: #ddd;}
.hero-track{position:absolute;inset:0;display:flex;transition:transform 1.1s ease-in-out;}
.hero-slide{min-width:100%;height:100%;background-size:cover;background-position:center;}
@media (min-width:700px){
.hero{height:220px;}}


/* SHOW CARDS */
.show-cards {display: flex;flex-wrap: wrap;justify-content: center;gap: 20px;padding: 40px 15px;}
.card {background: white;color: var(--midnight-navy);width: 250px;border-radius: 8px;overflow: hidden;text-align: center;box-shadow: 0 4px 10px rgba(0,0,0,0.1);}
.card img {width: 100%; height: 310px; object-fit: fill;}
.card h2 {font-size: 17px; margin: 12px 0 4px;}
.card p {font-size: 13px; margin-bottom: 15px; padding: 0 5px;}


/* BUTTONS */
.btn-book {display: inline-block;background-color: var(--accent-pink);color: #ffffff !important;padding: 10px 24px;margin: 10px 0 20px;border-radius: 25px;font-weight: bold;font-size: 14px;text-decoration: none !important;text-transform: uppercase;transition: all 0.3s ease;box-shadow: 0 4px 6px rgba(0,0,0,0.1);}
.btn-book:hover {background-color: #e62e5c; transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.15);}
.btn-tickets {align-self: flex-start;background: var(--accent-pink);color: white !important;padding: 13px 28px;border-radius: 5px;font-weight: bold;text-transform: uppercase;transition: all 0.3s ease;text-decoration: none !important;}
.btn-tickets:hover {background: var(--midnight-navy); transform: translateY(-2px);}
.btn-pdf {display: inline-block;background-color: var(--accent-pink);color: #ffffff !important;padding: 12px 25px;border-radius: 25px;text-decoration: none !important;font-weight: bold;text-transform: uppercase;font-size: 14px;transition: all 0.3s ease;box-shadow: 0 4px 6px rgba(0,0,0,0.1);}
.btn-pdf:hover {background-color: #e62e5c; transform: translateY(-2px);}


/* CURRENT PRODUCTIONS */
.show-card {background: var(--white);border-radius: 12px;box-shadow: 0 4px 20px rgba(0,0,0,.08);margin-bottom: 50px;overflow: hidden;display: flex;flex-direction: column;}
.show-poster img {width: 100%;height: auto;display: block;}
.show-info {padding: 25px;display: flex;flex-direction: column;}
.show-meta {font-size: .82rem;color: var(--midnight-navy);font-weight: 700;text-transform: uppercase;letter-spacing: 1.5px;margin-bottom: 6px;}
.show-title {font-size: 2rem;margin: 0 0 10px;color: var(--midnight-navy);line-height: 1.1;}
.show-dates {font-weight: 700;margin-bottom: 20px;color: #444;border-left: 4px solid var(--midnight-navy);padding-left: 12px;}
.show-content {flex: 1;}
.show-description-wrapper {position: relative;}
.show-description {color: #444;max-height: 9.5em;overflow: hidden;transition: max-height .3s ease;}
.show-description p {margin: 0 0 1rem;line-height: 1.6;}
.show-description p:last-child {margin-bottom: 0;}
.show-description p:not(:first-child) {display: none;}
.show-description-wrapper.expanded .show-description {max-height: 1000px;}
.show-description-wrapper.expanded .show-description p {display: block;}
.show-description-wrapper:not(.expanded) .show-description::after {content: "";position: absolute;left: 0;right: 0;bottom: 36px;height: 40px;background: linear-gradient(transparent, white);pointer-events: none;}
.show-description-wrapper.no-toggle .show-description::after {display: none;}
.show-description-toggle {display: block;width: 100%;border: 0;background: transparent;color: var(--midnight-navy);font-weight: 600;cursor: pointer;padding: 8px 0;text-align: center;}
.show-footer {margin-top: 20px;display: flex;justify-content: center;}
@media (min-width:700px) {
.show-card {display: grid;grid-template-columns: 300px 1fr;height: 460px;transition: height .3s ease;}
.show-card.expanded {height: auto;}
.show-poster {width: 300px;}
.show-poster img {width: 100%;height: 100%;object-fit: fill;}
.show-info {display: flex;flex-direction: column;padding: 25px;}
.show-content {flex: 1;overflow: hidden;}
.show-description {max-height: 225px;overflow: hidden;transition: max-height .3s ease;}
.show-description p:not(:first-child) {display: block;}
.show-description p:nth-child(n+3) {display: none;}
.show-description-wrapper.expanded .show-description {max-height: 1000px;}
.show-description-wrapper.expanded .show-description p {display: block;}
.show-description-wrapper:not(.expanded) .show-description::after {content: "";position: absolute;left: 0;right: 0;bottom: 36px;height: 40px;background: linear-gradient(transparent, white);}
.show-description-toggle {display: block;width: 100%;border: 0;background: transparent;color: var(--midnight-navy);font-weight: 600;cursor: pointer;padding: 8px 0;}
.show-footer {margin-top: auto;display: flex;justify-content: flex-start;}}


/* LOCATION & MAPS */
.map-wrapper {width: 100%;height: 420px;border-radius: 8px;overflow: hidden;box-shadow: 0 2px 10px rgba(0,0,0,0.2);}


/* MEMBERSHIP & SUPPORT */
.highlight-box {background: var(--midnight-navy);color: var(--white);padding: 15px;border-radius: 6px;margin-bottom: 20px;text-align: center;}
.jg-list {padding-left: 20px; margin-bottom: 20px;}
.jg-list li {margin-bottom: 8px; line-height: 1.4;}
.jg-button-row {display: flex;flex-direction: row;flex-wrap: wrap;justify-content: center;align-items: center;gap: 15px;margin-top: 25px;padding-top: 20px;border-top: 1px solid #eee;}
.jg-button-row img {height: 35px; width: auto;}


/* LINKS PAGE */
.link-list {list-style: none; padding: 0; margin: 0;}
.link-list li {border-bottom: 1px solid #eee; padding: 12px 0;}
.link-list li:last-child {border-bottom: none;}
.link-list a {color: var(--accent-pink); font-weight: bold; font-size: 1.05em; display: block;}
.link-list a:hover {text-decoration: underline;}


/*MAINTENANCE & ERRORS*/
.maintenance-wrapper {padding: 40px 20px;min-height: 60vh;display: flex;align-items: center;justify-content: center;}
.maintenance-box {max-width: 700px;background: #ffffff;color: #191049;padding: 30px;border-radius: 8px;text-align: center;box-shadow: 0 4px 10px rgba(0,0,0,0.1);}
.maintenance-box h1,
.maintenance-box h2 {color: #191049;}
.rhtc-info {font-size: 13px;line-height: 1.6;color: #eee;}


/* FOOTER */
footer {background: var(--midnight-navy); padding: 40px 20px; text-align: center;}
.social-icons {display: flex; justify-content: center; gap: 12px; margin-bottom: 20px;}
.social-icons img {width: 32px; height: 32px;}
.rhtc-info {font-size: 13px; line-height: 1.6; color: #eee;}

