/* ===== VARIABLES ===== */
/* #region variables */

:root {
  --text-colour:#333333;
  --text-on-accent: #333333;
  --text-white: #f7f7f5;
  --text-muted: #6a6a6a;
  --bg-base:#f7f7f5;
  --bg-surface: #fff;
  --bg-muted: #f0f0f0;
  --shadow-color:#00000033;
  --bundle-grid-bg: #f7f7f5;
  --overlay-dark-subtle: #1E1E1E0D;
  --overlay-light-subtle: #ffffff22;
  --overlay-light-medium: #ffffff4d;
  --border-color-muted: #bbbbbb;
  --font-heading: Lora;
  --font-body: IBM Plex Sans;
  --container-width-max: 1600px;
  --container-width-content: 1200px;
  --container-width-text: 740px;
  --container-width-wide: 1000px;
  --content-width-narrow: 625px;
  --content-width-compact: 525px;
  --content-width-tight: 400px;
  --subtotal-divider-style: none;
  --product-divider-gap: 8px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-hg: 12px;
  --shadow-normal: 5px 5px 10px var(--shadow-color);          /* default, your baseline */
  --shadow-soft: 0 2px 6px var(--shadow-color);     /* subtle / UI elevation */
  --shadow-inset: inset 1em 1em var(--text-colour);
  --border-light: 1px solid var(--border-color-muted);
  --border-heavy: 2px solid var(--text-colour);
  --transition-fast: .1s ease;
  --transition-med: .25s ease;
}

html.rm-dark {
  --text-colour: #f7f7f5;
  --text-on-accent: #383838;
  --text-muted: #f7f7f5;
  --bg-base: #2B2B2B;
  --bg-surface: #464646;
  --bg-muted: #333;
  --overlay-dark-subtle: #ffffff0d;
  --border-color-muted: #eeeeee;
  --bundle-grid-bg: #383838;
}

html,
body,
* {
  transition: background-color var(--transition-med),
              color var(--transition-med), 
              border-color var(--transition-med), 
              box-shadow var(--transition-med);
}

/* Override Elementor Transitions */
.e-con:where(:not(.e-div-block-base)) {
--background-transition: var(--transition-med);
--border-transition: var(--transition-med);
--e-con-transform-transition-duration: var(--transition-med);
}

/* DAW Presets - Ableton Live */
.postid-985,    .post-985    { --rm-pack-color: #bbd2f1; }  /* Drumtraks */
.postid-988,    .post-988    { --rm-pack-color: #75d9cc; }  /* Porta */
.postid-1176,   .post-1176   { --rm-pack-color: #ABABAB; }  /* Ableton Wavetable Presets */
.postid-976,    .post-976    { --rm-pack-color: #608fd9; }  /* Horizons */
.postid-45,     .post-45     { --rm-pack-color: #898DBE; }  /* Monolith */
.postid-137916, .post-137916 { --rm-pack-color: #de9776; }  /* Vice */
.postid-108935, .post-108935 { --rm-pack-color: #a4d5f4; }  /* Omni 2 */
.postid-115550, .post-115550 { --rm-pack-color: #ff9166; }  /* Motions */
.postid-133541, .post-133541 { --rm-pack-color: #f2e484; }  /* DrumVerse R8 */
.postid-138762, .post-138762 { --rm-pack-color: #f0f1d8; }  /* RM-20 2 */
.postid-142302, .post-142302 { --rm-pack-color: #75EB81; }  /* VP-30 */
.postid-153580, .post-153580 { --rm-pack-color: #69D3C3; }  /* PS-48 */

/* Synth Presets */
.postid-101943, .post-101943 { --rm-pack-color: #dde5f8; }  /* Minimalism */
.postid-101939, .post-101939 { --rm-pack-color: #cdb8b8; }  /* Oracle */
.postid-101941, .post-101941 { --rm-pack-color: #afeadc; }  /* Seminal */
.postid-88672,  .post-88672  { --rm-pack-color: #ee6455; }  /* Untamed Prophecy */
.postid-98553,  .post-98553  { --rm-pack-color: #A2ABCD; }  /* Obelisk */
.postid-98864,  .post-98864  { --rm-pack-color: #8a8bd1; }  /* Legends */
.postid-105823, .post-105823 { --rm-pack-color: #52b48d; }  /* Europa */
.postid-132174, .post-132174 { --rm-pack-color: #7D95DB; }  /* Cosmo */
.postid-117593, .post-117593 { --rm-pack-color: #9E9E9E; }  /* Robot Funk */
.postid-135521, .post-135521 { --rm-pack-color: #f8ad6d; }  /* Overture */
.postid-140339, .post-140339 { --rm-pack-color: #99E9E9; }  /* Chroma Campfire */
.postid-143702, .post-143702 { --rm-pack-color: #B4B4F2; }  /* Dream Stereo */
.postid-147859, .post-147859 { --rm-pack-color: #ABABAB; }  /* Minotaur */
.postid-148986, .post-148986 { --rm-pack-color: #F9C68A; }  /* Solita */
.postid-154873, .post-154873 { --rm-pack-color: #FF9752; }  /* Brutalism */

/* TAL U-NO-LX Packs */
.postid-101945, .post-101945 { --rm-pack-color: #cae3e0; }  /* Juniper */
.postid-130972, .post-130972 { --rm-pack-color: #96badf; }  /* Juno Jazz */
.postid-130525, .post-130525 { --rm-pack-color: #82bf74; }  /* Cornerstone */
.postid-152867, .post-152867 { --rm-pack-color: #F6F6A0; }  /* Meridian */

/* Misc Presets */
.postid-1182,   .post-1182   { --rm-pack-color: #b5c6cd; }  /* u-he Repro Presets */
.postid-108791, .post-108791 { --rm-pack-color: #C77A7A; }  /* Memories */
.postid-1264,   .post-1264   { --rm-pack-color: linear-gradient(110deg, #AA84B4, #4C7BB8); }  /* Midnight */
.postid-133740, .post-133740 { --rm-pack-color: #96bd8f; }  /* Future Garage */
.postid-101059, .post-101059 { --rm-pack-color: #97d8c4; }  /* Synth Sounds Collection */
.postid-136012, .post-136012 { --rm-pack-color: #BFAFE6; }  /* Roland Cloud Shortcuts */
.postid-145647, .post-145647 { --rm-pack-color: #A7EFFE; }  /* Arturia DX100 Presets */

/* Assign Colours - All the Time */
.pack-cover,
.e-loop-item,
.loop-grid-box .e-image-link-base,
.elementor-widget-rm-post-grid .e-image-link-base,
.rm-grid .purchasable {
  background: var(--rm-pack-color, var(--bg-base));
}
/* Assign Colours - Not on Dark Mode */
html body,
.add-to-cart-bg-pane {
  background: var(--rm-pack-color, var(--bg-base));
}
/* Assign Colours - Not on Dark Mode */
html.rm-dark body,
html.rm-dark .add-to-cart-bg-pane,
html.rm-dark #latest-pack #diag-left-box {
  background: var(--bg-base);
}
html.rm-dark .rm-theory-img {
  filter: invert(1);
}
/* Assign Colours - Home Page Grids - Not Affected by Darkmode */
.home-grid-light .e-loop-item {
  background: #f7f7f5;
}
/* Special Chord Theory images  White Background on Dark mode */
html.rm-dark .post-117243 .theory-image:not(.rm-theory-img),
html.rm-dark .post-137308 .theory-image:not(.rm-theory-img),
html.rm-dark .post-134769 .theory-image:not(.rm-theory-img) {
  background: var(--text-colour);
  padding: 10px;
  border-radius: var(--radius-hg);
}
/* #endregion */


/* ===== UTILITY CLASSES ===== */
/* #region utility classes */

.u-container {
  max-width: var(--container-width-max)!important;
  margin-inline: auto; 
  width: 100%;
}
.u-content {
  max-width: var(--container-width-content)!important;
  margin-inline: auto; 
  width: 100%;
}
.u-text {
  max-width: var(--container-width-text)!important;
  margin-inline: auto; 
  width: 100%;
}
.u-compact {
  max-width: var(--content-width-compact)!important;
  width: 100%;
}
.elementor .u-pad-inline {
  padding-inline: 24px;
}

.elementor .u-radius-sm { border-radius: var(--radius-sm); }
.elementor .u-radius-md { border-radius: var(--radius-md); }
.elementor .rm-img--rounded, /* BULK REPLACE NAME */
.elementor .u-radius-lg { border-radius: var(--radius-lg); }
.elementor .u-radius-hg { border-radius: var(--radius-hg); }
.elementor .u-border-light { border: var(--border-light); }
.u-shadow-normal { box-shadow: var(--shadow-normal); }
.u-shadow-soft { box-shadow: var(--shadow-soft); }
.u-bg-base { background-color: var(--bg-base); }
.u-bg-surface { background-color: var(--bg-surface); }
.u-bg-muted { background-color: var(--bg-muted); }
.u-bg-overlay-subtle { background-color: var(--overlay-dark-subtle); }
.u-bg-overlay-light { background-color: var(--overlay-light-subtle); }

/* Font Utility Classes */

.u-heading-body {
  font-family: var(--font-body);
  font-weight: 300;
}
.u-text-sm {
  font-size: 0.9375rem;
}
.u-text-muted {
  color: var(--text-muted);
}
.elementor .u-text-dark {
  color: var(--text-on-accent);
}
/* Flex Classes */
.elementor .u-flex-col {
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  gap: 20px;
}
.elementor .u-flex-col-start {
  display: flex; 
  flex-direction: column; 
  align-items: start; 
  gap: 20px;
}
.u-flex-row { 
  display: flex; 
  flex-direction: row; 
  align-items: center; 
  gap: 20px;
}
.u-flex-row-start { 
  display: flex; 
  flex-direction: row;  
  align-items: flex-start; 
  justify-content: center;
  gap: 20px;
}

.u-justify-center { justify-content: center;}
.u-justify-start   {justify-content: flex-start;}
.u-justify-between {justify-content: space-between;}
.u-justify-end     {justify-content: flex-end;}

.u-w-full {width: 100%;}
.u-txt-center {text-align: center;}
.u-space-b {margin-bottom: 30px;}

.elementor .u-gap-md { gap: 20px; }
.elementor .u-gap-sm { gap: 10px; }
.elementor .u-gap-lg { gap: 50px; }
.elementor .u-gap-none { gap: 0; }
.elementor .u-pad-sm { padding: 8px; }
.elementor .u-pad-md { padding: 20px; }
.elementor .u-pad-lg { padding: 30px; }
.elementor .u-pad-none { padding: 0; }

/* #endregion */


/* ===== CONTENT STYLES ===== */
/* #region content assembler */

/* PAGE FULL HEIGHT */

html, body {
    height: 100%;
}
a {
  color: var(--text-colour);
  text-decoration: none;
}
a:hover {
  color: var(--text-colour);
}
/* header + footer stay fixed size */
header,
footer {
    flex-shrink: 0;
}
/* everything else becomes the flexible middle */
body > *:not(header):not(footer) {
    flex: 1;
}
/*Ensure Full Content Width to Avoid Flash of Unstyled Content */
.elementor-widget-theme-post-content {
  width: 100%;
}

/* Custom Image Styles */
.elementor .rm-img--device {
  border-radius: clamp(6px, 1vw, 12px);
  border: 2px solid var(--text-on-accent);
  box-shadow: var(--shadow-normal);
}
.elementor .rm-img--plugin {
  border-radius: clamp(4px, 1vw, 12px);
  box-shadow: var(--shadow-normal);
}

/* Image Pair */
.elementor .rm-image,
.elementor .rm-image-pair img {
    display: block;
}
.elementor .rm-image-pair img {
    width: 100%;
}
.rm-image-pair {
  position: relative;
}
.rm-image-pair--split {
    display: flex;
    gap: 20px;
}
.rm-image-pair--split img {
    max-width: none;
    flex-basis: fit-content;
}
.rm-image-pair--overlap {
    position: relative;
}
.elementor .rm-image-pair--overlap img {
    width: 70%;
}
/* first image (back) */
.elementor .rm-image-pair--overlap .rm-image-pair--left {
    z-index: 1;
    margin-right: 20%;
}
.elementor .rm-image-pair--overlap .rm-image-pair--right {
    margin-top: -20%;
    margin-left: 20%;
}
.rm-image-pair--overlap-alt > .rm-image-pair--right {
  z-index: 1;
}

/* Custom Content Widths */
.elementor .rm-width--narrow { max-width: var(--content-width-narrow); width:100%; }
.elementor .rm-width--medium { max-width: var(--container-width-text); width:100%; }
.elementor .rm-width--wide   { max-width: var(--container-width-wide); width:100%; }

/* Video */
.elementor .rm-video__inner {
  position: relative;
  aspect-ratio: 16 / 9;
}
.elementor .rm-video__inner iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.rm-video__facade,
.rm-video__inner iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.elementor .rm-video-smaller {
  max-width: 900px;
}

/* ===== Patchlist ===== */
.patchlist-layout {
  width: 100%;
}
.patchlist-columns {
  background-color: var(--overlay-dark-subtle);
  border-radius: var(--radius-lg);
  padding: 20px 70px;
  column-count: 4;
  column-gap: 50px;
  max-width: var(--container-width-content);
  margin: 0 auto;
  max-height: 2000px;
  font-style: italic;
}
.patchlist-columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.patchlist-layout {
  overflow: hidden;
}
/* collapsed state */
.patchlist-layout.is-collapsed .patchlist-columns {
  max-height: 0;
  padding: 0;
  overflow: hidden;
}
/* smooth expand */
.patchlist-columns {
  transition: max-height var(--transition-med);
}

/* Media + Text Split */
.rm-split > div {
  width: 100%;
}
.rm-split.image-right {
  flex-direction: row-reverse;
}

/* #endregion */


/* ===== BUTTONS ===== */
/* #region buttons */

/* ===== BASE BUTTON STYLES ===== */
.elementor .elementor-button,
.elementor .woocommerce a.button:not(.cross-sell-bottom .button),
.elementor .woocommerce button.button,
.elementor .woocommerce input.button,
.elementor .u-btn,
#rm-comments #submit,
.woocommerce-notices-wrapper a,
.cross-sells-container .add_to_cart_button,
.cross-sell-bottom .button {
  background-color: transparent;
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1em;
  color: var(--text-colour);
  border: var(--border-heavy);
  border-radius: var(--radius-md);
  transition: all var(--transition-med);
}

/* ===== LARGE BUTTONS ===== */
.elementor .elementor-button,
.elementor .woocommerce a.button:not(.cross-sell-bottom .button, .woocommerce-MyAccount-content .button),
.elementor .woocommerce button.button,
.elementor .woocommerce input.button,
.elementor .u-btn-lg,
#rm-comments #submit {
  font-size: 1.1875rem !important;
  padding: 21px 34px;
}

/* ===== SMALL BUTTONS ===== */
.woocommerce-notices-wrapper a,
.cross-sells-container .add_to_cart_button,
.cross-sell-bottom .button,
.elementor .u-btn-sm {
  font-size: 1rem !important;
  padding: 8px;
}

/* ===== UPPERCASE (PRIMARY BUTTONS) ===== */
.elementor .elementor-button,
.woocommerce a.button,
.woocommerce button.button,
#cart-form .button:not(woocommerce-MyAccount-content .button),
#cart-form .woocommerce-checkout #payment #place_order,
.elementor .u-btn,
#rm-comments #submit {
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Button Hover Styles */
:is(
  .elementor .elementor-button:not(#elementor-menu-cart__toggle_button),
  .elementor .woocommerce a.button,
  .elementor .woocommerce button.button,
  .elementor .woocommerce input.button,
  .elementor .u-btn,
  .woocommerce-notices-wrapper a,
  #rm-comments #submit:hover
):is(:hover, :focus) {
  background-color: var(--text-colour)!important;
  color: var(--bg-surface);
  fill: var(--bg-surface)!important;
}

/* Custom Add to Cart Button - Small */
.elementor-sticky--active .rm-cart .u-btn {
    padding: 13px 26px;
    margin: 0 auto;
}
/* Center Simple PRoduct Button */
.elementor-add-to-cart {
  text-align: center;
}

.rm-cart {
  margin: 0 auto!important;
}

.rm-cart .single_add_to_cart_button {
  white-space: nowrap;
}

/* Hide update cart button */
button[name=update_cart] {
    display: none !important;
}

/* Add bottom border to links in various Elementor components */
.elementor .elementor-widget-text-editor a,
#more-downloads-link a,
.elementor .rm-text a,
.comment-respond a,
.elementor .e-paragraph-base a {
    padding-bottom: 0.05em;
    border-bottom: 1px solid var(--border-color-muted);
}

/* Hide specific elements in WooCommerce checkout pages */
.tp-checkout-page-wrapper .woocommerce td.product-name .wc-item-meta,
.woocommerce td.product-name > ul.wc-item-meta {
    display: none;
}

/* Fix Menu Cart Icon Border */
.elementor-menu-cart__toggle_button {
    border: none!important;
}

/* #endregion */


/* ===== BUNDLES ===== */
/* #region bundles */

/* Header and bundle section transitions */
#bundle-section-title, 
#bundle-section-selector, 
.elementor-133318.elementor-location-header {
    transition: background-color var(--transition-med);
}

/* Upgrade Info Box */
.post-141484 .user-topup-notice {
  background-color: var(--overlay-light-subtle);
  padding: 1em;
  margin-top: 1em;
  border-radius: var(--radius-md);
}

/* Hide Upgrade text info if empty */
.post-141484 .user-topup-notice:not(:has(p:not(:empty))) {
    display: none;
}

/* #endregion */


/* ===== ARTICLES AND COMMENTS ===== */
/* #region articles */

/* Spotify Playlist */
#rm-spotify {
    max-width: var(--content-width-tight);
    margin: auto;
}

/* Styling for blockquotes */
blockquote {
    border-left: 4px solid #ccc;
    margin: 1.5em 0;
    padding: 0.5em 1em;
    color: var(--text-muted);
    font-style: italic;
    text-align: right;
    background: none;
    max-width: var(--container-width-text);
}

/* DOWNLOADS RELATED FLEXES */
.elementor .downloads-related-flex {
  flex-wrap: wrap;
}

/* COMMENTS */
/* TITLE */
#rm-comments .comment-section-title {
    font-size: 32px;
}

/* LIST RESET (fixes bullets) */
#rm-comments .comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#rm-comments .comment-list .children {
    list-style: none;
    padding-left: 40px;
    margin: 0;
}

/* COMMENT ITEM */
#rm-comments .rm-comment-item {
    border-top: 1px solid var(--overlay-dark-subtle);
    padding: 18px 0;
}

/* AVATAR — overrides Elementor */
#rm-comments img.rm-avatar {
    width: 60px;
    height: 60px;
    min-width: 60px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

#rm-comments .rm-comment-text p {
  color: var(--text-muted);
}

/* CONTENT */
#rm-comments .rm-comment-content {
    flex: 1;
}

#rm-comments .rm-author {
    font-weight: 600;
    margin-right: 10px;
}

/* REPLY */
#rm-comments .rm-reply {
    margin-top: 8px;
}

#rm-comments .rm-reply a {
    text-transform: uppercase;
    font-weight: 500;
    border-bottom: solid 2px darkgrey;
}

/* FORM */

#rm-comments textarea,
#rm-comments input {
    width: 100%;
    border: var(--border-light);
    padding: 12px 14px;
    border-radius: var(--radius-md);
}

#rm-comments textarea:focus,
#rm-comments input:focus {
    outline: none;
    border-color: var(--border-color-muted);
}

/* #endregion */


/* ===== MINI DEMO PLAYER ===== */
/* #region mini demo player */

.pack-grid-miniplayer {
  padding: 0 6px 2px 6px
}

.rm-mini {
  gap: 6px;
}

/* Buttons */
.rm-mini__btn {
  background: unset;
  border: unset;
  width: 36px;
  height: 36px;
  cursor: pointer;
  color: var(--text-on-accent);
}
.rm-mini__btn:hover,
.rm-mini__btn:focus {
  color: var(--text-on-accent);
  background: transparent;
}

/* Time */
.rm-mini__time {
  font-size: 14px;
  min-width: 40px;
  color: var(--text-on-accent);
}

/* Progress */
.rm-mini__progress {
  flex: 1;
  height: 6px;
  background: var(--bg-surface);
  border-radius: var(--radius-sm);
  overflow: hidden;
  cursor: pointer;
}

.rm-mini__progress-fill {
  width: 0%;
  height: 100%;
  background: var(--text-colour);
  transition: width 0.1s linear;
}

/* Optional modifier */
.rm-mini--dark .rm-mini__progress {
  background: var(--border-color-muted);
}

/* Icon base */
.rm-mini .rm-mini__icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

/* #endregion */


/* ===== PRODUCT PAGES ===== */
/* #region product pages */

/* Button Spacing */
.add-to-cart-bg-pane {
  --padding-top: 10px;
  --padding-bottom: 10px;
}

.elementor .product-infobox {
  padding: 20px;
  background-color: var(--bg-surface);
  box-shadow: var(--shadow-normal);
}
/* Spacing After Requirements Because of List */
.product-infobox ul {
  margin-bottom: .9rem;
}
/* Requirements Section */
.product-infobox:after, .product-infobox:before {
    content: "";
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    background-color: var(--bg-surface);
    clip-path: polygon(
        0 -2px, 5% 100%, 10% 0, 15% 100%, 20% 0, 25% 100%, 30% 0, 35% 100%, 40% 0, 45% 100%,
        50% 0, 55% 100%, 60% 0, 65% 100%, 70% 0, 75% 100%, 80% 0, 85% 100%, 90% 0, 95% 100%,
        100% -2px
    );
}
.product-infobox:before {
    top: -2px;
    transform: rotate(180deg);
}
.product-infobox:after {
    bottom: -2px;
}

/* Strikethrough style */
.strikethrough {
  text-decoration: line-through;
}

/* Free back Download Button */
.rm-free-dl::before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-right: 0.1em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* #endregion */


/* ===== HOME ===== */
/* #region home page */

/* LATEST ARTICLE / PACK LOOP LAYOUT */
.home-latest-flex > .elementor-widget-loop-grid {
  width: 100%;
  border-radius: 0!important;
}

.elementor .home-latest-info {
  margin-inline-start: 50px;
  margin-inline-end: 50px;
}

/* Different Image Settings */
.elementor .home-latest-img-box {
  width: 93%;
}
#latest-article .home-latest-img {
  height: 100%;
  object-fit: cover;
  padding: 0;
}

#latest-pack .home-latest-img {
  max-width: 700px;
  padding: 30px;
}

/* FEATURED ARTICLES AND PACKS GRIDS */

.elementor-posts-masonry > .loop-item,
.elementor-posts-masonry > .loop-item > .e-con-full {
    border-radius: var(--radius-lg);
}

/* DARK AND LIGHT DIVIDER */

.rm-divider {
    transform: rotate(180deg);
}
.rm-divider svg {
  display: block;
  width: 100%;
  height: 50px;
  left: 50%;
  position: relative;
  transform: translateX(-50%);
}
.elementor .home-flex-dark,
.elementor #home-divider-dark {
  background-color: var(--text-on-accent);
}
#rm-divider-dark .elementor-shape-fill {
  fill: var(--bg-base);
}
#rm-divider-light .elementor-shape-fill {
  fill: var(--text-on-accent);
}
.home-divider > div {
  width: 100%
}

/* #endregion */


/* ===== ABLETON LIVE PROJECTS ===== */
/* #region Projects */

/* Table base */
.rm-projects__table,
.rm-projects__table td {
  border: none;
}

.rm-projects__table {
  table-layout: fixed;
  border-collapse: collapse;
  font-weight: 400;
  font-size: 1.125rem;
  margin-bottom: 0;
}

.rm-col-image { width: 140px; }
.rm-col-name { max-width: 809px; }
.rm-col-price { width: 94px; }
.rm-col-buy { width: 94px; }

.rm-projects__cell {
  vertical-align: last;
}

.rm-projects__inner {
  min-height: 70px;
  padding: 12px 16px;
   box-sizing: border-box;
  transition: padding var(--transition-med);
}

.rm-projects__cell--image > .rm-projects__inner {
  padding: 0;
}

.rm-projects__table td {
  padding: 0;
}

.rm-projects__row:nth-child(odd) {
  background-color: var(--bg-surface);
}

/* Image cell */
.rm-projects__cell--image {
  height: 70px;
  padding: 0;
  vertical-align: top;
}

.rm-projects__cell--image img {
  display: block;
  height: 70px;
  width: auto;
}

/* Price column */
.rm-projects__cell--price {
  font-weight: 500;
  white-space: nowrap;
}

/* Checkbox */
.rm-projects__checkbox {
  appearance: none;
  background-color: var(--bg-surface);
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  display: grid;
  place-content: center;
  cursor: pointer;
}

.rm-projects__checkbox::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: transform var(--transition-fast);
  box-shadow: var(--shadow-inset);
}

.rm-projects__checkbox:checked::before {
  transform: scale(1);
}

/* Details */
.rm-projects__details {
  overflow: hidden;
  max-height: 0;
  padding-top: 0;
  padding-left: 1em;
  padding-right: 1em;
  transition: max-height var(--transition-med);
}

.rm-projects__row.is-expanded .rm-projects__details {
  padding: 0 18px 18px 18px;
}

/* Divider */
.rm-projects__details::before {
  content: '';
  display: block;
  height: 1px;
  background: var(--border-light);
  margin-bottom: 0.75em;
}

/* Details grid */
.rm-projects__details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 1em;
  margin-top: 0.6em;
}

/* Thumbnails */
.rm-projects__thumbs {
  flex-wrap: wrap;
  padding-bottom: 10px;
}

.rm-projects__thumb {
  display: block;
  object-fit: cover;
  border-radius: var(--radius-md);
  transition: transform var(--transition-med);
}

.rm-projects__lightbox-link:hover .rm-projects__thumb {
  transform: scale(1.05);
}

/* Lightbox fix */
.rm-projects .gbtn {
  padding: 0;
  border: none;
}

.glightbox-container .gslide {
  padding: 0 5vw;
}

/* Cursor behavior */
.rm-projects__row:not(.is-expanded) .rm-projects__cell--name,
.rm-projects__row.is-expanded .rm-projects__inner > *:not(.rm-projects__details)  {
  cursor: pointer;
}

.rm-projects__row.is-expanded .rm-projects__inner {
  cursor: default;
}

/* Disabled */
.rm-projects .disabledit {
  background-color: var(--border-color-muted);
  border-color: var(--border-color-muted);
  cursor: default;
}

.rm-projects__overview-text {
  min-width: 0;
  padding-right: 20px;
}

.rm-projects__cell--name {
  min-width: 0;
}
/* Buy */
.rm-projects__buy {
  align-self: center;
  margin: 15px;
}

/* Text align Project Title header + add spacing */
th.rm-projects__cell:nth-child(2) {
  text-align: left;
  padding: 16px;
}

/* Multi buy form */
#rm-multi-cart-form {
  text-align: right;
}

/* Accessibility */
.rm-projects .visually-hidden {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* #endregion */


/* ===== CHORD THEORY ARTICLES ===== */
/* #region chord theory */

.rm-switch {
  position: relative;
  max-width: var(--content-width-tight);
  height: 60px;
  margin: -20px 20px auto;
  border: 1px solid var(--text-colour);
  overflow: hidden;
  letter-spacing: 4px;
  font-size: 16px;
  color: var(--text-colour);
}

.rm-switch__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.rm-switch__label,
.rm-switch__alt {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  pointer-events: none;
}

.rm-switch__label {
  left: 0;
  color: var(--bg-surface);
  z-index: 3;
}

.rm-switch__alt {
  right: 0;
  color: var(--text-colour);
  z-index: 3;
}

/* sliding background */
.rm-switch__label::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  background: var(--text-colour);
  transform: translateX(0);
  transition: transform var(--transition-med);
  z-index: -1;
}

/* state change */
.rm-switch__input:checked + .rm-switch__label::before {
  transform: translateX(100%);
}

.rm-switch__input:checked + .rm-switch__label {
  color: var(--text-colour);
}

.rm-switch__input:checked ~ .rm-switch__alt {
  color: var(--bg-surface);
}

/* CHORD GRID */

.chord-grid {
  display: grid;
  grid-template-columns: auto 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  font-weight: 500;
}

.chord-grid .row {
  display: contents;
}

.chord-grid .label {
  text-align: right;
  padding-right: 0.8em;
  z-index: 1;
  white-space: nowrap;
}

.chord-grid div:not(.label):nth-child(8n + 2) {
  border-left: 2px solid var(--text-colour);
}

.chord-grid div {
  padding: 0.5em 0.3em;
  text-align: left;
  font-family: var(--font-heading);
  font-size: 3rem;
}

.tight-flat {
  letter-spacing: 0.1em;
}

.chord-grid .numeral-shift {
    padding-left: 4px;
}
.theory-greyed {
    color: var(--text-muted);
}
.sharp-spacing {
    letter-spacing: 0.02em
}
.sharp {
  font-size: 0.85em;
  position: relative;
  top: -0.05em;
}
.theory-highlight {
    color: cornflowerblue;
}

/* #endregion */


/* ===== BRIAN ENO ARTICLES ===== */
/* #region brian eno articles */

/* Thursday Afternoon-specific styling */
.thursday-grid div img {
  max-width: 200px;
}

/* Grid styling */
.thursday-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.enoplayer-grid {
  display: grid;
  grid-template-columns: 50% 50%;
}

.loop-box-dbl {
  grid-column: 1 / span 2;
  max-width: 50%;
  margin: auto;
}

.generative-player .loop-global-section > .eno-inactive-button {
  color: var(--text-muted);
  fill: var(--text-muted);
}

.generative-player .hidden {
  display: none;
}

.loop-global-button {
  fill: var(--text-colour);
}
.elementor #global-rand, 
.elementor #global-revert {
  padding: 18px 34px;
}

/* =========================
   GLOBAL ICONS
========================= */

.u-icon {
  display: inline-block;
  background-color: currentColor;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;

  width: 1em;
  height: 1em;
}

.u-icon-play {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z'/%3E%3C/svg%3E");
}

.u-icon-stop {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z'/%3E%3C/svg%3E");
  }

  .u-icon-pause {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z'/%3E%3C/svg%3E");
  }

.u-icon-volume {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z'/%3E%3C/svg%3E");}

.u-icon-muted {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z'/%3E%3C/svg%3E");
  }


/* individual Loop button styling */
.generative-player .loop-button {
  border: none;
  font-size: 32px;
  transition: transform 0.5s;
  background: none;
  color: var(--text-colour);
}

.loop-button .u-icon {
  width: 1.2em;
  height: 1.2em;
}

.generative-player .loop-button:hover,
.generative-player .loop-button:focus {
  transform: scale(1.1);
}

.generative-player .loop-button-blue {
  color: CornflowerBlue;
}

/* #endregion */


/* ===== FOOTER ===== */
/* #region footer */

.elementor .footer-flex-1 {
  padding-block-start: 42px;
  background-color: #00000008;
  margin-block-start: 60px;
}
.elementor .footer-flex-2 {
  padding: 30px;
  background-color: #0000000f;
}

#social-icons {
  --grid-template-columns: repeat(0, auto);
  --icon-size: 30px;
}

#social-icons .elementor-social-icon i {
  color: var(--text-colour);
}
#social-icons .elementor-social-icon {
  background-color: rgba(39, 39, 39, 0);
}
#social-icons .elementor-social-icon svg {
  fill: var(--text-colour);
}

#footer-form .elementor-field-group {
  padding-right: calc(10px / 2);
  padding-left: calc(10px / 2);
  margin-bottom: 10px;
}
#footer-form .elementor-form-fields-wrapper {
  margin-left: calc(-10px / 2);
  margin-right: calc(-10px / 2);
  margin-bottom: -10px;
}
#footer-form .elementor-field-group.recaptcha_v3-bottomleft,
#footer-form .elementor-field-group.recaptcha_v3-bottomright {
  margin-bottom: 0;
}

.footer-menu {
    line-height: normal;
  list-style: none;
  margin: 0;
  padding: 0;
}

.elementor .footer-col-news {
  max-width: var(--content-width-narrow);
  align-items: stretch;
}

#form-field-email {
  color: var(--text-muted);
}

/* #endregion */


/* ===== AUDIO PLAYER ===== */
/* #region audio player */

/* ICONS */
.rm-player__control--icon {
    color: var(--text-white);
    cursor: pointer;
    padding: 0 6px;
    line-height: 1em;
}

.rm-player__icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
}

.rm-player__control--icon:hover {
    opacity: 1;
}

/* Player Title is in Elementor CSS Rules */
.rm-player__duration {
    font-family: IBM Plex Sans;
    font-size: 17px;
}

/* TEXT */
.rm-player__control--indicator {
    font-size: 15px;
    padding: 0 6px;
}

/* PLAYER WRAPPER */
.rm-player__controls {
  background-color: var(--text-on-accent);
  overflow: hidden;
}

.rm-player {
    margin: 0 auto 20px;
}

/* CONTROL BAR */
.rm-player__bar {
    color: var(--text-white);
    padding: 12px;
    transition: background-color 0.2s linear, box-shadow 0.2s linear, opacity 0.2s linear, color 0.2s linear;
}

.rm-player__bar:hover .rm-player__control {
    opacity: 1;
}

.rm-player__control {
    cursor: pointer;
    transition: opacity 0.2s linear, color 0.2s linear;
}

/* PROGRESS */
.rm-player__control--progress {
    border-radius: 100px;
    margin: 0 6px;
    height: 12px;
    position: relative;
    transform: translate3d(0, 0, 0);
    overflow: hidden;
    cursor: pointer;
}

.rm-player__control--progress__inner {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background-color: var(--text-white);
    border-radius: 0 100px 100px 0;
    transition: background-color 0.2s linear;
}

.rm-player__progress-track,
.rm-player__volume-track {
    opacity: 0.2;
    right: 0;
}

/* FLEX AREAS */
.rm-player__time {
    padding: 6px;
}

.rm-player__progress {
    flex-basis: 80%;
    flex-grow: 1;
}

.rm-player__volume {
    flex-basis: 20%;
    flex-grow: 1;
    display: flex;
    position: relative;
    align-items: center;
}

.rm-player__volume-bar {
    flex-grow: 1;
}

/* WRAPPER */
.rm-player__bar-wrapper {
    transition: transform 0.4s cubic-bezier(0.42, 0, 0.2, 1);
}

/* VISIBILITY */
.rm-player__playlist--hidden,
.rm-player__source {
    display: none;
}

/* PLAYLIST */
.rm-player__playlist {
    padding: 0;
    margin: 0;
}

.rm-player__item {
    padding: 6px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #C2C2C2;
    cursor: pointer;
}

.rm-player__item.ee--is-active {
    color: white;
}

/* #endregion */


/* ===== POST GRID ===== */
/* #region post-grid */

/* Wrapper */
.rm-filters li {
    display: inline-block;
    margin: 0 0.50em;
}
/* Filter links */
.rm-filters a {
    position: relative;
    line-height: 19px;
    padding: 3px 0;
    color: var(--text-colour);
    text-transform: capitalize;
    text-decoration: none;
    transition: all var(--transition-med);
    font-size: 18px;
}
/* Underline animation */
.rm-filters a::after {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--text-colour);
    content: "";
    opacity: 0;
    transform: translateY(10px);
    transition: opacity var(--transition-med), transform var(--transition-med);
}
/* Active / hover state */
.rm-filters a:hover::after,
.rm-filters a:focus::after,
.rm-filters a.active::after {
    opacity: 0.6;
    transform: translateY(0);
}

/* Grid */
.rm-post-grid-wrapper .rm-grid {
    flex-wrap: wrap;
    margin: 0 -5px;
}

/* Image */
.rm-post-grid-wrapper .rm-item img {
    display: block;
}

.rm-post-grid-wrapper .rm-item > a > img,
.e-loop-item:not(#latest-pack .type-product),
.rm-post-grid-wrapper .e-loop-item, .type-product:not(#latest-pack .type-product) {
    border-radius: var(--radius-lg);
}

.elementor .loop-grid-box {
  background-color: var(--overlay-light-medium);
}

/* Sound Pack Description with Price */
.product-description-wrapper {
  overflow: hidden; /* clears float */
  color: var(--text-on-accent);
}

.product-description-wrapper .price {
  float: right;
  margin-left: 9px;
  font-weight: 500;
}

.product-description-wrapper .description {
  display: block;
}

.rm-grid .type-product .e-image-base {
  padding: 8px;
}

/* Sound Pack Grid Hover Effect */
.rm-grid .rm-item .e-loop-item,
.home .elementor-loop-container .e-loop-item:not(#latest-pack .e-loop-item,#latest-article .e-loop-item) {
  box-shadow: 0 8px 20px rgba(0,0,0,.1);
  transition: box-shadow var(--transition-med),transform var(--transition-med);
}
.rm-grid .rm-item .e-loop-item:hover,
.home .elementor-loop-container .e-loop-item:not(#latest-pack .e-loop-item,#latest-article .e-loop-item):hover {
  box-shadow: 0 12px 28px rgba(0,0,0,.15);
  transform: translatey(-2px);
}

/* Sound Pack Image Padding, but Not For Articles */
.elementor-loop-container .type-product .e-image-base {
  padding: 8px;
}

/* #endregion */


/* ===== HEADER ===== */
/* #region header */

#header-menu .elementor-item {
  padding-left: 9px;
  padding-right: 9px;
}
#header-logo > a > img {
  width: 50px;
}
#header-menu .elementor-nav-menu--main .elementor-item {
  color: var(--text-colour);
}
.elementor .header-main-flex {
  padding-block-start: 10px;
  padding-block-end: 10px;
  padding-inline-start: 5vw;
  padding-inline-end: 5vw;
}

.header-icon {
	width: 20px;
	height: 20px;
}

.header-icon a,
.header-icon svg {
	width: 100%;
	height: 100%;
	display: block;
	fill: var(--text-colour);
}
#header-account {
  margin-right: 10px;
  margin-left: auto;
}

/* #endregion */


/* ===== WOOCOMMERCE, NOTICES, CART & CHECKOUT ===== */
/* #region cart and checkout */

/* Set Form Width Spacing and Border Radius */
#cart-form {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

/* Set Variables Used on Cart and Checkout Pages */
.woocommerce {
  --sections-border-radius: var(--radius-md);
  --order-summary-rows-gap-top: 0;
  --order-summary-rows-gap-bottom: 0;
  --order-summary-items-divider-weight: 0;
  --order-review-title-alignment: center;
  --forms-fields-border-radius: var(--radius-sm);
  --forms-fields-padding: 12px 14px;
  --forms-rows-gap: 10px;
  --order-summary-totals-color: var(--text-colour);
  --totals-color: var(--text-colour);
  --sections-background-color: var(--bg-surface);
  --order-summary-title-color: var(--text-colour);
  --order-summary-remove-icon-normal-color: var(--text-colour);
  --forms-labels-color: var(--text-muted);
  --order-summary-color: var(--text-colour);
  --order-summary-items-color: var(--text-colour);
  --forms-fields-normal-color: var(--text-muted);
}

/* Hide Quantity Columns */
#cart-form .product-quantity,
#cart-form .product-price {
  display: none
}

/* Image Sizes */
#cart-form .product-thumbnail > img {
    height: 51px;
    width: auto;
    max-width: 102px;
}

/* Cart Totals Box Spacing */
.cart-collaterals {
  display: flex;
  flex-direction: column;
  gap: 17px;
}

/* Hide Empty Forms */
#cart-form  .actions,
#customer_details > .col-2 {
  display: none;
}

/* Checkout 'Your Order' Box */
#cart-form .woocommerce-checkout-review-order-table th,
#cart-form .woocommerce-checkout-review-order-table td {
  padding: 9px 0;
}

#cart-form .woocommerce-checkout-review-order-table tr {
  border-bottom: 1px solid var(--overlay-dark-subtle);
}

/* Checkout Form Fields, double ID for specificity - ALSO FOR VARIABLE PRODUCTS DROPDOWN */
#cart-form#cart-form input.input-text,
.elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row select#billing_country,
.rm-select.wc-default-select {
  background-color: var(--bg-base);
  border: var(--border-light);
  color: var(--text-muted);
  font-size: 16px;
  width: 100%;
  transition: border var(--transition-med);
  font-family: var(--font-body);
}

.elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row > .woocommerce-input-wrapper > input.input-text:focus,
#coupon_code:focus,
.e-woocommerce-login-anchor #username:focus,
.e-woocommerce-login-anchor #password:focus {
  border-color: var(--text-colour);
  outline: none;
}

/* Style the placeholder (country dropdown) to match input placeholders  - ALSO FOR VARIABLE PRODUCTS DROPDOWN */
select#billing_country:invalid {
  color: var(--border-color-muted); /* slightly lighter like other placeholders */
}

/* Order Received */
.woocommerce-order section {
  margin-top: 32px;
  padding: 4px 28px 24px 28px;
  background-color: var(--bg-surface);
  border: var(--border-light);
  border-radius: var(--radius-lg);
}

/* Even Downloads Table Spacing on Thank You page */
body.page-id-43 .woocommerce-table--order-downloads th {
  width: 50%;
}

/* CART AELIA CURRENCY STYLING */
.elementor .elementor-widget-woocommerce-cart .woocommerce select,
.elementor .elementor-widget-woocommerce-cart .woocommerce select:focus {
  border: var(--border-heavy);
  border-radius: var(--radius-md);
  font-size: 18px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-colour);
  background-color: transparent;
}

/* Currency Dropdown  Styling - Checkout Only */
body.page-id-43 .aelia_cs_currencies {
  border: solid 1px #d5d8dc;
  border-radius: var(--radius-md);
  color: var(--text-colour);
  background: var(--bg-surface);
  font-weight: 400;
  padding: 12px 15px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  margin-top: 5px;
  font-size: 17px;
}

/* Create an Account + Subscribe Text */
.mc4wp-checkbox,
.woocommerce-form__label {
  font-size: 1rem;
}

/* Space Below Currency Switcher */
body.page-id-43 .widget_wc_aelia_currencyswitcher_widget {
    margin-bottom: 2em;
}

/* Payment Form */
#payment .payment_box > fieldset {
  background: var(--bg-base);
  padding: 16px;
  border: var(--border-light);
  border-radius: var(--radius-md);
  margin-top: 10px;
}

/* Remove Bulletpoints */
#cart-form  .wc_payment_methods {
    list-style-type: none;
}

/* Payment Options Fonts */
#cart-form #payment .payment_methods .wc_payment_method {
  line-height: 34px;
  font-size: 19px;;
}

#cart-form  .wc-ppcp-popup__container > p,
#cart-form  .woocommerce-validated > label {
  font-size: 16px;
}

/* Show Password Input */
#customer_login .show-password-input {
  padding: 8px 12px;
  border: var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 14px;
  background: var(--bg-surface);
  margin-top:5px;
}

#customer_login .show-password-input:hover {
  background: var(--text-colour);
  color: var(--bg-surface);
}

#customer_login .show-password-input::before {
  content: 'Show';
}

#customer_login .show-password-input.display-password::before {
  content: 'Hide';
}

/* Styling for order complete box */
.order-complete-box {
    margin: auto auto 30px;
    padding: 17px 40px;
}

#cart-form .woocommerce-MyAccount-downloads-file {
    display: block;
} 
#cart-form.elementor-widget-woocommerce-checkout-page {
    max-width: var(--container-width-content);
    width: 100%;
    margin: 0 auto;
}

.elementor-widget-woocommerce-checkout-page .woocommerce-form-login-toggle,
.elementor-widget-woocommerce-checkout-page .e-woocommerce-login-nudge,
.elementor-widget-woocommerce-checkout-page .lost_password {
  font-size: 17px;
}

/* NOTICES */
/* Limit maximum width for WooCommerce notices and center align */
.woocommerce-notices-wrapper {
    margin: auto;
}

/* WooCommerce Message */
.woocommerce-message,
.woocommerce-error {
    background-color: var(--bg-surface);
    border: var(--border-light);
    border-left: 4px solid var(--text-colour);
    padding: 16px 30px;
    margin: 0 auto;
    margin-bottom: 25px;
    border-radius: var(--radius-md);
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    min-height: 80px;
    box-shadow: 3px 3px 6px var(--text-colour);
    width: fit-content;
}

.woocommerce-message a,
.woocommerce-error a {
  margin-left: 10px;
}

/* Don't underline prices */
.elementor ins {
  text-decoration-line: none;
}

/* CART CROSS SELLER */

.cross-sells-scroll-wrapper {
    display: flex;
    align-items: center;
    position: relative;
}

.cross-sells-scroll-area {
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 30px;
}

.cross-sells-scroll-area::-webkit-scrollbar {
    display: none;
}

.cross-sells-scroll-area ul.products {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    padding-left: 5px;
}

.cross-sells-scroll-wrapper .scroll-left,
.cross-sells-scroll-wrapper .scroll-right {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
}
.cross-sells-scroll-wrapper .scroll-left:hover,
.cross-sells-scroll-wrapper .scroll-right:hover {
    background-color: transparent;
    color: var(--text-colour);
}

.cross-sells-scroll-wrapper .scroll-left:focus,
.cross-sells-scroll-wrapper .scroll-right:focus {
    background: none;
}

.cross-sells-scroll-wrapper .scroll-left > svg,
.cross-sells-scroll-wrapper .scroll-right > svg {
    height: 40px;
    width: 40px;
}

.cross-sells-container {
  background-color: var(--sections-background-color,#fff);
  border-color: var(--sections-border-color,#d5d8dc);
  border-radius: var(--sections-border-radius,3px);
  border-style: var(--sections-border-type,solid);
  border-width: 1px;
  margin-top: 30px;
}

.cross-sells-container .products > .product {
  width: 300px;
  min-width: 300px;
  list-style: none;
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--rm-pack-color);
  box-shadow: var(--shadow-soft);
}

.upsell-overlay {
  background-color: var(--overlay-light-subtle);
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}

.upsell-overlay > img {
  background-color: var(--rm-pack-color);
  padding: 13px;
}

.woocommerce-loop-product__title,
.cross-sell-acf-desc {
  padding: 0 16px;
}

.cross-sells-container .cross-sell-acf-desc {
  font-size: 18px;
}

.cross-sells-container .woocommerce-loop-product__title {
    margin: 0;
}

/* arrows don’t steal layout width */
.cross-sells-container .scroll-left, 
.cross-sells-container .scroll-right {flex: 0 0 auto;}

/* CUSTOMER LOGIN */

.woocommerce:has(#customer_login) {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#customer_login {
  max-width: var(--container-width-text);
  width: 100%;
}

/* Login UI */
.auth-option {
  cursor: pointer;
  font-size: 18px;
  padding: 10px 20px;
  border-bottom: 2px solid transparent;
}

.auth-option.active {
  border-color: var(--text-colour);
  font-weight: bold;
}

/* Hide Login / Register Form */
#customer_login .hidden {
  display: none;
}

/* Login message */
.rm-login-message {
  padding: 20px;
  margin: 5px auto;
  background: var(--overlay-light);
}

/* #endregion */


/* ===== FONTS ===== */
/* #region fonts */

/* Set Base */

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1.1875rem;
  line-height: 1.8em;
  color: var(--text-colour);
}

/* Headings */

h1, h2, h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  text-align: center;
}

h1 { font-size: 3.25rem;}
h2 { font-size: 2.5rem; }
h3 { font-size: 1.75rem;}

/* Set Bold Fonts */
b, strong,
#cart-form table.shop_table th, 
#cart-form table.shop_table td::before,
#cart-form th span.nobr {
  font-weight: 600!important; /* B and Strong get overruled so important for now */
}

/* FONTS - BODY */

.elementor .loop-grid-desc {
  font-size: 18px;
  line-height: 1.8em;
  padding: 14px;
  color: var(--text-on-accent);
}

/* Loop Sizes and Styles */

.elementor .rm-header-articles-listing {
  font-size: 25px;
  text-align: center;
}

.elementor .bundle-grid {
  font-size: 1.5rem;
  margin-block-start: 3px;
  background: var(--bundle-grid-bg);
}

.elementor .grid-heading {
  font-size: 1.75rem;
  margin: 14px;
  color: var(--text-on-accent);
}

/* Specific Font Sizes */

.elementor .news-loop-text {
  font-size: 1.1rem;
}

.elementor .rm-player__title {
  font-size: 17px;
  line-height: 2em;
}

.elementor .download-related-title {
  font-size: 33px;
}

/* EXPORTED ROM ELEMENTOR */

.elementor .rm-text-italics {
  font-style: italic;
}
.elementor .rm-text-grey {
  color: var(--text-muted);
  text-align: end;
}
.elementor .rm-text-note {
  text-align: center;
  font-style: italic;
  margin-block-start: -1.5rem;
}
.elementor .rm-text-white {
  color: var(--text-white);
}

/* Gap Spacing for Pack Subtitles and News Date */
.elementor .tight-before {
  margin-block-start: -16px;
}

/* Cart and Checkout Overrides */
.elementor-widget-woocommerce-cart,
.elementor-widget-woocommerce-cart *,
#cart-form.elementor-widget-woocommerce-checkout-page {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--text-colour);
  line-height: 1.8em;
  font-size: 1.1875rem;
}

/* Styling for image captions */
.elementor figcaption {
  font-family: var(--font-body);
    color: var(--text-muted);
    margin: 10px auto;
    max-width: 800px;
    font-style: italic;
    font-size: 16px;
}

/* Set Heading Font (Cart Totals) */
#cart-form h2,
#cart-form h3 {
  color: var(--text-colour);
  font-weight: inherit;
  font-size: 1.5rem;
  text-align: center;
}

/* Woocommmerce Set Cart and Checkout Font - Needed due to Elementor Overruling */
#cart-form table.shop_table th,
#cart-form table.shop_table td,
#cart-form table.shop_table td::before,
#cart-form table.shop_table span,
#cart-form label,
#cart-form .currency_selector,
#cart-form .e-woocommerce-coupon-nudge,
#cart-form .woocommerce-thankyou-order-details {
  text-align: start;
  vertical-align: revert;
}


#cart-form label,
#cart-form .currency_selector,
#cart-form .e-woocommerce-coupon-nudge {
  font-size: 1rem;
  line-height: 25px;
}

#cart-form table.shop_table span,
#cart-form table.shop_table th,
#cart-form table.shop_table td,
#cart-form table.shop_table td::before,
#cart-form .woocommerce-thankyou-order-details {
  font-size: 1.1875rem;
}

#cart-form .e-woocommerce-coupon-nudge,
.currency_selector {
  font-size: 17px;
}

/* TABLET */
@media (max-width: 1024px) {

body { font-size: 1.125rem;}
h1   { font-size: 2.5rem;}
h2   { font-size: 1.875rem;}
h3   { font-size: 1.5rem;}

.elementor .bundle-grid {
  font-size: 1.4375rem;
}
.chord-grid div {
    font-size: 2rem;
}
.elementor .download-related-title {
  font-size: 27px;
}
.elementor .grid-heading {
  font-size: 1.43rem;
}
.elementor .loop-grid-desc {
  font-size: 16px;
}
 }

/* MOBILE */
@media (max-width: 767px) {

body { font-size: 1.1rem; }
h1   { font-size: 2.3rem; }
h2   { font-size: 1.8rem; } 
h3   { font-size: 1.5rem}

.chord-grid div {
    font-size: 1.4rem;
    padding: 0.1em 0.3em;
  }
.elementor .download-related-title {
  font-size: 24px;
}
.elementor .grid-heading {
  font-size: 1.25rem;
}
.elementor .loop-grid-desc {
  font-size: 15px;
}
.elementor .rm-header-articles-listing {
  font-size: 23px;
}
}

/* #endregion */


/* ===== BUNDLE + ACCOUNT MENU ===== */
/* #region bundle and account menu */

/* Navigation base */
#cart-form .woocommerce-MyAccount-navigation ul,
#bundle-list ul {
  list-style: none;
  border-left: 1px solid var(--text-colour);
  padding: 5px 10px;
  color: var(--text-on-accent);
}

/* Active / hover */
#cart-form .woocommerce-MyAccount-navigation li.is-active a,
#cart-form .woocommerce-MyAccount-navigation li:not(.is-active) a:hover,
#bundle-list ul li a.active {
  background: var(--text-colour);
  color: var(--bg-surface);
  box-shadow: var(--shadow-soft);
}

#cart-form .woocommerce-MyAccount-navigation a,
#bundle-list ul li a {
    display: block;
    border: none;
    font-size: 19px;
    font-weight: 400;
    border-radius: var(--radius-lg); /* Slightly round the corners */
    padding: 12px 15px;
    color: var(--text-colour);
    text-decoration: none; /* Remove underline */
    transition: all var(--transition-med); /* Smooth transition for all changes */
    margin-bottom: 10px;
}

/* Hover state styling, excluding the active item */
#bundle-list ul li a:not(.active):hover {
    background: var(--bg-muted);
    color: var(--text-colour);
    box-shadow: var(--shadow-soft);
    transform: translateY(-2px); /* Slight lift on hover */
}

.woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover {
  transform: translateY(-2px);
}

/* #endregion */


/* ===== ACCOUNT ===== */
/* #region account */

/* Products You Own */
.products-owned-container {
  flex-wrap: wrap;
}

.product-owned-item {
  width: calc((100% - 45px) / 4);
  background: var(--rm-pack-color);
}

.product-owned-item > p {
  background-color: var(--overlay-light-subtle);
  font-size: 22px;
  margin: 0;
}

/* ACCOUNT TABLES */

#cart-form .woocommerce-MyAccount-navigation,
#cart-form .woocommerce-MyAccount-content {
  width: 100%;
}

/* Position Account Sections next to Menu */
.woocommerce-account .woocommerce {
  display: flex;
  flex-direction: row;
}

/* Remove Borders From Account Tables */
table td:not(.rm-faq-table td), 
table th:not(.rm-faq-table th) {
  border: none;
}

.woocommerce-MyAccount-content {
  background-color: var(--bg-surface);
  border-color: var(--border-light);
  border-radius: var(--radius-md);
  border-style: solid;
  border-width: 1px;
  margin: 0 0 30px 0;
  padding: 16px 30px;
}

#cart-form .download-product-image {
  vertical-align: middle;
}

.download-image {
  width: 100px;
  height: 50px;
}

/* Orders Buttons */
.woocommerce-orders-table__cell .woocommerce-button {
  margin: 5px;
  transition: all var(--transition-med);
  border: var(--border-heavy);
  padding: 6px 17px;
  border-radius: var(--radius-md);
}

.woocommerce-orders-table__cell .woocommerce-button:hover {
  color: var(--bg-surface);
  background-color: var(--text-colour);
}

/* Downloads Table Spacing */
.page-id-44 #cart-form .woocommerce-table--order-downloads td {
  padding: 0;
}

.page-id-44 #cart-form .woocommerce-table--order-downloads .download-product {
  padding-left: 15px;
}

/* Download Buttons */
.page-id-44 #cart-form .woocommerce-MyAccount-downloads-file {
  padding: 7px 15px;
}

/* #endregion */


/* ===== MISC: NEWS, FAQs, MENUS ===== */
/* #region faqs */

/* MENU TRANSITIONS */
.elementor-social-icon,
.hover-fade li {
  transition: opacity var(--transition-med);
  cursor: pointer;
}
.elementor-social-icons-wrapper:hover .elementor-social-icon,
.hover-fade:hover li {
  opacity: 0.5;
}
.elementor-social-icons-wrapper:hover .elementor-social-icon:hover,
.hover-fade:hover li:hover {
  opacity: 1;
}

/* NEWS */
#news-listing .elementor-loop-container {
  gap: 0;
}

.elementor .news-loop-image {
  max-width: var(--content-width-tight);
}

/* Alternate colours - News AND Account Orders + Downloads */
#news-listing .category-news:nth-child(2n),
.woocommerce-table--order-downloads > tbody > tr:nth-child(2n+1),
.woocommerce-orders-table > tbody > .woocommerce-orders-table__row:nth-child(2n+1) {
  background-color: var(--overlay-dark-subtle);
}

.rm-faq .elementor-accordion .elementor-tab-title {
  font-weight: 600;
  padding: 20px 20px;

}
.rm-faq  {
  background-color: var(--bg-muted);
  border-style: solid;
  border-width: 0;
  border-radius: var(--radius-lg);
  }

.elementor .elementor-accordion-icon-left > span {
  color: var(--text-colour);
}

/* Apply border radius to the first and last accordion items */
.elementor-accordion .elementor-accordion-item:first-child {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
}

.elementor-accordion .elementor-accordion-item:last-child {
    border-bottom-left-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
}

/* Contact Page */
.elementor .contact-flex {
  max-width: var(--content-width-narrow);
}

.elementor #contact-form .elementor-button {
  margin: 0 auto;
  padding: 14px 34px;
}

.elementor .elementor-field-group .elementor-field-textual {
  color: var(--text-colour);
}

#contact-divider {
  --divider-border-style: solid;
  --divider-color: var(--text-colour);
  --divider-border-width: 1px;
  padding: 17px 0px 17px 0px;
}
#contact-divider .elementor-divider-separator {
  width: 92%;
  margin: 0 auto;
}

/* Patreon Page */
.elementor .patreon-img-sq {
  width: 70%;
}

#rm-dark-toggle {
  position: fixed;
  left: max(20px, env(safe-area-inset-left));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 9999;
  padding: 10px 12px;
  cursor: pointer;
  border-radius: var(--radius-md);
  border: var(--border-light);
  background: var(--bg-base);
  touch-action: manipulation;
}
#rm-dark-toggle,
#rm-dark-toggle:hover,
#rm-dark-toggle:focus,
#rm-dark-toggle:active {
  color: var(--text-colour);
}

/* #endregion */


/* ===== MEDIA – TABLET AND DESKTOP ONLY ===== */
/* #region desktop only */

/* ===== GRID BASE ===== */

.columns-6 { --grid-cols: 6; }
.columns-4 { --grid-cols: 6; } /* large desktop */
.columns-3 { --grid-cols: 3; }
.columns-2 { --grid-cols: 2; }

.home .columns-4 {
  --grid-cols: 4;
}

.rm-post-grid-wrapper .rm-item {
  width: calc(99.99% / var(--grid-cols));
}

/* Large screen container defaults */
:root {
  --container-width-max: 2400px;
  --container-width-content: 1400px;
}
.elementor .rm-item {
  padding: 12px;
}

/* ===== STEP DOWN FROM LARGE ===== */
/* Normal desktop */
@media (max-width: 1899px) {
  :root {
    --container-width-max: 1600px;
    --container-width-content: 1200px;
  }
  .columns-4 {
    --grid-cols: 4;
  }
}

@media (min-width: 768px) {
.elementor .home-latest-strip {
  max-height: var(--content-width-tight);
  align-items: stretch;
}

body.page-id-139683 #remake-columns {
    column-count: 2;
    column-gap: 2rem;
    margin-bottom: 12px;
  }

#bundle-container {
  max-width: 1500px;
  width: 100%;
}
#bundle-list, #bundle-image {
  width: 30%;
}
.bundle-info {
  width: 40%;
}

  .downloads-related-flex > .downloads-related-box {
    width: 50%;
  }

  #latest-pack .home-latest-strip {
    flex-direction: row-reverse;
  }

  #latest-pack .elementor .home-latest-split {
    justify-content: flex-end;
  }

  #cart-form .woocommerce-MyAccount-navigation {
    min-width: 220px;
    max-width: 300px;
    margin-right: 15px;
  }

  /* Full Width News Layout */
.elementor .page-full-width {
  max-width: 100%;
  padding-inline-start: 0px;
  padding-inline-end: 0px;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

.home-latest-img-box {
  position: relative;
  isolation: isolate; /* critical */
}

/* image */
#latest-article .home-latest-img,
#latest-pack #diag-left-box {
  position: relative;
  z-index: 1;
  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - 35px) 100%,
    0 100%
  );
}
/* shadow layer */
.home-latest-img-box::after {
  content: "";
    position: absolute;
    top: 0;
    width: 40px;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    transform: skewX(-5deg);
    transform-origin: top right;
  }
#latest-article .home-latest-img-box::after {
    right: -13px;
    background: linear-gradient( to right, rgba(0,0,0,0.65), transparent );
  }
#latest-pack .home-latest-img-box::after {
    left: 0px;
    background: linear-gradient(to right,rgba(0, 0, 0, 0.15),transparent);
}

html.rm-dark #latest-pack #diag-left-box {
  background-color: var(--bg-base);
}
}
 /* #endregion */


/* ===== MEDIA – TABLET ===== */
/* #region tablet */

@media (max-width: 1024px) {
  .columns-6 {
    --grid-cols: 4;
  }
  .columns-4 {
    --grid-cols: 3;
  }
  .patchlist-columns { column-count: 3; column-gap: 30px;}

  /* Hide Account Products Owned on Tablet and mobile*/
  #rm-products-owned {
    display: none;
  }

  /* Less Horizontal Padding for Header */
  .elementor .header-main-flex {
    padding-inline-start: 2vw;
    padding-inline-end: 2vw;
  }
  #header-menu .elementor-item {
  padding-left: 8px;
  padding-right: 8px;
}
}
 /* #endregion */

/* ===== MEDIA – MOBILE ===== */
/* #region mobile */

@media (max-width: 767px) {
  .columns-6,
  .columns-4,
  .columns-3 {
    --grid-cols: 2;
  }
  .patchlist-columns { column-count: 2; column-gap: 15px;}

  .rm-post-grid-wrapper .rm-item {
    width: 100%;
  }
  body.page-id-139683 #remake-columns {
    column-count: 1;
  }

  /* Home page Article Image from 3:1 to 2:1 on mobile */
  #latest-article .home-latest-img {
    aspect-ratio: 2;
  }

  /* Dark Mode Toggle Button */
  #rm-dark-toggle {
    padding: 8px 10px;
    font-size: 14px;
    opacity: 0.8;
  }

  /* PRODUCT PAGE */
  .elementor-section .elementor-widget-container {
    display: block;
  }

  .elementor-section .variations_form.cart .variations {
    width: 100%;
    margin-bottom: 10px;
  }

  .elementor-section .reset_variations {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    text-align: left;
  }

  .elementor-section .single_add_to_cart_button {
    width: 100%;
  }

  /* Front Page */
  .rm-divider svg {
    height: 25px;
  }

  .rm-projects__table {
  font-size: 1rem;
}
.rm-projects__cell--image img {
  aspect-ratio: 1/1;
    object-fit: cover;
}
.rm-col-image { width: 70px; }

  /* Smaller Filter Text on Mobile */
  .elementor rm-filter {
    padding-left: 0;
    padding-right: 0;
  }
  .rm-filters a {
  font-size: 16px;
}
.rm-filters li {
  margin: 0 .2em;
}

/* No Padding for Downloads Related When Turned into Column */
.elementor .downloads-related-box,
.elementor .downloads-related-flex {
  padding: 0;
}
.elementor .downloads-related-flex {
gap: 20px;
}

/* BUNDLES */
#bundle-image {
  display: none;
}
#bundle-list {
  width: 100%
}

  /* ABLETON TABLE */
  .rm-product-table,
  .rm-product-table thead,
  .rm-product-table tbody,
  .rm-product-table th,
  .rm-product-table td,
  .rm-product-table tr {
    display: block;
    width: 100%;
  }

  .rm-product-table thead {
    display: none;
  }

  .rm-product-row {
    background: var(--bg-base);
    margin-bottom: 1.5em;
    border: var(--border-light);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    padding: 1em;
    padding-bottom: 0;
  }

  .rm-product-table td {
    cursor: pointer;
  }

  .rm-product-table td .cell-inner {
    padding: 10px 0;
  }

  .cell-inner > .rm-product-title {
    font-size: 22px;
    font-weight: 600;
  }

  .rm-product-table td.col-name .cell-inner {
    padding-top: 0;
    padding-bottom: 0;
  }

  .rm-product-table td.col-buy > .cell-inner > input,
  .rm-product-table #rm-multi-cart-form {
    display: none;
  }

  .rm-preview-thumbnails {
    justify-content: flex-start;
    margin-top: 1em;
  }

  /* AUDIO PLAYER */
  .rm-player__volume {
    display: none;
  }

  /* POST GRID */
  .rm-post-grid-wrapper .columns-6 .rm-item,
  .rm-post-grid-wrapper .columns-4 .rm-item,
  .rm-post-grid-wrapper .columns-3 .rm-item {
    width: 50%;
  }

  /* ACCOUNT */

  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content {
    width: 100%;
    margin: 0;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .woocommerce-MyAccount-navigation ul li {
    width: max-content;
  }

  /* ===== FORMER ≤480 / ≤479 RULES (preserved) ===== */

  .chord-grid div:not(.label):nth-child(8n + 2) {
    border-left-width: 1px;
  }

  .rm-post-grid-wrapper .rm-item {
    width: 100% !important;
  }

/* FLEXES */

/* Rows to Columns on Mobile */
.elementor .u-mobile-col,
.woocommerce-account .woocommerce,
.elementor .rm-split {
  flex-direction: column;
}

.elementor .article-info-flex {
  gap: 0px;
}

.elementor .home-latest-split {
  justify-content: center;
}

/* WIDTHS */

.elementor .rm-img--device {
  border-width: 1px;
}

.elementor .product-infobox,
.elementor .article-footer-block {
  width: 100%;
}

}
 /* #endregion */