/*
*
* @category  : OpenCart
* @module    : Smart Checkout Upsell
* @author    : OCdevWizard <ocdevwizard@gmail.com>
* @copyright : Copyright (c) 2015, OCdevWizard
* @license   : http://license.ocdevwizard.com/Licensing_Policy.pdf
*
*/


.upsell-products-heading {
  font-size: 16px;
  margin-bottom: 15px;
  margin-left: 2px;
  margin-top: 18px;
  padding-top: 12px;
  font-weight: bold;
  border-top:1px solid #8bb03e;
}
.upsell-products-row {
  margin-right: -9px;
  margin-left: -14px;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom:1px solid #8bb03e;
}
#smcu-modal-body * {
  vertical-align: baseline;
  font-weight: inherit;
  font-family: inherit;
  font-style: inherit;
  font-size: 100%;
  border: 0 none;
  outline: 0;
  padding: 0;
  margin: 0;
  box-sizing: content-box;
}
#smcu-modal-body {
  background: #fff;
  max-width: 860px;
  width: 90%;
  margin: 0 auto;
  min-height: 100px;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}
#smcu-modal-body .modal-heading {
  text-align: left;
  background-color: #EDEDED;
  font-family: Arial, Tahoma, sans-serif;
  font-size: 20px;
  color: #333;
  font-weight: normal;
  border-bottom: 1px solid #ddd;
  padding: 0 20px;
  position: relative;
  min-height: 50px;
  line-height: 50px;
  overflow: hidden;
}
#smcu-modal-body .modal-close {
  width: 24px;
  height: 24px;
  background: url(close.png) no-repeat;
  right: 15px;
  top: 13px;
  position: absolute;
  opacity: 0.5;
  cursor: pointer !important;
}
#smcu-modal-body .modal-body {
  background: #fff;
  padding: 20px;
  overflow: auto;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
}
#smcu-modal-body .product-heading {
  font-family: Arial, Tahoma, sans-serif;
  font-size: 18px;
  color: #333;
  text-transform: uppercase;
  margin-bottom: 15px;
}
#smcu-modal-body .modal-body .modal-footer {
  float: left;
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
#smcu-modal-body .modal-footer {
  padding: 17px 20px 17px 20px;
  background-color: #EDEDED;
  position: relative;
  display: inline-block;
  border-top: 1px solid #ddd;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  box-sizing: border-box;
}

#smcu-modal-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

#smcu-modal-body .chevron {
  display: block;
  width: 14px;
  height: 14px;
  border-top: 3px solid #222;
  border-right: 3px solid #222;
  margin: auto;
}
#smcu-modal-body .chevron-left {
  transform: rotate(-135deg);
}
#smcu-modal-body .chevron-right {
  transform: rotate(45deg);
}
.smcu-modal-loadmask {
  position: absolute;
  z-index: 10000;
  width: 100%;
  height: 100%;
  background: #eeeeee;
  opacity: 0.4;
  left: 0;
  top: 0;
}
.smcu-modal-loadmask-loading {
  background: url(loading.svg) no-repeat center center;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10001;
  top: 0;
  left: 0;
}
/*
#smcu-modal-body .btn {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  font-family: Arial, Tahoma, sans-serif;
  font-weight: 400;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
  transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}
*/
#smcu-modal-body > .modal-footer {
  position: relative;
  display: block;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  padding: 16px 20px;
  -moz-border-radius: 0 0 6px 6px;
  -webkit-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  background: #EDEDED;
  overflow: hidden;
}
#smcu-modal-body > .modal-footer > button.btn + button.btn {
  margin-left: 7px;
}
#smcu-modal-body > .modal-footer > button.btn {
  -webkit-appearance: none;
  height: 38px;
  min-width: 160px;
  /* color: #333; */
  /* background: #fff; */
  /* border-color: #ccc; */
}
#smcu-modal-body > .modal-footer > button.go-button-bottom {
  float: right;
  /* color: #fff; */
  /* background: #5cb85c; */
  /* border-color: #4cae4c; */
}
#smcu-modal-body > .modal-footer > button.go-button-bottom:hover {
  /* background: #449d44; */
  /* border-color: #398439; */
}
#smcu-modal-body > .modal-footer > button.go-button-bottom:active {
  /* background: #398439; */
}
#smcu-modal-body > .modal-footer > button.close-button-bottom {
  float: left;
}
#smcu-modal-body > .modal-footer > button.close-button-bottom:hover {
  /* background: #e6e6e6; */
  /* border-color: #adadad; */
}
#smcu-modal-body > .modal-footer > button.close-button-bottom:active {
  /* background: #d4d0d0; */
}
#smcu-modal-body #check-data > #smcu-ajax-products {
  display: block;
  text-align: center;
  padding: 20px 20px 0px 20px;
  position: relative;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list {
  display: block;
  position: relative;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product {
  border: 1px solid #D9D9D9;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 15px;
  width: 44%;
  display: inline-block;
  position: relative;
  vertical-align: top;
  box-sizing: border-box;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list .smcu-modal-loadmask-loading {
  background:url(loading-small.svg) no-repeat center center;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10001;
  top: 0;
  left: 0;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .image {
  text-align: center;
  margin-bottom: 10px;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .name {
  position: relative;
  line-height: 1.1em;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .name a {
  font-size: 12px;
  line-height: 12px;
  color: #444;
  text-decoration: none;
  font-family: Arial, Tahoma, sans-serif;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .price {
  position: relative;
  font-size: 12px;
  color: #444;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .price .price-new {
  font-family: Arial, Tahoma, sans-serif;
  font-weight: 800;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .price .price-old {
  text-decoration: line-through;
  font-family: Arial, Tahoma, sans-serif;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .cart {
  position: relative;
  margin-top: 5px;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .cart > a {
  /* font-size: 11px; */
  line-height: 11px;
  /* padding: 4px 0px; */
  font-family: Arial, Tahoma, sans-serif;
  /* color: #FFF; */
  cursor: pointer;
  /* background: #16a085; */
  /* -moz-border-radius: 3px; */
  /* -webkit-border-radius: 3px; */
  /* border-radius: 3px; */
  -webkit-transition: background .50s;
  -moz-transition: background .50s;
  -o-transition: background .50s;
  transition: background .50s;
  width: 100%;
  display: inline-block;
  text-transform: uppercase;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .cart > a:hover {
  /* background: #2ecc71; */
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .name a:hover {
  text-decoration: underline;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product + .ajax-product  {
  margin-left: 5px;
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow {
  position: absolute;
  width: 93.3%;
  top: 50%;
  z-index: 1;
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button {
  width: 32px;
  height: 32px;
  /* padding: 0; */
  /* font-size: 14px; */
  line-height: 32px;
  text-align: center;
  font-family: inherit;
  /* color: #FFF; */
  cursor: pointer;
  /* background: #16a085; */
  /* -moz-border-radius: 50%; */
  /* -webkit-border-radius: 50%; */
  /* border-radius: 50%; */
  -webkit-transition: background .50s;
  -moz-transition: background .50s;
  -o-transition: background .50s;
  transition: background .50s;
  box-sizing: border-box;
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:hover {
  /* background: #2ecc71; */
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:first-child {
  position: absolute;
  left: 0;
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:last-child {
  position: absolute;
  right: 0;
}
#smcu-modal-body .alert {
  background-color: #ecf3e6;
  border: 1px solid transparent;
  border-color: #e3ebd5;
  color: #8fbb6c;
  padding: 8px 14px 8px 14px;
  margin-bottom: 15px;
  border-radius: 4px;
  font-size: 12px;
}
#smcu-modal-body .alert a {
  color: #8fbb6c;
  text-decoration: underline;
}
#smcu-modal-body .alert .fa {
  font-family: FontAwesome;
}
#smcu-modal-body .alert button.close {
  /* font-size: 21px; */
}
.info-text-block {
  text-align: center;
  line-height: 18px;
}
.info-text-block.pos-1 {
  margin: 0px 0 10px 0 !important;
}
.info-text-block.pos-2 {
  margin: 10px 0 10px 0 !important;
}
.info-text-block.pos-3 {
  margin: 10px 0 0px 0 !important;
}
@media (min-width: 320px) and (max-width: 359px) {
  #smcu-modal-body {
    width: 295px;
  }
  #smcu-modal-body > .modal-footer > button.btn {
    width: 100%;
    float: none !important;
    min-width: 0;
  }
  #smcu-modal-body > .modal-footer > button.btn + button.btn {
    margin: 6px 0 0 0;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow {
    position: relative;
    width: 100%;
    padding-bottom: 20px;
    text-align: center;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:first-child,
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:last-child {
    position: relative;
    display: inline-block;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product + .ajax-product {
    margin: 5px 0 0 0;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list .smcu-modal-loadmask-loading {
    left: 95px !important;
  }
}
@media (min-width: 360px) and (max-width: 532px) {
  #smcu-modal-body {
    width: 330px;
  }
  #smcu-modal-body > .modal-footer > button.btn {
    width: 100%;
    float: none !important;
    min-width: 0;
  }
  #smcu-modal-body > .modal-footer > button.btn + button.btn {
    margin: 6px 0 0 0;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow {
    position: relative;
    width: 100%;
    padding-bottom: 20px;
    text-align: center;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:first-child,
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:last-child {
    position: relative;
    display: inline-block;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product + .ajax-product {
    margin: 5px 0 0 0;
  }
  #smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list .smcu-modal-loadmask-loading {
    left: 105px !important;
  }
}
@media (min-width: 533px) and (max-width: 603px) {
  #smcu-modal-body {
    width: 550px;
  }
  #smcu-modal-body > .modal-footer > button.btn {
    min-width: 164px;
  }
}

/* ==========================================================================
   Stove World UK theme alignment  (added by Jon, 2026-09-17)

   Maps the modal's controls onto their theme equivalents:
     .cart > a           ->  .add-cart .btn              (style.css)
     .go-button-bottom   ->  .btn.btn-primary            (style.css)
     .name a             ->  h4.card-title a             (style.css)
     .price .price-new   ->  .price-rating span.price    (style.css)
     .price .price-old   ->  .main-price                 (style.css)
     arrow buttons       ->  .carousel-control           (brand-carousel.css)

   Appended rather than edited in place so the mapping stays greppable; these
   selectors match the originals above, so they win on source order.

   Three deliberate deviations from the source rules -- see CLAUDE.md:
     1. Chevrons are white, not #222. brand-carousel.css pairs a #222 chevron
        with a #4d3b3b button, which is near-invisible; its :hover colour is
        Bootstrap blue (#0d6efd), which is off-brand.
     2. The arrows are NOT hidden below 576px. brand-carousel.css hides them,
        but the modal pages through products two at a time and has no other
        way to navigate.
     3. The Checkout button's hover uses a real colour. style.css line ~1185
        has `color:1px solid var(--sw-dark-text)` which is invalid and gets
        discarded, leaving white-on-white.
   ========================================================================== */

/* --- Add to bag button -> .add-cart .btn --------------------------------- */
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .cart > a {
  font-family: inherit;
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 18px;
  color: #F4F1ED;
  background: #C45A3A;
  border: 1px solid #C45A3A;
  border-radius: 4px;
  padding: 8.5px 24.5px;
  text-align: center;
  box-sizing: border-box;
  text-transform: uppercase;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .cart > a:hover {
  color: #FFF;
  background: var(--sw-orange);
  border-color: var(--sw-orange);
}

/* --- Product name -> h4.card-title a ------------------------------------- */
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .name {
  line-height: 1.4em;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .name a {
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.4em;
  color: #3A3A3A;
  text-decoration: none;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .name a:hover {
  color: #C45A3A;
  text-decoration: none;
}

/* --- Price -> .price-rating span.price / .main-price --------------------- */
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .price .price-new {
  font-family: 'Playfair Display', 'Playfair Display Fallback', serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25rem;
  color: var(--sw-orange);
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .price .price-old {
  font-family: 'Playfair Display', 'Playfair Display Fallback', serif;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.25rem;
  text-decoration-line: line-through;
  color: #939090;
}

/* --- Checkout button -> .btn.btn-primary --------------------------------- */
#smcu-modal-body > .modal-footer > button.go-button-bottom {
  background-color: var(--sw-terracotta);
  border: 1px solid #fff;
  border-radius: 0;
  text-transform: uppercase;
  font-size: 1rem;
  color: #fff;
}
#smcu-modal-body > .modal-footer > button.go-button-bottom:hover,
#smcu-modal-body > .modal-footer > button.go-button-bottom:active {
  background-color: #fff;
  border: 1px solid var(--sw-dark-text);
  color: var(--sw-dark-text);
}

/* --- Prev/next arrows -> .carousel-control ------------------------------- */
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button {
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  background: #4d3b3b;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: background .25s ease, transform .25s ease;
  transition: background .25s ease, transform .25s ease;
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:hover {
  background: #4d3b3b;
  transform: scale(1.08);
}
/* White chevrons: the button is now dark, so brand-carousel's #222 would vanish */
#smcu-modal-body .chevron {
  border-top-color: #fff;
  border-right-color: #fff;
}
#smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow button:hover .chevron {
  border-color: #fff;
}
/* Re-centre the taller buttons on the layouts where the strip is absolute.
   Below 604px the strip becomes position:relative and centres itself. */
@media (min-width: 604px) {
  #smcu-modal-body #check-data > #smcu-ajax-products > .smcu-ajax-products-arrow {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

/* --- Chevron optical centring (2026-09-17) -------------------------------
   The rotated-border chevrons sit off-centre in the round buttons; nudge each
   back towards the middle of its circle. */
#smcu-modal-body .chevron-left {
  position: relative;
  left: 3px;
}
#smcu-modal-body .chevron-right {
  position: relative;
  left: -3px;
}

/* --- Equal-height product cards, cart button pinned to the bottom --------
   The list was block-with-inline-block children, so cards were only as tall
   as their own content and the buttons sat at ragged heights. Flex stretches
   every card to the tallest, then margin-top:auto on .cart pushes the button
   to the bottom of each one. .ajax-product keeps `width` as its sizing (the
   responsive blocks above override it with width:100% !important), so
   flex-basis is left at auto and shrink is disabled. */
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: center;
  justify-content: center;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
}
#smcu-modal-body #check-data > #smcu-ajax-products > #smcu-ajax-products-list > .ajax-product > .cart {
  margin-top: 16px;
}

/* --- Continue shopping button -> .product_tag_list a ---------------------
   The tag-cloud gutters (margin-bottom/right: 4px) are deliberately omitted:
   they are spacing for a wrapping list, and on the mobile breakpoints where
   the footer buttons go width:100% a right margin would clip. */
#smcu-modal-body > .modal-footer > button.close-button-bottom {
  background-color: #fff;
  color: var(--sw-dark-text) !important;
  border: 1px solid var(--sw-dark-text) !important;
  border-radius: 0;
  text-transform: uppercase;
  font-size: 1rem !important;
  text-align: center;
  height: 38px;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 250px;
}
#smcu-modal-body > .modal-footer > button.close-button-bottom:hover,
#smcu-modal-body > .modal-footer > button.close-button-bottom:active {
  background-color: var(--sw-dark-text) !important;
  border: 1px solid var(--sw-medium-grey) !important;
  color: #fff !important;
  text-decoration: none !important;
}
