/* =========================================================
   bs5_alpha - Alpha Diving / Cartzilla Grocery
   Distinct from bs5_lumenia (electronics dark header + blue hero).
   No !important - fix source markup/specificity instead.
   ========================================================= */

@font-face {
  font-family: "Futura Black";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("fonts/FuturaBlack-Regular.woff2") format("woff2"),
    url("fonts/FuturaBlack-Regular.woff") format("woff"),
    url("fonts/FuturaBlack-Regular.otf") format("opentype");
}

:root {
  /* One field radius theme-wide (checkout included); buttons keep their own shape */
  --alpha-field-radius: .5rem;
  /* Alpha Diving palette: ocean blue primary, navy dark (theme.min.css carries the same values) */
  --cz-primary: #0b6fb0;
  --cz-primary-rgb: 11,111,176;
  --cz-link-color: #0b6fb0;
  --cz-link-hover-color: #0b6fb0;
  --cz-primary-bg-subtle: #e7f1f9;
  --cz-primary-border-subtle: #cfe3f2;
  --cz-primary-text-emphasis: #095c93;
  --cz-border-radius: 0.75rem;
  --cz-border-radius-lg: 1.25rem;
  --cz-border-radius-xl: 1.5rem;
  --cz-border-radius-xxl: 2rem;
  --alpha-font-brand: "Futura Black", "Inter", sans-serif;
}

.form-control,
.form-control-lg,
.form-control-sm,
.form-select,
.form-select-lg,
.form-select-sm {
  border-radius: var(--alpha-field-radius);
}

body {
  background-color: var(--cz-body-bg);
}

header.navbar-sticky {
  box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .04);
}

.storelogo {
  white-space: nowrap;
  letter-spacing: -0.02em;
  font-family: var(--alpha-font-brand);
  font-weight: 400;
  text-transform: math-auto;
  color: var(--cz-heading-color);
}

.storelogo:hover,
.storelogo:focus {
  color: var(--cz-heading-color);
}

.storelogo img {
  max-height: 42px;
  width: auto;
}

.alpha-header-search {
  position: relative;
  width: 100%;
  margin: 0;
}

/* Same height as Varegrupper btn - keeps the header row flush */
.alpha-header-search .form-control {
  box-sizing: border-box;
  height: 3.125rem;
  min-height: 3.125rem;
  max-height: 3.125rem;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.25;
}

header.navbar > .container .alpha-cats-toggle .btn {
  box-sizing: border-box;
  height: 3.125rem;
  min-height: 3.125rem;
  max-height: 3.125rem;
  padding-top: 0;
  padding-bottom: 0;
}

/* Same icon button desktop + mobile (Cartzilla grocery) */
.alpha-header-search-btn {
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* Ajax search dropdown - same look desktop + mobile (beat main.css #ajax_search_results) */
#ajax_search_results.alpha-ajax-search-results,
#ajax_search_results_mobil.alpha-ajax-search-results,
.alpha-ajax-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  z-index: 1050;
  max-height: min(22rem, 70vh);
  overflow: auto;
  margin: .5rem 0 0;
  padding: .5rem;
  list-style: none;
  background: var(--cz-body-bg, #fff);
  border: 1px solid var(--cz-border-color, #e3e9ef);
  border-radius: 1rem;
  box-shadow: 0 .75rem 1.5rem rgba(10,31,54, .08);
  display: none;
  scroll-behavior: smooth;
}

#ajax_search_results.alpha-ajax-search-results > li,
#ajax_search_results_mobil.alpha-ajax-search-results > li,
.alpha-ajax-search-results > li {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 0;
  cursor: pointer;
  font-size: inherit;
  transition: none;
}

#ajax_search_results.alpha-ajax-search-results > li > div,
#ajax_search_results_mobil.alpha-ajax-search-results > li > div,
.alpha-ajax-search-results > li > div {
  padding: .65rem .75rem;
  border-radius: .75rem;
  color: var(--cz-body-color, #0a1f36);
  background: transparent;
  transition: background-color .15s ease;
}

#ajax_search_results.alpha-ajax-search-results > li:hover > div,
#ajax_search_results_mobil.alpha-ajax-search-results > li:hover > div,
.alpha-ajax-search-results > li:hover > div {
  background: var(--cz-primary-bg-subtle, #e7f1f9);
}

.alpha-ajax-search-results table,
.alpha-ajax-search-results tbody,
.alpha-ajax-search-results tr,
.alpha-ajax-search-results td {
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-collapse: collapse;
  background: transparent;
  vertical-align: middle;
}

.alpha-ajax-search-results table {
  width: 100%;
}

.alpha-ajax-search-results .prod_serach_img {
  width: 3.25rem;
  padding: 0;
}

.alpha-ajax-search-results .prod_serach_img img {
  display: block;
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  border-radius: .5rem;
  background: var(--cz-secondary-bg, #eef1f6);
}

.alpha-ajax-search-results .prod_serach_data {
  padding: 0 0 0 .85rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--cz-body-color, #0a1f36);
}

.alpha-ajax-search-results .show-all-results {
  border: 0;
  border-top: 0;
  margin-top: .25rem;
}

.alpha-ajax-search-results .show-all-results > div,
.alpha-ajax-search-results .show-all-results {
  border-radius: .75rem;
}

.alpha-ajax-search-results .show-all-results p {
  margin: 0;
  padding: .75rem .85rem;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--cz-primary, #0b6fb0);
}

.alpha-cats-dropdown {
  max-height: 70vh;
  overflow: auto;
}

/* Click-toggled: Cartzilla hover bridges would count as scrollable overflow */
.dropdown-menu.alpha-cats-dropdown::before,
.dropdown-menu.alpha-cats-dropdown::after {
  content: none;
}

.alpha-cats-toggle .dropdown-toggle::after {
  display: none;
}

/* Clip horizontal overflow on page shell - NOT on html/body
   (overflow on html/body breaks position:fixed filter bar on real mobile browsers) */
#bodyWrapper {
  overflow-x: clip;
  max-width: 100%;
}

/* This theme stylesheet only - platform wrappers should be edge-to-edge */
#bodyWrapper.container-fluid {
  padding-left: 0;
  padding-right: 0;
}

#bodyWrapper > .row {
  --bs-gutter-x: 0;
  margin-left: 0;
  margin-right: 0;
}

/* All reviews + article listing rows: fixed thumb box, image contained */
.alpha-review-thumb,
.alpha-article-thumb {
  width: 96px;
  height: 96px;
}

.alpha-review-thumb img,
.alpha-article-thumb img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.alpha-article-thumb:empty {
  display: none;
}

/*
  Grocery homepage + one-page checkout full-bleed from first paint via :has().
  Do not wait for JS body classes (that caused hero padding FOUC).
*/
.InnerContainerBg:has(.alpha-home),
.container-inner-content:has(.alpha-home),
.InnerContainerBg:has(.alpha-onepage-checkout),
.container-inner-content:has(.alpha-onepage-checkout) {
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.InnerContainerBg:has(.alpha-home) > .row,
.container-inner-content:has(.alpha-home) > .row,
.InnerContainerBg:has(.alpha-onepage-checkout) > .row,
.container-inner-content:has(.alpha-onepage-checkout) > .row {
  --bs-gutter-x: 0;
  margin-left: 0;
  margin-right: 0;
}

body:has(.alpha-home) #bodyContent,
body:has(.alpha-onepage-checkout) #bodyContent {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}

body:has(.alpha-home) #bodyContent,
body:has(.alpha-home) .contentContainer,
body:has(.alpha-home) .contentText,
.alpha-home {
  overflow-x: clip;
  max-width: 100%;
}

/* Onepage sticky summary needs visible overflow on all ancestors (Cartzilla v2). */
body:has(.alpha-onepage-checkout) #bodyWrapper,
body:has(.alpha-onepage-checkout) #bodyContent,
body:has(.alpha-onepage-checkout) .contentContainer,
body:has(.alpha-onepage-checkout) .contentText,
body:has(.alpha-onepage-checkout) .alpha-onepage-checkout {
  overflow: visible;
  overflow-x: visible;
  max-width: 100%;
}

.alpha-grocery-hero {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.alpha-grocery-hero .swiper-slide {
  color: #fff;
}

.alpha-grocery-hero .display-4 {
  color: #fff;
  font-weight: 600;
}

.alpha-featured-img {
  max-height: 160px;
  width: auto;
  object-fit: contain;
}

@media (min-width: 1200px) {
  .alpha-featured-img {
    max-height: 200px;
  }
}

.footer-payment-icon {
  height: 24px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}

/* Input+btn rows: same height, vertically centered (newsletter etc.) */
.alpha-control-row {
  --alpha-control-h: 3.125rem;
}
@media (min-width: 576px) {
  .alpha-control-row.flex-sm-row {
    align-items: center;
  }
}
.alpha-control-row > .form-control,
.alpha-control-row > .btn {
  box-sizing: border-box;
  height: var(--alpha-control-h);
  min-height: var(--alpha-control-h);
  max-height: var(--alpha-control-h);
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.25;
}
.alpha-control-row > .btn {
  --cz-btn-padding-y: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Offcanvas sits inside Bootstrap .row → cancel .row > * gutter on the shell */
#navbarNav,
#ShoppingCart,
#LeftColumnSidebar {
  padding-left: 0;
  padding-right: 0;
  margin-top: 0;
}

/* Filter offcanvas: equal left/right padding under lg */
@media (max-width: 991.98px) {
  #LeftColumnSidebar .offcanvas-header,
  #LeftColumnSidebar .offcanvas-body {
    padding-left: 1.25rem;
    padding-right: 1.5rem;
  }

  #LeftColumnSidebar .offcanvas-body {
    padding-bottom: 1.5rem;
  }
}

/* Sticky filter bar (mobile/tablet < 992px) */
.alpha-filter-bar {
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1030;
  min-height: 3.25rem;
  padding-top: .75rem;
  padding-bottom: calc(.75rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 991.98px) {
  /* Only show when not forced hidden by PHP (catalog pages with sidebar) */
  .alpha-filter-bar:not([style*="display:none"]) {
    display: flex;
  }

  /* Fully remove bar while panel is open/animating - free the close (X) button */
  body:has(#LeftColumnSidebar.show) .alpha-filter-bar,
  body:has(#LeftColumnSidebar.showing) .alpha-filter-bar {
    display: none;
  }

  #LeftColumnSidebar .offcanvas-header {
    padding-top: 1rem;
    padding-bottom: 1rem;
    align-items: center;
  }

  #LeftColumnSidebar .offcanvas-header .btn-close {
    position: relative;
    z-index: 2;
    margin-right: -.25rem;
  }
}

body:has(.alpha-filter-bar:not([style*="display:none"])):not(:has(#LeftColumnSidebar.show)):not(:has(#LeftColumnSidebar.showing)) {
  padding-bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px));
}

/* Grocery cart: intentional side pad from sm (matches Cartzilla px-sm-2) */
@media (min-width: 576px) {
  #ShoppingCart {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* Mini-cart lines: space between products */
#ShoppingCart .alpha-cart-lines > article + article {
  margin-top: 3.5rem;
}

/* Cart shipping estimator: Inter's cap height sits ~1px above the line centre, same fix as checkout */
.alpha-cart-estimator .form-check-label {
  padding-top: 1px;
}

/* Cart line: name, price, qty pill, total and remove share the qty pill's centre line */
.alpha-cart-item {
  --alpha-cart-line: 2rem;
}

.alpha-cart-item > td.h6 {
  padding-top: calc(1rem + (var(--alpha-cart-line) - 1lh) / 2);
}

.alpha-cart-item h5 {
  padding-top: calc((var(--alpha-cart-line) - 1lh) / 2);
}

.alpha-cart-item .btn-close {
  display: inline-block;
  box-sizing: border-box;
  height: var(--alpha-cart-line);
  vertical-align: top;
}

/* Offcanvas Browse-menu (Cartzilla grocery) */
#navbarNav .accordion-button {
  background: transparent;
  box-shadow: none;
  color: var(--cz-body-color);
  gap: .25rem;
}

#navbarNav .accordion-button:not(.collapsed) {
  background: transparent;
  color: var(--cz-body-color);
  box-shadow: none;
}

#navbarNav .accordion-button::after {
  margin-left: auto;
}

#navbarNav .dropdown-menu.show.position-static {
  box-shadow: none;
}

#navbarNav .offcanvas-body {
  overflow-x: clip;
}

#navbarNav .alpha-offcanvas-cats {
  max-height: none;
  max-width: 100%;
  min-width: 0;
  width: 100%;
  overflow-x: clip;
}

/* Megamenu direction: column in offcanvas, row in desktop dropdown */
.betamegamenu {
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

@media (min-width: 992px) {
  .alpha-cats-dropdown .betamegamenu {
    flex-direction: row;
  }
}

#navbarNav .betamegamenu {
  flex-direction: column;
  gap: 1.25rem;
}

#navbarNav .alpha-megamenu-col,
#navbarNav .betamegamenu > div {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

#navbarNav a.animate-underline {
  color: var(--cz-body-color);
}

.alpha-megamenu-col {
  min-width: 170px;
  flex: 1 1 0;
}

.alpha-offcanvas-cats {
  max-height: none;
}

.product-card .btn-primary,
.ProductInfo_buybutton .btn-primary,
.btn-primary {
  border-radius: 50rem;
}

/* Grocery product cards - match Cartzilla grocery ratio thumb */
.alpha-grocery-card-img {
  --cz-aspect-ratio: calc(160 / 191 * 100%);
}
.alpha-grocery-card-img > img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
/* Grocery prices - same look as catalog (sale + strikethrough on one line) */
.product-card .card-body .h6.alpha-grocery-price,
.prodprice.alpha-grocery-price {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  column-gap: .35rem;
  white-space: nowrap;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.35;
}
.product-card .card-body .h6.alpha-grocery-price del,
.product-card .card-body .h6.alpha-grocery-price s,
.prodprice.alpha-grocery-price del,
.prodprice.alpha-grocery-price s,
.prodprice.alpha-grocery-price strike {
  display: inline;
  flex-shrink: 0;
  order: 2;
  margin-left: 0;
  font-size: .8125rem;
  font-weight: 400;
  color: var(--cz-secondary-color, #9ca3af);
  text-decoration: line-through;
  white-space: nowrap;
}
.product-card .card-body .h6.alpha-grocery-price br,
.prodprice.alpha-grocery-price br {
  display: none;
}
.product-card .card-body .h6.alpha-grocery-price .productSpecialPrice,
.prodprice.alpha-grocery-price .productSpecialPrice {
  display: inline;
  flex-shrink: 0;
  order: 1;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
}

@media (max-width: 575.98px) {
  .product-card .card-body .h6.alpha-grocery-price,
  .prodprice.alpha-grocery-price {
    font-size: .8125rem;
  }
  .product-card .card-body .h6.alpha-grocery-price del,
  .product-card .card-body .h6.alpha-grocery-price s,
  .prodprice.alpha-grocery-price del,
  .prodprice.alpha-grocery-price s,
  .prodprice.alpha-grocery-price strike {
    font-size: .75rem;
  }
}

/* Shared pill qty: offcanvas cart, cart page + PDP (transparent btns, no sticky focus fill) */
#ShoppingCart .count-input,
.shoppingcart .count-input,
.alpha-cart-page .count-input,
.alpha-product-page .ProductInfo_buybutton .count-input {
  display: inline-flex;
  align-items: stretch;
  width: auto;
  overflow: hidden;
  background-color: var(--cz-body-bg, #fff);
  border: 1px solid #cad0d9;
  border-radius: 50rem;
  transform: translateZ(0);
}
#ShoppingCart .count-input,
.shoppingcart .count-input,
.alpha-cart-page .count-input {
  height: 2rem;
  max-width: 7rem;
}
.alpha-product-page .ProductInfo_buybutton .count-input {
  height: 3rem;
  max-width: 9rem;
}
#ShoppingCart .count-input .btn,
#ShoppingCart .count-input .btn-icon,
.shoppingcart .count-input .btn,
.shoppingcart .count-input .btn-icon,
.alpha-cart-page .count-input .btn,
.alpha-cart-page .count-input .btn-icon,
.alpha-product-page .ProductInfo_buybutton .count-input .btn,
.alpha-product-page .ProductInfo_buybutton .count-input .btn-icon {
  --cz-btn-bg: transparent;
  --cz-btn-hover-color: var(--cz-component-hover-color, #0a1f36);
  --cz-btn-hover-bg: var(--cz-secondary-bg, #eef1f6);
  --cz-btn-active-color: var(--cz-component-hover-color, #0a1f36);
  --cz-btn-active-bg: var(--cz-secondary-bg, #eef1f6);
  --cz-btn-focus-shadow-rgb: 0, 0, 0;
  height: auto;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--cz-body-color);
  background-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#ShoppingCart .count-input .btn,
#ShoppingCart .count-input .btn-icon,
.shoppingcart .count-input .btn,
.shoppingcart .count-input .btn-icon,
.alpha-cart-page .count-input .btn,
.alpha-cart-page .count-input .btn-icon {
  --cz-btn-size: 2rem;
  width: var(--cz-btn-size);
}
.alpha-product-page .ProductInfo_buybutton .count-input .btn,
.alpha-product-page .ProductInfo_buybutton .count-input .btn-icon {
  --cz-btn-size: 3rem;
  width: var(--cz-btn-size);
}
#ShoppingCart .count-input .btn:hover,
#ShoppingCart .count-input .btn:focus-visible,
#ShoppingCart .count-input .btn-icon:hover,
#ShoppingCart .count-input .btn-icon:focus-visible,
.shoppingcart .count-input .btn:hover,
.shoppingcart .count-input .btn:focus-visible,
.shoppingcart .count-input .btn-icon:hover,
.shoppingcart .count-input .btn-icon:focus-visible,
.alpha-cart-page .count-input .btn:hover,
.alpha-cart-page .count-input .btn:focus-visible,
.alpha-cart-page .count-input .btn-icon:hover,
.alpha-cart-page .count-input .btn-icon:focus-visible,
.alpha-product-page .ProductInfo_buybutton .count-input .btn:hover,
.alpha-product-page .ProductInfo_buybutton .count-input .btn:focus-visible,
.alpha-product-page .ProductInfo_buybutton .count-input .btn-icon:hover,
.alpha-product-page .ProductInfo_buybutton .count-input .btn-icon:focus-visible {
  background-color: var(--cz-btn-hover-bg);
  color: var(--cz-btn-hover-color);
  box-shadow: none;
}
#ShoppingCart .count-input .btn:focus:not(:focus-visible),
#ShoppingCart .count-input .btn-icon:focus:not(:focus-visible),
.shoppingcart .count-input .btn:focus:not(:focus-visible),
.shoppingcart .count-input .btn-icon:focus:not(:focus-visible),
.alpha-cart-page .count-input .btn:focus:not(:focus-visible),
.alpha-cart-page .count-input .btn-icon:focus:not(:focus-visible),
.alpha-product-page .ProductInfo_buybutton .count-input .btn:focus:not(:focus-visible),
.alpha-product-page .ProductInfo_buybutton .count-input .btn-icon:focus:not(:focus-visible) {
  background-color: transparent;
  box-shadow: none;
}
#ShoppingCart .count-input .btn:active,
#ShoppingCart .count-input .btn-icon:active,
.shoppingcart .count-input .btn:active,
.shoppingcart .count-input .btn-icon:active,
.alpha-cart-page .count-input .btn:active,
.alpha-cart-page .count-input .btn-icon:active,
.alpha-product-page .ProductInfo_buybutton .count-input .btn:active,
.alpha-product-page .ProductInfo_buybutton .count-input .btn-icon:active {
  background-color: var(--cz-btn-active-bg);
  color: var(--cz-btn-active-color);
  box-shadow: none;
}
#ShoppingCart .count-input .btn:disabled,
.shoppingcart .count-input .btn:disabled,
.alpha-cart-page .count-input .btn:disabled,
.alpha-product-page .ProductInfo_buybutton .count-input .btn:disabled {
  opacity: .45;
  background-color: transparent;
}
#ShoppingCart .count-input .form-control,
.shoppingcart .count-input .form-control,
.alpha-cart-page .count-input .form-control,
.alpha-product-page .ProductInfo_buybutton .count-input .form-control {
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  outline: none;
  background-color: transparent;
  text-align: center;
  font-weight: 500;
  line-height: 1;
  color: var(--cz-body-color);
  -moz-appearance: textfield;
  appearance: textfield;
}
#ShoppingCart .count-input .form-control,
.shoppingcart .count-input .form-control,
.alpha-cart-page .count-input .form-control {
  flex: 0 0 2rem;
  width: 2rem;
  font-size: .875rem;
}
.alpha-product-page .ProductInfo_buybutton .count-input .form-control {
  flex: 0 0 3rem;
  width: 3rem;
  font-size: 1rem;
}
#ShoppingCart .count-input .form-control:focus,
.shoppingcart .count-input .form-control:focus,
.alpha-cart-page .count-input .form-control:focus,
.alpha-product-page .ProductInfo_buybutton .count-input .form-control:focus {
  border: 0;
  box-shadow: none;
  outline: none;
  background-color: transparent;
}
#ShoppingCart .count-input .form-control::-webkit-outer-spin-button,
#ShoppingCart .count-input .form-control::-webkit-inner-spin-button,
.shoppingcart .count-input .form-control::-webkit-outer-spin-button,
.shoppingcart .count-input .form-control::-webkit-inner-spin-button,
.alpha-cart-page .count-input .form-control::-webkit-outer-spin-button,
.alpha-cart-page .count-input .form-control::-webkit-inner-spin-button,
.alpha-product-page .ProductInfo_buybutton .count-input .form-control::-webkit-outer-spin-button,
.alpha-product-page .ProductInfo_buybutton .count-input .form-control::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Top-knap: kun klikbar når synlig (floating-buttons er rotated) */
.floating-buttons {
  pointer-events: none;
}
.floating-buttons .btn-scroll-top.show {
  pointer-events: auto;
}

/* ========== Catalog / listing (Cartzilla grocery) ========== */
.alpha-catalog-page .alpha-catalog-head .h3 {
  font-weight: 600;
}

.alpha-catalog-head .manufacture_dropdown,
.alpha-catalog-head .cat_desc,
.alpha-catalog-head .alpha-cat-desc {
  display: none;
}

/* Sidebar category accordion */
.alpha-cat-accordion .accordion-item {
  background: transparent;
}

.alpha-cat-accordion .accordion-button {
  background: transparent;
  box-shadow: none;
  gap: 0;
  font-weight: 500;
}

.alpha-cat-accordion .accordion-button:not(.collapsed),
.alpha-cat-accordion .accordion-button:focus {
  background: transparent;
  box-shadow: none;
  color: var(--cz-body-color);
}

.alpha-cat-accordion .accordion-button::after {
  margin-left: auto;
  flex-shrink: 0;
}

.alpha-cat-accordion .accordion-body {
  padding-top: .75rem;
}

.alpha-cat-accordion .nav-link {
  color: var(--cz-body-color);
  font-size: .875rem;
}

.alpha-cat-accordion .nav-link:hover {
  color: var(--cz-primary);
}

/* Fold: 10 cats + faded peek of #11 */
.alpha-cat-accordion-wrap {
  position: relative;
}

.alpha-cat-accordion-wrap.is-collapsed .alpha-cat-extra {
  display: none;
}

.alpha-cat-accordion-wrap.is-collapsed .alpha-cat-peek {
  position: relative;
  max-height: 3.5rem;
  margin-bottom: .15rem;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  opacity: 1;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 18%, rgba(0, 0, 0, .35) 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 18%, rgba(0, 0, 0, .35) 55%, transparent 100%);
}

.alpha-cat-accordion-wrap.is-collapsed .alpha-cat-peek .accordion-collapse {
  display: none;
}

.alpha-cat-accordion-wrap.is-collapsed .alpha-cat-peek::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .35) 40%, var(--cz-body-bg, #fff) 100%);
  pointer-events: none;
  z-index: 2;
}

.alpha-cat-accordion-wrap .alpha-cat-fade {
  display: none;
}

.alpha-cat-fold-toggle {
  position: relative;
  z-index: 2;
  min-height: 2.5rem;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
  font-weight: 600;
}

.alpha-cat-fold-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  font-size: .9375rem;
  line-height: 1;
  flex-shrink: 0;
}

.alpha-cat-fold-icon::before {
  line-height: 1;
}

/* Cartzilla grocery: 56px circle + 40px centered icon */
.alpha-cat-accordion .alpha-cat-thumb-wrap {
  width: 56px;
  height: 56px;
  overflow: hidden;
}

.alpha-cat-accordion .alpha-cat-thumb {
  display: block;
  width: 40px;
  height: 40px;
  max-width: 40px;
  max-height: 40px;
  object-fit: contain;
  border-radius: 0;
}

/* Toolbar */
.alpha-listing-toolbar .pagination,
.alpha-listing-toolbar .pull-right,
.alpha-listing-toolbar .pagenav,
.alpha-listing-count .col-md-6:last-child {
  display: none;
}
.alpha-listing-count,
.alpha-listing-count .col-md-6,
.alpha-listing-count .pagenumber,
.alpha-listing-count .hidden-xs {
  float: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
  display: block;
  font-size: .875rem;
}

.alpha-listing-toolbar .pagination {
  margin-bottom: 0;
}

.alpha-sort-item form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .5rem;
  margin: 0;
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
}

.alpha-sort-item .form-select,
.alpha-sort-item .form-control,
.alpha-catalog-filter .form-select,
.alpha-catalog-filter .form-control {
  min-width: 12rem;
  width: 12.5rem;
  display: inline-block;
  font-weight: 400;
}

/* Product grid: Cartzilla grocery row-cols */
#products .view-group {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
  display: flex;
  flex-wrap: wrap;
}

#products .view-group > .productlistbox {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
  margin-bottom: 0;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
}

@media (min-width: 576px) {
  #products .view-group > .productlistbox {
    width: 33.333333%;
    max-width: 33.333333%;
  }
}

@media (min-width: 768px) {
  #products .view-group > .productlistbox {
    width: 25%;
    max-width: 25%;
  }
}

@media (min-width: 992px) {
  #products .view-group > .productlistbox {
    width: 33.333333%;
    max-width: 33.333333%;
  }
}

@media (min-width: 1200px) {
  #products .view-group > .productlistbox {
    width: 25%;
    max-width: 25%;
  }
}

#products .productlistbox.col-6,
#products .productlistbox.col-md-4,
#products .productlistbox[class*="col-lg-"] {
  /* widths controlled above */
}

/* Filter sidebar: Cartzilla grocery accordion */
.alpha-sidebar-filter .card,
.alpha-sidebar-filter .card-default {
  border: 0;
  box-shadow: none;
  background: transparent;
  margin-bottom: 1rem;
  border-radius: 0;
}

.alpha-filter-accordion {
  --cz-accordion-border-width: 0;
  --cz-accordion-btn-padding-x: 0;
  --cz-accordion-btn-padding-y: .9rem;
  --cz-accordion-body-padding-x: 0;
  --cz-accordion-body-padding-y: 0 0 1rem;
}

.alpha-filter-accordion .accordion-item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--cz-border-color);
  border-radius: 0;
}

.alpha-filter-accordion .accordion-button {
  font-size: .9375rem;
  font-weight: 600;
  color: var(--cz-body-color);
  box-shadow: none;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

.alpha-filter-accordion .accordion-button:not(.collapsed) {
  background: transparent;
  color: var(--cz-body-color);
  box-shadow: none;
}

.alpha-filter-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

.alpha-filter-accordion .accordion-body {
  padding: 0 0 1rem;
}

/* Cartzilla form-check: white box + dark checkmark; flex keeps row aligned.
   flex-shrink:0 so long lists scroll inside .alpha-filter-scroll instead of collapsing rows. */
.alpha-filter-accordion .form-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
  padding-left: 0;
  margin-bottom: 0;
}

.alpha-filter-accordion .form-check-input {
  float: none;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin: 0;
  border-radius: 0.25em;
  cursor: pointer;
}

.alpha-filter-accordion .form-check-input:checked {
  background-color: #fff;
  border-color: var(--cz-emphasis-color, #0a1f36);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23181d25' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

/* Platform filter.css forces margin:0 5px 0 11px inside .filter_cont - undo */
.alpha-filter-accordion .filter_cont input[type="checkbox"],
.alpha-filter-accordion .filter_cont .form-check-input,
.alpha-filter-accordion #attribs input[type="checkbox"],
.alpha-filter-accordion #attribs .form-check-input {
  margin: 0;
  float: none;
}

.alpha-filter-accordion .form-check-label {
  cursor: pointer;
  font-size: .875rem;
  line-height: 1.25;
  margin-bottom: 0;
}

/* Price slider → Cartzilla look (jQuery UI under the hood) */
.alpha-price-filter .alpha-price-slider,
.alpha-filter-accordion #slider-range.ui-slider {
  height: .125rem;
  border: 0;
  border-radius: 0;
  background: var(--cz-border-color);
  margin: 1.5rem .85rem 1.1rem;
}

.alpha-filter-accordion #slider-range .ui-slider-range {
  background: var(--cz-emphasis-color);
  border-radius: 0;
  height: .125rem;
  top: 0;
}

.alpha-filter-accordion #slider-range .ui-slider-handle {
  width: .8125rem;
  height: .8125rem;
  top: 50%;
  margin-top: calc(.8125rem * -.5);
  margin-left: calc(.8125rem * -.5);
  border: 2px solid var(--cz-emphasis-color);
  border-radius: 50%;
  background: var(--cz-body-bg);
  cursor: pointer;
  outline: 0;
  box-shadow: none;
}

.alpha-filter-accordion #slider-range .ui-slider-handle::before {
  content: attr(data-value);
  position: absolute;
  bottom: calc(100% + .35rem);
  font-size: .75rem;
  line-height: 1;
  color: var(--cz-body-color);
  white-space: nowrap;
  pointer-events: none;
}

/* Keep edge labels inside the filter column */
.alpha-filter-accordion #slider-range .ui-slider-handle:first-of-type::before {
  left: 0;
  transform: none;
  text-align: left;
}

.alpha-filter-accordion #slider-range .ui-slider-handle:last-of-type::before {
  left: auto;
  right: 0;
  transform: none;
  text-align: right;
}

.alpha-filter-accordion #slider-range .ui-slider-handle:active,
.alpha-filter-accordion #slider-range .ui-slider-handle.ui-state-active,
.alpha-filter-accordion #slider-range .ui-slider-handle.ui-state-focus {
  background: var(--cz-emphasis-color);
}

.alpha-price-suffix {
  position: absolute;
  top: 50%;
  right: .75rem;
  transform: translateY(-50%);
  font-size: .8125rem;
  color: var(--cz-secondary-color);
  pointer-events: none;
  z-index: 2;
}

.alpha-price-input {
  padding-right: 3.1rem;
  border-radius: .5rem;
}

.alpha-brand-search,
.alpha-filter-accordion .form-control {
  border-radius: .5rem;
}

.alpha-filter-accordion .form-icon-start {
  padding-left: 2.5rem;
}

.alpha-filter-scroll {
  max-height: 210px;
  overflow-y: auto;
  padding-right: .25rem;
}

.alpha-filter-scroll::-webkit-scrollbar {
  width: 4px;
}

.alpha-filter-scroll::-webkit-scrollbar-thumb {
  background: var(--cz-border-color);
  border-radius: 4px;
}

.alpha-catalog-pagination .pagination {
  margin-bottom: 0;
}

.alpha-filter-promo {
  position: relative;
}

.alpha-filter-promo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.alpha-cat-strip .nav-link {
  color: var(--cz-body-color);
}

.alpha-cat-strip .nav-link:hover {
  color: var(--cz-primary);
}

.alpha-cat-strip img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

/* Mobile/tablet: swipe strip, no scrollbar, faded peek of next item */
.alpha-cat-strip-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.alpha-cat-strip-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.alpha-cat-strip-scroll .nav-link {
  flex: 0 0 auto;
}

@media (max-width: 991.98px) {
  .alpha-cat-strip .container::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.75rem;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--cz-body-bg, #fff) 88%);
  }
}

/* Home articles: locked thumb size (same for all images) */
.alpha-home-article-thumb {
  --cz-aspect-ratio: calc(140 / 196 * 100%);
  width: 7.5rem;
  max-width: 42%;
  flex-shrink: 0;
}

@media (min-width: 576px) {
  .alpha-home-article-thumb {
    width: 12.25rem;
    max-width: none;
  }
}

.alpha-home-article-thumb img {
  object-fit: cover;
  object-position: center;
}

.alpha-pdp-related-inline .product-card {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.alpha-pdp-related-pair {
  overflow: hidden;
}

.alpha-pdp-related-pair .vr {
  align-self: stretch;
  opacity: .35;
}

.alpha-pdp-attrs .choices,
.alpha-product-page .choices,
.CreateAccountSec .choices,
.create_account .choices,
.account_edit .choices,
.alpha-auth-page .choices,
.alpha-checkout-page .choices {
  width: 100%;
  max-width: 100%;
}

.alpha-pdp-attrs .form-select,
.alpha-pdp-attrs select.form-control,
.alpha-pdp-attrs select.form-select,
.alpha-pdp-attrs .choices .form-select,
.alpha-product-page select.form-control,
.alpha-product-page select.form-select,
.alpha-product-page .choices .form-select {
  max-width: 100%;
  min-height: 2.75rem;
}

/* Choices closed value: vertical center (default padding sits text too high) */
.alpha-pdp-attrs .choices[data-type*=select-one] .form-select,
.alpha-product-page .choices[data-type*=select-one] .form-select {
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.25;
}

.alpha-pdp-attrs .choices__list--single,
.alpha-product-page .choices__list--single {
  align-items: center;
  width: 100%;
  margin: 0;
  min-height: 0;
}

.alpha-pdp-attrs .choices__list--single .choices__item,
.alpha-product-page .choices__list--single .choices__item {
  margin: 0;
  padding: 0;
  line-height: 1.25;
}

.alpha-often-bought .subtitle-h3,
.alpha-often-bought .contentBoxHeading {
  display: none;
}

.alpha-often-bought .swiper-slide {
  height: auto;
}

.alpha-often-bought .product-card {
  height: 100%;
}

.alpha-product-page .accordion-alt-icon .accordion-button {
  font-size: 1rem;
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.alpha-product-page .accordion-alt-icon .accordion-button:not(.collapsed) {
  background: transparent;
  color: var(--cz-body-color);
  box-shadow: none;
}

.alpha-product-page .alpha-pdp-review .ci-star-filled,
.alpha-product-page .alpha-pdp-review .ci-star {
  font-size: .875rem;
  line-height: 1;
}

.alpha-product-short:empty {
  display: none;
}

.alpha-pdp-about-wrap:empty,
.alpha-pdp-about-wrap:not(:has(.alpha-pdp-about)) {
  display: none;
  padding: 0;
  margin: 0;
}

.alpha-often-bought:empty,
.alpha-often-bought:not(:has(*)) {
  display: none;
  padding: 0;
  margin: 0;
}

.alpha-pdp-about {
  border: 1px solid var(--cz-border-color, #e3e9ef);
  border-radius: var(--cz-border-radius-xxl, 2rem);
}

.alpha-pdp-about:empty {
  display: none;
}

.alpha-pdp-about-body > *:last-child {
  margin-bottom: 0;
}

/* Same look as "Skriv anmeldelse": body color, medium, underline */
.alpha-pdp-about-body a,
.alpha-product-short a,
.alpha-content-page .contentText a {
  color: var(--cz-body-color, #0a1f36);
  font-weight: 500;
  text-decoration: underline;
}

.alpha-pdp-about-body a:hover,
.alpha-pdp-about-body a:focus,
.alpha-product-short a:hover,
.alpha-product-short a:focus,
.alpha-content-page .contentText a:hover,
.alpha-content-page .contentText a:focus {
  color: var(--cz-body-color, #0a1f36);
  text-decoration: underline;
}

/* Left column spacing like pe-lg-4 (desktop only) */
@media (min-width: 992px) {
  #columnLeft.columnLeftpadding {
    padding-right: 1.5rem;
  }
}

/* Subcategory cards (parent categories only) */
.subcatcontainer {
  margin-bottom: 1.5rem;
}

.subcatcontainer > .text-center {
  height: 100%;
  padding: 1rem;
  border: 1px solid var(--cz-border-color);
  border-radius: 1.25rem;
  background: var(--cz-body-bg);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.subcatcontainer > .text-center:hover {
  border-color: var(--cz-primary);
  box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .06);
}

.subcatcontainer .caption.text-center {
  border: 0;
  box-shadow: none;
  padding: .5rem 0 0;
  background: transparent;
}

.subcatcontainer img {
  max-height: 140px;
  width: auto;
  object-fit: contain;
  margin-bottom: .75rem;
}

.subcatcontainer .subcat_heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: .35rem;
}

.subcatcontainer .subcat_heading a {
  color: var(--cz-body-color);
  text-decoration: none;
}

.subcatcontainer .subcat_heading a:hover {
  color: var(--cz-primary);
}


/* ========== Product page (Cartzilla grocery) ========== */
.alpha-product-page .ProductInfo_price {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--cz-body-color, #0a1f36);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .5rem;
}

.alpha-product-page .ProductInfo_price .ProductPriceBox,
.alpha-product-page .ProductInfo_price .alpha-pdp-price-inner {
  display: contents;
}

.alpha-product-page .ProductInfo_price ul,
.alpha-product-page .ProductInfo_price li,
.alpha-product-page .ProductInfo_price .PriceText {
  display: inline;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
  background: transparent;
  width: auto;
  font-size: inherit;
  font-weight: inherit;
}

.alpha-product-page .ProductInfo_price .full_width,
.alpha-product-page .ProductInfo_price .full_width_out,
.alpha-product-page .ProductInfo_price .PriceText:empty {
  display: none;
}

.alpha-product-page .ProductInfo_price .normalprice,
.alpha-product-page .ProductInfo_price .normalprice.PriceText {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin-right: 0;
}

.alpha-product-page .ProductInfo_price s,
.alpha-product-page .ProductInfo_price del,
.alpha-product-page .ProductInfo_price .normalprice s,
.alpha-product-page .ProductInfo_price .normalprice del {
  font-size: 1rem;
  font-weight: 400;
  color: var(--cz-secondary-color);
  margin-right: .15rem;
  text-decoration: line-through;
}

.alpha-product-page .ProductInfo_price .productSpecialPrice,
.alpha-product-page .ProductInfo_price .productSpecialPrice span {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--cz-body-color);
}

.alpha-product-page .ProductInfo_buybutton .btn-primary {
  border-radius: 50rem;
  min-width: 10rem;
}

.alpha-product-page .ProductInfo_buybutton a[href=""],
.alpha-product-page .ProductInfo_buybutton a:not([href]),
.alpha-product-page .ProductInfo_buybutton a[href="#"] {
  display: none;
}

.alpha-pdp-media {
  align-items: flex-start;
}

.alpha-product-gallery {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  background: transparent;
  cursor: zoom-in;
}

.alpha-product-gallery img,
.alpha-product-gallery .alpha-pdp-main-img,
.alpha-product-gallery .zoomWrapper {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
  border-radius: 1rem;
  background: transparent;
  cursor: zoom-in;
  object-fit: contain;
}

.alpha-product-gallery .zoomWrapper {
  width: 100%;
  height: auto;
  overflow: hidden;
  background: transparent;
}

/* Kill elevateZoom hover chrome (black corner marks) */
.alpha-product-page .zoomContainer,
.alpha-product-page .zoomLens,
.alpha-product-page .zoomWindow,
.alpha-product-page .zoomWindowContainer {
  display: none;
  visibility: hidden;
  pointer-events: none;
}

.alpha-product-thumbs {
  flex: 0 0 auto;
}

.alpha-product-thumbs .elastislide-nav,
.alpha-product-thumbs .elastislide-prev,
.alpha-product-thumbs .elastislide-next,
.alpha-product-thumbs nav {
  display: none;
  visibility: hidden;
  pointer-events: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.alpha-product-thumbs #gallery_01,
.alpha-product-thumbs .elastislide-wrapper,
.alpha-product-thumbs .elastislide-carousel {
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
}

.alpha-product-thumbs .elastislide-list,
.alpha-product-thumbs #AdditionalImgCarousel,
.alpha-product-thumbs #gallery_01 ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: .75rem;
  transform: none;
}

/* Stacked layout (< lg): thumbs as horizontal strip under main image */
@media (max-width: 991.98px) {
  .alpha-product-thumbs {
    width: 100%;
    max-width: 100%;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .alpha-product-thumbs .elastislide-list,
  .alpha-product-thumbs #AdditionalImgCarousel,
  .alpha-product-thumbs #gallery_01 ul {
    flex-direction: row;
    flex-wrap: nowrap;
    width: max-content;
    max-width: none;
    height: auto;
  }

  .alpha-product-thumbs .elastislide-list > li,
  .alpha-product-thumbs #gallery_01 li {
    width: 72px;
    max-width: 72px;
    margin: 0;
    flex: 0 0 72px;
  }
}

/* Desktop: vertical thumbs scroll inside main-image height.
   Column must be wider than the card so the scrollbar does not clip the border. */
@media (min-width: 992px) {
  .alpha-product-thumbs {
    width: 112px;
    max-height: 28rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
    padding-inline-end: .25rem;
  }

  .alpha-product-thumbs .elastislide-list,
  .alpha-product-thumbs #AdditionalImgCarousel,
  .alpha-product-thumbs #gallery_01 ul {
    flex-direction: column;
    width: 94px;
    max-width: 94px;
    height: auto;
  }

  .alpha-product-thumbs .elastislide-list > li,
  .alpha-product-thumbs #gallery_01 li {
    width: 94px;
    max-width: 94px;
    margin: 0;
    flex: 0 0 auto;
  }
}

.alpha-product-thumbs a.elevatezoom-gallery {
  display: block;
  border: 1px solid var(--cz-border-color, #e3e9ef);
  border-radius: .75rem;
  overflow: hidden;
  background: var(--cz-body-bg, #fff);
  transition: border-color .15s ease;
}

.alpha-product-thumbs a.elevatezoom-gallery.active,
.alpha-product-thumbs a.elevatezoom-gallery:hover {
  border-color: var(--cz-body-color, #0a1f36);
  border-width: 2px;
}

.alpha-product-thumbs img {
  display: block;
  border-radius: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: contain;
  background: var(--cz-body-bg, #fff);
}

.alpha-pdp-attrs ul,
.alpha-pdp-attrs .list-unstyled,
.alpha-pdp-attrs table {
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.alpha-pdp-attrs .form-label {
  font-size: .875rem;
  font-weight: 600;
}

.alpha-product-desc {
  line-height: 1.6;
}

.alpha-product-desc h2 {
  font-size: .95rem;
  font-weight: 600;
  margin: 0 0 .45rem;
}

.alpha-pdp-related .product-card,
.alpha-pdp-related .card {
  border: 0;
  box-shadow: none;
  background: transparent;
}


/* Count badges: perfect circle, centered digit (header cart + account nav) */
.btn .alpha-count-badge,
.btn .alpha-header-cart-badge {
  top: 0;
}

.alpha-count-badge,
.alpha-header-cart-badge {
  --bs-badge-padding-x: 0;
  --bs-badge-padding-y: 0;
  --cz-badge-padding-x: 0;
  --cz-badge-padding-y: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1.0625rem;
  height: 1.0625rem;
  min-width: 1.0625rem;
  padding: 0;
  line-height: 1;
  font-size: 0.5625rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  border-radius: 50%;
  vertical-align: middle;
  text-align: center;
  aspect-ratio: 1 / 1;
}

.alpha-count-badge:empty,
.alpha-header-cart-badge:empty {
  display: none;
}

/* ========== Cart ========== */
.alpha-cart-page .alpha-cart-table > :not(caption) > * > * {
  background: transparent;
}

.alpha-cart-page .alpha-cart-tbody > tr > td {
  vertical-align: top;
}

.alpha-cart-page .alpha-cart-item > td.h6 {
  line-height: 1.25;
}

.alpha-cart-page .alpha-cart-thumb {
  width: 110px;
  min-width: 110px;
  max-width: 110px;
}

.alpha-cart-page .alpha-cart-thumb-box {
  width: 110px;
  height: 110px;
  border-radius: .5rem;
  overflow: hidden;
  background: #fff;
}

.alpha-cart-page .alpha-cart-thumb-box img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

.shoppingcart .nav > .btn-info,
.shoppingcart .nav > a.btn-info,
.shoppingcart .nav .btn-info {
  --cz-btn-color: var(--cz-body-color);
  --cz-btn-bg: transparent;
  --cz-btn-border-color: transparent;
  --cz-btn-hover-color: var(--cz-primary);
  --cz-btn-hover-bg: transparent;
  --cz-btn-hover-border-color: transparent;
  --cz-btn-active-color: var(--cz-primary);
  --cz-btn-active-bg: transparent;
  --cz-btn-active-border-color: transparent;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  text-decoration: none;
}

.cartsummary .btn-success,
.cartsummary a.btn-success,
.cartsummary .btn-primary,
.cartsummary a.btn-primary,
.alpha-cart-empty .btn-danger,
.alpha-cart-empty a.btn-danger {
  --cz-btn-color: #fff;
  --cz-btn-bg: var(--cz-primary);
  --cz-btn-border-color: var(--cz-primary);
  --cz-btn-hover-color: #fff;
  --cz-btn-hover-bg: var(--cz-primary-text-emphasis);
  --cz-btn-hover-border-color: var(--cz-primary-text-emphasis);
  --cz-btn-active-color: #fff;
  --cz-btn-active-bg: var(--cz-primary-text-emphasis);
  --cz-btn-active-border-color: var(--cz-primary-text-emphasis);
  border-radius: 50rem;
  width: 100%;
}

.cartsummary .d-grid .btn {
  border-radius: 50rem;
  width: 100%;
}

.alpha-cart-checkout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  line-height: 1.25;
}

.alpha-cart-checkout-btn .alpha-cart-checkout-btn-label {
  flex: 0 1 auto;
  min-width: 0;
}

.alpha-cart-checkout-btn .ci-chevron-right {
  flex-shrink: 0;
  line-height: 1;
}

/* Cartzilla pushes chevrons .125rem down inside .btn; in our flex-centred Inter buttons that leaves them low */
.btn:not(.btn-icon) [class^="ci-chevron"],
.btn:not(.btn-icon) [class*=" ci-chevron"] {
  margin-top: 0;
}

.alpha-cart-empty .btn,
.alpha-cart-empty a.btn {
  border-radius: 50rem;
}

/* ========== Account / auth / wishlist ========== */
.alpha-account-page .list-group-item-action {
  border-radius: .75rem;
  padding-inline: .75rem;
}

.alpha-account-page .list-group-item-action.active {
  background-color: var(--cz-secondary-bg, #e9ecef);
  color: var(--cz-body-color);
  font-weight: 600;
}

.alpha-account-page .list-group-item-action:not(.active):hover {
  background-color: rgba(var(--cz-secondary-bg-rgb, 233, 236, 239), .55);
}

.alpha-account-orders-table > :not(caption) > * > * {
  background: transparent;
}

/* Hide stock markup when theme custom account content is rendered */
.alpha-account-page--orders .page-header,
.alpha-account-page--orders .contentContainer,
.alpha-account-page--custom .page-header,
.alpha-account-page--custom .contentContainer {
  display: none;
}

/* Login: the theme card carries its own h1 */
.page-header:has(+ .contentContainer .alpha-login) {
  display: none;
}

/* RMA / return form polish (stock form kept) */
.alpha-account-page--rma .page-header h1 {
  font-size: clamp(1.5rem, 1.2rem + .8vw, 2rem);
  font-weight: 600;
  margin-bottom: 1rem;
}

.alpha-account-page--rma .contentContainer .card,
.alpha-account-page--rma .contentContainer .card-default {
  border: 1px solid var(--cz-border-color, #e0e5eb);
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: none;
  background: var(--cz-body-bg, #fff);
}

.alpha-account-page--rma .contentContainer .card-header {
  background: var(--cz-tertiary-bg, #f5f7fa);
  border-bottom: 1px solid var(--cz-border-color, #e0e5eb);
  font-weight: 600;
}

.alpha-account-page--rma .return_product_table {
  --cz-table-bg: transparent;
}

.alpha-account-page--rma .buttonSet .btn,
.alpha-account-page--rma .btn {
  border-radius: 50rem;
}

.alpha-faq-accordion .accordion-button {
  font-size: .9375rem;
  padding: 1rem 1.25rem;
  line-height: 1.4;
}

.alpha-faq-accordion .accordion-body {
  padding: .25rem 1.25rem 1.15rem;
  line-height: 1.55;
}

.alpha-faq-accordion .accordion-item {
  border-color: var(--cz-border-color, #e0e5eb);
}

.alpha-faq-page .accordion-item {
  border: 1px solid var(--cz-border-color, #e0e5eb);
}

.alpha-faq-page .accordion-button {
  padding: 1rem 1.25rem;
}

.alpha-faq-page .accordion-body {
  padding: .25rem 1.25rem 1.15rem;
}

.alpha-order-thumb {
  display: inline-flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: .75rem;
  background: #fff;
  border: 1px solid var(--cz-border-color, #e0e5eb);
  box-shadow: none;
}

.alpha-order-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Order detail (account_history_info) */
.alpha-order-info .alpha-order-products .table {
  --cz-table-bg: transparent;
  --cz-table-border-color: var(--cz-border-color);
  margin: 0;
}

.alpha-order-info .alpha-order-products .table > :not(caption) > * > * {
  background: transparent;
  border-bottom-color: var(--cz-border-color);
  padding: .85rem .35rem;
  vertical-align: middle;
}

.alpha-order-info .alpha-order-products .table > thead > tr > *,
.alpha-order-info .alpha-order-products .table tr:first-child td,
.alpha-order-info .alpha-order-products .table tr:first-child th {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--cz-secondary-color);
  border-bottom-width: 1px;
}

.alpha-order-info .alpha-order-products img {
  width: 3.25rem;
  height: 3.25rem;
  object-fit: contain;
  border-radius: .65rem;
  background: #fff;
  border: 1px solid var(--cz-border-color);
  padding: .15rem;
}

.alpha-order-info .alpha-order-products a {
  color: var(--cz-primary);
  text-decoration: none;
  font-size: .8125rem;
  font-weight: 600;
}

.alpha-order-info .alpha-order-products a:hover {
  text-decoration: underline;
}

.alpha-order-info .alpha-order-products font {
  color: inherit;
  font-weight: inherit;
}

.alpha-order-info .alpha-order-totals {
  width: auto;
  min-width: 16rem;
  border-collapse: collapse;
}

.alpha-order-info .alpha-order-totals td {
  padding: .35rem 0 .35rem 1.25rem;
  font-size: .875rem;
  vertical-align: top;
}

.alpha-order-info .alpha-order-totals td:last-child {
  width: auto;
  white-space: nowrap;
}

.alpha-order-info .alpha-order-totals tr:last-child td {
  padding-top: .65rem;
  font-weight: 700;
  font-size: 1rem;
  color: var(--cz-body-color);
}

.alpha-order-info .alpha-order-meta {
  border: 1px solid var(--cz-border-color);
  border-radius: 1rem;
  background: var(--cz-body-bg, #fff);
  padding: 1rem 1.15rem;
}

.alpha-order-info .alpha-order-meta-title {
  font-size: .8125rem;
  font-weight: 600;
  margin-bottom: .5rem;
  color: var(--cz-secondary-color);
}

.alpha-order-info .alpha-order-history .panel,
.alpha-order-info .alpha-order-history .panel-default {
  border: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
}

.alpha-order-info .alpha-order-history .panel-heading,
.alpha-order-info .alpha-order-history .panel-body {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem 1rem;
  margin: 0;
  padding: .75rem 0;
  border: 0;
  background: transparent;
}

.alpha-order-info .alpha-order-history .panel-heading {
  font-size: .8125rem;
  color: var(--cz-secondary-color);
  border-bottom: 1px solid var(--cz-border-color);
  padding-top: 0;
}

.alpha-order-info .alpha-order-history .panel-body {
  font-size: .875rem;
  border-bottom: 1px solid var(--cz-border-color);
}

.alpha-order-info .alpha-order-history .panel-body:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.alpha-order-info .alpha-order-history .panel-heading .col-md-3,
.alpha-order-info .alpha-order-history .panel-heading .col-md-4,
.alpha-order-info .alpha-order-history .panel-heading .col-md-2,
.alpha-order-info .alpha-order-history .panel-body .col-md-3,
.alpha-order-info .alpha-order-history .panel-body .col-md-4,
.alpha-order-info .alpha-order-history .panel-body .col-md-2 {
  width: auto;
  max-width: none;
  flex: none;
  padding: 0;
  float: none;
}

@media (max-width: 767.98px) {
  .alpha-order-info .alpha-order-history .panel-heading {
    display: none;
  }

  .alpha-order-info .alpha-order-history .panel-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: .35rem;
  }

  .alpha-order-info .alpha-order-history .panel-body [data-label]::before {
    content: attr(data-label) ': ';
    font-weight: 600;
    color: var(--cz-secondary-color);
  }
}

.alpha-wishlist-page .btn-info {
  --cz-btn-bg: var(--cz-primary);
  --cz-btn-border-color: var(--cz-primary);
  --cz-btn-color: #fff;
  --cz-btn-hover-bg: var(--cz-primary-text-emphasis);
  --cz-btn-hover-border-color: var(--cz-primary-text-emphasis);
  --cz-btn-hover-color: #fff;
  border-radius: 50rem;
}

.alpha-wishlist-page form .btn + .btn {
  --cz-btn-color: var(--cz-danger);
  --cz-btn-border-color: var(--cz-danger);
  --cz-btn-bg: transparent;
  --cz-btn-hover-bg: var(--cz-danger);
  --cz-btn-hover-border-color: var(--cz-danger);
  --cz-btn-hover-color: #fff;
  border-radius: 50rem;
}

.alpha-wishlist-page .alpha-wishlist-actions {
  align-items: center;
}

.alpha-wishlist-page .alpha-wishlist-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 2.375rem;
  padding-inline: 1rem;
  font-size: .875rem;
  white-space: nowrap;
}

/* Stock pager HTML uses BS3 cols/floats - neutralize inside wishlist toolbars */
.alpha-wishlist-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.25rem;
  width: 100%;
  margin: 0;
}

.alpha-wishlist-meta .col-sm-6,
.alpha-wishlist-meta .pagenumber,
.alpha-wishlist-meta .hidden-xs {
  float: none;
  width: auto;
  max-width: none;
  flex: 0 1 auto;
  padding: 0;
  margin: 0;
  font-size: .875rem;
  color: var(--cz-secondary-color);
}

.alpha-wishlist-meta .col-sm-6:last-child {
  margin-left: auto;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: .5rem;
}

.alpha-wishlist-meta .pull-right,
.alpha-wishlist-meta .pagenav {
  float: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
}

.alpha-wishlist-toolbar {
  width: 100%;
}

.alpha-wishlist-toolbar:not(.alpha-wishlist-toolbar--footer) .alpha-wishlist-meta {
  width: auto;
  margin-left: auto;
  justify-content: flex-end;
}

/* When footer has pager: top = actions only */
.alpha-wishlist-page:has(.alpha-wishlist-toolbar--footer .pagination)
  .alpha-wishlist-toolbar:not(.alpha-wishlist-toolbar--footer)
  .alpha-wishlist-meta {
  display: none;
}

/* Account pager: count left + pagination right on ONE line */
.alpha-account-pager {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.25rem;
  width: 100%;
}

.alpha-account-pager > .fs-sm,
.alpha-account-pager > .pagenumber,
.alpha-account-pager > .col-sm-6:first-child,
.alpha-account-pager > .col-md-6:first-child {
  float: none;
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-size: .875rem;
  color: var(--cz-secondary-color);
}

.alpha-account-pager > .col-sm-6:last-child,
.alpha-account-pager > .col-md-6:last-child,
.alpha-account-pager > .pagination {
  float: none;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  width: auto;
  max-width: none;
  margin: 0 0 0 auto;
  padding: 0;
}

.alpha-account-pager .pull-right,
.alpha-account-pager .pagenav {
  float: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
}

.alpha-account-pager .pull-right:not(.pagenav) {
  display: none;
}

.alpha-wishlist-page .page_links {
  display: none;
}

.alpha-account-page .pagination,
.alpha-wishlist-page .pagination,
.alpha-account-pager .pagination {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .25rem;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.alpha-account-page .pagination .page-item.me-auto,
.alpha-account-page .pagination .page-item.ms-auto,
.alpha-wishlist-page .pagination .page-item.me-auto,
.alpha-wishlist-page .pagination .page-item.ms-auto {
  margin-left: 0;
  margin-right: 0;
}

.alpha-account-page .pagination .page-link,
.alpha-wishlist-page .pagination .page-link,
.alpha-account-page .pagination a,
.alpha-wishlist-page .pagination a,
.alpha-account-page .pagination > li > a,
.alpha-wishlist-page .pagination > li > a,
.alpha-account-page .pagination > li > span,
.alpha-wishlist-page .pagination > li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: .25rem .55rem;
  border-radius: .5rem;
  text-decoration: none;
}

.alpha-wishlist-grid .wish_list_box {
  --cz-gutter-x: 1rem;
  --cz-gutter-y: 1rem;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--cz-gutter-y));
  margin-right: calc(-.5 * var(--cz-gutter-x));
  margin-left: calc(-.5 * var(--cz-gutter-x));
}

.alpha-wishlist-grid .wish_list_box > .col,
.alpha-wishlist-grid .wish_list_box > [class*="col"] {
  display: flex;
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
  padding-right: calc(var(--cz-gutter-x) * .5);
  padding-left: calc(var(--cz-gutter-x) * .5);
  margin-top: var(--cz-gutter-y);
}

@media (min-width: 768px) {
  .alpha-wishlist-grid .wish_list_box > .col,
  .alpha-wishlist-grid .wish_list_box > [class*="col"] {
    width: 33.333333%;
    max-width: 33.333333%;
  }
}

.alpha-account-product-card {
  width: 100%;
}

.alpha-account-product-media {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 72%;
  background: var(--cz-tertiary-bg, #f8f9fa);
  overflow: hidden;
  flex-shrink: 0;
}

.alpha-wishlist-page .alpha-account-product-media img,
.alpha-account-page .alpha-account-product-media img {
  position: absolute;
  inset: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 85%;
  max-height: 85%;
  object-fit: contain;
}

.alpha-account-product-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  min-height: 2.6em;
  margin-bottom: 0;
}

.alpha-account-product-card .reviewtxt,
.alpha-account-product-card .d-flex.align-items-center.gap-2.mb-1 {
  min-height: 1.125rem;
}

.alpha-account-product-card .prodprice,
.alpha-account-product-card .alpha-grocery-price {
  min-height: 2.75rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  font-size: .9375rem;
  line-height: 1.25;
}

.alpha-account-links a,
.alpha-account-links li {
  color: var(--cz-body-color);
  text-decoration: none;
}

.alpha-account-links a:hover {
  color: var(--cz-primary);
}

.create_account .form-control,
.create_account .form-select,
.alpha-auth-page.create_account .form-control,
.alpha-auth-page.create_account .form-select {
  min-height: 2.75rem;
}

.create_account .choices,
.alpha-auth-page.create_account .choices {
  margin-bottom: 0;
}

.create_account section + section {
  border-top: 1px solid var(--cz-border-color);
  padding-top: 1.5rem;
}

.create_account #company_part:empty,
.create_account #company_part:not(:has(*)) {
  display: none;
}

.create_account .inputRequirement,
.create_account .form-control-feedback.glyphicon,
.create_account span.glyphicon.glyphicon-asterisk {
  display: none;
}

.create_account #company_part .form-group.row,
.create_account #company_part .row.form-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 1rem;
}

.create_account #company_part .control-label,
.create_account #company_part .col-md-3,
.create_account #company_part .col-md-9 {
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  padding-left: 0;
  padding-right: 0;
  text-align: start;
}

.create_account #company_part .page-header {
  border: 0;
  margin: 0 0 1rem;
  padding: 0;
}

.create_account #company_part .subtitle-h4,
.create_account #company_part .page-header {
  font-size: 1.15rem;
  font-weight: 600;
}

.create_account .btn-block {
  width: 100%;
}

.alpha-auth-page .btn:not([class*="btn-outline-"]),
.alpha-auth-page .btn-primary,
.alpha-auth-actions .btn-success,
.alpha-auth-actions .btn-info,
.alpha-auth-actions a.btn-success,
.alpha-auth-actions a.btn-info {
  --cz-btn-color: #fff;
  --cz-btn-bg: var(--cz-primary);
  --cz-btn-border-color: var(--cz-primary);
  --cz-btn-hover-color: #fff;
  --cz-btn-hover-bg: var(--cz-primary-text-emphasis);
  --cz-btn-hover-border-color: var(--cz-primary-text-emphasis);
  border-radius: 50rem;
}

.create_account .form-group,
.account_edit .form-group,
.alpha-auth-page .form-group {
  margin-bottom: 1rem;
}

.create_account .control-label,
.account_edit .control-label,
.alpha-auth-page .control-label,
.create_account .form-label,
.account_edit .form-label,
.alpha-account-form .form-label {
  font-weight: 600;
  font-size: .875rem;
}

/* Account settings forms (password, newsletters, address book, …) */
.alpha-account-form .form-control,
.alpha-account-form .form-select,
.alpha-account-page .account_password .form-control,
.alpha-account-page .account_edit .form-control {
  min-height: 2.75rem;
}

/* Required asterisk: center vertically in taller account inputs */
.alpha-account-page .has-feedback [class*="col-md-9"],
.alpha-account-page .has-feedback [class*="col-sm-9"],
.account_edit .has-feedback [class*="col-md-9"] {
  position: relative;
}

.alpha-account-page .has-feedback .form-control-feedback,
.alpha-account-page .has-feedback .glyphicon-asterisk,
.account_edit .has-feedback .form-control-feedback,
.account_edit .has-feedback .glyphicon-asterisk {
  top: 50%;
  right: .85rem;
  bottom: auto;
  width: auto;
  height: auto;
  margin: 0;
  line-height: 1;
  font-size: .7rem;
  transform: translateY(-50%);
  color: var(--cz-danger, #0b6fb0);
}

.alpha-account-form .inputRequirement,
.alpha-account-form .form-control-feedback.glyphicon,
.alpha-account-form span.glyphicon.glyphicon-asterisk {
  display: none;
}

.alpha-account-form .alpha-account-check {
  cursor: pointer;
  background: var(--cz-body-bg, #fff);
  transition: border-color .15s ease, background-color .15s ease;
}

.alpha-account-form .alpha-account-check:hover {
  border-color: var(--cz-primary);
  background: var(--cz-primary-bg-subtle, #e7f1f9);
}

.alpha-account-form .alpha-account-check-input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  min-height: 1.25rem;
  margin-top: .15rem;
}

.alpha-account-form .alpha-account-check-input input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  accent-color: var(--cz-primary);
  cursor: pointer;
}

.alpha-account-page .btn-success,
.alpha-account-page a.btn-success,
.alpha-account-page .btn-primary,
.alpha-account-page a.btn-primary,
.alpha-account-form .btn-success,
.alpha-account-form a.btn-success,
.alpha-account-page span.btn-success,
.alpha-account-page span.btn-primary {
  --cz-btn-color: #fff;
  --cz-btn-bg: var(--cz-primary);
  --cz-btn-border-color: var(--cz-primary);
  --cz-btn-hover-color: #fff;
  --cz-btn-hover-bg: var(--cz-primary-text-emphasis);
  --cz-btn-hover-border-color: var(--cz-primary-text-emphasis);
  border-radius: 50rem;
}

.alpha-account-page .btn-default,
.alpha-account-page a.btn-default,
.alpha-account-page .btn-secondary,
.alpha-account-page a.btn-secondary,
.alpha-account-form .btn-default,
.alpha-account-form a.btn-default,
.alpha-account-page span.btn-default,
.alpha-account-page .btn-outline-secondary,
.alpha-account-page span.btn-outline-secondary {
  --cz-btn-color: var(--cz-body-color);
  --cz-btn-bg: transparent;
  --cz-btn-border-color: var(--cz-border-color);
  --cz-btn-hover-color: var(--cz-body-color);
  --cz-btn-hover-bg: var(--cz-tertiary-bg, #f8f9fa);
  --cz-btn-hover-border-color: var(--cz-border-color);
  border-radius: 50rem;
}

.alpha-account-page .btn,
.alpha-account-page span.btn {
  gap: .15rem;
  min-height: 2.5rem;
  padding: .5rem 1.15rem;
  font-weight: 600;
}

.alpha-account-page .btn .glyphicon:not([class*="ci-"]),
.alpha-account-page span.btn .glyphicon:not([class*="ci-"]) {
  display: none;
}

.alpha-account-page .btn [class*="ci-"],
.alpha-account-page span.btn [class*="ci-"] {
  display: inline-flex;
  line-height: 1;
}

.alpha-account-form .addressbook .card,
.alpha-account-form .addressbook .card-primary,
.alpha-account-form .addressbook .card-info {
  border: 1px solid var(--cz-border-color);
  border-radius: 1rem;
  background: var(--cz-body-bg, #fff);
  box-shadow: none;
  overflow: hidden;
  height: 100%;
}

.alpha-account-form .addressbook .card-header {
  background: transparent;
  border-bottom: 1px solid var(--cz-border-color);
  font-size: .9375rem;
  padding: .85rem 1rem;
}

.alpha-account-form .addressbook .card-body {
  font-size: .875rem;
  padding: 1rem;
}

.alpha-account-form .addressbook .card-footer {
  background: transparent;
  border-top: 1px solid var(--cz-border-color);
  padding: .75rem 1rem;
}

.alpha-account-form .addressbook .card-footer .btn {
  border-radius: 50rem;
}

.alpha-account-page .address_book_details,
.alpha-account-form.address_book_details {
  border: 1px solid var(--cz-border-color);
  border-radius: 1.25rem;
  padding: 1rem;
  background: var(--cz-body-bg, #fff);
}

@media (min-width: 768px) {
  .alpha-account-page .address_book_details,
  .alpha-account-form.address_book_details {
    padding: 1.25rem 1.5rem;
  }
}

.alpha-account-page .address_book_details .form-control,
.alpha-account-page .address_book_details .form-select {
  min-height: 2.75rem;
}

.alpha-account-page .address_book_details .control-label,
.alpha-account-page .address_book_details .form-label {
  font-weight: 600;
  font-size: .875rem;
}

.alpha-account-page .address_book_details .inputRequirement,
.alpha-account-page .address_book_details .form-control-feedback.glyphicon,
.alpha-account-page .address_book_details span.glyphicon.glyphicon-asterisk {
  display: none;
}

/* ========== Checkout ========== */
.alpha-checkout-page .card,
.alpha-checkout-page .card-primary,
.alpha-checkout-page .card-info,
.alpha-checkout-page .card-warning {
  border: 0;
  border-radius: 1.25rem;
  background: var(--cz-tertiary-bg, #f8f9fa);
  box-shadow: none;
}

.alpha-checkout-page .card-header {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--cz-border-color);
  font-weight: 600;
  padding: 1rem 1.25rem .75rem;
}

.alpha-checkout-page .card-body {
  padding: 1rem 1.25rem 1.25rem;
}

.alpha-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--cz-tertiary-bg, #e9ecef);
  color: var(--cz-secondary-color);
  font-size: .8125rem;
  font-weight: 600;
  flex-shrink: 0;
}

.alpha-step-num.is-active {
  background: var(--cz-primary);
  color: #fff;
}

.alpha-checkout-steps a {
  color: inherit;
}

.alpha-checkout-page .btn-success,
.alpha-checkout-page .btn-info,
.alpha-checkout-page .btn-primary,
.alpha-checkout-page a.btn-success,
.alpha-checkout-page a.btn-info {
  border-radius: 50rem;
}

.alpha-checkout-page .btn-success,
.alpha-checkout-page a.btn-success {
  --cz-btn-color: #fff;
  --cz-btn-bg: var(--cz-primary);
  --cz-btn-border-color: var(--cz-primary);
  --cz-btn-hover-color: #fff;
  --cz-btn-hover-bg: var(--cz-primary-text-emphasis);
  --cz-btn-hover-border-color: var(--cz-primary-text-emphasis);
}

.alpha-checkout-page .form-group {
  margin-bottom: 1rem;
}

.alpha-checkout-page .table > :not(caption) > * > * {
  padding: .75rem .5rem;
}

.alpha-wishlist-grid .wishlist_container .thumbnail,
.alpha-wishlist-grid .wishlist_productbox {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  height: 100%;
  box-shadow: none;
}

.alpha-wishlist-grid .wishlist_container img {
  max-height: 100%;
  width: auto;
  object-fit: contain;
  margin-bottom: 0;
}

/* ---- Compare modal (Alpha) ---- */
#ProdCompare .modal-content {
  border-radius: 1.25rem;
  overflow: hidden;
}

#ProdCompare .modal-header {
  padding: 1.25rem 1.25rem 0;
}

#ProdCompare .modal-body {
  padding: 1rem 1.25rem 1.5rem;
}

#ProdCompare .alpha-cmp-wrap {
  margin: 0 -.25rem;
}

#ProdCompare .alpha-cmp-table {
  --bs-table-bg: transparent;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 36rem;
}

#ProdCompare .alpha-cmp-table > tbody > tr > th,
#ProdCompare .alpha-cmp-table > tbody > tr > td {
  border-color: var(--cz-border-color);
  vertical-align: top;
  padding: .85rem .75rem;
  background: transparent;
}

#ProdCompare .alpha-cmp-label {
  width: 8.5rem;
  min-width: 7rem;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--cz-body-color);
  background: var(--cz-tertiary-bg, rgba(0, 0, 0, .03));
  border-radius: .5rem 0 0 .5rem;
}

#ProdCompare .alpha-cmp-products > th,
#ProdCompare .alpha-cmp-products > td {
  border-bottom-width: 0;
  background: transparent;
}

#ProdCompare .alpha-cmp-col {
  min-width: 11rem;
  max-width: 14rem;
  width: 14rem;
}

#ProdCompare .alpha-cmp-card {
  position: relative;
  display: block;
  min-height: 20rem;
  padding: 1.75rem .75rem 3.5rem;
  border: 1px solid var(--cz-border-color);
  border-radius: 1rem;
  background: var(--cz-body-bg);
  text-align: center;
}

#ProdCompare .alpha-cmp-remove {
  position: absolute;
  top: .5rem;
  right: .5rem;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

#ProdCompare .alpha-cmp-img {
  max-width: 7.5rem;
}

#ProdCompare .alpha-cmp-img img {
  max-height: 6.5rem;
  width: auto;
  object-fit: contain;
}

#ProdCompare .alpha-cmp-name {
  color: var(--cz-body-color);
  font-size: .875rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.5em;
}

#ProdCompare .alpha-cmp-name:hover {
  color: var(--cz-primary);
}

#ProdCompare .alpha-cmp-price {
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.3;
  min-height: 3.2em;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  column-gap: .35rem;
}

#ProdCompare .alpha-cmp-price del,
#ProdCompare .alpha-cmp-price s,
#ProdCompare .alpha-cmp-price strike {
  font-weight: 500;
  opacity: .65;
  font-size: .8125rem;
}

#ProdCompare .alpha-cmp-actions {
  position: absolute;
  left: .75rem;
  right: .75rem;
  bottom: .75rem;
  margin-top: 0;
}

#ProdCompare .alpha-cmp-actions .btn {
  border-radius: 50rem;
}

#ProdCompare .alpha-cmp-footer > th,
#ProdCompare .alpha-cmp-footer > td {
  border-top-width: 0;
  vertical-align: bottom;
  background: transparent;
}

#ProdCompare .alpha-cmp-footer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 5.5rem;
  padding: .85rem .75rem;
  border: 1px solid var(--cz-border-color);
  border-radius: 1rem;
  background: var(--cz-body-bg);
  text-align: center;
}

#ProdCompare .alpha-cmp-footer-card .alpha-cmp-price {
  min-height: 2.6em;
}

#ProdCompare .alpha-cmp-footer-card .alpha-cmp-actions {
  position: static;
  left: auto;
  right: auto;
  bottom: auto;
}

#ProdCompare .alpha-cmp-cell {
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--cz-body-color);
  max-width: 14rem;
}

#ProdCompare .alpha-cmp-cell img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 767.98px) {
  #ProdCompare .modal-dialog {
    margin: .5rem;
  }

  #ProdCompare .alpha-cmp-col {
    min-width: 10rem;
    max-width: 12rem;
    width: 12rem;
  }
}

/* Contact us (Cartzilla contact-v3) */
.alpha-contact-page .alpha-contact-media {
  min-height: 18rem;
}

@media (min-width: 768px) {
  .alpha-contact-page .alpha-contact-media {
    min-height: 100%;
  }
}

.alpha-contact-page .form-check-input {
  margin-top: .2rem;
}

.alpha-contact-page .inputRequirement,
.alpha-contact-page .form-control-feedback.glyphicon {
  display: none;
}

.alpha-contact-success-icon {
  width: 4rem;
  height: 4rem;
}

.alpha-contact-success-actions .btn,
.alpha-contact-page .alpha-contact-actions .btn {
  border-radius: var(--cz-border-radius-pill, 50rem);
}


/* ---- One-page checkout: Cartzilla v2 layout (container + row + sticky summary) ---- */
.alpha-onepage-checkout,
.alpha-review-write {
  --opc-gap: .85rem;
  --opc-section: 1.25rem;
  --opc-heading-gap: 2.25rem;
  --opc-label-h: 1rem;
  --opc-control-h: 3rem;
  --opc-radius: var(--alpha-field-radius);
  --opc-fine-size: .8125rem;
  --opc-fine-lh: 1.5;
  --opc-radius-lg: .75rem;
  --opc-line: rgba(23, 34, 50, .12);
  --opc-muted: var(--cz-secondary-color, #6c757d);
  --opc-aside-bg: var(--bs-tertiary-bg, #f5f7fa);
  --opc-sticky-pull: 5.25rem; /* section pt-4 + h1 + mb-4: grey summary starts at the header bottom */
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
}

.alpha-onepage-checkout .opc-checkout-section {
  position: relative;
  z-index: 0;
}

.alpha-onepage-checkout .opc-shell {
  align-items: flex-start;
}

.alpha-onepage-checkout .opc-main {
  position: relative;
  z-index: 1;
}

.alpha-onepage-checkout .opc-aside {
  position: relative;
  z-index: 1;
}

.alpha-onepage-checkout .opc-summary {
  position: static;
}

@media (min-width: 992px) {
  .alpha-onepage-checkout .opc-shell {
    --bs-gutter-x: 1.5rem;
  }

  /* Shopify: grey summary runs to the right window edge (shadow clipped to the right only) with a line on the left */
  .alpha-onepage-checkout .opc-aside {
    margin-top: calc(-1 * var(--opc-sticky-pull));
    align-self: stretch;
    background: var(--opc-aside-bg);
    border-left: 1px solid var(--opc-line);
    box-shadow: 0 0 0 100vmax var(--opc-aside-bg);
    clip-path: inset(0 -100vmax 0 0);
    padding-left: clamp(1rem, 2vw, 1.5rem);
    padding-right: clamp(.75rem, 1.5vw, 1.25rem);
    padding-bottom: 3rem;
  }

  .alpha-onepage-checkout .opc-aside-sticky {
    top: 0;
    padding-top: var(--opc-sticky-pull);
  }

  /* Visible payment/checkout error: keep the grey column below it */
  .alpha-onepage-checkout:has(.opc-alert:not([style*="none"])) .opc-aside {
    margin-top: 0;
  }

  .alpha-onepage-checkout:has(.opc-alert:not([style*="none"])) .opc-aside-sticky {
    padding-top: 1.5rem;
  }
}

/* Strict vertical rhythm */
.alpha-onepage-checkout .opc-heading,
.alpha-review-write .opc-heading {
  margin: 0 0 .75rem;
  padding: 0;
  line-height: 1.35;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--cz-heading-color, #172232);
}

.alpha-onepage-checkout .opc-group,
.alpha-onepage-checkout .opc-section,
.alpha-review-write .opc-group {
  margin: 0 0 var(--opc-section);
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}

.alpha-onepage-checkout .opc-stack > .opc-section {
  margin-bottom: var(--opc-heading-gap);
}

.alpha-onepage-checkout .opc-stack > .opc-section:last-child {
  margin-bottom: 0;
}

/* Heading sits on its fields: cancel the first row's gutter-top so the gap below is always the heading margin */
.alpha-onepage-checkout .opc-section > .opc-heading + .row {
  margin-top: calc(-1 * var(--cz-gutter-y));
}

.alpha-onepage-checkout .opc-main .row {
  --bs-gutter-x: var(--opc-gap);
  --bs-gutter-y: var(--opc-gap);
  margin-top: 0;
  margin-bottom: 0;
  align-items: start;
}

.alpha-onepage-checkout .opc-main .row > [class*="col"] {
  /* keep Bootstrap gutter-y via margin-top; only kill leftover bottom margins */
  margin-bottom: 0;
}

.alpha-onepage-checkout .opc-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0;
}

.alpha-onepage-checkout .opc-label {
  display: block;
  box-sizing: border-box;
  height: var(--opc-label-h);
  margin: 0 0 .35rem;
  padding: 0;
  font-size: .75rem;
  font-weight: 500;
  line-height: var(--opc-label-h);
  color: var(--opc-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.alpha-onepage-checkout .opc-control {
  display: block;
  min-height: var(--opc-control-h);
}

.alpha-onepage-checkout .form-control,
.alpha-onepage-checkout .form-select,
.alpha-onepage-checkout textarea.form-control,
.alpha-review-write textarea.form-control,
.alpha-onepage-checkout .choices__inner,
.alpha-onepage-checkout .chkout_payment_sub_table input[type="text"] {
  box-sizing: border-box;
  min-height: var(--opc-control-h);
  height: var(--opc-control-h);
  margin: 0;
  padding: .45rem .7rem;
  border: 1px solid rgba(23, 34, 50, .18);
  border-radius: var(--opc-radius);
  background: #fff;
  box-shadow: none;
  font-size: .9rem;
  line-height: 1.25;
}

.alpha-onepage-checkout textarea.form-control,
.alpha-review-write textarea.form-control {
  height: auto;
  min-height: 4.5rem;
}

.alpha-onepage-checkout .form-control:focus,
.alpha-onepage-checkout .form-select:focus,
.alpha-onepage-checkout textarea.form-control:focus,
.alpha-onepage-checkout .opc-order-note textarea.form-control:focus,
.alpha-review-write textarea.form-control:focus {
  border-color: var(--cz-primary);
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--cz-primary) 18%, transparent);
}

.alpha-onepage-checkout .choices {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

/* Choices closed value: vertical center (same fix as PDP attrs) */
.alpha-onepage-checkout .choices[data-type*="select-one"] .choices__inner,
.alpha-onepage-checkout .choices[data-type*="select-one"] .form-select {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: var(--opc-control-h);
  height: var(--opc-control-h);
  padding-top: 0;
  padding-bottom: 0;
  padding-left: .7rem;
  padding-right: 2.25rem;
  line-height: 1.25;
}

.alpha-onepage-checkout .choices__list--single {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  min-height: 0;
}

.alpha-onepage-checkout .choices__list--single .choices__item {
  margin: 0;
  padding: 0;
  line-height: 1.25;
}

/* Floating labels: label inside the field, large while empty, small at the top when focused/filled.
   Inputs without a placeholder attribute never match :placeholder-shown, so they stay floated. */
.alpha-onepage-checkout .opc-field:has(.form-control, .form-select) {
  position: relative;
}

.alpha-onepage-checkout .opc-field:has(.form-control, .form-select) > .opc-label {
  position: absolute;
  z-index: 2;
  top: .5rem;
  left: calc(.7rem + 1px);
  right: .7rem;
  margin: 0;
  font-size: .72rem;
  font-weight: 400;
  pointer-events: none;
  transition: top .15s ease, transform .15s ease, font-size .15s ease;
}

.alpha-onepage-checkout .opc-field:has(.form-select) > .opc-label {
  right: 2.25rem;
}

.alpha-onepage-checkout .opc-field:has(.form-control:placeholder-shown:not(:focus)) > .opc-label {
  top: 50%;
  transform: translateY(-50%);
  font-size: .9rem;
}

.alpha-onepage-checkout .opc-field input.form-control {
  padding-top: 1.15rem;
  padding-bottom: .2rem;
}

.alpha-onepage-checkout .opc-field input.form-control::placeholder {
  color: transparent;
}

.alpha-onepage-checkout .opc-field .choices[data-type*="select-one"] .choices__inner,
.alpha-onepage-checkout .opc-field .choices[data-type*="select-one"] .form-select {
  padding-top: 1rem;
}

.alpha-onepage-checkout .opc-checks {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.25rem;
  margin: var(--opc-gap) 0 0;
  padding: 0;
}

.alpha-onepage-checkout .form-check,
.alpha-onepage-checkout .opc-checks .form-check {
  display: inline-flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 0;
  min-height: 0;
  padding: 0;
}

.alpha-onepage-checkout .form-check .form-check-input {
  float: none;
  position: static;
  flex-shrink: 0;
  width: 1.05em;
  height: 1.05em;
  margin: .15rem 0 0;
}

.alpha-onepage-checkout .form-check-label {
  margin: 0;
  padding-top: 1px;
  font-size: .875rem;
  line-height: 1.45;
  color: var(--opc-muted);
}

/* Main column is a flex column so the ship-to-other-address question (inside the platform login box)
   can sit right above the alternate address fields. Flex margins do not collapse - see opc-group below. */
.alpha-onepage-checkout .opc-login-wrap,
.alpha-onepage-checkout .opc-login-wrap > .checkout_loginbox {
  display: contents;
}

.alpha-onepage-checkout .opc-login {
  margin: 0 0 var(--opc-heading-gap);
}

.alpha-onepage-checkout .opc-flow .opc-ship-diff {
  order: 1;
}

.alpha-onepage-checkout .opc-flow > .ShippingAddressSec,
.alpha-onepage-checkout .opc-flow > .opc-group {
  order: 2;
}

.alpha-onepage-checkout .ShippingAddressSec #shipping_fields {
  margin: var(--opc-heading-gap) 0 0;
}

.alpha-onepage-checkout .opc-flow > .opc-group {
  margin: var(--opc-heading-gap) 0 0;
}

.alpha-onepage-checkout .opc-login-details {
  margin: 0;
}

.alpha-onepage-checkout .opc-login-summary {
  cursor: pointer;
  list-style: none;
  margin: 0;
  padding: 0;
  min-height: 1.25rem;
  line-height: 1.25rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--cz-primary);
  text-decoration: underline;
  text-underline-offset: .14em;
}

.alpha-onepage-checkout .opc-login-summary::-webkit-details-marker {
  display: none;
}

.alpha-onepage-checkout .opc-login-panel {
  margin-top: var(--opc-gap);
}

.alpha-onepage-checkout .opc-login-panel .row {
  align-items: end;
}

.alpha-onepage-checkout .opc-hint {
  margin: 0 0 var(--opc-gap);
  padding: 0;
  font-size: .84rem;
  line-height: 1.25rem;
  color: var(--opc-muted);
}

.alpha-onepage-checkout .opc-ship-diff {
  margin: var(--opc-section) 0 0;
  padding: 0;
  min-height: 1.25rem;
}

.alpha-onepage-checkout .opc-radio-inline {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 1.25rem;
  font-size: .875rem;
  line-height: 1.45;
}

.alpha-onepage-checkout .opc-radio-inline input[type="radio"] {
  width: 1.05em;
  height: 1.05em;
  margin: 0;
  accent-color: var(--cz-primary);
  cursor: pointer;
}

.alpha-onepage-checkout .opc-radio-inline label {
  margin-bottom: 0;
  padding-top: 1px;
  cursor: pointer;
}

.alpha-onepage-checkout .opc-login .btn {
  box-sizing: border-box;
  min-height: var(--opc-control-h);
  height: var(--opc-control-h);
  margin: 0;
  padding: 0 .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Shopify-style choice lists (shipping / gift wrap / payment): one bordered box, radio left, price right.
   The platform puts price + radio in the last cell, so that cell is display:contents and the radio is ordered first. */
.alpha-onepage-checkout .opc-choicebox,
.alpha-review-write .opc-choicebox {
  border: 1px solid rgba(23, 34, 50, .18);
  border-radius: var(--opc-radius);
  background: #fff;
  overflow: hidden;
}

.alpha-onepage-checkout .opc-choicebox table {
  --bs-table-border-width: 0;
  --bs-table-bg: transparent;
  --bs-table-striped-bg: transparent;
  --bs-table-hover-bg: transparent;
  --bs-table-accent-bg: transparent;
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.alpha-onepage-checkout .opc-choicebox tbody {
  display: block;
}

.alpha-onepage-checkout .opc-choicebox .table > :not(caption) > * > * {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.alpha-onepage-checkout .opc-choicebox td {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1rem;
  border-top: 1px solid var(--opc-line);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--cz-heading-color, #172232);
  cursor: pointer;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option > td:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option > td:last-child {
  display: contents;
  white-space: nowrap;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option strong {
  font-weight: inherit;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option input[type="radio"] {
  order: -1;
  flex-shrink: 0;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  float: none;
  accent-color: var(--cz-primary);
  cursor: pointer;
}

/* Inter's cap height sits ~1px above the line centre: lift the radio where name + price are plain text */
.alpha-onepage-checkout .opc-choicebox--shipping tr.opc-shipping-option input[type="radio"],
.alpha-onepage-checkout .opc-choicebox--gift tr.opc-shipping-option input[type="radio"] {
  transform: translateY(-1px);
}

/* Carrier name: small grey line above its option(s), same block as the option */
.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-group:not(.chkout_payment_sub) {
  display: block;
  padding: .8rem 1rem 0 2.8rem;
  border-top: 1px solid var(--opc-line);
  font-size: .75rem;
  line-height: 1.3;
  color: var(--opc-muted);
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-group:not(.chkout_payment_sub) strong {
  font-weight: 500;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-group:not(.chkout_payment_sub) + tr.opc-shipping-option {
  padding-top: .15rem;
  border-top: 0;
}

.alpha-onepage-checkout .opc-choicebox tbody > tr:first-child {
  border-top: 0;
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option:has(input[type="radio"]:checked),
.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-group:not(.chkout_payment_sub):has(+ tr.opc-shipping-option input[type="radio"]:checked) {
  background: var(--cz-primary-bg-subtle);
}

/* Payment module logos (QuickPay title = row of card logos): same height, wrap on small screens */
.alpha-onepage-checkout #paymentMethods td img,
.alpha-payment-logos img {
  display: inline-block;
  height: 1.25rem;
  width: auto;
  max-width: 100%;
  margin: .1rem .3rem .1rem 0;
  vertical-align: middle;
}

.alpha-onepage-checkout .opc-choicebox--payment:not(:has(input[type="radio"])) {
  display: none;
}

.alpha-onepage-checkout .PaymentSec:not(:has(input[type="radio"])) {
  display: none;
}

.alpha-onepage-checkout .opc-choicebox [id^="show_address_"] {
  margin: 0;
  padding: .8rem 1rem;
  border-top: 1px solid var(--opc-line);
  font-size: .8125rem;
  line-height: 1.4;
}

.alpha-onepage-checkout .opc-choicebox [id^="show_address_"] > [class*="col-"] {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.alpha-onepage-checkout .opc-choicebox [id^="show_address_"] > [class*="col-"]:empty {
  display: none;
}

.alpha-onepage-checkout .opc-choicebox [id^="show_address_"] strong {
  font-weight: 500;
}

.alpha-onepage-checkout [id^="show_address_"] table,
.alpha-onepage-checkout [id^="show_address_"] td {
  border: 0;
  padding: 0;
  display: block;
  width: 100%;
}

.alpha-onepage-checkout [id^="show_address_"] .form-control,
.alpha-onepage-checkout [id^="show_address_"] input[type="text"] {
  width: 100%;
  margin-top: .35rem;
}

/* Extra payment fields (fx PO/EAN): only under the selected method (or a lone method without radio), grey panel */
.alpha-onepage-checkout .opc-choicebox tr.chkout_payment_sub {
  display: none;
  padding: 1rem;
  border-top: 1px solid var(--opc-line);
  background: var(--opc-aside-bg);
}

.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option:has(input[type="radio"]:checked) + tr.chkout_payment_sub,
.alpha-onepage-checkout .opc-choicebox tr.opc-shipping-option:not(:has(input[type="radio"])) + tr.chkout_payment_sub {
  display: block;
}

.alpha-onepage-checkout .chkout_payment_sub_table {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.alpha-onepage-checkout .chkout_payment_sub_table tbody {
  display: contents;
}

.alpha-onepage-checkout .chkout_payment_sub_table tr {
  display: block;
}

.alpha-onepage-checkout .chkout_payment_sub_table td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  font-size: .75rem;
  font-weight: 500;
  color: var(--opc-muted);
}

.alpha-onepage-checkout .chkout_payment_sub_table input[type="text"] {
  width: 100%;
  margin: .3rem 0 0;
}

.alpha-onepage-checkout .opc-tools .subtitle-h4 {
  margin: 0 0 .35rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--cz-heading-color, #172232);
}

.alpha-onepage-checkout .opc-tools .subtitle-h4 b {
  font-weight: inherit;
}

.alpha-onepage-checkout .opc-tools .couponbox > div {
  margin: 0;
}

.alpha-onepage-checkout .opc-tools .couponbox .form-group.row {
  display: flex;
  flex-wrap: nowrap;
  gap: .5rem;
  margin: 0;
}

.alpha-onepage-checkout .opc-tools .couponbox .form-group.row > * {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.alpha-onepage-checkout .opc-tools .couponbox .form-group.row > .col-sm-9 {
  flex: 0 0 auto;
}

.alpha-onepage-checkout .opc-tools #voucherRedeem {
  height: var(--opc-control-h);
  padding: 0 1.1rem;
  border-radius: var(--cz-border-radius-pill, 50rem);
  white-space: nowrap;
}

.alpha-onepage-checkout .opc-tools #voucherRedeem .glyphicon {
  display: none;
}

.alpha-onepage-checkout .opc-comment textarea {
  width: 100%;
}

.alpha-onepage-checkout .opc-edit {
  font-size: .8125rem;
  line-height: 1.25rem;
  color: var(--cz-primary);
  text-decoration: underline;
  text-underline-offset: .12em;
}

/* Cartzilla order summary: list lines + estimated total + order note */
.alpha-onepage-checkout .opc-cart-item {
  border-bottom: 0;
  margin-bottom: .85rem;
  padding-bottom: 0;
}

.alpha-onepage-checkout .opc-cart-items .opc-cart-item:last-child {
  margin-bottom: 0;
}

.alpha-onepage-checkout .opc-cart-thumb img {
  width: 64px;
  max-width: 64px;
  height: auto;
  border-radius: var(--opc-radius);
  background: #fff;
}

.alpha-onepage-checkout .opc-cart-body .prdt_name a {
  color: var(--cz-link-color);
}

.alpha-onepage-checkout .opc-cart-body .prdt_name a:hover {
  color: var(--cz-link-hover-color);
  text-decoration: underline;
}

.alpha-onepage-checkout .opc-total-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 0;
  padding: 0;
}

.alpha-onepage-checkout .opc-total-list li {
  gap: 1rem;
}

.alpha-onepage-checkout .opc-estimated-total .h5 {
  font-weight: 600;
  line-height: 1.2;
}

.alpha-onepage-checkout .opc-order-note .form-label {
  display: block;
  margin-bottom: .35rem;
  font-size: .875rem;
  font-weight: 500;
  color: var(--cz-heading-color, #172232);
}

.alpha-onepage-checkout .opc-order-note .form-control,
.alpha-onepage-checkout .opc-order-note textarea.form-control {
  min-height: 5.5rem;
  height: auto;
  padding: .75rem 1rem;
  border-radius: var(--opc-radius);
  border: 1px solid rgba(23, 34, 50, .18);
  background: #fff;
  box-shadow: none;
  font-size: .9rem;
  line-height: 1.4;
  resize: vertical;
}

.alpha-onepage-checkout .opc-agreements {
  margin: 0 0 .75rem;
  padding: 0;
  text-align: left;
}

.alpha-onepage-checkout .opc-agreements .form-check {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .5rem;
  margin: 0 0 .85rem;
  font-size: var(--opc-fine-size);
  line-height: var(--opc-fine-lh);
  min-height: 0;
  padding: 0;
  padding-left: 0;
  text-align: left;
}

.alpha-onepage-checkout .opc-agreements .form-check-input {
  float: none;
  position: static;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin: calc((var(--opc-fine-lh) * 1em - 1rem) / 2) 0 0;
  pointer-events: auto;
  cursor: pointer;
}

.alpha-onepage-checkout .opc-agreements .form-check-label {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  color: var(--opc-muted);
  text-align: left;
  cursor: pointer;
}

.alpha-onepage-checkout .opc-terms-link {
  color: var(--cz-primary);
  text-decoration: underline;
  text-underline-offset: .12em;
}

.alpha-onepage-checkout .opc-confirm-wrap {
  margin-top: .25rem;
  padding: 0;
  width: 100%;
}

.alpha-onepage-checkout .opc-confirm-wrap #checkoutButton {
  display: block;
  width: 100%;
  margin: 0;
}

/* Footer order: note, button (own breathing room), return policy, terms checkbox.
   Platform wrappers are unwrapped so their children can be ordered next to .return_policy. */
.alpha-onepage-checkout .opc-summary-foot {
  display: flex;
  flex-direction: column;
}

.alpha-onepage-checkout .opc-summary-foot .checkoutbtnbox,
.alpha-onepage-checkout .opc-summary-foot #checkoutYesScript,
.alpha-onepage-checkout .opc-summary-foot #checkoutYesScript > .col-sm-6:nth-child(2),
.alpha-onepage-checkout .opc-summary-foot #checkoutButtonContainer {
  display: contents;
}

.alpha-onepage-checkout .opc-summary-foot .opc-confirm-wrap {
  order: 1;
  margin: .5rem 0 1.5rem;
}

.alpha-onepage-checkout .opc-summary-foot .return_policy {
  order: 2;
  font-size: var(--opc-fine-size);
  line-height: var(--opc-fine-lh);
}

.alpha-onepage-checkout .opc-summary-foot .opc-agreements {
  order: 3;
  margin: 1rem 0 0;
}

.alpha-onepage-checkout .opc-summary-foot .opc-agreements .form-check {
  margin-bottom: 0;
}

.alpha-onepage-checkout .opc-summary-foot .checkoutbtnbox,
.alpha-onepage-checkout .opc-summary-foot #checkoutYesScript,
.alpha-onepage-checkout .opc-summary-foot #checkoutButtonContainer {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.alpha-onepage-checkout .opc-summary-foot #checkoutYesScript.row,
.alpha-onepage-checkout .opc-summary-foot .checkoutbtnbox .row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
  width: 100%;
}

.alpha-onepage-checkout .checkoutbtnbox .col-sm-6:first-child,
.alpha-onepage-checkout .checkoutbtnbox .col-md-6:first-child {
  display: none;
}

.alpha-onepage-checkout .checkoutbtnbox .col-sm-6,
.alpha-onepage-checkout .checkoutbtnbox .col-md-6 {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}

.alpha-onepage-checkout .checkout_condition_agreement_table,
.alpha-onepage-checkout .checkout_condition_agreement_table td,
.alpha-onepage-checkout .checkout_condition_agreement_table tr {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
}

.alpha-onepage-checkout .checkout_condition_agreement_table td {
  padding: .3rem 0;
  text-align: left !important;
  font-size: .84rem;
  line-height: 1.3;
  vertical-align: middle;
}

.alpha-onepage-checkout .btn,
.alpha-onepage-checkout .btn-success,
.alpha-onepage-checkout .btn-primary,
.alpha-onepage-checkout a.btn-success,
.alpha-onepage-checkout a.btn-primary {
  --cz-btn-color: #fff;
  --cz-btn-bg: var(--cz-primary);
  --cz-btn-border-color: var(--cz-primary);
  --cz-btn-hover-color: #fff;
  --cz-btn-hover-bg: var(--cz-primary-text-emphasis);
  --cz-btn-hover-border-color: var(--cz-primary-text-emphasis);
  border-radius: 50rem;
  box-shadow: none;
}

.alpha-onepage-checkout #checkoutButton,
.alpha-onepage-checkout .checkoutbtnbox .btn {
  width: 100%;
  min-height: 2.85rem;
  margin-top: 0;
  font-weight: 600;
}

.alpha-onepage-checkout .return_policy .btn,
.alpha-onepage-checkout .return_policy a.btn {
  display: inline;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cz-primary);
  text-decoration: underline;
  font-size: .8125rem;
  line-height: 1.25rem;
}

.alpha-onepage-checkout .glyphicon {
  display: none !important;
}

.alpha-onepage-checkout .card,
.alpha-onepage-checkout .card-body,
.alpha-onepage-checkout .card-header {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.alpha-onepage-checkout .inputRequirement,
.alpha-onepage-checkout .form-control-feedback,
.alpha-onepage-checkout .form-group {
  margin: 0;
}

.alpha-onepage-checkout .inputRequirement,
.alpha-onepage-checkout .form-control-feedback {
  display: none;
}

.alpha-onepage-checkout .opc-address-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.alpha-onepage-checkout .opc-kicker {
  margin: 0 0 .35rem;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.alpha-onepage-checkout #company_part,
.alpha-onepage-checkout #company_part_shipping {
  margin: 0;
}

.alpha-onepage-checkout #company_part .checkout_express_create_account_fileds,
.alpha-onepage-checkout #company_part_shipping .checkout_express_create_account_fileds {
  margin: var(--cz-gutter-y) 0 0;
}

.alpha-onepage-checkout .ShippingAddressSec:empty,
.alpha-onepage-checkout #shipping_fields[style*="display:none"],
.alpha-onepage-checkout #shipping_fields[style*="display: none"] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 991.98px) {
  .alpha-onepage-checkout .opc-aside {
    order: -1;
    background: var(--opc-aside-bg);
    border-radius: var(--opc-radius-lg);
    padding: 1.15rem 1.15rem 1.35rem;
  }

  .alpha-onepage-checkout .opc-main .pe-lg-2 {
    padding-right: 0;
    margin-right: 0;
  }
}

/* Review pages (product_reviews, _info, _write): full width like product/review pages; core places the left boxes here */
body:has(.alpha-review-write) #columnLeft,
body:has(.alpha-review-write) .alpha-filter-bar,
body:has(.alpha-reviews-page) #columnLeft,
body:has(.alpha-reviews-page) .alpha-filter-bar {
  display: none;
}

body:has(.alpha-review-write) #bodyContent,
body:has(.alpha-reviews-page) #bodyContent {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.alpha-review-thumb {
  width: 80px;
  height: 80px;
  border: 1px solid var(--cz-border-color);
  border-radius: var(--alpha-field-radius);
  overflow: hidden;
  background: #fff;
}

.alpha-review-price del,
.alpha-review-price s {
  margin-right: .375rem;
}

.alpha-review-price .productSpecialPrice {
  color: var(--cz-heading-color);
  font-weight: 600;
}

.alpha-review-list > .alpha-review-item + .alpha-review-item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--cz-border-color);
}

/* Rating row inside the checkout choicebox: same padding and type as a shipping option row */
.alpha-review-write .alpha-rating-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1rem;
  font-size: .875rem;
  line-height: 1.4;
}

/* Star rating on radios: stars up to the checked one are lit; hover previews */
.alpha-rating-input {
  display: inline-flex;
  gap: .125rem;
}

.alpha-rating-input :where(label) {
  display: inline-flex;
  padding: .125rem;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--cz-warning);
  opacity: .25;
  cursor: pointer;
  transition: opacity .15s ease-in-out;
}

.alpha-rating-input :where(label:has(~ input:checked), input:checked + label) {
  opacity: 1;
}

.alpha-rating-input:hover label {
  opacity: .25;
}

.alpha-rating-input:hover label:is(:hover, :has(~ label:hover)) {
  opacity: 1;
}

.alpha-rating-input input:focus-visible + label {
  border-radius: var(--alpha-field-radius);
  box-shadow: var(--cz-focus-ring-x, 0) var(--cz-focus-ring-y, 0) var(--cz-focus-ring-blur, 0) var(--cz-focus-ring-width) var(--cz-focus-ring-color);
}

/* Core messageStack rows (legacy table + gif icon) shown as Bootstrap alerts */
td.messageStackError,
td.messageStackWarning,
td.messageStackSuccess {
  display: block;
  margin-bottom: 1rem;
  padding: .75rem 1rem;
  border: 1px solid;
  border-radius: var(--alpha-field-radius);
  font-size: .875rem;
}

td.messageStackError {
  color: var(--cz-danger-text-emphasis);
  background-color: var(--cz-danger-bg-subtle);
  border-color: var(--cz-danger-border-subtle);
}

td.messageStackWarning {
  color: var(--cz-warning-text-emphasis);
  background-color: var(--cz-warning-bg-subtle);
  border-color: var(--cz-warning-border-subtle);
}

td.messageStackSuccess {
  color: var(--cz-success-text-emphasis);
  background-color: var(--cz-success-bg-subtle);
  border-color: var(--cz-success-border-subtle);
}

td.messageStackError > img,
td.messageStackWarning > img,
td.messageStackSuccess > img {
  display: none;
}
