/**
 * Scharfer Ruti — Bootstrap / Classic brand overlay
 * Loaded LAST so cart, checkout, login, account and listing pages
 * use the same palette as the custom homepage (cream, ink, flame).
 */
:root {
  --color-cream: #efe9de;
  --color-paper: #fffdf9;
  --color-paper-2: #fbf8f2;
  --color-paper-3: #f1ebe0;
  --color-ink: #241d15;
  --color-ink-2: #2b241b;
  --color-night: #14110d;
  --color-flame: #d8451f;
  --color-flame-2: #e7412b;
  --color-amber: #f29100;
  --color-muted: #635a4c;
  --color-muted-2: #6f6558;
  --color-faint: #9a8f7c;
  --color-line: #e4dacb;
  --color-line-2: #ddd3c3;
  --color-line-3: #cdc1ae;
  --font-display: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Roboto", ui-sans-serif, system-ui, sans-serif;
  --radius-brand: 2px;
  --brand-primary: #d8451f;
  --brand-primary-hover: #f29100;
}

/* ---------- Page chrome ---------- */
body:not(#index):not(#product) {
  background: var(--color-cream);
  color: var(--color-ink);
  font-family: var(--font-body);
}
body:not(#index):not(#product) #wrapper {
  background: transparent;
}

/* Inner pages: same shell as header/product (.sr-pad > .sr-wrap 1320px).
   Home/product keep full-bleed sections; auth keeps the split screen. */
#wrapper {
  padding-inline: clamp(20px, 4vw, 56px);
}
#wrapper > .container {
  width: 100% !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#wrapper > .container > .row {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
#wrapper > .container > .row > #content-wrapper,
#wrapper > .container > .row > #left-column,
#wrapper > .container > .row > #right-column {
  padding-left: 0;
  padding-right: 0;
}
body#index #wrapper,
body#product #wrapper,
body#authentication #wrapper,
body#registration #wrapper,
body#password #wrapper,
body#guest-login #wrapper,
body#guest-tracking #wrapper {
  padding-inline: 0;
}
body#index #wrapper > .container,
body#product #wrapper > .container {
  max-width: none !important;
}
body:not(#index):not(#product) a {
  color: var(--color-ink);
}
body:not(#index):not(#product) a:hover,
body:not(#index):not(#product) a:focus {
  color: var(--color-flame);
}
a.btn-flame,
.btn-flame,
a.btn-primary,
.btn-primary {
  color: #fff !important;
}
a.btn-flame:hover,
a.btn-flame:focus,
.btn-flame:hover,
.btn-flame:focus,
a.btn-primary:hover,
a.btn-primary:focus,
.btn-primary:hover,
.btn-primary:focus {
  color: var(--color-night) !important;
}

a:focus,
a:focus-visible {
  outline: none;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4,
#main .page-header h1,
#main .page-title {
  font-family: var(--font-display);
  color: var(--color-ink);
  letter-spacing: -.01em;
}
.h1, h1.h1, #main .page-header h1 {
  text-transform: uppercase;
  font-weight: 800;
}

/* Kill Classic's cyan (#24b9d7 / #2fb5d2) */
a,
.btn-link,
.text-primary,
.badge-primary,
.nav-link,
.page-link,
.label {
  --link: var(--color-flame);
}

/* ---------- Buttons ---------- */
.btn {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: var(--radius-brand);
  border-width: 1px;
}
.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--color-flame) !important;
  border-color: var(--color-flame) !important;
  color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--color-amber) !important;
  border-color: var(--color-amber) !important;
  color: var(--color-night) !important;
}
.btn-primary:active,
.btn-primary.active {
  background-color: var(--color-flame) !important;
  border-color: var(--color-flame) !important;
  color: #fff !important;
}
.btn-primary.disabled,
.btn-primary:disabled,
.btn-primary.disabled:hover,
.btn-primary:disabled:hover {
  background-color: #ece8e1 !important;
  border-color: #ece8e1 !important;
  color: #9a8f7c !important;
  opacity: 1;
}
.btn-secondary,
.btn-tertiary,
.btn-outline-primary,
.btn-default {
  background: transparent;
  color: var(--color-ink);
  border-color: var(--color-line-3);
}
.btn-secondary:hover,
.btn-tertiary:hover,
.btn-outline-primary:hover,
.btn-default:hover {
  background: var(--color-paper-3);
  color: var(--color-night);
  border-color: var(--color-ink);
}
.btn-success {
  background-color: #2e7429;
  border-color: #2e7429;
  color: #fff;
}
.btn-danger {
  background-color: var(--color-flame);
  border-color: var(--color-flame);
  color: #fff;
}

.bg-primary { background-color: var(--color-flame) !important; }
.text-primary { color: var(--color-flame) !important; }
.border-primary { border-color: var(--color-flame) !important; }
.badge-info,
.badge-primary {
  background-color: var(--color-flame);
  color: #fff;
}
.badge-warning {
  background-color: var(--color-amber);
  color: var(--color-night);
}

/* ---------- Forms ---------- */
.form-control,
.form-control-select,
select.form-control {
  background: #fff;
  border: 1px solid var(--color-line-3);
  border-radius: var(--radius-brand);
  color: var(--color-ink);
  font-family: var(--font-body);
}
.form-control:focus,
select:focus,
textarea:focus,
input:focus {
  border-color: var(--color-flame);
  box-shadow: 0 0 0 3px rgba(216, 69, 31, .15);
  outline: none;
}
.form-control-label,
label.required,
.form-group label,
form .form-control-label {
  font-family: var(--font-body);
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none !important;
  color: var(--color-ink-2);
  font-weight: 600;
}
.custom-radio input[type="radio"] + span,
.custom-checkbox input[type="checkbox"] + span {
  border-color: var(--color-line-3);
}
.custom-radio input[type="radio"]:checked + span,
.custom-checkbox input[type="checkbox"]:checked + span {
  background-color: var(--color-flame);
  border-color: var(--color-flame);
  color: #fff;
}
.custom-radio input[type="radio"]:checked + span::after {
  background: #fff;
}

/* ---------- Cards / tables ---------- */
.card,
.card-block,
#content.page-content.card {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-brand);
  color: var(--color-ink);
}
.card-header {
  background: var(--color-paper-2);
  border-bottom: 1px solid var(--color-line);
  font-family: var(--font-display);
  text-transform: uppercase;
  font-weight: 700;
}
hr, .separator { border-color: var(--color-line); }

/* ---------- Alerts ---------- */
.alert-info {
  background: #fdf1ec;
  border-color: #f2cfc2;
  color: var(--color-ink);
}
.alert-success {
  background: #f0f7ee;
  border-color: #cfe6c8;
  color: #2e7429;
}
.alert-danger,
.alert-warning {
  background: #fdf1ec;
  border-color: #f2cfc2;
  color: var(--color-flame);
}

/* ---------- Pagination / tabs / breadcrumb ---------- */
.pagination .current a,
.pagination .active .page-link,
.page-item.active .page-link {
  background: var(--color-flame);
  border-color: var(--color-flame);
  color: #fff;
}
.page-link {
  color: var(--color-ink);
  border-color: var(--color-line-2);
}
.page-link:hover {
  color: var(--color-flame);
  border-color: var(--color-ink);
}
.breadcrumb {
  background: transparent;
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
}
.breadcrumb a { color: var(--color-muted-2); }
.breadcrumb a:hover { color: var(--color-flame); }

.nav-tabs .nav-link,
.nav-inline .nav-link {
  color: var(--color-muted-2);
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  font-size: 12px;
}
.nav-tabs .nav-link.active,
.nav-inline .nav-link.active {
  color: var(--color-flame);
  border-color: var(--color-flame);
}

/* ---------- Cart ---------- */
.cart-grid .card,
.cart-container,
.cart-summary {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
}
.cart-item { border-color: var(--color-line); }
.product-price,
.price,
.cart-total .value,
.cart-summary-line .value {
  color: var(--color-flame);
  font-weight: 700;
}
#blockcart-modal .modal-header {
  background: var(--color-paper);
  color: var(--color-ink);
}
#blockcart-modal .modal-title,
#blockcart-modal .product-name {
  font-family: var(--font-display);
  text-transform: uppercase;
}

/* ---------- Checkout / cart — white, few borders, modern fields ---------- */
body#checkout,
body#cart {
  background: #fff !important;
  color: var(--color-ink);
}
body#checkout a:hover,
body#cart a:hover {
  color: var(--color-flame);
}
body#checkout #header,
body#cart #header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  box-shadow: none;
  padding: 0;
  margin: 0;
  border: 0;
}
body#checkout #header .header-nav,
body#cart #header .header-nav {
  padding: 0;
  margin: 0;
  border: 0;
  max-height: none;
}
body#checkout #footer,
body#cart #footer {
  padding: 0 !important;
  margin: 0;
  background: #fff !important;
  color: inherit !important;
}
body#checkout .breadcrumb,
body#cart .breadcrumb {
  display: none;
}
body#checkout #wrapper,
body#cart #wrapper {
  background: #fff !important;
  padding-bottom: 64px;
}
body#checkout section#content,
body#checkout .sr-checkout {
  margin: 0 0 48px;
  max-width: none;
}
body#checkout .container,
body#cart .container {
  min-height: 0;
}

.sr-checkout-head {
  margin: 12px 0 36px;
}
.sr-checkout-title {
  font-size: clamp(32px, 5vw, 48px);
  margin: 0;
}
body#checkout .sr-checkout > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 40px 48px;
  margin: 0;
  width: 100%;
}
body#checkout .sr-checkout > .row::before,
body#checkout .sr-checkout > .row::after {
  display: none;
}
body#checkout .sr-checkout > .row > .cart-grid-body,
body#checkout .sr-checkout > .row > .cart-grid-right {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
}
@media (max-width: 991px) {
  body#checkout .sr-checkout > .row {
    grid-template-columns: 1fr;
  }
}

/* Steps: no boxes */
body#checkout section.checkout-step,
body#checkout section.checkout-step:last-child,
body#checkout section.checkout-step.-current {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0;
  padding: 0 !important;
  margin: 0 0 4px;
  overflow: visible;
}
body#checkout section.checkout-step .step-title,
body#checkout section.checkout-step.-current .step-title {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  padding: 16px 0;
  margin: 0;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-ink);
  border: 0 !important;
  background: transparent !important;
  line-height: 1;
}
body#checkout section.checkout-step .step-text {
  flex: 0 1 auto;
  min-width: 0;
}
body#checkout section.checkout-step.-unreachable .step-title {
  opacity: .38;
  cursor: not-allowed;
}
body#checkout section.checkout-step .step-number,
body#checkout section.checkout-step.-current .step-number,
body#checkout section.checkout-step.-reachable.-current .step-number {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 26px;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50%;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 26px;
  background: #ece8e1 !important;
  color: var(--color-ink) !important;
}
body#checkout section.checkout-step.-current .step-number,
body#checkout section.checkout-step.-reachable.-current .step-number {
  background: var(--color-flame) !important;
  color: #fff !important;
}
body#checkout .done,
body#checkout section.checkout-step .done,
body#checkout section.checkout-step.-complete .done,
body#checkout section.checkout-step.-current .done {
  display: none !important;
  color: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--color-flame);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 16px;
  line-height: 26px;
  text-align: center;
  flex: 0 0 26px;
}
body#checkout section.checkout-step.-complete:not(.-current) .done {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
body#checkout section.checkout-step.-complete:not(.-current) .step-number {
  display: none !important;
}
body#checkout section.checkout-step .step-edit {
  margin-left: 4px;
  float: none !important;
  color: var(--color-faint);
  font-size: 11px;
  letter-spacing: .1em;
  white-space: nowrap;
}
body#checkout section.checkout-step .step-edit .material-icons {
  font-size: 15px;
  vertical-align: middle;
  line-height: 1;
}
body#checkout section.checkout-step .step-edit:hover {
  color: var(--color-flame);
}
body#checkout section.checkout-step .content {
  padding: 4px 0 28px;
  text-align: left;
}
@media (min-width: 576px) {
  body#checkout section.checkout-step .content {
    padding-left: 36px;
  }
}
@media (max-width: 479px) {
  body#checkout section.checkout-step .step-title {
    flex-wrap: wrap;
  }
}
body#checkout section.checkout-step small,
body#checkout .form-control-comment {
  color: var(--color-faint);
  font-size: 12px;
  font-weight: 400;
}

/* Checkout / auth forms stay transparent; inputs get a light cream fill */
body#checkout .form-control,
body#checkout input.form-control,
body#checkout select.form-control,
body#checkout textarea.form-control,
body#checkout .form-control-select,
body#cart .form-control,
#checkout-guest-form .form-control,
#checkout-login-form .form-control,
body#checkout #customer-form .form-control,
#login-form .form-control,
#customer-form .form-control {
  height: 50px;
  border: 0 !important;
  border-radius: 10px !important;
  background: #f4f1eb !important;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: 16px;
  padding: 12px 16px;
  box-shadow: none !important;
}
body#checkout textarea.form-control {
  height: auto;
  min-height: 96px;
}
body#checkout .form-control:focus,
body#checkout input:focus,
body#checkout select:focus,
body#checkout textarea:focus,
#checkout-guest-form .form-control:focus,
#checkout-login-form .form-control:focus,
body#checkout #customer-form .form-control:focus,
#login-form .form-control:focus,
#customer-form .form-control:focus {
  background: #f4f1eb !important;
  box-shadow: 0 0 0 2px var(--color-ink) !important;
  outline: none;
}
body#checkout .input-group {
  background: #f4f1eb;
  border-radius: 10px;
  overflow: hidden;
  border: 0;
}
body#checkout .input-group .form-control {
  border-radius: 0 !important;
  border-bottom: 0 !important;
}
body#checkout .input-group .btn {
  height: 50px;
  border: 0;
  background: #f4f1eb !important;
  color: var(--color-flame) !important;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
body#checkout .form-group.row {
  display: flex;
  flex-direction: column;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 14px;
}
body#checkout .form-group [class*="col-"] {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}
body#checkout section.checkout-step .form-control-label {
  text-align: left;
  padding-top: 0;
  padding-bottom: 8px;
  font-weight: 600;
}
body#checkout section.checkout-step #customer-form,
body#checkout section.checkout-step #delivery-address,
body#checkout section.checkout-step #invoice-address,
body#checkout section.checkout-step #login-form {
  margin-top: 4px;
  margin-left: 0;
}
body#checkout section.checkout-step .forgot-password {
  margin-left: 0;
  text-align: right;
}
body#checkout .form-footer {
  text-align: left;
  margin-top: 20px;
}
body#checkout .continue.btn,
body#checkout #payment-confirmation button,
body#checkout .form-footer .btn-primary {
  float: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  width: auto;
  min-width: 220px;
  margin: 20px 0 0;
  border-radius: 10px;
}
@media (max-width: 575px) {
  body#checkout .continue.btn,
  body#checkout #payment-confirmation button,
  body#checkout .form-footer .btn-primary {
    width: 100%;
    min-width: 0;
  }
}

/* Guest / login tabs */
body#checkout .nav-inline {
  gap: 4px 22px;
  margin-bottom: 24px;
  border-bottom: 0;
}
body#checkout .nav-inline .nav-separator {
  display: none;
}
body#checkout .nav-inline .nav-link {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-muted-2);
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 10px 2px 12px;
}
body#checkout .nav-inline .nav-link:hover,
body#checkout .nav-inline .nav-link.active {
  color: var(--color-flame);
  background: transparent;
  border-bottom-color: var(--color-flame);
}

/* Addresses / delivery / payment — no fill */
body#checkout section.checkout-step .address-item,
body#checkout section.checkout-step .delivery-options .delivery-option,
body#checkout .payment-option,
body#checkout .js-payment-option {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e6ddcf !important;
  border-radius: 0;
  padding: 16px 0;
  margin-bottom: 0;
}
body#checkout section.checkout-step .address-item.selected,
body#checkout section.checkout-step .delivery-options .delivery-option:hover,
body#checkout .payment-option:hover {
  box-shadow: none;
}
body#checkout section.checkout-step .address-footer {
  border-top: 0;
  padding-top: 8px;
}
body#checkout section.checkout-step .delete-address,
body#checkout section.checkout-step .edit-address,
body#checkout .cancel-address {
  color: var(--color-muted-2);
}
body#checkout section.checkout-step .delete-address:hover,
body#checkout section.checkout-step .edit-address:hover,
body#checkout .cancel-address:hover {
  color: var(--color-flame);
}

/* Delivery / payment already styled with address chips above */
body#checkout section.checkout-step .delivery-options .delivery-option:hover,
body#checkout .payment-option:hover {
  border-color: transparent !important;
}
body#checkout .delivery-options-list,
body#checkout #js-delivery,
body#checkout .form-fields,
body#checkout .order-options,
body#checkout .payment-options {
  text-align: left;
  width: 100%;
}
body#checkout .delivery-options,
body#checkout .delivery-options .row {
  display: block;
  margin: 0;
  width: 100%;
  text-align: left;
}
body#checkout .delivery-option,
body#checkout section.checkout-step .delivery-options .delivery-option {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  float: none !important;
  width: 100% !important;
  margin: 0;
  padding: 14px 0;
  text-align: left;
}
body#checkout .delivery-option [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  text-align: left;
}
body#checkout .delivery-option .custom-radio {
  float: none !important;
  flex: 0 0 20px;
  margin: 2px 12px 0 0;
}
body#checkout .delivery-option-2,
body#checkout .delivery-option label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  text-align: left;
  cursor: pointer;
}
body#checkout .carrier-name,
body#checkout .h6.carrier-name {
  display: block;
  margin: 0;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: none;
  color: var(--color-ink);
  text-align: left;
}
body#checkout .carrier-delay,
body#checkout .carrier-price {
  display: block;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  color: #6f6558;
  text-align: left;
}
body#checkout .carrier-extra-content,
body#checkout .js-carrier-extra-content {
  margin: 0;
  padding: 0 0 8px 34px;
  text-align: left;
}
body#checkout #delivery,
body#checkout #gift {
  margin-top: 18px;
  text-align: left;
}
body#checkout #delivery label,
body#checkout #gift label {
  display: block;
  margin: 0 0 8px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #6f6558;
  text-align: left;
}
body#checkout #delivery_message,
body#checkout #gift_message {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 96px;
  margin: 0;
  padding: 12px 16px;
  border: 0;
  border-radius: 10px;
  background: #f4f1eb;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: 16px;
  box-sizing: border-box;
}
body#checkout #delivery_message:focus,
body#checkout #gift_message:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-ink);
}
body#checkout .payment-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
}
body#checkout .payment-option .custom-radio {
  float: none !important;
  flex: 0 0 20px;
  margin: 2px 0 0;
}
/* Perfect circles — Classic sets 18×18 then flex-basis stretches width into an oval */
body#checkout .custom-radio,
body#checkout .payment-option .custom-radio,
body#checkout .delivery-option .custom-radio,
body#checkout section.checkout-step .custom-radio {
  position: relative;
  display: inline-block !important;
  box-sizing: border-box;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  min-height: 20px;
  max-width: 20px;
  max-height: 20px;
  padding: 0 !important;
  border: 1.5px solid var(--color-line-3) !important;
  border-radius: 50% !important;
  background: #fff !important;
  overflow: visible;
  vertical-align: top;
  aspect-ratio: 1 / 1;
}
body#checkout .custom-radio input[type="radio"],
body#checkout section.checkout-step .custom-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  opacity: 0;
  cursor: pointer;
}
body#checkout .custom-radio input[type="radio"] + span {
  display: none;
  box-sizing: border-box;
  padding: 0 !important;
  border: 0 !important;
}
body#checkout .custom-radio input[type="radio"]:checked + span,
body#checkout section.checkout-step .custom-radio input[type="radio"]:checked + span {
  display: block !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%);
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--color-flame) !important;
  background-color: var(--color-flame) !important;
}
body#checkout .custom-radio input[type="radio"]:checked + span::after {
  display: none !important;
  content: none !important;
}
body#checkout .payment-option label {
  flex: 1 1 auto;
  margin: 0;
  text-align: left;
}
body#checkout .additional-information {
  margin-left: 0;
  padding: 12px 4px 4px;
  color: var(--color-muted);
}
body#checkout .condition-label,
body#checkout section.checkout-step .condition-label {
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
}
body#checkout #conditions-to-approve {
  padding-top: 16px;
}
body#checkout #conditions-to-approve ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
body#checkout #conditions-to-approve li,
body#checkout #conditions-to-approve .sr-condition {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  float: none;
  margin: 0 0 16px;
  padding: 0;
}
body#checkout #conditions-to-approve .custom-checkbox {
  position: relative;
  display: block !important;
  box-sizing: border-box;
  flex: 0 0 22px !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px;
  margin: 2px 0 0 !important;
  padding: 0 !important;
}
body#checkout #conditions-to-approve .custom-checkbox input {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  opacity: 0;
  cursor: pointer;
}
body#checkout #conditions-to-approve .custom-checkbox input + span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: none !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid var(--color-ink);
  border-radius: 4px;
  background: #fff;
  color: transparent;
}
body#checkout #conditions-to-approve .custom-checkbox input:checked + span {
  background: var(--color-flame);
  border-color: var(--color-flame);
  color: #fff;
}
body#checkout #conditions-to-approve .custom-checkbox .checkbox-checked {
  font-size: 16px;
  line-height: 1;
  margin: 0 !important;
}
body#checkout #conditions-to-approve .js-terms,
body#checkout #conditions-to-approve .condition-label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  float: none !important;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-ink);
  cursor: pointer;
}
body#checkout #payment-confirmation {
  text-align: left;
}
body#checkout #payment-confirmation button.btn-primary {
  background-color: var(--color-flame) !important;
  border-color: var(--color-flame) !important;
  color: #fff !important;
}
body#checkout #payment-confirmation button.btn-primary:hover,
body#checkout #payment-confirmation button.btn-primary:focus {
  background-color: var(--color-amber) !important;
  border-color: var(--color-amber) !important;
  color: var(--color-night) !important;
}
body#checkout #payment-confirmation button.btn-primary:active {
  background-color: var(--color-flame) !important;
  border-color: var(--color-flame) !important;
  color: #fff !important;
}
body#checkout #payment-confirmation button.disabled,
body#checkout #payment-confirmation button:disabled {
  background-color: #ece8e1 !important;
  border-color: #ece8e1 !important;
  color: #9a8f7c !important;
}

/* Summary: no card — editorial receipt */
body#checkout .cart-grid-right .card,
body#checkout #js-checkout-summary,
body#cart .cart-summary,
body#cart .cart-container {
  background: transparent;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  padding: 0;
}
body#checkout .cart-grid-right .card .cart-summary-subtotals-container {
  border: 0;
  padding: 16px 8px;
}
body#checkout .cart-summary-line.cart-total .value,
body#cart .cart-detailed-totals .value,
body#checkout .product-price {
  color: var(--color-flame);
}
body#checkout #cart-summary-product-list img {
  border: 0;
  border-radius: 8px;
}
@media (min-width: 992px) {
  body#checkout .cart-grid-right,
  body#cart .cart-grid-right {
    position: sticky;
    top: 108px;
    align-self: flex-start;
  }
}

body#cart #main .h1,
body#cart .cart-container .h1 {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: clamp(28px, 4vw, 40px);
}
body#cart .cart-detailed-actions .btn-primary {
  width: 100%;
  min-height: 52px;
  border-radius: 10px;
}

.order-confirmation-table,
.order-confirmation-card,
body#checkout #order-summary-content .order-confirmation-table,
body#checkout #order-summary-content .summary-selected-carrier,
body#checkout #order-summary-content .sr-confirm-items {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-brand);
}

#checkout-guest-form,
#checkout-login-form,
body#checkout #customer-form,
body#checkout #login-form,
body#checkout section.checkout-step #customer-form,
body#checkout section.checkout-step #delivery-address,
body#checkout section.checkout-step #invoice-address,
body#checkout section.checkout-step #login-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ---------- Account / login ---------- */
#authentication #content,
.page-authentication #content,
.page-customer-account #content,
#login-form,
#customer-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#my-account a,
.account-link,
.links a {
  border-color: var(--color-line);
  color: var(--color-ink);
  font-family: var(--font-display);
  text-transform: uppercase;
}
#my-account a:hover,
.links a:hover {
  border-color: var(--color-flame);
  color: var(--color-flame);
}

/* ---------- Listing / facets ---------- */
body#category #left-column,
body#search #left-column,
body#manufacturer #left-column,
body#supplier #left-column,
body#new-products #left-column,
body#prices-drop #left-column,
body#best-sales #left-column,
#search_filters,
#search_filters_wrapper,
.block-categories,
.products-selection,
#js-product-list .pagination,
#js-product-list .up,
.active_filters,
#search_filter_toggler {
  display: none !important;
}
body#category #content-wrapper,
body#search #content-wrapper,
body#manufacturer #content-wrapper,
body#supplier #content-wrapper,
body#new-products #content-wrapper,
body#prices-drop #content-wrapper,
body#best-sales #content-wrapper {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}
.products.sr-listing-stack {
  display: flex !important;
  flex-direction: column;
  gap: clamp(24px, 3vw, 40px);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.products.sr-listing-stack > .js-product {
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  padding: 0;
}
.sr-listing-stack .sr-showcase {
  width: 100%;
}

/* Showcase card (home + category) — unlayered so it beats classic.css */
.sr-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  background: var(--color-paper);
  border: 1px solid var(--color-line);
}
.sr-showcase-media {
  position: relative;
  display: block;
  min-height: clamp(260px, 38vw, 520px);
  background: #efe8db;
}
.sr-showcase-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sr-showcase-body {
  min-width: 0;
  padding: clamp(26px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.sr-price { font-weight: 700; color: var(--color-flame); }
.sr-product-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.sr-product-price-row .regular-price {
  color: #9a9084;
  text-decoration: line-through;
  font-weight: 500;
  font-size: clamp(16px, 2vw, 22px);
  letter-spacing: 0;
}
.sr-price-badge,
.sr-product-price-row .discount {
  display: inline-flex;
  align-items: center;
  background: var(--color-flame);
  color: #fff;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 2px;
}
.sr-discounts-title {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--color-muted-2);
  margin: 0 0 10px;
}
.sr-discounts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
  margin: 0 0 8px;
}
.sr-discount-card {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 2px;
}
.sr-discount-qty {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-flame);
}
.sr-discount-val {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-ink);
}
.sr-discount-save {
  font-size: 12px;
  color: #6f6558;
}

/* Product qty: hide Classic TouchSpin glyphs (touchspin-up/down are not real Material Icons). */
.material-icons.touchspin-up,
.material-icons.touchspin-down {
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  width: 12px;
  height: 12px;
  display: inline-block;
}
.material-icons.touchspin-up::before,
.material-icons.touchspin-down::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.material-icons.touchspin-up::before {
  border-bottom: 6px solid currentColor;
}
.material-icons.touchspin-down::before {
  border-top: 6px solid currentColor;
}
.sr-product-qty {
  height: 54px;
  background: #fff;
  border: 1px solid var(--color-line-3);
  border-radius: var(--radius-brand, 2px);
}
.sr-product-qty .sr-qty-btn {
  height: 54px;
  width: 40px;
}
.sr-product-qty #quantity_wanted {
  width: 56px;
  height: 54px;
  border: 0;
  background: transparent;
  text-align: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--color-ink);
  -moz-appearance: textfield;
  appearance: textfield;
}
.sr-product-qty #quantity_wanted::-webkit-outer-spin-button,
.sr-product-qty #quantity_wanted::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.sr-product-qty .bootstrap-touchspin,
.sr-product-qty .input-group {
  display: contents;
}
.sr-product-qty .input-group-btn-vertical,
.sr-product-qty .bootstrap-touchspin-up,
.sr-product-qty .bootstrap-touchspin-down {
  display: none !important;
}
.sr-price-unit {
  font-size: 13px;
  color: #6f6558;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sr-showcase-desc {
  font-family: var(--font-body);
  max-width: 42ch;
  font-size: clamp(16px, 1.8vw, 18px);
  line-height: 1.6;
  color: var(--color-muted);
}
.sr-showcase-desc p { margin: 0; }
.sr-showcase .display-title,
.sr-cat-title {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
  text-transform: uppercase;
}
.sr-showcase .rule {
  width: 64px;
  height: 2px;
  background: var(--color-flame);
  display: block;
}
.sr-showcase .btn-flame,
.sr-home-cart-form .btn-flame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--color-flame);
  color: #fff;
  padding: 16px 28px;
  border-radius: var(--radius-brand);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: background .18s ease, color .18s ease;
  cursor: pointer;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
}
.sr-showcase .btn-flame:hover,
.sr-home-cart-form .btn-flame:hover {
  background: var(--color-amber);
  color: var(--color-night);
}
.sr-showcase .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 1px solid var(--color-line-3);
  color: var(--color-ink);
  padding: 16px 28px;
  border-radius: var(--radius-brand);
  background: transparent;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease;
}
.sr-showcase .btn-outline:hover {
  border-color: var(--color-ink);
  color: var(--color-night);
}
.product-miniature .price { color: var(--color-flame); }
.product-flag.discount,
.product-flag.on-sale { background: var(--color-flame); }

/* ---------- Material icons tint ---------- */
.material-icons {
  color: inherit;
}
.btn-primary .material-icons { color: inherit; }

/* Progress / spinner leftover Classic cyan */
.progress-bar,
.spinner,
.ui-slider-range,
.ui-slider-handle {
  background-color: var(--color-flame);
}

/* ---------- Auth / register — split screen ---------- */
body#authentication,
body#registration,
body#password,
body#guest-login,
body#guest-tracking {
  background: #fff !important;
}
body#authentication #wrapper,
body#registration #wrapper,
body#password #wrapper,
body#guest-login #wrapper,
body#guest-tracking #wrapper {
  background: #fff !important;
  padding: 0 !important;
  padding-block: 0 !important;
}
body#authentication .container,
body#registration .container,
body#password .container,
body#guest-login .container,
body#guest-tracking .container {
  max-width: none !important;
  width: 100%;
  padding: 0 !important;
  margin: 0;
}
body#authentication .container > .row,
body#registration .container > .row,
body#password .container > .row,
body#guest-login .container > .row,
body#guest-tracking .container > .row {
  margin: 0;
}
body#authentication #content-wrapper,
body#registration #content-wrapper,
body#password #content-wrapper,
body#guest-login #content-wrapper,
body#guest-tracking #content-wrapper {
  padding: 0 !important;
  width: 100%;
  max-width: none;
  flex: 0 0 100%;
}
body#authentication #main,
body#registration #main,
body#password #main,
body#guest-login #main,
body#guest-tracking #main {
  max-width: none !important;
  width: 100%;
}
body#authentication #content,
body#registration #content,
body#password #content,
body#guest-login #content,
body#guest-tracking #content,
body#authentication .page-content,
body#registration .page-content,
body#password .page-content,
body#guest-login .page-content,
body#guest-tracking .page-content,
body#authentication .card,
body#registration .card,
body#password .card,
body#authentication #main .page-content,
body#authentication #main .page-footer,
body#authentication #main .page-header,
body#registration #main .page-content,
body#registration #main .page-footer,
body#registration #main .page-header,
body#password #main .page-content,
body#password #main .page-footer,
body#password #main .page-header,
body#guest-login #main .page-content,
body#guest-login #main .page-footer,
body#guest-login #main .page-header,
body#guest-tracking #main .page-content,
body#guest-tracking #main .page-footer,
body#guest-tracking #main .page-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#authentication .page-footer,
body#registration .page-footer,
body#password .page-footer,
body#guest-login .page-footer,
body#guest-tracking .page-footer {
  display: none;
}
body#authentication #left-column,
body#registration #left-column,
body#password #left-column,
body#guest-login #left-column,
body#guest-tracking #left-column,
body#authentication #right-column,
body#registration #right-column,
body#password #right-column,
body#guest-login #right-column,
body#guest-tracking #right-column {
  display: none;
}
body#authentication .breadcrumb,
body#registration .breadcrumb,
body#password .breadcrumb,
body#guest-login .breadcrumb,
body#guest-tracking .breadcrumb {
  display: none;
}

.sr-split {
  display: grid;
  grid-template-columns: minmax(280px, 42%) 1fr;
  min-height: calc(100vh - 140px);
}
.sr-split-visual {
  position: relative;
  background: #14110d;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  min-height: 100%;
  padding: clamp(28px, 4vw, 56px);
}
.sr-split-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20,17,13,.15) 0%, rgba(20,17,13,.72) 100%);
}
.sr-split-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sr-split-copy {
  position: relative;
  z-index: 1;
  color: #fffdf9;
}
.sr-split-copy .display-title {
  color: #fffdf9;
  font-size: clamp(36px, 4.4vw, 56px);
  margin: 10px 0 14px;
  line-height: .95;
}
.sr-split-lead {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: #cdc5b8;
  max-width: 28ch;
  margin: 0;
}
.sr-split-panel {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 100%;
  padding: clamp(32px, 5vw, 72px) clamp(24px, 4vw, 48px);
}
.sr-split-panel > * {
  width: 100%;
  max-width: 460px;
}
.sr-split--wide .sr-split-panel > * {
  max-width: 580px;
}

.sr-auth-title {
  font-size: clamp(26px, 3.6vw, 38px);
  margin: 0 0 28px;
}
.sr-auth-dot {
  color: var(--color-flame);
}
.sr-auth-lead {
  font-size: 15px;
  color: var(--color-muted);
  margin: 0 0 22px;
  line-height: 1.5;
}
.sr-auth-lead a {
  color: var(--color-flame);
  font-weight: 700;
  text-decoration: none;
}
.sr-auth-lead a:hover {
  color: var(--color-amber);
}

.sr-split #login-form,
.sr-split #customer-form {
  background: transparent;
}
.sr-split .form-group.row {
  display: flex;
  flex-direction: column;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 14px;
}
.sr-split .form-group [class*="col-"] {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Registration / account: pair Vorname + Name on one row */
#customer-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 16px;
  align-items: start;
}
#customer-form > div > * {
  grid-column: 1 / -1;
  min-width: 0;
}
#customer-form .form-group--firstname,
#customer-form .form-group--lastname {
  grid-column: auto;
}
@media (max-width: 560px) {
  #customer-form .form-group--firstname,
  #customer-form .form-group--lastname {
    grid-column: 1 / -1;
  }
}
.sr-split .form-control-label {
  text-align: left;
  padding-top: 0;
  padding-bottom: 8px;
  margin-bottom: 0;
}
.sr-split .form-control-label:empty {
  display: none;
}
.sr-split .form-control,
.sr-split .form-control-select,
.sr-split input.form-control {
  height: 50px;
  border: 0 !important;
  border-radius: 10px !important;
  background: #f4f1eb !important;
  font-size: 16px;
  padding: 12px 16px;
  box-shadow: none !important;
}
.sr-split .form-control:focus {
  box-shadow: 0 0 0 2px var(--color-ink) !important;
}
.sr-split textarea.form-control {
  height: auto;
}
.sr-split .form-control-comment {
  font-size: 12px;
  color: var(--color-faint);
  padding-top: 6px;
  text-align: left;
}
.sr-split .forgot-password {
  text-align: right;
  margin: -4px 0 20px;
  font-size: 14px;
}
.sr-split .forgot-password a {
  color: var(--color-muted-2);
  text-decoration: none;
}
.sr-split .forgot-password a:hover {
  color: var(--color-flame);
}
.sr-split .form-footer {
  text-align: left;
  margin-top: 8px;
}
.sr-split .form-control-submit,
.sr-split #submit-login,
.sr-split .form-control-submit {
  width: 100%;
  float: none;
  height: 52px;
  border-radius: 10px;
}
.sr-split .forgotten-password .btn,
.sr-split .renew-password .btn,
.sr-split #guestOrderTrackingForm .btn,
.sr-split .form-control-submit {
  width: 100%;
  margin-top: 8px;
}
.sr-split .ps-alert-error,
.sr-split .ps-alert-success {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}
.sr-split .ps-alert-error .item,
.sr-split .ps-alert-success .item {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-flame);
  margin: 0 0 8px;
}
.sr-split .ps-alert-success .item {
  color: #2e7429;
}
.sr-split .field-password-policy {
  margin-bottom: 14px;
}
.sr-auth-alt {
  display: inline-block;
  margin-top: 18px;
  color: var(--color-flame);
  font-weight: 700;
  text-decoration: none;
  font-size: 14px;
}
.sr-auth-alt:hover {
  color: var(--color-amber);
}
.sr-split .custom-checkbox label,
.sr-split .radio-inline {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-ink-2);
}
.sr-split .input-group {
  background: #f4f1eb;
  border-radius: 10px;
  overflow: hidden;
}
.sr-split .input-group .btn,
.sr-split .input-group-btn > .btn,
body#checkout .input-group .btn,
button.btn[data-action="show-password"] {
  height: 50px;
  padding: 0 16px;
  border: 0 !important;
  box-shadow: none !important;
  background: #f4f1eb !important;
  background-color: #f4f1eb !important;
  color: var(--color-flame) !important;
  letter-spacing: .08em;
  font-size: 11px;
  -webkit-appearance: none;
  appearance: none;
}
.sr-split .input-group .btn:hover,
.sr-split .input-group .btn:focus,
body#checkout .input-group .btn:hover,
body#checkout .input-group .btn:focus,
button.btn[data-action="show-password"]:hover,
button.btn[data-action="show-password"]:focus {
  background: #f4f1eb !important;
  color: var(--color-ink) !important;
}

@media (min-width: 901px) {
  .sr-split-visual {
    position: sticky;
    top: 0;
    height: calc(100vh - 120px);
    align-self: start;
  }
  .sr-split-panel {
    min-height: calc(100vh - 120px);
  }
}
@media (max-width: 900px) {
  .sr-split {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .sr-split-visual {
    min-height: 240px;
    align-items: flex-end;
  }
  .sr-split-panel {
    justify-content: flex-start;
    min-height: 0;
    padding: 28px 20px 56px;
  }
}

/* Header cart: white icon on dark button + hover flyout without a gap */
#header .sr-cart-link,
#header .sr-cart-link svg,
#header .btn-dark.sr-cart-link,
body:not(#index):not(#product) #header .sr-cart-link {
  color: #fffdf9 !important;
}
#header .sr-cart-link:hover,
#header .btn-dark.sr-cart-link:hover,
body:not(#index):not(#product) #header .sr-cart-link:hover {
  color: #fff !important;
}
#header #_desktop_cart,
#header .sr-cart.blockcart {
  position: relative;
  z-index: 120;
}
#_desktop_cart .body,
.sr-cart .sr-cart-flyout {
  top: 100%;
  margin-top: 0 !important;
  padding-top: 14px;
  z-index: 130;
}
#_desktop_cart:hover .body,
#_desktop_cart:hover .sr-cart-flyout,
#_desktop_cart .body:hover,
.sr-cart:hover .sr-cart-flyout {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  display: block !important;
}

.sr-cart-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 8px;
  row-gap: 2px;
  align-items: start;
}
.sr-cart-line-title {
  grid-column: 1;
  min-width: 0;
  line-height: 1.35;
}
.sr-cart-line .product-quantity,
.sr-cart-line .product-name {
  display: inline;
  font-size: 14px;
}
.sr-cart-line .product-quantity {
  font-weight: 700;
  margin-right: .35em;
}
.sr-cart-line .product-name {
  font-weight: 600;
  color: var(--color-ink);
}
.sr-cart-line .product-price {
  grid-column: 1;
}
.sr-cart-line .remove-from-cart {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 0;
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-muted-2) !important;
}
.sr-cart-line .remove-from-cart svg {
  display: block;
}
.sr-cart-line .remove-from-cart:hover {
  color: var(--color-flame) !important;
}

/* ============================================================
   Cart page redesign — editorial layout, no Classic boxes
   ============================================================ */
body#cart {
  background: #efe9de !important;
}
body#cart #wrapper {
  background: #efe9de !important;
  padding-bottom: 80px;
}
body#cart #footer {
  background: #efe9de !important;
}

.sr-cart-page {
  padding-top: 8px;
}
.sr-cart-head {
  margin: 8px 0 36px;
}
.sr-cart-head .h1,
body#cart .sr-cart-head .h1,
body#cart .cart-container .h1 {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: -.03em;
  text-transform: uppercase;
  margin: 0;
  color: var(--color-ink);
}

body#cart .sr-cart-layout.cart-grid.row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 40px 48px;
  margin: 0;
  width: 100%;
}
body#cart .sr-cart-layout.row::before,
body#cart .sr-cart-layout.row::after {
  display: none;
}
body#cart .sr-cart-layout .cart-grid-body,
body#cart .sr-cart-layout .cart-grid-right {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
}

body#cart .cart-grid-body .card,
body#cart .sr-cart-items-wrap,
body#cart .cart-container,
body#cart .card.cart-container {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
body#cart .cart-container .card-block,
body#cart .cart-container hr.separator {
  display: none;
}

body#cart .cart-overview,
body#cart .cart-items {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fffdf9;
  border: 1px solid #e6ddcf;
}
body#cart .cart-item {
  margin: 0;
  padding: 0 22px;
  border: 0;
  border-bottom: 1px solid #e6ddcf;
}
body#cart .cart-item:last-child {
  border-bottom: 0;
}

body#cart .product-line-grid {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 16px 20px;
  align-items: center;
  padding: 22px 0;
  width: 100%;
}
body#cart .product-line-grid::before,
body#cart .product-line-grid::after,
body#cart .product-line-actions .row::before,
body#cart .product-line-actions .row::after {
  display: none !important;
  content: none !important;
}
body#cart .product-line-grid-left,
body#cart .product-line-grid-body,
body#cart .product-line-grid-right,
body#cart .product-line-grid [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  position: static;
}
body#cart .product-line-grid-body {
  width: 100% !important;
  min-width: 0;
  justify-self: stretch;
  text-align: left !important;
}

.sr-cart-thumb {
  display: block;
  width: 88px;
  height: 88px;
  background: #f4f1eb;
  overflow: hidden;
}
.sr-cart-thumb img,
body#cart .product-image img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  display: block;
}

.sr-cart-name,
body#cart .product-line-grid-body a.label {
  display: block;
  float: none !important;
  margin-left: 0;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: none;
  text-align: left !important;
  color: var(--color-ink) !important;
  line-height: 1.3;
  margin-bottom: 6px;
}
.sr-cart-name:hover,
body#cart .product-line-grid-body a.label:hover {
  color: var(--color-flame) !important;
}

body#cart .product-line-grid-body .product-price.h5 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 15px;
}
body#cart .product-line-grid-body .regular-price {
  color: #9a9084;
  text-decoration: line-through;
  font-weight: 400;
  font-size: 13px;
}
body#cart .product-line-grid-body .price {
  color: var(--color-flame);
  font-weight: 700;
}
.sr-cart-badge,
body#cart .discount-percentage,
body#cart .discount-amount {
  display: inline-flex;
  align-items: center;
  background: var(--color-flame);
  color: #fff;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 2px;
}
.sr-cart-attr,
body#cart .product-line-grid-body .product-line-info:not(.product-price) {
  font-family: var(--font-body);
  font-size: 13px;
  color: #6f6558;
}
body#cart .product-line-grid-body .product-line-info .label {
  color: #6f6558;
  text-transform: none;
  font-weight: 400;
  font-size: 13px;
}

body#cart .product-line-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: flex-end;
}

.sr-qty {
  display: inline-flex;
  align-items: center;
  height: 40px;
  background: #f4f1eb;
  border-radius: 2px;
  overflow: hidden;
}
.sr-qty-btn {
  width: 36px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--color-ink);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.sr-qty-btn:hover {
  color: var(--color-flame);
}
body#cart .sr-qty .js-cart-line-product-quantity,
body#cart input.js-cart-line-product-quantity {
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--color-ink);
  -moz-appearance: textfield;
  appearance: textfield;
}
body#cart .js-cart-line-product-quantity::-webkit-outer-spin-button,
body#cart .js-cart-line-product-quantity::-webkit-inner-spin-button,
body#cart input[name="product-quantity-spin"]::-webkit-outer-spin-button,
body#cart input[name="product-quantity-spin"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  margin: 0;
}
body#cart .sr-qty .bootstrap-touchspin,
body#cart .sr-qty .input-group {
  display: contents;
}
body#cart .bootstrap-touchspin .input-group-btn-vertical,
body#cart .bootstrap-touchspin-up,
body#cart .bootstrap-touchspin-down {
  display: none !important;
}

body#cart .sr-cart-line-total,
body#cart .sr-cart-line-total .product-price,
body#cart .sr-cart-line-total strong {
  color: var(--color-flame);
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.sr-cart-remove,
body#cart a.remove-from-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #9a9084 !important;
}
.sr-cart-remove:hover,
body#cart a.remove-from-cart:hover {
  color: var(--color-flame) !important;
}
body#cart .remove-from-cart .material-icons {
  display: none;
}

.sr-cart-continue,
body#cart a.sr-cart-continue {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 22px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-ink) !important;
  text-decoration: none;
}
.sr-cart-continue:hover {
  color: var(--color-flame) !important;
}

body#cart .cart-summary,
body#cart .card.cart-summary,
body#checkout #js-checkout-summary,
body#checkout .cart-grid-right .card,
body#checkout .sr-summary,
body#cart .sr-summary {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.sr-cart-summary-title {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-ink);
  color: var(--color-ink);
}
body#cart .cart-summary .card-block,
body#checkout #js-checkout-summary .card-block {
  padding: 0;
  background: transparent;
  border: 0;
}
body#cart .cart-summary-line,
body#checkout .cart-summary-line {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 16px;
  padding: 10px 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: #6f6558;
  text-align: left;
}
body#cart .cart-summary-line .label,
body#checkout .cart-summary-line .label {
  text-transform: none;
  font-weight: 400;
  color: #6f6558;
  text-align: left !important;
  float: none !important;
  display: block;
  margin: 0;
  padding: 0 !important;
  background: none;
  flex: 1 1 auto;
  min-width: 0;
}
body#cart .cart-summary-line > .value,
body#checkout .cart-summary-line > .value {
  color: var(--color-ink);
  font-weight: 600;
  text-align: right !important;
  float: none !important;
  display: block;
  margin: 0;
  flex: 0 0 auto;
  white-space: nowrap;
}
body#cart .cart-summary-line > :not(.label):not(.value),
body#checkout .cart-summary-line > :not(.label):not(.value) {
  flex: 1 1 100%;
  width: 100%;
}
body#cart .cart-summary-line.cart-total,
body#checkout .cart-summary-line.cart-total {
  flex-direction: row;
  align-items: baseline;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid var(--color-ink);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-ink);
}
body#cart .cart-summary-line.cart-total .label,
body#checkout .cart-summary-line.cart-total .label {
  color: var(--color-ink);
  font-weight: 700;
  text-transform: uppercase;
  flex: 1 1 auto;
}
body#cart .cart-summary-line.cart-total .value,
body#checkout .cart-summary-line.cart-total .value {
  margin-left: 0;
  font-size: 28px;
  letter-spacing: -.02em;
  color: var(--color-flame);
  font-family: var(--font-display);
  text-align: right !important;
}

body#checkout .cart-summary-products {
  margin-bottom: 8px;
}
body#checkout .cart-summary-products p {
  margin: 0 0 6px;
  font-family: var(--font-body);
  font-size: 15px;
  color: #6f6558;
}
body#checkout .js-show-details {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-ink);
}
body#checkout .js-show-details:hover {
  color: var(--color-flame);
}
body#checkout .js-show-details .material-icons {
  font-size: 16px;
  vertical-align: middle;
}
body#checkout #cart-summary-product-list {
  margin-top: 12px;
  padding: 0;
}
body#checkout #cart-summary-product-list .media {
  display: block;
  padding: 10px 0;
  border-top: 1px solid #e6ddcf;
}
body#checkout #cart-summary-product-list .media-left {
  display: none;
}
body#checkout .sr-summary-product-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
body#checkout .sr-summary-product-title {
  min-width: 0;
  color: var(--color-ink);
  text-decoration: none;
}
body#checkout .sr-summary-product-title:hover {
  color: var(--color-flame);
}
body#checkout #cart-summary-product-list .product-quantity,
body#checkout #cart-summary-product-list .product-name {
  display: inline;
  float: none !important;
  font-size: 15px;
}
body#checkout #cart-summary-product-list .product-quantity {
  font-weight: 700;
  margin-right: .35em;
}
body#checkout #cart-summary-product-list .product-name {
  font-weight: 600;
}
body#checkout #cart-summary-product-list .product-price {
  float: none !important;
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 700;
  color: var(--color-flame);
}
body#checkout #cart-summary-product-list .product-line-info {
  margin-top: 4px;
  font-size: 13px;
  color: #6f6558;
}
body#checkout #cart-summary-product-list .product-line-info .label,
body#checkout #cart-summary-product-list .product-line-info .value {
  float: none !important;
  display: inline;
  text-align: left !important;
}

body#cart .cart-detailed-actions,
body#cart .cart-detailed-actions.card-block {
  padding: 18px 0 0;
  background: transparent;
  border: 0;
}
body#cart .cart-detailed-actions .text-sm-center {
  text-align: left;
}
body#cart .cart-detailed-actions .btn-primary,
body#cart .cart-detailed-actions a.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin: 0;
  border: 0;
  border-radius: 2px;
  background: var(--color-flame);
  color: #fff !important;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
}
body#cart .cart-detailed-actions .btn-primary:hover {
  background: var(--color-amber);
  color: var(--color-night);
}

body#cart .block-promo {
  margin-top: 16px;
  padding-top: 8px;
  border-top: 1px solid #e6ddcf;
}
body#cart .promo-code-button a,
body#cart .promo-code-button .collapse-button {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-ink);
}
body#cart .promo-input {
  height: 44px;
  border: 0 !important;
  border-bottom: 1px solid #d9cdb9 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0;
}
body#cart .promo-code .btn-primary {
  height: 44px;
  border-radius: 2px;
  background: var(--color-night);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

.sr-cart-empty {
  padding: 48px 28px;
  text-align: center;
  background: #fffdf9;
  border: 1px solid #e6ddcf;
}
.sr-cart-empty p {
  margin: 0 0 20px;
  font-family: var(--font-body);
  font-size: 16px;
  color: #6f6558;
}
.sr-cart-empty .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  background: var(--color-flame);
  color: #fff;
  border: 0;
  border-radius: 2px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 991px) {
  body#cart .sr-cart-layout.cart-grid.row {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  body#cart .cart-grid-right {
    position: static !important;
  }
}
@media (max-width: 640px) {
  body#cart .product-line-grid {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  body#cart .product-line-actions {
    grid-column: 1 / -1;
    justify-content: space-between;
    padding-top: 4px;
  }
  .sr-cart-thumb,
  .sr-cart-thumb img,
  body#cart .product-image img {
    width: 72px;
    height: 72px;
  }
  body#cart .cart-item {
    padding: 0 16px;
  }
}

/* ============================================================
   Product gallery — thumbnails, hover zoom, lightbox
   ============================================================ */
.sr-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.sr-gallery-main,
body#product .product-cover {
  position: relative;
  aspect-ratio: 3 / 2;
  background: #efe8db;
  border: 1px solid var(--color-line);
  overflow: hidden;
}
.sr-gallery-main picture,
body#product .product-cover picture {
  display: block;
  width: 100%;
  height: 100%;
}
.sr-gallery-main img,
.sr-gallery-main .js-qv-product-cover,
body#product .product-cover .js-qv-product-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .2s ease;
}
.sr-gallery-main.is-zooming .js-qv-product-cover {
  transform: scale(1.75);
  transition: none;
}
.sr-gallery-zoom {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: var(--color-night);
  color: #fff !important;
  border-radius: var(--radius-brand);
}
.sr-gallery-zoom:hover,
.sr-gallery-zoom:focus {
  background: var(--color-flame);
  color: #fff !important;
}

.sr-foot-legal a {
  color: #9a8f7c !important;
  text-decoration: none;
}
.sr-foot-legal a:hover,
.sr-foot-legal a:focus {
  color: var(--color-flame) !important;
}
.sr-gallery-thumbs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0;
  padding: 0;
  transform: none !important;
}
.sr-gallery-thumb,
.sr-gallery-thumbs .js-thumb-container {
  min-width: 0;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  aspect-ratio: 210 / 140;
  overflow: hidden;
  background: #efe8db;
  border: 1px solid var(--color-line);
}
.sr-gallery-thumb picture,
.sr-gallery-thumbs .js-thumb-container picture {
  display: block;
  width: 100%;
  height: 100%;
}
.sr-gallery-thumbs .js-thumb {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  display: block;
  background: #efe8db;
  border: 0;
  cursor: pointer;
}
.sr-gallery-thumb:hover,
.sr-gallery-thumb:has(.js-thumb.selected),
.sr-gallery-thumb:has(.js-thumb-selected) {
  border-color: var(--color-flame);
}
.quickview .js-arrows {
  display: none;
}

/* Größe / variants: chips, not a broken radio+dropdown */
.product-variants {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 8px;
}
.product-variants-item .control-label {
  display: block;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--color-muted-2);
  margin-bottom: 8px;
}
.product-variants-item ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.product-variants-item li,
.product-variants-item .input-container {
  float: none !important;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-variants .input-radio,
.product-variants .input-color {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}
.product-variants .radio-label,
.product-variants .color {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--color-line-3);
  background: #fff;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--radius-brand);
}
.product-variants input:checked + .radio-label,
.product-variants input:checked + .color {
  border-color: var(--color-ink);
  background: var(--color-night);
  color: #fff;
}
.product-variants .color {
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0;
  border-radius: 50%;
}
.product-variants-item select.form-control,
.product-variants-item .form-control-select {
  display: block;
  width: auto !important;
  min-width: 160px;
  max-width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 36px 0 14px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23241d15' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  appearance: none;
  -webkit-appearance: none;
}

#product-modal .modal-dialog {
  max-width: min(960px, 92vw);
  margin: 4vh auto;
}
#product-modal .modal-content {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-brand);
}
#product-modal .modal-body {
  padding: 16px;
}
#product-modal .js-modal-product-cover,
#product-modal .product-cover-modal {
  width: 100%;
  max-height: 72vh;
  height: auto;
  object-fit: contain;
  display: block;
  background: #efe8db;
}
#product-modal .image-caption {
  display: none;
}
#product-modal .js-modal-product-images,
#product-modal .product-images {
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  overflow-x: auto;
}
#product-modal .js-modal-thumb,
#product-modal .thumb {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 1px solid var(--color-line);
  cursor: pointer;
  flex: 0 0 auto;
}
#product-modal .js-modal-thumb.selected,
#product-modal .js-modal-thumb:hover {
  border-color: var(--color-flame);
}
#product-modal .js-modal-arrows {
  display: none;
}

/* ---------- Order confirmation receipt ---------- */
body#order-confirmation #content.sr-confirm,
body#order-confirmation #content.page-content.card,
body#order-confirmation .page-order-confirmation.card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 64px !important;
  max-width: 1080px;
  margin-inline: auto;
}
.sr-confirm {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.sr-confirm-hero {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  padding: clamp(22px, 3vw, 32px);
}
.sr-confirm-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-flame);
  color: #fff;
}
.sr-confirm-title,
.sr-confirm-heading,
.sr-confirm-hero .h1 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: var(--color-ink);
}
.sr-confirm-title {
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1.1;
}
.sr-confirm-heading {
  font-size: 13px;
  letter-spacing: 0.12em;
  margin: 0 0 16px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.sr-confirm-lead {
  margin: 0;
  max-width: 42em;
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-muted);
}
.sr-confirm-lead a {
  color: var(--color-flame);
  text-decoration: underline;
}
.sr-confirm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.9fr);
  gap: 18px;
  align-items: start;
}
.sr-confirm-main,
.sr-confirm-aside,
.sr-confirm-items,
.sr-confirm-note,
.sr-confirm-account {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  padding: clamp(20px, 2.4vw, 28px);
}
.sr-confirm-main {
  padding: 0;
  background: transparent;
  border: 0;
}
.sr-confirm-items {
  padding: clamp(20px, 2.4vw, 28px);
}
.sr-confirm-aside {
  position: sticky;
  top: 24px;
}
.sr-confirm-lines {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sr-confirm-line {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 16px 0;
  border-top: 1px solid var(--color-line);
}
.sr-confirm-line:first-child {
  border-top: 0;
  padding-top: 0;
}
.sr-confirm-line-media,
.sr-confirm-line-media picture,
.sr-confirm-line-media img {
  display: block;
  width: 88px;
  height: 88px;
  object-fit: cover;
  background: #f7f2e9;
}
.sr-confirm-line-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  color: var(--color-ink);
}
.sr-confirm-line-name a {
  color: inherit;
}
.sr-confirm-line-extra,
.sr-confirm-line-meta {
  margin-top: 6px;
  font-size: 13px;
  color: var(--color-muted-2);
}
.sr-confirm-line-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.sr-confirm-qty {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid var(--color-line);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-ink-2);
}
.sr-confirm-line-sum {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--color-ink);
  white-space: nowrap;
  text-align: right;
}
.sr-confirm-totals {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--color-line);
}
.sr-confirm-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  font-size: 14px;
  color: var(--color-muted);
}
.sr-confirm-total-row span:last-child {
  color: var(--color-ink);
  font-weight: 600;
  white-space: nowrap;
}
.sr-confirm-total-row.is-discount span:last-child {
  color: var(--color-flame);
}
.sr-confirm-total-row.is-grand {
  margin-top: 6px;
  padding: 12px 14px;
  background: #f7f2e9;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-ink);
}
.sr-confirm-total-row.is-grand span:last-child {
  color: var(--color-flame);
  font-size: 20px;
  font-weight: 800;
}
.sr-confirm-total-row.is-tax {
  font-size: 12px;
}
.sr-confirm-meta {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sr-confirm-meta-row {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}
.sr-confirm-meta-row dt {
  margin: 0;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-faint);
}
.sr-confirm-meta-row dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--color-ink);
}
.sr-confirm-meta-note {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  font-style: normal;
  color: var(--color-muted-2);
}
.sr-confirm-aside .sr-pickup-summary {
  margin-top: 10px;
  padding: 12px 14px;
  background: #f7f2e9;
  display: grid;
  gap: 4px;
}
.sr-confirm-aside .sr-pickup-summary-k {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-faint);
}
.sr-confirm-aside .sr-pickup-summary-v {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-ink);
}
.sr-confirm-aside .sr-pickup-summary-addr {
  display: block;
  margin-top: 2px;
  font-weight: 400;
  color: var(--color-muted-2);
}
.sr-confirm-note p {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-ink-2);
}
.sr-confirm-note p:last-child {
  margin-bottom: 0;
}
.sr-confirm-note ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}
.sr-confirm-note li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-line);
  font-size: 14px;
  color: var(--color-muted);
}
.sr-confirm-note li strong,
.sr-confirm-note li .price {
  color: var(--color-ink);
  font-weight: 700;
}
.sr-confirm-note a {
  color: var(--color-flame);
}
.sr-confirm-edit {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-muted-2);
}
.sr-confirm-edit:hover {
  color: var(--color-flame);
}
.sr-confirm-footer {
  margin-top: 8px;
}
body#order-confirmation .sr-confirm-footer .featured-products {
  display: none;
}
body#order-confirmation #order-items,
body#order-confirmation #order-details {
  float: none;
  width: auto;
  max-width: none;
}
body#checkout #order-summary-content .sr-confirm-items {
  padding: 20px;
}
body#checkout #order-summary-content .sr-confirm-heading {
  margin-bottom: 12px;
}

@media (max-width: 899px) {
  .sr-confirm-layout {
    grid-template-columns: 1fr;
  }
  .sr-confirm-aside {
    position: static;
  }
}
@media (max-width: 575px) {
  .sr-confirm-line {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
  }
  .sr-confirm-line-media,
  .sr-confirm-line-media picture,
  .sr-confirm-line-media img {
    width: 64px;
    height: 64px;
  }
  .sr-confirm-line-sum {
    grid-column: 2;
    text-align: left;
  }
}

/* ---------- Customer account dashboard ---------- */
body#my-account #main,
body.page-customer-account#my-account #content {
  max-width: 1080px;
  margin-inline: auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 56px !important;
}
body#my-account .page-footer {
  display: none;
}
.sr-account-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0 0 22px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--color-line);
}
.sr-account-head h1 {
  margin: 0;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1;
}
.sr-account-hello {
  margin: 8px 0 0;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-ink);
}
.sr-account-email {
  margin: 2px 0 0;
  font-size: 14px;
  color: var(--color-muted-2);
}
.sr-account-logout {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted-2);
  border-bottom: 1px solid transparent;
}
.sr-account-logout:hover {
  color: var(--color-flame);
  border-bottom-color: var(--color-flame);
}
.sr-account-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body#my-account .sr-account-grid > a,
.sr-account-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  min-height: 168px;
  margin: 0;
  padding: 22px 22px 20px !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  color: var(--color-ink);
  text-decoration: none;
  text-transform: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
body#my-account .sr-account-grid > a:hover,
.sr-account-tile:hover {
  border-color: var(--color-flame);
  color: var(--color-ink);
  box-shadow: 0 10px 24px rgba(36, 29, 21, 0.06);
}
body#my-account .sr-account-grid .link-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: left;
}
.sr-account-tile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #f7f2e9;
  color: var(--color-flame);
}
.sr-account-tile-icon .material-icons,
body#my-account .sr-account-grid .link-item > .material-icons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: var(--color-flame);
  font-family: "Material Icons", sans-serif;
  font-size: 22px;
  line-height: 1;
}
body#my-account .sr-account-grid .link-item > .material-icons {
  width: 44px;
  height: 44px;
  background: #f7f2e9;
}
.sr-account-tile-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.sr-account-tile-title,
body#my-account .sr-account-grid .link-item {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-ink);
}
.sr-account-tile-hint {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.4;
  color: var(--color-muted-2);
}
@media (max-width: 899px) {
  .sr-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575px) {
  .sr-account-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .sr-account-grid {
    grid-template-columns: 1fr;
  }
  body#my-account .sr-account-grid > a,
  .sr-account-tile {
    min-height: 0;
  }
}

/* ---------- Customer account subpages ---------- */
body.page-customer-account:not(#authentication):not(#registration):not(#password):not(#guest-login):not(#guest-tracking) #main {
  max-width: 1080px;
  margin-inline: auto;
}
body.page-customer-account:not(#my-account) .page-header {
  margin: 0 0 22px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--color-line);
  background: transparent;
}
body.page-customer-account:not(#my-account) .page-header h1 {
  margin: 0;
  font-size: clamp(24px, 3.4vw, 36px);
  line-height: 1.05;
}
body.page-customer-account #content.sr-account-page,
body.page-customer-account #content.page-content {
  max-width: none !important;
  margin: 0;
  padding: 0 0 24px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body#identity #content.sr-account-page,
body#address #content.sr-account-page {
  max-width: 720px;
}
.sr-account-lead {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-muted);
}
.sr-account-card,
.sr-account-empty {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  padding: clamp(20px, 2.6vw, 28px);
}
.sr-account-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sr-account-card-title,
.sr-account-card h2,
.psgdprinfo17 h2 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-ink);
}
.sr-account-card p,
.psgdprinfo17 p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-muted);
}
.sr-account-card p:last-child,
.psgdprinfo17 p:last-child {
  margin-bottom: 0;
}
.sr-account-card p a,
.psgdprinfo17 p a {
  color: var(--color-flame);
}
.sr-account-empty {
  text-align: left;
}
.sr-account-empty p {
  margin: 0;
  font-size: 15px;
  color: var(--color-muted);
}
.sr-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sr-account-actions .btn,
.sr-account-card .psgdprgetdatabtn17 {
  float: none !important;
  margin: 0 !important;
  width: auto;
  min-height: 46px;
  padding: 12px 18px;
  font-size: 11px;
  letter-spacing: 0.12em;
}
.psgdprinfo17 {
  margin: 0;
  background: var(--color-paper) !important;
  padding: clamp(20px, 2.6vw, 28px) !important;
}

/* Identity / address forms */
body#identity .sr-account-card #customer-form,
body#address .sr-account-card .js-address-form {
  background: transparent !important;
}
body#identity .form-group.row,
body#address .form-group.row {
  display: flex;
  flex-direction: column;
  margin: 0 0 16px;
}
body#identity .form-group [class*="col-"],
body#address .form-group [class*="col-"] {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding: 0;
}
body#identity .form-control-label,
body#address .form-control-label {
  text-align: left;
  padding: 0 0 6px;
}
body#identity .form-control-comment,
body#address .form-control-comment {
  display: none;
}
body#identity .form-control-comment.form-control-comment--visible {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--color-faint);
}
body#identity .form-footer,
body#address .form-footer {
  margin-top: 8px;
  padding-top: 8px;
}
body#identity .form-footer .btn,
body#address .form-footer .btn {
  float: none;
  width: auto;
  min-width: 160px;
  min-height: 48px;
}
body#identity .custom-checkbox,
body#address .custom-checkbox {
  margin-bottom: 12px;
}
body#identity .custom-checkbox small,
body#identity .js-gdpr-consent + p,
body#identity .form-group .js-help-block {
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-muted-2);
}

/* Addresses */
.sr-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.sr-address-card {
  display: flex;
  flex-direction: column;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  min-height: 100%;
}
.sr-address-card .address-body {
  flex: 1 1 auto;
  padding: 20px 22px 8px;
}
.sr-address-alias,
.sr-address-card h4,
.sr-address-card h2 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sr-address-card address {
  margin: 0;
  font-style: normal;
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-ink-2);
}
.sr-address-actions {
  display: flex;
  gap: 16px;
  padding: 12px 22px 16px;
  border-top: 1px solid var(--color-line);
}
.sr-address-actions a,
.sr-account-add {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-ink);
}
.sr-address-actions a:hover,
.sr-account-add:hover {
  color: var(--color-flame);
}
.sr-address-actions a[data-link-action="delete-address"] {
  color: var(--color-muted-2);
}
.sr-account-add {
  display: inline-flex;
  align-items: center;
  margin: 4px 0 8px;
}

/* Order history / credit slips */
.sr-order-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sr-order-card {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  padding: 18px 20px;
}
.sr-order-card-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.sr-order-ref {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-ink);
}
.sr-order-total {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
  color: var(--color-flame);
  white-space: nowrap;
}
.sr-order-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 6px;
  font-size: 13px;
  color: var(--color-muted-2);
}
.sr-order-status {
  display: inline-flex;
  margin-top: 10px;
  padding: 4px 10px;
  background: #f7f2e9;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-ink);
}
.sr-order-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--color-line);
}
.sr-order-card-actions a {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-ink);
}
.sr-order-card-actions a:hover {
  color: var(--color-flame);
}

/* Account footer links */
.sr-account-nav,
body.page-customer-account .page-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid var(--color-line);
  background: transparent !important;
}
.sr-account-nav .account-link,
body.page-customer-account .page-footer .account-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  padding: 0;
  background: none;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-muted-2);
}
.sr-account-nav .account-link:hover,
body.page-customer-account .page-footer .account-link:hover {
  color: var(--color-flame);
  border-color: transparent;
}

@media (max-width: 699px) {
  .sr-address-grid {
    grid-template-columns: 1fr;
  }
  .sr-account-actions .btn,
  .sr-account-card .psgdprgetdatabtn17 {
    width: 100%;
  }
}

