/* Files Required to make this work */
/* Completed */
body.woocommerce-checkout {
  overflow-x: hidden;
  /* Top section noticed only */
}
body.woocommerce-checkout .page-content {
  padding-top: 2rem;
}
body.woocommerce-checkout .page-content .woocommerce .woocommerce-form-login-toggle {
  max-width: 50% !important;
}
body.woocommerce-checkout .page-content .woocommerce .woocommerce-form-login-toggle .woocommerce-info {
  background: #f46624;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: white;
}
body.woocommerce-checkout .page-content .woocommerce .woocommerce-form-login-toggle .woocommerce-info a {
  color: white;
}
body.woocommerce-checkout .page-content .woocommerce .woocommerce-form-coupon-toggle {
  display: none !important;
}

/* Ordering on Sections */
.cag-col-surround-checkout {
  margin-bottom: 0 !important;
}
.cag-col-surround-checkout .col-1 {
  position: relative;
  /* ordering only*/
}
.cag-col-surround-checkout .col-1 .woocommerce-billing-fields {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.cag-col-surround-checkout .col-1 .woocommerce-account-fields {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.cag-col-surround-checkout .col-1 .woocommerce-shipping-fields {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.cag-col-surround-checkout .col-1 .woocommerce-additional-fields {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
.cag-col-surround-checkout .col-1 .cag-vat-exempt-notice {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}
.cag-col-surround-checkout .col-1 .cag-vat-exempt {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}
.woocommerce-billing-fields {
  margin-bottom: 15px !important;
}
.woocommerce-billing-fields h3 {
  font-size: 22px;
}

.woocommerce-shipping-fields__field-wrapper {
  margin-top: 14px;
}

.woocommerce-shipping-fields__field-wrapper,
.woocommerce-billing-fields__field-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
.woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-billing-fields__field-wrapper .form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: #f9f9f9;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  padding: 6px 12px;
  margin: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .woocommerce-shipping-fields__field-wrapper .form-row.form-row-first, .woocommerce-shipping-fields__field-wrapper .form-row.form-row-last, .woocommerce-shipping-fields__field-wrapper .form-row#billing_state_field, .woocommerce-shipping-fields__field-wrapper .form-row#billing_postcode_field,
  .woocommerce-billing-fields__field-wrapper .form-row.form-row-first,
  .woocommerce-billing-fields__field-wrapper .form-row.form-row-last,
  .woocommerce-billing-fields__field-wrapper .form-row#billing_state_field,
  .woocommerce-billing-fields__field-wrapper .form-row#billing_postcode_field {
    width: calc(50% - 5px) !important;
    float: none;
  }
}
.woocommerce-shipping-fields__field-wrapper .form-row label,
.woocommerce-billing-fields__field-wrapper .form-row label {
  font-size: 11px;
  line-height: 1;
  color: #777;
  margin: 0 0 4px 0;
  text-align: left;
  display: block;
  width: 100%;
}
.woocommerce-shipping-fields__field-wrapper .form-row label .required,
.woocommerce-billing-fields__field-wrapper .form-row label .required {
  display: none;
}
.woocommerce-shipping-fields__field-wrapper .form-row .woocommerce-input-wrapper,
.woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper {
  width: 100%;
  display: block;
}
.woocommerce-shipping-fields__field-wrapper .form-row .woocommerce-input-wrapper input.input-text,
.woocommerce-shipping-fields__field-wrapper .form-row .woocommerce-input-wrapper select,
.woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper input.input-text,
.woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper select {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 15px;
  font-weight: 500;
  color: #222;
  width: 100%;
  outline: none;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  height: 24px;
  line-height: 24px;
  text-align: left;
}
.woocommerce-shipping-fields__field-wrapper .form-row #billing_country_field,
.woocommerce-billing-fields__field-wrapper .form-row #billing_country_field {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-shipping-fields {
  margin-bottom: 0 !important;
}
.woocommerce-shipping-fields h3#ship-to-different-address {
  margin-bottom: 0 !important;
}
.woocommerce-shipping-fields label {
  margin-bottom: 0 !important;
}

#select2-billing_country-container {
  padding-left: 0 !important;
}

#shipping_country_field .woocommerce-input-wrapper,
#billing_country_field .woocommerce-input-wrapper {
  height: 29px;
}
#shipping_country_field .woocommerce-input-wrapper span#select2-shipping_country-container,
#shipping_country_field .woocommerce-input-wrapper span.select2-container,
#billing_country_field .woocommerce-input-wrapper span#select2-shipping_country-container,
#billing_country_field .woocommerce-input-wrapper span.select2-container {
  width: 100%;
  margin-top: -14px;
}

span.select2-container .select2-selection--single {
  border: 0px solid white;
  background-color: transparent !important;
}

#shipping_address_2_field,
#billing_address_2_field {
  display: none !important;
}

.woocommerce-account-fields {
  position: absolute;
  right: 0;
  top: 0;
}
.woocommerce-account-fields input {
  margin: 0 10px 0 0;
}
.woocommerce-account-fields p, .woocommerce-account-fields span {
  font-size: 22px;
}

.woocommerce-shipping-fields h3 label span {
  font-size: 18px;
}

.cag-vat-exempt h3.form-title {
  display: none !important;
}
.cag-vat-exempt .box {
  position: relative;
  padding-top: 60px;
  margin-bottom: 0 !important;
  display: block !important;
}
.cag-vat-exempt .box .sm\:grid-5.u-text-large {
  width: 100% !important;
}
.cag-vat-exempt .box .sm\:grid-5.u-text-large p {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.cag-vat-exempt .box .sm\:grid-6 {
  position: absolute;
  top: 0;
  left: 0;
  background: white;
  width: 100%;
}
.cag-vat-exempt .box .sm\:grid-6 p[data-fields=vat_exempt] {
  margin-bottom: 0 !important;
  padding-top: 34px;
  background: #f3f4f6;
  padding-left: 5.5%;
}
.cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: #f0f0f0;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  padding: 8px 12px;
  margin: 0 !important;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: white !important;
}
@media (min-width: 768px) {
  .cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row#vat_exemption_first_name_field, .cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row#vat_exemption_last_name_field, .cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row#vat_exemption_town_field, .cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row#vat_exemption_postcode_field {
    width: calc(50% - 5px) !important;
  }
}
.cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row label {
  font-size: 11px;
  line-height: 1;
  color: #666;
  margin: 0 0 4px 0;
  text-align: left;
  display: block;
}
.cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row label .required {
  display: none;
}
.cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row .woocommerce-input-wrapper {
  width: 100%;
}
.cag-vat-exempt .box .sm\:grid-12[data-fields=vat_exempt] .form-row .woocommerce-input-wrapper input.input-text {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 15px;
  font-weight: 400;
  color: #333;
  width: 100%;
  outline: none;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  height: 24px;
  line-height: 24px;
}

.cag-vat-exempt-notice h3 {
  margin-bottom: 10px !important;
  margin-top: 10px !important;
}

.cag-col-surround-checkout .col-2.cag-order-summary > .image-surround {
  margin-top: -130px !important;
  margin-bottom: 30px;
}
@media (max-width: 980px) {
  .cag-col-surround-checkout .col-2.cag-order-summary > .image-surround {
    margin-top: 0px !important;
  }
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* === ORDER SUMMARY WRAPPER === */
}
.cag-col-surround-checkout .col-2.cag-order-summary .woocommerce-checkout-review-order-table {
  background: #fff;
  border-radius: 10px;
  border: 1px solid #eaeaea;
  overflow: hidden;
  padding: 0 15px;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* === CART ITEM ROW === */
}
.cag-col-surround-checkout .col-2.cag-order-summary .cart_item {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr auto !important;
  grid-template-columns: 1fr auto !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 27px 0 34px !important;
  border-bottom: 1px solid #f0f0f0;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cart_item:hover {
  background: #fafafa;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cart_item td {
  border: none !important;
  padding: 0 !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* === LEFT SIDE: IMAGE + TEXT GRID === */
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-name {
  display: inline-block !important;
  -ms-grid-columns: 85px 12px 1fr !important;
  grid-template-columns: 85px 1fr !important;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-name * {
  display: none;
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-name strong,
.cag-col-surround-checkout .col-2.cag-order-summary .product-name div {
  display: inline-block !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-name .cag-checkout-product-image {
  width: 85px;
  position: relative;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* IMAGE */
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-product-image {
  -ms-grid-column: 1;
  grid-column: 1;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-product-image img {
  width: 70px;
  height: 70px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  border: 0px solid #eaeaea;
  display: block;
  position: absolute;
  top: -40px;
  left: 0;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* PRODUCT NAME */
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-product-name {
  -ms-grid-column: 2;
  grid-column: 2;
  font-size: 16px;
  font-weight: 600;
  color: #222;
  line-height: 1.3;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* QUANTITY */
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-quantity {
  -ms-grid-column: 3;
  grid-column: 3;
  display: block !important;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400 !important;
  color: #777;
  padding-right: 5px;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* === PRICE COLUMN === */
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-total {
  text-align: right !important;
  font-weight: 700;
  font-size: 16px;
  color: #111;
  white-space: nowrap;
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-total td span {
  font-size: 18px;
}
.cag-col-surround-checkout .col-2.cag-order-summary .product-total td span bdi {
  font-size: 18px;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* REMOVE LAST BORDER */
}
.cag-col-surround-checkout .col-2.cag-order-summary .cart_item:last-child {
  border-bottom: none !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary {
  /* === TABLE FOOTER (TOTALS) === */
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot {
  display: block;
  padding: 0 0 15px;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 6px 0;
  /* KEEP YOUR ORIGINAL BORDER + SPACING */
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.cart-subtotal {
  border-top: 1px solid #eaeaea;
  padding-top: 0;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.cart-subtotal th,
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.cart-subtotal td {
  padding-top: 15px !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.order-total {
  border-top: 1px solid #eaeaea;
  margin-top: 10px;
  padding-top: 14px;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.order-total th {
  font-size: 16px;
  font-weight: 600;
  color: #111;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.order-total td {
  font-size: 18px;
  font-weight: 700;
  color: #f26622;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr th {
  font-weight: 500;
  color: #555;
  margin-right: auto; /* pushes left */
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr td {
  font-weight: 600;
  color: #222;
  margin-left: auto; /* pushes right */
  text-align: right;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr {
  /* SHIPPING FIX (flatten Woo markup) */
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.woocommerce-shipping-totals .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.woocommerce-shipping-totals .woocommerce-shipping-methods li {
  margin: 0;
  padding: 0;
}
.cag-col-surround-checkout .col-2.cag-order-summary table.shop_table tfoot tr.woocommerce-shipping-totals .woocommerce-shipping-methods label {
  display: inline;
  font-weight: 500;
  color: #555;
  white-space: nowrap;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-cta .cta-box {
  background: #f46624;
  padding-top: 35px;
  padding-bottom: 35px;
  text-align: center;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-cta .cta-box h3 {
  text-align: center;
  color: white !important;
  margin-bottom: 0 !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-cta .cta-box .cta-subtext {
  font-size: 22px;
  margin-bottom: 0 !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-cta .cta-box p {
  text-align: center;
  margin-bottom: 0 !important;
  color: white !important;
}
.cag-col-surround-checkout .col-2.cag-order-summary .cag-checkout-cta .cta-box a {
  text-align: center;
  color: white !important;
  font-size: 38px;
  line-height: 38px;
}

#payment.woocommerce-checkout .payment_methods {
  display: block !important;
}
.cag-bottom-parts {
  max-width: 100%;
}
.cag-bottom-parts #order_review .payment_methods {
  display: block !important;
  padding-top: 5px;
  padding-bottom: 5px;
  background: #eaedf0;
  margin-bottom: 15px;
}
.cag-bottom-parts #order_review .payment_methods li.wc_payment_method.payment_method_stripe {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}
.cag-bottom-parts #order_review .payment_methods .wc_payment_method {
  width: 100% !important;
  margin-bottom: 0;
  padding: 1rem;
}
.cag-bottom-parts #order_review .place-order {
  position: relative;
}
.cag-bottom-parts #order_review .place-order .button {
  position: absolute;
  bottom: 39px;
  right: 0;
}
.cag-bottom-parts #order_review .btn.btn-large.btn-primary,
.cag-bottom-parts #order_review #snap-uk-widgets-product-rbp,
.cag-bottom-parts #order_review .shop_table.woocommerce-checkout-review-order-table {
  display: none !important;
}
.cag-bottom-parts #order_review .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  background: white;
  padding: 0 !important;
  border: 0px solid white !important;
  margin-bottom: 10px !important;
}
.cag-bottom-parts #order_review .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
  font-size: 16px;
  color: #444;
}
.cag-bottom-parts #order_review .woocommerce-terms-and-conditions-wrapper .validate-required label {
  font-size: 16px;
  color: #444;
}

p.guest-checkout-recaptcha.woocommerce-form-row.woocommerce-form-row--wide.form-row.form-row-wide {
  opacity: 0 !important;
  margin-bottom: 5px !important;
}

/* Hide the original text injected by Stripe */
.wc_payment_method.payment_method_stripe label[for=payment_method_stripe] {
  font-size: 0 !important;
}

/* Insert your custom text in its place */
.wc_payment_method.payment_method_stripe label[for=payment_method_stripe]::before {
  content: "Credit / Debit card";
  font-size: 16px !important; /* Adjust this number to match your theme's font size */
}

body.woocommerce-order-received .woocommerce-table.woocommerce-table--order-details.shop_table.order_details ul.wc-item-meta {
  display: none !important;
}