/*
 * Custom style goes here.
 * A template should always ship with an empty custom.css
 */

.cart-voucher form.flex-container {
  align-items: center;
  justify-content: center;
}
.cart-voucher .promo-input {
  border-radius: 12px;
  height: 40px;
  padding: 0 12px;
  width: 240px;
  max-width: 100%;
  flex: 0 0 240px;
  margin-right: 8px;
}
.cart-voucher .btn.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  height: 40px;
  border-radius: 20px;
  padding: 0 16px;
  margin-left: 0;
}
@media (max-width: 576px) {
  .cart-voucher form.flex-container {
    flex-wrap: wrap;
  }
  .cart-voucher .promo-input {
    width: 100%;
    flex: 1 1 auto;
  }
  .cart-voucher .btn.btn-primary {
    width: 100%;
    margin-top: 8px;
  }
}

.cart-summary .cart-voucher .promo-name.card-block {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.5;
}

.cart-summary .cart-voucher .promo-name.card-block .cart-summary-line {
  margin-bottom: 0;
}

.cart-summary .cart-voucher .promo-code {
  margin-top: 0;
  margin-bottom: 1rem;
}

.cart-summary .cart-voucher .bridge-coupon-gift-button-slot {
  margin-top: 1rem;
  margin-bottom: 0.75rem;
  text-align: center;
}

.cart-summary .cart-voucher .bridge-coupons-gift-button {
  display: flex;
  justify-content: center;
}

.checkout.cart-detailed-actions.card-block{
  padding-top: 0 !important;
}

.cart-summary .block-promo {
  margin-top: 0.5rem;
}

#promo-code .btn{
  padding: 0 8px !important;
  background: gray !important;
  font-size: 13px !important;
  border-radius: 10px !important;
  color: white !important;
  border: none !important;
  font-weight: 300 !important;
}

#promo-code .btn:hover{
  background: black !important;
}

.product-line-grid-right .btn-touchspin-up,
.product-line-grid-right .btn-touchspin-down {
  width: 32px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  background: #fff;
  border: 1px solid #ddd;
  color: #333;
}
.product-line-grid-right .btn-touchspin-up i,
.product-line-grid-right .btn-touchspin-down i {
  font-size: 18px;
  line-height: 1;
  color: #333;
}
.product-line-grid-right .btn-touchspin-up::before {
  content: '▲';
  font-size: 14px;
  line-height: 1;
  color: #333;
}
.product-line-grid-right .btn-touchspin-down::before {
  content: '▼';
  font-size: 14px;
  line-height: 1;
  color: #333;
}
@media (max-width: 768px) {
  .product-line-grid.flex-container {
    flex-wrap: wrap;
    row-gap: 12px;
  }
  .product-line-grid-left {
    flex: 0 0 100px;
  }
  .product-line-grid-right.product-line-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

/* Checkout guest: evita la sovrapposizione fra icona e testo nei campi nome/cognome */
#checkout #checkout-personal-information-step .icon-true {
  position: relative;
}

#checkout #checkout-personal-information-step .icon-true .form-control {
  padding-left: 3.25rem !important;
}

#checkout #checkout-personal-information-step .icon-true .input-icon,
#checkout #checkout-personal-information-step .icon-true .svgic-input-icon,
#checkout #checkout-personal-information-step .icon-true svg {
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  pointer-events: none;
}

/* Required field labels: red by default, green when valid */
.form-group.has-danger label,
.form-group.has-danger .form-control-label,
.form-group.required-invalid label,
.form-group.required-invalid .form-control-label,
.form-group label.required,
.form-group .form-control-label.required,
#address .address-form .form-group.has-danger .required,
#address .address-form .form-group.required-invalid .required,
#address .address-form .required {
  color: #d35454 !important;
}

.form-group.has-success label,
.form-group.has-success .form-control-label,
.form-group.required-valid label,
.form-group.required-valid .form-control-label,
#address .address-form .form-group.has-success .required,
#address .address-form .form-group.required-valid .required {
  color: #4cbb6c !important;
}

/* Keep focus styles rounded on custom forms */
#address .address-form .relative,
#checkout .checkout-flow .relative,
.register-form .relative,
#identity #customer-form .relative {
  border-radius: 14px;
}

#address .address-form .focus-border,
#checkout .checkout-flow .focus-border,
.register-form .focus-border,
#identity #customer-form .focus-border {
  display: none !important;
}

#address .address-form .form-control:focus,
#address .address-form select:focus,
#address .address-form textarea:focus,
#checkout .checkout-flow .form-control:focus,
#checkout .checkout-flow select:focus,
#checkout .checkout-flow textarea:focus,
.register-form #customer-form .form-control:focus,
.register-form #customer-form select:focus,
.register-form #customer-form textarea:focus,
#identity #customer-form .form-control:focus,
#identity #customer-form select:focus,
#identity #customer-form textarea:focus {
  outline: none !important;
  border-radius: 14px !important;
}
