/*
 Theme Name:   Immaginare Store
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Doug Rider
 Author URI:   https://riderworks.com
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/*****************************

  00* - FONTS
  01* - HTML & CSS DEFAULTS
  02* - ACCESSIBILITY SETTINGS
  03* - OTHER UTILITY SETTINGS
  04* - STRUCTURE & LANDMARKS
  
  05* - BODY & HTML
  06* - HEADER SETTINGS
  07* - FOOTER SETTINGS
  08* - OTHER INFO SETTINGS
  09* - HEADING SETTINGS

  10* - INFO BOX CLASSES
  11* - ABOUT, CONTRIBUTORS, CONTACT
  12* - CONTRIBUTOR SINGLE
  13* - STORE
  14* - HOME

  15* - PRODUCT SINGLE
  16* - WOOCOMMERCE CART
  17* - WOOCOMMERCE MINI CART
  18* - WOOCOMMERCE CHECKOUT
  19* - WOOCOMMERCE MY ACCOUNT

  20* - IMAGES
  21* - BUTTONS
  22* - WS FORMS
  23* - SITEMAP
  24* - POLICIES

*****************************/

/** 
 * 00* - Fonts
 *
 */

 @font-face{
  font-display: swap;
	font-family: 'ReadExpro';
  font-style: normal;
  font-weight: 160 700;
  font-variation-settings: "wght" var(--font-weight--body), "HEXP" 0;
	src:url('/wp-content/uploads/fonts/Readexpro-VF_HEXP,wght.woff2') format('woff2-variations');
}

@font-face {
  font-display: swap;
  font-family: 'Roraima';
  font-style: normal;
  font-weight: 100 900;
  font-variation-settings: "wght" var(--font-weight--heading);
  src: url('/wp-content/uploads/fonts/Roraima-EP-VF_wght.woff2') format('woff2-variations');
}


/** 
 * 01* - Default HTML CSS RESET
 * @link https://www.joshwcomeau.com/css/custom-css-reset/
 */

/*  https://piccalil.li/blog/a-more-modern-css-reset/  */
/*  Prevent font size inflation */

html {
  scroll-behavior: smooth;
  block-size: 100%;
  
  background-color: var(--primary-light--2);
  accent-color: var(--primary--base); /*  Form checkbox and radio buttons  */

  @media (prefers-color-scheme: dark) {
    background-color: var(--primary-dark--2);
    accent-color: var(--primary--base);
  }
}

/*  Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*  Override Bricks default border color  */
* {
  margin: 0;
  padding: 0;
  
  /* border-color: var(--bg-dark--3);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-light--3);
  } */
}

/*  Remove default margin in favour of better control in authored CSS  */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/*  Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

p {
  hanging-punctuation: first last; /*  Safari Only  */
  text-wrap: pretty;
}

:where(select, textarea, input, button) {
  font: inherit;
}

:is(h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
  text-wrap: balance;
}

:is(img, picture, figure, video, svg, canvas, audio, iframe, embed, object) {
  display: block;
  max-inline-size: 100%;
}
:is(img, video) {
  block-size: auto;
}

/** 
 * CSS Tips - Practical img Element Defaults 
 * @link https://www.youtube.com/watch?v=mA-FxOYlpCs 
 */
img {
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 0.75rem;
}

/*  Debug Display boxes: Comment Out on Live site  */
/* * {
  --line: 2px;
  padding: 3px;
  border: var(--line) solid green;
  & + *  {
    border: var(--line) solid red;
    & + *  {
      border: var(--line) solid blue;
      & + *  {
        border: var(--line) solid orange;
        & + *  {
          border: var(--line) solid turquoise;
          & + *  {
            border: var(--line) solid pink;
            & + *  {
              border: var(--line) dotted rebeccapurple;
            }
          }
        }
      }
    }
  }
} */

/* Debug Highlight empty links */
/* a[href=""], 
a[href="#"] {
	position: relative;
}
a[href=""]::before,
a[href="#"]::before {
	content: "";
	position: absolute;
	inset: -8px;
	border: 3px solid red !important;
} */

/*  Debug only for overflow issues  */
/* * {
  outline: 2px solid hotpink;
}
* * * {
  background-color: hsla(50 100% 70% / 0.1);
} */


/*****************************
 *
 * 02* - Accessibility Settings 
 * @link https://gist.github.com/zackpyle/64f9dd05f096265e07570605dc54f695
 */

/* @media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-delay: 0.01ms !important;
            animation-delay: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    translate: 0 0 !important;
    -webkit-transition-delay: 0.01ms !important;
            transition-delay: 0.01ms !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
  }
} */
@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth; 
    scroll-padding-top: var(--space--m);
  }
}

/*  Reduce IMG Brightness on Dark Themes  */
@media (prefers-color-scheme: dark) {
  img, svg {
    filter: brightness(85%);
  }
  .irw-logo svg {
    filter: brightness(100%);
  }
}

/*  Skip Links styling - No Dark Mode  */
.skip-link {
  padding-block: 0.5em;;
  padding-inline: 1.5em;
  font-variation-settings: "wght" var(--font-weight--bold);
  z-index: 9;
  
  background-color: var(--bg-dark--5);
  color: var(--body-light--1);
}
.admin-bar .skip-link {
  margin-block-start: 32px;
}


/*****************************
 *
 * 03* - Other Utility Settings
 * @link https://gist.github.com/zackpyle/64f9dd05f096265e07570605dc54f695
 */

#wpadminbar {
  background-color: var(--primary-dark--2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
}
#wpadminbar .menupop .ab-sub-wrapper,
#wpadminbar .shortlink-input {
  background-color: var(--primary-dark--1);
}
#wpadminbar .ab-top-menu > li.hover > .ab-item,
#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus {
  background-color: var(--primary-dark--3);
}
#wpadminbar #wp-toolbar .apspider_highlighted a,
#wpadminbar .quicklinks .menupop ul li a,
#wpadminbar input.apspider_search {
  color: var(--bg-light--2) !important;
}
#wpadminbar #wp-admin-bar-site-name > .ab-item:before {
  display: none;
}
li#wp-admin-bar-wlcms-admin-logo img {
  max-inline-size: 30px;
}

/*  Strikethrough Styling  */
s::before, s::after {
  clip-path: inset(100%);
  clip: rect(1px, 1px, 1px, 1px);
  block-size: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  inline-size: 1px;
}
s::before {
  content: " [start of stricken text] ";
}
s::after {
  content: " [end of stricken text] ";
}

/*  Selection Styling  */
::selection {
  text-shadow: none;

  background-color: var(--primary--dark);
  -webkit-text-fill-color: var(--body-light--1);
  color: var(--body-light--1);

  @media (prefers-color-scheme: dark) {
    background-color: var(--primary--light);
    -webkit-text-fill-color: var(--body-dark--3);
    color: var(--body-dark--3);
  }
}

/*  Focus Styling  */
body.bricks-is-frontend :focus {
  outline: none;
  box-shadow: none;
}
body.bricks-is-frontend :focus-visible,
body.bricks-is-frontend a:focus-visible {
  outline-style: solid;
  outline-width: var(--focus--width);
  outline-offset: var(--focus--offset);
  border-radius: var(--border-radius--xs);

  outline-color: var(--primary--dark);
  transition: all var(--transition--s);

  @media (prefers-color-scheme: dark) {
    outline-color: var(--primary--light);
  }
}


/*****************************
 *
 * 04* - Structure & Landmark Settings
 */

/*  Inline Padding for Sections and Container widths  */
.brxe-section {
  padding-inline: var(--space-inline);
}
.brxe-section:not(.irw-section-relative, .footer-address-links, .footer-copyright, .irw-about-2) {
  padding-block: var(--space--m);
}
.brxe-section:has(.brxe-container) {
  row-gap: var(--space-container--m);
}

/*  Templates  */
.brxe-section.page-heading__template {
  margin-block-start: var(--heading-page);
  margin-block-end: -20px;
  padding-block: 0;

  @media (min-width: 768px) {
    margin-block-end: -30px;
  }
}
.brxe-section.contributor__template,
.brxe-section.product__template {
  margin-block-start: var(--heading-page);
  margin-block-end: 0;
  padding-block-start: 0;

  @media (max-width: 767px) {
    .product__group-title h1 {
      margin-block-end: var(--space-content--m);
    }
  }
}
.brxe-section.contributor__template {

  @media (min-width: 768px){
    margin-block-start: calc(var(--heading-page) + 24px);
  }
}
.brxe-section.home-hero {
  position: relative;
  row-gap: calc(var(--space-container--l) * var(--_inc--m));

  margin-block-start: var(--heading-page);
  margin-block-end: 0;
  padding-block-start: 0;

  @media (min-width: 768px) {
    margin-block-start: calc(var(--heading-page) + 2px);
  }
}
/*  Checkout  */
.woocommerce-checkout .brxe-section.page-heading__template {
  margin-block-start: calc(var(--heading-page) * 0.25);
  margin-block-end: calc(var(--heading-page) * -0.333);
}


/* This keeps all WP Section and Paragraphs locked to 96px  */
.brxe-post-content:has(p) {
  display: flex;
  flex-direction: column;
  row-gap: calc(var(--line-height) * 1rem);
}
.brxe-post-content:has(section) {
  row-gap: 0;
}

/*  Inline Width for Containers Overrides  */
.brxe-container {
  inline-size: 100%;
  max-inline-size: var(--width--container);
  margin-inline: auto;
}
.brxe-container.irw-width-ch {
  max-inline-size: var(--width--ch);
}
.brxe-container.irw-width-3xs {
  max-inline-size: var(--width--3xs);
}
.brxe-container.irw-width-2xs {
  max-inline-size: var(--width--2xs);
}
.brxe-container.irw-width-xs {
  max-inline-size: var(--width--xs);
}
.brxe-container.irw-width-s {
  max-inline-size: var(--width--s);
}
.brxe-container.irw-width-l {
  max-inline-size: var(--width--l);
}


/*****************************
 *
 * 05* - Body styling 
 */

.brx-body {
  margin-inline: auto;
  max-inline-size: var(--width--site);
}

body {
  font-family: var(--font-family--body);
  font-size: var(--font-size-body--m);
  font-variation-settings: "wght" var(--font-weight--body);
  font-style: normal;
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing--body);
  word-spacing: var(--word-spacing--body);

  min-block-size: 100dvh;
  text-overflow: ellipsis;
  overflow-x: hidden;

  background-color: var(--bg-light--2);
  color: var(--body-dark--2);

  @media (prefers-color-scheme: dark) {
    background-color: var(--bg-dark--2);
    color: var(--body-light--2);
  }
  
  @media print {
    font-size: 8pt;
  }
}


/*****************************
 *
 * 06* - Header Styling
 */

.irw-header {
  --_opc--shadow: 0.5;
  --_opc--bg: 0.925;
  --_blk-size: 60px;

  position: fixed;
  block-size: 120px;
  inset: 0;
  z-index: 2;
  border-block-end: var(--border--s);
  backdrop-filter: blur(8px);

  border-block-end-color: var(--primary-light--3);

  @media (prefers-color-scheme: dark) {
    border-block-end-color: var(--primary-dark--3);
  }

  @media (min-width: 768px) {
    block-size: 140px;
  }

  & .irw-shipping-announcement {
    display: flex;
    block-size: var(--_blk-size);
    justify-content: center;
    padding-block: 0;

    background-color: hsl(from var(--primary-light--4) h s l / var(--_opc--bg));
  
    @media (prefers-color-scheme: dark) {
      background-color: hsl(from var(--primary-dark--4) h s l / var(--_opc--bg));
    }
  
    & .brxe-container {
      display: grid;
      place-content: center;
    }
  
    & p {
      --_wght: -150;
      
      font-size: var(--font-size-body--s);
      font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
      letter-spacing: 0.0125em;
      line-height: 1.1;
      text-align: center;
      text-wrap: balance;
      margin-block: 2px;
  
      color: var(--heading-dark--3);
  
      @media (prefers-color-scheme: dark) {
        color: var(--heading-light--3);
      }
  
      @media (min-width: 768px) {
        font-size: calc(var(--font-size-body--m) * var(--_inc--s));
      }

      &:last-of-type {
        margin-block-end: 2px;
      }
    }
  }

  & .irw-navigation {
    block-size: var(--_blk-size);
    justify-content: center;
    padding-block: 0;
    border-block-end: var(--border--m);

    box-shadow: 0 8px 32px -4px hsl(from var(--primary-light--5) h s l / var(--_opc--shadow));
    border-color: var(--primary-light--2);
    background-color: hsl(from var(--primary-light--2) h s l / var(--_opc--bg));
  
    @media (prefers-color-scheme: dark) {
      box-shadow: 0 8px 32px -4px hsl(from var(--primary-dark--4) h s l / var(--_opc--shadow));
      border-color: var(--primary-dark--3);
      background-color: hsl(from var(--primary-dark--3) h s l / var(--_opc--bg));
    }

    @media (min-width: 768px) {
      block-size: calc(var(--_blk-size) + 20px);
    }

    & .brxe-container {
      display: flex;
      flex-direction: row;
    }

    & .brxa-inner {
      --_clr: var(--primary-dark--1);

      background-color: var(--_clr);

      @media (prefers-color-scheme: dark) {
        --_clr: var(--primary-light--5);

        background-color: var(--_clr);
      }

      &:after,
      &:before {
        background-color: var(--_clr);
      }
    }
  }
}

/*  Header Logos  */
.irw-header .irw-logo {
  max-inline-size: 100%;
  inline-size: 165px;
  align-self: center;

  @media (min-width: 375px) {
    inline-size: 170px;
  }

  @media (min-width: 768px) {
    inline-size: 200px;
  }

  & svg path {
    fill: #379AA3;

    @media (prefers-color-scheme: dark) {
      fill: #68C6CC;
    }

  }
}

/*  Header Navigation  */
.irw-header nav {
  block-size: 100%;
  max-inline-size: 100%;
  margin-inline-start: auto;
  column-gap: var(--space-content--l);

  @media (min-width: 768px) {
    column-gap: 0;
  }
}
.irw-header ul:not(.cart_list) {
  --_padding: 0.75em;
  --_off--add: 2px;
  --_off--minus: calc(var(--_off--add) * -1);

  inline-size: 100%;
  gap: 0;
  flex-wrap: nowrap;
  margin-block-end: 0;

  @media (max-width: 767px) {
    align-items: center;

    background-color: var(--primary-light--2);

    @media (prefers-color-scheme: dark) {
      background-color: var(--primary-dark--2);
    }

    & [aria-current="page"] {
      box-shadow: none;
    }

    & img {
      margin-block-end: var(--space-content--3xl);
      inline-size: 260px;
    }
  }

  & li {
    margin-inline: 0;
    align-items: center;
    inline-size: max-content;

    & a {
      background-color: transparent;
      text-decoration: none;
      color: var(--body-dark--2);

      transition: var(--transition--l);

      &.brxe-text-link {

        padding-block: calc(var(--_padding) * var(--_inc--3xs));
        padding-inline: calc(var(--_padding) * var(--_inc--2xl));
        
        @media (max-width: 767px) {
          font-size: var(--font-size-nav--2xl);
          justify-content: left;
          inline-size: 100%;
          padding-inline-start: var(--space-inline);
        }
      }

      &:hover {
        border-radius: var(--border-radius--s);

        background-color: var(--primary-dark--1);
        color: var(--white);
      }

      @media (prefers-color-scheme: dark) {
        color: var(--body-light--2);

        &:hover {
          background-color: var(--primary--light);
          color: var(--body-dark--2);
        }
      }
    }
  }

  & .brxe-text-link {
      font-size: var(--font-size-nav--m);
      font-variation-settings: "wght" calc(var(--font-weight--nav) + var(--_wght));
      letter-spacing: var(--letter-spacing--nav);
      word-spacing: var(--word-spacing--nav);
      padding-block: var(--space-content--m);
  }

  & [aria-current="page"] {
    box-shadow: inset 0 var(--_off--add) transparent,
                inset 0 var(--_off--minus) var(--primary--dark);

    @media (prefers-color-scheme: dark) {
      box-shadow: inset 0 var(--_off--add) transparent,
                  inset 0 var(--_off--minus) var(--primary--light);
    }
  }
}

/*  Mobile Navigation  */
/* .brxe-toggle.brxa--arrow-r.is-active { */
  /* --_width: 30px;

  & .brxa-wrap {
    width: var(--_width);
  }

  & .brxa-inner {
    width: var(--_width);

    &::before,
    &::after {
      width: var(--_width);
    }
  } */

  /* & .brxa-wrap {
    width: var(--_width);
  } */

  /* & .brxa-inner:before {
      .brxa--arrow-r.is-active .brxa-inner:before {
        transform: translate3d(0, 0, 0) rotate(45deg) scaleX(1);
      }

    &:before {
      .brxa--arrow-r.is-active .brxa-inner:before {
        transform: translate3d(0, 0, 0) rotate(45deg) scaleX(1);
      }
    }

    &:after {
      .brxa--arrow-r.is-active .brxa-inner:after {
        transform: translate3d(0, 0, 0) rotate(-45deg) scaleX(1);
      }
    }
  }
} */

.irw-header .brxe-nav-nested.brx-open ul {
  align-items: start;
  block-size: 100dvh;
  inline-size: 320px;
  border: var(--border--m);
  padding-inline: var(--space-inline);

  border-color: var(--primary-light--3);
  background-color: var(--primary-light--2);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--3);
    background-color: var(--primary-dark--2);
  }

  & .menu-item button {
    border-radius: var(--border-radius--m);
    border: var(--border--m);
    margin-block-start: var(--space-content--3xl);
    padding: var(--space-gap--3xs);

    background-color: var(--primary-light--3);
    border-color: var(--primary-base--70);

    & svg {
      fill: var(--primary-dark--3);
    }
  }

  & [aria-current="page"] {
    box-shadow: none;
    background-color: var(--primary-light--4);

    @media (prefers-color-scheme: dark) {
      background-color: var(--primary-dark--4);
    }
  }
}


/*****************************
 *
 * 07* - Footer Styling
 */

.footer-address-links {
  --_bg-trans: transparent;
  --_hover-light: var(--primary-light--3);
  --_hover-dark: var(--primary-dark--3);
  --_percent: 30%;

  position: relative;
  justify-content: center;
  padding-block-start: var(--space--3xs);
  padding-block-end: var(--space-content--m);
  border-block-start: var(--border--s);

  border-color: var(--primary-light--2);
  background: linear-gradient(
    to bottom, 
    var(--primary-light--1) var(--_percent),
    var(--primary-light--2)
  );

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--2);
    background: linear-gradient(
      to bottom, 
      var(--primary-dark--1) var(--_percent),
      var(--primary-dark--2)
    );
  }

  & .footer-container {
    display: inline;
    max-inline-size: max-content;
  }

  & .brxe-container {

    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: var(--space-gap--2xs);
    font-size: calc(var(--font-size-body--m) * var(--_inc--s));

    @media (min-width: 940px) {
      grid-template-columns: repeat(1, minmax(0, 1.5fr)) repeat(2, minmax(0, 1fr));
    }

    & h2 {
      font-family: var(--font-family--body);
      font-size: var(--font-size-body--xl);
      margin-block-end: var(--space-content--s);

      text-decoration: underline;
      text-underline-offset: 7px;
      text-decoration-color: var(--primary-light--5);
    }

    & .brxe-nav-nested {
      align-items: start;
      display: inline;
    }

    & li a {
      margin-block-end: 4px;

      background-color: var(--_bg-trans);

      &:hover {
        background-color: var(--_hover-light);

        @media (prefers-color-scheme: dark) {
          background-color: var(--_hover-dark);
        }
      }
    }

    & .footer-contact {
      row-gap: 4px;
    }

    & .footer-phone-email {
      flex-direction: row;
      column-gap: 6px;

      & a {
        background-color: var(--_bg-trans);

        &:hover {
          background-color: var(--_hover-light);

          @media (prefers-color-scheme: dark) {
           background-color: var(--_hover-dark);
          }
        }
      }
    }

    & .footer-instagram {
      --_size: 30px;

      flex-direction: row;
      flex-wrap: nowrap;
      margin-block-start: 4px;

      background-color: var(--_bg-trans);
      
      &:hover {
        background-color: var(--_hover-light);

        @media (prefers-color-scheme: dark) {
          background-color: var(--_hover-dark);
        }
      }

      & svg {
        height: auto;
        width: var(--_size);

        fill: var(--primary-dark--1);

        @media (prefers-color-scheme: dark) {
          fill: var(--primary-light--3);
        }
      }

      & .brxe-text-basic {
        margin-inline-start: 6px;
      }
    }
  }

  & .brx-nav-nested-items {
    row-gap: 0;
    padding-inline-start: 0;
    margin-block-end: 0;

    transition: var(--transition--m);

    & .menu-item .brxe-block {
      flex-direction: column;
    }
  }

  & .irw-policies a {
    margin-block-start: 1px;
  }
}

.footer-copyright {
  padding-block: 16px;
  max-block-size: 96px;

  background-color: var(--primary-light--2);

  @media (prefers-color-scheme: dark) {
    background-color: var(--primary-dark--2);
  }

  & .brxe-container {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    font-size: var(--font-size-nav--s);
    line-height: 1.3;
    gap: 4px;

    & .brxe-shortcode {
      text-align: center;
    }
  }
}

/*  Back to top button  */
.irw-back-to-top {
  background: transparent;
  transition: 0.5s ease-in-out;

  @media (max-width: 767px) {
    margin-block-end: 0;
  }

  & .icon-wrapper {
    padding: 12px;
    border-radius: var(--border-radius--circle);
    border: var(--border--xl);

    border-color: var(--white);
    background-color: var(--primary-light--5);

    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-light--5);
      background-color: var(--primary-dark--4);
    }
  }

  & svg {
    height: auto;
    width: 24px;

    fill: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      fill: var(--body-light--1);
    }
  }
}


/*****************************
 * 
 * 08* - Other HTML text styling 
 */

/*  Blockquote  */ 
:where(.brxe-text-basic, .brxe-text) > blockquote,
blockquote.wp-block-quote {
  --_gap: var(--space-card--l);

  font-family: var(--font-family--body);
  font-size: var(--font-size-body--l);
  font-style: italic;
  line-height: 1.5;
  font-variation-settings: "wght" var(--font-weight--italic);

  margin-block: var(--space-card--s);
  margin-inline: calc(var(--_gap) * -1) 0;
  padding-block: var(--_gap);
  padding-inline: calc(var(--_gap) - var(--offset--size));
  border: var(--border--s);
  border-inline-start: var(--offset--size) solid;
  border-start-end-radius: var(--border-radius--l);
  border-end-end-radius: var(--border-radius--l);

  text-wrap: pretty;

  border-color: var(--bg-light--4);
  border-inline-start-color: var(--primary--base);
  color: var(--body-dark--1);
  background: linear-gradient(
    to bottom, 
    var(--bg-light--5), 
    var(--bg-light--1) 40%);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    border-inline-start-color: var(--primary--base);
    color: var(--body-light--1);
    background: linear-gradient(
      to bottom, 
      var(--bg-dark--5), 
      var(--bg-dark--1) 40%);
  }

  & cite {
    font-family: var(--font-family--body);
    font-size: var(--font-size-body--s);
    font-style: normal;
    text-align: end;
  
    color: var(--body-dark--3);
    opacity: 1;
    text-transform: none;

    @media (prefers-color-scheme: dark) {
      color: var(--body-light--3);
    }
  } 
}

/*  Lists styling  */
:where(ol, ul) {
  margin-block-start: 0;
  margin-block-end: calc(var(--line-height) * 1em);
  padding-inline-start: 16px;
}
:where(ol, ul) > li:not(
    .menu-item, 
    .brxe-block, 
    .brxe-filter-radio > li, 
    .bricks-layout-item) {
      
  margin-block-end: calc(var(--line-height) * 0.5em);
}

/*  For added UL Container lists  */
ul.brxe-container {
  margin-block: 0;
  padding-inline: 0;
}
:where(ul.brxe-container, ul.sub-menu) > li {
  margin-block-end: 0;
}

/*  Lines and Dividers  */
hr {
  margin-block: var(--space-content--s);
  margin-inline-start: 0;
  border: var(--border--0);
  border-block-start: var(--border--l);

  border-block-start-color: var(--primary-base--40);
}

.wp-block-separator {
  border: var(--border--0);
}
.brxe-divider .line,
hr.wp-block-separator {
  border: var(--border--0);
  border-block-start-width: 3px;
  inline-size: 100%;
  border-block-start-style: solid;

  border-block-start-color: var(--primary-base--40);
}

/*  HEADING Separator stylings  */
:is(.brxe-block) {
  align-items: stretch;
}
:where(.brxe-heading) .separator {
  flex-grow: 0;
  border-block-start-style: solid;

  border-block-start-color: var(--primary-base--40);

  @media (min-width: 768px) {
    flex-grow: 1;
  }
}
:where(.brxe-heading).has-separator {
  gap: 0;

  @media (min-width: 768px) {
    gap: var(--space-content--xl);
  }
}

:where(h1.brxe-heading.has-separator) .separator.left,
:where(h1.brxe-heading.has-separator) .separator.right {
  --_sep-px: 3px;

  @media (min-width: 768px) {
    margin-block-start: calc(var(--_sep-px) * 2);
    border-block-start-width: var(--_sep-px);
  }
}
:where(h2.brxe-heading) .separator {
  --_sep-px: 2px;

  margin-block-start: calc(var(--_sep-px) * 2);
  border-block-start-width: var(--_sep-px);
}

/*  PARAGRAPH and CLASSES Text stylings  */
:where(p, span, .footer-address-links, .home-card__wrapper, .woocommerce-Addresses, .irw-sitemap, .link-my-account, .contact-block) a {
  font-variation-settings: "wght" calc(var(--font-weight--link) + var(--_wght));

  transition: all var(--transition--m);
  background-color: var(--primary-light--2);
  color: var(--link--dark);

  @media (prefers-color-scheme: dark) {
    background-color: var(--primary-dark--2);
    color: var(--link--light);
  }

  &[target="_blank"]::after {
    --_wght: 100;

    content: " \2197";
    font-variation-settings: "wght" calc(var(--font-weight--link) + var(--_wght));
    white-space: pre;
  }

  &:hover {
    text-decoration-thickness: 2px;
  
    text-decoration-color: var(--primary--dark);
    background-color: var(--primary-light--3);
    color: var(--link--dark-hover);
  
    @media (prefers-color-scheme: dark) {
      text-decoration-color: var(--primary--light);
      background-color: var(--primary-dark--3);
      color: var(--link--light-hover);
    }
  }
}

:where(p, span, li) strong {
  font-variation-settings: "wght" var(--font-weight--bold);
}
:where(p, span) em {
  --_wght: 50;

  font-family: var(--font-family--body);
  font-style: italic;
  font-variation-settings: "wght" calc(var(--font-weight--italic) + var(--_wght));
}

:where(p) {
  margin: 0;
  text-wrap: pretty;
}
:where(p:last-of-type) + h1, :where(p:last-of-type) + h2, :where(p:last-of-type) + h3, :where(p:last-of-type) + h4, :where(p:last-of-type) + h5, :where(p:last-of-type) + h6 {
  margin-block-start: 0;
}

:where(p:is(ul)) {
  margin-block-end: calc(var(--line-height) * 1em) !important;
}

/*  Paragraph and Header Spacing  */
p.brxe-text-basic,
.brxe-text p {
  margin-block-end: calc(var(--line-height) * 1em);
}
p.brxe-text-basic:last-of-type,
.brxe-text p:last-of-type {
  margin-block-end: 0;
}

/*  QUOTES tag  */
q {
  display: inline;
}
q:before {
  content: open-quote;
}
q:after {
  content: close-quote;
}


/*****************************
 *
 * 09* - Heading Styling
 */

.sub-title,
:is(h1, h2, h3, h4, h5, h6) { 
  font-family: var(--font-family--heading);
  font-variation-settings: var(--font-weight--heading);

  letter-spacing: var(--letter-spacing--heading);
  word-spacing: var(--word-spacing--heading);
  
  color: var(--heading-dark--1);

  @media (prefers-color-scheme: dark) {
    color: var(--heading-light--1);
  }
}
h1.bricks-type-hero {
  --_wght: 75;

  font-size: var(--font-size-heading--title);
  font-variation-settings: calc(var(--font-weight--heading) + var(--_wght));
  line-height: 1.0;
}
h1 {
  font-size: var(--font-size-heading--h1);
  line-height: 1.1;
}
h2 {
  font-size: var(--font-size-heading--h2);
  line-height: 1.2;
}
h3 {
  font-size: var(--font-size-heading--h3);
  line-height: 1.3;
}
h4 {
  font-size: var(--font-size-heading--h4);
  line-height: 1.4;
}
h5 {
  font-size: var(--font-size-heading--h5);
  line-height: 1.5;
}
h6, 
.sub-title {
  font-size: var(--font-size-heading--h6);
  line-height: 1;
  letter-spacing: 0.05em;

  color: var(--heading-dark--4);

  @media (prefers-color-scheme: dark) {
   color: var(--heading-light--4);
  }
}
:is(h1, h2, h3, h4, h5, h6, .sub-title) > em {
  font-family: var(--font-family--heading);
  font-style: italic;
}

/*  Margins for Bricks Rich Text Element  */
.brxe-text > h2,
h2.wp-block-heading,
.brxe-text > h3,
h3.wp-block-heading,
.brxe-text > h4,
h4.wp-block-heading {
  --_margin-block: 0.1em;

  margin-block-start: calc(var(--line-height) * calc(var(--_margin-block) * var(--_inc--xl)));
  margin-block-end: calc(var(--line-height) * var(--_margin-block));
}
.brxe-text > h2:first-child,
h2.wp-block-heading:first-child,
h3.wp-block-heading:first-child,
h4.wp-block-heading:first-child  {
  margin-block-start: 0;
}

/*  Single Post Heading Sizes  */
.single-post h1 {
  font-size: calc(var(--font-size-heading--h2) * var(--font-size__post-heading));
}
.single-post h2 {
  font-size: calc(var(--font-size-heading--h3) * var(--font-size__post-heading));
}
.single-post h3 {
  font-size: calc(var(--font-size-heading--h4) * var(--font-size__post-heading));
}
.single-post h4 {
  font-size: calc(var(--font-size-heading--h5) * var(--font-size__post-heading));
}
.single-post h5 {
  font-size: calc(var(--font-size-heading--h6) * var(--font-size__post-heading));
}
.single-post h6 {
  font-size: calc(var(--font-size-heading--s) * var(--font-size__post-heading));
}


/*****************************
 *
 * 10* - Info Box Classes - wrap in a containter, block, or div
 */

.irw-info-box {
  padding-block: var(--space-card--xl);
  padding-inline: var(--space-card--xl);
}
.irw-info-box--small {
  font-size: var(--font-size-body--s);
  padding-block: var(--space-card--l);
  padding-inline: var(--space-card--l);
}
.irw-info-box,
.irw-info-box--small {
  border: var(--border--s);
  border-block-start-width: calc(var(--offset--size) * var(--_inc--xs));
  border-end-start-radius: var(--border-radius--m);
  border-end-end-radius: var(--border-radius--m);

  border-color: var(--bg-light--3);
  border-block-start-color: var(--primary--base);
  background-color: var(--bg-light--1);
  color: var(--bg-dark--2);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--3);
    border-block-start-color: var(--primary--base);
    background-color: var(--bg-dark--1);
    color: var(--bg-light--2);
  }
}


/*****************************
 *
 * 11* - About, Contributors, and Contact Page Settings
 */

.irw-about-2 {
  margin-block-start: 0;
  margin-block-end: var(--space--m);
}

.irw-about__group, 
.irw-about-2__group,
.irw-contact__group {
  display: grid;
  gap: var(--space-gap--2xl);
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.irw-about__group,
.irw-about-2__group {

  @media (min-width: 960px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  & h2 {
    margin-block-start: var(--space-content--xs);
    font-size: var(--font-size-heading--h3);
  }

  & ul:last-of-type,
  & li:last-of-type {
    margin-block-end: 0;
  }

  & .irw-about__text-wrapper,
  & .irw-about-2__text-wrapper {
    max-inline-size: var(--width--ch);
    margin-inline: auto;
  }

  & img {
    aspect-ratio: 1.5;
    object-fit: cover;
    border-radius: var(--border-radius--m);
    box-shadow: var(--box-shadow--l);

    transition: all var(--transition--l);

    @media (min-width: 960px) {
      aspect-ratio: 0.55;
    }

    @media (min-width: 1080px) {
      aspect-ratio: 0.7;
    }

    @media (min-width: 1200px) {
      aspect-ratio: 0.8;
    }

    @media (min-width: 1320px) {
      aspect-ratio: 0.9;
    }

    @media (min-width: 1440px) {
      aspect-ratio: 1;
    }
  }
}

.irw-about__text-wrapper,
.irw-about-2__text-wrapper {
  row-gap: var(--space-content--l);
}
.irw-about-2__text-wrapper {

  @media (min-width: 960px) {
    order: 1;
  }
}

.irw-contact__group {
  @media (min-width: 768px) {
    margin-block-start: -12px;
    grid-template-columns: repeat(1,minmax(0,2fr)) repeat(1,minmax(0,1fr));
  }
}

.irw-about__media img {
  object-position: 50% 40%;
}
.irw-about-2__media img {
  object-position: 50% 30%;
}

/*  Also used in Contributors Single Template  */
.contributor-card--sharon {
  border: var(--border--s);

  border-color: var(--primary-light--2);
  background: var(--radial-primary--light);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--2);
    background: var(--radial-primary--dark);
  }
}
.contributor-card__group--sharon {
  display: grid;
  column-gap: var(--space-gap--xl);
  grid-template-columns: repeat(1,minmax(0,2fr));
}
.contributor-card__query-wrapper--sharon {
  display: flex;
}
.contributor-card__article--sharon {
  display: flex;
  flex-direction: column;
  gap: var(--space-gap--2xl);

  transition: img var(--transition--l);

  @media (min-width: 768px) {
    flex-direction: row;
  }

  & img {
    aspect-ratio: 1;
    object-fit: cover;
    object-position: 50% 50%;
    border-radius: var(--border-radius--m);
    box-shadow: var(--box-shadow--l);
  
    transition: var(--transition-l);
  
    &:hover {
      filter: contrast(1.2);
  
      @media (prefers-color-scheme: dark) {
        filter: contrast(1.1);
      }
    }
  
    @media (min-width: 523px) {
      aspect-ratio: 1.2;
      object-position: 50% 20%;
    }
  }
}
.contributor-card__text-wrapper--sharon {
  display: flex;
  row-gap: var(--space-content--xl);
  margin-block-start: 5px;

  @media (min-width: 768px) {
    order: 0;
  }
}
.contributor-card__link-wrapper--sharon {
  row-gap: var(--space-content--m);
}
.contributor-card__heading--sharon {
  line-height: 1;

  & a {
    text-decoration: none;

    transition: var(--transition--l);
    
    &:hover {
      border-color: var(--primary-light--5);
      background-color: var(--primary-light--4);
    
      @media (prefers-color-scheme: dark) {
        border-color: var(--primary-dark--5);
        background-color: var(--primary-dark--4);
      }
    }
  }
}
/*  Taxonomies for Contributors About page and Contributor Single  */
.contributor-card__taxonomies--sharon,
.contributor__text-taxonomies {
  --_opacity: 0.8;

  font-size: calc(var(--font-size-body--s) * var(--_inc--l));
  text-transform: uppercase;
  /* font-weight: var(--font-weight--bold); */
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  letter-spacing: 0.05em;

  color: hsl(from var(--primary-dark--1) h s l / var(--_opacity));

  @media (prefers-color-scheme: dark) {
    color: hsl(from var(--primary-light--1) h s l / var(--_opacity));
  }
}

/*  CARD CONTRIBUTORS  */
.contributor-card h2 {
  margin-block-start: -12px;
}

/*  UL  */
.contributor-card__group {
  --_grid-min: calc(var(--card-fit) * var(--_inc--2xl));

  display: grid;
  gap: var(--space-gap--s);
  grid-template-columns: repeat(auto-fit, minmax(min(var(--_grid-min), 100%), 1fr));
  align-items: stretch;

  & .contributor-card__query-wrapper {
    margin-block-end: 0;
  }
}

/*  LI  */
.contributor-card__query-wrapper {
  --_radius: var(--border-radius--m);

  display: flex;
  position: relative;
  overflow: hidden;

  border: var(--border--s);
  border-radius: var(--_radius);
  
  border-color: var(--bg-light--4);
  background-color: var(--bg-light--1);
  transition: all var(--transition--m);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    background-color: var(--bg-dark--1);
  }

  &:focus-within,
  &:hover {
    filter: contrast(1.2);
  
    background-color: var(--bg-light--3);
    box-shadow: var(--box-shadow--s-hover);
  
    @media (prefers-color-scheme: dark) {
      filter: contrast(1.1);
      background-color: var(--bg-dark--3);
    }
  }

  &:focus-within {
    outline-style: solid;
    outline-width: var(--focus--width);
    outline-offset: var(--focus--offset);
    border-radius: var(--radius);
  
    outline-color: var(--primary--dark);
  
    @media (prefers-color-scheme: dark) {
      outline-color: var(--primary--light);
    }
  
    & :focus {
      box-shadow: none;
      outline: none;
    }
  }
}

.contributor-card__article {
  block-size: 100%;
}
@media (max-width: 767px) {
  .brxe-block.contributor-card__content-wrapper {
    flex-wrap: nowrap;
  }
}
.contributor-card__text-wrapper {
  row-gap: var(--space-content--s);
  padding-block: var(--space-card--m);
  padding-inline: var(--space-card--m);
  border-block-start: 1px solid;

  border-color: var(--bg-light--4);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--4);
  }
}

.contributor-card__heading {
  font-size: calc(var(--font-size-heading--h4) * var(--_inc--xl));
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  line-height: 1.2;

  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;

  & a {
    text-decoration: none;
  
    transition: var(--transition--l);

    &:hover {
      border-color: var(--primary-light--4);
      background-color: var(--primary-light--3);
    
      @media (prefers-color-scheme: dark) {
        border-color: var(--primary-dark--4);
        background-color: var(--primary-dark--3);
      }
    }

    &::before {
      position: absolute;
      content: "";
    
      inset: 0;
    
      z-index: 1;
    }
  }
}

.contributor-card__text {
  font-size: calc(var(--font-size-body--s) * var(--_inc--l));
  line-height: 1.5;
}

.contributor-card__media {
  order: -1;
}

/*  CSS Styling for Product SHORT Description and Contributor SINGLE Excerpt  */
.product__short-description,
.contributor__excerpt {
  font-size: var(--font-size-body--l);
  line-height: calc(var(--line-height) * var(--_inc--s));
  text-wrap: pretty;

  padding-block: var(--space-card--m);
  padding-inline: var(--space-card--l);
  border: var(--border--s);
  border-inline-start: 6px solid;
  border-start-end-radius: var(--border-radius--l);
  border-end-end-radius: var(--border-radius--l);

  border-color: var(--primary-light--3);
  border-left-color: var(--primary--base);
  background-color: var(--primary-light--2);
  color: var(--heading-dark--1);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--3);
    background-color: var(--primary-dark--2);
    color: var(--heading-light--1);
  }
}


/*****************************
 *
 * 12* - Contributor Single
 */

.contributor__group {
  --_contributor-min: 330px;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--_contributor-min), 100%), 1fr));
  gap: var(--space-gap--2xl);

  & img {
    object-fit: cover;
    border-radius: var(--border-radius--m);
  }
}
.contributor__text-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-content--3xl);
}
.contributor__text-heading {
  row-gap: var(--space-content--3xs);
}
.contributor__content {
  max-inline-size: var(--width--ch);
  margin-inline: auto;
}
.contributor__image-wrapper {
  margin-block-start: 12px;
}


/*****************************
 *
 * 13* - Store Settings
 */

/* Change $ sign smaller on all WooCommerce  */
bdi .woocommerce-Price-currencySymbol {
  font-size: .85em;
}

/*  CARD STORE  */
.store-card__group {
  display: flex;
  flex-direction: row;
  column-gap: var(--space-gap--s);
}

/*  FILTER STYLING  */
.store-card__filter-product {
  position: sticky;
  top: 150px;
  max-inline-size: 260px;
  row-gap: var(--space-content--l);
  border: var(--border--m);

  & input {
    border-radius: var(--border-radius--m);
    border: var(--border--m);
    padding-block: var(--space-content--xs);
    padding-inline: var(--space-content--m);

    border-color: var(--bg-light--5);
    background-color: var(--bg-light--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--3);
      background-color: var(--bg-dark--1);
    }

    &::placeholder {
      --_opacity: .6;

      color: hsl(var(--hsl-dark--1) / var(--_opacity));

      @media (prefers-color-scheme: dark) {
        color: hsl(var(--hsl-light--1) / var(--_opacity));
      }
    }
  }

  & fieldset {

    border: none;
  }

  & .brxe-filter-search svg {
    --_size: 12px;

    margin-inline-end: var(--_size);
    block-size: var(--_size);
    inline-size: var(--_size);

    fill: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      fill: var(--body-light--5);
    }
  }
}

@media (max-width: 767px) {
  .store-card__filter-product {
    display: none;
  }
}

.store-card__filter-checkbox {

  padding-inline: 0;
  /* margin-block: 2px; */

  & li[data-depth="0"] {
    --_wght: 100;

    font-size: calc(var(--font-size-body--m) * var(--_inc--s));
    font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
    margin-block-end: 2px;
  }

  & li[data-depth="1"] {
    font-size: var(--font-size-body--s);
    font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
    margin-block-end: 0;
  }

  & li span.brx-option-active {
    background-color: var(--primary-light--4);

    @media (prefers-color-scheme: dark) {
      background-color: var(--primary-dark--4);
    }
  }
}

/*  CARD PRODUCTS  */

.store-card {
  row-gap: var(--space-gap--m);

  & .store-card__grid {
    row-gap: var(--space-gap--m);
  }
}

/*  UL  */
.store-card__grid-group {
  display: grid;
  gap: var(--space-gap--3xs);
  align-items: stretch;
  margin-block-end: 0;
  padding-inline-start: 0;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--card-fit), 100%), 1fr));
}

/*  LI  */
.store-card__grid-container { 
  
  & .store-card__query-wrapper {
    margin-block-end: 0;
  }

  &:has(.bricks-posts-nothing-found) {
    grid-template-columns: repeat(1,minmax(0,1fr));
  }

  & .bricks-posts-nothing-found {
    list-style-type: none;
    max-inline-size: fit-content !important;
    padding-block: var(--space-card--m);
    padding-inline: var(--space-card--l);
    font-size: var(--font-size-body--xl);
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
    border-radius: var(--border-radius--m);
    border: var(--border--m);
  
    border-color: var(--primary-light--4);
    background-color: var(--primary-light--2);
  
    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-dark--4);
      background-color: var(--primary-dark--2);
    }
  }
}

.store-card__query-wrapper {
  --_radius: var(--border-radius--m);
  
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  position: relative;
  overflow: hidden;

  border: var(--border--s);
  border-color: var(--bg-light--5);
  background-color: var(--bg-light--1);
  border-radius: var(--_radius);
  
  transition: all var(--transition--m);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--5);
    background-color: var(--bg-dark--1);
  }

  &:focus-within,
  &:hover {
    position: relative;
    filter: contrast(1.2);

    background-color: var(--bg-light--3);
    box-shadow: var(--box-shadow--s-hover);

    @media (prefers-color-scheme: dark) {
      filter: contrast(1.3);
      background-color: var(--bg-dark--3);
    }
  }

  &:focus-within :focus {
    box-shadow: none;
    outline: none;
  }
}

.store-card__heading:focus-within,
.store-card__button-wrapper:focus-within {
  outline-style: solid;
  outline-width: var(--focus--width);
  outline-offset: var(--focus--offset);
  border-radius: var(--_radius);

  outline-color: var(--primary--dark);

  @media (prefers-color-scheme: dark) {
    outline-color: var(--primary--light);
  }
}

.store-card__article {
  block-size: 100%;

  @media (max-width: 767px) {
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
  }
}
.store-card__content-wrapper {
  row-gap: var(--space-content--xl);
  padding-block: var(--space-card--m);
  padding-inline: var(--space-card--m);
  border-block-start: var(--border--s);
  block-size: 100%;

  border-color: var(--bg-light--4);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--4);
  }
}
.store-card__text-wrapper {
  row-gap: var(--space-content--3xs);
}
.store-card__button-wrapper {
  margin-block-start: auto;
  z-index: 1;
}

.store-card__heading {
  --_wght: 100;

  font-size: var(--font-size-heading--h4);
  font-variation-settings: "wght" calc(var(--font-weight--heading) + var(--_wght));
  line-height: 1.2;

  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;

  & a {
    text-decoration: none;

    transition: var(--transition--l);

    &:hover {
      border-color: var(--primary-light--4);
      background-color: var(--primary-light--3);
    
      @media (prefers-color-scheme: dark) {
        border-color: var(--primary-dark--4);
        background-color: var(--primary-dark--3);
      }
    }

    &::after {
      position: absolute;
      content: "";
    
      inset: 0;
    
      z-index: 1;
    }
  }
}

.store-card__price {
  --_wght: 100;

  font-size: var(--font-size-body--l);
  font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
  line-height: 1.5;
}

.store-card__media-wrapper {
  position: relative;
  order: -1;
}
.store-card__media img {
  aspect-ratio: 1;

  background: var(--radial-card--light);

  @media (prefers-color-scheme: dark) {
    background: var(--radial-card--dark);
  }
}

/*  STORE PAGINATION  */
.brxe-section.store-card__pagination {
  padding-block-start: 0;
}
.store-card__pagination ul {
  gap: var(--space-gap--2xs);
}
.store-card__pagination .page-numbers li {
  margin-block-end: 0;
  border: var(--border--s);

  border-color: var(--primary--dark);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary--light);
  }

  &:hover {
    background-color: var(--primary-light--2);

    @media (prefers-color-scheme: dark) {
      background-color: var(--primary-dark--2);
    }
  }
}

.store-card__pagination-link { 

  & ul a.page-numbers {
    justify-content: center;
    
    padding-inline: var(--space-card--s);
    gap: var(--space-gap--xs);
  }
  
  & ul span.page-numbers {
    --_wght: 100;
    
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
    padding-block: var(--space-card--3xs);
    padding-inline: var(--space-card--s);
    border: var(--border--s);

    border-color: var(--primary--light);
    background-color: var(--primary-light--3);
    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--primary--dark);
      background-color: var(--primary-dark--4);
      color: var(--body-light--1);
    }
  }

  & ul span.page-numbers.dots {
    border-color: var(--primary-light--3);
    background-color: var(--primary-light--2);
    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-dark--3);
      background-color: var(--primary-dark--2);
      color: var(--body-light--1);
    }
  }
}

/*  TOGGLE to Slide Out FILTER and SEARCH  */
.store-card__wrapper-filter {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: nowrap;

  @media (max-width: 560px) {
    flex-direction: column;
    flex-wrap: wrap;
    row-gap: var(--space-content--2xl);
  }
}

.store-card__wrapper-filter-toggle {
  position: relative;
  flex-direction: row;
  align-items: center;
  column-gap: 8px;

  inline-size: fit-content;
  padding-block: 2px;
  padding-inline: 12px;
  border-radius: var(--border-radius--m);
  border: var(--border--m);

  transition: var(--transition--m);
  border-color: var(--bg-dark--1);
  background-color: var(--primary-light--2);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-light--5);
    background-color: var(--primary-dark--2);
  }

  &:hover {
    background-color: var(--primary-light--4);

    @media (prefers-color-scheme: dark) {
      background-color: var(--primary-dark--4);
    }
  }
}
.store-card__filter-toggle-on {
  --_size: 34px;

  fill: var(--bg-dark--1);

  @media (prefers-color-scheme: dark) {
    fill: var(--bg-light--1);
  }

  & svg {
    min-block-size: var(--_size);
    min-inline-size: var(--_size);
  }

  &::before {
    position: absolute;
    content: '';

    inset: -4px -84px -4px -12px;

    /* z-index: 2; */
    z-index: 1;
  }
}
.store-card__filter-toggle-text {
  --_wght: 100;

  font-size: calc(var(--font-size-body--m) * var(--_inc--s));
  font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
  letter-spacing: 0.075em;
  text-transform: uppercase;

  color: var(--body-dark--1);

  @media (prefers-color-scheme: dark) {
    color: var(--body-light--1);
  }
}
.store-card__filter-toggle-on--search {
  inline-size: 100%;
  max-inline-size: 324px;

  @media (max-width: 560px) {
    max-inline-size: 560px;
  }

  & input {
    border-radius: var(--border-radius--m);
    border: var(--border--m);
    padding-block: var(--space-content--xs);
    padding-inline: var(--space-content--m);

    border-color: var(--bg-dark--1);
    background-color: var(--bg-light--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-light--5);
      background-color: var(--bg-dark--1);
    }

    &::placeholder {
      --_opacity: .6;

      color: hsl(var(--hsl-dark--1) / var(--_opacity));

      @media (prefers-color-scheme: dark) {
        color: hsl(var(--hsl-light--1) / var(--_opacity));
      }
    }
  }

  & svg {
    --_size: 12px;

    margin-inline-end: var(--_size);
    block-size: var(--_size);
    inline-size: var(--_size);
    fill: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      fill: var(--body-light--1);
    }
  }
}

/*  SLIDE OUT for Filtering  */
.store-card__slideout {
  row-gap: var(--space-content--m);
  padding-block: var(--space-gap--m) var(--space-gap--xs);
  padding-inline: var(--space-gap--xs);
  border-inline-end: 1px solid;
  
  border-inline-end-color: var(--bg-light--4);
  background-color: var(--bg-light--3);

  @media (prefers-color-scheme: dark) {
    border-inline-end-color: var(--bg-dark--4);
    background-color: var(--bg-dark--3);
  }
}
.store-card__slideout-icon {
  margin-block-start: var(--space-gap--l);

  fill: var(--primary-dark--1);
  
  @media (prefers-color-scheme: dark) {
    fill: var(--primary-light--1); 
  }

  & svg {
    height: auto;
    width: 28px;
  }
}
.store-card__slideout-filters {
  row-gap: var(--space-content--m);
}
.store-card__slideout-checkboxes {
  margin-block-start: var(--space-content--m);
  padding-inline-start: 0;

  & [data-depth="0"],
  & [data-depth="1"] {
    --_wght: 50;

    font-size: calc(var(--font-size-body--l) * var(--_inc--m));
    font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
    margin-block-end: var(--space-content--xs);
  }
}

/*  Badges for new products. */
/* .irw-new {
  position: absolute;
  top: 8px;
  right: -34px;
  padding-inline: 40px;
  transform: rotateZ(45deg);

  background-color: var(--primary--light);
  color: var(--body-dark--4);

  @media (prefers-color-scheme: dark) {
    background-color: var(--primary-dark--1);
    color: var(--body-light--1);
  }
  
  & .new-text {
    font-size: var(--font-size-body--xs);
    text-align: center;
    text-transform: uppercase;
    font-variation-settings: "wght" 500;
    letter-spacing: 0.05em;
  }
} */

/*  Product Single NEW and Home Page NEW  */
/* .irw-heading-text {
  --_heading: 2.725;

  position: relative;
  flex-direction: row;
  flex-wrap: nowrap;

  & .irw-new-text {
    font-family: var(--font-family--heading);
    font-size: var(--font-size-heading--h1);
    text-transform: uppercase;
    order: -1;

    color: var(--primary--dark);

    @media (prefers-color-scheme: dark) {
      color: var(--primary-light--5);
    }
  }

  & h1 {
    --_indent: calc(var(--font-size-heading--h1) * var(--_heading));

    text-wrap: balance;
  }
  
  & h2 {
    --_indent: calc(var(--font-size-heading--h2) * var(--_heading));

    text-wrap: balance;
  }

  & h1:has(+ span),
  & h2:has(+ span) {
    text-indent: var(--_indent);
    margin-inline-start: calc(var(--_indent) * -1);
  }

  & .irw-new-text.irw-product-large {
    font-size: var(--font-size-heading--h1);
    line-height: 1.1;
  }

  & .irw-new-text.irw-home-small {
    position: relative;
    font-size: var(--font-size-heading--h2);
    line-height: 1.2;
    block-size: 50%;
  }
} */


/*****************************
 *
 * 14* - Home Settings
 */

/*  HOME ANNOUNCEMENT  */
.home-hero__title {
  align-items: center;
  margin-block-start: calc(var(--space-content--s) + 6px);
  z-index: 1;

  @media (min-width: 500px) {
    margin-block-start: calc(var(--space-content--s) + 1px);
  }

  @media (min-width: 768px) {
    margin-block-start: calc(var(--space-content--s) + 4px);
  }

  @media (min-width: 1024px) {
    margin-block-start: calc(var(--space-content--s) - 13px);
  }
}
.home-hero__group {
  display: grid;
  grid-template-columns: repeat(1,minmax(0,1fr));
  gap: var(--space-gap--2xl);
  align-items: stretch;
  margin-block: 0;
  z-index: 1;

  @media (min-width: 1024px) {
    margin-block-start: 5px;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  & .woocommerce-Price-amount {
    font-size: calc(var(--font-size-body--2xl) * var(--_inc--l));
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  }

  & img {
    transition: all var(--transition--m);

    &:hover {
      filter: brightness(1.1);

      @media (prefers-color-scheme: dark) {
        filter: brightness(0.75);
      }
    }
  }
}

.home-hero__announcement {
  --_pad: 0.75em;
  --_wght: -100;

  font-size: var(--font-size-body--l);
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  inline-size: max-content; 
  letter-spacing: 0.025em;
  line-height: 1.5;

  padding-block: var(--_pad);
  padding-inline: calc(var(--_pad) * var(--_space-ratio));
  border-start-end-radius: var(--border-radius--l);
  border-end-end-radius: var(--border-radius--l);
  border: var(--border--s);
  border-left: 6px solid;

  border-color: var(--primary-base--30);
  border-left-color: var(--primary--base);
  background-color: var(--primary-base--20);
  color: var(--heading-dark--1);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-base--20);
    border-left-color: var(--primary--dark);
    background-color: var(--primary-base--30);
    color: var(--heading-light-1);
  }
}
.home-hero__description-wrapper {
  gap: var(--space-content--xs);
}
.home-hero__description {
  --_wght: 50;

  font-size: calc(var(--font-size-body--l) * var(--_inc--s));
  font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));

  & p {
    max-inline-size: var(--width--ch);
  }
}
.home-hero__content-wrapper {
  gap: var(--space-content--2xl);
  margin-block-start: 0;
}
.home-hero__heading {
  font-size: calc(var(--font-size-heading--h2) * var(--_inc--s));
}
.home-hero__bg-image {
  position: absolute;
  content: '';
  inset: 0;
  inset-block-start: -62px;
  opacity: 0.25;

  & img {
    block-size: 100%;
    inline-size: 100%;
    object-fit: cover;
    object-position: 50% 60%;
  }
}

/*  HOME CARD  */
.home-card__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-gap--m);

  @media (min-width: 1170px) {
    flex-direction: row;
  }

  & ul {
    padding-inline-start: 0;
  }
}
.home-card__section--dark {
  border-block-start: var(--border--s);
  border-block-end: var(--border--s);

  background: var(--radial-primary--light);
  border-color: var(--primary-light--2);

  @media (prefers-color-scheme: dark) {
    background: var(--radial-primary--dark);
    border-color: var(--primary-dark--2)
  }
}

.home-card__category-wrapper {
  padding-block: var(--space-card--m);
  padding-inline: var(--space-card--m);
  border: var(--border--m);
  border-radius: var(--border-radius--m);

  border-color: var(--primary-light--2);
  background-color: var(--primary-base--20);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--2);
    background-color: var(--primary-base--20);
  }

  @media (min-width: 1170px) {
    max-inline-size: 260px;
  }
}
.home-card__wrapper {
  gap: var(--space-content--m);

  & h2 {
    font-size: var(--font-size-heading--h3);

    & a {
      text-underline-offset: 4px;

      border: var(--border--m);
      border-color: var(--primary-light--4);
      background-color: var(--primary-light--3);
      transition: var(--transition--m);

      @media (prefers-color-scheme: dark) {
        border-color: var(--primary-dark--4);
        background-color: var(--primary-dark--3);
        text-decoration-color: var(--primary-dark--5);
      }

      &:hover {
        border-color: var(--primary-light--5);
        background-color: var(--primary-light--4);
        text-decoration-color: var(--primary--dark);

        @media (prefers-color-scheme: dark) {
          border-color: var(--primary-dark--5);
          background-color: var(--primary-dark--4);
          color: var(--heading-light--2);
        }
      }
    }
  }

  & p {
    font-size: calc(var(--font-size-body--m) * var(--_inc--xs));
    hyphens: auto;
    max-inline-size: var(--width--ch);

    @media (max-width: 1169px) {
      font-size: var(--font-size-body--m);
    }
  }
}

/*  UL  */
.home-card__grid-group {
  display: grid;
  gap: var(--space-gap--3xs);
  inline-size: 100%;
  align-items: stretch;
  margin-block-end: 0;
  grid-template-columns: repeat(1,minmax(0, 1fr));

  @media (min-width: 390px) {
    grid-template-columns: repeat(2,minmax(0, 1fr));
  }

  @media (min-width: 875px) {
    grid-template-columns: repeat(4,minmax(0, 1fr));
  }
}

/*  LI  */
.home-card__grid-container { 
  
  & .home-card__query-wrapper {
    margin-block-end: 0;
  }

  &:has(.bricks-posts-nothing-found) {
    grid-template-columns: repeat(1,minmax(0,1fr));
  }

  & .bricks-posts-nothing-found {
    list-style-type: none;
    max-inline-size: fit-content !important;
    padding-block: var(--space-card--m);
    padding-inline: var(--space-card--l);
    font-size: var(--font-size-body--xl);
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
    border-radius: var(--border-radius--m);
    border: var(--border--m);
  
    border-color: var(--primary-light--4);
    background-color: var(--primary-light--2);
  
    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-dark--4);
      background-color: var(--primary-dark--2);
    }
  }
}

.home-card__query-wrapper {
  --_radius: var(--border-radius--m);
  
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  border: var(--border--s);
  border-radius: var(--_radius);

  border-color: var(--bg-light--4);
  background-color: var(--bg-light--1);
  transition: all var(--transition--m);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    background-color: var(--bg-dark--1);
  }

  &:focus-within,
  &:hover {
    position: relative;
    filter: contrast(1.2);

    background-color: var(--bg-light--3);
    box-shadow: var(--box-shadow--s-hover);

    @media (prefers-color-scheme: dark) {
      filter: contrast(1.3);
      background-color: var(--bg-dark--3);
    }
  }

  &:focus-within :focus {
    box-shadow: none;
    outline: none;
  }
}

.home-card__heading:focus-within,
.home-card__button-wrapper:focus-within {
  outline-style: solid;
  outline-width: var(--focus--width);
  outline-offset: var(--focus--offset);
  border-radius: var(--_radius);

  outline-color: var(--primary--dark);

  @media (prefers-color-scheme: dark) {
    outline-color: var(--primary--light);
  }
}

.home-card__article {
  block-size: 100%;

  @media (max-width: 767px) {
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
  }
}
.home-card__content-wrapper {
  row-gap: var(--space-content--xl);
  padding: var(--space-card--m);
  border-block-start: var(--border--s);
  block-size: 100%;

  border-color: var(--bg-light--4);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--4);
  }
}
.home-card__text-wrapper {
  row-gap: var(--space-content--3xs);
}
.home-card__button-wrapper {
  margin-block-start: auto;
  z-index: 1;
}

.home-card__heading {
  --_wght: 100;

  font-size: calc(var(--font-size-heading--h4) * var(--_inc--s));
  font-variation-settings: "wght" calc(var(--font-weight--heading) + var(--_wght));
  line-height: 1.25;

  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;

  & a {
    text-decoration: none;

    transition: var(--transition--l);

    &:hover {
      border-color: var(--primary-light--4);
      background-color: var(--primary-light--3);
    
      @media (prefers-color-scheme: dark) {
        border-color: var(--primary-dark--4);
        background-color: var(--primary-dark--3);
      }
    }

    &::before {
      position: absolute;
      content: "";
    
      inset: 0;
    
      z-index: 1;
    }
  }
}

.home-card__price {
  font-size: calc(var(--font-size-body--m) * var(--_inc--l));
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  line-height: 1.5;
}

.home-card__media-wrapper {
  position: relative;
  order: -1;
}
.home-card__media img {
  aspect-ratio: 1;

  background: var(--radial-card--light);

  @media (prefers-color-scheme: dark) {
    background: var(--radial-card--dark);
  }
}


/*****************************
 *
 * 15* - Product Single Settings
 */

.product {
  --_wght: 75;

  row-gap: var(--space-container--m);

  & .woocommerce-Price-amount {
    font-size: calc(var(--font-size-body--2xl) * var(--_inc--2xl));
    font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));

    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      color: var(--body-light--1);
    }
  }

  & figure {
    background: var(--radial-card--light);

    @media (prefers-color-scheme: dark) {
      background: var(--radial-card--dark);
    }
  }

  & img {
    border: var(--border--s);

    border-color: var(--bg-light--4);
    filter: var(--dropshadow--light);
    
    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--4);
      filter: var(--dropshadow--dark);
    }
  }

  & picture.image {
    aspect-ratio: auto;
  }
}

.product__group-content {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--space-gap--2xl);

  @media (max-width: 767px) {
    grid-template-columns: repeat(1,minmax(0,1fr));
  }
}
.product__wrapper-media {
  row-gap: var(--space-container--3xs);

  @media (min-width: 768px) {
    position: sticky;
    inset-block-start: var(--space--2xl);
  }

  & a {
    cursor: zoom-in;
  }

  & ul {
    padding-inline-start: 0;
    margin-block-end: 0;
  }

  & li img {
    aspect-ratio: 1;
    filter: none;
  }
}
.product__wrapper-content {
  row-gap: var(--space-content--xl);
  order: 1;
}
.product__wrapper-text {
  row-gap: var(--space-content--xl);
}
.product__long-description {
  text-wrap: pretty;

  & h2 {
    font-size: calc(var(--font-size-heading--h3) * var(--_inc--s));
    margin-block-end: var(--space-content--m);
  }
}
.product__meta {
  column-gap: var(--space-content--s);

  & .brxe-block {
    flex-direction: row;
    column-gap: 6px;
    inline-size: fit-content;
  }
}
.product__label {
  --_wght: 50;

  font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
}
.product__checkout {
  justify-content: end;
}
.product__cart-checkout {
  --_gap: var(--space-gap--3xs);

  flex-direction: column;
  margin-block-start: auto;

  @media (max-width: 1023px) {
    flex-wrap: wrap;
    flex-direction: column;
    row-gap: var(--_gap);
  }

  & .in-stock {
    display: none;
  }

  & .out-of-stock {
    font-size: var(--font-size-body--l);
    font-variation-settings: "wght" var(--font-weight--bold);
  }
}

.product form.cart .quantity, 
.product form.woocommerce-cart-form .quantity {
  inline-size: 160px;
}
.product form.cart .quantity .minus, 
.product form.woocommerce-cart-form .quantity .minus,
.product form.cart .quantity .plus, 
.product form.woocommerce-cart-form .quantity .plus {
  background-color: var(--bg-light--4);
  border-color: var(--bg-light--5);

  @media (prefers-color-scheme: dark) {
    background-color: var(--bg-dark--4);
    border-color: var(--bg-dark--5);
  }
}
.product form.cart .quantity input, 
.product form.woocommerce-cart-form .quantity input {
  background-color: var(--bg-light--1);

  @media (prefers-color-scheme: dark) {
    background-color: var(--bg-dark--1);
  }
}
.product form .single_add_to_cart_button {
  inline-size: 100%;
}



/*. Fix for WC Single cart at top  */
.woocommerce-notices-wrapper.brxe-container {
  display: none;
}



/*****************************
 *
 * 16* -  WooCommerce Cart Settings
 */

.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
.is-mobile table.wc-block-cart-items .wc-block-cart-items__row, 
.is-small table.wc-block-cart-items .wc-block-cart-items__row {
  grid-template-columns: 80px repeat(1, minmax(0, 1fr)) 80px !important;
}

th.wc-block-cart-items__header-image,
th.wc-block-cart-items__header-total,
.is-large.wc-block-cart .wc-block-components-sidebar h2 {
  --_wght: 75;

  font-size: calc(var(--font-size-body--s) * var(--_inc--l));
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght)) !important;
}
.wp-block-woocommerce-cart-cross-sells-block h2 {
  font-size: var(--font-size-heading--h3);
}
.is-large.wc-block-cart table.wc-block-cart-items,
.wp-block-woocommerce-cart-order-summary-block {
  padding-block: var(--space-content--s) var(--space-content--2xs);
  padding-inline: var(--space-gap--2xs);
  border: 1px solid;

  border-color: var(--bg-light--3);
  background-color: var(--bg-light--1) !important;

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--3);
    background-color: var(--bg-dark--1) !important;
  }

  & tr td,
  & .wc-block-components-totals-wrapper {
    border-color: var(--bg-light--5);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--5);
    }
  }

  & button:has(.wc-block-components-button__text) {
    box-shadow: none;

    &:hover {
      background-color: transparent;
    }
  }
}

.wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__product {
  margin-block-end: 0;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value .wc-block-formatted-money-amount {
  font-size: calc(var(--font-size-body--m) * var(--_inc--xl));
}
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  margin-block-start: -4px;
  font-size: calc(var(--font-size-body--m) * var(--_inc--l));
}

.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
  margin-block-end: 0;
}
div .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wc-block-components-totals-item__value strong,
.wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value .wc-block-formatted-money-amount,
.wc-block-components-totals-wrapper .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-wrapper .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
}

.wc-block-cart__submit-container span.wc-block-components-button__text {
  margin-block: var(--space-container--xs) var(--space-container--3xs);
}
.wc-block-components-quantity-selector:has(input) {
  margin: 0;
  border: var(--border--s);
  border-color: var(--bg-light--4);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
  }
}
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector {
  margin-bottom: 0 !important;
}
.wc-block-cart-item__quantity {
  display: flex;
  gap: var(--space-content--l);
  flex-direction: row;
}

div.wc-block-cart__submit {
  margin-block: 20px 0;
}

/*  Cart interested  */
h2.wp-block-heading.has-text-align-left {
  margin-block: var(--space-container--xs) var(--space-container--3xs) !important;
}
/*  Change as needed  */
ul.wc-block-product-template__responsive.columns-3 {
  grid-template-columns: repeat(auto-fill, minmax(max(160px, calc(33.33333% - .83333em)), 1fr));
}

li.wc-block-product {
  --_wght: 100;
  --_pad: var(--space-card--l);

  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  position: relative;
  block-size: 100%;
  align-items: stretch;
  row-gap: 0;
  overflow: hidden;
  border-radius: var(--border-radius--m);
  border: var(--border--s);

  margin-block-end: 0 !important;
  padding-block: var(--_pad);
  padding-inline: var(--space-card--m);
  
  border-color: var(--bg-light--4);
  background-color: var(--bg-light--1);
  transition: var(--transition--m);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    background-color: var(--bg-dark--1);
  }

  &:hover {
    border-color: var(--bg-light--5);
    background-color: var(--bg-light--2);
  
    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--5);
      background-color: var(--bg-dark--2);
    }
  }

  & .wc-block-components-product-image {
    margin-block-end: 0;
    margin-block-start: calc(var(--_pad) * -1);
    margin-inline: calc(var(--space-card--m) * -1);

    & img {
      aspect-ratio: 1;
      transition: var(--transition--l);
      background: var(--radial-card--light);
      filter: none;

      @media (prefers-color-scheme: dark) {
        background: var(--radial-card--dark);
      }

      &:hover {
        background: var(--radial-card--light-hover);
  
        @media (prefers-color-scheme: dark) {
          background: var(--radial-card--dark-hover);
        }
      }
    }
  }

  & h3.wp-block-post-title.has-medium-font-size {
    display: inline;
    margin-block-end: var(--space-content--3xs) !important;
    padding-block-start: var(--space-card--s);
    font-size: calc(var(--font-size-heading--h4) * var(--_inc--s)) !important;
    font-variation-settings: "wght" calc(var(--font-weight--heading) + var(--_wght));
    line-height: 1.2;
    text-align: start;
    text-wrap: unset;
  }

  & .wp-block-woocommerce-product-price .woocommerce-Price-amount.amount {
    font-size: calc(var(--font-size-body--m) * var(--_inc--l));
    font-variation-settings: "wght" calc(var(--font-weight--body) + var(--_wght));
    line-height: 1.5;
  }
  & .wp-block-woocommerce-product-price .has-text-align-center {
    text-align: start;
    margin-block-end: var(--space-content--m);
  }

  & form.cart {
    margin-block-start: auto;
  }

  & form .wp-block-button.wc-block-components-product-button a.wc-block-components-product-button__button {
    --_wght: 0;

    display: flex;
    font-size: calc(var(--font-size-button--m) * var(--_inc--xs)) !important;
    font-variation-settings: "wght" calc(var(--font-weight--button) + var(--_wght));
    padding-block: calc(var(--button-padding--block) * var(--_inc--2xl));
    inline-size: 100%;
    line-height: 1.1;
    border: var(--border--m);
    margin-block-start: auto;

    background: transparent;
    border-color: var(--bg-dark--1);
    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-light--1);
      color: var(--body-light--1);
    }
  }
}


.wp-element-button {
  padding: 0;
  background-color: transparent;
}


form.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  background-color: transparent;
}

form.cart div.quantity,
div.wc-block-components-product-metadata,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block div:has(div.cross-sells-product) {
  display: none;
}

/*  Cart is empty  */
.wp-block-woocommerce-empty-cart-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-content--xl);
}

.wp-block-button.wc-block-components-product-button {

  margin-block-start: auto;

  & .wp-block-button__link.wp-element-button {
    inline-size: 100%;
  }
}


/*****************************
 *
 * 17* -  WooCommerce Mini Cart Settings
 */

.hide-empty-count {
  display: none;
}

.brxe-woocommerce-mini-cart .cart-detail.off-canvas.right {
  bottom: auto !important;
}

.brxe-woocommerce-mini-cart.irw-mini-cart {
  --_size: 20px;

  font-size: var(--font-size-nav--m);
  border-radius: var(--border-radius--s);
  border: var(--border--m);
  padding: 0.75em;

  border-color: var(--primary-light--5);
  background-color: var(--primary-light--4);
  transition: var(--transition--m);

  @media (prefers-color-scheme: dark) {
    border-color: var(--primary-dark--5);
    background-color: var(--primary-dark--4);
  }

  @media (max-width: 374px) {
    display: none;
  }

  &:hover {
    border-color: var(--primary-light--5);
    background-color: var(--primary-light--5);

    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-dark--5);
      background-color: var(--primary-dark--5);
    }
  }

  & .mini-cart-link {
    gap: 6px;
  }

  & .cart-icon {
    margin-block-start: -2px;
    block-size: var(--_size);
    inline-size: var(--_size);
  }

  & svg {
    fill: var(--body-dark--2);
    height: auto;
    width: 20px;

    @media (prefers-color-scheme: dark) {
      fill: var(--body-light--2);
    }
  }

  & .cart-count.show {
    position: absolute;
    inset: -6px 0 0 7px;
    font-size: var(--font-size-body--s);
    font-variation-settings: "wght" var(--font-weight--bold);
    block-size: var(--_size);
    inline-size: var(--_size);

    background-color: var(--primary--dark);
  }
}

/*  Slideout Cart details  */
.brxe-woocommerce-mini-cart.show-cart-details .cart-detail.active {
  padding-block-start: var(--space-card--m);
  block-size: 100dvh;
  inline-size: var(--cart-width);
  border: var(--border--s);

  border-color: var(--bg-light--4);
  background-color: var(--bg-light--1);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    background-color: var(--bg-dark--1);
  }

  & ul {
    padding-block-start: var(--space-content--m);
    padding-inline-start: 0;
  }

  & :where(.bricks-mini-cart-close) {
    padding: 14px;
    border: var(--border--m);

    border-color: var(--bg-light--5);
    background-color: var(--bg-light--4);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--5);
      background-color: var(--bg-dark--4);
    }
  }

  & .widget_shopping_cart_content {
    padding: var(--space-card--l) var(--space-card--m);
    padding-block-start: 40px;
    height: 100%;
  }

  & img {
    margin-inline-end: 6px;
  }
}
.brxe-woocommerce-mini-cart .cart-detail li {
  border: var(--border--s);
  padding-inline-end: 16px;
  line-height: 1.2;

  border-bottom-color: hsla(var(--_hsl-body-dark--1) / 0.2);

  @media (prefers-color-scheme: dark) {
    border-bottom-color: hsla(var(--_hsl-body-light--1) / 0.2);
  }

  &:last-of-type {
    border-bottom-color: transparent;
  }

  /*. CHECK. */
  /* & a {
    line-height: .9;
  } */

  & a.remove {
    margin-block-start: -4px;
    font-size: 32px; 
    font-variation-settings: "wght" var(--font-weight--bold);
  }

  & a:has(.size-woocommerce_thumbnail) {
    font-size: calc(var(--font-size-body--m) * var(--_inc--xs));
  }

  &.mini_cart_item span.quantity {
    display: block;
    margin-block-start: var(--space-content--2xs);
    margin-block-end: var(--space-content--xl);

    color: var(--body-dark--2);

    @media (prefers-color-scheme: dark) {
      color: var(--body-light--2);
    }
  }
}
.brxe-woocommerce-mini-cart .cart-detail .total {
  margin-block-start: auto;
  margin-block-end: var(--space-content--l);
  border-top-color: hsla(var(--_hsl-body-dark--1) / 0.4);
}


/*****************************
 *
 * 18* -  WooCommerce Checkout Settings
 */


.wc-block-components-express-payment__title-container h2.wc-block-components-title.wc-block-components-title {
  font-size: var(--font-size-heading--h4);
}

/* Order summary  */
div.wp-block-woocommerce-checkout-order-summary-block {
  --_wght: 100;

  border-radius: var(--border-radius--m);
  border: var(--border--m);

  border-color: var(--bg-light--3);
  background-color: var(--bg-light--1);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--3);
    background-color: var(--bg-dark--1);
  }

  & .wc-block-components-product-price__value {
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  }

  & .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    min-block-size: 25px;
    min-inline-size: 20px;
  }

  & .wc-block-components-checkout-order-summary__title-text {
    --_wdth: 75;

    text-transform: uppercase;
    font-size: calc(var(--font-size-body--s) * var(--_inc--l));
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght)) !important;
  }
}

.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button div.wc-block-components-checkout-place-order-button__text {
  justify-content: center;
}
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row button.wc-block-components-checkout-place-order-button {
  padding: 0;
  background-color: transparent;
}

div.wc-block-components-main {

  & .wc-block-components-text-input input[type=email],
  & .wc-block-components-address-card,
  & .wc-block-components-address-form__email,
  & .wc-block-components-radio-control .wc-block-components-radio-control__option--checked-option-highlighted,
  & .wc-block-components-radio-control-accordion-option {
    border-color: hsla(var(--hsl-body-dark--1) / 0.5);
    background-color: var(--bg-light--1);
    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      border-color: hsla(var(--hsl-body-light--1) / 0.5);
      background-color: var(--bg-light--1);
      color: var(--body-dark--1);
    }
  }

  & .wc-block-components-express-payment--checkout {
    border-color: hsla(var(--hsl-body-dark--1) / 0.5);
    background-color: var(--bg-light--1);
    
    @media (prefers-color-scheme: dark) {
      border-color: hsla(var(--hsl-body-light--1) / 0.5);
      background-color: var(--bg-dark--1);
    }
  }
}

.wc-block-components-checkbox span.wc-block-components-checkbox__label,
.wc-block-components-checkout-step__heading-content a.wc-block-checkout__login-prompt {
  font-size: var(--font-size-body--s);
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label > span {
  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  
  color: var(--body-dark--2);
}

.wc-block-components-address-card-wrapper .wc-block-components-address-card address .wc-block-components-address-card__address-section:first-child {
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
}

.wc-block-checkout.is-medium .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
h2.wc-block-components-title.wc-block-components-checkout-step__title,
p.wc-block-components-checkout-step__description {
  padding-inline: 16px;
}
.wc-block-checkout.is-medium .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper,
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper,
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
  padding-block-start: 20px;
}
.wc-block-checkout .wc-block-components-checkout-step__heading {
  margin-block-end: 16px;
}
table.wc-block-cart-items .wc-block-cart-item__product a.wc-block-components-product-name {
  margin-block-end: 6px;
}
.wc-block-checkout__add-note .wc-block-components-textarea::placeholder {
  color: var(--body-light--5);

  @media (prefers-color-scheme: dark) {
    color: hsla(var(--hsl-body-dark--5) / 0.7);
  }
}

.wc-block-checkout__sidebar h3.wc-block-components-product-name {
  line-height: 1.3;
}

/*  Order complete  */
.woocommerce .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font-size: var(--font-size-body--2xl);
  line-height: 1.3;
  margin-block: var(--space-gap--xl) var(--space-gap--xs);

  color: var(--primary--dark);

  @media (prefers-color-scheme: dark) {
    color: var(--primary--light);
  }
}
.woocommerce-checkout .shop_table tfoot, 
.woocommerce-checkout .shop_table thead {
  color: var(--body-dark--5);
}
.woocommerce-checkout .woocommerce-order-details table .product-quantity {
  color: var(--body-dark--2);
}

/*  Order Received - WooCommerce edited template  */
.irw-checkout-order-received {
  margin-block: var(--space-container--xs) var(--space-container--m);
  align-items: center;
  justify-content: center;
  max-inline-size: var(--width--3xs);
}


/*****************************
 *
 * 19* -  WooCommerce My Account Settings
 */

/* .my-woo-account .brxe-woocommerce-account-page .woocommerce, */
.my-woo-account .brxe-woocommerce-account-page {
  --_wght: 0;

  & .brxe-container {
    gap: var(--space-gap--s);
  }

  & ul {
    padding-inline-start: 0;
    margin-block-end: 0;
  }

  & .woocommerce-MyAccount-navigation {
    border-radius: var(--border-radius--m);
    border: var(--border--m);

    border-color: var(--primary-light--4);
    background-color: var(--bg-light--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-dark--4);
      background-color: var(--bg-dark--1);
    }
  }

  & li {
    margin-block-end: 0;
    padding-inline-start: var(--space-content--xl);
    border: var(--border--m);

    border-block-end-color: var(--bg-light--3);

    @media (prefers-color-scheme: dark) {
      border-block-end-color: var(--bg-dark--3);
    }

    &:last-of-type {
      border: none;
    }
  }

  & .is-active {
    background-color: var(--primary-light--2);
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));

    @media (prefers-color-scheme: dark) {
      background-color: var(--primary-dark--2);
    }
  }

  & thead {
    border: var(--border--m);

    border-block-end-color: var(--primary-light--4);
    background-color: var(--primary-light--3);

    @media (prefers-color-scheme: dark) {
      border-block-end-color: var(--primary-dark--4);
      background-color: var(--primary-dark--3);
    }

    & th {
      font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
    }
  }

  & tbody tr {
    --_pad: 0.666em;

    block-size: var(--space-gap--2xl);
    border: var(--border--m);

    border-block-end-color: var(--bg-light--4);

    @media (prefers-color-scheme: dark) {
      border-block-end-color: var(--bg-dark--4);
    }

    &:last-of-type {
      border: none;
    }

    & [data-title="Order"],
    & td a {
      font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
    }
  }

  & .woocommerce-Addresses,
  & .woocommerce-MyAccount-content {

    & h2 {
      font-size: var(--font-size-heading--h3);
      margin-block-end: var(--space-content--m);
    }
  }

  & .woocommerce-MyAccount-content {
    --_pad: 0.666em;

    & .woocommerce-EditAccountForm {
      --_pad: 1em;
      
      & input:not([type=submit]) {
        margin-block-end: var(--space-content--m);
      }

      & fieldset {
        padding: var(--_pad);

        border-color: var(--bg-light--5);
        background-color: var(--primary-base--30);

        @media (prefers-color-scheme: dark) {
          border-color: var(--bg-dark--5);
          background-color: var(--primary-base--50);
        }

        & legend {
          font-size: calc(var(--font-size-body--m) * var(--_inc--xl));
          font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));

          margin-block-end: calc(var(--space-content--3xs) * -1);
        }
      }

      & button.show-password-input {
        height: 40px;
        margin-block-end: var(--space-content--m);
      }
    }
  } 
}

.woocommerce-MyAccount-content {

  & input {
    padding-block: var(--space-content--xs);
    padding-inline: var(--space-content--l);
  }

  & .woocommerce-address-fields p {
    margin-bottom: var(--space-content--m);
  }

  & .select2-container span .select2-selection__rendered {
    padding-inline: var(--space-content--l);
  }

  & tfoot {
    block-size: 150px;
  }
}

.woocommerce-account .woocommerce-form-login:not([class^=brxe-]) {
  background: var(--primary-base--30);

  @media (prefers-color-scheme: dark) {
    background: var(--primary-base--50);
  }
}
.woocommerce-account form .show-password-input {
  height: 40px;
}
.woocommerce button.woocommerce-button {
  --_pad: 0.666em;

  font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
  padding-block: var(--_pad);
  padding-inline: calc(var(--_pad) * var(--_space-ratio));
  border-radius: var(--border-radius--s);
  border: var(--border--s);

  border-color: var(--bg-light--4);
  background-color: var(--bg-light--3);
  transition: var(--transition--m);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    background-color: var(--bg-dark--3);
  }

  &:hover {
    border-color: var(--bg-light--5);
    background-color: var(--bg-light--4);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--5);
      background-color: var(--bg-dark--4);
    }
  }
}


/*****************************
 *
 * 20* - Image Settings
 */

/*  Image Full Left and Right - Set Class at SECTION  */
.irw-section-relative {
  position: relative;
  isolation: isolate;
  padding-block-start: var(--space--m);
  background-color: var(--primary-light--2);

  @media (prefers-color-scheme: dark) {
    background-color: var(--primary-dark--2);
  }
}

/*  BREAKOUT image to full width - Set Class at FIGURE  */
figure.irw-breakout {
  max-inline-size: 100cqi;
  margin-block: var(--space--m) 0;
  margin-inline: calc(50% - 50cqi);
  overflow-x: hidden;
}
/*  Block Full Left and Right - Set Class at BLOCK  */
.irw-block-right,
.irw-block-left {
  row-gap: var(--space-content--s);
}

figure > figcaption.bricks-image-caption {
  font-size: var(--font-size-body--s);
  line-height: 1.4;
  font-style: italic;
  padding: var(--space-content--xs);
  border-bottom-left-radius: var(--border-radius--m);
  border-bottom-right-radius: var(--border-radius--m);
  text-wrap: balance;

  background: linear-gradient(
    0deg,
    rgba(0,0,0,.75),
    rgba(0,0,0,.45) 80%,
    transparent);
  color: var(--bg-light--2);
}

@media (min-width: 768px) {
  .irw-section-relative {
    --_percent-scale: 50%;

    padding-block: var(--space--3xl);
  }
  figure.irw-breakout {
    margin-block: 0;
  }
  .irw-block-left,
  .irw-block-right {
    max-inline-size: var(--_percent-scale);
  }
  .irw-block-left {
    padding-inline-end: var(--space-inline);
  }
  .irw-block-right {
    margin-inline-start: calc(100% - var(--percent-scale));
    padding-inline-start: var(--space-inline);
  }
  /*  IMAGE Left and Right - Set Class at FIGURE  */
  .irw-image-right,
  .irw-image-left {
    --_scroll-fix: 8px;

    position: absolute;
    block-size: 100%;
  }
  .irw-image-right {
    inset: 0 0 0 calc(var(--_percent-scale) + var(--_scroll-fix));
  }
  .irw-image-left {
    inset: 0 calc(var(--_percent-scale) + var(--_scroll-fix)) 0 0; 
  }
  .irw-image-left img {
    object-position: 80% 50%;
  }
  .irw-image-right img {
    object-position: 10% 50%;
  }
  figure img {
    object-fit: cover;
  }
}


/*****************************
 *
 * 21* - Button Classes
 */

.brxe-post-content .wp-block-button__link,
.brxe-post-content .wp-block-buttons > .wp-block-button:where(.is-style-outline) > .wp-block-button__link,

.category .bricks-button,
.bricks-button,

/*  WooCommerce buttons  */
.cart .single_add_to_cart_button, 
.product__add-cart a.button[data-product_id],
.product__add-cart form .button,
form.woocommerce-cart-form .coupon button,
form.woocommerce-cart-form button,
.brxe-woocommerce-cart-collaterals.cart-collaterals .wc-proceed-to-checkout .button,
.wc-block-components-button__text,
.woocommerce-mini-cart__buttons .button,
.brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a.wc-forward,
.my-woo-account button.woocommerce-Button,
.my-woo-account .woocommerce-MyAccount-content a.button,
.woocommerce-address-fields button,

.wsf-form button.wsf-button.wsf-button-full.wsf-button-primary {
  position: relative;

  font-size: var(--font-size-button--m);
  text-transform: uppercase;
  font-variation-settings: "wght" var(--font-weight--button);
  text-align: center;
  line-height: 1.2;
  letter-spacing: var(--letter-spacing--button);
  text-wrap: balance;

  gap: var(--space-content--2xs);
  margin: 0;
  padding-block: var(--button-padding--block);
  padding-inline: var(--button-padding--inline);
  inline-size: 100%;
  min-inline-size: 8em;
  border-radius: var(--border-radius--s);
  border: var(--border--s);

  border-color: var(--accent--base);
  background-size: 100% 250%;
  background-image: linear-gradient(in oklch to bottom right, var(--accent--light), var(--accent--dark));
  color: var(--body-dark--3);
  transition: all var(--transition--l);

  &:hover {
    background-position: 0% -100%;
    color: var(--body-dark--4);
  }

  &.outline {
    border: var(--border--m);
    padding-block: var(--button-padding--block);
    padding-inline: var(--button-padding--inline);

    background: transparent;
    border-color: var(--bg-dark--1);
    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-light--1);
      color: var(--body-light--1);
    }

    &:hover {
      background-position: 0% -100%;
      border-color: var(--accent--dark);
      background-color: var(--accent--base);
      color: var(--body-dark--4);

      @media (prefers-color-scheme: dark) {
        border-color: var(--accent--base);
        background-color: var(--accent--light);
      }
    }
  }

  &.sm {
    --_pad: 0.875em;

    font-size: calc(var(--font-size-button--m) * var(--_inc--xs));
    padding-block: var(--_pad);
    padding-inline: calc(var(--_pad) * 0.5);
    line-height: 1.1;
    text-underline-offset: 5px;
    text-wrap: wrap;

    &:hover {
      text-decoration-thickness: 1.5px;
    }
  }

  @media (prefers-color-scheme: dark) {
    &:hover {
      background-color: var(--accent--light);
    }

    &.outline {
      border-color: var(--primary--light);
      color: var(--primary--light);

      &:hover {
        border-color: var(--accent--base);
        background-color: var(--accent--base);
      }
    }
  }

  &[target="_blank"]::after {
    --_wght: 150;

    content: '\2197';
    font-variation-settings: "wght" calc(var(--font-weight--button) + var(--_wght));
    white-space: pre;
  }
}

.wp-block-button.irw-btn-cart-checkout {
  border: var(--border--s);
  border-radius: var(--border-radius--s);

  transition: var(--transition--m);
  border-color: var(--bg-dark--1);
  color: var(--body-dark--1);

  &:hover {
    background-color: var(--accent--dark);
    color: var(--body-light--1);
  }

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-light--1);
    color: var(--body-light--1);

    &:hover {
      background-color: var(--accent--dark);
      color: var(--body-light--1);
    }
  }

  & a {
    font-size: calc(var(--font-size-button--m) * var(--_inc--xs)) !important;
  }
}

.wc-proceed-to-checkout {
  text-align: end;
}

/*  Check buttons on Native Blocks  */
.brxe-post-content .wp-block-buttons:not(.last-child) {
  margin-block-end: var(--space-content--m);
}
.brxe-post-content .wp-block-buttons:last-child {
  margin-block-end: 0;
}


.wc-block-checkout-empty .wp-block-button__link {
  padding: 20px;
}


/*****************************
 *
 * 22* - WSForms settings
 */

.irw-contact {
  gap: var(--space-content--xl);
}

.irw-contact .wsf-form {
  padding-block: var(--space-card--m) 4px;
  padding-inline: var(--space-card--m);

  border-radius: var(--border-radius--m);
  border: var(--border--m);

  border-color: var(--bg-light--4);
  background-color: var(--bg-light--3);

  @media (prefers-color-scheme: dark) {
    border-color: var(--bg-dark--4);
    background-color: var(--bg-dark--3);
  }

  & input[type=checkbox].wsf-field + label.wsf-label {
    margin-inline-start: 40px;
  }

  & label.wsf-label {
    margin-block-end: var(--space-content--s);
    font-size: var(--font-size-body--m);
    font-variation-settings: "wght" var(--font-weight--bold);

    color: var(--body-dark--1);

    @media (prefers-color-scheme: dark) {
      color: var(--body-light--1);
    }

    & .wsf-required-wrapper {
      font-size: var(--font-size-body--s);
      font-style: italic;
      margin-inline-start: 6px;

      color: var(--error--dark);

      @media (prefers-color-scheme: dark) {
        color: var(--error--light);
      }
    }
  }

  & .wsf-text-danger,
  & .wsf-invalid-feedback {
    color: var(--error--dark);

    @media (prefers-color-scheme: dark) {
      color: var(--error--light);
    }
  }

  & input[type=text].wsf-field::placeholder,
  & input[type=email].wsf-field::placeholder,
  & textarea.wsf-field::placeholder {
    color: hsl(var(--_hsl-body-dark--1) / 0.6);

    @media (prefers-color-scheme: dark) {
      color: hsl(var(--_hsl-body-light--1) / 0.6);
    }
  }

  & input[type=checkbox].wsf-field:checked {
    background-color: var(--success--dark);

    @media (prefers-color-scheme: dark) {
      background-color: var(--success--light);
    }
  }

  & input[type=text].wsf-field,
  & input[type=email].wsf-field,
  & textarea.wsf-field,

  & input[type=text].wsf-field:focus,
  & input[type=email].wsf-field:focus,
  & textarea.wsf-field:focus,
  
  & input[type=text].wsf-field:hover:enabled:not(:focus),
  & input[type=email].wsf-field:hover:enabled:not(:focus),
  & textarea.wsf-field:hover:enabled:not(:focus) {
    --_pad: 0.75em;

    padding-block: var(--_pad);
    padding-inline: calc(var(--_pad) * var(--_space-ratio));

    color: var(--body-dark--3);
    caret-color: var(--body-dark--3);

    @media (prefers-color-scheme: dark) {
      color: var(--body-light--3);
      caret-color: var(--body-light--3);
    }
  }

  & input[type=text].wsf-field,
  & input[type=email].wsf-field,
  & textarea.wsf-field {
    border-radius: var(--border-radius--m);
    border: var(--border--m);

    border-color: var(--bg-light--5);
    background-color: var(--bg-light--1);
    transition: var(--transition--m);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--3);
      background-color: var(--bg-dark--1);
    }

    &:hover:enabled:not(:focus) {
      border-color: var(--bg-dark--1);
      background-color: var(--bg-light--2);

      @media (prefers-color-scheme: dark) {
        border-color: var(--bg-light--5);
        background-color: var(--bg-dark--2);
      }
    }
  }

  & input[type=text].wsf-field:focus,
  & input[type=email].wsf-field:focus,
  & textarea.wsf-field:focus {
    outline-style: solid;
    outline-width: var(--focus--width);
    outline-offset: var(--focus--offset);

    border-color: var(--bg-light--5);
    background-color: var(--bg-light--1);

    @media (prefers-color-scheme: dark) {
      border-color: var(--bg-dark--3);
      background-color: var(--bg-dark--1);
    }

    outline-color: var(--primary--base);
    transition: all var(--transition--s);
  }

  & .wsf-alert.wsf-alert-success {
    border-color: var(--primary-base--50);
    background-color: var(--primary-base--30);

    @media (prefers-color-scheme: dark) {
      border-color: var(--primary-base--60);
      background-color: var(--primary-base--40);
    }

    & > p {
      font-size: var(--font-size-body--l);
      color: var(--body-dark--1);

      @media (prefers-color-scheme: dark) {
        color: var(--body-light--1);
      }
    }
  }
}

.irw-location {

  & .irw-location__divider {
    margin-block: var(--space-content--3xl) var(--space-content--xl);
  }

  & .faire-block,
  & .contact-block {
    row-gap: var(--space-content--xl);

    & .irw-email {
      margin-block-start: var(--space-content--m);
    }
  }
}


/*****************************
 *
 * 23* - Sitemap settings 
 */

.brxe-section.irw-sitemap {
  row-gap: var(--space-gap--m);

  & .brxe-container {
      position: relative; 
      display: grid;
      column-gap: var(--space-gap--m);
      align-items: initial;
      grid-template-columns: repeat(1, minmax(0, 1fr));

      @media (min-width: 768px) {
        grid-template-columns: repeat(1, minmax(0, 1fr)) repeat(1, minmax(0, 2fr));
      }
  }

  & h2 {
    font-size: var(--font-size-heading--h2);
    margin-block-end: var(--space-content--xs);
  }

  & ul {
    list-style-type: none;
  }

  & a {
    --_text-in: var(--space-card--l);

    margin-block-end: var(--space-content--2xs);
    padding-inline-start: var(--_text-in);
    text-indent: calc(var(--_text-in) * -1);

    transition: var(--transition--m);
    background: transparent;
    color: var(--link--dark);

    @media (prefers-color-scheme: dark) {
      color: var(--link--light);
    }
  
    &:hover {
      text-decoration-color: var(--primary-dark--5);
      background-color: var(--primary-light--4);
      color: var(--link--dark-hover);

      @media (prefers-color-scheme: dark) {
        text-decoration-color: var(--primary-light--5);
        background-color: var(--primary-dark--4);
        color: var(--link--light-hover);
      }
    }
  }
}


/*****************************
 *
 * 24* - Policy settings 
 */

.single-policy #brx-content > .brxe-section {
  margin-block-start: calc(var(--space--m) + 48px);

  @media (min-width: 500px) {
    margin-block-start: calc(var(--space--m) + 32px);
  }

  @media (min-width: 768px) {
    margin-block-start: calc(var(--space--m) + 16px);
  }

  @media (min-width: 1024px) {
    margin-block-start: var(--space--m);
  }

  & .brxe-container {
    max-inline-size: var(--width--xs);
  }

  & h1 {
    margin-block-end: var(--space-content--l);
  }

  & h2,
  & h3 {
    font-family: var(--font-family--body);
    font-variation-settings: "wght" calc(var(--font-weight--bold) + var(--_wght));
    margin-block: var(--space-content--m) 0;
  }

  & h2 {
    font-size: var(--font-size-heading--h3);
  }

  & h3 {
    font-size: var(--font-size-heading--h4);
  }
}
