/*
Theme Name: Umaisha v1
Theme URI: 
Author: T
Author URI: 
Description: First version of the Umaisha website
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: umaisha-v1
Tags: 
*/

/* Import Adobe Fonts */
/* Contains "All Round Gothic" */
@import url("https://use.typekit.net/yjq4msv.css");

:root {
  /* Global Variables */
  
  /* Font stacks */
  --umaisha--display--type--family: "all-round-gothic", "Comfortaa", sans-serif;
	
  --umaisha--display--type--spacing: 0.05em;  /* All Round Gothic needs increased letter spacing */
  --umaisha--display--type--transform: lowercase;
  --umaisha--display--type--weight: 400;
  --umaisha--display--type--size: 1.5em;

  --umaisha--caption--type--family: var(--umaisha--display--type--family);
  --umaisha--caption--type--spacing: var(--umaisha--display--type--spacing);
  --umaisha--caption--type--transform: var(--umaisha--display--type--transform);
  --umaisha--caption--type--weight: 300;
  --umaisha--caption--type--size: 1em;

  --umaisha--badge--type--family: var(--umaisha--display--type--family);
  --umaisha--badge--type--spacing: var(--umaisha--display--type--spacing);
  --umaisha--badge--type--transform: var(--umaisha--display--type--transform);
  --umaisha--badge--type--weight: var(--umaisha--display--type--weight);
  --umaisha--badge--type--size: 0.75em;

  --umaisha--menu-link--type--family: var(--umaisha--display--type--family);
  --umaisha--menu-link--type--spacing: var(--umaisha--display--type--spacing);
  --umaisha--menu-link--type--transform: var(--umaisha--display--type--transform);
  --umaisha--menu-link--type--weight: 400;
  --umaisha--menu-link--type--size: 0.8em;
	
  --umaisha--email-link--type--family: var(--umaisha--display--type--family);
  --umaisha--email-link--type--spacing: var(--umaisha--display--type--spacing);
  --umaisha--email-link--type--transform: var(--umaisha--display--type--transform);
  --umaisha--email-link--type--weight: 300;
  --umaisha--email-link--type--size: 1em;

  --umaisha--action-link--type--family: var(--umaisha--display--type--family);
  --umaisha--action-link--type--spacing: var(--umaisha--display--type--spacing);
  --umaisha--action-link--type--transform: var(--umaisha--display--type--transform);
  --umaisha--action-link--type--weight: var(--umaisha--display--type--weight);
  --umaisha--action-link--type--size: 1.1em;

  /* Font responsive scaling */
  --umaisha--body--type--max-size: 28px;
  --umaisha--body--type--min-size: 17px;
  --umaisha--body--type--fluid-step: 0.6vw;
	
  /* Colors */
  --umaisha--color--page--background: var(--wp--preset--color--pearl-white);
  --umaisha--color--menu-link: var(--wp--preset--color--midnight-fjord);
  --umaisha--color--modal-menu--background: var(--wp--preset--color--pearl-white);
  
  /* Other values */
  --umaisha--transition-time: 0.2s;
  --umaisha--figure--hover-scale: 1.02;
  --umaisha--figure--corner-radius: 12px;
  --umaisha--video--corner-radius: 12px;
  --umaisha--max-text-width: 35em;

  /* Footer values need to be defined early */
  --umaisha--footer--text--color: var(--wp--preset--color--pearl-white);
  --umaisha--footer--link--color: var(--wp--preset--color--pearl-white);
  --umaisha--footer--background--color: var(--wp--preset--color--midnight-fjord);

}


/* BODY */
:root {
}
html {
  margin: 0;
  padding: 0;
  background-color: var(--umaisha--footer--background--color) !important;
  font-size: clamp(
    var(--umaisha--body--type--min-size),
    calc(var(--umaisha--body--type--min-size) + var(--umaisha--body--type--fluid-step)),
    var(--umaisha--body--type--max-size)
  );
  /* Prevent browsers from adjusting font weights */
  font-synthesis-weight: none;
  font-synthesis-style: none;
  font-synthesis: none;
}
body {
  margin: 0;
  padding: 0;
  /* Override WordPress */
  font-size: clamp(
    var(--umaisha--body--type--min-size),
    calc(var(--umaisha--body--type--min-size) + var(--umaisha--body--type--fluid-step)),
    var(--umaisha--body--type--max-size)
  );
}
body .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--umaisha--body--type--max-size);
}
.wp-site-blocks {
  overflow: hidden !important;
}
main, main.wp-block-group, .has-global-padding {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}


/* HEADINGS */
:root {
  --umaisha--heading--type--family: var(--umaisha--display--type--family);
  --umaisha--heading--type--spacing: var(--umaisha--display--type--spacing);
  --umaisha--heading--type--transform: var(--umaisha--display--type--transform);
  --umaisha--heading--type--weight: 400;
  --umaisha--heading--type--size: 1.8em;
  
  /* Heading hierarchy */
  --umaisha--h1--scale: 1;
  --umaisha--h2--scale: 0.80;
  --umaisha--h3--scale: 0.70;
  --umaisha--h4--scale: 0.60;
  --umaisha--h5--scale: 0.55;
  --umaisha--h6--scale: 0.50;

	/* Heading responsive scaling */
  --umaisha--heading--type--shrink-factor: 0.5;  /* How small text can shrink on narrow screens */
  --umaisha--heading--type--fluid-step: 1vw;     /* Steps for text shrinking */
}
:is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--umaisha--heading--type--family) !important;
  letter-spacing: var(--umaisha--heading--type--spacing) !important;
  text-transform: var(--umaisha--heading--type--transform) !important;
  font-weight: var(--umaisha--heading--type--weight) !important;
  line-height: 1.3;
}
h1 {
  --h1-max: calc(var(--umaisha--h1--scale) * var(--umaisha--heading--type--size));
  --h1-min: calc(var(--h1-max) * var(--umaisha--heading--type--shrink-factor));
  font-size: clamp(
      var(--h1-min),
      calc(var(--h1-min) + var(--umaisha--heading--type--fluid-step) * 3),
      var(--h1-max)
  ) !important;
}
h1.unscaled-text, .unscaled-text h1, h1 .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--h1-max) !important;
}
h2 {
  --h2-max: calc(var(--umaisha--h2--scale) * var(--umaisha--heading--type--size));
  --h2-min: calc(var(--h2-max) * var(--umaisha--heading--type--shrink-factor));
  font-size: clamp(
      var(--h2-min),
      calc(var(--h2-min) + var(--umaisha--heading--type--fluid-step) * 2.5),
      var(--h2-max)
  );
}
h2.unscaled-text, .unscaled-text h2, h2 .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--h2-max) !important;
}
h3 {
  --h3-max: calc(var(--umaisha--h3--scale) * var(--umaisha--heading--type--size));
  --h3-min: calc(var(--h3-max) * var(--umaisha--heading--type--shrink-factor));
  font-size: clamp(
      var(--h3-min),
      calc(var(--h3-min) + var(--umaisha--heading--type--fluid-step) * 2),
      var(--h3-max)
  );
}
h3.unscaled-text, .unscaled-text h3, h3 .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--h3-max) !important;
}
h4 {
  --h4-max: calc(var(--umaisha--h4--scale) * var(--umaisha--heading--type--size));
  --h4-min: calc(var(--h4-max) * var(--umaisha--heading--type--shrink-factor));
  font-size: clamp(
      var(--h4-min),
      calc(var(--h4-min) + var(--umaisha--heading--type--fluid-step) * 1.6),
      var(--h4-max)
  );
}
h4.unscaled-text, .unscaled-text h4, h4 .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--h4-max) !important;
}
h5 {
  --h5-max: calc(var(--umaisha--h5--scale) * var(--umaisha--heading--type--size));
  --h5-min: calc(var(--h5-max) * var(--umaisha--heading--type--shrink-factor));
  font-size: clamp(
      var(--h5-min),
      calc(var(--h5-min) + var(--umaisha--heading--type--fluid-step) * 1.3),
      var(--h5-max)
  );
}
h5.unscaled-text, .unscaled-text h5, h5 .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--h5-max) !important;
}
h6 {
  --h6-max: calc(var(--umaisha--h6--scale) * var(--umaisha--heading--type--size));
  --h6-min: calc(var(--h6-max) * var(--umaisha--heading--type--shrink-factor));
  font-size: clamp(
      var(--h6-min),
      calc(var(--h6-min) + var(--umaisha--heading--type--fluid-step) * 1),
      var(--h6-max)
  );
}
h6.unscaled-text, .unscaled-text h6, h6 .unscaled-text {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--h6-max) !important;
}


/* PAGE HEADING */
.heading-block .page-heading__title {
  color: var(--wp--preset--color--pearl-white) !important;
}


/* FIGURES */
img {
  image-rendering: crisp-edges !important;
}
figure img {
  border-radius: var(--umaisha--figure--corner-radius);
  display: block;
  max-width: 100%;
  height: auto;
}


/* ALL LINKS */
a:focus:not(:focus-visible), a:active, button:focus:not(:focus-visible), button:active {
  /* eliminate the focus box, unless focused by accessible trigger */
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
a:focus-visible, button:focus-visible {
  outline: 1px solid Highlight;
  outline-offset: 2px;
}


/* FORM FIELDS */
input[type="email"] {
  font-style: italic;
}


/* ALBUM NAME */
.album-name {
	font-style: italic !important;
}


/* LAST UPDATED LINE */
.updated-date-line {
	font-style: italic;
}


/* NAVIGATION MENUS */
nav {
}
nav a {
  font-family: var(--umaisha--menu-link--type--family) !important;
  letter-spacing: var(--umaisha--menu-link--type--spacing) !important;
  text-transform: var(--umaisha--menu-link--type--transform) !important;
  font-weight: var(--umaisha--menu-link--type--weight) !important;
  font-size: var(--umaisha--menu-link--type--size) !important;
  text-decoration: none !important;
  color: var(--umaisha--color--menu-link) !important;

  display: inline-block;
  margin-left: 0.3em;
  margin-right: 0.3em;
  transition: transform var(--umaisha--transition-time) ease;
  overflow: visible;
  position: relative;
  z-index: 1;
  will-change: transform;
  transform-origin: middle center;
}
nav a:hover{
  transform: scale(var(--umaisha--figure--hover-scale));
  text-decoration: none !important;
}
.wp-block-navigation__responsive-container.is-menu-open {
  /* ensure that modal menus appear above all other items */
  display: flex !important;
  position: fixed !important;
  inset: 0;
  z-index: 9999 !important;   /* higher than anything else */
  overflow: auto;             /* allow scrolling if your menu is tall */
  background-color: var(--umaisha--color--modal-menu--background) !important;
}
.wp-block-navigation__responsive-container.is-menu-open a {
  margin: 0.3em;
}


/* EQUAL WIDTH ROW */
.equal-width-row {
  display:flex;
}
.equal-width-row > * {
  flex:1 1 0;
}


/* FULL-WIDTH BLOCKS */
/* 1. Full-width block padding
   From 360px..1440px:
   - top:    33px → 80px  (Δ = 47)
   - bottom: 24px → 40px  (Δ = 16)
*/
:root {
  --umaisha--fwblock--viewport-ramp: clamp(0px, calc(100vw - 360px), 1080px);
  --umaisha--fwblock--padding--top-bottom--cta: calc(
    33px + var(--umaisha--fwblock--viewport-ramp) * 47 / 1080
  );
  --umaisha--fwblock--padding--top-bottom: calc(
    24px + var(--umaisha--fwblock--viewport-ramp) * 16 / 1080
  );
  --umaisha--fwblock--padding--sides: max(2vw, 17px);
}
.full-width-block {
  position: relative !important;
  padding-top: var(--umaisha--fwblock--padding--top-bottom) !important;
  padding-bottom: var(--umaisha--fwblock--padding--top-bottom) !important;
  padding-left: var(--umaisha--fwblock--padding--sides) !important;
  padding-right: var(--umaisha--fwblock--padding--sides) !important;
  margin: 0 !important;
}
.full-width-block.full-width-block-with-cta {
  padding-top: var(--umaisha--fwblock--padding--top-bottom--cta) !important;
  padding-bottom: var(--umaisha--fwblock--padding--top-bottom--cta) !important;
}


/* CTA LINKS */
:root {
  --umaisha--cta-link--hover-shift: 4px;
  --umaisha--cta-link--max-size: var(--umaisha--action-link--type--size);
  --umaisha--cta-link--min-size: calc(0.7 * var(--umaisha--action-link--type--size));
  --umaisha--cta-link--fluid-step: 0.8vw;
}
.cta-link {
  display: inline-block;
  transition: transform var(--umaisha--transition-time) ease;
}
a.cta-link, .cta-link a {
  font-family: var(--umaisha--action-link--type--family) !important;
  letter-spacing: var(--umaisha--action-link--type--spacing) !important;
  text-transform: var(--umaisha--action-link--type--transform) !important;
  font-weight: var(--umaisha--action-link--type--weight) !important;
  font-size: clamp(
      var(--umaisha--cta-link--min-size),
      calc(var(--umaisha--cta-link--min-size) + var(--umaisha--cta-link--fluid-step)),
      var(--umaisha--cta-link--max-size)
  ) !important;
  text-decoration: none;
}
a.cta-link.unscaled-text, .unscaled-text a.cta-link, .unscaled-text .cta-link a, .unscaled-text.cta-link a, .cta-link .unscaled-text a {
  /* Cancel responsive scaling for unscaled text blocks */
  font-size: var(--umaisha--cta-link--max-size) !important;
}
a.cta-link::after, .cta-link a::after {
  content: " >" ! important;
}
.cta-link:hover {
  transform: translateX(var(--umaisha--cta-link--hover-shift));
}
.floating-cta-lower-right {
  position: absolute;
  bottom: 0.5em;
  right: 1em;
  width: auto;
}
.floating-cta-lower-right.cta-link:hover, .floating-cta-lower-right .cta-link:hover {
  transform: translateX(var(--umaisha--cta-link--hover-shift));
}


/* EMBEDDED PLAYERS */
.wp-block-embed,
.wp-block-embed iframe,
.wp-block-embed .wp-block-embed__wrapper {
    border-radius: var(--umaisha--video--corner-radius);
    overflow: hidden;
}


/* STACKABLE LIGHTBOX */
/* Stackable lightbox caption = inherit global “body text” styles */
.gslider .gslide-title {
  font-family: var(--umaisha--caption--type--family) !important;
  letter-spacing: var(--umaisha--caption--type--spacing) !important;
  text-transform: var(--umaisha--caption--type--transform) !important;
  font-weight: var(--umaisha--caption--type--weight) !important;
  font-size: var(--umaisha--caption--type--size) !important;

  line-height: 1.4;
  text-decoration: none;
  text-transform: none !important;
}


/* STACKABLE SEPARATOR */
:root {
  --umaisha--separator--voffset: 4;  /* in pixels */
}
.wp-block-stackable-separator {
  filter:none !important;
  position: relative;
  /* margin-bottom: -2px; */
  overflow: visible;
}
.wp-block-stackable-separator > .stk-block-separator__inner {
  width: 100% !important;
  overflow:visible;
  overflow-clip-margin:0 0 calc(1px * var(--umaisha--separator--voffset));
  position: relative;
  padding-top: 0 !important;
  margin: 0 !important;
  filter:none !important;
}
.wp-block-stackable-separator svg {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute;
  inset: 0;
  bottom: calc(-1px * var(--umaisha--separator--voffset));
  transform: translateY(3px) !important;
  filter:none !important;
  shape-rendering: geometricPrecision !important;
}
.stk-block-stackable-separator path {
	shape-rendering: geometricPrecision !important;
  filter:none !important;
}
/* for wide screens, maintain constant height */
@media (min-width: 1032px) {
  .wp-block-stackable-separator{
  }
  .wp-block-stackable-separator > .stk-block-separator__inner {
    height: 136px !important;
  }
}
/* for small screens, keep fixed separator aspect ratio */
@media (max-width: 1031.98px) {
  .wp-block-stackable-separator{
  }
  .wp-block-stackable-separator > .stk-block-separator__inner {
    aspect-ratio: 1600 / 210 !important;
    height: auto !important;
  }
}


/* GLOBAL HEADER */
:root {
  --umaisha--header--bgcolor: #d8d9dd;
}
header {
}
/* When the header is wrapped in a .header-wrapper element, the header floats above the element. */ 
.header-wrapper {
  position: relative;
}
.header-wrapper header {
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  width: 100%;
  z-index: 5000;
}
.wp-block-site-logo {
  padding: 0.75vw;
}
/** variation: creates a fixed header pinned to the top of the viewport
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: auto;
  z-index: 5000;
  background-color: var(--umaisha--header--bgcolor) !important;
}
*/


/* MAIN PAGE HEADER */
:root {
  --umaisha--main-page--hero--image: url("/wp-content/uploads/2025/08/MainPageHero1-BGNeutralized.jpg");
  /* all values below are in pixels */
  --umaisha--main-page--hero--width--true: 2064;
  --umaisha--main-page--hero--width--content: 1032;
  --umaisha--main-page--hero--height: 688;
  --umaisha--main-page--hero--bottom-offset: 45;
  --umaisha--main-page--hero--bgcolor: var(--umaisha--header--bgcolor);
}
.main-page-header {
  position: relative;
  background: none !important;
  z-index: 1;
}
.main-page-header::before {
  /* Pseudo element to hold the background image and allow element-level masking without affecting other parts of the header. */
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: calc(
    (100%
     * var(--umaisha--main-page--hero--height)
     / (var(--umaisha--main-page--hero--height) + var(--umaisha--main-page--hero--bottom-offset))
    ) + (1px * var(--umaisha--separator--voffset))
  );
  aspect-ratio: var(--umaisha--main-page--hero--width--true) / var(--umaisha--main-page--hero--height);

  z-index: -1;
  overflow: hidden;
  
  background-color: white !important;
  background-image: var(--umaisha--main-page--hero--image) !important;
  background-repeat: no-repeat, no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  
  mask-image: linear-gradient(
    to right,
    rgba(0,0,0,0)   0%,
    rgba(0,0,0,1)  35%,
    rgba(0,0,0,1)  70%,
    rgba(0,0,0,0) 100%
  );
  mask-mode: alpha;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  /* WebKit variants */
  -webkit-mask-image: linear-gradient(
    to right,
    rgba(0,0,0,0)   0%,
    rgba(0,0,0,1)  35%,
    rgba(0,0,0,1)  70%,
    rgba(0,0,0,0) 100%
  );
  -webkit-mask-mode: alpha;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
}
.main-page-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  
  background-color: var(--umaisha--main-page--hero--bgcolor) !important;
}
.header-bottom-separator {
  position: absolute !important;
  bottom: 0px !important;
  width: 100% !important;
}
/* for wide screens, maintain constant height */
@media (min-width: 1032px) {
  .main-page-header {
    height: calc(
      (1032px
       * (var(--umaisha--main-page--hero--height) + var(--umaisha--main-page--hero--bottom-offset))
       / var(--umaisha--main-page--hero--width--content)
      )
    ) !important;
  }
}
/* for small screens, keep fixed separator aspect ratio */
@media (max-width: 1031.98px) {
  .main-page-header {
    aspect-ratio:
      var(--umaisha--main-page--hero--width--content)
      / calc(var(--umaisha--main-page--hero--height) + var(--umaisha--main-page--hero--bottom-offset));
  }
}


/* FOOTER */
footer {
  background-color: var(--umaisha--footer--background--color) !important;
  color: var(--wp--preset--color--pearl-white) !important;
}
footer nav a {
  color: var(--wp--preset--color--pearl-white) !important;
}
footer .footer-content {
  padding-left: var(--umaisha--fwblock--padding--sides) !important;
  padding-right: var(--umaisha--fwblock--padding--sides) !important;
}
footer .legal-block {
}


/* LONG TEXT BLOCK */
.long-text-block {
  max-width: var(--umaisha--max-text-width) !important;
}


/* LINKED COVER ART */
/* art zoom hover effect */
figure.linked-cover-art, .linked-cover-art-outer-container figure.linked-cover-art{
  overflow: visible;
  position: relative;
  z-index: 1;
}
figure.linked-cover-art img, .linked-cover-art-outer-container figure.linked-cover-art img{
  transition: transform var(--umaisha--transition-time) ease;
  will-change: transform;
  transform-origin: middle center;
}
figure.linked-cover-art:hover img, .linked-cover-art-outer-container:hover figure.linked-cover-art img{
  transform: scale(var(--umaisha--figure--hover-scale));
}


/* MAIN PAGE FEATURED BLOCK */
:root {
  --umaisha--gap--viewport-ramp: clamp(0px, calc(100vw - 360px), 1080px);
  --umaisha--row-gap: calc(
    33px + var(--umaisha--gap--viewport-ramp) * 47 / 1080
  );
  --umaisha--column-gap: calc(
    33px + var(--umaisha--gap--viewport-ramp) * 47 / 1080
  );
  --umaisha--feature-block--wrap: nowrap;
}
@media (max-width: 760px) {
  :root {
    --umaisha--feature-block--wrap: wrap;
  }
}
.featured-block {
}
.featured-block-row {
  flex-wrap: var(--umaisha--feature-block--wrap) !important;
  row-gap: var(--umaisha--row-gap) !important;
  column-gap: var(--umaisha--column-gap) !important;
}
.featured-block-row > * {
  flex: 1 1 100% !important;
  row-gap: var(--umaisha--row-gap) !important;
  column-gap: var(--umaisha--column-gap) !important;
}
@media (min-width: 681.02px) and (max-width: 760px) {
  .featured-block {
  }
  .featured-block-row > * {
    margin-left: calc(40vw - 280px) !important;
    margin-right: calc(40vw - 280px) !important;
  }
}
@media (max-width: 360px) {
  .featured-block {
  }
  .featured-block-row > * {
    margin-left: calc(30vw - 100px) !important;
    margin-right: calc(30vw - 100px) !important;
  }
}
.wp-block-umaisha-v1-featured-releases .uma-fr__badge {
  font-family: var(--umaisha--badge--type--family);
  letter-spacing: var(--umaisha--badge--type--spacing);
  text-transform: var(--umaisha--badge--type--transform);
  font-weight: var(--umaisha--badge--type--weight);
  /* font-size: var(--umaisha--badge--type--size); */
  background: var(--wp--preset--color--charcoal-ink);
}


/* MAIN PAGE BIO BLOCK */
.bio-block {
}
.bio-block-text {
  max-width: var(--umaisha--max-text-width) !important;
  text-align: center;
}


/* MAIN PAGE VIDEO BLOCK */
.video-block {
  --video-max-h: 750px; /* adjust as needed */
}

/* Center the figure if it ends up narrower than the column */
.video-block figure.wp-block-embed {
  margin-inline: auto;
  max-inline-size: 100%;
}

/* Make the aspect-ratio wrapper height-driven, not width-driven */
.video-block .wp-block-embed__wrapper {
  /* override the inline "inline-size:100%" coming from your PHP helper */
  inline-size: auto !important;

  /* let aspect-ratio compute width from height */
  block-size: auto;
  max-block-size: var(--video-max-h);

  /* don’t exceed the column width, and center if narrower */
  max-inline-size: 100%;
  margin-inline: auto;
}

/* Fill the wrapper exactly (keeps proportions because the wrapper has aspect-ratio) */
.video-block .wp-block-embed__wrapper > video,
.video-block .wp-block-embed__wrapper > iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  border: 0;
}


/* MAIN PAGE NEWSLETTER BLOCK */
.newsletter-block {
}
.newsletter-block :is(h1,h2,h3,h4,h5,h6) {
	color: var(--wp--preset--color--pearl-white);
}
.newsletter-block .wp-block-stackable-columns {
}
.newsletter-block .uma-nf--fan button[type="submit"] {
  background: var(--wp--preset--color--ocean-deep) !important;
  color: var(--wp--preset--color--pearl-white) !important;
  border: 1px solid var(--wp--preset--color--charcoal-ink) !important;
}
.newsletter-block .uma-nf--fan button[type="submit"]:is(:active, :focus, :focus-visible) {
  background: var(--wp--preset--color--drift-ice) !important;
  color: var(--wp--preset--color--charcoal-ink) !important;
  border: 1px solid var(--wp--preset--color--charcoal-ink) !important;
}
.newsletter-block .uma-nf--fan {
  width: var(--umaisha-contact-max-width);
}
.newsletter-block .uma-nf-wrapper {
  text-align: center;
}
.newsletter-block .uma-nf {
  display: inline-block;
  text-align: start;
}
.newsletter-block .uma-nf--fan input {
  border-radius: 0;
}
.contact-newsletter-block .uma-nf--fan input {
  font-family: inherit;
  font-weight: inherit;
  font-size: 0.9em;
  padding: 0.4em;
}
.newsletter-block .uma-nf--fan button {
  font: inherit;
  padding: 0.4em;
  background: transparent;
}
.newsletter-block .uma-nf--fan input[type="email"],
.newsletter-block .uma-nf--fan button[type="submit"] {
  width: 100%;
  border: 1px solid var(--wp--preset--color--charcoal-ink);
  padding: 10px 12px;
  line-height: 1.2;
}
.newsletter-block .uma-nf--fan input[type="email"] {
  background: var(--wp--preset--color--pearl-white);
}


/* RELEASE BLOCK */
/* Common behavior at all widths */
.advance-action-date {
  font-weight: bold !important;
}
/* Wide-screen behavior: use flex */
@media (min-width: 768px) {
  .center-lane {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start;
    flex-wrap: nowrap;
  }
  .release-block {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    column-gap: var(--umaisha--row-gap);
    row-gap: 0;
  }
  .release-cover-art {
    flex: 0 1 auto;
    max-width: clamp(100px, 45vw, 512px) !important;
  }
  .release-block-text-stack {
    justify-content: flex-start;
    text-align: left;
    gap: 0;
    flex: 0 1 auto;
    max-width: clamp(200px, 45vw, 512px) !important;
  }
  .release-block-title {
    padding-bottom: 0.75em;
  }
  .release-block-text-stack {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 0;
    padding-bottom: 5rem;
  }
  .release-block-text-stack .cta-link {
    margin-top: auto !important;
    padding-top: 0.75rem;
  }
}
/* Narrow screen (stacked) behavior: use block.
   This allows the release block to be centered whil its contents are left-aligned.
 */
@media (max-width: 767.98px) {
  .center-lane {
    display: block !important;
    text-align: center !important;
  }
  .release-block-wrapper {
    display: inline-block !important;
    text-align: left !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .release-block {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .release-cover-art {
    display: block !important;
    margin: 0 !important;
    max-width: clamp(100px, 80vw, 512px) !important;
  }
  .release-block-text-stack {
    display: block !important;
    margin: 0 !important;
    max-width: clamp(200px, 80vw, 512px) !important;
  }
  .release-cover-art.is-layout-flex,
  .release-block-text-stack.is-layout-flex {
    display: block !important;
  }
}


/* TRACKS BLOCK */
.wp-block-template-part:has(> .album-tracklist-part) {
}
.album-tracklist-part {
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  background: var(--wp--preset--color--warm-lilac);
}
.album-tracklist {
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 100%;
  text-align: left;
  padding-inline-start: 0;
  list-style: none;
  padding-top: 1em;
}
@supports not (width: fit-content) {
  .album-tracklist { display: inline-block !important; }
}
.album-tracklist__item {
  display: grid;
  grid-template-columns: 3ch 1fr;  /* up to 99 -> 3ch fits "10." */
  column-gap: .75rem;
  align-items: baseline;
}
.album-tracklist__number {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.album-tracklist__title {
  /* Might be <span> or <a> */
}


/* LYRICS BLOCK */
.full-width-block.lyrics-block, .lyrics-block {
  text-align: center;
  justify-content: center;
}
.lyrics-block :is(h1,h2,h3,h4,h5,h6) {
}
.lyrics {
  padding-top: 1em;
  line-height: 1.1 !important;
  font-size: clamp(
    calc(0.8 * var(--umaisha--body--type--min-size)),
    calc(var(--umaisha--body--type--min-size) + var(--umaisha--body--type--fluid-step)),
    var(--umaisha--body--type--max-size)
  );
}
.lyrics ul {
  /** Within a .lyrics block, a single unordered list represents a verse, and each item
    * in the list represents a single line.
    */
  padding-top: 0em;
  padding-bottom: 1.5em;
  padding-left: 0;
  padding-right: 0;
  list-style: none;
}
.lyrics ul li {
  padding-top: 0.25em;
  padding-bottom: 0.25em
  padding-left: 0;
  padding-right: 0;
}
.thaana-lyrics-table {
  /* Special cases for Thaana lyrics */
}

/* CREDITS BLOCK */
.full-width-block.credits-block, .credits-block {
  text-align: center;
  justify-content: center;
}
.credits-block .wp-block-template-part {;
  text-align: center;
  justify-content: center;
}
table.release-credits {
  padding-top: 1em;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.85rem;
}
table.release-credits th {
  text-align: right;
  padding-right: clamp(10px, 1vw, 1.5em) !important;
  vertical-align: top;
  white-space: nowrap;
}
table.release-credits th::after {
  content: ":";
}
table.release-credits td {
  text-align: left;
  vertical-align: bottom;
}
table.release-credits .release-credits-name:not(:first-child)::before {
  content: "\A";
  white-space: pre;
}
@supports (grid-template-columns: minmax(max-content, 1fr) minmax(min-content, 1fr)){
  @media (min-width: 768px) {
    table.release-credits{
      display: block;
      margin-inline: auto;
      max-inline-size: 100%;
    }
    table.release-credits > tbody{
      display: grid;
      grid-template-columns: minmax(min-content, 1fr) minmax(min-content, 1fr);
      column-gap: clamp(10px, 1vw, 1.5em);
      align-items: start;
    }
    table.release-credits tr{
      display: contents;
    }

    table.release-credits th{
      text-align: right;
      overflow-wrap: anywhere;      /* break long tokens */
      white-space: break-word;
      padding-right: 0 !important;
    }

    table.release-credits td{
      text-align: left;
      min-width: 0;                 /* allow grid item to shrink */
      overflow-wrap: anywhere;      /* break long tokens */
      word-break: break-word;       /* legacy WebKit fallback */
    }

    /* Optional: if you have links/inline spans that still overflow */
    table.release-credits td a,
    table.release-credits td span{
      min-width: 0;
      overflow-wrap: anywhere;
    }
  }
}


/* ABOUT PAGE */
.bio-text-block {
}
.bio-text-block p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.bio-summary-text {
  font-style: italic;
}


/* MUSIC PAGE */
.discography {
  padding-left: 10vw;
  padding-right: 10vw;
}
.discography__badge {
  font-family: var(--umaisha--badge--type--family) !important;
  letter-spacing: var(--umaisha--badge--type--spacing) !important;
  text-transform: var(--umaisha--badge--type--transform) !important;
  font-weight: var(--umaisha--badge--type--weight) !important;
  font-size: var(--umaisha--badge--type--size) !important;
  background: var(--wp--preset--color--mist-blue) !important;
}


/* PHOTO/VIDEO PAGES */
/* thumbnail zoom hover effect */
.photo-gallery__thumb, .video-card {
  transition: transform var(--umaisha--transition-time) ease;
  will-change: transform;
  transform-origin: middle center;
}
.photo-gallery__thumb:hover, .video-card:hover {
  transform: scale(var(--umaisha--figure--hover-scale));
}


/* SINGLE PHOTO/VIDEO PAGE */
.photo-single__stage {
  --stage-gap: clamp(8px, 2vw, 16px);
  --nav-slot: clamp(22px, 3vw, 44px);

  display: grid;
  align-items: center;
  justify-content: center;
  gap: var(--stage-gap);
  width: 100%;
  margin-inline: auto;

  /* center track never exceeds viewport minus two arrow slots + two gaps */
  grid-template-columns:
    var(--nav-slot)
    minmax(0, calc(100vw - (2 * (var(--nav-slot) + var(--stage-gap)))))
    var(--nav-slot);
}
body.single.single-photo .wp-block-post-featured-image {
  display: inline-block;
  margin-inline: auto;
  width: auto;
  max-width: 100%;
  background: transparent;
  border-radius: var(--umaisha--figure--corner-radius, .75rem);
}
body.single.single-photo .wp-block-post-featured-image,
body.single.single-photo .wp-block-post-featured-image img {
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
body.single.single-photo .wp-block-post-featured-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 90vh;
  background: transparent;
  border-radius: inherit;
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
}}
.wp-block-group.is-layout-flex .photo-single__stage {
  min-width: 0;
  flex: 1 1 100%;
}
.photo-nav {
  position: relative;
  transition: transform var(--umaisha--transition-time) ease;
  display: inline-grid;
  place-items: center;
  color: rgba(0,0,0,.45);
  font-family: var(--umaisha--action-link--type--family) !important;
  letter-spacing: var(--umaisha--action-link--type--spacing) !important;
  text-transform: var(--umaisha--action-link--type--transform) !important;
  font-weight: var(--umaisha--action-link--type--weight) !important;
  font-size: clamp(
      calc(4.0 * var(--umaisha--cta-link--min-size)),
      calc(4.0 * (var(--umaisha--cta-link--min-size) + var(--umaisha--cta-link--fluid-step))),
      calc(4.0 * var(--umaisha--cta-link--max-size))
  ) !important;
}
.photo-nav:empty {
  pointer-events: none;
  cursor: default;
  color: rgba(0,0,0,0);
}
supports (selector(:has(*))) {
  .photo-nav:not(:has(> a)) {
    pointer-events: none;
    cursor: default;
    color: rgba(0,0,0,0);
  }
  /* prevent hover shift when inactive */
  .photo-nav:not(:has(> a)):hover {
    transform: none;
  }
}
.photo-nav.photo-nav--next::before {
  content: "‹";
  line-height: 1;
}
.photo-nav.photo-nav--next:hover {
  transform: translateX(calc(-1.0 * var(--umaisha--cta-link--hover-shift)));
}
.photo-nav.photo-nav--prev::before {
  content: "›";
  line-height: 1;
}
.photo-nav.photo-nav--prev:hover {
  transform: translateX(var(--umaisha--cta-link--hover-shift));
}
.photo-nav > a {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: inherit;
  text-decoration: none;
  font-size: 0;
  line-height: 0;
  color: transparent;
}
.photo-nav > a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: inherit;
}



/* SINGLE VIDEO PAGE */
:root {
  --umaisha--primary-video--max-height: 90vh;
  --umaisha--primary-video--max-height-s: 90svh;
}
.primary-video-embed-block {
  min-width: 0;
}
.primary-video-embed-block .wp-block-embed__wrapper {
  aspect-ratio: auto;
  width: 100%;
  height: auto;
}
.primary-video-embed-block .wp-block-embed__wrapper > iframe,
.primary-video-embed-block .wp-block-embed__wrapper > video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.primary-video-embed-block .wp-block-embed {
  margin-inline: auto;
  min-inline-size: 0;
}
.video-caption, .video-caption p {
  text-align: center;
}
.primary-video-embed-block .photo-single__stage.wp-block-group {
  margin-inline: auto;
  width: 100%;
  max-width: none;
}
.photo-single__stage .wp-block-embed {
  display: block;
  width: auto;
  max-width: none !important;
  margin-inline: auto;
}
/* === 16:9 (YouTube etc.) === */
.wp-block-embed.wp-embed-aspect-16-9 {
  /* Fill container width, unless that would make height > viewport */
  inline-size: min(100%, calc(var(--umaisha--primary-video--max-height) * (16 / 9)));
  width: min(100%, calc(var(--umaisha--primary-video--max-height) * (16 / 9))) !important;
}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
  inline-size: 100%;
}
/* === 9:16 (TikTok etc.) === */
.wp-block-embed.wp-embed-aspect-9-16 {
  /* Fill container width, unless that would make height > viewport */
  inline-size: min(100%, calc(var(--umaisha--primary-video--max-height) * (9 / 16)));
  width: min(100%, calc(var(--umaisha--primary-video--max-height) * (9 / 16))) !important;
}
.wp-embed-aspect-9-16 .wp-block-embed__wrapper {
  aspect-ratio: 9 / 16;
  inline-size: 100%;
}
/* Optional: use small-viewport units on mobile for more accurate 100vh */
@supports (height: 1svh) {
  .wp-block-embed.wp-embed-aspect-16-9 {
    inline-size: min(100%, calc(var(--umaisha--primary-video--max-height-s) * (16 / 9)));
    width: min(100%, calc(var(--umaisha--primary-video--max-height-s) * (16 / 9))) !important;
  }
  .wp-block-embed.wp-embed-aspect-9-16 {
    inline-size: min(100%, calc(var(--umaisha--primary-video--max-height-s) * (9 / 16)));
    width: min(100%, calc(var(--umaisha--primary-video--max-height-s) * (9 / 16))) !important;
  }
}


/* CONTACT PAGE */
:root {
  --umaisha-contact-max-width: min(85vw, 650px)
}
.contact-page-main {
}
.contact-page-main h2 {
  text-align: center;
}
.contact-newsletter-block {
}
.contact-newsletter-block .uma-nf--fan button[type="submit"] {
  background: var(--wp--preset--color--ocean-deep) !important;
  color: var(--wp--preset--color--pearl-white) !important;
  border: 1px solid var(--wp--preset--color--charcoal-ink) !important;
}
.contact-newsletter-block .uma-nf--fan button[type="submit"]:is(:active, :focus, :focus-visible) {
  background: var(--wp--preset--color--drift-ice) !important;
  color: var(--wp--preset--color--charcoal-ink) !important;
  border: 1px solid var(--wp--preset--color--charcoal-ink) !important;
}
.contact-message-block {
}
.contact-message-block .umacf-form button[type="submit"]:is(:active, :focus, :focus-visible) {
  border: 1px solid var(--wp--preset--color--charcoal-ink) !important;
  background: var(--wp--preset--color--petal-mist) !important;
  color: var(--wp--preset--color--charcoal-ink) !important;
}
.contact-press-block,
.contact-press-block h2 {
  color: var(--wp--preset--color--pearl-white);
}
.contact-press-block .press-contacts {
  text-align: center;
  margin-top: 0.5em !important;
  margin-bottom: 2em !important;
}
.contact-press-block .press-contacts a {
  color: var(--wp--preset--color--pearl-white);
  font-family: var(--umaisha--email-link--type--family) !important;
  letter-spacing: var(--umaisha--email-link--type--spacing) !important;
  text-transform: var(--umaisha--email-link--type--transform) !important;
  font-weight: var(--umaisha--email-link--type--weight) !important;
  font-size: var(--umaisha--email-link--type--size) !important;
  font-style: italic;
}
.contact-press-block .uma-nf--press button[type="submit"] {
  color: 1px solid var(--wp--preset--color--pearl-white) !important;
  border: 1px solid var(--wp--preset--color--pearl-white) !important;
}
.contact-press-block .uma-nf--press button[type="submit"]:is(:active, :focus, :focus-visible) {
  border: 1px solid var(--wp--preset--color--pearl-white) !important;
  background: var(--wp--preset--color--frosted-sky) !important;
  color: var(--wp--preset--color--charcoal-ink) !important;
}
/* Contact page - Common form styling */
.contact-newsletter-block .uma-nf--fan,
.contact-message-block .umacf,
.contact-press-block .uma-nf--press {
  width: var(--umaisha-contact-max-width);
}
.contact-newsletter-block .uma-nf-wrapper,
.contact-press-block .uma-nf-wrapper {
  text-align: center;
}
.contact-newsletter-block .uma-nf,
.contact-press-block .uma-nf {
  display: inline-block;
  text-align: start;
}
.contact-message-block .umacf-form .umacf-field,
.contact-press-block .uma-nf--press .uma-nf-field {
  display: flex;
  flex-direction: column;
  row-gap: 0.2em;
  line-height: normal;
  margin-top: 0.6em;
  margin-bottom: 0.2em;
}
.umacf-form .umacf-field-head .umacf-error {
	/* color: #9B444E; */
}
.contact-message-block .umacf-form .umacf-field > *,
.contact-press-block .uma-nf--press .uma-nf-field > * {
	margin: 0;
}
.contact-newsletter-block .uma-nf--fan input,
.contact-message-block .umacf-form .umacf-field input,
.contact-press-block .uma-nf--press .uma-nf-field input {
  border-radius: 0;
}
.contact-message-block .umacf-form label,
.contact-press-block .uma-nf--press label {
  display: block;
  font-weight: 600;
  margin-bottom: 0px;
  line-height: 1em;
  font-size: 0.8em;
}
.contact-newsletter-block .uma-nf--fan input,
.contact-message-block .umacf-form input,
.contact-press-block .uma-nf--press input {
  font-family: inherit;
  font-weight: inherit;
  font-size: 0.9em;
  padding: 0.4em;
}
.contact-message-block .umacf-form textarea {
  font-family: inherit;
  font-weight: inherit;
  font-size: 0.8em;
  padding: 0.4em;
  border: 1px solid var(--wp--preset--color--charcoal-ink);
  background: var(--wp--preset--color--pearl-white);
}
.contact-newsletter-block .uma-nf--fan button,
.contact-message-block .umacf-form button,
.contact-press-block .uma-nf--press button {
  font: inherit;
  padding: 0.4em;
  background: transparent;
}
.contact-newsletter-block .uma-nf--fan input[type="email"],
.contact-newsletter-block .uma-nf--fan button[type="submit"],
.contact-message-block .umacf-form input[type="email"],
.contact-message-block .umacf-form input[type="text"],
.contact-message-block .umacf-form button[type="submit"],
.contact-press-block .uma-nf--press input[type="email"],
.contact-press-block .uma-nf--press input[type="text"],
.contact-press-block .uma-nf--press button[type="submit"] {
  width: 100%;
  border: 1px solid var(--wp--preset--color--charcoal-ink);
  padding: 10px 12px;
  line-height: 1.2;
}
.contact-newsletter-block .uma-nf--fan input[type="email"],
.contact-message-block .umacf-form input[type="email"],
.contact-message-block .umacf-form input[type="text"],
.contact-press-block .uma-nf--press input[type="email"],
.contact-press-block .uma-nf--press input[type="text"] {
  background: var(--wp--preset--color--pearl-white);
}
.contact-message-block .umacf-form button[disabled],
.contact-press-block .uma-nf--press button[disabled] {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none; /* avoids pressed animation */
  box-shadow: none;
}


/* PRIVACY POLICY */
.privacy-policy-block {
  text-align: center;
}
.privacy-policy-block * {
  box-sizing: border-box;
}
.privacy-policy {
  display: inline-block;
  text-align: start;
  font-size: 0.8rem;
}
.privacy-policy .updated-date-line {
  font-size: 0.9rem;
  font-weight: bold;
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
.privacy-policy :is(h2,h3,h4,h5,h6) {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
.privacy-policy section {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
.privacy-policy-section-contents {
  padding-left: 1em !important;
}
.privacy-policy p {
  margin-top: 0.8em;
  padding-bottom: 0.8em;
}
.privacy-policy li {
  margin-top: 0.8em;
  padding-bottom: 0.8em;
}
