/* Glowtone 0.2.0 – main styles */
@property --gt-ang{syntax:'<angle>';inherits:false;initial-value:0deg}

/* ---------- Colour presets ---------- */
body.gt-body,
html[data-gt-preset="blue-gold"] body.gt-body{
  --gt-bg:#020B27;--gt-surface:#031030;--gt-line:rgba(63,107,255,.35);
  --gt-text:#ffffff;--gt-muted:rgba(255,255,255,.72);
  --gt-accent:#0754E8;--gt-accent-hi:#2f7bff;--gt-accent2:#D8B88F;--gt-glow:rgba(7,84,232,.55);
  --gt-font-head:"Cormorant Garamond",Georgia,serif;--gt-font-body:"Montserrat",system-ui,sans-serif;
}
body.gt-preset-gold-dark,
html[data-gt-preset="gold-dark"] body.gt-body{
  --gt-bg:#0b0906;--gt-surface:#14100a;--gt-line:rgba(216,184,143,.35);
  --gt-accent:#D8B88F;--gt-accent-hi:#ecd2ac;--gt-accent2:#fff3e0;--gt-glow:rgba(216,184,143,.45);
}
body.gt-preset-neon-violet,
html[data-gt-preset="neon-violet"] body.gt-body{
  --gt-bg:#08051c;--gt-surface:#0e0a2a;--gt-line:rgba(124,58,237,.45);
  --gt-accent:#7c3aed;--gt-accent-hi:#a066ff;--gt-accent2:#22d3ee;--gt-glow:rgba(124,58,237,.55);
}

/* Visitor choice (data-gt-preset on <html>) wins over the Customizer preset. */

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.gt-body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--gt-bg);color:var(--gt-text);font:300 16px/1.8 var(--gt-font-body);-webkit-font-smoothing:antialiased}
a{color:var(--gt-accent2);text-decoration:none;transition:color .3s}
a:hover{color:var(--gt-accent-hi)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--gt-font-head);font-weight:300;line-height:1.1;margin:0 0 .5em;color:var(--gt-text)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.screen-reader-text:focus{clip:auto;width:auto;height:auto;background:#fff;color:#000;padding:10px 16px;z-index:100000;top:8px;left:8px}

.gt-main{flex:1 0 auto;width:100%}
.gt-footer{flex-shrink:0}
.gt-wrap{max-width:1180px;margin:0 auto;padding:150px 32px 90px}
.gt-wrap--narrow{max-width:820px}
.gt-center{text-align:center}
.gt-title{font-size:clamp(40px,6vw,76px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.4em}
.gt-lead{font-size:18px;color:var(--gt-muted)}
.gt-content>*{max-width:100%}
.gt-content p,.gt-content li{color:var(--gt-muted)}
.gt-hero-img{margin:0 0 40px;border-radius:10px;overflow:hidden;box-shadow:0 0 40px var(--gt-glow)}

/* ---------- Buttons ---------- */
.gt-btn,.wp-block-button__link,input[type=submit],button.gt-btn{display:inline-block;cursor:pointer;font:600 12px/1 var(--gt-font-body);letter-spacing:.26em;text-transform:uppercase;padding:20px 32px;border-radius:4px;color:#fff;background:var(--gt-accent);border:1px solid var(--gt-accent);box-shadow:0 0 28px var(--gt-glow);transition:.35s}
.gt-btn:hover,.wp-block-button__link:hover,input[type=submit]:hover{background:var(--gt-accent-hi);border-color:var(--gt-accent-hi);color:#fff;transform:translateY(-2px)}
.gt-btn--alt{background:transparent;border-color:var(--gt-accent2);color:var(--gt-accent2);box-shadow:none}
.gt-btn--alt:hover{background:var(--gt-accent2);color:var(--gt-bg)}

/* ---------- Forms ---------- */
input[type=text],input[type=email],input[type=search],input[type=url],input[type=tel],input[type=password],textarea,select{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--gt-line);border-radius:4px;color:var(--gt-text);padding:16px 18px;font:300 15px var(--gt-font-body)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gt-accent-hi);box-shadow:0 0 18px var(--gt-glow)}
.gt-search{display:flex;gap:12px;max-width:520px}

/* ---------- Header ---------- */
.gt-header{position:fixed;top:0;left:0;right:0;z-index:900;transition:.4s;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent)}
body.admin-bar .gt-header{top:32px}
.gt-header.is-scrolled{background:rgba(2,11,39,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--gt-line)}
.gt-header__in{max-width:1400px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gt-brand,.custom-logo-link{font:400 18px/1 var(--gt-font-body);letter-spacing:.34em;text-transform:uppercase;color:var(--gt-text)}
.custom-logo{max-height:48px;width:auto}
.gt-brand{display:inline-flex;align-items:center;gap:14px}
.gt-logo-mark{flex:none;filter:drop-shadow(0 0 10px var(--gt-glow))}

/* ---------- Colour switcher ---------- */
.gt-switcher{display:flex;gap:2px;align-items:center}
.gt-switcher__btn{width:36px;height:36px;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.gt-switcher__dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.5);transition:.3s}
.gt-switcher__btn:hover .gt-switcher__dot{transform:scale(1.15)}
.gt-switcher__btn[aria-pressed=true] .gt-switcher__dot{box-shadow:0 0 0 2px var(--gt-bg),0 0 0 4px var(--gt-accent2),0 0 16px var(--gt-glow)}
.gt-switcher__btn:focus-visible{outline:2px solid var(--gt-accent2);outline-offset:2px}
.gt-menu{list-style:none;margin:0;padding:0;display:flex;gap:34px;align-items:center}
.gt-menu a{font:500 12px/1 var(--gt-font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--gt-text);position:relative;padding:8px 0}
.gt-menu a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gt-accent2);transition:.35s}
.gt-menu a:hover::after,.gt-menu .current-menu-item>a::after{width:100%}
.gt-menu .sub-menu{display:none}
.gt-burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--gt-line);background:var(--gt-accent);box-shadow:0 0 22px var(--gt-glow);cursor:pointer;padding:0;position:relative}
.gt-burger i{position:absolute;left:14px;right:14px;height:2px;background:#fff;transition:.3s;display:block}
.gt-burger i:nth-of-type(1){top:16px}.gt-burger i:nth-of-type(2){top:22px}.gt-burger i:nth-of-type(3){top:28px}
.gt-header.open .gt-burger i:nth-of-type(1){top:22px;transform:rotate(45deg)}
.gt-header.open .gt-burger i:nth-of-type(2){opacity:0}
.gt-header.open .gt-burger i:nth-of-type(3){top:22px;transform:rotate(-45deg)}

@media(max-width:600px){.gt-brand,.custom-logo-link{font-size:13px;letter-spacing:.22em}.gt-header__in{padding:18px 20px}.gt-wrap{padding:120px 20px 70px}}
@media(max-width:900px){
  body.admin-bar .gt-header{top:46px}
  .gt-switcher{margin-left:auto}
  .gt-burger{order:3}
  .gt-burger{display:block}
  .gt-nav{position:fixed;inset:0;background:var(--gt-bg);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.4s;z-index:-1}
  .gt-header.open{-webkit-backdrop-filter:none;backdrop-filter:none}
  .gt-header.open .gt-nav{opacity:1;visibility:visible}
  .gt-menu{flex-direction:column;gap:26px;text-align:center}
  .gt-menu a{font-size:16px}
  .gt-header__in{position:relative;z-index:2}
}

/* ---------- Cards / grid ---------- */
.gt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px}
.gt-card{background:var(--gt-surface);border:1px solid var(--gt-line);border-radius:10px;overflow:hidden;transition:.4s}
.gt-card:hover{transform:translateY(-4px);box-shadow:0 0 34px var(--gt-glow)}
.gt-card__img img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gt-card__body{padding:24px}
.gt-card__date{font:500 11px/1 var(--gt-font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--gt-accent2)}
.gt-card__title{font-size:28px;margin:10px 0}
.gt-card__title a{color:var(--gt-text)}
.gt-card__excerpt p{color:var(--gt-muted);margin:0;font-size:15px}
.navigation.pagination{margin-top:50px;text-align:center}
.page-numbers{display:inline-block;padding:10px 16px;border:1px solid var(--gt-line);border-radius:4px;margin:0 3px;color:var(--gt-text)}
.page-numbers.current,.page-numbers:hover{background:var(--gt-accent);border-color:var(--gt-accent)}

/* ---------- Music: releases, artists, shows ---------- */
.gt-title--sm{font-size:clamp(34px,5vw,60px)}
.gt-genres{margin:0 0 18px;font:500 11px/1.6 var(--gt-font-body);letter-spacing:.2em;text-transform:uppercase}
.gt-grid--portrait{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.gt-card--portrait .gt-card__img img{aspect-ratio:3/4}
.gt-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}
.gt-split__img img{width:100%;border-radius:10px;box-shadow:0 0 50px var(--gt-glow)}
.gt-audio{margin:0 0 28px}
.gt-audio audio{width:100%;border-radius:30px;color-scheme:dark}
.gt-tabs{display:flex;gap:12px;margin:0 0 36px}
.gt-tabs a{font:600 11px/1 var(--gt-font-body);letter-spacing:.24em;text-transform:uppercase;padding:14px 22px;border:1px solid var(--gt-line);border-radius:4px;color:var(--gt-text)}
.gt-tabs a.is-active,.gt-tabs a:hover{background:var(--gt-accent);border-color:var(--gt-accent);color:#fff}
.gt-shows{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.gt-show{display:grid;grid-template-columns:90px 1fr auto;gap:28px;align-items:center;padding:22px 28px;background:var(--gt-surface);border:1px solid var(--gt-line);border-radius:10px;transition:.4s}
.gt-show:hover{box-shadow:0 0 30px var(--gt-glow)}
.gt-show__date{text-align:center;line-height:1}
.gt-show__date strong{display:block;font:300 44px/1 var(--gt-font-head);color:var(--gt-accent2)}
.gt-show__date span{font:500 10px/1 var(--gt-font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gt-muted)}
.gt-show__title{font-size:28px;margin:0 0 4px}
.gt-show__title a{color:var(--gt-text)}
.gt-show__meta{font-size:14px;color:var(--gt-muted)}
@media(max-width:800px){.gt-split{grid-template-columns:1fr;gap:32px}.gt-show{grid-template-columns:70px 1fr;gap:18px}.gt-show .gt-btn{grid-column:1/-1;text-align:center}}

/* ---------- Comments ---------- */
.gt-comments{margin-top:70px}
.gt-comments__list{list-style:none;padding:0}
.gt-comments__list li{border-top:1px solid var(--gt-line);padding:22px 0}

/* ---------- Footer ---------- */
.gt-footer{border-top:1px solid var(--gt-line);background:linear-gradient(180deg,var(--gt-bg),#000);padding:60px 32px;text-align:center}
.gt-footer__in{max-width:1180px;margin:0 auto;display:grid;gap:22px;justify-items:center}
.gt-footer__brand{font:400 16px/1 var(--gt-font-body);letter-spacing:.4em;text-transform:uppercase}
.gt-footer__menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:26px;justify-content:center}
.gt-footer__menu a{font:500 11px/1 var(--gt-font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gt-muted)}
.gt-footer__copy{font-size:12px;color:var(--gt-muted)}
.gt-up{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;border:1px solid var(--gt-line);background:var(--gt-accent);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 0 24px var(--gt-glow);opacity:0;visibility:hidden;transition:.35s;z-index:800}
.gt-up.show{opacity:1;visibility:visible}

/* ---------- Preloader ---------- */
.gt-preloader{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(700px 500px at 50% 45%,var(--gt-glow),transparent 70%),var(--gt-bg);transition:opacity .7s ease,visibility .7s}
.gt-preloader.done{opacity:0;visibility:hidden}
.gt-preloader__inner{display:grid;gap:18px;justify-items:center}
.gt-preloader__name{font:400 14px/1 var(--gt-font-body);letter-spacing:.5em;text-transform:uppercase;color:var(--gt-text)}
.gt-preloader__tag{font:italic 300 clamp(24px,5vw,38px)/1.1 var(--gt-font-head);color:var(--gt-accent2);animation:gt-pulse 2.2s ease-in-out infinite}
.gt-preloader__ring{width:60px;height:60px;border-radius:50%;margin-top:14px;background:conic-gradient(from var(--gt-ang),transparent 0 55%,var(--gt-accent-hi));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:gt-spin 1.1s linear infinite}
@keyframes gt-spin{to{--gt-ang:360deg}}
@keyframes gt-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.gt-preloader{display:none}}

/* ---------- WooCommerce basics ---------- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--gt-surface);border:1px solid var(--gt-line);border-radius:10px;padding:18px;text-align:center}
.woocommerce .price,.woocommerce-Price-amount{color:var(--gt-accent2)}
.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit{background:var(--gt-accent);color:#fff;border-radius:4px;letter-spacing:.2em;text-transform:uppercase;font-size:12px;box-shadow:0 0 22px var(--gt-glow)}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--gt-accent-hi);color:#fff}
