main {
   padding: 2rem 5%;
   max-width: 1920px;
   margin: 0 auto;
}

@media(max-width: 980px) {
   main {
      padding: 0;
   }
}

/* ==========================================================================
   Cart Form
   ========================================================================== */

main>form {
   display: grid;
   grid-template-areas: "content sidebar";
   grid-template-columns: 1fr 400px;
   grid-column-gap: 3rem;
   grid-row-gap: 0;

   max-width: 1280px;
   margin: 0 auto 5rem auto;
}

main>form h2 {
   --pico-typography-spacing-vertical: 1.5rem;
}

/* Cart Form: Tablet Styles
   ========================================================================== */

@media(max-width: 980px) {
   main>form {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin: 0 auto 3rem auto;
      padding: 0 2rem;
   }
}

/* Cart Form: Mobile Styles
   ========================================================================== */

@media(max-width: 768px) {
   main>form {
      padding: 0 1rem;
   }

   main>form h2 {
      --pico-font-size: 1.6rem;
      text-align: center;
      margin-bottom: 2rem;
   }
}

/* ==========================================================================
   Left Container
   ========================================================================== */

.left-container ul {
   padding: 0;
   margin: 0;
}

.woocommerce-notices-wrapper {
   margin-bottom: 2rem;
}

.cart_item {
   padding: 0;
   margin: 0;
   list-style: none;
   border-bottom: 1px solid var(--pico-form-element-border-color);
   padding-bottom: 1rem;
   margin-bottom: 2rem;
}

.cart_item:last-child {
   margin-bottom: 0;
}

.cart_item-body {
   display: flex;
   gap: 1rem;
   margin-bottom: 1rem;
}

.cart_item-body .thumbnail img {
   max-width: 10rem;
   transition: opacity var(--pico-transition);
}

.cart_item-body .thumbnail:hover img {
   opacity: 0.75;
}

.cart_item-info {
   display: flex;
   width: calc(100% - 10rem);
   gap: 1rem;
   justify-content: space-between;
}

.cart_item-desc>a {
   text-decoration: none;
   font-weight: 500;
   --pico-color: var(--static-dark-color);
   font-size: 0.95rem;
   display: block;
   margin-bottom: 0.8rem;
}

.cart_item-desc p {
   text-transform: capitalize;
   margin-bottom: 0.2rem;
   font-size: 0.95rem;
   color: #707072;
   letter-spacing: normal;
}

.cart_item-info .amount {
   font-weight: 600;
   color: var(--static-dark-color);
   font-size: 1.05rem;
   letter-spacing: normal;
}

.cart_item-footer {
   display: flex;
   align-items: center;
   gap: 1rem;
   margin-bottom: 1rem;
   max-width: 10rem;
}

.quantity input {
   --pico-form-element-spacing-vertical: 0.6rem;
   margin-bottom: 0;
}

a.remove[role=button] {
   --pico-form-element-spacing-vertical: 0.6rem;
   --pico-form-element-spacing-horizontal: 1rem;
   --pico-background-color: var(--pico-form-element-background-color);
   --pico-border-color: var(--pico-form-element-border-color);
}

a.remove[role=button] .svg-icon {
   width: 1.2rem;
}

a.remove[role=button]:hover, a.remove[role=button]:active, a.remove[role=button]:focus {
   --pico-background-color: var(--pico-form-element-invalid-active-border-color);
   --pico-color: #fff;
   --pico-border-color: var(--pico-form-element-invalid-active-border-color);
}

.cart_item-notice:empty {
   display: none;
}

/* Empty Cart */

.woocommerce-cart-form__contents:has(.empty-cart) {
   display: flex;
   justify-content: center;
   align-items: center;
   padding-top: 2rem;
}

.empty-cart {
   list-style: none;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 0.5rem;
}

.empty-cart .svg-icon {
   width: 3rem !important;
}

.empty-cart .heading {
   font-weight: 500;
   font-size: 1.5rem;
}

.empty-cart a {
   margin-top: 1rem;
   --pico-background-color: rgb(255 123 85 / 10%);
   --pico-border-color: rgb(255 123 85 / 10%);
   --pico-color: rgb(255 123 85);
   font-weight: 600;
}

.empty-cart a:hover, .empty-cart a:active, .empty-cart a:focus {
   --pico-background-color: rgb(255 123 85 / 20%);
   --pico-border-color: rgb(255 123 85 / 20%);
   --pico-color: rgb(255 123 85);
   box-shadow: none;
}

/* Left Container: Tablet Styles
   ========================================================================== */

@media(max-width: 980px) {
   .cart_item-desc>a, .cart_item-desc p {
      font-size: 1.05rem;
   }
}

/* Left Container: Mobile Styles
   ========================================================================== */

@media(max-width: 768px) {
   .cart_item-info {
      flex-direction: column-reverse;
      justify-content: flex-end;
      gap: 0.5rem;
   }
}

/* ==========================================================================
   Right Container
   ========================================================================== */

.right-container {
   position: relative;
}

.scroll-container {
   position: sticky;
   top: 2rem;
}

.admin-bar .scroll-container {
   top: 4rem;
}

.cart_totals table {
   margin: 0;
   border: none;
}

.cart_totals table th, .cart_totals table td {
   --pico-color: var(--static-dark-color);
   border: none;
   border-radius: 0 !important;
   padding: 0 0 1rem 0;
   font-weight: 400;
   font-size: 1rem;
}

.cart_totals table th {
   background-color: transparent;
}

.cart_totals table td {
   text-align: right;
}

tr.order-total td, tr.order-total th {
   padding-top: 1rem;
   border-top: 1px solid var(--pico-form-element-border-color);
   border-bottom: 1px solid var(--pico-form-element-border-color);
}

tr.order-total th {
   font-weight: 600 !important;
}

tr.order-total strong {
   font-weight: 600 !important;
}

.cart_totals p {
   margin: 0.5rem 0 1.5rem 0;
   font-size: 0.85rem;
   font-weight: 500;
}

.shipping-calculator-button {
   --pico-background-color: rgb(255 123 85 / 10%);
   --pico-border-color: rgb(255 123 85 / 10%);
   --pico-color: rgb(255 123 85);
   padding: 0.5rem 0.6rem;
   line-height: 1;
   font-size: 0.8rem;
   font-weight: 600;
}

.shipping-calculator-button:hover, .shipping-calculator-button:focus, .shipping-calculator-button:active {
   --pico-background-color: rgb(255 123 85 / 20%);
   --pico-border-color: rgb(255 123 85 / 20%);
   --pico-color: rgb(255 123 85);
   box-shadow: none;
}

.coupon-button {
   display: flex;
   justify-content: center;
   margin-bottom: 1rem;
   cursor: pointer;
}

.coupon {
   block-size: 0;
   opacity: 0;
   visibility: hidden;
   transition: block-size var(--pico-transition), opacity var(--pico-transition), visibility var(--pico-transition) allow-discrete;
}

.coupon.show {
   block-size: auto;
   opacity: 1;
   visibility: visible;
}

.coupon button, button.update-cart {
   --pico-background-color: rgb(255 123 85 / 10%);
   --pico-border-color: rgb(255 123 85 / 10%);
   --pico-color: rgb(255 123 85);
   font-weight: 600;
}

.coupon button:hover, .coupon button:active, .coupon button:focus,
button.update-cart:hover, button.update-cart:active, button.update-cart:focus {
   --pico-background-color: rgb(255 123 85 / 20%);
   --pico-border-color: rgb(255 123 85 / 20%);
   --pico-color: rgb(255 123 85);
   box-shadow: none;
}

.checkout-button {
   --pico-background-color: var(--static-dark-color);
   --pico-color: var(--static-light-color);
   --pico-border-color: var(--static-dark-color);
   background: linear-gradient(var(--primary-gradient-light), var(--main-gradient-color));
   box-shadow: 0 0 0 var(--pico-outline-width) transparent;
   transition: color var(--pico-transition), border var(--pico-transition), box-shadow var(--pico-transition);
   width: 100%;

   display: flex !important;
   gap: 0.5rem;
   align-items: center;
   justify-content: center;
   line-height: 1;
   padding: 1.04rem;
}

.checkout-button:hover, .checkout-button:active, .checkout-button:focus {
   --pico-border-color: #d3d3d3;
   --pico-color: #d3d3d3;
   box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}

.checkout-button:before {
   content: "";
   display: flex;
   --icon-size: 1rem;
   width: var(--icon-size);
   height: var(--icon-size);
   background-image: url(../../extra/security.svg);
   background-size: var(--icon-size);
}


/* Right Container: Tablet Styles
   ========================================================================== */

@media(max-width: 980px) {}

/* Right Container: Mobile Styles
   ========================================================================== */

@media(max-width: 768px) {
   tr.order-total td, tr.order-total th {
      border: none !important;
      padding-top: 0;
   }
}

/* Help */

.section-help {
   margin-top: 3rem;
}


/* ==========================================================================
   Container
   ========================================================================== */


/* Container: Tablet Styles
   ========================================================================== */

@media(max-width: 980px) {}

/* Container: Mobile Styles
   ========================================================================== */

@media(max-width: 768px) {}