:root {
  --gray-blue-shadow:  hsl(205, 20%, 84.5%);  /*more blue: hsl(211, 50%, 84.7%);*/
  --grayLightBckg:     hsl(205, 20%, 96%);
  --progress-bar-gray: hsl(205, 20%, 89.5%);
  --tio-gold:          hsl(43, 53%, 66%);
  --tio-light-gold:    hsl(43, 53%, 77%);
  --tio-font-gold:     hsl(43, 53%, 57%);
  --tio-font-gold-2:   hsl(43, 53%, 54%);
  --tio-font-gold-3:   hsl(43, 53%, 45%);
  --blueLightBckg:     hsl(205, 78%, 95.5%);
  --tio-lipstick:      #e60d84;

  --c-acItemSelectedColor: hsl(43, 53%, 55%) !important;
}


.cart-summary .checkout-methods-items .action.primary.checkout,
.cart-discount .actions-toolbar .action.primary,
.cart-discount .actions-toolbar .action.primary:active,
.cart-discount .actions-toolbar .action.primary:focus,
.methods-shipping #shipping-method-buttons-container .button.action.continue.primary,
.payment-method-content .actions-toolbar .action.primary.checkout,
.payment-method-content .checkout-billing-address .action.action-update {
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  
  background-color: var(--tio-gold);
  border-color:     var(--tio-gold);
  color:            white;
  text-shadow:      1px 1px 0 hsl(43, 53%, 50%);
}

.cart-summary .checkout-methods-items .action.primary.checkout,
.methods-shipping #shipping-method-buttons-container .button.action.continue.primary,
.payment-method-content .actions-toolbar .action.primary.checkout,
.payment-method-content .checkout-billing-address .action.action-update {
  border-radius: 9px;
}

.cart-discount .actions-toolbar .action.primary {
  border-top-right-radius:    7px;
  border-bottom-right-radius: 7px;
}

.cart-discount .actions-toolbar .action.primary:not(:focus) {
  box-shadow: none;
}

.cart-discount .actions-toolbar .action.primary:focus {
  box-shadow: inset 0 1px 0 0 #ffffff, inset 0 -1px 0 0 rgba(204, 204, 204, 0.3);
}

.cart-summary .checkout-methods-items .action.primary.checkout:hover,
.cart-discount .actions-toolbar .action.primary:hover,
.methods-shipping #shipping-method-buttons-container .button.action.continue.primary:hover,
.payment-method-content .actions-toolbar .action.primary.checkout:hover,
.payment-method-content .checkout-billing-address .action.action-update:hover {
  background-color: rgba(215, 189, 124, 0.83);
  border-color:     rgba(215, 189, 124, 0.83);
  color:            white;
}

#block-discount #block-discount-heading,
.cart-discount .block > .title::after {
  color: var(--tio-font-gold-2) !important;
}

#block-discount #block-discount-heading,
.cart-discount .block > .title::after:hover {
  color: var(--tio-font-gold-3) !important;
}

.checkout-cart-index .page-main .cart-empty a {
  color: var(--tio-font-gold-3) !important;  
}

.checkout-cart-index .page-main .cart-empty a:hover {
  text-decoration: none;
  color: hsl(43, 53%, calc(45% + 10%)) !important;
}


.cart-container .product-item-photo,
.cart-container .product-item-name a,
.payment-method-content .checkout-billing-address .billing-address-details a,
.shipping-information-content a {
  pointer-events: none;
  cursor: default;
  text-decoration: none;  
  color: inherit;
}


@media (min-width: 769px), print {
  .opc-wrapper .form-login {
    border-bottom:  none !important;
    padding-bottom: 0    !important;
  }
}


@media (min-width: 769px) {
  .checkout-billing-address:has(.billing-address-same-as-shipping-block input:checked) .billing-address-details {
    display: none !important;  
  }
}


.cms-no-route #maincontent .sidebar-additional,
.p-LinkOptInWrapper,
#co-payment-form > .fieldset > hr,
button[name="update_cart_action"],
div[name="billingAddresscheckmo.country_id"],
div[name="shippingAddress.country_id"],
.page-title,
.page-header .panel.header,
header .minicart-wrapper,
.cart-container .cart.main.actions,
.cart-container .item-actions,
.cart-container .form-cart .action.continue,
.cart-summary .cart-totals .totals.sub,
.cart-summary .cart-totals .totals.shipping.excl,
.block-search,
.header .nav-toggle:before,
.shipping-information .ship-via .shipping-information-title .action-edit,
.authentication-wrapper,
#customer-email-fieldset .note,
.checkout-shipping-address .form-shipping-address .field[name="shippingAddress.company"],
#checkout-shipping-method-load .table-checkout-shipping-method tbody tr:first-child td:nth-child(3),
#checkout-step-payment .payment-option._collapsible.opc-payment-additional.discount-code,
.checkout-onepage-success .checkout-success .actions-toolbar,
.checkout-onepage-success #registration {
  display: none !important;
}


.cart-summary .cart-totals
/* DELETE ME
,
.cart-summary .cart-totals .grand.totals .mark,
.cart-summary .cart-totals .grand.totals .amount 
*/
{
  border: none;
}


.opc-block-summary .product-item .product-item-name-block .details-qty .label {
  margin-right: 9px;
}


.payment-methods .payment-method-billing-address .billing-address-same-as-shipping-block input,
.payment-methods .payment-method-billing-address .billing-address-same-as-shipping-block label {
  cursor: pointer;
}


#checkout-shipping-method-load .table-checkout-shipping-method tbody tr:first-child td:nth-child(2) {
  width: 80px;
}

.payment-method-billing-address .checkout-billing-address .actions-toolbar button.action-cancel span {
  color: #686868;
}


.qty-field-wrapper {
  display: flex;
}

.btn-change-qty {
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  color: rgba(0, 0, 0, .8);
  background-color: white;
  cursor: pointer;
  display: flex;
  height: 36px;
  width: 36px;
  margin-top: -7px;
  border: 1px solid #c2c2c2;
}

.btn-change-qty:hover {
  background-color: #f3f5f7;
}

.btn-change-qty svg {
  transform: scale(4);
}


.btn-decrease-qty {
  position: relative;
  left: 1px;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn-increase-qty {
  position: relative;
  left: -1px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}


.cart.table-wrapper tbody .col.qty {
  width: 50px;
}

@media (max-width: 768px) {
  .cart.table-wrapper tbody .col.price,
  .cart.table-wrapper tbody .col.subtotal {
    width: 75px;
  }

  .cart.table-wrapper tbody .col.qty {
    display: grid;
    justify-items: center;
    width: 57%;
    padding-left: 35px;
  }
}

.cart.table-wrapper .col.price {
  text-align: left; 
}

.cart.table-wrapper .col.qty {
  text-align: center; 
}

.cart.table-wrapper .product-item-name {
  padding-left: 20px;
}

@media (max-width: 768px) {
  .cart.table-wrapper .product-item-name {
    padding-left: 10px;
  }
}

/*
@media (min-width: 769px) {
  .cart.table-wrapper .product-item-photo {
    padding-bottom: 5px;
  }
}
*/

@media (min-width: 769px) {
  .cart.table-wrapper .cart > .item {
    border-bottom: 1px solid #ccc;
  }
}

.cart.table-wrapper .item .col.item {
  min-height: 110px;
  padding-left: 125px;
}

.cart.table-wrapper .product-item-photo {
  max-width: 100px;
}


@media (min-width: 820px) {
  .cart.table-wrapper .cart thead tr th.col.subtotal {
    padding-right: 50px;
  }

  .cart.table-wrapper td.col.subtotal {
    padding-right: 50px;
  }
}


@media (max-width: 768px) {
  .cart-container .cart-discount {
    border-bottom: none !important;
    margin-top: 35px;
  }

  .cart-container .cart-discount .title {
    border-top: none !important;
  }

  body.checkout-cart-index .page-header {
    border-bottom: none;
    margin-bottom: 0;
  }

  .cart-summary #block-summary {
    padding-bottom: 0;
  }

  .cart-summary {
    border-bottom: 1px solid #ccc;
  }

  .header .logo {
    margin-left: 5px;
  }
}


.header .logo {
  margin-left: 0;
}


.fieldset.rate input.radio {
  display: none;
}

.fieldset.rate span.price {
  font-weight: 400 !important;
}

.fieldset.rate {
  margin-bottom: 0;
}


body:not(:has(#shopping-cart-table)) .logo-and-progress-bar-cart {
  display: none;
}

body:not(:has(#checkout)) .logo-and-progress-bar-checkout {
  display: none;
}

@media (min-width: 769px) {
  .cart-container {
    margin-top: 70px;
  }

  .checkout-cart-index .nav-sections {
    margin-bottom: 0;
  }

  body:has(#shopping-cart-table) header.page-header, body:has(#checkout) header.page-header {
    display: none;
  }

  .progress-bar-logo {
    width: 170px;
    margin-right: auto;
  }

  .logo-and-progress-bar-cart, .logo-and-progress-bar-checkout {
    display: flex;
    margin-top: 30px;
    margin-bottom: 25px;
    align-items: center;
  }


  .opc-sidebar {
    margin-top: 55px !important;
  }    
  
  body:has(#shopping-cart-table) .opc-progress-bar, body:has(#checkout) .opc-progress-bar {
    display: block;
    margin-top: 30px;
  }  

  .checkout-cart-index .page-main .column.main {
    padding-bottom: 0;
  }
}



.checkout-index-index .checkout-container:has(#payment.checkout-payment-method[style*='display:none']) .checkout-shipping-method .step-title,
.checkout-index-index .checkout-container:has(#payment.checkout-payment-method[style*='display: none']) .checkout-shipping-method .step-title {
  display: none;
}


@media (max-width: 768px) {
  .checkout-cart-index .widget.block.block-static-block:has(.logo-and-progress-bar-cart) {
    margin-bottom: 0;
  }
  
  tbody.cart.item .col.item {
    display: flex !important;
  }

  tbody.cart.item .col.item  .product-item-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .logo {
    max-width: 42%;
  }

  .progress-bar-logo {
    display: none;
  }

  .checkout-index-index .checkout-container:has(#payment.checkout-payment-method[style*='display:none'])  .opc-estimated-wrapper, 
  .checkout-index-index .checkout-container:has(#payment.checkout-payment-method[style*='display: none']) .opc-estimated-wrapper {
    display: none;
  }

  .opc-estimated-wrapper {
    margin-top: 0;
    border-top: none;
  }
  
  .checkout-index-index header.page-header {
    border-bottom: 0;
  }

  .checkout-index-index #co-shipping-form {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    border-top: 1px solid #ccc;    
  }
  
  .checkout-index-index #co-shipping-method-form {
    margin-top: 0;
  }
  
  .checkout-index-index .page-header {
    margin-bottom: 0;
  }
  
  .checkout-index-index .form-login {
    padding-top: 0;
    padding-bottom: 0;
  } 

  .checkout-cart-index .cart-summary {
    margin-bottom: 45px;
  }

  .tio-footer {
    width: 100vw !important;
    position: unset !important;
  }

  .page-footer .footer .widget.block {
    margin: 0;
  }   
}


.form-shipping-address .address-row {
  display: flex;
  gap: 30px;
}

.form-shipping-address .address-row .field {
  width: -moz-available;
  width: -webkit-fill-available;
}

.form-login {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#shipping-new-address-form {
  margin-bottom: 0 !important;
}

#checkout, .checkout-index-index .opc-wrapper, #checkout-step-shipping_method, #customer-email-fieldset, #customer-email-fieldset .field, .form-login, #checkout-step-shipping {
  margin-bottom: 0;
}

.checkout-index-index .column.main {
  padding-bottom: 0;
}

#checkoutSteps #checkout-shipping-method-load {
  display: none;
}


@media (min-width: 769px) {
  .button.action.continue.primary {
    position: relative;
    top: -53px;
  }

  .form-shipping-address {
    margin-bottom: 0 !important;
  }
}


input, select {
  border-radius: 5px !important;
}



.product-image-wrapper {
  z-index: auto;
}

.qty-field-wrapper input {
  border-radius: 0 !important;
  z-index: 10;
}

.qty-field-wrapper span:first-child button {
  border-top-left-radius:    5px;
  border-bottom-left-radius: 5px;
}

.qty-field-wrapper span:last-child button {
  border-top-right-radius:    5px;
  border-bottom-right-radius: 5px;
}

.payment-method-title {
  display: none;
}


.opc-estimated-wrapper {
  display: flex;
  align-items: center;  
}

.opc-estimated-wrapper .minicart-wrapper {
  margin-top: 0;
  margin-left: auto;
}

.opc-estimated-wrapper .minicart-wrapper .action.showcart::before {
  content: none;
}

.opc-estimated-wrapper .counter.qty {
  height: 65px !important;
  background-color: transparent !important;
  display: flex !important;
  align-items: center;
}

.opc-estimated-wrapper .counter-number {
  height: fit-content;
  border-radius:5px;
  padding-top:    5px;
  padding-bottom: 5px;
  padding-left:  13px;
  padding-right: 13px;
  margin-left: 15px;
  color: rgb(44, 44, 44);
  border-width:1px;
  border-style:solid;
  border-radius:50px;
  background-color: var(--progress-bar-gray) !important;
  border-color:transparent;
  text-shadow: 0 0 7px #fff !important;
}



/* DELETE ME
.cart-summary .block > .title {
  border-top: none;
}
*/
 
.cart-summary {
  background: var(--grayLightBckg);
}

@media (max-width: 768px) {
  .cart-summary {
    border-bottom: none;
  }
}


@media (max-width: 768px) {
  .checkout-index-index #co-shipping-form {
    border-top: none;
  }
}

@media only screen and (max-width: 639px) {
  .opc-wrapper .methods-shipping {
    border-bottom: none;
  }
}


@media only screen and (max-width: 639px) {
  .opc-wrapper .form-login, .opc-wrapper .form-shipping-address, .opc-wrapper .methods-shipping {
    background: var(--grayLightBckg);
  }
}


.opc-estimated-wrapper {
  background: var(--grayLightBckg);
  border-bottom: none;
}


#shipping-method-buttons-container {
  position: relative;
}
  
@media (max-width: 1100px) {
  #shipping-method-buttons-container {
    left: 50px;
  }
}

@media (max-width: 1000px) {
  #shipping-method-buttons-container {
    left: 100px;
  }
}

@media (max-width: 900px) {
  #shipping-method-buttons-container {
    left: 150px;
  }
}

@media (max-width: 900px) {
  #shipping-method-buttons-container {
    left: 200px;
  }
}

@media (max-width: 768px) {
  #shipping-method-buttons-container {
    position: initial;
  }
}

.page-footer [data-content-type="row"][data-appearance="contained"] {
  max-width: none !important;
}


#shopping-cart-table .product-item-name {
  width: max-content;
}


@media (max-width: 970px) {
  #shopping-cart-table .item-info .col.qty {
    position: absolute;
    top: 60px;
    right: 20%;
  }
}

@media (min-width: 820px) and (max-width: 970px) {
  #shopping-cart-table .item-info .col.qty {
    right: 25%;
  }
  
  #shopping-cart-table .item-info .col.subtotal {
    padding-right: 0 !important;
  }

  .col.subtotal .price-excluding-tax {
    padding-right: 50px;
  }
}


@media (max-width: 768px) {
  #shopping-cart-table .item-info .col.qty {
    position: initial;
  }
}



.opc-block-summary {
  background: var(--grayLightBckg) !important;
}


@media (min-width: 769px) {
  .opc-progress-bar-item > span, .opc-progress-bar-item._complete > span {
    color: #666 !important;
  }

  .opc-progress-bar-item::before,
  .opc-progress-bar-item > span::before {
    background: var(--progress-bar-gray) !important;
    border-color: var(--progress-bar-gray) !important;
  }

  .opc-progress-bar-item > span::after {
    border-color: var(--progress-bar-gray) !important;
    color: hsl(205, 20%, 60%) !important
  }

  .opc-progress-bar-item._active::before,
  .opc-progress-bar-item._complete::before,
  .opc-progress-bar-item._active > span::before,
  .opc-progress-bar-item._complete > span::before {
    background:   var(--tio-light-gold) !important;
    border-color: var(--tio-light-gold) !important;
  }

  .opc-progress-bar-item._active > span::after,
  .opc-progress-bar-item._complete > span::after {
    border-color: var(--tio-light-gold) !important;
  }

  .opc-progress-bar-item._active > span::after {
    content: counter(i) !important;
    font-family: unset !important;
    color: hsl(43, 53%, 56%) !important;
  }

  .opc-progress-bar-item._complete > span::after {
    color: var(--tio-gold) !important;
  }  
}


@media (min-width: 640px) {
  .opc-wrapper .step-title {
    margin-bottom: 27px !important;
  }
}


button:active {
  box-shadow: unset !important;
}

button.action:not(.showcart):active {
  background-color: hsl(43, 53%, 63%) !important;
}


#payment .payment-group .step-title.mobile{
  margin-bottom: 5px !important;
}

#checkout-payment-method-load {
  margin-top: 40px;
}

.payment-methods .payment-group .step-title {
  margin-bottom: 20px !important;
}

#actions-toolbar:has(.checkout) {
  margin-top: 30px;
}

.checkout-agreements-block .checkout-agreement.field.required .action-show::after,
div.mage-error {
  color: var(--tio-lipstick) !important;
}

.checkout-agreements-block .action-show {
  color: #666;
}

.checkout-agreements-block .action-show:hover {
  color: rgb(64, 64, 64);
  text-decoration: none;
}

#checkout-agreements-modal {
  margin-top: 5px;
}

.checkout-index-index .modal-popup .modal-footer .action-hide-popup {
  color: var(--tio-font-gold-2) !important;
  margin-top: 0;
}

.checkout-index-index .modal-popup .modal-footer .action-hide-popup:hover {
  color: var(--tio-font-gold-3);
  text-decoration: none;
}


.agreements-modal .modal-header .action-close {
  display: none;
}

.agreements-modal .modal-content {
  margin-left: 1rem;
  margin-right: 1rem;
}

@media (min-width: 769px), print {
  .checkout-payment-method .payment-method-content {
    padding-left: 0;
  }
}

#checkout-payment-method-load {
  margin-top: 57px;
}

.checkout-billing-address {
  margin-bottom: 25px !important;
}

.checkout-agreements-block {
  margin-top: 26px !important;
}

.checkout-agreements-block button.action-show:active {
  color: rgb(64, 64, 64);
  text-decoration: none;
}

.checkout-agreement button.action-show:active {
  background-color: transparent !important;
}


.agreements-modal button.action-hide-popup:active {
  color: var(--tio-font-gold-3) !important;
  background-color: transparent !important;
  text-decoration: none !important;
}


.checkout-success {
  display: flex;
  font-size: 1.7rem;    
}


.page-wrapper:has(.checkout-success) .page-header {
  border-bottom: none; 
}


.checkout-success h1 {
  font-size: 40px;
  font-weight: 300 !important;
  margin-top: 40px;
  margin-bottom: 55px;
}


.checkout-success .chs-end-msg {
  font-size: 1.15em;
  font-weight: 600;
  margin-top: 70px;
  color: #e60d84;
}


.checkout-success img {
  margin-left: 220px;
  border-radius: 27px;
}

@media (max-width: 1200px) {
  .checkout-success img {
    margin-left: auto;
    margin-right: 50px;
  }
}

@media (max-width: 1100px) {
  .checkout-success img {
    margin-right: 20px;
  }
}


@media (max-width: 1000px) {
  .checkout-success {
    display: block;
  }

  .checkout-success h1 {
    margin-top: 25px;
  }

  .checkout-success img {
    margin-right: 0px;
    margin-top: 25px;
  }

  .checkout-success .chs-end-msg {
    margin-top: 55px;
  }  
}


@media (max-width: 670px) {
  .checkout-success h1 {
    margin-bottom: 40px;
  }
}


@media (max-width: 490px) {
  .checkout-success .chs-end-msg br {
      display: none;
  }
}


@media (max-width: 480px) {
  .checkout-success h1 {
    font-size: 30px;
    margin-top: 10px;
  }
}


@media (max-width: 380px) {
  .checkout-success h1 {
    font-size: 29px;
  }
}



@media (min-width: 769px), print {
  .checkout-payment-method .checkout-billing-address .actions-toolbar .action.action-cancel {
    margin: 0;  
  }
}


.checkout-payment-method .checkout-billing-address .action.action-cancel,
.checkout-index-index .agreements-modal .modal-footer .action-hide-popup {
  padding: 7px 15px;
  border-radius: 7px;
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  width: auto;
}


.checkout-billing-address .action.action-cancel:hover,
.checkout-index-index .agreements-modal .modal-footer .action-hide-popup:hover {
  background-color: hsl(43,53%,94%);
  color: color: hsl(43,53%,35%);
  text-decoration: none !important;
}


.checkout-payment-method .checkout-billing-address .action.action-cancel:active,
.checkout-index-index .agreements-modal .modal-footer .action-hide-popup:active {
  background-color: hsl(43,53%,89%) !important;
  color: hsl(43,53%,35%);
  text-decoration: none !important;
}


.modal-popup .modal-inner-wrap {
  border-radius: 35px;
}


@media (max-width: 768px) {
  .modal-popup .modal-inner-wrap {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }
}

.checkout-payment-method .fieldset .field-select-billing > .label {
  clip:     unset;
  height:   unset;
  margin:   unset;
  overflow: unset;
  padding:  unset;
  position: unset;
  width:    unset;
  
  padding-bottom: 10px;
  font-size: 2.6rem;
  color: rgb(44, 44, 44);
  font-weight: 200 !important;
  margin-top: 20px;
}


.checkout-payment-method .field-select-billing {
  border-bottom: 1px solid #ccc !important;
  margin-bottom: 20px;
  padding-bottom: 10px;
  max-width: unset;
}


@media (min-width: 640px) {
  .checkout-payment-method .field-select-billing {
     margin-bottom: 27px;
  }
}


.checkout-billing-address > fieldset {
  margin-left: 70px;
}


