@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap");
*,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 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;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * 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%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

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

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * Use the default user interface font in all browsers (opinionated).
 */
html {
  font-family: system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Cantarell", "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/**
 * Use the default monospace user interface font in all browsers (opinionated).
 */
code,
kbd,
samp,
pre {
  font-family: "Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Add typography inheritance in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  background-color: transparent; /* 1 */
  border: 1px solid WindowFrame; /* 1 */
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  letter-spacing: inherit; /* 2 */
  padding: 0.25em 0.375em; /* 1 */
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: no-repeat right center/1em;
  border-radius: 0;
  padding-right: 1em;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
}

/**
 * Change the inconsistent appearance in IE (opinionated).
 */
::-ms-expand {
  display: none;
}

/**
 * Correct the inconsistent appearance in IE (opinionated).
 */
:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54);
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* --------------- */
/* --- Extends --- */
/* --------------- */
.sidebar .widget ul, .menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar .widget ul li, .menu li {
  font-family: inherit;
  position: relative;
}
.sidebar .widget ul li a, .menu li a {
  color: inherit;
  text-decoration: none;
  position: relative;
  white-space: nowrap;
}
.sidebar .widget ul .sub-menu, .menu .sub-menu {
  display: none;
}

.post-preview .featured-img {
  height: 300px;
  background-position: center center;
  background-size: cover;
  background-color: #f2f2f2;
  position: relative;
}
.post-preview .featured-img a {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  opacity: 0.2;
  transition: opacity 0.3s ease-in-out;
}
.post-preview .featured-img a:hover {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.comment-respond .submit, .post-wrap .post-nav-wrap .navigation .nav-links a, .post-wrap .post-nav-wrap .back-btn, .post-preview .content .btn {
  display: inline-block;
  padding: 8px 20px;
  text-decoration: none;
  text-transform: uppercase;
  background: inherit;
  color: inherit;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
.comment-respond .submit:hover, .post-wrap .post-nav-wrap .navigation .nav-links a:hover, .post-wrap .post-nav-wrap .back-btn:hover, .post-preview .content .btn:hover {
  background: inherit;
  color: inherit;
  transition: all 0.3s ease-in-out;
}

/* --------------------- */
/* --- Global styles --- */
/* --------------------- */
.container_wrap {
  display: grid;
  grid-gap: 0 15px;
}
.container_wrap .container {
  grid-column: 2/3;
}

.sidebar .widget {
  margin-bottom: 15px;
}
.sidebar .widget .widget-title {
  margin-bottom: 5px;
}
.pagination {
  padding: 10px 0;
}
.pagination .nav-links .page-numbers {
  border: solid 1px inherit;
  padding: 6px 10px;
  text-decoration: none;
  color: inherit;
  font-family: inherit;
  transition: all 0.2s ease-in-out;
}
.pagination .nav-links .current {
  border-color: inherit;
  color: inherit;
}
.pagination .nav-links a:hover {
  border-color: inherit;
  background-color: inherit;
  transition: all 0.2s ease-in-out;
}
.pagination.next-prev a {
  text-decoration: none;
  color: inherit;
  border: solid 1px inherit;
  transition: all 0.2s ease-in-out;
}
.pagination.next-prev a:hover {
  border-color: inherit;
  background-color: inherit;
  transition: all 0.2s ease-in-out;
}

.custom-404 {
  padding: 30px 15px 60px;
}

.site-header {
  position: relative;
}
.site-header .site-logo {
  display: inline-block;
  max-width: 300px;
  position: relative;
  height: 100%;
  width: 100%;
}
.site-header .site-logo .title {
  text-decoration: none;
  color: inherit;
  display: inline-block;
}
.site-header .site-logo img {
  width: 100%;
  height: auto;
}
.site-header .header-nav .menu {
  display: flex;
}
.site-header .header-nav .menu .menu-item {
  margin: 0 4px;
}
.site-header .search-form {
  display: inline-block;
  padding: 4px;
  border: solid 1px;
}
.site-header .search-form input {
  background-color: transparent;
  border: 0;
  outline: 0;
  font-size: 20px;
  font-family: inherit;
  text-indent: 3px;
}
.site-header .search-form button {
  border: 0;
  background: transparent;
  outline: 0;
  font-size: 22px;
  opacity: 1;
  transition: opacity 0.2s ease-in-out;
}
.site-header .search-form button:hover {
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s ease-in-out;
}
.site-header .main-nav .menu {
  display: flex;
  flex-wrap: wrap;
}
.site-header .main-nav .menu .menu-item {
  margin: 0 7px;
}
.site-header .main-nav .menu .menu-item a {
  white-space: nowrap;
  display: block;
  color: inherit;
  z-index: 39;
}
.site-header .main-nav .menu-item-has-children .sub-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  flex-direction: column;
  z-index: 30;
  padding: 0;
}
.site-header .main-nav .menu-item-has-children .sub-menu .menu-item {
  margin: 0;
  padding: 0;
}
.site-header .main-nav .menu-item-has-children .sub-menu .menu-item a {
  display: block;
  padding: 8px 12px;
}
.site-header .main-nav .menu-item-has-children:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}
.site-header.classic .upper .container {
  display: grid;
  place-items: center end;
}
.site-header.classic .main .container {
  display: grid;
  grid: auto/1fr 1fr 1fr 1fr;
}
.site-header.classic .main .container .tagline {
  grid-column: 1;
}
.site-header.classic .main .container .main-nav_wrap {
  grid-column: 2/span 3;
  grid-row: 1/span 2;
  place-self: center end;
}
.site-header.classic .main .container .main-nav_wrap .menu .menu-item:last-of-type {
  margin-right: 0;
}
.site-header.stack-center .main .container {
  display: grid;
  place-items: center;
}
.site-header.stack-center .main .container .site-logo {
  text-align: center;
}
.site-header.stack-center .lower .container {
  display: grid;
  place-items: center;
}
.site-header.stack-left .main .container {
  display: grid;
  place-items: center start;
}
.site-header.stack-left .lower {
  place-items: center start;
}
.site-header.stack-left .lower .menu .menu-item:first-of-type {
  margin-left: 0;
}
.site-header #navicon {
  display: none;
  width: 38px;
  height: 28px;
  position: relative;
  margin: 10px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
}
.site-header #navicon span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.site-header #navicon span:nth-child(1) {
  top: 0px;
}
.site-header #navicon span:nth-child(2), .site-header #navicon span:nth-child(3) {
  top: 12px;
}
.site-header #navicon span:nth-child(4) {
  top: 24px;
}
.site-header #navicon.open span:nth-child(1) {
  top: 12px;
  width: 0%;
  left: 50%;
}
.site-header #navicon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.site-header #navicon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.site-header #navicon.open span:nth-child(4) {
  top: 12px;
  width: 0%;
  left: 50%;
}

.mobile-nav .menu-arrow {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  z-index: 40;
}
.mobile-nav .menu-arrow .fa-chevron-right, .mobile-nav .menu-arrow .fa-chevron-down {
  display: none;
  color: inherit;
}
.mobile-nav .menu-item-has-children .menu-arrow {
  display: inline-block;
}
.mobile-nav .menu-item-has-children .menu-arrow .fa-chevron-right {
  display: initial;
  transform: rotate(0);
  transition: all 0.3s ease-in-out;
}
.mobile-nav .menu-item-has-children.expanded .menu-arrow .fa-chevron-right {
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
}
.mobile-nav .menu-item-has-children.expanded .sub-menu {
  display: block !important;
  padding: 0 0 5px 0;
}
.mobile-nav .menu-item-has-children.expanded .sub-menu .menu-item {
  border: 0;
}
.mobile-nav .menu-item-has-children.expanded .sub-menu .menu-item a {
  padding: 4px 0px 4px 20px;
}
.mobile-nav .menu-item-has-children.expanded .sub-menu .menu-item .menu-arrow {
  display: none !important;
}

@media (max-width: 1023px) {
  .site-header #navicon {
    display: inline-block;
  }
  .site-header .main-nav {
    display: none;
  }
}
@media (min-width: 1024px) {
  .mobile-nav {
    display: none !important;
  }
}
.site-footer .lower {
  padding: 15px 0 30px;
}
.site-footer .sub-footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.site-footer .sub-footer .container .sign-off .gsl-link {
  text-decoration: none;
  color: inherit;
}
.site-footer .sub-footer .container .sub-menu .menu {
  display: flex;
}
.site-footer .sub-footer .container .sub-menu .menu .menu-item {
  margin-right: 15px;
}
.site-footer .sub-footer .container .sub-menu .menu .menu-item:last-of-type {
  margin: 0;
}

.wpcf7 .wpcf7-form {
  display: flex;
  flex-wrap: wrap;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  padding: 10px;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap.your-message {
  flex: 1 1 100%;
}
.wpcf7 .wpcf7-form .wpcf7-form-control {
  width: 100%;
  padding: 10px;
  border: 1px solid;
  outline: 0;
}
.wpcf7 .wpcf7-form .wpcf7-submit {
  margin: auto;
  max-width: 300px;
  outline: 0;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
}
.wpcf7 .wpcf7-form .wpcf7-submit:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .wpcf7 .wpcf7-form .wpcf7-submit {
    margin: 0 10px;
    max-width: none;
  }
}
.wpcf7 .ajax-loader {
  background-image: url("../images/loader-blue.gif");
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 100px;
  height: 100px;
  margin: -50px 0 0 -50px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #3d3d3d;
  z-index: 1001;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}
.wpcf7 .ajax-loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #696969;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}
.wpcf7 .ajax-loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #999999;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}

.blog .page-content,
.single .page-content,
.archive .page-content,
.search .page-content {
  padding: 30px 0;
}
.blog .page-content .container,
.single .page-content .container,
.archive .page-content .container,
.search .page-content .container {
  display: grid;
  grid: auto/auto 350px;
  grid-gap: 0 30px;
}
.blog .page-content .page-title,
.single .page-content .page-title,
.archive .page-content .page-title,
.search .page-content .page-title {
  grid-column: 1/span 2;
}

.post-meta {
  margin-bottom: 10px;
}
.post-meta .date {
  display: block;
}
.post-meta .cats a {
  color: inherit;
  text-decoration: none;
}
.post-meta .tags a {
  color: inherit;
  opacity: 0.6;
  text-decoration: none;
  font-style: italic;
  transition: opacity 0.3s ease-in-out;
}
.post-meta .tags a:hover {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

.post-preview {
  border: solid 1px;
}
.post-preview .featured-img {
  margin-bottom: 0px;
}
.post-preview .content {
  padding: 0 15px 15px;
}
.post-preview .content h1 {
  font-size: 24px;
  font-family: inherit;
}
.post-preview .content .post-meta {
  margin: 15px 0 0;
}
.post-preview .content .btn {
  align-self: baseline;
}

.post-wrap {
  display: grid;
  grid: auto/auto-flow 1fr;
  grid-gap: 15px 15px;
}
.post-wrap .post-nav-wrap {
  display: flex;
  margin-top: 15px;
}
.post-wrap .post-nav-wrap .navigation .nav-links {
  display: flex;
}
.post-wrap .post-nav-wrap .navigation .nav-links a {
  margin-left: 3px;
}

.wp-post-image {
  width: 100%;
  height: auto;
}

.comment-respond {
  border-top: solid 1px;
  padding-top: 5px;
}
.comment-respond .comment-reply-title {
  font-size: 18px;
}
.comment-respond .comment-form-comment label {
  display: none;
}
.comment-respond .comment-form-comment #comment {
  width: 100%;
}
.blog-grid {
  display: grid;
  grid: auto/repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: 15px;
}

.search .post {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: solid 1px inherit;
}
.search .post .featured-image {
  flex: 0 1 30%;
  min-height: 300px;
  background-position: center center;
  background-size: cover;
  position: relative;
  margin: 0 30px 15px 0;
}
.search .post .featured-image a {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.search .post .post-excerpt {
  flex: 0 1 65%;
  padding: 0;
  box-sizing: border-box;
  margin-bottom: 15px;
}
.search .post .post-excerpt h1 {
  font-size: 34px;
  margin: 0 0 15px;
}
.search .post .post-excerpt p {
  padding-bottom: 15px;
}
.search .post .post-excerpt a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.search .post .post-excerpt a:hover {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

@media (max-width: 1024px) {
  .search .post .featured-image {
    flex: 1 0 100%;
  }
  .search .post .post-excerpt {
    flex: 1 0 100%;
    padding: 0;
  }
}
.search-page-title {
  padding: 30px 0;
}

.no-search-results {
  padding: 90px 0 60px 0;
  text-align: center;
}

.widget_search .search-form {
  display: flex;
  border: solid 1px #a9a9a9;
}
.widget_search .search-form label {
  width: 100%;
}
.widget_search .search-form .search-field {
  width: 100%;
  border: 0;
  padding: 8px 5px;
  text-indent: 10px;
  outline: 0;
}
.widget_search .search-form .search-submit {
  border: 0;
  color: inherit;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  padding: 0 10px 0 5px;
  outline: 0;
}
.widget_search .search-form .search-submit:hover {
  color: inherit;
  transition: all 0.3s ease-in-out;
}

.widget_media_gallery .gallery .gallery-item {
  margin: 0;
}
.widget_media_gallery .gallery .gallery-item .gallery-icon .attachment-full {
  width: 100%;
  height: auto;
}
.widget_media_gallery .gallery-columns-1 {
  display: grid;
  grid: auto/repeat(1, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-2 {
  display: grid;
  grid: auto/repeat(2, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-3 {
  display: grid;
  grid: auto/repeat(3, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-4 {
  display: grid;
  grid: auto/repeat(4, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-5 {
  display: grid;
  grid: auto/repeat(5, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-6 {
  display: grid;
  grid: auto/repeat(6, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-7 {
  display: grid;
  grid: auto/repeat(7, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-8 {
  display: grid;
  grid: auto/repeat(8, minmax(0px, 1fr));
  grid-gap: 5px;
}
.widget_media_gallery .gallery-columns-9 {
  display: grid;
  grid: auto/repeat(9, minmax(0px, 1fr));
  grid-gap: 5px;
}

body h3,
body .h3-style, body h2,
body .h2-style, body h1,
body .h1-style {
  font-family: "Lato";
  font-weight: 300;
  text-transform: uppercase;
  margin: 0 0 15px;
  line-height: 1;
}

body {
  font-family: "Lato";
  font-size: 16px;
  font-weight: 300;
}
body p {
  margin: 0 0 15px;
}
body p a {
  color: inherit;
  opacity: 0.7;
}
body p a:hover {
  opacity: 1;
}
body h1,
body .h1-style {
  font-size: 60px;
}
body h2,
body .h2-style {
  font-size: 24px;
  font-weight: 700;
}
body h3,
body .h3-style {
  font-size: 20px;
  font-weight: 700;
}
@media (max-width: 768px) {
  body h1,
  body .h1-style {
    font-size: 34px;
  }
  body h2,
  body .h2-style {
    font-size: 24px;
  }
  body h3,
  body .h3-style {
    font-size: 20px;
  }
}

::-webkit-input-placeholder {
  font-family: "Lato";
}

:-moz-placeholder {
  font-family: "Lato";
}

::-moz-placeholder {
  font-family: "Lato";
}

:-ms-input-placeholder {
  font-family: "Lato";
}

#loader-wrapper {
  display: none !important;
}

.dialog-type-lightbox {
  height: 100% !important;
  inset: 0 !important;
  position: fixed !important;
  z-index: 1000000000 !important;
}

.gsl-btn_wrapper .gsl-btn {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #ffb310;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: #ffb310;
  text-decoration: none;
}
.gsl-btn_wrapper .gsl-btn:hover {
  background-color: #ffb310;
  color: #fff;
}
.gsl-btn_wrapper .gsl-btn.width-full {
  display: block;
}
.gsl-btn_wrapper.style-light .gsl-btn {
  border-color: #fff;
  color: #fff;
}
.gsl-btn_wrapper.style-light .gsl-btn:hover {
  background-color: #fff;
  color: #3e4b5b;
}
.gsl-btn_wrapper.style-dark .gsl-btn {
  border-color: #ffb310;
  color: #ffb310;
}
.gsl-btn_wrapper.style-dark .gsl-btn:hover {
  background-color: #ffb310;
  color: #fff;
}
.gsl-btn_wrapper.style-alternative .gsl-btn {
  background-color: #ffb310;
  color: #fff;
}
.gsl-btn_wrapper.style-alternative .gsl-btn:hover {
  background-color: #fff;
  color: #ffb310;
}

/** DIVIDEBUY */
#divide-buy-modal {
  pointer-events: none;
  -webkit-filter: grayscale(1);
  opacity: 0.4;
}

.tc-accept #divide-buy-modal {
  pointer-events: inherit;
  -webkit-filter: grayscale(0);
  opacity: 1;
}

.woocommerce-cart #stairfurb_tc_checkbox label {
  font-size: 12px;
}
.woocommerce-cart #stairfurb_tc_checkbox abbr {
  text-decoration: none !important;
}

.wpcf7-acceptance {
  display: block !important;
}

.save-cart-button-container {
  clear: both;
  float: none;
  margin: 1.5em 0;
}
.save-cart-button-container .save-cart-cart {
  border-color: #616d79;
  color: #616d79;
  padding: 10px 30px;
  border: 2px solid #616d79;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  min-width: 230px;
  text-align: center;
  transition: all 0.1s ease-in-out;
}
.save-cart-button-container .save-cart-cart:hover {
  background-color: #3cb67a !important;
  color: #fff !important;
  border-color: #3cb67a !important;
}

.cart-collaterals .cxecrt-button-holder {
  display: none;
}

.save-inner-complete {
  display: none;
}

.save-cart-btn:disabled {
  background-color: #ccc; /* Change the background color */
  color: #666; /* Change the text color */
  cursor: not-allowed; /* Change the cursor to not-allowed */
}

/* Style for the disabled input */
.save-cart-email-input:disabled {
  background-color: #eee; /* Change the background color */
  color: #666; /* Change the text color */
  cursor: not-allowed; /* Change the cursor to not-allowed */
}

.show-on-mobile {
  display: none;
}
@media (max-width: 830px) {
  .show-on-mobile {
    display: block;
  }
}

a:visited {
  color: inherit;
}

.force-green {
  color: #3cb67a !important;
}

.force-blue {
  color: #43a2da !important;
}

.ambassador-info-window {
  padding: 10px !important;
}
.ambassador-info-window .fitter-put-in-touch-btn {
  padding: 4px 12px !important;
  font-size: 13px !important;
}

.other-config {
  max-width: 900px;
  margin: auto;
  padding: 200px 15px 100px 15px;
}

.generic-btn {
  margin: auto;
  display: block;
  cursor: pointer;
  color: white !important;
  border: 2px solid #3cb67a !important;
  background-color: #3cb67a !important;
  padding: 7px 20px;
  margin-top: 10px;
  margin-bottom: 10px;
  text-decoration: none !important;
  font-weight: 700;
}
.generic-btn:hover {
  background-color: white !important;
  color: #3cb67a !important;
}

.elementor-menu-cart__main {
  width: 500px !important;
}

.if-signup {
  color: #43a2da;
  font-size: 17px;
}

.regular-price {
  color: #43a2da;
}

body.assignment_alfresco .if-signup {
  color: #f9b000;
  font-size: 17px;
}
body.assignment_alfresco .regular-price {
  color: #f9b000;
}
body.assignment_alfresco .configurator-container .arrow-right {
  border-color: transparent transparent transparent #f9b000 !important;
}
@media (max-width: 680px) {
  body.assignment_alfresco .configurator-container .arrow-right {
    border-color: transparent transparent #f9b000 transparent !important;
  }
}
body.assignment_alfresco .configurator-container .configurer-container .step-container.step-odd .instruction-container .instruction-step {
  background-color: #f9b000 !important;
}
body.assignment_alfresco .step-even .instruction-container {
  background-color: #f9b000 !important;
}
body.assignment_alfresco .step-even .instruction-container p,
body.assignment_alfresco .step-even .instruction-container h3 {
  color: #000 !important;
}
body.assignment_alfresco .configurator-container .configurer-container .step-even .instruction-container .direction-chooser-container .end-chooser {
  color: #000 !important;
  border: 1px solid #000;
}

.switcher-container {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  font-size: 14px;
  gap: 5px;
  user-select: none;
  background-color: #dbdbdb;
  border-radius: 8px;
}
.switcher-container .switcher-item {
  font-family: "Playfair Display", Sans-serif;
  user-select: none;
  display: block;
  flex: 1;
  text-align: center;
  padding: 13px 12px;
  border-radius: 8px;
  cursor: pointer;
  color: #8a8a8a;
  padding-top: 17px;
}
.switcher-container .switcher-internal:hover {
  color: rgb(29, 29, 29);
}
.switcher-container .switcher-external:hover {
  color: rgb(29, 29, 29);
}

.assignment_alfresco .switcher-external {
  background-color: #f9b000;
  color: white !important;
  cursor: initial;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.assignment_stairfurb .switcher-internal {
  background-color: #43a2da;
  color: white !important;
  cursor: initial;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.coupon-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}
.coupon-col .coupon-col-start {
  padding-right: 0 !important;
}
.coupon-col #coupon_code {
  width: 100% !important;
}

.form-row .referral-code-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.form-row .referral-code-wrapper input {
  width: 100%;
}
.form-row .referral-code-wrapper button {
  border-color: black !important;
  color: black !important;
  border-radius: 0 !important;
}
.form-row .referral-code-wrapper button:hover {
  background-color: #3cb67a !important;
  color: white !important;
  border-color: #3cb67a !important;
}

.coupon-col .coupon-col-start,
.coupon-col .coupon-col-end {
  display: none !important;
}

.alfresco-quick-quote-wrapper .minimal {
  font-size: 12px;
  color: #f9b000;
}
.alfresco-quick-quote-wrapper .newsletter-cost {
  color: #f9b000;
}

.quick-quote-wrapper .minimal {
  font-size: 12px;
  color: #43a2da;
}
.quick-quote-wrapper .newsletter-cost {
  color: #43a2da;
}

.newsletter-cost {
  margin-top: 0 !important;
  font-weight: 600;
}

.qq-total-cost {
  font-style: italic;
  font-size: 12px;
}

.news-discount-btn {
  background-color: #3cb67a;
  width: auto;
  display: inline-block;
  padding: 4px 15px;
  color: white;
  font-weight: 600;
  border: 2px solid #3cb67a;
  box-sizing: border-box;
  cursor: pointer;
  margin: auto;
  font-size: 14px;
}
.news-discount-btn:hover {
  background-color: white;
  color: #3cb67a;
}

/** FITTER */
.fitters-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: auto;
  max-width: 720px;
  padding: 80px 15px;
}
.fitters-header h1,
.fitters-header p {
  text-align: center;
}
.fitters-header h1 {
  text-transform: capitalize;
  font-weight: 700;
  font-size: 35px;
  font-family: Playfair Display, Sans-serif !important;
}
.fitters-header p {
  font-weight: 400;
  font-size: 18px;
}
.fitters-header .fitter-search-container {
  display: flex;
  gap: 15px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}
.fitters-header .fitter-search-container .fitter-search-inp {
  border: 1px solid black !important;
  font-size: 18px;
}
.fitters-header .fitter-search-container .find-fitter-btn {
  background-color: #3cb67a;
  color: white;
  border: 2px solid transparent;
  padding: 6px 30px;
  cursor: pointer;
  user-select: none;
  font-weight: 400;
}
.fitters-header .fitter-search-container .find-fitter-btn:hover {
  background-color: #ffffff;
  color: #3cb67a;
  border: 2px solid #3cb67a;
}

.top-fitters {
  display: none;
  justify-content: center;
  margin: auto;
  gap: 15px;
  padding-top: 10px;
  padding-bottom: 40px;
  flex-wrap: wrap;
}
.top-fitters.visible {
  display: flex;
}

.fitter-profile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-width: 320px;
  border: 1px solid #e3e3e3;
  padding: 15px;
  font-size: 15px;
  text-transform: capitalize;
  position: relative;
  justify-content: space-between;
  flex: 1;
  min-width: 320px;
}
.fitter-profile .highly-rated {
  position: absolute;
  right: 0;
  background-color: #626d79;
  color: white;
  font-weight: 600;
  font-size: 10px;
  padding: 2px 4px;
}
.fitter-profile .fitter-name {
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 10px;
  text-transform: uppercase;
  max-width: 70%;
}
.fitter-profile .fitter-view-profile {
  background-color: #3cb67a;
  color: white;
  border: 2px solid transparent;
  padding: 6px 30px;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  font-weight: 400;
  width: 100%;
  text-align: center;
  font-size: 15px;
  margin-top: 15px;
}
.fitter-profile .fitter-view-profile:hover {
  background-color: #ffffff;
  color: #3cb67a;
  border: 2px solid #3cb67a;
}

.map-pins-structure {
  display: none;
}

.hide-header .elementor-location-header {
  display: none !important;
}

.admin-area {
  text-align: initial !important;
  color: #ff00a7;
  padding: 5px;
  border-radius: 6px;
}
.admin-area h4 {
  margin: 5px 0;
  text-transform: uppercase;
  font-weight: 900;
}
.admin-area input {
  font-weight: 600;
  padding: 8px 10px;
  font-size: 12px;
}
.admin-area button {
  background-color: #ff00a7 !important;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
  padding: 9px 20px;
  border: none;
  cursor: pointer;
}

.wc-arch-title {
  text-align: center;
  font-size: 44px;
  font-weight: 600;
  text-transform: capitalize;
}

.woocommerce-category-description {
  max-width: 900px;
  margin: auto;
  text-align: center;
  font-weight: 500;
  font-size: 18px !important;
}
.woocommerce-category-description p {
  font-weight: 500;
  font-size: 18px !important;
}

.woocommerce-products-header {
  padding: 0 15px;
  margin-bottom: 100px;
  margin-top: 30px;
}

.diy-instead {
  background-color: #43a2da;
  margin-bottom: 50px;
}
.diy-instead .diy-inner {
  justify-content: space-between;
  padding: 20px 15px;
  margin: auto;
  max-width: 1520px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.diy-instead .diy-inner span {
  color: white;
  font-size: 30px;
  font-weight: 600;
}
.diy-instead .diy-inner .get-started {
  text-decoration: none;
  padding: 4px 50px;
  background-color: #e5e5e5;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  border: 1px solid #000;
}

.site-prod-cat .products {
  padding: 0 15px !important;
}
.site-prod-cat .product .woocommerce-loop-product__title {
  background-color: white !important;
  display: block !important;
  z-index: 10 !important;
  color: black !important;
  position: relative !important;
  max-width: 90% !important;
  margin: auto !important;
  margin-top: -70px !important;
  padding: 10px !important;
}
.site-prod-cat .product .price {
  color: #3cb67a !important;
}
.site-prod-cat .product .custom-category-button {
  color: #fff;
  background-color: #3cb67a;
  border: 2px solid #3cb67a;
  text-align: center;
  padding: 8px;
  font-size: 18px;
  font-weight: 500;
  width: 90%;
  display: block;
  margin: auto;
}
.site-prod-cat .product:hover .custom-category-button {
  background-color: white;
  color: #3cb67a;
}
.site-prod-cat .product-category .woocommerce-loop-category__title {
  background-color: rgb(255, 255, 255) !important;
  display: block !important;
  z-index: 10 !important;
  color: rgb(0, 0, 0) !important;
  position: relative !important;
  max-width: 90% !important;
  margin: -70px auto auto !important;
  padding: 10px !important;
  height: 80px;
  font-size: 25px !important;
  text-align: center;
}
@media (max-width: 740px) {
  .site-prod-cat .product-category .woocommerce-loop-category__title {
    font-size: 16px !important;
  }
}
.site-prod-cat .product-category img {
  transition: all 0.25s;
}
.site-prod-cat .product-category .custom-category-button {
  color: #000;
  background-color: transparent;
  border: none;
  text-align: center;
  padding: 8px;
  font-size: 18px;
  font-weight: 500;
  width: 90%;
  display: block;
  margin: auto;
  font-weight: 600;
}
.site-prod-cat .product-category:hover .custom-category-button {
  background-color: white;
  color: #3cb67a;
}
.site-prod-cat .product-category:hover img {
  transform: scale(1.03);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.read-more-btn {
  cursor: pointer;
}

.after-prod-cat p {
  font-size: 18px;
  font-weight: 400;
}

.qq-add-style-container .glass {
  height: 130px !important;
}

.style-grid {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.style-item {
  text-align: center;
  cursor: pointer;
  border: 4px solid transparent;
  transition: border-color 0.3s;
  width: 50%;
  max-width: 200px;
  display: flex;
  flex-direction: column;
  user-select: none;
  overflow: hidden;
}
.style-item:hover .style-title {
  color: #3cb67a;
}

.style-image {
  max-width: 100%;
  height: auto;
  flex: 1;
  transform: scale(2.6);
  user-select: none;
}

.style-title {
  margin-top: 5px;
  font-size: 14px;
  font-weight: 600;
  z-index: 10;
  background-color: white;
  padding-top: 5px;
  user-select: none;
}

.style-item.selected {
  border-color: #3cb67a;
}
.style-item.selected .style-title {
  color: #3cb67a;
}

.admin-field {
  display: none;
}

.logged-in .admin-field {
  display: block;
}

.settings-section {
  display: flex;
  flex-direction: column;
}

/* Standard syntax */
::selection {
  background: #47a2d8;
  color: white;
}

/* Mozilla Firefox */
::-moz-selection {
  background: #47a2d8;
  color: white;
}

.price-guide {
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 400 !important;
  display: inline !important;
}

.product-options-selector {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}

.option-label {
  margin-right: 10px;
  font-weight: bold;
}

.options-values .option-value {
  display: inline-flex;
  padding: 3px 5px;
  margin-right: 5px;
  cursor: pointer;
  border-radius: 100px;
  border: 1px solid #232323;
  color: #232323;
  align-items: center;
}
.options-values .option-value span {
  padding: 0px 5px;
}
.options-values .option-value img {
  width: 25px;
  margin-right: 4px;
}

.options-values .option-value.active {
  background-color: #3cb67a; /* Example active color */
  color: white;
  border-color: #3cb67a;
  border: 1px solid rgba(35, 35, 35, 0);
  cursor: default;
}

.options-values .option-value:not(.active):hover {
  background-color: #e8e8e8;
  color: #232323;
  border-color: #e8e8e8;
  border: 1px solid rgba(35, 35, 35, 0);
}

.wcpa_form_item *,
.wcpa_form_item .wcpa_has_price {
  background-image: none !important;
}

.wcpa_price_summary .wcpa_total {
  border: none !important;
}
.wcpa_price_summary .wcpa_total > span:first-of-type {
  display: none !important;
}
.wcpa_price_summary .wcpa_total .wcpa_price_outer {
  display: block !important;
  color: #000000;
  font-family: "Lato", Sans-serif;
  font-size: 26px;
  font-weight: 700;
}
.wcpa_price_summary .wcpa_total .wcpa_price_outer .wcpa_price {
  display: block !important;
}

.wcpa_price_summary li .wcpa_price_outer {
  float: none !important;
  text-align: left !important;
}

.rank-bc-desktop {
  display: block;
}
@media (max-width: 831px) {
  .rank-bc-desktop {
    display: none;
  }
}

.rank-bc-mobile {
  display: none;
}
@media (max-width: 831px) {
  .rank-bc-mobile {
    display: block;
  }
}

.rank-math-breadcrumb a {
  text-decoration: none !important;
  color: #000 !important;
}

.rank-math-breadcrumb span {
  text-decoration: none !important;
  font-weight: 300 !important;
  color: #000 !important;
}

.mo-products-accordion {
  margin-top: 20px;
}

.mo-accordion-category {
  border: 1px solid #ddd;
  margin-bottom: 10px;
  overflow: hidden;
}

.mo-accordion-header {
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s ease;
}
.mo-accordion-header:hover {
  background: #e9e9e9;
}
.mo-accordion-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.mo-accordion-arrow {
  transition: transform 0.2s ease;
  color: #666;
}
.mo-accordion-arrow.rotated {
  transform: rotate(180deg);
}

.mo-accordion-content {
  display: none;
  background: #fff;
  padding: 0 15px;
}
.mo-accordion-content .regular-product-wrap {
  border-bottom: 1px solid #eee;
  padding: 15px 0;
}
.mo-accordion-content .regular-product-wrap:last-child {
  border-bottom: none;
}

@media (max-width: 768px) {
  .mo-accordion-header {
    padding: 12px 15px;
  }
  .mo-accordion-header h3 {
    font-size: 14px;
  }
  .mo-accordion-content {
    padding: 15px;
  }
}
.single_add_to_cart_button {
  display: block !important;
  cursor: pointer !important;
  color: #fff !important;
  border-color: #3cb67a !important;
  background-color: #3cb67a !important;
  padding: 7px 20px !important;
  margin: 20px auto !important;
  border-radius: 0 !important;
}

.single-product .cart input {
  min-width: 80px !important;
}

.single-product .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
  max-width: 80px !important;
  margin-right: 10px !important;
  float: left !important;
}

@media (max-width: 640px) {
  .single-product .cart input {
    min-width: 100% !important;
    width: 100% !important;
  }
  .single-product .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
    max-width: 100% !important;
    width: 100% !important;
    margin-right: 0px !important;
    float: none !important;
  }
}
.single-product .variation-row {
  display: flex;
  gap: 20px;
  align-items: center;
}
.single-product .variation-row .label {
  width: 160px;
}
.single-product .variation-row .label label {
  font-family: "Lato", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.single-product .variation-row .value {
  flex: 1;
}
@media (max-width: 620px) {
  .single-product .variation-row {
    display: block;
  }
}

.single-product div.product.wcpa_has_options form.cart .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-bottom: 10px !important;
}
.single-product div.product.wcpa_has_options form.cart .single_variation_wrap .woocommerce-variation-add-to-cart .quantity .input-text {
  width: 100% !important;
}
.single-product div.product.wcpa_has_options form.cart .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 11px 60px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.show-nav {
  position: fixed;
}

.site-header.classic .main {
  z-index: 101;
}
.site-header.classic .main .container {
  grid: auto/300px minmax(0px, 100%) auto;
  grid-gap: 15px;
  padding: 15px 0;
}
.site-header.classic .main .container .main-nav_wrap {
  grid-column: auto;
  grid-row: auto;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 17px;
  margin: 0 0 0 20px;
  color: #3e4b5b;
  letter-spacing: 0.4px;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item a {
  padding: 10px 0;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item:first-of-type {
  margin: 0 0 0 5px;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item:after {
  content: "";
  display: block;
  width: 100%;
  max-width: 0;
  height: 2px;
  background-color: #3e4b5b;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s ease-in-out;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item:hover:after {
  max-width: 100%;
  transition: all 0.3s ease-in-out;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item.menu-item-has-children:after {
  display: none;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu {
  background-color: rgba(62, 75, 91, 0.95);
  border: solid 2px #3197d5;
  border-radius: 15px;
  padding: 15px;
  min-width: 150px;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item {
  color: #fff;
  margin: 0;
  font-weight: 300;
  font-size: 18px;
  text-transform: none;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item::after {
  display: none;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item a {
  padding: 3px;
  transition: all 0.2s ease-in-out;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item a:hover {
  color: #ffb310;
  transition: all 0.2s ease-in-out;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children {
  position: relative;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children > a:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  float: right;
  font-size: 0.7em;
  line-height: 18px;
  margin: 3px 0;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children .sub-menu {
  left: -15px;
  top: -15px;
  position: absolute;
  z-index: -1;
  transition: left 0.3s, opacity 0.3s, pointer-events 0s;
  transition-delay: 0, 0s, 0s;
  opacity: 0;
  border-radius: 0;
  border: none;
  pointer-events: none;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children:hover .sub-menu {
  left: calc(100% + 15px + 2px);
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0, 0.1s, 0.3s;
}
.site-header.classic .main .container .main-nav_wrap .main-nav .menu .menu-item .sub-menu .menu-item.menu-item-has-children:hover .sub-menu:before {
  content: "";
  display: block;
  width: 17px;
  left: -17px;
  height: 100%;
  position: absolute;
}
.site-header.classic .main .container .main-nav_wrap #navicon {
  margin: 0;
  width: 36px;
  z-index: 99999;
}
.site-header.classic .main .container .main-nav_wrap #navicon span {
  background-color: #3e4b5b;
}
.site-header.classic .main .container .request-btn {
  display: none;
}
.site-header.classic .main .container .socials {
  display: flex;
  align-items: center;
}
.site-header.classic .main .container .socials .s-link {
  font-size: 36px;
  color: #3197d5;
  margin-left: 10px;
  transition: all 0.2s ease-in-out;
}
.site-header.classic .main .container .socials .s-link:hover {
  color: #3e4b5b;
  transition: all 0.2s ease-in-out;
}
@media (max-width: 1023px) {
  .site-header.classic .main .container .socials {
    display: none;
  }
}
.site-header.classic .main .container .phone-link {
  display: none;
}
.site-header.classic .main .container .mobile-cart {
  display: flex;
  justify-content: center;
  align-items: center;
}
.site-header.classic .main .container .mobile-cart .cart-customlocation {
  color: #3197d5;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  padding: 5px 0;
  justify-self: end;
  font-size: 18px;
  flex-wrap: wrap;
  text-transform: uppercase;
  white-space: nowrap;
  transition: all 0.3s ease-in-out;
  display: none;
}
.site-header.classic .main .container .mobile-cart .cart-customlocation svg {
  display: block;
  margin: auto;
  margin-bottom: 3px;
}
@media (max-width: 767px) {
  .site-header.classic .main {
    height: 82px;
    left: 0;
    right: 0;
  }
  .site-header.classic .main .container {
    grid: auto/50px auto 75px;
    padding: 10px 0;
  }
  .site-header.classic .main .container .site-logo {
    grid-column: 2;
    justify-self: center;
    display: flex;
    align-items: center;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    max-width: 220px;
    margin-left: 25px;
  }
  .site-header.classic .main .container .main-nav_wrap {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: center;
  }
  .site-header.classic .main .container .phone-link {
    display: none;
    justify-content: center;
    align-items: center;
    font-size: 34px;
    color: #3e4b5b;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
  }
  .site-header.classic .main .container .mobile-cart .cart-customlocation {
    display: inline-block;
  }
}
.site-header.classic .lower {
  background-color: #3e4b5b;
}
.site-header.classic .lower .container {
  display: grid;
  grid: 60px/minmax(0px, 100%) auto auto auto;
  grid-gap: 30px;
  align-items: center;
  padding: 3px 0;
}
.site-header.classic .lower .container .header-btn, .site-header.classic .lower .container .cart-customlocation, .site-header.classic .lower .container .speak-btn, .site-header.classic .lower .container .request-btn,
.site-header.classic .lower .container .request-call-btn, .site-header.classic .lower .container .phone-link {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding: 5px 0;
  justify-self: end;
  font-size: 18px;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}
.site-header.classic .lower .container .header-btn svg, .site-header.classic .lower .container .cart-customlocation svg, .site-header.classic .lower .container .speak-btn svg, .site-header.classic .lower .container .request-btn svg,
.site-header.classic .lower .container .request-call-btn svg, .site-header.classic .lower .container .phone-link svg {
  margin-right: 8px;
}
.site-header.classic .lower .container .header-btn:hover, .site-header.classic .lower .container .cart-customlocation:hover, .site-header.classic .lower .container .speak-btn:hover, .site-header.classic .lower .container .request-btn:hover,
.site-header.classic .lower .container .request-call-btn:hover, .site-header.classic .lower .container .phone-link:hover {
  color: #ffb310;
  transition: all 0.3s ease-in-out;
}
.site-header.classic .lower .container .phone-link {
  justify-self: start;
}
.site-header.classic .lower .container .request-btn,
.site-header.classic .lower .container .request-call-btn {
  background-color: #ffb310;
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 0 30px;
  border: solid 2px #ffb310;
  border-radius: 30px;
  margin: 6px 0;
  font-weight: 600 !important;
  padding: 5px 10px !important;
}
.site-header.classic .lower .container .request-btn:hover,
.site-header.classic .lower .container .request-call-btn:hover {
  background-color: #3e4b5b;
}
.site-header.classic .lower .container .request-call-btn {
  display: none;
}
@media (max-width: 1023px) {
  .site-header.classic .lower .container .speak-btn {
    display: none;
  }
}
@media (max-width: 767px) {
  .site-header.classic .lower {
    background-color: transparent;
    padding-bottom: 5px;
  }
  .site-header.classic .lower .container {
    display: flex;
    justify-content: space-between;
  }
  .site-header.classic .lower .container .phone-link,
  .site-header.classic .lower .container .speak-btn,
  .site-header.classic .lower .container .cart-customlocation {
    display: none;
  }
  .site-header.classic .lower .container .request-call-btn {
    display: flex;
  }
  .site-header.classic .lower .container .request-btn,
  .site-header.classic .lower .container .request-call-btn {
    padding: 12px 18px;
    justify-content: center;
    text-align: center;
    flex: 1;
    font-weight: 600;
  }
  .site-header.classic .lower .container .request-btn svg,
  .site-header.classic .lower .container .request-call-btn svg {
    display: none;
  }
  .site-header.classic .lower .container .request-btn {
    margin-right: 5px;
  }
  .site-header.classic .lower .container .request-call-btn {
    margin-left: 5px;
  }
}
@media (max-width: 710px) {
  .site-header.classic .lower .container .request-btn,
  .site-header.classic .lower .container .request-call-btn {
    font-size: 12px;
    padding: 7px 10px;
  }
}

.mobile-nav {
  position: fixed;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #fff;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 100;
  overflow-y: scroll;
}
.mobile-nav .menu {
  width: 100%;
}
.mobile-nav .menu .menu-item {
  text-align: left;
  font-size: 22px;
  border-top: 1px solid #ccc;
}
.mobile-nav .menu .menu-item:last-child {
  border-bottom: 1px solid #ccc;
}
.mobile-nav .menu .menu-item a {
  padding: 10px 0 10px 20px;
  display: inline-block;
  height: 100%;
  width: 100%;
}
.mobile-nav .menu .menu-item-has-children .menu-arrow {
  display: none;
}
.mobile-nav .menu .menu-item-has-children .sub-menu {
  display: none;
  position: fixed;
  padding: 0 0 10px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: white;
  justify-content: center;
  flex-direction: column;
  z-index: 99;
}
.mobile-nav .menu .menu-item-has-children .sub-menu .menu-item {
  font-size: 18px;
  margin: 0;
}
.mobile-nav .menu .menu-item-has-children .sub-menu .menu-item a {
  padding: 10px 0 10px 40px;
}
.mobile-nav .menu .menu-item-has-children .sub-menu .menu-item.back-menu {
  border-top: none;
}
.mobile-nav .menu .menu-item-has-children .sub-menu .menu-item.back-menu a {
  font-weight: 600;
  padding: 10px 0 10px 15px;
}
.mobile-nav .menu .menu-item-has-children .sub-menu .menu-item.back-menu a svg {
  margin-right: 10px;
}
.mobile-nav .menu .menu-item-has-children .sub-menu:after {
  content: "";
  width: 40px;
  height: 2px;
  display: inline-block;
  background-color: #3e4b5b;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media (min-width: 768px) {
  .sticky-desktop-header:not(.page-id-695) .site-header .main {
    margin-bottom: 66px;
  }
  .sticky-desktop-header:not(.page-id-695) .site-header .lower {
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
    box-shadow: 1px 0px 3px 1px rgba(0, 0, 0, 0.3);
  }
}
.show-nav:not(.page-id-695) .site-header .main .container {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 10px 15px;
  background-color: #fff;
  box-shadow: 1px 0px 3px 1px rgba(0, 0, 0, 0.3);
  animation: slidedown 0.3s 1 normal;
  z-index: 1000;
  grid: auto/50px auto 50px;
}
.show-nav:not(.page-id-695) .site-header .main .container .phone-link {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 34px;
  color: #3e4b5b;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.show-nav:not(.page-id-695) .site-header .main .container .site-logo {
  display: none;
}
.show-nav:not(.page-id-695) .site-header .main .container .request-btn {
  display: inline-block;
  width: auto;
  justify-self: center;
  align-self: center;
  color: #fff;
  background-color: #ffb310;
  border-radius: 30px;
  text-align: center;
  text-decoration: none;
  padding: 8px 15px;
  text-transform: uppercase;
}

.site-header .main .request-call-btn {
  display: none;
}

@media (max-width: 767px) {
  .sticky-mobile-header:not(.page-id-695) .site-header .main .container,
  .show-nav:not(.page-id-695) .site-header .main .container {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 10px 15px;
    background-color: #fff;
    box-shadow: 1px 0px 3px 1px rgba(0, 0, 0, 0.3);
    animation: slidedown 0.3s 1 normal;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sticky-mobile-header:not(.page-id-695) .site-header .main .container .site-logo,
  .show-nav:not(.page-id-695) .site-header .main .container .site-logo {
    display: none;
  }
  .sticky-mobile-header:not(.page-id-695) .site-header .main .container .request-call-btn,
  .show-nav:not(.page-id-695) .site-header .main .container .request-call-btn {
    display: inline-block;
    width: auto;
    justify-self: center;
    align-self: center;
    color: #fff;
    background-color: #ffb310;
    border-radius: 30px;
    text-align: center;
    text-decoration: none;
    padding: 8px 15px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
  }
  .sticky-mobile-header:not(.page-id-695) .site-header .main .container .request-btn,
  .show-nav:not(.page-id-695) .site-header .main .container .request-btn {
    display: inline-block;
    width: auto;
    justify-self: center;
    align-self: center;
    color: #fff;
    background-color: #ffb310;
    border-radius: 30px;
    text-align: center;
    text-decoration: none;
    padding: 8px 15px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
  }
}
@keyframes slidedown {
  from {
    transform: translateY(-82px);
  }
  to {
    transform: translateY(0);
  }
}
.show-nav .mobile-nav {
  display: flex;
  opacity: 1;
}
.show-nav .site-header .main .container {
  box-shadow: none;
}
.site-header.classic .header-btn {
  background-color: #ffb310;
  align-self: stretch;
  display: flex !important;
  align-items: center;
  padding: 5px 10px !important;
  border: solid 2px #ffb310;
  border-radius: 30px;
  margin: 6px 8px;
}
@media (max-width: 1200px) {
  .site-header.classic .header-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px !important;
    font-weight: 600;
  }
}
.site-header.classic .header-btn:hover {
  background-color: #3e4b5b;
}
.site-header.classic .desktop-only {
  display: flex;
}
@media (max-width: 767px) {
  .site-header.classic .desktop-only {
    display: none;
  }
}
.site-header.classic .mobile-only {
  display: none;
  justify-content: center;
  width: 100%;
}
@media (max-width: 767px) {
  .site-header.classic .mobile-only {
    display: flex;
  }
  .site-header.classic .mobile-only .header-btn {
    flex: 1;
    padding: 12px 10px !important;
  }
}

.woocommerce-checkout .main .container .site-logo,
.woocommerce-cart .main .container .site-logo {
  display: flex !important;
}
.woocommerce-checkout .main .container .request-call-btn,
.woocommerce-checkout .main .container .request-btn,
.woocommerce-cart .main .container .request-call-btn,
.woocommerce-cart .main .container .request-btn {
  display: none !important;
}

.woocommerce-checkout .site-header .lower.container_wrap,
.woocommerce-cart .site-header .lower.container_wrap {
  display: none !important;
}

.req-btn {
  font-weight: 600 !important;
  padding: 12px 10px !important;
  flex: 1;
}
.req-btn span {
  margin-left: 5px;
}

.site-footer {
  z-index: 10;
  position: relative;
  margin-top: -120px;
}
.site-footer .footer-curve {
  color: #3197d5;
}
.site-footer .footer-curve svg {
  width: 100%;
  height: 120px;
}
@media (max-width: 1024px) {
  .site-footer {
    margin-top: -90px;
  }
  .site-footer .footer-curve svg {
    height: 90px;
  }
}
@media (max-width: 768px) {
  .site-footer {
    margin-top: -60px;
  }
  .site-footer .footer-curve svg {
    height: 60px;
  }
}
.site-footer .main {
  background-color: #3197d5;
  padding: 30px 0;
  font-size: 18px;
  color: #fff;
}
.site-footer .main .container:nth-of-type(2) {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-footer .main .container:nth-of-type(2) .socials {
  font-size: 30px;
  margin-top: 15px;
}
.site-footer .main .container:nth-of-type(2) .socials .s-link {
  margin: 0 5px;
}
.site-footer .main a {
  color: inherit;
  text-decoration: none;
}
.site-footer .main a:hover {
  color: #ffb310;
  transition: all 0.3s ease-in-out;
}
.site-footer .main .widget {
  text-align: center;
  margin-bottom: 15px;
}
.site-footer .main .widget .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.site-footer .main .widget .menu .menu-item {
  margin: 5px 15px;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .site-footer .main .widget .menu {
    flex-direction: column;
  }
}
.site-footer .main .contact_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  color: #fff;
}
.site-footer .main .contact_wrap .phone,
.site-footer .main .contact_wrap .email,
.site-footer .main .contact_wrap .address {
  margin: 5px 15px;
  text-align: center;
}
.site-footer .sub-footer {
  background-color: #3e4b5b;
  color: #fff;
  padding: 15px 0;
}
.site-footer .sub-footer .sign-off {
  width: 100%;
}
.site-footer .sub-footer .sign-off .gsl-link {
  float: right;
  transition: all 0.2s ease-in-out;
}
.site-footer .sub-footer .sign-off .gsl-link:hover {
  color: #ffb310;
  transition: all 0.2s ease-in-out;
}
@media (max-width: 480px) {
  .site-footer .sub-footer .sign-off {
    text-align: center;
  }
  .site-footer .sub-footer .sign-off .gsl-link {
    display: block;
    float: none;
    padding-top: 5px;
  }
}

.blog .site-footer,
.single .site-footer,
.archive .site-footer,
.woocommerce .site-footer {
  margin: 0;
}

.post-type-archive-recommendedfitter .site-footer {
  margin: -120px;
}

.elementor-tabs .elementor-tabs-wrapper .elementor-tab-desktop-title {
  border-radius: 25px 25px 0 0;
  text-transform: uppercase;
  font-weight: 300;
}
.elementor-tabs .elementor-tabs-wrapper .elementor-tab-desktop-title.elementor-active {
  background-color: #ffb310;
}
.elementor-tabs .elementor-tabs-content-wrapper {
  border-color: transparent !important;
}
.elementor-tabs .elementor-tabs-content-wrapper .elementor-tab-mobile-title {
  border-radius: 25px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 300;
  border-bottom: solid 2px;
  margin-bottom: 3px;
  color: #ffb310 !important;
}
.elementor-tabs .elementor-tabs-content-wrapper .elementor-tab-mobile-title.elementor-active {
  background-color: #ffb310;
  color: #3e4b5b !important;
}
.elementor-tabs .elementor-tabs-content-wrapper .elementor-tab-content {
  border-color: transparent !important;
  padding: 15px 0 0;
  text-align: center;
}

.gsl_link-block_wrap {
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px;
  border: solid 2px #fff;
  color: #fff;
  min-height: 400px;
}
.gsl_link-block_wrap .block-bg {
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.gsl_link-block_wrap .bg-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.7));
}
.gsl_link-block_wrap .link {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 2;
}
.gsl_link-block_wrap .content_wrap {
  z-index: 1;
  height: auto;
  max-height: 40px;
  overflow: hidden;
  transition: all 0.4s ease-in-out;
}
@media (max-width: 1023px) {
  .gsl_link-block_wrap .content_wrap {
    max-height: none;
    height: auto;
    max-height: 400px;
    height: 100%;
    overflow: initial;
  }
}
.gsl_link-block_wrap .content_wrap .title {
  z-index: 5;
  position: relative;
}
.gsl_link-block_wrap .content_wrap .title:after {
  content: "";
  width: 100%;
  max-width: 50px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
}
.gsl_link-block_wrap .content_wrap p {
  z-index: 5;
  position: relative;
}
.gsl_link-block_wrap .link:hover ~ .content_wrap {
  max-height: 400px;
  transition: all 0.4s ease-in-out;
}

.elementor .wpcf7 .wpcf7-form {
  font-family: "Lato";
}
.elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
  padding: 0;
  margin-bottom: 10px;
}
.elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
  border: solid 2px #ffb310;
  padding: 20px;
}
.elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-checkbox {
  border: 0;
  padding: 0;
  margin: 0;
}
.elementor .wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  font-size: 14px;
  display: block;
}
.elementor .wpcf7 .wpcf7-form .mc-opt-in {
  position: relative;
  min-height: 38px;
}
.elementor .wpcf7 .wpcf7-form .mc-opt-in label {
  cursor: pointer;
}
.elementor .wpcf7 .wpcf7-form .mc-opt-in .wpcf7-list-item {
  margin-left: 50px;
  margin-top: 7px;
}
.elementor .wpcf7 .wpcf7-form .mc-opt-in .wpcf7-list-item .wpcf7-list-item-label:before {
  content: "✓";
  width: 38px;
  height: 38px;
  border: solid 2px #ffb310;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  color: transparent;
  font-size: 24px;
}
.elementor .wpcf7 .wpcf7-form .mc-opt-in input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.elementor .wpcf7 .wpcf7-form .mc-opt-in input[type=checkbox]:checked ~ .wpcf7-list-item-label:before {
  color: #ffb310;
}
.elementor .wpcf7 .wpcf7-form .acceptance {
  position: relative;
  min-height: 38px;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance {
  padding: 0;
  border: 0;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance label {
  cursor: pointer;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 50px;
  margin-top: 7px;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label:before {
  content: "✓";
  width: 38px;
  height: 38px;
  border: solid 2px #ffb310;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  color: transparent;
  font-size: 24px;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance input[type=checkbox]:checked ~ .wpcf7-list-item-label:before {
  color: #ffb310;
}
.elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-not-valid-tip {
  position: relative;
  transform: translate(0);
  right: auto;
  top: auto;
  margin-top: 15px;
}
@media (max-width: 767px) {
  .elementor .wpcf7 .wpcf7-form .acceptance {
    display: block;
  }
  .elementor .wpcf7 .wpcf7-form .acceptance .wpcf7-acceptance {
    display: inline-block;
    margin-top: 7px;
  }
}
@supports (display: grid) {
  .elementor .wpcf7 .wpcf7-form {
    display: grid;
    grid-gap: 10px;
  }
  .elementor .wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
    margin: 0;
  }
}
.elementor .wpcf7 .wpcf7-form .wpcf7-response-output {
  border: 0;
  color: #ffb310;
  margin: 0;
  padding: 0;
  text-align: center;
}
.elementor .wpcf7 .wpcf7-form .ajax-loader {
  position: absolute;
  right: 15px;
  left: auto;
  top: auto;
  bottom: 15px;
  background-image: none;
  width: 30px !important;
  height: 30px !important;
  border: solid 3px #3e4b5b;
  border-top: solid 3px #ffb310;
}
.elementor .wpcf7 .wpcf7-form .ajax-loader:before, .elementor .wpcf7 .wpcf7-form .ajax-loader:after {
  display: none;
}
.elementor .wpcf7 .wpcf7-form .wpcf7-submit {
  max-width: none;
  border: solid 2px #ffb310;
  padding: 15px 20px;
  color: #ffb310;
  font-size: 22px;
  text-transform: uppercase;
  margin: 0;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.elementor .wpcf7 .wpcf7-form .wpcf7-submit:hover {
  color: #fff;
  background-color: #ffb310;
  transition: all 0.3s ease-in-out;
}
.elementor .dark .wpcf7 {
  color: #fff;
}
.elementor .dark .wpcf7 input::-webkit-input-placeholder, .elementor .dark .wpcf7 textarea::-webkit-input-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .dark .wpcf7 input:-moz-placeholder, .elementor .dark .wpcf7 textarea:-moz-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .dark .wpcf7 input::-moz-placeholder, .elementor .dark .wpcf7 textarea::-moz-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .dark .wpcf7 input:-ms-input-placeholder, .elementor .dark .wpcf7 textarea:-ms-input-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .dark .wpcf7 .ajax-loader {
  border: solid 3px #fff;
  border-top: solid 3px #ffb310;
}
.elementor .dark .wpcf7 .wpcf7-not-valid-tip {
  color: #ffb310 !important;
}
.elementor .light .wpcf7 {
  color: #fff;
}
.elementor .light .wpcf7 .wpcf7-form-control {
  border-color: #fff !important;
}
.elementor .light .wpcf7 input::-webkit-input-placeholder, .elementor .light .wpcf7 textarea::-webkit-input-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .light .wpcf7 input:-moz-placeholder, .elementor .light .wpcf7 textarea:-moz-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .light .wpcf7 input::-moz-placeholder, .elementor .light .wpcf7 textarea::-moz-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .light .wpcf7 input:-ms-input-placeholder, .elementor .light .wpcf7 textarea:-ms-input-placeholder {
  color: #fff;
  opacity: 0.7;
}

.elementor .light .wpcf7 .wpcf7-list-item-label:before {
  border-color: #fff !important;
}
.elementor .light .wpcf7 input[type=checkbox]:checked ~ .wpcf7-list-item-label:before {
  color: #fff !important;
}
.elementor .light .wpcf7 .ajax-loader {
  border: solid 3px #fff;
  border-top: solid 3px #ffb310;
}
.elementor .light .wpcf7 .wpcf7-not-valid-tip {
  color: #fff !important;
}
.elementor .light .wpcf7 .wpcf7-submit {
  color: #fff !important;
}
.elementor .light .wpcf7 .wpcf7-response-output {
  color: #fff;
}
.elementor .newsletter {
  max-height: 62px;
  overflow: hidden;
  height: auto;
  transition: all 0.3s ease-in-out;
}
.elementor .newsletter.formactive {
  max-height: 300px;
  transition: all 0.3s ease-in-out;
}
.elementor .newsletter .wpcf7 {
  margin: 0 auto;
}
.elementor .newsletter .wpcf7-form {
  display: grid;
  grid: 62px 40px/repeat(3, 1fr);
  grid-gap: 15px 10px;
  align-items: center;
  padding: 0;
  color: #fff;
  position: relative;
}
.elementor .newsletter .wpcf7-form p {
  margin: 0;
}
.elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap {
  padding: 0;
  position: relative;
}
.elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
  width: 100%;
  text-align: center;
}
.elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  position: absolute;
  bottom: auto;
  left: auto;
  top: 5px;
  right: 25px;
  transform: translate(0);
  font-size: 14px;
  color: #ffb310;
}
.elementor .newsletter .wpcf7-form .acceptance {
  position: relative;
  grid-column: 2/span 2;
  grid-row: 2;
  align-self: stretch;
}
.elementor .newsletter .wpcf7-form .acceptance .wpcf7-not-valid-tip {
  right: auto;
  top: auto;
  left: 45px;
  bottom: -20px;
  transform: translate(0);
}
.elementor .newsletter .wpcf7-form .acceptance .wpcf7-form-control {
  background-color: transparent;
  padding: 0;
  text-transform: none;
  text-align: left !important;
  max-width: none;
}
.elementor .newsletter .wpcf7-form .acceptance .wpcf7-form-control .wpcf7-list-item {
  margin-left: 45px;
  color: #fff;
}
.elementor .newsletter .wpcf7-form .wpcf7-response-output {
  margin: 30px 0 0;
  grid-column: 1/span 3;
  border: 0;
}
@media (max-width: 767px) {
  .elementor .newsletter {
    max-height: none !important;
  }
  .elementor .newsletter.formactive {
    max-height: none !important;
  }
  .elementor .newsletter .wpcf7-form {
    display: block;
  }
  .elementor .newsletter .wpcf7-form .wpcf7-form-control-wrap {
    display: inline-block;
    margin-bottom: 15px;
    width: 100%;
  }
  .elementor .newsletter .wpcf7-form .acceptance .wpcf7-list-item {
    display: inline-block;
    margin-top: 3px;
  }
  .elementor .newsletter .wpcf7-form .acceptance span.wpcf7-list-item-label:before {
    transform: translateY(0) !important;
    top: 1px !important;
  }
  .elementor .newsletter .wpcf7-form .acceptance .wpcf7-not-valid-tip {
    position: relative;
    transform: translate(0);
    right: auto;
    top: auto;
    bottom: auto;
    margin-top: 15px;
  }
}

.elementor-menu-cart__container {
  width: auto !important;
  left: 0;
  right: 0;
  z-index: 999999999999 !important;
}

@media (max-width: 1024px) {
  .blog .page-content .container,
  .single-post .page-content .container,
  .archive .page-content .container {
    display: block;
  }
  .blog .page-content .container .sidebar,
  .single-post .page-content .container .sidebar,
  .archive .page-content .container .sidebar {
    max-width: 350px;
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .blog .page-content,
  .single-post .page-content,
  .archive .page-content {
    padding-top: 0;
  }
  .blog .page-content .page-title,
  .single-post .page-content .page-title,
  .archive .page-content .page-title {
    text-align: center;
  }
}

.sidebar {
  border-left: solid 2px #3e4b5b;
  padding-left: 30px;
  align-self: baseline;
}

.blog .post-preview,
.archive .post-preview {
  margin-bottom: 15px;
}
.blog .post-preview .content,
.archive .post-preview .content {
  padding: 0;
}
.blog .post-preview .content .post-meta,
.archive .post-preview .content .post-meta {
  padding: 10px;
  background-color: #3e4b5b;
  color: #fff;
  margin: 0 0 15px;
}
.blog .post-preview .content h1,
.blog .post-preview .content p,
.archive .post-preview .content h1,
.archive .post-preview .content p {
  padding-left: 15px;
  padding-right: 15px;
}
.blog .post-preview .content .gsl-btn_wrapper,
.archive .post-preview .content .gsl-btn_wrapper {
  margin: 0 15px 15px;
}

.single-post .post .post-meta {
  padding: 10px;
  background-color: #3e4b5b;
  color: #fff;
}

main .woocommerce .button,
.elementor .woocommerce .button {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #616d79;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: white;
  text-decoration: none;
  background-color: transparent !important;
  text-align: center;
}
main .woocommerce .button:hover,
.elementor .woocommerce .button:hover {
  background-color: white;
  color: #616d79;
}

main .woocommerce,
.elementor .woocommerce {
  max-width: 1520px;
  margin: 0 auto;
}
@media (max-width: 1105px) {
  main .woocommerce .button,
  .elementor .woocommerce .button {
    min-width: auto !important;
    font-size: 15px;
    padding: 10px 20px;
  }
}
main .woocommerce .added_to_cart,
.elementor .woocommerce .added_to_cart {
  display: inline-block;
  padding: 4px 10px;
  background-color: #3e4b5b;
  color: #fff;
  text-transform: uppercase;
  font-size: 14px;
  transition: 0.2s ease-in-out;
}
main .woocommerce .added_to_cart:hover,
.elementor .woocommerce .added_to_cart:hover {
  background-color: #3197d5;
  transition: 0.2s ease-in-out;
}

.woocommerce-cart.sf-focused-commerce .site-header,
.woocommerce-cart.sf-focused-commerce .site-footer,
.woocommerce-cart.sf-focused-commerce .elementor-location-header,
.woocommerce-cart.sf-focused-commerce .elementor-location-footer,
.woocommerce-cart.sf-focused-commerce [data-elementor-type=header],
.woocommerce-cart.sf-focused-commerce [data-elementor-type=footer],
.woocommerce-checkout.sf-focused-commerce .site-header,
.woocommerce-checkout.sf-focused-commerce .site-footer,
.woocommerce-checkout.sf-focused-commerce .elementor-location-header,
.woocommerce-checkout.sf-focused-commerce .elementor-location-footer,
.woocommerce-checkout.sf-focused-commerce [data-elementor-type=header],
.woocommerce-checkout.sf-focused-commerce [data-elementor-type=footer] {
  display: none !important;
}
.woocommerce-cart.sf-focused-commerce main,
.woocommerce-checkout.sf-focused-commerce main {
  padding-top: 0 !important;
}

.woocommerce-cart.sf-focused-commerce main {
  padding-bottom: 0 !important;
}

.woocommerce-page main {
  padding: 30px 0 0;
}
.woocommerce-page.woocommerce-cart main, .woocommerce-page.woocommerce-checkout main {
  padding: 30px 0 120px;
}
.woocommerce-page.woocommerce-cart main {
  padding-bottom: 0;
}
.woocommerce-page.woocommerce-cart .product-remove a.remove {
  height: 24px;
  width: 24px;
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce-page.woocommerce-cart .product-remove a.remove:hover {
  color: #fff !important;
  background-color: #ffb310 !important;
  transition: all 0.2s ease-in-out;
}
.woocommerce-page.woocommerce-cart .coupon .input-text {
  border: solid 1px #3e4b5b !important;
  width: auto !important;
  padding: 8px 20px !important;
}
@media (max-width: 767px) {
  .woocommerce-page.woocommerce-cart .coupon .input-text {
    float: none;
    display: block;
    width: 100% !important;
    margin-bottom: 10px !important;
  }
  .woocommerce-page.woocommerce-cart .coupon .button {
    float: none !important;
    width: 100% !important;
  }
}
.woocommerce-page.woocommerce-cart .shipping-calculator-button, .woocommerce-page.woocommerce-cart .product-name a {
  text-decoration: none;
  color: #3197d5;
  transition: all 0.2s ease-in-out;
}
.woocommerce-page.woocommerce-cart .shipping-calculator-button:hover, .woocommerce-page.woocommerce-cart .product-name a:hover {
  color: #ffb310;
  transition: all 0.2s ease-in-out;
}
.woocommerce-page.woocommerce-cart dl.variation {
  font-size: 11px;
}
.woocommerce-page.woocommerce-cart .product-name a {
  font-size: 14px;
}
.woocommerce-page.woocommerce-cart .product-quantity input.qty {
  border: 1px solid #3e4b5b !important;
  padding: 8px 5px !important;
  outline: 0;
  width: 50px;
}

.sf-commerce-shell {
  background: #ffffff;
  color: #1f2933;
}
.sf-commerce-shell a {
  color: inherit;
  text-decoration: none;
}

.sf-commerce-shell--top {
  border-bottom: 0;
}

.sf-commerce-shell--bottom {
  border-top: 1px solid #e5e7eb;
}

.sf-commerce-shell__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 18px 20px;
}

.sf-commerce-shell__brand {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.sf-commerce-shell__brand img {
  display: block;
  width: 150px;
  height: auto;
}

.sf-commerce-shell__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d1d5db;
  border-radius: 0;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.sf-commerce-shell__back:hover, .sf-commerce-shell__back:focus {
  border-color: #9ca3af;
  background: #f3f4f6;
  color: #37424d;
}

.sf-commerce-shell__inner--bottom {
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 16px;
  padding-bottom: 16px;
  color: #4b5563;
  font-size: 14px;
}

.sf-commerce-shell__help {
  font-weight: 700;
}

.sf-commerce-shell__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 18px;
}
.sf-commerce-shell__links a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 640px) {
  .sf-commerce-shell__inner {
    padding: 14px 14px;
  }
  .sf-commerce-shell__brand img {
    width: 132px;
  }
  .sf-commerce-shell__back {
    padding: 8px 10px;
    font-size: 13px;
  }
  .sf-commerce-shell__inner--bottom {
    display: block;
    text-align: center;
  }
  .sf-commerce-shell__help,
  .sf-commerce-shell__links {
    display: block;
  }
  .sf-commerce-shell__links a {
    display: inline-block;
    margin: 8px 8px 0;
  }
}
.woocommerce-checkout.sf-focused-commerce {
  --sf-checkout-gutter: max(24px, calc((100vw - 1320px) / 2 + 24px));
  --sf-checkout-summary-panel-pad-right: clamp(24px, var(--sf-checkout-gutter), 42px);
  --sf-checkout-summary-content-width: 360px;
}
.woocommerce-checkout.sf-focused-commerce main {
  background: #f1f1f1;
}
.woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top {
  position: absolute;
  top: 0;
  right: 33.333333vw;
  left: 0;
  z-index: 20;
  background: transparent;
}
.woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__inner {
  max-width: none;
  padding: 24px 42px 24px var(--sf-checkout-gutter);
}
.woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__back {
  border-color: #d1d5db;
  color: #1f2933;
}
.woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__back:hover, .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__back:focus {
  border-color: #9ca3af;
  background: #f3f4f6;
  color: #37424d;
}
.woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--bottom {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce main .woocommerce,
.woocommerce-checkout.sf-focused-commerce .elementor .woocommerce {
  max-width: none;
  width: 100%;
  padding: 0;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-notices-wrapper,
.woocommerce-checkout.sf-focused-commerce .woocommerce-NoticeGroup {
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
  gap: 0;
  align-items: stretch;
  min-height: 100vh;
  padding-top: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__details {
  min-width: 0;
  background: #f1f1f1;
  padding: 104px 42px 42px var(--sf-checkout-gutter);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary {
  position: sticky;
  top: 0;
  min-width: 0;
  align-self: start;
  background: #3197d5;
  min-height: 100vh;
  height: fit-content;
  padding: 104px var(--sf-checkout-summary-panel-pad-right) 42px 42px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-section {
  background: #ffffff;
  border: 1px solid #e1e6ea;
  border-radius: 0 !important;
  padding: 22px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-panel {
  background: transparent;
  border: 0;
  padding: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure {
  width: 100%;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__summary {
  display: block;
  width: 100%;
  max-width: var(--sf-checkout-summary-content-width);
  margin: 0 auto;
  padding: 0;
  color: #ffffff;
  cursor: pointer;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  list-style: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__summary::-webkit-details-marker {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__summary:focus, .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__summary:focus-visible {
  outline: 0;
  box-shadow: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 13px;
  align-items: start;
  gap: 10px;
  box-sizing: border-box;
  min-width: 0;
  padding: 0 var(--sf-checkout-summary-content-inset);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__title {
  color: #ffffff;
  min-width: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__count {
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  margin-top: 3px;
  text-align: right;
  white-space: nowrap;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser {
  position: relative;
  display: block;
  margin-top: 12px;
  overflow: hidden;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser--has-more::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(to bottom, rgba(49, 151, 213, 0) 0%, rgba(49, 151, 213, 0) 20%, rgba(49, 151, 213, 0.46) 52%, #3197d5 100%);
  pointer-events: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure[open] .sf-checkout-order-disclosure__teaser {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content 12px;
  gap: 10px;
  align-items: start;
  box-sizing: border-box;
  padding: 9px var(--sf-checkout-summary-content-inset) 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-main {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  min-width: 0;
  gap: 4px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-name {
  color: rgba(255, 255, 255, 0.96);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-quantity {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-price {
  color: rgba(255, 255, 255, 0.96);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-price .woocommerce-Price-amount {
  color: rgba(255, 255, 255, 0.96) !important;
  font-weight: 800;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-toggle {
  position: relative;
  display: block;
  width: 12px;
  height: 18px;
  color: rgba(255, 255, 255, 0.86);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-toggle::before {
  content: "";
  position: absolute;
  top: 4px;
  right: 1px;
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  transform-origin: center;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__teaser-toggle--empty {
  opacity: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__arrow {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.9);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__arrow::before {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  width: 9px;
  height: 9px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  transform-origin: center;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure[open] .sf-checkout-order-disclosure__arrow::before {
  top: 6px;
  transform: rotate(225deg);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__body {
  width: 100%;
  max-width: var(--sf-checkout-summary-content-width);
  margin: 12px auto 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-section + .sf-checkout-section {
  margin-top: 16px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-fragment {
  margin-top: 16px;
  margin-bottom: 16px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-fragment:empty {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-help {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 16px;
  margin-top: 18px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-help strong {
  color: #1f2933;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-help a {
  color: #37424d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-section h2,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-order-panel h2,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields > h3 {
  margin: 0 0 22px;
  color: #1f2933;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary {
  color: #ffffff;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .sf-checkout-order-panel h2,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .sf-checkout-item-row,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .sf-checkout-totals-row,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-checkout-review-order-table strong,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-checkout-review-order-table label {
  color: #ffffff;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-checkout-review-order-table .variation,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-checkout-review-order-table small,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-checkout-review-order-table .includes_tax {
  color: rgba(255, 255, 255, 0.78);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary .woocommerce-remove-coupon,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary a {
  color: #ffffff !important;
  text-decoration-color: rgba(255, 255, 255, 0.72);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details {
  display: block;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details::before, .woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details::after {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details .col-1,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details .col-2 {
  float: none;
  width: auto;
  min-width: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details .col-2 {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px 14px;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper::before, .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper::after,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper::before,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper::after {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row {
  float: none;
  width: auto;
  grid-column: 1/-1;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row-first {
  grid-column: span 6;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row-last {
  grid-column: span 6;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_country_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_country_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_country_field {
  order: 20;
  grid-column: span 4;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_postcode_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_postcode_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_postcode_field {
  order: 21;
  grid-column: span 3;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_state_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_state_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_state_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_state_field {
  order: 22;
  grid-column: span 5;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_first_name_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_first_name_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_first_name_field {
  order: 10;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_last_name_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_last_name_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_last_name_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_last_name_field {
  order: 11;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_company_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_company_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_company_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_company_field {
  order: 12;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_address_1_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_address_1_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_address_1_field {
  order: 30;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_address_2_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_address_2_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_address_2_field {
  order: 31;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_city_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_city_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_city_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_city_field {
  order: 32;
  grid-column: span 4;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_phone_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_phone_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_phone_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_phone_field {
  order: 40;
  grid-column: span 4;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_email_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_email_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_email_field,
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_email_field {
  order: 41;
  grid-column: span 4;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row:not([id]),
.woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row:not([id]) {
  order: 50;
}
.woocommerce-checkout.sf-focused-commerce form .form-row {
  position: relative;
  margin: 0;
  padding: 0;
}
.woocommerce-checkout.sf-focused-commerce form .form-row > label:not(.checkbox) {
  position: absolute;
  top: 6px;
  left: 11px;
  z-index: 2;
  max-width: calc(100% - 22px);
  margin: 0;
  color: #64717d;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.woocommerce-checkout.sf-focused-commerce form .form-row input.input-text,
.woocommerce-checkout.sf-focused-commerce form .form-row textarea,
.woocommerce-checkout.sf-focused-commerce form .form-row select {
  min-height: 42px;
  border: 1px solid #cfd8df;
  border-radius: 0 !important;
  padding: 17px 10px 5px;
  color: #1f2933;
  background: #ffffff;
  box-shadow: none;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  outline: 0;
  text-transform: none;
}
.woocommerce-checkout.sf-focused-commerce form .form-row input.input-text:focus,
.woocommerce-checkout.sf-focused-commerce form .form-row textarea:focus,
.woocommerce-checkout.sf-focused-commerce form .form-row select:focus {
  border-color: #3cb67a;
  box-shadow: 0 0 0 2px rgba(60, 182, 122, 0.18);
}
.woocommerce-checkout.sf-focused-commerce form .form-row textarea {
  min-height: 86px;
  padding-top: 20px;
}
.woocommerce-checkout.sf-focused-commerce form .form-row:has(.select2-container) > label:not(.checkbox) {
  position: static;
  display: block;
  max-width: none;
  margin: 0 0 4px;
  color: #64717d;
  font-size: 10px;
  line-height: 1;
}
.woocommerce-checkout.sf-focused-commerce #billing_country_field:has(.woocommerce-input-wrapper > strong) > label:not(.checkbox),
.woocommerce-checkout.sf-focused-commerce #shipping_country_field:has(.woocommerce-input-wrapper > strong) > label:not(.checkbox) {
  position: absolute;
  top: 6px;
  left: 11px;
  z-index: 2;
  max-width: calc(100% - 22px);
  margin: 0;
  color: #64717d;
  font-size: 10px;
  line-height: 1;
}
.woocommerce-checkout.sf-focused-commerce #billing_country_field:has(.woocommerce-input-wrapper > strong) .woocommerce-input-wrapper,
.woocommerce-checkout.sf-focused-commerce #shipping_country_field:has(.woocommerce-input-wrapper > strong) .woocommerce-input-wrapper {
  display: block;
}
.woocommerce-checkout.sf-focused-commerce #billing_country_field:has(.woocommerce-input-wrapper > strong) strong,
.woocommerce-checkout.sf-focused-commerce #shipping_country_field:has(.woocommerce-input-wrapper > strong) strong {
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfd8df;
  border-radius: 0 !important;
  margin: 0;
  padding: 17px 10px 5px;
  background: #ffffff;
  color: #1f2933;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: left;
  text-transform: none;
}
.woocommerce-checkout.sf-focused-commerce .select2-container--default .select2-selection--single {
  height: 42px !important;
  min-height: 42px;
  border-color: #cfd8df;
  border-radius: 0;
}
.woocommerce-checkout.sf-focused-commerce .select2-container--default .select2-selection__rendered {
  padding: 0 34px 0 10px !important;
  color: #1f2933;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 40px !important;
}
.woocommerce-checkout.sf-focused-commerce .select2-container--default .select2-selection__arrow {
  top: 6px;
}
.woocommerce-checkout.sf-focused-commerce #ship-to-different-address {
  margin: 4px 0 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 15px;
  line-height: 1.35;
}
.woocommerce-checkout.sf-focused-commerce #ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #1f2933;
  font-weight: 700;
}
.woocommerce-checkout.sf-focused-commerce #ship-to-different-address:has(#ship-to-different-address-checkbox:not(:checked)) + .shipping_address {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .shipping_address {
  margin-bottom: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5e7eb;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-additional-fields {
  margin-top: 14px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods {
  width: 100%;
  border: 0;
  margin: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods tr,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods th,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods td {
  display: block;
  border: 0;
  padding: 0;
  background: transparent;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods th {
  margin-bottom: 10px;
  color: #344252;
  font-size: 14px;
  font-weight: 700;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method li {
  position: relative;
  border: 1px solid #d7dee5;
  border-bottom: 0;
  border-radius: 0 !important;
  background: #ffffff;
  margin: 0;
  padding: 0;
  color: #1f2933;
  overflow: hidden;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method li:last-child {
  border-bottom: 1px solid #d7dee5;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method input[type=radio] {
  position: absolute;
  top: 19px;
  left: 16px;
  accent-color: #3cb67a;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method input[type=radio]:checked + label {
  background: #eef8f1;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 54px;
  margin: 0;
  padding: 15px 16px 15px 46px;
  color: #1f2933;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-shipping-methods ul#shipping_method input[type=hidden] + label {
  padding-left: 16px;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment ul.payment_methods {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment li.wc_payment_method {
  position: relative;
  border: 1px solid #d7dee5;
  border-bottom: 0;
  border-radius: 0 !important;
  background: #ffffff;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment li.wc_payment_method:last-child {
  border-bottom: 1px solid #d7dee5;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment li.wc_payment_method:has(input.input-radio:checked) {
  border-color: #d7dee5;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment input.input-radio {
  position: absolute;
  top: 19px;
  left: 16px;
  accent-color: #3cb67a;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment input.input-radio:checked + label {
  background: #eef8f1;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment li.wc_payment_method > label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 54px;
  margin: 0;
  padding: 15px 16px 15px 46px;
  color: #1f2933;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment li.wc_payment_method > label img {
  max-height: 24px;
  width: auto;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .payment_box {
  margin: 0 !important;
  padding: 0 16px 16px 46px !important;
  color: #4b5563;
  background: transparent !important;
  font-size: 14px;
  line-height: 1.5;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .payment_box::before {
  content: none !important;
  display: none !important;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .payment_box p:last-child {
  margin-bottom: 0;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment div.payment_box::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .form-row.place-order {
  margin-top: 20px;
  padding: 0;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox,
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .sf-zero-cost-order label {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox input,
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .sf-zero-cost-order input {
  flex: 0 0 auto;
  margin-top: 2px;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #stairfurb_tc_checkbox {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0 4px;
  margin-bottom: 14px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #stairfurb_tc_checkbox .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  flex: 0 1 auto;
  width: auto;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #stairfurb_tc_checkbox .sf-terms-checkbox-link {
  color: #37424d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #stairfurb_tc_checkbox .required {
  color: #cc3c3c;
  font-size: 12px;
  line-height: 1.4;
  text-decoration: none;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .sf-zero-cost-order {
  margin: 12px 0 !important;
  text-align: left;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 14px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.5;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #place_order {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 10px 30px !important;
  background: #3cb67a !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #place_order:hover, .woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment #place_order:focus {
  border: 0 !important;
  background: #3cb67a !important;
  color: #ffffff !important;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-review-order-table {
  width: 100%;
  border: 0;
  margin: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-review-order-summary {
  --sf-checkout-summary-content-inset: 17px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-items-list {
  display: grid;
  width: 100%;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item {
  border-bottom: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content 12px;
  gap: 10px;
  align-items: start;
  box-sizing: border-box;
  width: 100%;
  padding: 9px var(--sf-checkout-summary-content-inset);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  cursor: pointer;
  list-style: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-row::-webkit-details-marker {
  display: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-row:focus, .woocommerce-checkout.sf-focused-commerce .sf-checkout-item-row:focus-visible {
  outline: 0;
  box-shadow: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item--static .sf-checkout-item-row {
  cursor: default;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-main {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  min-width: 0;
  gap: 4px;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-name {
  color: rgba(255, 255, 255, 0.96);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.woocommerce-checkout.sf-focused-commerce .product-quantity {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-price {
  color: rgba(255, 255, 255, 0.96);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-price .woocommerce-Price-amount {
  color: rgba(255, 255, 255, 0.96) !important;
  font-weight: 800;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-toggle {
  position: relative;
  display: block;
  width: 12px;
  height: 18px;
  color: rgba(255, 255, 255, 0.86);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-toggle::before {
  content: "";
  position: absolute;
  top: 4px;
  right: 1px;
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  transform-origin: center;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item[open] .sf-checkout-item-toggle::before {
  top: 8px;
  transform: rotate(225deg);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item--static .sf-checkout-item-toggle {
  opacity: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-item-details__content {
  margin: -2px calc(var(--sf-checkout-summary-content-inset) + 22px) 13px var(--sf-checkout-summary-content-inset);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding-top: 9px;
}
.woocommerce-checkout.sf-focused-commerce .variation {
  display: grid;
  grid-template-columns: minmax(78px, max-content) minmax(0, 1fr);
  gap: 4px 8px;
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}
.woocommerce-checkout.sf-focused-commerce .variation dt,
.woocommerce-checkout.sf-focused-commerce .variation dd {
  margin: 0;
  padding: 0;
}
.woocommerce-checkout.sf-focused-commerce .variation dt {
  color: #ffffff;
  font-weight: 800;
}
.woocommerce-checkout.sf-focused-commerce .variation dd {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
}
.woocommerce-checkout.sf-focused-commerce .variation p {
  margin: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-table {
  width: 100%;
  max-width: var(--sf-checkout-summary-content-width);
  margin: 26px auto 0;
  padding: 0;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: center;
  box-sizing: border-box;
  padding: 10px var(--sf-checkout-summary-content-inset);
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row__label {
  padding-left: 0;
  color: rgba(255, 255, 255, 0.96);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row__value {
  padding-right: 0;
  color: rgba(255, 255, 255, 0.96);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row__value .woocommerce-Price-amount {
  color: rgba(255, 255, 255, 0.96) !important;
  font-weight: 800;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .sf-checkout-totals-row__label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  padding: 5px 9px;
  background: #e8f5ef;
  color: #246447 !important;
  font-size: 12px;
  text-transform: uppercase;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .sf-checkout-totals-row__label::before {
  content: "%";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background: #3cb67a;
  color: #ffffff;
  font-size: 10px;
  line-height: 1;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .sf-checkout-totals-row__value,
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .sf-checkout-totals-row__value .woocommerce-Price-amount {
  color: #e8f5ef !important;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .woocommerce-remove-coupon {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: none;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .woocommerce-remove-coupon:hover, .woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-row--adjustment .woocommerce-remove-coupon:focus {
  color: #ffffff !important;
  background: transparent;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary {
  width: 100%;
  max-width: var(--sf-checkout-summary-content-width);
  margin: 18px auto 0;
  padding: 20px 0 18px;
  text-align: center;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary h3 {
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary__amount {
  margin: 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary__amount .woocommerce-Price-amount {
  color: #ffffff !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary__note {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}
.woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary__note .woocommerce-Price-amount {
  color: inherit !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-review-order {
  min-width: 0;
  overflow: hidden;
}
@media (max-width: 1120px) {
  .woocommerce-checkout.sf-focused-commerce {
    --sf-checkout-summary-content-width: 460px;
  }
  .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top {
    position: relative;
    background: #ffffff;
  }
  .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__inner {
    padding: 16px 20px;
  }
  .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__back {
    border-color: #d1d5db;
    color: #1f2933;
  }
  .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__back:hover, .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top .sf-commerce-shell__back:focus {
    border-color: #9ca3af;
    background: #f3f4f6;
    color: #37424d;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-layout {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__summary {
    position: static;
    order: -1;
    min-height: 0;
    padding: 34px 0 16px;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__summary,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__body,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-table,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary {
    width: min(460px, 100% - 48px);
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__details {
    padding: 28px 24px 36px;
  }
}
@media (max-width: 760px) {
  .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-commerce-shell--top,
  .woocommerce-checkout.sf-focused-commerce:not(.woocommerce-order-received) .sf-checkout-layout__summary {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }
  .woocommerce-checkout.sf-focused-commerce main .woocommerce,
  .woocommerce-checkout.sf-focused-commerce .elementor .woocommerce {
    padding: 0 0 36px;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-layout {
    padding-top: 0;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__summary,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-disclosure__body,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-totals-table,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-total-summary {
    width: min(460px, 100% - 32px);
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-layout__details {
    padding: 16px 0 18px;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-section,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-panel {
    padding: 20px 16px;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-panel {
    padding: 0;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-customer-details {
    display: block;
  }
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row-first,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper .form-row-last,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_country_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_country_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_postcode_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_state_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_state_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_city_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_city_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_phone_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_phone_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #billing_email_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-billing-fields__field-wrapper #shipping_email_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row-first,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper .form-row-last,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_country_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_country_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_postcode_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_postcode_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_state_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_state_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_city_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_city_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_phone_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_phone_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #billing_email_field,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-shipping-fields__field-wrapper #shipping_email_field {
    grid-column: 1/-1;
  }
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-section h2,
  .woocommerce-checkout.sf-focused-commerce .sf-checkout-order-panel h2 {
    font-size: 21px;
  }
}
@media (max-width: 480px) {
  .woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-payment label {
    display: block;
    padding-right: 12px;
  }
  .woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-review-order-table .sf-checkout-item-row {
    grid-template-columns: minmax(0, 1fr) max-content 12px;
    gap: 8px;
  }
  .woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-review-order-table .sf-checkout-item-name,
  .woocommerce-checkout.sf-focused-commerce .woocommerce-checkout-review-order-table .sf-checkout-item-price {
    font-size: 13px;
  }
}

.woocommerce-order-received.sf-focused-commerce main {
  padding-bottom: 0 !important;
  background: #f1f1f1;
}
.woocommerce-order-received.sf-focused-commerce main .woocommerce,
.woocommerce-order-received.sf-focused-commerce .elementor .woocommerce {
  max-width: none;
  width: 100%;
  padding: 0 0 56px;
}
.woocommerce-order-received.sf-focused-commerce .sf-commerce-shell--top {
  background: #ffffff;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou {
  width: min(980px, 100% - 48px);
  max-width: 980px;
  margin: 34px auto 48px !important;
  padding: 0 !important;
  color: #1f2933;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou * {
  box-sizing: border-box;
  border-radius: 0 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-notice {
  margin: 0 0 22px !important;
  border: 1px solid #e1e6ea;
  padding: 20px 22px !important;
  line-height: 1.45;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-thankyou-order-received {
  border-left: 5px solid #3cb67a;
  background: #f1fbf6;
  color: #17452f;
  font-size: 20px;
  font-weight: 800;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-thankyou-order-failed {
  border-left: 5px solid #c62828;
  background: #fff5f5;
  color: #7f1d1d;
  font-weight: 800;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .button,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou button,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou input[type=button],
.woocommerce-order-received.sf-focused-commerce .sf-thankyou input[type=submit] {
  border-radius: 0 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview::before, .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview::after {
  content: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview li {
  display: flex;
  float: none;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  width: auto;
  margin: 0 !important;
  border: 1px solid #e1e6ea;
  background: #ffffff;
  padding: 17px 18px !important;
  color: #606c78;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  text-transform: uppercase;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview strong {
  display: block;
  margin-top: 7px;
  color: #111827;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: none;
  overflow-wrap: anywhere;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview__email {
  grid-column: span 2;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .mollie-instructions,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-details,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details {
  margin: 0 0 28px !important;
  border: 1px solid #e1e6ea;
  background: #ffffff;
  padding: 22px !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending {
  border-left: 5px solid #3cb67a;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff {
  border-left: 1px solid #e1e6ea;
  padding: 0 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .mollie-instructions {
  border-left-color: #3197d5;
  background: #f0f9ff;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__warning,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending__eyebrow {
  display: inline-block;
  margin: 0 0 14px !important;
  padding: 8px 11px !important;
  background: #1f2933;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__warning {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 0 20px !important;
  padding: 14px 18px !important;
  background: #c62828;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__warning::before {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 20px;
  background: #ffffff;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  color: #c62828;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  padding-top: 5px;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__warning strong {
  flex: 0 0 auto;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__copy,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending__copy {
  max-width: 760px;
  margin: 0 0 18px !important;
  color: #374151;
  font-size: 16px;
  line-height: 1.55;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__copy {
  margin-right: 22px !important;
  margin-left: 22px !important;
  font-weight: 400 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__copy strong {
  font-weight: 800 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__button,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px !important;
  border: 1px solid #3cb67a !important;
  background: #3cb67a !important;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__button:hover, .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__button:focus,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending__button:hover,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending__button:focus {
  border-color: #33a068 !important;
  background: #33a068 !important;
  color: #ffffff !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__button {
  display: flex;
  width: fit-content;
  margin: 0 auto 22px !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-details__title,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-column__title {
  margin: 0 0 16px;
  color: #1f2933;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse;
  background: #ffffff;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details thead {
  display: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details th,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details td {
  border: 0 !important;
  border-bottom: 1px solid #e1e6ea !important;
  padding: 14px 0 !important;
  color: #1f2933;
  font-size: 14px;
  line-height: 1.45;
  vertical-align: top;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tr:last-child th,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tr:last-child td {
  border-bottom: 0 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name {
  padding-right: 18px !important;
  font-weight: 800;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name a {
  color: #1f2933;
  text-decoration: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name .wc-item-meta,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name dl.variation {
  margin: 9px 0 0;
  color: #5f6b76;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name .wc-item-meta p,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name .wc-item-meta dd,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name dl.variation p,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name dl.variation dd {
  margin: 0;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-total,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tfoot td {
  color: #1f2933;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tfoot th {
  color: #5f6b76;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tfoot tr:last-child td {
  color: #111827;
  font-size: 18px;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-items-list {
  margin: 0;
  border-top: 1px solid #e1e6ea;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item {
  margin: 0;
  border-bottom: 1px solid #e1e6ea;
  color: #1f2933;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  gap: 12px;
  align-items: center;
  min-height: 54px;
  padding: 13px 0 !important;
  list-style: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__summary::-webkit-details-marker {
  display: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__summary:focus {
  outline: 0;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou details.sf-thankyou-item .sf-thankyou-item__summary {
  cursor: pointer;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__name,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__price {
  color: #1f2933;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__name {
  min-width: 0;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__name a {
  color: inherit;
  text-decoration: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__quantity {
  margin-right: 5px;
  color: #52606d;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__price {
  white-space: nowrap;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__indicator {
  position: relative;
  width: 16px;
  height: 16px;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__indicator::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #52606d;
  border-bottom: 2px solid #52606d;
  transform: rotate(45deg);
  transition: transform 0.18s ease, top 0.18s ease;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item[open] .sf-thankyou-item__indicator::before {
  top: 7px;
  transform: rotate(225deg);
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details {
  padding: 0 0 15px 0;
  color: #52606d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details .wc-item-meta,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dl.variation {
  display: grid;
  gap: 6px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details .wc-item-meta li,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dl.variation {
  grid-template-columns: minmax(120px, 0.9fr) minmax(0, 1.1fr);
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details .wc-item-meta li {
  display: grid;
  gap: 6px 14px;
  margin: 0;
  padding: 0;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dt,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dd {
  margin: 0;
  padding: 0;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dt,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details .wc-item-meta-label {
  color: #52606d;
  font-weight: 800;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dd,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details p {
  color: #1f2933;
  font-weight: 700;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details p {
  margin: 0;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__purchase-note {
  margin-top: 12px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-order-totals {
  margin-top: 22px;
  border-top: 1px solid #e1e6ea;
  padding-top: 16px;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: baseline;
  padding: 8px 0;
  color: #1f2933;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row__label {
  color: #52606d;
  text-transform: uppercase;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row__value {
  text-align: right;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row--order_total {
  margin-top: 8px;
  border-top: 1px solid #e1e6ea;
  padding-top: 16px;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row--order_total .sf-thankyou-total-row__label,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row--order_total .sf-thankyou-total-row__value {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row--customer-note {
  align-items: start;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-columns::before, .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-columns::after {
  content: none;
  display: none;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-column {
  display: flex;
  flex-direction: column;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details address {
  flex: 1 1 auto;
  margin: 0;
  border: 1px solid #e1e6ea;
  background: #f8fafc;
  padding: 16px !important;
  color: #374151;
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
  line-height: 1.55;
}
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-customer-details--email {
  margin: 10px 0 0;
  color: #1f2933;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .woocommerce-order-received.sf-focused-commerce main .woocommerce,
  .woocommerce-order-received.sf-focused-commerce .elementor .woocommerce {
    padding-bottom: 32px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou {
    width: calc(100% - 32px);
    margin-top: 24px !important;
    margin-bottom: 32px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-notice {
    padding: 18px 16px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-thankyou-order-received {
    font-size: 18px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview li {
    padding: 16px !important;
    text-align: left;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-overview__email {
    grid-column: auto;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .mollie-instructions,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-order-details,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details {
    padding: 18px 16px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff {
    padding: 0 !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__warning {
    margin-bottom: 18px !important;
    padding: 13px 16px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__copy {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__button,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-payment-pending__button {
    display: flex;
    width: 100%;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-signoff__button {
    width: calc(100% - 32px);
    margin: 0 auto 18px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details th,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    font-size: 13px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-name {
    padding-right: 12px !important;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details .product-total,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-table--order-details tfoot td {
    white-space: normal;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__summary {
    grid-template-columns: minmax(0, 1fr) auto 14px;
    gap: 10px;
    min-height: 50px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__name,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__price,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row {
    font-size: 13px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__price {
    text-align: right;
    white-space: normal;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details {
    padding-bottom: 14px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details .wc-item-meta,
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details dl.variation {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-item__details .wc-item-meta li {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .sf-thankyou-total-row {
    gap: 10px;
  }
  .woocommerce-order-received.sf-focused-commerce .sf-thankyou .woocommerce-customer-details .woocommerce-columns {
    grid-template-columns: 1fr;
  }
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  display: none;
}
.woocommerce .onsale {
  background-color: #ffb310 !important;
  width: 50px;
  height: 50px;
}
.woocommerce .products {
  grid-gap: 15px;
}
.woocommerce .products.columns-1 {
  grid: auto/repeat(1, 1fr);
}
.woocommerce .products.columns-2 {
  grid: auto/repeat(2, 1fr);
}
.woocommerce .products.columns-3 {
  grid: auto/repeat(3, 1fr);
}
.woocommerce .products.columns-4 {
  grid: auto/repeat(4, 1fr);
}
.woocommerce .products.columns-5 {
  grid: auto/repeat(5, 1fr);
}
.woocommerce .products.columns-6 {
  grid: auto/repeat(6, 1fr);
}
.woocommerce .products.columns-7 {
  grid: auto/repeat(7, 1fr);
}
.woocommerce .products.columns-8 {
  grid: auto/repeat(8, 1fr);
}
.woocommerce .products.columns-9 {
  grid: auto/repeat(9, 1fr);
}
.woocommerce .products.columns-10 {
  grid: auto/repeat(10, 1fr);
}
.woocommerce .products .product .woocommerce-loop-product__title {
  font-family: "Lato";
  color: #000000;
  font-size: 21px !important;
  margin: 0 0 15px;
  text-align: center;
  height: 80px;
}
@media (max-width: 670px) {
  .woocommerce .products .product .woocommerce-loop-product__title {
    font-size: 14px !important;
  }
}
.woocommerce .products .product .price {
  font-size: 30px !important;
  text-align: center;
  color: #3cb67a !important;
}

.tax-product_cat .price {
  font-family: "Lato" !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  text-align: center !important;
  color: #000000 !important;
}
.tax-product_cat .price .price-prefix {
  font-family: "Lato" !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  margin-right: 6px !important;
  display: inline-block;
}
.tax-product_cat .price .woocommerce-Price-amount {
  font-weight: inherit !important;
}

.single-product .price {
  font-size: 24px !important;
}
.single-product .price ins {
  text-decoration: none !important;
}
.single-product .price .price-prefix {
  font-size: 14px;
  font-weight: 300;
  display: inline-block;
  margin-right: 4px;
}
.single-product .woocommerce-product-details__short-description {
  font-size: 18px;
}
.single-product .variations_form .variations select {
  border: solid 2px #3e4b5b;
  outline: 0;
  cursor: pointer;
  padding: 7px 12px;
}
.single-product .variations_form .variations .reset_variations {
  text-decoration: none;
  color: #fff;
  background-color: #3e4b5b;
  display: inline-block;
  padding: 3px 8px;
  transition: all 0.2s ease-in-out;
}
.single-product .variations_form .variations .reset_variations:hover {
  background-color: #3197d5;
  transition: all 0.2s ease-in-out;
}
.single-product .variations_form .single_variation_wrap .woocommerce-variation-price {
  margin-bottom: 15px;
}
.single-product .variations_form .single_variation_wrap .quantity {
  float: none !important;
}
.single-product .variations_form .single_variation_wrap .single_add_to_cart_button {
  display: block;
  float: none !important;
}
.single-product .cart {
  display: flex;
  flex-direction: column;
}
.single-product .cart input {
  border: solid 2px #3e4b5b;
  font-size: 24px;
  padding: 10px;
  min-width: 160px;
  margin: 0 0 10px;
  outline: 0;
}
.single-product .product_meta {
  font-size: 18px;
}
.single-product .product_meta a {
  color: #3e4b5b;
  text-decoration: none;
}
.single-product .product_meta a:hover {
  color: #3e4b5b;
}

.xoo-qv-plink {
  display: none !important;
}

.xoo-qv-main {
  padding: 20px;
}

.xoo-qv-panel .button {
  display: inline-block !important;
  padding: 10px 30px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  min-width: 230px;
  text-decoration: none;
  text-align: center;
  display: block;
  float: none !important;
}
.page-id-12 .xoo-qv-button {
  display: none !important;
}

.customise-dimensions-btn {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #ffb310;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  min-width: 230px;
  color: #ffb310 !important;
  text-decoration: none;
  background-color: transparent !important;
  text-align: center;
  margin-top: 8px;
}
.customise-dimensions-btn:hover {
  background-color: #ffb310 !important;
  color: #fff !important;
}
@media (max-width: 1105px) {
  .customise-dimensions-btn {
    min-width: auto !important;
    font-size: 15px;
    padding: 10px 20px;
  }
}

.reconfigure-btn {
  display: inline;
  align-items: center;
  justify-content: center;
  padding: 8px 9px;
  max-width: 120px;
  background-color: #616d79;
  color: #fff !important;
  cursor: pointer;
  font-weight: 600;
  font-size: 11px !important;
  margin: 3px 0 3px 5px;
}
.reconfigure-btn i,
.reconfigure-btn svg {
  margin-right: 4px;
}

.woocommerce .products .product .button {
  width: 100%;
}
.woocommerce .products .product .xoo-qv-button {
  display: none !important;
}

.reset_variations {
  margin-top: 10px;
}

.xoo-qv-counter {
  display: none !important;
}

.xoo-qv-modal .xoo-qv-nxt,
.xoo-qv-modal .xoo-qv-prev {
  display: none !important;
}
@media (max-width: 1260px) {
  .xoo-qv-modal .xoo-qv-container {
    left: 0;
    right: 0;
  }
}

.variation-row {
  margin-bottom: 15px;
}
.variation-row .label {
  margin-bottom: 5px;
}

@media (max-width: 500px) {
  .wcpa-col-3 {
    width: 100% !important;
  }
}

.parts-shop .woocommerce-LoopProduct-link {
  margin-bottom: 18px;
}
.parts-shop .add_to_cart_button {
  color: #000 !important;
  background-color: transparent !important;
  display: inline !important;
}
.parts-shop .add_to_cart_button:hover {
  color: #3cb67a !important;
}

.woocommerce-checkout-review-order-table .variation {
  white-space: nowrap;
}

.coupon .coupon-col .e-apply-coupon {
  border-radius: 0 !important;
  border-color: #616d79 !important;
  color: #000 !important;
}
.coupon .coupon-col .e-apply-coupon:hover {
  background-color: #3cb67a !important;
  color: white !important;
  border-color: #3cb67a !important;
}

.woocommerce .return-to-shop .wc-backward {
  background-color: #3cb67a !important;
  color: white !important;
  border-color: #3cb67a !important;
  opacity: 1 !important;
  margin-bottom: 60px !important;
  border-radius: 0 !important;
}

.shop_table th {
  white-space: nowrap;
}
.shop_table .product-price,
.shop_table .product-subtotal {
  white-space: nowrap;
}

.wcpa-warning--cushion {
  margin-top: 4px;
  margin-bottom: 12px;
  color: #c76c04;
  font-size: 0.875rem;
  line-height: 1.4;
}

.woocommerce-variation-add-to-cart.variations_button {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.woocommerce-variation-add-to-cart.variations_button .e-atc-qty-button-holder {
  width: 100% !important;
}
.woocommerce-variation-add-to-cart.variations_button .quantity {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.woocommerce-variation-add-to-cart.variations_button .quantity input.qty {
  width: 90px !important;
  padding: 8px 12px !important;
  text-align: center !important;
  margin: 0 !important;
}
@media (max-width: 640px) {
  .woocommerce-variation-add-to-cart.variations_button .quantity input.qty {
    margin-bottom: 10px !important;
  }
}
.woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button,
.woocommerce-variation-add-to-cart.variations_button button {
  flex: 1 !important;
  width: 100% !important;
  margin: 0 !important;
}

.prev-work-carousel {
  position: relative;
}
.prev-work-carousel .work_wrap {
  background-color: #fff;
}
@media (max-width: 619px) {
  .prev-work-carousel .work_wrap {
    max-width: 100%;
  }
}
.prev-work-carousel .work_wrap .img_container {
  height: 350px;
  position: relative;
  background-position: center;
  background-size: cover;
}
.prev-work-carousel .work_wrap .img_container .prv-work-btn {
  background-color: #ffb310;
  border-radius: 40px;
  padding: 10px 10px;
  font-weight: 600;
  color: white;
  width: 200px;
  text-align: center;
  position: absolute;
  bottom: 24px;
  left: 50%;
  margin-left: -100px;
}
.prev-work-carousel .work_wrap .img_container .prv-work-btn:hover {
  background-color: #ffc240;
}
.prev-work-carousel .work_wrap .img_container .est-price {
  background-color: #fff;
  width: 100%;
  max-width: 85%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  border-radius: 0 0 15px 0;
}
.prev-work-carousel .work_wrap .img_container .est-price .price-label {
  text-transform: uppercase;
  font-size: 20px;
  color: #000 !important;
}
.prev-work-carousel .work_wrap .img_container .est-price .price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.prev-work-carousel .work_wrap .img_container .est-price .price-container .price {
  color: #ffb310;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}
.prev-work-carousel .work_wrap .img_container .est-price .price-container .vat {
  font-size: 12px;
  font-weight: 700;
  color: #3e4b5b;
  line-height: 1;
}
.prev-work-carousel .work_wrap .features {
  display: flex;
  flex-wrap: wrap;
  padding: 15px;
  min-height: 168px;
}
@supports (display: grid) {
  .prev-work-carousel .work_wrap .features {
    display: grid;
    grid: auto/auto 1fr;
    grid-gap: 15px 30px;
  }
}
.prev-work-carousel .work_wrap .features .feature {
  flex: 1 1 50%;
  color: #ffb310;
}
.prev-work-carousel .work_wrap .features .feature .check-label {
  color: #3e4b5b;
  margin-left: 10px;
  font-weight: 400;
}
.prev-work-carousel .owl-nav.disabled {
  display: inline-block !important;
}
.prev-work-carousel .owl-nav .owl-next, .prev-work-carousel .owl-nav .owl-prev {
  position: absolute;
  top: -80px;
  color: #fff !important;
  font-size: 40px !important;
  outline: 0;
  cursor: pointer;
}
@media (max-width: 580px) {
  .prev-work-carousel .owl-nav .owl-next, .prev-work-carousel .owl-nav .owl-prev {
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    display: none;
  }
}
.prev-work-carousel .owl-nav .owl-next:hover, .prev-work-carousel .owl-nav .owl-prev:hover {
  color: #ffb310 !important;
}
.prev-work-carousel .owl-nav .owl-prev {
  left: 15px;
}
.prev-work-carousel .owl-nav .owl-next {
  right: 15px;
}

@media (max-width: 580px) {
  .previous-work-elementor .elementor-column-wrap {
    padding: 10px 0 !important;
  }
}

@media (max-width: 767px) {
  .hide-mobile-br {
    display: none !important;
  }
}
/* Chip & image layout: ensure chip sits over the image (matches existing style-overlay-container) */
.configuration-summary-image-container .img-cont {
  position: relative;
  display: inline-block;
}

.configuration-summary-image-container .img-cont .style-overlay-container {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background-color: #48a3d8;
  font-size: 15px;
  border-bottom-left-radius: 12px;
  z-index: 6;
}

.configuration-summary-image-container .img-cont .style-overlay-container p {
  margin: 0;
  margin-top: 2px;
  font-weight: 600;
  color: #fff !important;
  margin-left: 9px;
}

.configuration-summary-image-container .img-cont .style-overlay-container i {
  color: #fff;
  font-size: 16px;
  display: inline-block !important;
  vertical-align: middle;
}

/* Configurator Introduction Section */
.configurator-introduction {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 2rem 0;
  display: flex;
  align-items: center;
}
.configurator-introduction .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
.configurator-introduction .intro-content {
  text-align: center;
  padding-top: 80px;
}
.configurator-introduction .intro-content h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  font-family: "Playfair Display", Sans-serif;
}
@media (max-width: 768px) {
  .configurator-introduction .intro-content h1 {
    font-size: 2.5rem;
  }
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content h1 {
    font-size: 2rem;
  }
}
.configurator-introduction .intro-content h2 {
  font-size: 1.5rem;
  margin-bottom: 2rem;
  font-weight: 400;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content h2 {
    font-size: 1.25rem;
  }
}
.configurator-introduction .intro-content p {
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto 3rem auto;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content p {
    font-size: 1rem;
  }
}
.configurator-introduction .intro-content .intro-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 530px) {
  .configurator-introduction .intro-content .intro-features {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.configurator-introduction .intro-content .intro-features .feature {
  background: white;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(44, 62, 80, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .intro-features .feature {
    padding: 1.5rem;
  }
}
.configurator-introduction .intro-content .intro-features .feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(44, 62, 80, 0.15);
}
.configurator-introduction .intro-content .intro-features .feature h3 {
  font-size: 1.2rem;
  color: #29323b;
  margin-bottom: 1rem;
  font-weight: 600;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .intro-features .feature h3 {
    font-size: 1.1rem;
  }
}
.configurator-introduction .intro-content .intro-features .feature p {
  font-size: 0.95rem;
  color: #666;
  margin: 0;
  line-height: 1.5;
}
.configurator-introduction .intro-content .get-started-btn {
  background: #3cb67a;
  color: white;
  border: none;
  padding: 1rem 3rem;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(60, 182, 122, 0.3);
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .get-started-btn {
    padding: 1rem 2rem;
    font-size: 1.1rem;
  }
}
.configurator-introduction .intro-content .get-started-btn:hover {
  background: #339966;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(60, 182, 122, 0.4);
}
.configurator-introduction .intro-content .intro-note {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: #999;
  font-style: italic;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .intro-note {
    font-size: 0.85rem;
  }
}
.configurator-introduction .intro-content .intro-reassurance-banner {
  background: #42a2da;
  color: white;
  padding: 0.75rem 1.5rem;
  margin: 1.5rem auto;
  max-width: fit-content;
  text-align: center;
  border-radius: 25px;
  box-shadow: 0 2px 8px rgba(66, 162, 218, 0.3);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  .configurator-introduction .intro-content .intro-reassurance-banner {
    margin: 1.25rem auto;
    padding: 0.65rem 1.25rem;
    gap: 0.4rem;
  }
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .intro-reassurance-banner {
    padding: 0.6rem 1rem;
    margin: 1rem auto;
    gap: 0.4rem;
  }
}
.configurator-introduction .intro-content .intro-reassurance-banner i {
  font-size: 0.8rem;
  color: white;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .intro-reassurance-banner i {
    font-size: 0.75rem;
  }
}
.configurator-introduction .intro-content .intro-reassurance-banner p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.4;
  font-weight: 500;
  color: white;
}
@media (max-width: 480px) {
  .configurator-introduction .intro-content .intro-reassurance-banner p {
    font-size: 0.8rem;
  }
}

.configurer-template {
  background-color: #f3f3f3;
}

@media (min-width: 388px) {
  .section-selector {
    min-width: 170px;
  }
}
@media (max-width: 511px) {
  .section-selector {
    min-width: unset;
    zoom: 0.7;
  }
}
@media (min-width: 768px) {
  .parts_items_list_section {
    padding-right: 8px;
  }
}
/* =======================
   SIMPLE OVERLAY SYSTEM - NO DOM MOVEMENT
   ======================= */
/* Ensure all buttons in configurator are uppercase */
.configurator-overlay button,
.configurator-container button,
.configurator-main-container button,
.parts-floating button,
.parts-item-container button,
.save-cart-dialog button,
.incompatibility-dialog button,
button[class*=btn],
button[class*=button] {
  text-transform: uppercase !important;
}

.configurator-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  /* Fallback for old browsers */
  height: 100vh;
  /* Modern dynamic viewport height - ideal for mobile */
  /* Fallback using CSS custom property for iOS */
  height: calc(var(--vh, 1vh) * 100);
  /* WebKit-specific mobile fix */
  min-height: -webkit-fill-available;
  background: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  /* iOS-specific fixes */
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  /* Handle safe areas on notched devices */
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}
.configurator-overlay.hidden {
  display: none !important;
}

.configurator-overlay-header {
  position: relative;
  background-color: #f3f3f3;
  color: #0b0b0b;
  padding: 0.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  /* Progress bar removed from header */
}
@media (max-width: 500px) {
  .configurator-overlay-header {
    padding: 0.5rem;
  }
}
.configurator-overlay-header .configurator-overlay-title {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  font-family: Playfair Display, Sans-serif !important;
}
@media (max-width: 500px) {
  .configurator-overlay-header .configurator-overlay-title {
    font-size: 22px;
  }
}
@media (max-width: 380px) {
  .configurator-overlay-header .configurator-overlay-title {
    font-size: 13px;
  }
}
.configurator-overlay-header .configurator-overlay-close {
  background: none;
  border: none;
  color: rgb(9, 9, 9);
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
}
.configurator-overlay-header .configurator-overlay-close:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* Desktop Progress Bar - HIDDEN */
.desktop-progress-bar {
  display: none !important;
}

/* Progress connector lines */
.progress-connector {
  width: 2rem; /* Wider to overlap with circles */
  height: 4px;
  background: rgba(255, 255, 255, 0.3); /* Default inactive color */
  transition: background-color 0.3s ease;
  align-self: center; /* Vertically center with step circles */
  position: relative;
  top: -0.75rem; /* Move up to align with circle centers */
  margin: 0 -0.5rem; /* Negative margins to overlap with circles and eliminate gaps */
  /* Green when step before it is completed */
}
.progress-connector.completed {
  background: #28a745;
}

.progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0; /* Prevent shrinking */
  min-width: 4rem; /* Consistent step width */
}
.progress-step:hover:not(.disabled):not(.active) .step-circle {
  background: rgba(255, 255, 255, 0.5);
  transform: scale(1.05);
}
.progress-step.active {
  pointer-events: none; /* Disable clicking on active step */
  cursor: default; /* Remove pointer cursor */
}
.progress-step.active .step-circle {
  background: white; /* White background for active step */
  color: #42a2da; /* Blue text */
}
.progress-step.active .step-label {
  color: white;
}
.progress-step.completed .step-circle {
  background: #28a745; /* Green background for completed */
  color: white;
}
.progress-step.completed .step-label {
  color: rgba(255, 255, 255, 0.9);
}
.progress-step.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.step-circle {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #6c757d; /* Changed from transparent to solid gray */
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: all 0.3s ease;
  z-index: 1; /* Ensure circles appear above the progress lines */
}

.step-label {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  font-weight: 500;
  transition: color 0.3s ease;
}

/* Overlay Content */
.configurator-overlay-content {
  flex: 1;
  overflow-y: auto;
  position: relative;
  z-index: 1;
  background: #fff; /* Ensure content has background to cover footer */
  /* Mobile: Account for footer space + safe area */
  /* Tablet */
  /* Desktop */
}
@media (max-width: 767px) {
  .configurator-overlay-content {
    height: calc(100vh - 111px - env(safe-area-inset-bottom)); /* Header + footer space + safe area */
    height: calc(var(--vh, 1vh) * 100 - 111px - env(safe-area-inset-bottom));
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .configurator-overlay-content {
    height: calc(100vh - 128px); /* Header + footer space */
    padding-bottom: 2rem; /* Extra space to prevent overlap */
  }
}
@media (min-width: 1024px) {
  .configurator-overlay-content {
    height: calc(100vh - 140px); /* Header + footer space */
    padding-bottom: 1rem;
  }
}

/* Mobile Accordion Steps */
.mobile-accordion-steps {
  display: block;
  height: 100%; /* Fill the entire content area */
  background: #fff; /* Ensure background covers any gap */
}
@media (max-width: 767px) {
  .mobile-accordion-steps {
    /* Ensure accordion takes full height on mobile */
    min-height: 100%;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .mobile-accordion-steps {
    display: none;
  }
}

.accordion-step {
  border-bottom: 1px solid #e5e5e5;
}
@media (max-width: 767px) {
  .accordion-step {
    /* On mobile, make active accordion step fill remaining space */
  }
  .accordion-step.active {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}
.accordion-step.active .accordion-step-header {
  background: #f8f9fa;
}
.accordion-step.active .step-status i {
  transform: rotate(180deg);
}
.accordion-step.completed .accordion-step-header h3 {
  color: #28a745;
}
.accordion-step.completed .step-status i {
  color: #28a745;
}
.accordion-step.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.accordion-step-header {
  padding: 1rem 1.5rem;
  background: white;
  border: none;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.accordion-step-header h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}
.accordion-step-header .step-status i {
  font-size: 0.875rem;
  color: #666;
  transition: transform 0.3s ease, color 0.3s ease;
}
.accordion-step-header:hover {
  background: #f8f9fa;
}

.accordion-step-content {
  display: none;
  display: flex !important;
  padding: 0;
  background: #fafafa;
  border-top: 1px solid #e5e5e5;
  /* On mobile, make accordion content scrollable within fixed height */
}
.accordion-step-content svg,
.accordion-step-content i {
  display: inline-block !important;
}
@media (max-width: 767px) {
  .accordion-step-content.active {
    flex: 1;
    overflow-y: auto;
    max-height: none;
    height: 100%; /* Fill the available space */
    display: block !important;
  }
}

/* Show the original configurator content inside overlay */
.configurator-overlay .configurator-main-container {
  display: block !important;
  /* Hide all steps by default */
  /* On desktop, ensure configurator content is visible */
}
.configurator-overlay .configurator-main-container .step-wrapper {
  display: none;
  /* Show active step */
}
.configurator-overlay .configurator-main-container .step-wrapper.active-step {
  display: block !important;
}
@media (min-width: 768px) {
  .configurator-overlay .configurator-main-container {
    display: block !important;
    padding: 2rem;
  }
  .configurator-overlay .configurator-main-container .step-wrapper {
    display: none;
  }
  .configurator-overlay .configurator-main-container .step-wrapper.active-step {
    display: block !important;
  }
}

/* Mobile: Show steps in accordion style when active */
@media (max-width: 767px) {
  /* Only show the configurator content when an accordion step is active */
  .configurator-overlay .configurator-main-container .step-wrapper {
    display: none !important;
    padding: 1rem;
    margin: 0;
    background: transparent;
  }
  /* Show the corresponding step when accordion is active */
  .accordion-step.active .accordion-step-content {
    display: block;
    padding: 0;
  }
}
/* Desktop: Ensure content is properly visible */
@media (min-width: 768px) {
  .configurator-overlay-content {
    display: block !important;
    /* Remove duplicate height rules since handled in main .configurator-overlay-content */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .configurator-overlay .configurator-main-container {
    display: block !important;
    padding: 2rem;
    height: 100%;
    overflow-y: auto;
  }
  .configurator-overlay .configurator-main-container .step-wrapper {
    display: none !important;
  }
  .configurator-overlay .configurator-main-container .step-wrapper.active-step {
    display: block !important;
  }
  /* Hide mobile accordion on desktop */
  .mobile-accordion-steps {
    display: none !important;
  }
}
/* Overlay Footer */
.configurator-overlay-footer {
  /* Subtle YouTube-style progress bar now in footer */
  position: relative;
  background: #616d79;
  padding: 1rem 2rem;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 5; /* Higher than content */
  /* Ensure smooth hiding without layout shifts */
  transition: opacity 0.3s ease, visibility 0.3s ease;
  /* Hidden state (used when edit section is open) */
}
.configurator-overlay-footer::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 100%;
  height: 3px;
  background: #3cb67a;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10; /* Higher than content to appear on top */
  width: 16.666%; /* Default to step-1 */
}
.configurator-overlay-footer.step-1::after {
  width: 16.666%;
}
.configurator-overlay-footer.step-2::after {
  width: 33.333%;
}
.configurator-overlay-footer.step-3::after {
  width: 50%;
}
.configurator-overlay-footer.step-4::after {
  width: 66.666%;
}
.configurator-overlay-footer.step-5::after {
  width: 83.333%;
}
.configurator-overlay-footer.step-6::after {
  width: 100%;
}
.configurator-overlay-footer.hidden, .configurator-overlay-footer[style*="display: none"] {
  display: none !important;
}
@media (max-width: 767px) {
  .configurator-overlay-footer {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .configurator-overlay-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
  }
}

.footer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .footer-actions {
    flex-direction: column;
    gap: 1rem;
  }
}

.step-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
}
.step-indicator .current-step-text {
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
}

/* First definition of button styles */
.prev-step-btn,
.next-step-btn,
.save-configuration-btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.375rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.2s ease;
}
.prev-step-btn:disabled,
.next-step-btn:disabled,
.save-configuration-btn:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important; /* Use solid grayed out colors instead of opacity */
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}

.prev-step-btn {
  background: white !important;
  color: black !important;
  border: 1px solid #ddd !important;
}
.prev-step-btn:hover:not(:disabled) {
  background: #f8f9fa !important;
  color: black !important;
}
.prev-step-btn:disabled {
  background: white !important;
  color: #ccc !important;
  border: 1px solid #eee !important;
}

.next-step-btn,
.save-configuration-btn {
  background: #3cb67a;
  color: white !important;
}
.next-step-btn:disabled,
.save-configuration-btn:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important; /* Override the generic opacity */
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}
.next-step-btn.enabled-green,
.save-configuration-btn.enabled-green {
  background: #3cb67a !important;
  color: white !important;
}
.next-step-btn.enabled-green:disabled,
.save-configuration-btn.enabled-green:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}

/* Step-specific button visibility */
@media (min-width: 768px) {
  .configurator-overlay-footer.step-1 .prev-step-btn {
    visibility: hidden;
  }
}
/* Ensure configure popup still works */
.floating-container.configurer-section {
  z-index: 99999999999 !important;
  /* Ensure the popup background overlay also has high z-index */
}
.floating-container.configurer-section[style*="display: flex"], .floating-container.configurer-section[style*="display: block"] {
  z-index: 99999999999 !important;
}
.floating-container.configurer-section .configurer-section-background,
.floating-container.configurer-section .floating-bg {
  z-index: 99999999998 !important;
}

/* Desktop Progress Bar */
.desktop-progress-bar {
  display: none;
  align-items: center;
  gap: 0; /* No gap - elements flow naturally */
  margin-top: 1rem;
  padding: 0 2rem;
  position: relative;
  justify-content: center;
}
@media (min-width: 768px) {
  .desktop-progress-bar {
    display: flex;
  }
}

/* Overlay Content */
.configurator-overlay-content {
  flex: 1;
  overflow-y: auto;
  position: relative;
}

/* Mobile Accordion Steps */
.mobile-accordion-steps {
  display: block;
}
@media (min-width: 768px) {
  .mobile-accordion-steps {
    display: none;
  }
}

.accordion-step {
  border-bottom: 1px solid #e5e5e5;
}
.accordion-step.active .accordion-step-header {
  background: #f8f9fa;
}
.accordion-step.active .accordion-step-header .step-status i {
  transform: rotate(180deg);
}
.accordion-step.active .accordion-step-content {
  display: block;
}
.accordion-step.completed .accordion-step-header h3::before {
  content: "✓ ";
  color: #4caf50;
  font-weight: bold;
}
.accordion-step.disabled .accordion-step-header {
  opacity: 0.5;
  pointer-events: none;
}

.accordion-step-header {
  padding: 1rem 1.5rem;
  background: white;
  border: none;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.accordion-step-header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #29323b;
}
.accordion-step-header .step-status i {
  transition: transform 0.3s ease;
  color: #666;
}
.accordion-step-header:hover {
  background: #f8f9fa;
}

.accordion-step-content {
  display: none;
  padding: 1.5rem;
  background: #fafafa;
  border-top: 1px solid #e5e5e5;
}

/* Desktop Step Content */
.desktop-step-content {
  display: none;
  padding: 2rem;
}
@media (min-width: 768px) {
  .desktop-step-content {
    display: block;
  }
}

/* Overlay Footer */
.configurator-overlay-footer {
  background: #616d79;
  padding: 1rem 2rem;
  flex-shrink: 0;
}

.footer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .footer-actions {
    flex-direction: column;
    gap: 1rem;
  }
}

.step-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
}
.step-indicator .current-step-text {
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
}

/* Second definition of button styles */
.prev-step-btn,
.next-step-btn,
.save-configuration-btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.375rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.2s ease;
}
.prev-step-btn:disabled,
.next-step-btn:disabled,
.save-configuration-btn:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important; /* Use solid grayed out colors instead of opacity */
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}

.prev-step-btn {
  background: white !important;
  color: black !important;
  border: 1px solid #ddd !important;
}
.prev-step-btn:hover:not(:disabled) {
  background: #f8f9fa !important;
  color: black !important;
}
.prev-step-btn:disabled {
  background: white !important;
  color: #ccc !important;
  border: 1px solid #eee !important;
}

.next-step-btn,
.save-configuration-btn {
  background: #ffb310;
  color: #29323b;
}
.next-step-btn:hover:not(:disabled),
.save-configuration-btn:hover:not(:disabled) {
  background: #e6a00f;
}
.next-step-btn.enabled-green,
.save-configuration-btn.enabled-green {
  background: #3cb67a !important;
  color: white !important;
}

/* Hide original configurator when overlay is active */
.configurator-overlay:not(.hidden) ~ .configurator-main-container {
  display: none !important;
}

/* Desktop: Show configurator content on larger screens */
@media (min-width: 768px) {
  .configurator-overlay .configurator-main-container {
    display: block !important;
  }
  .configurator-overlay .configurator-main-container .step-wrapper {
    display: none;
  }
  .configurator-overlay .configurator-main-container .step-wrapper.active-step {
    display: block !important;
  }
  /* Hide mobile accordion on desktop */
  .mobile-accordion-steps {
    display: none !important;
  }
}
/* Responsive accordion content scrolling */
.accordion-step-content {
  /* Fallback for old browsers */
  max-height: 60vh;
  /* Modern dynamic viewport height */
  /* CSS custom property fallback */
  max-height: calc(var(--vh, 1vh) * 60);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Desktop step content scrolling */
.desktop-step-content {
  /* Fallback for old browsers */
  height: calc(100vh - 200px);
  /* Modern dynamic viewport height with header/footer space */
  /* CSS custom property fallback */
  height: calc(var(--vh, 1vh) * 100 - 200px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Better mobile spacing */
@media (max-width: 767px) {
  .configurator-overlay-content {
    padding: 0;
  }
  .accordion-step-content {
    padding: 1rem;
  }
  .footer-actions {
    padding: 1rem;
  }
}
/* Ensure configurator elements work within the overlay */
.configurator-overlay .configurator-section,
.configurator-overlay .item-list-section {
  width: 100%;
  max-width: none;
}

/* Ensure all steps are visible in mobile accordion */
.mobile-accordion-steps .accordion-step {
  display: block !important;
}

/* Make sure all steps including step 6 are visible */
.accordion-step[data-step="1"],
.accordion-step[data-step="2"],
.accordion-step[data-step="3"],
.accordion-step[data-step="4"],
.accordion-step[data-step="5"],
.accordion-step[data-step="6"] {
  display: block !important;
}

/* Accordion cloned content styling */
.accordion-cloned-content {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.accordion-cloned-content .container {
  max-width: none;
  padding: 0 1rem;
}

/* Fix z-index issues that might prevent interactions */
.configurator-overlay-content {
  position: relative;
  z-index: 1;
}

.configurator-overlay-content * {
  pointer-events: auto;
}

.select-range-container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: center;
  background-color: rgba(255, 255, 255, 0.616);
  z-index: 20000000;
  color: #fff;
}
.select-range-container .select-range-inner {
  padding: 30px;
  background-color: #29323b;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: column;
  max-width: 330px;
}
.select-range-container .select-range-inner button {
  display: inline-block;
  padding: 10px 30px;
  border: solid 1px #fff;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border-color: #ffb310;
  color: #ffb310;
  transition: all 0.2s ease-in-out;
  margin-top: 20px;
}
.select-range-container .select-range-inner button:hover {
  color: white;
  background-color: #ffb310;
}

.angle-warning {
  display: none;
  font-size: 11px;
  text-align: center;
  margin-top: 8px;
  color: white;
  padding: 5px;
  background-color: #7f3232;
  border-radius: 8px;
}

.cfg-warning, .form-field .height1-warning,
.form-field .height2-warning,
.form-field .length-warning,
.form-field .angle-warning {
  display: none;
  font-size: 11px;
  text-align: center;
  margin-top: 8px;
  color: white;
  padding: 5px;
  background-color: #7f3232;
  border-radius: 8px;
}

.field-validation-message {
  display: none;
  position: relative;
  margin-top: 14px;
  padding: 12px 16px 12px 52px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 0;
  border: 2px solid transparent;
  box-shadow: 6px 6px 0 rgba(17, 24, 39, 0.08);
  background: #fff7ed;
  color: #7c2d12;
}
.field-validation-message::before {
  content: "⚠";
  position: absolute;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  font-size: 18px;
}
.field-validation-message[data-severity=blocking] {
  background: #fef2f2;
  color: #7f1d1d;
  border-color: #f87171;
  box-shadow: 6px 6px 0 rgba(127, 29, 29, 0.25);
}
.field-validation-message[data-severity=blocking]::before {
  color: #b91c1c;
}
.field-validation-message[data-severity=warning] {
  background: #fff7ed;
  color: #7c2d12;
  border-color: #fb923c;
  box-shadow: 6px 6px 0 rgba(124, 45, 18, 0.2);
}
.field-validation-message[data-severity=warning]::before {
  color: #c2410c;
}

.input-container.has-blocking input {
  border-color: #b91c1c;
  box-shadow: inset 0 0 0 2px rgba(185, 28, 28, 0.2);
}

.input-container.has-warning input {
  border-color: #c2410c;
  box-shadow: inset 0 0 0 2px rgba(194, 65, 12, 0.18);
}

.input-container.section-blocking {
  border-left: 4px solid #b91c1c;
  padding-left: 12px;
}

.input-container.section-warning {
  border-left: 4px solid #c2410c;
  padding-left: 12px;
}

.configurator-banner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 120px 20px;
  background-size: cover;
  background-position: center center;
  background-image: Url("/app/uploads/2019/04/configuratorbanner.jpg");
}
.configurator-banner .container {
  z-index: 999;
}
.configurator-banner .darken {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.configurator-banner h1 {
  font-size: 42px;
  text-align: center;
  color: #fff;
  z-index: 999;
}

.page-id-695 .footer-curve {
  display: none !important;
}
.page-id-695 .site-footer {
  margin-top: 0 !important;
}

.configurator-loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  z-index: 200000000000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
}
.configurator-loader img,
.configurator-loader .css-gear {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.configurator-loader img {
  z-index: 2;
}
.configurator-loader .css-gear {
  z-index: 1;
  font-size: 73px;
  width: 2em;
  height: 2em;
  background: #46a3dd;
  border-radius: 1em;
  animation: 2s gear-rotate linear infinite;
}
.configurator-loader .css-gear::before {
  width: 2.8em;
  height: 2.8em;
  background: linear-gradient(0deg, transparent 39%, #46a3dd 39%, #46a3dd 61%, transparent 61%), linear-gradient(60deg, transparent 42%, #46a3dd 42%, #46a3dd 58%, transparent 58%), linear-gradient(120deg, transparent 42%, #46a3dd 42%, #46a3dd 58%, transparent 58%);
  position: absolute;
  content: "";
  top: -0.4em;
  left: -0.4em;
  border-radius: 1.4em;
}
.configurator-loader .css-gear::after {
  width: 1em;
  height: 1em;
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  content: "";
  top: 0.5em;
  left: 0.5em;
  border-radius: 0.5em;
}
@keyframes gear-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}

.footer-spacer {
  height: 300px;
  display: block;
}

.configurer-container .configurator-container {
  background-color: #f3f3f3;
}

.configurator-container {
  position: relative;
}
@media (max-width: 1520px) {
  .configurator-container {
    display: block;
    padding-left: 10px;
    padding-right: 10px;
  }
  .configurator-container.no-padding {
    padding-left: 0px;
    padding-right: 0px;
  }
}
.configurator-container.bg-dark {
  background-color: #616d79;
  /* Configuration combined image */
}
.configurator-container.bg-dark .configuration-image-wrap {
  text-align: center;
  margin-bottom: 1rem;
}
.configurator-container.bg-dark .configuration-combined-image {
  max-width: 320px;
  width: 100%;
  height: auto;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  display: block;
  margin: 0 auto 0.5rem auto;
}
.configurator-container.bg-dark-2 {
  background-color: #f6f6f6;
}
.configurator-container .configuration-summary {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 24px;
  margin: auto;
  max-width: 500px;
  margin-bottom: 20px;
}
.configurator-container .configuration-summary h3 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
  text-align: center;
}
.configurator-container .configuration-summary .summary-grid {
  display: grid;
  gap: 12px;
}
.configurator-container .configuration-summary .summary-grid .summary-item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 16px;
  background: white;
  border-radius: 6px;
  border: 1px solid #e9ecef;
  text-align: center;
}
.configurator-container .configuration-summary .summary-grid .summary-item .summary-value {
  font-weight: 500;
  color: #333;
  text-align: center;
}
.configurator-container .configuration-summary .summary-grid .summary-item .summary-value:empty:before {
  content: "-";
  color: #999;
}
.configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container .summary-finish-row {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}
.configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container .summary-finish-row .summary-swatch {
  width: 20px;
  height: 20px;
  border-radius: 3px;
  border: 1px solid #ddd;
  display: none;
}
.configurator-container .configuration-summary .summary-grid .summary-item .summary-finish-container .summary-finish-row .summary-swatch.show {
  display: block;
}
.configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container {
  display: flex;
  gap: 4px;
  justify-content: center;
}
.configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch {
  width: 20px;
  height: 20px;
  border-radius: 3px;
  border: 1px solid #ddd;
  display: none;
}
.configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch.show {
  display: block;
}
.configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch.satin-black-finish {
  background: linear-gradient(45deg, #2c2c2c 25%, transparent 25%), linear-gradient(-45deg, #2c2c2c 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #2c2c2c 75%), linear-gradient(-45deg, transparent 75%, #2c2c2c 75%);
  background-size: 4px 4px;
  background-position: 0 0, 0 2px, 2px -2px, -2px 0px;
  background-color: #404040;
}
.configurator-container .configuration-summary .summary-grid .summary-item .spindle-finish-display .spindle-swatch-container .spindle-swatch.egyptian-cotton-finish {
  background: linear-gradient(45deg, #f5f5dc 25%, transparent 25%), linear-gradient(-45deg, #f5f5dc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f5f5dc 75%), linear-gradient(-45deg, transparent 75%, #f5f5dc 75%);
  background-size: 4px 4px;
  background-position: 0 0, 0 2px, 2px -2px, -2px 0px;
  background-color: #f0f0e8;
}
.configurator-container .product-selector-container {
  padding: 40px 0;
}
.configurator-container .product-selector-container h2 {
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px;
}
.configurator-container .product-selector-container p {
  text-align: center;
}
.configurator-container .product-selector-container .product-selectors-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
}
@media (max-width: 1300px) {
  .configurator-container .product-selector-container .product-selectors-container {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .configurator-container .product-selector-container .product-selectors-container {
    grid-template-columns: 1fr 1fr;
  }
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container {
  width: 100%;
  padding: 10px;
  position: relative;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .disabled-message {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  justify-content: center;
  align-items: center;
  color: #000;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0 33px;
  text-align: center;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container.disable-section .disabled-message {
  display: flex;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link {
  font-size: 14px;
  color: #282828;
  text-decoration: none;
  margin-bottom: 20px;
  margin-top: 10px;
  font-weight: 600;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link:hover {
  color: #3cb67a;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link:hover svg path {
  fill: #3cb67a;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 15px 10px;
  height: 100%;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner img {
  max-width: 70%;
  margin-bottom: 18px;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container {
  width: 100%;
  cursor: pointer;
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container span {
  font-size: 11px;
  padding: 5px;
  text-align: center;
  margin-left: 46%;
}
@media (max-width: 486px) {
  .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container span {
    margin-left: 45%;
  }
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container button {
  outline: 0;
  border: none;
  border-bottom: 1px solid #000;
  margin: 0;
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  order: 2;
  cursor: pointer;
  padding-bottom: 7px;
  text-transform: uppercase;
  color: black !important;
  background-color: transparent !important;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container button:hover {
  color: #3cb67a !important;
  border-color: #3cb67a;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h3 {
  font-size: 18px;
  text-align: center;
  margin: 0;
  margin-bottom: 3px;
}
@media (max-width: 420px) {
  .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h3 {
    font-size: 15px;
  }
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h4 {
  font-size: 13px;
  text-align: center;
  margin: 0;
}
@media (max-width: 420px) {
  .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner h4 {
    font-size: 11px;
  }
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .m-spacer {
  flex: 1;
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner p {
  font-size: 13px;
  text-align: center;
  margin: 0;
}
@media (max-width: 420px) {
  .configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner p {
    font-size: 11px;
  }
}
.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .blue-seperator {
  width: 100px;
  height: 2px;
  background-color: #3197d5;
  margin: 8px 0;
}
.configurator-container .product-selector-container .product-selectors-container.embedded-on .no-embedded {
  opacity: 0.2;
  pointer-events: none;
}
.configurator-container .item-list-container {
  padding: 40px 0;
}
.configurator-container .item-list-container h2 {
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px;
}
.configurator-container .item-list-container p {
  color: #fff;
  text-align: center;
}
.configurator-container .item-list-container .items-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 30px;
  padding-bottom: 40px;
}
.configurator-container .item-list-container .items-container .item-container {
  width: 22%;
  text-align: center;
  padding: 10px;
}
.configurator-container .item-list-container .items-container .item-container.add-new-item-container {
  display: flex;
}
.configurator-container .item-list-container .items-container .item-container .configure-product {
  display: inline-block;
  padding: 10px 30px;
  border: solid 2px #fff;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  min-width: 100%;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.configurator-container .item-list-container .items-container .item-container .configure-product:hover {
  border-color: #3cb67a;
  color: #ffffff;
  background: #3cb67a;
}
@media (max-width: 420px) {
  .configurator-container .item-list-container .items-container .item-container .configure-product {
    font-size: 14px;
    padding: 8px 0px;
  }
}
@media (max-width: 890px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 33.33%;
  }
}
@media (max-width: 630px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 50%;
  }
}
.configurator-container .item-list-container .items-container .item-container button {
  margin-top: 15px;
}
.configurator-container .item-list-container .items-container .item-container .item-box {
  min-height: 200px;
  border: 1px solid #b3b3b3;
  padding: 10px 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}
@media (max-width: 630px) {
  .configurator-container .item-list-container .items-container .item-container .item-box {
    min-height: 150px;
  }
}
.configurator-container .item-list-container .items-container .item-container .item-box img {
  max-width: 80%;
}
.configurator-container .item-list-container .items-container .item-container .item-box h3,
.configurator-container .item-list-container .items-container .item-container .item-box h4 {
  margin: 0;
}
.configurator-container .item-list-container .items-container .item-container .item-box h4 {
  font-size: 13px;
  margin: 0 0 6px;
}
@media (max-width: 400px) {
  .configurator-container .item-list-container .items-container .item-container .item-box h3 {
    font-size: 0.8em;
  }
  .configurator-container .item-list-container .items-container .item-container .item-box h4 {
    font-size: 0.8em;
  }
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container {
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 15px;
  z-index: 50;
  height: 40px;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e13c3c;
  color: white;
  font-weight: 600;
  border-radius: 0 !important;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container svg path {
  fill: #f12a17;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container:hover {
  background-color: #f12a17;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container:hover svg path {
  fill: #fff;
}
@media (max-width: 380px) {
  .configurator-container .item-list-container .items-container .item-container .item-box .item-remove-container {
    height: 34px;
  }
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container {
  position: absolute;
  top: 50%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 9px 10px;
  background-color: #3cb67a;
  padding: 5px 10px;
  border-radius: 30px;
  font-size: 12px;
  margin-top: -20px;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container.incomplete {
  background-color: #f3af15;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container p {
  margin: 0;
  margin-top: 2px;
  font-weight: 600;
  color: #fff;
  margin-left: 9px;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container svg {
  width: 15px;
  height: 15px;
}
.configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container svg path {
  fill: #ffffff;
}
@media (max-width: 380px) {
  .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container p {
    font-size: 0.8em;
  }
  .configurator-container .item-list-container .items-container .item-container .item-box .item-overlay-container svg {
    width: 25px;
    height: 25px;
  }
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box {
  cursor: pointer;
  box-shadow: none;
  background-color: transparent;
  border: 3px dashed #ffffff;
  width: 100%;
  height: 100%;
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box p {
  color: #ffffff;
  font-size: 20px;
  font-weight: 600;
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box svg {
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box svg path {
  color: #fff;
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box:hover {
  border-color: #3cb67a;
  background-color: #3cb67a;
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box:hover p {
  color: #fff;
}
.configurator-container .item-list-container .items-container .item-container .item-box.add-new-item-box:hover svg path {
  color: #fff;
}
.configurator-container .item-list-container .finish-row {
  display: flex;
  justify-content: center;
  align-items: center;
  display: none;
  max-width: 650px;
  margin: auto;
  margin-top: 25px;
}
@media (max-width: 755px) {
  .configurator-container .item-list-container .finish-row {
    flex-wrap: wrap;
    margin-top: 35px;
  }
}
.configurator-container .item-list-container .check-cart-container {
  width: 50%;
  margin-right: 10px;
  color: #fff;
  font-size: 14px;
  text-align: center;
}
.configurator-container .item-list-container .check-cart-container a {
  text-decoration: none;
  color: #ffb310;
}
@media (max-width: 755px) {
  .configurator-container .item-list-container .check-cart-container {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0;
    max-width: 330px;
  }
}
.configurator-container .item-list-container .check-cart-container .check-cart-error {
  display: none;
  color: #ff984a !important;
  font-weight: 600;
  text-transform: uppercase;
}
.configurator-container .item-list-container .check-cart-container .sf-orange {
  font-weight: 600;
}
.configurator-container .item-list-container .check-cart-container p {
  margin: 0;
  margin-bottom: 8px !important;
}
.configurator-container .item-list-container .check-cart-container input {
  border: 0;
  padding: 10px 8px;
  background-color: #e1e1e1;
  border-radius: 8px;
  color: rgb(10, 10, 10);
  margin-top: 10px;
}
@media (max-width: 716px) {
  .configurator-container .item-list-container .check-cart-container input {
    margin-top: 0;
  }
}
.configurator-container .item-list-container .check-cart-container button {
  border: 0 !important;
  text-decoration: underline;
}
.configurator-container .item-list-container .check-cart-container .splitter {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 11px;
}
.configurator-container .item-list-container .check-cart-container .splitter input {
  width: 70%;
  margin-right: 10px;
  margin-top: 0;
}
.configurator-container .item-list-container .check-cart-container .splitter button {
  width: 30%;
  padding: 10px 0px;
  border: solid 2px #fff !important;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  border-color: #ffb310 !important;
  color: #ffb310;
  text-decoration: none;
  cursor: pointer;
}
.configurator-container .item-list-container .check-cart-container .splitter button:hover {
  border-color: #3197d5 !important;
  color: #3197d5 !important;
}
@media (max-width: 420px) {
  .configurator-container .item-list-container .check-cart-container .splitter button {
    font-size: 13px;
    padding: 8px 15px;
  }
}
.configurator-container .item-list-container .finish-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 0 5px 0;
  width: 50%;
  margin-left: 10px;
}
@media (max-width: 755px) {
  .configurator-container .item-list-container .finish-container {
    width: 100%;
    margin-left: 0;
    padding-top: 9px;
  }
}
.configurator-container .item-list-container .finish-container .finish-configuring {
  padding: 10px 30px;
  border: solid 2px #3cb67a;
  background-color: #3cb67a;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  max-width: 400px;
  min-width: 240px;
  transition: none !important;
}
@media (max-width: 420px) {
  .configurator-container .item-list-container .finish-container .finish-configuring {
    font-size: 13px;
    padding: 8px 15px;
  }
}
.configurator-container .item-list-container .finish-container .finish-configuring h3 {
  transition: none !important;
  color: #fff;
}
.configurator-container .item-list-container .finish-container .finish-configuring p {
  margin: 0;
  color: #fff;
  transition: none !important;
}
.configurator-container .item-list-container .add-another-section-container {
  display: flex;
}
.configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box {
  border: 2px dashed #3cb67a;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
.configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box:hover {
  border-color: #2d8f5c;
  background-color: #f8fff9;
}
.configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content {
  text-align: center;
  color: #3cb67a;
}
.configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content i {
  font-size: 24px;
  margin-bottom: 10px;
  display: block;
}
.configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}
@media (max-width: 890px) {
  .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box {
    height: auto;
    min-height: 80px;
    padding: 20px;
  }
}
@media (max-width: 630px) {
  .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box {
    min-height: 60px;
    padding: 15px;
  }
  .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content i {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .configurator-container .item-list-container .add-another-section-container .item-box.add-another-section-box .add-section-content h3 {
    font-size: 12px;
  }
}
.configurator-container .arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  margin-top: -40px;
}
.configurator-container .arrow-right {
  left: 0;
  top: 50%;
  border-width: 40px 0 40px 20px;
  border-color: transparent transparent transparent #3197d5;
  top: auto;
  bottom: 0;
  margin: 0;
  left: 50%;
  margin-left: -40px;
  border-width: 0 40px 20px 40px;
  border-color: transparent transparent #3197d5 transparent;
}
.configurator-container .arrow-left {
  right: 0;
  top: 50%;
  border-width: 40px 20px 40px 0;
  border-color: transparent #616d79 transparent transparent;
  top: auto;
  bottom: 0;
  margin: 0;
  left: 50%;
  margin-left: -40px;
  border-width: 0 40px 20px 40px;
  border-color: transparent transparent #616d79 transparent;
}
.configurator-container .configurer-section,
.configurator-container #parts_shop,
.configurator-container #recommended_shop {
  padding: 0 20px;
}
.configurator-container .configurer-save-container {
  padding: 40px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #000;
}
.configurator-container .configurer-save-container svg {
  width: 30px;
  height: 30px;
  margin-bottom: 20px;
}
.configurator-container .configurer-save-container svg path {
  fill: #3cb67a;
}
.configurator-container .configurer-save-container h2 {
  color: #000;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px;
}
@media (max-width: 492px) {
  .configurator-container .configurer-save-container h2 {
    font-size: 18px;
  }
}
.configurator-container .configurer-save-container p {
  color: #000;
  text-align: center;
}
.configurator-container .configurer-save-container .configured-item-price-container {
  font-weight: 600;
  display: none;
}
.configurator-container .configurer-save-container .configured-item-price-container .configured-item-price {
  color: #ffb310;
}
.configurator-container .configurer-save-container .includes-vat {
  display: none;
}
.configurator-container .configurer-save-container button {
  display: inline-block;
  padding: 10px 30px;
  border: solid 1px #fff;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border-color: #616d79;
  color: #000;
  transition: all 0.2s ease-in-out;
}
.configurator-container .configurer-save-container button:hover {
  background-color: #3cb67a;
  border-color: #3cb67a;
  color: white;
}
@media (max-width: 420px) {
  .configurator-container .configurer-save-container button {
    font-size: 14px;
  }
}
.configurator-container .configurer-container .step-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  min-height: 312px;
  position: relative;
}
@media (max-width: 680px) {
  .configurator-container .configurer-container .step-container.step-even {
    flex-direction: column-reverse;
  }
}
.configurator-container .configurer-container .step-container.step-even .instruction-container {
  background-color: #3197d5;
}
.configurator-container .configurer-container .step-container.step-even .instruction-container .instruction-step {
  background-color: #616d79;
}
.configurator-container .configurer-container .step-container.step-odd .instruction-container {
  background-color: #616d79;
}
.configurator-container .configurer-container .step-container.step-odd .instruction-container .instruction-step {
  background-color: #3197d5;
}
.configurator-container .configurer-container .step-container .instruction-container {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 50px 20px;
}
@media (max-width: 680px) {
  .configurator-container .configurer-container .step-container .instruction-container {
    width: 100%;
  }
}
.configurator-container .configurer-container .step-container .instruction-container h3 {
  font-size: 17px;
  margin: 0;
  color: #fff;
  text-align: center;
}
.configurator-container .configurer-container .step-container .instruction-container p {
  font-size: 15px;
  margin: 0;
  color: #fff;
  margin-bottom: 20px;
  margin-top: 10px;
  text-align: center;
  font-weight: 600;
}
.configurator-container .configurer-container .step-container .instruction-container .additional-lengths {
  display: flex;
  width: 100%;
  justify-content: space-around;
}
@media (max-width: 700px) {
  .configurator-container .configurer-container .step-container .instruction-container .additional-lengths {
    flex-direction: column;
    gap: 10px;
  }
}
.configurator-container .configurer-container .step-container .instruction-container .second-length,
.configurator-container .configurer-container .step-container .instruction-container .third-length {
  margin-top: 15px;
  font-size: 13px;
  color: #fff;
  font-weight: 600;
  text-align: center;
}
.configurator-container .configurer-container .step-container .instruction-container .second-length p,
.configurator-container .configurer-container .step-container .instruction-container .third-length p {
  margin: 0;
}
.configurator-container .configurer-container .step-container .instruction-container .second-length button,
.configurator-container .configurer-container .step-container .instruction-container .third-length button {
  margin-top: 5px;
  padding: 4px 10px;
  border: 1px solid #fff;
  border-radius: 12px;
  cursor: pointer;
  text-transform: uppercase;
}
.configurator-container .configurer-container .step-container .instruction-container .second-length button:hover,
.configurator-container .configurer-container .step-container .instruction-container .third-length button:hover {
  border: 1px solid #3e4b5b;
  color: #3e4b5b;
}
.configurator-container .configurer-container .step-container .instruction-container .input-container {
  display: flex;
  justify-content: stretch;
  align-items: center;
  padding: 0px 30px 0 0;
  background-color: #e1e1e1;
  border-radius: 8px;
  width: 80%;
}
.configurator-container .configurer-container .step-container .instruction-container .input-container textarea:focus,
.configurator-container .configurer-container .step-container .instruction-container .input-container input:focus {
  outline: none;
}
.configurator-container .configurer-container .step-container .instruction-container .input-container input {
  width: 100%;
  font-size: 16px;
  line-height: 48px;
  border: 0;
  color: #3c4c5c;
  font-weight: 600;
  padding: 0px 0px 0px 30px;
}
.configurator-container .configurer-container .step-container .instruction-container .input-container .inner-input {
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 3px;
  white-space: nowrap;
}
.configurator-container .configurer-container .step-container .instruction-container .instruction-step {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-size: 22px;
  height: 30px;
  width: 30px;
  font-weight: 800;
  padding: 24px;
  color: #fff;
  margin-bottom: 20px;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent !important;
  border-radius: 8px;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .direction-chooser {
  padding: 10px 40px;
  border: 0;
  font-size: 15px;
  color: #fff !important;
  border: 1px solid #fff;
  background-color: transparent;
  cursor: pointer;
  outline: 0 !important;
  margin: 0 5px;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .direction-chooser.chosen {
  background-color: #3cb67a !important;
  border: 1px solid #3cb67a !important;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .direction-chooser:hover {
  background-color: #3cb67a !important;
  border: 1px solid #3cb67a !important;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .end-chooser {
  padding: 10px 40px;
  border: 0;
  font-size: 15px;
  color: #fff !important;
  border: 1px solid #fff;
  background-color: transparent;
  cursor: pointer;
  outline: 0 !important;
  margin: 0 5px;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .end-chooser.chosen {
  background-color: #3cb67a !important;
  border: 1px solid #3cb67a;
}
.configurator-container .configurer-container .step-container .instruction-container .direction-chooser-container .end-chooser:hover {
  background-color: #3cb67a !important;
  border: 1px solid #3cb67a;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container {
  display: flex;
  margin-bottom: 25px;
  align-items: center;
  flex-direction: column;
  color: white;
  font-size: 12px;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .request-text {
  flex: 1;
  padding-right: 10px;
  text-align: center;
  font-weight: 600;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch {
  position: relative;
  display: inline-block;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-input {
  display: none;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label {
  display: block;
  width: 48px;
  height: 19px;
  text-indent: -150%;
  clip: rect(0 0 0 0);
  color: transparent;
  user-select: none;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::before,
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::after {
  content: "";
  display: block;
  position: absolute;
  cursor: pointer;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::before {
  width: 100%;
  height: 100%;
  background-color: #dedede;
  border-radius: 9999em;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-label::after {
  top: -2px;
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
  -webkit-transition: left 0.25s ease;
  transition: left 0.25s ease;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::before {
  background-color: #3197d5;
}
.configurator-container .configurer-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::after {
  left: 24px;
}
.configurator-container .configurer-container .step-container .video-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 0;
  width: 100%;
  min-height: 300px;
}
.configurator-container .configurer-container .step-container .video-container iframe {
  min-height: 300px;
}
.configurator-container .configurer-container .step-even .switch-input:checked + .switch-label::before {
  background-color: #3e4b5b !important;
}
.configurator-container .extra-padding {
  margin-bottom: 70px;
}
.configurator-container .extra-padding svg {
  width: 30px;
  height: 30px;
  margin-bottom: 25px;
}
.configurator-container .extra-padding svg path {
  fill: #3cb67a;
}
.configurator-container .extra-padding h2 {
  color: #000;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px;
}
.configurator-container .extra-padding p {
  color: #000;
  text-align: center;
  margin-bottom: 0;
}
.configurator-container .extra-padding .configured-total-price-container {
  font-weight: 600;
  font-size: 18px;
}
.configurator-container .extra-padding .configured-total-price-container .configured-total-price {
  color: #3cb67a;
}
.configurator-container .extra-padding button {
  display: inline-block;
  padding: 10px 30px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  margin-top: 20px;
  padding: 10px 30px;
  border: 2px solid #3cb67a;
  background-color: #3cb67a;
  color: white;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  max-width: 400px;
  min-width: 240px;
  transition: none !important;
}
@media (max-width: 420px) {
  .configurator-container .extra-padding button {
    font-size: 14px;
  }
}
.configurator-container .extra-padding .slick-arrow {
  min-width: auto !important;
}
.configurator-container .price-summary-section {
  padding: 40px 0;
  display: block !important;
}
.configurator-container .price-summary-section.hidden {
  height: 0;
  padding: 0;
  overflow-y: hidden;
}
.configurator-container .price-summary-section .price-summary-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #000;
}
.configurator-container .price-summary-section .price-summary-container svg {
  width: 30px;
  height: 30px;
  margin-bottom: 25px;
}
.configurator-container .price-summary-section .price-summary-container svg path {
  fill: #3cb67a;
}
.configurator-container .price-summary-section .price-summary-container h2 {
  color: #000;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px;
}
.configurator-container .price-summary-section .price-summary-container p {
  color: #000;
  text-align: center;
  margin-bottom: 0;
}
.configurator-container .price-summary-section .price-summary-container .configured-total-price-container {
  font-weight: 600;
  font-size: 18px;
}
.configurator-container .price-summary-section .price-summary-container .configured-total-price-container .configured-total-price {
  color: #3cb67a;
}
.configurator-container .price-summary-section .price-summary-container button {
  display: inline-block;
  padding: 10px 30px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  margin-top: 20px;
  padding: 10px 30px;
  border: 2px solid #3cb67a;
  background-color: #3cb67a;
  color: white;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  max-width: 400px;
  min-width: 240px;
  transition: none !important;
}
@media (max-width: 420px) {
  .configurator-container .price-summary-section .price-summary-container button {
    font-size: 14px;
  }
}
.configurator-container .price-summary-section .price-summary-container .slick-arrow {
  min-width: auto !important;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container {
  margin: 15px 0;
  width: 100%;
  max-width: 1500px;
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: flex-start;
}
@media (max-width: 850px) {
  .configurator-container .price-summary-section .price-summary-container .addition-options-container {
    flex-direction: row;
    margin-bottom: 30px;
  }
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container h4 {
  text-align: center;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main {
  height: 100%;
  width: 50%;
  margin: 0 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main h4 {
  margin-bottom: 3px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main p {
  margin-bottom: 20px;
  font-size: 13px;
}
@media (max-width: 850px) {
  .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 851px) {
  .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main {
    padding: 20px 0;
  }
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
  max-width: 420px;
  width: 100%;
  min-height: 256px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner {
  width: 100%;
  height: 94px;
  padding: 0 10px;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: start;
  align-items: center;
  flex-direction: column;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner h4 {
  margin-top: 10px;
  color: white;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner h5 {
  margin: 0;
  color: white;
  margin-top: -5px;
  margin-bottom: 5px;
  text-transform: uppercase;
  font-size: 11px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .range-inner p {
  color: white;
  margin-bottom: 0 !important;
  font-weight: 600;
  line-height: 13px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .glass-included {
  width: 100%;
  background-color: #3197d5;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 0;
  font-weight: 600;
  color: white;
  font-size: 12px;
  margin-bottom: -1px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .range-header .glass-included svg {
  margin-bottom: 0;
  margin-left: 10px;
  width: 15px;
  height: 15px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .not-available-info {
  display: none;
  max-width: 420px;
  padding: 20px 15px;
  justify-content: center;
  align-items: center;
  background-color: #f3af15;
  color: white;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .not-available-info h4 {
  margin: 0;
  font-size: 13px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main.not-available .not-available-info {
  display: flex;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line {
  display: flex;
  max-width: 420px;
  width: 100%;
  padding: 8px 10px;
  background-color: #f7f7f7;
  border-left: 1px solid #a1a1a1;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #d9d9d9;
  align-items: center;
  cursor: pointer;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:last-child {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom: 1px solid #a1a1a1;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line img {
  height: 32px;
  width: 32px;
  margin-right: 10px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text p {
  margin-bottom: 0;
  font-size: 12px;
  text-align: left;
  color: rgb(33, 33, 33);
  font-weight: 500;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text p:first-child {
  font-size: 16px;
  margin-bottom: 2px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  padding: 8px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check .addition-check-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: rgb(223, 223, 223);
  border-radius: 4px;
  padding: 4px;
  height: 25px;
  width: 25px;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check .addition-check-inner svg {
  visibility: hidden;
  width: 15px;
  height: 15px;
  margin: 0 !important;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-check .addition-check-inner.checked svg {
  visibility: visible;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-price {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  margin-left: 15px;
  width: 150px;
  color: #2c2c2c;
  font-size: 13px;
  font-weight: 600;
}
@media (max-width: 430px) {
  .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line {
    justify-content: space-between;
  }
  .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text {
    width: 80%;
  }
  .configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line .addition-option-text p {
    text-align: left;
  }
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:hover {
  background-color: #3cb67a;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:hover .addition-option-text p {
  color: white;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line:hover .addition-option-price {
  color: white;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line.checked {
  background-color: #3cb67a;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line.checked .addition-option-text p {
  color: white;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main .addition-option-line.checked .addition-option-price {
  color: white;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main.not-available .addition-option-line {
  pointer-events: none;
  opacity: 0.4;
  display: none;
}
.configurator-container .price-summary-section .price-summary-container .addition-options-container .additional-options-main.not-available .addition-option-line.exc {
  pointer-events: initial;
  opacity: 1;
  display: flex;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper {
  display: none;
  margin: 50px 0 30px;
  width: 100%;
  align-items: center;
  flex-direction: column;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper.available {
  display: flex;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container {
  margin: 15px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  max-width: 420px;
  width: 100%;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner {
  width: 100%;
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner h4 {
  margin: 0;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner h5 {
  margin: 0;
  margin-top: -5px;
  margin-bottom: 5px;
  text-transform: uppercase;
  font-size: 11px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .range-inner p {
  margin-bottom: 0 !important;
  font-size: 13px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .glass-included {
  width: 100%;
  background-color: #3197d5;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 0;
  font-weight: 400;
  font-size: 12px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .range-header .glass-included svg {
  margin-bottom: 0;
  margin-left: 10px;
  width: 15px;
  height: 15px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .not-available-info {
  display: none;
  padding: 40px 15px;
  justify-content: center;
  align-items: center;
  background-color: #37414c;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .not-available-info h4 {
  margin: 0;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container.not-available .not-available-info {
  display: flex;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line {
  display: flex;
  max-width: 530px;
  width: 100%;
  border-bottom: 1px solid #445261;
  padding: 8px 12px;
  background-color: #37414c;
  margin: 6px 0;
  border-radius: 10px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line:last-child {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text p {
  margin-bottom: 0;
  font-size: 12px;
  text-align: left;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text p:first-child {
  font-size: 16px;
  font-weight: 600;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  padding: 8px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: rgb(223, 223, 223);
  border-radius: 4px;
  padding: 4px;
  height: 25px;
  width: 25px;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner svg {
  visibility: hidden;
  width: 15px;
  height: 15px;
  margin: 0 !important;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner.checked svg {
  visibility: visible;
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-price {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  margin-left: 15px;
  width: 150px;
  color: #ffb310;
  font-weight: 600;
}
@media (max-width: 430px) {
  .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container .prepaint-option-line .prepaint-option-text {
    width: 80%;
  }
}
.configurator-container .price-summary-section .price-summary-container .pre-painting-wrapper .pre-paint-container .pre-container.not-available .addition-option-line {
  display: none !important;
}
.configurator-container .intro-section {
  padding: 60px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.configurator-container .intro-section button {
  display: inline-block;
  padding: 10px 30px;
  border: solid 1px #fff;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border-color: #ffb310;
  color: #ffb310;
  transition: all 0.2s ease-in-out;
  margin: 4px 0;
}
.configurator-container .intro-section button.view-previous:hover {
  color: #fff;
  background-color: #ffb310;
}
.configurator-container .intro-section button.start-building {
  color: #fff;
  border: solid 1px #3e4b5b;
  background-color: #3e4b5b;
}
.configurator-container .intro-section button.start-building:hover {
  color: #3e4b5b;
  background-color: #fff;
}
@media (max-width: 420px) {
  .configurator-container .intro-section button {
    font-size: 14px;
  }
}

.configurator-main-container .intro-section-container,
.alresco-configurator-main-container .intro-section-container {
  display: none;
}
.page-id-695 .free-kit-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0px 0 40px 0;
  padding: 25px 0;
}
@media (max-width: 716px) {
  .page-id-695 .free-kit-row {
    display: block;
  }
}
.page-id-695 .free-kit-row h4 {
  margin: 0 0 10px 0;
  text-transform: uppercase;
}
.page-id-695 .free-kit-row .form-contents input {
  margin: 4px 0;
}
.page-id-695 .free-kit-row .form-contents input[type=text] {
  padding: 8px 11px !important;
  font-size: 12px !important;
}
.page-id-695 .free-kit-row p {
  font-size: 14px;
}
.page-id-695 .free-kit-row .check-cart-btn {
  font-size: 12px !important;
  border: 1px solid #3cb67a !important;
  padding: 8px 20px !important;
  text-decoration: none;
  background-color: white !important;
  color: #3cb67a !important;
  text-transform: uppercase;
}
.page-id-695 .free-kit-row .check-cart-btn:hover {
  background-color: #3cb67a !important;
  color: #fff !important;
}
.page-id-695 .final-price-container {
  display: flex;
  flex-direction: column;
}
@media (max-width: 716px) {
  .page-id-695 .final-price-container {
    width: 100%;
  }
}
.page-id-695 .free-kit-container {
  text-align: center;
}
@media (max-width: 716px) {
  .page-id-695 .free-kit-container {
    width: 100%;
    margin-bottom: 20px;
  }
}
.page-id-695 .free-kit-container .free-kit-error {
  display: none;
  color: #ff984a !important;
  font-weight: 600;
  text-transform: uppercase;
}
.page-id-695 .free-kit-container .sf-orange {
  font-weight: 600;
}
.page-id-695 .free-kit-container p {
  margin: 0;
  margin-bottom: 8px !important;
}
.page-id-695 .free-kit-container input {
  border: 0;
  padding: 10px 30px;
  border: 1px solid #979797;
  color: rgb(10, 10, 10);
  margin-top: 10px;
}
@media (max-width: 716px) {
  .page-id-695 .free-kit-container input {
    margin-top: 0;
  }
}
.page-id-695 .free-kit-container button {
  border: 0 !important;
  text-decoration: underline;
  text-transform: uppercase;
}

@media (max-width: 524px) {
  .page-id-695 li.product,
  .page-id-32279 li.product {
    width: 100% !important;
  }
}
.page-id-695 .products .add_to_cart_button,
.page-id-32279 .products .add_to_cart_button {
  display: none;
}

.addition-options-container .slick-arrow {
  font-family: Josefin Sans, sans-serif;
  font-weight: 700;
  font-size: 25px;
  cursor: pointer;
  margin-top: 60px !important;
  color: #616d79 !important;
  border: 0 !important;
  padding: 5px !important;
}
.addition-options-container .slick-arrow svg {
  margin-bottom: 0;
}
.addition-options-container .slick-arrow svg path {
  fill: #616d79 !important;
}
.addition-options-container .slick-arrow.slick-disabled {
  visibility: hidden;
}

.parts_items__overlay_container {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 9px 10px;
  background-color: #3cb67a;
}
.parts_items__overlay_container p {
  margin: 0 !important;
  margin-left: 6px !important;
  margin-top: 2px !important;
}
.parts_items__overlay_container svg path {
  fill: #fff;
}
.parts_items .parts_items__container .parts_items__overlay_container .parts_items__overlay_svg_text p {
  color: white;
  font-weight: 600;
}
.parts_items__overlay_svg_text {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.parts_items__title {
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  margin-bottom: 4px;
}
.parts_items__subtitle {
  color: white;
  text-align: center;
}
.parts_items__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 30px;
  width: 100%;
}
.parts_items__item_container {
  width: 248px;
  text-align: center;
  padding: 10px;
  overflow: hidden;
}
.parts_items__item_subtitle {
  margin: 0;
}
.parts_items__item_box {
  min-height: 200px;
  padding: 10px;
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  height: 100%;
}
.parts_items__remove_button {
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 15px;
  z-index: 50;
  border-radius: 50%;
  height: 30px;
  width: 30px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  color: red;
}
.parts_items__img {
  width: auto;
  height: 130px;
  margin-bottom: 20px;
}
.parts_items__item_title {
  font-size: 17px;
  height: 40px;
}
.parts_items__add_parts_btn_container {
  border-radius: 12px;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.parts_items__add_parts_btn {
  font-size: 11px;
  padding: 5px;
  text-align: center;
  margin-left: 40%;
}
.parts_items__open_parts_page {
  outline: 0;
  border: none;
  border-bottom: 1px solid #000;
  margin: 0;
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  order: 2;
  cursor: pointer;
  padding-bottom: 7px;
  text-transform: uppercase;
  background-color: transparent !important;
  color: #000 !important;
}
.parts_items__open_parts_page:hover {
  color: #3cb67a !important;
  border-color: #3cb67a !important;
}
.parts_items__icon {
  color: #3197d5;
  float: right;
}
.parts_items__finish_button {
  padding-bottom: 30px;
}

.close_parts_page,
.skip_checkout {
  padding: 10px 30px;
  border: solid 1px #fff;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border-color: #ffb310;
  color: #ffb310;
  transition: all 0.2s ease-in-out;
  display: flex;
  margin: auto;
  margin-bottom: 50px;
}

.parts_item_container {
  width: 250px;
  text-align: center;
  padding: 10px;
  color: #505c6b;
}

.add_new_paragraph {
  color: #7a8ba0;
}

.add_new_icon {
  width: 40px !important;
  height: 40px;
  margin-bottom: 15px;
}

.add_new_item_box {
  cursor: pointer;
  box-shadow: none;
  background-color: transparent;
  border: 3px dashed #fff;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.add_new_item_box:hover {
  background: #3cb67a;
  color: #3cb67a !important;
  border-color: #3cb67a;
}
.add_new_item_box:hover p {
  color: #3cb67a;
}

.parts_items__container .parts_items__item_container .parts_items__item_box .variation dt {
  font-weight: 500;
  font-size: 14px;
}

.parts_items__container .parts_items__item_container .parts_items__item_box .variation {
  margin: 0;
}

.parts_items__container .parts_item_container .add_new_item_box p {
  color: #fff;
}

.parts_items__container .parts_item_container .add_new_item_box svg {
  color: #fff;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
}

.parts_items__container .parts_items__item_container .parts_items__item_box p {
  font-size: 14px;
  margin: 0;
  margin-bottom: 5px;
  color: black;
}

.variation-NewelPostType {
  margin: 0;
}

.variation-NewelPostCapType {
  margin: 0;
}

.parts_items_item_title {
  font-size: 15px;
  height: 33px;
}

.parts-items-container .item-container .item-box .variation dt {
  font-weight: 500;
  font-size: 14px;
}
.parts-items-container .item-container .item-box .variation-Width {
  font-weight: 500;
  font-size: 15px;
}
.parts-items-container .item-container .item-box .variation-Depth {
  font-weight: 500;
}
.parts-items-container .item-container .item-box .variation-Length {
  font-weight: 500;
}
.parts-items-container .item-container .item-box .variation-BaserailType {
  font-weight: 500;
}
.parts-items-container .item-container .item-box dt {
  font-weight: 500;
}

.configurator-container .item-list-container {
  padding-bottom: 0;
}

.parts-items-container .item-container .item-box .variation {
  margin: 0;
}

.parts-items-container .item-container .item-box p {
  margin: 0;
}

.parts-items-container .item-container .item-box dd {
  margin: 0;
}

.variation-Lengthmm {
  margin: 0;
}

.container .parts_shop_items h2 {
  color: black;
  margin-bottom: 50px;
  margin-top: 40px;
}

.container .parts_shop_items p {
  color: black;
}

.parts_shop_divider {
  width: 50%;
  height: 2px;
  background-color: #626e79;
  margin: auto;
  margin-top: 50px;
  margin-bottom: 50px;
}

@media (max-width: 1250px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 30%;
  }
}
@media (max-width: 900px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 45%;
  }
}
@media (max-width: 500px) {
  .configurator-container .item-list-container .items-container .item-container {
    width: 100%;
  }
}
@media (max-width: 800px) {
  .parts_items__container {
    justify-content: center;
  }
}
.check-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 50;
  backdrop-filter: blur(8px);
}
.check-popup .inner {
  background-color: white;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  padding: 20px;
  max-width: 320px;
  width: 100%;
  padding: 30px;
  background-color: #fff;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 320px;
  text-align: center;
  display: flex;
}
.check-popup .inner input {
  width: 100%;
}
.check-popup .inner button {
  margin: 0 !important;
  text-transform: uppercase;
}

.swipe-to-see {
  display: none;
  margin: 10px 0;
  font-weight: 600;
  color: #3197d5 !important;
}
@media (max-width: 1069px) {
  .swipe-to-see {
    display: block;
  }
}

.configurator-container .type-product {
  text-align: center;
}
.configurator-container .add_to_cart_button {
  display: none !important;
}
.configurator-container .slick-arrow {
  background-color: transparent !important;
  color: #616d79 !important;
}

.xoo-qv-button {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 700;
  border-color: #000 !important;
  color: #000 !important;
  border-left: none !important;
  border-top: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  display: inline !important;
  background: transparent !important;
  font-size: 18px !important;
  padding: 0 0 7px 0 !important;
}
.xoo-qv-button:hover {
  color: #3cb67a !important;
  border-color: #3cb67a !important;
}

#parts_shop .xoo-qv-button,
#recommended_shop .xoo-qv-button,
.parts-category-list .xoo-qv-button {
  display: none;
  display: flex !important;
  margin-top: 10px;
}
#parts_shop .alfresco-parts-wrapper .xoo-qv-button,
#recommended_shop .alfresco-parts-wrapper .xoo-qv-button,
.parts-category-list .alfresco-parts-wrapper .xoo-qv-button {
  display: inline-block !important;
  margin-top: 10px;
}

.step-wrapper .parts-category-list .alfresco-parts-wrapper .xoo-qv-button {
  display: inline-block !important;
  margin-top: 10px;
}

.config-spacing {
  padding: 40px 0;
}

.section-intro {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px 0 10px;
  margin: 20px 0 10px;
  color: #202020 !important;
}
.section-intro .surround {
  margin: 0 25px;
}
.section-intro h2 {
  margin-bottom: 4px;
}
.section-intro h2,
.section-intro p {
  text-align: center;
  color: #202020 !important;
  font-weight: 600;
}
.section-intro .flourish {
  border-bottom: 1px solid #d1d1d1;
  width: 20%;
}

.other-section-intro {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px 0 10px;
  margin: 20px 0 10px;
  color: #202020 !important;
}
.other-section-intro .surround {
  margin: 0 25px;
}
.other-section-intro h2 {
  margin-bottom: 4px;
}
.other-section-intro h2,
.other-section-intro p {
  text-align: center;
  color: #202020 !important;
}
.other-section-intro .flourish {
  border-bottom: 1px solid #d1d1d1;
  width: 20%;
}

.add-styles-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
}
.add-styles-container .add-style-container {
  text-align: center;
  padding: 0;
  cursor: pointer;
  position: relative;
  box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.19);
  background: white;
  overflow: hidden;
  box-sizing: border-box;
  width: calc(25% - 30px);
}
@media (max-width: 1100px) {
  .add-styles-container .add-style-container {
    width: calc(50% - 20px);
  }
}
@media (max-width: 615px) {
  .add-styles-container .add-style-container {
    width: 100%;
  }
}
.add-styles-container .add-style-container img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}
.add-styles-container .add-style-container .style-card-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.add-styles-container .add-style-container .style-title {
  font-family: "Playfair Display", Sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0;
  color: #000;
  line-height: 1.2;
  text-transform: capitalize;
}
.add-styles-container .add-style-container .style-title i {
  display: none;
}
.add-styles-container .add-style-container .view-style-btn {
  background: #3cb67a;
  color: white !important;
  border: none;
  padding: 6px 30px;
  text-transform: uppercase !important;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0;
  font-size: 14px;
  pointer-events: none;
}
.add-styles-container .add-style-container .view-style-btn:hover {
  background: #2d8f5c;
}
.add-styles-container .add-style-container .style-overlay-container {
  display: none;
}
.add-styles-container .add-style-container span {
  display: none;
}
.add-styles-container .add-style-container svg {
  display: none;
}
.add-styles-container .add-style-container .glass {
  transition: transform 0.3s ease;
}
.add-styles-container .add-style-container .img-cont {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1;
  width: 100%;
}
.add-styles-container .add-style-container .img-cont .style-overlay-container {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background-color: #48a3d8;
  font-size: 15px;
  border-bottom-left-radius: 12px;
  z-index: 2;
}
.add-styles-container .add-style-container .img-cont .style-overlay-container p {
  margin: 0;
  margin-top: 2px;
  font-weight: 600;
  color: #fff !important;
  margin-left: 9px;
}
.add-styles-container .add-style-container .img-cont .style-overlay-container i {
  color: #fff;
  font-size: 22px;
  display: inline-block !important;
  vertical-align: middle;
}
@media (min-width: 800px) {
  .add-styles-container .add-style-container:hover {
    box-shadow: 0px 0px 20px -1px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
    transition: all 0.3s ease;
  }
  .add-styles-container .add-style-container:hover .img-cont > img {
    transform: scale(1.45); /* Even more zoom on hover */
  }
}
.add-styles-container .add-style-container.active {
  box-shadow: 0px 0px 20px -1px rgba(0, 0, 0, 0.3);
}
.add-styles-container .add-style-container.active .img-cont .style-overlay-container {
  display: flex !important;
}
.add-styles-container .add-style-container.active .img-cont .style-overlay-container svg,
.add-styles-container .add-style-container.active .img-cont .style-overlay-container i {
  display: inline-block !important;
  color: #fff !important;
}
.add-styles-container .add-style-container.active .view-style-btn {
  background: #3cb67a;
  color: white !important;
}
.add-styles-container .add-style-container.disabled {
  pointer-events: none;
  box-shadow: 0px 0px 10px -1px rgba(0, 0, 0, 0.1);
}
.add-styles-container .add-style-container.disabled img,
.add-styles-container .add-style-container.disabled .style-card-content {
  opacity: 0.2;
  pointer-events: none;
}
.add-styles-container .add-style-container .not-compatible {
  position: absolute;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  font-size: 11px;
  color: red;
  max-width: 112px;
  margin: auto;
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  z-index: 5;
}
.add-styles-container .add-style-container.disabled .not-compatible {
  display: flex;
}

.finish-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.finish-selector,
.second-finish-selector {
  display: flex;
  flex-direction: column;
  padding: 20px;
  align-items: center;
  cursor: pointer;
  width: 140px;
}
.finish-selector img,
.second-finish-selector img {
  width: 80px;
  object-fit: none;
}
.finish-selector p,
.second-finish-selector p {
  margin: 0;
  margin-top: 8px;
  font-weight: 600;
  text-align: center;
}
.finish-selector:hover,
.second-finish-selector:hover {
  background-color: #e8e8e8;
}
.finish-selector.active,
.second-finish-selector.active {
  background-color: #3cb67a;
  color: white;
}

.spindle-finish-selector {
  display: flex;
  flex-direction: column;
  padding: 20px;
  align-items: center;
  cursor: pointer;
  width: 140px; /* Fixed width to match other finish selectors */
}
.spindle-finish-selector img {
  width: 80px;
  object-fit: none;
}
.spindle-finish-selector p {
  margin: 0;
  margin-top: 8px;
  font-weight: 600;
  text-align: center; /* Centered text to match other finish selectors */
}
.spindle-finish-selector:hover, .spindle-finish-selector.active {
  background-color: #3cb67a;
  color: white;
}

.satin-black-finish {
  width: 80px;
  height: 80px;
  background-color: rgb(8, 8, 8);
  position: relative;
}

.egyptian-cotton-finish {
  width: 80px;
  height: 80px;
  background-color: #d8d1c5;
  position: relative;
}

.no-finish {
  width: 100px;
  height: 100px;
  background-color: white;
  border: 4px solid red;
  border-radius: 50%;
  position: relative;
}

.no-finish::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 100%;
  height: 4px;
  background-color: red;
}

.add-sections-container {
  display: flex;
  flex-wrap: wrap;
}

.section-selector {
  padding: 20px;
  display: flex;
  flex-direction: column;
  min-width: 240px;
  max-width: 500px;
  flex: 1;
}
.section-selector .product-selection-inner {
  border: none;
  box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1);
  padding: 10px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.section-selector .product-selection-inner > .view-style-btn {
  pointer-events: none;
}
.section-selector .product-selection-inner .m-spacer {
  flex: 1;
}
.section-selector .product-selection-inner * {
  cursor: pointer;
}
.section-selector .add-container {
  cursor: pointer;
  margin: 10px 0;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.section-selector .add-container .number-added {
  text-align: center;
  border: 1px solid #3cb67a;
  color: #3cb67a;
  font-weight: 900;
  font-size: 13px;
  padding: 3px;
  margin: 10px -11px -21px;
}
.section-selector h3 {
  margin: 0;
}
.section-selector h4 {
  margin: 0;
  font-size: 13px;
  margin-bottom: 6px;
}
.section-selector img {
  max-width: 100%;
  margin-bottom: 10px;
}
.section-selector .more-info-link {
  text-align: center;
  width: 100%;
  display: block;
  margin-top: 10px;
}
.section-selector .product-selection-inner .add-item-btn {
  background-color: #3cb67a;
  color: white;
  border: 2px solid transparent;
  padding: 6px 30px;
}
.section-selector .product-selection-inner:hover .add-item-btn {
  background-color: #ffffff;
  color: #3cb67a;
  border: 2px solid #3cb67a;
}
.section-selector .product-selection-inner .remove-item-btn {
  background-color: #fff;
  color: #e13c3c;
  border: 2px solid transparent;
  padding: 4px 30px;
  margin-top: 10px;
  text-decoration: underline;
  font-size: 13px;
}
.section-selector .product-selection-inner .remove-item-btn:hover {
  background-color: #ffffff;
  color: #e13c3c;
  border: 2px solid #e13c3c;
}

.floating-container {
  position: fixed;
  inset: 0;
  z-index: 1000000000000000000;
  background-color: rgba(0, 0, 0, 0.7803921569);
  display: none;
  justify-content: center;
  align-items: center;
}
.floating-container .container {
  height: 90%;
  width: 80%;
  max-width: 1200px;
  min-width: 340px;
  overflow-y: scroll;
  background-color: #fff;
  position: relative;
}

.item-container {
  margin: 15px 15px;
  box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1);
}

.summary-wrap.hidden,
.step-wrapper.hidden {
  display: none;
}
.summary-wrap.hidden .section-intro,
.step-wrapper.hidden .section-intro {
  opacity: 0.2;
  pointer-events: none;
  user-select: none;
  cursor: auto;
}
.summary-wrap.hidden .step-hide,
.step-wrapper.hidden .step-hide {
  display: none !important;
}

.addition-option-check {
  display: none !important;
}

.add-second-length,
.add-third-length {
  color: black;
}

/* Hide fields completely when not needed instead of overlay */
.not-needed-not-glass,
.not-needed-glass {
  display: none;
}

/* Control field visibility based on system type */
/* Default: show height-one, hide height-two */
.form-field.height-one-field {
  display: block;
}

.form-field.height-two-field {
  display: none;
}

/* System-specific visibility rules */
/* Clamped Glass (1) - with rails: needs both heights */
.system-1 .form-field.height-one-field {
  display: block;
}
.system-1 .form-field.height-two-field {
  display: block;
}

/* Embedded Glass (2): only height-one */
.system-2 .form-field.height-one-field {
  display: block;
}
.system-2 .form-field.height-two-field {
  display: none;
}

/* Clamped Square Glass (3) - glass & clamps only: only height-one */
.system-3 .form-field.height-one-field,
.configurer-template.glass-only .form-field.height-one-field,
.configurer-container.glass-only .form-field.height-one-field {
  display: block;
}
.system-3 .form-field.height-two-field,
.configurer-template.glass-only .form-field.height-two-field,
.configurer-container.glass-only .form-field.height-two-field {
  display: none;
}

/* Steel Spindles (4): only height-one */
.system-4 .form-field.height-one-field {
  display: block;
}
.system-4 .form-field.height-two-field {
  display: none;
}

.step-container .required {
  color: #f31f1f;
  font-size: 10px;
  margin-top: 5px;
  font-weight: 900;
  text-transform: uppercase;
}

/* Form Field Styles for Clean Edit Section Popups */
.form-field {
  margin-bottom: 25px;
  padding: 15px;
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  /* Fallback for older browsers that don't support :has() */
}
.form-field .field-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}
.form-field .field-header .step-number {
  background: #3cb67a;
  color: white;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: none; /* Hidden as requested */
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
  flex-shrink: 0;
}
.form-field .field-header label {
  font-weight: 600;
  font-size: 16px;
  color: #333;
  flex: 1;
  margin: 0;
}
.form-field .field-header .view-instructions-btn {
  background: white;
  color: #333;
  border: 1px solid #ddd;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  text-transform: none;
  font-weight: 500;
  transition: all 0.2s ease;
}
.form-field .field-header .view-instructions-btn .play-icon {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent currentColor;
  margin-left: 2px;
}
.form-field .field-header .view-instructions-btn:hover {
  background: #3cb67a;
  color: white;
  border-color: #3cb67a;
}
@media (max-width: 600px) {
  .form-field .field-header .view-instructions-btn {
    padding: 5px 10px;
    font-size: 11px;
  }
  .form-field .field-header .view-instructions-btn .play-icon {
    border-width: 4px 0 4px 7px;
  }
}
.form-field .field-description {
  color: #666;
  font-size: 14px;
  margin-bottom: 15px;
  line-height: 1.4;
}
.form-field .input-container {
  position: relative;
}
.form-field .input-container input,
.form-field .input-container textarea {
  width: 100%;
  padding: 10px 12px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}
.form-field .input-container input:focus,
.form-field .input-container textarea:focus {
  border-color: #3cb67a;
  outline: none;
  box-shadow: 0 0 0 3px rgba(60, 182, 122, 0.1);
}
.form-field .input-container .inner-input {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  pointer-events: none;
  font-size: 14px;
}
.form-field .direction-chooser-container {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}
.form-field .direction-chooser-container .direction-chooser {
  padding: 10px 20px;
  border: 2px solid #ddd;
  background: white;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
  text-transform: none;
}
.form-field .direction-chooser-container .direction-chooser:hover {
  border-color: #3cb67a;
}
.form-field .direction-chooser-container .direction-chooser.active, .form-field .direction-chooser-container .direction-chooser.selected {
  background: #3cb67a;
  color: white;
  border-color: #3cb67a;
}
.form-field .request-text {
  font-size: 13px;
  color: #666;
  font-style: italic;
  margin-top: 10px;
}
.form-field .cfg-warning, .form-field .height1-warning,
.form-field .height2-warning,
.form-field .length-warning,
.form-field .angle-warning {
  background: #fff3cd;
  color: #856404;
  padding: 10px 12px;
  border: 1px solid #ffeaa7;
  border-radius: 4px;
  font-size: 13px;
  margin-top: 10px;
}
.form-field .cfg-warning .fa-info-circle, .form-field .height1-warning .fa-info-circle,
.form-field .height2-warning .fa-info-circle,
.form-field .length-warning .fa-info-circle,
.form-field .angle-warning .fa-info-circle {
  margin-right: 6px;
}
.form-field.height-one-field, .form-field.height-two-field {
  /* Hide entire field when not-needed class is visible/active */
}
.form-field.height-one-field .not-needed-not-glass,
.form-field.height-one-field .not-needed-glass, .form-field.height-two-field .not-needed-not-glass,
.form-field.height-two-field .not-needed-glass {
  display: none; /* Hide the warning message completely */
}
.form-field.height-one-field:has(.not-needed-not-glass:not([style*="display: none"])), .form-field.height-one-field:has(.not-needed-glass:not([style*="display: none"])), .form-field.height-two-field:has(.not-needed-not-glass:not([style*="display: none"])), .form-field.height-two-field:has(.not-needed-glass:not([style*="display: none"])) {
  display: none;
}
.form-field.height-one-field.field-not-needed, .form-field.height-two-field.field-not-needed {
  display: none;
}
.form-field.angle-field .show-if-angle {
  display: none;
}
.form-field.angle-field .show-if-angle.active {
  display: block;
  margin-top: 15px;
}

/* Video Popup Modal */
.video-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
}
.video-popup-overlay .video-popup {
  background: white;
  border-radius: 0 !important;
  max-width: 400px;
  width: 100%;
  height: 90vh;
  overflow-y: auto;
  padding: 20px;
  position: relative;
}
@media (max-width: 480px) {
  .video-popup-overlay .video-popup {
    padding: 15px;
    height: 80vh;
  }
}
.video-popup-overlay .video-popup .video-popup-close {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
  z-index: 1;
  border-radius: 0 !important;
}
.video-popup-overlay .video-popup .video-popup-close:hover {
  color: #333;
}
.video-popup-overlay .video-popup .video-popup-title {
  margin: 0 0 15px 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
  padding-right: 30px;
}
.video-popup-overlay .video-popup .video-popup-iframe {
  width: 100%;
  max-width: none;
  height: calc(90vh - 120px); /* 90vh popup height minus padding and title space */
  border: none;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .video-popup-overlay .video-popup .video-popup-iframe {
    height: calc(80vh - 100px);
  }
}
@media (max-width: 480px) {
  .video-popup-overlay .video-popup .video-popup-iframe {
    height: calc(80vh - 80px);
  }
}

.parts-floating {
  display: none;
}

.recommended-floating {
  display: none;
}

.open-parts-list,
.close_parts_page,
.skip_checkout {
  margin: auto;
  display: block;
  cursor: pointer;
  color: white;
  border-color: #3cb67a;
  background-color: #3cb67a !important;
  padding: 7px 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}
.open-parts-list:hover,
.close_parts_page:hover,
.skip_checkout:hover {
  background-color: white !important;
  color: #3cb67a;
}

.xoo-qv-panel {
  z-index: 10000000000000000000 !important;
  background-color: rgba(0, 0, 0, 0.8117647059) !important;
}

.parts_items__item_container {
  max-width: 330px;
  min-width: 240px;
  width: auto !important;
  box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1);
  margin: 15px;
}
.parts_items__item_container .item-remove-container {
  width: auto !important;
  border-radius: 0 !important;
}

.item-box p {
  text-align: left;
}
.item-box .variation {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media (max-width: 767px) {
  .item-box .variation .section-selector {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
}
.item-box .variation dt {
  flex-basis: 25%; /* Adjust the width as needed */
  text-align: left;
  margin-right: 5px;
}
.item-box .variation div {
  flex-basis: 65%; /* Adjust the width as needed */
  margin: 0;
  text-align: left;
}
.item-box .variation dd {
  flex-basis: 65%;
  margin: 0;
}

.parts_items_item_title {
  text-align: left !important;
}

.finish-selector .sub-title,
.second-finish-selector .sub-title {
  margin: 0;
  font-size: 10px;
}

.spindle-finish-selector .sub-title {
  margin: 0;
  font-size: 10px;
}

.close-edit-section {
  display: none !important; /* Hide the X button - users can use Cancel/Save at the bottom */
  background-color: #fff;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 20px;
  font-weight: 900;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  padding-right: 1px;
  cursor: pointer;
  z-index: 1000000000;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.baserail-word {
  display: none;
}

#parts_shop .type-product,
#recommended_shop .type-product,
.parts-category-list .type-product {
  cursor: pointer;
}
#parts_shop .type-product *,
#recommended_shop .type-product *,
.parts-category-list .type-product * {
  pointer-events: none !important;
}
#parts_shop .type-product .xoo-qv-button,
#recommended_shop .type-product .xoo-qv-button,
.parts-category-list .type-product .xoo-qv-button {
  pointer-events: all !important;
}

.parts-wrapper {
  display: none;
}

.parts-category-list {
  display: flex;
  width: 100%;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
}
.parts-category-list .parts-category {
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 18%;
  box-shadow: 0 4px 16px 0 rgba(44, 62, 80, 0.12), 0 1.5px 4px 0 rgba(44, 62, 80, 0.1);
}
.parts-category-list .parts-category img {
  width: 80%;
}
.parts-category-list .parts-category h4 {
  text-align: center;
  height: 40px;
}
@media (max-width: 850px) {
  .parts-category-list .parts-category {
    width: 45%;
  }
}

.summary-wrap {
  display: none !important;
}

.open-parts-list {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

.xoo-qv-container {
  top: 4% !important;
  bottom: 4% !important;
  max-height: 100% !important;
}

.totals-floating {
  position: sticky;
  bottom: 0;
  background-color: white;
  padding: 10px 0;
  background-color: hsla(0, 0%, 100%, 0.79);
  backdrop-filter: blur(10px);
  z-index: 30;
}
.totals-floating p {
  margin: 0;
}

.simple-wrap {
  max-width: 1520px !important;
  margin: auto !important;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
}

.configured-total-price-container {
  font-weight: 600;
  font-size: 18px;
}
.configured-total-price-container .configured-total-price {
  color: #3cb67a;
}

.normal-btn {
  display: inline-block;
  padding: 10px 30px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  margin-top: 20px;
  padding: 10px 30px;
  border: 2px solid #3cb67a !important;
  background-color: #3cb67a !important;
  color: white !important;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  max-width: 400px;
  min-width: 240px;
  transition: none !important;
}
.normal-btn:hover {
  background-color: #fff !important;
  color: #3cb67a !important;
}

div.woocommerce-LoopProduct-link h2 {
  margin-top: 10px !important;
}

.section-selector {
  position: relative;
}

.add-sections-container .unselectable-inner {
  display: none;
  position: absolute;
  inset: 0;
  justify-content: center;
  align-items: center;
  padding: 40px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.6862745098);
  font-weight: 600;
  backdrop-filter: blur(3px);
}
.add-sections-container .unselectable .unselectable-inner {
  display: none;
}

#recommended_shop h2 {
  margin-bottom: 10px;
}
#recommended_shop .products {
  display: flex;
  flex-wrap: wrap;
}

.added-overlay {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.added-overlay div {
  background-color: #48a3d8;
  border-bottom-left-radius: 12px;
  height: 30px;
  width: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: 600;
}

.snackbar {
  position: fixed;
  bottom: 10%;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 100000000000;
  display: none;
}
.snackbar .inner {
  background-color: #616d79;
  color: white;
  padding: 10px 50px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 10px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  text-align: center;
}
.snackbar.success .inner {
  border-left: 8px solid #3cb67a;
}
.snackbar.warning .inner {
  border-left: 8px solid #f1b52d;
}
.snackbar.error .inner {
  border-left: 8px solid #e14d4d;
}

.simple-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.simple-container .save-cart-later {
  margin-top: 20px;
  cursor: pointer;
  border: 1px solid #3cb67a;
  color: #3cb67a !important;
  background-color: white !important;
  padding: 10px 30px !important;
}
.simple-container .save-cart-later:hover {
  background-color: #3cb67a !important;
  color: white !important;
}

.save-cart-dialog {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
  z-index: 20000000000;
  position: fixed;
  inset: 0;
}
.save-cart-dialog .sv-inner {
  padding: 30px;
  background-color: #fff;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  position: relative;
  max-width: 320px;
  text-align: center;
}
.save-cart-dialog .sv-inner button {
  width: 100%;
  cursor: pointer;
}
.save-cart-dialog .sv-inner input {
  width: 100%;
}
.save-cart-dialog .save-inner {
  display: flex;
}
.save-cart-dialog .save-inner .close-save-cart {
  position: absolute;
  top: 10px;
  right: 10px;
  border-radius: 50%;
  background-color: #505c6b;
  color: white;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  cursor: pointer;
}

.free-no-btn {
  border: 1px solid #3cb67a !important;
  color: #3cb67a !important;
  background-color: white !important;
  padding: 4px 5px !important;
  width: 100% !important;
  text-transform: uppercase;
}

.save-check-cart-btn,
.save-check-final,
.save-cart-btn {
  border: 1px solid #3cb67a !important;
  color: #fff !important;
  background-color: #3cb67a !important;
  text-transform: uppercase;
}

.alresco-configurator-main-container .add-styles-container {
  justify-content: center;
}

.incompatibility-dialog {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  z-index: 20000000000;
  display: none;
  justify-content: center;
  align-items: center;
}
.incompatibility-dialog .dialog-inner {
  background-color: white;
  padding: 40px;
  max-width: 500px;
  margin: 20px;
  text-align: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.incompatibility-dialog .dialog-inner h3 {
  color: #dc3545;
  margin-bottom: 20px;
  font-size: 24px;
}
.incompatibility-dialog .dialog-inner p {
  color: #666;
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.5;
}
.incompatibility-dialog .dialog-inner .dialog-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}
.incompatibility-dialog .dialog-inner .dialog-buttons .btn {
  padding: 12px 24px;
  border: none;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 140px;
}
.incompatibility-dialog .dialog-inner .dialog-buttons .btn.btn-secondary {
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}
.incompatibility-dialog .dialog-inner .dialog-buttons .btn.btn-secondary:hover {
  background-color: #e2e6ea;
  color: #5a6268;
}
.incompatibility-dialog .dialog-inner .dialog-buttons .btn.btn-primary {
  background-color: #3cb67a;
  color: white;
}

.style-highlight {
  animation: highlightPulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

@keyframes highlightPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(60, 182, 122, 0.7);
    transform: scale(1);
  }
  25% {
    box-shadow: 0 0 0 10px rgba(60, 182, 122, 0.3);
    transform: scale(1.05);
  }
  50% {
    box-shadow: 0 0 0 20px rgba(60, 182, 122, 0.1);
    transform: scale(1);
  }
  75% {
    box-shadow: 0 0 0 10px rgba(60, 182, 122, 0.3);
    transform: scale(1.05);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(60, 182, 122, 0);
    transform: scale(1);
  }
}
/* Override borders for previous buttons */
.prev-step-btn {
  border: none !important;
}

/* Mobile Progress Indicator - HIDDEN */
.mobile-progress-indicator {
  display: none !important;
}

/* Mobile progress connector lines */
.mobile-progress-connector {
  width: 1.5rem; /* Wider to overlap with mobile circles better */
  height: 4px;
  background: rgba(255, 255, 255, 0.3); /* Default inactive color */
  transition: background-color 0.3s ease;
  flex-shrink: 0; /* Prevent shrinking */
  align-self: center; /* Vertically center with step circles */
  position: relative;
  top: -0.575rem; /* Move up to align with mobile circle centers */
  margin: 0 -0.5rem; /* More aggressive negative margins to match desktop approach */
  /* Green when step before it is completed */
}
.mobile-progress-connector.completed {
  background: #3cb67a;
}

.mobile-progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0; /* Prevent shrinking */
  min-width: 3rem; /* Consistent step width like desktop */
}
.mobile-progress-step:hover:not(.disabled):not(.active) .mobile-step-circle {
  transform: scale(1.05);
}
.mobile-progress-step .mobile-step-circle {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #6c757d; /* Changed from transparent to solid gray */
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.75rem;
  transition: all 0.2s ease;
  z-index: 1; /* Ensure circles appear above the progress lines */
}
.mobile-progress-step .mobile-step-label {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  font-weight: 500;
}
.mobile-progress-step.active {
  pointer-events: none; /* Disable clicking on active step */
  cursor: default; /* Remove pointer cursor */
}
.mobile-progress-step.active .mobile-step-circle {
  background: white;
  color: #42a2da;
}
.mobile-progress-step.active .mobile-step-label {
  color: white;
  font-weight: 600;
}
.mobile-progress-step.completed .mobile-step-circle {
  background: #3cb67a;
  color: white;
}
.mobile-progress-step.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.mobile-progress-step.disabled .mobile-step-circle {
  background: rgba(255, 255, 255, 0.1);
}

/* Mobile Fixed Navigation Bars */
.mobile-step-nav {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 1001;
  background: #616d79;
  padding: 7px 20px;
  bottom: -2px; /* Fix for mysterious 2px gap */
  /* Account for safe area on mobile devices */
  padding-bottom: calc(7px + env(safe-area-inset-bottom));
  display: flex;
  gap: 12px;
  /* Green progress bar (copied from desktop configurator-overlay-footer) */
  position: relative;
  /* Hide mobile nav when any popup is open */
  /* Mobile step previous button styling */
  /* Mobile step next button styling - GREEN like desktop */
}
.mobile-step-nav::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 100%;
  height: 3px;
  background: #3cb67a;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10; /* Higher than content to appear on top */
  width: 16.666%; /* Default to step-1 */
}
.mobile-step-nav.step-1::after {
  width: 16.666%;
}
.mobile-step-nav.step-2::after {
  width: 33.333%;
}
.mobile-step-nav.step-3::after {
  width: 50%;
}
.mobile-step-nav.step-4::after {
  width: 66.666%;
}
.mobile-step-nav.step-5::after {
  width: 83.333%;
}
.mobile-step-nav.step-6::after {
  width: 100%;
}
@media (min-width: 768px) {
  .mobile-step-nav {
    display: none !important;
  }
}
.floating-container[style*="display: flex"] ~ .mobile-step-nav, .floating-container[style*="display: block"] ~ .mobile-step-nav {
  display: none !important;
}
.mobile-step-nav button {
  flex: 1;
  padding: 4px 16px;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #495057;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.mobile-step-nav button:hover {
  background: #e9ecef;
}
.mobile-step-nav button:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important; /* Use solid grayed out colors instead of opacity */
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}
.mobile-step-nav .mobile-step-prev {
  background: #f8f9fa !important;
  border: 1px solid #dee2e6 !important;
  color: #495057 !important;
  text-transform: uppercase;
  /* Remove hover and active states to prevent dark effects on mobile */
}
.mobile-step-nav .mobile-step-prev:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}
.mobile-step-nav .mobile-step-next {
  background: #3cb67a !important;
  border: 1px solid #3cb67a !important;
  color: white !important;
  text-transform: uppercase;
  /* Remove hover and active states to prevent dark effects on mobile */
  /* Green styling for "Go to Basket" button */
}
.mobile-step-nav .mobile-step-next:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  border: 1px solid #dddddd !important;
}
.mobile-step-nav .mobile-step-next.basket-button {
  background: #3cb67a;
  border-color: #3cb67a;
  color: white;
}
.mobile-step-nav .mobile-step-next.basket-button:hover {
  background: #339966;
  border-color: #2d8554;
}
.mobile-step-nav .mobile-step-next .mobile-step-arrow {
  font-size: 16px;
  font-weight: bold;
}

/* Adjust overlay content for fixed navigation */
@media (max-width: 767px) {
  .configurator-overlay-content {
    /* Remove duplicate height calculations since we now handle it in the main rule */
    /* Enhanced mobile scrolling */
    -webkit-overflow-scrolling: touch;
    /* Prevent momentum scrolling bounce */
    overscroll-behavior: contain;
    /* Ensure content doesn't get cut off on mobile */
    padding-bottom: calc(env(safe-area-inset-bottom) + 20px);
  }
}
/* Edit Section Popup State - Hide Footer Navigation */
.configurer-section[style*=flex] ~ .configurator-overlay .configurator-overlay-footer,
.configurer-section:not([style*=none]):not([style=""]) ~ .configurator-overlay .configurator-overlay-footer {
  display: none !important;
}

/* Ensure edit section popup has higher z-index than footer */
.configurer-section {
  z-index: 10000; /* Higher than overlay footer z-index */
}
.configurer-section[style*=flex] {
  display: flex !important;
}

/* Save/Cancel button floating container
   Wrap buttons in a centered inner container so they line up with the edit popup */
.edit-section-floating-buttons {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid #e0e0e0;
  padding: 6px 0; /* outer vertical padding only - inner container handles horizontal padding */
  display: none; /* Hidden by default */
  justify-content: center; /* center the inner container */
  align-items: center;
  gap: 12px;
  z-index: 10000000000; /* Above the configurator overlay and edit section */
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
  /* Inner container that sets horizontal max-width and alignment to match popups */
}
.edit-section-floating-buttons .edit-section-floating-inner {
  width: 100%;
  max-width: 600px;
  padding: 6px 20px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.edit-section-floating-buttons .section-status-message {
  display: none !important; /* Hide the section status message completely */
  margin-right: auto;
  color: #666;
  font-size: 14px;
  font-style: italic;
}
.edit-section-floating-buttons .section-status-message.not-configured {
  color: #e74c3c;
}
.edit-section-floating-buttons .edit-section-cancel {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  font-size: 14px;
  padding: 8px 16px;
  text-transform: uppercase;
}
.edit-section-floating-buttons .edit-section-cancel:hover {
  color: #333;
}
.edit-section-floating-buttons .edit-section-save {
  background-color: #3cb67a;
  color: white;
  border: none;
  padding: 12px 24px;
  cursor: pointer;
  font-size: 14px;
  border-radius: 0;
  font-weight: 500;
  text-transform: uppercase;
}
.edit-section-floating-buttons .edit-section-save:hover:not(:disabled) {
  background-color: #359a6b;
}
.edit-section-floating-buttons .edit-section-save:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Ensure inner container is responsive on small screens */
@media (max-width: 480px) {
  .edit-section-floating-buttons .edit-section-floating-inner {
    padding: 6px 15px;
    max-width: 95%;
  }
}
/* Show floating buttons when edit section is open */
.configurator-overlay.edit-section-open .edit-section-floating-buttons {
  display: flex !important;
}

/* Add padding to configurer section content to prevent overlap with floating buttons */
.configurer-section {
  padding-bottom: 80px; /* Space for floating buttons */
}

/* Footer navigation polishing */
.configurator-overlay-footer {
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.configurator-overlay-footer.footer-hidden {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

/* Force hide elements with !important override */
.force-hidden {
  display: none !important;
}

/* Hide the overlay header while editing a section.
   We toggle .header-hidden on the overlay to hide the header safely
   (useful on mobile and desktop responsive modes).
   Also hide mobile-specific header/nav elements to avoid the mobile-step-nav
   appearing when edit UI opens. */
.configurator-overlay.header-hidden .configurator-overlay-header {
  display: none !important;
}

/* Hide the mobile step nav & mobile progress indicator when header is hidden */
.configurator-overlay.header-hidden .mobile-step-nav,
.configurator-overlay.header-hidden .mobile-progress-indicator {
  display: none !important;
}

.cont-600 {
  max-width: 600px !important;
}

/* ===========================
   STYLE/FINISH SELECTION DIALOG
   =========================== */
.selection-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  /* Prefer using the --vh fallback to avoid postcss-calc parsing issues.
     dvh is feature-detected by browsers; keep as a progressive enhancement via @supports if needed. */
  height: calc(var(--vh, 1vh) * 100);
  z-index: 999999; /* Above overlay */
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  /* Ensure the ADD & CONFIGURE button matches the primary ADD button padding */
}
.selection-dialog .selection-dialog-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  backdrop-filter: blur(4px);
}
.selection-dialog .selection-dialog-content {
  position: relative;
  background: white;
  border-radius: 0;
  max-width: 500px;
  width: 90%;
  /* Use --vh fallback and multiply by 90 to express 90% of the visible viewport.
     This avoids postcss-calc errors with dvh. */
  max-height: calc(var(--vh, 1vh) * 90);
  overflow-y: auto;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .selection-dialog .selection-dialog-content {
    max-width: 95%;
    border-radius: 0;
  }
}
.selection-dialog .selection-dialog-content .selection-dialog-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #ffffff; /* white circle */
  color: #000000; /* black X */
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); /* subtle elevation */
}
.selection-dialog .selection-dialog-image {
  width: 100%;
  height: 320px;
  overflow: hidden;
  border-radius: 0;
}
@media (max-width: 767px) {
  .selection-dialog .selection-dialog-image {
    height: 320px;
    border-radius: 0;
  }
}
@media (max-width: 450px) {
  .selection-dialog .selection-dialog-image {
    height: 250px;
    border-radius: 0;
  }
}
.selection-dialog .selection-dialog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.selection-dialog.section-selection-dialog .selection-dialog-image img {
  object-fit: contain;
  object-position: center;
}
.selection-dialog .selection-dialog-text {
  padding: 2rem;
}
@media (max-width: 767px) {
  .selection-dialog .selection-dialog-text {
    padding: 1.5rem;
  }
}
.selection-dialog .selection-dialog-title {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #29323b;
}
@media (max-width: 767px) {
  .selection-dialog .selection-dialog-title {
    font-size: 1.25rem;
  }
}
.selection-dialog .selection-dialog-description {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
}
.selection-dialog .selection-dialog-actions {
  padding: 0 2rem 2rem 2rem;
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .selection-dialog .selection-dialog-actions {
    padding: 0 1.5rem 1.5rem 1.5rem;
    flex-direction: column-reverse;
  }
}
.selection-dialog .selection-dialog-cancel {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.selection-dialog .selection-dialog-cancel:hover {
  color: #333;
}
.selection-dialog .selection-dialog-select {
  background: #3cb67a;
  color: white;
  border: none;
  border-radius: 0;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}
.selection-dialog .selection-dialog-select:hover {
  background: #339966;
}
@media (max-width: 767px) {
  .selection-dialog .selection-dialog-select {
    width: 100%;
  }
}
.selection-dialog .selection-dialog-add-configure {
  padding: 0.75rem 1.5rem !important;
  cursor: pointer !important;
}

/* Remove Section Confirmation Dialog */
.remove-section-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999; /* Above overlay */
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-section-dialog .remove-section-dialog-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  backdrop-filter: blur(4px);
}
.remove-section-dialog .remove-section-dialog-content {
  position: relative;
  background: white;
  border-radius: 0;
  max-width: 400px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .remove-section-dialog .remove-section-dialog-content {
    max-width: 95%;
    border-radius: 0;
  }
}
.remove-section-dialog .remove-section-dialog-text {
  padding: 2rem;
  text-align: center;
}
@media (max-width: 767px) {
  .remove-section-dialog .remove-section-dialog-text {
    padding: 1.5rem;
  }
}
.remove-section-dialog .remove-section-dialog-title {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #29323b;
}
@media (max-width: 767px) {
  .remove-section-dialog .remove-section-dialog-title {
    font-size: 1.25rem;
  }
}
.remove-section-dialog .remove-section-dialog-description {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
}
.remove-section-dialog .remove-section-dialog-actions {
  padding: 0 2rem 2rem 2rem;
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .remove-section-dialog .remove-section-dialog-actions {
    padding: 0 1.5rem 1.5rem 1.5rem;
    flex-direction: column-reverse;
  }
}
.remove-section-dialog .remove-section-dialog-cancel {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.remove-section-dialog .remove-section-dialog-cancel:hover {
  color: #333;
}
.remove-section-dialog .remove-section-dialog-confirm {
  background: #f12a17;
  color: white;
  border: none;
  border-radius: 0;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}
.remove-section-dialog .remove-section-dialog-confirm:hover {
  background: #d12015;
}
@media (max-width: 767px) {
  .remove-section-dialog .remove-section-dialog-confirm {
    width: 100%;
  }
}

@media (max-width: 400px) {
  .section-selector {
    min-width: 200px;
  }
}
.no-scroll {
  height: 0 !important;
  min-height: 0 !important;
}

/* Stack buttons for ShowAllSectionsConfiguredDialog */
.selection-dialog.all-sections-configured-dialog .selection-dialog-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem;
  justify-content: center;
}

/* Make "Add Another Section" and "Edit your Sections" buttons show pointer */
.selection-dialog.all-sections-configured-dialog .all-sections-add,
.selection-dialog.all-sections-configured-dialog .all-sections-edit {
  cursor: pointer !important;
}

/* Ensure mobile rule doesn't override to column-reverse */
@media (max-width: 767px) {
  .selection-dialog.all-sections-configured-dialog .selection-dialog-actions {
    flex-direction: column !important;
  }
}
/* Ensure selection dialog titles use capitalized words */
.selection-dialog .selection-dialog-title {
  text-transform: capitalize;
}

/* Position close icon inside the Parts Shop container (scoped) */
.item-list-container.parts_shop_items {
  position: relative;
}

/* Circular close icon positioned relative to the popup container */
.item-list-container.parts_shop_items .close_parts_page.close-parts-icon {
  position: absolute !important;
  top: 12px !important;
  right: -6px !important;
  z-index: 9999 !important;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  border: none !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  padding: 0;
  margin: 0;
  text-transform: none !important;
  cursor: pointer;
}

/* Prevent inherited pill/button styles from affecting the icon */
.close_parts_page.close-parts-icon,
.close_parts_page.close-parts-icon * {
  text-transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
}

/* Slight hover state */
.close_parts_page.close-parts-icon:hover {
  background: #fff;
  transform: none;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);
}

/* Padding for parts shop items container */
.item-list-container.parts_shop_items {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* Make the moved configuration image visible and centred; constrain height */
.configuration-summary-image-container {
  display: block !important;
  text-align: center;
  margin: 1rem auto 0 auto;
}

.configuration-summary-image-container .configuration-combined-image {
  max-height: 400px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  display: block;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.configuration-summary-image-container .configuration-kit-name {
  text-align: center;
  margin-top: 0.5rem;
  font-weight: 600;
}

/* Chip for configuration image: "YOUR STYLE" */
.configuration-summary-image-container {
  position: relative;
  display: block !important;
  text-align: center;
  margin: 1rem auto 0 auto;
}

.configuration-summary-image-container .configuration-style-chip {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #ffb400;
  color: #111;
  font-weight: 700;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  z-index: 5;
}

.parts-wrapper .xoo-qv-button {
  display: block !important;
  cursor: pointer !important;
  color: #fff !important;
  background-color: #3cb67a !important;
  padding: 7px 20px !important;
  text-align: center !important;
  justify-content: center;
  border: 1px solid #3cb67a !important;
}
.parts-wrapper .xoo-qv-button:hover {
  background-color: white !important;
  color: #3cb67a !important;
}

.manage-order-wrapper {
  margin-bottom: 120px;
  padding: 20px 15px;
}
.manage-order-wrapper .add-btn {
  display: inline-block;
  padding: 7px 13px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 10px;
  cursor: pointer;
  margin: 5px;
  transition: all 0.1s ease-in-out;
  background-color: #d6d6d6;
  color: #000;
  margin-left: 10px;
  font-family: Lato;
}
.manage-order-wrapper .add-btn:hover {
  background-color: #bdbdbd;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.manage-order-wrapper .manage-section {
  margin-bottom: 50px;
}
.manage-order-wrapper .manage-section > h3 {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e2e2e2;
  padding-bottom: 7px;
}
@media (max-width: 685px) {
  .manage-order-wrapper .manage-section > h3 {
    justify-content: center;
  }
}
.manage-order-wrapper .bespoke-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.manage-order-wrapper .bespoke-list .bespoke-item {
  background-color: #f1f1f1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 15px;
  min-width: 250px;
}
@media (max-width: 400px) {
  .manage-order-wrapper .bespoke-list .bespoke-item {
    margin: 0;
  }
}
.manage-order-wrapper .bespoke-list .bespoke-item .name {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.manage-order-wrapper .bespoke-list .bespoke-item .name img {
  max-width: 250px;
  width: 100%;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .not-configured {
  margin: 0;
  color: red;
  font-size: 11px;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .waiting-angle {
  margin: 0;
  color: rgb(255, 123, 0);
  font-size: 11px;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details h3 {
  margin-top: 20px;
  font-size: 17px;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details h3 .calculated-price {
  font-size: 13px;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details p {
  margin: 6px 0;
  font-size: 13px;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .meta {
  flex: 1;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn {
  display: inline-block;
  padding: 10px 30px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  margin: 5px;
  transition: all 0.2s ease-in-out;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn:hover {
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.3);
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-edit {
  background-color: #d6d6d6;
  color: #151515;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-edit:hover {
  background-color: #bdbdbd;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-remove {
  background-color: #f35151;
  color: #ffffff;
}
.manage-order-wrapper .bespoke-list .bespoke-item .details .buttons .btn.btn-remove:hover {
  background-color: #c43131;
}
.manage-order-wrapper .pre-painting-wrapper {
  display: none;
}
.manage-order-wrapper .pre-painting-wrapper.available {
  display: block;
}

.edit-bespoke-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  justify-items: center;
  align-content: center;
  z-index: 5000000000;
}
.edit-bespoke-popup.open {
  display: flex;
}
.edit-bespoke-popup .edit-bespoke-inner {
  background-color: white;
  max-width: 520px;
  width: 100%;
  max-height: 80vh;
  border-radius: 5px;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: auto;
}
@media (max-width: 1000px) {
  .edit-bespoke-popup .edit-bespoke-inner {
    max-height: 96vh;
  }
}
@media (max-width: 600px) {
  .edit-bespoke-popup .edit-bespoke-inner {
    margin-left: 10px;
    margin-right: 10px;
    max-width: 600px;
  }
}
.edit-bespoke-popup .edit-bespoke-inner .edit-area {
  flex: 1;
  overflow-y: auto;
  padding: 15px;
}
.edit-bespoke-popup .edit-bespoke-inner .action-area {
  background-color: #cacaca;
  height: 46px;
  min-height: 46px;
  display: none;
  justify-content: space-around;
  align-items: center;
}
.edit-bespoke-popup .edit-bespoke-inner .action-area .btn {
  padding: 6px 25px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.edit-bespoke-popup .edit-bespoke-inner .action-area .btn.cancel-bespoke-edit {
  background-color: #ececec;
}
.edit-bespoke-popup .edit-bespoke-inner .action-area .btn.cancel-bespoke-edit:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.edit-bespoke-popup .edit-bespoke-inner .action-area .btn.save-bespoke-edit, .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.add-bespoke-edit {
  background-color: #3cb67a;
  color: white;
}
.edit-bespoke-popup .edit-bespoke-inner .action-area .btn.save-bespoke-edit:hover, .edit-bespoke-popup .edit-bespoke-inner .action-area .btn.add-bespoke-edit:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.edit-bespoke-popup.edit-mode .action-edit {
  display: flex;
}
.edit-bespoke-popup.add-mode .action-add {
  display: flex;
}
.edit-bespoke-popup.add-new-mode .action-cancel {
  display: flex;
}

.bespoke-edit-container .video-container {
  width: 100%;
  margin-bottom: 20px;
}
.bespoke-edit-container a {
  font-size: 12px;
  margin: 5px 0 0px 0;
}
.bespoke-edit-container .step-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #e1e1e1;
}
.bespoke-edit-container .step-container .instruction-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 16px 6px;
}
.bespoke-edit-container .step-container .instruction-container h3 {
  font-size: 17px;
  margin: 0;
  text-align: center;
}
.bespoke-edit-container .step-container .instruction-container p {
  font-size: 14px;
  margin: 0;
  margin-bottom: 5px;
  margin-top: 5px;
  text-align: center;
}
.bespoke-edit-container .step-container .instruction-container .additional-lengths {
  display: flex;
  width: 100%;
  justify-content: space-around;
}
.bespoke-edit-container .step-container .instruction-container .second-length,
.bespoke-edit-container .step-container .instruction-container .third-length {
  margin-top: 15px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.bespoke-edit-container .step-container .instruction-container .second-length p,
.bespoke-edit-container .step-container .instruction-container .third-length p {
  margin: 0;
}
.bespoke-edit-container .step-container .instruction-container .second-length button,
.bespoke-edit-container .step-container .instruction-container .third-length button {
  margin-top: 5px;
  padding: 4px 10px;
  border: 1px solid #3e4b5b;
  border-radius: 12px;
  cursor: pointer;
  text-transform: uppercase;
}
.bespoke-edit-container .step-container .instruction-container .second-length button:hover,
.bespoke-edit-container .step-container .instruction-container .third-length button:hover {
  border: 1px solid #3e4b5b;
  color: #3e4b5b;
}
.bespoke-edit-container .step-container .instruction-container .input-container {
  display: flex;
  justify-content: stretch;
  align-items: center;
  padding: 0px 30px 0 0;
  background-color: #e1e1e1;
  border-radius: 8px;
  width: 80%;
}
.bespoke-edit-container .step-container .instruction-container .input-container textarea:focus,
.bespoke-edit-container .step-container .instruction-container .input-container input:focus {
  outline: none;
}
.bespoke-edit-container .step-container .instruction-container .input-container input {
  width: 100%;
  font-size: 16px;
  line-height: 36px;
  border: 0;
  color: #3c4c5c;
  font-weight: 600;
  padding: 0px 0px 0px 30px;
}
.bespoke-edit-container .step-container .instruction-container .input-container .inner-input {
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 3px;
  white-space: nowrap;
}
.bespoke-edit-container .step-container .instruction-container .instruction-step {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-size: 22px;
  height: 30px;
  width: 30px;
  font-weight: 800;
  padding: 24px;
  color: #fff;
  margin-bottom: 20px;
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgb(219, 219, 219);
  border-radius: 8px;
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container .direction-chooser {
  padding: 10px 40px;
  border: 0;
  border-radius: 8px;
  font-size: 15px;
  color: rgb(44, 44, 44);
  cursor: pointer;
  outline: 0 !important;
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container .direction-chooser.chosen {
  background-color: #ffb310;
  color: #fff;
  -webkit-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
  -moz-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
  box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container .direction-chooser:hover {
  -webkit-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
  -moz-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
  box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.48);
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container .end-chooser {
  padding: 10px 40px;
  border: 0;
  font-size: 15px;
  color: #fff !important;
  border: 1px solid #fff;
  background-color: transparent;
  cursor: pointer;
  outline: 0 !important;
  margin: 0 5px;
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container .end-chooser.chosen {
  background-color: #3cb67a !important;
  border: 1px solid #3cb67a;
}
.bespoke-edit-container .step-container .instruction-container .direction-chooser-container .end-chooser:hover {
  background-color: #3cb67a !important;
  border: 1px solid #3cb67a;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container {
  display: flex;
  margin-top: 25px;
  align-items: center;
  color: white;
  font-size: 12px;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .request-text {
  flex: 1;
  padding-right: 10px;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch {
  position: relative;
  display: inline-block;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-input {
  display: none;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label {
  display: block;
  width: 48px;
  height: 19px;
  text-indent: -150%;
  clip: rect(0 0 0 0);
  color: transparent;
  user-select: none;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::before,
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::after {
  content: "";
  display: block;
  position: absolute;
  cursor: pointer;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::before {
  width: 100%;
  height: 100%;
  background-color: #dedede;
  border-radius: 9999em;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-label::after {
  top: -2px;
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
  -webkit-transition: left 0.25s ease;
  transition: left 0.25s ease;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::before {
  background-color: #3197d5;
}
.bespoke-edit-container .step-container .instruction-container .angle-request-container .switch-input:checked + .switch-label::after {
  left: 24px;
}

.add-bespoke-container {
  display: flex;
  flex-wrap: wrap;
}
.add-bespoke-container .product-selection-container {
  background-color: #f1f1f1;
  padding: 16px;
  border-radius: 5px;
  margin: 10px;
  flex: 1 1 170px;
}
.add-bespoke-container .product-selection-container .disabled-message {
  font-size: 12px;
  text-align: center;
  padding: 0;
}
.add-bespoke-container .product-selection-container .product-selection-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.add-bespoke-container .product-selection-container .product-selection-inner h3 {
  margin-top: 10px;
  margin-bottom: 10px;
}
.add-bespoke-container .product-selection-container .product-selection-inner img {
  width: 100%;
}
.add-bespoke-container .product-selection-container .product-selection-inner .btn {
  padding: 4px 25px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  font-size: 12px;
  margin-bottom: 4px;
}
.add-bespoke-container .product-selection-container .product-selection-inner .btn.add-new-bespoke-btn {
  background-color: #3cb67a;
  color: white;
}
.add-bespoke-container .product-selection-container .product-selection-inner .btn.add-new-bespoke-btn:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}

.regular-list .regular-item-container:nth-child(odd) {
  background-color: #f1f1f1;
}

.regular-item-container {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  padding: 3px 10px;
  flex-wrap: wrap;
  max-width: 1000px;
}
@media (max-width: 960px) {
  .regular-item-container {
    padding: 15px;
    justify-content: center;
  }
}
.regular-item-container .item-data {
  display: flex;
  align-items: center;
}
.regular-item-container .item-data h4 {
  margin: 0;
}
.regular-item-container .item-data p {
  margin: 4px 0;
}
.regular-item-container .item-data img {
  width: 40px;
  height: 40px;
  margin-right: 20px;
}
@media (max-width: 960px) {
  .regular-item-container .item-data {
    width: 100%;
    justify-content: center;
    margin-bottom: 20px;
  }
}
.regular-item-container .item-actions {
  display: flex;
  align-items: center;
}
.regular-item-container .item-actions .price {
  font-weight: 600;
  margin-right: 14px;
}
.regular-item-container .item-actions .quantity-container {
  display: flex;
  align-items: center;
}
.regular-item-container .item-actions .quantity-container .quant {
  display: flex;
  justify-items: center;
  align-content: center;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 600;
}
.regular-item-container .item-actions .quantity-container .quant:hover {
  color: #ffb310;
}
.regular-item-container .item-actions .btn {
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  font-size: 12px;
  background-color: #f35151;
  color: #ffffff;
  margin-left: 20px;
}
.regular-item-container .item-actions .btn:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.regular-item-container .item-actions.disabled .quantity-container,
.regular-item-container .item-actions.disabled .btn {
  pointer-events: none;
  opacity: 0.2;
}

.configurator-range-container .not-available-info,
.pre-paint-container .not-available-info {
  font-size: 12px;
  color: #f35151;
  display: none;
}
.configurator-range-container .addition-option-line,
.configurator-range-container .prepaint-option-line,
.pre-paint-container .addition-option-line,
.pre-paint-container .prepaint-option-line {
  display: flex;
  max-width: 420px;
  width: 100%;
  padding: 5px 8px;
}
.configurator-range-container .addition-option-line img,
.configurator-range-container .prepaint-option-line img,
.pre-paint-container .addition-option-line img,
.pre-paint-container .prepaint-option-line img {
  height: 32px;
  width: 32px;
  margin-right: 10px;
  border: 1px solid #bcbcbc;
  border-radius: 50%;
}
.configurator-range-container .addition-option-line.locked,
.configurator-range-container .prepaint-option-line.locked,
.pre-paint-container .addition-option-line.locked,
.pre-paint-container .prepaint-option-line.locked {
  opacity: 0.4;
  cursor: default !important;
  pointer-events: none !important;
}
.configurator-range-container .addition-option-line.unclickable,
.configurator-range-container .prepaint-option-line.unclickable,
.pre-paint-container .addition-option-line.unclickable,
.pre-paint-container .prepaint-option-line.unclickable {
  cursor: default !important;
  pointer-events: none !important;
}
.configurator-range-container .addition-option-line .addition-option-text,
.configurator-range-container .addition-option-line .prepaint-option-text,
.configurator-range-container .prepaint-option-line .addition-option-text,
.configurator-range-container .prepaint-option-line .prepaint-option-text,
.pre-paint-container .addition-option-line .addition-option-text,
.pre-paint-container .addition-option-line .prepaint-option-text,
.pre-paint-container .prepaint-option-line .addition-option-text,
.pre-paint-container .prepaint-option-line .prepaint-option-text {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
.configurator-range-container .addition-option-line .addition-option-text p,
.configurator-range-container .addition-option-line .prepaint-option-text p,
.configurator-range-container .prepaint-option-line .addition-option-text p,
.configurator-range-container .prepaint-option-line .prepaint-option-text p,
.pre-paint-container .addition-option-line .addition-option-text p,
.pre-paint-container .addition-option-line .prepaint-option-text p,
.pre-paint-container .prepaint-option-line .addition-option-text p,
.pre-paint-container .prepaint-option-line .prepaint-option-text p {
  margin-bottom: 0;
  font-size: 12px;
}
.configurator-range-container .addition-option-line .addition-option-text p:first-child,
.configurator-range-container .addition-option-line .prepaint-option-text p:first-child,
.configurator-range-container .prepaint-option-line .addition-option-text p:first-child,
.configurator-range-container .prepaint-option-line .prepaint-option-text p:first-child,
.pre-paint-container .addition-option-line .addition-option-text p:first-child,
.pre-paint-container .addition-option-line .prepaint-option-text p:first-child,
.pre-paint-container .prepaint-option-line .addition-option-text p:first-child,
.pre-paint-container .prepaint-option-line .prepaint-option-text p:first-child {
  font-size: 16px;
}
.configurator-range-container .addition-option-line .addition-option-check,
.configurator-range-container .addition-option-line .prepaint-option-check,
.configurator-range-container .prepaint-option-line .addition-option-check,
.configurator-range-container .prepaint-option-line .prepaint-option-check,
.pre-paint-container .addition-option-line .addition-option-check,
.pre-paint-container .addition-option-line .prepaint-option-check,
.pre-paint-container .prepaint-option-line .addition-option-check,
.pre-paint-container .prepaint-option-line .prepaint-option-check {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  padding: 8px;
}
.configurator-range-container .addition-option-line .addition-option-check .addition-check-inner,
.configurator-range-container .addition-option-line .addition-option-check .prepaint-check-inner,
.configurator-range-container .addition-option-line .prepaint-option-check .addition-check-inner,
.configurator-range-container .addition-option-line .prepaint-option-check .prepaint-check-inner,
.configurator-range-container .prepaint-option-line .addition-option-check .addition-check-inner,
.configurator-range-container .prepaint-option-line .addition-option-check .prepaint-check-inner,
.configurator-range-container .prepaint-option-line .prepaint-option-check .addition-check-inner,
.configurator-range-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner,
.pre-paint-container .addition-option-line .addition-option-check .addition-check-inner,
.pre-paint-container .addition-option-line .addition-option-check .prepaint-check-inner,
.pre-paint-container .addition-option-line .prepaint-option-check .addition-check-inner,
.pre-paint-container .addition-option-line .prepaint-option-check .prepaint-check-inner,
.pre-paint-container .prepaint-option-line .addition-option-check .addition-check-inner,
.pre-paint-container .prepaint-option-line .addition-option-check .prepaint-check-inner,
.pre-paint-container .prepaint-option-line .prepaint-option-check .addition-check-inner,
.pre-paint-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: rgb(223, 223, 223);
  border-radius: 4px;
  padding: 4px;
  height: 25px;
  width: 25px;
}
.configurator-range-container .addition-option-line .addition-option-check .addition-check-inner svg,
.configurator-range-container .addition-option-line .addition-option-check .prepaint-check-inner svg,
.configurator-range-container .addition-option-line .prepaint-option-check .addition-check-inner svg,
.configurator-range-container .addition-option-line .prepaint-option-check .prepaint-check-inner svg,
.configurator-range-container .prepaint-option-line .addition-option-check .addition-check-inner svg,
.configurator-range-container .prepaint-option-line .addition-option-check .prepaint-check-inner svg,
.configurator-range-container .prepaint-option-line .prepaint-option-check .addition-check-inner svg,
.configurator-range-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner svg,
.pre-paint-container .addition-option-line .addition-option-check .addition-check-inner svg,
.pre-paint-container .addition-option-line .addition-option-check .prepaint-check-inner svg,
.pre-paint-container .addition-option-line .prepaint-option-check .addition-check-inner svg,
.pre-paint-container .addition-option-line .prepaint-option-check .prepaint-check-inner svg,
.pre-paint-container .prepaint-option-line .addition-option-check .addition-check-inner svg,
.pre-paint-container .prepaint-option-line .addition-option-check .prepaint-check-inner svg,
.pre-paint-container .prepaint-option-line .prepaint-option-check .addition-check-inner svg,
.pre-paint-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner svg {
  visibility: hidden;
  width: 15px;
  height: 15px;
  margin: 0 !important;
}
.configurator-range-container .addition-option-line .addition-option-check .addition-check-inner.checked svg,
.configurator-range-container .addition-option-line .addition-option-check .prepaint-check-inner.checked svg,
.configurator-range-container .addition-option-line .prepaint-option-check .addition-check-inner.checked svg,
.configurator-range-container .addition-option-line .prepaint-option-check .prepaint-check-inner.checked svg,
.configurator-range-container .prepaint-option-line .addition-option-check .addition-check-inner.checked svg,
.configurator-range-container .prepaint-option-line .addition-option-check .prepaint-check-inner.checked svg,
.configurator-range-container .prepaint-option-line .prepaint-option-check .addition-check-inner.checked svg,
.configurator-range-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner.checked svg,
.pre-paint-container .addition-option-line .addition-option-check .addition-check-inner.checked svg,
.pre-paint-container .addition-option-line .addition-option-check .prepaint-check-inner.checked svg,
.pre-paint-container .addition-option-line .prepaint-option-check .addition-check-inner.checked svg,
.pre-paint-container .addition-option-line .prepaint-option-check .prepaint-check-inner.checked svg,
.pre-paint-container .prepaint-option-line .addition-option-check .addition-check-inner.checked svg,
.pre-paint-container .prepaint-option-line .addition-option-check .prepaint-check-inner.checked svg,
.pre-paint-container .prepaint-option-line .prepaint-option-check .addition-check-inner.checked svg,
.pre-paint-container .prepaint-option-line .prepaint-option-check .prepaint-check-inner.checked svg {
  visibility: visible;
}
.configurator-range-container .addition-option-line .addition-option-price,
.configurator-range-container .addition-option-line .prepaint-option-price,
.configurator-range-container .prepaint-option-line .addition-option-price,
.configurator-range-container .prepaint-option-line .prepaint-option-price,
.pre-paint-container .addition-option-line .addition-option-price,
.pre-paint-container .addition-option-line .prepaint-option-price,
.pre-paint-container .prepaint-option-line .addition-option-price,
.pre-paint-container .prepaint-option-line .prepaint-option-price {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  margin-left: 15px;
  width: 150px;
  font-weight: 600;
}
@media (max-width: 430px) {
  .configurator-range-container .addition-option-line,
  .configurator-range-container .prepaint-option-line,
  .pre-paint-container .addition-option-line,
  .pre-paint-container .prepaint-option-line {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .configurator-range-container .addition-option-line .addition-option-text,
  .configurator-range-container .addition-option-line .prepaint-option-text,
  .configurator-range-container .prepaint-option-line .addition-option-text,
  .configurator-range-container .prepaint-option-line .prepaint-option-text,
  .pre-paint-container .addition-option-line .addition-option-text,
  .pre-paint-container .addition-option-line .prepaint-option-text,
  .pre-paint-container .prepaint-option-line .addition-option-text,
  .pre-paint-container .prepaint-option-line .prepaint-option-text {
    width: 80%;
  }
}
.configurator-range-container .range-embedded-container.not-available .not-available-info,
.pre-paint-container .range-embedded-container.not-available .not-available-info {
  display: flex;
}
.configurator-range-container .range-embedded-container.not-available .addition-option-line,
.pre-paint-container .range-embedded-container.not-available .addition-option-line {
  display: none !important;
}
.configurator-range-container .range-clamped-square-container.not-available .not-available-info,
.pre-paint-container .range-clamped-square-container.not-available .not-available-info {
  display: flex;
}
.configurator-range-container .range-clamped-square-container.not-available .addition-option-line,
.pre-paint-container .range-clamped-square-container.not-available .addition-option-line {
  opacity: 0.2;
  pointer-events: none;
}
.configurator-range-container .range-clamped-square-container.not-available .addition-option-line.exc,
.pre-paint-container .range-clamped-square-container.not-available .addition-option-line.exc {
  pointer-events: initial;
  opacity: 1;
}

.manage-summary .summary-container .final-pricing-container {
  font-size: 1.1em;
  padding-left: 12px;
  border-left: 2px solid #e2e2e2;
}
.manage-summary .summary-container .final-pricing-container div {
  margin: 10px 0;
}
.manage-summary .summary-container .sign-off-section .sign-off-container {
  display: none;
}
.manage-summary .summary-container .sign-off-section p {
  margin: 5px 0;
}
.manage-summary .summary-container .sign-off-section .sign-off-done h3 {
  color: #2a7b06;
  margin-top: 30px;
}
.manage-summary .summary-container .sign-off-section .sign-off-btn {
  display: inline-block;
  text-transform: uppercase;
  font-weight: 700;
  transition: all 0.2s ease-in-out;
  color: white;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  color: #fff;
  border-color: #3cb67a;
  background-color: #3cb67a !important;
  padding: 7px 20px;
  margin: 20px auto;
}
.manage-summary .summary-container .sign-off-section .sign-off-btn:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.manage-summary .summary-container .sign-off-section .sign-off-btn.disabled {
  cursor: default;
  background-color: #e6e6e6 !important;
  color: darkgrey;
  box-shadow: none !important;
  pointer-events: none;
  user-select: none;
  opacity: 0.6;
}

.order-locked .quant,
.order-locked .btn-remove-regular-item,
.order-locked .add-regular-btn,
.order-locked .add-bespoke-btn,
.order-locked .btn-remove-bespoke,
.order-locked .btn-edit {
  display: none !important;
}

.style-locked .configurator-range-container {
  cursor: not-allowed;
}
.style-locked .addition-option-line {
  pointer-events: none !important;
  display: none;
}
.style-locked .addition-option-line.checked {
  display: flex;
}
.style-locked .range-embedded-container {
  display: none;
}
.style-locked .range-embedded-container.checked {
  display: block;
}
.style-locked .range-spindle-container {
  display: none;
}
.style-locked .range-spindle-container.checked {
  display: block;
}
.style-locked .range-clamped-container {
  display: none;
}
.style-locked .range-clamped-container.checked {
  display: block;
}
.style-locked .range-clamped-square-container {
  display: none;
}
.style-locked .range-clamped-square-container.checked {
  display: block;
}

.order-locked-finance .quant,
.order-locked-finance .btn-remove-regular-item,
.order-locked-finance .add-regular-btn,
.order-locked-finance .add-bespoke-btn,
.order-locked-finance .btn-remove-bespoke {
  display: none !important;
}
.order-locked-finance .edit-bespoke-inner .step-container {
  pointer-events: none;
  cursor: default;
  opacity: 0.3;
}
.order-locked-finance .edit-bespoke-inner .step-angle {
  pointer-events: all !important;
  opacity: 1 !important;
}

.add-regular-popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  justify-items: center;
  align-content: center;
  z-index: 5000000000;
}
.add-regular-popup.open {
  display: flex;
}
.add-regular-popup .add-regular-inner {
  background-color: white;
  max-width: 520px;
  width: 100%;
  max-height: 80vh;
  border-radius: 5px;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: auto;
}
@media (max-width: 1000px) {
  .add-regular-popup .add-regular-inner {
    max-height: 96vh;
  }
}
@media (max-width: 600px) {
  .add-regular-popup .add-regular-inner {
    margin-left: 10px;
    margin-right: 10px;
    max-width: 600px;
  }
}
.add-regular-popup .add-regular-inner .edit-area {
  flex: 1;
  overflow-y: auto;
  padding: 15px;
}
.add-regular-popup .add-regular-inner .edit-area h2 {
  text-align: center;
  margin: 10px 0 25px 0;
}
.add-regular-popup .add-regular-inner .action-area {
  background-color: #cacaca;
  height: 46px;
  min-height: 46px;
  justify-content: space-around;
  align-items: center;
  display: flex;
}
.add-regular-popup .add-regular-inner .action-area .btn {
  padding: 6px 25px;
  border-radius: 20px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  max-width: 280px;
}
.add-regular-popup .add-regular-inner .action-area .btn.cancel-add-regular {
  background-color: #ececec;
}
.add-regular-popup .add-regular-inner .action-area .btn.cancel-add-regular:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.add-regular-popup .add-regular-inner .action-area .btn.save-bespoke-edit, .add-regular-popup .add-regular-inner .action-area .btn.add-bespoke-edit {
  background-color: #3cb67a;
  color: white;
}
.add-regular-popup .add-regular-inner .action-area .btn.save-bespoke-edit:hover, .add-regular-popup .add-regular-inner .action-area .btn.add-bespoke-edit:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}

.regular-product-wrap {
  padding: 15px;
  margin: 8px 0;
  display: flex;
  flex-direction: column;
}
.regular-product-wrap .product-image {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}
.regular-product-wrap .product-name {
  font-weight: 600;
  margin-bottom: 4px;
}
.regular-product-wrap .product-options {
  font-size: 0.8em;
  margin-top: 10px;
  display: none;
}
.regular-product-wrap .product-options.show {
  display: block;
}
.regular-product-wrap .product-detail {
  display: flex;
  margin-top: 4px;
  justify-content: space-between;
  align-items: flex-end;
}
.regular-product-wrap .product-detail .product-buttons {
  display: flex;
  justify-content: space-between;
}
.regular-product-wrap .product-detail .product-buttons .btn {
  margin-left: 8px;
  padding: 6px 20px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  font-size: 12px;
  text-decoration: none;
  border: 1px solid #3cb67a;
}
.regular-product-wrap .product-detail .product-buttons .btn.btn-product-add {
  background-color: #3cb67a;
  color: #fff;
}
.regular-product-wrap .product-detail .product-buttons .btn.btn-variable-add {
  background-color: #3cb67a;
  color: #fff;
}
.regular-product-wrap .product-detail .product-buttons .btn.btn-product-view-options {
  background-color: #3cb67a;
  color: #fff;
}
.regular-product-wrap .product-detail .product-buttons .btn.btn-product-view {
  background-color: #fff;
  color: #3cb67a;
}
.regular-product-wrap .product-detail .product-buttons .btn:hover {
  background-color: white !important;
  color: #3cb67a !important;
}

.variable-product-wrap .product-detail {
  margin: 0;
  padding: 10px 0;
}
@media (max-width: 560px) {
  .variable-product-wrap .product-detail {
    flex-wrap: wrap;
  }
  .variable-product-wrap .product-detail .attributes {
    width: 100%;
  }
  .variable-product-wrap .product-detail .product-buttons {
    margin-top: 5px;
  }
}
.variable-product-wrap .product-buttons-variable {
  align-items: center;
}

.no-edit .btn-edit {
  display: none !important;
}

.manage-order-wrapper .configurator-type .configurator-range-container .addition-option-line .addition-option-check {
  display: flex !important;
}

.manage-order-wrapper .addition-option-price {
  display: none !important;
}

.rec-prod-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.manage-order-wrapper.manage-order-stairfurb {
  max-width: 1320px;
  margin: 0 auto;
  padding: 34px 20px 70px;
  color: #1f2933;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero,
.manage-order-wrapper.manage-order-stairfurb .manage-section {
  border: 1px solid #e1e6ea;
  background: #ffffff;
  padding: 22px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero {
  display: block;
  margin-bottom: 22px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero--with-visual {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  border: 1px solid #e1e6ea;
  background: #f8fafc;
  overflow: hidden;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__visual img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__visual--glass {
  position: relative;
  background: #c0e7f9;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__visual--glass .glass-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -18px;
  width: 240px;
  background: linear-gradient(125deg, transparent 25.5%, #dff3fd 50%, transparent 50.5%);
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__body {
  min-width: 0;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e1e6ea;
  padding-bottom: 14px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 8px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid #e1e6ea;
  background: #f8fafc;
  padding: 5px 8px;
  color: #52606d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__status-chip {
  gap: 6px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-hero__status-chip i {
  color: #3197d5;
  font-size: 11px;
  line-height: 1;
}
.manage-order-wrapper.manage-order-stairfurb .intro-container {
  max-width: 820px !important;
  margin: 0;
}
.manage-order-wrapper.manage-order-stairfurb .intro-container p {
  max-width: 760px;
  margin: 0 0 10px;
  color: #374151;
  font-size: 15px;
  line-height: 1.55;
}
.manage-order-wrapper.manage-order-stairfurb .intro-container a {
  color: #1f2933;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.manage-order-wrapper.manage-order-stairfurb .intro-container__header h1 {
  margin: 0;
  color: #111827;
  font-size: 26px;
  font-weight: 900;
  line-height: 1.18;
}
.manage-order-wrapper.manage-order-stairfurb .intro-container__help {
  margin-top: 14px !important;
  color: #52606d !important;
  font-size: 13px !important;
  font-weight: 700;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-admin-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 12px;
  margin: 0;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-admin-action__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid #b91c1c;
  background: #b91c1c;
  color: #ffffff !important;
  padding: 8px 13px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  text-transform: uppercase;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-admin-action__status {
  color: #52606d;
  font-size: 13px;
  font-weight: 700;
}
.manage-order-wrapper.manage-order-stairfurb .manage-order-content {
  display: grid;
  gap: 22px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-section {
  margin: 0;
}
.manage-order-wrapper.manage-order-stairfurb .manage-section > h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 18px;
  border-bottom: 1px solid #e1e6ea;
  padding-bottom: 13px;
  color: #111827;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
}
.manage-order-wrapper.manage-order-stairfurb .add-btn,
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .btn,
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .buttons .btn,
.manage-order-wrapper.manage-order-stairfurb .add-bespoke-container .product-selection-container .product-selection-inner .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 30px;
  margin: 0;
  border: 0;
  background: #ffffff;
  color: #37424d;
  padding: 5px 8px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: underline;
  text-transform: none;
  text-underline-offset: 3px;
}
.manage-order-wrapper.manage-order-stairfurb .add-btn:hover, .manage-order-wrapper.manage-order-stairfurb .add-btn:focus,
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .btn:hover,
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .btn:focus,
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .buttons .btn:hover,
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .buttons .btn:focus,
.manage-order-wrapper.manage-order-stairfurb .add-bespoke-container .product-selection-container .product-selection-inner .btn:hover,
.manage-order-wrapper.manage-order-stairfurb .add-bespoke-container .product-selection-container .product-selection-inner .btn:focus {
  background: #f3f4f6;
  box-shadow: none;
  color: #37424d;
}
.manage-order-wrapper.manage-order-stairfurb .regular-list,
.manage-order-wrapper.manage-order-stairfurb .bespoke-list {
  display: grid;
  gap: 0;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container {
  max-width: none;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #e1e6ea;
  background: #ffffff !important;
  padding: 14px;
  gap: 14px;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container:last-child {
  border-bottom: 0;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-data {
  min-width: 0;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-data img {
  width: 54px;
  height: 54px;
  margin-right: 14px;
  object-fit: contain;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-data h4 {
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.3;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-data p {
  color: #52606d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions {
  gap: 16px;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .price {
  margin: 0;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .quantity-container {
  border: 1px solid #e1e6ea;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .quantity-container .quant,
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .quantity-container .quantity {
  min-width: 34px;
  padding: 8px 10px;
  color: #374151;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .quantity-container .quantity {
  border-right: 1px solid #e1e6ea;
  border-left: 1px solid #e1e6ea;
}
.manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions .btn-remove-regular-item {
  color: #b45d5d;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item {
  min-width: 0;
  border: 1px solid #e1e6ea;
  background: #ffffff;
  padding: 14px;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .name {
  align-items: stretch;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .name img {
  max-width: none;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
  background: #f8fafc;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details h3 {
  margin: 14px 0 10px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.3;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .not-configured,
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .waiting-angle {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 8px;
  background: #fff7ed;
  color: #c2410c;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details p {
  margin: 5px 0;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details p b {
  color: #52606d;
  font-weight: 900;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .buttons {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}
.manage-order-wrapper.manage-order-stairfurb .bespoke-list .bespoke-item .details .buttons .btn-remove {
  color: #b45d5d;
}
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container {
  display: grid;
  gap: 16px;
}
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container h4,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container h4 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.3;
  text-transform: uppercase;
}
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container .addition-option-line,
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container .prepaint-option-line,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container .addition-option-line,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container .prepaint-option-line {
  max-width: none;
  border: 0;
  border-bottom: 1px solid #e1e6ea;
  background: #ffffff;
  padding: 10px 12px;
}
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container .addition-option-line:last-child,
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container .prepaint-option-line:last-child,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container .addition-option-line:last-child,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container .prepaint-option-line:last-child {
  border-bottom: 0;
}
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container .addition-option-line img,
.manage-order-wrapper.manage-order-stairfurb .configurator-range-container .prepaint-option-line img,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container .addition-option-line img,
.manage-order-wrapper.manage-order-stairfurb .pre-paint-container .prepaint-option-line img {
  border: 0;
  border-radius: 0;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .summary-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.5fr);
  gap: 22px;
  align-items: start;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container {
  border: 1px solid #e1e6ea;
  border-left: 5px solid #3197d5;
  background: #f0f9ff;
  padding: 18px;
  font-size: 14px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  margin: 0;
  border-bottom: 1px solid #d9edf8;
  padding: 10px 0;
  color: #1f2933;
  font-weight: 800;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container div:first-child {
  padding-top: 0;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container div b {
  color: #52606d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container p {
  margin: 14px 0 0;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container p b {
  color: #111827;
  font-weight: 900;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .final-pricing-container p a {
  color: #111827;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section {
  border: 1px solid #e1e6ea;
  background: #ffffff;
  padding: 18px;
  text-align: center;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section .sign-off-container {
  margin: 0;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section h3 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.3;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section p {
  margin: 0 0 12px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section .sign-off-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0 auto 12px;
  border: 1px solid #3cb67a;
  background: #3cb67a !important;
  color: #ffffff !important;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section .sign-off-btn:hover, .manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section .sign-off-btn:focus {
  background: #33a068 !important;
  border-color: #33a068;
  box-shadow: none;
}
.manage-order-wrapper.manage-order-stairfurb .manage-summary .sign-off-section .sign-off-btn.disabled {
  border-color: #d1d5db;
  background: #f3f4f6 !important;
  color: #9ca3af !important;
}
@media (max-width: 820px) {
  .manage-order-wrapper.manage-order-stairfurb {
    padding-right: 14px;
    padding-left: 14px;
  }
  .manage-order-wrapper.manage-order-stairfurb .intro-container__header,
  .manage-order-wrapper.manage-order-stairfurb .manage-section > h3,
  .manage-order-wrapper.manage-order-stairfurb .manage-order-hero__top {
    align-items: flex-start;
    flex-direction: column;
  }
  .manage-order-wrapper.manage-order-stairfurb .manage-order-hero--with-visual {
    grid-template-columns: 1fr;
  }
  .manage-order-wrapper.manage-order-stairfurb .manage-order-hero__visual,
  .manage-order-wrapper.manage-order-stairfurb .manage-order-hero__visual img {
    min-height: 220px;
  }
  .manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-data,
  .manage-order-wrapper.manage-order-stairfurb .regular-item-container .item-actions {
    width: 100%;
    justify-content: space-between;
  }
  .manage-order-wrapper.manage-order-stairfurb .manage-summary .summary-container {
    grid-template-columns: 1fr;
  }
}

.sf-manage-order-page {
  background: #f1f1f1 !important;
}
.sf-manage-order-page .site-header,
.sf-manage-order-page .site-footer,
.sf-manage-order-page .elementor-location-header,
.sf-manage-order-page .elementor-location-footer,
.sf-manage-order-page [data-elementor-type=header],
.sf-manage-order-page [data-elementor-type=footer],
.sf-manage-order-page footer[role=contentinfo] {
  display: none !important;
}
.sf-manage-order-page main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #f1f1f1;
}

.manage-order-shell {
  background: #ffffff;
  color: #1f2933;
}

.manage-order-shell--top {
  border-bottom: 1px solid #e5e7eb;
}

.manage-order-shell--bottom {
  border-top: 1px solid #e5e7eb;
}

.manage-order-shell__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 18px 20px;
}

.manage-order-shell__brand {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.manage-order-shell__brand img {
  display: block;
  width: 150px;
  height: auto;
}

.manage-order-shell__inner--bottom {
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 16px;
  padding-bottom: 16px;
  color: #4b5563;
  font-size: 14px;
}

.manage-order-shell__help {
  font-weight: 800;
}

.manage-order-shell__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 18px;
}
.manage-order-shell__links a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.manage-order-wrapper button,
.manage-order-wrapper input,
.manage-order-wrapper textarea,
.manage-order-wrapper select,
.manage-order-wrapper .btn,
.manage-order-wrapper .input-container,
.manage-order-wrapper .direction-chooser-container,
.manage-order-wrapper .direction-chooser,
.manage-order-wrapper .end-chooser,
.manage-order-wrapper .product-selection-container,
.manage-order-wrapper .edit-bespoke-inner,
.manage-order-wrapper .add-regular-inner,
.manage-order-wrapper .addition-check-inner,
.manage-order-wrapper .prepaint-check-inner,
.edit-bespoke-popup button,
.edit-bespoke-popup input,
.edit-bespoke-popup textarea,
.edit-bespoke-popup select,
.edit-bespoke-popup .btn,
.edit-bespoke-popup .input-container,
.edit-bespoke-popup .direction-chooser-container,
.edit-bespoke-popup .direction-chooser,
.edit-bespoke-popup .end-chooser,
.edit-bespoke-popup .product-selection-container,
.edit-bespoke-popup .edit-bespoke-inner,
.edit-bespoke-popup .add-regular-inner,
.edit-bespoke-popup .addition-check-inner,
.edit-bespoke-popup .prepaint-check-inner,
.add-regular-popup button,
.add-regular-popup input,
.add-regular-popup textarea,
.add-regular-popup select,
.add-regular-popup .btn,
.add-regular-popup .input-container,
.add-regular-popup .direction-chooser-container,
.add-regular-popup .direction-chooser,
.add-regular-popup .end-chooser,
.add-regular-popup .product-selection-container,
.add-regular-popup .edit-bespoke-inner,
.add-regular-popup .add-regular-inner,
.add-regular-popup .addition-check-inner,
.add-regular-popup .prepaint-check-inner {
  border-radius: 0 !important;
}

@media (max-width: 640px) {
  .manage-order-shell__inner {
    padding: 14px;
  }
  .manage-order-shell__brand img {
    width: 132px;
  }
  .manage-order-shell__inner--bottom {
    display: block;
    text-align: center;
  }
  .manage-order-shell__help,
  .manage-order-shell__links {
    display: block;
  }
  .manage-order-shell__links a {
    display: inline-block;
    margin: 8px 8px 0;
  }
}
.page-template-recommended-fitter-map .map-page-content,
.page-template-fitter-map .map-page-content,
.post-type-archive-recommendedfitter .map-page-content {
  padding-bottom: 128px;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container, .page-template-recommended-fitter-map .fitter-list .page-intro, .page-template-recommended-fitter-map .map-search .map-search-container,
.page-template-fitter-map .fitter-list .fitter-list-container,
.page-template-fitter-map .fitter-list .page-intro,
.page-template-fitter-map .map-search .map-search-container,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container,
.post-type-archive-recommendedfitter .fitter-list .page-intro,
.post-type-archive-recommendedfitter .map-search .map-search-container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px;
}
.page-template-recommended-fitter-map .map-search,
.page-template-fitter-map .map-search,
.post-type-archive-recommendedfitter .map-search {
  background-color: #3197d5;
  color: #fff;
  display: none;
}
.page-template-recommended-fitter-map .map-search .map-search-container,
.page-template-fitter-map .map-search .map-search-container,
.post-type-archive-recommendedfitter .map-search .map-search-container {
  padding: 15px;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form,
.page-template-fitter-map .map-search .map-search-container .search-form,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form {
  display: flex;
  justify-content: space-between;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .search-input-wrap #map-search,
.page-template-fitter-map .map-search .map-search-container .search-form .search-input-wrap #map-search,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .search-input-wrap #map-search {
  padding: 6px;
  margin-left: 7px;
  border: solid 1px rgba(255, 255, 255, 0.4);
  background-color: transparent;
  outline: 0;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap {
  display: inline-flex;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter {
  position: relative;
  display: flex;
  align-items: center;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter label {
  position: relative;
  display: inline-block;
  padding: 3px 45px 3px 0;
  margin: 0 20px 0 0;
  cursor: pointer;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:after,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:after,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter label:after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 20px;
  border: solid 1px rgba(255, 255, 255, 0.4);
  border-radius: 20px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:before,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter label:before,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter label:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  position: absolute;
  top: 50%;
  right: 23px;
  transform: translateY(-50%);
  transition: all 0.2s ease-in-out;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter input {
  position: absolute;
  height: 0;
  width: 0;
  opacity: 0;
}
.page-template-recommended-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input:checked + label:before,
.page-template-fitter-map .map-search .map-search-container .search-form .map-filter-wrap .filter input:checked + label:before,
.post-type-archive-recommendedfitter .map-search .map-search-container .search-form .map-filter-wrap .filter input:checked + label:before {
  right: 3px;
  background-color: #ffb310;
  transition: all 0.2s ease-in-out;
}
.page-template-recommended-fitter-map .fitter-map,
.page-template-recommended-fitter-map .recommended-fitter-map,
.page-template-fitter-map .fitter-map,
.page-template-fitter-map .recommended-fitter-map,
.post-type-archive-recommendedfitter .fitter-map,
.post-type-archive-recommendedfitter .recommended-fitter-map {
  width: 100%;
  height: 750px;
}
.page-template-recommended-fitter-map .fitter-map .marker,
.page-template-recommended-fitter-map .recommended-fitter-map .marker,
.page-template-fitter-map .fitter-map .marker,
.page-template-fitter-map .recommended-fitter-map .marker,
.post-type-archive-recommendedfitter .fitter-map .marker,
.post-type-archive-recommendedfitter .recommended-fitter-map .marker {
  display: none;
}
.page-template-recommended-fitter-map .fitter-list,
.page-template-fitter-map .fitter-list,
.post-type-archive-recommendedfitter .fitter-list {
  margin-top: 30px;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container,
.page-template-fitter-map .fitter-list .fitter-list-container,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container {
  padding: 30px 15px;
  display: grid;
  grid: auto/repeat(auto-fill, minmax(230px, 450px));
  grid-gap: 30px;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter,
.page-template-fitter-map .fitter-list .fitter-list-container .fitter,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter {
  border-left: 2px solid;
  padding: 0 0 0 15px;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .taxonomy-name,
.page-template-fitter-map .fitter-list .fitter-list-container .fitter .taxonomy-name,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .taxonomy-name {
  margin: 0 0 5px;
  display: inline-block;
  font-weight: 800;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .name,
.page-template-fitter-map .fitter-list .fitter-list-container .fitter .name,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .name {
  margin: 0 0 5px;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .detail,
.page-template-fitter-map .fitter-list .fitter-list-container .fitter .detail,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .detail {
  display: inline-block;
  width: 100%;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .detail a,
.page-template-fitter-map .fitter-list .fitter-list-container .fitter .detail a,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .detail a {
  color: inherit;
}
.page-template-recommended-fitter-map .fitter-list .fitter-list-container .fitter .detail a:hover,
.page-template-fitter-map .fitter-list .fitter-list-container .fitter .detail a:hover,
.post-type-archive-recommendedfitter .fitter-list .fitter-list-container .fitter .detail a:hover {
  text-decoration: underline;
}

.post-type-archive-recommendedfitter .map_controls_container {
  display: flex;
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  margin: auto;
  margin-bottom: 25px;
}
@media only screen and (max-width: 1024px) {
  .post-type-archive-recommendedfitter .map_controls_container {
    flex-direction: column;
  }
}
.post-type-archive-recommendedfitter .map_controls_container .fitter_information {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  margin-top: 20px;
}
.post-type-archive-recommendedfitter .map_controls_container .fitter_information h4 {
  margin-top: 0;
}
@media only screen and (max-width: 650px) {
  .post-type-archive-recommendedfitter .map_controls_container .fitter_information {
    flex-direction: column;
    justify-content: unset;
  }
  .post-type-archive-recommendedfitter .map_controls_container .fitter_information div {
    margin-bottom: 10px;
  }
}
.post-type-archive-recommendedfitter .map_controls_container .map_filters {
  width: 50%;
}
@media only screen and (max-width: 1024px) {
  .post-type-archive-recommendedfitter .map_controls_container .map_filters {
    width: 100%;
  }
}
.post-type-archive-recommendedfitter .map_controls_container .map_filters label {
  white-space: nowrap;
  margin-right: 8px;
}
.post-type-archive-recommendedfitter .map_controls_container .map_filters INPUT[type=checkbox]:focus {
  outline: none;
}
.post-type-archive-recommendedfitter .map_controls_container .map_filters INPUT[type=checkbox] {
  border: 1px solid #3e4b5b;
  border-radius: 2px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 21px;
  height: 21px;
  cursor: pointer;
  position: relative;
  top: 5px;
  margin-right: 5px;
}
.post-type-archive-recommendedfitter .map_controls_container .map_filters INPUT[type=checkbox]:checked {
  background-color: #3e4b5b;
  background: #3e4b5b url("data:image/gif;base64,R0lGODlhCwAKAIABAP////3cnSH5BAEKAAEALAAAAAALAAoAAAIUjH+AC73WHIsw0UCjglraO20PNhYAOw==") 3px 3px no-repeat;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container {
  width: 50%;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .address_in_area_para {
  margin-bottom: 0;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .stairfurb_recommended_fitter h4,
.post-type-archive-recommendedfitter .map_controls_container .search_container .customer_recommended_fitter h4 {
  display: flex;
  align-items: center;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .stairfurb_recommended_fitter .stairfurb_pointer,
.post-type-archive-recommendedfitter .map_controls_container .search_container .customer_recommended_fitter .stairfurb_pointer {
  background-image: url("/app/themes/gsl-child/assets/img/map-pointer.svg");
  width: 30px;
  height: 30px;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .stairfurb_recommended_fitter .google_pointer,
.post-type-archive-recommendedfitter .map_controls_container .search_container .customer_recommended_fitter .google_pointer {
  background-image: url("/app/themes/gsl-child/assets/img/Google_Maps_pin.svg.png");
  width: 30px;
  height: 30px;
  background-size: contain;
  background-position: center;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container {
  display: flex;
  align-items: center;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container h4 {
  margin-right: 10px;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container .fa-times {
  color: red;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .address_status_container .fa-check {
  color: green;
}
@media only screen and (max-width: 1024px) {
  .post-type-archive-recommendedfitter .map_controls_container .search_container {
    width: 100%;
  }
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .pac-target-input {
  border: 2px solid #ffb310;
  border-radius: 30px;
  padding: 10px;
  padding-top: 7px;
  padding-bottom: 7px;
  width: 350px;
  text-align: center;
}
.post-type-archive-recommendedfitter .map_controls_container .search_container .pac-target-input:focus {
  outline: none;
}

#fitter-contact-info {
  display: none;
}

.elementor-editor-active #fitter-contact-info {
  display: block;
}

#fitter-recent-work img {
  height: 450px;
  object-fit: cover;
  width: 100%;
  margin: 0 10px;
}

#recommended_fitter_form_wrapper .elementor-message-success {
  display: none !important;
}

.fitter-info-wrapper {
  display: none;
}

.elementor-editor-active .fitter-info-wrapper {
  display: block;
}

.elementor-popup-modal {
  top: 0 !important;
  bottom: 0 !important;
  z-index: 100000 !important;
  height: 100% !important;
  position: fixed !important;
}

.fitter-see-profile-btn {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  fill: #ffffff;
  color: #ffffff;
  background-color: #616d79;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  border-radius: 0px 0px 0px 0px;
  padding: 10px 20px;
  cursor: pointer;
}
.fitter-see-profile-btn:hover {
  background-color: white;
  color: #616d79;
}

.fitter-put-in-touch-btn {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  fill: #ffffff;
  color: #ffffff;
  background-color: #616d79;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  border-radius: 0px 0px 0px 0px;
  padding: 10px 20px;
  cursor: pointer;
}
.fitter-put-in-touch-btn:hover {
  background-color: white;
  color: #616d79;
}

.cst-form-popup-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8509803922);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 100000000;
  backdrop-filter: blur(8px);
}
.cst-form-popup-wrapper .cst-form-inner {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  background-color: white;
  padding: 25px;
  margin: 0 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  max-width: 420px;
}
.cst-form-popup-wrapper .cst-form-inner .cst-fitter-details {
  display: none;
  width: 100%;
}
.cst-form-popup-wrapper .cst-form-inner .cst-fitter-details .detail {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
  font-size: 16px;
}
.cst-form-popup-wrapper .cst-form-inner p {
  font-weight: 700;
}
.cst-form-popup-wrapper .cst-form-inner .cst-form {
  width: 100%;
}
.cst-form-popup-wrapper .cst-form-inner .cst-form .cst-ff {
  width: 100%;
  margin: 10px 0;
  padding: 10px;
}
.cst-form-popup-wrapper .cst-form-inner .cst-form .buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  margin-top: 20px;
}
.cst-form-popup-wrapper .cst-form-inner .cst-form .buttons .cst-submit {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  background-color: #3cb67a;
  border: none;
  text-transform: uppercase;
  padding: 8px 20px;
  width: 100%;
  cursor: pointer;
}
.cst-form-popup-wrapper .cst-form-inner .cst-form .buttons .cancel {
  padding: 15px 30px;
  cursor: pointer;
  margin-top: 10px;
}
.cst-form-popup-wrapper .cst-form-inner .cst-close {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  background-color: #3cb67a;
  border: none;
  text-transform: uppercase;
  padding: 8px 20px;
  width: 100%;
  cursor: pointer;
  text-align: center;
  margin-top: 50px;
}

.single-recommendedfitter .site-footer {
  margin-top: -120px 0;
}
.single-recommendedfitter .elementor-lightbox {
  display: none !important;
}
.single-recommendedfitter .background_profile {
  background-color: #3197d5;
}
.single-recommendedfitter .profile_info_container {
  display: flex;
  color: white;
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  margin: auto;
}
@media only screen and (max-width: 650px) {
  .single-recommendedfitter .profile_info_container {
    flex-direction: column;
  }
}
.single-recommendedfitter .profile_info_container .profile_image_container {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
  padding-top: 20px;
  width: 60%;
}
.single-recommendedfitter .profile_info_container .profile_image_container img {
  max-width: 60%;
}
@media only screen and (max-width: 650px) {
  .single-recommendedfitter .profile_info_container .profile_image_container {
    width: 100%;
  }
}
.single-recommendedfitter .profile_info_container h2 {
  padding-top: 35px;
  padding-bottom: 26px;
}
@media only screen and (max-width: 650px) {
  .single-recommendedfitter .profile_info_container h2 {
    display: flex;
    justify-content: center;
  }
}
.single-recommendedfitter .profile_info_container .areas_info_container {
  display: flex;
  justify-content: center;
  padding-bottom: 35px;
  flex-direction: column;
}
.single-recommendedfitter .profile_info_container .areas_info_container .profile_data {
  display: flex;
  flex-direction: column;
  font-size: 16px;
}
@media only screen and (max-width: 650px) {
  .single-recommendedfitter .profile_info_container .areas_info_container .profile_data {
    margin: auto;
  }
}
.single-recommendedfitter .profile_info_container .areas_info_container .profile_data div {
  margin-bottom: 10px;
}
.single-recommendedfitter .areas_covered_container {
  background-color: white;
  color: black;
  padding-top: 100px;
  padding-bottom: 100px;
}
.single-recommendedfitter .areas_covered_container h2 {
  text-align: center;
}
.single-recommendedfitter .areas_covered_container .areas_covered {
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  padding-bottom: 40px;
  margin: auto;
}
.single-recommendedfitter .about_container {
  background-color: #3e4b5b;
  padding-top: 100px;
  padding-bottom: 100px;
}
.single-recommendedfitter .about_container .about_profile {
  display: flex;
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  margin: auto;
  flex-direction: column;
  color: white;
  text-align: center;
}
.single-recommendedfitter .about_container .about_profile h2 {
  text-align: center;
  text-transform: uppercase;
  font-size: 24px;
}
.single-recommendedfitter .recent_works_container {
  background-color: #3197d5;
  padding-top: 20px;
  padding-bottom: 100px;
  /* the parent */
}
.single-recommendedfitter .recent_works_container h2 {
  padding-top: 35px;
  padding-bottom: 26px;
  text-align: center;
  color: white;
  text-transform: uppercase;
  font-size: 24px;
}
.single-recommendedfitter .recent_works_container .slick_recent_works {
  display: flex;
  max-width: 1543px;
  padding-left: 10px;
  padding-right: 10px;
  margin: auto;
  flex-direction: column;
}
.single-recommendedfitter .recent_works_container .slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.single-recommendedfitter .recent_works_container .slick-list .slick-track li {
  margin-left: 10px;
  margin-right: 10px;
}
.single-recommendedfitter .recent_works_container .slick-slide {
  margin: 0 7px;
}
.single-recommendedfitter .recent_works_container .slick-list {
  margin: 0 -7px;
}
.single-recommendedfitter .recent_works_container .slick-arrow {
  font-size: 0;
  width: 30px;
  border: none;
  color: #3e4b5b;
  background-color: transparent;
  padding: 0;
}
.single-recommendedfitter .recent_works_container .slick-arrow:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 35px;
}
.single-recommendedfitter .recent_works_container .slick-arrow.slick-next {
  position: absolute;
  right: -55px;
  top: 140px;
  z-index: 999;
}
@media only screen and (max-width: 1900px) {
  .single-recommendedfitter .recent_works_container .slick-arrow.slick-next {
    right: 20px;
  }
}
.single-recommendedfitter .recent_works_container .slick-arrow.slick-next:before {
  content: "\f054";
}
.single-recommendedfitter .recent_works_container .slick-arrow.slick-prev {
  position: absolute;
  left: -55px;
  top: 140px;
  z-index: 999;
}
@media only screen and (max-width: 1900px) {
  .single-recommendedfitter .recent_works_container .slick-arrow.slick-prev {
    left: 20px;
  }
}
.single-recommendedfitter .recent_works_container .slick-arrow.slick-prev:before {
  content: "\f053";
}
.single-recommendedfitter .recent_works_container .slick-arrow.slick-disabled {
  opacity: 0.4;
}

.post-type-archive-recommendedfitter .site-footer {
  margin: -120px 0 !important;
}

.other-products-header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e3e3e3;
}
.other-products-header-container .add-parts-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px;
  background-color: #fff !important;
  color: #37424d !important;
  border: 0 !important;
  padding: 5px 8px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.other-products-header-container .add-parts-btn:hover, .other-products-header-container .add-parts-btn:focus {
  background-color: #f3f4f6 !important;
  color: #37424d !important;
}
@media (max-width: 440px) {
  .other-products-header-container {
    flex-direction: column;
    align-items: flex-start;
  }
  .other-products-header-container .add-parts-btn {
    margin-left: 0;
    margin-top: 10px;
    width: auto !important;
  }
}

.parts-shop-promo .add-parts-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #37424d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.parts-shop-promo .add-parts-btn:hover, .parts-shop-promo .add-parts-btn:focus {
  background-color: #f3f4f6 !important;
  color: #37424d !important;
}

.cart-production-note {
  background-color: #f8fafc;
  border: 1px solid #d9dee3;
  padding: 20px;
  margin-bottom: 25px;
  position: relative;
}
.cart-production-note__header {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
.cart-production-note__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  color: #3e4b5b;
  text-transform: none;
}
.cart-production-note__actions {
  margin: 0;
}
.cart-production-note__remove {
  background: #c0392b !important;
  background-color: #c0392b !important;
  color: #fff !important;
  border: none !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  border-radius: 0;
  text-transform: none !important;
  min-width: auto !important;
  font-weight: 600 !important;
}
.cart-production-note__body {
  font-size: 15px;
  color: #333;
}
.cart-production-note__body p {
  margin: 0 0 10px;
}
.cart-production-note__body p:last-child {
  margin-bottom: 0;
}

.woocommerce .cart-production-note .cart-production-note__remove.button,
.woocommerce-cart .cart-production-note .cart-production-note__remove.button {
  background: #c0392b !important;
  background-color: #c0392b !important;
  color: #fff !important;
  border: none !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  border-radius: 0;
  text-transform: none !important;
  min-width: auto !important;
  font-weight: 600 !important;
}

.woocommerce-cart .crt-main-kit-header,
.woocommerce-cart .crt-section-heading,
.woocommerce-cart .crt-sections-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e3e3e3;
}
.woocommerce-cart .crt-main-kit-header h3,
.woocommerce-cart .crt-section-heading h3,
.woocommerce-cart .crt-sections-header h3 {
  margin: 0;
}
.woocommerce-cart .crt-main-kit-header .cart-change-style-finish,
.woocommerce-cart .crt-main-kit-header .cart-edit-section,
.woocommerce-cart .crt-main-kit-header .cart-add-section,
.woocommerce-cart .crt-section-heading .cart-change-style-finish,
.woocommerce-cart .crt-section-heading .cart-edit-section,
.woocommerce-cart .crt-section-heading .cart-add-section,
.woocommerce-cart .crt-sections-header .cart-change-style-finish,
.woocommerce-cart .crt-sections-header .cart-edit-section,
.woocommerce-cart .crt-sections-header .cart-add-section {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px;
  margin: 0 !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #37424d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.woocommerce-cart .crt-main-kit-header .cart-change-style-finish:hover, .woocommerce-cart .crt-main-kit-header .cart-change-style-finish:focus,
.woocommerce-cart .crt-main-kit-header .cart-edit-section:hover,
.woocommerce-cart .crt-main-kit-header .cart-edit-section:focus,
.woocommerce-cart .crt-main-kit-header .cart-add-section:hover,
.woocommerce-cart .crt-main-kit-header .cart-add-section:focus,
.woocommerce-cart .crt-section-heading .cart-change-style-finish:hover,
.woocommerce-cart .crt-section-heading .cart-change-style-finish:focus,
.woocommerce-cart .crt-section-heading .cart-edit-section:hover,
.woocommerce-cart .crt-section-heading .cart-edit-section:focus,
.woocommerce-cart .crt-section-heading .cart-add-section:hover,
.woocommerce-cart .crt-section-heading .cart-add-section:focus,
.woocommerce-cart .crt-sections-header .cart-change-style-finish:hover,
.woocommerce-cart .crt-sections-header .cart-change-style-finish:focus,
.woocommerce-cart .crt-sections-header .cart-edit-section:hover,
.woocommerce-cart .crt-sections-header .cart-edit-section:focus,
.woocommerce-cart .crt-sections-header .cart-add-section:hover,
.woocommerce-cart .crt-sections-header .cart-add-section:focus {
  background-color: #f3f4f6 !important;
  color: #37424d !important;
}
.woocommerce-cart .crt-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-bottom: 8px;
}
.woocommerce-cart .crt-section-heading h3 {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.woocommerce-cart .crt-section-heading .cart-edit-section {
  border-color: transparent !important;
}
.woocommerce-cart .crt-main-kit-header {
  margin-bottom: 18px;
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper {
  align-items: stretch;
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image {
  flex: 999 1 0;
  width: auto;
  min-width: 180px;
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 590px) {
  .woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image {
    flex: none;
    width: 100%;
    min-width: 0;
    height: 180px;
  }
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details {
  flex: 0 1 max-content;
  min-width: 220px;
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-style-name {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: #333;
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs p {
  font-size: 13px;
}
.woocommerce-cart .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs .crt-total {
  font-size: 15px;
  border-bottom: 0;
  text-decoration: none;
}
.woocommerce-cart .crt-config-wrapper .crt-total-inst {
  margin-bottom: 0;
}
.woocommerce-cart .crt-config-wrapper .crt-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: center;
}
@media (max-width: 590px) {
  .woocommerce-cart .crt-config-wrapper .crt-sections {
    grid-template-columns: 1fr;
  }
}
.woocommerce-cart .crt-config-wrapper .crt-sections .crt-section-wrapper {
  align-self: stretch;
  width: 100%;
  max-width: 360px;
}
.woocommerce-cart .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats {
  width: 100%;
  min-width: 0;
}
.woocommerce-cart .crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dd {
  text-align: right;
}
.woocommerce-cart .sf-cart-review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 440px);
  gap: 32px;
  align-items: start;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}
.woocommerce-cart .sf-cart-review-layout__main {
  min-width: 0;
  padding-top: 22px;
}
.woocommerce-cart .woocommerce-cart-form__contents {
  border: 0 !important;
  border-collapse: collapse;
  color: #333;
  font-size: 13px;
}
.woocommerce-cart .woocommerce-cart-form__contents thead {
  border: 0 !important;
}
.woocommerce-cart .woocommerce-cart-form__contents th,
.woocommerce-cart .woocommerce-cart-form__contents td {
  border: 0 !important;
  background: transparent !important;
  font-size: 13px;
  line-height: 1.35;
}
.woocommerce-cart .woocommerce-cart-form__contents thead th {
  padding: 8px 8px 10px !important;
  border-bottom: 1px solid #e3e3e3 !important;
  color: #333;
  font-size: 13px;
  font-weight: 700;
  text-transform: none;
}
.woocommerce-cart .woocommerce-cart-form__contents tbody tr.cart_item {
  border-bottom: 1px solid #e3e3e3;
}
.woocommerce-cart .woocommerce-cart-form__contents tbody tr.cart_item td {
  padding: 12px 8px !important;
  vertical-align: middle;
}
.woocommerce-cart .woocommerce-cart-form__contents .product-name a {
  font-size: 13px;
  font-weight: 700;
}
.woocommerce-cart .woocommerce-cart-form__contents .product-price,
.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal,
.woocommerce-cart .woocommerce-cart-form__contents .product-quantity {
  font-size: 13px;
}
.woocommerce-cart .woocommerce-cart-form__contents .product-quantity .quantity {
  display: inline-flex;
  align-items: center;
}
.woocommerce-cart .woocommerce-cart-form__contents .product-quantity input.qty {
  width: 56px !important;
  min-height: 34px;
  padding: 6px 8px !important;
  border: 1px solid #c7d0cc !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
  outline: 0;
}
.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail img {
  max-width: 70px;
}
.woocommerce-cart .sf-cart-review-layout__summary {
  position: sticky;
  top: 42px;
  align-self: start;
  background: #f1f1f1;
  border: 1px solid #e1e6ea;
  height: fit-content;
  padding: 22px;
  z-index: 2;
}
.woocommerce-cart .sf-cart-review-layout__summary .cart-collaterals {
  position: static;
  width: 100%;
}
.woocommerce-cart .sf-cart-review-layout__summary .cart-collaterals::before, .woocommerce-cart .sf-cart-review-layout__summary .cart-collaterals::after {
  display: none;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e3e3e3;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-header h2 {
  margin: 0;
  padding: 0;
  line-height: 1;
}
.woocommerce-cart .sf-cart-review-layout__summary .cart_totals {
  float: none;
  width: 100%;
}
.woocommerce-cart .sf-cart-review-layout__summary .cart_totals h2 {
  margin: 0;
  padding: 0;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table {
  border-collapse: separate;
  border-spacing: 0;
  padding: 0 8px;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: center;
  padding: 10px 0;
  border: 0 !important;
  border-bottom: 1px solid #e3e3e3 !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table tr:last-child {
  border-bottom: 0 !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table th,
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table td {
  display: block;
  border: 0 !important;
  padding: 0 !important;
  line-height: 1.35;
  background: transparent !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table th {
  font-size: 14px;
  font-weight: 700;
  color: #2f3a45;
  text-align: left;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table tr:not(.sf-cart-adjustment) th {
  padding-left: 9px !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table td {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  padding-right: 9px !important;
  text-align: right;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table td::before,
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table td:before {
  content: none !important;
  display: none !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-adjustment th {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  padding: 5px 9px !important;
  background: #e8f5ef !important;
  color: #246447;
  font-size: 12px;
  text-transform: uppercase;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-sale-discount th::before {
  content: "%";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background: #3cb67a;
  color: #fff;
  font-size: 10px;
  line-height: 1;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .woocommerce-remove-coupon {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  color: #4b5563 !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: none;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .woocommerce-remove-coupon:hover, .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .woocommerce-remove-coupon:focus {
  color: #111 !important;
  background: transparent;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-static-shipping td {
  color: #56616b;
  font-weight: 600;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row {
  align-items: start;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) {
  grid-template-columns: minmax(0, 1fr) auto;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row .sf-cart-coupon {
  margin: 0;
  text-align: right;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row .sf-cart-coupon summary {
  margin: 0 0 0 auto;
  color: #3e4b5b;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon__close-label {
  display: none;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon[open] .sf-cart-coupon__open-label {
  display: none;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon[open] .sf-cart-coupon__close-label {
  display: inline;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) td {
  display: contents;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) .sf-cart-coupon {
  display: contents;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) summary {
  padding-right: 9px;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row .sf-cart-coupon__form {
  width: 100%;
  max-width: none;
  margin-top: 10px;
  margin-right: 0;
  margin-left: 0;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) .sf-cart-coupon__form {
  grid-column: 1/-1;
  margin-top: 0;
  padding-right: 9px;
  padding-left: 9px;
}
@media (max-width: 450px) {
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table tr,
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table td {
    padding-right: 9px !important;
    padding-left: 9px !important;
    text-align: left !important;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table tr:not(.sf-cart-coupon-row) td {
    padding-left: 9px !important;
    padding-right: 9px !important;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row .sf-cart-coupon {
    text-align: right;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row .sf-cart-coupon summary {
    margin: 0 0 0 auto;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row,
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row td {
    padding-left: 0 !important;
    text-align: right;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .sf-cart-totals-table .sf-cart-coupon-row:has(details[open]) summary {
    padding-right: 9px;
  }
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-total-summary {
  margin: 18px 8px 0;
  padding: 20px 0 18px;
  text-align: center;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-total-summary h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: #2f3a45;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-total-summary__amount {
  margin: 0;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  color: #111;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-total-summary__note {
  margin: 5px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: #68737d;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-coupon {
  margin: 0 8px 18px;
  text-align: center;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-coupon summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
  cursor: pointer;
  color: #37424d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-coupon summary::-webkit-details-marker {
  display: none;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-coupon__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  max-width: 300px;
  margin-top: 9px;
  margin-right: auto;
  margin-left: auto;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-coupon__form input.input-text {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 6px 8px !important;
  border: 1px solid #c7d0cc !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-size: 13px;
  line-height: 1.2;
}
.woocommerce-cart .sf-cart-review-layout__summary .sf-cart-coupon__form button.button {
  width: max-content !important;
  min-width: 0 !important;
  min-height: 34px;
  padding: 6px 10px !important;
  border: 1px solid #3cb67a !important;
  border-radius: 0 !important;
  background: #3cb67a !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
.woocommerce-cart .sf-cart-review-layout__summary .save-cart-button-container {
  margin: 0 !important;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  width: auto;
}
.woocommerce-cart .sf-cart-review-layout__summary .save-cart-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px;
  margin: 0 !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #37424d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.woocommerce-cart .sf-cart-review-layout__summary .save-cart-cart:hover, .woocommerce-cart .sf-cart-review-layout__summary .save-cart-cart:focus {
  background-color: #f7f7f7 !important;
  color: #37424d !important;
}
.woocommerce-cart .wc-proceed-to-checkout {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  color: white !important;
  background-color: #3cb67a !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce-cart .sf-cart-sticky-checkout {
  display: none;
}
@media (max-width: 1040px) {
  .woocommerce-cart.sf-cart-sticky-checkout-ready main {
    padding-bottom: calc(190px + env(safe-area-inset-bottom)) !important;
  }
  .woocommerce-cart.cart-popup-open .sf-cart-sticky-checkout {
    display: none;
  }
  .woocommerce-cart .sf-cart-review-layout {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0 14px;
  }
  .woocommerce-cart .sf-cart-review-layout__summary {
    position: static;
    top: auto;
    height: auto;
  }
  .woocommerce-cart .sf-cart-review-layout__summary .cart-collaterals {
    position: static;
  }
  .woocommerce-cart .sf-cart-sticky-checkout {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9990;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 12px;
    align-items: center;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid #e3e3e3;
    background: #f6f8f7;
    box-shadow: 0 -8px 24px rgba(17, 24, 39, 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(110%);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .woocommerce-cart .sf-cart-sticky-checkout.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .woocommerce-cart .sf-cart-sticky-checkout__total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    min-width: 0;
    gap: 12px;
  }
  .woocommerce-cart .sf-cart-sticky-checkout__total span {
    color: #2f3a45;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
  }
  .woocommerce-cart .sf-cart-sticky-checkout__total strong {
    color: #111;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
  }
  .woocommerce-cart .sf-cart-sticky-checkout__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 0;
    border-radius: 0;
    background: #3cb67a;
    color: #fff !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
  }
}
@media (max-width: 430px) {
  .woocommerce-cart .sf-cart-sticky-checkout {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .woocommerce-cart .sf-cart-sticky-checkout__button {
    width: 100%;
  }
}
@media (max-width: 450px) {
  .woocommerce-cart .sf-cart-review-layout {
    padding-right: 0;
    padding-left: 0;
  }
  .woocommerce-cart .sf-cart-review-layout__summary {
    padding: 16px 14px;
  }
}
@media (max-width: 410px) {
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    font-size: 16px !important;
  }
}
@media (max-width: 500px) {
  .woocommerce-cart .crt-main-kit-header h3,
  .woocommerce-cart .crt-sections-header h3,
  .woocommerce-cart .other-products-header-container h3 {
    font-size: 18px;
  }
}
@media (max-width: 440px) {
  .woocommerce-cart .crt-main-kit-header,
  .woocommerce-cart .crt-sections-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

.or-divider-sufix {
  margin-top: 15px !important;
}

.cart-collaterals .cxecrt-button-holder .cxecrt-cart-page-button {
  border-radius: 0 !important;
}
.cart-collaterals .cxecrt-button-holder .cxecrt-cart-page-button:hover {
  background-color: #3cb67a !important;
  color: white !important;
  border-color: #3cb67a !important;
}

.cart-collaterals .empty-btn .button {
  border-radius: 0 !important;
}
.cart-collaterals .empty-btn .button:hover {
  background-color: #3cb67a !important;
  color: white !important;
  border-color: #3cb67a !important;
}

.custom_fee_form_container {
  margin-bottom: 0;
  padding-bottom: 0;
}
.custom_fee_form_container .custom_fee_form,
.custom_fee_form_container form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.custom_fee_form_container input {
  border: solid 1px #3e4b5b !important;
  padding: 8px 10px !important;
  outline: 0;
  width: 200px;
}
.custom_fee_form_container label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-right: 0;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}
.custom_fee_form_container button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  border: solid 2px #ff00a7 !important;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s ease-in-out;
  min-width: 90px;
  color: #fff !important;
  text-decoration: none;
  text-align: center;
  background-color: #ff00a7 !important;
  cursor: pointer;
}
.custom_fee_form_container button:hover {
  color: #fff !important;
  background-color: #d9008f !important;
  border-color: #d9008f !important;
}
@media only screen and (max-width: 560px) {
  .custom_fee_form_container .custom_fee_form,
  .custom_fee_form_container form {
    align-items: stretch;
    flex-direction: column;
  }
  .custom_fee_form_container input,
  .custom_fee_form_container button {
    width: 100%;
  }
}

.cart-editor-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.cart-editor-buttons .cart-edit-btn {
  padding: 5px 10px;
  font-size: 12px;
  border: 1px solid #ddd;
  background: #f8f9fa;
  color: #333;
  text-decoration: none;
  border-radius: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
.cart-editor-buttons .cart-edit-btn:hover {
  background: #3cb67a;
  color: white;
  border-color: #3cb67a;
}
.cart-editor-buttons .cart-edit-btn.remove-btn {
  background: #dc3545;
  color: white;
  border-color: #dc3545;
}
.cart-editor-buttons .cart-edit-btn.remove-btn:hover {
  background: #c82333;
  border-color: #bd2130;
}

.cart-section-info .section-title {
  font-weight: bold;
  margin-bottom: 5px;
}
.cart-section-info .section-details {
  font-size: 14px;
  color: #666;
  margin-bottom: 8px;
}

.cart-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10020;
}
.cart-loading-overlay .cart-loader {
  display: grid;
  gap: 10px;
  width: min(220px, 100% - 40px);
  padding: 16px;
  border: 1px solid #d7ddd9;
  background: #fff;
  color: #2f3a45;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.cart-loading-overlay .cart-loader i {
  display: block;
  height: 4px;
  background: linear-gradient(90deg, transparent 0, #3cb67a 45%, transparent 90%) 0 0/60% 100% no-repeat, #e5e7eb;
  animation: cart-loader-sweep 0.9s ease-in-out infinite;
}
.cart-loading-overlay .cart-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3cb67a;
  border-radius: 0;
  animation: spin 1s linear infinite;
}

@keyframes cart-loader-sweep {
  0% {
    background-position: -90% 0, 0 0;
  }
  100% {
    background-position: 190% 0, 0 0;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.woocommerce-cart-form.processing {
  position: relative;
  opacity: 0.7;
}

body.cart-popup-open {
  overflow: hidden;
}

.cart-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  overscroll-behavior: contain;
}
.cart-popup-overlay .cart-popup {
  background: white;
  border-radius: 0 !important;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
  padding: 20px;
  position: relative;
  min-width: 400px;
  width: 90vw;
  overscroll-behavior: contain;
}
.cart-popup-overlay .cart-popup.style-finish-popup, .cart-popup-overlay .cart-popup.section-editor-popup, .cart-popup-overlay .cart-popup.section-selector-popup {
  max-width: 700px;
  width: auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-bottom: 0;
}
.cart-popup-overlay .cart-popup.style-finish-popup .cart-popup-content, .cart-popup-overlay .cart-popup.section-editor-popup .cart-popup-content, .cart-popup-overlay .cart-popup.section-selector-popup .cart-popup-content {
  min-height: 0;
  overflow: hidden;
}
@media (max-width: 480px) {
  .cart-popup-overlay .cart-popup {
    min-width: auto;
    width: 95%;
    padding: 15px;
  }
}
.cart-popup-overlay .cart-popup .cart-popup-close {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
  border-radius: 0 !important;
}
.cart-popup-overlay .cart-popup .cart-popup-close:hover {
  color: #333;
}
.cart-popup-overlay .cart-popup h2 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #333;
}

.cart-style-finish-editor {
  display: flex;
  flex-direction: column;
  max-height: calc(90vh - 40px);
  min-height: 0;
}
.cart-style-finish-editor .cart-style-finish-editor__body {
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}
.cart-style-finish-editor .cart-editor-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: flex-end !important;
  gap: 10px;
  margin: 20px -20px 0 !important;
  padding: 14px 20px !important;
  border-top: 1px solid #e3e3e3;
  background: #fff;
}
.cart-style-finish-editor .cart-editor-actions button {
  border-radius: 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.cart-style-finish-editor .cart-editor-actions .cancel-style-finish {
  padding: 8px 0 !important;
  border: 0 !important;
  background: none !important;
  color: #666 !important;
  margin-right: 0 !important;
  text-decoration: underline !important;
}
.cart-style-finish-editor .cart-editor-actions .save-style-finish {
  padding: 10px 20px !important;
  background-color: #3cb67a !important;
  color: #fff !important;
  border: 1px solid #3cb67a !important;
}
@media (max-width: 540px) {
  .cart-style-finish-editor .cart-editor-actions .cancel-style-finish,
  .cart-style-finish-editor .cart-editor-actions .save-style-finish {
    padding: 8px 10px !important;
    font-size: 10px !important;
  }
}

.cart-section-editor {
  display: flex;
  flex-direction: column;
  max-height: calc(90vh - 40px);
  min-height: 0;
}
.cart-section-editor .section-editor-form {
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}
.cart-section-editor .cart-editor-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: flex-end !important;
  gap: 10px;
  margin: 20px -20px 0 !important;
  padding: 14px 20px !important;
  border-top: 1px solid #e3e3e3;
  background: #fff;
}
.cart-section-editor .cart-editor-actions button {
  border-radius: 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.cart-section-editor .cart-editor-actions .cancel-section-edit {
  padding: 8px 0 !important;
  border: 0 !important;
  background: none !important;
  color: #666 !important;
  margin-right: 0 !important;
  text-decoration: underline !important;
}
.cart-section-editor .cart-editor-actions .remove-section-edit {
  padding: 10px 20px !important;
  background-color: #c0392b !important;
  color: #fff !important;
  border: 1px solid #c0392b !important;
}
.cart-section-editor .cart-editor-actions .save-section-edit {
  padding: 10px 20px !important;
  background-color: #3cb67a !important;
  color: #fff !important;
  border: 1px solid #3cb67a !important;
}
@media (max-width: 540px) {
  .cart-section-editor .cart-editor-actions .cancel-section-edit,
  .cart-section-editor .cart-editor-actions .remove-section-edit,
  .cart-section-editor .cart-editor-actions .save-section-edit {
    padding: 8px 10px !important;
    font-size: 10px !important;
  }
}
.cart-section-editor .form-field {
  position: relative;
  margin-bottom: 20px;
}
.cart-section-editor .form-field .field-validation-message {
  display: none;
  position: relative;
  margin-top: 12px;
  padding: 10px 14px 10px 46px;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 0;
  border: 2px solid transparent;
  box-shadow: 4px 4px 0 rgba(17, 24, 39, 0.08);
  background: #fff7ed;
  color: #7c2d12;
}
.cart-section-editor .form-field .field-validation-message::before {
  content: "⚠";
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  font-size: 16px;
}
.cart-section-editor .form-field .field-validation-message[data-severity=blocking] {
  background: #fef2f2;
  color: #7f1d1d;
  border-color: #f87171;
  box-shadow: 4px 4px 0 rgba(127, 29, 29, 0.25);
}
.cart-section-editor .form-field .field-validation-message[data-severity=blocking]::before {
  color: #b91c1c;
}
.cart-section-editor .form-field .field-validation-message[data-severity=warning] {
  background: #fff7ed;
  color: #7c2d12;
  border-color: #fb923c;
  box-shadow: 4px 4px 0 rgba(124, 45, 18, 0.2);
}
.cart-section-editor .form-field .field-validation-message[data-severity=warning]::before {
  color: #c2410c;
}
.cart-section-editor .form-field.has-blocking input,
.cart-section-editor .form-field.has-blocking select,
.cart-section-editor .form-field.has-blocking textarea {
  border-color: #b91c1c;
  box-shadow: inset 0 0 0 2px rgba(185, 28, 28, 0.2);
}
.cart-section-editor .form-field.has-warning input,
.cart-section-editor .form-field.has-warning select,
.cart-section-editor .form-field.has-warning textarea {
  border-color: #c2410c;
  box-shadow: inset 0 0 0 2px rgba(194, 65, 12, 0.18);
}
.cart-section-editor .form-field.section-blocking {
  border-left: 4px solid #b91c1c;
  padding-left: 12px;
}
.cart-section-editor .form-field.section-warning {
  border-left: 4px solid #c2410c;
  padding-left: 12px;
}
.cart-section-editor .section-validation-message {
  display: none;
  margin-bottom: 20px;
  padding: 12px 16px 12px 52px;
  border: 2px solid transparent;
  border-radius: 0;
  font-size: 14px;
  line-height: 1.5;
  background: #fff7ed;
  color: #7c2d12;
  box-shadow: 6px 6px 0 rgba(17, 24, 39, 0.08);
  position: relative;
}
.cart-section-editor .section-validation-message::before {
  content: "⚠";
  position: absolute;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  font-size: 18px;
}
.cart-section-editor .section-validation-message[data-severity=blocking] {
  background: #fef2f2;
  color: #7f1d1d;
  border-color: #f87171;
  box-shadow: 6px 6px 0 rgba(127, 29, 29, 0.25);
}
.cart-section-editor .section-validation-message[data-severity=blocking]::before {
  color: #b91c1c;
}
.cart-section-editor .section-validation-message[data-severity=warning] {
  background: #fff7ed;
  color: #7c2d12;
  border-color: #fb923c;
  box-shadow: 6px 6px 0 rgba(124, 45, 18, 0.2);
}
.cart-section-editor .section-validation-message[data-severity=warning]::before {
  color: #c2410c;
}
.cart-section-editor .save-section-edit {
  transition: all 0.12s ease;
}
.cart-section-editor .save-section-edit:disabled,
.cart-section-editor .save-section-edit[disabled],
.cart-section-editor .save-section-edit.disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: grayscale(40%);
  box-shadow: none !important;
  background-color: #9aa6ac !important; /* muted grey */
  color: #ffffff !important;
  border-color: #9aa6ac !important;
}

.style-finish-editor .style-sections {
  margin-bottom: 20px;
}
.style-finish-editor .style-sections h3 {
  margin-bottom: 10px;
  color: #333;
}
.style-finish-editor .style-sections .add-styles-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 20px;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container {
  border: 2px solid #ddd;
  border-radius: 0 !important;
  padding: 15px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
  flex: 1;
  min-width: 150px;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container:hover {
  border-color: #3cb67a;
  box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2);
}
.style-finish-editor .style-sections .add-styles-container .add-style-container.active {
  border-color: #3cb67a;
  background-color: #f8fff9;
  box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2);
}
.style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible {
  opacity: 0.5;
  cursor: not-allowed;
  border-color: #dc3545;
  background-color: #f8f8f8;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible:hover {
  border-color: #dc3545;
  box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
}
.style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible h3 {
  color: #666;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container.not-compatible p {
  color: #dc3545 !important;
  font-weight: bold !important;
  font-size: 12px !important;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container .img-cont {
  margin-bottom: 18px;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container .img-cont img {
  width: 100%;
  max-width: 200px;
  height: auto;
}
.style-finish-editor .style-sections .add-styles-container .add-style-container h3 {
  margin-top: 0;
  text-transform: none;
  color: #333;
}
.style-finish-editor .style-sections .style-options,
.style-finish-editor .style-sections .finish-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}
.style-finish-editor .style-sections .style-options .option,
.style-finish-editor .style-sections .finish-options .option {
  padding: 8px 15px;
  border: 2px solid #ddd;
  background: #f8f9fa;
  border-radius: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
.style-finish-editor .style-sections .style-options .option:hover,
.style-finish-editor .style-sections .finish-options .option:hover {
  border-color: #3cb67a;
}
.style-finish-editor .style-sections .style-options .option.active,
.style-finish-editor .style-sections .finish-options .option.active {
  background: #3cb67a;
  color: white;
  border-color: #3cb67a;
}
.style-finish-editor .popup-actions {
  text-align: right;
  margin-top: 20px;
}
.style-finish-editor .popup-actions button {
  padding: 10px 20px;
  margin-left: 10px;
  border: none;
  border-radius: 0 !important;
  cursor: pointer;
  font-size: 14px;
}
.style-finish-editor .popup-actions button.cancel-btn {
  background: #6c757d;
  color: white;
}
.style-finish-editor .popup-actions button.cancel-btn:hover {
  background: #545b62;
}
.style-finish-editor .popup-actions button.save-btn {
  background: #3cb67a;
  color: white;
}
.style-finish-editor .popup-actions button.save-btn:hover {
  background: #28a745;
}

.cart-section-selector {
  display: flex;
  flex-direction: column;
  max-height: calc(90vh - 40px);
  min-height: 0;
}
.cart-section-selector .section-types-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-top: 20px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}
.cart-section-selector .section-types-container .section-type-option {
  border: 2px solid #ddd;
  border-radius: 0 !important;
  padding: 15px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
}
.cart-section-selector .section-types-container .section-type-option:hover {
  border-color: #3cb67a;
  box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2);
}
.cart-section-selector .section-types-container .section-type-option.selected {
  border-color: #3cb67a;
  background-color: #f8fff9;
  box-shadow: 0 2px 8px rgba(60, 182, 122, 0.2);
}
.cart-section-selector .section-types-container .section-type-option.not-compatible {
  opacity: 0.5;
  cursor: not-allowed;
  border-color: #dc3545;
  background-color: #f8f8f8;
}
.cart-section-selector .section-types-container .section-type-option.not-compatible:hover {
  border-color: #dc3545;
  box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
}
.cart-section-selector .section-types-container .section-type-option.not-compatible h3,
.cart-section-selector .section-types-container .section-type-option.not-compatible h4 {
  color: #666;
}
.cart-section-selector .section-types-container .section-type-option.not-compatible .compatibility-notice {
  color: #dc3545 !important;
  font-weight: bold !important;
  font-size: 12px !important;
}
.cart-section-selector .section-types-container .section-type-option img {
  width: 100%;
  max-width: 150px;
  height: auto;
  margin-bottom: 10px;
  border-radius: 0;
}
.cart-section-selector .section-types-container .section-type-option h3 {
  margin: 10px 0 5px;
  color: #333;
  font-size: 16px;
}
.cart-section-selector .section-types-container .section-type-option p {
  margin-bottom: 15px;
  color: #666;
  font-size: 14px;
}
.cart-section-selector .cart-editor-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: flex-end !important;
  gap: 10px;
  margin: 20px -20px 0 !important;
  padding: 14px 20px !important;
  border-top: 1px solid #e3e3e3;
  background: #fff;
}
.cart-section-selector .cart-editor-actions button {
  border-radius: 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.cart-section-selector .cart-editor-actions .cancel-section-add {
  padding: 8px 0 !important;
  border: 0 !important;
  background: none !important;
  color: #666 !important;
  margin-right: 0 !important;
  text-decoration: underline !important;
}
.cart-section-selector .cart-editor-actions .add-section-type {
  display: inline-block;
  min-width: 120px !important;
  padding: 10px 20px !important;
  border: 1px solid #3cb67a !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  text-align: center;
  transition: all 0.15s ease;
}
.cart-section-selector .cart-editor-actions .add-section-type:disabled {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
  opacity: 1;
}
.cart-section-selector .cart-editor-actions .add-section-type:not(:disabled) {
  background-color: #3cb67a !important;
  color: #ffffff !important;
  cursor: pointer !important;
}
@media (max-width: 540px) {
  .cart-section-selector .cart-editor-actions .cancel-section-add,
  .cart-section-selector .cart-editor-actions .add-section-type {
    padding: 8px 10px !important;
    font-size: 10px !important;
  }
}

.sf-cart-secondary-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 16px;
  padding-bottom: 15px;
  padding-right: 4px;
}

.sf-cart-empty-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px;
  margin: 0 !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #b45d5d !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-transform: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.sf-cart-empty-link:hover, .sf-cart-empty-link:focus {
  background-color: #f3f4f6 !important;
  color: #8f3f3f !important;
  text-decoration: underline !important;
}

.quick-quote-wrapper,
.alfresco-quick-quote-wrapper {
  background-color: #fafafa;
  padding: 20px;
  position: relative;
}
.quick-quote-wrapper .qq-finance-info,
.alfresco-quick-quote-wrapper .qq-finance-info {
  display: none;
  font-size: 12px;
}
.quick-quote-wrapper .qq-title,
.alfresco-quick-quote-wrapper .qq-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}
.quick-quote-wrapper .qq-title span,
.alfresco-quick-quote-wrapper .qq-title span {
  display: block;
  height: 26px;
  border-bottom: 1px solid #b9b9b9;
  flex: 1;
}
.quick-quote-wrapper .qq-title h2,
.alfresco-quick-quote-wrapper .qq-title h2 {
  margin: 12px 25px 25px;
  color: #43a2da;
}
.quick-quote-wrapper .qq-section,
.alfresco-quick-quote-wrapper .qq-section {
  scroll-margin-top: 45px;
}
.quick-quote-wrapper .qq-section .qq-header,
.alfresco-quick-quote-wrapper .qq-section .qq-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 5px;
  cursor: pointer;
}
.quick-quote-wrapper .qq-section .qq-header.disabled,
.alfresco-quick-quote-wrapper .qq-section .qq-header.disabled {
  opacity: 0.2;
  pointer-events: none;
  user-select: none;
  cursor: initial;
}
.quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down,
.alfresco-quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down {
  color: #43a2da;
}
.quick-quote-wrapper .qq-section .qq-header h3,
.alfresco-quick-quote-wrapper .qq-section .qq-header h3 {
  margin: 0;
}
.quick-quote-wrapper .qq-section .qq-content,
.alfresco-quick-quote-wrapper .qq-section .qq-content {
  margin-top: 10px;
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease;
}
.quick-quote-wrapper .qq-section .qq-content.active,
.alfresco-quick-quote-wrapper .qq-section .qq-content.active {
  height: auto;
  transition: height 0.3s ease;
}
.quick-quote-wrapper .qq-section .qq-content .qq-not-added,
.alfresco-quick-quote-wrapper .qq-section .qq-content .qq-not-added {
  color: rgb(179, 179, 179);
  display: block;
}
.quick-quote-wrapper .qq-section .qq-footer,
.alfresco-quick-quote-wrapper .qq-section .qq-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 10px;
}
.quick-quote-wrapper .qq-section .qq-header-btn,
.alfresco-quick-quote-wrapper .qq-section .qq-header-btn {
  cursor: pointer;
  background-color: white;
  padding: 4px 10px;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  font-weight: 400;
  font-size: 15px;
}
.quick-quote-wrapper .qq-section .qq-header-btn:hover,
.alfresco-quick-quote-wrapper .qq-section .qq-header-btn:hover {
  background-color: #43a2da;
  border-color: #43a2da;
  color: #fff;
}
.quick-quote-wrapper .qq-section .qq-next-btn,
.alfresco-quick-quote-wrapper .qq-section .qq-next-btn {
  cursor: pointer;
  background-color: white;
  padding: 4px 10px;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #43a2da;
  background-color: #43a2da;
  color: #fff;
  white-space: pre;
  font-weight: 400;
  font-size: 15px;
}
.quick-quote-wrapper .qq-section .qq-next-btn.qq-next-section,
.alfresco-quick-quote-wrapper .qq-section .qq-next-btn.qq-next-section {
  width: 100%;
  text-align: center;
  padding: 15px 20px;
  font-size: 27px;
  font-weight: 900;
}
.quick-quote-wrapper .qq-section .qq-next-btn.disabled,
.alfresco-quick-quote-wrapper .qq-section .qq-next-btn.disabled {
  background-color: #616d79;
  border-color: #616d79;
  color: #fff;
  cursor: not-allowed;
  pointer-events: none;
  user-select: none;
  opacity: 0.3;
}

.qq-loader {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(247, 247, 247, 0.8392156863);
  backdrop-filter: blur(5px);
  z-index: 200000000000;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 500000;
}
.qq-loader.active {
  display: flex;
}
.qq-loader svg {
  width: 70px !important;
  height: 70px !important;
}
.qq-loader svg path {
  fill: #616d79;
}

.qq-dialog {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.8392156863);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 500000;
}
.qq-dialog.active {
  display: flex;
}
.qq-dialog .qq-dialog-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.qq-dialog .qq-dialog-header h2 {
  margin: 0;
  text-align: center;
  flex: 1;
}
.qq-dialog .qq-dialog-header .qq-dialog-close {
  font-size: 20px;
  padding: 15px 20px;
  transform: scale(1, 0.8);
  font-weight: 600;
  cursor: pointer;
}
.qq-dialog .qq-dialog-header .qq-dialog-close:hover {
  color: #43a2da;
}
.qq-dialog .qq-dialog-inner {
  width: 100%;
  max-width: 90vw;
  max-height: 90vh;
  margin: 0 15px;
  background-color: white;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  padding: 15px;
  height: 100%;
  overflow-y: auto;
}
@media (max-width: 600px) {
  .qq-dialog .qq-dialog-inner {
    max-height: 98%;
    max-width: 98%;
  }
}
.qq-dialog .qq-dialog-inner .qq-dialog-inner-inner {
  max-width: 600px;
  margin: auto;
  width: 100%;
  height: 100%;
}
.qq-dialog .qq-add-sections-length-container {
  display: none;
  width: 100%;
  flex-direction: column;
  align-items: center;
}
.qq-dialog .qq-add-sections-length-container p {
  width: 90%;
  margin: 15px auto 0 auto;
}
.qq-dialog .qq-add-sections-length-container .qq-add-section-final-btn {
  cursor: pointer;
  background-color: #43a2da;
  padding: 6px 17px;
  border: 1px solid #43a2da;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  margin-top: 40px;
}
.qq-dialog .qq-add-sections-length-container .qq-add-section-final-btn:hover {
  border-color: #616d79;
  background-color: #fff;
  color: #616d79;
}
.qq-dialog .qq-add-handrails-length-container {
  display: none;
  width: 100%;
  flex-direction: column;
  align-items: center;
}
.qq-dialog .qq-add-handrails-length-container p {
  width: 90%;
  margin: 15px auto 0 auto;
}
.qq-dialog .qq-add-handrails-length-container .qq-add-handrail-final-btn {
  cursor: pointer;
  background-color: #43a2da;
  padding: 6px 17px;
  border: 1px solid #43a2da;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
}
.qq-dialog .qq-add-handrails-length-container .qq-add-handrail-final-btn:hover {
  border-color: #616d79;
  background-color: #fff;
  color: #616d79;
}
.qq-dialog .qq-add-handrails-container {
  display: none;
  justify-content: space-around;
  width: 100%;
  margin: 15px 0;
  flex-wrap: wrap;
}
.qq-dialog .qq-add-handrail-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  border: 5px solid transparent;
  width: 50%;
}
.qq-dialog .qq-add-handrail-container p {
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 30px;
}
@media (max-width: 510px) {
  .qq-dialog .qq-add-handrail-container p {
    padding: 30px 10px;
  }
}
.qq-dialog .qq-add-handrail-container:hover {
  border: 5px solid #43a2da;
}
.qq-dialog .qq-add-handrail-container:hover p {
  background-color: #43a2da;
  color: white;
}
.qq-dialog .slider-container {
  width: 90%;
  margin: 15px auto;
  /* The slider itself */
  /* Mouse-over effects */
  /* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
}
.qq-dialog .slider-container .slider {
  -webkit-appearance: none; /* Override default CSS styles */
  appearance: none;
  width: 100%; /* Full-width */
  height: 25px; /* Specified height */
  background: #d3d3d3; /* Grey background */
  outline: none; /* Remove outline */
  opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
  -webkit-transition: 0.2s; /* 0.2 seconds transition on hover */
  transition: opacity 0.2s;
}
.qq-dialog .slider-container .slider:hover {
  opacity: 1; /* Fully shown on mouse-over */
}
.qq-dialog .slider-container .slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 25px; /* Set a specific slider handle width */
  height: 25px; /* Slider handle height */
  background: #04aa6d; /* Green background */
  cursor: pointer; /* Cursor on hover */
}
.qq-dialog .slider-container .slider::-moz-range-thumb {
  width: 25px; /* Set a specific slider handle width */
  height: 25px; /* Slider handle height */
  background: #04aa6d; /* Green background */
  cursor: pointer; /* Cursor on hover */
}

.qq-style {
  display: block;
}
.qq-style p {
  margin: 0;
  text-transform: capitalize;
  padding: 5px 0px;
}

.section-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0px;
  margin: 5px 0;
}
.section-list-item:hover {
  background-color: rgb(242, 242, 242);
}
.section-list-item .section-list-item-content {
  text-transform: capitalize;
}
.section-list-item .qq-remove-section {
  color: rgb(241, 58, 58);
  cursor: pointer;
}
.section-list-item .qq-remove-section:hover {
  text-decoration: underline;
}

.handrail-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0px;
  margin: 5px 0;
}
.handrail-list-item:hover {
  background-color: rgb(242, 242, 242);
}
.handrail-list-item .handrail-list-item-content {
  text-transform: capitalize;
}
.handrail-list-item .qq-remove-handrail {
  color: rgb(241, 58, 58);
  cursor: pointer;
}
.handrail-list-item .qq-remove-handrail:hover {
  text-decoration: underline;
}

.qq-estimated-total {
  color: #43a2da;
  font-weight: 900;
  font-size: 18px;
}

.qq-content-totals .qq-cta-container {
  margin: 20px 0;
  font-size: 20px;
}
.qq-content-totals div {
  margin: 10px 0;
  text-align: right;
}
.qq-content-totals .qq-video-call-btn {
  cursor: pointer;
  background-color: #3cb67a;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #3cb67a;
  color: #fff;
  font-weight: 600;
  padding: 8px 16px;
}
.qq-content-totals .qq-video-call-btn:hover {
  background-color: #fff;
  color: #3cb67a;
}
.qq-content-totals .qq-diy-btn {
  cursor: pointer;
  background-color: white;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  font-weight: 600;
  padding: 8px 16px;
  color: #616d79;
}
.qq-content-totals .qq-diy-btn:hover {
  background-color: #3cb67a;
  border-color: #3cb67a;
  color: #fff;
}
.qq-content-totals .qq-style-pricing {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
}
.qq-content-totals .qq-style-pricing.qq-selected-style {
  font-weight: 400;
}

.qq-section-spacer {
  height: 30px;
}

.qq-returns {
  width: 100%;
  margin: 20px 0;
}
.qq-returns .qq-return-question {
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin: 15px auto 0 auto;
  align-items: center;
}
.qq-returns .qq-return-question p {
  margin: 0;
}
.qq-returns .qq-return-question .qq-return-answers {
  display: flex;
  white-space: pre;
}
.qq-returns .qq-return-question .qq-return-answers .qq-return-answer {
  padding: 5px 20px;
  cursor: pointer;
}
.qq-returns .qq-return-question .qq-return-answers .qq-return-answer.selected, .qq-returns .qq-return-question .qq-return-answers .qq-return-answer:hover {
  background-color: #43a2da;
  color: #fff;
}

.qq-other-styles-header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 4px;
  cursor: pointer;
}
.qq-other-styles-header:hover .qq-angle-down,
.qq-other-styles-header:hover .qq-angle-up {
  color: #43a2da;
}
.qq-other-styles-header .qq-angle-up {
  display: none !important;
}
.qq-other-styles-header.active .qq-angle-up {
  display: block !important;
}
.qq-other-styles-header.active .qq-angle-down {
  display: none !important;
}

.qq-other-styles-list {
  display: none;
}
.qq-other-styles-list.active {
  display: block;
}

.totals-list-wrapper {
  padding-top: 10px;
}

.qq-selected-style-name p {
  margin: 0;
  font-weight: 400;
}

.qq-whats-next {
  margin: 20px 0;
  font-weight: 600;
  font-size: 20px;
  text-align: center;
}

.qq-wall-mounted-summary {
  font-weight: 400;
}

.qq-total-style-pricing {
  font-weight: 600;
}

.qq-double-btn {
  display: flex;
  flex-wrap: wrap;
}
.qq-add-styles-container {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.qq-add-styles-container .qq-add-style-container {
  width: 50%;
  text-align: center;
  padding: 15px 15px;
  cursor: pointer;
  position: relative;
}
.qq-add-styles-container .qq-add-style-container img {
  object-fit: cover;
  width: 100%;
  height: 130px;
}
.qq-add-styles-container .qq-add-style-container span {
  margin-top: 15px;
  display: block;
  font-weight: 600;
}
.qq-add-styles-container .qq-add-style-container:hover {
  background-color: #43a2da;
  color: #fff;
}
.qq-add-styles-container .qq-add-style-container.active {
  background-color: #43a2da;
  color: #fff;
}
.qq-add-styles-container .qq-add-style-container.disabled {
  pointer-events: none;
}
.qq-add-styles-container .qq-add-style-container.disabled img,
.qq-add-styles-container .qq-add-style-container.disabled span {
  opacity: 0.2;
  pointer-events: none;
}
.qq-add-styles-container .qq-add-style-container .qq-not-compatible {
  position: absolute;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  font-size: 11px;
  color: red;
  max-width: 112px;
  margin: auto;
  text-align: center;
}
.qq-add-styles-container .qq-add-style-container.disabled .qq-not-compatible {
  display: flex;
}

.qq-add-sections-container {
  display: none;
  justify-content: space-around;
  width: 100%;
  margin: 15px 0;
  flex-wrap: wrap;
}

.qq-add-section-container {
  max-width: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  border: 5px solid transparent;
  position: relative;
  width: 33%;
}
.qq-add-section-container .add-section-plus {
  background-color: #43a2da;
  color: white;
  border-radius: 50%;
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  font-size: 27px;
  margin: auto;
  text-align: center;
  height: 30px;
  width: 30px;
}
.qq-add-section-container p {
  margin: 0;
  margin-top: 15px;
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  text-align: center;
  padding: 5px 0 0 0;
}
.qq-add-section-container:hover {
  border: 5px solid #43a2da;
}
.qq-add-section-container:hover p {
  background-color: #43a2da;
  color: white;
}
.qq-add-section-container.disabled {
  pointer-events: none;
}
.qq-add-section-container.disabled img,
.qq-add-section-container.disabled p {
  opacity: 0.2;
  pointer-events: none;
}
.qq-add-section-container .qq-not-compatible {
  position: absolute;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  font-size: 11px;
  color: red;
  max-width: 112px;
  margin: auto;
  text-align: center;
}
.qq-add-section-container.disabled .qq-not-compatible {
  display: flex;
}
.qq-add-section-container.disabled .add-section-plus {
  display: none;
}

.assignment_alfresco .quick-quote-wrapper .qq-title h2,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-title h2 {
  color: #f9b000;
}
.assignment_alfresco .quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-section .qq-header:hover .qq-angle-down {
  color: #f9b000;
}
.assignment_alfresco .quick-quote-wrapper .qq-section .qq-header-btn:hover,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-section .qq-header-btn:hover {
  background-color: #f9b000;
  border-color: #f9b000;
}
.assignment_alfresco .quick-quote-wrapper .qq-section .qq-next-btn,
.assignment_alfresco .alfresco-quick-quote-wrapper .qq-section .qq-next-btn {
  border-color: #f9b000;
  background-color: #f9b000;
}
.assignment_alfresco .qq-dialog .qq-dialog-header .qq-dialog-close:hover {
  color: #f9b000;
}
.assignment_alfresco .qq-dialog .qq-add-sections-length-container .qq-add-section-final-btn {
  background-color: #f9b000;
  border: 1px solid #f9b000;
}
.assignment_alfresco .qq-dialog .qq-add-handrails-length-container .qq-add-handrail-final-btn {
  background-color: #f9b000;
  border: 1px solid #f9b000;
}
.assignment_alfresco .qq-dialog .qq-add-handrail-container:hover {
  border: 5px solid #f9b000;
}
.assignment_alfresco .qq-dialog .qq-add-handrail-container:hover p {
  background-color: #f9b000;
}
.assignment_alfresco .qq-estimated-total {
  color: #f9b000;
}
.assignment_alfresco .qq-returns .qq-return-question .qq-return-answers .qq-return-answer.selected, .assignment_alfresco .qq-returns .qq-return-question .qq-return-answers .qq-return-answer:hover {
  background-color: #f9b000;
}
.assignment_alfresco .qq-other-styles-header:hover .qq-angle-down,
.assignment_alfresco .qq-other-styles-header:hover .qq-angle-up {
  color: #f9b000;
}
.assignment_alfresco .qq-add-styles-container .qq-add-style-container:hover {
  background-color: #f9b000;
  color: #fff;
}
.assignment_alfresco .qq-add-styles-container .qq-add-style-container.active {
  background-color: #f9b000;
  color: #fff;
}
.assignment_alfresco .qq-add-section-container .add-section-plus {
  background-color: #f9b000;
}
.assignment_alfresco .qq-add-section-container:hover {
  border: 5px solid #f9b000;
}
.assignment_alfresco .qq-add-section-container:hover p {
  background-color: #f9b000;
  color: white;
}

.qq-rail-options {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px;
}
.qq-rail-options .qq-rail-option {
  flex: 1;
  min-width: 200px;
  max-width: 300px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px;
  border: 2px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: #fff;
}
.qq-rail-options .qq-rail-option .swatch-img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #ddd;
}
.qq-rail-options .qq-rail-option .swatch {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  border: 1px solid #ddd;
}
.qq-rail-options .qq-rail-option .swatch.swatch-existing {
  background: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
  background-size: 8px 8px;
  background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
}
.qq-rail-options .qq-rail-option span {
  flex: 1;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
}
.qq-rail-options .qq-rail-option:hover {
  border-color: #43a2da;
  background-color: #f8f9fa;
}
.qq-rail-options .qq-rail-option.active {
  border-color: #43a2da;
  background-color: #43a2da;
  color: #fff;
}
.qq-rail-options .finish-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.qq-rail-options .finish-selector,
.qq-rail-options .second-finish-selector {
  display: flex;
  flex-direction: row;
  padding: 20px;
  align-items: center;
  cursor: pointer;
  min-width: 50%;
}
.qq-rail-options .finish-selector img,
.qq-rail-options .second-finish-selector img {
  width: 50px;
  margin-right: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border-radius: 50%;
}
.qq-rail-options .finish-selector .finish-inner,
.qq-rail-options .second-finish-selector .finish-inner {
  display: flex;
  flex-direction: column;
}
.qq-rail-options .finish-selector p,
.qq-rail-options .second-finish-selector p {
  margin: 0;
  font-weight: 600;
}
.qq-rail-options .finish-selector:hover,
.qq-rail-options .second-finish-selector:hover {
  background-color: #e8e8e8;
}
.qq-rail-options .finish-selector.active,
.qq-rail-options .second-finish-selector.active {
  background-color: #3cb67a;
  color: white;
}
.qq-rail-options .spindle-finish-selector {
  display: flex;
  flex-direction: row;
  padding: 20px;
  align-items: center;
  cursor: pointer;
  min-width: 50%;
}
.qq-rail-options .spindle-finish-selector p {
  margin: 0;
  font-weight: 600;
}
.qq-rail-options .spindle-finish-selector img {
  width: 50px;
  margin-right: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border-radius: 50%;
}
.qq-rail-options .spindle-finish-selector:hover, .qq-rail-options .spindle-finish-selector.active {
  background-color: #3cb67a;
  color: white;
}
.qq-rail-options .satin-black-finish {
  width: 50px;
  height: 50px;
  background-color: rgb(8, 8, 8);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  margin-right: 10px;
}
.qq-rail-options .egyptian-cotton-finish {
  width: 50px;
  height: 50px;
  background-color: rgb(227, 216, 201);
  border-radius: 50%;
  border-radius: 50%;
  margin-right: 10px;
}
.qq-rail-options .no-finish {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  border-radius: 50%;
}
.qq-rail-options .section-intro {
  text-align: center;
  margin: 40px 0 20px;
}
.qq-rail-options .section-intro .flourish {
  width: 100%;
  height: 1px;
  background-color: #ddd;
}
.qq-rail-options .section-intro .surround {
  margin: 20px 0;
}
.qq-rail-options .section-intro .surround h2 {
  margin: 0 0 10px;
  color: #43a2da;
}
.qq-rail-options .section-intro .surround p {
  margin: 0;
  color: #666;
}

@media (max-width: 768px) {
  .qq-rail-options .qq-rail-option {
    min-width: 100%;
    max-width: 100%;
  }
}
.swatch-existing {
  background: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
  background-size: 8px 8px;
  background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
}

.video-booking-container {
  max-width: 450px;
  padding: 15px;
  position: relative;
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.2784313725);
  border-radius: 4px;
  margin: auto;
  min-height: 400px;
}
.video-booking-container .booking-loader,
.video-booking-container .dates-loader {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.76);
  position: absolute;
  inset: 0;
  backdrop-filter: blur(6px);
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  z-index: 20;
}
.video-booking-container .booking-complete {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.76);
  position: absolute;
  inset: 0;
  backdrop-filter: blur(6px);
  z-index: 20;
  flex-direction: column;
}
.video-booking-container .booking-complete p {
  font-weight: 500;
}
.video-booking-container .video-call-title {
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 5px;
  font-size: 12px;
}
.video-booking-container .booking-header {
  display: grid;
  grid-template-columns: 100px 1fr 100px;
  width: 100%;
}
.video-booking-container .booking-header h2 {
  margin: 0;
  text-align: center;
}
.video-booking-container .booking-header h2 .sub-date {
  font-weight: 600;
  font-size: 16px;
  margin-top: 10px;
  font-family: Playfair Display, Sans-serif;
}
.video-booking-container .booking-header .booking-back {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.video-booking-container .booking-header .booking-back:hover {
  text-decoration: underline;
}
.video-booking-container .booking-step {
  display: none;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.video-booking-container .times-container {
  display: flex;
  gap: 10px;
  flex-direction: column;
  width: 100%;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 10px;
}
.video-booking-container .times-container .time {
  padding: 10px 30px;
  border: 1px solid #8b8b8b;
  text-align: center;
  cursor: pointer;
}
.video-booking-container .times-container .time:hover {
  background-color: #ebebeb;
}
.video-booking-container .times-container .time.disabled {
  opacity: 0.3;
  cursor: initial;
  pointer-events: none;
}
.video-booking-container .booking-details {
  margin-bottom: 10px;
}
.video-booking-container .booking-details p {
  font-size: 12px;
  font-weight: 500;
  background-color: #f9f9f9;
  padding: 10px;
}
.video-booking-container .your-details {
  width: 100%;
}
.video-booking-container .your-details .detail {
  margin-bottom: 25px;
}
.video-booking-container .your-details .detail p {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.video-booking-container .your-details .detail input {
  width: 100%;
  padding: 10px 15px;
  font-weight: 500;
}
.video-booking-container .book-my-call {
  color: #fff;
  font-family: Lato, Sans-serif;
  font-weight: 700;
  background-color: #3cb67a;
  border-radius: 0;
  text-decoration: none;
  padding: 15px 20px;
  border: 2px solid #3cb67a;
  display: block;
  text-align: center;
  position: relative;
  width: 100%;
  cursor: pointer;
}

.ui-datepicker-inline {
  width: 400px;
  padding: 15px;
}
.ui-datepicker-inline .ui-datepicker-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 0px;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-title {
  font-weight: 600;
  font-size: 16px;
  order: 2;
  font-family: "Playfair Display", Sans-serif;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev {
  order: 1;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next {
  order: 3;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next span,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev span {
  border-radius: 20px;
  padding: 14px 15px;
  color: #6a6a6a;
  font-size: 9px;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next span:hover,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev span:hover {
  text-decoration: underline;
}
.ui-datepicker-inline .ui-datepicker-calendar {
  width: 100%;
}
.ui-datepicker-inline .ui-datepicker-calendar thead th {
  font-weight: 400;
  text-transform: uppercase;
  font-size: 12px;
  padding-bottom: 11px;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody td {
  padding: 5px;
  text-align: center;
  vertical-align: middle;
  height: 50px;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody td a,
.ui-datepicker-inline .ui-datepicker-calendar tbody td span {
  font-size: 13px;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody td a {
  background-color: #f3f3f3;
  border-radius: 50%;
  color: #343434;
  font-weight: 600;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody td a:hover {
  background-color: #e7e7e7;
  text-decoration: underline !important;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody .ui-datepicker-unselectable,
.ui-datepicker-inline .ui-datepicker-calendar tbody .ui-state-disabled {
  color: rgb(169, 169, 169);
}
.ui-datepicker-inline .ui-datepicker-calendar tbody .ui-datepicker-unselectable span,
.ui-datepicker-inline .ui-datepicker-calendar tbody .ui-state-disabled span {
  background-color: transparent;
}

.photo-estimate-form-container {
  margin: 0 auto;
  padding: 20px;
  background-color: #f9f9f9;
}
.photo-estimate-form-container .estimate-form {
  display: flex;
  flex-direction: column;
}
.photo-estimate-form-container .estimate-form .form-group {
  margin-bottom: 15px;
}
.photo-estimate-form-container .estimate-form .form-group .form-label {
  font-weight: bold;
  margin-bottom: 5px;
  display: inline-block;
}
.photo-estimate-form-container .estimate-form .form-group .form-tick-label {
  font-size: 12px;
  font-weight: 300;
}
.photo-estimate-form-container .estimate-form .form-group .form-input,
.photo-estimate-form-container .estimate-form .form-group .form-select,
.photo-estimate-form-container .estimate-form .form-group .form-file-input {
  width: 100%;
  padding: 10px;
  margin-bottom: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.photo-estimate-form-container .estimate-form .form-group .form-checkbox {
  margin-right: 10px;
}
.photo-estimate-form-container .estimate-form .form-group .error-message {
  color: red;
  font-size: 0.875rem;
}
.photo-estimate-form-container .estimate-form .image-preview-container {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.photo-estimate-form-container .estimate-form .image-preview-container .image-preview {
  position: relative;
  width: 30%;
}
.photo-estimate-form-container .estimate-form .image-preview-container .image-preview .preview-img {
  display: block;
  border-radius: 5px;
  width: 100%;
  object-fit: cover;
}
.photo-estimate-form-container .estimate-form .image-preview-container .image-preview .remove-image-btn {
  display: block;
  margin-top: 5px;
  background-color: #ff6666;
  color: white;
  border: none;
  padding: 5px 10px;
  cursor: pointer;
  width: 100%;
}
.photo-estimate-form-container .estimate-form .image-preview-container .image-preview .remove-image-btn:hover {
  background-color: #ff4d4d;
}
.photo-estimate-form-container .estimate-form .submit-button {
  background-color: #3cb67a;
  color: white;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
}
.photo-estimate-form-container .estimate-form .submit-button:hover {
  background-color: #58cc92;
}

.form-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  font-size: 1.5em;
  z-index: 1000;
  backdrop-filter: blur(6px);
  font-weight: 600;
}

.overlay-content {
  text-align: center;
}

.seo-product-container {
  font-weight: 400;
  margin-top: 100px;
}
.seo-product-container .add-extras {
  font-size: 26px !important;
  font-weight: 700 !important;
  text-align: center;
  margin: 40px 0 30px;
}
.seo-product-container #whats-included-desktop {
  background-color: #e6f6ff;
}
.seo-product-container .cont {
  max-width: 1520px;
  margin: auto;
  padding: 0 15px;
}
@media (max-width: 830px) {
  .seo-product-container {
    margin-top: 0;
  }
}
.seo-product-container .s-header {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.seo-product-container .s-header > div,
.seo-product-container .s-header section {
  width: 48%;
}
@media (max-width: 830px) {
  .seo-product-container .s-header > div,
  .seo-product-container .s-header section {
    width: 100%;
  }
}
.seo-product-container .s-tabs {
  display: flex;
  margin-bottom: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.seo-product-container .s-tabs .s-tab {
  padding: 10px 20px;
  cursor: pointer;
  margin-right: 5px;
  border-bottom: none;
  font-weight: 700;
  font-size: 22px;
}
.seo-product-container .s-tabs .s-tab:hover {
  color: #42a2da;
}
.seo-product-container .s-tabs .s-tab.active {
  border-bottom: 2px solid #42a2da;
  margin-bottom: -2px;
  color: #42a2da;
  font-weight: bold;
}
.seo-product-container .s-tab-content {
  display: none;
  padding: 20px;
  border-top: none;
  background-color: #fff;
  font-size: 16px;
  font-weight: 400;
}
.seo-product-container .s-tab-content h3 {
  font-size: 16px;
  font-weight: 700;
  text-transform: none;
}
.seo-product-container .s-tab-content.active {
  display: block;
}
.seo-product-container .product-details h1 {
  margin-bottom: 15px;
  font-size: 30px;
  font-weight: 700;
}
.seo-product-container .product-details .product-overview {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 400;
  width: 100%;
}
.seo-product-container .product-details .product-overview strong {
  font-weight: 700;
  margin-bottom: 5px;
}
.seo-product-container .product-details .product-overview h2 {
  font-size: 16px;
  font-family: Lato !important;
}
@media (max-width: 830px) {
  .seo-product-container .product-details {
    margin-top: 30px;
  }
}
.seo-product-container .product-bullet-points {
  list-style: none;
  padding-left: 0;
  margin-bottom: 20px;
}
.seo-product-container .product-bullet-points li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 400;
}
.seo-product-container .product-bullet-points li img {
  width: 32px;
  height: auto;
  margin-right: 10px;
  padding: 5px;
  background-color: #e6f6ff;
}
.seo-product-container .included-list {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  background-color: #e6f6ff;
  gap: 20px;
  justify-content: center;
  padding-top: 25px;
}
.seo-product-container .included-list li {
  display: flex;
  align-items: center;
  flex-direction: column;
  font-weight: 500;
  font-size: 18px;
  flex: 0 0 calc(20% - 20px);
  min-width: 150px;
  gap: 10px;
  margin-bottom: 30px;
  text-align: center;
}
@media (max-width: 1260px) {
  .seo-product-container .included-list li {
    flex: 0 0 calc(25% - 20px);
  }
}
@media (max-width: 1000px) {
  .seo-product-container .included-list li {
    flex: 0 0 calc(33.333% - 20px);
  }
}
.seo-product-container .included-list li img {
  width: 120px;
}
.seo-product-container .faq-list .faq-item {
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding: 0 15px 15px;
}
.seo-product-container .faq-list .faq-item h3 {
  margin-bottom: 10px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  padding-right: 30px;
  text-transform: none !important;
  font-size: 16px;
  font-family: Lato !important;
}
.seo-product-container .faq-list .faq-item h3:after {
  content: "+";
  position: absolute;
  right: 10px;
  top: 0;
}
.seo-product-container .faq-list .faq-item h3.active:after {
  content: "−";
}
.seo-product-container .faq-list .faq-item .faq-answer {
  display: none;
}
.seo-product-container .faq-list .faq-item .faq-answer.active {
  display: block;
}
.seo-product-container .handrail-style {
  margin-top: 15px;
  font-size: 16px;
  font-weight: 400;
}
.seo-product-container .handrail-style strong {
  font-size: 18px;
  font-weight: 600;
}
@media (max-width: 768px) {
  .seo-product-container .desktop-tabs,
  .seo-product-container .desktop-tab-contents {
    display: none;
  }
  .seo-product-container .mobile-accordion {
    display: block;
  }
  .seo-product-container .mobile-accordion .accordion-item {
    border-bottom: 1px solid #ddd;
  }
  .seo-product-container .mobile-accordion .accordion-item:first-child {
    border-top: 1px solid #ddd;
  }
  .seo-product-container .mobile-accordion .accordion-header {
    position: relative;
    padding: 12px 20px;
    cursor: pointer;
    font-weight: 700;
    font-size: 24px;
    font-family: Playfair Display, Sans-serif !important;
  }
  .seo-product-container .mobile-accordion .accordion-header:after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .seo-product-container .mobile-accordion .accordion-header.active {
    border-radius: 5px 5px 0 0;
    border-bottom: none;
  }
  .seo-product-container .mobile-accordion .accordion-header.active:after {
    content: "−";
  }
  .seo-product-container .mobile-accordion .accordion-content {
    height: 0;
    overflow: hidden;
    background-color: #fff;
    border-top: none;
    border-radius: 0 0 5px 5px;
  }
  .seo-product-container .mobile-accordion .accordion-content.active {
    padding: 15px;
  }
  .seo-product-container .s-tabs {
    flex-direction: column;
    border-bottom: none;
  }
  .seo-product-container .s-tabs .s-tab {
    position: relative;
    border-radius: 5px;
    margin-bottom: 5px;
    padding: 12px 20px;
    font-weight: 700;
    font-size: 22px;
  }
  .seo-product-container .s-tabs .s-tab.active {
    border-bottom: 2px solid #42a2da;
    border-radius: 5px 5px 0 0;
    margin-bottom: -2px;
    color: #42a2da;
  }
  .seo-product-container .s-tabs .s-tab.active:after {
    content: "−";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .seo-product-container .s-tabs .s-tab:not(.active):after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .seo-product-container .s-tab-content {
    overflow: hidden;
    transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    opacity: 0;
    height: 0;
    padding: 0 15px;
    display: block;
    border-top: none;
    border-radius: 0 0 5px 5px;
    margin-bottom: 5px;
  }
  .seo-product-container .s-tab-content.active {
    opacity: 1;
    padding: 15px;
  }
}
@media (min-width: 769px) {
  .seo-product-container .mobile-accordion {
    display: none;
  }
}
.seo-product-container .example-prices,
.seo-product-container .related-products {
  margin: 40px auto;
}
.seo-product-container .example-prices h2,
.seo-product-container .related-products h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
}
.seo-product-container .example-prices p,
.seo-product-container .related-products p {
  text-align: center;
}
.seo-product-container .example-prices .section-title,
.seo-product-container .related-products .section-title {
  text-align: center;
}
.seo-product-container .new-slider {
  position: relative !important;
}
.seo-product-container .new-slider * {
  text-decoration: none !important;
}
.seo-product-container .mobile-included-slider {
  background-color: #e6f6ff;
}
.seo-product-container .mobile-included-slider .slick-dots {
  display: flex;
  justify-content: center;
  margin-top: -20px;
  padding-bottom: 20px;
}
.seo-product-container .mobile-included-slider .slick-dots button {
  display: none !important;
}
.seo-product-container .mobile-included-slider .slick-dots li {
  color: #d9d9d9;
  width: 18px;
  cursor: pointer;
  font-size: 30px;
}
.seo-product-container .mobile-included-slider .slick-dots li.slick-active {
  color: #42a2da;
}

html,
body {
  overflow-x: clip !important;
  background-color: white !important;
}

.slick-slide:focus {
  outline: none;
}

.slick-slider button:focus {
  outline: none;
}
.slick-slider button:hover {
  box-shadow: none !important;
}

.extra-padding {
  text-align: center;
}

@media (max-width: 450px) {
  .summary-wrap {
    padding: 0 !important;
  }
  .extra-padding {
    padding: 0 15px !important;
  }
}
.woocommerce-account main {
  margin-bottom: 150px;
}
.woocommerce-account main > .woocommerce {
  padding: 15px;
}
.woocommerce-account main > .woocommerce .woocommerce-MyAccount-navigation {
  padding-bottom: 40px;
}
.woocommerce-account main > .woocommerce .woocommerce-MyAccount-navigation li a {
  font-size: 19px;
  margin: 6px 0;
  display: block;
}
.woocommerce-account main > .woocommerce .woocommerce-MyAccount-navigation li.is-active a {
  font-weight: 600;
}

.page-id-132 .sent .wpcf7-form-control-wrap {
  display: none;
}

.page-id-132 .sent .wpcf7-form-control {
  display: none;
}

.page-id-132 .wpcf7-response-output {
  font-weight: 600;
}

.product-template-default .post-meta {
  display: none !important;
}
.product-template-default .page-content .container {
  grid: initial !important;
}
.product-template-default .page-content .container aside {
  display: none !important;
}

.page-template-recover_order .recover-page {
  padding-top: 100px;
  padding-bottom: 190px;
}
.page-template-recover_order .recover-page .recover-order-form {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.page-template-recover_order .recover-page .recover-order-form .frm-inner {
  display: flex;
  margin: 10px 0;
}
.page-template-recover_order .recover-page .recover-order-form .frm-inner label {
  width: 100px;
}
.page-template-recover_order .recover-page .recover-order-form .frm-inner input {
  flex: 1;
}
.page-template-recover_order .recover-page .recover-order-form input[type=submit] {
  padding: 8px 15px;
  background: #3e4b5b;
  border: 0 none;
  cursor: pointer;
  font-size: 13px;
  width: 100%;
  color: #fff;
}

.order-delivery-wrapper {
  padding: 150px 25px;
  text-align: center;
}
@media (max-width: 700px) {
  .order-delivery-wrapper {
    padding: 100px 25px;
  }
}

.custom-pricing-container {
  box-sizing: border-box;
  color: #3cb67a;
  font-family: "Lato", Sans-serif;
  font-size: 26px;
  font-weight: 700;
}
.custom-pricing-container .sale-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.custom-pricing-container .sale-gap {
  margin: 0 6px;
}
.custom-pricing-container .sale-price,
.custom-pricing-container .regular-price {
  display: inline-block;
}
.custom-pricing-container .sale-price {
  font-size: 0.8em;
  margin-bottom: -6px;
}
.custom-pricing-container .inner-text {
  font-size: 11px;
}
.custom-pricing-container .financing {
  color: #2f2f2f;
  font-size: 13px;
  font-style: italic;
  font-weight: 500;
  text-align: center;
}
.custom-pricing-container .sale-wrapper .sale-price {
  color: #000;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 400;
}
.custom-pricing-container .sale-wrapper .sale-price del {
  font-size: 15px !important;
}
.custom-pricing-container .sale-wrapper .sale-price inner-text {
  font-weight: 600;
}
.custom-pricing-container .sale-wrapper .regular-price {
  color: #3cb67a !important;
  text-align: center !important;
  font-weight: 600;
}
.custom-pricing-container .sale-wrapper .regular-price .inner-text {
  font-weight: 600;
}

#amb_phone,
#amb_email {
  display: none;
}

.elementor-widget-tabs .elementor-tab-desktop-title {
  background-color: #f6f6f6 !important;
}

.elementor-tabs .elementor-tabs-wrapper .elementor-tab-desktop-title.elementor-active {
  background-color: #616d79 !important;
}

.btn_actv:hover {
  background: #3cb67a !important;
  border-color: #3cb67a !important;
}

.elementor-menu-toggle {
  color: #616d79 !important;
}

.product_cat-standard-kit .single-product .price {
  color: #616d79 !important;
}

.custom-pricing-container .regular-price,
.custom-pricing-container .sale-price,
.custom-pricing-container {
  width: 100%;
}

.elementor-3457 .elementor-element.elementor-element-1f6bfc5.elementor-wc-products ul.products li.product .button {
  color: #000000;
  background-color: rgba(0, 0, 0, 0);
  border-color: #000000;
  font-family: "Lato", Sans-serif;
  text-transform: uppercase;
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-radius: 0px 0px 0px 0px;
  padding: 0px 0px 8px 0px;
  margin-top: 10px;
}

.elementor-3457 .elementor-element.elementor-element-27fd934b.elementor-wc-products ul.products li.product .button {
  color: #000000;
  background-color: rgba(0, 0, 0, 0);
  border-color: #000000;
  font-family: "Lato", Sans-serif;
  text-transform: uppercase;
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-radius: 0px 0px 0px 0px;
  padding: 0px 0px 8px 0px;
  margin-top: 10px;
}

.elementor-3457 .elementor-element.elementor-element-27fd934b.elementor-wc-products ul.products li.product .button:hover {
  background-color: rgba(2, 1, 1, 0);
}

.woocommerce .products .product .price {
  color: #3cb67a !important;
  font-family: "Lato", Sans-serif;
  font-size: 30px !important;
  font-weight: 700 !important;
}
@media (max-width: 1000px) {
  .woocommerce .products .product .price {
    font-size: 20px !important;
  }
}

.woocommerce div.product form.cart .variations select {
  min-width: 100%;
  margin-right: 0;
  border-radius: 0;
  border: 1px solid #616d79;
}

.elementor-109162 .elementor-element.elementor-element-911b066 .quantity .qty {
  border-radius: 0px 0px 0px 0px;
  padding: 10px 10px 10px 10px;
  border-color: #616d79;
  transition: all 0.2s;
}

.single-product .cart input {
  border: 2px solid #616d79;
  border-radius: 0px;
  font-size: 24px;
  padding: 10px;
  min-width: 160px;
  margin: 0 0 10px;
  outline: 0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #3cb67a;
  font-size: 1.25em;
  font-weight: 700;
}

.configurator-container .product-selector-container h2 {
  font-family: "Playfair Display", Sans-serif;
  font-weight: 700;
  text-transform: none !important;
}

.configurator-container .product-selector-container .product-selectors-container .product-selection-container .product-selection-inner .add-container {
  border-radius: 0px;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.elementor-kit-10684 h2 {
  font-family: "Playfair Display", Sans-serif;
  font-weight: 700;
  text-transform: none !important;
}

.configurator-container .configurer-save-container h2 {
  color: #000;
  text-transform: none !important;
  text-align: center;
  margin: 0 0 4px;
}

.configurator-container .configurer-save-container button {
  display: inline-block;
  padding: 10px 30px;
  border-radius: 0px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid #fff;
  transition: all 0.2s ease-in-out;
  border-color: #3cb67a !important;
  color: #fff !important;
  background-color: #3cb67a !important;
}
.configurator-container .configurer-save-container button:hover {
  color: white;
  background-color: #3cb67a;
  border-color: #3cb67a;
}

.elementor-kit-10684 button {
  font-weight: 700;
  background-color: #fff;
  border-radius: 0px 0px 0px 0px;
}

.parts_items__add_parts_btn_container {
  border-radius: 0px;
  width: 100%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.configurator-container .item-list-container .items-container .item-container .configure-product {
  display: inline-block;
  padding: 10px 30px;
  border: 2px solid #3cb67a;
  border-radius: 0px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.1s ease-in-out;
  min-width: 100%;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  background-color: #3cb67a;
}
.configurator-container .item-list-container .items-container .item-container .configure-product:hover {
  color: #3cb67a !important;
  background-color: #fff !important;
}

.configurator-container .product-selector-container .product-selectors-container .product-selection-container .more-info-link svg path {
  fill: #616d79;
}

.configurator-container .configurer-container .step-container .instruction-container .input-container input {
  width: 100%;
  font-size: 16px;
  line-height: 48px;
  border: 0;
  color: #3c4c5c;
  font-weight: 600;
  padding: 0 0 0 30px;
}

.configurator-container .configurer-container .step-container .instruction-container .input-container {
  display: flex;
  justify-content: stretch;
  align-items: center;
  padding: 0 30px 0 0;
  background-color: #e1e1e1;
  border-radius: 0;
  width: 80%;
}

.configurator-container .configurer-container .step-container .instruction-container .second-length button,
.configurator-container .configurer-container .step-container .instruction-container .third-length button {
  margin-top: 5px;
  padding: 4px 10px;
  border: 1px solid #fff;
  border-radius: 0;
  cursor: pointer;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  font-family: "Playfair Display", Sans-serif !important;
}

.elementor-109656 .elementor-element.elementor-element-935cb5a .elementor-image-carousel-caption {
  text-align: left;
  color: #000000;
  font-family: "Playfair Display", Sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3em;
}

.cta_btn_one {
  font-family: "Lato", Sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  fill: #ffffff;
  color: #ffffff;
  background-color: #616d79;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #616d79;
  border-radius: 0px 0px 0px 0px;
  float: right;
  padding: 3px 10px;
  margin-top: -6px;
}

.sb-chat-open .gdpr-modal__trigger {
  display: none !important;
}

.sb-chat .sb-responsive-close-btn:before {
  font-size: 45px !important;
}

.item-remove-container {
  padding: 15px;
  z-index: 50;
  height: 40px;
  font-size: 11px;
  background-color: #e13c3c;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}

.container_wrap {
  display: block;
  max-width: 1520px !important;
  margin: auto !important;
}
.glass {
  height: 210px;
  background: #c0e7f9;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.glass .glass-line {
  width: 220px;
  height: 100%;
  position: absolute;
  left: -16px;
  background: linear-gradient(125deg, transparent 25.5%, #dff3fd 50%, transparent 50.5%);
}
.glass .text {
  font-size: 12px;
  font-weight: 600;
  color: #8bb9cf;
  z-index: 10;
}

.side-quote-container {
  position: fixed;
  z-index: 10000000;
  inset: 0;
  display: none;
}
.side-quote-container.open {
  display: block;
}
.side-quote-container .side-quote-bg {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.7803921569);
  backdrop-filter: blur(8px);
}
.side-quote-container .side-quote-inner {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  background-color: white;
  -webkit-box-shadow: -5px 0px 16px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: -5px 0px 16px 0px rgba(0, 0, 0, 0.75);
  box-shadow: -5px 0px 16px 0px rgba(0, 0, 0, 0.75);
  display: flex;
  flex-direction: column;
}
.side-quote-container .side-quote-inner .quote-header {
  padding: 0px 4px 0 24px;
  box-shadow: 0px 10px 26px -11px rgba(0, 0, 0, 0.475);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 8px solid #3cb67a;
}
.side-quote-container .side-quote-inner .quote-header h2 {
  margin: 0;
  color: #383838;
  user-select: none;
}
.side-quote-container .side-quote-inner .quote-header .quote-close {
  font-weight: 900;
  transform: scaleY(0.9);
  font-size: 23px;
  cursor: pointer;
  user-select: none;
  padding: 10px 20px;
}
.side-quote-container .side-quote-inner .quote-boxes {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.side-quote-container .side-quote-inner .quote-box {
  width: 100%;
  margin: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow 0.3s ease;
  position: relative;
  border-bottom: 2px solid #3cb67a;
  border-top: 2px solid #3cb67a;
  user-select: none;
}
.side-quote-container .side-quote-inner .quote-box .timer {
  position: absolute;
  left: 10%;
  top: 50%;
  height: 60px;
  border-radius: 50%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  margin-top: -32px;
  transition: transform 0.3s ease;
}
.side-quote-container .side-quote-inner .quote-box:hover {
  z-index: 999999999;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.53);
}
.side-quote-container .side-quote-inner .quote-box:hover .timer {
  transform: scale(1.2);
}
.side-quote-container .side-quote-inner .quote-box .quote-image {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -10;
}
.side-quote-container .side-quote-inner .quote-box .quote-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.side-quote-container .side-quote-inner .quote-box .quote-inside {
  flex: 1;
  padding: 15px;
  background-color: rgba(255, 255, 255, 0.7803921569);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.side-quote-container .side-quote-inner .quote-box .quote-inside h3 {
  font-size: 18px;
  margin: 0;
  color: #383838;
  margin-bottom: 10px;
  font-weight: 900;
  text-align: center;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.side-quote-container .side-quote-inner .quote-box .quote-inside p {
  font-size: 13px;
  font-weight: 900;
  margin: 0 0 25px;
  color: #383838;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  text-align: center;
}
.side-quote-container .side-quote-inner .quote-box .quote-inside a {
  color: #ffffff;
  border-color: #3cb67a;
  font-family: "Lato", Sans-serif;
  font-weight: 700;
  background-color: #3cb67a;
  border-width: 1px;
  border-radius: 0px;
  text-decoration: none;
  padding: 5px 20px;
  border: 2px solid #3cb67a;
  display: block;
  text-align: center;
  position: relative;
}
.side-quote-container .side-quote-inner .quote-box:hover a {
  background: white;
  color: #3cb67a;
}

.side-quote-container-stairfurb .quote-header,
.side-quote-container-stairfurb .quote-box {
  border-color: #43a2da !important;
}

.side-quote-container-alfresco .quote-header,
.side-quote-container-alfresco .quote-box {
  border-color: #f9b000 !important;
}

.elementor-kit-10684 .elementor-button {
  background-color: transparent;
}

/** CUSTOM PRICING - CATEGORFY **/
.category-custom-pricing-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.category-custom-pricing-container .subscriber-price {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}
.category-custom-pricing-container .subscriber-price .subscriber-discount-percent {
  font-size: 16px;
  margin-left: 8px;
  background-color: #d0f9e5;
  color: #3bb67a;
  border-radius: 4px;
  padding: 0px 12px;
  font-weight: 600;
  cursor: pointer;
}
.category-custom-pricing-container .subscriber-price .subscriber-discount-percent:hover {
  background-color: #aceccd;
}
.category-custom-pricing-container .main-price {
  color: #3bb67a;
  font-size: 38px;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 460px) {
  .category-custom-pricing-container .main-price {
    font-size: 32px;
  }
}
.category-custom-pricing-container .usual-price {
  font-size: 18px;
  font-weight: 600;
}
.category-custom-pricing-container .product-btn {
  background-color: #3bb67a;
  font-weight: 700;
  color: #ffffff;
  font-size: 16px;
  padding: 15px 30px;
  width: 100%;
  display: inline-block;
  line-height: 1;
  text-align: center;
  margin-top: 35px;
  max-width: 500px;
}
.category-custom-pricing-container .product-btn:hover {
  background-color: #309b67;
}

.best-seller-float {
  position: absolute !important;
  top: 30px !important;
  left: 30px !important;
  z-index: 10 !important;
  user-select: none !important;
  pointer-events: none !important;
}

/** PRODUCT PRICING SHORTCODE */
.product-custom-pricing-container .product-pricing-inner {
  border: 1px #e9e9e9 solid;
  padding: 15px;
}
.product-custom-pricing-container .usual-price s {
  font-weight: 600;
  font-size: 27px;
}
.product-custom-pricing-container .prod-usual {
  font-weight: 400;
  font-size: 15px;
}
.product-custom-pricing-container .pricing-divider {
  width: 100%;
  margin: auto;
  height: 1px;
  background-color: #e9e9e9;
  margin: 10px 0;
}
.product-custom-pricing-container .subscriber-price {
  font-size: 17px;
  font-weight: 600;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0px 0 6px;
}
.product-custom-pricing-container .subscriber-price .subscriber-discount-percent {
  font-size: 16px;
  margin-left: 8px;
  background-color: #d0f9e5;
  color: #3bb67a;
  border-radius: 4px;
  padding: 0px 12px;
  cursor: pointer;
  font-weight: 600;
}
.product-custom-pricing-container .subscriber-price .subscriber-discount-percent:hover {
  background-color: #aceccd;
}
.product-custom-pricing-container i {
  font-size: 13px;
  margin-bottom: 19px;
  display: block;
}
.product-custom-pricing-container .main-price {
  color: #3bb67a;
  font-size: 28px;
  font-weight: 600;
}
@media (max-width: 460px) {
  .product-custom-pricing-container .main-price {
    font-size: 32px;
  }
}
.product-custom-pricing-container .base-btn {
  padding: 10px 20px;
  font-size: 18px;
  font-weight: 600;
  margin: 13px 0 0;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}
.product-custom-pricing-container .get-free-quote-btn {
  background-color: #3bb67a;
  color: #fff;
}
.product-custom-pricing-container .get-free-quote-btn:hover {
  background-color: #309b67;
}
.product-custom-pricing-container .nl-btn {
  border: 1px solid #616d79;
  color: #616d79;
}
.product-custom-pricing-container .nl-btn:hover {
  background-color: #616d79;
  color: #fff;
}
.product-custom-pricing-container .pricing-additional-links {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}
.product-custom-pricing-container .pricing-additional-links .pricing-additional-link {
  display: flex;
  justify-content: space-between;
  font-size: 21px;
  font-weight: 600;
  color: #000;
  border-bottom: 1px solid #e9e9e9;
  padding: 10px 10px;
  font-family: Playfair Display, Sans-serif !important;
  cursor: pointer;
}
.product-custom-pricing-container .pricing-additional-links .pricing-additional-link:hover {
  color: #3bb67a;
}

/** QQ **/
.qq-floating-div {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 10000;
  background-color: rgba(0, 0, 0, 0.8509803922);
  display: none;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
}
.qq-floating-div .alfresco-quick-quote-wrapper,
.qq-floating-div .quick-quote-wrapper {
  max-width: 550px;
  width: 100%;
  margin: auto;
}
.qq-floating-div .qq-close-popup {
  font-weight: 600;
  font-size: 20px;
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px 20px;
  cursor: pointer;
  transform: scaleX(1.2);
}

.side-quote-new .quote-header {
  box-shadow: none !important;
  border: none !important;
}
.side-quote-new .get-quote-header {
  text-align: center;
}
.side-quote-new .get-quote-header h2 {
  font-size: 32px;
  font-weight: 600;
  padding: 0 15px;
}
@media (max-width: 650px) {
  .side-quote-new .get-quote-header h2 {
    font-size: 26px;
  }
}
.side-quote-new .get-quote-header h3 {
  font-size: 18px;
  font-weight: 300;
  text-transform: none;
  font-family: Lato !important;
  padding: 0 15px;
}
.side-quote-new .quote-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  flex: 1;
  align-items: center;
}
.side-quote-new .quote-box-new {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding: 20px;
  padding-bottom: 50px;
  width: 100%;
  max-width: 480px;
  max-width: 480px;
  text-decoration: none;
  position: relative;
  gap: 20px;
}
.side-quote-new .quote-box-new .quote-box-inner {
  display: block;
}
.side-quote-new .quote-box-new .quote-box-inner .quote-arrow {
  padding: 5px;
  background-color: #43a2da;
  height: 30px;
  width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  float: right;
}
.side-quote-new .quote-box-new .quote-image {
  max-width: 130px;
  height: 170px;
  background-position: center;
  background-size: cover;
  width: 100vw;
}
.side-quote-new .quote-box-new h2 {
  font-weight: 600;
  text-decoration: none !important;
  color: #43a2da;
}
@media (max-width: 650px) {
  .side-quote-new .quote-box-new h2 {
    font-size: 22px;
  }
}
.side-quote-new .quote-box-new p {
  font-weight: 300;
  font-size: 19px;
  text-decoration: none !important;
  font-family: Lato;
  color: black;
}
@media (max-width: 650px) {
  .side-quote-new .quote-box-new p {
    font-size: 14px;
  }
}
.side-quote-new .quote-box-new .quote-btn {
  transition: transform 0.15s ease-in-out;
  background-color: #309b67;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
  padding: 10px;
  font-weight: 700;
  padding: 12px 10px;
  font-weight: 700;
  position: absolute;
  bottom: 0px;
  left: -10px;
  right: -10px;
}
.side-quote-new .quote-box-new:hover .quote-btn {
  transform: scale(1.05);
}
.side-quote-new .quote-or {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 80%;
}
.side-quote-new .quote-or h3 {
  margin: 0;
}
.side-quote-new .quote-or .quote-line {
  border-bottom: 3px solid #000;
  flex: 1;
}

.elementor-editor-active .page-content .container {
  display: block !important;
}
.elementor-editor-active .page-content .container .sidebar {
  display: none !important;
}

.home-styles-slider {
  visibility: hidden;
  height: 500px;
  /* the slides */
  /* the parent */
}
.home-styles-slider .nextArrowBtn {
  position: absolute;
  z-index: 1000;
  top: 50%;
  right: 35px;
  color: white;
  font-size: 42px;
  margin-top: -80px;
  background: none;
  border: none;
  cursor: pointer;
}
.home-styles-slider .nextArrowBtn:hover {
  color: #43a2da;
}
.home-styles-slider .prevArrowBtn {
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 35px;
  color: white;
  font-size: 42px;
  margin-top: -80px;
  background: none;
  border: none;
  cursor: pointer;
}
.home-styles-slider .prevArrowBtn:hover {
  color: #43a2da;
}
.home-styles-slider .slick-slide {
  margin: 0 15px;
}
.home-styles-slider .slick-slide h3 {
  color: #000000;
  font-size: 21px;
  margin-top: 20px;
  text-transform: capitalize;
  display: flex; /* Aligns text and arrow horizontally */
  justify-content: space-between; /* Pushes arrow to the right */
  align-items: center;
  padding: 0 15px;
}
.home-styles-slider .slick-slide h3::after {
  content: " ➔";
  color: #000000;
}
.home-styles-slider.slick-initialized {
  visibility: visible;
  height: auto;
}
.home-styles-slider .bg-img {
  background-size: cover;
  background-position: center;
}
.home-styles-slider .slick-track {
  padding: 10px 0;
}
.home-styles-slider .slick-list {
  margin: 0 -15px;
}
.home-styles-slider .slick-dots {
  display: flex;
  justify-content: center;
}
.home-styles-slider .slick-dots button {
  display: none !important;
}
.home-styles-slider .slick-dots li {
  color: #d9d9d9;
  width: 18px;
  cursor: pointer;
  font-size: 30px;
}
.home-styles-slider .slick-dots li.slick-active {
  color: #42a2da;
}
@media (max-width: 640px) {
  .home-styles-slider .slick-slide {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.065), 0 3px 6px rgba(0, 0, 0, 0.082) !important;
  }
}
.home-styles-slider .slick-slide:hover h3 {
  color: #3bb67a !important;
}
.category-styles-slider-container {
  display: flex;
  gap: 30px;
}
.category-styles-slider-container .btn-container {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.category-styles-slider-container .slider-view-btn-container {
  z-index: 10;
  font-weight: 600;
  font-size: 16px !important;
  color: white;
  pointer-events: none;
  padding: 6px 10px !important;
  width: 200px;
}
.category-styles-slider-container .style-tag {
  position: absolute;
  top: 10px;
  padding: 0 20px 5px 10px;
  margin-left: 0;
  font-family: Playfair Display, Sans-serif !important;
  z-index: 10;
  pointer-events: none;
  background: #606c78;
}
.category-styles-slider-container .style-tag h4 {
  font-size: 34px;
  color: white;
  margin: 0;
}
.category-styles-slider-container .style-tag p {
  font-size: 20px;
  color: white;
  margin: 0;
  font-weight: 600;
  font-family: Lato !important;
}
@media (max-width: 600px) {
  .category-styles-slider-container {
    flex-wrap: wrap;
  }
}

.category-slider-wrapper {
  width: 50%;
  position: relative;
}
@media (max-width: 600px) {
  .category-slider-wrapper {
    width: 100%;
  }
}

.category-styles-slider {
  visibility: hidden;
  height: 400px;
  /* the slides */
  /* the parent */
}
.category-styles-slider .nextArrowBtn {
  position: absolute;
  z-index: 1000;
  top: 50%;
  right: 15px;
  color: white;
  font-size: 42px;
  margin-top: -20px;
  background: none;
  border: none;
  cursor: pointer;
}
.category-styles-slider .nextArrowBtn:hover {
  color: #43a2da;
}
.category-styles-slider .prevArrowBtn {
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 15px;
  color: white;
  font-size: 42px;
  margin-top: -20px;
  background: none;
  border: none;
  cursor: pointer;
}
.category-styles-slider .prevArrowBtn:hover {
  color: #43a2da;
}
.category-styles-slider .slick-slide {
  margin: 0 15px;
}
.category-styles-slider .slick-slide h3 {
  color: #606c78;
  font-size: 21px;
  margin-top: 20px;
  text-transform: capitalize;
  display: flex; /* Aligns text and arrow horizontally */
  justify-content: space-between; /* Pushes arrow to the right */
  align-items: center;
  padding: 0 15px;
}
.category-styles-slider .slick-slide h3::after {
  content: " ➔";
  color: #606c78;
}
.category-styles-slider.slick-initialized {
  visibility: visible;
  height: auto;
}
.category-styles-slider .bg-img {
  background-size: cover;
  background-position: center;
}
.category-styles-slider .slick-track {
  padding: 10px 0;
}
.category-styles-slider .slick-list {
  margin: 0 -15px;
}
.category-styles-slider .slick-dots {
  display: flex;
  justify-content: center;
  position: absolute;
  pointer-events: none;
  left: 0;
  right: 0;
  bottom: 60px;
}
.category-styles-slider .slick-dots button {
  display: none !important;
}
.category-styles-slider .slick-dots li {
  color: #d9d9d9;
  width: 18px;
  cursor: pointer;
  font-size: 30px;
  pointer-events: auto;
}
.category-styles-slider .slick-dots li.slick-active {
  color: #42a2da;
}
@media (max-width: 640px) {
  .category-styles-slider .slick-slide {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.065), 0 3px 6px rgba(0, 0, 0, 0.082) !important;
  }
}
.category-styles-slider .slick-slide:hover h3 {
  color: #3bb67a !important;
}
.product-slider-wrapper .product-main-slider-wrapper {
  margin-bottom: 15px;
  position: relative;
}
.product-slider-wrapper .product-main-slider-wrapper .product-trustpilot {
  position: absolute;
  bottom: 75px;
  left: 0;
  right: 0;
  z-index: 10;
  pointer-events: none;
  user-select: none;
}
@media (max-width: 768px) {
  .product-slider-wrapper .product-main-slider-wrapper .product-trustpilot {
    bottom: 35px;
  }
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider {
  visibility: hidden;
  height: 500px;
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider.slick-initialized {
  visibility: visible;
  height: auto;
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider .prd-slid {
  min-height: 500px;
  background-size: cover;
  background-position: center;
}
@media (max-width: 690px) {
  .product-slider-wrapper .product-main-slider-wrapper .product-main-slider .prd-slid {
    min-height: 330px;
  }
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  pointer-events: none;
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots button {
  display: none !important;
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots li {
  color: #d9d9d9;
  width: 18px;
  cursor: pointer;
  font-size: 30px;
  pointer-events: auto;
}
.product-slider-wrapper .product-main-slider-wrapper .product-main-slider .slick-dots li.slick-active {
  color: #42a2da;
}
.product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider {
  visibility: hidden;
  height: 75px;
}
.product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider.slick-initialized {
  visibility: visible;
  height: auto;
}
.product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider .prd-slid {
  margin-right: 10px;
  background-size: cover;
  background-position: center;
  min-height: 75px;
  aspect-ratio: 1/1;
  cursor: pointer;
  opacity: 1;
}
.product-slider-wrapper .product-sub-slider-wrapper .product-sub-slider .prd-slid.slick-current {
  opacity: 0.3;
}
@media (max-width: 767px) {
  .product-slider-wrapper {
    margin-top: -120px !important;
    margin-left: -25px !important;
    margin-right: -25px !important;
  }
}

.product-select-wrapper .handrail-style-wrapper {
  padding-top: 30px;
  margin: 10px 0;
  display: flex;
  gap: 15px;
  align-items: center;
}
@media (max-width: 765px) {
  .product-select-wrapper .handrail-style-wrapper {
    justify-content: center;
  }
}
.product-select-wrapper .handrail-style-wrapper .handrail-style-container {
  display: flex;
  gap: 10px;
}
.product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector {
  border-radius: 50px;
  padding: 1px 13px 2px;
  border: 1px solid #606c78;
  color: #606c78;
  font-weight: 500;
  cursor: pointer;
}
@media (max-width: 415px) {
  .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector {
    font-size: 12px;
  }
}
.product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector.active, .product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector:hover {
  background-color: #3cb67a;
  color: #fff;
  border-color: #3cb67a;
}
.product-select-wrapper .handrail-style-wrapper .handrail-style-container .handrail-style-selector.active {
  cursor: default;
}
.product-select-wrapper .handrail-finish-wrapper {
  margin: 10px 0;
}
.product-select-wrapper .handrail-finish-wrapper p {
  font-weight: 600;
}
@media (max-width: 765px) {
  .product-select-wrapper .handrail-finish-wrapper p {
    text-align: center;
  }
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container {
    gap: 0px;
    flex-wrap: nowrap;
  }
}
@media (max-width: 765px) {
  .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container {
    justify-content: center;
  }
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  padding: 6px 8px;
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector .handrail-finish-image {
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 65px;
  background-size: cover;
}
@media (max-width: 495px) {
  .product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector .handrail-finish-image {
    width: 50px;
  }
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector .handrail-finish-name {
  font-weight: 500;
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector:hover {
  background-color: #e8e8e8;
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector.active {
  background-color: #3cb67a;
  color: white;
}
.product-select-wrapper .handrail-finish-wrapper .handrail-finish-container .handrail-finish-selector.active {
  cursor: default;
}
.product-select-wrapper .spindle-colour-wrapper {
  margin: 10px 0;
}
.product-select-wrapper .spindle-colour-wrapper p {
  font-weight: 600;
}
@media (max-width: 765px) {
  .product-select-wrapper .spindle-colour-wrapper p {
    text-align: center;
  }
}
.product-select-wrapper .spindle-colour-wrapper .spindle-colour-container {
  display: flex;
  gap: 20px;
}
@media (max-width: 765px) {
  .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container {
    justify-content: center;
  }
}
.product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  padding: 6px 8px;
}
.product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector .spindle-colour-image {
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 65px;
  background-size: cover;
}
@media (max-width: 495px) {
  .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector .spindle-colour-image {
    width: 50px;
  }
}
.product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector .spindle-colour-name {
  font-weight: 500;
}
.product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector.active, .product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector:hover {
  background-color: #3cb67a;
  color: white;
}
.product-select-wrapper .spindle-colour-wrapper .spindle-colour-container .spindle-colour-selector.active {
  cursor: default;
}

.price-example-container {
  position: relative;
  height: 550px;
}

.product-price-examples-slider {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.slider-hidden {
  visibility: hidden !important;
}

.product-price-examples-slider {
  visibility: hidden;
  height: 500px;
  /* the slides */
  /* the parent */
}
.product-price-examples-slider .get-started {
  color: white;
  border: 2px solid #3cb67a;
  background-color: #3cb67a;
  padding: 5px 15px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  width: calc(100% - 26px);
  margin: 10px 13px;
  cursor: pointer;
}
.product-price-examples-slider .get-started:hover {
  background-color: white;
  color: #3cb67a;
}
.product-price-examples-slider .slick-slide {
  margin: 0 15px;
}
.product-price-examples-slider .slick-slide h3 {
  color: #000000;
  font-size: 24px;
  margin-top: 20px;
  text-transform: capitalize;
  display: flex; /* Aligns text and arrow horizontally */
  justify-content: space-between; /* Pushes arrow to the right */
  align-items: center;
  padding: 0 15px;
  font-family: Lato !important;
}
.product-price-examples-slider .slick-slide h3 .sales-price {
  font-size: 24px;
}
.product-price-examples-slider .slick-slide h4 {
  font-weight: 600;
  padding: 0 15px;
  font-family: Lato !important;
  margin-bottom: 0;
}
.product-price-examples-slider.slick-initialized {
  visibility: visible;
  height: auto;
}
.product-price-examples-slider .bg-img {
  background-size: cover;
  background-position: center;
  position: relative;
}
.product-price-examples-slider .bg-img .toggle-full-design {
  background-color: #606c78;
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px 20px;
  cursor: pointer;
  color: #fff;
}
.product-price-examples-slider .slick-track {
  padding: 10px 0;
}
.product-price-examples-slider .slick-list {
  margin: 0 -15px;
}
.product-price-examples-slider .slick-dots {
  display: flex;
  justify-content: center;
}
.product-price-examples-slider .slick-dots button {
  display: none !important;
}
.product-price-examples-slider .slick-dots li {
  color: #d9d9d9;
  width: 18px;
  cursor: pointer;
  font-size: 30px;
}
.product-price-examples-slider .slick-dots li.slick-active {
  color: #42a2da;
}
@media (max-width: 640px) {
  .product-price-examples-slider .slick-slide {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.065), 0 3px 6px rgba(0, 0, 0, 0.082) !important;
  }
}
.handrail-finish-wrapper-pricing {
  margin: 10px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 25px;
}
.handrail-finish-wrapper-pricing p {
  font-weight: 600;
}
.handrail-finish-wrapper-pricing .handrail-finish-container {
  display: flex;
  gap: 20px;
}
.handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  padding: 6px 8px;
}
.handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing .handrail-finish-image {
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 65px;
  background-size: cover;
}
@media (max-width: 495px) {
  .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing .handrail-finish-image {
    width: 50px;
  }
}
.handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing .handrail-finish-name {
  font-weight: 500;
}
.handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing.active, .handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing:hover {
  background-color: #3cb67a;
  color: white;
}
.handrail-finish-wrapper-pricing .handrail-finish-container .handrail-finish-selector-pricing.active {
  cursor: default;
}

.sf-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 8px;
  font-weight: 600;
  font-size: 20px;
  margin: 10px 0;
  cursor: pointer;
  text-decoration: none !important;
}

.sf-btn-primary {
  background-color: #3cb67a;
  color: white;
  border: 2px solid #3cb67a;
}
.sf-btn-primary:hover {
  text-decoration: underline;
}

.sf-btn-secondary {
  background-color: white;
  color: #606c78;
  border: 2px solid #606c78;
}
.sf-btn-secondary:hover {
  text-decoration: underline;
}

.info-popup {
  position: fixed;
}
.info-popup::backdrop {
  background: rgba(0, 0, 0, 0.5); /* Transparent black background */
}

/** DESIGN PREVIEW */
.design-preview-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: none;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.8588235294);
}

.design-preview-bg.active {
  display: block;
}

.design-preview-bg .close-btn {
  position: absolute;
  top: 40px;
  right: 40px;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
  z-index: 1001;
  border-radius: 50%;
  background-color: black;
  display: flex;
  height: 40px;
  width: 40px;
  justify-content: center;
  align-items: center;
}

/** CART **/
.crt-config-wrapper .crt-total {
  color: #cc3c3c;
  font-size: 17px;
  font-weight: 600;
  padding-top: 12px;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper {
  display: flex;
  width: 100%;
  gap: 20px;
}
@media (max-width: 590px) {
  .crt-config-wrapper .crt-main-kit .crt-kit-wrapper {
    flex-direction: column;
  }
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image {
  background-position: center;
  background-size: cover;
  height: auto;
  width: 40%;
}
@media (max-width: 590px) {
  .crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-image {
    width: 100%;
    height: 180px;
  }
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-glass {
  background: #c0e7f9;
  position: relative;
  overflow: hidden;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-glass .glass-line {
  width: 220px;
  height: 100%;
  position: absolute;
  left: -16px;
  background: linear-gradient(125deg, transparent 25.5%, #dff3fd 50%, transparent 50.5%);
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details {
  flex: 1;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details h3 {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0 0 12px;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs {
  display: flex;
  gap: 5px;
  flex-direction: column;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs p {
  margin: 0;
  font-size: 16px;
  color: #333;
  line-height: 1.4;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs span {
  color: #333;
  font-weight: 500;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs .crt-total {
  font-size: 17px;
}
.crt-config-wrapper .crt-main-kit .crt-kit-wrapper .crt-kit-details .crt-kit-specs .crt-total span {
  color: inherit;
  font-weight: 600;
}
.crt-config-wrapper .crt-sections {
  gap: 25px;
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 590px) {
  .crt-config-wrapper .crt-sections {
    grid-template-columns: 1fr;
  }
}
.crt-config-wrapper .crt-sections .crt-section-wrapper {
  display: flex;
  gap: 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-thumbnail {
  width: 40%;
  max-width: 160px;
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats {
  flex: 1;
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats h3 {
  font-size: 14px;
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-Range,
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-BaserailFinish,
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-HandrailFinish,
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-BaseRail,
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-HandRail,
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-SystemType,
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation-SpindleFinish {
  display: none !important;
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation {
  display: grid;
  grid-template-columns: auto 1fr; /* Define two columns: auto for dt, flexible for dd */
  gap: 2px 10px;
  font-size: 13px;
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dt {
  font-weight: 500;
  text-align: left; /* Align dt text to the right */
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dd {
  margin: 0; /* Remove default margin from dd */
}
.crt-config-wrapper .crt-sections .crt-section-wrapper .crt-section-stats .crt-section-meta .variation dd p {
  margin: 0; /* Remove default margin from dd */
}

.crt-modify-btn {
  color: #606c78 !important;
  font-size: 14px;
  padding: 5px 10px;
  text-transform: uppercase;
  margin-bottom: 0 !important;
}
.crt-modify-btn:hover {
  color: #606c78 !important;
}

.quote-wrap-shortcode {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  flex: 1;
  align-items: center;
}
.quote-wrap-shortcode .quote-box-new {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding: 20px;
  padding-bottom: 50px;
  width: 100%;
  max-width: 750px;
  text-decoration: none;
  position: relative;
  gap: 20px;
}
.quote-wrap-shortcode .quote-box-new .quote-box-inner {
  display: block;
}
.quote-wrap-shortcode .quote-box-new .quote-box-inner .quote-arrow {
  padding: 5px;
  background-color: #43a2da;
  height: 30px;
  width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  float: right;
}
.quote-wrap-shortcode .quote-box-new .quote-image {
  max-width: 130px;
  height: 170px;
  background-position: center;
  background-size: cover;
  width: 100vw;
}
.quote-wrap-shortcode .quote-box-new h2 {
  font-weight: 600;
  text-decoration: none !important;
  color: #43a2da;
}
@media (max-width: 650px) {
  .quote-wrap-shortcode .quote-box-new h2 {
    font-size: 22px;
  }
}
.quote-wrap-shortcode .quote-box-new p {
  font-weight: 300;
  font-size: 19px;
  text-decoration: none !important;
  font-family: Lato;
  color: black;
}
@media (max-width: 650px) {
  .quote-wrap-shortcode .quote-box-new p {
    font-size: 14px;
  }
}
.quote-wrap-shortcode .quote-box-new .quote-btn {
  transition: transform 0.15s ease-in-out;
  background-color: #309b67;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
  padding: 10px;
  font-weight: 700;
  padding: 12px 10px;
  font-weight: 700;
  position: absolute;
  bottom: 0px;
  left: -10px;
  right: -10px;
}
.quote-wrap-shortcode .quote-box-new:hover .quote-btn {
  transform: scale(1.05);
}

.prod-sel-cont.spindle {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

@media (min-width: 631px) {
  .trustbox-zoom {
    transform: scale(1.5);
  }
}

.whats-included {
  width: 100%;
  margin: auto;
}
.whats-included .whats-included-img {
  display: none;
  margin: auto;
}
.whats-included .whats-included-img img {
  margin: auto;
}

.container {
  display: block !important;
}

.quote-image {
  position: relative;
}

.whats-app {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #39ae41;
  position: absolute;
  top: 25px;
  right: 0;
  padding: 5px;
}
.whats-app img {
  width: 20px;
}

.quote-arrow {
  width: 100% !important;
  gap: 10px;
  justify-content: space-between !important;
  padding: 0 10px !important;
  font-weight: 600;
}
.quote-arrow.wa-quote {
  background-color: #39ae41 !important;
}

.quote-box-new {
  gap: 0 !important;
  padding: 0 !important;
  margin: 20px 20px 50px !important;
  align-items: stretch !important;
  min-height: 200px;
}
.quote-box-new.wa h2 {
  color: #39ae41;
}
.quote-box-new h2,
.quote-box-new p {
  margin-left: 20px !important;
  padding-right: 10px;
}
.quote-box-new .quote-image {
  height: auto !important;
}

.quote-box-inner {
  display: flex !important;
  height: auto !important;
  flex-direction: column;
  justify-content: space-between;
}
.quote-box-inner h2 {
  margin-top: 10px;
}

.q-padder {
  padding: 0 30px;
}

.qbp {
  width: auto !important;
}

@media (max-width: 445px) {
  .quote-arrow {
    font-size: 12px;
  }
}
.cart-section-selector .section-types-container,
.cart-section-editor .section-types-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.cart-section-selector .section-type-option,
.cart-section-editor .section-type-option {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  text-align: center;
  transition: all 0.3s ease;
}
.cart-section-selector .section-type-option:hover,
.cart-section-editor .section-type-option:hover {
  border-color: #3cb67a;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.cart-section-selector .section-type-option img,
.cart-section-editor .section-type-option img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 10px;
}
.cart-section-selector .section-type-option h3,
.cart-section-editor .section-type-option h3 {
  margin: 10px 0 5px;
  font-size: 16px;
}
.cart-section-selector .section-type-option p,
.cart-section-editor .section-type-option p {
  color: #666;
  font-size: 14px;
  margin-bottom: 15px;
}
.cart-section-selector .section-editor-form,
.cart-section-editor .section-editor-form {
  display: grid;
  gap: 20px;
  margin: 20px 0;
}
.cart-section-selector .section-editor-form .form-field label,
.cart-section-editor .section-editor-form .form-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
}
.cart-section-selector .section-editor-form .form-field input,
.cart-section-selector .section-editor-form .form-field select,
.cart-section-editor .section-editor-form .form-field input,
.cart-section-editor .section-editor-form .form-field select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
.cart-section-selector .section-editor-form .form-field input[type=checkbox],
.cart-section-editor .section-editor-form .form-field input[type=checkbox] {
  width: auto;
  margin-right: 8px;
}
/*# sourceMappingURL=child-main.css.map */
