/**
 * Maho
 *
 * @package     rwd_default
 * @copyright   Copyright (c) 2006-2020 Magento, Inc. (https://magento.com)
 * @copyright   Copyright (c) 2021-2023 The OpenMage Contributors (https://openmage.org)
 * @copyright   Copyright (c) 2024-2025 Maho (https://mahocommerce.com)
 * @license     https://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */

:root {
  /* Primary Colors */
  --maho-color-primary: #0472ad;
  --maho-color-primary-hover: #2e8ab8;
  --maho-color-primary-active: #297aa3;
  --maho-color-primary-dark: #143d52;

  /* Text Colors */
  --maho-color-text-primary: #636363;
  --maho-color-text-secondary: #767676;
  --maho-color-text-light: #e6e6e6;

  /* Status Colors */
  --maho-color-success: #0f8900;
  --maho-color-error: #df280a;
  --maho-color-warning: #e26703;

  /* Background Colors */
  --maho-color-background: #ffffff;
  --maho-color-background-alt: #f4f4f4;
  --maho-color-background-hover: #ececec;
  --maho-color-background-dark: #676157;

  /* Border Colors */
  --maho-color-border: #cccccc;
  --maho-color-border-light: #ededed;
  --maho-color-border-medium: #c7c7c7;
  --maho-color-border-dark: silver;

  /* Price Colors */
  --maho-color-price: var(--maho-color-primary);
  --maho-color-old-price: var(--maho-color-text-secondary);
  --maho-color-special-price: #D84D3C;

  /* Form Colors */
  --maho-color-input-border: var(--maho-color-border-dark);
  --maho-color-input-focus: var(--maho-color-primary);
  --maho-color-input-error: var(--maho-color-error);

  accent-color: var(--maho-color-primary);
}

svg {
  stroke-width: 1.5;
}

/* ============================================ *
 * Reset
 * ============================================ */
*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* Prevent tap highlight on iOS/Android */
  -webkit-text-size-adjust: 100%;
  /* Prevent automatic scaling on iOS */
  scrollbar-gutter: stable;
  /* Reserve space for scrollbar to prevent layout shift */
}

body {
  background: var(--maho-color-background);
  color: var(--maho-color-text-primary);
  line-height: 1;
}

html,
body,
img,
fieldset,
abbr,
acronym {
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

th,
code,
cite,
caption {
  font-weight: normal;
  font-style: normal;
  text-align: left;
}

address {
  font-style: normal;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

img {
  display: block;
}

ol,
ul {
  list-style: none;
}

q:before,
q:after {
  content: '';
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body:has(dialog[open]) {
    overflow: hidden;
}

/* ============================================ *
 * Base Styles
 * ============================================ */
a, button {
  touch-action: manipulation;
}

a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.button,
.btn {
  min-height: 24px;
  min-width: 24px;
}

body,
button,
input,
select,
table,
textarea {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  line-height: 1.5;
}

a {
  color: var(--maho-color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--maho-color-primary-hover);
  text-decoration: underline;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
  outline-color: var(--maho-color-primary-hover);
  outline-offset: 2px;
  outline-width: 2px;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.visually-hidden {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  &:not(caption) {
    position: absolute !important;
  }
  * {
    overflow: hidden !important;
  }
}

/* ============================================ *
 * Typography
 * ============================================ */
h1, .h1 {
  margin: 0;
  margin-bottom: 0.7em;
  color: var(--maho-color-primary);
  font-size: 1.75rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  text-transform: uppercase;
}

h2, .h2 {
  margin: 0;
  margin-bottom: 0.5em;
  color: #0f0f0f;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  text-transform: uppercase;
  text-align: left;
  font-weight: bold;
  text-transform: capitalize;
  margin-left: 127px;
}

h3, .h3 {
  margin: 0;
  margin-bottom: 10px;
  /* color: var(--maho-color-text-primary); */
  color: #fff;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}

h4, .h4 {
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}

h5, .h5 {
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 0.813rem;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}

h6, .h6 {
  margin: 0;
  margin-bottom: 5px;
  color: var(--maho-color-text-primary);
  font-size: 0.75rem;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}

/* ============================================ *
 * Shared Classes
 * ============================================ */
.address-list address {
  margin-bottom: 1em;
}

.availability {
  margin-bottom: 0;
  font-size: 0.813rem;
  text-transform: uppercase;
}

.availability .label {
  display: none;
}

.availability.in-stock {
  color: var(--maho-color-success);
}

.availability.available-soon,
.availability.out-of-stock {
  color: var(--maho-color-error);
}

.availability-only {
  color: var(--maho-color-error);
  margin-bottom: 10px;
}

/* -------------------------------------------- *
 * Page Titles
 */
.page-title {
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
}

.page-title h1,
.page-title h2,
.product-name h1,
.product-name .h1 {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: 600;
  /* color: var(--maho-color-text-primary); */
  color: #333232;
  margin-bottom: 10px;
}

.page-title .links ul {
  display: flex;
  gap: 0.5rem;
}

.page-title .links a {
  color: var(--maho-color-text-primary);
}

.page-title .links a:hover {
  color: var(--maho-color-primary);
}

/* -------------------------------------------- *
 * Block Module
 */
.block,
.col-left-first {
  margin-bottom: 20px;
}
.block-title {
  position: relative;
  padding: 10px 0 0;
  margin-bottom: 5px;
}
.block-title h2,
.block-title h3,
.block-title strong,
.block-title {
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  color: var(--maho-color-primary);
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: normal;
}
.block-title small {
  font-size: 100%;
  font-weight: normal;
  color: var(--maho-color-text-secondary);
}

body:not(.customer-account) .block:first-child .block-title {
  border-top: none;
  padding-top: 0;
}

.block-subtitle {
  font-weight: bold;
  margin-bottom: 7px;
}

.block-content.unpad {
  padding: 0;
}

.block-content li.item {
  margin: 0 0 10px 9px;
}

.block-content li.item:last-child {
  margin-bottom: 0;
}

.block .actions {
  margin: 10px 0 0;
}
.block .actions:after {
  content: '';
  display: table;
  clear: both;
}
.block .actions a {
  float: left;
}
.block .actions .button {
  float: right;
}

.col-left .block .actions .button ~ a,
.col-right .block .actions .button ~ a {
  line-height: 33px;
  margin-right: 5px;
}

@media only screen and (max-width: 770px) {
  /* Style specific sidebar blocks like main content sections, but not account block */
  .sidebar .block:not(.block-layered-nav):not(.block-account) {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--maho-color-border-light);
  }

  .sidebar .block:not(.block-layered-nav):not(.block-account):last-child {
    border-bottom: none;
  }

  .sidebar .block:not(.block-layered-nav):not(.block-account) .block-title {
    color: var(--maho-color-primary);
    font-weight: 600;
    font-size: 1rem;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding: 0;
    border: none;
    background: none;
  }

  .sidebar .block:not(.block-layered-nav):not(.block-account) .block-content {
    padding: 0;
    margin: 0;
    border: none;
    background: none;
  }
}
/* -------------------------------------------- *
 * Secondary Navigation
 */
.block-account .block-title,
.block-cms-menu .block-title {
  padding-top: 0;
  border-top: none;
}
.block-account li,
.block-cms-menu li {
  text-transform: uppercase;
  margin: 7px 0;
}
.block-account li.current a,
.block-cms-menu li strong {
  font-weight: bold;
  color: var(--maho-color-primary);
}
.block-account li a,
.block-cms-menu li a {
  color: var(--maho-color-text-primary);
}
.block-account li a:hover,
.block-cms-menu li a:hover {
  color: var(--maho-color-primary);
}

/* ============================================ *
 * Buttons
 * ============================================ */
/* Secondary Buttons */
.cart .buttons-set .button,
.cart-table .button,
.sidebar .actions .button,
.button.button-secondary {
  background: var(--maho-color-button-secondary);
  color: var(--maho-color-text-primary);
  padding: 7px 15px;
}
.cart .buttons-set .button:hover,
.cart-table .button:hover,
.sidebar .actions .button:hover,
.button.button-secondary:hover {
  background: var(--maho-color-button-secondary-hover);
  cursor: pointer;
}
.cart .buttons-set .button:active,
.cart-table .button:active,
.sidebar .actions .button:active,
.button.button-secondary:active {
  background: var(--maho-color-button-secondary-active);
  color: var(--maho-color-text-primary);
}
.cart .buttons-set .button:focus,
.cart-table .button:focus,
.sidebar .actions .button:focus,
.button.button-secondary:focus {
  color: var(--maho-color-text-primary);
  background: var(--maho-color-button-secondary-active);
  outline: none;
}

.sidebar .actions button.button {
  white-space: normal;
}

/* Primary Buttons */
.button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button {
  background: var(--maho-color-primary);
  display: inline-block;
  padding: 7px 15px;
  border: 0;
  color: var(--maho-color-background);
  font-size: 0.813rem;
  font-weight: normal;
  line-height: 19px;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}
.button:hover,
.cart-table .product-cart-actions .button:hover,
#co-shipping-method-form .buttons-set .button:hover,
.footer .button:hover {
  background: var(--maho-color-primary-hover);
  cursor: pointer;
}
.button:active,
.cart-table .product-cart-actions .button:active,
#co-shipping-method-form .buttons-set .button:active,
.footer .button:active {
  background: var(--maho-color-primary-active);
  color: var(--maho-color-background);
}
.button:focus,
.cart-table .product-cart-actions .button:focus,
#co-shipping-method-form .buttons-set .button:focus,
.footer .button:focus {
  background-color: var(--maho-color-primary-active);
  outline: none;
  color: var(--maho-color-background);
}

a.button {
  text-decoration: none;
}

a.button:hover {
  color: var(--maho-color-background);
}

/* Disabled - class for anchor, state for form elements */
.button.disabled,
.button:disabled {
  background: var(--maho-color-button-disabled);
  opacity: 0.6;
  cursor: not-allowed;
}

/* Adjacent buttons */
.button + .button {
  margin-left: 5px;
}

.button2 {
  border: 0;
  padding: 0 5px;
  margin: 0;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
}

.button2:focus {
  outline: none;
}

@media only screen and (max-width: 770px) {
  .col2-set .buttons-set .button,
  .col2-set .buttons-set .button2 {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .col2-set .buttons-set .back-link {
    display: none;
  }
  .col2-set .buttons-set .required {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .buttons-set .button {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 7px;
  }
  .buttons-set .back-link {
    display: none;
  }
  .buttons-set .required {
    display: none;
  }
}
/* -------------------------------------------- *
 * Paypal Button
 */
.paypal-logo.paypal-after {
  float: left;
}

.paypal-after .paypal-or {
  float: left;
}

.paypal-or {
  line-height: 34px;
  margin: 0px 10px 5px;
}

.paypal-after .paypal-button {
  float: left;
}

.paypal-button {
  line-height: 0px;
}

.paypal-button img {
  display: inline;
}

@media only screen and (max-width: 740px) {
  .paypal-or {
    line-height: 20px;
  }

  .paypal-logo,
  .paypal-or,
  .paypal-button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}
/* -------------------------------------------- *
 * Button Sets
 */
.buttons-set {
  clear: both;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--maho-color-border-light);
  text-align: right;
}
.buttons-set p.required {
  margin: 0;
  margin-left: 10px;
  line-height: 33px;
  float: right;
}
.buttons-set .back-link {
  float: left;
  margin: 0;
  line-height: 33px;
}
.buttons-set a:not(.button) {
  line-height: 20px;
  display: inline-block;
  padding: 5px;
}
.buttons-set button.button {
  float: right;
  margin-left: 5px;
  min-width: 140px;
}
.buttons-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Icons
 */
.icon-sprite, .ratings .rating-box, .ratings .rating-box .rating,
#search_mini_form .search-button:before, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center;
  text-indent: -9999px;
}

/* -------------------------------------------- *
 * Breadcrumbs
 */
.breadcrumbs {
  overflow: hidden;
  margin: -15px 20px 5px;
}

.breadcrumbs a {
  color: var(--maho-color-text-primary);
}

.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child):after {
  content: "›";
  margin: 0 0.5rem;
}

.breadcrumbs a:hover {
  color: var(--maho-color-primary);
}

.breadcrumbs strong {
  color: var(--maho-color-text-primary);
  font-weight: normal;
}

@media only screen and (max-width: 770px) {
  .breadcrumbs {
    display: none;
  }
}
/* -------------------------------------------- *
 * Button - Remove / Previous
 */

#wishlist-table a:has(svg),
#multiship-addresses-table a:has(svg),
.product-cart-remove a {
  font-size: 0;
  color: var(--maho-color-text-primary);
}
#wishlist-table a:has(svg):hover,
#multiship-addresses-table a:has(svg):hover,
.product-cart-remove a:hover {
  color: var(--maho-color-primary);
}

.btn-remove,
.btn-previous {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid var(--maho-color-border-light);
  text-align: center;
  /* Hide text */
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  position: relative;
}
.btn-remove:hover,
.btn-previous:hover {
  background-color: var(--maho-color-primary);
  border-color: var(--maho-color-primary);
}

.btn-remove:after {
  content: 'X';
  font-family: sans-serif;
  color: var(--maho-color-primary);
  height: 20px;
  line-height: 20px;
  font-size: 0.625rem;
  font-weight: bold;
}
.btn-remove:hover:after {
  color: var(--maho-color-background);
  text-decoration: none;
}

.btn-previous:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid var(--maho-color-primary);
  border-left: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -2px;
  margin-top: -4px;
}
.btn-previous:hover:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid white;
  border-left: none;
}

.block-layered-nav .currently .btn-remove,
.block-layered-nav .currently .btn-previous,
.mini-products-list .btn-remove,
.mini-products-list .btn-previous,
#compare-items .btn-remove,
#compare-items .btn-previous {
  float: right;
  margin-left: 6px;
}

/* -------------------------------------------- *
 * Checkout Agreements
 */
.checkout-agreements li {
  margin-bottom: 20px;
}

.checkout-agreements .agreement-content {
  overflow-y: auto;
  max-width: 670px;
  max-height: 125px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid var(--maho-color-border);
  background: var(--maho-color-background-alt);
}

/* -------------------------------------------- *
 * CVV Security Code
 */
.cvv-what-is-this {
  margin-left: 10px;
  font-size: 0.813rem;
  line-height: 24px;
}

/* -------------------------------------------- *
 * Container
 */
.main-container,
.footer-container {
  position: relative;
  max-width: 1260px;
  margin: 0 auto;
  padding-inline: 0.5rem;
}
.main-container:after,
.footer-container:after {
  content: '';
  display: table;
  clear: both;
}

@media only screen and (min-width: 771px) {
  .main-container,
  .footer-container {
    padding: 30px;
  }
}
.footer-container {
  padding-top: 0px;
}

/* -------------------------------------------- *
 * Column Layouts
 */
.main:after,
.col-wrapper:after {
  content: '';
  display: table;
  clear: both;
}

.col-left,
.col-right,
.col-main {
  padding: 0 10px;
}

.col-left {
  float: left;
  width: 25%;
  padding-left: 0;
  /* Remove the 15px padding */
  clear: left;
}

.col-right {
  float: right;
  width: 25%;
  padding-right: 0;
}
.col-right img {
  max-width: 100%;
}

.col-main {
  /* float: left;
  width: 72%; */
  /* background-color: #fff !important; */
}

.col1-layout .col-main {
  float: none;
  width: auto;
  padding: 0;
  /* Remove the 15px padding */
}

.col2-left-layout .col-main {
  float: right;
  padding-right: 0;
  /* Remove the 15px padding */
}

.col2-right-layout .col-main {
  padding-left: 0;
  /* Remove the 15px padding */
}

.col3-layout .col-right {
  width: 20.83333%;
}
.col3-layout .col-wrapper {
  float: left;
  width: 79.16667%;
}
.col3-layout .col-wrapper .col-main {
  float: right;
  width: 73.68421%;
}
.col3-layout .col-wrapper .col-left {
  width: 26.31579%;
}

@media only screen and (max-width: 1000px) {
  .col3-layout .col-right {
    float: left;
    clear: left;
    padding-left: 0;
    padding-right: 10px;
    width: 25%;
  }
  .col3-layout .col-wrapper {
    float: right;
    width: 100%;
  }
  .col3-layout .col-wrapper .col-main {
    float: right;
    width: 75%;
  }
  .col3-layout .col-wrapper .col-left {
    width: 25%;
  }
}
@media only screen and (max-width: 770px) {
  .col-left,
  .col-right,
  .col-main,
  .col1-layout .col-left,
  .col1-layout .col-right,
  .col1-layout .col-main,
  .col2-left-layout .col-left,
  .col2-left-layout .col-right,
  .col2-left-layout .col-main,
  .col2-right-layout .col-left,
  .col2-right-layout .col-right,
  .col2-right-layout .col-main,
  .col3-layout .col-wrapper .col-left,
  .col3-layout .col-right,
  .col3-layout .col-wrapper .col-main {
    padding: 0;
    margin-bottom: 10px;
    float: none;
    width: auto;
  }

  .col3-layout .col-wrapper {
    float: none;
    width: auto;
  }

  .col-main {
    float: none;
    width: auto;
  }

  .col-main .col-left {
    padding: 0;
    /* On product listing pages, the left column gets moved inside col-main on small viewports */
  }
}
/* Content Columns */
.col2-set {
  width: 100%;
}
.col2-set .col-1,
.col2-set .col-2 {
  width: 50%;
  padding: 20px;
}
@media only screen and (max-width: 770px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    padding: 10px;
  }
}
.col2-set .col-1 {
  float: left;
  padding-left: 0;
}
.col2-set .col-2 {
  float: right;
  padding-right: 0;
}
@media only screen and (max-width: 479px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}
.col2-set .narrow {
  width: 33%;
}
.col2-set .wide {
  width: 65%;
}
.col2-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Top Container
 */
@media only screen and (min-width: 771px) {
  .top-container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 30px;
  }
}
/* -------------------------------------------- *
 * Global Site Notice
 */
.global-site-notice {
  background: var(--maho-color-background-dark);
  color: var(--maho-color-text-light);
  font-size: 0.688rem;
}
.global-site-notice .notice-inner {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  line-height: 11px;
  min-height: 40px;
  padding-top: 14.5px;
  padding-bottom: 14.5px;
  text-align: center;
}
.global-site-notice p {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Promotional Message Banner
 */
.promo-msg {
  color: var(--maho-color-primary);
  text-align: center;
  margin: 10px;
  text-transform: uppercase;
}

/* -------------------------------------------- *
 * Messages
 */
.success {
  color: var(--maho-color-success);
}

.error {
  color: var(--maho-color-error);
  font-weight: bold;
}

.notice {
  color: var(--maho-color-warning);
  font-weight: bold;
}

/* -------------------------------------------- *
 * Messages
 */
.messages {
  margin-bottom: 10px;
}

.messages li li {
  position: relative;
  margin-bottom: 5px;
  padding: 7px 10px 7px 20px;
  background: var(--maho-color-background-alt);
  font-size: 0.938rem;
}

.messages li li:before {
  top: 50%;
  left: 0;
  margin-top: -6px;
}

.messages .error-msg li {
  color: black;
  border-left: 5px solid var(--maho-color-error);
  background-color: var(--maho-color-background-alt);
}

.messages .error-msg li:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid var(--maho-color-error);
  border-right: none;
}

.messages .notice-msg li {
  color: black;
  border-left: 5px solid var(--maho-color-warning);
  background-color: var(--maho-color-background-alt);
}

.messages .notice-msg li:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid var(--maho-color-warning);
  border-right: none;
}

.messages .success-msg li {
  color: black;
  border-left: 5px solid var(--maho-color-success);
  background-color: var(--maho-color-background-alt);
}

.messages .success-msg li:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid var(--maho-color-success);
  border-right: none;
}

@media only screen and (min-width: 915px) {
  .order-list-grid .col-1 {
    width: 30%;
  }

  .order-list-grid .col-2 {
    width: 50%;
    padding-right: 20px;
  }

  .order-list-grid .col-3 {
    clear: none;
    width: 20%;
    padding-top: 0;
  }
}
/* -------------------------------------------- *
 * Page Popup
 */
.page-popup {
  padding: 20px;
  background: var(--maho-color-background);
  height: auto;
}

.page-popup h1 {
  margin: 0 0 0.5em;
  font-size: 2.25rem;
}

/* -------------------------------------------- *
 * Payment Methods
 */
.payment-methods {
  margin-bottom: 20px;
}

.payment-methods dt {
  padding: 5px 0;
}

.payment-methods dd {
  padding-top: 10px;
}

.payment-methods .form-list {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 5px 15px 15px;
  padding: 15px;
  border: 1px solid var(--maho-color-border);
  background: var(--maho-color-background-alt);
}

.payment-methods .form-list:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid var(--maho-color-border);
  border-top: none;
  top: -11px;
  left: 30px;
}

.payment-methods .form-list:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid var(--maho-color-background-alt);
  border-top: none;
  top: -10px;
  left: 30px;
}

.payment-methods .form-list li:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Please Wait (Loading Indicator)
 */
.please-wait {
  display: inline-block;
  margin-left: 10px;
  margin-top: 5px;
  line-height: 24px;
  height: 24px;
  white-space: nowrap;
  /* Prevent the linebreak in the HTML from causing layout issues */
}
.please-wait img {
  float: left;
  margin-right: 5px;
  width: 24px;
}

/* -------------------------------------------- *
 * Price Box - Standard
 */
.price-box {
  margin: 7px 0;
}

.price-box p {
  margin-bottom: 0;
}

.price-notice {
  color: var(--maho-color-text-secondary);
}

.price-box .price {
  color: var(--maho-color-primary);
  font-size: 1rem;
}

.price-box .price-label {
  color: var(--maho-color-text-secondary);
  white-space: nowrap;
}

.price-box .minimal-price-link {
  padding-left: 1em;
  color: var(--maho-color-primary);
  display: block;
  /* We want this to show on its own line, otherwise the layout looks funky */
}
.price-box .minimal-price-link .label {
  color: var(--maho-color-text-secondary);
}

/* -------------------------------------------- *
 * Price Box - Special
 */
.price-box .old-price,
.price-box .special-price {
  display: inline-block;
}
.price-box .old-price .price-label,
.price-box .special-price .price-label {
  display: none;
}
.price-box .old-price .price,
.price-box .special-price .price {
  display: inline-block;
}

.price-box .old-price .price {
  color: var(--maho-color-text-secondary);
  text-decoration: line-through;
}

.price-box .special-price {
  color: var(--maho-color-primary);
  padding-left: 1em;
}
.price-box .special-price .price-label {
  color: var(--maho-color-special-price);
}

/* -------------------------------------------- *
 * Price Box - Taxes
 */
.price-box .price-excluding-tax,
.price-box .price-including-tax {
  display: block;
}

span.weee {
  display: block;
}

/* -------------------------------------------- *
 * Tier Prices
 */
.product-pricing,
.tier-prices,
.tier-prices-grouped {
  display: inline-block;
  padding: 4px 8px;
  background: var(--maho-color-background-alt);
  border: 1px solid var(--maho-color-border);
  margin-top: 7px;
}
.product-pricing li,
.tier-prices li,
.tier-prices-grouped li {
  font-size: 0.75rem;
}
.product-pricing .benefit,
.tier-prices .benefit,
.tier-prices-grouped .benefit {
  font-style: italic;
}
.product-pricing .price,
.tier-prices .price,
.tier-prices-grouped .price {
  font-weight: bold;
}

/* ============================================ *
 * Item Options
 * ============================================ */
.item-options {
  font-size: 0.875rem;
}
.item-options:after {
  content: '';
  display: table;
  clear: both;
}
.item-options dt {
  float: left;
  clear: left;
  font-weight: 600;
  padding-right: 5px;
  font-style: italic;
}
.item-options dt:after {
  content: ': ';
}
.item-options dd {
  float: left;
  padding-left: 10px;
  margin: 0 0 6px;
}

.truncated,
.truncated a.dots {
  cursor: help;
}

.truncated a.details {
  cursor: help;
  height: 16px;
  line-height: 16px;
}
.truncated a.details:hover {
  text-decoration: none;
}

.truncated .truncated_full_value {
  position: relative;
  z-index: 300;
}

.truncated .truncated_full_value .item-options {
  display: none;
  position: absolute;
  z-index: 300;
  width: 200px;
  padding: 8px;
  border: 1px solid var(--maho-color-primary);
  background-color: var(--maho-color-background-alt);
  top: 21px;
  left: -100px;
}
.truncated .truncated_full_value .item-options:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid var(--maho-color-primary);
  border-top: none;
  left: 97px;
  top: -7px;
}

.truncated .truncated_full_value .item-options > p {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.truncated .show .item-options {
  display: block;
}

/* -------------------------------------------- *
 * Printer Friendly Page
 */
.page-print {
  width: 6.5in;
  margin: 20px;
  background: var(--maho-color-background);
}

/* -------------------------------------------- *
 * Product Image
 */
.product-image,
.no-touch .product-img-box .product-image:not(.zoom-available):hover {
  position: relative;
  display: block;
}

@media only screen and (max-width: 770px) {
  body .product-img-box .product-image:hover {
    border-color: var(--maho-color-border-light);
  }
}
.no-touch .product-image:hover {
  border-color: var(--maho-color-primary);
}

/* -------------------------------------------- *
 * Ratings
 */
.ratings, .rating-box {
  --star-rating__icon-active: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23de7921"><path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd" /></svg>');
  --star-rating__icon-inactive: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="%23de7921" class="size-6"><path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z" /></svg>');
}
.rating-box {
  width: 65px;
  height: 13px;
  background-repeat: repeat-x !important;
  background-image: var(--star-rating__icon-inactive);
  background-size: 13px !important;;
  overflow: hidden;
}
.rating-box .rating {
  float: left;
  height: 13px;
  background-repeat: repeat-x !important;
  background-image: var(--star-rating__icon-active);
  background-size: 13px !important;
  background-position: left !important;
}
.ratings .amount {
  display: block;
  margin: 5px auto;
}
.star-rating {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  --star-rating__icon-inactive: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="%23999"><path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z" /></svg>');
}

.star-rating__value {
  width: 0;
  opacity: 0;
  pointer-events: none;
}

.star-rating__label {
  cursor: pointer;
  display: inline-block;
  font-size: 0;
  width: 24px;
  height: 24px;
}

.star-rating__label:before {
  content: var(--star-rating__icon-inactive);
  display: inline-block;
  width: 24px;
  height: 24px;
}

.star-rating__value:checked ~ .star-rating__label {
  content: var(--star-rating__icon-active);
}

@media (hover: hover) and (pointer: fine) {
  .star-rating__label:hover,
  .star-rating__label:hover ~ .star-rating__label {
    content: var(--star-rating__icon-active);
  }
  .star-rating__value:checked + .star-rating__label:hover,
  .star-rating__value:checked + .star-rating__label:hover ~ .star-rating__label,
  .star-rating__value:checked ~ .star-rating__label:hover,
  .star-rating__value:checked ~ .star-rating__label:hover ~ .star-rating__label,
  .star-rating__label:hover ~ .star-rating__value:checked ~ .star-rating__label {
    content: var(--star-rating__icon-active);
  }
}

/* -------------------------------------------- *
 * Standard Formatted Text Block
 */
.std p {
  margin: 0 0 1.5em;
}

.std ol {
  list-style: decimal outside;
  margin-bottom: 1.5em;
}

.std ol li {
  margin-left: 2em;
}

.std ul {
  list-style: disc outside;
  margin-bottom: 1.5em;
}

.std ul li {
  margin-left: 2em;
}

.std .note {
  color: var(--maho-color-text-secondary);
  font-size: 0.813rem;
}

/* -------------------------------------------- *
 * Tabs
 */
.tabs {
  margin-bottom: 10px;
  background: var(--maho-color-background);
}

/* -------------------------------------------- *
 * Toolbar
 */
.toolbar {
  justify-content: space-between;
  align-items: center;
  display: flex;
  width: 100%;
  margin-bottom: 1.5rem;
  background: #ECECEC;
  padding: 10px;
  border-radius: 5px;
}

.pager-no-toolbar {
  margin-bottom: 10px;
}

.pager-no-toolbar ~ .pager-no-toolbar {
  margin-top: 10px;
}

.toolbar label,
.pager-no-toolbar label {
  font-weight: bold;
  text-transform: uppercase;
  color: #000;
}

.toolbar .view-mode > * {
  font-size: 0;
  width: 24px;
  height: 24px;
}
.toolbar .view-mode > label {
  display: none;
}

.toolbar .view-mode > a:hover,
.toolbar .view-mode > strong {
  color: var(--maho-color-primary);
}
.toolbar .view-mode > a {
  color: var(--maho-color-text-primary);
}

.toolbar .count-container,
.sorter, .sorter .view-mode {
  display: flex;
  place-items: center;
  gap: 0.5rem;
}

.sorter > .sort-by {
  display: flex;
  place-items: center;
  gap: 0.2rem;
}
.sorter > .sort-by .sort-by-switcher {
  width: 24px;
  height: 24px;
  display: inline-block;
}
.pages strong {
  display: none;
}

.pages ol {
  display: flex;
  justify-content: flex-end;
}

.pages a,
.pages .current {
  display: inline-block;
  border: 0;
  font-size: 0.813rem;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 30px;
  width: 25px;
  height: 30px;
  padding: 0;
  color: var(--maho-color-primary);
}

.pages .current,
.pages .current:hover {
  color: var(--maho-color-text-primary);
  border: 1px solid var(--maho-color-border);
  width: 30px;
  background-color: var(--maho-color-background);
  cursor: default;
}

.pages .next,
.pages .previous {
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  background-color: transparent;
  position: relative;
}
.pages .next:hover,
.pages .previous:hover {
  border: 1px solid var(--maho-color-primary);
}

.pages .next:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid var(--maho-color-primary);
  border-right: none;
  top: 50%;
  margin-top: -3px;
  left: 50%;
  margin-left: -2px;
}
.pages .next:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid var(--maho-color-primary);
  border-right: none;
}

.pages .previous:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid var(--maho-color-primary);
  border-left: none;
  top: 50%;
  margin-top: -3px;
  left: 50%;
  margin-left: -2px;
}
.pages .previous:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid var(--maho-color-primary);
  border-left: none;
}

@media only screen and (max-width: 479px) {
  .pager .amount--has-pages {
    display: none;
  }

  .pages {
    float: left;
  }

  .limiter label {
    display: none;
  }
}
@media only screen and (max-width: 1279px) {
  .toolbar .view-mode > label {
    display: none;
  }
}
/* ============================================ *
 * Tax - Full Tax Summary
 * ============================================ */
#checkout-review-table .summary-collapse,
#shopping-cart-totals-table .summary-collapse,
body.customer-account .data-table .summary-collapse {
  position: relative;
  cursor: pointer;
}
#checkout-review-table .summary-collapse:before,
#shopping-cart-totals-table .summary-collapse:before,
body.customer-account .data-table .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid var(--maho-color-primary);
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .summary-collapse:hover:before,
#shopping-cart-totals-table .summary-collapse:hover:before,
body.customer-account .data-table .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid var(--maho-color-primary);
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .show-details .summary-collapse:before,
#shopping-cart-totals-table .show-details .summary-collapse:before,
body.customer-account .data-table .show-details .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid var(--maho-color-primary);
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .show-details .summary-collapse:hover:before,
#shopping-cart-totals-table .show-details .summary-collapse:hover:before,
body.customer-account .data-table .show-details .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid var(--maho-color-primary);
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#shopping-cart-totals-table tfoot td .summary-collapse:before, #shopping-cart-totals-table tfoot td .summary-collapse:hover:before {
  margin-bottom: 5px;
}

/* ============================================ *
 * Magento Helpers
 * ============================================ */
.a-center {
  text-align: center;
}

.a-right,
.align-right {
  text-align: right;
}

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

.nobr,
.nowrap {
  white-space: nowrap;
}

.width-full {
  width: 100%;
}

/* ============================================ *
 * Custom Helpers
 * ============================================ */
.hidden {
  display: none;
}

/* ============================================ *
 * Print Styles
 * ============================================ */
.page-print .print-head {
  margin: 0 0 15px;
}

.page-print .print-head .logo {
  float: none;
  max-height: 50px;
  width: auto;
}

/* ============================================ *
 * FORMS - COMMON
 * ============================================ */
/* -------------------------------------------- *
 * Fieldsets
 */
.fieldset p {
  margin-bottom: 7px;
}
.fieldset p.required {
  margin-bottom: 5px;
  float: right;
  font-size: 0.75rem;
  margin-top: -23px;
}

.fieldset + .fieldset {
  margin-top: 5px;
}

form .legend {
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  margin-bottom: 15px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--maho-color-border-light);
}

/* -------------------------------------------- *
 * Input Box
 */
.input-box {
  padding-top: 2px;
}
.input-box:after {
  content: '';
  display: table;
  clear: both;
}

/* For adjacent select inputs. */
/* Example: credit card expiration month and year. */
.input-box .v-fix {
  float: left;
  margin-right: 5px;
  max-width: 100%;
}

/* -------------------------------------------- *
 * Labels
 */
label {
  display: inline-block;
  font-size: 0.813rem;
  font-weight: 600;
  user-select: none;
}

label.required:after,
span.required:after {
  content: ' *';
  color: var(--maho-color-error);
  font-weight: normal;
  font-size: 0.75rem;
}

label.required em,
span.required em {
  display: none;
}

/* -------------------------------------------- *
 * Hints
 */
.input-hint {
  color: var(--maho-color-text-secondary);
  font-size: 0.75rem;
}

/* -------------------------------------------- *
 * Select
 */
select {
  font-size: 0.938rem;
  padding: 0 8px;
  height: 30px;
}

select + select {
  margin-left: 5px;
}

select[multiple] {
  width: 270px;
  border: 1px solid var(--maho-color-border-dark);
  font-size: 0.938rem;
  padding: 5px;
}

/* -------------------------------------------- *
 * Textarea
 */
textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 450px;
  padding: 8px;
}

/* -------------------------------------------- *
 * Inputs
 */
.input-text {
  appearance: none;
  border-radius: 2px;
  border: 1px solid var(--maho-color-border-dark);
  background: var(--maho-color-background);
  font-size: 0.938rem;
}
.input-text:focus {
  border: 1px solid var(--maho-color-primary);
}

.input-text.validation-failed {
  border-color: var(--maho-color-error);
}

.input-text.validation-failed:focus {
  outline-color: var(--maho-color-error);
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
  height: 30px;
  padding: 0 8px;
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
  width: 365px;
  max-width: 100%;
}

/* Only show on iPhones (not iPads or any other device) */
@media only screen and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 0) {
  input[type=email],
  input[type=search],
  input[type=number],
  input[type=password],
  input[type=tel],
  input[type=text],
  select {
    font-size: 1rem;
    /* Prevent from zooming on focus */
  }
}

/* -------------------------------------------- *
 * Inputs - Quantity
 */
input[type=number].qty,
input[type=text].qty {
  width: 3em;
  text-align: center;
  vertical-align: middle;
}

/* -------------------------------------------- *
 * Checkbox And Radio
 */
.checkbox,
.radio {
  position: relative;
  top: -1px;
  display: inline-block;
}

.checkbox + label,
.radio + label {
  width: auto;
  max-width: 85%;
  padding: 0 0 0 8px;
  font-size: 0.875rem;
  font-weight: normal;
  vertical-align: top;
}

/* -------------------------------------------- *
 * Validation
 */
p.required,
.validation-advice {
  margin: 5px 0 0;
  color: var(--maho-color-error);
  font-size: 0.813rem;
}

/* ============================================ *
 * Form List
 * ============================================ */
.form-list > li {
  margin-bottom: 10px;
}
.form-list select {
  width: 365px;
  max-width: 100%;
}
.form-list .input-range .input-text {
  width: 74px;
}
.form-list .field,
.form-list .wide,
.form-list .control {
  margin-bottom: 10px;
}

/* Turn the label of controls (radio/checkbox) into a button style that wraps the input */
.form-list .control,
.sp-methods dt,
#checkout-shipping-method-load .sp-methods dd,
#co-shipping-method-form .sp-methods dd,
.product-options ul.options-list {
  /* When a label is next to an input that is set to not display, we should style the label in a non-clickable state */
}
.form-list .control div.input-box,
.sp-methods dt div.input-box,
#checkout-shipping-method-load .sp-methods dd div.input-box,
#co-shipping-method-form .sp-methods dd div.input-box,
.product-options ul.options-list div.input-box {
  display: inline;
  float: left;
}
.form-list .control div.input-box:after,
.sp-methods dt div.input-box:after,
#checkout-shipping-method-load .sp-methods dd div.input-box:after,
#co-shipping-method-form .sp-methods dd div.input-box:after,
.product-options ul.options-list div.input-box:after {
  display: none;
}
.form-list .control input.radio,
.form-list .control input.checkbox,
.sp-methods dt input.radio,
.sp-methods dt input.checkbox,
#checkout-shipping-method-load .sp-methods dd input.radio,
#checkout-shipping-method-load .sp-methods dd input.checkbox,
#co-shipping-method-form .sp-methods dd input.radio,
#co-shipping-method-form .sp-methods dd input.checkbox,
.product-options ul.options-list input.radio,
.product-options ul.options-list input.checkbox {
  float: left;
  margin-right: -40px;
  margin-top: 10px;
  margin-left: 15px;
}
.form-list .control label,
.sp-methods dt label,
#checkout-shipping-method-load .sp-methods dd label,
#co-shipping-method-form .sp-methods dd label,
.product-options ul.options-list label {
  color: var(--maho-color-text-primary);
  background-color: var(--maho-color-background-alt);
  padding: 5px 10px;
  display: inline-block;
  width: auto;
  max-width: none;
  min-width: 250px;
  float: none;
  padding: 6px 10px 6px 40px;
}
.form-list .control label:hover,
.sp-methods dt label:hover,
#checkout-shipping-method-load .sp-methods dd label:hover,
#co-shipping-method-form .sp-methods dd label:hover,
.product-options ul.options-list label:hover {
  background-color: var(--maho-color-background-hover);
}
.form-list .control .no-display + label,
.sp-methods dt .no-display + label,
#checkout-shipping-method-load .sp-methods dd .no-display + label,
#co-shipping-method-form .sp-methods dd .no-display + label,
.product-options ul.options-list .no-display + label {
  padding-left: 10px;
  background-color: transparent;
}
.form-list .control .no-display + label:hover,
.sp-methods dt .no-display + label:hover,
#checkout-shipping-method-load .sp-methods dd .no-display + label:hover,
#co-shipping-method-form .sp-methods dd .no-display + label:hover,
.product-options ul.options-list .no-display + label:hover {
  background-color: transparent;
}

.product-options ul.options-list label,
.col2-set .form-list .control label {
  min-width: inherit;
  width: 250px;
  max-width: 100%;
}

.form-list .control.remember-me-box label {
  width: auto;
  max-width: none;
  min-width: inherit;
}

.form-list .control {
  margin-top: 10px;
}
.form-list .control label {
  float: none;
}
.form-list .control .radio,
.form-list .control .checkbox {
  margin-right: 6px;
}
.form-list .control .input-box {
  clear: none;
  display: inline-block;
  width: auto;
  padding: 0;
}

form .form-instructions {
  font-style: italic;
  font-size: 0.813rem;
  color: var(--maho-color-text-secondary);
}

/* ============================================ *
 * Table Helpers
 * ============================================ */
.hide-th {
  text-indent: -9999px;
}

/* ============================================ *
 * Data Table
 * ============================================ */
:is(.data-table, .availability-only-details) {
  width: 100%;
}

:is(.data-table, .availability-only-details) :is(td, th) {
  padding: 10px;
  vertical-align: top;
}

:is(.data-table, .availability-only-details) th {
  background: var(--maho-color-background-alt);
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
}

:is(.data-table, .availability-only-details) :is(thead th, tbody td) {
  border-bottom: 1px solid var(--maho-color-border-dark);
}

:is(.data-table, .availability-only-details) tfoot tr {
  background: var(--maho-color-background-alt);
}

:is(.data-table, .availability-only-details) tbody td .item-options {
  margin-left: 20px;
  margin-top: 10px;
}
:is(.data-table, .availability-only-details) tbody td .item-options dt:after {
  content: ':';
}

/* ============================================ *
 * Generic Info Table
 * ============================================ */
.info-box {
  border: 1px solid var(--maho-color-border-dark);
  padding: 12px 15px;
  margin: 0 0 15px;
}
.info-box h2 {
  font-weight: bold;
  font-size: 0.813rem;
}

.info-table th,
.info-table td {
  vertical-align: top;
}

.info-table th {
  font-weight: bold;
  padding: 4px 20px 4px 0;
}

.info-table td {
  padding: 4px 0;
}

/* ============================================ *
 * Linearize Table
 * ============================================ */
@media only screen and (max-width: 479px) {
  .linearize-table {
    /* Helpers */
  }
  .linearize-table tr,
  .linearize-table th,
  .linearize-table td {
    display: block;
  }
  .linearize-table thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table thead th.lin-hide {
    display: none;
  }
  .linearize-table thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table tbody tr {
    position: relative;
    border-bottom: 1px solid var(--maho-color-border);
  }
  .linearize-table tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table tbody td.lin-hide {
    display: none;
  }
  .linearize-table tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table tbody td:first-child,
  .linearize-table tbody td:first-child h3 {
    font-weight: bold;
  }
  .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 0.75rem;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table tfoot td {
    display: block;
    float: left;
  }
  .linearize-table tfoot td.lin-hide {
    display: none;
  }
  .linearize-table tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table .linearize-hide {
    display: none;
  }
  .linearize-table .linearize-unpad {
    padding: 0;
  }
  .linearize-table .linearize-show {
    display: block;
  }
}
@media only screen and (max-width: 599px) {
  .linearize-table-large {
    /* Helpers */
  }
  .linearize-table-large tr,
  .linearize-table-large th,
  .linearize-table-large td {
    display: block;
  }
  .linearize-table-large thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table-large thead th.lin-hide {
    display: none;
  }
  .linearize-table-large thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table-large tbody tr {
    position: relative;
    border-bottom: 1px solid var(--maho-color-border);
  }
  .linearize-table-large tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table-large tbody td.lin-hide {
    display: none;
  }
  .linearize-table-large tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table-large tbody td:first-child,
  .linearize-table-large tbody td:first-child h3 {
    font-weight: bold;
  }
  .linearize-table-large tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table-large tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 0.75rem;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table-large tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table-large tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table-large tfoot td {
    display: block;
    float: left;
  }
  .linearize-table-large tfoot td.lin-hide {
    display: none;
  }
  .linearize-table-large tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table-large tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table-large .linearize-hide {
    display: none;
  }
  .linearize-table-large .linearize-unpad {
    padding: 0;
  }
  .linearize-table-large .linearize-show {
    display: block;
  }
}
@media only screen and (min-width: 600px) {
  .linearize-table .linearize-collapse {
    display: none;
  }
}
/* ============================================ *
 * Global
 * ============================================ */
html,
body {
  height: 100%;
}

.wrapper {
  min-width: 320px;
  min-height: 100%;
  margin: 0 auto;
  background: #f2f1f1;
}

.wrapper:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Header
 * ============================================ */

.page-header-container {display: flex; place-items: center; gap: 0.5rem;padding-top:0.5rem}
.page-header-container > div {display: flex; place-items: center; gap: 0.5rem}
.page-header-container > div:first-of-type > a:first-of-type {display: none}
.page-header-minimal {display:flex; flex-direction: column; align-items: center; gap: 0.5rem; padding-top: 0.5rem}

@media (max-width: 770px) {
  .page-header-container > div:first-of-type a:first-of-type {display: block}
  .page-header-container > *:nth-child(1) {grid-area: logo}
  .page-header-container > *:nth-child(2) {grid-area: search; width: 100%}
  .page-header-container > *:nth-child(3) {grid-area: links}
  .main-container {margin-top: 0.5rem}
  .page-header-container {
    display: grid !important;
    place-items: normal !important;
    grid-template-columns: auto min-content;
    grid-template-areas:
                "logo links"
                "search search";
    margin-inline: 0.5rem;
  }
}

@media only screen and (min-width: 771px) {
  .page-header {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 30px;
  }
}

/* ============================================ *
 * Logo
 * ============================================ */

.logo img {
  max-height: 50px;
}

@media (max-width: 770px) {
  .logo img {
    max-width: 100%;
  }
}

.logo:hover {
  opacity: 0.8;
}

/* -------------------------------------------- *
 * Skip - Link
 */

#skip-to-main-content {
  position: absolute;
  top: -40rem;
  left: 0.5rem;
  z-index: 999999;
  color: var(--maho-color-background);
  background: var(--maho-color-primary);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: var(--maho-border-radius);
  transition: top 0.2s;
}

#skip-to-main-content:focus {
  top: 0.5rem;
}

.skip-nav {
  color: var(--maho-color-text-primary);
}

.skip-link:not(.skip-active):hover {
  opacity: 0.8;
}

.skip-link * {margin:0 !important; text-transform: none; line-height:normal; font-size: 0.688rem}
.skip-link svg {
  width:30px;
  height:30px;
  background-size: 30px;
}

@media (max-width: 770px) {
  .skip-link .label {display: none}
}
/* ============================================ *
 * Skip Content
 * ============================================ */
.skip-content {
  display: none;
}

.skip-content.skip-active {
  display: block;
  border-bottom: 1px solid var(--maho-color-border);
}

/* ============================================ *
 * Global Header Navigation
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-account li a,
  :is(.nav-primary, .nav-account) a.level0 {
    padding: 0 15px 0 25px;
    border-bottom: 1px solid var(--maho-color-border);
    text-align: left;
    color: var(--maho-color-text-primary);
    text-transform: uppercase;
    line-height: 30px;
    outline-offset: -1px;
  }

  #header-account li:last-child a,
  :is(.nav-primary, .nav-account) li.level0:last-child a.level0 {
    border-bottom: 0;
  }

  .no-touch #header-account a:hover,
  .no-touch :is(.nav-primary, .nav-account) a:hover {
    background-color: var(--maho-color-background-alt);
    text-decoration: none;
  }
}
.account-cart-wrapper {
  position: absolute;
  top: 0px;
  right: 0px;
}
@media only screen and (max-width: 770px) {
  .account-cart-wrapper {
    position: static;
  }
}

/* ============================================ *
 * Nav - Skip Content
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-nav {
    padding-top: 0.5rem;
  }
}
@media only screen and (min-width: 771px) {
  #header-nav {
    display: block;
    /* Force visibility */
    border-bottom: 1px solid var(--maho-color-border-light);
  }
}
/* ============================================ *
 * Nav Primary
 * ============================================ */
@media only screen and (min-width: 771px) {
  .nav-primary, .nav-account {
    display: block;
    margin-top: 15px;
  }
}
/* ============================================ *
 * General Navigation Styles
 * ============================================ */
:is(.nav-primary, .nav-account) a {
  text-decoration: none;
  position: relative;
  display: block;
  color: var(--maho-color-text-primary);
  line-height: 30px;
}
:is(.nav-primary, .nav-account) li {
  position: relative;
}
:is(.nav-primary, .nav-account) li.level1 a {
  border-bottom: 1px solid var(--maho-color-border);
}

:is(.nav-primary, .nav-account) .menu-active > ul.level0,
:is(.nav-primary, .nav-account) li.level0 li.sub-menu-active > ul{
  display: block;
}

:is(.nav-primary, .nav-account) li.level0 > a {
  text-transform: uppercase;
}

/* ============================================ *
 * Small Viewports - Accordion Style Menu
 * ============================================ */
@media only screen and (max-width: 770px) {
  :is(.nav-primary, .nav-account) a.level0,
  :is(.nav-primary, .nav-account) a {
    line-height: 35px;
  }
  :is(.nav-primary, .nav-account) li.level0 ul {
    display: none;
  }
  :is(.nav-primary, .nav-account) li.level0 li {
    padding: 0 0 0 25px;
  }
  :is(.nav-primary, .nav-account) li.level1 a {
    padding: 0 15px 0 25px;
  }
  :is(.nav-primary, .nav-account) li.parent > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid var(--maho-color-border);
    border-right: none;
    top: 50%;
    left: 10px;
    right: auto;
    margin-top: -5px;
  }
  :is(.nav-primary, .nav-account) li.parent.sub-menu-active > a:after,
  :is(.nav-primary, .nav-account) li.parent.menu-active > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 5px solid var(--maho-color-border);
    border-bottom: none;
    top: 50%;
    left: 10px;
    right: auto;
    margin-top: -5px;
  }
  :is(.nav-primary, .nav-account) li.menu-active > a,
  :is(.nav-primary, .nav-account) li.sub-menu-active > a {
    color: var(--maho-color-primary);
  }
}
/* ============================================ *
 * Large Viewports - Dropdown Menu
 * ============================================ */
@media only screen and (min-width: 771px) {
  .nav-primary {
    /* Default styles for 1+ drop-down menus */
    /* Level 2+ */
    /* Class for js to add briefly to evaluate element positioning. */
    /* Correct menus that will hang off the page (class added by js) */
    /* Level 1+ */
  }
  .nav-primary a.level0 {
    padding-inline: 25px;
  }
  .nav-primary > li:first-child > a.level0 {
    padding-inline-start: 0;
  }
  .nav-primary li.level0,
  .nav-primary a.level0 {
    display: inline-block;
  }
  .nav-primary li:last-child > a {
    border-bottom: none;
  }
  .nav-primary a:hover,
  .nav-primary li:hover,
  .nav-primary li.active > a {
    color: var(--maho-color-primary);
  }
  .nav-primary .menu-active {
    z-index: 200;
  }
  .nav-primary li.level0 ul {
    background: var(--maho-color-background-alt);
    border: solid 1px var(--maho-color-border);
    position: absolute;
    left: 0;
    top: 30px;
    /* Height of ".nav-primary a.level0" */
    z-index: 10;
    width: 250px;
    padding-left: 10px;
    padding-right: 10px;
    display: none;
    /* Hide until displayed. */
  }
  .nav-primary li.level1 ul {
    left: 60px;
    top: 15px;
  }
  .nav-primary li.level0 ul.level0.position-test {
    display: block;
  }
  .nav-primary li.level0 ul.level0.spill {
    right: 0;
    left: auto;
  }
  .nav-primary li.level0 ul.level0.spill li.level1 ul {
    left: auto;
    right: 50px;
    top: 20px;
  }
  .nav-primary li.level0 li.parent > a {
    position: relative;
  }
  .nav-primary li.level0 li.parent > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid var(--maho-color-border);
    border-right: none;
    right: 5px;
    top: 50%;
    margin-top: -3px;
  }
}
.nav-primary li.menu-active > ul {
  display: block;
}

/* ============================================ *
 * Search - Skip Link
 * ============================================ */
.skip-search .icon.icon {
  position: static;
  width: 20px;
  height: 20px;
  margin: 0;
}

@media only screen and (min-width: 771px) {
  .skip-search {
    display: none;
  }
}
/* ============================================ *
 * Search - Skip Content
 * ============================================ */
#header-search {
  padding: 10px;
}

@media only screen and (min-width: 771px) {
  #header-search {
    display: block;
    position: absolute;
    top: 55px;
    right: 0;
    width: 25%;
    height: 50px;
    padding: 0;
  }
}

#select-language, #select-currency {background:none;border:none; height: 30px;}

/* ============================================ *
 * Search Input
 * ============================================ */
#search_mini_form {flex-grow: 1; width: 100%}
#search_mini_form .input-box {
  position: relative;
  padding-top: 0;
  text-align: right;
}

#search_mini_form .input-box input {max-width: 450px}
@media (max-width: 770px) {
  #search_mini_form .input-box input {max-width: none}
}

#search_mini_form label {
  display: none;
}

#search {
  width: 100%;
  height: 35px;
  padding-right: 40px;
}

#search_mini_form .search-button {
  color: var(--maho-color-text-primary);
  position: absolute;
  top: -1px;
  right: 2px;
  width: 40px;
  height: 40px;
  border: 0;
  background: none;
  opacity: 0.8;
}

#search_mini_form .search-button:hover {
  opacity: 1;
}

/* ============================================ *
 * Header - Account
 * ============================================ */

@media only screen and (min-width: 771px) {
  .skip-account {
    float: none;
    width: auto;
    vertical-align: top;
    display: inline-block;
    padding: 0 10px;
    text-transform: uppercase;
  }

  #header-account.skip-active {
    background: var(--maho-color-background-alt);
    border: solid 1px var(--maho-color-border);
    display: block;
    position: absolute;
    z-index: 200;
    top: 40px;
    right: 115px;
    width: 200px;
  }

  #header-account a {
    display: block;
    padding: 5px 10px;
    color: var(--maho-color-text-primary);
    line-height: 2;
  }

  #header-account a:hover {
    color: var(--maho-color-primary);
  }
}

.skip-account, .skip-cart, .skip-wishlist {
  display: grid;
  position: relative;
  grid-auto-flow: row;
  justify-items: center;
  padding: 0;
  gap: 0.1rem;
  border: none;
  color: var(--maho-color-text-primary)
}

.skip-cart .count {
  border-radius: 50%;
  position: absolute;
  top: -5px;
  right: -5px;
  color: var(--maho-color-background);
  background: var(--maho-color-primary);
  display: block;
  padding: 2px;
  min-width: 17px;
  text-align: center;
}
.skip-cart .count-0 {display: none}


/* -------------------------------------------- *
 * Account Links
 */
#header-account {
  padding: 5px 0;
}

#header-account a {
  position: relative;
  display: block;
  padding: 5px 10px;
  line-height: 23px;
  text-align: center;
}

#header-account a:hover {
  color: var(--maho-color-primary);
}

/* ============================================ *
 * Header - Cart
 * ============================================ */



/* List */
.mini-cart-list {
  margin-bottom: 5px;
}

.mini-cart-list li {
  position: relative;
  min-height: 90px;
  padding: 15px 15px 15px 90px;
  border-top: 1px solid var(--maho-color-border);
  font-size: 0.813rem;
  line-height: 1.35;
}

.mini-cart-list .product-name {
  display: inline-block;
}

.mini-cart-list .product-image {
  position: absolute;
  left: 15px;
  top: 15px;
}

.mini-cart-list .product-image img {
  width: 60px;
  height: 60px;
}

.mini-cart-list .has-options {
  margin-bottom: 0;
  color: var(--maho-color-text-secondary);
  font-size: 0.75rem;
}


/* ============================================ *
 * Footer
 * ============================================ */
/* -------------------------------------------- *
 * Footer
 */
.footer {
  clear: both;
  width: 100%;
  border-top: 1px solid var(--maho-color-border);
  padding-top: 30px;
  /* -------------------------------------------- *
   * Social icons
   */
}
@media only screen and (max-width: 479px) {
  .footer {
    padding-top: 15px;
  }
}
.footer .block-title {
  border-bottom: 0;
  padding: 3px 0;
}
.footer .block-title,
.footer address {
  color: var(--maho-color-primary);
}
.footer .links {
  float: left;
  width: 17%;
  padding: 0 30px 0 0;
  margin-bottom: 30px;
}
.footer .links li {
  word-break: break-all;
  line-height: 1.4;
  padding: 4px 0;
}
.footer .links a {
  color: var(--maho-color-text-primary);
}
.footer .links a:hover {
  color: var(--maho-color-primary);
}
.footer .block-subscribe {
  float: right;
  width: 320px;
  margin-bottom: 30px;
}
.footer .links,
.footer .block-subscribe {
  text-transform: uppercase;
  font-size: 0.75rem;
}
.footer .block-subscribe .input-box {
  float: left;
  width: 65.625%;
  padding-top: 0;
}
.footer .block-subscribe .input-text {
  width: 100%;
  border-right: 0;
  border-radius: 0;
}
.footer .block-subscribe .block-content {
  padding-top: 7px;
}
.footer .block-subscribe .block-content:after {
  content: '';
  display: table;
  clear: both;
}
.footer .block-subscribe .actions {
  float: left;
  width: 34.375%;
  margin: 0;
}
.footer .block-subscribe .actions .button {
  height: 30px;
  line-height: 17px;
  float: left;
}
.footer address {
  clear: both;
}
.footer address {
  /* border-top: 1px solid var(--maho-color-border); */
  /* text-align: center; */
  width: 100%;
  font-size: 0.688rem;
  margin-top: 30px;
  padding: 30px 0;
}
@media only screen and (max-width: 1199px) {
  .footer .links {
    width: 22.65625%;
    padding-right: 0;
    margin-right: 3.125%;
  }
  .footer .links:nth-child(4) {
    margin-right: 0;
  }
  .footer .block-subscribe {
    clear: both;
    float: none;
    margin: 0 auto 30px auto;
  }
}
@media only screen and (max-width: 770px) {
  .footer .form-language,
  .footer .currency-switcher {
    display: block;
  }
}
@media only screen and (max-width: 599px) {
  .footer .links {
    width: 48.4375%;
    margin-right: 0;
  }
  .footer .links:nth-child(odd) {
    margin-right: 3.125%;
    clear: both;
  }
  .footer .block-subscribe {
    clear: both;
    float: left;
    width: 100%;
  }
}

/* ================================================= *
 * General Product List Styles (not module-specific)
 * ================================================= */
/* -------------------------------------------- *
 * Product List General
 */
.category-title h1,
body.catalogsearch-result-index .page-title h1 {
  border-bottom: none;
}

.category-image {
  margin-bottom: 1.5em;
}

.products-list .action .button,
.products-grid .actions .button {
  white-space: normal;
}

/* -------------------------------------------- *
 * Product Name
 */
h2.product-name,
h3.product-name,
h4.product-name,
h5.product-name,
p.product-name {
  margin: 0;
  margin-bottom: 0.5em;
  color: var(--maho-color-text-primary);
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  text-transform: uppercase;
  font-size: 0.813rem;
  font-weight: normal;
  line-height: 1.4;
}
h2.product-name a,
h3.product-name a,
h4.product-name a,
h5.product-name a,
p.product-name a {
  color: #333;
  font-weight: bold;
}
h2.product-name a:hover,
h3.product-name a:hover,
h4.product-name a:hover,
h5.product-name a:hover,
p.product-name a:hover {
  color: #527504;
  text-decoration: none;
}

.products-grid .product-name,
.products-list .product-name {
  text-transform: uppercase;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 702;
  padding-left: 20px;
  padding-right: 12px;
}

/* ============================================ *
 * Product Grid
 * ============================================ */
.products-grid {
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(199px, 1fr));
  grid-gap: 0.5rem;
  grid-row-gap: 2rem;
  text-align: center;
}

.products-grid > li {
  /* display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  max-width: 210px;
  border-radius: 0.5rem;
  box-shadow: rgba(0, 0, 0, 0.04) 0px 8px 24px;
  transition: transform 0.3s ease;
  border: 1px solid #e5e5e5; */
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
  transition: box-shadow .2s ease, transform .2s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  padding-bottom: 10px;
  gap: 0;
  max-width: 100%;
}
.products-grid > li:has(.ratings,.actions) {
    padding-bottom: 0.5rem;
}
.products-grid > li:hover {
  transform: scale(1.05);
}
.products-grid > li .product-info {
  flex-grow: 1;
}

.products-grid:has(> :nth-child(2) ~ *) {
  justify-items: center;
}

.products-grid > li > div:first-child {
  position: relative;
}

.products-grid > li > div:first-child ul {
  position: absolute;
  top: 0.5rem;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  background-color: var(--maho-color-background);
  padding: 0.1rem;
}
.products-grid > li > div:first-child ul a {
  font-size: 0;
  color: var(--maho-color-text-primary);
  display: block;
}
.products-grid > li > div:first-child ul a:hover {
  color: var(--maho-color-primary);
}
.products-grid > li > div:first-child ul svg {
  width: 28px;
  height: 28px;
  stroke-width: 1;
  transition: transform 0.2s ease, stroke-width 0.2s ease;
}
.products-grid > li > div:first-child ul a:hover svg {
  stroke-width: 1.3;
  transform: scale(1.1);
}

.products-grid .product-image img {
  width: 100%;
  height: auto;
}
.products-grid .product-image img:hidden {
  display: none;
}

.widget-new-products .products-grid .product-image {
  width: 75%;
  margin-bottom: 15px;
  margin-left: 10%;
}

.products-grid .ratings .rating-box {
  margin: 0 auto;
}

.products-grid .ratings .amount {
  display: none;
}

.products-grid .price-box {
  color: var(--maho-color-text-secondary);
  font-size: 0.813rem;
  margin: 0;
}

.add-to-links {
  margin-block: 0.5rem;
  display: flex;
  place-content: center;
  gap: 0.2rem;
}

.product-view .add-to-links {
  place-content: flex-start;
}

.product-options-bottom .add-to-links {
  margin-block-end: 0;
}

.products-grid .product-image:before, .products-grid .product-image:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}
.products-grid .product-image:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}
.products-grid .product-image:after {
  background-image: url("../../../base/default/images/loading.svg");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
.products-grid .product-image.loading {
  position: relative;
}
.products-grid .product-image.loading:before, .products-grid .product-image.loading:after {
  display: block;
}

/* ============================================ *
 * Product List
 * ============================================ */
.products-list {
  margin-top: 20px;
  margin-bottom: 20px;
}
.products-list > li {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--maho-color-border-light);
}
.products-list > li:after {
  content: '';
  display: table;
  clear: both;
}
.products-list > li .product-image {
  float: left;
  width: 33.33333%;
}
.products-list > li .product-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.products-list > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.products-list .add-to-links {
  place-content: flex-end;
}
.products-list .product-shop {
  float: right;
  width: 66.66667%;
  padding-left: 20px;
}
.products-list .product-shop .product-name {
  margin-bottom: 0;
}
.products-list .product-shop .price-box {
  margin-top: 0;
}
.products-list .product-shop .price-box .price {
  font-size: 1.125rem;
}
.products-list .product-shop .action {
  margin: 7px 0;
}
.products-list .product-shop .desc {
  margin-top: 7px;
}
.products-list .product-shop .product-primary,
.products-list .product-shop .desc {
  float: left;
  width: 65%;
  overflow: hidden;
}
.products-list .product-shop .product-secondary {
  float: right;
  width: 35%;
  text-align: right;
  clear: right;
}

@media only screen and (min-width: 480px) {
  .products-list .product-name a {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 1279px) {
  .products-list .product-shop .product-primary,
  .products-list .product-shop .desc {
    float: left;
    width: 60%;
    padding-right: 20px;
  }
  .products-list .product-shop .product-secondary {
    float: right;
    width: 40%;
  }
}
@media only screen and (max-width: 600px) {
  .products-list .product-shop .price-box .special-price {
    padding-left: 0;
  }

  .products-list .product-shop .product-primary,
  .products-list .product-shop .product-secondary,
  .products-list .product-shop .desc {
    float: none;
    width: 100%;
    padding-right: 0;
    text-align: left;
  }
}
/* ============================================ *
 * Mini Product List
 * ============================================ */
.mini-products-list .product-image {
  float: left;
  min-width: 50px;
}
.mini-products-list li {
  margin-bottom: 10px;
  clear: both;
}
.mini-products-list li:after {
  content: '';
  display: table;
  clear: both;
}

.mini-products-images-list:after {
  content: '';
  display: table;
  clear: both;
}
.mini-products-images-list li.item {
  float: left;
  width: 50%;
  margin: 0;
  padding: 0 5px 10px 0;
}
.mini-products-images-list li.item:nth-child(even) {
  padding-right: 0;
  padding-left: 5px;
}
.mini-products-images-list li.item .product-image {
  display: block;
}
.mini-products-images-list li.item .product-image img {
  width: 100%;
  max-width: 100%;
}

/* ============================================ *
 * Catalog - List
 * ============================================ */
.category-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.category-image img:hidden {
  display: none;
}

/* ============================================ *
 * Layered Navigation
 * ============================================ */
.block-layered-nav .block-content .toggle-tabs {
  display: none;
}
.block-layered-nav .block-content > dl > dt {
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  user-select: none;
  font-weight: normal;
  margin-bottom: 0px;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--maho-color-border);
  position: relative;
  background-color: var(--maho-color-background-alt);
  display: block;
}
.block-layered-nav .block-content > dl > dt:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid var(--maho-color-primary);
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}
.block-layered-nav .block-content > dl > dt:hover {
  background-color: var(--maho-color-background-hover);
}
.block-layered-nav .block-content > dl > dd {
  padding: 10px;
  margin: 0;
  border-width: 0 1px;
  border-style: solid;
  border-color: var(--maho-color-border);
}
.block-layered-nav .block-content > dl > dd:last-child {
  border-width: 0 1px 1px 1px;
}

.block-layered-nav dl dd {
  margin-bottom: 10px;
  margin-top: 10px;
}
.block-layered-nav dl dd ol > li > span, .block-layered-nav dl dd ol > li > a {
  padding: 5px 15px;
  display: block;
}
.block-layered-nav dl dd ol > li > a .count {
  color: var(--maho-color-text-secondary);
}

@media only screen and (min-width: 771px) {
  .block-layered-nav .block-content > dl > dt {
    padding-left: 10px;
  }
  .block-layered-nav .block-content > dl > dt:after {
    display: none;
  }
}
@media only screen and (max-width: 770px) {
  #offcanvas .currently {
      padding: 20px 20px 0 20px;
  }
  #offcanvas .actions {
      padding: 10px 20px 10px 20px;
  }
  .sidebar.col-left:not(:has(.offcanvas-trigger)) {
    display: none;
  }
  .block-layered-nav .block-content {
    padding-top: 0;
  }
  .block-layered-nav .block-content > dl > :is(dt, dd) {
    border: none;
  }
  .block-layered-nav .block-content.accordion-open > dl > dt.current:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid var(--maho-color-primary);
    border-bottom: none;
    left: 6px;
    top: 50%;
    margin-top: -3px;
  }
  .block-layered-nav .block-content.accordion-open > dl > dd.current {
    display: block;
  }
  .block-layered-nav .block-subtitle--filter:hover {
    background-color: var(--maho-color-primary-hover);
    color: var(--maho-color-background);
  }
  .block-layered-nav .block-subtitle--filter.active:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid var(--maho-color-background);
    border-bottom: none;
    right: 10px;
    top: 50%;
    margin-top: -3px;
  }

  .block-layered-nav dl ol > li > a,
  .block-layered-nav dl ol > li > span {
    padding: 7px;
    margin: 5px;
  }

  .block-layered-nav dl ol > li > a {
    color: var(--maho-color-text-primary);
    padding: 5px 10px;
  }
  .block-layered-nav dl ol > li > a:not(.swatch-link):hover {
    text-decoration: none;
    background: var(--maho-color-background-hover);
  }
}
.block-layered-nav .currently .block-subtitle {
  display: block;
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
}
.block-layered-nav .currently ol li .label {
  font-weight: bold;
}
.block-layered-nav .actions {
  text-align: right;
  margin: 0 0 10px 0;
}
.block-layered-nav .actions a {
  float: none;
}

/* ============================================ *
 * Catalog - Product
 * ============================================ */
.product-view .product-essential:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .product-shop .product-name .h1,
.product-view .product-img-box .product-name h1 {
  color: var(--maho-color-primary);
  margin-bottom: 10px;
  border: 0;
}
.product-view .product-shop {
  width: 50%;
  float: right;
}
.product-view .product-shop .product-name {
  display: none;
  float: left;
}
.product-view .product-shop .extra-info {
  float: left;
  padding-right: 15px;
  clear: left;
  width: 70%;
}
.product-view .product-shop .price-info {
  float: right;
  padding-left: 15px;
  text-align: right;
}
.product-view .product-shop .extra-info,
.product-view .product-shop .price-info {
  max-width: 70%;
  margin-bottom: 10px;
}
.product-view .product-shop .short-description {
  margin-bottom: 10px;
  clear: both;
}
.product-view .product-shop .ratings {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.product-view .product-shop .availability {
  font-size: 1rem;
}
.product-view .product-shop .price-box {
  margin-top: 0;
}
.product-view .product-shop .price-box .old-price,
.product-view .product-shop .price-box .special-price,
.product-view .product-shop .price-box .regular-price {
  padding-right: 0;
  line-height: 1.2;
}
.product-view .product-shop .price-box .regular-price .price,
.product-view .product-shop .price-box .special-price .price,
.product-view .product-shop .price-box .full-product-price .price {
  color: var(--maho-color-primary);
  font-size: 1.5rem;
}
.product-view .product-shop .price-box .special-price .price-label {
  font-size: 1rem;
  text-transform: uppercase;
}
.product-view .product-shop .price-box .special-price span.weee {
  color: var(--maho-color-text-primary);
}
.product-view .product-shop .price-box .special-price span.weee span.price {
  font-size: 1rem;
}
.product-view .product-shop .price-box .price-excluding-tax,
.product-view .product-shop .price-box .price-including-tax {
  display: block;
  line-height: 1.2;
  color: var(--maho-color-text-primary);
}
.product-view .product-shop .price-box .price-excluding-tax .label,
.product-view .product-shop .price-box .price-including-tax .label {
  font-size: 1rem;
  font-weight: 300;
}
.product-view .product-shop .price-box .price-excluding-tax .price,
.product-view .product-shop .price-box .price-including-tax .price {
  font-size: 1.25rem;
}
.product-view .price-box.map-info a {
  display: none;
}
.product-view .price-box.map-info a:first-of-type {
  display: inherit;
}
.product-view .old-price .price-label {
  display: none;
}
.product-view .add-to-cart-wrapper,
.product-view .block-related {
  width: 50%;
  float: right;
  clear: right;
}

@media only screen and (max-width: 850px) {
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 0.938rem;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 770px) {
  .product-view .add-to-cart-wrapper {
    float: none;
    width: 100%;
    clear: both;
  }
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 1rem;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 420px) {
  .product-view .product-shop .price-box .price-excluding-tax,
  .product-view .product-shop .price-box .price-including-tax {
    margin-bottom: 5px;
  }
  .product-view .product-shop .price-box .price-excluding-tax span,
  .product-view .product-shop .price-box .price-including-tax span {
    display: block;
  }
}
.product-img-box {
  width: 50%;
  float: left;
}
.product-img-box .product-name h1 {
  border: 0;
}
.product-img-box .product-image {
  margin-bottom: 10px;
}
.product-img-box .product-image img {
  max-width: 100%;
  height: auto;
  margin: 0px auto;
}
#image-main {
  cursor: zoom-in;
}
.product-image-gallery {
  position: relative;
  overflow: hidden;
}
.product-image-gallery .gallery-image {
  display: none;
}
.product-image-gallery .gallery-image.visible {
  display: block;
}
.product-image-gallery .gallery-image.visible.hidden {
  visibility: hidden;
}
.product-image-gallery:before, .product-image-gallery:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}
.product-image-gallery:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}
.product-image-gallery:after {
  background-image: url("../../../base/default/images/loading.svg");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}
.product-image-gallery.loading {
  position: relative;
}
.product-image-gallery.loading:before, .product-image-gallery.loading:after {
  display: block;
}

.product-image-thumbs li {
  display: inline-block;
}
.product-image-thumbs li:first-child {
  margin-left: -1px;
}
.product-image-thumbs a {
  display: inline-block;
  border: 1px solid transparent;
}

.no-touch .product-image-thumbs a:hover {
  border-color: var(--maho-color-border-medium);
}

.product-view .product-shop,
.product-view .add-to-cart-wrapper,
.product-view .block-related {
  padding-left: 15px;
}

.product-img-box {
  padding-right: 15px;
}

.product-view .product-shop,
.product-img-box,
.product-collateral,
.product-view .block-related,
.box-collateral {
  margin-bottom: 10px;
}

.product-view {
  /* Set a min-height so that the floated elements break appropriately */
}
.product-view .add-to-box:after,
.product-view .add-to-cart:after {
  content: '';
  display: table;
  clear: both;
}
.product-view .add-to-cart {
  padding-bottom: 3px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--maho-color-border);
}
.product-view .add-to-cart .qty-wrapper,
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart-buttons {
  min-height: 40px;
}
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart-buttons .button,
.product-view .add-to-cart-buttons .paypal-logo {
  margin-bottom: 10px;
}
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart .qty-wrapper label {
  margin-right: 7px;
  float: left;
}
.product-view .add-to-cart .qty-wrapper label {
  line-height: 40px;
}
.product-view .add-to-cart .qty-wrapper .qty {
  float: left;
  height: 40px;
}
.product-view .add-to-cart-buttons {
  float: left;
  margin-right: 10px;
  max-width: 100%;
}
.product-view .add-to-cart-buttons .paypal-logo {
  clear: left;
  text-align: center;
}
.product-view .add-to-cart-buttons .paypal-logo .paypal-button {
  margin: 0 auto;
  display: block;
  width: 170px;
}
.product-view .add-to-cart-buttons .paypal-logo .bml_button {
  display: block;
  width: 174px;
  margin: 0 auto;
}
.product-view .add-to-cart-buttons .paypal-logo .bml_button a {
  text-align: center;
}
.product-view .add-to-cart-buttons .paypal-logo .paypal-or {
  display: block;
  margin-bottom: 10px;
  margin-left: 0;
  margin-right: 0;
  line-height: 1;
  text-align: center;
}
.product-view .add-to-cart-buttons .button {
  min-height: 40px;
  line-height: 40px;
  font-size: 1rem;
  padding: 0px 30px;
  float: left;
  min-width: 160px;
  width: 100%;
  white-space: normal;
}
.product-view .alert-price,
.product-view .alert-stock {
  clear: both;
}

@media only screen and (max-width: 479px) {
  .product-view .add-to-cart-buttons .paypal-or {
    line-height: 20px;
  }
  .product-view .add-to-cart-buttons .paypal-logo,
  .product-view .add-to-cart-buttons .paypal-or,
  .product-view .add-to-cart-buttons .paypal-button,
  .product-view .add-to-cart-buttons .button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}
/* This is the "or" that separates the "Add to Cart" and "Add to X" links */
.add-to-box .or {
  display: none;
}

.add-to-links a {
  margin-right: 0.5rem;
}
.add-to-links a svg {
  vertical-align: bottom;
}
body:not(.catalog-product-view) .add-to-links a {
  font-size: 0;
}

@media only screen and (max-width: 599px) {
  .add-to-box .add-to-links a {
    float: none;
    width: auto;
    text-indent: 0;
  }
}
.product-collateral {
  clear: both;
}

/* Hide radio inputs */
.product-collateral .tab-selector {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Tab list styling */
.product-collateral .collateral-tab-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  border: 1px solid var(--maho-color-border);
  background-color: var(--maho-color-background-alt);
}

.product-collateral .collateral-tab-list li {
  flex: 0 0 auto;
}

.product-collateral .collateral-tab-list label {
  display: block;
  padding: 0 30px;
  height: 40px;
  line-height: 40px;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.75rem;
  position: relative;
  user-select: none;
  transition: color 0.2s ease;
}

.product-collateral .collateral-tab-list label:hover {
  color: var(--maho-color-primary);
}

/* Tab content panels */
.product-collateral .collateral-tabs-content {
  position: relative;
  border: 1px solid var(--maho-color-border);
  border-top: 0;
}

.product-collateral .tab-panel {
  display: none;
  padding: 15px;
}

/* Show selected tab content */
.product-collateral .tab-selector:checked + * + * + * .tab-panel {
  display: none;
}

.product-collateral .tab-selector:nth-of-type(1):checked ~ .collateral-tabs-content .tab-panel:nth-of-type(1),
.product-collateral .tab-selector:nth-of-type(2):checked ~ .collateral-tabs-content .tab-panel:nth-of-type(2),
.product-collateral .tab-selector:nth-of-type(3):checked ~ .collateral-tabs-content .tab-panel:nth-of-type(3),
.product-collateral .tab-selector:nth-of-type(4):checked ~ .collateral-tabs-content .tab-panel:nth-of-type(4),
.product-collateral .tab-selector:nth-of-type(5):checked ~ .collateral-tabs-content .tab-panel:nth-of-type(5) {
  display: block;
}

/* Style active tab */
.product-collateral .tab-selector:nth-of-type(1):checked ~ .collateral-tab-list li:nth-of-type(1) label,
.product-collateral .tab-selector:nth-of-type(2):checked ~ .collateral-tab-list li:nth-of-type(2) label,
.product-collateral .tab-selector:nth-of-type(3):checked ~ .collateral-tab-list li:nth-of-type(3) label,
.product-collateral .tab-selector:nth-of-type(4):checked ~ .collateral-tab-list li:nth-of-type(4) label,
.product-collateral .tab-selector:nth-of-type(5):checked ~ .collateral-tab-list li:nth-of-type(5) label {
  background-color: var(--maho-color-background);
  color: var(--maho-color-primary);
  border-left: 1px solid var(--maho-color-border);
  border-right: 1px solid var(--maho-color-border);
  margin: 0 -1px;
  position: relative;
  bottom: -1px;
  z-index: 1;
}


.box-collateral {
  clear: both;
}

#offcanvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  max-width: 300px;
  max-height: 100vh;
  background: var(--maho-color-background);
  border: none;
  padding: 0;
  margin: 0;
  box-shadow: 2px 0 10px rgba(0,0,0,0.1);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}

#offcanvas[open] {
  transform: translateX(0);
}

#offcanvas::backdrop {
  background: rgba(0,0,0,0.5);
  animation: fade-in 0.3s ease;
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.offcanvas-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid var(--maho-color-border);
  flex-shrink: 0;
  position: sticky;
  top: 0;
  background: var(--maho-color-background);
  z-index: 1;
}

.offcanvas-title {
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  color: var(--maho-color-text-primary);
}

.offcanvas-close {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--maho-color-text-primary);
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.offcanvas-content {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}

.filters-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--maho-color-border);
}

.filters-close {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--maho-color-text-primary);
}

button.offcanvas-trigger,
label.offcanvas-trigger {
  display: none;
  background: var(--maho-color-primary);
  color: white;
  border: none;
  padding: 4px 12px;
  border-radius: 3px;
  cursor: pointer;
}

@media only screen and (max-width: 770px) {
  button.offcanvas-trigger,
  label.offcanvas-trigger {
    display: inline-block;
  }

  /* Hide entire layered nav content on mobile (but not in offcanvas) */
  .col-left-first .block-layered-nav .block-content,
  .sidebar .block-layered-nav .block-content {
    display: none;
  }
}

@media only screen and (max-width: 770px) {
  .customer-account .block-account .block-title {
    background: var(--maho-color-primary);
    color: white;
    padding: 4px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }

  .customer-account .block-account .block-content {
    display: none;
  }
}


/* Ensure layered nav is visible on desktop */
@media only screen and (min-width: 771px) {
  .col-left-first .block-layered-nav .block-content,
  .sidebar .block-layered-nav .block-content {
    display: block !important;
  }

  .col-left-first #narrow-by-list.no-display,
  .sidebar #narrow-by-list.no-display {
    display: block !important;
  }
}

/* Expand all content in sidebar offcanvas */
.sidebar-offcanvas #narrow-by-list,
#offcanvas #narrow-by-list.no-display,
#offcanvas .block .block-content,
#offcanvas .block .block-content.no-display,
#offcanvas .block-layered-nav dd,
#offcanvas .block-layered-nav dd.no-display {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  opacity: 1 !important;
}

/* Remove any toggle arrows/icons in offcanvas */
#offcanvas .block-title::after,
#offcanvas dt::after {
  display: none !important;
}

/* Mobile styles - simplified */
@media only screen and (max-width: 770px) {
  button.filters-trigger {
    display: block;
    cursor: pointer;
    padding: 0;
    font-size: 0;
    background: none;
    color: var(--maho-color-text-primary);
  }
  button.filters-trigger:hover {
    color: var(--maho-color-primary);
  }
  /* Hide radio inputs and tab list */
  .product-collateral .tab-selector {
    display: none;
  }

  .product-collateral .collateral-tab-list {
    display: none;
  }

  .product-collateral .collateral-tabs-content {
    border: none;
  }

  /* Show all content sections with headers */
  .product-collateral .tab-panel {
    display: block;
    margin-bottom: 30px;
    padding: 0;
  }

  .product-collateral .tab-panel::before {
    content: attr(data-title);
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    color: var(--maho-color-text-primary);
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 2px solid var(--maho-color-primary);
  }
}
/* Keep desktop tab styles separate */
@media only screen and (min-width: 771px) {
  .product-collateral .tab-panel::before {
    display: none;
  }
}
@media only screen and (max-width: 770px) {
  .product-view .product-shop,
  .product-view .add-to-cart-wrapper,
  .product-view .block-related,
  .product-img-box,
  .product-collateral {
    width: 100%;
    float: none;
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 771px) {
  .product-view .product-shop .product-name {
    display: block;
  }

  .product-img-box .product-name {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .product-view .product-shop,
  .product-img-box,
  .product-collateral,
  .product-view .block-related,
  .box-collateral {
    margin-bottom: 15px;
  }
}
#product-attribute-specs-table {
  max-width: 50em;
  border: 1px solid var(--maho-color-border-dark);
  border-collapse: collapse;
}
#product-attribute-specs-table caption {display: none}
#product-attribute-specs-table th {
  border-right: 1px solid var(--maho-color-border-dark);
  border-bottom: 1px solid var(--maho-color-border-dark);
}

/* -------------------------------------------- *
 * Catalog - Grouped Product List
 */
.grouped-items-table-wrapper {
  border: solid 1px var(--maho-color-border-dark);
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
}
.grouped-items-table-wrapper tbody tr:last-child td {
  border-bottom: none;
}
@media only screen and (max-width: 479px) {
  .grouped-items-table-wrapper {
    margin-bottom: 15px;
  }
}

.grouped-items-table .name-wrapper {
  color: var(--maho-color-primary);
}
.grouped-items-table .qty-wrapper {
  padding-top: 7px;
}
.grouped-items-table .qty-label {
  margin-left: 7px;
}
.grouped-items-table td {
  padding: 4px;
}
.grouped-items-table td:last-child {
  width: 30%;
  text-align: left;
}
.grouped-items-table .price-box {
  text-align: right;
}

/* -------------------------------------------- *
 * Catalog - Product Options
 */
.product-options {
  width: 100%;
  margin: 10px 0 0;
  padding: 10px 15px 15px;
  border: 1px solid var(--maho-color-border);
  clear: both;
  position: relative;
}

.product-options p.required {
  position: absolute;
  top: 6px;
  right: 15px;
  text-align: right;
}

@media only screen and (max-width: 979px) {
  .product-view .product-options .required {
    position: static;
  }
}
.product-options dt {
  margin: 10px 0 3px;
  font-weight: normal;
}

.product-options dt:first-child {
  margin-top: 0;
}

.product-options dd .qty-holder {
  display: block;
  padding: 10px 0 0 0;
}

.product-options dd .qty-holder .qty {
  width: 3em;
}

.product-options dd .qty-holder label {
  vertical-align: middle;
}

.product-options dd .qty-disabled {
  background: none;
  border: 0;
  padding: 0 2px;
}

.product-options dd {
  padding: 0 0 10px 0;
  margin: 0 0 5px;
  border-bottom: 1px solid var(--maho-color-border-light);
}

.product-options dl.last dd.last {
  border-bottom: 0;
  padding-bottom: 5px;
  margin-bottom: 0;
}

.product-options dd .input-text {
  width: 98%;
}

.product-options dd .input-box {
  padding-top: 0;
}

/* Native date/time inputs */
.product-options dd input[type="date"],
.product-options dd input[type="time"],
.product-options dd input[type="datetime-local"],
.product-options dd input.datetime-picker {
  width: auto;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.product-options dd .time-picker {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  zoom: 1;
  *display: inline;
  padding: 2px 0;
  vertical-align: middle;
}

.product-options dd textarea {
  width: 98%;
  height: 8em;
}

.product-options dd select {
  width: 330px;
  max-width: 100%;
}

.product-options ul.options-list {
  margin-right: 5px;
}

.product-options ul.options-list li {
  line-height: 1.5;
  margin-bottom: 7px;
}

.product-options ul.options-list li:last-child {
  margin-bottom: 0;
}

.product-options ul.options-list .radio,
.product-options ul.options-list .checkbox {
  float: left;
  margin-top: 5px;
}

.product-options ul.options-list .label {
  display: block;
}

.product-options ul.options-list label {
  font-weight: normal;
}

.product-options p.note {
  margin: 0;
  font-size: 0.688rem;
}

.product-options-bottom {
  background-color: var(--maho-color-background-alt);
  padding: 15px 20px;
  border: 1px solid var(--maho-color-border);
  border-top: 0;
  margin-bottom: 10px;
}

.product-options-bottom .product-pricing,
.product-options-bottom .tier-prices {
  float: right;
  margin: 0;
  padding: 0 0 10px;
  border: 0;
  background: 0;
  color: var(--maho-color-text-primary);
}
@media only screen and (max-width: 1199px) {
  .product-options-bottom .product-pricing,
  .product-options-bottom .tier-prices {
    float: none;
    width: 100%;
    text-align: right;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--maho-color-border);
  }
}

.product-options-bottom .tier-prices li {
  background: 0;
  padding: 2px 0;
}

.product-options-bottom .tier-prices .price,
.product-options-bottom .tier-prices .benefit {
  color: var(--maho-color-text-primary);
}

/* "display: none" should be removed if products on site have a long list of product options and those product options */
/*  affect the price so that the customer can see the updated price close to the "Add to Cart" button */
.product-options-bottom .price-box {
  display: none;
  float: right;
  margin: 0 0 10px;
  padding: 0;
}

@media only screen and (max-width: 479px) {
  .product-options-bottom .price-box .price-as-configured {
    text-align: right;
  }
  .product-options-bottom .price-box .price-as-configured .price-label {
    display: block;
  }
}
.product-options-bottom .price-tax {
  float: left;
}

/* -------------------------------------------- *
 * Related Products
 */
/* Block: Related */
.block-related li {
  margin-bottom: 7px;
}
.block-related .block-title {
  border-bottom: none;
}
.block-related .block-title h2 {
  margin: 0;
  margin-bottom: 0.5em;
  color: var(--maho-color-text-primary);
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  text-rendering: optimizeLegibility;
  text-transform: uppercase;
  margin-bottom: 0;
}
.block-related .block-subtitle {
  margin-bottom: 7px;
}
.block-related .product {
  margin-left: 20px;
  position: relative;
}
.block-related .checkbox {
  float: left;
  margin-top: 36px;
}
.block-related .product-details {
  margin-left: 90px;
}
.block-related .product-name {
  margin-bottom: 3px;
}
.block-related .product-details .price-box {
  margin: 2px 0 3px;
}
.block-related .product-details .price-box a,
.block-related .product-details .price-box p,
.block-related .product-details .price-box span {
  float: left;
  margin-left: 3px;
}
.block-related .product-details .price-box a:first-child,
.block-related .product-details .price-box p:first-child,
.block-related .product-details .price-box span:first-child {
  margin-left: 0;
  font-size: 1rem;
  padding-right: 5px;
  padding-left: 5px;
}
.block-related .product-details .price-box:after {
  content: '';
  display: table;
  clear: both;
}
.block-related .link-wishlist {
  display: none;
}

/* -------------------------------------------- *
 * Upsell Products
 */
.box-up-sell {
  margin-top: 20px;
}
.box-up-sell .ratings {
  display: none;
}

/* ============================================ *
 * Catalog - MSRP MAP Popup
 * ============================================ */
.cart-msrp-totals {
  color: var(--maho-color-error);
  font-size: 0.75rem !important;
  font-weight: bold;
  margin: 10px 10px 0;
  padding: 10px;
  text-align: right;
  text-transform: uppercase;
}

.map-cart-sidebar-total {
  color: var(--maho-color-error);
  display: block;
  font-size: 0.625rem;
  font-weight: bold;
  text-align: left;
  padding: 2px 5px;
}

.map-popup {
  background: var(--maho-color-background);
  border: 5px solid var(--maho-color-border);
  margin: 12px 0 0;
  position: absolute;
  text-align: left;
  width: 450px;
  z-index: 100;
}
@media only screen and (min-width: 771px) {
  .map-popup.map-popup-right {
    left: 10px !important;
  }
  .map-popup.map-popup-left {
    left: auto !important;
    right: 10px !important;
  }
}
@media only screen and (max-width: 770px) {
  .map-popup {
    width: 100%;
    left: 0px !important;
  }
}
.map-popup .map-popup-heading {
  padding: 8px 10px;
  margin-right: 40px;
  width: auto;
}
.map-popup .map-popup-heading h3 {
  font-size: 0.875rem;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  word-wrap: break-word;
  text-align: left;
  text-overflow: ellipsis;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-heading h3 {
    text-align: center;
  }
}
.map-popup .map-popup-close {
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  height: 36px;
  width: 36px;
  font-size: 1.25rem;
  line-height: 32px;
  text-align: center;
}
.map-popup .map-popup-content {
  border-top: 1px solid var(--maho-color-border-light);
  padding: 10px;
  margin: 0 10px;
  overflow: hidden;
  text-align: left;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-content {
    text-align: center;
  }
}
.map-popup .map-popup-checkout {
  padding: 10px 0;
}
.map-popup .map-popup-checkout form:after {
  content: '';
  display: table;
  clear: both;
}
.map-popup .map-popup-checkout span {
  display: block;
}
.map-popup .map-popup-checkout .button {
  float: left;
  margin: 0 2px;
  clear: left;
}
.map-popup .map-popup-checkout .additional-addtocart-box {
  float: left;
  min-width: 210px;
}
.map-popup .map-popup-checkout .additional-addtocart-box li {
  list-style-type: none;
}
.map-popup .map-popup-checkout .paypal-logo {
  width: auto;
}
.map-popup .map-popup-checkout .paypal-logo a {
  display: inline-block;
  float: left;
  clear: left;
}
.map-popup .map-popup-checkout .paypal-logo .paypal-or {
  float: left;
  text-align: center;
  padding: 5px 15px;
  clear: left;
}
.map-popup .map-popup-checkout .paypal-logo:after {
  content: '';
  display: table;
  clear: both;
}
.map-popup .map-popup-checkout .paypal-logo .bml_button a {
  clear: left;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-checkout {
    text-align: center;
  }
  .map-popup .map-popup-checkout .button,
  .map-popup .map-popup-checkout .additional-addtocart-box,
  .map-popup .map-popup-checkout .paypal-logo a,
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    float: none;
  }
  .map-popup .map-popup-checkout .additional-addtocart-box {
    min-width: 0px;
  }
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    margin: 0px;
    margin-bottom: 10px;
  }
}
.map-popup .map-popup-checkout:after {
  content: '';
  display: table;
  clear: both;
}
.map-popup .map-popup-price {
  padding: 10px 0;
}
@media only screen and (max-width: 479px) {
  .map-popup .map-popup-price {
    text-align: center;
    padding-top: 0px;
  }
}
.map-popup .map-popup-price .price-box,
.map-popup .map-popup-price .price-box .special-price {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.map-popup .map-popup-price .price-box .minimal-price-link {
  display: inline-block;
}
.map-popup .map-popup-text {
  padding: 10px 0;
  margin: 0 10px;
  word-wrap: break-word;
}
.map-popup .map-popup-text,
.map-popup .map-popup-only-text {
  border-top: 1px solid var(--maho-color-border-light);
}

/* ============================================ *
 * Catalog - MSRP Product Listing
 * ============================================ */
.price-box .map-link {
  display: block;
  text-align: center;
}

/* ============================================ *
 * Catalog - Compare
 * ============================================ */
.block-compare .product-name:after {
  content: '';
  display: table;
  clear: both;
}

.compare-table .product-image {
  display: inline-block;
}

.compare-table .product-shop-row.top td {
  padding-bottom: 0;
  border-bottom: 0;
}
.compare-table .product-shop-row.bottom td {
  padding-top: 0;
}

/* ============================================ *
 * Configurable Swatches
 * ============================================ */
/* Clears */
.clearfix:after,
.configurable-swatch-list:after,
.product-view .product-options .swatch-attr:after {
  content: '';
  display: table;
  clear: both;
}

/* General Swatch Styling */
.swatch-link,
.swatch-label {
  display: block;
  border-radius: 3px;
  font-size: 0.875rem;
  text-align: center;
  color: var(--maho-color-text-primary);
  text-decoration: none;
  box-sizing: content-box;
}

.swatch-link {
  border: 1px solid var(--maho-color-border);
}
.swatch-link:hover {
  cursor: pointer;
  text-decoration: none;
}
.swatch-link .x {
  display: none;
  text-indent: -999em;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23aaa' transform='rotate(315)' stroke='%23000000' stroke-width='0'%3E%3Cpath d='M23 13H1v-2h22z'/%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3C/svg%3E") center no-repeat transparent;
  z-index: 10;
}

.swatch-label {
  border: 1px solid transparent;
  margin: 0;
  white-space: nowrap;
}

.configurable-swatch-list {
  display: flex;
  gap: 0.4rem;
}

.products-grid .configurable-swatch-list {
  justify-content: center;
}

.configurable-swatch-list li {
  overflow: hidden;
  white-space: nowrap;
}
.configurable-swatch-list .not-available .x {
  display: block;
}
.configurable-swatch-list .not-available .swatch-link {
  border-color: var(--maho-color-border-light);
  position: relative;
}
.configurable-swatch-list .not-available .swatch-link.has-image img {
  opacity: 0.4;
}
.configurable-swatch-list .not-available .swatch-label {
  color: var(--maho-color-border);
  background: var(--maho-color-background);
}
.configurable-swatch-list .wide-swatch .swatch-label {
  padding: 0 6px;
}
.configurable-swatch-list .not-available a:focus {
  outline: 0;
}

#narrow-by-list .configurable-swatch-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 1rem;
  margin: 0;
  padding: 0;
  margin-top: 1rem;
  justify-items: center;
}
#narrow-by-list .configurable-swatch-list li {
  width: 100%;
}
#narrow-by-list dd .swatch-link:has(img) {
  border: none;
}
#narrow-by-list dd a img {
  outline: 1px solid var(--maho-color-border);
  outline-offset: 1px;
  border-radius: 3px;
}
#narrow-by-list dd a.swatch-link:not(:has(img)) {
  padding: 0;
}
#narrow-by-list dd a.swatch-link:not(:has(img)):hover {
  outline: 1px solid var(--maho-color-border);
  border-radius: 3px;
}

.currently li {
  display: flex;
  gap: 0.2rem;
}
.currently li span.value {
  flex-grow: 1;
}
.currently li a svg {
  width: 20px;
  height: 20px;
}
.currently .swatch-link {
  display: inline-block;
  margin: 0 0 0 3px;
}
.currently .swatch-link:hover {
  border-color: var(--maho-color-border);
  cursor: default;
}

/* Other Swatch States */
.configurable-swatch-list .hover .swatch-link,
.configurable-swatch-list .selected .swatch-link,
.swatch-link:hover {
  border-color: var(--maho-color-primary);
}
.swatch-link img:hover {
  outline-color: var(--maho-color-primary) !important;
}
.configurable-swatch-box {
  background: none !important;
}
.configurable-swatch-box select.swatch-select {
  display: none;
}
.configurable-swatch-box .validation-advice {
  margin: 0 0 5px;
  background: var(--maho-color-error);
  padding: 2px 5px !important;
  font-weight: bold;
  color: #fff !important;
  float: left;
  display: block;
  border-radius: 3px;
}

/* CUSTOM */
.availability.out-of-stock span {
  color: var(--maho-color-text-secondary);
}

.product-view .product-options .swatch-attr {
  float: none;
  display: block;
  clear: both;
  border: 0;
}
.product-view .product-options .swatch-attr label,
.product-view .product-options .swatch-attr .select-label {
  font-size: 0.75rem;
}
.product-view .product-options .swatch-attr label {
  display: block;
  line-height: 1.3;
}
.product-view .product-options .swatch-attr .select-label {
  display: inline;
  font-weight: normal;
  color: var(--maho-color-primary);
  padding-left: 5px;
}
.product-view .product-options dd .input-box {
  width: auto;
  height: auto;
}
.product-view .product-options .select-label {
  display: none;
}
.product-view .add-to-cart button.out-of-stock {
  background-position: -80px -362px;
  cursor: default;
}

/* ============================================ *
 * Customer
 * ============================================ */
.customer-account-login .scaffold-form label:first-child {
  width: 115px;
}
.customer-account-login .col2-set .buttons-set {
  text-align: left;
  border-top: 0;
}
.customer-account-login .col2-set .buttons-set button,
.customer-account-login .col2-set .buttons-set .button {
  float: none;
  min-width: 50%;
  margin: 0;
}
.customer-account-login .col2-set .col-1 ul {
  list-style: disc;
  padding-left: 20px;
  margin: 10px 0 20px 0;
}
@media only screen and (min-width: 480px) {
  .customer-account-login .col2-set .col-1,
  .customer-account-login .col2-set .col-2 {
    padding-top: 0;
    margin-top: 20px;
  }
  .customer-account-login .col2-set .col-1 {
    padding-right: 20px;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 20px;
    border-left: 1px solid var(--maho-color-border-light);
  }
}
@media only screen and (min-width: 770px) {
  .customer-account-login .col2-set .col-1 {
    padding-right: 0;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 60px;
    border-left: 1px solid var(--maho-color-border-light);
  }
}
@media only screen and (max-width: 479px) {
  .customer-account-login .col2-set .col-1 {
    padding-bottom: 30px;
  }
  .customer-account-login .col2-set .col-2 {
    padding-top: 30px;
    border-top: 1px solid var(--maho-color-border-light);
  }
}
@media only screen and (max-width: 770px) {
  .customer-account-login .col2-set p.required {
    display: none;
  }
}

.customer-account-create .scaffold-form label:first-child {
  width: 140px;
}

.opc #opc-login p:not(.required) {
  font-style: italic;
  font-size: 0.813rem;
  color: var(--maho-color-text-secondary);
}

.customer-account-create .buttons-set {
  /* max-width: 455px; */
}
.customer-account-create .fieldset,
.customer-account-create .buttons-set {
  margin-left: 30px;
}
@media only screen and (max-width: 479px) {
  .customer-account-create .fieldset,
  .customer-account-create .buttons-set {
    margin-left: 0;
  }
}
.customer-account-create .fieldset .hidden {
  display: none;
}

.customer-account-forgotpassword #form-validate {
    display: flex;
    flex-direction: column;
    place-items: center;
}
.customer-account-forgotpassword .fieldset,
.customer-account-forgotpassword .buttons-set {
  width: 100%;
  max-width: 400px;
}
@media only screen and (max-width: 479px) {
  .customer-account-forgotpassword .fieldset,
  .customer-account-forgotpassword .buttons-set {
    margin-left: 0;
  }
}
.customer-account-forgotpassword .fieldset .input-box input.input-text {
  width: 100%;
}

/* ============================================ *
 * My Account Global Styles
 * ============================================ */
body.customer-account .my-account .page-title h1 {
  border: 0;
  text-align: left;
}
body.customer-account .my-account .title-buttons {
  position: relative;
  text-align: right;
}
body.customer-account .my-account .title-buttons h1 {
  text-align: left;
  flex-grow: 1;
}
body.customer-account .my-account .title-buttons .button {
  position: absolute;
  right: 0;
  top: 0;
}
body.customer-account .my-account .fieldset h2,
body.customer-account .my-account .addresses-list h2,
body.customer-account .my-account .order-details h2 {
  width: 100%;
  display: inline-block;
}
body.customer-account .my-account .addresses-list h3 {
  font-size: 0.875rem;
  font-weight: 600;
}
body.customer-account .my-account .fieldset {
  margin-top: 30px;
  margin-bottom: 30px;
}
body.customer-account .data-table {
  margin-top: 5px;
}
body.customer-account .data-table td a {
  text-transform: uppercase;
  font-style: normal;
  font-size: 0.813rem;
}
body.customer-account .data-table span.nobr {
  white-space: normal;
}
body.customer-account .data-table span.nobr a {
  white-space: nowrap;
}
body.customer-account .data-table td.view a {
  display: block;
}
body.customer-account .data-table .separator {
  display: none;
}
body.customer-account .sidebar .block ol#compare-items li {
  margin: 10px 0;
}
body.customer-account .sidebar .block .block-content p.block-subtitle {
  margin-bottom: 15px;
}
body.customer-account .sidebar .block .block-content .actions {
  margin-top: 30px;
}
body.customer-account .sidebar ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}
body.customer-account .sidebar ol#cart-sidebar-reorder p.product-name {
  display: inline-block;
  margin-bottom: 0;
}
body.customer-account .sidebar .block-cart .summary {
  margin-bottom: 15px;
}
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder p.product-name {
  display: inline;
  margin-bottom: 0;
}

.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day {
  width: 40px;
  float: left;
  margin-right: 10px;
}
.form-list .customer-dob .dob-year {
  width: 80px;
  float: left;
}

/* ============================================ *
 * Dashboard
 * ============================================ */
.dashboard .box-head {
  margin-top: 30px;
  border-bottom: 1px solid var(--maho-color-border);
  padding-bottom: 7px;
}
.dashboard .box-head h2 {
  font-size: 0.938rem;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 0;
}
.dashboard .box-head a {
  padding: 10px;
}
.dashboard .box-title a,
.dashboard .box-head a {
  text-transform: uppercase;
  font-size: 0.75rem;
}
.dashboard .box-account {
  margin-bottom: 10px;
}
.dashboard .box-account p,
.dashboard .box-account address {
  font-style: italic;
}
.dashboard .col2-set .col-1,
.dashboard .col2-set .col-2 {
  padding-right: 12.09677%;
  padding-bottom: 0;
}
.dashboard .col2-set .col-1 .box-title,
.dashboard .col2-set .col-2 .box-title {
  position: relative;
  padding-bottom: 10px;
}
.dashboard .col2-set .col-1 .box-title h2,
.dashboard .col2-set .col-1 .box-title h3,
.dashboard .col2-set .col-2 .box-title h2,
.dashboard .col2-set .col-2 .box-title h3 {
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0;
}
.dashboard .col2-set .col-1 .box-title a,
.dashboard .col2-set .col-2 .box-title a {
  line-height: 19.6px;
}
.dashboard .box-reviews.box-account {
  padding-bottom: 0;
}
.dashboard .box-reviews li {
  padding: 10px 0;
  border-top: 1px solid var(--maho-color-border-light);
}
.dashboard .box-reviews li:first-child {
  border-top: 0;
}
.dashboard .box-reviews li .number {
  margin-right: -20px;
  float: left;
  line-height: 1.4;
  font-size: 0.813rem;
}
.dashboard .box-reviews li .details {
  margin-left: 20px;
}
.dashboard .box-reviews li .details .ratings {
  content: '';
  display: table;
  clear: both;
  margin-bottom: 0;
}
.dashboard .box-reviews li .details .ratings strong {
  float: left;
  font-size: 0.813rem;
  margin-right: 5px;
}

/* ============================================ *
 * Address Book
 * ============================================ */
.my-account .addresses-list .col-1,
.my-account .addresses-list .col-2 {
  padding-bottom: 0;
}
.my-account .addresses-list .item {
  margin: 0 0 30px 0;
}
.my-account .addresses-list .item p {
  margin-top: 10px;
}
@media only screen and (max-width: 770px) {
  .my-account .addresses-list .col-1,
  .my-account .addresses-list .col-2 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .my-account .addresses-list .col-1 li.empty,
  .my-account .addresses-list .col-2 li.empty {
    width: 100%;
  }
}
@media only screen and (max-width: 599px) {
  .my-account .addresses-list .addresses-additional p a {
    white-space: nowrap;
  }
}

/* ============================================ *
 * Order View
 * ============================================ */
.order-info {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--maho-color-border-light);
  width: 100%;
  margin-bottom: 30px;
}
.order-info dt,
.order-info dd,
.order-info ul,
.order-info li {
  display: inline;
}
.order-info dt {
  margin-right: 20px;
}
.order-info li {
  margin: 0 0 0 20px;
}
.order-info li.current {
  font-weight: 600;
}
.order-info li:first-child {
  margin-left: 0;
}

.order-date {
  text-transform: uppercase;
}

.order-info-box {
  margin-bottom: 40px;
  margin-top: 20px;
}
.order-info-box + .order-info-box {
  padding-bottom: 40px;
  border-bottom: 1px solid var(--maho-color-border-light);
}
.order-info-box .col-1 {
  padding-right: 0;
  width: 48%;
}
.order-info-box .col-2 {
  width: 52%;
}
.order-info-box .col-1,
.order-info-box .col-2 {
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}
.order-info-box .box-title {
  width: 150px;
  padding-right: 10px;
  float: left;
}
.order-info-box .box-title h2 {
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5;
}
.order-info-box .box-title h2:after {
  content: ':';
}
.order-info-box .box-content {
  float: left;
}
.order-info-box .box-content td,
.order-info-box .box-content th {
  line-height: 1.3;
}
.order-info-box .box-content th {
  padding-top: 10px;
}
.order-info-box .box-content td {
  padding-left: 15px;
}
.order-info-box .box-content strong {
  font-weight: normal;
  text-transform: uppercase;
}

#my-orders-table .option-label {
  margin-left: 10px;
  font-weight: 600;
  font-style: italic;
}
#my-orders-table .option-value {
  margin-left: 20px;
}
#my-orders-table tr.bundle:not(:last-child) td {
  border-bottom: none;
  border-top: none;
}

ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}
ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}
ol#cart-sidebar-reorder p.product-name {
  display: inline;
}

@media only screen and (max-width: 599px) {
  #my-orders-table .option-label {
    margin-left: 20px;
  }
  #my-orders-table .option-value {
    margin-left: 35px;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr br {
    display: none;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr strong {
    margin-right: 10px;
  }
  #my-orders-table tr.bundle {
    border-color: var(--maho-color-border-light);
  }
  #my-orders-table tr.bundle.child td[data-rwd-label] {
    padding-left: 60px;
  }
  #my-orders-table tbody:last-child tr:last-child td {
    padding-bottom: 10px;
    border-bottom: 0;
  }
  #my-orders-table tbody:last-child tr:last-child td:last-child {
    padding-bottom: 15px;
  }
  #my-orders-table tfoot tr.shipping {
    margin-top: 0;
  }
}
.order-additional {
  margin: 40px 0;
}

.order-gift-message dd {
  margin-top: 10px;
}

@media only screen and (max-width: 1199px) {
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    padding-right: 30px;
    padding-bottom: 0;
  }

  body.customer-account .data-table td.view a {
    white-space: normal;
  }
}
@media only screen and (max-width: 979px) {
  body.customer-account .my-account .title-buttons {
    text-align: left;
  }
  body.customer-account .my-account .title-buttons span.separator,
  body.customer-account .my-account .title-buttons a {
    top: -12px;
  }
}
@media only screen and (max-width: 770px) {
  body.customer-account .data-table.orders th.ship,
  body.customer-account .data-table.orders td.ship,
  body.customer-account .data-table.orders td.status,
  body.customer-account .data-table.orders th.status {
    display: none;
  }

  .order-info-box .box-content {
    clear: left;
  }

  .addresses-list .item {
    float: left;
    width: 50%;
    padding-right: 30px;
  }

  .order-info dt {
    display: none;
  }

  .dashboard .page-title {
    margin-top: 20px;
  }
  .dashboard .page-title h1 {
    margin-top: 0;
  }
  .dashboard .welcome-msg .hello {
    font-style: italic;
  }
  .dashboard .box-account {
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 48%;
    padding-right: 0;
    padding-left: 0;
  }
  .dashboard .col2-set .col-1 {
    float: left;
    margin-right: 4%;
  }
  .dashboard .col2-set .col-2 {
    float: right;
  }
}
@media only screen and (max-width: 599px) {
  body.customer-account .my-account .form-list .control {
    padding-left: 0;
  }
}
@media only screen and (max-width: 479px) {
  body.customer-account .my-account .page-title h1 {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons .button {
    width: 100%;
    position: static;
    margin-bottom: 15px;
  }
  body.customer-account .my-account .title-buttons .button + .button {
    margin-left: 0px;
  }
  body.customer-account .my-account .fieldset h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .order-details h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .buttons-set {
    border-top: 0;
  }
  body.customer-account .my-account .addresses-list .item {
    margin-bottom: 15px;
    padding-right: 0;
    float: none;
    width: auto;
  }
  body.customer-account .my-account .addresses-list h2 {
    margin-bottom: 15px;
  }

  .order-info {
    margin-top: 15px;
  }

  .data-table.orders .link-reorder,
  .data-table.orders .date {
    display: none;
  }
  .data-table.orders td.view {
    text-align: right;
  }

  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 100%;
    margin-top: 15px;
  }

  .order-info-box {
    margin: 0;
  }
  .order-info-box .col-1,
  .order-info-box .col-2 {
    width: 100%;
    border-bottom: 1px solid var(--maho-color-border-light);
    padding: 15px 0;
  }
  .order-info-box + .order-info-box {
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 30px;
  }

  #my-reviews-table .nobr {
    white-space: normal;
  }
}
/* ============================================ *
 * Newsletter Subscriptions
 * ============================================ */
body.newsletter-manage-index .my-account .fieldset {
  margin-bottom: 20px;
}
body.newsletter-manage-index .my-account .fieldset h2 {
  display: none;
}
body.newsletter-manage-index .my-account .form-list {
  border-top: 1px solid var(--maho-color-border-light);
  padding-top: 10px;
}

/* ============================================ *
 * Contacts
 * ============================================ */
.contacts-index-index .buttons-set {
  margin-left: 30px;
  max-width: 435px;
}
.contacts-index-index .buttons-set p.required {
  float: left;
}
@media only screen and (max-width: 599px) {
  .contacts-index-index .buttons-set {
    max-width: 330px;
    margin-left: 0;
  }
  .contacts-index-index .buttons-set button {
    float: left;
    margin-left: 0px;
  }
  .contacts-index-index .buttons-set p.required {
    float: right;
  }
}

/* ============================================ *
 * PayPal
 * ============================================ */
@media only screen and (max-width: 870px) and (min-width: 771px) {
  .paypal-review-order .col2-set .col-1,
  .paypal-review-order .col2-set .col-2 {
    padding: 0px;
  }
}
.paypal-review-order .info-set {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--maho-color-border-light);
}
.paypal-review-order .buttons-set {
  margin-top: 0px;
  padding-top: 0px;
  border: 0;
}
.paypal-review-order .buttons-set button {
  margin-bottom: 10px;
}
@media only screen and (max-width: 770px) {
  .paypal-review-order .col-1 {
    padding-bottom: 0;
  }
  .paypal-review-order .field.inactive {
    display: none;
  }
}

.top-container .bml-ad {
  margin-top: 7px;
  margin-bottom: 7px;
  text-align: center;
}
.top-container .bml-ad span {
  display: inline-block;
}
.top-container .bml-ad span a {
  display: block;
}

.bml-ad {
  display: none;
  text-align: center;
  margin-bottom: 5px;
}
.bml-ad span {
  display: block;
  line-height: 0;
}
.bml-ad a {
  display: inline-block;
  max-width: 100%;
}
.bml-ad a:hover {
  opacity: 0.7;
}
.bml-ad img {
  height: auto !important;
  max-width: 100%;
}

.cart-totals-wrapper .bml-ad.large img {
  display: block;
  margin: 0;
}

@media only screen and (max-width: 770px) {
  .bml-ad.small {
    display: block;
  }
}
@media only screen and (min-width: 771px) {
  .bml-ad.large {
    display: block;
  }
}
div.paypal-logo {
  text-align: center;
  margin: 15px 0;
  max-width: 100%;
}
div.paypal-logo span {
  display: block;
  width: 100%;
}
div.paypal-logo span a {
  display: inline-block;
  max-width: 100%;
}
div.paypal-logo span a img {
  max-width: 100%;
}
div.paypal-logo span > img {
  display: none;
}

.checkout-types div.paypal-logo {
  text-align: right;
}

.bml-checkout-type {
  list-style-type: none;
}

.sidebar .paypal-logo {
  text-align: center;
  line-height: 0;
}
.sidebar .paypal-logo > a {
  display: inline-block;
  max-width: 100%;
}
.sidebar .paypal-logo > a:hover {
  opacity: 0.8;
}
.sidebar .paypal-logo > a img {
  display: block;
}
.sidebar .paypal-logo .label {
  margin-top: 4px;
}
.sidebar .paypal-logo .label a {
  font-size: 0.75rem;
  line-height: 1.5;
}


/* ============================================ *
 * Review - Customer
 * ============================================ */
#customer-reviews h2 {
  color: var(--maho-color-primary);
  font-size: 0.75rem;
  text-transform: uppercase;
}
#customer-reviews h2 span {
  color: var(--maho-color-text-primary);
}
#customer-reviews h3 {
  font-size: 0.75rem;
  font-weight: normal;
  text-transform: uppercase;
}
#customer-reviews h3 span {
  color: var(--maho-color-primary);
}
#customer-reviews .fieldset {
  padding-top: 25px;
  width: 470px;
}
#customer-reviews .fieldset h4 {
  border-bottom: 1px solid var(--maho-color-border);
  font-size: 0.75rem;
  font-weight: normal;
  padding-bottom: 5px;
  text-transform: uppercase;
}
#customer-reviews .fieldset h4 em {
  display: none;
}
#customer-reviews .fieldset .form-list {
  font-size: 0.75rem;
  font-weight: normal;
  margin: 10px 0;
  text-transform: uppercase;
  width: 470px;
}
#customer-reviews .fieldset .form-list .inline-label:after {
  content: '';
  display: table;
  clear: both;
}
#customer-reviews .fieldset .form-list label {
  font-size: 0.75rem;
  font-weight: normal;
}
#customer-reviews .fieldset .form-list textarea {
  border: 1px solid var(--maho-color-border);
  border-radius: 0;
  min-width: 100%;
}
#customer-reviews .fieldset .form-list input {
  border: 1px solid var(--maho-color-border);
  border-radius: 0;
}
#customer-reviews .fieldset .form-list input[type="text"] {
  width: 100%;
}
#customer-reviews .buttons-set {
  border: none;
  margin: 0;
  width: 470px;
}
#customer-reviews dl {
  position: relative;
  font-size: 0.875rem;
  font-weight: normal;
  margin-block: 1.5rem 0;
}
#customer-reviews dl dt {
  background-size: 20px;
  background-repeat: no-repeat;
  padding-inline-start: 25px;
  line-height: 22px;
}
#customer-reviews dl dt svg {
  position: absolute;
  left: -5px;
  top: -2px;
  stroke-width: 1.2;
}
#customer-reviews dl dd {
  font-size: 0.875rem;
  margin: 10px 0 15px;
  padding: 0 0 15px 25px;
  border-bottom: 1px solid var(--maho-color-border);
}
#customer-reviews dl dd:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
#customer-reviews dl dd .ratings-table tr {
  margin-right: 15px;
}
#customer-reviews dl dd table {
  margin-top: 15px;
}
.review-summary-table {
  border-bottom: 1px solid var(--maho-color-border);
  margin: 0 0 10px;
  padding-bottom: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.review-summary-table thead {
  background: transparent;
}
.review-summary-table thead th {
  background: transparent;
  border: none;
  padding: 15px 7px 10px 8px;
}
.review-summary-table tbody th {
  background: var(--maho-color-background);
  font-size: 0.75rem;
}
.review-summary-table tbody td {
  border: none;
  text-align: center;
  padding: 0;
}
.review-summary-table tbody td label {
  width: 100%;
  display: block;
  padding: 11px 0;
}
.review-summary-table .rating-box .rating-number {
  display: none;
}
.review-summary-table .rating-box .rating-number:after {
  content: "";
  display: inline-block;
  background-position: 0px -599px;
  width: 13px;
  height: 14px;
  margin-left: 5px;
  position: relative;
  top: 2px;
}

/* ============================================ *
 * Ratings - Global
 * ============================================ */
.ratings-table {
  font-size: 0.75rem;
  text-transform: uppercase;
}
.ratings-table caption {display: none}
.ratings-table th {
  padding-right: 10px;
}

@media only screen and (max-width: 770px) {
  body.review-product-list .product-view .product-shop .price-info {
    padding-left: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info {
    padding: 0;
    min-width: 84%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table {
    margin: 10px 0;
    width: 100%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    margin-right: 15px;
  }
}
@media only screen and (max-width: 535px) {
  body.review-product-list .product-view .product-shop .extra-info {
    min-width: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    float: none;
    margin-right: 0;
  }
}
@media only screen and (max-width: 520px) {
  #customer-reviews .fieldset {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list .inline-label label,
  #customer-reviews .fieldset .form-list .inline-label .input-box {
    float: none;
  }
  #customer-reviews .buttons-set {
    width: 100%;
  }
  #customer-reviews .review-summary-table thead th {
    padding-left: 0px;
    padding-right: 0px;
  }
  #customer-reviews .review-summary-table tbody th {
    padding-left: 0px;
    padding-right: 0px;
  }
  #customer-reviews .review-summary-table tbody td {
    width: 20%;
    padding: 0px;
  }
  #customer-reviews .review-summary-table .rating-box {
    text-indent: 0px;
    text-align: center;
    background: none;
    height: 19.6px;
    width: 100%;
  }
  #customer-reviews .review-summary-table .rating-box .rating {
    display: none;
  }
  #customer-reviews .review-summary-table .rating-box .rating-number {
    display: inline-block;
  }
}
@media only screen and (max-width: 450px) {
  #customer-reviews dl dd .ratings-table tr {
    float: none;
  }
}
/* ============================================ *
 * Review View Page
 * ============================================ */
.review-product-view .product-review .product-details h2 {
  border-bottom: none;
}
.review-product-view .product-review .product-img-box {
  width: auto;
  max-width: 50%;
}
.review-product-view .product-review .product-img-box > a {
  width: 100%;
}
.review-product-view .product-review .product-img-box .product-image {
  width: 100%;
}

@media only screen and (max-width: 770px) {
  .review-product-view .product-review .product-img-box {
    max-width: 100%;
  }
}
/* ============================================ *
 * Slideshow
 * ============================================ */

.slideshow {
  width: 100%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  margin-bottom: 41px;
}

.slideshow ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.slideshow ul li {
  scroll-snap-align: center;
  display: inline-block;
  margin: 0;
}

.slideshow ul li img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.slideshow-dots {
  text-align: center;
  margin-top: -41px;
  margin-bottom: 20px;
}

.slideshow-dots .dot {
  height: 8px;
  width: 8px;
  background-color: var(--maho-color-border);
  border-radius: 50%;
  display: inline-block;
  margin: 0 5px;
  cursor: pointer;
}

.slideshow-dots .dot.active {
  background-color: var(--maho-color-text-primary);
}

/* ============================================ *
 * Wishlist
 * ============================================ */
#wishlist-table th {
  text-align: center;
}
#wishlist-table.clean-table {
  font-size: 0.75rem;
  text-transform: uppercase;
  width: 100%;
}
#wishlist-table.clean-table th {
  border-bottom: 1px solid var(--maho-color-border-dark);
}
#wishlist-table.clean-table td {
  padding: 15px;
  vertical-align: top;
}
#wishlist-table.clean-table thead th {
  font-size: 0.75rem;
  text-transform: uppercase;
}
#wishlist-table .product-name {
  font-size: 1rem;
  margin-bottom: 0;
  text-transform: uppercase;
}
#wishlist-table .product-name a {
  color: var(--maho-color-primary);
}
#wishlist-table .wishlist-sku {
  font-size: 0.688rem;
  margin: 5px 0;
}
#wishlist-table textarea {
  border: 1px solid var(--maho-color-border-dark);
  width: 100%;
  height: 45px;
  font-size: 0.688rem;
}
#wishlist-table textarea:focus {
  border: 1px solid var(--maho-color-primary);
}
#wishlist-table .item-manage {
  text-align: right;
  max-width: 450px;
  padding-top: 5px;
}
#wishlist-table .item-manage .button {
  font-size: 0.688rem;
  padding: 3px 5px;
}
#wishlist-table .cart-cell {
  text-align: center;
}
#wishlist-table td.customer-wishlist-item-image {
  width: 113px;
}
#wishlist-table td.customer-wishlist-item-quantity {
  width: 3em;
}
#wishlist-table td.customer-wishlist-item-price {
  width: 120px;
  text-align: center;
}
#wishlist-table td.customer-wishlist-item-cart {
  width: 150px;
}
#wishlist-table td.customer-wishlist-item-cart .button {
  font-size: 0.75rem;
  margin-bottom: 10px;
  padding: 3px 5px;
  width: 100%;
}
#wishlist-table td.customer-wishlist-item-cart .truncated {
  margin-bottom: 10px;
}
#wishlist-table td.customer-wishlist-item-cart > p {
  margin-bottom: 0;
}
#wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
  text-align: center;
}
#wishlist-table td.customer-wishlist-item-cart .btn-remove {
  vertical-align: top;
}
#wishlist-table td.customer-wishlist-item-remove {
  width: 20px;
}
#wishlist-table td .button,
#wishlist-table td button {
  white-space: normal;
}
#wishlist-table .price-box {
  font-size: 0.75rem;
}
#wishlist-table .price-box .price {
  color: var(--maho-color-text-primary);
}
#wishlist-table .giftregisty-add {
  margin-top: 5px;
}
#wishlist-table .giftregisty-add .change {
  display: none;
}
#wishlist-table .giftregisty-add li {
  cursor: pointer;
  color: var(--maho-color-primary);
  margin-bottom: 3px;
}
#wishlist-table .truncated .details {
  background: none;
  color: var(--maho-color-primary);
}
#wishlist-table td[data-rwd-label]:before {
  font-weight: 600;
}

@media only screen and (max-width: 1199px) {
  #wishlist-table.clean-table td {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 979px) {
  #wishlist-table.clean-table td {
    padding-left: 5px;
    padding-right: 5px;
  }
  #wishlist-table.clean-table td textarea {
    height: 100px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 110px;
  }
  #wishlist-table .product-name {
    font-size: 0.813rem;
  }
}
@media only screen and (max-width: 770px) {
  #wishlist-table:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table .product-name {
    font-size: 1rem;
  }
  #wishlist-table textarea {
    height: 68px;
    max-width: 100%;
  }
  #wishlist-table .item-manage {
    max-width: 100%;
  }
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table td.customer-wishlist-item-image {
    width: 70px;
  }
  #wishlist-table td.customer-wishlist-item-image img {
    width: 70px;
    height: 70px;
  }
  #wishlist-table td.customer-wishlist-item-cart p {
    margin-bottom: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
    margin-right: 0;
    padding-top: 4px;
  }
  #wishlist-table td.customer-wishlist-item-cart {
    padding-right: 15px;
  }
}
@media only screen and (max-width: 599px) {
  #wishlist-table td.customer-wishlist-item-quantity {
    padding-left: 0;
  }
  #wishlist-table td.customer-wishlist-item-image,
  #wishlist-table th.customer-wishlist-item-image {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table th.customer-wishlist-item-image {
    display: block;
  }
  #wishlist-table td.customer-wishlist-item-image, #wishlist-table td.customer-wishlist-item-info, #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price, #wishlist-table td.customer-wishlist-item-cart {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    empty-cells: hide;
  }
  #wishlist-table td.customer-wishlist-item-image {
    display: block;
    overflow: hidden;
  }
  #wishlist-table td.customer-wishlist-item-image a {
    float: left;
  }
  #wishlist-table td.customer-wishlist-item-image a img {
    width: 113px;
    height: 113px;
  }
  #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity:before, #wishlist-table td.customer-wishlist-item-price:before {
    float: left;
    margin-right: 15px;
  }
  #wishlist-table td.customer-wishlist-item-quantity .cart-cell, #wishlist-table td.customer-wishlist-item-price .cart-cell {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity .price-box, #wishlist-table td.customer-wishlist-item-price .price-box {
    margin-top: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .cart-cell {
    float: left;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-cart > p {
    float: right;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-remove {
    position: absolute;
    top: 15px;
    right: 0px;
    display: block;
    padding: 0px;
    height: 20px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 100%;
  }
}
/* ============================================ *
 * Wishlist Sidebar
 * ============================================ */
.block-wishlist .mini-products-list > li:not(:last-child) {
  padding-bottom: 5px;
}
.block-wishlist .product-details .product-name {
  padding-top: 0;
  margin-bottom: 5px;
}
.block-wishlist .price-box {
  float: left;
  margin: 0;
}
.block-wishlist .price-box,
.block-wishlist .price-box .price,
.block-wishlist .link-cart {
  font-size: 0.75rem;
}
.block-wishlist .link-cart {
  float: left;
  text-transform: uppercase;
  margin-right: 7px;
  padding-right: 7px;
  border-right: 1px solid var(--maho-color-border-light);
}


/* ============================================ *
 * Search - Auto Suggest
 * ============================================ */
.search-autocomplete {
  background-color: var(--maho-color-background);
  border: 1px solid var(--maho-color-primary);
  position: absolute !important;
  overflow: visible !important;
  margin-top: 8px;
  z-index: 200;
  display: none;
}
.search-autocomplete .products-list {
  margin: 0.5rem !important;
}
.search-autocomplete .product-image {
  max-width: 80px;
  margin-right: 1rem;
  border: none;
}
.search-autocomplete .products-grid li > div > ul, .search-autocomplete :is(.product-secondary,.desc,.rating-links,.minimal-price-link) {
  display: none !important;
}
.search-autocomplete .product-secondary:has(.price-box) {
  display: block !important;
  float: left;
}
.search-autocomplete .price-box {
  display: flex;
}
.search-autocomplete :is(.product-primary,.product-shop) {
  float: none !important;
  padding: 0 !important;
  width: auto !important;
}
.search-autocomplete .results-list {
  max-height: 70dvh;
  overflow: auto;
  overscroll-behavior: contain;
}
.search-autocomplete .products-list > li {
  display: flex;
  place-items: center;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.search-autocomplete .products-list > li:hover {
  cursor: pointer;
}
.search-autocomplete .products-list :is(.product-name a, .price) {
  font-size: 0.938rem !important;
  text-transform: none;
  font-weight: 500;
}
.search-autocomplete :is(.view-all,.note-msg) {
  display: block;
  text-align: center;
  font-weight: 500;
  color: var(--maho-color-background);
  background-color: var(--maho-color-primary);
  padding: 0.5rem;
}
.search-autocomplete:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid var(--maho-color-primary);
  border-top: none;
  left: 50%;
  top: -7px;
}

/* Category Results in Autocomplete */
.search-autocomplete .category-results,
.search-autocomplete .blog-results {
  border-bottom: 1px solid var(--maho-color-border-light);
  margin-bottom: 10px;
}

.search-autocomplete .category-results-title,
.search-autocomplete .blog-results-title,
.search-autocomplete .product-results-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--maho-color-text-secondary);
  margin: 10px 0 8px;
  padding: 0 10px;
}

.search-autocomplete .category-link {
  display: block;
  padding: 8px 10px;
  text-decoration: none;
  color: var(--maho-color-text-primary);
}

.search-autocomplete .category-link:hover {
  background-color: var(--maho-color-background-hover);
}

.search-autocomplete .category-path {
  color: var(--maho-color-text-secondary);
  font-size: 0.688rem;
  display: block;
  margin-bottom: 2px;
}

.search-autocomplete .category-path .path-item::after {
  content: ' › ';
  margin: 0 2px;
  opacity: 0.6;
}

.search-autocomplete .category-name {
  font-weight: 500;
}

/* Blog Results in Autocomplete */
.search-autocomplete .blog-item > a {
  display: block;
  padding: 8px 10px;
  text-decoration: none;
  color: var(--maho-color-text-primary);
}

.search-autocomplete .blog-item > a:hover {
  background-color: var(--maho-color-background-hover);
}

.search-autocomplete .blog-title {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.3;
}

.search-autocomplete .blog-date {
  color: var(--maho-color-text-secondary);
  font-size: 0.688rem;
}

.search-autocomplete .blog-excerpt {
  color: var(--maho-color-text-secondary);
  font-size: 0.75rem;
  line-height: 1.4;
  margin-top: 3px;
}

/* ============================================ *
 * Search - Advanced
 * ============================================ */
.advanced-search {
  background: var(--maho-color-background-alt);
  border: 1px solid var(--maho-color-border-light);
  padding: 30px;
}
.advanced-search select.multiselect option {
  border-bottom: 1px solid var(--maho-color-border-light);
  padding: 2px 5px;
}

@media only screen and (max-width: 479px) {
  .advanced-search {
    padding: 15px;
  }
}
/* ============================================ *
 * Account - Reviews
 * ============================================ */
.product-review .product-img-box p.label {
  border-bottom: 1px solid var(--maho-color-border);
  font-size: 1rem;
  margin-top: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
}
.product-review .product-img-box .rating-box {
  margin: 15px 0;
}
.product-review .product-details h2 {
  border-bottom: 1px solid var(--maho-color-border);
  color: var(--maho-color-primary);
  font-size: 1rem;
  font-weight: 600;
  padding-bottom: 10px;
}
.product-review .ratings-table th {
  padding-right: 10px;
}
.product-review .ratings-table tr {
  float: left;
  font-size: 0.75rem;
  margin-right: 10px;
  text-transform: uppercase;
}
.product-review .ratings-description dt {
  border-bottom: 1px solid var(--maho-color-border);
  font-size: 1rem;
  font-weight: 400;
  margin-top: 20px;
  padding: 10px 0;
  text-transform: uppercase;
}
.product-review .ratings-description dd {
  color: var(--maho-color-text-primary);
  font-size: 0.813rem;
}

@media only screen and (min-width: 771px) {
  .product-review .ratings-table tr {
    float: none;
  }
}
@media only screen and (min-width: 1126px) {
  .product-review .ratings-table tr {
    float: left;
    margin-right: 15px;
  }
}
@media only screen and (max-width: 320px) {
  .product-review .ratings-table tr {
    float: none;
  }
}
/* ============================================ *
 * CMS Pages
 * ============================================ */
.cms-page-view .page-title h1,
.cms-page-view .page-title h3,
.cms-page-view .page-head h1,
.cms-page-view .page-head h3,
.cms-no-route .page-title h1,
.cms-no-route .page-title h3,
.cms-no-route .page-head h1,
.cms-no-route .page-head h3 {
  border: none;
}
.cms-page-view .std img,
.cms-no-route .std img {
  max-width: 100%;
}
.cms-page-view .std p,
.cms-no-route .std p {
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  /* font-style: italic; */
  line-height: 24px;
}
.cms-page-view .std h1,
.cms-no-route .std h1 {
  color: var(--maho-color-primary);
}
.cms-page-view .std h2,
.cms-no-route .std h2 {
  color: var(--maho-color-primary);
}
.cms-page-view .std li,
.cms-no-route .std li {
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  font-style: italic;
  line-height: 24px;
}
.cms-page-view .col-left:after,
.cms-no-route .col-left:after {
  content: '';
  display: table;
  clear: both;
}

.cms-no-route .std img {
  width: 100%;
}

.cms-page-view .std .messages,
.cms-home .std .messages,
.cms-no-route .std .messages {
  margin-bottom: 10px;
}
.cms-page-view .std .messages ul,
.cms-home .std .messages ul,
.cms-no-route .std .messages ul {
  margin-bottom: 0;
}
.cms-page-view .std .messages li,
.cms-home .std .messages li,
.cms-no-route .std .messages li {
  list-style: none;
  margin-left: 0;
  font-style: normal;
}

#accordion .toggle-tabs {
  display: none;
}
#accordion > dl > dt {
  margin: 0;
  margin-bottom: 10px;
  color: var(--maho-color-text-primary);
  font-size: 0.875rem;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  user-select: none;
  font-weight: normal;
  margin-bottom: 0px;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--maho-color-border);
  position: relative;
  background-color: var(--maho-color-background-alt);
  display: block;
}
#accordion > dl > dt:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid var(--maho-color-primary);
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}
#accordion > dl > dt:hover {
  background-color: var(--maho-color-background-hover);
}
#accordion > dl > dd {
  padding: 10px;
  margin: 0;
  border-width: 0 1px;
  border-style: solid;
  border-color: var(--maho-color-border);
}
#accordion > dl > dd:last-child {
  border-width: 0 1px 1px 1px;
}
#accordion li {
  position: relative;
  overflow: hidden;
}
#accordion li .plusimage h2 {
  margin-right: 10px;
}

.page-sitemap .links {
  display: block;
  text-align: right;
  margin: 0 20px 0 0;
}
.page-sitemap .links a {
  position: relative;
}
.page-sitemap .sitemap {
  padding: 0 20px;
  margin: 15px 0;
  font-size: 0.75rem;
}
.page-sitemap .sitemap li {
  margin: 3px 0;
}

.contacts-index-index h1 {
  border: none;
}
#contactForm .fieldset .legend + .required {
  margin: 0;
}

/* ============================================ *
 * Pricing Conditions
 * ============================================ */
.price-box .minimal-price-link .label {
  color: var(--maho-color-error);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.map-info {
  white-space: nowrap;
}

.catalog-product-view .map-info {
  white-space: normal;
}
.catalog-product-view .map-info .price-box.map-info > a {
  float: right;
  width: 100%;
}

/* ============================================ *
 * Cookies
 * ============================================ */
.notice-cookie .notice-inner {
  padding-bottom: 0;
}
.notice-cookie .notice-inner:after {
  content: '';
  display: table;
  clear: both;
}
.notice-cookie .notice-text {
  float: left;
  max-width: 90%;
  padding-top: 4px;
  text-align: left;
}
.notice-cookie .notice-text p {
  padding-bottom: 14.5px;
  line-height: 1.3;
}
.notice-cookie .actions {
  float: left;
  text-align: right;
  padding-bottom: 14.5px;
}

@media only screen and (max-width: 979px) {
  .notice-cookie .notice-text {
    max-width: 86%;
  }
}
@media only screen and (max-width: 770px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-text {
    max-width: 82%;
    padding-top: 0;
  }
}
@media only screen and (max-width: 620px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-inner {
    background-position: left 10px;
  }
  .notice-cookie .notice-inner:after {
    content: '';
    display: table;
    clear: both;
  }
  .notice-cookie .notice-text {
    float: none;
    max-width: 100%;
    padding-top: 0;
  }
  .notice-cookie .actions {
    text-align: left;
  }
}
/* ============================================ *
 * Tags
 * ============================================ */
#addTagForm button {
  margin-top: 5px;
  margin-bottom: 10px;
}

#addTagForm .form-add {
  margin-top: 10px;
}

.product-tags {
  background-color: var(--maho-color-background-alt);
  border: 1px solid var(--maho-color-border);
  float: left;
  margin-bottom: 10px;
  padding: 5px 1% 10px;
  width: 98%;
}

.product-tags li {
  float: left;
  margin-right: 15px;
}

.product-tags li.last {
  margin-right: 0px;
}

.tags-list {
  float: left;
  width: 100%;
  margin-bottom: 10px;
}

.tags-list > li {
  float: left;
  margin-right: 10px;
}

.block-tags .actions > a {
  font-size: 0.75rem;
}

.my-tag-edit .button.btn-remove {
  padding: 0;
}
.my-tag-edit .button.btn-remove:after {
  color: white;
}

@media only screen and (max-width: 770px) {
  .tags-list > li,
  .tags-list {
    float: none;
  }
}

/* ============================================ *
 * Checkout Billing Fix to place the Captcha properly
 * ============================================ */
#co-billing-form ul.form-list > .control {
  float: left;
  margin: 0 0 5px;
  width: 100%;
}

/* ============================================ *
 * Account - Orders, Invoices, Credit Memos.
 * ============================================ */
@media only screen and (max-width: 479px) {
  .sales-order-invoice .sub-title,
  .sales-order-creditmemo .sub-title,
  .sales-order-shipment .sub-title {
    float: left;
    font-size: 0.938rem;
    text-align: center;
    width: 100%;
  }
  .sales-order-invoice .order-links,
  .sales-order-creditmemo .order-links,
  .sales-order-shipment .order-links {
    text-align: center;
    width: 100%;
  }
}
/* ============================================ *
 * Recurring Profiles
 * ============================================ */
#recurring_profile_list_view th {
  white-space: normal;
}
#recurring_profile_list_view th span {
  white-space: inherit;
}
@media only screen and (max-width: 479px) {
  #recurring_profile_list_view {
    font-size: 0.75rem;
  }
  #recurring_profile_list_view a {
    font-size: inherit;
  }
  #recurring_profile_list_view th,
  #recurring_profile_list_view td {
    padding: 2px;
  }
}

.recurring-profiles-title {
  float: left;
}
.recurring-profiles-title h1 {
  margin-bottom: 7px;
}

body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
  float: right;
  text-align: right;
  margin-bottom: 30px;
}
@media only screen and (max-width: 479px) {
  body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
    text-align: center;
    float: none;
  }
}
body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons .button {
  position: static;
}

.recurring-profiles-messages:after {
  content: '';
  display: table;
  clear: both;
}

#recurring_start_date_trig {
  display: inline;
}

/* ============================================ *
 * Billing Agreements
 * ============================================ */
.billing-agreements .info-box {
  margin-bottom: 30px;
}
.billing-agreements .info-box:after {
  content: '';
  display: table;
  clear: both;
}
.billing-agreements .info-box .form-list {
  max-width: 400px;
  width: 100%;
}
.billing-agreements .info-box .box-title {
  margin-top: 20px;
  margin-bottom: 7px;
}
.billing-agreements .info-box .button {
  float: right;
  margin-top: 7px;
}
@media only screen and (max-width: 479px) {
  .billing-agreements .info-box .button {
    width: 100%;
    float: none;
  }
}
.billing-agreements #payment_method {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 7px;
}

.billing-agreement-view-header-wrapper .heading {
  max-width: 80%;
}
@media only screen and (max-width: 479px) {
  .billing-agreement-view-header-wrapper .heading {
    max-width: 100%;
  }
}

.billing-agreement-details td, .billing-agreement-details th {
  padding: 3.5px;
}

@media only screen and (max-width: 979px) {
  .billing-agreements .data-table .created-at,
  .billing-agreements .data-table .updated-at {
    display: none;
  }
}
/* ============================================ *
 * Popular Search Terms Cloud
 * ============================================ */
.catalogsearch-term-popular .tags-list {
  float: left;
  width: 100%;
}

.catalogsearch-term-popular .tags-list > li {
  float: left;
  height: 40px;
  margin-right: 25px;
}

/* ============================================ *
 * Widgets
 * ============================================ */
/* -------------------------------------------- *
 * Add to cart by SKU
 */
.sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
  width: 100%;
}
@media only screen and (min-width: 771px) {
  .sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
    max-width: 100px;
  }
}

.widget {
  clear: both;
}

.widget .pager {
  float: none;
  width: 100%;
}

/* ============================================ *
 * Checkout - Multiple Addresses
 * ============================================ */
body[class*="checkout-multishipping-"] .checkout-progress {
  width: 100%;
  float: left;
  margin-bottom: 25px;
}
body[class*="checkout-multishipping-"] .checkout-progress > li {
  float: left;
  width: 20%;
  text-align: center;
  padding: 8px 1% 6px;
  background: var(--maho-color-background-alt);
  text-transform: uppercase;
  border-bottom: 1px solid var(--maho-color-border);
  border-right: 1px solid var(--maho-color-border);
  margin-bottom: 10px;
}
body[class*="checkout-multishipping-"] .checkout-progress > li.active {
  background-color: var(--maho-color-button-secondary);
}
body[class*="checkout-multishipping-"] .checkout-progress > li.last {
  border-right: 0px;
}
body[class*="checkout-multishipping-"] .page-title {
  float: left;
  width: 100%;
  margin-bottom: 15px;
}
body[class*="checkout-multishipping-"] .page-title h1 {
  border: 0 none;
  float: left;
  margin-top: 2px;
  margin-right: 2%;
}
body[class*="checkout-multishipping-"] .page-title .button {
  float: right;
}
body[class*="checkout-multishipping-"] .multiple-checkout > h2 {
  text-transform: none;
  font-size: 1.063rem;
  margin-bottom: 15px;
}
body[class*="checkout-multishipping-"] .messages {
  float: left;
  width: 100%;
}
body[class*="checkout-multishipping-"] .col-2.col-wide {
  width: 66%;
}
body[class*="checkout-multishipping-"] .col-1.col-narrow {
  width: 30%;
}
body[class*="checkout-multishipping-"] .actions {
  margin-bottom: 10px;
}
body[class*="checkout-multishipping-"] .grand-total {
  text-align: right;
  font-size: 1rem;
  font-weight: bold;
}
body[class*="checkout-multishipping-"] #checkout-review-submit {
  float: right;
}
body[class*="checkout-multishipping-"] #review-buttons-container {
  float: right;
  text-align: right;
}

.checkout-multishipping-addresses .btn-remove2 {
  text-indent: -5555px;
  display: block;
  width: 22px;
  height: 22px;
}

.checkout-multishipping-shipping .gift-messages {
  margin-top: 20px;
}
.checkout-multishipping-shipping .gift-messages-form {
  margin-top: 15px;
}
.checkout-multishipping-shipping .gift-messages-form h4 {
  margin-top: 15px;
  margin-bottom: 5px;
}
.checkout-multishipping-shipping .gift-messages-form .form-list {
  margin-top: 10px;
  margin-bottom: 25px;
}
.checkout-multishipping-shipping .gift-messages-form .item {
  margin-top: 15px;
}

.checkout-multishipping-shipping .col-1 .box-title h2, .checkout-multishipping-shipping .col-1 .box-title h3, .checkout-multishipping-shipping .col-1 .box-title h4, .checkout-multishipping-shipping .col-2 .box-title h2, .checkout-multishipping-shipping .col-2 .box-title h3, .checkout-multishipping-shipping .col-2 .box-title h4,
.checkout-multishipping-billing .col-1 .box-title h2,
.checkout-multishipping-billing .col-1 .box-title h3,
.checkout-multishipping-billing .col-1 .box-title h4,
.checkout-multishipping-billing .col-2 .box-title h2,
.checkout-multishipping-billing .col-2 .box-title h3,
.checkout-multishipping-billing .col-2 .box-title h4,
.checkout-multishipping-overview .col-1 .box-title h2,
.checkout-multishipping-overview .col-1 .box-title h3,
.checkout-multishipping-overview .col-1 .box-title h4,
.checkout-multishipping-overview .col-2 .box-title h2,
.checkout-multishipping-overview .col-2 .box-title h3,
.checkout-multishipping-overview .col-2 .box-title h4 {
  font-weight: normal;
  width: 100%;
  background: var(--maho-color-background-alt);
  border-bottom: 1px solid var(--maho-color-border);
  padding: 10px;
  font-size: 0.875rem;
}
.checkout-multishipping-shipping .col-1 > h4, .checkout-multishipping-shipping .col-2 > h4,
.checkout-multishipping-billing .col-1 > h4,
.checkout-multishipping-billing .col-2 > h4,
.checkout-multishipping-overview .col-1 > h4,
.checkout-multishipping-overview .col-2 > h4 {
  font-weight: normal;
  width: 100%;
  background: var(--maho-color-background-alt);
  border-bottom: 1px solid var(--maho-color-border);
  padding: 10px;
  font-size: 0.875rem;
}
.checkout-multishipping-shipping .col-1 .box-content, .checkout-multishipping-shipping .col-2 .box-content,
.checkout-multishipping-billing .col-1 .box-content,
.checkout-multishipping-billing .col-2 .box-content,
.checkout-multishipping-overview .col-1 .box-content,
.checkout-multishipping-overview .col-2 .box-content {
  margin-bottom: 25px;
  padding-left: 10px;
  margin-top: 10px;
}

.checkout-multishipping-billing .sp-methods dt {
  float: left;
  width: 100%;
}

.checkout-multishipping-payment-customerbalance input.checkbox {
  margin-left: 15px;
}

#multiship-addresses-table > tbody > tr > td.a-center.last > a {
  background-image: none;
}

#review-order-form > div:nth-child(3) > div.divider {
  width: 100%;
  clear: both;
}

@media only screen and (max-width: 979px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 300px;
  }

  #review-order-form .col-1,
  #review-order-form .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (max-width: 770px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress li {
    width: 100%;
    margin: 0;
    text-align: left;
    padding-left: 3%;
    border-right: 0px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 1px;
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .box-title {
    float: left;
    width: 100%;
  }
  body[class*="checkout-multishipping-"] .page-title .button {
    float: left;
    margin-bottom: 10px;
  }
  body[class*="checkout-multishipping-"] .linearize-table tfoot td {
    text-align: right;
  }
  body[class*="checkout-multishipping-"] .linearize-table select {
    width: 100%;
    min-width: 200px;
  }
  body[class*="checkout-multishipping-"] .col-1.col-narrow, body[class*="checkout-multishipping-"] .col-2.col-wide {
    width: 100%;
    padding: 0;
  }
}
@media only screen and (max-width: 599px) {
  .checkout-multishipping-addresses .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 10px;
    margin-top: 12px;
  }
}
@media only screen and (max-width: 479px) {
  body[class*="checkout-multishipping-"] .buttons-set .back-link {
    display: block;
  }
}
/* ============================================ *
 * Native Date Input Styles
 * ============================================ */
input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fff;
}

input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus {
  border-color: #007bdb;
  outline: none;
  box-shadow: 0 0 3px rgba(0, 123, 219, 0.3);
}

/* ============================================ *
 * Dynamic Offcanvas Positioning
 * ============================================ */
/* Right-side positioning modifier for dialog */
#offcanvas.offcanvas-right {
  left: auto;
  right: 0;
  transform: translateX(100%);
  box-shadow: -2px 0 10px rgba(0,0,0,0.1);
}

#offcanvas.offcanvas-right[open] {
  transform: translateX(0);
}

/* Enhanced Minicart styling for offcanvas */
#offcanvas .minicart-wrapper {
  padding: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

#offcanvas .minicart-wrapper .block-subtitle {
  padding: 20px 20px 15px;
  margin: 0;
  border-bottom: 1px solid var(--maho-color-border-light);
  font-weight: 600;
  font-size: 1rem;
  color: var(--maho-color-text-primary);
  background: var(--maho-color-background-alt);
}

/* Scrollable content area for minicart */
#offcanvas .minicart-wrapper .minicart-content {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

#offcanvas .minicart-wrapper .mini-products-list {
  padding: 0;
  margin: 0;
  flex: 1;
}

#offcanvas .minicart-wrapper .mini-products-list li {
  padding: 10px;
  border-bottom: 1px solid var(--maho-color-border-light);
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

#offcanvas .minicart-wrapper .mini-products-list li:last-child {
  border-bottom: none;
}

#offcanvas .minicart-wrapper .mini-products-list .product-image {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border: 1px solid var(--maho-color-border-light);
  border-radius: 4px;
  overflow: hidden;
}

#offcanvas .minicart-wrapper .mini-products-list .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#offcanvas .minicart-wrapper .mini-products-list .product-details {
  flex: 1;
  min-width: 0;
}

#offcanvas .minicart-wrapper .mini-products-list .product-name {
  font-weight: 600;
  font-size: 0.875rem;
}

#offcanvas .minicart-wrapper .mini-products-list .product-name a {
  color: var(--maho-color-text-primary);
  text-decoration: none;
}

#offcanvas .minicart-wrapper .mini-products-list .product-name a:hover {
  color: var(--maho-color-primary);
}

#offcanvas .minicart-wrapper .mini-products-list .price {
  font-weight: 600;
  color: var(--maho-color-primary);
  font-size: 0.875rem;
  margin-bottom: 8px;
}

#offcanvas .minicart-wrapper .mini-products-list .qty {
  width: 50px;
  padding: 4px 6px;
  border: 1px solid var(--maho-color-border);
  border-radius: 3px;
  text-align: center;
  font-size: 0.875rem;
}

#offcanvas .minicart-wrapper .truncated {
    display: inline;
    position: relative;
}

#offcanvas .minicart-wrapper .truncated_full_value {
    position: absolute;
    left: 0;
    top: 0;
}

#offcanvas .minicart-wrapper .mini-products-list .info-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#offcanvas .minicart-wrapper .qty-wrapper td {
    display: flex;
    gap: 0.2rem;
}

#offcanvas .minicart-wrapper .subtotal {
  padding: 20px;
  background: var(--maho-color-background-alt);
  border-top: 1px solid var(--maho-color-border-light);
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  text-align: center;
}

#offcanvas .minicart-wrapper .subtotal .label {
  color: var(--maho-color-text-primary);
  margin-right: 10px;
}

#offcanvas .minicart-wrapper .subtotal .price {
  color: var(--maho-color-primary);
}

#offcanvas .minicart-wrapper .minicart-actions {
  padding: 15px 20px 10px 20px;
  background: var(--maho-color-background);
  border-top: 1px solid var(--maho-color-border-light);
  position: sticky;
  bottom: 0;
  margin-top: auto;
}

#offcanvas .minicart-wrapper .minicart-actions .checkout-button {
  width: 100%;
  margin-bottom: 10px;
  padding: 12px;
  background: var(--maho-color-primary);
  color: white;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

#offcanvas .minicart-wrapper .minicart-actions .checkout-button:hover {
  background: var(--maho-color-primary-hover);
}

#offcanvas .minicart-wrapper .minicart-actions .cart-link {
  display: block;
  text-align: center;
  color: var(--maho-color-primary);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
}

#offcanvas .minicart-wrapper .minicart-actions .cart-link:hover {
  text-decoration: underline;
}

#offcanvas .minicart-wrapper .empty {
  padding: 60px 20px;
  text-align: center;
  color: var(--maho-color-text-secondary);
  font-size: 0.875rem;
}

/* Hide the regular minicart dropdown (always use offcanvas) */
#header-cart.skip-content {
  display: none !important;
}

/* Hide the close link in offcanvas minicart */
#offcanvas .minicart-wrapper .skip-link-close {
  display: none;
}


/* one page css */

/* ======= Checkout Step Navigation ======= */
.checkout-steps.horizontal-steps {
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0 0 25px;
    flex-wrap: wrap;
    background-color: #E8EAED;
    border-radius: 8px;
    margin-left: 14px;
    margin-top: 15px;
}
.step-item {
    flex: 1;
    text-align: center;
    position: relative;
    padding: 10px 0;
}
.step-number {
    display: inline-block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    border-radius: 50%;
    background: #ccc;
    color: #fff;
    font-weight: bold;
}
.step-item.active .step-number { background: #477E00; }
.step-item.completed .step-number { background: #477E00 }

/* ======= Checkout Options ======= */
.checkout-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 25px;
    width: 100%;
}
.option-box {
    display: flex;
    align-items: flex-start;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 12px 15px;
    cursor: pointer;
    background: #fff;
    transition: border-color 0.3s;
}
.option-box:hover 
{ 
 border-color: #477E00;
}
.option-box input[type="radio"] {
    margin-right: 10px;
    margin-top: 5px;
}
.option-content h3 {
    margin: 0;
    font-size: 16px;
    color: #333;
}
.option-content p {
    margin: 3px 0 0;
    color: #666;
    font-size: 13px;
}
.option-box input[type="radio"]:checked + .option-content {
    /* border-left: 3px solid #6cbb3c; */
}

/* ======= Login Form ======= */
#checkout-login-form {
  width: 90%;
  max-width: 420px;
  padding: 20px;
  margin: 20px auto;
  border-radius: 8px;
  box-sizing: border-box;
  /* background: #f9f9f9;
  border: 1px solid #dcdcdc;
  box-shadow: 0 0 10px rgba(0,0,0,0.05); */
}

#checkout-login-form h3 {
  margin-bottom: 15px;
  text-align: center;
  font-size: 1.5rem;
  color: #334155;
}

/* Responsive inputs and button */
#checkout-login-form input {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #ccc;
}

#checkout-login-form .step-buttons button {
  width: 100%;
  padding: 12px;
  font-size: 1rem;
  background-color: #477E00;
}

/* Mobile-specific adjustments */
@media (max-width: 480px) {
  #checkout-login-form {
    width: 95%;
    padding: 15px;
  }

  #checkout-login-form h3 {
    font-size: 1.3rem;
  }

  #checkout-login-form input {
    padding: 8px;
  }

  #checkout-login-form .step-buttons button {
    padding: 10px;
    font-size: 0.95rem;
  }
}

.checkout-onepage-index button.next-step {
  background-color: #477E00 !important;
  color: #fff;
  border: none;
}


.checkout-onepage-index button.next-step:hover {
  background-color: #3a6600 !important;
}

.checkout-onepage-index button.button.prev-step {
    background: #FFFFFF;
    border: 2px solid #2F4858;
    color: #4F4F4F;
}

.checkout-onepage-index .col-main {
    float: left;
    width: 100%;
    background-color: #fff !important;
}

.form-list {
  list-style: none;
  padding: 0;
}
.form-list li {
  margin-bottom: 12px;
}
.form-list label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
}
.input-text {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.step-buttons {
  display: flex;
  justify-content: flex-end;
  margin-top: 15px;
  margin-bottom: 10px;
}
.button {
  background-color: #477E00;
  color: white;
  border: none;
  padding: 8px 18px;
  border-radius: 4px;
  cursor: pointer;
  transition: 0.3s;
}
.button:hover { background-color: #477E00; }
.primary-btn {
  background-color: #477E00;
}
.primary-btn:hover {
  background-color: #477E00;
}
.checkout-login-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


/* Checkout step item like your arrow image */
.step-item.active {
	position: relative;
	background-color: #2f4553;
	color: #fff;
	padding: 15px 40px 15px 25px;
	font-family: Arial, sans-serif;
	border-right: 1px solid #fff;
	clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 50%, calc(100% - 15px) 100%, 0 100%);
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	gap: 10px;
	border-radius: 8px;
}

/* one page css end */