/* wsl-legacy - custom styles beyond theme.json (brand motifs, hero, cards).
   Colors/spacing come from theme.json presets via CSS variables. */

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--wp--preset--color--teal);color:var(--wp--preset--color--midnight)}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--wp--preset--color--orange);outline-offset:3px;border-radius:4px}
.wp-block-button__link{transition:background-color .2s,box-shadow .2s,transform .2s}
.wp-block-button__link:hover{box-shadow:var(--wp--preset--shadow--glow-orange);transform:translateY(-2px)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--wp--preset--color--teal);border:2px solid var(--wp--preset--color--teal)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--teal);color:var(--wp--preset--color--midnight);box-shadow:var(--wp--preset--shadow--glow-teal)}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=search],textarea,select{background:var(--wp--preset--color--surface);color:var(--wp--preset--color--text);border:1px solid rgba(185,178,214,.35);border-radius:10px;padding:.75rem 1rem;font:inherit;width:100%;box-sizing:border-box}
input::placeholder,textarea::placeholder{color:var(--wp--preset--color--muted);opacity:1}
label{font-weight:600}

/* ---------- Brand motif: the STITCH (dashed seam) ---------- */
.is-style-stitched{border:var(--wp--custom--stitch);border-radius:var(--wp--custom--radius--card);position:relative}
.is-style-stitched::before{content:'';position:absolute;inset:6px;border:1px dashed rgba(155,48,255,.45);border-radius:calc(var(--wp--custom--radius--card) - 6px);pointer-events:none}
.wp-block-separator.is-style-stitch{border:0;height:0;border-top:var(--wp--custom--stitch);background:none;max-width:var(--wp--style--global--content-size)}
.is-style-glass{background:rgba(17,8,64,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,229,204,.25);border-radius:var(--wp--custom--radius--card)}
.wsl-card{background:var(--wp--preset--color--surface);border:1px solid rgba(185,178,214,.18);border-radius:var(--wp--custom--radius--card);transition:transform .25s,border-color .25s,box-shadow .25s;height:100%}
.wsl-card:hover{transform:translateY(-4px);border-color:rgba(0,229,204,.55);box-shadow:var(--wp--preset--shadow--glow-teal)}
.wsl-eyebrow{font-family:var(--wp--preset--font-family--orbitron);font-size:.8125rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--wp--preset--color--teal)}
.wsl-gradient-text{background:var(--wp--preset--gradient--teal-purple);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ---------- Hero: layered glow + faint seam grid ---------- */
.wsl-hero{background:radial-gradient(60% 55% at 85% 10%,rgba(155,48,255,.38),transparent 70%),radial-gradient(50% 50% at 8% 90%,rgba(0,229,204,.22),transparent 70%),linear-gradient(rgba(0,229,204,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(0,229,204,.05) 1px,transparent 1px) 0 0/48px 48px,var(--wp--preset--color--midnight)}
.wsl-band{background:linear-gradient(120deg,rgba(155,48,255,.35),rgba(0,229,204,.18)),var(--wp--preset--color--surface)}
.wsl-header{position:sticky;top:0;z-index:50;background:rgba(6,0,26,.82);border-bottom:1px solid rgba(0,229,204,.18)}
/* blur lives on a pseudo-element: backdrop-filter on the header itself would trap the fixed mobile menu overlay inside it */
.wsl-header::before{content:'';position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}
.admin-bar .wsl-header{top:32px}
.wsl-price-featured{border-color:var(--wp--preset--color--orange)!important;box-shadow:var(--wp--preset--shadow--glow-orange)}
.wsl-tag{display:inline-block;padding:.2rem .7rem;border:1px solid rgba(0,229,204,.45);border-radius:999px;font-size:.8125rem;color:var(--wp--preset--color--teal)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
		

/* ---------- Layout helpers used by the patterns ---------- */
.wsl-section{padding-block:var(--wp--preset--spacing--60)}
.wsl-section-lg{padding-block:var(--wp--preset--spacing--70)}
.wsl-pad{padding:var(--wp--preset--spacing--50)}
.wsl-card{padding:var(--wp--preset--spacing--40);box-sizing:border-box}
.wsl-grid{gap:var(--wp--preset--spacing--40);margin-top:var(--wp--preset--spacing--50)}
.wsl-band-soft{background:linear-gradient(180deg,transparent,rgba(17,8,64,.7) 20%,rgba(17,8,64,.7) 80%,transparent)}
.wsl-main>:first-child{margin-block-start:0}
.wsl-proof{margin-top:var(--wp--preset--spacing--40);gap:.6rem}
.wsl-proof p{margin:0}
.wsl-thumb{aspect-ratio:16/10;border-radius:10px;margin-bottom:1rem;background:radial-gradient(70% 90% at 80% 20%,rgba(155,48,255,.55),transparent 70%),radial-gradient(60% 80% at 10% 90%,rgba(0,229,204,.4),transparent 70%),var(--wp--preset--color--surface-high);border:1px solid rgba(0,229,204,.2)}
.wsl-project h3 a{color:var(--wp--preset--color--text);text-decoration:none}
.wsl-project h3 a:hover{color:var(--wp--preset--color--teal)}
.wsl-stats{gap:var(--wp--preset--spacing--40);margin-top:var(--wp--preset--spacing--40)}
.wsl-stat{font-family:var(--wp--preset--font-family--orbitron);font-weight:800;font-size:var(--wp--preset--font-size--x-large);line-height:1.1;color:var(--wp--preset--color--orange);margin:0}
.wsl-checklist{list-style:none;padding:0;margin:0}
.wsl-checklist li{position:relative;padding-left:1.6rem;margin-block:.6rem}
.wsl-checklist li::before{content:'';position:absolute;left:0;top:.7em;width:.9rem;border-top:2px dashed var(--wp--preset--color--teal)}
.wsl-quote{border:0!important;padding:0!important}
.wsl-quote cite{font-style:normal;color:var(--wp--preset--color--teal);font-family:var(--wp--preset--font-family--orbitron);font-size:.875rem;letter-spacing:.08em}

/* ---------- Header / footer ---------- */
.wsl-header__inner{padding-block:.85rem;gap:1rem}
.wsl-header__right{gap:1.5rem}
.wsl-header__cta .wp-block-button__link{padding:.6rem 1.2rem;font-size:.8125rem}
@media (max-width:781px){.wsl-header .wsl-header__cta{display:none!important}}
.wsl-footer{padding-block:var(--wp--preset--spacing--50)}
.wsl-footer__list{list-style:none;padding:0;margin:0}
.wsl-footer__list li{margin-block:.5rem}
.wsl-footer__list a,.wsl-footer__legal a{color:var(--wp--preset--color--text);text-decoration:none}
.wsl-footer__list a:hover,.wsl-footer__legal a:hover{color:var(--wp--preset--color--teal);text-decoration:underline}
.wsl-footer__legal{margin-top:var(--wp--preset--spacing--40)}

/* No default gap between header / main / footer (sections manage their own spacing) */
.wp-site-blocks>*{margin-block-start:0!important}

/* ---------- Project blocks (rendered by the wsl-core mu-plugin) ---------- */
.wsl-details{margin-block:var(--wp--preset--spacing--40)}
.wsl-details__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem 2rem;margin:0}
.wsl-details__meta dt{font-family:var(--wp--preset--font-family--orbitron);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--teal)}
.wsl-details__meta dd{margin:.25rem 0 0}
.wsl-details__h{font-size:var(--wp--preset--font-size--large)!important;margin-top:var(--wp--preset--spacing--40)}
.wsl-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin-block:var(--wp--preset--spacing--40)}
.wsl-gallery figure{margin:0}
.wsl-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--wp--custom--radius--card);border:1px solid rgba(0,229,204,.2);display:block}
.wsl-card .wp-block-post-featured-image{margin-bottom:1rem}
.wsl-card .wp-block-post-featured-image img{border-radius:10px;width:100%}
.wsl-card .wp-block-post-terms a{display:inline-block;padding:.2rem .7rem;border:1px solid rgba(0,229,204,.45);border-radius:999px;font-size:.8125rem;text-decoration:none;color:var(--wp--preset--color--teal)}
/* ---------- Coming-soon (holding) page ---------- */
.wsl-cs{min-height:100vh;padding-block:var(--wp--preset--spacing--50);display:flex;flex-direction:column;gap:var(--wp--preset--spacing--50);box-sizing:border-box}
.wsl-cs__form{width:100%;max-width:780px}
/* ---------- Brand lockup (emblem + name) ---------- */
.wsl-brand{gap:.7rem;align-items:center}
.wsl-brand .wp-block-site-logo,.wsl-cs__brand .wp-block-site-logo{line-height:0;margin:0}
.wsl-brand .wp-block-site-logo img{width:auto!important;height:46px!important;max-width:none;display:block}
.wsl-cs__brand{gap:1rem;align-items:center}
.wsl-cs__brand .wp-block-site-logo img{width:auto!important;height:116px!important;max-width:none;display:block}
@media (max-width:600px){.wsl-brand .wp-block-site-title{font-size:.95rem}.wsl-brand .wp-block-site-logo img{height:38px}}
/* Holding page: brand lockup sits at the left edge of the column, like the intro and the form card */
.wsl-cs__intro > .wsl-cs__brand{margin-left:0!important;margin-right:auto!important;margin-bottom:var(--wp--preset--spacing--40)}

/* ---------- Home hero: brand emblem on the right (desktop only; the text column stays first on phones) ---------- */
.wsl-hero.wsl-section-lg{position:relative;overflow:hidden}
.wsl-hero.wsl-section-lg > *{position:relative;z-index:1}
.wsl-hero.wsl-section-lg::after{content:'';position:absolute;z-index:0;right:max(1.5rem,calc((100% - 1240px)/2));top:50%;width:min(30vw,460px);aspect-ratio:517/480;transform:translateY(-50%);background:url('../img/logo-emblem-480.webp') center/contain no-repeat;filter:drop-shadow(0 0 48px rgba(155,48,255,.38)) drop-shadow(0 0 120px rgba(0,229,204,.12));pointer-events:none}
@media (max-width:1000px){.wsl-hero.wsl-section-lg::after{display:none}}
/* Release / cover art */
.wsl-release-art img{width:100%;height:auto;border-radius:var(--wp--custom--radius--card);border:1px solid rgba(0,229,204,.25);box-shadow:var(--wp--preset--shadow--deep)}
.wsl-release-art figcaption{text-align:center;margin-top:.9rem}

/* Click-to-load player placeholder */
.wsl-embed{min-height:152px;border:1px dashed rgba(0,229,204,.45);border-radius:12px;display:grid;place-items:center;padding:1rem;background:rgba(17,8,64,.55)}
.wsl-embed__btn{font:inherit;font-weight:600;color:var(--wp--preset--color--text);background:transparent;border:2px solid var(--wp--preset--color--teal);border-radius:999px;padding:.8rem 1.4rem;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:.15rem}
.wsl-embed__btn span{font-size:.8125rem;font-weight:400;color:var(--wp--preset--color--muted)}
.wsl-embed__btn:hover{background:var(--wp--preset--color--teal);color:var(--wp--preset--color--midnight)}
.wsl-embed__btn:hover span{color:var(--wp--preset--color--midnight)}
.wsl-listen{margin-block:1.25rem}