/**
 * Button Reset
 *
 */
/**
 * Size
 *
 */
/**
 * Block Cover
 * Creates a block that covers the full width/height of parent div. Typically used on a :before pseudo element
 */
/**
 * Placeholder Color
 *
 */
/**
 * Clearfix
 *
 */
/**
 * Font Sizes
 *
**/
:root {
  --bbl-logo-height: 28px;
  --bbl-logo-width: 140px;
  --bbl-mobile-menu-width: 250px;
}
@media (min-width: 769px) {
  :root {
    --bbl-logo-width: 148px;
    --bbl-logo-height: 30px;
  }
}

/* @link https://utopia.fyi/type/calculator?c=360,15,1.125,1240,17,1.2,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
:root {
  --step--2: clamp(0.7378rem, 0.7419rem + -0.0053vw, 0.7407rem);
  --step--1: clamp(0.8333rem, 0.812rem + 0.0947vw, 0.8854rem);
  --step-0: clamp(0.9375rem, 0.8864rem + 0.2273vw, 1.0625rem);
  --step-1: clamp(1.0547rem, 0.9646rem + 0.4006vw, 1.275rem);
  --step-2: clamp(1.1865rem, 1.046rem + 0.6245vw, 1.53rem);
  --step-3: clamp(1.3348rem, 1.1298rem + 0.9112vw, 1.836rem);
  --step-4: clamp(1.5017rem, 1.2147rem + 1.2755vw, 2.2032rem);
  --step-5: clamp(1.6894rem, 1.299rem + 1.7353vw, 2.6438rem);
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
	========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
*/
/* Grouping content
	========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
	========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
	========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

figure {
  margin: 0;
}

/* Box Sizing
--------------------------------------------- */
html,
input[type=search] {
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 359px) {
  body {
    --wp--custom--layout--padding: 10px;
  }
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* Wrap
--------------------------------------------- */
.wrap {
  max-width: calc(var(--wp--custom--layout--wide) + 2 * var(--wp--custom--layout--padding));
  margin: 0 auto;
  padding-left: var(--wp--custom--layout--padding);
  padding-right: var(--wp--custom--layout--padding);
}

.site-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}

.site-inner {
  padding: var(--wp--custom--layout--block-gap) var(--wp--custom--layout--padding);
}
.blog .site-inner {
  padding-bottom: 0;
}
.single-product .site-inner {
  padding-left: 0;
  padding-right: 0;
}

.content-area {
  margin-inline: auto;
  max-width: calc(var(--wp--custom--layout--wide));
}

body.full-width-content {
  --wp--custom--layout--page: var(--wp--custom--layout--wide);
}

/* Screen Reader Text
--------------------------------------------- */
.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus {
  clip: auto !important;
  height: auto;
  width: auto;
  display: block;
  font-size: 1em;
  font-weight: bold;
  padding: 15px 23px 14px;
  color: #333;
  background: #fff;
  z-index: 100000; /* Above WP toolbar. */
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

/* Basic GSAP Animation Class
--------------------------------------------- */
.fade-up {
  /* GSAP will handle the animation, this is just for manual use */
}

/* Accessibility: Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .fade-up {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Sidebar Removal
--------------------------------------------- */
/* Hide any potential sidebars */
#secondary,
.widget-area,
.sidebar,
aside {
  display: none !important;
}

/* Ensure content takes full width when no sidebar */
body:not(.has-sidebar) .content-area {
  width: 100%;
  max-width: 100%;
}

/* Type
--------------------------------------------- */
.bold {
  font-weight: 700;
}

ins {
  text-decoration: none;
}

ul,
ol {
  padding-left: 1rem;
}
ul.is-style-tick,
ol.is-style-tick {
  list-style: none;
  padding-left: 0;
}
ul.is-style-tick li,
ol.is-style-tick li {
  position: relative;
  padding-left: calc(1rem + 6px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
ul.is-style-tick li:before,
ol.is-style-tick li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: 1.15rem;
  height: 1.15rem;
  background-image: url("../icons/utility/tick-accent-3.svg");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}

/* Heading
--------------------------------------------- */
.wp-block-heading.is-style-subheading {
  text-transform: uppercase;
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 1px;
  padding: 0;
  background-color: transparent;
  font-weight: 600;
  color: var(--wp--preset--color--accent-2);
  font-family: var(--wp--preset--font-family--theme-2);
}
.wp-block-heading.is-style-subheading + .wp-block-heading {
  margin-top: 0;
}
.wp-block-heading.is-style-subheading + p {
  margin-top: 0.85rem;
}

/* Image
--------------------------------------------- */
img {
  display: block;
  max-width: 100%;
  height: auto;
}
img.alignleft {
  float: left;
  margin: 0 var(--wp--style--block-gap) var(--wp--style--block-gap) 0;
  max-width: calc(var(--wp--custom--layout--content) / 2);
}
img.alignright {
  float: right;
  margin: 0 0 var(--wp--style--block-gap) var(--wp--style--block-gap);
  max-width: calc(var(--wp--custom--layout--content) / 2);
}
img.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

figure.wp-caption {
  max-width: 100%;
}

.wp-block-image figcaption {
  font-size: var(--wp--preset--font-size--small);
  text-align: center;
}
@media (min-width: 601px) {
  .wp-block-image.alignleft {
    float: left;
    margin: var(--wp--style--block-gap) var(--wp--style--block-gap) var(--wp--style--block-gap) 0;
    max-width: 48vw;
  }
  .wp-block-image.alignright {
    float: right;
    margin: var(--wp--style--block-gap) 0 var(--wp--style--block-gap) var(--wp--style--block-gap);
    max-width: 48vw;
  }
}

/* Button
--------------------------------------------- */
.wp-element-button,
.wp-block-button > .wp-block-button__link {
  display: inline-block;
  align-items: center;
  width: auto;
}
.wp-element-button.has-white-color,
.wp-block-button > .wp-block-button__link.has-white-color {
  border-color: inherit;
}
.wp-element-button.has-white-color:hover,
.wp-block-button > .wp-block-button__link.has-white-color:hover {
  border-color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-solid .wp-block-button__link {
  border: 0;
}
.wp-block-button.is-style-solid *:not(.has-background).wp-block-button__link {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
}
.wp-block-button.is-style-solid .has-white-background-color.wp-block-button__link:not(.has-text-color):hover {
  color: var(--wp--preset--color--contrast);
}

/* Form
--------------------------------------------- */
input,
select,
textarea {
  background: transparent;
  border: 1px solid var(--wp--custom--color--input-border, #ddd);
  border-radius: 25px;
  color: var(--wp--preset--color--contrast);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.4;
  padding: 9px 15px;
  width: 100%;
}

input[type=checkbox],
input[type=submit] {
  width: auto;
}

select {
  height: 50px;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("../icons/utility/carat-down.svg");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 16px;
  padding-right: 40px;
}

textarea {
  width: 100%;
  resize: vertical;
}

::-moz-placeholder {
  color: rgba(0, 0, 0, 0.35);
  opacity: 1;
}

::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.35);
}

::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.35);
}

input:focus::-webkit-input-placeholder,
input:focus::-moz-placeholder,
input:focus:-ms-input-placeholder,
textarea:focus::-webkit-input-placeholder,
textarea:focus::-moz-placeholder,
textarea:focus:-ms-input-placeholder {
  color: transparent;
}

label,
.wp-block-search__label,
.wpforms-container .wpforms-field-label {
  font-family: var(--wp--preset--font-family--theme-2);
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
label .wpforms-required-label,
.wp-block-search__label .wpforms-required-label,
.wpforms-container .wpforms-field-label .wpforms-required-label {
  color: inherit;
}

.wpforms-container .wpforms-field-sublabel {
  font-weight: 400;
  font-family: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.password-input {
  position: relative;
}
.password-input .show-password-input {
  position: absolute;
  top: 0px;
  right: 12px;
  width: 22px;
  height: 22px;
  background: transparent;
  background-image: url(../icons/utility/eye-slash.svg);
  background-position: center;
  background-size: contain;
  border: 0;
  background-repeat: no-repeat;
  cursor: pointer;
}
.password-input .show-password-input.display-password {
  background-image: url(../icons/utility/eye.svg);
}
.password-input .show-password-input:hover {
  opacity: 0.7;
}
.password-input [type=password] {
  padding-right: 50px;
}

/* Columns
--------------------------------------------- */
.wp-block-columns > .wp-block-column:nth-of-type(odd) > .wp-block-image {
  padding-right: var(--wp--preset--spacing--60);
}
.wp-block-columns > .wp-block-column:nth-of-type(even) > .wp-block-image {
  padding-left: var(--wp--preset--spacing--60);
}

/* Group + Cover
--------------------------------------------- */
.wp-block-group.has-background:not(.alignfull),
.wp-block-cover.has-background:not(.alignfull) {
  padding: var(--wp--style--block-gap);
}

/* Group
--------------------------------------------- */
/* Cover
--------------------------------------------- */
/* Gallery
--------------------------------------------- */
.wp-block-gallery {
  --wp--style--gallery-gap-default: 5px;
}

/* Tables
--------------------------------------------- */
.wp-block-table {
  margin: 0 0 2rem;
}

/* WordPress SEO
--------------------------------------------- */
.breadcrumb,
.woocommerce-breadcrumb {
  font-size: var(--wp--preset--font-size--x-small);
  margin: 0 0 1rem 0;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}

/* Yoast Blocks
--------------------------------------------- */
.schema-faq-section {
  margin-bottom: var(--wp--style--block-gap)/2;
  cursor: pointer;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.schema-faq-section:last-of-type {
  border-bottom: 0;
}
.schema-faq-section.active .schema-faq-question:after {
  background-image: url(../icons/utility/faq-close.svg);
}

.wp-block-group.has-yellow-background-color .schema-faq-section {
  border-bottom-color: var(--wp--custom--color--black);
}

.schema-faq-question {
  display: block;
  cursor: pointer;
  padding: 20px 60px 20px 0;
  position: relative;
  font-size: calc(var(--wp--preset--font-size--medium) * 1.2);
}
.schema-faq-question:after {
  transition: transform 0.1s ease-in-out;
  background-image: url(../icons/utility/faq-open.svg);
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 36px;
  height: 36px;
  display: block;
  right: 0;
  top: 15px;
}
@media (min-width: 768px) {
  .schema-faq-question:after {
    top: 17px;
    width: 40px;
    height: 40px;
  }
}
.schema-faq-question:hover {
  opacity: 0.7;
}

.schema-faq-answer {
  margin-top: 0;
}
@media (min-width: 768px) {
  .schema-faq-answer {
    max-width: 85%;
  }
}

/* WPForms
--------------------------------------------- */
div.wpforms-container {
  --wpforms-field-border-color-spare: var(--wp--preset--color--commercial-1) !important;
  --wpforms-field-size-input-spacing: 20px !important;
}
div.wpforms-container .wpforms-title {
  font-size: var(--wp--preset--font-size--x-large);
  line-height: var(--wp--custom--line-height--small);
  margin: 0 0 16px;
  padding: 0;
}
div.wpforms-container .wpforms-description {
  margin: 0 0 16px;
  padding: 0;
}
div.wpforms-container .wpforms-field {
  padding: 0;
  margin-bottom: 16px;
}
div.wpforms-container .wpforms-field.impound {
  display: none;
}
div.wpforms-container .wpforms-field.wpforms-field-radio ul li input + label {
  padding-inline-start: 8px;
}
div.wpforms-container .wpforms-field-label-inline {
  color: var(--wp--preset--color--base);
}
div.wpforms-container .wpforms-field-sublabel {
  font-size: var(--wp--preset--font-size--x-small);
}
div.wpforms-container .wpforms-submit-container {
  padding: 0;
  margin-top: 16px;
  text-align: left;
}

/* FacetWP
------------------------------------------ */
.woocommerce.archive div.facetwp-type-checkboxes {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  gap: 1rem;
}

.facetwp-type-checkboxes .facetwp-checkbox {
  font-size: var(--wp--preset--font-size--small);
  background: url(../icons/utility/checkbox.svg) 0 2px no-repeat;
  background-size: 16px 16px;
  padding-left: 22px;
}
.facetwp-type-checkboxes .facetwp-checkbox.checked {
  background-image: url(../icons/utility/checkbox-on.svg);
}
.facetwp-type-checkboxes .facetwp-toggle {
  font-size: calc(var(--wp--preset--font-size--small) * 0.95);
}

div.facetwp-radio {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 60px;
  border: 1px solid var(--wp--preset--color--contrast);
  border-radius: var(--wp--custom--border-radius--small);
  color: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--small);
  line-height: var(--wp--custom--line-height--medium);
  text-align: center;
  font-weight: bold;
  margin: 0;
  background: none !important;
}
div.facetwp-radio.checked, div.facetwp-radio:hover {
  background-color: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base);
}
div.facetwp-radio[data-value=commercial] {
  border-color: var(--wp--preset--color--commercial-2) !important;
}
div.facetwp-radio[data-value=commercial].checked, div.facetwp-radio[data-value=commercial]:hover {
  background-color: var(--wp--preset--color--commercial-2) !important;
}
div.facetwp-radio[data-value=domestic] {
  border-color: var(--wp--preset--color--contrast) !important;
}
div.facetwp-radio[data-value=domestic].checked, div.facetwp-radio[data-value=domestic]:hover {
  background-color: var(--wp--preset--color--contrast) !important;
}
div.facetwp-radio .facetwp-counter {
  display: none;
}

.facetwp-type-fselect .fs-label-wrap {
  background-color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--contrast);
}
.facetwp-type-fselect .fs-label-wrap .fs-label {
  padding: 16.5px 22px 16.5px 8px;
}

.facetwp-load-more {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: auto;
  border: 0;
  background-color: var(--wp--preset--color--contrast);
  border-radius: 50px;
  border-width: 0px;
  color: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 0;
  line-height: var(--wp--custom--line-height--medium);
  padding-top: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 1.25rem;
  text-decoration: none;
  transition: var(--wp--custom--transition);
  cursor: pointer;
}
.facetwp-load-more:hover {
  filter: brightness(85%);
}
.facetwp-load-more:after {
  content: "";
  width: 30px;
  height: 30px;
  display: block;
  margin-left: 0;
  background-image: url(../icons/utility/arrow-round-down.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* Cookie Notice
--------------------------------- */
#cookie-notice #cn-accept-cookie {
  background-color: transparent;
  border: 1px solid;
}

/* Site Header
---------------------------------------------------------------------------------------------------- */
.site-header {
  position: relative;
  top: 0;
  z-index: 1002;
  border-bottom: 1px solid var(--wp--preset--color--accent-5);
}
@media (max-width: 768px) {
  .site-header {
    position: sticky;
  }
  .site-header.scrolled {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    background-color: var(--wp--preset--color--base);
  }
}
.site-header a {
  text-decoration: none;
  color: var(--wp--preset--color--contrast);
}
.site-header__toggles {
  display: flex;
  flex-wrap: nowrap;
  justify-self: flex-end;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 769px) {
  .site-header__toggles {
    display: none;
  }
}
.site-header__cart {
  display: flex;
  align-items: center;
  justify-self: flex-end;
}
@media (max-width: 768px) {
  .site-header__cart {
    display: none;
  }
}
.site-header__logo {
  display: block;
  max-width: var(--bbl-logo-width);
  width: 100%;
  height: var(--bbl-logo-height);
  justify-self: center;
}
.site-header__logo svg {
  width: 100%;
  height: 100%;
}

.menu-toggle {
  background: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  text-align: center;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.menu-toggle svg {
  width: 24px;
  height: 24px;
  fill: white;
}
.menu-toggle .close {
  display: none;
  width: 20px;
  height: 20px;
}
.menu-toggle.open .close {
  display: inline;
}
.menu-toggle.open .open {
  display: none;
}

/* Main Navigation
---------------------------------------------------------------------------------------------------- */
.main-nav ul {
  clear: both;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
.main-nav .wrap {
  display: grid;
  grid-template-columns: minmax(0, var(--bbl-logo-width)) 1fr auto;
  align-items: center;
  padding-block-start: 10px;
  padding-block-end: 10px;
  row-gap: 1rem;
}
@media (min-width: 769px) {
  .main-nav .wrap {
    padding-block-start: 16px;
    padding-block-end: 16px;
  }
}
@media (min-width: 769px) {
  .main-nav .nav-primary__wrapper {
    display: flex;
    margin-left: auto;
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .main-nav .nav-primary__wrapper {
    width: var(--bbl-mobile-menu-width);
    max-height: 100dvh;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    opacity: 0;
    visibility: hidden;
    background-color: var(--wp--preset--color--accent-4);
    transform: translateX(-100%);
    transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    padding: 1rem var(--wp--custom--layout--padding);
    display: flex;
    flex-direction: column;
  }
  .main-nav .nav-primary__wrapper.open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  .main-nav .nav-primary__wrapper nav.nav-primary,
.main-nav .nav-primary__wrapper .nav-primary__extras {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease 0s;
  }
  .main-nav .nav-primary__wrapper.open nav.nav-primary,
.main-nav .nav-primary__wrapper.open .nav-primary__extras {
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.3s ease 0.25s;
  }
}
@media (max-width: 768px) {
  .main-nav .wc-geo-country-switcher {
    order: -1;
    margin-bottom: 1.5rem;
  }
  .main-nav .wc-geo-country-switcher .wc-geo-switcher-toggle {
    width: 100%;
  }
  .main-nav .wc-geo-country-switcher .wc-geo-arrow {
    margin-left: auto;
  }
}

@media (max-width: 768px) {
  nav.nav-primary {
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
}
nav.nav-primary .menu {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 6px 0;
}
@media (min-width: 769px) {
  nav.nav-primary .menu {
    gap: 6px 0;
    align-items: center;
  }
}
nav.nav-primary .menu-item {
  position: relative;
}
nav.nav-primary .menu-item a {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 500;
  padding: 0.5rem 0;
  display: flex;
  text-align: center;
  align-items: center;
  line-height: 1.25;
  text-underline-offset: 4px;
}
nav.nav-primary .menu-item.menu-item-has-children > a {
  padding-right: calc(var(--wp--custom--layout--padding) + 6px);
}
nav.nav-primary .menu-item.current-menu-item > a, nav.nav-primary .menu-item.current-menu-ancestor > a, nav.nav-primary .menu-item.current_page_parent > a {
  text-decoration: underline;
}
nav.nav-primary .menu-item.button {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 769px) {
  nav.nav-primary .menu-item.button {
    margin: 0 1rem;
  }
}
nav.nav-primary .menu-item.button > a {
  background-color: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--white);
  padding: 0.5rem 1.25rem !important;
  border-radius: 50px;
  text-decoration: none;
  min-height: 40px;
}
@media (max-width: 768px) {
  nav.nav-primary .menu-item.button > a {
    display: inline-flex;
    font-size: 14px;
  }
}
nav.nav-primary .menu-item.button:hover > a {
  text-decoration: none;
  border: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), radial-gradient(210.77% 119.74% at 99.14% 2%, hsla(0deg, 0%, 100%, 0.05) 0, hsla(0deg, 0%, 100%, 0) 100%), var(--wp--preset--color--accent-2);
}
@media (max-width: 768px) {
  nav.nav-primary .menu-item.menu-item-cart {
    text-align: right;
    padding-right: 8px;
  }
}
nav.nav-primary .sub-menu > li > a {
  transition: color 0.15s linear;
}
nav.nav-primary .submenu-expand {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  outline: none;
  cursor: pointer;
  position: absolute;
  background: none;
  line-height: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  z-index: 1001;
}
nav.nav-primary .submenu-expand:not(.expanded) .close, nav.nav-primary .submenu-expand.expanded .open {
  display: none;
}
@media (max-width: 768px) {
  nav.nav-primary .submenu-expand {
    width: 100%;
    height: 40px;
    top: 0;
    left: 0;
    transform: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
nav.nav-primary .submenu-expand svg {
  background-color: var(--wp--preset--color--contrast);
  border-radius: 50%;
  padding: 2px;
  fill: white;
}
@media (min-width: 1130px) {
  nav.nav-primary .menu-item:hover > .sub-menu, nav.nav-primary .menu-item:focus-within > .sub-menu {
    left: auto;
  }
  nav.nav-primary .sub-menu {
    left: -9999px;
    border-radius: 0;
  }
}
@media (min-width: 769px) {
  nav.nav-primary .menu {
    justify-content: flex-end;
    flex-direction: row;
  }
  nav.nav-primary .menu-item > a {
    font-size: 15px;
    letter-spacing: 0.5px;
    padding: 8px 14px;
  }
  nav.nav-primary .menu-item:hover > .sub-menu, nav.nav-primary .menu-item:focus-within > .sub-menu {
    opacity: 1;
  }
  nav.nav-primary .sub-menu {
    background: var(--wp--preset--color--white);
    opacity: 0;
    position: absolute;
    width: 360px;
    z-index: 99;
    box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.25);
    padding: 1.25rem;
  }
}
@media (max-width: 768px) {
  nav.nav-primary .sub-menu {
    list-style: none;
    padding: 0;
    display: none;
  }
  nav.nav-primary .submenu-expand.expanded + .sub-menu {
    display: block;
  }
}

/* Admin Bar
--------------------------------------------- */
@media (min-width: 783px) {
  .admin-bar .site-container {
    padding-top: 32px;
  }
}
@media (max-width: 782px) {
  #wpadminbar {
    display: none !important;
  }
}
/* Cart Icon
---------------------------------------------------------------------------------------------------- */
.cart-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.cart-icon__link {
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s ease;
}
.cart-icon__link:hover {
  opacity: 0.7;
}
.cart-icon__svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.cart-icon__count {
  position: absolute;
  top: -8px;
  right: -8px;
  background-color: var(--wp--preset--color--accent-1, #007cba);
  color: white;
  border-radius: 50%;
  min-width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 0 4px;
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.cart-icon__count:empty {
  display: none;
}
.cart-icon__count[data-cart-count="0"] {
  display: none;
}
.cart-icon.updating .cart-icon__count {
  transform: scale(1.2);
  background-color: var(--wp--preset--color--accent-2, #005a87);
}

/* Cart Menu Item
---------------------------------------------------------------------------------------------------- */
.menu-item-cart .cart-icon__link {
  padding: 8px 14px;
  display: flex;
  align-items: center;
}
@media (min-width: 769px) {
  .menu-item-cart .cart-icon__link {
    padding: 8px 14px;
    font-size: 15px;
    letter-spacing: 0.5px;
  }
}

/* Archive Header
--------------------------------------------- */
.archive-header {
  background: transparent;
  padding: 24px var(--wp--custom--layout--padding);
}
.archive-header .archive-title {
  margin-top: 0;
  margin-bottom: 0;
}

.archive-description > *:first-child {
  margin-top: 0;
}

.archive-description > *:last-child {
  margin-bottom: 0;
}

/* Post Listing
--------------------------------------------- */
.archive .site-main,
.blog .site-main {
  margin-left: calc(-1 * var(--wp--custom--layout--padding));
  margin-right: calc(-1 * var(--wp--custom--layout--padding));
  max-width: 100vw;
  padding: 0 var(--wp--custom--layout--padding);
}
.archive .archive-listing,
.blog .archive-listing {
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--wp--custom--layout--block-gap-large) var(--wp--custom--layout--block-gap);
  max-width: calc(var(--wp--custom--layout--wide) + 2 * var(--wp--custom--layout--padding));
}
@media (min-width: 768px) {
  .archive .archive-listing,
.blog .archive-listing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Product Archive
-------------------------------------------------- */
[class$=-summary] .post-summary__image {
  display: block;
  border-radius: var(--wp--custom--border-radius--medium);
  overflow: hidden;
}
@media (max-width: 767px) {
  [class$=-summary] .post-summary__image {
    margin-bottom: 1rem;
  }
}
[class$=-summary] .post-summary__image img {
  aspect-ratio: var(--wp--preset--aspect-ratio--3-2);
  object-fit: cover;
  width: 100%;
  height: 100%;
}
[class$=-summary] .post-summary__content {
  display: flex;
  flex-direction: column;
  gap: var(--wp--style--block-gap);
  position: relative;
}
@media (min-width: 768px) {
  [class$=-summary] .post-summary__content {
    padding: var(--wp--preset--spacing--40);
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: var(--wp--custom--border-radius--medium);
    width: calc(100% - 2 * var(--wp--preset--spacing--40));
    margin-left: var(--wp--preset--spacing--40);
    margin-top: calc(var(--wp--preset--spacing--50) * -1);
  }
}
[class$=-summary] .post-summary__content > * {
  margin: 0;
}
[class$=-summary] .wp-element-button {
  width: max-content;
}
[class$=-summary] .entry-category {
  margin-top: 1.5rem;
}
[class$=-summary] .entry-category a {
  text-decoration: none;
  font-size: var(--wp--preset--font-size--x-small);
  text-transform: uppercase;
  font-family: var(--wp--preset--font-family--theme-2);
  display: inline-block;
  padding: 6px 12px;
  background-color: transparent;
  color: var(--wp--preset--color--contrast);
  border: 1px solid var(--wp--preset--color--contrast);
  letter-spacing: 0.5px;
  font-weight: 500;
}
[class$=-summary] .entry-category a:hover {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
}
[class$=-summary] .post-summary__title {
  font-size: var(--wp--preset--font-size--x-large);
}
[class$=-summary] .post-summary__title a {
  color: var(--wp--preset--color--base);
  text-decoration: none;
}
[class$=-summary] .post-summary__title a:hover {
  color: var(--wp--preset--color--commercial-1);
}
[class$=-summary] .post-summary__date {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1rem;
  font-size: var(--wp--preset--font-size--small);
  text-transform: uppercase;
  font-family: var(--wp--preset--font-family--theme-2);
  color: var(--wp--preset--color--commercial-1);
  font-weight: 700;
}
[class$=-summary] .post-summary__date svg {
  margin-right: 12px;
  fill: var(--wp--preset--color--commercial-1);
}

/* Case Case Study - Featured
--------------------------------------------- */
.case-study-summary.featured {
  --case-study-overlap: 5rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0;
}
@media (min-width: 768px) {
  .case-study-summary.featured {
    padding: var(--case-study-overlap) 0;
    grid-template-columns: 3fr 2fr !important;
    margin-top: var(--case-study-overlap);
    margin-bottom: var(--case-study-overlap);
  }
}
.case-study-summary.featured .logo {
  position: absolute;
  top: var(--wp--preset--spacing--30);
  left: var(--wp--preset--spacing--30);
  z-index: 1;
  padding: 0.5rem;
  background-color: white;
  border-radius: var(--wp--custom--border-radius--small);
  max-width: 70px;
}
@media (min-width: 768px) {
  .case-study-summary.featured .logo {
    border-radius: var(--wp--custom--border-radius--medium);
    top: 0;
    padding: 0.75rem;
    max-width: 100px;
    left: var(--wp--preset--spacing--40);
  }
}
.case-study-summary.featured .logo img {
  aspect-ratio: 1/1;
  object-fit: contain;
}
.case-study-summary.featured .case-study-summary__panel {
  position: relative;
  display: flex;
  align-items: stretch;
}
.case-study-summary.featured .case-study-summary__image {
  width: 100%;
  border-radius: var(--wp--custom--border-radius--medium) var(--wp--custom--border-radius--medium) 0 0;
  overflow: hidden;
  position: relative;
}
@media (min-width: 768px) {
  .case-study-summary.featured .case-study-summary__image {
    margin-bottom: calc(var(--case-study-overlap) * -1);
    margin-top: calc(var(--case-study-overlap) * -1);
    width: calc(100% + var(--case-study-overlap));
    margin-right: calc(var(--case-study-overlap) * -1);
    height: calc(100% + 2 * var(--case-study-overlap));
    border-radius: var(--wp--custom--border-radius--medium);
  }
}
.case-study-summary.featured .case-study-summary__image:after {
  content: "";
  width: calc(100% + var(--case-study-overlap));
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: var(--wp--preset--gradient--vertical-transparent-to-black-30);
}
@media (min-width: 768px) {
  .case-study-summary.featured .case-study-summary__image:after {
    bottom: calc(var(--case-study-overlap) * -1);
  }
}
.case-study-summary.featured .case-study-summary__image img {
  object-fit: cover;
  height: 100%;
  aspect-ratio: 1.5/1;
}
@media (min-width: 768px) {
  .case-study-summary.featured .case-study-summary__image img {
    aspect-ratio: 2/1;
  }
}
.case-study-summary.featured .case-study-summary__content {
  background-color: white;
  z-index: 1;
  padding: var(--wp--preset--spacing--30);
  border-radius: 0 0 var(--wp--custom--border-radius--medium) var(--wp--custom--border-radius--medium);
  align-self: flex-end;
}
@media (min-width: 992px) {
  .case-study-summary.featured .case-study-summary__content {
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
    border-radius: var(--wp--custom--border-radius--medium);
  }
}
.case-study-summary.featured .case-study-summary__content a {
  text-decoration: none;
}
.case-study-summary.featured .case-study-summary__content > *:first-child {
  margin-top: 0;
}
.case-study-summary.featured .case-study-summary__content > *:last-child {
  margin-top: 2rem;
  margin-bottom: 0;
}
.case-study-summary.featured .post-summary__title {
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .case-study-summary.featured .post-summary__title {
    margin-top: 1rem;
  }
}
.case-study-summary.featured .case-study-summary__highlights-grid {
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 100%;
  display: flex;
  gap: 1rem;
  color: var(--wp--preset--color--white);
  line-height: 1.25;
  padding: var(--wp--preset--spacing--30);
}
@media (max-width: 767px) {
  .case-study-summary.featured .case-study-summary__highlights-grid {
    text-align: center;
  }
  .case-study-summary.featured .case-study-summary__highlights-grid > div {
    width: 100%;
  }
  .case-study-summary.featured .case-study-summary__highlights-grid > div:not(:first-of-type) {
    display: none;
  }
}
@media (min-width: 768px) {
  .case-study-summary.featured .case-study-summary__highlights-grid {
    gap: 2rem;
    padding: 0 20% var(--case-study-overlap) var(--wp--preset--spacing--40);
    bottom: calc(var(--case-study-overlap) * -1);
  }
  .case-study-summary.featured .case-study-summary__highlights-grid > div {
    position: relative;
  }
  .case-study-summary.featured .case-study-summary__highlights-grid > div:after {
    content: "";
    height: 100%;
    width: 1px;
    position: absolute;
    top: 0;
    right: -1rem;
    background-color: rgba(255, 255, 255, 0.3);
  }
  .case-study-summary.featured .case-study-summary__highlights-grid > div:last-of-type:after {
    display: none;
  }
}
.case-study-summary.featured .case-study-summary__highlights-grid .title {
  font-weight: bold;
  font-size: var(--wp--preset--font-size--xx-large);
  color: var(--wp--preset--color--domestic-3);
}

/* Archive Filters
--------------------------------------------- */
.archive-filters {
  display: flex;
  gap: var(--wp--custom--layout--block-gap);
  justify-content: center;
}
.archive-filters select {
  min-width: 200px;
}
.archive-filters .facetwp-facet-project_type {
  display: flex;
  gap: var(--wp--custom--layout--block-gap);
}

/* Entry Navigation
--------------------------------------------- */
.pagination {
  margin: var(--wp--custom--layout--block-gap-large) auto var(--wp--custom--layout--block-gap);
  max-width: var(--wp--custom--layout--page);
  grid-column: 1/-1;
  text-align: center;
}
.pagination .facetwp-facet {
  margin-bottom: 0;
}
.pagination ul {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.pagination ul li {
  list-style-type: none;
  display: inline-block;
}
.pagination ul li a {
  background: var(--wp--preset--color--base);
  border: 0;
  border-radius: var(--wp--custom--border-radius--small);
  color: var(--wp--preset--color--white);
  fill: var(--wp--preset--color--contrast);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.pagination ul li svg {
  fill: inherit;
}
.pagination ul li:hover > a, .pagination ul li.active > a {
  background: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  fill: var(--wp--preset--color--base);
}

/* Singular
---------------------------------------------------------------------------------------------------- */
/* Entry Content
--------------------------------------------- */
.entry-content > * {
  margin: 0 auto;
  max-width: var(--wp--custom--layout--page);
}
.entry-content > *.alignwide {
  max-width: var(--wp--custom--layout--wide);
}
.entry-content > *.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
}
.entry-content > * + * {
  margin-top: var(--wp--custom--layout--block-gap);
}
.entry-content > .alignfull:first-child, .entry-content > .wp-block-separator:first-child {
  margin-top: var(--wp--custom--layout--block-gap);
}
.entry-content > .alignfull + .alignfull, .entry-content > .alignfull.has-background + .alignfull.has-background {
  margin-top: 0;
}
.entry-content:first-child > .alignfull:first-child {
  margin-top: calc(-1 * var(--wp--custom--layout--block-gap));
}
.entry-content:last-child > .alignfull.has-background:last-child {
  margin-bottom: calc(-1 * var(--wp--custom--layout--block-gap));
}

/* Single Post
--------------------------------------------- */
.entry-header h1 {
  text-align: center;
}

.entry-header,
.after-entry {
  max-width: var(--wp--custom--layout--page);
  margin-left: auto;
  margin-right: auto;
}

.entry-footer {
  margin-top: 48px;
}

/* Not Found / 404
--------------------------------------------- */
.not-found {
  min-height: 500px;
  min-height: 50vh;
}
.not-found .entry-content {
  text-align: center;
}

/* Site Footer
---------------------------------------------------------------------------------------------------- */
.site-footer {
  padding: var(--wp--preset--spacing--50) 0;
  background-color: #f6f6f6;
  font-family: var(--wp--preset--font-family--theme-2);
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 500;
  margin-top: auto;
}
.site-footer .wrap {
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 3rem 1rem;
  max-width: calc(var(--wp--custom--layout--wide) + 2 * var(--wp--custom--layout--padding));
}
.site-footer a {
  text-decoration: none;
  color: var(--wp--preset--color--contrast);
}
.site-footer a:hover {
  text-decoration: underline;
}

.footer__social-links {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
.footer__social-links span {
  text-transform: uppercase;
  font-weight: 500;
}
.footer__social-links ul.social-links {
  padding: 0;
  margin: 0;
}
@media (min-width: 768px) {
  .footer__social-links ul.social-links {
    justify-content: flex-end;
  }
}

.footer__logos {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 768px) {
  .footer__logos {
    flex-direction: row;
    gap: 3rem;
    align-items: center;
    justify-content: space-between;
  }
}
.footer__logos > div {
  display: flex;
  gap: 2rem;
}
@media (min-width: 768px) {
  .footer__logos > div {
    margin-left: auto;
  }
}
.footer__logos .logo {
  width: var(--bbl-logo-width);
  height: auto;
}
@media (min-width: 768px) {
  .footer__logos .logo {
    width: 219px;
  }
}
@media (max-width: 767px) {
  .footer__logos .era,
.footer__logos .ecia {
    height: 24px;
    width: auto;
  }
}

.footer__bottom {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: rgba(184, 212, 224, 0.3);
  border-radius: 0.5rem;
  padding: 1.25rem 1rem;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    letter-spacing: 0.0075rem;
    align-items: center;
    gap: 2rem;
    padding: 0.65rem 1rem;
  }
}

.copyright {
  margin: 0;
}
@media (max-width: 767px) {
  .copyright {
    order: 2;
  }
}

#menu-footer-links {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
  grid-column: 1/-1;
}
@media (max-width: 767px) {
  #menu-footer-links {
    order: 1;
    flex-direction: column;
  }
}
#menu-footer-links li a {
  letter-spacing: 0.0075rem;
}

/**
 * WooCommerce
 */
:root {
  --woocommerce-grid-gap: 1rem;
  --woocommerce-gallery-gap: 1rem;
}
@media (min-width: 768px) {
  :root {
    --woocommerce-grid-gap: 2rem;
  }
}

/* Shared Styles
-------------------------------------------------- */
.woocommerce-checkout .site-main, .woocommerce-cart .site-main {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}
.site-main > * {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}

.woocommerce-products-header > h1,
.woocommerce-notices-wrapper > h1 {
  margin-top: 0;
}

.woocommerce-notices-wrapper .wc-forward {
  font-weight: bold;
}
.woocommerce-notices-wrapper .woocommerce-message {
  outline: 0;
  border: 1px solid var(--wp--preset--color--accent-3, #ddd);
  padding: 8px 12px;
  border-radius: 6px;
  background-color: var(--wp--preset--color--accent-4);
  margin-bottom: 0.75rem;
}
.woocommerce-notices-wrapper .woocommerce-message:last-of-type {
  margin-bottom: 0;
}

.price,
.woocommerce-variation-price {
  font-family: var(--wp--preset--font-family--theme-2);
  color: var(--wp--preset--color--contrast);
  font-weight: bold;
}
.single-product .summary .price,
.single-product .summary .woocommerce-variation-price {
  color: var(--wp--preset--color--accent-1);
}

/* Buttons
-------------------------------------------------- */
button.single_add_to_cart_button,
.checkout-button.wc-forwar,
button#place_order,
[name=save_account_details] {
  border: 1px solid var(--wp--preset--color--accent-2);
  background-color: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--white);
  padding: 12px 16px;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
  border-radius: 30px;
}
button.single_add_to_cart_button:hover,
.checkout-button.wc-forwar:hover,
button#place_order:hover,
[name=save_account_details]:hover {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), radial-gradient(210.77% 119.74% at 99.14% 2%, hsla(0deg, 0%, 100%, 0.05) 0, hsla(0deg, 0%, 100%, 0) 100%), #236cff;
  text-decoration: none;
}

button.single_add_to_cart_button {
  width: 100%;
}

.cf-add-to-cart-btn,
.add_to_cart_button,
.button.product_type_simple,
.button.product_type_variable,
.button.product_type_external {
  color: var(--wp--preset--color--accent-2);
  text-decoration: none;
  text-underline-offset: 4px;
  line-height: 1.2;
}
.cf-add-to-cart-btn:hover,
.add_to_cart_button:hover,
.button.product_type_simple:hover,
.button.product_type_variable:hover,
.button.product_type_external:hover {
  text-decoration: underline;
}

/* Store notices
-------------------------------------------------- */
.woocommerce-store-notice {
  background: radial-gradient(76.52% 408% at 97.02% 100%, #19b0b9 7.51%, #34cdd7 25.96%, #236cff 57.21%, rgba(255, 255, 255, 0) 100%), radial-gradient(47.42% 240.09% at 0.28% 100%, #34cdd7 0%, rgba(255, 255, 255, 0) 100%), #02041b;
  background-color: #02041b;
  color: var(--wp--preset--color--white);
  padding: 15px 16px;
  min-height: 45px;
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce-store-notice__dismiss-link {
  margin-left: 1rem;
}

/* Product Cards
-------------------------------------------------- */
ul.products,
ul.wc-block-grid__products {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--woocommerce-grid-gap);
  margin-inline: auto;
  max-width: calc(var(--wp--custom--layout--wide));
}
@media (min-width: 768px) {
  ul.products,
ul.wc-block-grid__products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  ul.products,
ul.wc-block-grid__products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
ul.products img,
ul.wc-block-grid__products img {
  width: 100%;
  border-radius: 12px;
}
@media (min-width: 768px) {
  ul.products.columns-2,
ul.wc-block-grid__products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  ul.products.columns-3,
ul.wc-block-grid__products.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  ul.products.columns-5,
ul.wc-block-grid__products.columns-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  ul.products.columns-6,
ul.wc-block-grid__products.columns-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

/* Product Loop
-------------------------------------------------- */
ul.products li.product {
  position: relative;
  background-color: var(--wp--preset--color--accent-5);
  border: 2px solid var(--wp--preset--color--accent-5);
  border-radius: 12px;
  overflow: hidden;
}
ul.products li.product .onsale {
  position: absolute;
  top: 12px;
  right: 12px;
  display: block;
  z-index: 1;
  background: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--white);
  padding: 4px 8px;
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
ul.products .product-actions {
  padding: 20px var(--wp--preset--spacing--20) 8px var(--wp--preset--spacing--20);
  background-color: var(--wp--preset--color--accent-4);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
ul.products .product-actions > * {
  font-size: calc(var(--wp--preset--font-size--medium) * 0.9);
}
ul.products .add_to_cart_button {
  flex-shrink: 0;
}
ul.products .woocommerce-loop-product__title {
  font-weight: 700;
  padding-left: var(--wp--preset--spacing--20);
  padding-right: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--x-large);
  line-height: 1.1;
}
ul.products .woocommerce-loop-product__title a {
  text-decoration: none;
  transition: color 0.15s linear;
  color: var(--wp--preset--color--contrast);
}
ul.products .woocommerce-loop-product__title a:hover {
  color: var(--wp--preset--color--accent-2);
}
ul.products .price {
  margin: 0;
  order: 2;
}
ul.products .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  text-decoration: none;
  margin-bottom: -12px;
}

/* Product Grid Block
-------------------------------------------------- */
ul.wc-block-grid__products li {
  max-width: 100% !important;
  width: 100%;
  text-align: left;
}
ul.wc-block-grid__products a {
  text-decoration: none;
}
ul.wc-block-grid__products .wc-block-grid__product-image {
  margin-bottom: 2px !important;
}
ul.wc-block-grid__products .wc-block-grid__product-title {
  margin-bottom: 0;
  padding-left: var(--woocommerce-grid-gap);
  padding-right: var(--woocommerce-grid-gap);
}
ul.wc-block-grid__products .price {
  width: 100%;
  padding-left: var(--woocommerce-grid-gap);
  padding-right: var(--woocommerce-grid-gap);
}

/* Product Archive
-------------------------------------------------- */
.archive-product .woocommerce {
  --wp--custom--layout--page: var(--wp--custom--layout--wide);
}
.archive-product .woocommerce-notices-wrapper {
  margin-bottom: 1rem;
}
.archive-product .archive-header {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}
.archive-product .archive-title {
  text-transform: uppercase;
  font-size: var(--wp--preset--font-size--xxx-large);
}

.woocommerce-taxonomy-description {
  margin-top: 2rem;
}

/* Category Filter Navigation
-------------------------------------------------- */
.product-category-filter {
  margin-top: 0;
  margin-bottom: 2rem;
  padding: 1rem 0;
  border-top: 1px solid var(--wp--preset--color--accent-5);
  border-bottom: 1px solid var(--wp--preset--color--accent-5);
}
.product-category-filter .category-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .product-category-filter .category-filter-list {
    gap: 0.75rem;
  }
}
.product-category-filter .category-filter-item {
  margin: 0;
}
.product-category-filter .category-filter-link {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: var(--wp--preset--color--accent-5);
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  border-radius: 30px;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  transition: all 0.2s ease;
}
.product-category-filter .category-filter-link.active {
  background-color: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--white);
}
.product-category-filter .category-filter-link:hover {
  background-color: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--white);
}

/* Product Category Sections
-------------------------------------------------- */
.product-category-section {
  margin-bottom: 3rem;
}
.product-category-section:last-child {
  margin-bottom: 0;
}

.product-category-header {
  margin-bottom: 1.25rem;
}

.product-category-title {
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.5rem;
  font-size: var(--wp--preset--font-size--xx-large);
  border-bottom: 1px solid #d9e1ec;
}
.product-category-title a {
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  transition: color 0.2s ease;
}
.product-category-title a:hover {
  color: var(--wp--preset--color--accent-2);
}

.product-category-description {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--accent-3);
  margin: 0;
}

.woocommerce-pagination {
  margin-top: var(--wp--custom--layout--block-gap-large);
  margin-bottom: var(--wp--custom--layout--block-gap);
}
.woocommerce-pagination ul.page-numbers {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.woocommerce-pagination ul.page-numbers li {
  list-style-type: none;
  display: inline-block;
}
.woocommerce-pagination ul.page-numbers li .page-numbers {
  background: var(--wp--preset--color--accent-5);
  border: 0;
  border-radius: 50%;
  color: var(--wp--preset--color--contrast);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease;
}
.woocommerce-pagination ul.page-numbers li .page-numbers.current, .woocommerce-pagination ul.page-numbers li .page-numbers:hover {
  background: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--white);
}

/* Single Product
-------------------------------------------------- */
.single-product {
  /* variations
  --------------------------------------------- */
  /* Hide the initial price range */
  /* Show the variation price when displayed */
}
.single-product .entry-content {
  padding: var(--wp--custom--layout--block-gap-large) 0 0 0;
  grid-column: 1/-1;
}
@media (max-width: 767px) {
  .single-product .entry-content > * {
    padding-left: 0;
    padding-right: 0;
  }
}
.single-product .entry-content table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid var(--wp--custom--color--input-border);
}
.single-product .entry-content table thead {
  border-bottom: 0;
  background-color: var(--wp--preset--color--accent-5);
}
.single-product .entry-content table thead th {
  background-color: var(--wp--preset--color--accent-5);
  text-align: left;
}
.single-product .entry-content table td,
.single-product .entry-content table th {
  padding: 10px 8px;
  border: 1px solid var(--wp--custom--color--input-border);
}
.single-product .site-main {
  padding-left: var(--wp--custom--layout--padding);
  padding-right: var(--wp--custom--layout--padding);
}
.single-product .single-product--header {
  background-image: url(../images/hero-bg-1.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 1rem;
  padding-left: var(--wp--custom--layout--padding);
  padding-right: var(--wp--custom--layout--padding);
  padding-bottom: 2rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
}
@media (min-width: 768px) {
  .single-product .single-product--header {
    padding-bottom: 4rem;
  }
}
.single-product .single-product--header__inner {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .single-product .single-product--header__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.single-product .entry-summary {
  grid-column: 1/-1;
}
@media (max-width: 767px) {
  .single-product .entry-summary {
    order: -1;
  }
}
@media (min-width: 768px) {
  .single-product .entry-summary {
    grid-column: 7/-1;
    padding: 0 10%;
  }
}
.single-product .entry-summary .price,
.single-product .entry-summary .woocommerce-variation-price {
  font-size: var(--wp--preset--font-size--large);
}
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-variation-description {
  font-size: var(--wp--preset--font-size--large);
}
.single-product .product_title {
  margin: 0 0 1rem;
}
.single-product .product_description {
  font-size: var(--wp--preset--font-size--small);
}
.single-product .price,
.single-product .stock {
  margin-top: 0;
}
.single-product .out-of-stock {
  font-weight: bold;
  color: var(--wp--preset--color--vivid-red);
  text-transform: uppercase;
}
.single-product .quantity {
  margin-bottom: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  border: 1px solid var(--wp--custom--color--input-border);
  border-radius: 25px;
}
.single-product .quantity > *:not(p) {
  height: 50px;
}
.single-product .quantity p {
  width: 100%;
  margin-bottom: 0.5rem;
}
.single-product .quantity button {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  outline: none;
  cursor: pointer;
  width: 50px;
  flex-shrink: 0;
  border: 0;
  color: var(--wp--preset--color--foreground);
}
.single-product .quantity button:hover {
  background-color: var(--wp--preset--color--foreground);
  color: var(--wp--preset--color--background);
}
.single-product .quantity button.minus {
  border-radius: 25px 0 0 25px;
}
.single-product .quantity button.plus {
  border-radius: 0 25px 25px 0;
}
.single-product .quantity .qty {
  min-width: 60px;
  width: 100%;
  text-align: center;
  border: 0;
  padding: 0 10px;
  appearance: textfield;
  border-radius: 0;
  -moz-appearance: textfield;
}
.single-product .quantity .qty::-webkit-outer-spin-button, .single-product .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.single-product .product_meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 1rem;
  font-size: var(--wp--preset--font-size--small);
}
.single-product .cart:not(.variations_form) {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.single-product .product-type-variable .summary .price,
.single-product .wc-variation-is-unavailable {
  display: none;
}
.single-product .product-type-variable .woocommerce-variation-price .price {
  display: block;
}
.single-product .reset_variations {
  display: none !important;
}
.single-product table.variations {
  width: 100%;
  margin-bottom: 1rem;
}
.single-product table.variations tr {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
}
.single-product .single_variation_wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.single-product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-direction: row;
  gap: 10px;
  order: -1;
}
.single-product .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled {
  display: none;
}
.single-product .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-enabled {
  margin-bottom: 1rem;
}
.single-product .woocommerce-variation {
  display: flex;
  flex-direction: column;
}
.single-product .woocommerce-variation .woocommerce-variation-price {
  order: -1;
}

.single-product--header .woocommerce-product-gallery {
  grid-column: 1/-1;
}
@media (min-width: 768px) {
  .single-product--header .woocommerce-product-gallery {
    grid-column: span 6;
  }
}
@media (min-width: 1085px) {
  .single-product--header .woocommerce-product-gallery {
    grid-template-columns: 80px 1fr;
  }
}
.single-product--header .woocommerce-product-gallery:not(.no-gallery) {
  display: grid;
  gap: var(--woocommerce-gallery-gap);
}
.single-product--header .woocommerce-product-gallery img {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
.single-product--header .woocommerce-product-gallery .flex-control-thumbs {
  padding: 0;
  margin: 0;
  list-style: none;
  cursor: pointer;
  display: flex;
  gap: var(--woocommerce-gallery-gap);
}
@media (min-width: 1085px) {
  .single-product--header .woocommerce-product-gallery .flex-control-thumbs {
    flex-direction: column;
    order: -1;
  }
}
.single-product--header .woocommerce-product-gallery .flex-control-thumbs img {
  width: 100%;
  border-radius: 12px;
}
.single-product--header .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--wp--preset--color--accent-2);
}
.single-product--header .woocommerce-product-gallery .flex-control-thumbs img:not(.flex-active):hover {
  border-color: var(--wp--custom--color--neutral-300);
}

.single-product__any-questions {
  text-align: center;
  margin-inline: auto;
  box-shadow: inset 0 11px 50px 4px hsla(0deg, 0%, 100%, 0.5);
  background: linear-gradient(145deg, #f5f5f5 9.58%, hsla(0deg, 0%, 100%, 0.9) 54.65%);
  border-radius: 0.75rem;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05)) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.03));
  padding: 1rem;
  margin: var(--wp--custom--layout--block-gap-large) auto;
  max-width: calc(var(--wp--custom--layout--page) - var(--wp--style--root--padding-left) * 2);
}
.single-product__any-questions h2 {
  color: #2b2a2e;
  font-size: var(--wp--preset--font-size--large);
  font-weight: 400;
  letter-spacing: 0.03281rem;
  line-height: 1.4;
  margin-bottom: 1rem;
  -webkit-text-stroke: 0.0125rem;
}
.single-product__any-questions p {
  color: #6a6e75;
}

.related.products {
  padding: 1rem var(--wp--custom--layout--padding) 4rem;
  margin-left: calc(-1 * var(--wp--custom--layout--padding));
  margin-right: calc(-1 * var(--wp--custom--layout--padding));
  max-width: 100vw;
}
.related.products > h2 {
  margin-bottom: 30px;
}
.related.products > * {
  margin: 0 auto;
  max-width: var(--wp--style--global--wide-size);
}

/* Cart
-------------------------------------------------- */
.woocommerce-cart .entry-title {
  margin: 2rem 0 1rem 0;
  text-align: left;
}
.woocommerce-cart .entry-header,
.woocommerce-cart .entry-content {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .wc-empty-cart-message {
  grid-column: 1/-1;
  width: 100%;
}
.woocommerce-cart .cart-subtotal {
  display: none !important;
}

[data-block-name="woocommerce/classic-shortcode"] {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  [data-block-name="woocommerce/classic-shortcode"] {
    grid-template-columns: minmax(0, 1fr) 350px;
  }
}
@media (min-width: 1200px) {
  [data-block-name="woocommerce/classic-shortcode"] {
    column-gap: 80px;
  }
}

.shop_table {
  text-align: left;
  width: 100%;
}

table.shop_table.woocommerce-cart-form__contents th,
table.shop_table.woocommerce-cart-form__contents td {
  display: block;
  border: none;
  padding: 0.75rem;
}
table.shop_table.woocommerce-cart-form__contents tr {
  display: grid;
  align-items: center;
  gap: 1rem;
}
table.shop_table.woocommerce-cart-form__contents td.actions {
  padding: 1rem 0;
}
table.shop_table.woocommerce-cart-form__contents thead th {
  font-weight: normal;
  font-size: var(--wp--preset--font-size--small);
}
table.shop_table.woocommerce-cart-form__contents tbody tr:not(.cart_item) {
  grid-template-columns: none;
}
table.shop_table.woocommerce-cart-form__contents *[name=update_cart] {
  padding: 11px 16px 8px 16px;
  background-color: transparent;
  border: 1px solid;
  border-radius: 4px;
  cursor: pointer;
}
table.shop_table.woocommerce-cart-form__contents *[name=update_cart][disabled] {
  cursor: not-allowed;
}

.cart_item {
  border: 1px solid var(--wp--preset--color--accent-5);
  border-radius: 12px;
  grid-template-columns: 1fr 1fr;
}
.cart_item a {
  text-decoration: none;
}
.cart_item + .cart_item {
  margin-top: 1rem;
}
.cart_item td.product-remove a {
  font-size: 20px;
}
.cart_item td.product-remove a:hover {
  color: var(--wp--preset--color--accent-1);
  text-decoration: underline;
}
.cart_item td.product-subtotal {
  font-weight: bold;
}
.cart_item td.product-price {
  opacity: 0.35;
}
.cart_item img {
  border-radius: 12px;
}

@media (min-width: 1025px) {
  table.shop_table.woocommerce-cart-form__contents tr {
    grid-template-columns: 100px 1fr 100px 100px 100px 50px;
  }
  table.shop_table.woocommerce-cart-form__contents .product-remove {
    order: 5;
  }
}
@media (max-width: 1024px) {
  table.shop_table.woocommerce-cart-form__contents thead {
    display: none;
  }
  .cart_item {
    padding: 1rem;
    gap: 0 1rem !important;
    grid-template-columns: 120px 1fr 1fr;
    grid-template-areas: "thumb title title" "thumb price subtotal" "thumb quantity remove";
  }
  .cart_item td {
    padding: 0 !important;
  }
  .cart_item td.product-thumbnail {
    grid-area: thumb;
  }
  .cart_item td.product-name {
    grid-area: title;
  }
  .cart_item td.product-price {
    grid-area: price;
  }
  .cart_item td.product-quantity {
    grid-area: quantity;
  }
  .cart_item td.product-quantity input[type=number] {
    width: 80px !important;
  }
  .cart_item td.product-subtotal {
    grid-area: subtotal;
    text-align: right;
  }
  .cart_item td.product-remove {
    grid-area: remove;
    text-align: right;
  }
}
.cart_totals {
  background: var(--wp--preset--color--accent-4);
  padding: 1.5rem;
  border-radius: 12px;
}
.cart_totals h2 {
  margin-top: 0;
  font-size: var(--wp--preset--font-size--large);
  font-weight: normal;
}
.cart_totals .shop_table th,
.cart_totals .shop_table td {
  display: block;
  border: none;
  padding: 0;
}
.cart_totals .shop_table tr {
  display: grid;
  align-items: center;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cart_totals .shop_table tr + tr {
  margin-top: 1rem;
}
.cart_totals .shop_table td {
  text-align: right;
}
.cart_totals .shop_table .cart-subtotal {
  opacity: 0.5;
}
.cart_totals .wc-proceed-to-checkout {
  margin-top: 1.5rem;
}
.cart_totals .wc-proceed-to-checkout a {
  width: 100%;
  display: block;
  text-align: center;
  background-color: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--white);
  text-decoration: none;
  padding: 12px 14px;
  border-radius: 50px;
  font-weight: bold;
  transition: background-color 0.15s linear;
}
.cart_totals .wc-proceed-to-checkout a:hover, .cart_totals .wc-proceed-to-checkout a:focus {
  background-color: var(--wp--preset--color--contrast);
}

/*# sourceMappingURL=main.css.map */
