/* SDL-home - Minimal static adaptation of kentha qt-main.css + materialize essentials */
/* Stripped of WP/PHP specifics, js_composer, heavy animations. Dark music theme. */

:root {
	--qt-primary: #111;
	--qt-accent: #ff3a75;
	--qt-text: #ddd;
	--qt-muted: #888;
}

* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background:#000; color:var(--qt-text); line-height:1.5; }
a { color: #ff3a75; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width:100%; height:auto; display:block; }
hr { border: none; border-top: 1px solid #333; }

/* Materialize grid basics (trimmed) */
.qt-container, .qt-container-l { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
.row { display: flex; flex-wrap: wrap; margin: 0 -0.75rem; }
.col { padding: 0 0.75rem; flex: 1; }
.col.s12 { width:100%; flex:none; }
@media (min-width: 600px) { .col.m6 { width:50%; flex:none; } .col.m4 { width:33.333%; flex:none;} }
@media (min-width: 992px) { .col.l4 { width:33.333%; flex:none; } }

/* Text FX approximations (tokyo/newyork from shortcode) */
.qt-textfx-wrap { font-weight:700; letter-spacing: 2px; }
.qt-txtfx { position:relative; display:inline-block; }
.qt-txtfx--tokyo { color:#fff; }
.qt-txtfx--tokyo::before { content: attr(data-letters); position:absolute; left:0; top:0; color:#ff3a75; mix-blend-mode: difference; }
.qt-txtfx--newyork { color:rgba(255,255,255,0.21); position:relative; }
.qt-txtfx--newyork span::before { content: attr(data-letters); position:absolute; left:0; top:-2px; color:#fff; opacity:0.6; }

/* Buttons qt-btn */
.qt-btn { display:inline-block; padding: 0.6rem 1.5rem; border:1px solid #ff3a75; color:#fff; background:transparent; font-size:0.9rem; cursor:pointer; text-transform:uppercase; letter-spacing:1px; transition: all .2s; }
.qt-btn:hover { background:#ff3a75; color:#000; text-decoration:none; }
.qt-btn-l { padding:0.8rem 2rem; font-size:1rem; }
.qt-btn-ghost { border-color:#fff; }
.qt-btn-secondary { background:#8224e3; border-color:#8224e3; }
.qt-btn-primary { background:#ff3a75; border-color:#ff3a75; color:#fff; }

/* Cards & releases */
.qt-card, .qt-paper { background:#111; color:#ddd; border:1px solid #222; }
.qt-release-featured { box-shadow: 0 4px 20px rgba(0,0,0,0.6); }
.qt-details { color:#888; font-size:0.85em; display:block; }

/* Sections & hero */
.qt-section { padding:3rem 0; }
.qt-hero { min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.qt-fullheight { min-height:100vh; }

/* Event */
.qt-event-featured { background:rgba(20,20,20,0.8); }
.qt-countdown { font-family:monospace; color:#ff3a75; }

/* Podcast cards */
.qt-podcast .qt-card { transition: transform .2s; }
.qt-podcast .qt-card:hover { transform: translateY(-4px); }

/* Form */
.qt-booking-form input, .qt-booking-form textarea { font:inherit; color:inherit; border-radius:2px; }
.qt-booking-form button { margin-top:0.5rem; }

/* Nav */
.qt-menubar { background:#000; border-bottom:1px solid #222; position:sticky; top:0; z-index:100; }
.qt-desktopmenu { display:flex; align-items:center; list-style:none; margin:0; padding:0.5rem 0; gap:1.5rem; }
.qt-desktopmenu .qt-logo-link img { vertical-align:middle; }
.qt-desktopmenu a { color:#ccc; padding:0.3rem 0.5rem; }
.qt-desktopmenu a:hover { color:#fff; }
.qt-mobilemenu { background:#111; padding:0.5rem; display:flex; align-items:center; gap:1rem; font-size:0.9rem; }

/* Misc */
.qt-capseparator { width:60px; height:1px; background:#ff3a75; display:block; margin:0.5rem auto; }
.qt-center { text-align:center; }
.qt-container-l { max-width:1280px; margin:0 auto; padding:0 1rem; }

/* Footer */
.qt-footercontainer { background:#111; }
.qt-copyright-text { margin:0; font-weight:normal; color:#666; }

/* Audio */
audio { width:100%; height:34px; background:#222; }

/* Responsive tweaks + materialize hide-on-xl-only equiv */
.hide-on-xl-only { display: none; }

@media (max-width: 992px) {
	.hide-on-xl-only { display: block; }
	.qt-desktopmenu { display: none; } /* hide desktop only on tablets/phones; show on laptops (>992px) */
}

@media (max-width:600px) {
	.qt-desktopmenu li:not(.qt-logo-link) { display:none; }
	.qt-hero h2 { font-size:2.5rem !important; }
}

/* Additional qt- classes ported from qt-main to reduce inline reliance */
.qt-clearfix:after { content: ""; display: table; clear: both; }
.qt-main-contents { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.qt-fontsize-h1 { font-size: 3rem; line-height: 1.1; }
.qt-dark { background: #000; color: #ddd; }
.qt-fullheight { min-height: 100vh; }
.qt-relative { position: relative; }

/* Ported from qt-main for hero / cards / parallax approx (reduce inline) */
.qt-hero { background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; display: flex; align-items: center; min-height: 100vh; }
.qt-hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.45); }
.qt-card { box-shadow: 0 5px 18px rgba(0, 0, 0, 0.5); border-radius: 4px; overflow: hidden; }
.qt-paper { background: #111; }
.qt-sectiontitle { position: relative; display: inline; padding-right: 10px; font-weight: 200; color: #fff; }
.qt-release-featured { box-shadow: 0 4px 20px rgba(0,0,0,0.6); }
.qt-btn { line-height: 1.15em; }
.qt-slickslider-outercontainer { overflow: hidden; }

/* Additional extracted styles to reduce inline in HTML (from qt-main and structure) */
.qt-hero { min-height: 100vh; display: flex; align-items: center; position: relative; background-size: cover; background-position: center; }
.qt-hero-blueplanet { background-image: url('../assets/img/blueplanet-1.jpg'); }
.qt-hero > .qt-container { position: relative; z-index: 2; text-align: center; color: #fff; padding: 5% 1rem; }
.qt-release-card { width: 100%; max-width: 520px; background: #111; color: #ddd; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 4px 20px rgba(0,0,0,0.6); }
.qt-release-card .row { display: flex; flex-wrap: wrap; }
.qt-release-card img { width: 100%; display: block; }
.qt-release-card .content { flex: 1; padding: 1rem; min-width: 180px; }
.qt-release-card h4 a { color: #ff3a75; }
.qt-release-card .meta { color: #aaa; font-size: 0.9em; }
.qt-release-card .desc { font-size: 0.85em; line-height: 1.4; }
.qt-release-card .player { width: 100%; padding: 0 1rem 1rem; background: #0a0a0a; }
.qt-card { background: #111; color: #ddd; border-radius: 3px; padding: 1rem; }
.qt-podcast .qt-card { transition: transform .2s; }
.qt-podcast .qt-card:hover { transform: translateY(-4px); }
.qt-event-box { max-width: 700px; margin: 2rem auto; background: rgba(0,0,0,0.6); padding: 2rem; border-radius: 4px; color: #ddd; text-align: center; }
.qt-booking-box { background: #111; padding: 2rem; border-radius: 4px; }
.qt-form-input { width: 100%; padding: 0.6rem; background: #222; border: 1px solid #333; color: #eee; border-radius: 2px; font: inherit; margin-bottom: 1rem; }
.qt-form-textarea { width: 100%; padding: 0.6rem; background: #222; border: 1px solid #333; color: #eee; border-radius: 2px; font: inherit; }
.qt-upcoming li { padding: 0.6rem 0; border-bottom: 1px solid #222; color: #ccc; }
.qt-upcoming a { float: right; color: #ff3a75; }

/* Atomic extraction: rules to eliminate all inline style= from index.html */
.qt-logo-link-img { max-height: 31px; vertical-align: middle; }
.qt-buttons { max-width: 800px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.qt-row { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; }
.qt-flex1 { flex: 1; min-width: 180px; }
.qt-player { width: 100%; padding: 0 1rem 1rem; background: #0a0a0a; }
.qt-list-ul { list-style: none; padding: 0; margin: 0.5rem 0; }
.qt-color-888 { color: #888; }
.qt-font-075 { font-size: 0.75em; color: #888; }
.qt-margin-top-05 { margin-top: 0.5rem; }
.qt-btn-small { margin-top: 0.5rem; display: inline-block; font-size: 0.8em; }
.qt-text-center { text-align: center; }
.qt-text-center-888 { text-align: center; color: #888; margin-bottom: 2rem; }
.qt-margin-top-3 { margin-top: 3rem; opacity: 0.8; }
.qt-margin-top-03 { margin-top: 0.3rem; }
.qt-margin-bottom-2 { margin-bottom: 2rem; }
.qt-social-ul { list-style: none; padding: 0; margin-bottom: 0.5rem; display: flex; justify-content: center; gap: 1rem; }
.qt-social-link { color: #888; }
.qt-fullwidth { width: 100%; }
.qt-font-085 { font-size: 0.85em; }
.qt-form-note { font-size: 0.7em; text-align: center; color: #555; margin-top: 0.5rem; }
.qt-footer-style { background:#000; color:#666; padding:2rem 0; text-align:center; font-size:0.8em; }
.qt-color-fff { color: #fff; }
.qt-hero-h2 { color: #fff; font-size: 4rem; position: relative; display: inline-block; }
.qt-margin-bottom-2 { margin-bottom: 2rem; }
.qt-margin-top-3 { margin-top: 3rem; }
.qt-opacity-08 { opacity: 0.8; }
.qt-music-bg { background: #000; padding: 4rem 0; }
.qt-section-pad { padding: 4rem 0; }
.qt-upcoming-max { max-width: 800px; margin: 0 auto; color: #ccc; }
.qt-upcoming-h3 { color: #fff; margin-bottom: 1rem; }
.qt-upcoming-li { padding: 0.6rem 0; border-bottom: 1px solid #222; }
.qt-booking-max { max-width: 700px; margin: 0 auto; }
.qt-booking-pad { padding: 2rem; border-radius: 4px; }